DEVTOOLS: Update game data for Nancy10-15 and regen nancy.dat

This commit is contained in:
Filippos Karapetis
2026-05-13 01:21:13 +03:00
parent 816b84d144
commit 688ebb1ec4
8 changed files with 210 additions and 3 deletions
+49 -1
View File
@@ -33,11 +33,15 @@
#include "nancy9_data.h"
#include "nancy10_data.h"
#include "nancy11_data.h"
#include "nancy12_data.h"
#include "nancy13_data.h"
#include "nancy14_data.h"
#include "nancy15_data.h"
#define NANCYDAT_MAJOR_VERSION 1
#define NANCYDAT_MINOR_VERSION 1
#define NANCYDAT_NUM_GAMES 12
#define NANCYDAT_NUM_GAMES 16
/**
* Format specifications for nancy.dat:
@@ -77,6 +81,10 @@
* Nancy Drew: Danger on Deception Island
* Nancy Drew: The Secret of Shadow Ranch
* Nancy Drew: Curse of Blackmoor Manor
* Nancy Drew: Secret of the Old Clock
* Nancy Drew: Last Train to Blue Moon Canyon
* Nancy Drew: Danger by Design
* Nancy Drew: The Creature of Kapu Cave
*/
// Add the offset to the next tagged section before the section itself for easier navigation
@@ -346,6 +354,46 @@ int main(int argc, char *argv[]) {
WRAPWITHOFFSET(writeRingingTexts(output, _nancy8TelephoneRinging)) // same as 8
WRAPWITHOFFSET(writeEventFlagNames(output, _nancy11EventFlagNames))
// Nancy Drew: Secret of the Old Clock
gameOffsets.push_back(output.pos());
WRAPWITHOFFSET(writeConstants(output, _nancy12Constants))
WRAPWITHOFFSET(writeSoundChannels(output, _nancy3andUpSoundChannelInfo)) // same as 3
WRAPWITHOFFSET(writeLanguages(output, _nancy8LanguagesOrder)) // same as 8
WRAPWITHOFFSET(writeConditionalDialogue(output, _nancy12ConditionalDialogue))
WRAPWITHOFFSET(writeGoodbyes(output, _nancy12Goodbyes))
WRAPWITHOFFSET(writeRingingTexts(output, _nancy8TelephoneRinging)) // same as 8
WRAPWITHOFFSET(writeEventFlagNames(output, _nancy12EventFlagNames))
// Nancy Drew: Last Train to Blue Moon Canyon
gameOffsets.push_back(output.pos());
WRAPWITHOFFSET(writeConstants(output, _nancy13Constants))
WRAPWITHOFFSET(writeSoundChannels(output, _nancy3andUpSoundChannelInfo)) // same as 3
WRAPWITHOFFSET(writeLanguages(output, _nancy8LanguagesOrder)) // same as 8
WRAPWITHOFFSET(writeConditionalDialogue(output, _nancy12ConditionalDialogue)) // same as 12
WRAPWITHOFFSET(writeGoodbyes(output, _nancy12Goodbyes)) // same as 12
WRAPWITHOFFSET(writeRingingTexts(output, _nancy8TelephoneRinging)) // same as 8
WRAPWITHOFFSET(writeEventFlagNames(output, _nancy12EventFlagNames)) // same as 12
// Nancy Drew: Danger by Design
gameOffsets.push_back(output.pos());
WRAPWITHOFFSET(writeConstants(output, _nancy14Constants))
WRAPWITHOFFSET(writeSoundChannels(output, _nancy3andUpSoundChannelInfo)) // same as 3
WRAPWITHOFFSET(writeLanguages(output, _nancy8LanguagesOrder)) // same as 8
WRAPWITHOFFSET(writeConditionalDialogue(output, _nancy12ConditionalDialogue)) // same as 12
WRAPWITHOFFSET(writeGoodbyes(output, _nancy12Goodbyes)) // same as 12
WRAPWITHOFFSET(writeRingingTexts(output, _nancy8TelephoneRinging)) // same as 8
WRAPWITHOFFSET(writeEventFlagNames(output, _nancy12EventFlagNames)) // same as 12
// Nancy Drew: The Creature of Kapu Cave
gameOffsets.push_back(output.pos());
WRAPWITHOFFSET(writeConstants(output, _nancy15Constants))
WRAPWITHOFFSET(writeSoundChannels(output, _nancy3andUpSoundChannelInfo)) // same as 3
WRAPWITHOFFSET(writeLanguages(output, _nancy8LanguagesOrder)) // same as 8
WRAPWITHOFFSET(writeConditionalDialogue(output, _nancy12ConditionalDialogue)) // same as 12
WRAPWITHOFFSET(writeGoodbyes(output, _nancy12Goodbyes)) // same as 12
WRAPWITHOFFSET(writeRingingTexts(output, _nancy8TelephoneRinging)) // same as 8
WRAPWITHOFFSET(writeEventFlagNames(output, _nancy12EventFlagNames)) // same as 12
// Write the offsets for each game in the header
output.seek(offsetsOffset);
for (uint i = 0; i < gameOffsets.size(); ++i) {
+1 -1
View File
@@ -30,7 +30,7 @@ const GameConstants _nancy10Constants ={
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, // genericEventFlags
11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30 },
20, // numCursorTypes
37, // numCursorTypes
4000, // logoEndAfter
32 // wonGameFlagID
};
+1 -1
View File
@@ -30,7 +30,7 @@ const GameConstants _nancy11Constants ={
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, // genericEventFlags
11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30 },
20, // numCursorTypes
37, // numCursorTypes
4000, // logoEndAfter
32 // wonGameFlagID
};
+45
View File
@@ -0,0 +1,45 @@
/* 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 3 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, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef NANCY12DATA_H
#define NANCY12DATA_H
#include "types.h"
const GameConstants _nancy12Constants ={
70, // numItems
1251, // numEventFlags - TODO: verify this
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, // genericEventFlags
11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30 },
37, // numCursorTypes
4000, // logoEndAfter
32 // wonGameFlagID
};
// Conditional dialog checks and goodbyes have been moved to game data files
const Common::Array<Common::Array<ConditionalDialogue>> _nancy12ConditionalDialogue = {};
const Common::Array<Goodbye> _nancy12Goodbyes = {};
// Event flag names are no longer stored in the executable
const Common::Array<const char *> _nancy12EventFlagNames = {};
#endif // NANCY12DATA_H
+38
View File
@@ -0,0 +1,38 @@
/* 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 3 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, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef NANCY13DATA_H
#define NANCY13DATA_H
#include "types.h"
const GameConstants _nancy13Constants ={
50, // numItems
1251, // numEventFlags - TODO: verify this
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, // genericEventFlags
11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30 },
37, // numCursorTypes
4000, // logoEndAfter
32 // wonGameFlagID
};
#endif // NANCY13DATA_H
+38
View File
@@ -0,0 +1,38 @@
/* 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 3 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, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef NANCY14DATA_H
#define NANCY14DATA_H
#include "types.h"
const GameConstants _nancy14Constants ={
50, // numItems
1251, // numEventFlags - TODO: verify this
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, // genericEventFlags
11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30 },
44, // numCursorTypes
4000, // logoEndAfter
32 // wonGameFlagID
};
#endif // NANCY14DATA_H
+38
View File
@@ -0,0 +1,38 @@
/* 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 3 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, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef NANCY15DATA_H
#define NANCY15DATA_H
#include "types.h"
const GameConstants _nancy15Constants ={
50, // numItems
1251, // numEventFlags - TODO: verify this
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, // genericEventFlags
11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30 },
44, // numCursorTypes
4000, // logoEndAfter
32 // wonGameFlagID
};
#endif // NANCY15DATA_H
Binary file not shown.