DREAMWEB: 'aboutturn' does not need to be generated now

This commit is contained in:
Bertrand Augereau 2011-07-30 15:12:50 +02:00
parent b2748740db
commit 1f0eccb296
3 changed files with 2 additions and 42 deletions

View file

@ -65,6 +65,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'makesprite',
'showframe',
'initman',
'aboutturn',
'walking',
'spriteupdate',
'dodoor',

View file

@ -2258,45 +2258,6 @@ over1001:
data.word(kTakeoff) = 320;
}
void DreamGenContext::aboutturn() {
STACK_CHECK;
_cmp(data.byte(kTurndirection), 1);
if (flags.z())
goto incdir;
_cmp(data.byte(kTurndirection), -1);
if (flags.z())
goto decdir;
al = data.byte(kFacing);
_sub(al, data.byte(kTurntoface));
if (!flags.c())
goto higher;
_neg(al);
_cmp(al, 4);
if (!flags.c())
goto decdir;
goto incdir;
higher:
_cmp(al, 4);
if (!flags.c())
goto incdir;
goto decdir;
incdir:
data.byte(kTurndirection) = 1;
al = data.byte(kFacing);
_inc(al);
_and(al, 7);
data.byte(kFacing) = al;
es.byte(bx+29) = 0;
return;
decdir:
data.byte(kTurndirection) = -1;
al = data.byte(kFacing);
_dec(al);
_and(al, 7);
data.byte(kFacing) = al;
es.byte(bx+29) = 0;
}
void DreamGenContext::checkforexit() {
STACK_CHECK;
cl = data.byte(kRyanx);
@ -20560,7 +20521,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) {
case addr_checkone: checkone(); break;
case addr_findsource: findsource(); break;
case addr_mainman: mainman(); break;
case addr_aboutturn: aboutturn(); break;
case addr_checkforexit: checkforexit(); break;
case addr_adjustdown: adjustdown(); break;
case addr_adjustup: adjustup(); break;

View file

@ -672,7 +672,6 @@ public:
static const uint16 addr_adjustup = 0xc150;
static const uint16 addr_adjustdown = 0xc14c;
static const uint16 addr_checkforexit = 0xc148;
static const uint16 addr_aboutturn = 0xc13c;
static const uint16 addr_mainman = 0xc138;
static const uint16 addr_findsource = 0xc130;
static const uint16 addr_checkone = 0xc12c;
@ -1470,7 +1469,7 @@ public:
void loadold();
void loadtempcharset();
void useslab();
void aboutturn();
//void aboutturn();
void usealtar();
void createpanel2();
void turnonpower();