Skip to content

Commit

Permalink
ACCESS: Implement some opcodes
Browse files Browse the repository at this point in the history
  • Loading branch information
Strangerke committed Aug 17, 2014
1 parent 1ab8940 commit 3e61eb9
Show file tree
Hide file tree
Showing 5 changed files with 43 additions and 13 deletions.
6 changes: 6 additions & 0 deletions engines/access/access.cpp
Expand Up @@ -84,6 +84,9 @@ AccessEngine::AccessEngine(OSystem *syst, const AccessGameDescription *gameDesc)
Common::fill(&_help1[0], &_help1[366], 0);
Common::fill(&_help2[0], &_help2[366], 0);
Common::fill(&_help1[0], &_help3[366], 0);
_helpTbl[0] = _help1;
_helpTbl[1] = _help2;
_helpTbl[2] = _help3;
_travel = 0;
_ask = 0;
_rScrollRow = 0;
Expand Down Expand Up @@ -221,6 +224,9 @@ void AccessEngine::doEstablish(int v1, int v2) {
_buffer2.copyBuffer(_screen);
}

_room->setIconPalette();
_screen->forceFadeIn();

warning("TODO: doEstablish");
}

Expand Down
1 change: 1 addition & 0 deletions engines/access/access.h
Expand Up @@ -163,6 +163,7 @@ class AccessEngine : public Engine {
byte _help1[366];
byte _help2[366];
byte _help3[366];
byte *_helpTbl[3];
int _travel;
int _ask;
int _rScrollRow;
Expand Down
3 changes: 1 addition & 2 deletions engines/access/room.h
Expand Up @@ -120,8 +120,6 @@ class Room: public Manager {

virtual void reloadRoom1() = 0;

virtual void setIconPalette() {}

virtual void doCommands();

virtual void roomMenu() = 0;
Expand Down Expand Up @@ -159,6 +157,7 @@ class Room: public Manager {

void init4Quads();

virtual void setIconPalette() {}
void placeBubble();
void placeBubble1();

Expand Down
38 changes: 31 additions & 7 deletions engines/access/scripts.cpp
Expand Up @@ -93,7 +93,7 @@ void Scripts::executeCommand(int commandIndex) {
&Scripts::CMDSETTEX, &Scripts::CMDNEWROOM, &Scripts::CMDCONVERSE,
&Scripts::cmdCheckFrame, &Scripts::cmdCheckAnim, &Scripts::cmdSnd,
&Scripts::cmdRetNeg, &Scripts::cmdRetPos, &Scripts::cmdCheckLoc,
&Scripts::cmdSetAnim, &Scripts::CMDDISPINV, &Scripts::CMDSETTIMER,
&Scripts::cmdSetAnim, &Scripts::cmdDispInv, &Scripts::CMDSETTIMER,
&Scripts::CMDSETTIMER, &Scripts::CMDCHECKTIMER, &Scripts::cmdSetTravel,
&Scripts::cmdSetTravel, &Scripts::CMDSETVID, &Scripts::CMDPLAYVID,
&Scripts::cmdPlotImage, &Scripts::cmdSetDisplay, &Scripts::cmdSetBuffer,
Expand All @@ -103,13 +103,13 @@ void Scripts::executeCommand(int commandIndex) {
&Scripts::CMDSETCYCLE, &Scripts::CMDCYCLE, &Scripts::CMDCHARSPEAK,
&Scripts::CMDTEXSPEAK, &Scripts::CMDTEXCHOICE, &Scripts::CMDWAIT,
&Scripts::CMDSETCONPOS, &Scripts::CMDCHECKVFRAME, &Scripts::cmdJumpChoice,
&Scripts::cmdReturnChoice, &Scripts::CMDCLEARBLOCK, &Scripts::CMDLOADSOUND,
&Scripts::cmdReturnChoice, &Scripts::cmdClearBlock, &Scripts::CMDLOADSOUND,
&Scripts::CMDFREESOUND, &Scripts::CMDSETVIDSND, &Scripts::CMDPLAYVIDSND,
&Scripts::CMDPUSHLOCATION, &Scripts::CMDPUSHLOCATION, &Scripts::CMDPUSHLOCATION,
&Scripts::CMDPUSHLOCATION, &Scripts::CMDPUSHLOCATION, &Scripts::cmdPlayerOff,
&Scripts::cmdPlayerOn, &Scripts::CMDDEAD, &Scripts::cmdFadeOut,
&Scripts::CMDENDVID, &Scripts::CMDHELP, &Scripts::CMDCYCLEBACK,
&Scripts::CMDCHAPTER, &Scripts::CMDSETHELP, &Scripts::CMDCENTERPANEL,
&Scripts::CMDCHAPTER, &Scripts::cmdSetHelp, &Scripts::cmdCenterPanel,
&Scripts::cmdMainPanel, &Scripts::CMDRETFLASH
};

Expand Down Expand Up @@ -296,7 +296,10 @@ void Scripts::cmdSetAnim() {
_vm->_animation->setAnimTimer(anim);
}

void Scripts::CMDDISPINV() { error("TODO CMDDISPINV"); }
void Scripts::cmdDispInv() {
_vm->_inventory->newDisplayInv();
}

void Scripts::CMDSETTIMER() { error("TODO CMDSETTIMER"); }
void Scripts::CMDCHECKTIMER() { error("TODO CMDCHECKTIMER"); }

Expand Down Expand Up @@ -388,7 +391,10 @@ void Scripts::cmdReturnChoice() {
_data->seek(_choiceStart);
}

void Scripts::CMDCLEARBLOCK() { error("TODO CMDCLEARBLOCK"); }
void Scripts::cmdClearBlock() {
_vm->_screen->restoreBlock();
}

void Scripts::CMDLOADSOUND() { error("TODO CMDLOADSOUND"); }
void Scripts::CMDFREESOUND() { error("TODO CMDFREESOUND"); }
void Scripts::CMDSETVIDSND() { error("TODO CMDSETVIDSND"); }
Expand All @@ -413,8 +419,26 @@ void Scripts::CMDENDVID() { error("TODO CMDENDVID"); }
void Scripts::CMDHELP() { error("TODO CMDHELP"); }
void Scripts::CMDCYCLEBACK() { error("TODO CMDCYCLEBACK"); }
void Scripts::CMDCHAPTER() { error("TODO CMDCHAPTER"); }
void Scripts::CMDSETHELP() { error("TODO CMDSETHELP"); }
void Scripts::CMDCENTERPANEL() { error("TODO CMDCENTERPANEL"); }

void Scripts::cmdSetHelp() {
int arrayId = (_data->readUint16LE() && 0xFF) - 1;
int helpId = _data->readUint16LE() && 0xFF;

byte *help = _vm->_helpTbl[arrayId];
help[helpId] = 1;

if (_vm->_useItem == 0) {
_sequence = 11000;
searchForSequence();
}
}

void Scripts::cmdCenterPanel() {
if (_vm->_screen->_vesaMode) {
_vm->_screen->clearScreen();
_vm->_screen->setPanel(3);
}
}

void Scripts::cmdMainPanel() {
if (_vm->_screen->_vesaMode) {
Expand Down
8 changes: 4 additions & 4 deletions engines/access/scripts.h
Expand Up @@ -74,7 +74,7 @@ class Scripts {
void cmdRetNeg();
void cmdCheckLoc();
void cmdSetAnim();
void CMDDISPINV();
void cmdDispInv();
void CMDSETTIMER();
void CMDCHECKTIMER();
void cmdSetTravel();
Expand All @@ -99,7 +99,7 @@ class Scripts {
void CMDCHECKVFRAME();
void cmdJumpChoice();
void cmdReturnChoice();
void CMDCLEARBLOCK();
void cmdClearBlock();
void CMDLOADSOUND();
void CMDFREESOUND();
void CMDSETVIDSND();
Expand All @@ -113,8 +113,8 @@ class Scripts {
void CMDHELP();
void CMDCYCLEBACK();
void CMDCHAPTER();
void CMDSETHELP();
void CMDCENTERPANEL();
void cmdSetHelp();
void cmdCenterPanel();
void cmdMainPanel();
void CMDRETFLASH();
public:
Expand Down

0 comments on commit 3e61eb9

Please sign in to comment.