diff options
author | Willem Jan Palenstijn | 2011-11-14 21:38:40 +0100 |
---|---|---|
committer | Willem Jan Palenstijn | 2011-11-14 21:44:10 +0100 |
commit | b53a2997909d04ae3d3b87607f336d97d123eeb8 (patch) | |
tree | b39116ce9970a4e35050684cdbb16372ec8a094a /engines/dreamweb/saveload.cpp | |
parent | e254e549293b8b13e8d1765b553a448e73169de9 (diff) | |
download | scummvm-rg350-b53a2997909d04ae3d3b87607f336d97d123eeb8.tar.gz scummvm-rg350-b53a2997909d04ae3d3b87607f336d97d123eeb8.tar.bz2 scummvm-rg350-b53a2997909d04ae3d3b87607f336d97d123eeb8.zip |
DREAMWEB: Unhardcode checkcoords tables
This patch makes __dispatch_call (even more) superfluous,
but does not yet remove it.
Diffstat (limited to 'engines/dreamweb/saveload.cpp')
-rw-r--r-- | engines/dreamweb/saveload.cpp | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/engines/dreamweb/saveload.cpp b/engines/dreamweb/saveload.cpp index 636182dc83..f68ec86ddf 100644 --- a/engines/dreamweb/saveload.cpp +++ b/engines/dreamweb/saveload.cpp @@ -72,8 +72,14 @@ void DreamGenContext::doload() { vsync(); dumppointer(); dumptextline(); - bx = offset_loadlist; - checkcoords(); + RectWithCallback loadlist[] = { + { kOpsx+176,kOpsx+192,kOpsy+60,kOpsy+76,&DreamGenContext::getbacktoops }, + { kOpsx+128,kOpsx+190,kOpsy+12,kOpsy+100,&DreamGenContext::actualload }, + { kOpsx+2,kOpsx+92,kOpsy+4,kOpsy+81,&DreamGenContext::selectslot }, + { 0,320,0,200,&DreamGenContext::blank }, + { 0xFFFF,0,0,0,0 } + }; + checkcoords(loadlist); if (data.byte(kGetback) == 1) break; if (data.byte(kGetback) == 2) @@ -213,8 +219,15 @@ void DreamGenContext::savegame() { vsync(); dumppointer(); dumptextline(); - bx = offset_savelist; - checkcoords(); + + RectWithCallback savelist[] = { + { kOpsx+176,kOpsx+192,kOpsy+60,kOpsy+76,&DreamGenContext::getbacktoops }, + { kOpsx+128,kOpsx+190,kOpsy+12,kOpsy+100,&DreamGenContext::actualsave }, + { kOpsx+2,kOpsx+92,kOpsy+4,kOpsy+81,&DreamGenContext::selectslot }, + { 0,320,0,200,&DreamGenContext::blank }, + { 0xFFFF,0,0,0,0 } + }; + checkcoords(savelist); _cmp(data.byte(kGetback), 0); if (flags.z()) continue; |