New object database representation and Hopper import script
This commit is contained in:
commit
2fba10ed1b
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,196 @@
|
|||
.text
|
||||
80003100 00000030 80003100 0 __check_pad3
|
||||
80003130 00000010 80003130 0 start
|
||||
80003140 00000138 80003140 0 __start
|
||||
80003278 0000001C 80003278 0 __init_registers
|
||||
80003294 000000C0 80003294 0 __init_data
|
||||
80003354 00000020 80003354 0 __init_hardware
|
||||
80003374 00000034 80003374 0 __flush_cache
|
||||
800033A8 00000030 800033A8 0 memset
|
||||
800033D8 000000B8 800033D8 0 __fill_mem
|
||||
80003490 00000050 80003490 0 memcpy
|
||||
80003640 00000004 80003640 0 nullsub_1
|
||||
8000367C 00000024 8000367C 0 RegisterResourceTweaks__5CMainFv
|
||||
800036A0 00000100 800036A0 0 ResetGameState__5CMainFv
|
||||
800037A0 00000130 800037A0 0 __ct__12CGameOptionsFRC12CGameOptions
|
||||
80003F84 000000F0 80003F84 0 __dt__12CGameOptionsFv
|
||||
8000480C 00000004 8000480C 0 nullsub_2
|
||||
80004DC8 00000A4C 80004DC8 0 RsMain__5CMainFiPCPCc
|
||||
80006050 00000008 80006050 0 CheckTerminate__5CMainFv
|
||||
80006058 00000004 80006058 0 nullsub_3
|
||||
8000605C 00000004 8000605C 0 nullsub_4
|
||||
80006D0C 00000070 80006D0C 0 Update__24CGameArchitectureSupportFv
|
||||
80007B38 00000174 80007B38 0 __ct__18CGameGlobalObjectsFR8IFactoryR11CSimplePool
|
||||
80008580 00000080 80008580 0 main
|
||||
80008884 00000030 80008884 0 __nw__32TOneStatic<18CGameGlobalObjects>FUiPCcPCc
|
||||
80019144 00000004 80019144 0 nullsub_25
|
||||
8001B5AC 00000004 8001B5AC 0 nullsub_17
|
||||
80034A68 00000054 80034A68 0 __ct__24CCharacterFactoryBuilderFv
|
||||
80035A04 000002C0 80035A04 0 RegisterResourceTweaks__7CTweaksFv
|
||||
80036DD4 00000030 80036DD4 0 IDFromFactory__FR11CResFactoryPCc
|
||||
80045C1C 00000004 80045C1C 0 nullsub_31
|
||||
8004B580 00000004 8004B580 0 nullsub_33
|
||||
8004B584 00000004 8004B584 0 nullsub_34
|
||||
8004B5D4 00000004 8004B5D4 0 nullsub_35
|
||||
8004C650 00000004 8004C650 0 nullsub_28
|
||||
80051134 00000004 80051134 0 nullsub_40
|
||||
80051138 00000004 80051138 0 nullsub_38
|
||||
80054484 00000004 80054484 0 nullsub_50
|
||||
80054A44 00000004 80054A44 0 nullsub_23
|
||||
8006903C 00000004 8006903C 0 nullsub_29
|
||||
80071518 00000004 80071518 0 nullsub_52
|
||||
80091530 00000010 80091530 0 SetIsFusionEnabled__12CPlayerStateFb
|
||||
800A33A8 00000244 800A33A8 0 __ct__10CAiFuncMapFv
|
||||
800BBA64 000005F0 800BBA64 0 __ct__12CTweakGunResFR12CInputStream
|
||||
800C4288 00000004 800C4288 0 nullsub_41
|
||||
800DEFDC 00000004 800DEFDC 0 nullsub_43
|
||||
800DEFE0 00000004 800DEFE0 0 nullsub_18
|
||||
800DEFE4 00000004 800DEFE4 0 nullsub_20
|
||||
80101F84 00000004 80101F84 0 nullsub_37
|
||||
80105D8C 00000004 80105D8C 0 nullsub_24
|
||||
80113B38 00000004 80113B38 0 nullsub_32
|
||||
8011AA44 00000004 8011AA44 0 nullsub_39
|
||||
801579E0 00000004 801579E0 0 nullsub_46
|
||||
801829D0 00000004 801829D0 0 nullsub_36
|
||||
80194DB0 00000004 80194DB0 0 nullsub_47
|
||||
80195EC0 00000004 80195EC0 0 nullsub_48
|
||||
801969F8 00000004 801969F8 0 nullsub_49
|
||||
801CB6B8 00000004 801CB6B8 0 nullsub_44
|
||||
801CB6BC 00000004 801CB6BC 0 nullsub_45
|
||||
801D39B8 00000008 801D39B8 0 PlayerState__10CGameStateFv
|
||||
801D4BB4 000001FC 801D4BB4 0 __ct__10CGameStateFv
|
||||
801D8DD0 00000004 801D8DD0 0 nullsub_51
|
||||
8020C7A0 00000004 8020C7A0 0 nullsub_42
|
||||
8021D130 00000014 8021D130 0 __ct__19CInGameTweakManagerFv
|
||||
8023402C 00000004 8023402C 0 nullsub_5
|
||||
8023E418 00000004 8023E418 0 nullsub_21
|
||||
8023E680 00000004 8023E680 0 nullsub_19
|
||||
802565F8 00000004 802565F8 0 nullsub_53
|
||||
802A29C8 00000004 802A29C8 0 nullsub_30
|
||||
802BD758 00000004 802BD758 0 nullsub_55
|
||||
802C0CA0 00000004 802C0CA0 0 nullsub_6
|
||||
802C648C 00000004 802C648C 0 nullsub_7
|
||||
802CA688 00000004 802CA688 0 nullsub_58
|
||||
802CA68C 00000004 802CA68C 0 nullsub_57
|
||||
802CAB0C 00000004 802CAB0C 0 nullsub_56
|
||||
802E9084 000006BC 802E9084 0 Update__11CSfxManagerFf
|
||||
80306078 00000004 80306078 0 nullsub_54
|
||||
80308660 00000004 80308660 0 nullsub_8
|
||||
803094C4 00000004 803094C4 0 nullsub_9
|
||||
8030953C 0000004C 8030953C 0 __ct__12CGraphicsSysFRC10COsContextRC10CMemorySysUiPv
|
||||
8031594C 00000054 8031594C 0 __nw__FUiPCcPCc
|
||||
8033A7D0 000000A8 8033A7D0 0 __ct__11CResFactoryFv
|
||||
8033BA48 00000194 8033BA48 0 LoadNewResourceSync__10CResLoaderFRC10SObjectTagPCc
|
||||
803408B4 00000148 803408B4 0 __ct__11CSimplePoolFR8IFactory
|
||||
80340FE4 000000E0 80340FE4 0 __ct__6CTokenFP4IObj
|
||||
8034A758 00000004 8034A758 0 nullsub_15
|
||||
8034E5A0 0000004C 8034E5A0 0 Initialize__14CMemoryCardSysFv
|
||||
80354F78 00000004 80354F78 0 nullsub_22
|
||||
8036F9B0 00000008 8036F9B0 0 PPCMfmsr
|
||||
8036F9B8 00000008 8036F9B8 0 PPCMtmsr
|
||||
8036F9C0 00000008 8036F9C0 0 PPCMfhid0
|
||||
8036F9D0 00000008 8036F9D0 0 PPCfl2cr
|
||||
8036F9D8 00000008 8036F9D8 0 PPCMtl2cr
|
||||
8036F9F0 00000014 8036F9F0 0 PPCHalt
|
||||
8036FA04 00000020 8036FA04 0 PPCMffpscr
|
||||
8036FA24 00000028 8036FA24 0 PPCMtfpscr
|
||||
8036FA4C 00000008 8036FA4C 0 PPCMfhid2
|
||||
8036FA54 00000008 8036FA54 0 PPCMthid2
|
||||
8036FA70 00000028 8036FA70 0 PPCDisableSpeculation
|
||||
8036FA98 00000008 8036FA98 0 PPCSetFpIEEEMode
|
||||
8036FAA0 00000008 8036FAA0 0 PPCSetFpNonIEEEMode
|
||||
8036FAA8 00000028 8036FAA8 0 DBInit
|
||||
8036FB28 0000001C 8036FB28 0 __DBIsExceptionMarked
|
||||
8036FB44 00000050 8036FB44 0 DBPrintf
|
||||
80371D80 000000CC 80371D80 0 DVDInit
|
||||
803741CC 000000D0 803741CC 0 DVDInquiryAsync
|
||||
8037C3AC 00000004 8037C3AC 0 nullsub_10
|
||||
8037D920 00000128 8037D920 0 ClearArena
|
||||
8037DA84 00000378 8037DA84 0 OSInit
|
||||
8037DDFC 00000280 8037DDFC 0 OSExceptionInit
|
||||
8037E07C 00000024 8037E07C 0 __OSDBIntegrator
|
||||
8037E0A4 0000001C 8037E0A4 0 __OSSetExceptionHandler
|
||||
8037E0C0 00000014 8037E0C0 0 __OSGetExceptionHandler
|
||||
8037E1C8 00000038 8037E1C8 0 __OSPSInit
|
||||
8037E200 00000014 8037E200 0 __OSGetDIConfig
|
||||
8037E214 0000002C 8037E214 0 OSRegisterVersion
|
||||
8037E240 0000004C 8037E240 0 OSInitAlarm
|
||||
8037E28C 00000010 8037E28C 0 OSCreateAlarm
|
||||
8037E29C 00000250 8037E29C 0 InsertAlarm
|
||||
8037E4EC 00000068 8037E4EC 0 OSSetAlarm
|
||||
8037E554 0000007C 8037E554 0 OSSetPeriodicAlarm
|
||||
8037E5D0 0000011C 8037E5D0 0 OSCancelAlarm
|
||||
8037E6EC 00000230 8037E6EC 0 DecrementerExceptionCallback
|
||||
8037E96C 00000008 8037E96C 0 OSGetArenaHi
|
||||
8037E974 00000008 8037E974 0 OSGetArenaLo
|
||||
8037E97C 00000008 8037E97C 0 OSSetArenaHi
|
||||
8037E984 00000008 8037E984 0 OSSetArenaLo
|
||||
8037E98C 0000002C 8037E98C 0 OSAllocFromArenaLo
|
||||
8037E9B8 000001BC 8037E9B8 0 __OSInitAudioSystem
|
||||
8037EB74 000000D8 8037EB74 0 __OSStopAudioSystem
|
||||
8037EC4C 00000014 8037EC4C 0 DCEnable
|
||||
8037EC60 0000002C 8037EC60 0 DCInvalidateRange
|
||||
8037EC8C 00000030 8037EC8C 0 DCFlushRange
|
||||
8037ECBC 00000030 8037ECBC 0 DCStoreRange
|
||||
8037ECEC 0000002C 8037ECEC 0 DCFlushRangeNoSync
|
||||
8037ED18 0000002C 8037ED18 0 DCStoreRangeNoSync
|
||||
8037ED44 0000002C 8037ED44 0 DCZeroRange
|
||||
8037ED70 00000034 8037ED70 0 ICInvalidateRange
|
||||
8037EDA4 00000010 8037EDA4 0 ICFlashInvalidate
|
||||
8037EDB4 00000014 8037EDB4 0 ICEnable
|
||||
8037EDC8 000000CC 8037EDC8 0 __LCEnable
|
||||
8037EE94 00000038 8037EE94 0 LCEnable
|
||||
8037EECC 00000028 8037EECC 0 LCDisable
|
||||
8037EF18 00000024 8037EF18 0 LCStoreBlocks
|
||||
8037EFE8 000000AC 8037EFE8 0 LCStoreData
|
||||
8037F094 0000000C 8037F094 0 LCQueueLength
|
||||
8037F0A0 00000018 8037F0A0 0 LCQueueWait
|
||||
8037F0B8 00000098 8037F0B8 0 L2GlobalInvalidate
|
||||
8037F150 00000160 8037F150 0 DMAErrorHandler
|
||||
8037F2B0 000000F4 8037F2B0 0 __OSCacheInit
|
||||
8037F3A4 00000124 8037F3A4 0 __OSLoadFPUContext
|
||||
8037F4C8 00000128 8037F4C8 0 __OSSaveFPUContext
|
||||
8037F5F8 0000005C 8037F5F8 0 OSSetCurrentContext
|
||||
8037F654 0000000C 8037F654 0 OSGetCurrentContext
|
||||
8037F660 00000080 8037F660 0 OSSaveContext
|
||||
8037F6E0 000000D8 8037F6E0 0 OSLoadContext
|
||||
8037F7B8 00000008 8037F7B8 0 OSGetStackPointer
|
||||
8037F7F0 00000024 8037F7F0 0 OSClearContext
|
||||
8037F814 000002A8 8037F814 0 OSDumpContext
|
||||
8037FABC 00000084 8037FABC 0 OSSwitchFPUContext
|
||||
8037FB40 00000048 8037FB40 0 __OSContextInit
|
||||
8037FB88 00000080 8037FB88 0 OSReport
|
||||
8037FC08 0000012C 8037FC08 0 OSPanic
|
||||
8037FD34 00000218 8037FD34 0 OSSetErrorHandler
|
||||
8037FF4C 000002E8 8037FF4C 0 __OSUnhandledException
|
||||
8038183C 00000014 8038183C 0 OSDisableInterrupts
|
||||
80381850 00000014 80381850 0 OSEnableInterrupts
|
||||
80381864 00000024 80381864 0 OSRestoreInterrupts
|
||||
80381888 0000001C 80381888 0 __OSSetInterruptHandler
|
||||
803818B8 00000074 803818B8 0 __OSInterruptInit
|
||||
803820A8 00000004 803820A8 0 nullsub_27
|
||||
803820AC 00000004 803820AC 0 nullsub_26
|
||||
803829D4 00000018 803829D4 0 __OSModuleInit
|
||||
803833D0 00000278 803833D0 0 OSResetSystem
|
||||
80383678 000000F4 80383678 0 __OSResetSWInterruptHandler
|
||||
803845E0 00000064 803845E0 0 __OSInitSystemCall
|
||||
80384648 00000158 80384648 0 __OSThreadInit
|
||||
803847BC 00000040 803847BC 0 OSDisableScheduler_0
|
||||
803847FC 00000040 803847FC 0 OSDisableScheduler
|
||||
80384CC8 00000030 80384CC8 0 __OSReschedule
|
||||
80385584 00000018 80385584 0 OSGetTime
|
||||
8038559C 00000008 8038559C 0 OSGetTick
|
||||
803855A4 00000064 803855A4 0 __OSGetSystemTime
|
||||
80385608 00000058 80385608 0 __OSTimeToSystemTime
|
||||
80385A00 00000020 80385A00 0 __init_user
|
||||
80389B30 0000005C 80389B30 0 __cvt_fp2unsigned
|
||||
80389DA8 00000138 80389DA8 0 __div2i
|
||||
8038E010 0000007C 8038E010 0 vprintf
|
||||
8039D434 00000004 8039D434 0 nullsub_60
|
||||
803B0D98 00000004 803B0D98 0 nullsub_11
|
||||
803B3EE4 00000004 803B3EE4 0 nullsub_16
|
||||
803B40E0 00000004 803B40E0 0 nullsub_59
|
||||
803B46CC 00000004 803B46CC 0 nullsub_12
|
||||
803B525C 00000004 803B525C 0 nullsub_13
|
||||
803B7D70 00000004 803B7D70 0 nullsub_14
|
||||
803BF17C 000000B4 803BF17C 0 SIInit
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,47 @@
|
|||
doc = Document.getCurrentDocument()
|
||||
file_path = Document.askFile('Select Object File', None, False)
|
||||
if file_path is not None:
|
||||
with open(file_path, 'r') as file:
|
||||
while True:
|
||||
l = file.readline()
|
||||
if l is None:
|
||||
break
|
||||
parts = l.split(' ', 3)
|
||||
address = int(parts[0], 16)
|
||||
segment = doc.getSegmentAtAddress(address)
|
||||
if segment is None:
|
||||
continue
|
||||
if parts[1] == 'FUNC':
|
||||
segment.markAsProcedure(address)
|
||||
elif parts[1] == 'STR':
|
||||
segment.setTypeAtAddress(address, parts[2], Segment.TYPE_ASCII)
|
||||
elif parts[1] == 'WSTR':
|
||||
segment.setTypeAtAddress(address, parts[2], Segment.TYPE_UNICODE)
|
||||
elif parts[1] == 'BYTE':
|
||||
if parts[2]:
|
||||
segment.setTypeAtAddress(address, parts[2], Segment.TYPE_INT8)
|
||||
else:
|
||||
segment.setTypeAtAddress(address, 1, Segment.TYPE_INT8)
|
||||
elif parts[1] == 'WORD':
|
||||
if parts[2]:
|
||||
segment.setTypeAtAddress(address, parts[2], Segment.TYPE_INT16)
|
||||
else:
|
||||
segment.setTypeAtAddress(address, 2, Segment.TYPE_INT16)
|
||||
elif parts[1] == 'DWORD':
|
||||
if parts[2]:
|
||||
segment.setTypeAtAddress(address, parts[2], Segment.TYPE_INT32)
|
||||
else:
|
||||
segment.setTypeAtAddress(address, 4, Segment.TYPE_INT32)
|
||||
elif parts[1] == 'FLOAT':
|
||||
if parts[2]:
|
||||
segment.setTypeAtAddress(address, parts[2], Segment.TYPE_INT32)
|
||||
else:
|
||||
segment.setTypeAtAddress(address, 4, Segment.TYPE_INT32)
|
||||
doc.setOperandFormat(address, 0, Document.FORMAT_FLOAT)
|
||||
elif parts[1] == 'DOUBLE':
|
||||
if parts[2]:
|
||||
segment.setTypeAtAddress(address, parts[2], Segment.TYPE_INT64)
|
||||
else:
|
||||
segment.setTypeAtAddress(address, 8, Segment.TYPE_INT64)
|
||||
doc.setOperandFormat(address, 0, Document.FORMAT_FLOAT)
|
||||
segment.setNameAtAddress(address, parts[3])
|
Loading…
Reference in New Issue