Add a few more actor debugger subcommands, and correct V2 coordinate translation for
o2_(get/set)ActorElevation svn-id: r8683
This commit is contained in:
parent
2c9a784be8
commit
00d5c5af89
3 changed files with 26 additions and 5 deletions
|
@ -40,7 +40,7 @@ void Scumm_v2::setupOpcodes() {
|
|||
/* 04 */
|
||||
OPCODE(o5_isGreaterEqual),
|
||||
OPCODE(o2_drawObject),
|
||||
OPCODE(o5_getActorElevation),
|
||||
OPCODE(o2_getActorElevation),
|
||||
OPCODE(o2_setState08),
|
||||
/* 08 */
|
||||
OPCODE(o5_isNotEqual),
|
||||
|
@ -200,7 +200,7 @@ void Scumm_v2::setupOpcodes() {
|
|||
/* 84 */
|
||||
OPCODE(o5_isGreaterEqual),
|
||||
OPCODE(o2_drawObject),
|
||||
OPCODE(o5_getActorElevation),
|
||||
OPCODE(o2_getActorElevation),
|
||||
OPCODE(o2_setState08),
|
||||
/* 88 */
|
||||
OPCODE(o5_isNotEqual),
|
||||
|
@ -1060,12 +1060,19 @@ void Scumm_v2::o2_putActorAtObject() {
|
|||
a->putActor(x, y, a->room);
|
||||
}
|
||||
|
||||
void Scumm_v2::o2_getActorElevation() {
|
||||
getResultPos();
|
||||
int act = getVarOrDirectByte(0x80);
|
||||
Actor *a = derefActor(act, "o2_getActorElevation");
|
||||
setResult(a->elevation / 2);
|
||||
}
|
||||
|
||||
void Scumm_v2::o2_setActorElevation() {
|
||||
int act = getVarOrDirectByte(0x80);
|
||||
int elevation = getVarOrDirectByte(0x40);
|
||||
|
||||
Actor *a = derefActor(act, "o2_setActorElevation");
|
||||
a->elevation = elevation;
|
||||
a->elevation = elevation * 2;
|
||||
}
|
||||
|
||||
void Scumm_v2::o2_animateActor() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue