data: Add functions that were missed because of IDA's function tail system

This commit is contained in:
Léo Lam 2020-11-10 18:48:52 +01:00
parent 24ef7add9b
commit 0a16b78855
No known key found for this signature in database
GPG Key ID: 0DF30F9081000741
2 changed files with 51 additions and 1 deletions

View File

@ -51021,6 +51021,7 @@
0x0000007100852a7c,sub_7100852A7C,36,
0x0000007100852aa0,Player::RideInfo::ctor,240,
0x0000007100852b90,Player::RideInfo::init,152,
0x0000007100852c28,Player::RideInfo::x_0,44,
0x0000007100852c54,sub_7100852C54,128,
0x0000007100852cd4,sub_7100852CD4,136,
0x0000007100852d5c,demo005_205_andHorseRideStuff,1056,
@ -52417,10 +52418,12 @@
0x00000071008e4098,getFlag_100enemy_Activated,168,_ZN4ksys3gdt26getFlag_100enemy_ActivatedEb
0x00000071008e4140,getBoolFlag,168,_ZN4ksys3gdt18getFlagGenericBoolENS0_10FlagHandleEb
0x00000071008e41e8,getIntFlag,168,_ZN4ksys3gdt17getFlagGenericS32ENS0_10FlagHandleEb
0x00000071008e4290,gdt::resetS32,276,
0x00000071008e43a4,getFlag_100enemy_IsPlayNow_ActivatedDemo,172,_ZN4ksys3gdt40getFlag_100enemy_IsPlayNow_ActivatedDemoEb
0x00000071008e4450,sub_71008E4450,172,_ZN4ksys3gdt45getFlag_100enemy_KillMasterSwordBaseAttentionEb
0x00000071008e44fc,sub_71008E44FC,180,_ZN4ksys3gdt45setFlag_100enemy_KillMasterSwordBaseAttentionEbb
0x00000071008e45b0,getFlag_100enemy_SwordPower_StartTmp,172,_ZN4ksys3gdt36getFlag_100enemy_SwordPower_StartTmpEb
0x00000071008e465c,sub_71008E465C,276,
0x00000071008e4770,getFlag_ActorName_SeakSensor_Slot0,152,_ZN4ksys3gdt34getFlag_ActorName_SeakSensor_Slot0EPPKcb
0x00000071008e4808,setFlag_ActorName_SeakSensor_Slot0,212,_ZN4ksys3gdt34setFlag_ActorName_SeakSensor_Slot0ERKN4sead14SafeStringBaseIcEEb
0x00000071008e48dc,resetFlagMaybe_ActorName_SeakSensor_Slot0,24,
@ -52512,6 +52515,7 @@
0x00000071008e8ae8,sub_71008E8AE8,172,_ZN4ksys3gdt29getFlag_Counter_TerminalWaterEb
0x00000071008e8b94,sub_71008E8B94,172,_ZN4ksys3gdt28getFlag_Counter_TerminalWindEb
0x00000071008e8c40,getFlag_CurrentHart,172,_ZN4ksys3gdt19getFlag_CurrentHartEb
0x00000071008e8cec,sub_71008E8CEC,180,
0x00000071008e8da0,sub_71008E8DA0,172,_ZN4ksys3gdt19getFlag_CurrentMamoEb
0x00000071008e8e4c,sub_71008E8E4C,172,
0x00000071008e8ef8,getFlag_CurrentRupee,172,_ZN4ksys3gdt20getFlag_CurrentRupeeEb
@ -61410,6 +61414,8 @@
0x0000007100af47a4,sub_7100AF47A4,8,_ZNK4sead10FileDevice24setHandleBaseFileDevice_EPNS_10HandleBaseEPS0_
0x0000007100af47ac,_ZN4sead10FileDevice8tryFlushEPNS_10FileHandleE,100,_ZN4sead10FileDevice8tryFlushEPNS_10FileHandleE
0x0000007100af4810,_ZN4sead10FileDevice9tryRemoveERKNS_14SafeStringBaseIcEE,28,_ZN4sead10FileDevice9tryRemoveERKNS_14SafeStringBaseIcEE
0x0000007100af482c,sub_7100AF482C,128,
0x0000007100af48ac,sub_7100AF48AC,128,
0x0000007100af492c,_ZN4sead10FileDevice14tryGetFileSizeEPjRKNS_14SafeStringBaseIcEE,32,_ZN4sead10FileDevice14tryGetFileSizeEPjRKNS_14SafeStringBaseIcEE
0x0000007100af494c,_ZN4sead10FileDevice16tryOpenDirectoryEPNS_15DirectoryHandleERKNS_14SafeStringBaseIcEE,80,_ZN4sead10FileDevice16tryOpenDirectoryEPNS_15DirectoryHandleERKNS_14SafeStringBaseIcEE
0x0000007100af499c,_ZN4sead10FileDevice17tryCloseDirectoryEPNS_15DirectoryHandleE,112,_ZN4sead10FileDevice17tryCloseDirectoryEPNS_15DirectoryHandleE
@ -81014,6 +81020,7 @@
0x0000007100f8af0c,sub_7100F8AF0C,324,
0x0000007100f8b050,sub_7100F8B050,740,
0x0000007100f8b334,sub_7100F8B334,272,
0x0000007100f8b444,NavMeshLoadMgr::x_2,144,
0x0000007100f8b4d8,sub_7100F8B4D8,64,
0x0000007100f8b518,sub_7100F8B518,32,
0x0000007100f8b538,sub_7100F8B538,76,
@ -85872,6 +85879,7 @@
0x0000007101099890,sub_7101099890,8,_ZThn632_NK4ksys3res4Drop10needsParseEv
0x0000007101099898,sub_7101099898,128,_ZThn664_N4ksys3res4DropD1Ev
0x0000007101099918,sub_7101099918,116,_ZThn664_N4ksys3res4DropD0Ev
0x000000710109998c,sub_710109998C,372,
0x0000007101099b00,nullsub_4471,4,_ZN4ksys3res13LifeCondition9doCreate_EPhjPN4sead4HeapE
0x0000007101099b04,nullsub_4472,4,_ZThn632_N4ksys3res13LifeCondition9doCreate_EPhjPN4sead4HeapE
0x0000007101099b08,Blifecondition::parse,1296,_ZN4ksys3res13LifeCondition6parse_EPhmPN4sead4HeapE
@ -88526,6 +88534,7 @@
0x000000710115d3b8,sub_710115D3B8,236,
0x000000710115d4a4,sub_710115D4A4,184,
0x000000710115d55c,_ZN3aal8ShapeMgr25createAndRegisterTemplateERKN4sead14SafeStringBaseIcEERKNS_10ShapeParamEPNS1_4HeapE,324,
0x000000710115d6a0,sub_710115D6A0,1100,
0x000000710115daec,sub_710115DAEC,1244,
0x000000710115dfc8,sub_710115DFC8,372,
0x000000710115e13c,sub_710115E13C,152,
@ -90492,8 +90501,8 @@
0x00000071011f6b24,sub_71011F6B24,8,_ZNK4ksys4util10TaskThread17getNumActiveTasksEv
0x00000071011f6b2c,Thread::z,8,_ZN4ksys4util10TaskThread19waitForQueueToEmptyEv
0x00000071011f6b34,Thread::x,8,_ZN4ksys4util10TaskThread11cancelTasksEh
0x00000071011f6b44,sub_71011F6B44,8,_ZN4ksys4util10TaskThread4lockEPNS0_13TaskQueueLockE
0x00000071011f6b3c,_ZN4ksys4util10TaskThread10clearQueueEv,8,_ZN4ksys4util10TaskThread10clearQueueEv
0x00000071011f6b44,sub_71011F6B44,8,_ZN4ksys4util10TaskThread4lockEPNS0_13TaskQueueLockE
0x00000071011f6b4c,Thread::peekMessage,64,_ZNK4ksys4util10TaskThread33isActiveAndReceivedQueueUpdateMsgEv
0x00000071011f6b8c,Thread::y,12,_ZNK4ksys4util10TaskThread8isPausedEv
0x00000071011f6b98,Thread::peekIs1,36,_ZNK4ksys4util10TaskThread23receivedQueueUpdatedMsgEv
@ -90948,6 +90957,7 @@
0x0000007101209114,res::ResourceMgrTask::copyExtensionAndRemoveS,292,
0x0000007101209238,res::ResourceMgrTask::submitLoadForSyncRequest,2240,
0x0000007101209b08,res::ResourceMgrTask::submitUnloadRequest,332,
0x0000007101209c54,res::ResourceMgrTask::requestUnloadForSync,388,
0x0000007101209dd8,res::ResourceMgrTask::a,128,_ZN4ksys3res15ResourceMgrTask12registerUnitEPNS0_12ResourceUnitE
0x0000007101209e58,res::ResourceMgrTask::b,128,_ZN4ksys3res15ResourceMgrTask14deregisterUnitEPNS0_12ResourceUnitE
0x0000007101209ed8,res::ResourceMgrTask::clearCache,464,_ZN4ksys3res15ResourceMgrTask17requestClearCacheEPPNS0_12ResourceUnitEPNS_4util4TaskE
@ -91063,8 +91073,10 @@
0x0000007101210994,ResourceBinder::f,240,
0x0000007101210a84,ResourceBinder::readFilePathAndMakeHeapAndPrepareLoadIfArchive,664,
0x0000007101210d1c,ResourceBinder::prepareLoad,3548,
0x0000007101211af8,ResourceBinder::requestPrepareLoad,256,
0x0000007101211bf8,ResourceBinder::e,272,
0x0000007101211e78,ResourceBinder::h,120,
0x0000007101212060,ResourceBinder::unload,1856,
0x00000071012127a0,ResourceBinder::clearCacheUnloadDestroyDev,976,
0x0000007101212d74,res::clearCacheAndDeleteUnit,456,
0x0000007101212ff8,ResourceBinder::rtti1,112,_ZNK4ksys3res12ResourceUnit27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
@ -93295,6 +93307,7 @@
0x00000071012bd668,sub_71012BD668,52,
0x00000071012bd69c,sub_71012BD69C,32,
0x00000071012bd6bc,sub_71012BD6BC,128,
0x00000071012bd73c,sub_71012BD73C,84,
0x00000071012bd790,sub_71012BD790,92,
0x00000071012bd7ec,sub_71012BD7EC,196,
0x00000071012bd8b0,sub_71012BD8B0,352,

Can't render this file because it is too large.

37
tools/add_missing_functions.py Executable file
View File

@ -0,0 +1,37 @@
#!/usr/bin/env python3
import argparse
import csv
import sys
from pathlib import Path
from typing import Set, List
from util import utils
def main() -> None:
parser = argparse.ArgumentParser()
parser.add_argument("csv_path", help="Path to function CSV to merge")
args = parser.parse_args()
csv_path = Path(args.csv_path)
known_fn_addrs: Set[int] = {func.addr for func in utils.get_functions()}
new_fns: List[utils.FunctionInfo] = []
for func in utils.get_functions(csv_path):
if func.addr not in known_fn_addrs:
new_fns.append(func)
new_fn_list: List[utils.FunctionInfo] = []
new_fn_list.extend(utils.get_functions())
new_fn_list.extend(new_fns)
new_fn_list.sort(key=lambda func: func.addr)
# Output the modified function CSV.
writer = csv.writer(sys.stdout, lineterminator="\n")
for func in new_fn_list:
writer.writerow(func.raw_row)
if __name__ == "__main__":
main()