diff --git a/delink/make_symboltable.sh b/delink/make_symboltable.sh index dbb4cf5..d105d3c 100755 --- a/delink/make_symboltable.sh +++ b/delink/make_symboltable.sh @@ -9,11 +9,18 @@ main() { >symboltable.tsv # Create/truncate output file - while IFS=, read -r name location type; do # Iterate over rows + while IFS=, read -r location namespace name type; do # Iterate rows # Determine symbol type (skip if unrecognized, e.g. header row) - if [ "$type" == '"Function"' ]; then type_out=f - elif [ "$type" == '"Data Label"' ]; then type_out=l - else continue + if [ "$type" = '"Function"' ]; then type_out=f + elif [ "$type" = '"Data Label"' ]; then type_out=l + else continue + fi + + # Add namespace prefix if not in global namespace + if [ "$namespace" = '"Global"' ]; then namespace_out= + else + namespace_out=${namespace#'"'} + namespace_out=${namespace_out%'"'}:: fi # Strip quotes from other columns @@ -21,7 +28,8 @@ main() { location_out=${location#'"'}; location_out=${location_out%'"'} # Output row - printf '%s\t%s\t%s\n' "$name_out" "$location_out" "$type_out"\ + printf '%s\t%s\t%s\n'\ + "$namespace_out$name_out" "$location_out" "$type_out"\ >> symboltable.tsv done < $1 diff --git a/delink/symboltable.tsv b/delink/symboltable.tsv index 94b9f94..386d737 100644 --- a/delink/symboltable.tsv +++ b/delink/symboltable.tsv @@ -1,155 +1,156 @@ -~GameObj 00011000 f -recursiveExecDefault 00011070 f -drawListDefault 000110a0 f -drawTreeDefault1 00011220 f -drawTreeDefault2 00011260 f -recursiveExecEvent 000112a0 f -drawListEvent 000112d0 f -drawTreeEvent1 00011450 f -drawTreeEvent2 00011490 f -recursiveExecCoveredPause 000114d0 f -drawListCoveredPause 00011500 f -drawTreeCoveredPause1 00011680 f -drawTreeCoveredPause2 000116c0 f -recursiveExecFreezeCam 00011700 f -drawListFreezeCam 00011730 f -drawTreeFreezeCam1 000118b0 f -drawTreeFreezeCam2 000118f0 f -recursiveExecUncoveredPause 00011930 f -drawListUncoveredPause 00011960 f -drawTreeUncoveredPause1 00011ae0 f -drawTreeUncoveredPause2 00011b20 f -addToSiblings 00011b60 f -destructChildren 00011b90 f -getParent 00011bd0 f -removeFromObjList 00011be0 f -removeChildrenFromObjList 00011c20 f -nopMethod1Arg 00011c80 f -nopMethod0Arg 00011c90 f -copySomeVectors 00011ca0 f -`scalar_deleting_destructor' 00011ce0 f -recursivePostExecDefault 00011d00 f -recursivePostExecEvent 00011da0 f -recursivePostExecCoveredPause 00011e40 f -recursivePostExecFreezeCam 00011ee0 f -recursivePostExecUncoveredPause 00011f80 f -setParent 00012020 f -GameObj 00012100 f -DrawTree 00012170 f -`scalar_deleting_destructor' 000121b0 f -PlayerObj 000121e0 f -Game 00012210 f -~Game 00012390 f -exec 000123e0 f -drawObj 00012580 f -drawList_ 000125e0 f -drawTree1 00012680 f -setCoveredPauseNextFrame 000126d0 f -setEventNextFrame 000126f0 f -setFreezeCamNextFrame 00012710 f -setUncoveredPauseNextFrame 00012730 f -enableDrawChildren 00012750 f -enableSkipDraw 00012760 f -fatal 00012770 f -setDrawMode 000127b0 f -setGlobal 000127c0 f -getGlobal 000127e0 f -addToDrawList 000127f0 f -removeFromDrawList 00012840 f -setObj 00012870 f -unsetObj 00012890 f -getObj 000128c0 f -allocObjIndex 000128e0 f -objIndexAvail 00012910 f -swapObjs 00012930 f -clearScreen 00012980 f -enableSomeExtraDrawListCode 000129b0 f -setLogosStarted 000129c0 f -clearDrawPriorityList 000129d0 f -getDrawPriorityListHead 000129f0 f -appendToDrawPriorityList 00012a00 f -sortDrawPriorityListSingleLevel 00012a20 f -setFallbackBgColour 00012ac0 f -RootExecObj 00012ae0 f -~RootExecObj 00012be0 f -`scalar_deleting_destructor' 00012bf0 f -initRootExecObj 00012c10 f -drawList 00012c80 f -sortDrawPriorityList 000131a0 f -`scalar_deleting_destructor' 000131d0 f -drawObjs 000131f0 f -draw 00013930 f -frame 00013a80 f -mainLoop 00013f80 f +GameObj::~GameObj 00011000 f +GameObj::recursiveExecDefault 00011070 f +GameObj::drawListDefault 000110a0 f +GameObj::drawTreeDefault1 00011220 f +GameObj::drawTreeDefault2 00011260 f +GameObj::recursiveExecEvent 000112a0 f +GameObj::drawListEvent 000112d0 f +GameObj::drawTreeEvent1 00011450 f +GameObj::drawTreeEvent2 00011490 f +GameObj::recursiveExecCoveredPause 000114d0 f +GameObj::drawListCoveredPause 00011500 f +GameObj::drawTreeCoveredPause1 00011680 f +GameObj::drawTreeCoveredPause2 000116c0 f +GameObj::recursiveExecFreezeCam 00011700 f +GameObj::drawListFreezeCam 00011730 f +GameObj::drawTreeFreezeCam1 000118b0 f +GameObj::drawTreeFreezeCam2 000118f0 f +GameObj::recursiveExecUncoveredPause 00011930 f +GameObj::drawListUncoveredPause 00011960 f +GameObj::drawTreeUncoveredPause1 00011ae0 f +GameObj::drawTreeUncoveredPause2 00011b20 f +GameObj::addToSiblings 00011b60 f +GameObj::destructChildren 00011b90 f +GameObj::getParent 00011bd0 f +GameObj::removeFromObjList 00011be0 f +GameObj::removeChildrenFromObjList 00011c20 f +GameObj::nopMethod1Arg 00011c80 f +GameObj::nopMethod0Arg 00011c90 f +DrawTree::copySomeVectors 00011ca0 f +GameObj::`scalar_deleting_destructor' 00011ce0 f +GameObj::recursivePostExecDefault 00011d00 f +GameObj::recursivePostExecEvent 00011da0 f +GameObj::recursivePostExecCoveredPause 00011e40 f +GameObj::recursivePostExecFreezeCam 00011ee0 f +GameObj::recursivePostExecUncoveredPause 00011f80 f +GameObj::setParent 00012020 f +GameObj::GameObj 00012100 f +DrawTree::DrawTree 00012170 f +DrawTree::`scalar_deleting_destructor' 000121b0 f +DrawTree::~DrawTree 000121d0 f +PlayerObj::PlayerObj 000121e0 f +Game::Game 00012210 f +Game::~Game 00012390 f +Game::exec 000123e0 f +Game::drawObj 00012580 f +Game::drawList_ 000125e0 f +Game::drawTree1 00012680 f +Game::setCoveredPauseNextFrame 000126d0 f +Game::setEventNextFrame 000126f0 f +Game::setFreezeCamNextFrame 00012710 f +Game::setUncoveredPauseNextFrame 00012730 f +Game::enableDrawChildren 00012750 f +Game::enableSkipDraw 00012760 f +Game::fatal 00012770 f +Game::setDrawMode 000127b0 f +Game::setGlobal 000127c0 f +Game::getGlobal 000127e0 f +Game::addToDrawList 000127f0 f +Game::removeFromDrawList 00012840 f +Game::setObj 00012870 f +Game::unsetObj 00012890 f +Game::getObj 000128c0 f +Game::allocObjIndex 000128e0 f +Game::objIndexAvail 00012910 f +Game::swapObjs 00012930 f +Game::clearScreen 00012980 f +Game::enableSomeExtraDrawListCode 000129b0 f +Game::setLogosStarted 000129c0 f +Game::clearDrawPriorityList 000129d0 f +Game::getDrawPriorityListHead 000129f0 f +Game::appendToDrawPriorityList 00012a00 f +Game::sortDrawPriorityListSingleLevel 00012a20 f +Game::setFallbackBgColour 00012ac0 f +RootExecObj::RootExecObj 00012ae0 f +RootExecObj::~RootExecObj 00012be0 f +Game::`scalar_deleting_destructor' 00012bf0 f +Game::initRootExecObj 00012c10 f +Game::drawList 00012c80 f +Game::sortDrawPriorityList 000131a0 f +RootExecObj::`scalar_deleting_destructor' 000131d0 f +Game::drawObjs 000131f0 f +Game::draw 00013930 f +Game::frame 00013a80 f +Game::mainLoop 00013f80 f removeFromObjListByIndex 00013fc0 f -getChapter 000149d0 f -getMissionDigits34 000149e0 f -~UnknownStatic02 00015110 f -CollisionManager 00016040 f -~CollisionManager 00016160 f -reset 000161b0 f -registerStageCollisions 00016200 f -registerStageGrindPath 00016220 f -registerObjectCollisions 00016240 f -addQuery 00016260 f -addColliderSphereQuery 000162a0 f -addColliderCylinderQuery 000162e0 f -addColliderBoxQuery 00016320 f +GameData::getChapter 000149d0 f +GameData::getMissionDigits34 000149e0 f +UnknownStatic02::~UnknownStatic02 00015110 f +CollisionManager::CollisionManager 00016040 f +CollisionManager::~CollisionManager 00016160 f +CollisionManager::reset 000161b0 f +CollisionManager::registerStageCollisions 00016200 f +CollisionManager::registerStageGrindPath 00016220 f +CollisionManager::registerObjectCollisions 00016240 f +CollisionManager::addQuery 00016260 f +CollisionManager::addColliderSphereQuery 000162a0 f +CollisionManager::addColliderCylinderQuery 000162e0 f +CollisionManager::addColliderBoxQuery 00016320 f makeAABB 00017d90 f setupSphereCollider 00019570 f setupCylinderCollider 000195f0 f createColliderSphere 00019680 f createColliderCylinder 000196f0 f -freeCollider 00019760 f -~UnknownObj_0x1289 0001da20 f -draw 0001daa0 f -UnknownObj_0x1289 0001daf0 f -_~UnknownObj_0x1289 0001dc00 f -~UnknownStatic04 0001dde0 f -~UnknownStatic05 0001e0b0 f -~CopSpawnView 0001e140 f -freezeCamDraw 0001e1a0 f -CopSpawnView 0001e280 f -_~CopSpawnView 0001e3a0 f +CollisionManager::freeCollider 00019760 f +UnknownObj_0x1289::~UnknownObj_0x1289 0001da20 f +UnknownObj_0x1289::draw 0001daa0 f +UnknownObj_0x1289::UnknownObj_0x1289 0001daf0 f +UnknownObj_0x1289::_~UnknownObj_0x1289 0001dc00 f +UnknownStatic04::~UnknownStatic04 0001dde0 f +UnknownStatic05::~UnknownStatic05 0001e0b0 f +CopSpawnView::~CopSpawnView 0001e140 f +DrawTree::freezeCamDraw 0001e1a0 f +CopSpawnView::CopSpawnView 0001e280 f +CopSpawnView::_~CopSpawnView 0001e3a0 f createCopSpawnView 0001e460 f -EventChild2 0001e540 f -endEvent_MAYBE 0001e8c0 f -~EventChild2 00022990 f -draw 000232a0 f -_~EventChild2 00023380 f -exec 00023790 f -~EventChild1 000239d0 f -draw 00023f20 f -EventChild1 00024150 f -_~EventChild1 00024220 f -Event 00024240 f -~Event 00024330 f +EventChild2::EventChild2 0001e540 f +EventChild2::endEvent_MAYBE 0001e8c0 f +EventChild2::~EventChild2 00022990 f +EventChild2::draw 000232a0 f +EventChild2::_~EventChild2 00023380 f +EventChild2::exec 00023790 f +EventChild1::~EventChild1 000239d0 f +EventChild1::draw 00023f20 f +EventChild1::EventChild1 00024150 f +EventChild1::_~EventChild1 00024220 f +Event::Event 00024240 f +Event::~Event 00024330 f virtualFree 000243b0 f -_~Event 000243d0 f -~UnknownAllocated_0x6 000243f0 f -draw 00024400 f -setSomething 00024480 f +Event::_~Event 000243d0 f +UnknownObj_0x6::~UnknownAllocated_0x6 000243f0 f +UnknownObj_0x6::draw 00024400 f +UnknownObj_0x6::setSomething 00024480 f setUnknownAllocated_0x6Something 00024600 f setUnknownAllocated_0x6SomethingElse 00024620 f getSomeUnknownAllocated_0x6Field 00024650 f -UnknownObj_0x6 00024670 f -_~UnknownAllocated_0x6 000246e0 f -exec 00024700 f -_~UnknownStatic06 00024c70 f -CacheBuilder_MAYBE 00024c90 f -~CacheBuilder_MAYBE 00024cf0 f -heldPathExists 00024e10 f -writeCacheCheckpoint 00024e70 f +UnknownObj_0x6::UnknownObj_0x6 00024670 f +UnknownObj_0x6::_~UnknownAllocated_0x6 000246e0 f +UnknownObj_0x6::exec 00024700 f +UnknownStatic06::_~UnknownStatic06 00024c70 f +CacheBuilder_MAYBE::CacheBuilder_MAYBE 00024c90 f +CacheBuilder_MAYBE::~CacheBuilder_MAYBE 00024cf0 f +CacheBuilder_MAYBE::heldPathExists 00024e10 f +CacheBuilder_MAYBE::writeCacheCheckpoint 00024e70 f checkCacheCheckpoint 00024ef0 f -initCache 00024f50 f -setCacheCounter 00024fd0 f -zeroCacheBuilderField 00025000 f -_~CacheBuilder_MAYBE 00025020 f -buildCache 00025040 f -readCurrentFile 00025310 f -initFile 00025390 f -someCreatingAndWritingFile_MAYBE 00025400 f -createDirectoryInCache 00025640 f +buildCacheIfNeeded 00024f50 f +activateCacheBuilder 00024fd0 f +deactivateCacheBuilder 00025000 f +CacheBuilder_MAYBE::_~CacheBuilder_MAYBE 00025020 f +CacheBuilder_MAYBE::execDefault 00025040 f +FileManager::readCurrentFile 00025310 f +FileManager::initFile 00025390 f +FileManager::someCreatingAndWritingFile_MAYBE 00025400 f +FileManager::createDirectoryInCache 00025640 f readPending_MAYBE 00025680 f initFile 000256a0 f checkFile 000256c0 f @@ -157,24 +158,27 @@ getFile 00025700 f freeFile 00025740 f fileExists 00025770 f getSomeFileManagerField 000257b0 f -FileManager 000257d0 f -readFromPath 00025dd0 f +FileManager::FileManager 000257d0 f +FileManager::readFromPath 00025dd0 f initFileManager 00026010 f freeCurrentFile 00026080 f -~FileManager 000260d0 f -_~FileManager 00026150 f -readUnknown 00026170 f -readCache 000262b0 f -readDmCache 000263c0 f -freeDmCacheTable_MAYBE 000265a0 f -readCarObj 00026780 f -initEnding 00027860 f -getEnding 000278b0 f -readEnding 00027b00 f -initEnemy 00027d40 f -readEnemy 00028500 f -initEvent 00028b80 f -checkEvent 00028c10 f +FileManager::~FileManager 000260d0 f +FileManager::_~FileManager 00026150 f +FileManager::readUnknown 00026170 f +FileManager::readCacheTable 000262b0 f +FileManager::checkCacheTable 00026390 f +FileManager::getCacheTable 000263a0 f +FileManager::readDmCacheTable 000263c0 f +FileManager::initCache 000264d0 f +FileManager::freeDmCacheTable_MAYBE 000265a0 f +FileManager::readCarObj 00026780 f +FileManager::initEnding 00027860 f +FileManager::getEnding 000278b0 f +FileManager::readEnding 00027b00 f +FileManager::initEnemy 00027d40 f +FileManager::readEnemy 00028500 f +FileManager::initEvent 00028b80 f +FileManager::checkEvent 00028c10 f parseEventDatScene 00028c60 f parseEventDatDialogue 00029f50 f parseEventDatModels 0002a2b0 f @@ -184,253 +188,253 @@ parseEventDatSection08 0002a7d0 f parseEventDatTextures 0002a940 f findInEventMappingArray 0002abc0 f parseEventDatEffects 0002abf0 f -readEvent 0002ad60 f -readMarkFontOrDefault 0002c040 f -readGarage 0002c360 f -readMarkDefault 0002d080 f -readMarkPressOrTex 0002dbe0 f -readMark 0002ed30 f -readMisc 00030120 f -initMissionBin 00030490 f -readMissionBin 000304f0 f -checkMissionBin 00030630 f -getMissionBin 00030660 f -freeMissionBin 000307a0 f -readMissionDat 00030850 f -readPeople 00031160 f -readCurrentPlayer 000320a0 f -readPlayer 00032c70 f +FileManager::readEvent 0002ad60 f +FileManager::readMarkFontOrDefault 0002c040 f +FileManager::readGarage 0002c360 f +FileManager::readMarkDefault 0002d080 f +FileManager::readMarkPressOrTex 0002dbe0 f +FileManager::readMark 0002ed30 f +FileManager::readMisc 00030120 f +FileManager::initMissionBin 00030490 f +FileManager::readMissionBin 000304f0 f +FileManager::checkMissionBin 00030630 f +FileManager::getMissionBin 00030660 f +FileManager::freeMissionBin 000307a0 f +FileManager::readMissionDat 00030850 f +FileManager::readPeople 00031160 f +FileManager::readCurrentPlayer 000320a0 f +FileManager::readPlayer 00032c70 f methodReturnTrue 00033800 f -initProgress 00033870 f -getProgress 000338a0 f -readProgress 00033a80 f -readCharIcon 00033c50 f -readCurrentCharIcon_MAYBE 00034200 f -readSprNorm 000348a0 f -readMap 00035640 f -makeStagePath 00036210 f -readStage_MAYBE1 00036280 f -deleteLinkedListNode_MAYBE 000365c0 f -readStage_MAYBE2 00036640 f -readEffect 000370a0 f -readStageObj 00037550 f -initTalkEvent 00038460 f +FileManager::initProgress 00033870 f +FileManager::getProgress 000338a0 f +FileManager::readProgress 00033a80 f +FileManager::readCharIcon 00033c50 f +FileManager::readCurrentCharIcon_MAYBE 00034200 f +FileManager::readSprNorm 000348a0 f +FileManager::readMap 00035640 f +FileManager::makeStagePath 00036210 f +FileManager::readStage_MAYBE1 00036280 f +FileManager::deleteLinkedListNode_MAYBE 000365c0 f +FileManager::readStage_MAYBE2 00036640 f +FileManager::readEffect 000370a0 f +FileManager::readStageObj 00037550 f +FileManager::initTalkEvent 00038460 f parseTalkEvent 00038530 f -readTalkEvent 00038890 f -readMarkTex 00038df0 f -initTitle 00038eb0 f -getTitle 00038ee0 f -readTitle 00039410 f -initLogo 00039740 f -checkLogo 00039760 f -getLogo 00039770 f -readLogo 00039850 f -~UnknownStatic07 00039b30 f -checkFlagCondition 00039b50 f -writeStateFlag 00039be0 f -incrementChapter 00039c70 f -setMissionDigits34 00039c80 f -setSpawnPosIndex 00039c90 f -getSpawnPosIndex 00039ca0 f -unlockCharacter 00039cb0 f -lockCharacter 00039cf0 f -characterUnlocked 00039d10 f -checkFlagConditions 00039d40 f -writeStateFlags 00039d80 f -checkFlagConditionUnpacked 00039db0 f -writeStateFlagUnpacked 00039de0 f -setSoulSpawned 00039e10 f -getSoulSpawned 00039e40 f -setSoulCollected 00039e80 f -getSoulHeld 00039eb0 f -soulSpawnedUncollected 00039ef0 f -clearHeldSouls 00039f40 f -restoreHeldSouls 00039f60 f -getSoulCount 00039fd0 f -getTotalSoulsInStage 0003a0a0 f -getHeldSoulsInStage 0003a130 f -getSoulCollectedBySize 0003a2b0 f -setUnusedPerStageBitmask 0003a2f0 f -getTagState 0003a340 f -setTagState 0003a3a0 f -setTagCovered 0003a400 f -setVolumeSettings 0003a4a0 f -getVolumeSettings 0003a4c0 f -setRumbleEnabled 0003a4e0 f -getRumbleEnabled 0003a4f0 f -setGarageMusic 0003a500 f -getGarageMusic 0003a510 f -setUnusedBitfield 0003a520 f -setMiscObjective 0003a550 f -getMiscObjective 0003a580 f -countMiscObjectives 0003a5c0 f -getHighScore 0003a690 f -incrementTimer 0003a750 f -getTimer 0003a780 f -setTimer 0003a7b0 f -setSelectedTag 0003a7f0 f -getSelectedTag 0003a820 f -setCustomTagSelected 0003a840 f -getCustomTagSelected 0003a870 f -setEventSeen 0003a890 f -eventSeen 0003a8c0 f -incrementPlaytime 0003a900 f -getSaveDataSize 0003a910 f -decrypt 0003a920 f -encrypt 0003ab60 f -getSaveDescription 0003ae00 f -clearStateFlags 0003ae20 f -resetTimer 0003aea0 f -GameData 0003aed0 f -resetSelectedTags 0003b3c0 f -resetExceptSettingsAndSouls 0003b420 f -resetExceptSettingsAndHighScores 0003b5a0 f -resetExceptSettings 0003b640 f -stash 0003b680 f -stashRestoreExceptSpecialFlags 0003b6a0 f -stashRestoreExceptHighScores 0003b6f0 f -stashRestore 0003b790 f -`scalar_deleting_destructor' 0003b7c0 f -addHighScore 0003b7e0 f -UnknownAllocated_0x1166 0003c150 f -~TextRenderer_MAYBE 0003c2b0 f -draw 0003c310 f -_~TextRenderer_MAYBE 0003ca00 f -drawText 0003d170 f -drawTextEx 0003d210 f +FileManager::readTalkEvent 00038890 f +FileManager::readMarkTex 00038df0 f +FileManager::initTitle 00038eb0 f +FileManager::getTitle 00038ee0 f +FileManager::readTitle 00039410 f +FileManager::initLogo 00039740 f +FileManager::checkLogo 00039760 f +FileManager::getLogo 00039770 f +FileManager::readLogo 00039850 f +UnknownStatic07::~UnknownStatic07 00039b30 f +GameData::checkFlagCondition 00039b50 f +GameData::writeStateFlag 00039be0 f +GameData::incrementChapter 00039c70 f +GameData::setMissionDigits34 00039c80 f +GameData::setSpawnPosIndex 00039c90 f +GameData::getSpawnPosIndex 00039ca0 f +GameData::unlockCharacter 00039cb0 f +GameData::lockCharacter 00039cf0 f +GameData::characterUnlocked 00039d10 f +GameData::checkFlagConditions 00039d40 f +GameData::writeStateFlags 00039d80 f +GameData::checkFlagConditionUnpacked 00039db0 f +GameData::writeStateFlagUnpacked 00039de0 f +GameData::setSoulSpawned 00039e10 f +GameData::getSoulSpawned 00039e40 f +GameData::setSoulCollected 00039e80 f +GameData::getSoulHeld 00039eb0 f +GameData::soulSpawnedUncollected 00039ef0 f +GameData::clearHeldSouls 00039f40 f +GameData::restoreHeldSouls 00039f60 f +GameData::getSoulCount 00039fd0 f +GameData::getTotalSoulsInStage 0003a0a0 f +GameData::getHeldSoulsInStage 0003a130 f +GameData::getSoulCollectedBySize 0003a2b0 f +GameData::setUnusedPerStageBitmask 0003a2f0 f +GameData::getTagState 0003a340 f +GameData::setTagState 0003a3a0 f +GameData::setTagCovered 0003a400 f +GameData::setVolumeSettings 0003a4a0 f +GameData::getVolumeSettings 0003a4c0 f +GameData::setRumbleEnabled 0003a4e0 f +GameData::getRumbleEnabled 0003a4f0 f +GameData::setGarageMusic 0003a500 f +GameData::getGarageMusic 0003a510 f +GameData::setUnusedBitfield 0003a520 f +GameData::setMiscObjective 0003a550 f +GameData::getMiscObjective 0003a580 f +GameData::countMiscObjectives 0003a5c0 f +GameData::getHighScore 0003a690 f +GameData::incrementTimer 0003a750 f +GameData::getTimer 0003a780 f +GameData::setTimer 0003a7b0 f +GameData::setSelectedTag 0003a7f0 f +GameData::getSelectedTag 0003a820 f +GameData::setCustomTagSelected 0003a840 f +GameData::getCustomTagSelected 0003a870 f +GameData::setEventSeen 0003a890 f +GameData::eventSeen 0003a8c0 f +GameData::incrementPlaytime 0003a900 f +GameData::getSaveDataSize 0003a910 f +GameData::decrypt 0003a920 f +GameData::encrypt 0003ab60 f +GameData::getSaveDescription 0003ae00 f +GameData::clearStateFlags 0003ae20 f +GameData::resetTimer 0003aea0 f +GameData::GameData 0003aed0 f +GameData::resetSelectedTags 0003b3c0 f +GameData::resetExceptSettingsAndSouls 0003b420 f +GameData::resetExceptSettingsAndHighScores 0003b5a0 f +GameData::resetExceptSettings 0003b640 f +GameData::stash 0003b680 f +GameData::stashRestoreExceptSpecialFlags 0003b6a0 f +GameData::stashRestoreExceptHighScores 0003b6f0 f +GameData::stashRestore 0003b790 f +GameData::`scalar_deleting_destructor' 0003b7c0 f +GameData::addHighScore 0003b7e0 f +TextRenderer_MAYBE::UnknownAllocated_0x1166 0003c150 f +TextRenderer_MAYBE::~TextRenderer_MAYBE 0003c2b0 f +TextRenderer_MAYBE::draw 0003c310 f +TextRenderer_MAYBE::_~TextRenderer_MAYBE 0003ca00 f +TextRenderer_MAYBE::drawText 0003d170 f +TextRenderer_MAYBE::drawTextEx 0003d210 f drawText 0003d5d0 f drawTextEx 0003d610 f -~MissionManagerChild_0xE7 0003e420 f -setColour 0003e430 f -setAmbientColour 0003e440 f -MissionManagerChild_0xE7 0003e5f0 f -_~MissionManagerChild_0xE7 0003e640 f -draw 0003e660 f -UnknownStatic09 0003e690 f -getNTagsFinished 0003e7a0 f +MissionManagerChild_0xE7::~MissionManagerChild_0xE7 0003e420 f +MissionManagerChild_0xE7::setColour 0003e430 f +MissionManagerChild_0xE7::setAmbientColour 0003e440 f +MissionManagerChild_0xE7::MissionManagerChild_0xE7 0003e5f0 f +MissionManagerChild_0xE7::_~MissionManagerChild_0xE7 0003e640 f +MissionManagerChild_0xE7::draw 0003e660 f +UnknownStatic09::UnknownStatic09 0003e690 f +UnknownStatic09::getNTagsFinished 0003e7a0 f tagsCleared 0003e8b0 f -setTwoFields 0003e9a0 f -~UnknownStatic09 0003ee70 f -~GraffitiSoulSpawnView_MAYBE 00042820 f -GraffitiSoulSpawnView_MAYBE 00042b00 f -_~GraffitiSoulSpawnView_MAYBE 00042c20 f -~PickupList 000432e0 f -get 00043700 f -PickupList 00043c00 f -_~PickupList 00043ea0 f +UnknownStatic09::setTwoFields 0003e9a0 f +UnknownStatic09::~UnknownStatic09 0003ee70 f +GraffitiSoulSpawnView_MAYBE::~GraffitiSoulSpawnView_MAYBE 00042820 f +GraffitiSoulSpawnView_MAYBE::GraffitiSoulSpawnView_MAYBE 00042b00 f +GraffitiSoulSpawnView_MAYBE::_~GraffitiSoulSpawnView_MAYBE 00042c20 f +PickupList::~PickupList 000432e0 f +Language::get 00043700 f +PickupList::PickupList 00043c00 f +PickupList::_~PickupList 00043ea0 f spawnPickupList 00044740 f -EventChild1Child 000461b0 f -~EventChild1Child 00046310 f -_~EventChild1Child 00046650 f +EventChild1Child::EventChild1Child 000461b0 f +EventChild1Child::~EventChild1Child 00046310 f +EventChild1Child::_~EventChild1Child 00046650 f getUnknownStatic13PartDefault 00046920 f getBlocksNeeded 00046b60 f saveGame 00046e20 f -_~Progress 00047550 f -Progress 00048100 f -~Progress 0004a6c0 f +Progress::_~Progress 00047550 f +Progress::Progress 00048100 f +Progress::~Progress 0004a6c0 f someVecsDirectionCheck 0004a6f0 f xyToAngle 0004a7a0 f -Mission 0004a910 f -FUN_00052088 0004ac50 f -playVictoryDance 0004b010 f -waitForSomething 0004c070 f -showTextForFrame 0004c400 f -setPauseOptions 0004ca20 f +Mission::Mission 0004a910 f +Mission::FUN_00052088 0004ac50 f +Mission::playVictoryDance 0004b010 f +Mission::waitForSomething 0004c070 f +Mission::showTextForFrame 0004c400 f +Mission::setPauseOptions 0004ca20 f populateSomeCharIdArray 0004d5f0 f -setManyPlayerStateFieldsToOne 0004d880 f +Mission::setManyPlayerStateFieldsToOne 0004d880 f resolveMissionBinPtrs 0004db30 f newMission 0004e930 f getSmthFromInactiveMssnStg 0004eac0 f getProfKModeSetting 0004eb80 f getSomeController_MAYBE 0004ec30 f -MissionManager 0004ecd0 f -~MissionManager 0004ef00 f -exec 0004ef90 f -draw 0004f9a0 f -~CharacterSelect 0004fbc0 f -~Mission 00051630 f -setupFromBin 00051780 f -exec_1 00051fc0 f -exec_2 00052010 f -exec_3 00052050 f -exec_5 00052090 f -caseD_1 000520d0 f -readResources 000521b0 f -playEvent 000524e0 f -advanceChapter 00053b40 f -handleMssnExit 00053fb0 f +MissionManager::MissionManager 0004ecd0 f +MissionManager::~MissionManager 0004ef00 f +MissionManager::exec 0004ef90 f +MissionManager::draw 0004f9a0 f +CharacterSelect::~CharacterSelect 0004fbc0 f +Mission::~Mission 00051630 f +Mission::setupFromBin 00051780 f +Mission::exec_1 00051fc0 f +Mission::exec_2 00052010 f +Mission::exec_3 00052050 f +Mission::exec_5 00052090 f +Mission::caseD_1 000520d0 f +Mission::readResources 000521b0 f +Mission::playEvent 000524e0 f +Mission::advanceChapter 00053b40 f +Mission::handleMssnExit 00053fb0 f setupInactiveMission_MAYBE 00055530 f -_~MissionManager 00055570 f -_~CharacterSelect 00055800 f -_~Mission 000564a0 f -runListenerCalls 00056990 f -startBlockingCall 00057de0 f -setNextSwitchFuncFromOpcode 00057f90 f -CharacterSelect 00058240 f -runNonblockingCall 000585e0 f -runImmediateCalls 0005b3f0 f -runNonblockingCalls 0005b570 f -runImmediateCallsWrapper 0005ba00 f -runNonblockingCallsWithWait 0005ba60 f +MissionManager::_~MissionManager 00055570 f +CharacterSelect::_~CharacterSelect 00055800 f +Mission::_~Mission 000564a0 f +Mission::runListenerCalls 00056990 f +Mission::startBlockingCall 00057de0 f +Mission::setNextSwitchFuncFromOpcode 00057f90 f +CharacterSelect::CharacterSelect 00058240 f +Mission::runNonblockingCall 000585e0 f +Mission::runImmediateCalls 0005b3f0 f +Mission::runNonblockingCalls 0005b570 f +Mission::runImmediateCallsWrapper 0005ba00 f +Mission::runNonblockingCallsWithWait 0005ba60 f addModOrClamp 0005e030 f -COMManager_MAYBE 0005f180 f -~COMManager_MAYBE 0005f1d0 f -createControllerCOM_MAYBE 0005f250 f +COMManager_MAYBE::COMManager_MAYBE 0005f180 f +COMManager_MAYBE::~COMManager_MAYBE 0005f1d0 f +COMManager_MAYBE::createControllerCOM_MAYBE 0005f250 f createGraphics 0005f2c0 f -_~COMManager_MAYBE 0005f330 f -initCOMObjects_MAYBE 0005f350 f -MissionManagerChild_0xE8 000605b0 f -~MissionManagerChild_0xE8 00060650 f -exec 00060ac0 f -_~MissionManagerChild_0xE8 00062010 f -~UnknownStatic16 00065910 f +COMManager_MAYBE::_~COMManager_MAYBE 0005f330 f +COMManager_MAYBE::initCOMObjects_MAYBE 0005f350 f +MissionManagerChild_0xE8::MissionManagerChild_0xE8 000605b0 f +MissionManagerChild_0xE8::~MissionManagerChild_0xE8 00060650 f +MissionManagerChild_0xE8::exec 00060ac0 f +MissionManagerChild_0xE8::_~MissionManagerChild_0xE8 00062010 f +UnknownStatic16::~UnknownStatic16 00065910 f initInputs_MAYBE 00065940 f readInput 000659c0 f setStartButtonStatesToZero 00065c80 f -~UnknownStatic17 000663c0 f -~LoadingScreen 000663e0 f -exec 00066440 f -draw_1 00066550 f -draw_5 00066660 f -show 000666f0 f -LoadingScreen 00066870 f -_~LoadingScreen 00066900 f -get 00066950 f -seed 00066980 f -~UnknownStatic18 00066b80 f -~UnknownStatic19 00067010 f -draw 00067310 f -save 000678b0 f -~TextBox_MAYBE 00067980 f -TextBox_MAYBE 00067b60 f -_~TextBox_MAYBE 00067e70 f -exec 00067e90 f -getGraphicsSetting 000694a0 f -GraphicsSettings 000694c0 f -StageBin 0006af00 f -~StageBin 0006b270 f -~UnknownStatic22 0006bb80 f -_~StageBin 0006c340 f -clearSomeLinkedList_MAYBE 0006c6d0 f -TalkCharLive 0006c840 f +UnknownStatic17::~UnknownStatic17 000663c0 f +LoadingScreen::~LoadingScreen 000663e0 f +LoadingScreen::exec 00066440 f +LoadingScreen::draw_1 00066550 f +LoadingScreen::draw_5 00066660 f +LoadingScreen::show 000666f0 f +LoadingScreen::LoadingScreen 00066870 f +LoadingScreen::_~LoadingScreen 00066900 f +FRNG::get 00066950 f +FRNG::seed 00066980 f +UnknownStatic18::~UnknownStatic18 00066b80 f +UnknownStatic19::~UnknownStatic19 00067010 f +TextBox_MAYBE::draw 00067310 f +TextBox_MAYBE::save 000678b0 f +TextBox_MAYBE::~TextBox_MAYBE 00067980 f +TextBox_MAYBE::TextBox_MAYBE 00067b60 f +TextBox_MAYBE::_~TextBox_MAYBE 00067e70 f +TextBox_MAYBE::exec 00067e90 f +GraphicsSettings::getGraphicsSetting 000694a0 f +GraphicsSettings::GraphicsSettings 000694c0 f +StageBin::StageBin 0006af00 f +StageBin::~StageBin 0006b270 f +UnknownStatic22::~UnknownStatic22 0006bb80 f +StageBin::_~StageBin 0006c340 f +UnknownGlobal::clearSomeLinkedList_MAYBE 0006c6d0 f +TalkCharLive::TalkCharLive 0006c840 f newTalkCharLive 0006cd00 f -~TalkCharLive 0006ce00 f -_~TalkCharLive 0006cec0 f -UnknownAllocated_0x1DDE 0006d9a0 f -UnknownStatic24 0006da80 f -clearFieldsInSomeLinkedList 0006dbb0 f -UnknownStatic25 0006e000 f -getTexIndex 0006e130 f -_~UnknownStatic25 0006e190 f -calculateElapsedTime 0006e910 f -_~PerformanceCounter 0006e950 f -~UnknownAllocated_0x12B0 0006ec00 f -draw 0006ec80 f -setMessage 0006f100 f +TalkCharLive::~TalkCharLive 0006ce00 f +TalkCharLive::_~TalkCharLive 0006cec0 f +UnknownObj_0x1DDE::UnknownAllocated_0x1DDE 0006d9a0 f +UnknownStatic24::UnknownStatic24 0006da80 f +UnknownStatic24::clearFieldsInSomeLinkedList 0006dbb0 f +UnknownStatic25::UnknownStatic25 0006e000 f +UnknownStatic25::getTexIndex 0006e130 f +UnknownStatic25::_~UnknownStatic25 0006e190 f +PerformanceCounter::calculateElapsedTime 0006e910 f +PerformanceCounter::_~PerformanceCounter 0006e950 f +UnknownObj_0x12B0::~UnknownAllocated_0x12B0 0006ec00 f +UnknownObj_0x12B0::draw 0006ec80 f +UnknownObj_0x12B0::setMessage 0006f100 f allocated0x12b0 0006f190 f -UnknownAllocated_0x12B0 0006f200 f -_~UnknownAllocated_0x12B0 0006f380 f -exec 0006f3a0 f +UnknownObj_0x12B0::UnknownAllocated_0x12B0 0006f200 f +UnknownObj_0x12B0::_~UnknownAllocated_0x12B0 0006f380 f +UnknownObj_0x12B0::exec 0006f3a0 f showMessage 0006f450 f showInsufficientMemory 0006f520 f showUnableToLoadGraffiti 0006f580 f @@ -441,220 +445,220 @@ showReconnectControllerMessage 0006f6a0 f showCharacterJoinMessage 0006f6d0 f showProblemWithDisc 0006f730 f showSaveLoadErr 0006f760 f -~UnknownStatic27 0006f9c0 f +UnknownStatic27::~UnknownStatic27 0006f9c0 f _main 0006f9e0 f resetHighScores 00077400 f -~UnknownAllocated_0x1167_2 000780f0 f -UnknownAllocated_0x1167_2 00078520 f -_~UnknownAllocated_0x1167_2 000789d0 f -~UnknownAllocated_0x1167_1 00079b50 f -UnknownAllocated_0x1167_1 0007a8b0 f -_~UnknownAllocated_0x1167_1 0007ab20 f -DemoInitializer 0007ae10 f -~DemoInitializer 0007af70 f -_~DemoInitializer 0007b830 f -Director 0007bc10 f -~Director 0007bc90 f -callNextSwitcherFunc 0007bdd0 f -setupCache 0007c050 f -initLogoFile 0007c090 f -startLogos 0007c0d0 f -finishLogos 0007c110 f -freeLogoFile 0007c140 f -startMissionManager 0007c160 f -finishMissionManager 0007c250 f -switchOnMisc 0007c270 f -newGame_MAYBE 0007c290 f -_~Director 0007d5b0 f +UnknownObj_0x1167_2::~UnknownAllocated_0x1167_2 000780f0 f +UnknownObj_0x1167_2::UnknownAllocated_0x1167_2 00078520 f +UnknownObj_0x1167_2::_~UnknownAllocated_0x1167_2 000789d0 f +UnknownObj_0x1167_1::~UnknownAllocated_0x1167_1 00079b50 f +UnknownObj_0x1167_1::UnknownAllocated_0x1167_1 0007a8b0 f +UnknownObj_0x1167_1::_~UnknownAllocated_0x1167_1 0007ab20 f +DemoInitializer::DemoInitializer 0007ae10 f +DemoInitializer::~DemoInitializer 0007af70 f +DemoInitializer::_~DemoInitializer 0007b830 f +Director::Director 0007bc10 f +Director::~Director 0007bc90 f +Director::execDefault 0007bdd0 f +Director::buildCache 0007c050 f +Director::initLogoFile 0007c090 f +Director::startLogos 0007c0d0 f +Director::waitFinishLogos 0007c110 f +Director::freeLogoFile 0007c140 f +Director::startMissionManager 0007c160 f +Director::finishMissionManager 0007c250 f +Director::switchOnMisc 0007c270 f +Director::newGame_MAYBE 0007c290 f +Director::_~Director 0007d5b0 f 0x1DF3NotAllocated 0007e100 f allocate0x1DF3 0007e260 f -~Logos 0007e2f0 f -exec 0007e360 f -draw 0007e550 f -Logos 0007e6a0 f -_~Logos 0007e7b0 f +Logos::~Logos 0007e2f0 f +Logos::exec 0007e360 f +Logos::draw 0007e550 f +Logos::Logos 0007e6a0 f +Logos::_~Logos 0007e7b0 f startLogos 0007e7d0 f -~SomePlayerStateChild 0007e830 f -movementStateInSomeRange 0007f500 f -cansGreaterOrEqual 0007fc90 f -zeroCounters_MAYBE 0007fda0 f -setQuantities 0007fe70 f -_~SomePlayerStateChild 00080320 f -SomePlayerStateChild 00084200 f -~UnknownObj_0x50 00085410 f -_~UnknownObj_0x50 00086180 f -dealDamage_MAYBE 00092ff0 f +SomePlayerStateChild::~SomePlayerStateChild 0007e830 f +SomePlayerStateChild::movementStateInSomeRange 0007f500 f +SomePlayerStateChild::cansGreaterOrEqual 0007fc90 f +SomePlayerStateChild::zeroCounters_MAYBE 0007fda0 f +SomePlayerStateChild::setQuantities 0007fe70 f +SomePlayerStateChild::_~SomePlayerStateChild 00080320 f +SomePlayerStateChild::SomePlayerStateChild 00084200 f +UnknownObj_0x50::~UnknownObj_0x50 00085410 f +UnknownObj_0x50::_~UnknownObj_0x50 00086180 f +SomePlayerStateChild::dealDamage_MAYBE 00092ff0 f methodReturn0 00093ce0 f -setTired_MAYBE 0009bd90 f -~PlayerCamera 000a2820 f -draw 000a2960 f +SomePlayerStateChild::setTired_MAYBE 0009bd90 f +PlayerCamera::~PlayerCamera 000a2820 f +PlayerCamera::draw 000a2960 f packVec4 000a4cf0 f -PlayerCamera 000a4d80 f -_~PlayerCamera 000a5050 f -~SomePlayerState 000a6110 f -setSomeFieldToOne 000a63f0 f -SomePlayerState 000a6980 f -_~SomePlayerState 000a6af0 f -MissionManagerChild_0xB 000a82d0 f -~MissionManagerChild_0xB 000a8360 f -exec 000a8370 f -_~MissionManagerChild_0xB 000a8720 f -callExecDefault 000aecc0 f -callDrawDefault 000b3de0 f -MissionManagerChild_0x12B1 000c0a90 f +PlayerCamera::PlayerCamera 000a4d80 f +PlayerCamera::_~PlayerCamera 000a5050 f +SomePlayerState::~SomePlayerState 000a6110 f +SomePlayerState::setSomeFieldToOne 000a63f0 f +SomePlayerState::SomePlayerState 000a6980 f +SomePlayerState::_~SomePlayerState 000a6af0 f +MissionManagerChild_0xB::MissionManagerChild_0xB 000a82d0 f +MissionManagerChild_0xB::~MissionManagerChild_0xB 000a8360 f +MissionManagerChild_0xB::exec 000a8370 f +MissionManagerChild_0xB::_~MissionManagerChild_0xB 000a8720 f +GameObj::callExecDefault 000aecc0 f +GameObj::callDrawDefault 000b3de0 f +MissionManagerChild_0x12B1::MissionManagerChild_0x12B1 000c0a90 f printableStrLen 000fe690 f -MissionManagerChild_0x1165 000fe740 f +MissionManagerChild_0x1165::MissionManagerChild_0x1165 000fe740 f setShowText 000fea80 f -MissionManagerChild_0x1163 000ff230 f +MissionManagerChild_0x1163::MissionManagerChild_0x1163 000ff230 f showOverlay1 00107260 f showOverlay2 00107320 f -AdxManager 00115fc0 f +AdxManager::AdxManager 00115fc0 f getAdxIndex 001160d0 f -setPause 00116240 f -setWaitPlayStart 00116290 f -setVolumes 001162e0 f +AdxManager::setPause 00116240 f +AdxManager::setWaitPlayStart 00116290 f +AdxManager::setVolumes 001162e0 f getVoiceLinePath 001164f0 f setSomeAdxManagerFields 001165d0 f setFirstTwoStreamsPause 00116670 f getSomeUnknownAllocated_0x5Field 001167f0 f pauseSomeAudio 00116950 f -~AdxManager 00116a10 f -play 00116ab0 f -exec 00116e30 f +AdxManager::~AdxManager 00116a10 f +AdxManager::play 00116ab0 f +AdxManager::exec 00116e30 f playVoiceLine 00117140 f -_~AdxManager 00117330 f +AdxManager::_~AdxManager 00117330 f setMusic 00117350 f -MissionManagerChild_0xEA 001174d0 f -MissionManagerChild_0xE9 001179f0 f -WavInfo 00117ba0 f -execNormal 00118610 f -execEvent 00118630 f +MissionManagerChild_0xEA::MissionManagerChild_0xEA 001174d0 f +MissionManagerChild_0xE9::MissionManagerChild_0xE9 001179f0 f +WavInfo::WavInfo 00117ba0 f +SoundManager::execNormal 00118610 f +SoundManager::execEvent 00118630 f makeSoundEffectFilepath 00118650 f somethingOnAllWavInfos 00118800 f setSomeUnknownAllocated_0x4Field 00118870 f -SoundManager 00118c00 f -~SoundManager 00118cb0 f -_~SoundManager 00119570 f +SoundManager::SoundManager 00118c00 f +SoundManager::~SoundManager 00118cb0 f +SoundManager::_~SoundManager 00119570 f parseNormWavs 00119670 f -~UnknownAllocated_0x1DE2 00126ac0 f -UnknownAllocated_0x1DE2 00127590 f -_~UnknownAllocated_0x1DE2 001277f0 f -~UnknownAllocated_0x1DE4 00127e60 f -UnknownAllocated_0x1DE4 00128fd0 f -_~UnknownAllocated_0x1DE4 00129160 f -ADXT_Stop 0013a6b0 f -ADXT_SetOutVol 0013a980 f -ADXT_GetNumSmplObuf 0013a9a0 f -ADXT_SetAutoRcvr 0013a9d0 f -ADXT_GetErrCode 0013aa50 f -ADXT_SetLpFlg 0013aa60 f -ADXT_SetWaitPlayStart 0013aa70 f -ADXT_Pause 0013aa80 f -ADXT_Destroy 0013ab80 f -ADXT_Create 0013ac80 f -ADXT_StartFname 0013aeb0 f -cvfs_errfunc 0013af10 f -initAdxDevices 0013af20 f -adxm_goto_mwidle_border 0013b110 f -ADXT_GetStat 0013bf30 f -ADXSTM_OpenFnameRangeExRt 0013c320 f -ADXSTM_OpenFnameEx 0013c390 f -LSC_Create 0013c600 f -adxt_trap_entry 0013ca20 f -adxt_stat_decinfo 0013ce30 f -adxt_stat_prep 0013d080 f -adxt_stat_playing 0013d1a0 f -adxt_stat_decend 0013d210 f +UnknownObj_0x1DE2::~UnknownAllocated_0x1DE2 00126ac0 f +UnknownObj_0x1DE2::UnknownAllocated_0x1DE2 00127590 f +UnknownObj_0x1DE2::_~UnknownAllocated_0x1DE2 001277f0 f +UnknownObj_0x1DE4::~UnknownAllocated_0x1DE4 00127e60 f +UnknownObj_0x1DE4::UnknownAllocated_0x1DE4 00128fd0 f +UnknownObj_0x1DE4::_~UnknownAllocated_0x1DE4 00129160 f +CRI::ADXT_Stop 0013a6b0 f +CRI::ADXT_SetOutVol 0013a980 f +CRI::ADXT_GetNumSmplObuf 0013a9a0 f +CRI::ADXT_SetAutoRcvr 0013a9d0 f +CRI::ADXT_GetErrCode 0013aa50 f +CRI::ADXT_SetLpFlg 0013aa60 f +CRI::ADXT_SetWaitPlayStart 0013aa70 f +CRI::ADXT_Pause 0013aa80 f +CRI::ADXT_Destroy 0013ab80 f +CRI::ADXT_Create 0013ac80 f +CRI::ADXT_StartFname 0013aeb0 f +CRI::cvfs_errfunc 0013af10 f +CRI::initAdxDevices 0013af20 f +CRI::adxm_goto_mwidle_border 0013b110 f +CRI::ADXT_GetStat 0013bf30 f +CRI::ADXSTM_OpenFnameRangeExRt 0013c320 f +CRI::ADXSTM_OpenFnameEx 0013c390 f +CRI::LSC_Create 0013c600 f +CRI::adxt_trap_entry 0013ca20 f +CRI::adxt_stat_decinfo 0013ce30 f +CRI::adxt_stat_prep 0013d080 f +CRI::adxt_stat_playing 0013d1a0 f +CRI::adxt_stat_decend 0013d210 f ADXF_Stop 0013d5a0 f -cvFsClose 0013dc30 f -cvFsTell 0013dca0 f -cvFsSeek 0013dd00 f -cvFsReqRd 0013dd70 f -cvFsStopTr 0013dde0 f -cvFsGetStat 0013de70 f -cvFsEntryErrFunc 0013dee0 f -addDevice 0013df70 f -cvFsSetDefDev 0013e050 f -cvFsOpen 0013e1a0 f -cvFsGetFileSize 0013e2b0 f -cvFsAddDev 0013e390 f -getMwRnaInstance 0013e550 f -mwlRnaAddWrPos 0013e630 f -mwlRnaStartTrans 0013e790 f -mwRnaSetNumChan 0013f200 f -mwRnaCreate 0013f290 f -cvfssetbuf 00140110 f -wxCiEntryErrFunc 00140230 f -wxCiReqRd 001403b0 f -wxCiOpen_child 001406d0 f -wxci_filesize_lower 00140760 f -wxci_getfilesize32 001408c0 f -wxCiGetFileSize 00140920 f -wxCiOpen 00140990 f -mfci_get_adr_size 00140cd0 f -mfCiOpen 00140e60 f -mfCiReqRd 00140fc0 f -mwSndOpenPort_child 00141380 f -mwSndOpenPort 00141470 f -mwSndPlay 00141560 f -mwSndStop 00141640 f -mwSndSetVol 001418d0 f -SVM_SetCbSvr 00141c30 f -SVM_DelCbSvr 00141cd0 f -ADXB_DecodeHeaderAdx 00142600 f -ADXT_EntryErrFunc 00142f20 f -LSC_CallErrFunc 00142f50 f -QueryPerformanceFrequency 00145571 f -CloseHandle 00145585 f -CreateFile 001455a3 f -CopyFileEx 0014572e f -CopyFile 00145a10 f -VirtualAlloc 00145a2f f -VirtualFree 00145a5d f -VirtualProtect 00145a99 f -WaitForSingleObjectEx 00145b64 f -WaitForMultipleObjectsEx 00145ba8 f -SleepEx 00145c28 f -WaitForSingleObject 00145c7a f -WaitForMultipleObjects 00145c8c f -Sleep 00145ca6 f +CRI::cvFsClose 0013dc30 f +CRI::cvFsTell 0013dca0 f +CRI::cvFsSeek 0013dd00 f +CRI::cvFsReqRd 0013dd70 f +CRI::cvFsStopTr 0013dde0 f +CRI::cvFsGetStat 0013de70 f +CRI::cvFsEntryErrFunc 0013dee0 f +CRI::addDevice 0013df70 f +CRI::cvFsSetDefDev 0013e050 f +CRI::cvFsOpen 0013e1a0 f +CRI::cvFsGetFileSize 0013e2b0 f +CRI::cvFsAddDev 0013e390 f +CRI::getMwRnaInstance 0013e550 f +CRI::mwlRnaAddWrPos 0013e630 f +CRI::mwlRnaStartTrans 0013e790 f +CRI::mwRnaSetNumChan 0013f200 f +CRI::mwRnaCreate 0013f290 f +CRI::cvfssetbuf 00140110 f +CRI::wxCiEntryErrFunc 00140230 f +CRI::wxCiReqRd 001403b0 f +CRI::wxCiOpen_child 001406d0 f +CRI::wxci_filesize_lower 00140760 f +CRI::wxci_getfilesize32 001408c0 f +CRI::wxCiGetFileSize 00140920 f +CRI::wxCiOpen 00140990 f +CRI::mfci_get_adr_size 00140cd0 f +CRI::mfCiOpen 00140e60 f +CRI::mfCiReqRd 00140fc0 f +CRI::mwSndOpenPort_child 00141380 f +CRI::mwSndOpenPort 00141470 f +CRI::mwSndPlay 00141560 f +CRI::mwSndStop 00141640 f +CRI::mwSndSetVol 001418d0 f +CRI::SVM_SetCbSvr 00141c30 f +CRI::SVM_DelCbSvr 00141cd0 f +CRI::ADXB_DecodeHeaderAdx 00142600 f +CRI::ADXT_EntryErrFunc 00142f20 f +CRI::LSC_CallErrFunc 00142f50 f +XAPILIB::QueryPerformanceFrequency 00145571 f +XAPILIB::CloseHandle 00145585 f +XAPILIB::CreateFile 001455a3 f +XAPILIB::CopyFileEx 0014572e f +XAPILIB::CopyFile 00145a10 f +XAPILIB::VirtualAlloc 00145a2f f +XAPILIB::VirtualFree 00145a5d f +XAPILIB::VirtualProtect 00145a99 f +XAPILIB::WaitForSingleObjectEx 00145b64 f +XAPILIB::WaitForMultipleObjectsEx 00145ba8 f +XAPILIB::SleepEx 00145c28 f +XAPILIB::WaitForSingleObject 00145c7a f +XAPILIB::WaitForMultipleObjects 00145c8c f +XAPILIB::Sleep 00145ca6 f _sprintf1 00145cb4 f sprintf 00145ccb f -SetFileAttributes 00145cde f -DeleteFile 00145d84 f -FindFirstFile 00145e7e f -ReadFile 00145f8b f -WriteFile 00146078 f -SetFilePointer 0014614e f -SetFilePointerEx 00146248 f -FlushFileBuffers 00146310 f -GetFileSizeEx 00146337 f -ReadFileEx 00146375 f -GetFileSize 001463c6 f -GetDiskFreeSpaceEx 0014646e f -XGetDiskSectorSize 001468ae f -CreateDirectory 00146949 f -RemoveDirectory 001469b5 f -XCalculateSignatureBeginEx 00146b52 f -XCalculateSignatureUpdate 00146bcd f -XCalculateSignatureEnd 00146be7 f +XAPILIB::SetFileAttributes 00145cde f +XAPILIB::DeleteFile 00145d84 f +XAPILIB::FindFirstFile 00145e7e f +XAPILIB::ReadFile 00145f8b f +XAPILIB::WriteFile 00146078 f +XAPILIB::SetFilePointer 0014614e f +XAPILIB::SetFilePointerEx 00146248 f +XAPILIB::FlushFileBuffers 00146310 f +XAPILIB::GetFileSizeEx 00146337 f +XAPILIB::ReadFileEx 00146375 f +XAPILIB::GetFileSize 001463c6 f +XAPILIB::GetDiskFreeSpaceEx 0014646e f +XAPILIB::XGetDiskSectorSize 001468ae f +XAPILIB::CreateDirectory 00146949 f +XAPILIB::RemoveDirectory 001469b5 f +XAPILIB::XCalculateSignatureBeginEx 00146b52 f +XAPILIB::XCalculateSignatureUpdate 00146bcd f +XAPILIB::XCalculateSignatureEnd 00146be7 f checkFirstTwoBytes 00146cfe f getKeyValue_MAYBE 00146d42 f checkSaveGameName_MAYBE 00146ecd f -XCreateSaveGame 00146fa7 f -XDeleteSaveGame 0014720a f +XAPILIB::XCreateSaveGame 00146fa7 f +XAPILIB::XDeleteSaveGame 0014720a f getSomethingInAVRegion 00147303 f getSomethingInVideoFlags 0014732c f -GetTickCount 00147748 f -GetSystemTime 00147bec f -SuspendThread 00147dac f -ResumeThread 00147dd2 f +XAPILIB::GetTickCount 00147748 f +XAPILIB::GetSystemTime 00147bec f +XAPILIB::SuspendThread 00147dac f +XAPILIB::ResumeThread 00147dd2 f getSomethingSetByXapiInitProcess 0014a838 f someAllocater_MAYBE 0014a83e f someDeallocator_MAYBE 0014a85b f makeTimeout 0014a8a1 f -InternalRemoveDirectoryRecursive_MAYBE 0014b3b1 f -XGetSectionHandle 0014b6c4 f +XAPILIB::InternalRemoveDirectoryRecursive_MAYBE 0014b3b1 f +XAPILIB::XGetSectionHandle 0014b6c4 f iRngSeed 0014c2a0 f iRng 0014c2b0 f iRngF 0014c2d0 f @@ -694,98 +698,98 @@ freeSinCosTable 0014cad0 f clamp 0014cc60 f clamp 0014cca0 f vInverse 0014cd50 f -GraphicsCOM 0014cdb0 f -AddRef 0014cf00 f -QueryInterface 0014cf20 f -Release 0014cf80 f -setClearColour 0014d020 f -clear 0014d030 f +GraphicsCOM::GraphicsCOM 0014cdb0 f +GraphicsCOM::AddRef 0014cf00 f +GraphicsCOM::QueryInterface 0014cf20 f +GraphicsCOM::Release 0014cf80 f +GraphicsCOM::setClearColour 0014d020 f +GraphicsCOM::clear 0014d030 f return0 0014d080 f -swapDefault 0014d090 f -swapFinish 0014d0d0 f -getTextureArrayIndex 0014d0f0 f -setRenderTargetFromArray 0014d340 f +GraphicsCOM::swapDefault 0014d090 f +GraphicsCOM::swapFinish 0014d0d0 f +GraphicsCOM::getTextureArrayIndex 0014d0f0 f +GraphicsCOM::setRenderTargetFromArray 0014d340 f AddRef 0014d4a0 f -setShaderConstantMode 0014d9d0 f +GraphicsCOM::setShaderConstantMode 0014d9d0 f freeFromSomeTextureArray 0014f640 f -freeOneOrAllOfSomeTextureArray 0014f6d0 f -setLightDirection 0014fb20 f -setLightColour 0014fbb0 f -setAmbient 0014fdb0 f -setTextureByIndex 0014fde0 f -setTexCoordIndex 0014fe30 f -setTextureOps 0014fef0 f -setMipMapLODBias 001502c0 f -setRenderState 001504d0 f -getRenderState 001507c0 f -setSpecularEnable 00150830 f -setLighting 00150850 f -setAlphaBlendEnabled 00150890 f -setFogEnable 00150950 f -setMaterial 00150c70 f -setStencilEnable 00151120 f +GraphicsCOM::freeOneOrAllOfSomeTextureArray 0014f6d0 f +GraphicsCOM::setLightDirection 0014fb20 f +GraphicsCOM::setLightColour 0014fbb0 f +GraphicsCOM::setAmbient 0014fdb0 f +GraphicsCOM::setTextureByIndex 0014fde0 f +GraphicsCOM::setTexCoordIndex 0014fe30 f +GraphicsCOM::setTextureOps 0014fef0 f +GraphicsCOM::setMipMapLODBias 001502c0 f +GraphicsCOM::setRenderState 001504d0 f +GraphicsCOM::getRenderState 001507c0 f +GraphicsCOM::setSpecularEnable 00150830 f +GraphicsCOM::setLighting 00150850 f +GraphicsCOM::setAlphaBlendEnabled 00150890 f +GraphicsCOM::setFogEnable 00150950 f +GraphicsCOM::setMaterial 00150c70 f +GraphicsCOM::setStencilEnable 00151120 f resetDiffuseVertexData 00151130 f -setDiffuseVertexData 00151160 f -setReverseCull 00151180 f -setStencilSettings 001511b0 f -setSomeThings 00151820 f -draw 00151840 f -drawDecimal 001519d0 f -drawPaddedHex 00151a00 f -drawUnknown 00151a30 f -drawFormat 00151a90 f -QueryInterface 00151ac0 f -Release 00151c40 f -createFont 00151ca0 f -QueryInterface 00151d70 f -setFirstToSecond 00151db0 f -setGammaRampChannel 00151dd0 f -allocateSomeMember 00152060 f -freeSomeMember 00152110 f -AddRef 00152150 f +GraphicsCOM::setDiffuseVertexData 00151160 f +GraphicsCOM::setReverseCull 00151180 f +GraphicsCOM::setStencilSettings 001511b0 f +FontCOM::setSomeThings 00151820 f +FontCOM::draw 00151840 f +FontCOM::drawDecimal 001519d0 f +FontCOM::drawPaddedHex 00151a00 f +FontCOM::drawUnknown 00151a30 f +FontCOM::drawFormat 00151a90 f +FontCOM::QueryInterface 00151ac0 f +FontCOM::Release 00151c40 f +GraphicsCOM::createFont 00151ca0 f +GraphicsCOMChild::QueryInterface 00151d70 f +GraphicsCOMChild::setFirstToSecond 00151db0 f +GraphicsCOMChild::setGammaRampChannel 00151dd0 f +GraphicsCOMChild::allocateSomeMember 00152060 f +GraphicsCOMChild::freeSomeMember 00152110 f +GraphicsCOMChild::AddRef 00152150 f setGammaRamp 001521b0 f -commitGammaRamp 00152210 f -Release 00152230 f -createChild 00152270 f +GraphicsCOMChild::commitGammaRamp 00152210 f +GraphicsCOMChild::Release 00152230 f +GraphicsCOM::createChild 00152270 f AddRef 001532f0 f -setSomeGlobals 00153a90 f -setViewport 00153e30 f -projectHomogeneous 00154130 f +GraphicsCOM::setSomeGlobals 00153a90 f +GraphicsCOM::setViewport 00153e30 f +GraphicsCOM::projectHomogeneous 00154130 f transpose 00154250 f -getTransform 001542a0 f -setTransform 00154420 f -setWorldTransform 00154520 f -setTextureTransform 00154540 f -getSomeBoolFromArray 001548e0 f +GraphicsCOM::getTransform 001542a0 f +GraphicsCOM::setTransform 00154420 f +GraphicsCOM::setWorldTransform 00154520 f +GraphicsCOM::setTextureTransform 00154540 f +GraphicsCOM::getSomeBoolFromArray 001548e0 f unsetTexture 00154ae0 f someTextureArrayItemIsVolumeTexture 00154b00 f -freeSomeTextureArray 00154b20 f +GraphicsCOM::freeSomeTextureArray 00154b20 f ROUND 00154c10 f -resetPerfCounters 00154c20 f -calculatePerformance 00154c30 f -getPerfCounters 00154cf0 f -getManyThings 00155150 f -releaseSomething 00155540 f -getCapabilities 00155a60 f +GraphicsCOM::resetPerfCounters 00154c20 f +GraphicsCOM::calculatePerformance 00154c30 f +GraphicsCOM::getPerfCounters 00154cf0 f +GraphicsCOM::getManyThings 00155150 f +GraphicsCOM::releaseSomething 00155540 f +GraphicsCOM::getCapabilities 00155a60 f scalePack 001560c0 f unpack3Scaled 00156120 f nop 001564a0 f -QueryInterface 00156d60 f -Release 00156dc0 f +UnknownCOM::QueryInterface 00156d60 f +UnknownCOM::Release 00156dc0 f createUnknownCOM 00156df0 f AddRef 001576f0 f QueryInterface 001577c0 f Release 001579a0 f -UnknownCOMChild 001579d0 f -AddRef 00157ca0 f -createChild 00157cb0 f +UnknownCOMChild::UnknownCOMChild 001579d0 f +UnknownCOMChild::AddRef 00157ca0 f +UnknownCOM::createChild 00157cb0 f QueryInterface 00157d70 f -Release 00157db0 f +UnknownCOMChild::Release 00157db0 f QueryInterface 00157de0 f unexpected 00157f00 f QueryInterface 00159180 f QueryInterface 00159b70 f -~UnknownCOM 0015a110 f +UnknownCOM::~UnknownCOM 0015a110 f QueryInterface 0015b010 f QueryInterface 0015b5c0 f QueryInterface 0015b9a0 f @@ -799,19 +803,19 @@ setVBlankCallback 0015f9e0 f getVblankCount 0015fa10 f __rdtsc 0015fa20 f Release 0015fd40 f -QueryInterface 00160080 f -_Xlen 00160f00 f -ControllerCOM_MAYBE 001616f0 f +ControllerCOM_MAYBE::QueryInterface 00160080 f +std::vector::_Xlen 00160f00 f +ControllerCOM_MAYBE::ControllerCOM_MAYBE 001616f0 f Release 001664d0 f Release 00166ca0 f QueryInterface 00167cd0 f -Controller 00167d60 f -~Controller 00167e20 f +Controller::Controller 00167d60 f +Controller::~Controller 00167e20 f setupDirectSound_MAYBE 00168130 f AddRef 00177fe0 f QueryInterface 00179350 f attachNewEvent 001797e0 f -compare 00179ae0 f +std::string::compare 00179ae0 f nop 0017bf40 f _JumpToContinuation 0017bf86 f _CallMemberFunction0 0017bfb6 f @@ -827,17 +831,17 @@ _sprintf2 0017ce68 f unknown_Xprintf_MAYBE3 0017d242 f _wcslen 0017d3d0 f raise 0017d5f9 f -exception 0017d643 f -~exception 0017d692 f -_~exception 0017d6b5 f +exception::exception 0017d643 f +exception::~exception 0017d692 f +exception::_~exception 0017d6b5 f setFloatControl 0017db1e f _inconsistency 0017e3cb f -LeaveCriticalSection 0017f215 f -EnterCriticalSection 0017f2a3 f +XAPILIB::LeaveCriticalSection 0017f215 f +XAPILIB::EnterCriticalSection 0017f2a3 f _sprintf_impl 0017f494 f -TryEnterCriticalSection 00182161 f -_Xran 00182ae9 f -_Xlen 00182b41 f +XAPILIB::TryEnterCriticalSection 00182161 f +std::string::_Xran 00182ae9 f +std::string::_Xlen 00182b41 f packRect 00182b81 f copyRect 00182ba5 f elementMul 00186950 f @@ -855,6 +859,10 @@ initRootExecObj_handler_unwind1 00186c00 f initRootExecObj_handler 00186c0b f createCopSpawnView_unwind1 00186cc0 f createCopSpawnView_handler 00186ccb f +~CacheBuilder_MAYBE_handler_unwind1 00186db0 f +~CacheBuilder_MAYBE_handler 00186db8 f +initCache_handler_unwind1 00186dd0 f +initCache_handler 00186ddb f _main_handler_unwind1 00187710 f _main_handler 0018771b f initUnknownStatic01 0018acc0 f @@ -869,7 +877,7 @@ initUnknownStatic09 0018ad80 f initUnknownStatic10 0018ada0 f initUnknownStatic11 0018adb0 f initUnknownStatic12 0018adc0 f -UnknownStatic13 0018add0 f +UnknownStatic13::UnknownStatic13 0018add0 f initUnknownStatic14 0018ae00 f initUnknownStatic15 0018ae10 f initUnknownStatic16 0018ae20 f @@ -903,142 +911,142 @@ initUnknownStatic43 0018c3c0 f initUnknownStatic44 0018c5b0 f initUnknownStatic45 0018c6f0 f initUnknownStatic46 0018c810 f -~UnknownStatic06 0018c980 f +UnknownStatic06::~UnknownStatic06 0018c980 f finalizeGameData 0018c9a0 f -~UnknownStatic13 0018c9f0 f -finalizeGraphicsSettings 0018caa0 f -~UnknownStatic25 0018caf0 f -~PerformanceCounter 0018cb10 f -SetVerticalBlankCallback 0018ce30 f +UnknownStatic13::~UnknownStatic13 0018c9f0 f +GraphicsSettings::finalizeGraphicsSettings 0018caa0 f +UnknownStatic25::~UnknownStatic25 0018caf0 f +PerformanceCounter::~PerformanceCounter 0018cb10 f +IDirect3DDevice8::SetVerticalBlankCallback 0018ce30 f initUnknownStatic48 0018e410 f -D3D__DirtyFlags 0019ded8 l -D3D__TextureState 0019dee0 l -D3D__RenderState 0019e0e0 l +D3D8::D3D__DirtyFlags 0019ded8 l +D3D8::D3D__TextureState 0019dee0 l +D3D8::D3D__RenderState 0019e0e0 l initUnknownStatic49 001a5299 f initUnknownStatic50 001a52a4 f -setIdentity 001ba8a0 f -load 001ba8f0 f -store 001ba950 f -getHead 001ba9b0 f -dup 001ba9c0 f -pushIdentity 001baa00 f -pop 001baa50 f -applyIntoTranslation 001baa60 f -applyIntoTranslation 001baaa0 f -applyOrTranslation 001bab20 f -apply 001bac00 f -rotate3D 001bac50 f -applyTo 001badb0 f -apply 001bae90 f -scaleCols 001bb230 f -scaleCols 001bb270 f -scale 001bb2b0 f -rotateYZ 001bb2e0 f -rotateXZ 001bb330 f -rotateXY 001bb380 f -setIdentitySansTranslation 001bb3d0 f -getTranslation 001bb410 f -setTranslation 001bb430 f -transpose 001bb5e0 f -initMatrices 001bb690 f -freeMatrices 001bb720 f -scaleCol1 001bb960 f -scaleCol2 001bb980 f -scaleCol3 001bb9a0 f -isDxt 001bbac0 f +MMATRIX::setIdentity 001ba8a0 f +MMATRIX::load 001ba8f0 f +MMATRIX::store 001ba950 f +MMATRIX::getHead 001ba9b0 f +MMATRIX::dup 001ba9c0 f +MMATRIX::pushIdentity 001baa00 f +MMATRIX::pop 001baa50 f +MMATRIX::applyIntoTranslation 001baa60 f +MMATRIX::applyIntoTranslation 001baaa0 f +MMATRIX::applyOrTranslation 001bab20 f +MMATRIX::apply 001bac00 f +MMATRIX::rotate3D 001bac50 f +MMATRIX::applyTo 001badb0 f +MMATRIX::apply 001bae90 f +MMATRIX::scaleCols 001bb230 f +MMATRIX::scaleCols 001bb270 f +MMATRIX::scale 001bb2b0 f +MMATRIX::rotateYZ 001bb2e0 f +MMATRIX::rotateXZ 001bb330 f +MMATRIX::rotateXY 001bb380 f +MMATRIX::setIdentitySansTranslation 001bb3d0 f +MMATRIX::getTranslation 001bb410 f +MMATRIX::setTranslation 001bb430 f +MMATRIX::transpose 001bb5e0 f +MMATRIX::initMatrices 001bb690 f +MMATRIX::freeMatrices 001bb720 f +MMATRIX::scaleCol1 001bb960 f +MMATRIX::scaleCol2 001bb980 f +MMATRIX::scaleCol3 001bb9a0 f +XGRPH::isDxt 001bbac0 f vector_constructor_iterator 001bd03b f initUnknownStaticXPP 001bdaa9 f -D3DDIRTYFROMTEXTURESTATE 001c4160 l -D3DSIMPLERENDERSTATEENCODE 001c4248 l -`vftable' 001c4390 l -`vftable' 001c43d8 l -`vftable' 001c4418 l -`vftable' 001c4458 l -`vftable' 001c4480 l -vtable 001c4544 l +D3D8::D3DDIRTYFROMTEXTURESTATE 001c4160 l +D3D8::D3DSIMPLERENDERSTATEENCODE 001c4248 l +GameObj::`vftable' 001c4390 l +DrawTree::`vftable' 001c43d8 l +PlayerObj::`vftable' 001c4418 l +Game::`vftable' 001c4458 l +RootExecObj::`vftable' 001c4480 l +UnknownStatic02::vtable 001c4544 l 2^32 001c4558 l -vtable 001c4580 l -vtable 001c45c0 l -vtable 001c45c4 l -vtable 001c45c8 l -vtable 001c4ba8 l -vtable 001c4c88 l +UnknownObj_0x1289::vtable 001c4580 l +UnknownStatic04::vtable 001c45c0 l +UnknownStatic05::vtable 001c45c4 l +CopSpawnView::vtable 001c45c8 l +EventChild2::vtable 001c4ba8 l +EventChild1::vtable 001c4c88 l float(1/255) 001c4cc8 l -vtable 001c4cd0 l -vtable 001c4d10 l -vtable 001c4d50 l -vtable 001c4d58 l -vtable 001c4f68 l -vtable 001ca168 l -`vftable' 001ca3d8 l -vtable 001ca440 l -vtable 001ca4c8 l -vtable 001ca508 l -vtable 001ca5f0 l -vtable 001ca678 l -vtable 001ca7d8 l -vtable 001caa8c l -vtable 001caab0 l -vtable 001caaf8 l -vtable 001cab98 l -vtable 001caf70 l -vtable 001cb000 l -vtable 001cb094 l -vtable 001cb0a0 l -vtable 001cb0a8 l +Event::vtable 001c4cd0 l +UnknownObj_0x6::vtable 001c4d10 l +UnknownStatic06::vtable 001c4d50 l +CacheBuilder_MAYBE::vtable 001c4d58 l +FileManager::vtable 001c4f68 l +UnknownStatic07::vtable 001ca168 l +GameData::`vftable' 001ca3d8 l +TextRenderer_MAYBE::vtable 001ca440 l +MissionManagerChild_0xE7::vtable 001ca4c8 l +UnknownStatic09::vtable 001ca508 l +GraffitiSoulSpawnView_MAYBE::vtable 001ca5f0 l +PickupList::vtable 001ca678 l +EventChild1Child::vtable 001ca7d8 l +Progress::vtable 001caa8c l +Mission::vtable 001caab0 l +MissionManager::vtable 001caaf8 l +CharacterSelect::vtable 001cab98 l +COMManager_MAYBE::vtable 001caf70 l +MissionManagerChild_0xE8::vtable 001cb000 l +UnknownStatic16::vtable 001cb094 l +UnknownStatic17::vtable 001cb0a0 l +LoadingScreen::vtable 001cb0a8 l g_cameraSpeed 001cb0e8 l 1/2^15 001cb0ec l -vtable 001cb0f0 l -vtable 001cb0f4 l -vtable 001cb0f8 l -vtable 001cc150 l -vtable 001cc154 l -vtable 001cc158 l -vtable 001cc5d0 l -vtable 001cc618 l -vtable 001cc61c l -vtable 001cc620 l -vtable 001cc660 l -vtable 001cc6a0 l -vtable 001ccd18 l -vtable 001ccde8 l -vtable 001cce30 l -vtable 001cceb8 l -vtable 001ccf78 l -vtable 001ccfb8 l -vtable 001ccff8 l -vtable_MAYBE 001cd0c0 l -vtable 001cd518 l +UnknownStatic18::vtable 001cb0f0 l +UnknownStatic19::vtable 001cb0f4 l +TextBox_MAYBE::vtable 001cb0f8 l +UnknownStatic22::vtable 001cc150 l +StageBin::vtable 001cc154 l +TalkCharLive::vtable 001cc158 l +UnknownObj_0x1DDE::vtable 001cc5d0 l +UnknownStatic24::vtable 001cc618 l +UnknownStatic25::vtable 001cc61c l +PerformanceCounter::vtable 001cc620 l +UnknownObj_0x12B0::vtable 001cc660 l +UnknownStatic27::vtable 001cc6a0 l +UnknownObj_0x1167_2::vtable 001ccd18 l +UnknownObj_0x1167_1::vtable 001ccde8 l +DemoInitializer::vtable 001cce30 l +Director::vtable 001cceb8 l +UnknownObj_0x1DF3::vtable 001ccf78 l +Logos::vtable 001ccfb8 l +SomePlayerStateChild::vtable 001ccff8 l +UnknownObj_0x50::vtable_MAYBE 001cd0c0 l +PlayerCamera::vtable 001cd518 l g_cameraMinDist 001cd560 l g_cameraMaxDist 001cd564 l -vtable 001cd570 l -vtable 001cd5c8 l +SomePlayerState::vtable 001cd570 l +MissionManagerChild_0xB::vtable 001cd5c8 l musicMapping 001d3878 l voiceLineMapping 001d3a38 l soundEffectMapping 001d4db0 l -vtable 001d76c8 l -vtable 001d7b20 l -vtable 001da300 l -vtable 001da350 l +AdxManager::vtable 001d76c8 l +SoundManager::vtable 001d7b20 l +UnknownObj_0x1DE2::vtable 001da300 l +UnknownObj_0x1DE4::vtable 001da350 l g_radToU16Angle1 001e0ea0 l g_radToU16Angle2 001e0ea4 l g_radToU16Angle3 001e0ea8 l epsilon_neg 001e0ebc l epsilon_pos 001e0ec0 l -vtable 001e0f00 l -vtable 001e1248 l -vtable 001e1270 l -iid 001e1340 l -iid 001e1350 l -iid 001e13e0 l -vtable 001e13f0 l -vtable 001e144c l -iid 001e16b8 l -iid 001e1758 l -vtable 001e1900 l -vtable 001e3828 l +GraphicsCOM::vtable 001e0f00 l +FontCOM::vtable 001e1248 l +GraphicsCOMChild::vtable 001e1270 l +FontCOM::iid 001e1340 l +GraphicsCOMChild::iid 001e1350 l +GraphicsCOM::iid 001e13e0 l +UnknownCOM::vtable 001e13f0 l +UnknownCOMChild::vtable 001e144c l +UnknownCOMChild::iid 001e16b8 l +UnknownCOM::iid 001e1758 l +ControllerCOM_MAYBE::vtable 001e1900 l +Controller::vtable 001e3828 l g_directSound8 001e38fc l -vtable 001e4284 l +exception::vtable 001e4284 l Game_unwindmap 001e4d20 l Game_funcinfo 001e4d28 l RootExecObj_unwindmap 001e4d44 l @@ -1047,6 +1055,10 @@ initRootExecObj_unwindmap 001e4d88 l initRootExecObj_funcinfo 001e4d90 l createCopSpawnView_unwindmap 001e4ea8 l createCopSpawnView_funcinfo 001e4eb0 l +~CacheBuilder_MAYBE_unwindmap 001e501c l +~CacheBuilder_MAYBE_funcinfo 001e5024 l +initCache_unwindmap 001e5040 l +initCache_funcinfo 001e5048 l _main_unwindmap 001e620c l _main_funcinfo 001e6214 l staticInitializers 001eb770 l @@ -1056,11 +1068,11 @@ g_unknownStatic04 001ebaa8 l g_unknownStatic05 001ebabc l g_soundBanks 001ebe00 l g_unknownStatic06 001ec050 l -fileInitializers 001ec068 l -fileReaders 001ec0f0 l -fileCheckers 001ec178 l -fileGetters 001ec200 l -fileFreers 001ec288 l +FileManager::fileInitializers 001ec068 l +FileManager::fileReaders 001ec0f0 l +FileManager::fileCheckers 001ec178 l +FileManager::fileGetters 001ec200 l +FileManager::fileFreers 001ec288 l enemyFilenames 001ec310 l enemyInitializers 001ec370 l enemySoundEffectMapping 001ec3d0 l @@ -1086,10 +1098,10 @@ g_unknownStatic13PartDefault 001f9358 l g_unknownStatic13 001f93c8 l g_unchangingUnknownStatic3Ptr 001f9640 l charIds 001f9808 l -exec_1Funcs 001f9888 l -exec_5Funcs 001f9a68 l -exec_3Funcs 001f9c48 l -exec_2Funcs 001f9e28 l +Mission::exec_1Funcs 001f9888 l +Mission::exec_5Funcs 001f9a68 l +Mission::exec_3Funcs 001f9c48 l +Mission::exec_2Funcs 001f9e28 l g_profKModeSettings 001fa0e0 l g_lighting 001fa1cc l g_alphaBlendEnabled 001fa1d0 l @@ -1103,14 +1115,14 @@ saveScreenMessages 001fbb68 l ioMessagesJa 001fbb7c l ioMessagesEn 001fbbb8 l ioMessages 001fbca8 l -g_graphicsSettingsSource 001fbcc0 l +GraphicsSettings::g_graphicsSettingsSource 001fbcc0 l g_language 001fc724 l g_unknownStatic22 0020c6c0 l g_unknownGlobal 0020c750 l g_performanceCounter 0020cc48 l g_unknownStatic27 0020cc58 l keyStrings 0020cf40 l -switcherFuncs 0020d2b8 l +Director::switcherFuncs 0020d2b8 l g_logoBgColours 0020d498 l segaLogoBuf_ja 0020d4b0 l segaLogoBuf_en 0020d510 l @@ -1162,8 +1174,8 @@ tutorialNames 002258fc l tagNames_ja 00226f40 l tagNames_en 00227170 l tagSaveImagePaths 00228598 l -wxci_vtable 0022db98 l -mfci_vtable 0022dc00 l +CRI::wxci_vtable 0022db98 l +CRI::mfci_vtable 0022dc00 l g_iRng 0022e58c l g_someMin 0022e6ac l g_someMax 0022e6b0 l @@ -1197,12 +1209,12 @@ g_unknownStatic25 00252790 l g_voiceLinePathBuf 002588f0 l g_soundCOM_MAYBE 002589f4 l g_soundEffectFilepathBuf 002589f8 l -cvfs_errfn 00261588 l -cvfs_errobj 0026158c l -wxg_ci_err_func 002615c4 l -wxg_ci_err_obj 002615c8 l -lsc_err_func 0026174c l -lsc_err_obj 00261750 l +CRI::cvfs_errfn 00261588 l +CRI::cvfs_errobj 0026158c l +CRI::wxg_ci_err_func 002615c4 l +CRI::wxg_ci_err_obj 002615c8 l +CRI::lsc_err_func 0026174c l +CRI::lsc_err_obj 00261750 l g_sinCosTable 00264ba4 l g_ptrToSinCosTable 00264bac l g_floatResults 00264bb4 l @@ -1215,7 +1227,7 @@ g_ambient 00264d38 l g_material 00264d48 l g_diffuseVertexData 00264d54 l g_reverseCull 00264d64 l -g_buf 00264d68 l +FontCOM::g_buf 00264d68 l g_gammaRamp 00264e68 l g_viewport 00264ed0 l g_someHomogeneousScalingFactorX 00264ee8 l @@ -1232,9 +1244,9 @@ g_vblankCount 00265174 l g_ControllerCount_MAYBE 00265188 l g_initDevicesDone 00265190 l g_newHandler 00265200 l -lsc_err_msg 0026a380 l -wxg_ci_err_str 00273640 l -null_ARRAY_ARRAY_00273780 00273780 l -wxci_buf 00276c00 l +CRI::lsc_err_msg 0026a380 l +CRI::wxg_ci_err_str 00273640 l +CRI::null_ARRAY_ARRAY_00273780 00273780 l +CRI::wxci_buf 00276c00 l mwRnaInstances 0027b1c0 l g_somethingSetByXapiInitProcess 0027dcd4 l diff --git a/documentation/gettingstarted.md b/documentation/gettingstarted.md index 3bed97c..9c34c68 100644 --- a/documentation/gettingstarted.md +++ b/documentation/gettingstarted.md @@ -74,7 +74,9 @@ Double click it to open it in the CodeBrowser. The window that opens is where you'll do all your in-situ analysis, should you choose to do so. You'll be asked whether you want to run analyzers; say yes. Afterwards, simply clicking "Analyze" in the analysis options window without changing anything is fine, and -the analysis will probably take a couple minutes. +the analysis will probably take a couple minutes. You can tell that the +analysis is still running if there's a progress bar in the bottom right saying +what it's currently analyzing. There's a small oddity that needs fixing: certain parts of memory are marked as executable where objdiff doesn't expect them to be, which will mess up our @@ -217,7 +219,10 @@ avoided by using namespaces if need be (i.e. `X::symbol` and `Y::symbol` may coexist), but function overloading must be avoided (you may not have one function with the signature `void X::f(int)` and another with the signature `void X::f(float)`), else errors can arise when delinking, as the delinker -extension does not mangle symbol names. +extension does not mangle symbol names. Thunked functions can also cause +problems because Ghidra does not include them alongside other functions in the +symbol table, so convert them to regular functions (right click on the thunked +function in the symbol tree and unset it as a thunk in the `Function` submenu). Once you're ready to export your symbols, open the symbol table (`Window > Symbol Table`). Open the symbol filter window (cog button near the @@ -228,9 +233,10 @@ only export symbols that you've defined and that are useful for delinking. Now we need to configure the columns that we want to export. Right-click on one of the colum headers, click "Add/Remove Columns..." to open the "Select -Columns" window, and in it check only "Location," "Name," and "Type." Click -"OK" to close the window and ensure that the column order is "Name," -"Location," "Type" (you can drag the column headers to reorder them if needed). +Columns" window, and in it check only "Location," "Name," "Namespace," and +"Type." Click "OK" to close the window and ensure that the column order is +"Location," "Namespace," "Name," "Type" (you can drag the column headers to +reorder them if needed). Now, to actually export the table, right-click on one of the table cells, click "Select All," and then right-click again on a cell to select "Export > Export