Fixed actor scalling in Zak and indy3
svn-id: r3590
This commit is contained in:
parent
771b8e6089
commit
535c12ebfb
4 changed files with 15 additions and 4 deletions
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
1
scumm.h
1
scumm.h
|
@ -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;
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue