mirror of
https://github.com/libretro/scummvm.git
synced 2025-01-26 12:48:16 +00:00
DEVTOOLS: Add NPC pre-response arrays to create_titanic
This commit is contained in:
parent
72ef0e7675
commit
0ab3c53e15
@ -36,6 +36,7 @@
|
||||
#include "common/rect.h"
|
||||
#include "winexe_pe.h"
|
||||
#include "file.h"
|
||||
#include "script_preresponses.h"
|
||||
#include "script_quotes.h"
|
||||
#include "script_responses.h"
|
||||
#include "script_ranges.h"
|
||||
@ -54,7 +55,7 @@
|
||||
*/
|
||||
|
||||
#define VERSION_NUMBER 1
|
||||
#define HEADER_SIZE 0x880
|
||||
#define HEADER_SIZE 0x900
|
||||
|
||||
Common::File inputFile, outputFile;
|
||||
Common::PEResources res;
|
||||
@ -591,6 +592,7 @@ void writeData() {
|
||||
writeAllScriptRanges();
|
||||
writeAllTagMappings();
|
||||
writeAllUpdateStates();
|
||||
writeAllScriptPreResponses();
|
||||
}
|
||||
|
||||
void createScriptMap() {
|
||||
|
@ -4,11 +4,14 @@ MODULE := devtools/create_titanic
|
||||
MODULE_OBJS := \
|
||||
create_titanic_dat.o \
|
||||
hashmap.o \
|
||||
memorypool.o \
|
||||
script_preresponses.o \
|
||||
script_quotes.o \
|
||||
script_ranges.o \
|
||||
script_responses.o \
|
||||
script_states.o \
|
||||
str.o \
|
||||
tag_maps.o \
|
||||
winexe.o \
|
||||
winexe_pe.o
|
||||
|
||||
|
156
devtools/create_titanic/script_preresponses.cpp
Normal file
156
devtools/create_titanic/script_preresponses.cpp
Normal file
@ -0,0 +1,156 @@
|
||||
/* 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_preresponses.h"
|
||||
|
||||
static const PreResponse BARBOT_PRERESPONSES[] = {
|
||||
{ 0x0000CA02, 0x0003D102 },
|
||||
{ 0x0000CA68, 0x0003D102 },
|
||||
{ 0x0000C9DA, 0x0003D102 },
|
||||
{ 0x0000CA6A, 0x0003D103 },
|
||||
{ 0x0000C922, 0x0003D099 },
|
||||
{ 0x0000C97C, 0x0003D099 },
|
||||
{ 0x0000CA0B, 0x0003D099 },
|
||||
{ 0x0000CA72, 0x0003D099 },
|
||||
{ 0x0000CA0E, 0x0003D107 },
|
||||
{ 0x0000CA73, 0x0003D107 },
|
||||
{ 0x0000CA12, 0x0003D108 },
|
||||
{ 0x0000CA1C, 0x0003D10E },
|
||||
{ 0x0000CA83, 0x0003D10E },
|
||||
{ 0x0000CA1F, 0x0003D110 },
|
||||
{ 0x0000CA86, 0x0003D110 },
|
||||
{ 0x0000CA23, 0x0003D112 },
|
||||
{ 0x0000CA8A, 0x0003D112 },
|
||||
{ 0x0000CA92, 0x0003D122 },
|
||||
{ 0x0000CA30, 0x0003D116 },
|
||||
{ 0x0000CA96, 0x0003D116 },
|
||||
{ 0x0000CA36, 0x0003D117 },
|
||||
{ 0x0000C9FC, 0x0003D117 },
|
||||
{ 0x0000CA9B, 0x0003D117 },
|
||||
{ 0x0000CA63, 0x0003D117 },
|
||||
{ 0x0000CA38, 0x0003D11B },
|
||||
{ 0x0000CA15, 0x0003D109 },
|
||||
{ 0x0000CA7B, 0x0003D109 },
|
||||
{ 0x0000CA2E, 0x0003D115 },
|
||||
{ 0x0000CA94, 0x0003D115 },
|
||||
{ 0x0000CA5C, 0x0003D115 },
|
||||
{ 0x0000CA21, 0x0003D111 },
|
||||
{ 0x0000CA88, 0x0003D111 },
|
||||
{ 0x0000CA2A, 0x0003D114 },
|
||||
{ 0x0000CA28, 0x0003D119 },
|
||||
{ 0x0000CA8E, 0x0003D119 },
|
||||
{ 0x0000CA17, 0x0003D10B },
|
||||
{ 0x0000CA7D, 0x0003D10B },
|
||||
{ 0x0000CA4C, 0x0003D10B },
|
||||
{ 0x0000CA06, 0x0003D105 },
|
||||
{ 0x0000CA6C, 0x0003D105 },
|
||||
{ 0x0000CA0A, 0x0003D106 },
|
||||
{ 0x0000CA70, 0x0003D106 },
|
||||
{ 0x0000CA19, 0x0003D10C },
|
||||
{ 0x0000CA7F, 0x0003D10C },
|
||||
{ 0x0000C9FF, 0x0003D101 },
|
||||
{ 0x0000CA65, 0x0003D101 },
|
||||
{ 0x00000000, 0x00000000 }
|
||||
};
|
||||
|
||||
static const PreResponse BELLBOT_PRERESPONSES[] = {
|
||||
{ 0x000052DC, 0x00030D40 },
|
||||
{ 0x000054E9, 0x00030D40 },
|
||||
{ 0x000054EC, 0x00030D40 },
|
||||
{ 0x000054F0, 0x00030D40 },
|
||||
{ 0x0000532C, 0x00031625 },
|
||||
{ 0x00005330, 0x00031625 },
|
||||
{ 0x00005368, 0x00031625 },
|
||||
{ 0x00005369, 0x00031625 },
|
||||
{ 0x0000536A, 0x00031625 },
|
||||
{ 0x0000536B, 0x00031625 },
|
||||
{ 0x0000536C, 0x00031625 },
|
||||
{ 0x0000536D, 0x00031625 },
|
||||
{ 0x000053A4, 0x00031625 },
|
||||
{ 0x0000558A, 0x00031625 },
|
||||
{ 0x00005485, 0x00031625 },
|
||||
{ 0x00004EE7, 0x00031625 },
|
||||
{ 0x00004EE8, 0x00031625 },
|
||||
{ 0x0000530A, 0x00031625 },
|
||||
{ 0x0000530B, 0x00031625 },
|
||||
{ 0x000053F6, 0x00031625 },
|
||||
{ 0x000053F7, 0x00031625 },
|
||||
{ 0x000053F8, 0x00031625 },
|
||||
{ 0x000053F9, 0x00031625 },
|
||||
{ 0x000053FA, 0x00031625 },
|
||||
{ 0x000053FB, 0x00031625 },
|
||||
{ 0x000053FC, 0x00031625 },
|
||||
{ 0x000053FD, 0x00031625 },
|
||||
{ 0x0000556B, 0x00031041 },
|
||||
{ 0x00005499, 0x00030D40 },
|
||||
{ 0x000053E9, 0x00030E01 },
|
||||
{ 0x000053EB, 0x00030E01 },
|
||||
{ 0x000053EC, 0x00030E01 },
|
||||
{ 0x000053ED, 0x00030E01 },
|
||||
{ 0x000053EE, 0x00030E01 },
|
||||
{ 0x000053EF, 0x00030E01 },
|
||||
{ 0x000053F0, 0x00030E01 },
|
||||
{ 0x000053F1, 0x00030E01 },
|
||||
{ 0x000053F2, 0x00030E01 },
|
||||
{ 0x000053EA, 0x00030E01 },
|
||||
{ 0x00005441, 0x00030F00 },
|
||||
{ 0x00005444, 0x00030F00 },
|
||||
{ 0x00005445, 0x00030F00 },
|
||||
{ 0x00005443, 0x00030F00 },
|
||||
{ 0x00005446, 0x00030F00 },
|
||||
{ 0x00005447, 0x00030F00 },
|
||||
{ 0x00005448, 0x00030F00 },
|
||||
{ 0x00005449, 0x00030F00 },
|
||||
{ 0x0000544A, 0x00030F00 },
|
||||
{ 0x0000544B, 0x00030F00 },
|
||||
{ 0x00005442, 0x00030F00 },
|
||||
{ 0x0000527C, 0x000315C8 },
|
||||
{ 0x00000000, 0x00000000 }
|
||||
};
|
||||
|
||||
void writeScriptPreResponses(const char *name, const PreResponse *states) {
|
||||
outputFile.seek(dataOffset);
|
||||
|
||||
for (; states->_src; ++states) {
|
||||
outputFile.writeLong(states->_src);
|
||||
outputFile.writeLong(states->_dest);
|
||||
}
|
||||
|
||||
uint size = outputFile.size() - dataOffset;
|
||||
writeEntryHeader(name, dataOffset, size);
|
||||
dataOffset += size;
|
||||
}
|
||||
|
||||
void writeAllScriptPreResponses() {
|
||||
writeScriptPreResponses("PreResponses/Barbot", BARBOT_PRERESPONSES);
|
||||
writeScriptPreResponses("PreResponses/Bellbot", BELLBOT_PRERESPONSES);
|
||||
}
|
37
devtools/create_titanic/script_preresponses.h
Normal file
37
devtools/create_titanic/script_preresponses.h
Normal file
@ -0,0 +1,37 @@
|
||||
/* 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_PRERESPONSES_H
|
||||
#define COMMON_SCRIPT_PRERESPONSES_H
|
||||
|
||||
#include "common/scummsys.h"
|
||||
|
||||
struct PreResponse {
|
||||
uint _src;
|
||||
uint _dest;
|
||||
};
|
||||
|
||||
extern void writeAllScriptPreResponses();
|
||||
extern void writeEntryHeader(const char *name, uint offset, uint size);
|
||||
extern uint dataOffset;
|
||||
|
||||
#endif
|
Loading…
x
Reference in New Issue
Block a user