diff options
Diffstat (limited to 'engines/dreamweb')
-rw-r--r-- | engines/dreamweb/dreamgen.cpp | 132 | ||||
-rw-r--r-- | engines/dreamweb/stubs.cpp | 133 |
2 files changed, 133 insertions, 132 deletions
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index c05cab5238..59d69758b6 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -20279,138 +20279,6 @@ transfer: dx = 6059; } -void DreamGenContext::dreamweb() { - STACK_CHECK; - seecommandtail(); - checkbasemem(); - soundstartup(); - setkeyboardint(); - setupemm(); - allocatebuffers(); - setmouse(); - fadedos(); - gettime(); - clearbuffers(); - clearpalette(); - set16colpalette(); - readsetdata(); - data.byte(kWongame) = 0; - dx = 1909; - loadsample(); - setsoundoff(); - scanfornames(); - _cmp(al, 0); - if (!flags.z()) - goto dodecisions; - setmode(); - loadpalfromiff(); - titles(); - credits(); - goto playgame; -dodecisions: - cls(); - setmode(); - decide(); - _cmp(data.byte(kQuitrequested), 0); - if (!flags.z()) - return /* (exitgame) */; - _cmp(data.byte(kGetback), 4); - if (flags.z()) - goto mainloop; - titles(); - _cmp(data.byte(kQuitrequested), 0); - if (!flags.z()) - return /* (exitgame) */; - credits(); -playgame: - _cmp(data.byte(kQuitrequested), 0); - if (!flags.z()) - return /* (exitgame) */; - clearchanges(); - setmode(); - loadpalfromiff(); - data.byte(kLocation) = 255; - data.byte(kRoomafterdream) = 1; - data.byte(kNewlocation) = 35; - data.byte(kVolume) = 7; - loadroom(); - clearsprites(); - initman(); - entrytexts(); - entryanims(); - data.byte(kDestpos) = 3; - initialinv(); - data.byte(kLastflag) = 32; - startup1(); - data.byte(kVolumeto) = 0; - data.byte(kVolumedirection) = -1; - data.byte(kCommandtype) = 255; - goto mainloop; -loadnew: - clearbeforeload(); - loadroom(); - clearsprites(); - initman(); - entrytexts(); - entryanims(); - data.byte(kNewlocation) = 255; - startup(); - data.byte(kCommandtype) = 255; - worktoscreenm(); - goto mainloop; - data.byte(kNewlocation) = 255; - clearsprites(); - initman(); - startup(); - data.byte(kCommandtype) = 255; -mainloop: - _cmp(data.byte(kQuitrequested), 0); - if (!flags.z()) - return /* (exitgame) */; - screenupdate(); - _cmp(data.byte(kWongame), 0); - if (!flags.z()) - goto endofgame; - _cmp(data.byte(kMandead), 1); - if (flags.z()) - goto gameover; - _cmp(data.byte(kMandead), 2); - if (flags.z()) - goto gameover; - _cmp(data.word(kWatchingtime), 0); - if (flags.z()) - goto notwatching; - al = data.byte(kFinaldest); - _cmp(al, data.byte(kManspath)); - if (!flags.z()) - goto mainloop; - _dec(data.word(kWatchingtime)); - if (!flags.z()) - goto mainloop; -notwatching: - _cmp(data.byte(kMandead), 4); - if (flags.z()) - goto gameover; - _cmp(data.byte(kNewlocation), 255); - if (!flags.z()) - goto loadnew; - goto mainloop; -gameover: - clearbeforeload(); - showgun(); - fadescreendown(); - cx = 100; - hangon(); - goto dodecisions; -endofgame: - clearbeforeload(); - fadescreendowns(); - cx = 200; - hangon(); - endgame(); - { quickquit2(); return; }; -} - void DreamGenContext::__start() { diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index 3c058259a8..65ed5bd9cd 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -26,6 +26,139 @@ namespace DreamGen { +void DreamGenContext::dreamweb() { + STACK_CHECK; + seecommandtail(); + checkbasemem(); + soundstartup(); + setkeyboardint(); + setupemm(); + allocatebuffers(); + setmouse(); + fadedos(); + gettime(); + clearbuffers(); + clearpalette(); + set16colpalette(); + readsetdata(); + data.byte(kWongame) = 0; + dx = 1909; + loadsample(); + setsoundoff(); + scanfornames(); + _cmp(al, 0); + if (!flags.z()) + goto dodecisions; + setmode(); + loadpalfromiff(); + titles(); + credits(); + goto playgame; +dodecisions: + cls(); + setmode(); + decide(); + _cmp(data.byte(kQuitrequested), 0); + if (!flags.z()) + return /* (exitgame) */; + _cmp(data.byte(kGetback), 4); + if (flags.z()) + goto mainloop; + titles(); + _cmp(data.byte(kQuitrequested), 0); + if (!flags.z()) + return /* (exitgame) */; + credits(); +playgame: + _cmp(data.byte(kQuitrequested), 0); + if (!flags.z()) + return /* (exitgame) */; + clearchanges(); + setmode(); + loadpalfromiff(); + data.byte(kLocation) = 255; + data.byte(kRoomafterdream) = 1; + data.byte(kNewlocation) = 35; + data.byte(kVolume) = 7; + loadroom(); + clearsprites(); + initman(); + entrytexts(); + entryanims(); + data.byte(kDestpos) = 3; + initialinv(); + data.byte(kLastflag) = 32; + startup1(); + data.byte(kVolumeto) = 0; + data.byte(kVolumedirection) = -1; + data.byte(kCommandtype) = 255; + goto mainloop; +loadnew: + clearbeforeload(); + loadroom(); + clearsprites(); + initman(); + entrytexts(); + entryanims(); + data.byte(kNewlocation) = 255; + startup(); + data.byte(kCommandtype) = 255; + worktoscreenm(); + goto mainloop; + data.byte(kNewlocation) = 255; + clearsprites(); + initman(); + startup(); + data.byte(kCommandtype) = 255; +mainloop: + _cmp(data.byte(kQuitrequested), 0); + if (!flags.z()) + return /* (exitgame) */; + screenupdate(); + _cmp(data.byte(kWongame), 0); + if (!flags.z()) + goto endofgame; + _cmp(data.byte(kMandead), 1); + if (flags.z()) + goto gameover; + _cmp(data.byte(kMandead), 2); + if (flags.z()) + goto gameover; + _cmp(data.word(kWatchingtime), 0); + if (flags.z()) + goto notwatching; + al = data.byte(kFinaldest); + _cmp(al, data.byte(kManspath)); + if (!flags.z()) + goto mainloop; + _dec(data.word(kWatchingtime)); + if (!flags.z()) + goto mainloop; +notwatching: + _cmp(data.byte(kMandead), 4); + if (flags.z()) + goto gameover; + _cmp(data.byte(kNewlocation), 255); + if (!flags.z()) + goto loadnew; + goto mainloop; +gameover: + clearbeforeload(); + showgun(); + fadescreendown(); + cx = 100; + hangon(); + goto dodecisions; +endofgame: + clearbeforeload(); + fadescreendowns(); + cx = 200; + hangon(); + endgame(); + { quickquit2(); return; }; +} + + Common::String getFilename(Context &context) { uint16 name_ptr = context.dx; Common::String name; |