Fixed actor scalling in Zak and indy3

svn-id: r3590
This commit is contained in:
Vincent Hamm 2002-02-15 13:11:51 +00:00
parent 771b8e6089
commit 535c12ebfb
4 changed files with 15 additions and 4 deletions

View file

@ -303,6 +303,12 @@ void Scumm::setupActorScale(Actor *a) {
byte *resptr; byte *resptr;
int y; int y;
if (_features & GF_NO_SCALLING) {
a->scalex = 0xFF;
a->scaley = 0xFF;
return;
}
if (a->ignoreBoxes != 0) if (a->ignoreBoxes != 0)
return; return;

View file

@ -112,7 +112,7 @@ void Scumm::setupOpcodes() {
&Scumm::o5_getActorX, &Scumm::o5_getActorX,
/* 44 */ /* 44 */
&Scumm::o5_isLess, &Scumm::o5_isLess,
&Scumm::o5_badOpcode, &Scumm::o5_drawObject,
&Scumm::o5_increment, &Scumm::o5_increment,
&Scumm::o5_setState, &Scumm::o5_setState,
/* 48 */ /* 48 */
@ -1213,6 +1213,10 @@ void Scumm::o5_getActorRoom() {
} }
void Scumm::o5_getActorScale() { void Scumm::o5_getActorScale() {
if(_gameId == GID_INDY3_256) {
getVarOrDirectByte(0x80); /*FIXME: missing stuff here*/
return;
}
getResultPos(); getResultPos();
setResult(derefActorSafe(getVarOrDirectByte(0x80),"o5_getActorScale")->scalex); setResult(derefActorSafe(getVarOrDirectByte(0x80),"o5_getActorScale")->scalex);
} }

View file

@ -933,6 +933,7 @@ enum GameFeatures {
GF_16COLOR = 256, GF_16COLOR = 256,
GF_OLD256 = 512, GF_OLD256 = 512,
GF_AUDIOTRACKS = 1024, GF_AUDIOTRACKS = 1024,
GF_NO_SCALLING = 2048,
}; };
struct ScummDebugger; struct ScummDebugger;

View file

@ -435,9 +435,9 @@ static const VersionSettings version_settings[] = {
// {"indy3", "Indiana Jones and the Last Crusade", GID_INDY3, 2, 0, 0,}, // {"indy3", "Indiana Jones and the Last Crusade", GID_INDY3, 2, 0, 0,},
/* Scumm Version 3 */ /* Scumm Version 3 */
{"indy3", "Indiana Jones and the Last Crusade (256)", GID_INDY3_256, 3, 0, 22, GF_SMALL_HEADER|GF_USE_KEY|GF_SMALL_NAMES|GF_OLD256}, {"indy3", "Indiana Jones and the Last Crusade (256)", GID_INDY3_256, 3, 0, 22, GF_SMALL_HEADER|GF_USE_KEY|GF_SMALL_NAMES|GF_OLD256|GF_NO_SCALLING},
{"zak256", "Zak McKracken and the Alien Mindbenders (256)",GID_ZAK256, 3, 0, 0, GF_SMALL_HEADER|GF_USE_KEY|GF_SMALL_NAMES|GF_OLD256|GF_AUDIOTRACKS}, {"zak256", "Zak McKracken and the Alien Mindbenders (256)",GID_ZAK256, 3, 0, 0, GF_SMALL_HEADER|GF_USE_KEY|GF_SMALL_NAMES|GF_OLD256|GF_AUDIOTRACKS|GF_NO_SCALLING},
{"loom", "Loom", GID_LOOM, 3, 5, 40, GF_SMALL_HEADER|GF_USE_KEY|GF_SMALL_NAMES|GF_OLD_BUNDLE|GF_16COLOR}, {"loom", "Loom", GID_LOOM, 3, 5, 40, GF_SMALL_HEADER|GF_USE_KEY|GF_SMALL_NAMES|GF_OLD_BUNDLE|GF_16COLOR|GF_NO_SCALLING},
/* Scumm Version 4 */ /* Scumm Version 4 */
{"monkeyEGA", "Monkey Island 1 (EGA)", GID_MONKEY_EGA, 4, 0, 67, GF_SMALL_HEADER|GF_USE_KEY|GF_16COLOR}, // EGA version {"monkeyEGA", "Monkey Island 1 (EGA)", GID_MONKEY_EGA, 4, 0, 67, GF_SMALL_HEADER|GF_USE_KEY|GF_16COLOR}, // EGA version