#ifndef TASMRECOVER_DREAMGEN_STUBS_H__ #define TASMRECOVER_DREAMGEN_STUBS_H__ /* PLEASE DO NOT MODIFY THIS FILE. ALL CHANGES WILL BE LOST! LOOK FOR README FOR DETAILS */ /* 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. * */ #include "dreamweb/runtime.h" #include "dreamweb/structs.h" #include "dreamweb/dreambase.h" namespace DreamGen { static const uint16 offset_rootdir = 0x0407; static const uint16 offset_operand1 = 0x03f9; static const uint16 offset_keys = 0x038f; static const uint16 kStartvars = 0; static const uint16 kProgresspoints = 1; static const uint16 kWatchon = 2; static const uint16 kShadeson = 3; static const uint16 kSecondcount = 4; static const uint16 kMinutecount = 5; static const uint16 kHourcount = 6; static const uint16 kZoomon = 7; static const uint16 kLocation = 8; static const uint16 kExpos = 9; static const uint16 kExframepos = 10; static const uint16 kExtextpos = 12; static const uint16 kCard1money = 14; static const uint16 kListpos = 16; static const uint16 kRyanpage = 18; static const uint16 kWatchingtime = 19; static const uint16 kReeltowatch = 21; static const uint16 kEndwatchreel = 23; static const uint16 kSpeedcount = 25; static const uint16 kWatchspeed = 26; static const uint16 kReeltohold = 27; static const uint16 kEndofholdreel = 29; static const uint16 kWatchmode = 31; static const uint16 kDestafterhold = 32; static const uint16 kNewsitem = 33; static const uint16 kLiftflag = 34; static const uint16 kLiftpath = 35; static const uint16 kLockstatus = 36; static const uint16 kDoorpath = 37; static const uint16 kCounttoopen = 38; static const uint16 kCounttoclose = 39; static const uint16 kRockstardead = 40; static const uint16 kGeneraldead = 41; static const uint16 kSartaindead = 42; static const uint16 kAidedead = 43; static const uint16 kBeenmugged = 44; static const uint16 kGunpassflag = 45; static const uint16 kCanmovealtar = 46; static const uint16 kTalkedtoattendant = 47; static const uint16 kTalkedtosparky = 48; static const uint16 kTalkedtoboss = 49; static const uint16 kTalkedtorecep = 50; static const uint16 kCardpassflag = 51; static const uint16 kMadmanflag = 52; static const uint16 kKeeperflag = 53; static const uint16 kLasttrigger = 54; static const uint16 kMandead = 55; static const uint16 kSeed = 56; static const uint16 kNeedtotravel = 59; static const uint16 kThroughdoor = 60; static const uint16 kNewobs = 61; static const uint16 kRyanon = 62; static const uint16 kCombatcount = 63; static const uint16 kLastweapon = 64; static const uint16 kDreamnumber = 65; static const uint16 kRoomafterdream = 66; static const uint16 kShakecounter = 67; static const uint16 kSpeechcount = 68; static const uint16 kCharshift = 69; static const uint16 kKerning = 71; static const uint16 kBrightness = 72; static const uint16 kRoomloaded = 73; static const uint16 kDidzoom = 74; static const uint16 kLinespacing = 75; static const uint16 kTextaddressx = 77; static const uint16 kTextaddressy = 79; static const uint16 kTextlen = 81; static const uint16 kLastxpos = 82; static const uint16 kIcontop = 84; static const uint16 kIconleft = 86; static const uint16 kItemframe = 88; static const uint16 kItemtotran = 89; static const uint16 kRoomad = 90; static const uint16 kOldsubject = 92; static const uint16 kWithobject = 94; static const uint16 kWithtype = 95; static const uint16 kLookcounter = 96; static const uint16 kCommand = 98; static const uint16 kCommandtype = 99; static const uint16 kOldcommandtype = 100; static const uint16 kObjecttype = 101; static const uint16 kGetback = 102; static const uint16 kInvopen = 103; static const uint16 kMainmode = 104; static const uint16 kPickup = 105; static const uint16 kLastinvpos = 106; static const uint16 kExamagain = 107; static const uint16 kNewtextline = 108; static const uint16 kOpenedob = 109; static const uint16 kOpenedtype = 110; static const uint16 kOldmapadx = 111; static const uint16 kOldmapady = 113; static const uint16 kMapadx = 115; static const uint16 kMapady = 117; static const uint16 kMapoffsetx = 119; static const uint16 kMapoffsety = 121; static const uint16 kMapxstart = 123; static const uint16 kMapystart = 125; static const uint16 kMapxsize = 127; static const uint16 kMapysize = 128; static const uint16 kHavedoneobs = 129; static const uint16 kManisoffscreen = 130; static const uint16 kRainspace = 131; static const uint16 kFacing = 132; static const uint16 kLeavedirection = 133; static const uint16 kTurntoface = 134; static const uint16 kTurndirection = 135; static const uint16 kMaintimer = 136; static const uint16 kIntrocount = 138; static const uint16 kArrowad = 139; static const uint16 kCurrentkey = 141; static const uint16 kOldkey = 142; static const uint16 kUseddirection = 143; static const uint16 kCurrentkey2 = 144; static const uint16 kTimercount = 145; static const uint16 kOldtimercount = 146; static const uint16 kMapx = 147; static const uint16 kMapy = 148; static const uint16 kNewscreen = 149; static const uint16 kRyanx = 150; static const uint16 kRyany = 151; static const uint16 kLastflag = 152; static const uint16 kCurrentex = 153; static const uint16 kCurrentfree = 154; static const uint16 kFramesad = 155; static const uint16 kDataad = 157; static const uint16 kFrsegment = 159; static const uint16 kObjectx = 161; static const uint16 kObjecty = 163; static const uint16 kOffsetx = 165; static const uint16 kOffsety = 167; static const uint16 kSavesize = 169; static const uint16 kSavesource = 171; static const uint16 kSavex = 173; static const uint16 kSavey = 174; static const uint16 kCurrentob = 175; static const uint16 kPrioritydep = 176; static const uint16 kDestpos = 177; static const uint16 kReallocation = 178; static const uint16 kRoomnum = 179; static const uint16 kNowinnewroom = 180; static const uint16 kResetmanxy = 181; static const uint16 kNewlocation = 182; static const uint16 kAutolocation = 183; static const uint16 kMustload = 184; static const uint16 kAnswered = 185; static const uint16 kSaidno = 186; static const uint16 kDoorcheck1 = 187; static const uint16 kDoorcheck2 = 188; static const uint16 kDoorcheck3 = 189; static const uint16 kDoorcheck4 = 190; static const uint16 kMousex = 191; static const uint16 kMousey = 193; static const uint16 kMousebutton = 195; static const uint16 kMousebutton1 = 197; static const uint16 kMousebutton2 = 199; static const uint16 kMousebutton3 = 201; static const uint16 kMousebutton4 = 203; static const uint16 kOldbutton = 205; static const uint16 kOldx = 207; static const uint16 kOldy = 209; static const uint16 kLastbutton = 211; static const uint16 kOldpointerx = 213; static const uint16 kOldpointery = 215; static const uint16 kDelherex = 217; static const uint16 kDelherey = 219; static const uint16 kPointerxs = 221; static const uint16 kPointerys = 222; static const uint16 kDelxs = 223; static const uint16 kDelys = 224; static const uint16 kPointerframe = 225; static const uint16 kPointerpower = 226; static const uint16 kAuxpointerframe = 227; static const uint16 kPointermode = 228; static const uint16 kPointerspeed = 229; static const uint16 kPointercount = 230; static const uint16 kInmaparea = 231; static const uint16 kSlotdata = 232; static const uint16 kThisslot = 233; static const uint16 kSlotflags = 234; static const uint16 kTalkmode = 235; static const uint16 kTalkpos = 236; static const uint16 kCharacter = 237; static const uint16 kPersondata = 238; static const uint16 kTalknum = 240; static const uint16 kNumberinroom = 241; static const uint16 kCurrentcel = 242; static const uint16 kOldselection = 243; static const uint16 kStopwalking = 244; static const uint16 kMouseon = 245; static const uint16 kPlayed = 246; static const uint16 kTimer1 = 248; static const uint16 kTimer2 = 249; static const uint16 kTimer3 = 250; static const uint16 kWholetimer = 251; static const uint16 kTimer1to = 253; static const uint16 kTimer2to = 254; static const uint16 kTimer3to = 255; static const uint16 kWatchdump = 256; static const uint16 kLogonum = 257; static const uint16 kOldlogonum = 258; static const uint16 kNewlogonum = 259; static const uint16 kNetseg = 260; static const uint16 kNetpoint = 262; static const uint16 kKeynum = 264; static const uint16 kCursorstate = 265; static const uint16 kPressed = 266; static const uint16 kPresspointer = 267; static const uint16 kGraphicpress = 269; static const uint16 kPresscount = 270; static const uint16 kLightcount = 271; static const uint16 kFolderpage = 272; static const uint16 kDiarypage = 273; static const uint16 kMenucount = 274; static const uint16 kSymboltopx = 275; static const uint16 kSymboltopnum = 276; static const uint16 kSymboltopdir = 277; static const uint16 kSymbolbotx = 278; static const uint16 kSymbolbotnum = 279; static const uint16 kSymbolbotdir = 280; static const uint16 kSymboltolight = 281; static const uint16 kSymbol1 = 282; static const uint16 kSymbol2 = 283; static const uint16 kSymbol3 = 284; static const uint16 kSymbolnum = 285; static const uint16 kDumpx = 286; static const uint16 kDumpy = 288; static const uint16 kWalkandexam = 290; static const uint16 kWalkexamtype = 291; static const uint16 kWalkexamnum = 292; static const uint16 kCurslocx = 293; static const uint16 kCurslocy = 295; static const uint16 kCurpos = 297; static const uint16 kMonadx = 299; static const uint16 kMonady = 301; static const uint16 kMonsource = 303; static const uint16 kNumtodo = 305; static const uint16 kTimecount = 307; static const uint16 kCounttotimed = 309; static const uint16 kTimedseg = 311; static const uint16 kTimedoffset = 313; static const uint16 kTimedy = 315; static const uint16 kTimedx = 316; static const uint16 kNeedtodumptimed = 317; static const uint16 kLoadingorsave = 318; static const uint16 kCurrentslot = 319; static const uint16 kCursorpos = 320; static const uint16 kColourpos = 321; static const uint16 kFadedirection = 322; static const uint16 kNumtofade = 323; static const uint16 kFadecount = 324; static const uint16 kAddtogreen = 325; static const uint16 kAddtored = 326; static const uint16 kAddtoblue = 327; static const uint16 kLastsoundreel = 328; static const uint16 kSpeechloaded = 330; static const uint16 kSpeechlength = 331; static const uint16 kVolume = 333; static const uint16 kVolumeto = 334; static const uint16 kVolumedirection = 335; static const uint16 kVolumecount = 336; static const uint16 kWongame = 337; static const uint16 kLasthardkey = 338; static const uint16 kBufferin = 339; static const uint16 kBufferout = 341; static const uint16 kExtras = 343; static const uint16 kWorkspace = 345; static const uint16 kMapstore = 347; static const uint16 kCharset1 = 349; static const uint16 kBuffers = 351; static const uint16 kMainsprites = 353; static const uint16 kBackdrop = 355; static const uint16 kMapdata = 357; static const uint16 kSounddata = 359; static const uint16 kSounddata2 = 361; static const uint16 kRecordspace = 363; static const uint16 kFreedat = 365; static const uint16 kSetdat = 367; static const uint16 kReel1 = 369; static const uint16 kReel2 = 371; static const uint16 kReel3 = 373; static const uint16 kRoomdesc = 375; static const uint16 kFreedesc = 377; static const uint16 kSetdesc = 379; static const uint16 kBlockdesc = 381; static const uint16 kSetframes = 383; static const uint16 kFreeframes = 385; static const uint16 kPeople = 387; static const uint16 kReels = 389; static const uint16 kCommandtext = 391; static const uint16 kPuzzletext = 393; static const uint16 kTraveltext = 395; static const uint16 kTempgraphics = 397; static const uint16 kTempgraphics2 = 399; static const uint16 kTempgraphics3 = 401; static const uint16 kTempsprites = 403; static const uint16 kTextfile1 = 405; static const uint16 kTextfile2 = 407; static const uint16 kTextfile3 = 409; static const uint16 kBlinkframe = 411; static const uint16 kBlinkcount = 412; static const uint16 kReasseschanges = 413; static const uint16 kPointerspath = 414; static const uint16 kManspath = 415; static const uint16 kPointerfirstpath = 416; static const uint16 kFinaldest = 417; static const uint16 kDestination = 418; static const uint16 kLinestartx = 419; static const uint16 kLinestarty = 421; static const uint16 kLineendx = 423; static const uint16 kLineendy = 425; static const uint16 kLinepointer = 427; static const uint16 kLinedirection = 428; static const uint16 kLinelength = 429; static const uint16 kCh0blockstocopy = 430; static const uint16 kCh0playing = 432; static const uint16 kCh0repeat = 433; static const uint16 kCh1playing = 434; static const uint16 kCh1blockstocopy = 435; static const uint16 kSoundbufferwrite = 437; static const uint16 kCurrentsample = 439; static const uint16 kRoomssample = 440; static const uint16 kReelroutines = 441; static const uint16 kBasicsample = 898; static const uint16 kCurrentfile = 1045; static const uint16 kRoomscango = 1120; static const uint16 kRoompics = 1136; static const uint16 kOplist = 1151; static const uint16 kInputline = 1154; static const uint16 kPresslist = 1282; static const uint16 kQuitrequested = 1288; static const uint16 kSubtitles = 1289; static const uint16 kForeignrelease = 1290; static const uint16 kBlocktextdat = (0); static const uint16 kPersonframes = (0); static const uint16 kDebuglevel1 = (0); static const uint16 kDebuglevel2 = (0); static const uint16 kPlayback = (0); static const uint16 kMap = (0); static const uint16 kSettextdat = (0); static const uint16 kSpanish = (0); static const uint16 kFramedata = (0); static const uint16 kRecording = (0); static const uint16 kFlags = (0); static const uint16 kGerman = (0); static const uint16 kTextunder = (0); static const uint16 kPathdata = (0); static const uint16 kDemo = (0); static const uint16 kExframedata = (0); static const uint16 kIntextdat = (0); static const uint16 kFreetextdat = (0); static const uint16 kFrframedata = (0); static const uint16 kSettext = (0+(130*2)); static const uint16 kOpeninvlist = (0+(228*13)); static const uint16 kRyaninvlist = (0+(228*13)+32); static const uint16 kPointerback = (0+(228*13)+32+60); static const uint16 kMapflags = (0+(228*13)+32+60+(32*32)); static const uint16 kStartpal = (0+(228*13)+32+60+(32*32)+(11*10*3)); static const uint16 kEndpal = (0+(228*13)+32+60+(32*32)+(11*10*3)+768); static const uint16 kMaingamepal = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768); static const uint16 kSpritetable = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768); static const uint16 kSetlist = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)); static const uint16 kFreelist = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)); static const uint16 kExlist = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)); static const uint16 kPeoplelist = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)); static const uint16 kZoomspace = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)); static const uint16 kPrintedlist = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)); static const uint16 kListofchanges = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)); static const uint16 kUndertimedtext = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)); static const uint16 kRainlist = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)); static const uint16 kInitialreelrouts = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)); static const uint16 kInitialvars = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+898-441); static const uint16 kLengthofbuffer = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+898-441+68-0); static const uint16 kReellist = (0+(36*144)); static const uint16 kIntext = (0+(38*2)); static const uint16 kLengthofmap = (0+(66*60)); static const uint16 kFreetext = (0+(82*2)); static const uint16 kBlocktext = (0+(98*2)); static const uint16 kBlocks = (0+192); static const uint16 kFrframes = (0+2080); static const uint16 kExframes = (0+2080); static const uint16 kFrames = (0+2080); static const uint16 kExdata = (0+2080+30000); static const uint16 kExtextdat = (0+2080+30000+(16*114)); static const uint16 kExtext = (0+2080+30000+(16*114)+((114+2)*2)); static const uint16 kLengthofextra = (0+2080+30000+(16*114)+((114+2)*2)+18000); static const uint16 kPersontxtdat = (0+24); static const uint16 kPersontext = (0+24+(1026*2)); static const uint16 kInputport = (0x63); static const uint16 kForeign = (1); static const uint16 kCd = (1); static const uint16 kNumexobjects = (114); static const uint16 kUndertextsizey = (13); static const uint16 kZoomy = (132); static const uint16 kFreedatlen = (16*80); static const uint16 kExtextlen = (18000); static const uint16 kLenofmapstore = (22*8*20*8); static const uint16 kUndertextsizex = (228); static const uint16 kNumchanges = (250); static const uint16 kUndertimedysize = (30); static const uint16 kExframeslen = (30000); static const uint16 kTablesize = (32); static const uint16 kScreenwidth = (320); static const uint16 kKeypadx = (36+112); static const uint16 kItempicsize = (44); static const uint16 kDiaryy = (48+12); static const uint16 kOpsy = (52); static const uint16 kSymboly = (56); static const uint16 kInventy = (58); static const uint16 kMenuy = (60); static const uint16 kOpsx = (60); static const uint16 kMaplength = (60); static const uint16 kSymbolx = (64); static const uint16 kSetdatlen = (64*128); static const uint16 kMapwidth = (66); static const uint16 kTextstart = (66*2); static const uint16 kMaplen = (66*60); static const uint16 kDiaryx = (68+24); static const uint16 kLengthofvars = (68-0); static const uint16 kKeypady = (72); static const uint16 kZoomx = (8); static const uint16 kInventx = (80); static const uint16 kMenux = (80+40); static const uint16 kLenofreelrouts = (898-441); static const uint16 kHeaderlen = (96); class DreamGenContext : public DreamBase, public Context { public: DreamGenContext(DreamWeb::DreamWebEngine *en) : DreamBase(en), Context(this) {} void __start(); #include "stubs.h" // Allow hand-reversed functions to have a signature different than void f() void fadeDownMon(); void getPersonText(); void getObTextStart(); void checkObjectSize(); void fillOpen(); void doSomeTalk(); void resetLocation(); void outOfOpen(); void dirCom(); void findFirstPath(); void startTalk(); void getAnyAd(); void reminders(); void lookInInterface(); void inToInv(); void deleteExText(); void getFreeAd(); void removeObFromInv(); void dirFile(); void pickupConts(); void getKeyAndLogo(); void fadeUpMon(); void reExFromInv(); void outOfInv(); void transferMap(); void purgeAnItem(); void purgeALocation(); void getSetAd(); void showKeys(); void nextColon(); void findOpenPos(); void deleteExFrame(); void searchForSame(); void rollEm(); void lookAtPlace(); void findAllOpen(); void deleteExObject(); void getEitherAd(); void setPickup(); void dropObject(); void showDiaryKeys(); void useOpened(); void signOn(); void locationPic(); void swapWithOpen(); void dreamweb(); void findPathOfPoint(); void getDestInfo(); void read(); void searchForString(); void selectOpenOb(); void incRyanPage(); void searchForFiles(); void getExAd(); void initialMonCols(); void swapWithInv(); void transferToEx(); void parser(); void emergencyPurge(); void transferConToEx(); }; } // End of namespace DreamGen #endif