diff options
| -rw-r--r-- | TODO | 10 | ||||
| -rw-r--r-- | scumm/actor.cpp | 4 | ||||
| -rw-r--r-- | scumm/actor.h | 2 | ||||
| -rw-r--r-- | scumm/akos.cpp | 6 | ||||
| -rw-r--r-- | scumm/base-costume.h | 4 | ||||
| -rw-r--r-- | scumm/script_v100he.cpp | 2 | ||||
| -rw-r--r-- | scumm/script_v72he.cpp | 2 | 
7 files changed, 17 insertions, 13 deletions
| @@ -259,9 +259,11 @@ SCUMM    - Add rename/delete file support, to make file opcodes function correctly    - Fix nukeArrays, it is nuking wrong arrays in stopObjectCode() sometimes  * Humongous entertainment >= v7 titles: -  - Add support for song sync. in HE80+ games. -  - Add support for additional sound resources -  - Add support for sprites (Used by HE90+ games) +  - Add support for palette slots (_numPalettes * 1024) in HE99+ games.(For ff5demo/freddicove) +  - Add mask support to akos codec32, charset shouldn't be drawn under moving actors +  - Add support for song sync. in HE80+ games. (Used in ff2-demo/freddi2/pajama) +  - Add support for SBNG sound resources for songs ^ +  - Add support for sprites (Used by all HE90+ games, especially Spy Fox games)    - Add support for wizImage compression types 2/3 (For freddicove)    - Add support for additional drawWizImage flags (cyx)    - Add support for additional aux animation resources (cyx) @@ -269,7 +271,7 @@ SCUMM    - Add shadows support for akos codecs in HE90+ games, uses XMAP resources.    - Add addtional arrayOps cases (For smaller/lost).    - Add support for array sorting (Need to find where it is used). -  - Fix actor glitches in HE90+ games +  - Fix actor glitches in pajama2    - Fix array issues in Buzzy games (Kirben)    - Fix inventory background/items disappearing in puttzoo/zoodemo/putttime/timedemo    - Add support for various new opcodes diff --git a/scumm/actor.cpp b/scumm/actor.cpp index 34166f86b8..0546b64f1d 100644 --- a/scumm/actor.cpp +++ b/scumm/actor.cpp @@ -144,7 +144,7 @@ void Actor::initActor(int mode) {  	_clipOverride = _vm->_actorClipOverride;  	auxBlock.visible = false; -	transparency = 0; +	paletteNum = 0;  	_vm->_classData[number] = (_vm->_version >= 7) ? _vm->_classData[0] : 0;  } @@ -1080,7 +1080,7 @@ void Actor::drawActorCostume(bool hitTestMode) {  	bcr->_draw_bottom = 0;  	bcr->_skipLimb = (skipLimb != 0); -	bcr->_transparency = transparency; +	bcr->_paletteNum = paletteNum;  	if (_vm->_heversion >= 80 && talkUnk == 0) {  		condMask &= 0xFFFFFC00; diff --git a/scumm/actor.h b/scumm/actor.h index f79aaaca9f..9544b21dc5 100644 --- a/scumm/actor.h +++ b/scumm/actor.h @@ -134,7 +134,7 @@ public:  	CostumeData cost;  	uint32 condMask;  	bool talkUnk; -	byte transparency; +	byte paletteNum;  	AuxBlock auxBlock;  	struct { diff --git a/scumm/akos.cpp b/scumm/akos.cpp index ef64113cc7..08683c1992 100644 --- a/scumm/akos.cpp +++ b/scumm/akos.cpp @@ -300,8 +300,10 @@ void AkosRenderer::setPalette(byte *new_palette) {  		palette[i] = new_palette[i] != 0xFF ? new_palette[i] : akpl[i];  	} -	if (_transparency) -		palette[0] = _transparency; +	if (_paletteNum) { +		// TODO +		// Sets palette number to use for actor palette +	}  	if (_vm->_heversion == 70 && size) {  		for (i = 0; i < size; i++) diff --git a/scumm/base-costume.h b/scumm/base-costume.h index 1ad9f3f5c8..57ba3b884f 100644 --- a/scumm/base-costume.h +++ b/scumm/base-costume.h @@ -62,7 +62,7 @@ public:  	byte _scaleX, _scaleY;  	int _draw_top, _draw_bottom; -	byte _transparency; +	byte _paletteNum;  	bool _skipLimb;  	bool _actorDrawVirScr; @@ -117,7 +117,7 @@ public:  		_mirror = false;  		_width = _height = 0;  		_skipLimb = 0; -		_transparency = 0; +		_paletteNum = 0;  	}  	virtual void setPalette(byte *palette) = 0; diff --git a/scumm/script_v100he.cpp b/scumm/script_v100he.cpp index 92ba728f55..8743c4bde2 100644 --- a/scumm/script_v100he.cpp +++ b/scumm/script_v100he.cpp @@ -473,7 +473,7 @@ void ScummEngine_v100he::o100_actorOps() {  		a->_layer = -pop();  		break;  	case 63: -		a->transparency = pop(); +		a->paletteNum = pop();  		break;  	case 65:		// SO_SCALE  		i = pop(); diff --git a/scumm/script_v72he.cpp b/scumm/script_v72he.cpp index 3846ea334a..24cf111a95 100644 --- a/scumm/script_v72he.cpp +++ b/scumm/script_v72he.cpp @@ -1193,7 +1193,7 @@ void ScummEngine_v72he::o72_actorOps() {  		a->charset = pop();  		break;  	case 175:		// HE 99+ -		a->transparency = pop(); +		a->paletteNum = pop();  		break;  	case 198:		// SO_ACTOR_VARIABLE  		i = pop(); | 
