Skip to content

Commit

Permalink
Merge pull request #151 from fingolfin/dreamweb-cleanup-rebased
Browse files Browse the repository at this point in the history
Conflicts:
	engines/dreamweb/dreamgen.cpp
	engines/dreamweb/stubs.cpp
  • Loading branch information
wjp committed Dec 23, 2011
2 parents 625a5ef + c9e9e5d commit d402011
Show file tree
Hide file tree
Showing 14 changed files with 923 additions and 904 deletions.
2 changes: 2 additions & 0 deletions devtools/tasmrecover/tasm-recover
Expand Up @@ -687,6 +687,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'printsprites',
'printundermon',
'processtrigger',
'purgealocation',
'putbackobstuff',
'putundercentre',
'putundermenu',
Expand Down Expand Up @@ -727,6 +728,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'removesetobject',
'removeobfrominv',
'resetkeyboard',
'resetlocation',
'restoreall',
'restoreems',
'restorereels',
Expand Down
29 changes: 23 additions & 6 deletions engines/dreamweb/dreambase.h
Expand Up @@ -139,6 +139,14 @@ class DreamBase : public SegmentManager {
void loadNews();
void loadCart();

// from newplace.cpp
void getUnderCentre();
void putUnderCentre();
void showArrows();
uint8 getLocation(uint8 index);
void setLocation(uint8 index);
void resetLocation(uint8 index);

// from object.cpp
void obIcons();
void fillRyan();
Expand All @@ -149,6 +157,7 @@ class DreamBase : public SegmentManager {
void deleteExObject(uint8 index);
void deleteExFrame(uint8 frameNum);
void deleteExText(uint8 textNum);
void purgeALocation(uint8 index);

// from pathfind.cpp
void turnPathOn(uint8 param);
Expand Down Expand Up @@ -236,14 +245,22 @@ class DreamBase : public SegmentManager {
void delCurs();

// from saveload.cpp
void oldToNames();
void loadGame();
void doLoad(int slot);
void saveGame();
void namesToOld();
void oldToNames();
void saveLoad();
void doSaveLoad();
void showMainOps();
void showDiscOps();
void discOps();
void actualSave();
void actualLoad();
void loadPosition(unsigned int slot);
void savePosition(unsigned int slot, const char *descbuf);
uint scanForNames();
void loadOld();
void showDecisions();
void loadSaveBox();
void showNames();
Expand Down Expand Up @@ -331,7 +348,6 @@ class DreamBase : public SegmentManager {
Frame *tempGraphics();
Frame *tempGraphics2();
Frame *tempGraphics3();
void showArrows();
void middlePanel();
void showDiary();
void readMouse();
Expand Down Expand Up @@ -463,6 +479,11 @@ class DreamBase : public SegmentManager {
template <class T> void checkCoords(const RectWithCallback<T> *rectWithCallbacks);
void newGame();
void deleteTaken();
void autoAppear();
void loadRoom();
void startLoading(const Room &room);
void startup();
void atmospheres();

// from use.cpp
void placeFreeObject(uint8 index);
Expand Down Expand Up @@ -505,10 +526,6 @@ class DreamBase : public SegmentManager {
inline uint8 *workspace() { return _workspace; }
void clearWork();

uint8 getLocation(uint8 index);
void setLocation(uint8 index);
void getUnderCentre();
void putUnderCentre();
uint8 *mapStore();
void panelToMap();
void mapToPanel();
Expand Down
82 changes: 0 additions & 82 deletions engines/dreamweb/dreamgen.cpp
Expand Up @@ -1130,37 +1130,6 @@ void DreamGenContext::transferConToEx() {
ds.byte(si+2) = 255;
}

void DreamGenContext::purgeALocation() {
STACK_CHECK;
push(ax);
es = data.word(kExtras);
di = (0+2080+30000);
bx = pop();
cx = 0;
purgeloc:
_cmp(bl, es.byte(di+0));
if (!flags.z())
goto dontpurge;
_cmp(es.byte(di+2), 0);
if (!flags.z())
goto dontpurge;
push(di);
push(es);
push(bx);
push(cx);
deleteExObject();
cx = pop();
bx = pop();
es = pop();
di = pop();
dontpurge:
_add(di, 16);
_inc(cx);
_cmp(cx, (114));
if (!flags.z())
goto purgeloc;
}

void DreamGenContext::emergencyPurge() {
STACK_CHECK;
checkpurgeagain:
Expand Down Expand Up @@ -1491,57 +1460,6 @@ void DreamGenContext::getDestInfo() {
ax = pop();
}

void DreamGenContext::resetLocation() {
STACK_CHECK;
push(ax);
_cmp(al, 5);
if (!flags.z())
goto notdelhotel;
purgeALocation();
al = 21;
purgeALocation();
al = 22;
purgeALocation();
al = 27;
purgeALocation();
goto clearedlocations;
notdelhotel:
_cmp(al, 8);
if (!flags.z())
goto notdeltvstud;
purgeALocation();
al = 28;
purgeALocation();
goto clearedlocations;
notdeltvstud:
_cmp(al, 6);
if (!flags.z())
goto notdelsarters;
purgeALocation();
al = 20;
purgeALocation();
al = 25;
purgeALocation();
goto clearedlocations;
notdelsarters:
_cmp(al, 13);
if (!flags.z())
goto notdelboathouse;
purgeALocation();
al = 29;
purgeALocation();
goto clearedlocations;
notdelboathouse:
clearedlocations:
ax = pop();
ah = 0;
bx = ax;
dx = data;
es = dx;
_add(bx, 537);
es.byte(bx) = 0;
}

void DreamGenContext::dirCom() {
STACK_CHECK;
cx = 30;
Expand Down
2 changes: 0 additions & 2 deletions engines/dreamweb/dreamgen.h
Expand Up @@ -458,7 +458,6 @@ class DreamGenContext : public DreamBase, public Context {
void getObTextStart();
void checkObjectSize();
void doSomeTalk();
void resetLocation();
void outOfOpen();
void dirCom();
void findFirstPath();
Expand All @@ -470,7 +469,6 @@ class DreamGenContext : public DreamBase, public Context {
void reExFromInv();
void transferMap();
void purgeAnItem();
void purgeALocation();
void getSetAd();
void findOpenPos();
void searchForSame();
Expand Down
2 changes: 2 additions & 0 deletions engines/dreamweb/module.mk
Expand Up @@ -8,6 +8,7 @@ MODULE_OBJS := \
dreamgen.o \
keypad.o \
monitor.o \
newplace.o \
object.o \
pathfind.o \
people.o \
Expand All @@ -17,6 +18,7 @@ MODULE_OBJS := \
sprite.o \
stubs.o \
talk.o \
titles.o \
use.o \
vgafades.o \
vgagrafx.o
Expand Down

0 comments on commit d402011

Please sign in to comment.