diff options
| -rw-r--r-- | actor.cpp | 12 | ||||
| -rw-r--r-- | costume.cpp | 3 | 
2 files changed, 11 insertions, 4 deletions
| @@ -227,13 +227,12 @@ int Scumm::updateActorDirection(Actor * a)  	int diff;  	int dirType;  	int num; - +	  	dirType = akos_hasManyDirections(a);  	from = toSimpleDir(dirType, a->facing);  	to = toSimpleDir(dirType, remapDirection(a, a->newDirection)); -	diff = to - from; - +	diff = to - from;	  	num = numSimpleDirDirections(dirType);  	if (abs(diff) > (num >> 1)) @@ -356,7 +355,7 @@ void Scumm::setupActorScale(Actor * a)  void Scumm::startAnimActor(Actor * a, int frame)  { -	if (_features & GF_NEW_COSTUMES) { +	if (_features & GF_NEW_COSTUMES) {		  		switch (frame) {  		case 1001:  			frame = a->initFrame; @@ -405,6 +404,11 @@ void Scumm::startAnimActor(Actor * a, int frame)  			a->cost.animCounter1 = 0;  			a->needRedraw = true; +			// FIXME: FOA hack, room 17, climbing off machine +			if (_gameId == GID_INDY4 && a->costume == 27) { +				a->facing = 0; +			} +  			if (a->initFrame == frame)  				initActorCostumeData(a); diff --git a/costume.cpp b/costume.cpp index 3c0aabd3b7..7a7cdcfe92 100644 --- a/costume.cpp +++ b/costume.cpp @@ -702,9 +702,12 @@ void CostumeRenderer::proc_special(Actor *a, byte mask2)  	byte shadow4;  	byte shadow5; +  	if(a->costume==153) //Samnmax elevator FIXME +  		return; +  	shadow1=a->shadow_mode & 0x80;  	shadow2=a->shadow_mode & 0x40;  	shadow3=a->shadow_mode & 0x20; | 
