mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-25 22:07:34 +00:00
disabled a stone old hack; Ender, maybe you remember some details about this fix? anybody feel like playtesting the Mystery Vortex, please? :-)
svn-id: r10246
This commit is contained in:
parent
30e4785896
commit
47827b1f22
@ -404,16 +404,29 @@ void Actor::setupActorScale() {
|
||||
if (ignoreBoxes)
|
||||
return;
|
||||
|
||||
if (_vm->getBoxFlags(walkbox) & kBoxPlayerOnly)
|
||||
return;
|
||||
// FIXME: The following two lines we apparenly added to fix bug #551944,
|
||||
// which deals with "Script race in mystery vortex" in Sam&Max.
|
||||
// (this was added in the *old* CVS repository in rev 1.61 of actor.cpp).
|
||||
// The comment on that bug says: "Fixed by initial guesswork from jah.
|
||||
// Turned out we need to check the box locking state."
|
||||
// However:
|
||||
// 1) Contrary to the bug comment, this doesn't check the box locking flag
|
||||
// 2) For all Scumm versions from 1-5 this is definitely wrong
|
||||
// 3) I checked a Sam&Max IDA DB, and found no evidence for this either
|
||||
// 4) From a purely logical point of view (i.e. considering how actors,
|
||||
// scaling etc. work), this makes no sense either.
|
||||
//
|
||||
// Hence, I am hereby commenting out this code. It may cause regressions,
|
||||
// esp. in the Mystery Vortex; it would be very good if people could hence
|
||||
// playtest the Vortex. Should it turn out the Vortex needs this, we could
|
||||
// re-enable it, although it would be preferable to find a proper fix :-)
|
||||
// if (_vm->getBoxFlags(walkbox) & kBoxPlayerOnly)
|
||||
// return;
|
||||
|
||||
scale = _vm->getScale(walkbox, x, y);
|
||||
if (scale > 255) {
|
||||
warning("Actor %d at %d, scale %d out of range", number, y, scale);
|
||||
}
|
||||
assert(scale <= 0xFF);
|
||||
|
||||
scalex = (byte)scale;
|
||||
scaley = (byte)scale;
|
||||
scalex = scaley = (byte)scale;
|
||||
}
|
||||
|
||||
void Actor::startAnimActor(int f) {
|
||||
@ -1460,6 +1473,8 @@ void Actor::walkActorOld() {
|
||||
// Can't walk through locked boxes
|
||||
int flags = _vm->getBoxFlags(next_box);
|
||||
if (flags & kBoxLocked && !(flags & kBoxPlayerOnly && !isPlayer())) {
|
||||
// moving |= MF_LAST_LEG;
|
||||
// return;
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -148,6 +148,7 @@ public:
|
||||
void faceToObject(int obj);
|
||||
void turnToDirection(int newdir);
|
||||
void walkActor();
|
||||
void walkActorOld();
|
||||
void drawActorCostume();
|
||||
void animateCostume();
|
||||
void setActorCostume(int c);
|
||||
@ -163,7 +164,6 @@ public:
|
||||
void startAnimActor(int frame);
|
||||
|
||||
void remapActorPalette(int r_fact, int g_fact, int b_fact, int threshold);
|
||||
void walkActorOld();
|
||||
|
||||
void animateActor(int anim);
|
||||
|
||||
|
@ -973,7 +973,7 @@ int Scumm::defineArray(int array, int type, int dim2, int dim1) {
|
||||
int size;
|
||||
ArrayHeader *ah;
|
||||
|
||||
if (type != 5 && type != 4)
|
||||
if (type != 4)
|
||||
type = 5;
|
||||
|
||||
nukeArray(array);
|
||||
|
Loading…
x
Reference in New Issue
Block a user