diff options
author | Nicola Mettifogo | 2007-02-19 13:07:18 +0000 |
---|---|---|
committer | Nicola Mettifogo | 2007-02-19 13:07:18 +0000 |
commit | 0f3ebbd3b371a900ce8d2d48d4f4b5eb68672933 (patch) | |
tree | 322ae059300668ebd45ea88db21f2f335f8bd371 /engines | |
parent | 2f7388d78a00cb9819734a48be39088fd559bb1a (diff) | |
download | scummvm-rg350-0f3ebbd3b371a900ce8d2d48d4f4b5eb68672933.tar.gz scummvm-rg350-0f3ebbd3b371a900ce8d2d48d4f4b5eb68672933.tar.bz2 scummvm-rg350-0f3ebbd3b371a900ce8d2d48d4f4b5eb68672933.zip |
table routines merged with common engine code
svn-id: r25721
Diffstat (limited to 'engines')
-rw-r--r-- | engines/parallaction/parallaction.cpp | 61 | ||||
-rw-r--r-- | engines/parallaction/table.cpp | 97 |
2 files changed, 61 insertions, 97 deletions
diff --git a/engines/parallaction/parallaction.cpp b/engines/parallaction/parallaction.cpp index 0f83cd1900..30c71c555b 100644 --- a/engines/parallaction/parallaction.cpp +++ b/engines/parallaction/parallaction.cpp @@ -22,6 +22,7 @@ #include "parallaction/parallaction.h" #include "parallaction/menu.h" +#include "parallaction/parser.h" #include "parallaction/disk.h" #include "parallaction/music.h" #include "parallaction/inventory.h" @@ -1006,4 +1007,64 @@ void jobWaitRemoveJob(void *parm, Job *j) { } +void Parallaction::initTable(const char *path, char** table) { +// printf("initTable(%s)\n", path); + + Common::File stream; + + if (!stream.open(path)) + errorFileNotFound(path); + + uint16 count = 0; + + tableFillBuffers(stream); + + while (scumm_stricmp(_tokens[0], "ENDTABLE")) { + + table[count] = (char*)memAlloc(strlen(_tokens[0])+1); + strcpy(table[count], _tokens[0]); + + count++; + tableFillBuffers(stream); + } + + table[count] = NULL; + + stream.close(); + + return; + +} + +void Parallaction::freeTable(char** table) { + + uint16 count = 0; + + while (table[count]) { + + memFree(table[count]); + table[count] = NULL; + + count++; + } + + return; + +} + +int16 Parallaction::searchTable(const char *s, const char **table) { + + int16 count = 0; + + if (!s) return 0; + + while (table[count]) { + if (!scumm_stricmp(table[count], s)) return count + 1; + count++; + } + + return -1; +} + + } // namespace Parallaction diff --git a/engines/parallaction/table.cpp b/engines/parallaction/table.cpp deleted file mode 100644 index 8d184410bb..0000000000 --- a/engines/parallaction/table.cpp +++ /dev/null @@ -1,97 +0,0 @@ -/* ScummVM - Scumm Interpreter - * Copyright (C) 2006 The ScummVM project - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * $URL$ - * $Id$ - * - */ - -#include "common/file.h" -#include "parallaction/parallaction.h" -#include "parallaction/parser.h" -#include "parallaction/disk.h" - - -namespace Parallaction { - - - - - -void Parallaction::initTable(const char *path, char** table) { -// printf("initTable(%s)\n", path); - - Common::File stream; - - if (!stream.open(path)) - errorFileNotFound(path); - - uint16 count = 0; - - tableFillBuffers(stream); - - while (scumm_stricmp(_tokens[0], "ENDTABLE")) { - - table[count] = (char*)memAlloc(strlen(_tokens[0])+1); - strcpy(table[count], _tokens[0]); - - count++; - tableFillBuffers(stream); - } - - table[count] = NULL; - - stream.close(); - - return; - -} - -void Parallaction::freeTable(char** table) { - - uint16 count = 0; - - while (table[count]) { - - memFree(table[count]); - table[count] = NULL; - - count++; - } - - return; - -} - -int16 Parallaction::searchTable(const char *s, const char **table) { - - int16 count = 0; - - if (!s) return 0; - - while (table[count]) { - if (!scumm_stricmp(table[count], s)) return count + 1; - count++; - } - - return -1; -} - - - -} // namespace Parallaction - |