workaround for bug #558236; renamed actorAnimate to animateCostume (to distinguish it a bit from animateActor); removed Scumm::animateActor
svn-id: r4695
This commit is contained in:
parent
77daed66ea
commit
8779d00789
6 changed files with 19 additions and 19 deletions
|
@ -682,6 +682,10 @@ void Actor::turnToDirection(int newdir)
|
|||
if (newdir != facing) {
|
||||
moving = MF_TURN;
|
||||
newDirection = newdir;
|
||||
|
||||
// FIXME - workaround for bug #558236
|
||||
if (_vm->_gameId == GID_INDY4 && room == 39 && x == 617 && y == 125 && newdir == 180)
|
||||
startAnimActor(standFrame);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -831,7 +835,7 @@ void Scumm::processActors()
|
|||
if (a->costume) {
|
||||
CHECK_HEAP getMaskFromBox(a->walkbox);
|
||||
a->drawActorCostume();
|
||||
CHECK_HEAP a->actorAnimate();
|
||||
CHECK_HEAP a->animateCostume();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -921,7 +925,7 @@ void Actor::drawActorCostume()
|
|||
}
|
||||
}
|
||||
|
||||
void Actor::actorAnimate()
|
||||
void Actor::animateCostume()
|
||||
{
|
||||
if (costume == 0)
|
||||
return;
|
||||
|
|
2
actor.h
2
actor.h
|
@ -146,7 +146,7 @@ public:
|
|||
void turnToDirection(int newdir);
|
||||
void walkActor();
|
||||
void drawActorCostume();
|
||||
void actorAnimate();
|
||||
void animateCostume();
|
||||
void setActorCostume(int c);
|
||||
byte *getActorName();
|
||||
void startWalkActor(int x, int y, int dir);
|
||||
|
|
10
script.cpp
10
script.cpp
|
@ -899,15 +899,6 @@ void Scumm::faceActorToObj(int act, int obj)
|
|||
derefActorSafe(act, "faceActorToObj")->turnToDirection(dir);
|
||||
}
|
||||
|
||||
void Scumm::animateActor(int act, int anim)
|
||||
{
|
||||
Actor *a = derefActorSafe(act, "animateActor");
|
||||
if (!a)
|
||||
return;
|
||||
|
||||
a->animateActor(anim);
|
||||
}
|
||||
|
||||
bool Scumm::isScriptRunning(int script)
|
||||
{
|
||||
int i;
|
||||
|
@ -930,7 +921,6 @@ bool Scumm::isRoomScriptRunning(int script)
|
|||
}
|
||||
|
||||
|
||||
|
||||
void Scumm::beginOverride()
|
||||
{
|
||||
int idx;
|
||||
|
|
|
@ -876,11 +876,14 @@ void Scumm::o5_and()
|
|||
|
||||
void Scumm::o5_animateActor()
|
||||
{
|
||||
int act, anim;
|
||||
int act = getVarOrDirectByte(0x80);
|
||||
int anim = getVarOrDirectByte(0x40);
|
||||
|
||||
act = getVarOrDirectByte(0x80);
|
||||
anim = getVarOrDirectByte(0x40);
|
||||
animateActor(act, anim);
|
||||
Actor *a = derefActorSafe(act, "o5_animateActor");
|
||||
if (!a)
|
||||
return;
|
||||
|
||||
a->animateActor(anim);
|
||||
}
|
||||
|
||||
void Scumm::o5_badOpcode()
|
||||
|
|
|
@ -1429,7 +1429,11 @@ void Scumm::o6_animateActor()
|
|||
int anim = pop();
|
||||
int act = pop();
|
||||
|
||||
animateActor(act, anim);
|
||||
Actor *a = derefActorSafe(act, "o6_animateActor");
|
||||
if (!a)
|
||||
return;
|
||||
|
||||
a->animateActor(anim);
|
||||
}
|
||||
|
||||
void Scumm::o6_doSentence()
|
||||
|
|
1
scumm.h
1
scumm.h
|
@ -799,7 +799,6 @@ public:
|
|||
void processActors();
|
||||
int getActorFromPos(int x, int y);
|
||||
void faceActorToObj(int act, int obj);
|
||||
void animateActor(int act, int anim);
|
||||
void actorFollowCamera(int act);
|
||||
|
||||
bool isCostumeInUse(int i);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue