diff options
| author | Travis Howell | 2007-06-04 08:56:00 +0000 | 
|---|---|---|
| committer | Travis Howell | 2007-06-04 08:56:00 +0000 | 
| commit | 6dd52b592e9e9bf09fa558132b16ca25c8fa0b1c (patch) | |
| tree | 42919d2900f802982dd7cf8cc84b67e8f0a25084 | |
| parent | 78c9061cff0a67fd5f146934d0edf8298f91936e (diff) | |
| download | scummvm-rg350-6dd52b592e9e9bf09fa558132b16ca25c8fa0b1c.tar.gz scummvm-rg350-6dd52b592e9e9bf09fa558132b16ca25c8fa0b1c.tar.bz2 scummvm-rg350-6dd52b592e9e9bf09fa558132b16ca25c8fa0b1c.zip | |
Fix inventory arrows in Amiga OCS version of Simon the Sorcerer 1.
svn-id: r27079
| -rw-r--r-- | engines/agos/icons.cpp | 20 | 
1 files changed, 17 insertions, 3 deletions
| diff --git a/engines/agos/icons.cpp b/engines/agos/icons.cpp index e01d10a1c4..6b968711e3 100644 --- a/engines/agos/icons.cpp +++ b/engines/agos/icons.cpp @@ -704,10 +704,24 @@ void AGOSEngine_Simon1::addArrows(WindowBlock *window) {  	ha->verb = 1;  	if (getFeatures() & GF_32COLOR) { -		// TODO: Manually draws arrows +		_lockWord |= 0x8; + +		VgaPointersEntry *vpe = &_vgaBufferPointers[1]; +		byte *curVgaFile2Orig = _curVgaFile2; +		uint16 windowNumOrig = _windowNum; + + +		_windowNum = 0; +		_curVgaFile2 = vpe->vgaFile2; +		drawImage_init(1, 15, 38, 150, 4); + +		_curVgaFile2 = curVgaFile2Orig; +		_windowNum = windowNumOrig; + +		_lockWord &= ~0x8;  	} else {  		stopAnimate(128); -		uint8 palette = (getPlatform() == Common::kPlatformAmiga) ? 15: 14; +		uint8 palette = (getPlatform() == Common::kPlatformAmiga) ? 15 : 14;  		animate(0, 1, 128, 0, 0, palette);  	}  } @@ -809,7 +823,7 @@ void AGOSEngine::addArrows(WindowBlock *window) {  void AGOSEngine::removeArrows(WindowBlock *window, uint num) {  	if (getGameType() == GType_SIMON1) {  		if (getFeatures() & GF_32COLOR) { -			// TODO: Manually removes arrows +			restoreBlock(200, 320, 146, 304);  		} else {  			stopAnimate(129);  			uint8 palette = (getPlatform() == Common::kPlatformAmiga) ? 15: 14; | 
