New version of the create_drascula tool

svn-id: r34504
This commit is contained in:
Filippos Karapetis 2008-09-12 12:54:47 +00:00
parent cbf561a0a0
commit e7865cd3df
3 changed files with 180 additions and 22 deletions

View File

@ -38,7 +38,7 @@
#include "create_drascula.h"
#include "staticdata.h"
#define DRASCULA_DAT_VER 3 // 1 byte
#define DRASCULA_DAT_VER 4 // 1 byte
static void writeByte(FILE *fp, uint8 b) {
fwrite(&b, 1, 1, fp);

View File

@ -100,17 +100,25 @@ enum TalkSequenceCommands {
kPickObject = 3,
kAddObject = 4,
kBreakOut = 5,
kTalkerGeneral = 6,
kTalkerDrunk = 7,
kTalkerPianist = 8,
kTalkerBJ = 9,
kTalkerVBNormal = 10,
kTalkerVBDoor = 11,
kTalkerIgorSeated = 12,
kTalkerWerewolf = 13,
kTalkerMus = 14,
kTalkerDrascula = 15,
kTalkerBartender = 16
kConverse = 6,
kPlaceVB = 7,
kUpdateRoom = 8,
kUpdateScreen = 9,
kTrackProtagonist = 10,
kPlaySound = 11,
kFinishSound = 12,
kTalkerGeneral = 13,
kTalkerDrunk = 14,
kTalkerPianist = 15,
kTalkerBJ = 16,
kTalkerVBNormal = 17,
kTalkerVBDoor = 18,
kTalkerIgorSeated = 19,
kTalkerWerewolf = 20,
kTalkerMus = 21,
kTalkerDrascula = 22,
kTalkerBartender0 = 23,
kTalkerBartender1 = 24
};
struct TalkSequenceCommand {

View File

@ -638,6 +638,46 @@ RoomTalkAction roomActions[] = {
TalkSequenceCommand talkSequences[] = {
// Chapter, sequence, command type, action
{ 1, 2, kTalkerBJ, 2 },
{ 1, 2, kTalkerGeneral, 215 },
{ 1, 2, kTalkerBJ, 3 },
{ 1, 2, kTalkerGeneral, 216 },
{ 1, 2, kTalkerBJ, 4 },
{ 1, 2, kTalkerBJ, 5 },
{ 1, 2, kTalkerBJ, 6 },
{ 1, 2, kTalkerGeneral, 217 },
{ 1, 2, kTalkerBJ, 7 },
{ 1, 2, kTalkerGeneral, 218 },
{ 1, 2, kTalkerBJ, 8 },
{ 1, 2, kTalkerGeneral, 219 },
{ 1, 2, kTalkerBJ, 9 },
{ 1, 2, kTalkerGeneral, 220 },
{ 1, 2, kTalkerGeneral, 221 },
{ 1, 2, kTalkerBJ, 10 },
{ 1, 2, kTalkerGeneral, 222 },
//
{ 1, 3, kTalkerGeneral, 192 },
{ 1, 3, kTalkerBartender0, 1 },
{ 1, 3, kTalkerGeneral, 193 },
{ 1, 3, kTalkerBartender0, 2 },
{ 1, 3, kTalkerGeneral, 194 },
{ 1, 3, kTalkerBartender0, 3 },
{ 1, 3, kTalkerGeneral, 195 },
{ 1, 3, kTalkerBartender0, 4 },
{ 1, 3, kTalkerGeneral, 196 },
{ 1, 3, kTalkerBartender0, 5 },
{ 1, 3, kTalkerBartender0, 6 },
{ 1, 3, kTalkerGeneral, 197 },
{ 1, 3, kTalkerBartender0, 7 },
{ 1, 3, kTalkerGeneral, 198 },
{ 1, 3, kTalkerBartender0, 8 },
{ 1, 3, kTalkerGeneral, 199 },
{ 1, 3, kTalkerBartender0, 9 },
{ 1, 3, kTalkerGeneral, 200 },
{ 1, 3, kTalkerGeneral, 201 },
{ 1, 3, kTalkerGeneral, 202 },
{ 1, 3, kSetFlag, 0 },
//
{ 1, 10, kTalkerDrunk, 1 },
{ 1, 11, kTalkerDrunk, 2 },
{ 1, 12, kTalkerDrunk, 3 },
@ -646,9 +686,11 @@ TalkSequenceCommand talkSequences[] = {
{ 2, 8, kTalkerGeneral, 358 },
{ 2, 8, kTalkerPianist, 7 },
{ 2, 8, kTalkerPianist, 8 },
//
{ 2, 9, kTalkerPianist, 9 },
{ 2, 9, kTalkerPianist, 10 },
{ 2, 9, kTalkerPianist, 11 },
//
{ 2, 10, kTalkerPianist, 12 },
{ 2, 10, kTalkerGeneral, 361 },
{ 2, 10, kPause, 40 },
@ -660,22 +702,110 @@ TalkSequenceCommand talkSequences[] = {
{ 2, 10, kTalkerGeneral, 364 },
{ 2, 10, kTalkerPianist, 16 },
{ 2, 10, kTalkerGeneral, 365 },
//
{ 2, 11, kTalkerGeneral, 352 },
{ 2, 11, kTalkerBartender0, 1 },
{ 2, 11, kTalkerGeneral, 353 },
{ 2, 11, kTalkerBartender0, 17 },
{ 2, 11, kTalkerGeneral, 354 },
{ 2, 11, kTalkerBartender0, 18 },
{ 2, 11, kTalkerGeneral, 355 },
{ 2, 11, kPause, 40 },
{ 2, 11, kTalkerBartender0, 82 },
//
{ 2, 13, kTalkerGeneral, 103 },
{ 2, 13, kTalkerDrunk, 4 },
{ 2, 13, kSetFlag, 12 },
{ 2, 13, kTalkerGeneral, 367 },
{ 2, 13, kTalkerDrunk, 5 },
{ 2, 13, kSetFlag, 12 },
{ 2, 13, kTalkerGeneral, 368 },
{ 2, 13, kTalkerDrunk, 6 },
{ 2, 13, kTalkerDrunk, 7 },
{ 2, 13, kSetFlag, 41 },
{ 2, 13, kConverse, 2 },
//
{ 2, 15, kTalkerDrunk, 8 },
{ 2, 15, kPause, 7 },
{ 2, 15, kTalkerDrunk, 9 },
{ 2, 15, kTalkerDrunk, 10 },
{ 2, 15, kTalkerDrunk, 11 },
//
{ 2, 17, kTalkerDrunk, 13 },
{ 2, 17, kTalkerDrunk, 14 },
{ 2, 17, kSetFlag, 40 },
{ 2, 19, kTalkerVBDoor, 5 },
{ 2, 21, kTalkerVBDoor, 6 },
//
{ 2, 22, kTalkerGeneral, 374 },
{ 2, 22, kTrackProtagonist, 2 },
{ 2, 22, kUpdateRoom, -1 },
{ 2, 22, kUpdateScreen, -1 },
{ 2, 22, kPlaySound, 13 },
{ 2, 22, kFinishSound, -1 },
{ 2, 22, kTrackProtagonist, 1 },
{ 2, 22, kTalkerVBDoor, 1 },
{ 2, 22, kTalkerGeneral, 375 },
{ 2, 22, kTalkerVBDoor, 2 },
{ 2, 22, kTalkerGeneral, 376 },
{ 2, 22, kTalkerVBDoor, 3 },
{ 2, 22, kSetFlag, 18 },
//
{ 2, 28, kTalkerVBNormal, 27 },
{ 2, 28, kTalkerVBNormal, 28 },
{ 2, 28, kTalkerVBNormal, 29 },
{ 2, 28, kTalkerVBNormal, 30 },
{ 2, 30, kTalkerVBNormal, 31 },
{ 2, 30, kTalkerGeneral, 396 },
//
{ 2, 29, kTalkerVBNormal, 32 },
{ 2, 29, kTalkerGeneral, 398 },
{ 2, 29, kTalkerVBNormal, 33 },
{ 2, 29, kTalkerGeneral, 399 },
{ 2, 29, kTalkerVBNormal, 34 },
{ 2, 29, kTalkerVBNormal, 35 },
{ 2, 29, kTalkerGeneral, 400 },
{ 2, 29, kTalkerVBNormal, 36 },
{ 2, 29, kTalkerVBNormal, 37 },
{ 2, 29, kTalkerGeneral, 386 },
{ 2, 29, kTalkerVBNormal, 38 },
{ 2, 29, kTalkerVBNormal, 39 },
{ 2, 29, kTalkerGeneral, 401 },
{ 2, 29, kTalkerVBNormal, 40 },
{ 2, 29, kTalkerVBNormal, 41 },
{ 2, 29, kSetFlag, 33 },
//
{ 2, 30, kTalkerVBNormal, 31 },
{ 2, 30, kTalkerGeneral, 396 },
//
{ 2, 31, kTrackProtagonist, 2 },
{ 2, 31, kUpdateRoom, -1 },
{ 2, 31, kUpdateScreen, -1 },
{ 2, 31, kPause, 78 },
{ 2, 31, kTrackProtagonist, 0 },
{ 2, 31, kUpdateRoom, -1 },
{ 2, 31, kUpdateScreen, -1 },
{ 2, 31, kPause, 22 },
{ 2, 31, kTalkerGeneral, 406 },
{ 2, 31, kPlaceVB, 98 },
{ 2, 31, kTalkerVBNormal, 45 },
{ 2, 31, kTalkerVBNormal, 46 },
{ 2, 31, kTalkerVBNormal, 47 },
{ 2, 31, kTalkerGeneral, 407 },
{ 2, 31, kTalkerVBNormal, 48 },
{ 2, 31, kTalkerVBNormal, 49 },
{ 2, 31, kTalkerGeneral, 408 },
{ 2, 31, kTalkerVBNormal, 50 },
{ 2, 31, kTalkerVBNormal, 51 },
{ 2, 31, kTalkerGeneral, 409 },
{ 2, 31, kTalkerVBNormal, 52 },
{ 2, 31, kTalkerVBNormal, 53 },
{ 2, 31, kPause, 12 },
{ 2, 31, kTalkerVBNormal, 54 },
{ 2, 31, kTalkerVBNormal, 55 },
{ 2, 31, kTalkerGeneral, 410 },
{ 2, 31, kTalkerVBNormal, 56 },
{ 2, 31, kBreakOut, 1 },
{ 2, 31, kClearFlag, 38 },
{ 2, 31, kSetFlag, 36 },
//
{ 4, 2, kTalkerIgorSeated, 16 },
{ 4, 2, kTalkerGeneral, 278 },
@ -696,6 +826,26 @@ TalkSequenceCommand talkSequences[] = {
{ 5, 3, kTalkerBJ, 23 },
{ 5, 3, kPickObject, 10 },
{ 5, 3, kBreakOut, 1 },
//
{ 5, 4, kSetFlag, 7 },
{ 5, 4, kUpdateRoom, -1 },
{ 5, 4, kUpdateScreen, -1 },
{ 5, 4, kTalkerGeneral, 228 },
{ 5, 4, kTalkerWerewolf, 1 },
{ 5, 4, kTalkerWerewolf, 2 },
{ 5, 4, kPause, 23 },
{ 5, 4, kTalkerGeneral, 229 },
{ 5, 4, kTalkerWerewolf, 3 },
{ 5, 4, kTalkerWerewolf, 4 },
{ 5, 4, kTalkerGeneral, 230 },
{ 5, 4, kTalkerWerewolf, 5 },
{ 5, 4, kTalkerGeneral, 231 },
{ 5, 4, kTalkerWerewolf, 6 },
{ 5, 4, kTalkerWerewolf, 7 },
{ 5, 4, kPause, 33 },
{ 5, 4, kTalkerGeneral, 232 },
{ 5, 4, kTalkerWerewolf, 8 },
//
{ 5, 6, kTalkerWerewolf, 9 },
{ 5, 6, kTalkerGeneral, 234 },
{ 5, 7, kTalkerWerewolf, 10 },
@ -719,19 +869,19 @@ TalkSequenceCommand talkSequences[] = {
{ 6, 2, kTalkerDrascula, 24 },
{ 6, 3, kTalkerDrascula, 24 },
{ 6, 4, kTalkerDrascula, 25 },
{ 6, 11, kTalkerBartender, 10 },
{ 6, 11, kTalkerBartender1, 10 },
{ 6, 11, kTalkerGeneral, 268 },
{ 6, 11, kTalkerBartender, 11 },
{ 6, 12, kTalkerBartender, 12 },
{ 6, 11, kTalkerBartender1, 11 },
{ 6, 12, kTalkerBartender1, 12 },
{ 6, 12, kTalkerGeneral, 270 },
{ 6, 12, kTalkerBartender, 13 },
{ 6, 12, kTalkerBartender, 14 },
{ 6, 13, kTalkerBartender, 15 },
{ 6, 14, kTalkerBartender, 24 },
{ 6, 12, kTalkerBartender1, 13 },
{ 6, 12, kTalkerBartender1, 14 },
{ 6, 13, kTalkerBartender1, 15 },
{ 6, 14, kTalkerBartender1, 24 },
{ 6, 14, kAddObject, 21 },
{ 6, 14, kSetFlag, 10 },
{ 6, 14, kBreakOut, 1 },
{ 6, 15, kTalkerBartender, 16 }
{ 6, 15, kTalkerBartender1, 16 }
};
const char *_text[NUM_LANGS][NUM_TEXT] = {