diff options
author | Paul Gilbert | 2016-06-06 08:51:37 -0400 |
---|---|---|
committer | Paul Gilbert | 2016-07-15 19:20:23 -0400 |
commit | 59c033e68f09f323601f17892dfa2a270c8f8a00 (patch) | |
tree | 7dacc57280056b25aa8d99aae409b12239601114 | |
parent | 6792fd92b7101c9c85656ff914bafcb3e30a176a (diff) | |
download | scummvm-rg350-59c033e68f09f323601f17892dfa2a270c8f8a00.tar.gz scummvm-rg350-59c033e68f09f323601f17892dfa2a270c8f8a00.tar.bz2 scummvm-rg350-59c033e68f09f323601f17892dfa2a270c8f8a00.zip |
DEVTOOLS: Start of script ranges addition to create_titanic
-rw-r--r-- | devtools/create_titanic/create_titanic_dat.cpp | 2 | ||||
-rw-r--r-- | devtools/create_titanic/script_ranges.cpp | 235 | ||||
-rw-r--r-- | devtools/create_titanic/script_ranges.h | 39 |
3 files changed, 276 insertions, 0 deletions
diff --git a/devtools/create_titanic/create_titanic_dat.cpp b/devtools/create_titanic/create_titanic_dat.cpp index b8d3565368..03d05528fc 100644 --- a/devtools/create_titanic/create_titanic_dat.cpp +++ b/devtools/create_titanic/create_titanic_dat.cpp @@ -37,6 +37,7 @@ #include "winexe_pe.h" #include "file.h" #include "script_responses.h" +#include "script_ranges.h" /** * Format of the access.dat file that will be created: @@ -398,6 +399,7 @@ void writeData() { writeNumbers(); writeAllScriptResponses(); + writeAllScriptRanges(); } // Support method used for translating IDA debugger's output for diff --git a/devtools/create_titanic/script_ranges.cpp b/devtools/create_titanic/script_ranges.cpp new file mode 100644 index 0000000000..94c5d76c22 --- /dev/null +++ b/devtools/create_titanic/script_ranges.cpp @@ -0,0 +1,235 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * 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. + * + */ + + // Disable symbol overrides so that we can use system headers. +#define FORBIDDEN_SYMBOL_ALLOW_ALL + +// HACK to allow building with the SDL backend on MinGW +// see bug #1800764 "TOOLS: MinGW tools building broken" +#ifdef main +#undef main +#endif // main + +#include "file.h" +#include "script_ranges.h" + +static uint BARBOT_RANGE1[] = { 250062, 250064, 250065, 250066, 250067, 250068, 250069, 250070, 250071, 250063, 0 }; +static uint BARBOT_RANGE2[] = { 250200, 250201, 250202, 250203, 250204, 250205, 250206, 250207, 0 }; +static uint BARBOT_RANGE3[] = { 250160, 250161, 250162, 250163, 0 }; +static uint BARBOT_RANGE4[] = { 250175, 250176, 250177, 250178, 250179, 250180, 250181, 250182, 250183, 0 }; +static uint BARBOT_RANGE5[] = { 250114, 250004, 0 }; +static uint BARBOT_RANGE6[] = { 250042, 250009, 250010, 250011, 251692, 251693, 251694, 0 }; +static uint BARBOT_RANGE7[] = { 250012, 250111, 0 }; +static uint BARBOT_RANGE8[] = { 250013, 250119, 0 }; +static uint BARBOT_RANGE9[] = { 250027, 250126, 250055, 0 }; +static uint BARBOT_RANGE10[] = { 250032, 250130, 0 }; +static uint BARBOT_RANGE11[] = { 250038, 250134, 0 }; +static uint BARBOT_RANGE12[] = { 250039, 250135, 250050, 0 }; +static uint BARBOT_RANGE13[] = { 250016, 250120, 250136, 250145, 250143, 0 }; +static uint BARBOT_RANGE14[] = { 250040, 250138, 250139, 0 }; +static uint BARBOT_RANGE15[] = { 250037, 250133, 250617, 0 }; +static uint BARBOT_RANGE16[] = { 250031, 250129, 0 }; +static uint BARBOT_RANGE17[] = { 250036, 250132, 0 }; +static uint BARBOT_RANGE18[] = { 250035, 250137, 0 }; +static uint BARBOT_RANGE19[] = { 250021, 250123, 0 }; +static uint BARBOT_RANGE20[] = { 250006, 250117, 0 }; +static uint BARBOT_RANGE21[] = { 250024, 250124, 0 }; +static uint BARBOT_RANGE22[] = { 250002, 250113, 0 }; +static uint BARBOT_RANGE23[] = { 250152, 250153, 250079, 250194, 250149, 250151, 250150, +250208, 250209, 250157, 250195, 250076, 250156, 250074, +250075, 250080, 250192, 250109, 250159, 250110, 250148, +250053, 250155, 250197, 250072, 250077, 250001, 250154, +250196, 250198, 250199, 250158, 250073, 0 }; +static uint BARBOT_RANGE24[] = { 251831, 251832, 251833, 251834, 251835, 250617, 0 }; +static uint BARBOT_RANGE25[] = { 250033, 251838, 0 }; +static uint BARBOT_RANGE26[] = { 250014, 251827, 251781, 250617, 0 }; +static uint BARBOT_RANGE27[] = { 251855, 251856, 0 }; +static uint BARBOT_RANGE28[] = { 251852, 251853, 0 }; +static uint BARBOT_RANGE29[] = { 251250, 251261, 251272, 251277, 251278, 251279, 251280, +251281, 251282, 251251, 251252, 251253, 251254, 251255, +251256, 251257, 251258, 251259, 251260, 251262, 251263, +251264, 251265, 251266, 251267, 251268, 251269, 251270, +251271, 251273, 251274, 251275, 251276, 0 }; +static uint BARBOT_RANGE30[] = { 251283, 251284, 251285, 251286, 0 }; +static uint BARBOT_RANGE31[] = { 250527, 250530, 250531, 250532, 250533, 250534, 250535, +250536, 250537, 250528, 250529, 0 }; +static uint BARBOT_RANGE32[] = { 250593, 250594, 0 }; +static uint BARBOT_RANGE33[] = { 250263, 250264, 250265, 250266, 0 }; +static uint BARBOT_RANGE34[] = { 250227, 250228, 250229, 250230, 0 }; +static uint BARBOT_RANGE35[] = { 250239, 250240, 250241, 250242, 250243, 0 }; +static uint BARBOT_RANGE36[] = { 250507, 250222, 250678, 250588, 0 }; +static uint BARBOT_RANGE37[] = { 250365, 250366, 250367, 250368, 0 }; +static uint BARBOT_RANGE38[] = { 250936, 250937, 250938, 0 }; +static uint BARBOT_RANGE39[] = { 250610, 250611, 0 }; +static uint BARBOT_RANGE40[] = { 250082, 250093, 250102, 250104, 250105, 250106, 250107, +250108, 250091, 250092, 250094, 250095, 250096, 250097, +250098, 250099, 250100, 250101, 251700, 251701, 251702, +251703, 251704, 251862, 250617, 250268, 250272, 0 }; +static uint BARBOT_RANGE41[] = { 250584, 250585, 0 }; +static uint BARBOT_RANGE42[] = { 250579, 251142, 0 }; +static uint BARBOT_RANGE43[] = { 250577, 250578, 0 }; +static uint BARBOT_RANGE44[] = { 250244, 250245, 250246, 250247, 250248, 250249, 250250, +250251, 250252, 250253, 250254, 250255, 250256, 250257, +250258, 250259, 250260, 250261, 250262, 0 }; +static uint BARBOT_RANGE45[] = { 250286, 250288, 250289, 250290, 250291, 250292, 250293, +250294, 250295, 250287, 0 }; +static uint BARBOT_RANGE46[] = { 250296, 250299, 250300, 250301, 250302, 250303, 250304, +250305, 250306, 250297, 250298, 0 }; +static uint BARBOT_RANGE47[] = { 250307, 250309, 250310, 250311, 250312, 250313, 250314, +250315, 250316, 0 }; +static uint BARBOT_RANGE48[] = { 251682, 251683, 251684, 251685, 251686, 251687, 251688, +251689, 250756, 250757, 250758, 250759, 0 }; +static uint BARBOT_RANGE49[] = { 250738, 250742, 250743, 250744, 250745, 250746, 250747, +250748, 250749, 250739, 250740, 250741, 0 }; +static uint BARBOT_RANGE50[] = { 250659, 250660, 250661, 250379, 0 }; +static uint BARBOT_RANGE51[] = { 251761, 251762, 251763, 251764, 0 }; +static uint BARBOT_RANGE52[] = { 251754, 251755, 251756, 251757, 251758, 251759, 0 }; +static uint BARBOT_RANGE53[] = { 250482, 250504, 250424, 250463, 250466, 250467, 250468, +250478, 250501, 250502, 250503, 250506, 250413, 251014, +250614, 250756, 250758, 250759, 250223, 250737, 250658, +251027, 250633, 250935, 250237, 251618, 0 }; +static uint BARBOT_RANGE54[] = { 250504, 250434, 250436, 250466, 250467, 250468, 250469, +250470, 250472, 250501, 250502, 250503, 250505, 250413, +251681, 250756, 250758, 250759, 250223, 251027, 250633, +250935, 250237, 251618, 250371, 0 }; +static uint BARBOT_RANGE55[] = { 250952, 250953, 0 }; +static uint BARBOT_RANGE56[] = { 251777, 250951, 0 }; +static uint BARBOT_RANGE57[] = { 251871, 251877, 251878, 251879, 251880, 251883, 251884, +251872, 251873, 0 }; +static uint BARBOT_RANGE58[] = { 250228, 250236, 250258, 250259, 250378, 250465, 250536, +251016, 251048, 251068, 0 }; +static uint BARBOT_RANGE59[] = { 250141, 250378, 251048, 0 }; +static uint BARBOT_RANGE60[] = { 251621, 251622, 251623, 251624, 251625, 251626, 0 }; +static uint BARBOT_RANGE61[] = { 251650, 251651, 0 }; +static uint BARBOT_RANGE62[] = { 251305, 251306, 251307, 251308, 0 }; +static uint BARBOT_RANGE63[] = { 251836, 251890, 251891, 251892, 0 }; +static uint BARBOT_RANGE64[] = { 250760, 251246, 251156, 251335, 251510, 251059, 251097, +251136, 250374, 250375, 250376, 250377, 251015, 251016, +251017, 251018, 0 }; +static uint BARBOT_RANGE65[] = { 250899, 250906, 250948, 250713, 250690, 0 }; +static uint BARBOT_RANGE66[] = { 250906, 250948, 250713, 250899, 250690, 0 }; +static uint BARBOT_RANGE67[] = { 250949, 250713, 250711, 250152, 250153, 250690, 250906, 0 }; +static uint BARBOT_RANGE68[] = { 251815, 250711, 0 }; +static uint BARBOT_RANGE69[] = { 251829, 250711, 0 }; +static uint BARBOT_RANGE70[] = { 251779, 250712, 0 }; + +#define BARBOT_RANGE_COUNT 70 +static ScriptRange BARBOT_RANGES[70] = { + { 250062, BARBOT_RANGE1, false, false }, + { 250200, BARBOT_RANGE2, false, false }, + { 250160, BARBOT_RANGE3, false, false }, + { 250175, BARBOT_RANGE4, false, false }, + { 250004, BARBOT_RANGE5, false, false }, + { 250042, BARBOT_RANGE6, true, false }, + { 250012, BARBOT_RANGE7, false, false }, + { 250013, BARBOT_RANGE8, false, false }, + { 250027, BARBOT_RANGE9, false, false }, + { 250032, BARBOT_RANGE10, false, false }, + { 250038, BARBOT_RANGE11, false, false }, + { 250039, BARBOT_RANGE12, false, false }, + { 250016, BARBOT_RANGE13, false, false }, + { 250040, BARBOT_RANGE14, false, false }, + { 250037, BARBOT_RANGE15, false, false }, + { 250031, BARBOT_RANGE16, false, false }, + { 250036, BARBOT_RANGE17, false, false }, + { 250035, BARBOT_RANGE18, false, false }, + { 250021, BARBOT_RANGE19, false, false }, + { 250006, BARBOT_RANGE20, false, false }, + + { 250024, BARBOT_RANGE21, false, false }, + { 250002, BARBOT_RANGE22, false, false }, + { 250210, BARBOT_RANGE23, false, false }, + { 251831, BARBOT_RANGE24, false, false }, + { 250033, BARBOT_RANGE25, false, false }, + { 250014, BARBOT_RANGE26, false, false }, + { 251855, BARBOT_RANGE27, false, false }, + { 251852, BARBOT_RANGE28, false, false }, + { 251250, BARBOT_RANGE29, false, false }, + { 251283, BARBOT_RANGE30, false, false }, + { 250527, BARBOT_RANGE31, false, false }, + { 250593, BARBOT_RANGE32, false, false }, + { 250263, BARBOT_RANGE33, false, false }, + { 250227, BARBOT_RANGE34, false, false }, + { 250239, BARBOT_RANGE35, false, false }, + { 250507, BARBOT_RANGE36, false, false }, + { 250365, BARBOT_RANGE37, false, false }, + { 250936, BARBOT_RANGE38, false, false }, + { 250610, BARBOT_RANGE39, false, false }, + { 250082, BARBOT_RANGE40, true, false }, + + { 250584, BARBOT_RANGE41, false, false }, + { 250579, BARBOT_RANGE42, false, false }, + { 250577, BARBOT_RANGE43, false, false }, + { 250244, BARBOT_RANGE44, true, false }, + { 250286, BARBOT_RANGE45, true, false }, + { 250296, BARBOT_RANGE46, true, false }, + { 250307, BARBOT_RANGE47, true, false }, + { 251682, BARBOT_RANGE48, true, false }, + { 250738, BARBOT_RANGE49, true, false }, + { 250659, BARBOT_RANGE50, true, false }, + { 251761, BARBOT_RANGE51, false, false }, + { 251754, BARBOT_RANGE52, false, false }, + { 251896, BARBOT_RANGE53, true, false }, + { 251897, BARBOT_RANGE54, true, false }, + { 250952, BARBOT_RANGE55, false, false }, + { 251777, BARBOT_RANGE56, false, false }, + { 251871, BARBOT_RANGE57, true, false }, + { 250140, BARBOT_RANGE58, true, false }, + { 250141, BARBOT_RANGE59, false, false }, + { 251621, BARBOT_RANGE60, false, false }, + + { 251650, BARBOT_RANGE61, false, false }, + { 251305, BARBOT_RANGE62, false, false }, + { 251836, BARBOT_RANGE63, false, false }, + { 251018, BARBOT_RANGE64, true, false }, + { 250899, BARBOT_RANGE65, false, false }, + { 250899, BARBOT_RANGE66, false, false }, + { 251899, BARBOT_RANGE67, false, false }, + { 251815, BARBOT_RANGE68, false, false }, + { 251829, BARBOT_RANGE69, false, false }, + { 251779, BARBOT_RANGE70 } +}; + + +void writeScriptRange(const char *name, const ScriptRange *ranges, int count) { + outputFile.seek(dataOffset); + + for (int idx = 0; idx < count; ++idx) { + outputFile.writeLong(ranges[idx]._id); + outputFile.writeByte(ranges[idx]._isRandom); + outputFile.writeByte(ranges[idx]._isSequential); + + const uint *v = ranges[idx]._array; + do { + outputFile.writeLong(*v); + } while (*v++ != 0); + } + outputFile.writeLong(0); + + uint size = outputFile.size() - dataOffset; + writeEntryHeader(name, dataOffset, size); + dataOffset += size; +} + +void writeAllScriptRanges() { + writeScriptRange("Ranges/Barbot", BARBOT_RANGES, 70); +}
\ No newline at end of file diff --git a/devtools/create_titanic/script_ranges.h b/devtools/create_titanic/script_ranges.h new file mode 100644 index 0000000000..70caac1791 --- /dev/null +++ b/devtools/create_titanic/script_ranges.h @@ -0,0 +1,39 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * 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. + * + */ + +#ifndef COMMON_SCRIPT_RANGES_H +#define COMMON_SCRIPT_RANGES_H + +#include "common/scummsys.h" + +struct ScriptRange { + uint _id; + uint *_array; + bool _isRandom; + bool _isSequential; +}; + +extern void writeAllScriptRanges(); +extern void writeEntryHeader(const char *name, uint offset, uint size); +extern uint dataOffset; + +#endif |