Skip to content

Commit

Permalink
AGI: stub for AGI1 newRoom()
Browse files Browse the repository at this point in the history
  • Loading branch information
sev- committed Dec 5, 2015
1 parent 1779fba commit e215a75
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 25 deletions.
20 changes: 15 additions & 5 deletions engines/agi/cycle.cpp
Expand Up @@ -84,13 +84,23 @@ void AgiEngine::newRoom(int n) {
break;
}

_game.vars[vBorderTouchEgo] = 0;
setflag(fNewRoomExec, true);
if (getVersion() < 0x2000) {
warning("STUB: NewRoom(%d)", n);

_game.exitAllLogics = true;
v->flags &= ~fDidntMove;
// animateObject(0);
agiLoadResource(rVIEW, _game.viewTable[0].currentView);
setView(&_game.viewTable[0], _game.viewTable[0].currentView);

writeStatus();
writePrompt();
} else {
_game.vars[vBorderTouchEgo] = 0;
setflag(fNewRoomExec, true);

_game.exitAllLogics = true;

writeStatus();
writePrompt();
}
}

void AgiEngine::resetControllers() {
Expand Down
16 changes: 0 additions & 16 deletions engines/agi/op_cmd.cpp
Expand Up @@ -1711,22 +1711,6 @@ void cmdCallV1(AgiGame *state, uint8 *p) {
_v[13] = 1;
}

void cmdNewRoomV1(AgiGame *state, uint8 *p) {
warning("cmdNewRoomV1()");
state->_vm->agiLoadResource(rLOGIC, p0);
state->max_logics = 1;
state->logic_list[1] = p0;
_v[13] = 1;
}

void cmdNewRoomVV1(AgiGame *state, uint8 *p) {
warning("cmdNewRoomVV1()");
state->_vm->agiLoadResource(rLOGIC, _v[p0]);
state->max_logics = 1;
state->logic_list[1] = _v[p0];
_v[13] = 1;
}

void cmdUnknown(AgiGame *state, uint8 *p) {
warning("Skipping unknown opcode %2X", *(code + ip - 1));
}
Expand Down
4 changes: 2 additions & 2 deletions engines/agi/opcodes.cpp
Expand Up @@ -60,7 +60,7 @@ AgiInstruction insV1[] = {
{ "subv", "vv", &cmdSubV }, // 08
{ "load.view", "n", &cmdLoadView }, // 09
{ "animate.obj", "n", &cmdAnimateObj }, // 0A
{ "new.room", "n", &cmdNewRoomV1 }, // 0B
{ "new.room", "n", &cmdNewRoom }, // 0B
{ "draw.pic", "v", &cmdDrawPicV1 }, // 0C
{ "print", "s", &cmdPrint }, // 0D TODO
{ "status", "", &cmdStatus }, // 0E TODO
Expand Down Expand Up @@ -112,7 +112,7 @@ AgiInstruction insV1[] = {
{ "set.v", "v", &cmdSetV }, // 3C
{ "reset.v", "v", &cmdResetV }, // 3D
{ "toggle.v", "v", &cmdToggleV }, // 3E
{ "new.room.v", "v", &cmdNewRoomVV1 }, // 3F TODO
{ "new.room.v", "v", &cmdNewRoom }, // 3F
{ "call", "n", &cmdCallV1 }, // 40 TODO
{ "quit", "", &cmdQuitV1 }, // 41
{ "set.speed", "v", &cmdSetSpeed }, // 42
Expand Down
2 changes: 0 additions & 2 deletions engines/agi/opcodes.h
Expand Up @@ -237,8 +237,6 @@ void cmdAdjEgoMoveToXY(AgiGame *state, uint8 *p);
void cmdSetSpeed(AgiGame *state, uint8 *p);
void cmdSetItemView(AgiGame *state, uint8 *p);
void cmdCallV1(AgiGame *state, uint8 *p);
void cmdNewRoomV1(AgiGame *state, uint8 *p);
void cmdNewRoomVV1(AgiGame *state, uint8 *p);
void cmdUnknown(AgiGame *state, uint8 *p);

void condEqual(AgiGame *state, uint8 *p);
Expand Down

0 comments on commit e215a75

Please sign in to comment.