Skip to content

Commit

Permalink
ACCESS: Add some more Demo opcodes
Browse files Browse the repository at this point in the history
  • Loading branch information
Strangerke authored and dreammaster committed Dec 13, 2014
1 parent e35e6df commit 7571fdd
Show file tree
Hide file tree
Showing 3 changed files with 111 additions and 10 deletions.
8 changes: 6 additions & 2 deletions engines/access/amazon/amazon_scripts.cpp
Expand Up @@ -472,8 +472,12 @@ void AmazonScripts::cmdCycleBack() {
_vm->_screen->cyclePaletteBackwards();
}
void AmazonScripts::cmdChapter() {
int chapter = _data->readByte();
_game->startChapter(chapter);
if (_vm->isDemo()) {
cmdSetHelp();
} else {
int chapter = _data->readByte();
_game->startChapter(chapter);
}
}

void AmazonScripts::cmdSetHelp() {
Expand Down
100 changes: 92 additions & 8 deletions engines/access/scripts.cpp
Expand Up @@ -114,24 +114,24 @@ void Scripts::executeCommand(int commandIndex) {
&Scripts::cmdJumpUse, &Scripts::cmdJumpTalk, &Scripts::cmdNull,
&Scripts::cmdPrint, &Scripts::cmdRetPos, &Scripts::cmdAnim,
&Scripts::cmdSetFlag, &Scripts::cmdCheckFlag, &Scripts::cmdGoto,
&Scripts::cmdSetInventory, &Scripts::cmdSetInventory, &Scripts::cmdCheckInventory,
&Scripts::cmdAddScore, &Scripts::cmdSetInventory, &Scripts::cmdCheckInventory,
&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::cmdSetAbout,
&Scripts::cmdSetTimer, &Scripts::cmdCheckTimer, &Scripts::cmdSetTravel,
&Scripts::cmdSetTravel, &Scripts::cmdSetVideo, &Scripts::cmdPlayVideo,
&Scripts::cmdJumpGoto, &Scripts::cmdSetVideo, &Scripts::cmdPlayVideo,
&Scripts::cmdPlotImage, &Scripts::cmdSetDisplay, &Scripts::cmdSetBuffer,
&Scripts::cmdSetScroll, &Scripts::cmdVideoEnded, &Scripts::cmdVideoEnded,
&Scripts::cmdSetScroll, &Scripts::cmdSaveRect, &Scripts::cmdVideoEnded,
&Scripts::cmdSetBufVid, &Scripts::cmdPlayBufVid, &Scripts::cmdRemoveLast,
&Scripts::cmdSpecial, &Scripts::cmdSpecial, &Scripts::cmdSpecial,
&Scripts::cmdDoTravel, &Scripts::cmdCheckAbout, &Scripts::cmdSpecial,
&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::cmdFreeSound, &Scripts::cmdSetVideoSound, &Scripts::cmdPlayVideoSound,
&Scripts::CMDPUSHLOCATION, &Scripts::CMDPUSHLOCATION, &Scripts::CMDPUSHLOCATION,
&Scripts::CMDPUSHLOCATION, &Scripts::CMDPUSHLOCATION, &Scripts::cmdPlayerOff,
&Scripts::cmdPrintWatch, &Scripts::cmdDispAbout, &Scripts::CMDPUSHLOCATION,
&Scripts::cmdCheckTravel, &Scripts::cmdBlock, &Scripts::cmdPlayerOff,
&Scripts::cmdPlayerOn, &Scripts::cmdDead, &Scripts::cmdFadeOut,
&Scripts::cmdEndVideo
};
Expand Down Expand Up @@ -263,6 +263,15 @@ void Scripts::cmdGoto() {
searchForSequence();
}

void Scripts::cmdAddScore() {
if (_vm->isCD()) {
cmdSetInventory();
return;
}

_data->skip(1);
}

void Scripts::cmdSetInventory() {
int itemId = _data->readByte();
int itemVal = _data->readByte();
Expand Down Expand Up @@ -400,6 +409,15 @@ void Scripts::cmdDispInv() {
_vm->_inventory->newDisplayInv();
}

void Scripts::cmdSetAbout() {
if (_vm->isCD()) {
cmdSetTimer();
return;
}

error("TODO: DEMO - cmdSetAbout");
}

void Scripts::cmdSetTimer() {
int idx = _data->readUint16LE();
int val = _data->readUint16LE();
Expand Down Expand Up @@ -439,6 +457,14 @@ void Scripts::cmdCheckTimer() {
}

void Scripts::cmdSetTravel() {
if (_vm->isCD()) {
cmdJumpGoto();
return;
}
error("TODO: DEMO - cmdSetTravel");
}

void Scripts::cmdJumpGoto() {
if (_vm->_room->_selectCommand == 5)
cmdGoto();
else
Expand Down Expand Up @@ -486,6 +512,14 @@ void Scripts::cmdSetScroll() {
_vm->_screen->_scrollY = 0;
}

void Scripts::cmdSaveRect() {
if (_vm->isCD()) {
cmdVideoEnded();
return;
}
error("TODO: DEMO - cmdSaveRect");
}

void Scripts::cmdVideoEnded() {
_vm->_events->pollEvents();

Expand Down Expand Up @@ -515,6 +549,22 @@ void Scripts::cmdRemoveLast() {
--_vm->_numAnimTimers;
}

void Scripts::cmdDoTravel() {
if (_vm->isCD()) {
cmdSpecial();
return;
}
error("TODO: DEMO - cmdDoTravel");
}

void Scripts::cmdCheckAbout() {
if (_vm->isCD()) {
cmdSpecial();
return;
}
error("TODO: DEMO - cmdCheckAbout");
}

void Scripts::cmdSpecial() {
_specialFunction = _data->readUint16LE();
int p1 = _data->readUint16LE();
Expand Down Expand Up @@ -774,7 +824,41 @@ void Scripts::cmdPlayVideoSound() {
g_system->delayMillis(10);
}

void Scripts::CMDPUSHLOCATION() { error("TODO CMDPUSHLOCATION"); }
void Scripts::cmdPrintWatch() {
if (_vm->isCD()) {
CMDPUSHLOCATION();
return;
}
error("TODO: DEMO - cmdPrintWatch");
}

void Scripts::cmdDispAbout() {
if (_vm->isCD()) {
CMDPUSHLOCATION();
return;
}
error("TODO: DEMO - cmdDispAbout");
}

void Scripts::CMDPUSHLOCATION() {
error("TODO CMDPUSHLOCATION");
}

void Scripts::cmdCheckTravel() {
if (_vm->isCD()) {
CMDPUSHLOCATION();
return;
}
error("TODO: DEMO - cmdCheckTravel");
}

void Scripts::cmdBlock() {
if (_vm->isCD()) {
CMDPUSHLOCATION();
return;
}
error("TODO: DEMO - cmdBlock");
}

void Scripts::cmdPlayerOff() {
_vm->_player->_playerOff = true;
Expand Down
13 changes: 13 additions & 0 deletions engines/access/scripts.h
Expand Up @@ -71,6 +71,7 @@ class Scripts: public Manager {
*/
void cmdGoto();

void cmdAddScore();
void cmdSetInventory();
void cmdCheckInventory();
void cmdSetTex();
Expand All @@ -83,19 +84,24 @@ class Scripts: public Manager {
void cmdCheckLoc();
void cmdSetAnim();
void cmdDispInv();
void cmdSetAbout();
void cmdSetTimer();
void cmdCheckTimer();
void cmdJumpGoto();
void cmdSetTravel();
void cmdSetVideo();
void cmdPlayVideo();
void cmdPlotImage();
void cmdSetDisplay();
void cmdSetBuffer();
void cmdSetScroll();
void cmdSaveRect();
void cmdVideoEnded();
void cmdSetBufVid();
void cmdPlayBufVid();
void cmdRemoveLast();
void cmdDoTravel();
void cmdCheckAbout();
void cmdSpecial();
void cmdSetCycle();
void cmdCycle();
Expand All @@ -111,12 +117,19 @@ class Scripts: public Manager {
void cmdLoadSound();
void cmdSetVideoSound();
void cmdPlayVideoSound();
void cmdPrintWatch();
void cmdDispAbout();
void CMDPUSHLOCATION();
void cmdCheckTravel();
void cmdBlock();
void cmdPlayerOff();
void cmdPlayerOn();
void cmdDead();
void cmdFadeOut();
void cmdEndVideo();
void cmdHelp();
void cmdCycleBack();
void cmdSetHelp();
public:
int _sequence;
bool _endFlag;
Expand Down

0 comments on commit 7571fdd

Please sign in to comment.