aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/create_drascula/create_drascula.cpp2
-rw-r--r--tools/create_drascula/create_drascula.h30
-rw-r--r--tools/create_drascula/staticdata.h170
3 files changed, 180 insertions, 22 deletions
diff --git a/tools/create_drascula/create_drascula.cpp b/tools/create_drascula/create_drascula.cpp
index 4917b1cb32..e150fa7518 100644
--- a/tools/create_drascula/create_drascula.cpp
+++ b/tools/create_drascula/create_drascula.cpp
@@ -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);
diff --git a/tools/create_drascula/create_drascula.h b/tools/create_drascula/create_drascula.h
index 6b4ad9ee95..51287c43d2 100644
--- a/tools/create_drascula/create_drascula.h
+++ b/tools/create_drascula/create_drascula.h
@@ -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 {
diff --git a/tools/create_drascula/staticdata.h b/tools/create_drascula/staticdata.h
index 7364c5f89c..f5fd018172 100644
--- a/tools/create_drascula/staticdata.h
+++ b/tools/create_drascula/staticdata.h
@@ -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] = {