aboutsummaryrefslogtreecommitdiff
path: root/engines/dreamweb/stubs.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/dreamweb/stubs.cpp')
-rw-r--r--engines/dreamweb/stubs.cpp140
1 files changed, 138 insertions, 2 deletions
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index 5cbce89594..ac693dcf90 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -1319,8 +1319,144 @@ void DreamGenContext::checkcoords(const RectWithCallback *rectWithCallbacks) {
const RectWithCallback *rectWithCallback = rectWithCallbacks;
while (rectWithCallback->xMin() != 0xffff) {
if (rectWithCallback->contains(data.word(kMousex), data.word(kMousey))) {
- // TODO : Explicit dispatching
- __dispatch_call(rectWithCallback->callback());
+ uint16 callback = rectWithCallback->callback();
+
+ // common
+ if(callback == addr_blank)
+ blank();
+ else if(callback == addr_getbackfromob)
+ getbackfromob();
+ else if(callback == addr_incryanpage)
+ incryanpage();
+ else if(callback == addr_getback1)
+ getback1();
+ else if(callback == addr_quitkey)
+ quitkey();
+ else if(callback == addr_dosreturn)
+ dosreturn();
+ else if(callback == addr_getbacktoops)
+ getbacktoops();
+ else if(callback == addr_selectslot)
+ selectslot();
+ // examlist
+ else if(callback == addr_useobject)
+ useobject();
+ else if(callback == addr_selectopenob)
+ selectopenob();
+ else if(callback == addr_setpickup)
+ setpickup();
+ else if(callback == addr_examinventory)
+ examinventory();
+ // invlist1
+ else if(callback == addr_dropobject)
+ dropobject();
+ else if(callback == addr_useopened)
+ useopened();
+ else if(callback == addr_setpickup)
+ setpickup();
+ else if(callback == addr_intoinv)
+ intoinv();
+ // withlist1
+ else if(callback == addr_selectob)
+ selectob();
+ // talklist
+ else if(callback == addr_moretalk)
+ moretalk();
+ // quitlist
+ // destlist
+ else if(callback == addr_nextdest)
+ nextdest();
+ else if(callback == addr_lastdest)
+ lastdest();
+ else if(callback == addr_lookatplace)
+ lookatplace();
+ else if(callback == addr_destselect)
+ destselect();
+ // keypadlist
+ else if(callback == addr_buttonone)
+ buttonone();
+ else if(callback == addr_buttontwo)
+ buttontwo();
+ else if(callback == addr_buttonthree)
+ buttonthree();
+ else if(callback == addr_buttonfour)
+ buttonfour();
+ else if(callback == addr_buttonfive)
+ buttonfive();
+ else if(callback == addr_buttonsix)
+ buttonsix();
+ else if(callback == addr_buttonseven)
+ buttonseven();
+ else if(callback == addr_buttoneight)
+ buttoneight();
+ else if(callback == addr_buttonnine)
+ buttonnine();
+ else if(callback == addr_buttonnought)
+ buttonnought();
+ else if(callback == addr_buttonenter)
+ buttonenter();
+ // menulist
+ // folderlist
+ else if(callback == addr_nextfolder)
+ nextfolder();
+ else if(callback == addr_lastfolder)
+ lastfolder();
+ // symbollist
+ else if(callback == addr_quitsymbol)
+ quitsymbol();
+ else if(callback == addr_settopleft)
+ settopleft();
+ else if(callback == addr_settopright)
+ settopright();
+ else if(callback == addr_setbotleft)
+ setbotleft();
+ else if(callback == addr_setbotright)
+ setbotright();
+ // diarylist
+ else if(callback == addr_diarykeyn)
+ diarykeyn();
+ else if(callback == addr_diarykeyp)
+ diarykeyp();
+ else if(callback == addr_quitkey)
+ quitkey();
+ // opslist
+ else if(callback == addr_getbackfromops)
+ getbackfromops();
+ else if(callback == addr_discops)
+ discops();
+ // discopslist
+ else if(callback == addr_loadgame)
+ loadgame();
+ else if(callback == addr_savegame)
+ savegame();
+ // mainlist, mainlist2
+ else if(callback == addr_look)
+ look();
+ else if(callback == addr_inventory)
+ inventory();
+ else if(callback == addr_zoomonoff)
+ zoomonoff();
+ else if(callback == addr_saveload)
+ saveload();
+ else if(callback == addr_madmanrun)
+ madmanrun();
+ else if(callback == addr_identifyob)
+ identifyob();
+ // decidelist
+ else if(callback == addr_newgame)
+ newgame();
+ else if(callback == addr_loadold)
+ loadold();
+ // loadlist
+ else if(callback == addr_actualload)
+ actualload();
+ // savelist
+ else if(callback == addr_actualsave)
+ actualsave();
+ else {
+ debug("__dispatch_call remaining in checkcoords! %d", (int)callback);
+ __dispatch_call(callback);
+ }
return;
}
++rectWithCallback;