diff options
| author | johndoe123 | 2011-07-14 13:51:45 +0000 | 
|---|---|---|
| committer | Willem Jan Palenstijn | 2013-05-08 20:38:48 +0200 | 
| commit | db9e45706caa2a4d2eddcb0c63532b3f6429a73e (patch) | |
| tree | 350334eaf22ec48fb9f16025458776f820f41009 /engines/neverhood/staticdata.cpp | |
| parent | 78365121ea9931eb5973c2dcc0cae278fcc6a58d (diff) | |
| download | scummvm-rg350-db9e45706caa2a4d2eddcb0c63532b3f6429a73e.tar.gz scummvm-rg350-db9e45706caa2a4d2eddcb0c63532b3f6429a73e.tar.bz2 scummvm-rg350-db9e45706caa2a4d2eddcb0c63532b3f6429a73e.zip | |
NEVERHOOD: More work on Scene1002
- Implement NavigationMouse and NavigationLists
- Some renaming
Diffstat (limited to 'engines/neverhood/staticdata.cpp')
| -rw-r--r-- | engines/neverhood/staticdata.cpp | 27 | 
1 files changed, 27 insertions, 0 deletions
| diff --git a/engines/neverhood/staticdata.cpp b/engines/neverhood/staticdata.cpp index b9ac232707..42af4975ea 100644 --- a/engines/neverhood/staticdata.cpp +++ b/engines/neverhood/staticdata.cpp @@ -104,6 +104,27 @@ void StaticData::load(const char *filename) {  		_hitRectLists[id] = hitRectList;  	} +	// Load navigation lists +	uint32 navigationListsCount = fd.readUint32LE(); +	debug("navigationListsCount: %d", navigationListsCount); +	for (uint32 i = 0; i < navigationListsCount; i++) { +		NavigationList *navigationList = new NavigationList(); +		uint32 id = fd.readUint32LE(); +		uint32 itemCount = fd.readUint32LE(); +		for (uint32 itemIndex = 0; itemIndex < itemCount; itemIndex++) { +			NavigationItem navigationItem; +			navigationItem.fileHash = fd.readUint32LE(); +			navigationItem.leftSmackerFileHash = fd.readUint32LE(); +			navigationItem.rightSmackerFileHash = fd.readUint32LE(); +			navigationItem.middleSmackerFileHash = fd.readUint32LE(); +			navigationItem.interactive = fd.readByte(); +			navigationItem.middleFlag = fd.readByte(); +			navigationItem.mouseCursorFileHash = fd.readUint32LE(); +			navigationList->push_back(navigationItem); +		} +		_navigationLists[id] = navigationList; +	} +  }  HitRectList *StaticData::getHitRectList(uint32 id) { @@ -124,4 +145,10 @@ MessageList *StaticData::getMessageList(uint32 id) {  	return _messageLists[id];  } +NavigationList *StaticData::getNavigationList(uint32 id) { +	if (!_navigationLists[id]) +		error("StaticData::getNavigationList() NavigationList with id %08X not found", id); +	return _navigationLists[id]; +} +  } // End of namespace Neverhood | 
