[Scummvm-cvs-logs] scummvm master -> 63b4ded1a07019ee0330e2244693bd083f13da08

tramboi bertrand_augereau at yahoo.fr
Wed Aug 24 16:38:51 CEST 2011


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
63b4ded1a0 DREAMWEB: Static dispatching in checkcoords


Commit: 63b4ded1a07019ee0330e2244693bd083f13da08
    https://github.com/scummvm/scummvm/commit/63b4ded1a07019ee0330e2244693bd083f13da08
Author: Bertrand Augereau (bertrand_augereau at yahoo.fr)
Date: 2011-08-24T07:35:31-07:00

Commit Message:
DREAMWEB: Static dispatching in checkcoords

Changed paths:
    engines/dreamweb/stubs.cpp



diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index 5cbce89..ac693dc 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;






More information about the Scummvm-git-logs mailing list