diff options
| -rw-r--r-- | engines/kyra/animator_hof.cpp | 11 | ||||
| -rw-r--r-- | engines/kyra/animator_mr.cpp | 9 | ||||
| -rw-r--r-- | engines/kyra/kyra_hof.cpp | 6 | ||||
| -rw-r--r-- | engines/kyra/kyra_hof.h | 4 | ||||
| -rw-r--r-- | engines/kyra/kyra_mr.h | 2 | ||||
| -rw-r--r-- | engines/kyra/kyra_v2.h | 4 | ||||
| -rw-r--r-- | engines/kyra/resource.h | 8 | ||||
| -rw-r--r-- | engines/kyra/sequences_hof.cpp | 2 | ||||
| -rw-r--r-- | engines/kyra/staticres.cpp | 18 | 
9 files changed, 31 insertions, 33 deletions
| diff --git a/engines/kyra/animator_hof.cpp b/engines/kyra/animator_hof.cpp index 741e358143..5a2378f4d0 100644 --- a/engines/kyra/animator_hof.cpp +++ b/engines/kyra/animator_hof.cpp @@ -115,15 +115,14 @@ void KyraEngine_HoF::refreshAnimObjects(int force) {  void KyraEngine_HoF::updateItemAnimations() {  	bool nextFrame = false; -	if (_itemAnimData[0].itemIndex == -1 || _inventorySaved) +	if (_itemAnimDefinition[0].itemIndex == -1 || _inventorySaved)  		return; -	const ItemAnimData_v2 *s = &_itemAnimData[_nextAnimItem]; +	const ItemAnimDefinition *s = &_itemAnimDefinition[_nextAnimItem];  	ActiveItemAnim *a = &_activeItemAnim[_nextAnimItem]; -	_nextAnimItem = (_nextAnimItem + 1) % _itemAnimDataSize; +	_nextAnimItem = (_nextAnimItem + 1) % _itemAnimDefinitionSize; -	uint32 ctime = _system->getMillis(); -	if (ctime < a->nextFrame) +	if (_system->getMillis() < a->nextFrameTime)  		return;  	uint16 shpIdx = s->frames[a->currentFrame].index + 64; @@ -164,7 +163,7 @@ void KyraEngine_HoF::updateItemAnimations() {  	}  	if (nextFrame) { -		a->nextFrame = _system->getMillis() + (s->frames[a->currentFrame].delay * _tickLength); +		a->nextFrameTime = _system->getMillis() + (s->frames[a->currentFrame].delay * _tickLength);  		a->currentFrame = (a->currentFrame + 1) % s->numFrames;  	}  } diff --git a/engines/kyra/animator_mr.cpp b/engines/kyra/animator_mr.cpp index 31c5cd1a53..29fa3aba80 100644 --- a/engines/kyra/animator_mr.cpp +++ b/engines/kyra/animator_mr.cpp @@ -187,15 +187,14 @@ void KyraEngine_MR::refreshAnimObjects(int force) {  void KyraEngine_MR::updateItemAnimations() {  	bool nextFrame = false; -	if (_itemAnimData[0].itemIndex == -1) +	if (_itemAnimDefinition[0].itemIndex == -1)  		return; -	const ItemAnimData_v2 *s = &_itemAnimData[_nextAnimItem]; +	const ItemAnimDefinition *s = &_itemAnimDefinition[_nextAnimItem];  	ActiveItemAnim *a = &_activeItemAnim[_nextAnimItem];  	_nextAnimItem = (_nextAnimItem + 1) % 10; -	uint32 ctime = _system->getMillis(); -	if (ctime < a->nextFrame) +	if (_system->getMillis() < a->nextFrameTime)  		return;  	uint16 shpIdx = s->frames[a->currentFrame].index + 248; @@ -230,7 +229,7 @@ void KyraEngine_MR::updateItemAnimations() {  	}  	if (nextFrame) { -		a->nextFrame = _system->getMillis() + (s->frames[a->currentFrame].delay * _tickLength); +		a->nextFrameTime = _system->getMillis() + (s->frames[a->currentFrame].delay * _tickLength);  		a->currentFrame = (a->currentFrame + 1) % s->numFrames;  	}  } diff --git a/engines/kyra/kyra_hof.cpp b/engines/kyra/kyra_hof.cpp index c3c4e6083c..fd2c1870a8 100644 --- a/engines/kyra/kyra_hof.cpp +++ b/engines/kyra/kyra_hof.cpp @@ -88,7 +88,7 @@ KyraEngine_HoF::KyraEngine_HoF(OSystem *system, const GameFlags &flags) : KyraEn  	_currentTalkSections.ENDTim = 0;  	memset(&_invWsa, 0, sizeof(_invWsa)); -	_itemAnimData = 0; +	_itemAnimDefinition = 0;  	_demoAnimData = 0;  	_nextAnimItem = 0; @@ -211,8 +211,8 @@ void KyraEngine_HoF::pauseEngineIntern(bool pause) {  		_nextIdleAnim += pausedTime; -		for (int x = 0; x < _itemAnimDataSize; x++) -			_activeItemAnim[x].nextFrame += pausedTime; +		for (int x = 0; x < _itemAnimDefinitionSize; x++) +			_activeItemAnim[x].nextFrameTime += pausedTime;  		_tim->refreshTimersAfterPause(pausedTime);  	} diff --git a/engines/kyra/kyra_hof.h b/engines/kyra/kyra_hof.h index 4b8303b2e4..320f930b56 100644 --- a/engines/kyra/kyra_hof.h +++ b/engines/kyra/kyra_hof.h @@ -874,8 +874,8 @@ protected:  	const char * const *_ingameTimJpStr;  	int _ingameTimJpStrSize;  	const HofSeqData *_sequences; -	const ItemAnimData_v2 *_itemAnimData; -	int _itemAnimDataSize; +	const ItemAnimDefinition *_itemAnimDefinition; +	int _itemAnimDefinitionSize;  	const ItemAnimData_v1 *_demoAnimData;  	int _demoAnimSize; diff --git a/engines/kyra/kyra_mr.h b/engines/kyra/kyra_mr.h index 38ff271037..7c022534a2 100644 --- a/engines/kyra/kyra_mr.h +++ b/engines/kyra/kyra_mr.h @@ -219,7 +219,7 @@ private:  	bool _nextIdleType;  	void showIdleAnim(); -	const ItemAnimData_v2 *_itemAnimData; +	const ItemAnimDefinition *_itemAnimDefinition;  	ActiveItemAnim _activeItemAnim[10];  	int _nextAnimItem; diff --git a/engines/kyra/kyra_v2.h b/engines/kyra/kyra_v2.h index 3d7b9c4997..72d743710d 100644 --- a/engines/kyra/kyra_v2.h +++ b/engines/kyra/kyra_v2.h @@ -38,7 +38,7 @@ struct FrameControl {  	uint16 delay;  }; -struct ItemAnimData_v2 { +struct ItemAnimDefinition {  	Item itemIndex;  	uint8 numFrames;  	const FrameControl *frames; @@ -46,7 +46,7 @@ struct ItemAnimData_v2 {  struct ActiveItemAnim {  	uint16 currentFrame; -	uint32 nextFrame; +	uint32 nextFrameTime;  };  class Screen_v2; diff --git a/engines/kyra/resource.h b/engines/kyra/resource.h index 5b0af9840d..5de1577943 100644 --- a/engines/kyra/resource.h +++ b/engines/kyra/resource.h @@ -744,7 +744,7 @@ public:  	const Room *loadRoomTable(int id, int &entries);  	const HofSeqData *loadHofSequenceData(int id, int &entries);  	const ItemAnimData_v1 *loadShapeAnimData_v1(int id, int &entries); -	const ItemAnimData_v2 *loadShapeAnimData_v2(int id, int &entries); +	const ItemAnimDefinition *loadItemAnimDefinition(int id, int &entries);  #if defined(ENABLE_EOB) || defined(ENABLE_LOL)  	const uint16 *loadRawDataBe16(int id, int &entries);  	const uint32 *loadRawDataBe32(int id, int &entries); @@ -787,7 +787,7 @@ private:  	bool loadRoomTable(Common::SeekableReadStream &stream, void *&ptr, int &size);  	bool loadHofSequenceData(Common::SeekableReadStream &stream, void *&ptr, int &size);  	bool loadShapeAnimData_v1(Common::SeekableReadStream &stream, void *&ptr, int &size); -	bool loadShapeAnimData_v2(Common::SeekableReadStream &stream, void *&ptr, int &size); +	bool loadItemAnimDefinition(Common::SeekableReadStream &stream, void *&ptr, int &size);  #if defined(ENABLE_EOB) || defined(ENABLE_LOL)  	bool loadRawDataBe16(Common::SeekableReadStream &stream, void *&ptr, int &size);  	bool loadRawDataBe32(Common::SeekableReadStream &stream, void *&ptr, int &size); @@ -813,7 +813,7 @@ private:  	void freeRoomTable(void *&ptr, int &size);  	void freeHofSequenceData(void *&ptr, int &size);  	void freeHofShapeAnimDataV1(void *&ptr, int &size); -	void freeHofShapeAnimDataV2(void *&ptr, int &size); +	void freeItemAnimDefinition(void *&ptr, int &size);  #if defined(ENABLE_EOB) || defined(ENABLE_LOL)  	void freeRawDataBe16(void *&ptr, int &size);  	void freeRawDataBe32(void *&ptr, int &size); @@ -840,7 +840,7 @@ private:  		k2SeqData = 5,  		k2ShpAnimDataV1 = 6, -		k2ShpAnimDataV2 = 7, +		k2ItemAnimDefinition = 7,  		kLoLCharData = 8,  		kLoLSpellData = 9, diff --git a/engines/kyra/sequences_hof.cpp b/engines/kyra/sequences_hof.cpp index b27f0df137..2e5e20c02f 100644 --- a/engines/kyra/sequences_hof.cpp +++ b/engines/kyra/sequences_hof.cpp @@ -2773,7 +2773,7 @@ void KyraEngine_HoF::seq_init() {  		return;  	if (_flags.isDemo && !_flags.isTalkie) { -		_demoAnimData = _staticres->loadShapeAnimData_v1(k2SeqplayShapeAnimData, _itemAnimDataSize); +		_demoAnimData = _staticres->loadShapeAnimData_v1(k2SeqplayShapeAnimData, _itemAnimDefinitionSize);  		uint8 *shp = _res->fileData("icons.shp", 0);  		uint32 outsize = READ_LE_UINT16(shp + 4);  		_animShapeFiledata = new uint8[outsize]; diff --git a/engines/kyra/staticres.cpp b/engines/kyra/staticres.cpp index 6c95451c5f..99ad6ea7aa 100644 --- a/engines/kyra/staticres.cpp +++ b/engines/kyra/staticres.cpp @@ -247,7 +247,7 @@ bool StaticResource::init() {  		{ k2SeqData, proc(loadHofSequenceData), proc(freeHofSequenceData) },  		{ k2ShpAnimDataV1, proc(loadShapeAnimData_v1), proc(freeHofShapeAnimDataV1) }, -		{ k2ShpAnimDataV2, proc(loadShapeAnimData_v2), proc(freeHofShapeAnimDataV2) }, +		{ k2ItemAnimDefinition, proc(loadItemAnimDefinition), proc(freeItemAnimDefinition) },  #ifdef ENABLE_LOL  		{ kLoLCharData, proc(loadCharData), proc(freeCharData) }, @@ -316,8 +316,8 @@ const ItemAnimData_v1 *StaticResource::loadShapeAnimData_v1(int id, int &entries  	return (const ItemAnimData_v1 *)getData(id, k2ShpAnimDataV1, entries);  } -const ItemAnimData_v2 *StaticResource::loadShapeAnimData_v2(int id, int &entries) { -	return (const ItemAnimData_v2 *)getData(id, k2ShpAnimDataV2, entries); +const ItemAnimDefinition *StaticResource::loadItemAnimDefinition(int id, int &entries) { +	return (const ItemAnimDefinition *)getData(id, k2ItemAnimDefinition, entries);  }  bool StaticResource::prefetchId(int id) { @@ -610,9 +610,9 @@ bool StaticResource::loadShapeAnimData_v1(Common::SeekableReadStream &stream, vo  	return true;  } -bool StaticResource::loadShapeAnimData_v2(Common::SeekableReadStream &stream, void *&ptr, int &size) { +bool StaticResource::loadItemAnimDefinition(Common::SeekableReadStream &stream, void *&ptr, int &size) {  	size = stream.readByte(); -	ItemAnimData_v2 *loadTo = new ItemAnimData_v2[size]; +	ItemAnimDefinition *loadTo = new ItemAnimDefinition[size];  	assert(loadTo);  	for (int i = 0; i < size; i++) { @@ -699,8 +699,8 @@ void StaticResource::freeHofShapeAnimDataV1(void *&ptr, int &size) {  	size = 0;  } -void StaticResource::freeHofShapeAnimDataV2(void *&ptr, int &size) { -	ItemAnimData_v2 *d = (ItemAnimData_v2 *)ptr; +void StaticResource::freeItemAnimDefinition(void *&ptr, int &size) { +	ItemAnimDefinition *d = (ItemAnimDefinition *)ptr;  	for (int i = 0; i < size; i++)  		delete[] d[i].frames;  	delete[] d; @@ -1007,7 +1007,7 @@ void KyraEngine_HoF::initStaticResource() {  	_cdaTrackTableFinale = _staticres->loadRawData(k2SeqplayFinaleCDA, _cdaTrackTableFinaleSize);  	_ingameTalkObjIndex = (const uint16 *)_staticres->loadRawData(k2IngameTalkObjIndex, _ingameTalkObjIndexSize);  	_ingameTimJpStr = _staticres->loadStrings(k2IngameTimJpStrings, _ingameTimJpStrSize); -	_itemAnimData = _staticres->loadShapeAnimData_v2(k2IngameShapeAnimData, _itemAnimDataSize); +	_itemAnimDefinition = _staticres->loadItemAnimDefinition(k2IngameShapeAnimData, _itemAnimDefinitionSize);  	// replace sequence talkie files with localized versions  	const char *const *seqSoundList = _staticres->loadStrings(k2SeqplaySfxFiles, _sequenceSoundListSize); @@ -1143,7 +1143,7 @@ void KyraEngine_MR::initStaticResource() {  	_scoreTable = _staticres->loadRawData(k3ScoreTable, _scoreTableSize);  	_sfxFileList = _staticres->loadStrings(k3SfxFiles, _sfxFileListSize);  	_sfxFileMap = _staticres->loadRawData(k3SfxMap, _sfxFileMapSize); -	_itemAnimData = _staticres->loadShapeAnimData_v2(k3ItemAnimData, tmp); +	_itemAnimDefinition = _staticres->loadItemAnimDefinition(k3ItemAnimData, tmp);  	_itemMagicTable = _staticres->loadRawData(k3ItemMagicTable, tmp);  	_itemStringMap = _staticres->loadRawData(k3ItemStringMap, _itemStringMapSize);  } | 
