diff --git a/config/GMPE01_00/rels/w10Dll/splits.txt b/config/GMPE01_00/rels/w10Dll/splits.txt index 531cd645..1a8de7f9 100644 --- a/config/GMPE01_00/rels/w10Dll/splits.txt +++ b/config/GMPE01_00/rels/w10Dll/splits.txt @@ -5,3 +5,26 @@ Sections: .rodata type:rodata align:8 .data type:data align:8 .bss type:bss align:8 + +REL/w10Dll/w10Dll_init.c: + .text start:0x00000000 end:0x000000E0 + +REL/w10Dll/w10Dll.c: + .text start:0x000000E0 end:0x00000AEC + .rodata start:0x00000000 end:0x00000038 + .data start:0x00000000 end:0x00000078 + .bss start:0x00000000 end:0x00000038 + +REL/w10Dll/w10Dll2.c: + .text start:0x00000AEC end:0x00000D2C + .rodata start:0x00000038 end:0x00000048 + .data start:0x00000078 end:0x00000098 + +REL/w10Dll/w10Dll3.c: + .text start:0x00000D2C end:0x0000176C + .rodata start:0x00000048 end:0x00000050 + +REL/w10Dll/w10Dll4.c: + .text start:0x0000176C end:0x0000206C + .rodata start:0x00000050 end:0x00000070 + .data start:0x00000098 end:0x000002D4 diff --git a/config/GMPE01_00/rels/w10Dll/symbols.txt b/config/GMPE01_00/rels/w10Dll/symbols.txt index c99d83da..856dd9b1 100644 --- a/config/GMPE01_00/rels/w10Dll/symbols.txt +++ b/config/GMPE01_00/rels/w10Dll/symbols.txt @@ -15,7 +15,7 @@ fn_1_AEC = .text:0x00000AEC; // type:function size:0xB4 fn_1_BA0 = .text:0x00000BA0; // type:function size:0x70 fn_1_C10 = .text:0x00000C10; // type:function size:0x10 fn_1_C20 = .text:0x00000C20; // type:function size:0x10C -fn_1_D2C = .text:0x00000D2C; // type:function size:0x28 +fn_1_D2C = .text:0x00000D2C; // type:function size:0x28 scope:local fn_1_D54 = .text:0x00000D54; // type:function size:0x28 fn_1_D7C = .text:0x00000D7C; // type:function size:0x28 fn_1_DA4 = .text:0x00000DA4; // type:function size:0x28 @@ -65,26 +65,26 @@ fn_1_1E3C = .text:0x00001E3C; // type:function size:0x174 fn_1_1FB0 = .text:0x00001FB0; // type:function size:0xBC _ctors = .ctors:0x00000000; // type:label scope:global data:4byte _dtors = .dtors:0x00000000; // type:label scope:global data:4byte -lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float -lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float -lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float -lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float -lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float -lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 data:double -lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float -lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float -lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float -lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float -lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 data:float -lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float -lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float -lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float -lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float -lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float -lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float -lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float -lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double -lbl_1_data_0 = .data:0x00000000; // type:object size:0x28 +lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float +lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float +lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float +lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float +lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:double +lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float +lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float +lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float +lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x8 scope:local data:float +lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float +lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float +lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float +lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float +lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float +lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float +lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double +lbl_1_data_0 = .data:0x00000000; // type:object size:0x28 data:float lbl_1_data_28 = .data:0x00000028; // type:object size:0x2 data:2byte lbl_1_data_2A = .data:0x0000002A; // type:object size:0x2 data:2byte lbl_1_data_2C = .data:0x0000002C; // type:object size:0x2 data:2byte @@ -96,13 +96,14 @@ lbl_1_data_5C = .data:0x0000005C; // type:object size:0x8 lbl_1_data_64 = .data:0x00000064; // type:object size:0x8 lbl_1_data_6C = .data:0x0000006C; // type:object size:0xC lbl_1_data_78 = .data:0x00000078; // type:object size:0x8 -lbl_1_data_80 = .data:0x00000080; // type:object size:0x18 -lbl_1_data_98 = .data:0x00000098; // type:object size:0x2E +lbl_1_data_80 = .data:0x00000080; // type:object size:0x18 data:float +lbl_1_data_98 = .data:0x00000098; // type:object size:0x2E data:string lbl_1_data_C6 = .data:0x000000C6; // type:object size:0x42 lbl_1_data_108 = .data:0x00000108; // type:object size:0x150 lbl_1_data_258 = .data:0x00000258; // type:object size:0x50 data:string lbl_1_data_2A8 = .data:0x000002A8; // type:object size:0x2C -lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x8 data:4byte +lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte +lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x2 data:2byte lbl_1_bss_E = .bss:0x0000000E; // type:object size:0x2 data:2byte diff --git a/config/GMPE01_00/splits.txt b/config/GMPE01_00/splits.txt index f852caa0..3c8869ec 100644 --- a/config/GMPE01_00/splits.txt +++ b/config/GMPE01_00/splits.txt @@ -120,6 +120,30 @@ game/hsfman.c: .sdata2 start:0x801D4AB0 end:0x801D4B10 .sbss2 start:0x801D6BE0 end:0x801D6BE8 +game/hsfmotion.c: + .text start:0x800250E8 end:0x80028B04 + .data start:0x8012D658 end:0x8012D838 + .bss start:0x8018D3D0 end:0x8018DBD0 + .sbss start:0x801D3C60 end:0x801D3C68 + .sdata2 start:0x801D4B10 end:0x801D4B60 + +game/hsfanim.c: + .text start:0x80028B04 end:0x8002CB74 + .data start:0x8012D838 end:0x8012D8F8 + .bss start:0x8018DBD0 end:0x8018F790 + .sdata2 start:0x801D4B60 end:0x801D4BE8 + +game/hsfex.c: + .text start:0x8002CB74 end:0x8002E74C + .data start:0x8012D8F8 end:0x8012D918 + .sdata2 start:0x801D4BE8 end:0x801D4C78 + +game/perf.c: + .text start:0x8002E74C end:0x8002EBD8 + .bss start:0x8018F790 end:0x8018FB38 + .sdata start:0x801D3488 end:0x801D3498 + .sbss start:0x801D3C68 end:0x801D3CC0 + game/objmain.c: .text start:0x8002EBD8 end:0x8002FF4C .data start:0x8012D918 end:0x8012DCC8 @@ -135,14 +159,82 @@ game/fault.c: .sdata start:0x801D34A0 end:0x801D34B0 .sbss start:0x801D3CF0 end:0x801D3D00 -game/ovllist.c: - .data start:0x8012F790 end:0x80130100 +game/gamework.c: + .text start:0x800308B8 end:0x800315BC + .rodata start:0x8011DD30 end:0x8011DD50 + .bss start:0x8018FC10 end:0x80190008 + +game/objsysobj.c: + .text start:0x800315BC end:0x80031DB4 + .bss start:0x80190008 end:0x801901E0 + .sbss start:0x801D3D00 end:0x801D3D08 + .sdata2 start:0x801D4CA0 end:0x801D4CB0 + +game/objdll.c: + .text start:0x80031DB4 end:0x800325F4 + .data start:0x8012E4F0 end:0x8012E988 + .bss start:0x801901E0 end:0x80190230 + .sbss start:0x801D3D08 end:0x801D3D10 game/frand.c: .text start:0x800325F4 end:0x80032830 .sbss start:0x801D3D10 end:0x801D3D18 .sdata2 start:0x801D4CB0 end:0x801D4CC0 +game/audio.c: + .text start:0x80032830 end:0x80033EEC + .data start:0x8012E988 end:0x8012F130 + .bss start:0x80190230 end:0x80190450 + .sdata start:0x801D34B0 end:0x801D34B8 + .sbss start:0x801D3D18 end:0x801D3D48 + .sdata2 start:0x801D4CC0 end:0x801D4CD0 + +game/EnvelopeExec.c: + .text start:0x80033EEC end:0x800353AC + .sbss start:0x801D3D48 end:0x801D3D78 + .sdata2 start:0x801D4CD0 end:0x801D4CE8 + +game/minigame_seq.c: + .text start:0x800353AC end:0x8003F8B8 + .data start:0x8012F130 end:0x8012F790 + .bss start:0x80190450 end:0x80190860 + .sdata start:0x801D34B8 end:0x801D35C0 + .sbss start:0x801D3D78 end:0x801D3D98 + .sdata2 start:0x801D4CE8 end:0x801D4EA8 + +game/ovllist.c: + .data start:0x8012F790 end:0x80130100 + +game/esprite.c: + .text start:0x8003F8B8 end:0x8003FF68 + .bss start:0x80190860 end:0x80192060 + .sbss start:0x801D3D98 end:0x801D3DA0 + +game/code_8003FF68.c: + .text start:0x8003FF68 end:0x80040500 + .data start:0x80130100 end:0x80130120 + .bss start:0x80192060 end:0x80192360 + .sdata start:0x801D35C0 end:0x801D35E0 + .sdata2 start:0x801D4EA8 end:0x801D4EC0 + +game/ClusterExec.c: + .text start:0x80040500 end:0x80040D60 + .sdata2 start:0x801D4EC0 end:0x801D4ED0 + +game/ShapeExec.c: + .text start:0x80040D60 end:0x80041170 + .sdata2 start:0x801D4ED0 end:0x801D4EE0 + +game/wipe.c: + .text start:0x80041170 end:0x8004207C + .data start:0x80130120 end:0x80130138 + .bss start:0x80192360 end:0x801923C0 + .sdata start:0x801D35E0 end:0x801D35E8 + .sdata2 start:0x801D4EE0 end:0x801D4F08 + +dolphin/os/__start.c: + .init start:0x80003100 end:0x80003354 + game/window.c: .text start:0x8004207C end:0x800483A0 .data start:0x80130140 end:0x80130688 @@ -165,6 +257,180 @@ game/armem.c: .bss start:0x801967E0 end:0x80196EC0 .sbss start:0x801D3E00 end:0x801D3E10 +game/code_800498F0.c: + .text start:0x800498F0 end:0x80050C5C + .data start:0x801307C8 end:0x801311E8 + .bss start:0x80196EC0 end:0x80197650 + .sdata start:0x801D35F0 end:0x801D3638 + .sbss start:0x801D3E10 end:0x801D3E18 + .sdata2 start:0x801D4F98 end:0x801D50D0 + +game/mapspace.c: + .text start:0x80050C5C end:0x80054A00 + .bss start:0x80197650 end:0x80197AB8 + .sbss start:0x801D3E18 end:0x801D3E38 + .sdata2 start:0x801D50D0 end:0x801D5100 + +game/THPSimple.c: + .text start:0x80054A00 end:0x80056B04 + .data start:0x801311E8 end:0x801312E8 + .bss start:0x80197AC0 end:0x801981A0 + .sdata start:0x801D3638 end:0x801D3640 + .sbss start:0x801D3E38 end:0x801D3E58 + .sdata2 start:0x801D5100 end:0x801D5108 + +game/THPDraw.c: + .text start:0x80056B04 end:0x8005745C + .sdata2 start:0x801D5108 end:0x801D5120 + +game/thpmain.c: + .text start:0x8005745C end:0x80057E24 + .rodata start:0x8011DD50 end:0x8011DD60 + .data start:0x801312E8 end:0x80131350 + .bss start:0x801981A0 end:0x801981E0 + .sbss start:0x801D3E58 end:0x801D3E80 + .sdata2 start:0x801D5120 end:0x801D5138 + +game/objsub.c: + .text start:0x80057E24 end:0x80058010 + .data start:0x80131350 end:0x80132150 + .bss start:0x801981E0 end:0x80198410 + +game/flag.c: + .text start:0x80058010 end:0x80058228 + .bss start:0x80198410 end:0x80198420 + +dolphin/PPCArch.c: + .text start:0x800B42F4 end:0x800B439C + +dolphin/os/OS.c: + .text start:0x800B439C end:0x800B4CF8 + .data start:0x8013B560 end:0x8013B720 + .bss start:0x801A5300 end:0x801A5350 + .sbss start:0x801D42B0 end:0x801D42E0 + +dolphin/os/OSAlarm.c: + .text start:0x800B4CF8 end:0x800B53A4 + .sbss start:0x801D42E0 end:0x801D42E8 + +dolphin/os/OSAlloc.c: + .text start:0x800B53A4 end:0x800B5D9C + .data start:0x8013B720 end:0x8013BAB8 + .sdata start:0x801D38B8 end:0x801D38C0 + .sbss start:0x801D42E8 end:0x801D42F8 + +dolphin/os/OSArena.c: + .text start:0x800B5D9C end:0x800B5DBC + .sdata start:0x801D38C0 end:0x801D38C8 + .sbss start:0x801D42F8 end:0x801D4300 + +dolphin/os/OSAudioSystem.c: + .text start:0x800B5DBC end:0x800B6050 + .data start:0x8013BAB8 end:0x8013BB38 + +dolphin/os/OSCache.c: + .text start:0x800B6050 end:0x800B66E8 + .data start:0x8013BB38 end:0x8013BD68 + +dolphin/os/OSContext.c: + .text start:0x800B66E8 end:0x800B6F48 + .data start:0x8013BD68 end:0x8013BF40 + +dolphin/os/OSError.c: + .text start:0x800B6F48 end:0x800B71E4 + .data start:0x8013BF40 end:0x8013C260 + .bss start:0x801A5350 end:0x801A5390 + .sdata start:0x801D38C8 end:0x801D38D0 + +dolphin/os/OSFont.c: + .text start:0x800B71E4 end:0x800B723C + .sdata start:0x801D38D0 end:0x801D38D8 + +dolphin/os/OSInterrupt.c: + .text start:0x800B723C end:0x800B7AA8 + .data start:0x8013C260 end:0x8013C290 + .sbss start:0x801D4300 end:0x801D4318 + +dolphin/os/OSLink.c: + .text start:0x800B7AA8 end:0x800B822C + .data start:0x8013C290 end:0x8013C2E0 + +dolphin/os/OSMessage.c: + .text start:0x800B822C end:0x800B828C + +dolphin/os/OSMemory.c: + .text start:0x800B828C end:0x800B8584 + .data start:0x8013C2E0 end:0x8013C2F0 + +dolphin/os/OSMutex.c: + .text start:0x800B8584 end:0x800B85F4 + +dolphin/os/OSReboot.c: + .text start:0x800B85F4 end:0x800B8800 + .bss start:0x801A53A0 end:0x801A53C0 + .sbss start:0x801D4318 end:0x801D4328 + +dolphin/os/OSReset.c: + .text start:0x800B8800 end:0x800B8BE4 + .sbss start:0x801D4328 end:0x801D4330 + +dolphin/os/OSResetSW.c: + .text start:0x800B8BE4 end:0x800B8F70 + .sbss start:0x801D4330 end:0x801D4350 + +dolphin/os/OSRtc.c: + .text start:0x800B8F70 end:0x800B999C + .bss start:0x801A53C0 end:0x801A5418 + +dolphin/os/OSStopwatch.c: + .text start:0x800B999C end:0x800B9D0C + .data start:0x8013C2F0 end:0x8013C368 + +dolphin/os/OSSync.c: + .text start:0x800B9D0C end:0x800B9D90 + +dolphin/os/OSThread.c: + .text start:0x800B9D90 end:0x800BAE5C + .bss start:0x801A5418 end:0x801A5E00 + .sbss start:0x801D4350 end:0x801D4360 + +dolphin/os/OSTime.c: + .text start:0x800BAE5C end:0x800BB280 + .data start:0x8013C368 end:0x8013C3C8 + +dolphin/os/__ppc_eabi_init.c: + .init start:0x80003354 end:0x800033A8 + .text start:0x800BB280 end:0x800BB314 + +dolphin/db.c: + .text start:0x800BB314 end:0x800BB400 + .data start:0x8013C3C8 end:0x8013C3E0 + .sbss start:0x801D4360 end:0x801D4368 + +dolphin/mtx/mtx.c: + .text start:0x800BB400 end:0x800BBCB0 + .sdata start:0x801D38D8 end:0x801D38E0 + .sdata2 start:0x801D6350 end:0x801D6368 + +dolphin/mtx/mtxvec.c: + .text start:0x800BBCB0 end:0x800BBDE4 + +dolphin/mtx/mtx44.c: + .text start:0x800BBDE4 end:0x800BBF4C + .sdata2 start:0x801D6368 end:0x801D6380 + +dolphin/mtx/vec.c: + .text start:0x800BBF4C end:0x800BC2C4 + .sdata2 start:0x801D6380 end:0x801D6390 + +dolphin/mtx/quat.c: + .text start:0x800BC2C4 end:0x800BC710 + .rodata start:0x8011E430 end:0x8011E440 + .sdata2 start:0x801D6390 end:0x801D63B8 + +dolphin/mtx/psmtx.c: + .text start:0x800BC710 end:0x800BC9E8 + Runtime.PPCEABI.H/global_destructor_chain.c: .text start:0x800E2008 end:0x800E2068 .dtors start:0x8011DCE8 end:0x8011DCEC diff --git a/config/GMPE01_00/symbols.txt b/config/GMPE01_00/symbols.txt index 8fc54a14..7224a5d9 100644 --- a/config/GMPE01_00/symbols.txt +++ b/config/GMPE01_00/symbols.txt @@ -387,29 +387,29 @@ Hu3DProjectionPosSet = .text:0x80024E40; // type:function size:0x88 Hu3DProjectionTPLvlSet = .text:0x80024EC8; // type:function size:0x38 Hu3DMipMapSet = .text:0x80024F00; // type:function size:0x1E8 Hu3DMotionInit = .text:0x800250E8; // type:function size:0x48 -fn_80025130 = .text:0x80025130; // type:function size:0xA4 +Hu3DMotionCreate = .text:0x80025130; // type:function size:0xA4 Hu3DMotionModelCreate = .text:0x800251D4; // type:function size:0xC4 Hu3DMotionKill = .text:0x80025298; // type:function size:0x114 Hu3DMotionAllKill = .text:0x800253AC; // type:function size:0x11C -fn_800254C8 = .text:0x800254C8; // type:function size:0xBC -fn_80025584 = .text:0x80025584; // type:function size:0x54 -fn_800255D8 = .text:0x800255D8; // type:function size:0x20 -fn_800255F8 = .text:0x800255F8; // type:function size:0x1C -fn_80025614 = .text:0x80025614; // type:function size:0x1C -fn_80025630 = .text:0x80025630; // type:function size:0x1C -fn_8002564C = .text:0x8002564C; // type:function size:0x1F4 +Hu3DMotionSet = .text:0x800254C8; // type:function size:0xBC +Hu3DMotionOverlaySet = .text:0x80025584; // type:function size:0x54 +Hu3DMotionOverlayReset = .text:0x800255D8; // type:function size:0x20 +Hu3DMotionOverlayTimeGet = .text:0x800255F8; // type:function size:0x1C +Hu3DMotionOverlayTimeSet = .text:0x80025614; // type:function size:0x1C +Hu3DMotionOverlaySpeedSet = .text:0x80025630; // type:function size:0x1C +Hu3DMotionShiftSet = .text:0x8002564C; // type:function size:0x1F4 Hu3DMotionShapeSet = .text:0x80025840; // type:function size:0xBC -fn_800258FC = .text:0x800258FC; // type:function size:0x1C -fn_80025918 = .text:0x80025918; // type:function size:0x2C -fn_80025944 = .text:0x80025944; // type:function size:0x1C -fn_80025960 = .text:0x80025960; // type:function size:0x44 -fn_800259A4 = .text:0x800259A4; // type:function size:0x30 +Hu3DMotionShapeIDGet = .text:0x800258FC; // type:function size:0x1C +Hu3DMotionShapeSpeedSet = .text:0x80025918; // type:function size:0x2C +Hu3DMotionShapeTimeSet = .text:0x80025944; // type:function size:0x1C +Hu3DMotionShapeMaxTimeGet = .text:0x80025960; // type:function size:0x44 +Hu3DMotionShapeStartEndSet = .text:0x800259A4; // type:function size:0x30 Hu3DMotionClusterSet = .text:0x800259D4; // type:function size:0x114 -fn_80025AE8 = .text:0x80025AE8; // type:function size:0xD0 -fn_80025BB8 = .text:0x80025BB8; // type:function size:0x20 -fn_80025BD8 = .text:0x80025BD8; // type:function size:0xC8 -fn_80025CA0 = .text:0x80025CA0; // type:function size:0x2C -fn_80025CCC = .text:0x80025CCC; // type:function size:0x2C +Hu3DMotionClusterNoSet = .text:0x80025AE8; // type:function size:0xD0 +Hu3DMotionShapeReset = .text:0x80025BB8; // type:function size:0x20 +Hu3DMotionClusterReset = .text:0x80025BD8; // type:function size:0xC8 +Hu3DMotionIDGet = .text:0x80025CA0; // type:function size:0x2C +Hu3DMotionShiftIDGet = .text:0x80025CCC; // type:function size:0x2C Hu3DMotionTimeSet = .text:0x80025CF8; // type:function size:0xF4 Hu3DMotionTimeGet = .text:0x80025DEC; // type:function size:0x2C Hu3DMotionShiftTimeGet = .text:0x80025E18; // type:function size:0x2C @@ -419,89 +419,89 @@ Hu3DMotionShiftStartEndSet = .text:0x80025F94; // type:function size:0x30 Hu3DMotionMotionMaxTimeGet = .text:0x80025FC4; // type:function size:0x8C Hu3DMotionStartEndSet = .text:0x80026050; // type:function size:0x30 Hu3DMotionEndCheck = .text:0x80026080; // type:function size:0x170 -fn_800261F0 = .text:0x800261F0; // type:function size:0x2C -fn_8002621C = .text:0x8002621C; // type:function size:0x2C -fn_80026248 = .text:0x80026248; // type:function size:0x114 -fn_8002635C = .text:0x8002635C; // type:function size:0x5C -fn_800263B8 = .text:0x800263B8; // type:function size:0x108 +Hu3DMotionSpeedSet = .text:0x800261F0; // type:function size:0x2C +Hu3DMotionShiftSpeedSet = .text:0x8002621C; // type:function size:0x2C +Hu3DMotionNoMotSet = .text:0x80026248; // type:function size:0x114 +Hu3DMotionNoMotReset = .text:0x8002635C; // type:function size:0x5C +Hu3DMotionForceSet = .text:0x800263B8; // type:function size:0x108 Hu3DMotionNext = .text:0x800264C0; // type:function size:0x798 Hu3DMotionExec = .text:0x80026C58; // type:function size:0x534 Hu3DCameraMotionExec = .text:0x8002718C; // type:function size:0xC0 Hu3DSubMotionExec = .text:0x8002724C; // type:function size:0x2A8 -fn_800274F4 = .text:0x800274F4; // type:function size:0x14C -fn_80027640 = .text:0x80027640; // type:function size:0x208 -fn_80027848 = .text:0x80027848; // type:function size:0x218 -fn_80027A60 = .text:0x80027A60; // type:function size:0x558 -fn_80027FB8 = .text:0x80027FB8; // type:function size:0x1D8 -fn_80028190 = .text:0x80028190; // type:function size:0xD8 -fn_80028268 = .text:0x80028268; // type:function size:0x70 -fn_800282D8 = .text:0x800282D8; // type:function size:0x110 -fn_800283E8 = .text:0x800283E8; // type:function size:0x200 -fn_800285E8 = .text:0x800285E8; // type:function size:0x64 -fn_8002864C = .text:0x8002864C; // type:function size:0xCC -fn_80028718 = .text:0x80028718; // type:function size:0x124 -fn_8002883C = .text:0x8002883C; // type:function size:0x19C -fn_800289D8 = .text:0x800289D8; // type:function size:0x90 -fn_80028A68 = .text:0x80028A68; // type:function size:0x9C +GetObjTRXPtr = .text:0x800274F4; // type:function size:0x14C scope:weak +SetObjMatMotion = .text:0x80027640; // type:function size:0x208 +SetObjAttrMotion = .text:0x80027848; // type:function size:0x218 +SetObjCameraMotion = .text:0x80027A60; // type:function size:0x558 +SetObjLightMotion = .text:0x80027FB8; // type:function size:0x1D8 +GetCurve = .text:0x80028190; // type:function size:0xD8 +GetConstant = .text:0x80028268; // type:function size:0x70 +GetLinear = .text:0x800282D8; // type:function size:0x110 +GetBezier = .text:0x800283E8; // type:function size:0x200 scope:weak +GetBitMap = .text:0x800285E8; // type:function size:0x64 +Hu3DJointMotion = .text:0x8002864C; // type:function size:0xCC +JointModel_Motion = .text:0x80028718; // type:function size:0x124 +Hu3DMotionCalc = .text:0x8002883C; // type:function size:0x19C +SearchObjectIndex = .text:0x800289D8; // type:function size:0x90 +SearchAttributeIndex = .text:0x80028A68; // type:function size:0x9C Hu3DAnimInit = .text:0x80028B04; // type:function size:0x7C -fn_80028B80 = .text:0x80028B80; // type:function size:0x1D0 -fn_80028D50 = .text:0x80028D50; // type:function size:0x1C4 -fn_80028F14 = .text:0x80028F14; // type:function size:0x104 +Hu3DAnimCreate = .text:0x80028B80; // type:function size:0x1D0 +Hu3DAnimLink = .text:0x80028D50; // type:function size:0x1C4 +Hu3DAnimKill = .text:0x80028F14; // type:function size:0x104 Hu3DAnimModelKill = .text:0x80029018; // type:function size:0x13C Hu3DAnimAllKill = .text:0x80029154; // type:function size:0x134 -fn_80029288 = .text:0x80029288; // type:function size:0x34 -fn_800292BC = .text:0x800292BC; // type:function size:0x38 -fn_800292F4 = .text:0x800292F4; // type:function size:0x2C -fn_80029320 = .text:0x80029320; // type:function size:0x48 -fn_80029368 = .text:0x80029368; // type:function size:0x38 +Hu3DAnimAttrSet = .text:0x80029288; // type:function size:0x34 +Hu3DAnimAttrReset = .text:0x800292BC; // type:function size:0x38 +Hu3DAnimSpeedSet = .text:0x800292F4; // type:function size:0x2C +Hu3DAnimBankSet = .text:0x80029320; // type:function size:0x48 +Hu3DAnmNoSet = .text:0x80029368; // type:function size:0x38 Hu3DAnimSet = .text:0x800293A0; // type:function size:0x240 Hu3DAnimExec = .text:0x800295E0; // type:function size:0x474 -fn_80029A54 = .text:0x80029A54; // type:function size:0x1AC -fn_80029C00 = .text:0x80029C00; // type:function size:0xE0 -fn_80029CE0 = .text:0x80029CE0; // type:function size:0x10C -fn_80029DEC = .text:0x80029DEC; // type:function size:0x44 -fn_80029E30 = .text:0x80029E30; // type:function size:0xA4 -fn_80029ED4 = .text:0x80029ED4; // type:function size:0x3C -fn_80029F10 = .text:0x80029F10; // type:function size:0x5C -fn_80029F6C = .text:0x80029F6C; // type:function size:0x54 -fn_80029FC0 = .text:0x80029FC0; // type:function size:0x348 -fn_8002A308 = .text:0x8002A308; // type:function size:0x6C -fn_8002A374 = .text:0x8002A374; // type:function size:0x6C -fn_8002A3E0 = .text:0x8002A3E0; // type:function size:0x74 -fn_8002A454 = .text:0x8002A454; // type:function size:0x80 -fn_8002A4D4 = .text:0x8002A4D4; // type:function size:0x38 -fn_8002A50C = .text:0x8002A50C; // type:function size:0x38 -fn_8002A544 = .text:0x8002A544; // type:function size:0x40 -fn_8002A584 = .text:0x8002A584; // type:function size:0x44 -fn_8002A5C8 = .text:0x8002A5C8; // type:function size:0x3C -fn_8002A604 = .text:0x8002A604; // type:function size:0x60 -fn_8002A664 = .text:0x8002A664; // type:function size:0xAD4 +Hu3DTexScrollCreate = .text:0x80029A54; // type:function size:0x1AC +Hu3DTexScrollKill = .text:0x80029C00; // type:function size:0xE0 +Hu3DTexScrollAllKill = .text:0x80029CE0; // type:function size:0x10C +Hu3DTexScrollPosSet = .text:0x80029DEC; // type:function size:0x44 +Hu3DTexScrollPosMoveSet = .text:0x80029E30; // type:function size:0xA4 +Hu3DTexScrollRotSet = .text:0x80029ED4; // type:function size:0x3C +Hu3DTexScrollRotMoveSet = .text:0x80029F10; // type:function size:0x5C +Hu3DTexScrollPauseDisableSet = .text:0x80029F6C; // type:function size:0x54 +Hu3DParticleCreate = .text:0x80029FC0; // type:function size:0x348 +Hu3DParticleScaleSet = .text:0x8002A308; // type:function size:0x6C +Hu3DParticleZRotSet = .text:0x8002A374; // type:function size:0x6C +Hu3DParticleColSet = .text:0x8002A3E0; // type:function size:0x74 +Hu3DParticleTPLvlSet = .text:0x8002A454; // type:function size:0x80 +Hu3DParticleBlendModeSet = .text:0x8002A4D4; // type:function size:0x38 +Hu3DParticleHookSet = .text:0x8002A50C; // type:function size:0x38 +Hu3DParticleAttrSet = .text:0x8002A544; // type:function size:0x40 +Hu3DParticleAttrReset = .text:0x8002A584; // type:function size:0x44 +Hu3DParticleCntSet = .text:0x8002A5C8; // type:function size:0x3C +Hu3DParticleAnimModeSet = .text:0x8002A604; // type:function size:0x60 +Hu3DParticleAttrReset = .text:0x8002A664; // type:function size:0xAD4 scope:local Hu3DParManInit = .text:0x8002B138; // type:function size:0x48 -fn_8002B180 = .text:0x8002B180; // type:function size:0x1D4 -fn_8002B354 = .text:0x8002B354; // type:function size:0x17C -fn_8002B4D0 = .text:0x8002B4D0; // type:function size:0x190 +Hu3DParManCreate = .text:0x8002B180; // type:function size:0x1D4 +Hu3DParManLink = .text:0x8002B354; // type:function size:0x17C +Hu3DParManKill = .text:0x8002B4D0; // type:function size:0x190 Hu3DParManAllKill = .text:0x8002B660; // type:function size:0x1C4 -fn_8002B824 = .text:0x8002B824; // type:function size:0x20 -fn_8002B844 = .text:0x8002B844; // type:function size:0x3C -fn_8002B880 = .text:0x8002B880; // type:function size:0x3C -fn_8002B8BC = .text:0x8002B8BC; // type:function size:0x7C -fn_8002B938 = .text:0x8002B938; // type:function size:0x40 -fn_8002B978 = .text:0x8002B978; // type:function size:0x40 -fn_8002B9B8 = .text:0x8002B9B8; // type:function size:0x34 -fn_8002B9EC = .text:0x8002B9EC; // type:function size:0x38 -fn_8002BA24 = .text:0x8002BA24; // type:function size:0x74 -fn_8002BA98 = .text:0x8002BA98; // type:function size:0x68 -fn_8002BB00 = .text:0x8002BB00; // type:function size:0xBC0 -fn_8002C6C0 = .text:0x8002C6C0; // type:function size:0x4B4 -fn_8002CB74 = .text:0x8002CB74; // type:function size:0xAC -fn_8002CC20 = .text:0x8002CC20; // type:function size:0xA14 -fn_8002D634 = .text:0x8002D634; // type:function size:0x244 -fn_8002D878 = .text:0x8002D878; // type:function size:0x40C +Hu3DParManPtrGet = .text:0x8002B824; // type:function size:0x20 +Hu3DParManPosSet = .text:0x8002B844; // type:function size:0x3C +Hu3DParManVecSet = .text:0x8002B880; // type:function size:0x3C +Hu3DParManRotSet = .text:0x8002B8BC; // type:function size:0x7C +Hu3DParManAttrSet = .text:0x8002B938; // type:function size:0x40 +Hu3DParManAttrReset = .text:0x8002B978; // type:function size:0x40 +Hu3DParManModelIDGet = .text:0x8002B9B8; // type:function size:0x34 +Hu3DParManTimeLimitSet = .text:0x8002B9EC; // type:function size:0x38 +Hu3DParManVacumeSet = .text:0x8002BA24; // type:function size:0x74 +Hu3DParManColorSet = .text:0x8002BA98; // type:function size:0x68 +ParManFunc = .text:0x8002BB00; // type:function size:0xBC0 scope:local +ParManHook = .text:0x8002C6C0; // type:function size:0x4B4 scope:local +CamMotionEx2 = .text:0x8002CB74; // type:function size:0xAC +CamMotionEx = .text:0x8002CC20; // type:function size:0xA14 +SetObjCamMotion = .text:0x8002D634; // type:function size:0x244 scope:local +InterpolateBMLine = .text:0x8002D878; // type:function size:0x40C Hu3D2Dto3D = .text:0x8002DC84; // type:function size:0x1D4 -fn_8002DE58 = .text:0x8002DE58; // type:function size:0x1D0 -fn_8002E028 = .text:0x8002E028; // type:function size:0x1C -fn_8002E044 = .text:0x8002E044; // type:function size:0x540 -fn_8002E584 = .text:0x8002E584; // type:function size:0x1C8 +Hu3D3Dto2D = .text:0x8002DE58; // type:function size:0x1D0 +Hu3DMtxTransGet = .text:0x8002E028; // type:function size:0x1C +Hu3DMtxRotGet = .text:0x8002E044; // type:function size:0x540 +Hu3DMtxScaleGet = .text:0x8002E584; // type:function size:0x1C8 HuPerfInit = .text:0x8002E74C; // type:function size:0x94 HuPerfCreate = .text:0x8002E7E0; // type:function size:0x130 HuPerfZero = .text:0x8002E910; // type:function size:0x40 @@ -543,36 +543,36 @@ XFB_puts = .text:0x800302D0; // type:function size:0xF4 XFB_putcS = .text:0x800303C4; // type:function size:0x150 XFB_putcProgressive = .text:0x80030514; // type:function size:0x1F0 XFB_putcInterlace = .text:0x80030704; // type:function size:0x1B4 -fn_800308B8 = .text:0x800308B8; // type:function size:0x14C -fn_80030A04 = .text:0x80030A04; // type:function size:0x318 -fn_80030D1C = .text:0x80030D1C; // type:function size:0x4C -fn_80030D68 = .text:0x80030D68; // type:function size:0x54 -fn_80030DBC = .text:0x80030DBC; // type:function size:0x18 -fn_80030DD4 = .text:0x80030DD4; // type:function size:0x140 -fn_80030F14 = .text:0x80030F14; // type:function size:0x24 -fn_80030F38 = .text:0x80030F38; // type:function size:0x38 -fn_80030F70 = .text:0x80030F70; // type:function size:0x14 -fn_80030F84 = .text:0x80030F84; // type:function size:0x1C -fn_80030FA0 = .text:0x80030FA0; // type:function size:0x18 -fn_80030FB8 = .text:0x80030FB8; // type:function size:0x1C -fn_80030FD4 = .text:0x80030FD4; // type:function size:0x18 -fn_80030FEC = .text:0x80030FEC; // type:function size:0x5C -fn_80031048 = .text:0x80031048; // type:function size:0x1C -fn_80031064 = .text:0x80031064; // type:function size:0x20 -fn_80031084 = .text:0x80031084; // type:function size:0x6C -fn_800310F0 = .text:0x800310F0; // type:function size:0x5C -fn_8003114C = .text:0x8003114C; // type:function size:0x6C -fn_800311B8 = .text:0x800311B8; // type:function size:0x5C -fn_80031214 = .text:0x80031214; // type:function size:0x60 -fn_80031274 = .text:0x80031274; // type:function size:0x18 -fn_8003128C = .text:0x8003128C; // type:function size:0xB0 -fn_8003133C = .text:0x8003133C; // type:function size:0xD0 -fn_8003140C = .text:0x8003140C; // type:function size:0x6C -fn_80031478 = .text:0x80031478; // type:function size:0x94 -fn_8003150C = .text:0x8003150C; // type:function size:0x18 -fn_80031524 = .text:0x80031524; // type:function size:0x34 -fn_80031558 = .text:0x80031558; // type:function size:0x54 -fn_800315AC = .text:0x800315AC; // type:function size:0x10 +GWInit = .text:0x800308B8; // type:function size:0x14C +GWResetGameStat = .text:0x80030A04; // type:function size:0x318 +GWGetMessSpeed = .text:0x80030D1C; // type:function size:0x4C +GWSetMGRecord = .text:0x80030D68; // type:function size:0x54 +GWGetMGRecord = .text:0x80030DBC; // type:function size:0x18 +GWGetCharColor = .text:0x80030DD4; // type:function size:0x140 +GWSetBoardPlayCount = .text:0x80030F14; // type:function size:0x24 +GWAddBoardPlayCount = .text:0x80030F38; // type:function size:0x38 +GWGetBoardPlayCount = .text:0x80030F70; // type:function size:0x14 +GWSetBoardMaxStars = .text:0x80030F84; // type:function size:0x1C +GWGetBoardMaxStars = .text:0x80030FA0; // type:function size:0x18 +GWSetBoardMaxCoins = .text:0x80030FB8; // type:function size:0x1C +GWGetBoardMaxCoins = .text:0x80030FD4; // type:function size:0x18 +GWIncBoardWinCount = .text:0x80030FEC; // type:function size:0x5C +GWGetBoardWinCount = .text:0x80031048; // type:function size:0x1C +GWSetBoardWinCount = .text:0x80031064; // type:function size:0x20 +GWGetMGAvail = .text:0x80031084; // type:function size:0x6C +GWSetMGAvail = .text:0x800310F0; // type:function size:0x5C +GWGetMGCustom = .text:0x8003114C; // type:function size:0x6C +GWSetMGCustom = .text:0x800311B8; // type:function size:0x5C +GWResetMGCustom = .text:0x80031214; // type:function size:0x60 +GWGetCoins = .text:0x80031274; // type:function size:0x18 +GWSetCoins = .text:0x8003128C; // type:function size:0xB0 +GWAddCoins = .text:0x8003133C; // type:function size:0xD0 +GWSetStars = .text:0x8003140C; // type:function size:0x6C +GWAddStars = .text:0x80031478; // type:function size:0x94 +GWGetStars = .text:0x8003150C; // type:function size:0x18 +GWSetTotalStars = .text:0x80031524; // type:function size:0x34 +GWAddTotalStars = .text:0x80031558; // type:function size:0x54 +GWGetTotalStars = .text:0x800315AC; // type:function size:0x10 omOutView = .text:0x800315BC; // type:function size:0x238 omOutViewMulti = .text:0x800317F4; // type:function size:0x2C4 omSystemKeyCheckSetup = .text:0x80031AB8; // type:function size:0x74 @@ -593,57 +593,57 @@ frand = .text:0x800325F4; // type:function size:0xAC frandf = .text:0x800326A0; // type:function size:0xD8 frandmod = .text:0x80032778; // type:function size:0xB8 HuAudInit = .text:0x80032830; // type:function size:0x170 -fn_800329A0 = .text:0x800329A0; // type:function size:0x8 -fn_800329A8 = .text:0x800329A8; // type:function size:0x3C -fn_800329E4 = .text:0x800329E4; // type:function size:0x24 -fn_80032A08 = .text:0x80032A08; // type:function size:0x24 -fn_80032A2C = .text:0x80032A2C; // type:function size:0x4 -fn_80032A30 = .text:0x80032A30; // type:function size:0x28 -fn_80032A58 = .text:0x80032A58; // type:function size:0x3C +HuAudStreamPlay = .text:0x800329A0; // type:function size:0x8 +HuAudStreamVolSet = .text:0x800329A8; // type:function size:0x3C +HuAudStreamPauseOn = .text:0x800329E4; // type:function size:0x24 +HuAudStreamPauseOff = .text:0x80032A08; // type:function size:0x24 +HuAudStreamFadeOut = .text:0x80032A2C; // type:function size:0x4 +HuAudAllStop = .text:0x80032A30; // type:function size:0x28 +HuAudFadeOut = .text:0x80032A58; // type:function size:0x3C HuAudFXPlay = .text:0x80032A94; // type:function size:0x80 HuAudFXPlayVol = .text:0x80032B14; // type:function size:0x48 HuAudFXPlayVolPan = .text:0x80032B5C; // type:function size:0x68 -fn_80032BC4 = .text:0x80032BC4; // type:function size:0x2C -fn_80032BF0 = .text:0x80032BF0; // type:function size:0x28 -fn_80032C18 = .text:0x80032C18; // type:function size:0x30 -fn_80032C48 = .text:0x80032C48; // type:function size:0x50 -fn_80032C98 = .text:0x80032C98; // type:function size:0xA4 -fn_80032D3C = .text:0x80032D3C; // type:function size:0x134 -fn_80032E70 = .text:0x80032E70; // type:function size:0x3C -fn_80032EAC = .text:0x80032EAC; // type:function size:0x6C -fn_80032F18 = .text:0x80032F18; // type:function size:0x64 +HuAudFXStop = .text:0x80032BC4; // type:function size:0x2C +HuAudFXAllStop = .text:0x80032BF0; // type:function size:0x28 +HuAudFXFadeOut = .text:0x80032C18; // type:function size:0x30 +HuAudFXPanning = .text:0x80032C48; // type:function size:0x50 +HuAudFXListnerSet = .text:0x80032C98; // type:function size:0xA4 +HuAudFXListnerSetEX = .text:0x80032D3C; // type:function size:0x134 +HuAudFXListnerUpdate = .text:0x80032E70; // type:function size:0x3C +HuAudFXEmiterPlay = .text:0x80032EAC; // type:function size:0x6C +HuAudFXEmiterUpDate = .text:0x80032F18; // type:function size:0x64 HuAudFXListnerKill = .text:0x80032F7C; // type:function size:0x20 -fn_80032F9C = .text:0x80032F9C; // type:function size:0x2C -fn_80032FC8 = .text:0x80032FC8; // type:function size:0x28 -fn_80032FF0 = .text:0x80032FF0; // type:function size:0x54 -fn_80033044 = .text:0x80033044; // type:function size:0x58 -fn_8003309C = .text:0x8003309C; // type:function size:0x5C -fn_800330F8 = .text:0x800330F8; // type:function size:0x48 -fn_80033140 = .text:0x80033140; // type:function size:0x3C -fn_8003317C = .text:0x8003317C; // type:function size:0x5C -fn_800331D8 = .text:0x800331D8; // type:function size:0x28 -fn_80033200 = .text:0x80033200; // type:function size:0x2C -fn_8003322C = .text:0x8003322C; // type:function size:0x54 -fn_80033280 = .text:0x80033280; // type:function size:0x60 -fn_800332E0 = .text:0x800332E0; // type:function size:0x64 -fn_80033344 = .text:0x80033344; // type:function size:0x38 -fn_8003337C = .text:0x8003337C; // type:function size:0x3C -fn_800333B8 = .text:0x800333B8; // type:function size:0x28 -fn_800333E0 = .text:0x800333E0; // type:function size:0x24 -fn_80033404 = .text:0x80033404; // type:function size:0x28 +HuAudFXPauseAll = .text:0x80032F9C; // type:function size:0x2C +HuAudFXStatusGet = .text:0x80032FC8; // type:function size:0x28 +HuAudFXPitchSet = .text:0x80032FF0; // type:function size:0x54 +HuAudFXVolSet = .text:0x80033044; // type:function size:0x58 +HuAudSeqPlay = .text:0x8003309C; // type:function size:0x5C +HuAudSeqStop = .text:0x800330F8; // type:function size:0x48 +HuAudSeqFadeOut = .text:0x80033140; // type:function size:0x3C +HuAudSeqAllFadeOut = .text:0x8003317C; // type:function size:0x5C +HuAudSeqAllStop = .text:0x800331D8; // type:function size:0x28 +HuAudSeqPauseAll = .text:0x80033200; // type:function size:0x2C +HuAudSeqPause = .text:0x8003322C; // type:function size:0x54 +HuAudSeqMidiCtrlGet = .text:0x80033280; // type:function size:0x60 +HuAudSStreamPlay = .text:0x800332E0; // type:function size:0x64 +HuAudSStreamStop = .text:0x80033344; // type:function size:0x38 +HuAudSStreamFadeOut = .text:0x8003337C; // type:function size:0x3C +HuAudSStreamAllFadeOut = .text:0x800333B8; // type:function size:0x28 +HuAudSStreamAllStop = .text:0x800333E0; // type:function size:0x24 +HuAudSStreamStatGet = .text:0x80033404; // type:function size:0x28 HuAudDllSndGrpSet = .text:0x8003342C; // type:function size:0x104 HuAudSndGrpSetSet = .text:0x80033530; // type:function size:0x1A4 HuAudSndGrpSet = .text:0x800336D4; // type:function size:0x60 HuAudSndCommonGrpSet = .text:0x80033734; // type:function size:0x154 HuAudAUXSet = .text:0x80033888; // type:function size:0x58 HuAudAUXVolSet = .text:0x800338E0; // type:function size:0xC -fn_800338EC = .text:0x800338EC; // type:function size:0x294 -fn_80033B80 = .text:0x80033B80; // type:function size:0x50 -fn_80033BD0 = .text:0x80033BD0; // type:function size:0x58 -fn_80033C28 = .text:0x80033C28; // type:function size:0x50 -fn_80033C78 = .text:0x80033C78; // type:function size:0xAC -fn_80033D24 = .text:0x80033D24; // type:function size:0xD0 -fn_80033DF4 = .text:0x80033DF4; // type:function size:0x90 +HuAudVoiceInit = .text:0x800338EC; // type:function size:0x294 +HuAudPlayerVoicePlay = .text:0x80033B80; // type:function size:0x50 +HuAudPlayerVoicePlayPos = .text:0x80033BD0; // type:function size:0x58 +HuAudPlayerVoicePlayEntry = .text:0x80033C28; // type:function size:0x50 +HuAudCharVoicePlay = .text:0x80033C78; // type:function size:0xAC +HuAudCharVoicePlayPos = .text:0x80033D24; // type:function size:0xD0 +HuAudCharVoicePlayEntry = .text:0x80033DF4; // type:function size:0x90 HuSePlay = .text:0x80033E84; // type:function size:0x68 scope:local InitEnvelope = .text:0x80033EEC; // type:function size:0x1A4 SetEnvelopMtx = .text:0x80034090; // type:function size:0x23C scope:local @@ -654,49 +654,49 @@ SetEnvelop = .text:0x800344F4; // type:function size:0x9F0 scope:local SetMtx = .text:0x80034EE4; // type:function size:0x334 scope:local SetRevMtx = .text:0x80035218; // type:function size:0x11C scope:local SearchSklenton = .text:0x80035334; // type:function size:0x78 scope:local -fn_800353AC = .text:0x800353AC; // type:function size:0xBC -fn_80035468 = .text:0x80035468; // type:function size:0x188 -fn_800355F0 = .text:0x800355F0; // type:function size:0x1A4 -fn_80035794 = .text:0x80035794; // type:function size:0x100 -fn_80035894 = .text:0x80035894; // type:function size:0x88 -fn_8003591C = .text:0x8003591C; // type:function size:0x4C -fn_80035968 = .text:0x80035968; // type:function size:0x4C -fn_800359B4 = .text:0x800359B4; // type:function size:0x58 -fn_80035A0C = .text:0x80035A0C; // type:function size:0x3C -fn_80035A48 = .text:0x80035A48; // type:function size:0xA4 -fn_80035AEC = .text:0x80035AEC; // type:function size:0x4 -fn_80035AF0 = .text:0x80035AF0; // type:function size:0x8C -fn_80035B7C = .text:0x80035B7C; // type:function size:0x2E0 -fn_80035E5C = .text:0x80035E5C; // type:function size:0x69C +MGSeqInit = .text:0x800353AC; // type:function size:0xBC +MGSeqMain = .text:0x80035468; // type:function size:0x188 +CreateSeq = .text:0x800355F0; // type:function size:0x1A4 scope:local +MGSeqCreate = .text:0x80035794; // type:function size:0x100 +MGSeqGetStat = .text:0x80035894; // type:function size:0x88 +MGSeqSetPos = .text:0x8003591C; // type:function size:0x4C +MGSeqSetParam = .text:0x80035968; // type:function size:0x4C +MGSeqKill = .text:0x800359B4; // type:function size:0x58 +MGSeqKillAll = .text:0x80035A0C; // type:function size:0x3C +MGSeqIsDone = .text:0x80035A48; // type:function size:0xA4 +MGSeqDummy_80035AEC = .text:0x80035AEC; // type:function size:0x4 +MGSeqSprKill = .text:0x80035AF0; // type:function size:0x8C +SeqInitTimer = .text:0x80035B7C; // type:function size:0x2E0 scope:local +SeqUpdateTimer = .text:0x80035E5C; // type:function size:0x69C scope:local fn_800364F8 = .text:0x800364F8; // type:function size:0x3D8 fn_800368D0 = .text:0x800368D0; // type:function size:0x2F8 fn_80036BC8 = .text:0x80036BC8; // type:function size:0x188 -fn_80036D50 = .text:0x80036D50; // type:function size:0x1D0 -fn_80036F20 = .text:0x80036F20; // type:function size:0x26C -fn_8003718C = .text:0x8003718C; // type:function size:0x194 -fn_80037320 = .text:0x80037320; // type:function size:0x9D0 -fn_80037CF0 = .text:0x80037CF0; // type:function size:0x2A4 -fn_80037F94 = .text:0x80037F94; // type:function size:0xDA4 -fn_80038D38 = .text:0x80038D38; // type:function size:0xDA4 -fn_80039ADC = .text:0x80039ADC; // type:function size:0xBB8 -fn_8003A694 = .text:0x8003A694; // type:function size:0xAB4 +SeqMakeWord = .text:0x80036D50; // type:function size:0x1D0 scope:local +SeqLoadFontChar = .text:0x80036F20; // type:function size:0x26C scope:local +SeqInitMGBasic = .text:0x8003718C; // type:function size:0x194 scope:local +SeqUpdateMGBasic = .text:0x80037320; // type:function size:0x9D0 scope:local +SeqInitMGCommon = .text:0x80037CF0; // type:function size:0x2A4 scope:local +SeqUpdateMGBattle = .text:0x80037F94; // type:function size:0xDA4 scope:local +SeqUpdateMG1vs3 = .text:0x80038D38; // type:function size:0xDA4 scope:local +SeqUpdateMGStory = .text:0x80039ADC; // type:function size:0xBB8 scope:local +SeqUpdateMG2vs2 = .text:0x8003A694; // type:function size:0xAB4 scope:local fn_8003B148 = .text:0x8003B148; // type:function size:0x3C4 fn_8003B50C = .text:0x8003B50C; // type:function size:0x91C -fn_8003BE28 = .text:0x8003BE28; // type:function size:0xC84 +SeqUpdateMGBowser = .text:0x8003BE28; // type:function size:0xC84 scope:local fn_8003CAAC = .text:0x8003CAAC; // type:function size:0xDC fn_8003CB88 = .text:0x8003CB88; // type:function size:0x3DC -fn_8003CF64 = .text:0x8003CF64; // type:function size:0x8A0 -fn_8003D804 = .text:0x8003D804; // type:function size:0x72C -fn_8003DF30 = .text:0x8003DF30; // type:function size:0x774 -fn_8003E6A4 = .text:0x8003E6A4; // type:function size:0x304 -fn_8003E9A8 = .text:0x8003E9A8; // type:function size:0x6C -fn_8003EA14 = .text:0x8003EA14; // type:function size:0x94C -fn_8003F360 = .text:0x8003F360; // type:function size:0xC -fn_8003F36C = .text:0x8003F36C; // type:function size:0x40 -fn_8003F3AC = .text:0x8003F3AC; // type:function size:0xDC -fn_8003F488 = .text:0x8003F488; // type:function size:0x234 -fn_8003F6BC = .text:0x8003F6BC; // type:function size:0xD4 -fn_8003F790 = .text:0x8003F790; // type:function size:0x128 +SeqInitWin = .text:0x8003CF64; // type:function size:0x8A0 scope:local +SeqUpdateWin = .text:0x8003D804; // type:function size:0x72C scope:local +SeqInitRecord = .text:0x8003DF30; // type:function size:0x774 scope:local +SeqUpdateRecord = .text:0x8003E6A4; // type:function size:0x304 scope:local +MGSeqPauseStart = .text:0x8003E9A8; // type:function size:0x6C +SeqPauseProcFunc = .text:0x8003EA14; // type:function size:0x94C scope:local +MGSeqPauseStop = .text:0x8003F360; // type:function size:0xC +MGSeqPauseEnableCtrl = .text:0x8003F36C; // type:function size:0x40 +MGSeqPracticeStart = .text:0x8003F3AC; // type:function size:0xDC +SeqPracticeProcFunc = .text:0x8003F488; // type:function size:0x234 scope:local +SeqSEPlay = .text:0x8003F6BC; // type:function size:0xD4 scope:local +MGSeqPracticeExitCheck = .text:0x8003F790; // type:function size:0x128 espInit = .text:0x8003F8B8; // type:function size:0xA0 espEntry = .text:0x8003F958; // type:function size:0x1B0 espKill = .text:0x8003FB08; // type:function size:0x98 @@ -726,16 +726,16 @@ ClusterProc = .text:0x800409F0; // type:function size:0x160 ClusterMotionExec = .text:0x80040B50; // type:function size:0x210 SetShapeMain = .text:0x80040D60; // type:function size:0x36C scope:local ShapeProc = .text:0x800410CC; // type:function size:0xA4 -fn_80041170 = .text:0x80041170; // type:function size:0xB4 -fn_80041224 = .text:0x80041224; // type:function size:0x288 +WipeInit = .text:0x80041170; // type:function size:0xB4 +WipeExecAlways = .text:0x80041224; // type:function size:0x288 WipeCreate = .text:0x800414AC; // type:function size:0x12C -fn_800415D8 = .text:0x800415D8; // type:function size:0x28 -fn_80041600 = .text:0x80041600; // type:function size:0x10 -fn_80041610 = .text:0x80041610; // type:function size:0x8 -fn_80041618 = .text:0x80041618; // type:function size:0xFC -fn_80041714 = .text:0x80041714; // type:function size:0x31C -fn_80041A30 = .text:0x80041A30; // type:function size:0x184 -fn_80041BB4 = .text:0x80041BB4; // type:function size:0x4C8 +WipeColorSet = .text:0x800415D8; // type:function size:0x28 +WipeStatGet = .text:0x80041600; // type:function size:0x10 +WipeDummyFade = .text:0x80041610; // type:function size:0x8 scope:local +WipeNormalFade = .text:0x80041618; // type:function size:0xFC scope:local +WipeColorFill = .text:0x80041714; // type:function size:0x31C scope:local +WipeCrossFade = .text:0x80041A30; // type:function size:0x184 scope:local +WipeFrameStill = .text:0x80041BB4; // type:function size:0x4C8 scope:local HuWindowInit = .text:0x8004207C; // type:function size:0x74 HuWinInit = .text:0x800420F0; // type:function size:0x214 HuWinCreate = .text:0x80042304; // type:function size:0x544 @@ -897,64 +897,64 @@ fn_8004F8F4 = .text:0x8004F8F4; // type:function size:0x2CC fn_8004FBC0 = .text:0x8004FBC0; // type:function size:0xF80 fn_80050B40 = .text:0x80050B40; // type:function size:0x30 fn_80050B70 = .text:0x80050B70; // type:function size:0xEC -fn_80050C5C = .text:0x80050C5C; // type:function size:0x1B8 -fn_80050E14 = .text:0x80050E14; // type:function size:0x110 -fn_80050F24 = .text:0x80050F24; // type:function size:0x2A8 -fn_800511CC = .text:0x800511CC; // type:function size:0x38C -fn_80051558 = .text:0x80051558; // type:function size:0x470 -fn_800519C8 = .text:0x800519C8; // type:function size:0x5D4 -fn_80051F9C = .text:0x80051F9C; // type:function size:0xF4 -fn_80052090 = .text:0x80052090; // type:function size:0x388 -fn_80052418 = .text:0x80052418; // type:function size:0x148 -fn_80052560 = .text:0x80052560; // type:function size:0x518 -fn_80052A78 = .text:0x80052A78; // type:function size:0x994 -fn_8005340C = .text:0x8005340C; // type:function size:0xC28 -fn_80054034 = .text:0x80054034; // type:function size:0x43C -fn_80054470 = .text:0x80054470; // type:function size:0x100 -fn_80054570 = .text:0x80054570; // type:function size:0x19C -fn_8005470C = .text:0x8005470C; // type:function size:0x4C -fn_80054758 = .text:0x80054758; // type:function size:0x184 -fn_800548DC = .text:0x800548DC; // type:function size:0x124 -fn_80054A00 = .text:0x80054A00; // type:function size:0x124 -fn_80054B24 = .text:0x80054B24; // type:function size:0x54 -fn_80054B78 = .text:0x80054B78; // type:function size:0x408 -fn_80054F80 = .text:0x80054F80; // type:function size:0xC0 -fn_80055040 = .text:0x80055040; // type:function size:0x184 -fn_800551C4 = .text:0x800551C4; // type:function size:0x240 -fn_80055404 = .text:0x80055404; // type:function size:0x2A4 -fn_800556A8 = .text:0x800556A8; // type:function size:0x2A4 -fn_8005594C = .text:0x8005594C; // type:function size:0x14 -fn_80055960 = .text:0x80055960; // type:function size:0x14 -fn_80055974 = .text:0x80055974; // type:function size:0x1B8 -fn_80055B2C = .text:0x80055B2C; // type:function size:0x47C -fn_80055FA8 = .text:0x80055FA8; // type:function size:0xD8 -fn_80056080 = .text:0x80056080; // type:function size:0x104 -fn_80056184 = .text:0x80056184; // type:function size:0x5F8 -fn_8005677C = .text:0x8005677C; // type:function size:0x58 -fn_800567D4 = .text:0x800567D4; // type:function size:0x2C -fn_80056800 = .text:0x80056800; // type:function size:0x188 -fn_80056988 = .text:0x80056988; // type:function size:0x17C -fn_80056B04 = .text:0x80056B04; // type:function size:0x130 -fn_80056C34 = .text:0x80056C34; // type:function size:0x5A0 -fn_800571D4 = .text:0x800571D4; // type:function size:0x288 -fn_8005745C = .text:0x8005745C; // type:function size:0x108 -fn_80057564 = .text:0x80057564; // type:function size:0x110 -fn_80057674 = .text:0x80057674; // type:function size:0xF8 -fn_8005776C = .text:0x8005776C; // type:function size:0x100 -fn_8005786C = .text:0x8005786C; // type:function size:0xC -fn_80057878 = .text:0x80057878; // type:function size:0xC -fn_80057884 = .text:0x80057884; // type:function size:0xC -fn_80057890 = .text:0x80057890; // type:function size:0x54 +MapWall = .text:0x80050C5C; // type:function size:0x1B8 +MapWallCheck = .text:0x80050E14; // type:function size:0x110 +MapPos = .text:0x80050F24; // type:function size:0x2A8 +PolygonRangeCheck = .text:0x800511CC; // type:function size:0x38C scope:local +DefIfnnerMapCircle = .text:0x80051558; // type:function size:0x470 scope:local +CalcPPLength = .text:0x800519C8; // type:function size:0x5D4 scope:local +MapIflnnerCalc = .text:0x80051F9C; // type:function size:0xF4 scope:local +MapCalcPoint = .text:0x80052090; // type:function size:0x388 scope:local +AreaCheck = .text:0x80052418; // type:function size:0x148 scope:local +MapIflnnerTriangle = .text:0x80052560; // type:function size:0x518 scope:local +MapIflnnerQuadrangle = .text:0x80052A78; // type:function size:0x994 scope:local +GetPolygonCircleMtx = .text:0x8005340C; // type:function size:0xC28 scope:local +PrecalcPntToTriangle = .text:0x80054034; // type:function size:0x43C scope:local +Hitcheck_Triangle_with_Sphere = .text:0x80054470; // type:function size:0x100 +Hitcheck_Quadrangle_with_Sphere = .text:0x80054570; // type:function size:0x19C +DefSetHitFace = .text:0x8005470C; // type:function size:0x4C scope:local +AppendAddXZ = .text:0x80054758; // type:function size:0x184 +CharRotInv = .text:0x800548DC; // type:function size:0x124 +THPSimpleInit = .text:0x80054A00; // type:function size:0x124 +THPSimpleQuit = .text:0x80054B24; // type:function size:0x54 +THPSimpleOpen = .text:0x80054B78; // type:function size:0x408 +THPSimpleClose = .text:0x80054F80; // type:function size:0xC0 +THPSimpleCalcNeedMemory = .text:0x80055040; // type:function size:0x184 +THPSimpleSetBuffer = .text:0x800551C4; // type:function size:0x240 +__THPSimpleDVDCallback = .text:0x80055404; // type:function size:0x2A4 scope:local +THPSimplePreLoad = .text:0x800556A8; // type:function size:0x2A4 +THPSimpleAudioStart = .text:0x8005594C; // type:function size:0x14 +THPSimpleAudioStop = .text:0x80055960; // type:function size:0x14 +THPSimpleLoadStop = .text:0x80055974; // type:function size:0x1B8 +THPSimpleDecode = .text:0x80055B2C; // type:function size:0x47C +VideoDecode = .text:0x80055FA8; // type:function size:0xD8 scope:local +THPSimpleDrawCurrentFrame = .text:0x80056080; // type:function size:0x104 +MixAudio = .text:0x80056184; // type:function size:0x5F8 scope:local +THPSimpleGetVideoInfo = .text:0x8005677C; // type:function size:0x58 +THPSimpleGetTotalFrame = .text:0x800567D4; // type:function size:0x2C +THPAudioMixCallback = .text:0x80056800; // type:function size:0x188 scope:local +THPSimpleSetVolume = .text:0x80056988; // type:function size:0x17C +THPGXRestore = .text:0x80056B04; // type:function size:0x130 +THPGXYuv2RgbSetup = .text:0x80056C34; // type:function size:0x5A0 +THPGXYuv2RgbDraw = .text:0x800571D4; // type:function size:0x288 +HuTHPSprCreateVol = .text:0x8005745C; // type:function size:0x108 +HuTHPSprCreate = .text:0x80057564; // type:function size:0x110 +HuTHP3DCreateVol = .text:0x80057674; // type:function size:0xF8 +HuTHP3DCreate = .text:0x8005776C; // type:function size:0x100 +HuTHPStop = .text:0x8005786C; // type:function size:0xC +HuTHPClose = .text:0x80057878; // type:function size:0xC +HuTHPRestart = .text:0x80057884; // type:function size:0xC +HuTHPEndCheck = .text:0x80057890; // type:function size:0x54 HuTHPFrameGet = .text:0x800578E4; // type:function size:0x8 -fn_800578EC = .text:0x800578EC; // type:function size:0x20 -fn_8005790C = .text:0x8005790C; // type:function size:0x30 -fn_8005793C = .text:0x8005793C; // type:function size:0x27C -fn_80057BB8 = .text:0x80057BB8; // type:function size:0xA4 -fn_80057C5C = .text:0x80057C5C; // type:function size:0x17C -fn_80057DD8 = .text:0x80057DD8; // type:function size:0x4C -fn_80057E24 = .text:0x80057E24; // type:function size:0x5C -fn_80057E80 = .text:0x80057E80; // type:function size:0xF4 -fn_80057F74 = .text:0x80057F74; // type:function size:0x9C +HuTHPTotalFrameGet = .text:0x800578EC; // type:function size:0x20 +HuTHPSetVolume = .text:0x8005790C; // type:function size:0x30 +THPTestProc = .text:0x8005793C; // type:function size:0x27C scope:local +THPViewFunc = .text:0x80057BB8; // type:function size:0xA4 scope:local +THPViewSprFunc = .text:0x80057C5C; // type:function size:0x17C scope:local +THPDecodeFunc = .text:0x80057DD8; // type:function size:0x4C scope:local +MGGetIndex = .text:0x80057E24; // type:function size:0x5C +omGameSysInit = .text:0x80057E80; // type:function size:0xF4 +omVibrate = .text:0x80057F74; // type:function size:0x9C _CheckFlag = .text:0x80058010; // type:function size:0xA0 _SetFlag = .text:0x800580B0; // type:function size:0xA4 _ClearFlag = .text:0x80058154; // type:function size:0xA4 @@ -2033,7 +2033,7 @@ OSExceptionInit = .text:0x800B48E0; // type:function size:0x280 scope:local __OSDBINTSTART = .text:0x800B4B60; // type:label scope:global __OSDBIntegrator = .text:0x800B4B60; // type:function size:0x24 scope:local __OSDBINTEND = .text:0x800B4B84; // type:label scope:global -fn_800B4B84 = .text:0x800B4B84; // type:function size:0x4 +__OSDBJump = .text:0x800B4B84; // type:function size:0x4 scope:local __OSDBJUMPEND = .text:0x800B4B88; // type:label scope:global __OSSetExceptionHandler = .text:0x800B4B88; // type:function size:0x1C scope:global __OSGetExceptionHandler = .text:0x800B4BA4; // type:function size:0x14 scope:global @@ -2044,7 +2044,7 @@ __OSEVSetNumber = .text:0x800B4C20; // type:label scope:global data:4byte __OSEVEnd = .text:0x800B4C50; // type:label scope:global OSDefaultExceptionHandler = .text:0x800B4C54; // type:function size:0x58 scope:global __OSPSInit = .text:0x800B4CAC; // type:function size:0x38 scope:global -fn_800B4CE4 = .text:0x800B4CE4; // type:function size:0x14 +__OSGetDIConfig = .text:0x800B4CE4; // type:function size:0x14 OSInitAlarm = .text:0x800B4CF8; // type:function size:0x4C scope:global OSCreateAlarm = .text:0x800B4D44; // type:function size:0xC scope:global InsertAlarm = .text:0x800B4D50; // type:function size:0x250 scope:local @@ -2052,7 +2052,7 @@ OSSetAlarm = .text:0x800B4FA0; // type:function size:0x68 scope:global OSCancelAlarm = .text:0x800B5008; // type:function size:0x11C DecrementerExceptionCallback = .text:0x800B5124; // type:function size:0x230 scope:local DecrementerExceptionHandler = .text:0x800B5354; // type:function size:0x50 scope:local -fn_800B53A4 = .text:0x800B53A4; // type:function size:0xAC +DLInsert = .text:0x800B53A4; // type:function size:0xAC scope:local OSAllocFromHeap = .text:0x800B5450; // type:function size:0xFC OSAllocFixed = .text:0x800B554C; // type:function size:0x284 OSFreeToHeap = .text:0x800B57D0; // type:function size:0x7C @@ -2089,63 +2089,62 @@ __OSCacheInit = .text:0x800B65F4; // type:function size:0xF4 scope:global __OSLoadFPUContext = .text:0x800B66E8; // type:function size:0x124 scope:local __OSSaveFPUContext = .text:0x800B680C; // type:function size:0x128 scope:local OSSetCurrentContext = .text:0x800B6934; // type:function size:0x5C scope:global -fn_800B6990 = .text:0x800B6990; // type:function size:0xC -fn_800B699C = .text:0x800B699C; // type:function size:0x80 +OSGetCurrentContext = .text:0x800B6990; // type:function size:0xC +OSSaveContext = .text:0x800B699C; // type:function size:0x80 OSLoadContext = .text:0x800B6A1C; // type:function size:0xD8 scope:global OSClearContext = .text:0x800B6AF4; // type:function size:0x24 scope:global -fn_800B6B18 = .text:0x800B6B18; // type:function size:0xBC +OSInitContext = .text:0x800B6B18; // type:function size:0xBC OSDumpContext = .text:0x800B6BD4; // type:function size:0x2A8 scope:global OSSwitchFPUContext = .text:0x800B6E7C; // type:function size:0x84 scope:local __OSContextInit = .text:0x800B6F00; // type:function size:0x48 scope:global OSReport = .text:0x800B6F48; // type:function size:0x80 scope:global OSSetErrorHandler = .text:0x800B6FC8; // type:function size:0x1C scope:global __OSUnhandledException = .text:0x800B6FE4; // type:function size:0x200 scope:global -fn_800B71E4 = .text:0x800B71E4; // type:function size:0x58 +OSGetFontEncode = .text:0x800B71E4; // type:function size:0x58 OSDisableInterrupts = .text:0x800B723C; // type:function size:0x14 scope:global OSEnableInterrupts = .text:0x800B7250; // type:function size:0x14 scope:global OSRestoreInterrupts = .text:0x800B7264; // type:function size:0x24 scope:global __OSSetInterruptHandler = .text:0x800B7288; // type:function size:0x1C scope:global -fn_800B72A4 = .text:0x800B72A4; // type:function size:0x14 +__OSGetInterruptHandler = .text:0x800B72A4; // type:function size:0x14 __OSInterruptInit = .text:0x800B72B8; // type:function size:0x74 scope:global -fn_800B732C = .text:0x800B732C; // type:function size:0x2D8 +SetInterruptMask = .text:0x800B732C; // type:function size:0x2D8 scope:local __OSMaskInterrupts = .text:0x800B7604; // type:function size:0x88 scope:global __OSUnmaskInterrupts = .text:0x800B768C; // type:function size:0x88 scope:global -fn_800B7714 = .text:0x800B7714; // type:function size:0x344 +__OSDispatchInterrupt = .text:0x800B7714; // type:function size:0x344 ExternalInterruptHandler = .text:0x800B7A58; // type:function size:0x50 scope:local -fn_800B7AA8 = .text:0x800B7AA8; // type:function size:0x4 -fn_800B7AAC = .text:0x800B7AAC; // type:function size:0x4 -fn_800B7AB0 = .text:0x800B7AB0; // type:function size:0x274 -fn_800B7D24 = .text:0x800B7D24; // type:function size:0x250 -fn_800B7F74 = .text:0x800B7F74; // type:function size:0x20C -fn_800B8180 = .text:0x800B8180; // type:function size:0x94 +OSNotifyLink = .text:0x800B7AA8; // type:function size:0x4 scope:weak +OSNotifyUnlink = .text:0x800B7AAC; // type:function size:0x4 scope:weak +Relocate = .text:0x800B7AB0; // type:function size:0x274 scope:local +OSLink = .text:0x800B7D24; // type:function size:0x250 +Undo = .text:0x800B7F74; // type:function size:0x20C scope:local +OSUnlink = .text:0x800B8180; // type:function size:0x94 __OSModuleInit = .text:0x800B8214; // type:function size:0x18 scope:global -fn_800B822C = .text:0x800B822C; // type:function size:0x60 +OSInitMessageQueue = .text:0x800B822C; // type:function size:0x60 OSGetPhysicalMemSize = .text:0x800B828C; // type:function size:0xC OSGetConsoleSimulatedMemSize = .text:0x800B8298; // type:function size:0xC -fn_800B82A4 = .text:0x800B82A4; // type:function size:0x3C +OnReset = .text:0x800B82A4; // type:function size:0x3C scope:local MEMIntrruptHandler = .text:0x800B82E0; // type:function size:0x6C scope:local Config24MB = .text:0x800B834C; // type:function size:0x80 scope:local Config48MB = .text:0x800B83CC; // type:function size:0x80 scope:local RealMode = .text:0x800B844C; // type:function size:0x18 scope:local __OSInitMemoryProtection = .text:0x800B8464; // type:function size:0x120 scope:global -fn_800B8584 = .text:0x800B8584; // type:function size:0x70 -fn_800B85F4 = .text:0x800B85F4; // type:function size:0x2C -fn_800B8620 = .text:0x800B8620; // type:function size:0x14 -fn_800B8634 = .text:0x800B8634; // type:function size:0xC +__OSUnlockAllMutex = .text:0x800B8584; // type:function size:0x70 +Run = .text:0x800B85F4; // type:function size:0x40 scope:local +Callback = .text:0x800B8634; // type:function size:0xC scope:local __OSReboot = .text:0x800B8640; // type:function size:0x1C0 scope:global OSRegisterResetFunction = .text:0x800B8800; // type:function size:0x84 scope:global Reset = .text:0x800B8884; // type:function size:0x70 scope:local -fn_800B88F4 = .text:0x800B88F4; // type:function size:0x48 +__OSDoHotReset = .text:0x800B88F4; // type:function size:0x48 OSResetSystem = .text:0x800B893C; // type:function size:0x278 scope:global OSGetResetCode = .text:0x800B8BB4; // type:function size:0x30 scope:global __OSResetSWInterruptHandler = .text:0x800B8BE4; // type:function size:0xF4 scope:global -fn_800B8CD8 = .text:0x800B8CD8; // type:function size:0x298 -fn_800B8F70 = .text:0x800B8F70; // type:function size:0x60 -fn_800B8FD0 = .text:0x800B8FD0; // type:function size:0x118 +OSGetResetButtonState = .text:0x800B8CD8; // type:function size:0x298 +WriteSramCallback = .text:0x800B8F70; // type:function size:0x60 scope:local +WriteSram = .text:0x800B8FD0; // type:function size:0x118 scope:local __OSInitSram = .text:0x800B90E8; // type:function size:0x134 scope:global __OSLockSram = .text:0x800B921C; // type:function size:0x5C scope:global __OSLockSramEx = .text:0x800B9278; // type:function size:0x5C scope:global -fn_800B92D4 = .text:0x800B92D4; // type:function size:0x308 +UnlockSram = .text:0x800B92D4; // type:function size:0x308 scope:local __OSUnlockSram = .text:0x800B95DC; // type:function size:0x24 scope:global __OSUnlockSramEx = .text:0x800B9600; // type:function size:0x24 scope:global __OSSyncSram = .text:0x800B9624; // type:function size:0x10 scope:global @@ -2162,38 +2161,38 @@ OSCheckStopwatch = .text:0x800B9AD0; // type:function size:0x70 OSResetStopwatch = .text:0x800B9B40; // type:function size:0x28 OSDumpStopwatch = .text:0x800B9B68; // type:function size:0x1A4 __OSSystemCallVectorStart = .text:0x800B9D0C; // type:label scope:global -fn_800B9D0C = .text:0x800B9D0C; // type:function size:0x20 +SystemCallVector = .text:0x800B9D0C; // type:function size:0x20 scope:local __OSSystemCallVectorEnd = .text:0x800B9D28; // type:label scope:global __OSInitSystemCall = .text:0x800B9D2C; // type:function size:0x64 scope:global __OSThreadInit = .text:0x800B9D90; // type:function size:0x128 scope:global OSInitThreadQueue = .text:0x800B9EB8; // type:function size:0x10 scope:global -fn_800B9EC8 = .text:0x800B9EC8; // type:function size:0xC +OSGetCurrentThread = .text:0x800B9EC8; // type:function size:0xC OSDisableScheduler = .text:0x800B9ED4; // type:function size:0x40 scope:global OSEnableScheduler = .text:0x800B9F14; // type:function size:0x40 scope:global -fn_800B9F54 = .text:0x800B9F54; // type:function size:0x68 -fn_800B9FBC = .text:0x800B9FBC; // type:function size:0x3C -fn_800B9FF8 = .text:0x800B9FF8; // type:function size:0x1C0 +UnsetRun = .text:0x800B9F54; // type:function size:0x68 scope:local +__OSGetEffectivePriority = .text:0x800B9FBC; // type:function size:0x3C +SetEffectivePriority = .text:0x800B9FF8; // type:function size:0x1C0 scope:local SelectThread = .text:0x800BA1B8; // type:function size:0x200 scope:local __OSReschedule = .text:0x800BA3B8; // type:function size:0x30 scope:global -fn_800BA3E8 = .text:0x800BA3E8; // type:function size:0x3C -fn_800BA424 = .text:0x800BA424; // type:function size:0x120 -fn_800BA544 = .text:0x800BA544; // type:function size:0xE4 +OSYieldThread = .text:0x800BA3E8; // type:function size:0x3C +OSCreateThread = .text:0x800BA424; // type:function size:0x120 +OSExitThread = .text:0x800BA544; // type:function size:0xE4 OSCancelThread = .text:0x800BA628; // type:function size:0x1BC scope:global -fn_800BA7E4 = .text:0x800BA7E4; // type:function size:0x288 -fn_800BAA6C = .text:0x800BAA6C; // type:function size:0x170 +OSResumeThread = .text:0x800BA7E4; // type:function size:0x288 +OSSuspendThread = .text:0x800BAA6C; // type:function size:0x170 OSSleepThread = .text:0x800BABDC; // type:function size:0xEC OSWakeupThread = .text:0x800BACC8; // type:function size:0x104 -fn_800BADCC = .text:0x800BADCC; // type:function size:0x90 +OSSetIdleFunction = .text:0x800BADCC; // type:function size:0x90 OSGetTime = .text:0x800BAE5C; // type:function size:0x18 scope:global OSGetTick = .text:0x800BAE74; // type:function size:0x8 scope:global __OSGetSystemTime = .text:0x800BAE7C; // type:function size:0x64 scope:global -fn_800BAEE0 = .text:0x800BAEE0; // type:function size:0x19C -fn_800BB07C = .text:0x800BB07C; // type:function size:0x204 +GetDates = .text:0x800BAEE0; // type:function size:0x19C scope:local +OSTicksToCalendarTime = .text:0x800BB07C; // type:function size:0x204 __init_user = .text:0x800BB280; // type:function size:0x20 scope:global __init_cpp = .text:0x800BB2A0; // type:function size:0x54 scope:local _ExitProcess = .text:0x800BB2F4; // type:function size:0x20 scope:global DBInit = .text:0x800BB314; // type:function size:0x28 scope:global -fn_800BB33C = .text:0x800BB33C; // type:function size:0x48 +__DBExceptionDestinationAux = .text:0x800BB33C; // type:function size:0x48 scope:local __DBExceptionDestination = .text:0x800BB384; // type:function size:0x10 scope:global __DBIsExceptionMarked = .text:0x800BB394; // type:function size:0x1C scope:global DBPrintf = .text:0x800BB3B0; // type:function size:0x50 scope:global @@ -2240,88 +2239,88 @@ PSMTXReorder = .text:0x800BC884; // type:function size:0x4C PSMTXROMultVecArray = .text:0x800BC8D0; // type:function size:0x118 __DVDInitWA = .text:0x800BC9E8; // type:function size:0x40 scope:global __DVDInterruptHandler = .text:0x800BCA28; // type:function size:0x2F4 scope:global -fn_800BCD1C = .text:0x800BCD1C; // type:function size:0x84 +AlarmHandler = .text:0x800BCD1C; // type:function size:0x84 scope:local AlarmHandlerForTimeout = .text:0x800BCDA0; // type:function size:0x70 scope:local -fn_800BCE10 = .text:0x800BCE10; // type:function size:0x110 -fn_800BCF20 = .text:0x800BCF20; // type:function size:0x80 -fn_800BCFA0 = .text:0x800BCFA0; // type:function size:0x298 -fn_800BD238 = .text:0x800BD238; // type:function size:0x94 +Read = .text:0x800BCE10; // type:function size:0x110 scope:local +SeekTwiceBeforeRead = .text:0x800BCF20; // type:function size:0x80 scope:local +DVDLowRead = .text:0x800BCFA0; // type:function size:0x298 +DVDLowSeek = .text:0x800BD238; // type:function size:0x94 DVDLowWaitCoverClose = .text:0x800BD2CC; // type:function size:0x2C scope:global -fn_800BD2F8 = .text:0x800BD2F8; // type:function size:0xA4 +DVDLowReadDiskID = .text:0x800BD2F8; // type:function size:0xA4 DVDLowStopMotor = .text:0x800BD39C; // type:function size:0x8C scope:global -fn_800BD428 = .text:0x800BD428; // type:function size:0x8C -fn_800BD4B4 = .text:0x800BD4B4; // type:function size:0x9C -fn_800BD550 = .text:0x800BD550; // type:function size:0x98 -fn_800BD5E8 = .text:0x800BD5E8; // type:function size:0x8C -fn_800BD674 = .text:0x800BD674; // type:function size:0x9C +DVDLowRequestError = .text:0x800BD428; // type:function size:0x8C +DVDLowInquiry = .text:0x800BD4B4; // type:function size:0x9C +DVDLowAudioStream = .text:0x800BD550; // type:function size:0x98 +DVDLowRequestAudioStatus = .text:0x800BD5E8; // type:function size:0x8C +DVDLowAudioBufferConfig = .text:0x800BD674; // type:function size:0x9C DVDLowReset = .text:0x800BD710; // type:function size:0xBC scope:global -fn_800BD7CC = .text:0x800BD7CC; // type:function size:0x14 -fn_800BD7E0 = .text:0x800BD7E0; // type:function size:0x18 +DVDLowBreak = .text:0x800BD7CC; // type:function size:0x14 +DVDLowClearCallback = .text:0x800BD7E0; // type:function size:0x18 __DVDLowSetWAType = .text:0x800BD7F8; // type:function size:0x44 scope:global __DVDFSInit = .text:0x800BD83C; // type:function size:0x38 scope:global DVDConvertPathToEntrynum = .text:0x800BD874; // type:function size:0x2F4 DVDFastOpen = .text:0x800BDB68; // type:function size:0x74 DVDOpen = .text:0x800BDBDC; // type:function size:0xC8 DVDClose = .text:0x800BDCA4; // type:function size:0x24 -fn_800BDCC8 = .text:0x800BDCC8; // type:function size:0x160 -fn_800BDE28 = .text:0x800BDE28; // type:function size:0xC4 +entryToPath = .text:0x800BDCC8; // type:function size:0x160 scope:local +DVDGetCurrentDir = .text:0x800BDE28; // type:function size:0xC4 DVDReadAsyncPrio = .text:0x800BDEEC; // type:function size:0xC0 cbForReadAsync = .text:0x800BDFAC; // type:function size:0x30 scope:local DVDReadPrio = .text:0x800BDFDC; // type:function size:0x118 cbForReadSync = .text:0x800BE0F4; // type:function size:0x24 scope:local DVDInit = .text:0x800BE118; // type:function size:0xFC scope:global -fn_800BE214 = .text:0x800BE214; // type:function size:0x54 -fn_800BE268 = .text:0x800BE268; // type:function size:0x80 +stateReadingFST = .text:0x800BE214; // type:function size:0x54 scope:local +cbForStateReadingFST = .text:0x800BE268; // type:function size:0x80 scope:local cbForStateError = .text:0x800BE2E8; // type:function size:0xA8 scope:local -fn_800BE390 = .text:0x800BE390; // type:function size:0x9C -fn_800BE42C = .text:0x800BE42C; // type:function size:0x28 -fn_800BE454 = .text:0x800BE454; // type:function size:0xB4 -fn_800BE508 = .text:0x800BE508; // type:function size:0x294 -fn_800BE79C = .text:0x800BE79C; // type:function size:0x68 -fn_800BE804 = .text:0x800BE804; // type:function size:0x98 -fn_800BE89C = .text:0x800BE89C; // type:function size:0x28 -fn_800BE8C4 = .text:0x800BE8C4; // type:function size:0x158 -fn_800BEA1C = .text:0x800BEA1C; // type:function size:0xE4 -fn_800BEB00 = .text:0x800BEB00; // type:function size:0x34 -fn_800BEB34 = .text:0x800BEB34; // type:function size:0x38 -fn_800BEB6C = .text:0x800BEB6C; // type:function size:0x114 -fn_800BEC80 = .text:0x800BEC80; // type:function size:0xA4 -fn_800BED24 = .text:0x800BED24; // type:function size:0xFC +stateTimeout = .text:0x800BE390; // type:function size:0x9C scope:local +stateGettingError = .text:0x800BE42C; // type:function size:0x28 scope:local +CategorizeError = .text:0x800BE454; // type:function size:0xB4 scope:local +cbForStateGettingError = .text:0x800BE508; // type:function size:0x294 scope:local +cbForUnrecoveredError = .text:0x800BE79C; // type:function size:0x68 scope:local +cbForUnrecoveredErrorRetry = .text:0x800BE804; // type:function size:0x98 scope:local +stateGoToRetry = .text:0x800BE89C; // type:function size:0x28 scope:local +cbForStateGoToRetry = .text:0x800BE8C4; // type:function size:0x158 scope:local +stateCheckID = .text:0x800BEA1C; // type:function size:0xE4 scope:local +stateCheckID3 = .text:0x800BEB00; // type:function size:0x34 scope:local +stateCheckID2 = .text:0x800BEB34; // type:function size:0x38 scope:local +cbForStateCheckID1 = .text:0x800BEB6C; // type:function size:0x114 scope:local +cbForStateCheckID2 = .text:0x800BEC80; // type:function size:0xA4 scope:local +cbForStateCheckID3 = .text:0x800BED24; // type:function size:0xFC scope:local AlarmHandler = .text:0x800BEE20; // type:function size:0x44 scope:local -fn_800BEE64 = .text:0x800BEE64; // type:function size:0xCC -fn_800BEF30 = .text:0x800BEF30; // type:function size:0x30 -fn_800BEF60 = .text:0x800BEF60; // type:function size:0x70 -fn_800BEFD0 = .text:0x800BEFD0; // type:function size:0x28 +stateCoverClosed = .text:0x800BEE64; // type:function size:0xCC scope:local +stateCoverClosed_CMD = .text:0x800BEF30; // type:function size:0x30 scope:local +cbForStateCoverClosed = .text:0x800BEF60; // type:function size:0x70 scope:local +stateMotorStopped = .text:0x800BEFD0; // type:function size:0x28 scope:local cbForStateMotorStopped = .text:0x800BEFF8; // type:function size:0xE4 scope:local stateReady = .text:0x800BF0DC; // type:function size:0x248 scope:local stateBusy = .text:0x800BF324; // type:function size:0x2C0 scope:local -fn_800BF5E4 = .text:0x800BF5E4; // type:function size:0x5D4 -fn_800BFBB8 = .text:0x800BFBB8; // type:function size:0xDC -fn_800BFC94 = .text:0x800BFC94; // type:function size:0xD0 +cbForStateBusy = .text:0x800BF5E4; // type:function size:0x5D4 scope:local +DVDReadAbsAsyncPrio = .text:0x800BFBB8; // type:function size:0xDC +DVDReadAbsAsyncForBS = .text:0x800BFC94; // type:function size:0xD0 DVDReadDiskID = .text:0x800BFD64; // type:function size:0xD4 scope:global DVDInquiryAsync = .text:0x800BFE38; // type:function size:0xD0 scope:global DVDReset = .text:0x800BFF08; // type:function size:0x44 scope:global DVDGetCommandBlockStatus = .text:0x800BFF4C; // type:function size:0x4C DVDGetDriveStatus = .text:0x800BFF98; // type:function size:0xAC scope:global -fn_800C0044 = .text:0x800C0044; // type:function size:0x10 -fn_800C0054 = .text:0x800C0054; // type:function size:0x270 -fn_800C02C4 = .text:0x800C02C4; // type:function size:0xAC -fn_800C0370 = .text:0x800C0370; // type:function size:0x24 -fn_800C0394 = .text:0x800C0394; // type:function size:0x8 -fn_800C039C = .text:0x800C039C; // type:function size:0xE4 -fn_800C0480 = .text:0x800C0480; // type:function size:0x11C +DVDSetAutoInvalidation = .text:0x800C0044; // type:function size:0x10 +DVDCancelAsync = .text:0x800C0054; // type:function size:0x270 +DVDCancel = .text:0x800C02C4; // type:function size:0xAC +cbForCancelSync = .text:0x800C0370; // type:function size:0x24 scope:local +DVDGetCurrentDiskID = .text:0x800C0394; // type:function size:0x8 +DVDCheckDisk = .text:0x800C039C; // type:function size:0xE4 +__DVDPrepareResetAsync = .text:0x800C0480; // type:function size:0x11C __DVDClearWaitingQueue = .text:0x800C059C; // type:function size:0x38 scope:global __DVDPushWaitingQueue = .text:0x800C05D4; // type:function size:0x68 scope:global __DVDPopWaitingQueue = .text:0x800C063C; // type:function size:0xA0 scope:global __DVDCheckWaitingQueue = .text:0x800C06DC; // type:function size:0x58 scope:global -fn_800C0734 = .text:0x800C0734; // type:function size:0x60 +__DVDDequeueWaitingQueue = .text:0x800C0734; // type:function size:0x60 ErrorCode2Num = .text:0x800C0794; // type:function size:0x11C scope:local __DVDStoreErrorCode = .text:0x800C08B0; // type:function size:0x7C scope:global cb = .text:0x800C092C; // type:function size:0xD8 scope:local __fstLoad = .text:0x800C0A04; // type:function size:0x168 scope:global -fn_800C0B6C = .text:0x800C0B6C; // type:function size:0x228 -fn_800C0D94 = .text:0x800C0D94; // type:function size:0x44 -fn_800C0DD8 = .text:0x800C0DD8; // type:function size:0x44 +__VIRetraceHandler = .text:0x800C0B6C; // type:function size:0x228 scope:local +VISetPreRetraceCallback = .text:0x800C0D94; // type:function size:0x44 +VISetPostRetraceCallback = .text:0x800C0DD8; // type:function size:0x44 getTiming = .text:0x800C0E1C; // type:function size:0x90 __VIInit = .text:0x800C0EAC; // type:function size:0x1F8 VIInit = .text:0x800C10A4; // type:function size:0x478 @@ -2348,50 +2347,50 @@ DEMOUpdateStats = .text:0x800C3318; // type:function size:0x58 DEMOPrintStats = .text:0x800C3370; // type:function size:0x96C ClampStick = .text:0x800C3CDC; // type:function size:0x130 scope:local PADClamp = .text:0x800C3E0C; // type:function size:0x108 -fn_800C3F14 = .text:0x800C3F14; // type:function size:0x1A4 -fn_800C40B8 = .text:0x800C40B8; // type:function size:0xC4 -fn_800C417C = .text:0x800C417C; // type:function size:0xC0 -fn_800C423C = .text:0x800C423C; // type:function size:0xD8 -fn_800C4314 = .text:0x800C4314; // type:function size:0x32C -fn_800C4640 = .text:0x800C4640; // type:function size:0x134 -fn_800C4774 = .text:0x800C4774; // type:function size:0x100 -fn_800C4874 = .text:0x800C4874; // type:function size:0x104 +UpdateOrigin = .text:0x800C3F14; // type:function size:0x1A4 scope:local +PADOriginCallback = .text:0x800C40B8; // type:function size:0xC4 scope:local +PADOriginUpdateCallback = .text:0x800C417C; // type:function size:0xC0 scope:local +PADProbeCallback = .text:0x800C423C; // type:function size:0xD8 scope:local +PADTypeAndStatusCallback = .text:0x800C4314; // type:function size:0x32C scope:local +PADReceiveCheckCallback = .text:0x800C4640; // type:function size:0x134 scope:local +PADReset = .text:0x800C4774; // type:function size:0x100 +PADRecalibrate = .text:0x800C4874; // type:function size:0x104 PADInit = .text:0x800C4978; // type:function size:0x210 -fn_800C4B88 = .text:0x800C4B88; // type:function size:0x3AC -fn_800C4F34 = .text:0x800C4F34; // type:function size:0xA4 -fn_800C4FD8 = .text:0x800C4FD8; // type:function size:0x60 -fn_800C5038 = .text:0x800C5038; // type:function size:0x174 -fn_800C51AC = .text:0x800C51AC; // type:function size:0x174 -fn_800C5320 = .text:0x800C5320; // type:function size:0x3F8 -fn_800C5718 = .text:0x800C5718; // type:function size:0x194 -fn_800C58AC = .text:0x800C58AC; // type:function size:0x60 -fn_800C590C = .text:0x800C590C; // type:function size:0x54 +PADRead = .text:0x800C4B88; // type:function size:0x3AC +PADControlMotor = .text:0x800C4F34; // type:function size:0xA4 +PADSetSpec = .text:0x800C4FD8; // type:function size:0x60 +SPEC0_MakeStatus = .text:0x800C5038; // type:function size:0x174 scope:local +SPEC1_MakeStatus = .text:0x800C51AC; // type:function size:0x174 scope:local +SPEC2_MakeStatus = .text:0x800C5320; // type:function size:0x3F8 scope:local +OnReset = .text:0x800C5718; // type:function size:0x194 scope:local +SamplingHandler = .text:0x800C58AC; // type:function size:0x60 scope:local +PADSetSamplingCallback = .text:0x800C590C; // type:function size:0x54 __PADDisableRecalibration = .text:0x800C5960; // type:function size:0x7C scope:global -fn_800C59DC = .text:0x800C59DC; // type:function size:0x44 -fn_800C5A20 = .text:0x800C5A20; // type:function size:0x88 -fn_800C5AA8 = .text:0x800C5AA8; // type:function size:0x18 -fn_800C5AC0 = .text:0x800C5AC0; // type:function size:0x18 -fn_800C5AD8 = .text:0x800C5AD8; // type:function size:0x1C -fn_800C5AF4 = .text:0x800C5AF4; // type:function size:0xD8 -fn_800C5BCC = .text:0x800C5BCC; // type:function size:0x10 -fn_800C5BDC = .text:0x800C5BDC; // type:function size:0xE0 -fn_800C5CBC = .text:0x800C5CBC; // type:function size:0x14 -fn_800C5CD0 = .text:0x800C5CD0; // type:function size:0xD4 -fn_800C5DA4 = .text:0x800C5DA4; // type:function size:0x10 -fn_800C5DB4 = .text:0x800C5DB4; // type:function size:0x1C -fn_800C5DD0 = .text:0x800C5DD0; // type:function size:0x10 -fn_800C5DE0 = .text:0x800C5DE0; // type:function size:0x1C -fn_800C5DFC = .text:0x800C5DFC; // type:function size:0x10 -fn_800C5E0C = .text:0x800C5E0C; // type:function size:0x164 -fn_800C5F70 = .text:0x800C5F70; // type:function size:0x7C -fn_800C5FEC = .text:0x800C5FEC; // type:function size:0x90 -fn_800C607C = .text:0x800C607C; // type:function size:0x58 -fn_800C60D4 = .text:0x800C60D4; // type:function size:0x1E4 -fn_800C62B8 = .text:0x800C62B8; // type:function size:0x44 -fn_800C62FC = .text:0x800C62FC; // type:function size:0x3C -fn_800C6338 = .text:0x800C6338; // type:function size:0xF0 -fn_800C6428 = .text:0x800C6428; // type:function size:0x68 -fn_800C6490 = .text:0x800C6490; // type:function size:0x74 +AIRegisterDMACallback = .text:0x800C59DC; // type:function size:0x44 +AIInitDMA = .text:0x800C5A20; // type:function size:0x88 +AIStartDMA = .text:0x800C5AA8; // type:function size:0x18 +AIStopDMA = .text:0x800C5AC0; // type:function size:0x18 +AIGetDMAStartAddr = .text:0x800C5AD8; // type:function size:0x1C +AISetStreamPlayState = .text:0x800C5AF4; // type:function size:0xD8 +AIGetStreamPlayState = .text:0x800C5BCC; // type:function size:0x10 +AISetDSPSampleRate = .text:0x800C5BDC; // type:function size:0xE0 +AIGetDSPSampleRate = .text:0x800C5CBC; // type:function size:0x14 +__AI_set_stream_sample_rate = .text:0x800C5CD0; // type:function size:0xD4 scope:local +AIGetStreamSampleRate = .text:0x800C5DA4; // type:function size:0x10 +AISetStreamVolLeft = .text:0x800C5DB4; // type:function size:0x1C +AIGetStreamVolLeft = .text:0x800C5DD0; // type:function size:0x10 +AISetStreamVolRight = .text:0x800C5DE0; // type:function size:0x1C +AIGetStreamVolRight = .text:0x800C5DFC; // type:function size:0x10 +AIInit = .text:0x800C5E0C; // type:function size:0x164 +__AISHandler = .text:0x800C5F70; // type:function size:0x7C +__AIDHandler = .text:0x800C5FEC; // type:function size:0x90 +__AICallbackStackSwitch = .text:0x800C607C; // type:function size:0x58 +__AI_SRC_INIT = .text:0x800C60D4; // type:function size:0x1E4 +ARRegisterDMACallback = .text:0x800C62B8; // type:function size:0x44 +ARGetDMAStatus = .text:0x800C62FC; // type:function size:0x3C +ARStartDMA = .text:0x800C6338; // type:function size:0xF0 +ARAlloc = .text:0x800C6428; // type:function size:0x68 +ARFree = .text:0x800C6490; // type:function size:0x74 ARCheckInit = .text:0x800C6504; // type:function size:0x8 ARInit = .text:0x800C650C; // type:function size:0xBC ARSetSize = .text:0x800C65C8; // type:function size:0x4 @@ -2404,46 +2403,46 @@ __ARQCallbackHack = .text:0x800C7068; // type:function size:0x4 __ARQInterruptServiceRoutine = .text:0x800C706C; // type:function size:0xCC ARQInit = .text:0x800C7138; // type:function size:0x68 ARQPostRequest = .text:0x800C71A0; // type:function size:0x15C -fn_800C72FC = .text:0x800C72FC; // type:function size:0x10 -fn_800C730C = .text:0x800C730C; // type:function size:0x10 -fn_800C731C = .text:0x800C731C; // type:function size:0x18 -fn_800C7334 = .text:0x800C7334; // type:function size:0x14 -fn_800C7348 = .text:0x800C7348; // type:function size:0xB8 -fn_800C7400 = .text:0x800C7400; // type:function size:0x48 -fn_800C7448 = .text:0x800C7448; // type:function size:0x40 -fn_800C7488 = .text:0x800C7488; // type:function size:0x10 -fn_800C7498 = .text:0x800C7498; // type:function size:0x70 -fn_800C7508 = .text:0x800C7508; // type:function size:0x50 -fn_800C7558 = .text:0x800C7558; // type:function size:0x424 -fn_800C797C = .text:0x800C797C; // type:function size:0x1A0 -fn_800C7B1C = .text:0x800C7B1C; // type:function size:0x18C -fn_800C7CA8 = .text:0x800C7CA8; // type:function size:0xA0 -fn_800C7D48 = .text:0x800C7D48; // type:function size:0x94 -fn_800C7DDC = .text:0x800C7DDC; // type:function size:0x7C -fn_800C7E58 = .text:0x800C7E58; // type:function size:0x24 +DSPCheckMailToDSP = .text:0x800C72FC; // type:function size:0x10 +DSPCheckMailFromDSP = .text:0x800C730C; // type:function size:0x10 +DSPReadMailFromDSP = .text:0x800C731C; // type:function size:0x18 +DSPSendMailToDSP = .text:0x800C7334; // type:function size:0x14 +DSPInit = .text:0x800C7348; // type:function size:0xB8 +DSPReset = .text:0x800C7400; // type:function size:0x48 +DSPHalt = .text:0x800C7448; // type:function size:0x40 +DSPGetDMAStatus = .text:0x800C7488; // type:function size:0x10 +DSPAddTask = .text:0x800C7498; // type:function size:0x70 +__DSP_debug_printf = .text:0x800C7508; // type:function size:0x50 +__DSPHandler = .text:0x800C7558; // type:function size:0x424 +__DSP_exec_task = .text:0x800C797C; // type:function size:0x1A0 +__DSP_boot_task = .text:0x800C7B1C; // type:function size:0x18C +__DSP_insert_task = .text:0x800C7CA8; // type:function size:0xA0 +__DSP_remove_task = .text:0x800C7D48; // type:function size:0x94 +__GXDefaultTexRegionCallback = .text:0x800C7DDC; // type:function size:0x7C +__GXDefaultTlutRegionCallback = .text:0x800C7E58; // type:function size:0x24 GXInit = .text:0x800C7E7C; // type:function size:0x7CC scope:global __GXInitGX = .text:0x800C8648; // type:function size:0x884 scope:global -fn_800C8ECC = .text:0x800C8ECC; // type:function size:0x13C +GXCPInterruptHandler = .text:0x800C8ECC; // type:function size:0x13C scope:local GXInitFifoBase = .text:0x800C9008; // type:function size:0x6C scope:global -fn_800C9074 = .text:0x800C9074; // type:function size:0x70 -fn_800C90E4 = .text:0x800C90E4; // type:function size:0xC +GXInitFifoPtrs = .text:0x800C9074; // type:function size:0x70 +GXInitFifoLimits = .text:0x800C90E4; // type:function size:0xC GXSetCPUFifo = .text:0x800C90F0; // type:function size:0x110 scope:global GXSetGPFifo = .text:0x800C9200; // type:function size:0x178 scope:global -fn_800C9378 = .text:0x800C9378; // type:function size:0x20 -fn_800C9398 = .text:0x800C9398; // type:function size:0xDC +GXSaveCPUFifo = .text:0x800C9378; // type:function size:0x20 +__GXSaveCPUFifoAux = .text:0x800C9398; // type:function size:0xDC __GXFifoInit = .text:0x800C9474; // type:function size:0x4C scope:global -fn_800C94C0 = .text:0x800C94C0; // type:function size:0x28 -fn_800C94E8 = .text:0x800C94E8; // type:function size:0x24 -fn_800C950C = .text:0x800C950C; // type:function size:0x44 -fn_800C9550 = .text:0x800C9550; // type:function size:0x4C -fn_800C959C = .text:0x800C959C; // type:function size:0x4C -fn_800C95E8 = .text:0x800C95E8; // type:function size:0xFC -fn_800C96E4 = .text:0x800C96E4; // type:function size:0x8 -fn_800C96EC = .text:0x800C96EC; // type:function size:0x8 -fn_800C96F4 = .text:0x800C96F4; // type:function size:0x158 +__GXFifoReadEnable = .text:0x800C94C0; // type:function size:0x28 +__GXFifoReadDisable = .text:0x800C94E8; // type:function size:0x24 +__GXFifoLink = .text:0x800C950C; // type:function size:0x44 +__GXWriteFifoIntEnable = .text:0x800C9550; // type:function size:0x4C +__GXWriteFifoIntReset = .text:0x800C959C; // type:function size:0x4C +__GXCleanGPFifo = .text:0x800C95E8; // type:function size:0xFC +GXGetCPUFifo = .text:0x800C96E4; // type:function size:0x8 +GXGetGPFifo = .text:0x800C96EC; // type:function size:0x8 +__GXXfVtxSpecs = .text:0x800C96F4; // type:function size:0x158 GXSetVtxDesc = .text:0x800C984C; // type:function size:0x360 -fn_800C9BAC = .text:0x800C9BAC; // type:function size:0x54 -fn_800C9C00 = .text:0x800C9C00; // type:function size:0x124 +__GXSetVCD = .text:0x800C9BAC; // type:function size:0x54 +__GXCalculateVLim = .text:0x800C9C00; // type:function size:0x124 GXClearVtxDesc = .text:0x800C9D24; // type:function size:0x4C GXSetVtxAttrFmt = .text:0x800C9D70; // type:function size:0x35C __GXSetVAT = .text:0x800CA0CC; // type:function size:0x9C @@ -2459,18 +2458,18 @@ GXSetDrawSync = .text:0x800CA6F0; // type:function size:0xB8 GXSetDrawDone = .text:0x800CA7A8; // type:function size:0x98 GXWaitDrawDone = .text:0x800CA840; // type:function size:0x4C GXDrawDone = .text:0x800CA88C; // type:function size:0x80 -fn_800CA90C = .text:0x800CA90C; // type:function size:0x24 -fn_800CA930 = .text:0x800CA930; // type:function size:0x14 -fn_800CA944 = .text:0x800CA944; // type:function size:0x14 -fn_800CA958 = .text:0x800CA958; // type:function size:0x1C -fn_800CA974 = .text:0x800CA974; // type:function size:0x88 -fn_800CA9FC = .text:0x800CA9FC; // type:function size:0x1C -fn_800CAA18 = .text:0x800CAA18; // type:function size:0x14 -fn_800CAA2C = .text:0x800CAA2C; // type:function size:0x1C -fn_800CAA48 = .text:0x800CAA48; // type:function size:0x28 -fn_800CAA70 = .text:0x800CAA70; // type:function size:0x44 -fn_800CAAB4 = .text:0x800CAAB4; // type:function size:0x88 -fn_800CAB3C = .text:0x800CAB3C; // type:function size:0x84 +GXPixModeSync = .text:0x800CA90C; // type:function size:0x24 +GXPokeAlphaMode = .text:0x800CA930; // type:function size:0x14 +GXPokeAlphaRead = .text:0x800CA944; // type:function size:0x14 +GXPokeAlphaUpdate = .text:0x800CA958; // type:function size:0x1C +GXPokeBlendMode = .text:0x800CA974; // type:function size:0x88 +GXPokeColorUpdate = .text:0x800CA9FC; // type:function size:0x1C +GXPokeDstAlpha = .text:0x800CAA18; // type:function size:0x14 +GXPokeDither = .text:0x800CAA2C; // type:function size:0x1C +GXPokeZMode = .text:0x800CAA48; // type:function size:0x28 +GXSetDrawSyncCallback = .text:0x800CAA70; // type:function size:0x44 +GXTokenInterruptHandler = .text:0x800CAAB4; // type:function size:0x88 +GXFinishInterruptHandler = .text:0x800CAB3C; // type:function size:0x84 __GXPEInit = .text:0x800CABC0; // type:function size:0x80 scope:global __GXSetDirtyState = .text:0x800CAC40; // type:function size:0xA0 GXBegin = .text:0x800CACE0; // type:function size:0xF0 @@ -2521,21 +2520,21 @@ GXLoadTlut = .text:0x800CCE80; // type:function size:0x9C GXInitTexCacheRegion = .text:0x800CCF1C; // type:function size:0x120 scope:global GXInitTlutRegion = .text:0x800CD03C; // type:function size:0x48 scope:global GXInvalidateTexAll = .text:0x800CD084; // type:function size:0x48 -fn_800CD0CC = .text:0x800CD0CC; // type:function size:0x14 -fn_800CD0E0 = .text:0x800CD0E0; // type:function size:0x14 -fn_800CD0F4 = .text:0x800CD0F4; // type:function size:0x9C -fn_800CD190 = .text:0x800CD190; // type:function size:0xCC -fn_800CD25C = .text:0x800CD25C; // type:function size:0x17C +GXSetTexRegionCallback = .text:0x800CD0CC; // type:function size:0x14 +GXSetTlutRegionCallback = .text:0x800CD0E0; // type:function size:0x14 +GXSetTexCoordScaleManually = .text:0x800CD0F4; // type:function size:0x9C +__SetSURegs = .text:0x800CD190; // type:function size:0xCC scope:local +__GXSetSUTexRegs = .text:0x800CD25C; // type:function size:0x17C __GXSetTmemConfig = .text:0x800CD3D8; // type:function size:0x240 scope:global -fn_800CD618 = .text:0x800CD618; // type:function size:0x9C -fn_800CD6B4 = .text:0x800CD6B4; // type:function size:0x160 -fn_800CD814 = .text:0x800CD814; // type:function size:0x1D4 -fn_800CD9E8 = .text:0x800CD9E8; // type:function size:0x138 -fn_800CDB20 = .text:0x800CDB20; // type:function size:0x2C -fn_800CDB4C = .text:0x800CDB4C; // type:function size:0x48 -fn_800CDB94 = .text:0x800CDB94; // type:function size:0x64 -fn_800CDBF8 = .text:0x800CDBF8; // type:function size:0x1AC -fn_800CDDA4 = .text:0x800CDDA4; // type:function size:0xCC +GXSetTevIndirect = .text:0x800CD618; // type:function size:0x9C +GXSetIndTexMtx = .text:0x800CD6B4; // type:function size:0x160 +GXSetIndTexCoordScale = .text:0x800CD814; // type:function size:0x1D4 +GXSetIndTexOrder = .text:0x800CD9E8; // type:function size:0x138 +GXSetNumIndStages = .text:0x800CDB20; // type:function size:0x2C +GXSetTevDirect = .text:0x800CDB4C; // type:function size:0x48 +GXSetTevIndWarp = .text:0x800CDB94; // type:function size:0x64 +GXSetTevIndTile = .text:0x800CDBF8; // type:function size:0x1AC +__GXUpdateBPMask = .text:0x800CDDA4; // type:function size:0xCC __GXFlushTextureState = .text:0x800CDE70; // type:function size:0x24 scope:global GXSetTevOp = .text:0x800CDE94; // type:function size:0x1A4 GXSetTevColorIn = .text:0x800CE038; // type:function size:0x80 @@ -2565,7 +2564,7 @@ GXSetDither = .text:0x800CEEC8; // type:function size:0x40 GXSetDstAlpha = .text:0x800CEF08; // type:function size:0x54 GXSetFieldMask = .text:0x800CEF5C; // type:function size:0x38 GXSetFieldMode = .text:0x800CEF94; // type:function size:0x80 -fn_800CF014 = .text:0x800CF014; // type:function size:0x4 +__GXSetRange = .text:0x800CF014; // type:function size:0x4 GXBeginDisplayList = .text:0x800CF018; // type:function size:0xC8 GXEndDisplayList = .text:0x800CF0E0; // type:function size:0xD4 GXCallDisplayList = .text:0x800CF1B4; // type:function size:0x70 @@ -2586,62 +2585,62 @@ GXSetScissor = .text:0x800CF838; // type:function size:0xB0 GXSetScissorBoxOffset = .text:0x800CF8E8; // type:function size:0x44 GXSetClipMode = .text:0x800CF92C; // type:function size:0x28 __GXSetMatrixIndex = .text:0x800CF954; // type:function size:0x84 -fn_800CF9D8 = .text:0x800CF9D8; // type:function size:0x898 -fn_800D0270 = .text:0x800D0270; // type:function size:0x1A8 -fn_800D0418 = .text:0x800D0418; // type:function size:0x10 -fn_800D0428 = .text:0x800D0428; // type:function size:0x2C -fn_800D0454 = .text:0x800D0454; // type:function size:0x2C -fn_800D0480 = .text:0x800D0480; // type:function size:0x214 -fn_800D0694 = .text:0x800D0694; // type:function size:0xA8 -fn_800D073C = .text:0x800D073C; // type:function size:0x138 -fn_800D0874 = .text:0x800D0874; // type:function size:0x30 -fn_800D08A4 = .text:0x800D08A4; // type:function size:0x50 -fn_800D08F4 = .text:0x800D08F4; // type:function size:0x94 -fn_800D0988 = .text:0x800D0988; // type:function size:0x1C -fn_800D09A4 = .text:0x800D09A4; // type:function size:0x4 -fn_800D09A8 = .text:0x800D09A8; // type:function size:0x34 -fn_800D09DC = .text:0x800D09DC; // type:function size:0xD8 -fn_800D0AB4 = .text:0x800D0AB4; // type:function size:0x118 -fn_800D0BCC = .text:0x800D0BCC; // type:function size:0xA8 -fn_800D0C74 = .text:0x800D0C74; // type:function size:0x84 -fn_800D0CF8 = .text:0x800D0CF8; // type:function size:0xC0 -fn_800D0DB8 = .text:0x800D0DB8; // type:function size:0xF0 -fn_800D0EA8 = .text:0x800D0EA8; // type:function size:0xAC -fn_800D0F54 = .text:0x800D0F54; // type:function size:0xA4 -fn_800D0FF8 = .text:0x800D0FF8; // type:function size:0x22C -fn_800D1224 = .text:0x800D1224; // type:function size:0x110 -fn_800D1334 = .text:0x800D1334; // type:function size:0x1B4 -fn_800D14E8 = .text:0x800D14E8; // type:function size:0x134 -fn_800D161C = .text:0x800D161C; // type:function size:0x11C -fn_800D1738 = .text:0x800D1738; // type:function size:0xE0 +GXSetGPMetric = .text:0x800CF9D8; // type:function size:0x898 +GXReadGPMetric = .text:0x800D0270; // type:function size:0x1A8 +GXClearGPMetric = .text:0x800D0418; // type:function size:0x10 +GXReadGP0Metric = .text:0x800D0428; // type:function size:0x2C +GXReadGP1Metric = .text:0x800D0454; // type:function size:0x2C +GXReadMemMetric = .text:0x800D0480; // type:function size:0x214 +GXClearMemMetric = .text:0x800D0694; // type:function size:0xA8 +GXReadPixMetric = .text:0x800D073C; // type:function size:0x138 +GXClearPixMetric = .text:0x800D0874; // type:function size:0x30 +GXSetVCacheMetric = .text:0x800D08A4; // type:function size:0x50 +GXReadVCacheMetric = .text:0x800D08F4; // type:function size:0x94 +GXClearVCacheMetric = .text:0x800D0988; // type:function size:0x1C +__CARDDefaultApiCallback = .text:0x800D09A4; // type:function size:0x4 +__CARDSyncCallback = .text:0x800D09A8; // type:function size:0x34 +__CARDExtHandler = .text:0x800D09DC; // type:function size:0xD8 +__CARDExiHandler = .text:0x800D0AB4; // type:function size:0x118 +__CARDTxHandler = .text:0x800D0BCC; // type:function size:0xA8 +__CARDUnlockedHandler = .text:0x800D0C74; // type:function size:0x84 +__CARDEnableInterrupt = .text:0x800D0CF8; // type:function size:0xC0 +__CARDReadStatus = .text:0x800D0DB8; // type:function size:0xF0 +__CARDClearStatus = .text:0x800D0EA8; // type:function size:0xAC +TimeoutHandler = .text:0x800D0F54; // type:function size:0xA4 scope:local +Retry = .text:0x800D0FF8; // type:function size:0x22C scope:local +UnlockedCallback = .text:0x800D1224; // type:function size:0x110 scope:local +__CARDStart = .text:0x800D1334; // type:function size:0x1B4 +__CARDReadSegment = .text:0x800D14E8; // type:function size:0x134 +__CARDWritePage = .text:0x800D161C; // type:function size:0x11C +__CARDEraseSector = .text:0x800D1738; // type:function size:0xE0 CARDInit = .text:0x800D1818; // type:function size:0x9C __CARDSetDiskID = .text:0x800D18B4; // type:function size:0x38 __CARDGetControlBlock = .text:0x800D18EC; // type:function size:0xB8 __CARDPutControlBlock = .text:0x800D19A4; // type:function size:0x64 CARDFreeBlocks = .text:0x800D1A08; // type:function size:0x150 CARDGetSectorSize = .text:0x800D1B58; // type:function size:0x84 -fn_800D1BDC = .text:0x800D1BDC; // type:function size:0x98 -fn_800D1C74 = .text:0x800D1C74; // type:function size:0x50 -fn_800D1CC4 = .text:0x800D1CC4; // type:function size:0x16C -fn_800D1E30 = .text:0x800D1E30; // type:function size:0x144 -fn_800D1F74 = .text:0x800D1F74; // type:function size:0xC4 -fn_800D2038 = .text:0x800D2038; // type:function size:0xB58 -fn_800D2B90 = .text:0x800D2B90; // type:function size:0x70 -fn_800D2C00 = .text:0x800D2C00; // type:function size:0x324 -fn_800D2F24 = .text:0x800D2F24; // type:function size:0xDC -fn_800D3000 = .text:0x800D3000; // type:function size:0x64 -fn_800D3064 = .text:0x800D3064; // type:function size:0xDC -fn_800D3140 = .text:0x800D3140; // type:function size:0x64 -fn_800D31A4 = .text:0x800D31A4; // type:function size:0x8 -fn_800D31AC = .text:0x800D31AC; // type:function size:0xD4 -fn_800D3280 = .text:0x800D3280; // type:function size:0xC8 -fn_800D3348 = .text:0x800D3348; // type:function size:0x118 -fn_800D3460 = .text:0x800D3460; // type:function size:0x9C -fn_800D34FC = .text:0x800D34FC; // type:function size:0xAC -fn_800D35A8 = .text:0x800D35A8; // type:function size:0x8 -fn_800D35B0 = .text:0x800D35B0; // type:function size:0xD0 -fn_800D3680 = .text:0x800D3680; // type:function size:0xC8 -fn_800D3748 = .text:0x800D3748; // type:function size:0xC4 +__CARDSync = .text:0x800D1BDC; // type:function size:0x98 +OnReset = .text:0x800D1C74; // type:function size:0x50 scope:local +bitrev = .text:0x800D1CC4; // type:function size:0x16C scope:local +ReadArrayUnlock = .text:0x800D1E30; // type:function size:0x144 scope:local +DummyLen = .text:0x800D1F74; // type:function size:0xC4 scope:local +__CARDUnlock = .text:0x800D2038; // type:function size:0xB58 +InitCallback = .text:0x800D2B90; // type:function size:0x70 scope:local +DoneCallback = .text:0x800D2C00; // type:function size:0x324 scope:local +BlockReadCallback = .text:0x800D2F24; // type:function size:0xDC scope:local +__CARDRead = .text:0x800D3000; // type:function size:0x64 +BlockWriteCallback = .text:0x800D3064; // type:function size:0xDC scope:local +__CARDWrite = .text:0x800D3140; // type:function size:0x64 +__CARDGetFatBlock = .text:0x800D31A4; // type:function size:0x8 +WriteCallback = .text:0x800D31AC; // type:function size:0xD4 scope:local +EraseCallback = .text:0x800D3280; // type:function size:0xC8 scope:local +__CARDAllocBlock = .text:0x800D3348; // type:function size:0x118 +__CARDFreeBlock = .text:0x800D3460; // type:function size:0x9C +__CARDUpdateFatBlock = .text:0x800D34FC; // type:function size:0xAC +__CARDGetDirBlock = .text:0x800D35A8; // type:function size:0x8 +WriteCallback = .text:0x800D35B0; // type:function size:0xD0 scope:local +EraseCallback = .text:0x800D3680; // type:function size:0xC8 scope:local +__CARDUpdateDir = .text:0x800D3748; // type:function size:0xC4 __CARDCheckSum = .text:0x800D380C; // type:function size:0x1B0 VerifyID = .text:0x800D39BC; // type:function size:0x284 scope:local VerifyDir = .text:0x800D3C40; // type:function size:0x240 scope:local @@ -2660,10 +2659,10 @@ CARDUnmount = .text:0x800D5188; // type:function size:0xAC FormatCallback = .text:0x800D5234; // type:function size:0x144 scope:local __CARDFormatRegionAsync = .text:0x800D5378; // type:function size:0x658 CARDFormat = .text:0x800D59D0; // type:function size:0x54 -fn_800D5A24 = .text:0x800D5A24; // type:function size:0x68 -fn_800D5A8C = .text:0x800D5A8C; // type:function size:0x98 -fn_800D5B24 = .text:0x800D5B24; // type:function size:0x30 -fn_800D5B54 = .text:0x800D5B54; // type:function size:0x150 +__CARDCompareFileName = .text:0x800D5A24; // type:function size:0x68 +__CARDAccess = .text:0x800D5A8C; // type:function size:0x98 +__CARDIsPublic = .text:0x800D5B24; // type:function size:0x30 +__CARDGetFileNo = .text:0x800D5B54; // type:function size:0x150 CARDOpen = .text:0x800D5CA4; // type:function size:0x178 CARDClose = .text:0x800D5E1C; // type:function size:0x54 __CARDIsOpened = .text:0x800D5E70; // type:function size:0x8 @@ -2691,13 +2690,13 @@ EXIImm = .text:0x800D7298; // type:function size:0x25C scope:global EXIImmEx = .text:0x800D74F4; // type:function size:0xA0 EXIDma = .text:0x800D7594; // type:function size:0xEC scope:global EXISync = .text:0x800D7680; // type:function size:0x238 scope:global -fn_800D78B8 = .text:0x800D78B8; // type:function size:0x48 -fn_800D7900 = .text:0x800D7900; // type:function size:0x7C +EXIClearInterrupts = .text:0x800D78B8; // type:function size:0x48 +EXISetExiCallback = .text:0x800D7900; // type:function size:0x7C __EXIProbe = .text:0x800D797C; // type:function size:0x174 scope:local -fn_800D7AF0 = .text:0x800D7AF0; // type:function size:0x80 -fn_800D7B70 = .text:0x800D7B70; // type:function size:0xB4 -fn_800D7C24 = .text:0x800D7C24; // type:function size:0x10C -fn_800D7D30 = .text:0x800D7D30; // type:function size:0xBC +EXIProbe = .text:0x800D7AF0; // type:function size:0x80 +EXIProbeEx = .text:0x800D7B70; // type:function size:0xB4 +EXIAttach = .text:0x800D7C24; // type:function size:0x10C +EXIDetach = .text:0x800D7D30; // type:function size:0xBC EXISelect = .text:0x800D7DEC; // type:function size:0x12C scope:global EXIDeselect = .text:0x800D7F18; // type:function size:0x110 scope:global EXIIntrruptHandler = .text:0x800D8028; // type:function size:0xC8 scope:local @@ -2706,9 +2705,9 @@ EXTIntrruptHandler = .text:0x800D8308; // type:function size:0xD0 scope:local EXIInit = .text:0x800D83D8; // type:function size:0x114 scope:global EXILock = .text:0x800D84EC; // type:function size:0xF4 scope:global EXIUnlock = .text:0x800D85E0; // type:function size:0xDC scope:global -fn_800D86BC = .text:0x800D86BC; // type:function size:0x18 -fn_800D86D4 = .text:0x800D86D4; // type:function size:0x28 -fn_800D86FC = .text:0x800D86FC; // type:function size:0x37C +EXIGetState = .text:0x800D86BC; // type:function size:0x18 +UnlockedHandler = .text:0x800D86D4; // type:function size:0x28 scope:local +EXIGetID = .text:0x800D86FC; // type:function size:0x37C InitializeUART = .text:0x800D8A78; // type:function size:0x70 WriteUARTN = .text:0x800D8AE8; // type:function size:0x200 SIBusy = .text:0x800D8CE8; // type:function size:0x20 @@ -2726,50 +2725,50 @@ SITransferCommands = .text:0x800D991C; // type:function size:0x10 SISetXY = .text:0x800D992C; // type:function size:0x6C scope:global SIEnablePolling = .text:0x800D9998; // type:function size:0x9C SIDisablePolling = .text:0x800D9A34; // type:function size:0x6C -fn_800D9AA0 = .text:0x800D9AA0; // type:function size:0xD4 +SIGetResponseRaw = .text:0x800D9AA0; // type:function size:0xD4 SIGetResponse = .text:0x800D9B74; // type:function size:0xC4 -fn_800D9C38 = .text:0x800D9C38; // type:function size:0x8C +AlarmHandler = .text:0x800D9C38; // type:function size:0x8C scope:local SITransfer = .text:0x800D9CC4; // type:function size:0x16C scope:global GetTypeCallback = .text:0x800D9E30; // type:function size:0x298 scope:local SIGetType = .text:0x800DA0C8; // type:function size:0x1C4 scope:global SIGetTypeAsync = .text:0x800DA28C; // type:function size:0x13C SISetSamplingRate = .text:0x800DA3C8; // type:function size:0xE4 scope:global SIRefreshSamplingRate = .text:0x800DA4AC; // type:function size:0x24 -fn_800DA4D0 = .text:0x800DA4D0; // type:function size:0x244 -fn_800DA714 = .text:0x800DA714; // type:function size:0x44 -fn_800DA758 = .text:0x800DA758; // type:function size:0x13C -fn_800DA894 = .text:0x800DA894; // type:function size:0x11C -fn_800DA9B0 = .text:0x800DA9B0; // type:function size:0x3BC -fn_800DAD6C = .text:0x800DAD6C; // type:function size:0x1E0 -fn_800DAF4C = .text:0x800DAF4C; // type:function size:0xF0 -fn_800DB03C = .text:0x800DB03C; // type:function size:0x68 -fn_800DB0A4 = .text:0x800DB0A4; // type:function size:0x1BC -fn_800DB260 = .text:0x800DB260; // type:function size:0x54 -fn_800DB2B4 = .text:0x800DB2B4; // type:function size:0x24C -fn_800DB500 = .text:0x800DB500; // type:function size:0x10C -fn_800DB60C = .text:0x800DB60C; // type:function size:0x1A88 -fn_800DD094 = .text:0x800DD094; // type:function size:0x1A8C -fn_800DEB20 = .text:0x800DEB20; // type:function size:0x1AAC -fn_800E05CC = .text:0x800E05CC; // type:function size:0x67C -fn_800E0C48 = .text:0x800E0C48; // type:function size:0x6A8 -fn_800E12F0 = .text:0x800E12F0; // type:function size:0x6A8 -fn_800E1998 = .text:0x800E1998; // type:function size:0x78 -fn_800E1A10 = .text:0x800E1A10; // type:function size:0x464 -fn_800E1E74 = .text:0x800E1E74; // type:function size:0x90 -fn_800E1F04 = .text:0x800E1F04; // type:function size:0x3C +THPVideoDecode = .text:0x800DA4D0; // type:function size:0x244 +__THPSetupBuffers = .text:0x800DA714; // type:function size:0x44 scope:local +__THPReadFrameHeader = .text:0x800DA758; // type:function size:0x13C scope:local +__THPReadScaneHeader = .text:0x800DA894; // type:function size:0x11C scope:local +__THPReadQuantizationTable = .text:0x800DA9B0; // type:function size:0x3BC scope:local +__THPReadHuffmanTableSpecification = .text:0x800DAD6C; // type:function size:0x1E0 scope:local +__THPHuffGenerateSizeTable = .text:0x800DAF4C; // type:function size:0xF0 scope:local +__THPHuffGenerateCodeTable = .text:0x800DB03C; // type:function size:0x68 scope:local +__THPHuffGenerateDecoderTables = .text:0x800DB0A4; // type:function size:0x1BC scope:local +__THPRestartDefinition = .text:0x800DB260; // type:function size:0x54 scope:local +__THPPrepBitStream = .text:0x800DB2B4; // type:function size:0x24C scope:local +__THPDecompressYUV = .text:0x800DB500; // type:function size:0x10C scope:local +__THPDecompressiMCURow512x448 = .text:0x800DB60C; // type:function size:0x1A88 scope:local +__THPDecompressiMCURow640x480 = .text:0x800DD094; // type:function size:0x1A8C scope:local +__THPDecompressiMCURowNxN = .text:0x800DEB20; // type:function size:0x1AAC scope:local +__THPHuffDecodeDCTCompY = .text:0x800E05CC; // type:function size:0x67C scope:local +__THPHuffDecodeDCTCompU = .text:0x800E0C48; // type:function size:0x6A8 scope:local +__THPHuffDecodeDCTCompV = .text:0x800E12F0; // type:function size:0x6A8 scope:local +THPInit = .text:0x800E1998; // type:function size:0x78 +THPAudioDecode = .text:0x800E1A10; // type:function size:0x464 +__THPAudioGetNewSample = .text:0x800E1E74; // type:function size:0x90 +__THPAudioInitialize = .text:0x800E1F04; // type:function size:0x3C __va_arg = .text:0x800E1F40; // type:function size:0xC8 scope:global __destroy_global_chain = .text:0x800E2008; // type:function size:0x48 scope:global __register_global_object = .text:0x800E2050; // type:function size:0x18 scope:global __dl__FPv = .text:0x800E2068; // type:function size:0x4C __dt__Q23std9exceptionFv = .text:0x800E20B4; // type:function size:0x48 -fn_800E20FC = .text:0x800E20FC; // type:function size:0xC -fn_800E2108 = .text:0x800E2108; // type:function size:0x22C +what__Q23std9exceptionCFv = .text:0x800E20FC; // type:function size:0xC +__throw_catch_compare = .text:0x800E2108; // type:function size:0x22C unexpected__3stdFv = .text:0x800E2334; // type:function size:0x28 terminate__3stdFv = .text:0x800E235C; // type:function size:0x28 duhandler__3stdFv = .text:0x800E2384; // type:function size:0x28 dthandler__3stdFv = .text:0x800E23AC; // type:function size:0x20 __cvt_fp2unsigned = .text:0x800E23CC; // type:function size:0x5C -fn_800E2428 = .text:0x800E2428; // type:function size:0x4C +__save_fpr = .text:0x800E2428; // type:function size:0x4C _savefpr_14 = .text:0x800E2428; // type:label scope:global _savefpr_15 = .text:0x800E242C; // type:label scope:global _savefpr_16 = .text:0x800E2430; // type:label scope:global @@ -2788,7 +2787,7 @@ _savefpr_28 = .text:0x800E2460; // type:label scope:global _savefpr_29 = .text:0x800E2464; // type:label scope:global _savefpr_30 = .text:0x800E2468; // type:label scope:global _savefpr_31 = .text:0x800E246C; // type:label scope:global -fn_800E2474 = .text:0x800E2474; // type:function size:0x4C +__restore_fpr = .text:0x800E2474; // type:function size:0x4C _restfpr_14 = .text:0x800E2474; // type:label scope:global _restfpr_15 = .text:0x800E2478; // type:label scope:global _restfpr_16 = .text:0x800E247C; // type:label scope:global @@ -2807,7 +2806,7 @@ _restfpr_28 = .text:0x800E24AC; // type:label scope:global _restfpr_29 = .text:0x800E24B0; // type:label scope:global _restfpr_30 = .text:0x800E24B4; // type:label scope:global _restfpr_31 = .text:0x800E24B8; // type:label scope:global -fn_800E24C0 = .text:0x800E24C0; // type:function size:0x4C +__save_gpr = .text:0x800E24C0; // type:function size:0x4C _savegpr_14 = .text:0x800E24C0; // type:label scope:global _savegpr_15 = .text:0x800E24C4; // type:label scope:global _savegpr_16 = .text:0x800E24C8; // type:label scope:global @@ -2826,7 +2825,7 @@ _savegpr_28 = .text:0x800E24F8; // type:label scope:global _savegpr_29 = .text:0x800E24FC; // type:label scope:global _savegpr_30 = .text:0x800E2500; // type:label scope:global _savegpr_31 = .text:0x800E2504; // type:label scope:global -fn_800E250C = .text:0x800E250C; // type:function size:0x4C +__restore_gpr = .text:0x800E250C; // type:function size:0x4C _restgpr_14 = .text:0x800E250C; // type:label scope:global _restgpr_15 = .text:0x800E2510; // type:label scope:global _restgpr_16 = .text:0x800E2514; // type:label scope:global @@ -2846,7 +2845,7 @@ _restgpr_29 = .text:0x800E2548; // type:label scope:global _restgpr_30 = .text:0x800E254C; // type:label scope:global _restgpr_31 = .text:0x800E2550; // type:label scope:global __div2u = .text:0x800E2558; // type:function size:0xEC scope:global -fn_800E2644 = .text:0x800E2644; // type:function size:0x138 +__div2i = .text:0x800E2644; // type:function size:0x138 __mod2u = .text:0x800E277C; // type:function size:0xE4 scope:global __mod2i = .text:0x800E2860; // type:function size:0x10C __shl2i = .text:0x800E296C; // type:function size:0x24 @@ -2862,51 +2861,51 @@ __end__catch = .text:0x800E2D6C; // type:function size:0x44 ExPPC_ThrowHandler__FP12ThrowContext = .text:0x800E2DB0; // type:function size:0x410 __unexpected = .text:0x800E31C0; // type:function size:0x1B4 __dt__Q23std13bad_exceptionFv = .text:0x800E3374; // type:function size:0x5C -fn_800E33D0 = .text:0x800E33D0; // type:function size:0x50C +ExPPC_UnwindStack__FP12ThrowContextP15MWExceptionInfoPv = .text:0x800E33D0; // type:function size:0x50C ExPPC_PopStackFrame__FP12ThrowContextP15MWExceptionInfo = .text:0x800E38DC; // type:function size:0x248 ExPPC_NextAction__FP14ActionIterator = .text:0x800E3B24; // type:function size:0x1C0 ExPPC_FindExceptionRecord__FPcP15MWExceptionInfo = .text:0x800E3CE4; // type:function size:0x204 __unregister_fragment = .text:0x800E3EE8; // type:function size:0x34 scope:global __register_fragment = .text:0x800E3F1C; // type:function size:0x34 scope:global -fn_800E3F50 = .text:0x800E3F50; // type:function size:0xC +what__Q23std13bad_exceptionCFv = .text:0x800E3F50; // type:function size:0xC __sys_free = .text:0x800E3F5C; // type:function size:0xB8 exit = .text:0x800E4014; // type:function size:0xCC scope:global -fn_800E40E0 = .text:0x800E40E0; // type:function size:0x88 -fn_800E4168 = .text:0x800E4168; // type:function size:0x134 -fn_800E429C = .text:0x800E429C; // type:function size:0x1FC -fn_800E4498 = .text:0x800E4498; // type:function size:0xBC -fn_800E4554 = .text:0x800E4554; // type:function size:0x17C -fn_800E46D0 = .text:0x800E46D0; // type:function size:0x70 +abort = .text:0x800E40E0; // type:function size:0x88 +free = .text:0x800E4168; // type:function size:0x134 +deallocate_from_fixed_pools = .text:0x800E429C; // type:function size:0x1FC +SubBlock_merge_next = .text:0x800E4498; // type:function size:0xBC scope:local +Block_link = .text:0x800E4554; // type:function size:0x17C scope:local +__flush_all = .text:0x800E46D0; // type:function size:0x70 __close_all = .text:0x800E4740; // type:function size:0x98 scope:global __num2dec = .text:0x800E47D8; // type:function size:0x1A4 -fn_800E497C = .text:0x800E497C; // type:function size:0x23C -fn_800E4BB8 = .text:0x800E4BB8; // type:function size:0x340 -fn_800E4EF8 = .text:0x800E4EF8; // type:function size:0xEC -fn_800E4FE4 = .text:0x800E4FE4; // type:function size:0x28C -fn_800E5270 = .text:0x800E5270; // type:function size:0x110 -fn_800E5380 = .text:0x800E5380; // type:function size:0x70 -fn_800E53F0 = .text:0x800E53F0; // type:function size:0x10 +__num2dec_internal = .text:0x800E497C; // type:function size:0x23C scope:local +__two_exp = .text:0x800E4BB8; // type:function size:0x340 scope:local +__str2dec = .text:0x800E4EF8; // type:function size:0xEC scope:local +__timesdec = .text:0x800E4FE4; // type:function size:0x28C scope:local +__ull2dec = .text:0x800E5270; // type:function size:0x110 scope:local +__count_trailing_zerol = .text:0x800E5380; // type:function size:0x70 scope:local +abs = .text:0x800E53F0; // type:function size:0x10 __flush_buffer = .text:0x800E5400; // type:function size:0xC4 scope:global __prep_buffer = .text:0x800E54C4; // type:function size:0x34 scope:global tolower = .text:0x800E54F8; // type:function size:0x24 isalpha = .text:0x800E551C; // type:function size:0x18 __fwrite = .text:0x800E5534; // type:function size:0x30C scope:global fwrite = .text:0x800E5840; // type:function size:0x20 scope:global -fn_800E5860 = .text:0x800E5860; // type:function size:0x138 -fn_800E5998 = .text:0x800E5998; // type:function size:0xC0 +fflush = .text:0x800E5860; // type:function size:0x138 +fclose = .text:0x800E5998; // type:function size:0xC0 fseek = .text:0x800E5A58; // type:function size:0x20 scope:global -fn_800E5A78 = .text:0x800E5A78; // type:function size:0x23C -fn_800E5CB4 = .text:0x800E5CB4; // type:function size:0x70 +_fseek = .text:0x800E5A78; // type:function size:0x23C +ftell = .text:0x800E5CB4; // type:function size:0x70 wcstombs = .text:0x800E5D24; // type:function size:0xA0 scope:global -fn_800E5DC4 = .text:0x800E5DC4; // type:function size:0xA4 -fn_800E5E68 = .text:0x800E5E68; // type:function size:0x4C +unicode_to_UTF8 = .text:0x800E5DC4; // type:function size:0xA4 scope:local +memcmp = .text:0x800E5E68; // type:function size:0x4C __memrchr = .text:0x800E5EB4; // type:function size:0x2C scope:global memchr = .text:0x800E5EE0; // type:function size:0x2C scope:global -fn_800E5F0C = .text:0x800E5F0C; // type:function size:0xCC -fn_800E5FD8 = .text:0x800E5FD8; // type:function size:0xB0 -fn_800E6088 = .text:0x800E6088; // type:function size:0xC4 -fn_800E614C = .text:0x800E614C; // type:function size:0xAC -fn_800E61F8 = .text:0x800E61F8; // type:function size:0xC0 +memmove = .text:0x800E5F0C; // type:function size:0xCC +__copy_longs_rev_unaligned = .text:0x800E5FD8; // type:function size:0xB0 +__copy_longs_unaligned = .text:0x800E6088; // type:function size:0xC4 +__copy_longs_rev_aligned = .text:0x800E614C; // type:function size:0xAC +__copy_longs_aligned = .text:0x800E61F8; // type:function size:0xC0 __stdio_atexit = .text:0x800E62B8; // type:function size:0x10 scope:global sprintf = .text:0x800E62C8; // type:function size:0xE0 vsprintf = .text:0x800E63A8; // type:function size:0x78 @@ -2932,18 +2931,18 @@ strlen = .text:0x800E86A8; // type:function size:0x1C scope:global __close_console = .text:0x800E86C4; // type:function size:0x8 __write_console = .text:0x800E86CC; // type:function size:0xC4 fwide = .text:0x800E8790; // type:function size:0x88 scope:global -fn_800E8818 = .text:0x800E8818; // type:function size:0x310 -fn_800E8B28 = .text:0x800E8B28; // type:function size:0x264 -fn_800E8D8C = .text:0x800E8D8C; // type:function size:0x290 -fn_800E901C = .text:0x800E901C; // type:function size:0x33C -fn_800E9358 = .text:0x800E9358; // type:function size:0x88C -fn_800E9BE4 = .text:0x800E9BE4; // type:function size:0x3A0 -fn_800E9F84 = .text:0x800E9F84; // type:function size:0xF4 -fn_800EA078 = .text:0x800EA078; // type:function size:0xE54 -fn_800EAECC = .text:0x800EAECC; // type:function size:0xA0 -fn_800EAF6C = .text:0x800EAF6C; // type:function size:0x214 -fn_800EB180 = .text:0x800EB180; // type:function size:0x200 -fn_800EB380 = .text:0x800EB380; // type:function size:0x28 +__ieee754_acos = .text:0x800E8818; // type:function size:0x310 +__ieee754_asin = .text:0x800E8B28; // type:function size:0x264 +__ieee754_atan2 = .text:0x800E8D8C; // type:function size:0x290 +__ieee754_fmod = .text:0x800E901C; // type:function size:0x33C +__ieee754_pow = .text:0x800E9358; // type:function size:0x88C +__ieee754_rem_pio2 = .text:0x800E9BE4; // type:function size:0x3A0 +__kernel_cos = .text:0x800E9F84; // type:function size:0xF4 +__kernel_rem_pio2 = .text:0x800EA078; // type:function size:0xE54 +__kernel_sin = .text:0x800EAECC; // type:function size:0xA0 +__kernel_tan = .text:0x800EAF6C; // type:function size:0x214 +atan = .text:0x800EB180; // type:function size:0x200 +copysign = .text:0x800EB380; // type:function size:0x28 cos = .text:0x800EB3A8; // type:function size:0xD4 floor = .text:0x800EB47C; // type:function size:0x148 frexp = .text:0x800EB5C4; // type:function size:0x8C @@ -2964,129 +2963,129 @@ acosf = .text:0x800EBB90; // type:function size:0x24 TRKNubMainLoop = .text:0x800EBBB4; // type:function size:0xF8 scope:global TRKDestructEvent = .text:0x800EBCAC; // type:function size:0x24 scope:global TRKConstructEvent = .text:0x800EBCD0; // type:function size:0x18 -fn_800EBCE8 = .text:0x800EBCE8; // type:function size:0xE0 +TRKPostEvent = .text:0x800EBCE8; // type:function size:0xE0 TRKGetNextEvent = .text:0x800EBDC8; // type:function size:0xB4 scope:global TRKInitializeEventQueue = .text:0x800EBE7C; // type:function size:0x58 scope:global TRKNubWelcome = .text:0x800EBED4; // type:function size:0x28 scope:global TRKTerminateNub = .text:0x800EBEFC; // type:function size:0x24 scope:global TRKInitializeNub = .text:0x800EBF20; // type:function size:0x134 scope:global -fn_800EC054 = .text:0x800EC054; // type:function size:0x1DC -fn_800EC230 = .text:0x800EC230; // type:function size:0xF0 -fn_800EC320 = .text:0x800EC320; // type:function size:0x98 -fn_800EC3B8 = .text:0x800EC3B8; // type:function size:0xE8 -fn_800EC4A0 = .text:0x800EC4A0; // type:function size:0xC8 -fn_800EC568 = .text:0x800EC568; // type:function size:0xB8 -fn_800EC620 = .text:0x800EC620; // type:function size:0x80 -fn_800EC6A0 = .text:0x800EC6A0; // type:function size:0xA8 -fn_800EC748 = .text:0x800EC748; // type:function size:0x68 -fn_800EC7B0 = .text:0x800EC7B0; // type:function size:0x88 -fn_800EC838 = .text:0x800EC838; // type:function size:0x64 -fn_800EC89C = .text:0x800EC89C; // type:function size:0x54 -fn_800EC8F0 = .text:0x800EC8F0; // type:function size:0x8C -fn_800EC97C = .text:0x800EC97C; // type:function size:0xA4 -fn_800ECA20 = .text:0x800ECA20; // type:function size:0x30 -fn_800ECA50 = .text:0x800ECA50; // type:function size:0x40 -fn_800ECA90 = .text:0x800ECA90; // type:function size:0x64 +TRKMessageSend = .text:0x800EC054; // type:function size:0x1DC +TRKReadBuffer_ui32 = .text:0x800EC230; // type:function size:0xF0 +TRKReadBuffer_ui8 = .text:0x800EC320; // type:function size:0x98 +TRKReadBuffer1_ui64 = .text:0x800EC3B8; // type:function size:0xE8 +TRKReadBuffer1_ui32 = .text:0x800EC4A0; // type:function size:0xC8 +TRKReadBuffer1_ui16 = .text:0x800EC568; // type:function size:0xB8 +TRKReadBuffer1_ui8 = .text:0x800EC620; // type:function size:0x80 +TRKAppendBuffer_ui32 = .text:0x800EC6A0; // type:function size:0xA8 +TRKAppendBuffer_ui8 = .text:0x800EC748; // type:function size:0x68 +TRKAppendBuffer1_ui64 = .text:0x800EC7B0; // type:function size:0x88 +TRKAppendBuffer1_ui32 = .text:0x800EC838; // type:function size:0x64 +TRKAppendBuffer1_ui16 = .text:0x800EC89C; // type:function size:0x54 +TRKReadBuffer = .text:0x800EC8F0; // type:function size:0x8C +TRKAppendBuffer = .text:0x800EC97C; // type:function size:0xA4 +TRKSetBufferPosition = .text:0x800ECA20; // type:function size:0x30 +TRKResetBuffer = .text:0x800ECA50; // type:function size:0x40 +TRKReleaseBuffer = .text:0x800ECA90; // type:function size:0x64 TRKGetBuffer = .text:0x800ECAF4; // type:function size:0x2C scope:global -fn_800ECB20 = .text:0x800ECB20; // type:function size:0xC8 +TRKGetFreeBuffer = .text:0x800ECB20; // type:function size:0xC8 TRKInitializeMessageBuffers = .text:0x800ECBE8; // type:function size:0x74 scope:global -fn_800ECC5C = .text:0x800ECC5C; // type:function size:0x8 +TRKTerminateSerialHandler = .text:0x800ECC5C; // type:function size:0x8 TRKInitializeSerialHandler = .text:0x800ECC64; // type:function size:0x24 scope:global -fn_800ECC88 = .text:0x800ECC88; // type:function size:0x50 +TRKProcessInput = .text:0x800ECC88; // type:function size:0x50 TRKGetInput = .text:0x800ECCD8; // type:function size:0x98 scope:global -fn_800ECD70 = .text:0x800ECD70; // type:function size:0x2B8 +TRKTestForPacket = .text:0x800ECD70; // type:function size:0x2B8 usr_put_initialize = .text:0x800ED028; // type:function size:0x4 scope:global -fn_800ED02C = .text:0x800ED02C; // type:function size:0x88 +usr_puts_serial = .text:0x800ED02C; // type:function size:0x88 TRKDispatchMessage = .text:0x800ED0B4; // type:function size:0x84 scope:global TRKInitializeDispatcher = .text:0x800ED138; // type:function size:0x18 scope:global -fn_800ED150 = .text:0x800ED150; // type:function size:0x1A4 -fn_800ED2F4 = .text:0x800ED2F4; // type:function size:0x100 -fn_800ED3F4 = .text:0x800ED3F4; // type:function size:0x530 -fn_800ED924 = .text:0x800ED924; // type:function size:0x154 -fn_800EDA78 = .text:0x800EDA78; // type:function size:0x2F8 -fn_800EDD70 = .text:0x800EDD70; // type:function size:0x3C8 -fn_800EE138 = .text:0x800EE138; // type:function size:0x3CC -fn_800EE504 = .text:0x800EE504; // type:function size:0x420 -fn_800EE924 = .text:0x800EE924; // type:function size:0x410 -fn_800EED34 = .text:0x800EED34; // type:function size:0x398 -fn_800EF0CC = .text:0x800EF0CC; // type:function size:0x230 -fn_800EF2FC = .text:0x800EF2FC; // type:function size:0x2D8 -fn_800EF5D4 = .text:0x800EF5D4; // type:function size:0xB8 -fn_800EF68C = .text:0x800EF68C; // type:function size:0xE4 -fn_800EF770 = .text:0x800EF770; // type:function size:0xBC -fn_800EF82C = .text:0x800EF82C; // type:function size:0xB0 -fn_800EF8DC = .text:0x800EF8DC; // type:function size:0xB8 -fn_800EF994 = .text:0x800EF994; // type:function size:0xC -fn_800EF9A0 = .text:0x800EF9A0; // type:function size:0x10 -fn_800EF9B0 = .text:0x800EF9B0; // type:function size:0x190 -fn_800EFB40 = .text:0x800EFB40; // type:function size:0x120 -fn_800EFC60 = .text:0x800EFC60; // type:function size:0x1A8 -fn_800EFE08 = .text:0x800EFE08; // type:function size:0x1A4 -fn_800EFFAC = .text:0x800EFFAC; // type:function size:0x2C4 -fn_800F0270 = .text:0x800F0270; // type:function size:0x8 -fn_800F0278 = .text:0x800F0278; // type:function size:0x8 -fn_800F0280 = .text:0x800F0280; // type:function size:0x8 -fn_800F0288 = .text:0x800F0288; // type:function size:0xD8 +TRKDoSetOption = .text:0x800ED150; // type:function size:0x1A4 +TRKDoStop = .text:0x800ED2F4; // type:function size:0x100 +TRKDoStep = .text:0x800ED3F4; // type:function size:0x530 +TRKDoContinue = .text:0x800ED924; // type:function size:0x154 +TRKDoFlushCache = .text:0x800EDA78; // type:function size:0x2F8 +TRKDoWriteRegisters = .text:0x800EDD70; // type:function size:0x3C8 +TRKDoReadRegisters = .text:0x800EE138; // type:function size:0x3CC +TRKDoWriteMemory = .text:0x800EE504; // type:function size:0x420 +TRKDoReadMemory = .text:0x800EE924; // type:function size:0x410 +TRKDoCPUType = .text:0x800EED34; // type:function size:0x398 +TRKDoSupportMask = .text:0x800EF0CC; // type:function size:0x230 +TRKDoVersions = .text:0x800EF2FC; // type:function size:0x2D8 +TRKDoReset = .text:0x800EF5D4; // type:function size:0xB8 +TRKDoDisconnect = .text:0x800EF68C; // type:function size:0xE4 +TRKDoConnect = .text:0x800EF770; // type:function size:0xBC +TRKDoUnsupported = .text:0x800EF82C; // type:function size:0xB0 +TRKStandardACK = .text:0x800EF8DC; // type:function size:0xB8 +SetTRKConnected = .text:0x800EF994; // type:function size:0xC +GetTRKConnected = .text:0x800EF9A0; // type:function size:0x10 +HandlePositionFileSupportRequest = .text:0x800EF9B0; // type:function size:0x190 +HandleCloseFileSupportRequest = .text:0x800EFB40; // type:function size:0x120 +HandleOpenFileSupportRequest = .text:0x800EFC60; // type:function size:0x1A8 +TRKRequestSend = .text:0x800EFE08; // type:function size:0x1A4 +TRKSuppAccessFile = .text:0x800EFFAC; // type:function size:0x2C4 +TRKReleaseMutex = .text:0x800F0270; // type:function size:0x8 +TRKAcquireMutex = .text:0x800F0278; // type:function size:0x8 +TRKInitializeMutex = .text:0x800F0280; // type:function size:0x8 +TRKDoNotifyStopped = .text:0x800F0288; // type:function size:0xD8 TRK_flush_cache = .text:0x800F0360; // type:function size:0x38 TRK_fill_mem = .text:0x800F0398; // type:function size:0xBC -fn_800F0454 = .text:0x800F0454; // type:function size:0x8 -fn_800F045C = .text:0x800F045C; // type:function size:0x8 -fn_800F0464 = .text:0x800F0464; // type:function size:0x3C +__TRK_get_MSR = .text:0x800F0454; // type:function size:0x8 +__TRK_set_MSR = .text:0x800F045C; // type:function size:0x8 +TRK_ppc_memcpy = .text:0x800F0464; // type:function size:0x3C TRKInterruptHandler = .text:0x800F04A0; // type:function size:0x194 scope:global TRKExceptionHandler = .text:0x800F0634; // type:function size:0x9C scope:global TRKSwapAndGo = .text:0x800F06D0; // type:function size:0xC4 scope:global TRKInterruptHandlerEnableInterrupts = .text:0x800F0794; // type:function size:0x54 scope:global TRKTargetSetInputPendingPtr = .text:0x800F07E8; // type:function size:0x10 scope:global -fn_800F07F8 = .text:0x800F07F8; // type:function size:0x21C -fn_800F0A14 = .text:0x800F0A14; // type:function size:0x18 +TRKPPCAccessFPRegister = .text:0x800F07F8; // type:function size:0x21C +TRKTargetStop = .text:0x800F0A14; // type:function size:0x18 TRKTargetSetStopped = .text:0x800F0A2C; // type:function size:0x10 scope:global TRKTargetStopped = .text:0x800F0A3C; // type:function size:0x10 scope:global -fn_800F0A4C = .text:0x800F0A4C; // type:function size:0x3C +TRKTargetFlushCache = .text:0x800F0A4C; // type:function size:0x3C TRKTargetSupportRequest = .text:0x800F0A88; // type:function size:0x208 scope:global -fn_800F0C90 = .text:0x800F0C90; // type:function size:0x10 -fn_800F0CA0 = .text:0x800F0CA0; // type:function size:0x7C -fn_800F0D1C = .text:0x800F0D1C; // type:function size:0x6C -fn_800F0D88 = .text:0x800F0D88; // type:function size:0xAC -fn_800F0E34 = .text:0x800F0E34; // type:function size:0x124 +TRKTargetGetPC = .text:0x800F0C90; // type:function size:0x10 +TRKTargetStepOutOfRange = .text:0x800F0CA0; // type:function size:0x7C +TRKTargetSingleStep = .text:0x800F0D1C; // type:function size:0x6C +TRKTargetAddExceptionInfo = .text:0x800F0D88; // type:function size:0xAC +TRKTargetAddStopInfo = .text:0x800F0E34; // type:function size:0x124 TRKTargetInterrupt = .text:0x800F0F58; // type:function size:0x15C scope:global TRKPostInterruptEvent = .text:0x800F10B4; // type:function size:0xC0 scope:global -fn_800F1174 = .text:0x800F1174; // type:function size:0x60 -fn_800F11D4 = .text:0x800F11D4; // type:function size:0xA4 -fn_800F1278 = .text:0x800F1278; // type:function size:0x24 -fn_800F129C = .text:0x800F129C; // type:function size:0x438 -fn_800F16D4 = .text:0x800F16D4; // type:function size:0x170 -fn_800F1844 = .text:0x800F1844; // type:function size:0x13C -fn_800F1980 = .text:0x800F1980; // type:function size:0xF4 -fn_800F1A74 = .text:0x800F1A74; // type:function size:0x14C -fn_800F1BC0 = .text:0x800F1BC0; // type:function size:0x124 -fn_800F1CF0 = .text:0x800F1CF0; // type:function size:0x8 -fn_800F1CF8 = .text:0x800F1CF8; // type:function size:0x8 -fn_800F1D00 = .text:0x800F1D00; // type:function size:0x8 -fn_800F1D08 = .text:0x800F1D08; // type:function size:0x8 +TRKTargetCPUType = .text:0x800F1174; // type:function size:0x60 +TRKTargetSupportMask = .text:0x800F11D4; // type:function size:0xA4 +TRKTargetVersions = .text:0x800F1278; // type:function size:0x24 +TRKTargetAccessExtended2 = .text:0x800F129C; // type:function size:0x438 +TRKTargetAccessExtended1 = .text:0x800F16D4; // type:function size:0x170 +TRKTargetAccessFP = .text:0x800F1844; // type:function size:0x13C +TRKTargetAccessDefault = .text:0x800F1980; // type:function size:0xF4 +TRKTargetAccessMemory = .text:0x800F1A74; // type:function size:0x14C +TRKValidMemory32 = .text:0x800F1BC0; // type:function size:0x124 +TRKAccessFile = .text:0x800F1CF0; // type:function size:0x8 +TRKOpenFile = .text:0x800F1CF8; // type:function size:0x8 +TRKCloseFile = .text:0x800F1D00; // type:function size:0x8 +TRKPositionFile = .text:0x800F1D08; // type:function size:0x8 InitMetroTRK = .text:0x800F1D10; // type:function size:0x94 scope:global TRKInitializeTarget = .text:0x800F1DA4; // type:function size:0x4C scope:global -fn_800F1DF0 = .text:0x800F1DF0; // type:function size:0x40 +TRKTargetTranslate = .text:0x800F1DF0; // type:function size:0x40 EnableMetroTRKInterrupts = .text:0x800F1E30; // type:function size:0x20 scope:global TRKSaveExtended1Block = .text:0x800F1E50; // type:function size:0x1B8 scope:global TRKRestoreExtended1Block = .text:0x800F2008; // type:function size:0x1B8 scope:global -fn_800F21C0 = .text:0x800F21C0; // type:function size:0x8 +TRKTargetCPUMinorType = .text:0x800F21C0; // type:function size:0x8 TRK_main = .text:0x800F21C8; // type:function size:0x44 scope:global TRKLoadContext = .text:0x800F220C; // type:function size:0x88 scope:global TRKUARTInterruptHandler = .text:0x800F2294; // type:function size:0x4 scope:global TRK_board_display = .text:0x800F2298; // type:function size:0x24 scope:global UnreserveEXI2Port = .text:0x800F22BC; // type:function size:0x30 scope:global ReserveEXI2Port = .text:0x800F22EC; // type:function size:0x30 scope:global -fn_800F231C = .text:0x800F231C; // type:function size:0xF0 -fn_800F240C = .text:0x800F240C; // type:function size:0x28 -fn_800F2434 = .text:0x800F2434; // type:function size:0xE0 -fn_800F2514 = .text:0x800F2514; // type:function size:0x30 +TRKReadUARTPoll = .text:0x800F231C; // type:function size:0xF0 +WriteUART1 = .text:0x800F240C; // type:function size:0x28 +WriteUARTFlush = .text:0x800F2434; // type:function size:0xE0 +EnableEXI2Interrupts = .text:0x800F2514; // type:function size:0x30 TRKInitializeIntDrivenUART = .text:0x800F2544; // type:function size:0x3C scope:global InitMetroTRKCommTable = .text:0x800F2580; // type:function size:0x100 scope:global TRKEXICallBack = .text:0x800F2680; // type:function size:0x38 scope:global TRKTargetContinue = .text:0x800F26B8; // type:function size:0x34 scope:global -fn_800F26EC = .text:0x800F26EC; // type:function size:0x10 -fn_800F26FC = .text:0x800F26FC; // type:function size:0xC -fn_800F2708 = .text:0x800F2708; // type:function size:0xBC +GetUseSerialIO = .text:0x800F26EC; // type:function size:0x10 +SetUseSerialIO = .text:0x800F26FC; // type:function size:0xC +__TRK_write_console = .text:0x800F2708; // type:function size:0xBC __read_console = .text:0x800F27C4; // type:function size:0xBC fn_800F2880 = .text:0x800F2880; // type:function size:0x68 fn_800F28E8 = .text:0x800F28E8; // type:function size:0xAC4 @@ -3494,93 +3493,93 @@ AMC_IsStub = .text:0x80115454; // type:function size:0x8 scope:global Hu_IsStub = .text:0x8011545C; // type:function size:0x8 scope:weak HuSetVecF = .text:0x80115464; // type:function size:0x10 HuSubVecF = .text:0x80115474; // type:function size:0x34 -fn_801154A8 = .text:0x801154A8; // type:function size:0x6C -fn_80115514 = .text:0x80115514; // type:function size:0x27C -fn_80115790 = .text:0x80115790; // type:function size:0x15C -fn_801158EC = .text:0x801158EC; // type:function size:0xB4 -fn_801159A0 = .text:0x801159A0; // type:function size:0x31C -fn_80115CBC = .text:0x80115CBC; // type:function size:0x48 -fn_80115D04 = .text:0x80115D04; // type:function size:0x48 -fn_80115D4C = .text:0x80115D4C; // type:function size:0x68 -fn_80115DB4 = .text:0x80115DB4; // type:function size:0xD8 -fn_80115E8C = .text:0x80115E8C; // type:function size:0xFC -fn_80115F88 = .text:0x80115F88; // type:function size:0x4 -fn_80115F8C = .text:0x80115F8C; // type:function size:0x14 -fn_80115FA0 = .text:0x80115FA0; // type:function size:0xD8 -fn_80116078 = .text:0x80116078; // type:function size:0x114 -fn_8011618C = .text:0x8011618C; // type:function size:0x28 -fn_801161B4 = .text:0x801161B4; // type:function size:0x140 -fn_801162F4 = .text:0x801162F4; // type:function size:0x28C -fn_80116580 = .text:0x80116580; // type:function size:0x298 -fn_80116818 = .text:0x80116818; // type:function size:0x3F0 -fn_80116C08 = .text:0x80116C08; // type:function size:0x3B4 -fn_80116FBC = .text:0x80116FBC; // type:function size:0x278 -fn_80117234 = .text:0x80117234; // type:function size:0x20 -fn_80117254 = .text:0x80117254; // type:function size:0x474 -fn_801176C8 = .text:0x801176C8; // type:function size:0xC8 -fn_80117790 = .text:0x80117790; // type:function size:0x104 -fn_80117894 = .text:0x80117894; // type:function size:0x64 -fn_801178F8 = .text:0x801178F8; // type:function size:0x30 -fn_80117928 = .text:0x80117928; // type:function size:0x34 -fn_8011795C = .text:0x8011795C; // type:function size:0x2C -fn_80117988 = .text:0x80117988; // type:function size:0x60 -fn_801179E8 = .text:0x801179E8; // type:function size:0x154 -fn_80117B3C = .text:0x80117B3C; // type:function size:0x174 -fn_80117CB0 = .text:0x80117CB0; // type:function size:0x1BC -fn_80117E6C = .text:0x80117E6C; // type:function size:0x4 -fn_80117E70 = .text:0x80117E70; // type:function size:0x1CC -fn_8011803C = .text:0x8011803C; // type:function size:0x9C -fn_801180D8 = .text:0x801180D8; // type:function size:0x38 -fn_80118110 = .text:0x80118110; // type:function size:0x3C -fn_8011814C = .text:0x8011814C; // type:function size:0x30 -fn_8011817C = .text:0x8011817C; // type:function size:0x16C -fn_801182E8 = .text:0x801182E8; // type:function size:0x88 -fn_80118370 = .text:0x80118370; // type:function size:0x74 -fn_801183E4 = .text:0x801183E4; // type:function size:0x134 -fn_80118518 = .text:0x80118518; // type:function size:0xCC -fn_801185E4 = .text:0x801185E4; // type:function size:0x328 -fn_8011890C = .text:0x8011890C; // type:function size:0x174 -fn_80118A80 = .text:0x80118A80; // type:function size:0x250 -fn_80118CD0 = .text:0x80118CD0; // type:function size:0x184 -fn_80118E54 = .text:0x80118E54; // type:function size:0x270 -fn_801190C4 = .text:0x801190C4; // type:function size:0x30 -fn_801190F4 = .text:0x801190F4; // type:function size:0x4C -fn_80119140 = .text:0x80119140; // type:function size:0xD8 -fn_80119218 = .text:0x80119218; // type:function size:0x13C -fn_80119354 = .text:0x80119354; // type:function size:0x74 -fn_801193C8 = .text:0x801193C8; // type:function size:0x38 -fn_80119400 = .text:0x80119400; // type:function size:0x60 -fn_80119460 = .text:0x80119460; // type:function size:0x30 -fn_80119490 = .text:0x80119490; // type:function size:0x320 -fn_801197B0 = .text:0x801197B0; // type:function size:0x80 -fn_80119830 = .text:0x80119830; // type:function size:0x168 -fn_80119998 = .text:0x80119998; // type:function size:0xFC -fn_80119A94 = .text:0x80119A94; // type:function size:0x480 -fn_80119F14 = .text:0x80119F14; // type:function size:0x130 -fn_8011A044 = .text:0x8011A044; // type:function size:0xC8 -fn_8011A10C = .text:0x8011A10C; // type:function size:0x118 -fn_8011A224 = .text:0x8011A224; // type:function size:0xE0 -fn_8011A304 = .text:0x8011A304; // type:function size:0x204 -fn_8011A508 = .text:0x8011A508; // type:function size:0x88 -fn_8011A590 = .text:0x8011A590; // type:function size:0x8C -fn_8011A61C = .text:0x8011A61C; // type:function size:0x114 -fn_8011A730 = .text:0x8011A730; // type:function size:0x68 -fn_8011A798 = .text:0x8011A798; // type:function size:0x10C -fn_8011A8A4 = .text:0x8011A8A4; // type:function size:0x2A8 -fn_8011AB4C = .text:0x8011AB4C; // type:function size:0x2B8 -fn_8011AE04 = .text:0x8011AE04; // type:function size:0x1AC -fn_8011AFB0 = .text:0x8011AFB0; // type:function size:0x2E8 -fn_8011B298 = .text:0x8011B298; // type:function size:0x33C -fn_8011B5D4 = .text:0x8011B5D4; // type:function size:0x13C -fn_8011B710 = .text:0x8011B710; // type:function size:0xE0 -fn_8011B7F0 = .text:0x8011B7F0; // type:function size:0x448 -fn_8011BC38 = .text:0x8011BC38; // type:function size:0x2DC -fn_8011BF14 = .text:0x8011BF14; // type:function size:0xD0 -fn_8011BFE4 = .text:0x8011BFE4; // type:function size:0x320 -fn_8011C304 = .text:0x8011C304; // type:function size:0x4A8 -fn_8011C7AC = .text:0x8011C7AC; // type:function size:0x188 -fn_8011C934 = .text:0x8011C934; // type:function size:0x17C -fn_8011CAB0 = .text:0x8011CAB0; // type:function size:0x214 +msmSysServer = .text:0x801154A8; // type:function size:0x6C scope:local +msmSysSetAuxParam = .text:0x80115514; // type:function size:0x27C scope:local +msmSysLoadBaseGroup = .text:0x80115790; // type:function size:0x15C scope:local +msmSysSearchGroupStack = .text:0x801158EC; // type:function size:0xB4 scope:local +msmSysGroupInit = .text:0x801159A0; // type:function size:0x31C scope:local +msmSysIrqDisable = .text:0x80115CBC; // type:function size:0x48 +msmSysIrqEnable = .text:0x80115D04; // type:function size:0x48 +msmSysCheckBaseGroup = .text:0x80115D4C; // type:function size:0x68 +msmSysGetGroupDataPtr = .text:0x80115DB4; // type:function size:0xD8 +msmSysCheckLoadGroupID = .text:0x80115E8C; // type:function size:0xFC +msmSysRegularProc = .text:0x80115F88; // type:function size:0x4 +msmSysGetOutputMode = .text:0x80115F8C; // type:function size:0x14 +msmSysSetOutputMode = .text:0x80115FA0; // type:function size:0xD8 +msmSysSetAux = .text:0x80116078; // type:function size:0x114 +msmSysGetSampSize = .text:0x8011618C; // type:function size:0x28 +msmSysDelGroupAll = .text:0x801161B4; // type:function size:0x140 +msmSysDelGroupBase = .text:0x801162F4; // type:function size:0x28C +msmSysLoadGroupBase = .text:0x80116580; // type:function size:0x298 +msmSysLoadGroupSet = .text:0x80116818; // type:function size:0x3F0 +msmSysLoadGroupSub = .text:0x80116C08; // type:function size:0x3B4 +msmSysLoadGroup = .text:0x80116FBC; // type:function size:0x278 +msmSysCheckInit = .text:0x80117234; // type:function size:0x20 +msmSysInit = .text:0x80117254; // type:function size:0x474 +msmMemFree = .text:0x801176C8; // type:function size:0xC8 +msmMemAlloc = .text:0x80117790; // type:function size:0x104 +msmMemInit = .text:0x80117894; // type:function size:0x64 +msmFioClose = .text:0x801178F8; // type:function size:0x30 +msmFioRead = .text:0x80117928; // type:function size:0x34 +msmFioOpen = .text:0x8011795C; // type:function size:0x2C +msmFioInit = .text:0x80117988; // type:function size:0x60 +msmMusPauseSub = .text:0x801179E8; // type:function size:0x154 scope:local +msmMusPauseFade = .text:0x80117B3C; // type:function size:0x174 scope:local +msmMusFade = .text:0x80117CB0; // type:function size:0x1BC scope:local +msmMusFdoutEnd = .text:0x80117E6C; // type:function size:0x4 +msmMusPeriodicProc = .text:0x80117E70; // type:function size:0x1CC +msmMusGetMidiCtrl = .text:0x8011803C; // type:function size:0x9C +msmMusGetNumPlay = .text:0x801180D8; // type:function size:0x38 +msmMusGetStatus = .text:0x80118110; // type:function size:0x3C +msmMusSetMasterVolume = .text:0x8011814C; // type:function size:0x30 +msmMusSetParam = .text:0x8011817C; // type:function size:0x16C +msmMusPauseAll = .text:0x801182E8; // type:function size:0x88 +msmMusPause = .text:0x80118370; // type:function size:0x74 +msmMusStopAll = .text:0x801183E4; // type:function size:0x134 +msmMusStop = .text:0x80118518; // type:function size:0xCC +msmMusPlay = .text:0x801185E4; // type:function size:0x328 +msmMusInit = .text:0x8011890C; // type:function size:0x174 +msmSeFade = .text:0x80118A80; // type:function size:0x250 scope:local +msmSePauseSub = .text:0x80118CD0; // type:function size:0x184 scope:local +msmSePeriodicProc = .text:0x80118E54; // type:function size:0x270 +msmSeGetIndexPtr = .text:0x801190C4; // type:function size:0x30 +msmSeDelListener = .text:0x801190F4; // type:function size:0x4C +msmSeUpdataListener = .text:0x80119140; // type:function size:0xD8 +msmSeSetListener = .text:0x80119218; // type:function size:0x13C +msmSeGetEntryID = .text:0x80119354; // type:function size:0x74 +msmSeGetNumPlay = .text:0x801193C8; // type:function size:0x38 +msmSeGetStatus = .text:0x80119400; // type:function size:0x60 +msmSeSetMasterVolume = .text:0x80119460; // type:function size:0x30 +msmSeSetParam = .text:0x80119490; // type:function size:0x320 +msmSePauseAll = .text:0x801197B0; // type:function size:0x80 +msmSeStopAll = .text:0x80119830; // type:function size:0x168 +msmSeStop = .text:0x80119998; // type:function size:0xFC +msmSePlay = .text:0x80119A94; // type:function size:0x480 +msmSeInit = .text:0x80119F14; // type:function size:0x130 +msmStreamGetStatus = .text:0x8011A044; // type:function size:0xC8 +msmStreamSetMasterVolume = .text:0x8011A10C; // type:function size:0x118 +msmStreamPauseAll = .text:0x8011A224; // type:function size:0xE0 +msmStreamStop = .text:0x8011A304; // type:function size:0x204 +msmStreamPlay = .text:0x8011A508; // type:function size:0x88 +msmStreamPeriodicProc = .text:0x8011A590; // type:function size:0x8C +msmStreamSetOutputMode = .text:0x8011A61C; // type:function size:0x114 +msmStreamAmemFree = .text:0x8011A730; // type:function size:0x68 +msmStreamAmemAlloc = .text:0x8011A798; // type:function size:0x10C +msmStreamInit = .text:0x8011A8A4; // type:function size:0x2A8 +msmStreamPauseOff = .text:0x8011AB4C; // type:function size:0x2B8 +msmStreamPauseOn = .text:0x8011AE04; // type:function size:0x1AC +msmStreamPauseFade = .text:0x8011AFB0; // type:function size:0x2E8 +msmStreamFade = .text:0x8011B298; // type:function size:0x33C +msmStreamStopSub = .text:0x8011B5D4; // type:function size:0x13C scope:local +msmStreamSetParamSub = .text:0x8011B710; // type:function size:0xE0 scope:local +msmStreamPackStartStereo = .text:0x8011B7F0; // type:function size:0x448 +msmStreamPackStartMono = .text:0x8011BC38; // type:function size:0x2DC +msmStreamSlotOff = .text:0x8011BF14; // type:function size:0xD0 +msmStreamData = .text:0x8011BFE4; // type:function size:0x320 scope:local +msmStreamDvdCallback = .text:0x8011C304; // type:function size:0x4A8 scope:local +msmStreamDvdCallback2 = .text:0x8011C7AC; // type:function size:0x188 scope:local +msmStreamUpdateFunc = .text:0x8011C934; // type:function size:0x17C scope:local +msmStreamSlotInit = .text:0x8011CAB0; // type:function size:0x214 scope:local fn_8011CCC4 = .text:0x8011CCC4; // type:function size:0x4 fn_8011CCC8 = .text:0x8011CCC8; // type:function size:0x4 fn_8011CCCC = .text:0x8011CCCC; // type:function size:0x4 @@ -4896,9 +4895,9 @@ jumptable_8012D814 = .data:0x8012D814; // type:object size:0x20 scope:local lbl_8012D838 = .data:0x8012D838; // type:object size:0x15 data:string lbl_8012D84D = .data:0x8012D84D; // type:object size:0x1F data:string lbl_8012D86C = .data:0x8012D86C; // type:object size:0x18 -lbl_8012D884 = .data:0x8012D884; // type:object size:0x30 -lbl_8012D8B4 = .data:0x8012D8B4; // type:object size:0x20 -lbl_8012D8D4 = .data:0x8012D8D4; // type:object size:0x24 +basePos = .data:0x8012D884; // type:object size:0x30 scope:local +baseST = .data:0x8012D8B4; // type:object size:0x20 scope:local +jitterTbl = .data:0x8012D8D4; // type:object size:0x24 scope:local jumptable_8012D8F8 = .data:0x8012D8F8; // type:object size:0x1C scope:local lbl_8012D918 = .data:0x8012D918; // type:object size:0xCA lbl_8012D9E2 = .data:0x8012D9E2; // type:object size:0x1C data:string @@ -4918,23 +4917,34 @@ lbl_8012E4F0 = .data:0x8012E4F0; // type:object size:0x21A lbl_8012E70A = .data:0x8012E70A; // type:object size:0xB data:string lbl_8012E715 = .data:0x8012E715; // type:object size:0x273 lbl_8012E988 = .data:0x8012E988; // type:object size:0x12 data:string -lbl_8012E99A = .data:0x8012E99A; // type:object size:0x71A +lbl_8012E99A = .data:0x8012E99A; // type:object size:0xD6 +sndGrpTable = .data:0x8012EA70; // type:object size:0x5B0 +lbl_8012F020 = .data:0x8012F020; // type:object size:0x94 lbl_8012F0B4 = .data:0x8012F0B4; // type:object size:0x11 data:string lbl_8012F0C5 = .data:0x8012F0C5; // type:object size:0x3A lbl_8012F0FF = .data:0x8012F0FF; // type:object size:0x31 -lbl_8012F130 = .data:0x8012F130; // type:object size:0x1DC +SeqTable = .data:0x8012F130; // type:object size:0x1DC scope:local lbl_8012F30C = .data:0x8012F30C; // type:object size:0x18 -lbl_8012F324 = .data:0x8012F324; // type:object size:0x120 -lbl_8012F444 = .data:0x8012F444; // type:object size:0x18 -lbl_8012F45C = .data:0x8012F45C; // type:object size:0x40 -lbl_8012F49C = .data:0x8012F49C; // type:object size:0x1C -lbl_8012F4B8 = .data:0x8012F4B8; // type:object size:0x38 -lbl_8012F4F0 = .data:0x8012F4F0; // type:object size:0x84 -lbl_8012F574 = .data:0x8012F574; // type:object size:0x24 -lbl_8012F598 = .data:0x8012F598; // type:object size:0x50 -lbl_8012F5E8 = .data:0x8012F5E8; // type:object size:0xAC -lbl_8012F694 = .data:0x8012F694; // type:object size:0xC -lbl_8012F6A0 = .data:0x8012F6A0; // type:object size:0xF0 +SeqTypeTable = .data:0x8012F324; // type:object size:0x12 scope:local +lbl_8012F336 = .data:0x8012F336; // type:object size:0x53 scope:local data:string +lbl_8012F389 = .data:0x8012F389; // type:object size:0x9 scope:local data:string +lbl_8012F392 = .data:0x8012F392; // type:object size:0x9 scope:local data:string +SeqFontAlphaTbl = .data:0x8012F39B; // type:object size:0x35 scope:local data:string +SeqFontKanaTbl = .data:0x8012F3D0; // type:object size:0x52 scope:local data:string +SeqFontNumTbl = .data:0x8012F422; // type:object size:0xB scope:local data:string +lbl_8012F430 = .data:0x8012F430; // type:object size:0x14 +WordTbl = .data:0x8012F444; // type:object size:0x18 scope:local +LetterBattleOfs = .data:0x8012F45C; // type:object size:0x40 scope:local +Letter2vs2Ofs = .data:0x8012F49C; // type:object size:0x1C scope:local +LetterBowserOfs = .data:0x8012F4B8; // type:object size:0x38 scope:local +lbl_8012F4F0 = .data:0x8012F4F0; // type:object size:0xC +CharNameTbl = .data:0x8012F4FC; // type:object size:0x78 scope:local +lbl_8012F574 = .data:0x8012F574; // type:object size:0xC +WinStrTbl = .data:0x8012F580; // type:object size:0x18 scope:local +WinPosOfs = .data:0x8012F598; // type:object size:0x50 scope:local +PracticeTbl = .data:0x8012F5E8; // type:object size:0xAC scope:local +PracticePosTbl = .data:0x8012F694; // type:object size:0xC scope:local +SeqFXTable = .data:0x8012F6A0; // type:object size:0xF0 scope:local lbl_8012F790 = .data:0x8012F790; // type:object size:0x15 data:string lbl_8012F7A5 = .data:0x8012F7A5; // type:object size:0x10 data:string lbl_8012F7B5 = .data:0x8012F7B5; // type:object size:0x13 data:string @@ -5037,7 +5047,7 @@ lbl_8012FDCE = .data:0x8012FDCE; // type:object size:0x12 _ovltbl = .data:0x8012FDE0; // type:object size:0x320 lbl_80130100 = .data:0x80130100; // type:object size:0x20 lbl_80130120 = .data:0x80130120; // type:object size:0xC -lbl_8013012C = .data:0x8013012C; // type:object size:0x14 +lbl_8013012C = .data:0x8013012C; // type:object size:0xC spcFontTbl = .data:0x80130140; // type:object size:0x170 scope:local charWETbl = .data:0x801302B0; // type:object size:0x130 charWJTbl = .data:0x801303E0; // type:object size:0x140 @@ -5106,10 +5116,10 @@ lbl_801310A0 = .data:0x801310A0; // type:object size:0x1C lbl_801310BC = .data:0x801310BC; // type:object size:0x38 lbl_801310F4 = .data:0x801310F4; // type:object size:0x38 lbl_8013112C = .data:0x8013112C; // type:object size:0xBC -lbl_801311E8 = .data:0x801311E8; // type:object size:0x100 +VolumeTable = .data:0x801311E8; // type:object size:0x100 scope:local lbl_801312E8 = .data:0x801312E8; // type:object size:0x4D lbl_80131335 = .data:0x80131335; // type:object size:0x1B -lbl_80131350 = .data:0x80131350; // type:object size:0xE00 data:2byte +MGInfoTable = .data:0x80131350; // type:object size:0xE00 data:2byte lbl_80132150 = .data:0x80132150; // type:object size:0x40 lbl_80132190 = .data:0x80132190; // type:object size:0xC data:string lbl_8013219C = .data:0x8013219C; // type:object size:0xC data:string @@ -5117,12 +5127,12 @@ lbl_801321A8 = .data:0x801321A8; // type:object size:0xC data:string lbl_801321B4 = .data:0x801321B4; // type:object size:0xC jumptable_801321C0 = .data:0x801321C0; // type:object size:0x34 scope:local lbl_801321F8 = .data:0x801321F8; // type:object size:0x10 -lbl_80132208 = .data:0x80132208; // type:object size:0x1384 -lbl_8013358C = .data:0x8013358C; // type:object size:0x1384 -lbl_80134910 = .data:0x80134910; // type:object size:0x1384 -lbl_80135C94 = .data:0x80135C94; // type:object size:0x1384 -lbl_80137018 = .data:0x80137018; // type:object size:0x1384 -lbl_8013839C = .data:0x8013839C; // type:object size:0x1384 +lbl_80132208 = .data:0x80132208; // type:object size:0x1384 noreloc +lbl_8013358C = .data:0x8013358C; // type:object size:0x1384 noreloc +lbl_80134910 = .data:0x80134910; // type:object size:0x1384 noreloc +lbl_80135C94 = .data:0x80135C94; // type:object size:0x1384 noreloc +lbl_80137018 = .data:0x80137018; // type:object size:0x1384 noreloc +lbl_8013839C = .data:0x8013839C; // type:object size:0x1384 noreloc jumptable_80139720 = .data:0x80139720; // type:object size:0x34 scope:local lbl_80139754 = .data:0x80139754; // type:object size:0x18 lbl_8013976C = .data:0x8013976C; // type:object size:0x13 data:string @@ -5254,6 +5264,7 @@ jumptable_8013B4F4 = .data:0x8013B4F4; // type:object size:0x20 scope:local lbl_8013B518 = .data:0x8013B518; // type:object size:0x24 data:string lbl_8013B53C = .data:0x8013B53C; // type:object size:0x24 data:string @84 = .data:0x8013B560; // type:object size:0x1E scope:local data:string +__OSExceptionLocations = .data:0x8013B648; // type:object size:0x3C lbl_8013B720 = .data:0x8013B720; // type:object size:0x398 DSPInitCode = .data:0x8013BAB8; // type:object size:0x80 scope:local @69 = .data:0x8013BB38; // type:object size:0x29 scope:local data:string @@ -5261,13 +5272,13 @@ lbl_8013BD68 = .data:0x8013BD68; // type:object size:0x1B4 @74 = .data:0x8013BF1C; // type:object size:0x23 scope:local data:string @10 = .data:0x8013BF40; // type:object size:0x16 scope:local data:string @43 = .data:0x8013C21C; // type:object size:0x40 scope:local -lbl_8013C260 = .data:0x8013C260; // type:object size:0x30 data:4byte +InterruptPrioTable = .data:0x8013C260; // type:object size:0x2C scope:local data:4byte lbl_8013C290 = .data:0x8013C290; // type:object size:0x28 lbl_8013C2B8 = .data:0x8013C2B8; // type:object size:0x28 ResetFunctionInfo = .data:0x8013C2E0; // type:object size:0x10 scope:local lbl_8013C2F0 = .data:0x8013C2F0; // type:object size:0x78 -lbl_8013C368 = .data:0x8013C368; // type:object size:0x30 -lbl_8013C398 = .data:0x8013C398; // type:object size:0x30 +YearDays = .data:0x8013C368; // type:object size:0x30 scope:local +LeapYearDays = .data:0x8013C398; // type:object size:0x30 scope:local lbl_8013C3C8 = .data:0x8013C3C8; // type:object size:0x18 data:string lbl_8013C3E0 = .data:0x8013C3E0; // type:object size:0xC8 data:string lbl_8013C4A8 = .data:0x8013C4A8; // type:object size:0x38 @@ -5406,34 +5417,35 @@ Hu3DCameraMtx = .bss:0x8018C89C; // type:object size:0x30 Hu3DCameraMtxXPose = .bss:0x8018C8CC; // type:object size:0x30 Hu3DGlobalLight = .bss:0x8018C8FC; // type:object size:0x220 data:2byte Hu3DLocalLight = .bss:0x8018CB1C; // type:object size:0x8B4 data:2byte -lbl_8018D3D0 = .bss:0x8018D3D0; // type:object size:0x800 data:2byte -lbl_8018DBD0 = .bss:0x8018DBD0; // type:object size:0x1400 data:2byte -lbl_8018EFD0 = .bss:0x8018EFD0; // type:object size:0x6C0 data:2byte -lbl_8018F690 = .bss:0x8018F690; // type:object size:0x100 -lbl_8018F790 = .bss:0x8018F790; // type:object size:0x370 -lbl_8018FB00 = .bss:0x8018FB00; // type:object size:0x38 +Hu3DMotion = .bss:0x8018D3D0; // type:object size:0x800 data:2byte +Hu3DTexAnimData = .bss:0x8018DBD0; // type:object size:0x1400 data:2byte +Hu3DTexScrData = .bss:0x8018EFD0; // type:object size:0x6C0 data:2byte +parManProc = .bss:0x8018F690; // type:object size:0x100 scope:local +perf = .bss:0x8018F790; // type:object size:0x370 scope:local +Ssw = .bss:0x8018FB00; // type:object size:0x38 scope:local omovlhis = .bss:0x8018FB38; // type:object size:0xC0 scope:local XFB_Geometry = .bss:0x8018FBF8; // type:object size:0x18 scope:local -gPlayerConfig = .bss:0x8018FC10; // type:object size:0x28 -gPlayerData = .bss:0x8018FC38; // type:object size:0xC0 data:byte -lbl_8018FCF8 = .bss:0x8018FCF8; // type:object size:0xE0 data:byte -lbl_8018FDD8 = .bss:0x8018FDD8; // type:object size:0x230 -lbl_80190008 = .bss:0x80190008; // type:object size:0xC data:float -lbl_80190014 = .bss:0x80190014; // type:object size:0xC data:float -lbl_80190020 = .bss:0x80190020; // type:object size:0xC0 -lbl_801900E0 = .bss:0x801900E0; // type:object size:0xC0 -lbl_801901A0 = .bss:0x801901A0; // type:object size:0x40 -lbl_801901E0 = .bss:0x801901E0; // type:object size:0x50 -lbl_80190230 = .bss:0x80190230; // type:object size:0x200 -lbl_80190430 = .bss:0x80190430; // type:object size:0x20 -lbl_80190450 = .bss:0x80190450; // type:object size:0x400 data:4byte -lbl_80190850 = .bss:0x80190850; // type:object size:0x10 data:2byte -lbl_80190860 = .bss:0x80190860; // type:object size:0x600 data:2byte -lbl_80190E60 = .bss:0x80190E60; // type:object size:0x1200 data:4byte +GWPlayerCfg = .bss:0x8018FC10; // type:object size:0x28 +GWPlayer = .bss:0x8018FC38; // type:object size:0xC0 data:byte +GWSystem = .bss:0x8018FCF8; // type:object size:0xE0 data:byte +GWGameStat = .bss:0x8018FDD8; // type:object size:0x118 +GWGameStatDefault = .bss:0x8018FEF0; // type:object size:0x118 +CRot = .bss:0x80190008; // type:object size:0xC data:float +Center = .bss:0x80190014; // type:object size:0xC data:float +CRotM = .bss:0x80190020; // type:object size:0xC0 +CenterM = .bss:0x801900E0; // type:object size:0xC0 +CZoomM = .bss:0x801901A0; // type:object size:0x40 +omDLLinfoTbl = .bss:0x801901E0; // type:object size:0x50 +sndFXBuf = .bss:0x80190230; // type:object size:0x200 scope:local +charVoiceGroupStat = .bss:0x80190430; // type:object size:0x20 scope:local +SeqData = .bss:0x80190450; // type:object size:0x400 scope:local data:4byte +SeqDuration = .bss:0x80190850; // type:object size:0x10 scope:local data:2byte +esprite = .bss:0x80190860; // type:object size:0x600 data:2byte +espanim = .bss:0x80190E60; // type:object size:0x1200 data:4byte lbl_80192060 = .bss:0x80192060; // type:object size:0x100 lbl_80192160 = .bss:0x80192160; // type:object size:0x100 lbl_80192260 = .bss:0x80192260; // type:object size:0x100 -wipeData = .bss:0x80192360; // type:object size:0x60 data:4byte +wipeData = .bss:0x80192360; // type:object size:0x4C data:4byte winData = .bss:0x801923C0; // type:object size:0x3000 align:32 data:byte winKey = .bss:0x801953C0; // type:object size:0x10 winComKeyBuf = .bss:0x801953D0; // type:object size:0x1400 @@ -5446,22 +5458,24 @@ lbl_80197500 = .bss:0x80197500; // type:object size:0x10 data:2byte lbl_80197510 = .bss:0x80197510; // type:object size:0x20 lbl_80197530 = .bss:0x80197530; // type:object size:0x80 lbl_801975B0 = .bss:0x801975B0; // type:object size:0xA0 -lbl_80197650 = .bss:0x80197650; // type:object size:0x40 -lbl_80197690 = .bss:0x80197690; // type:object size:0x60 -lbl_801976F0 = .bss:0x801976F0; // type:object size:0xC data:float -lbl_801976FC = .bss:0x801976FC; // type:object size:0xC data:float -lbl_80197708 = .bss:0x80197708; // type:object size:0x78 -lbl_80197780 = .bss:0x80197780; // type:object size:0x18C -lbl_8019790C = .bss:0x8019790C; // type:object size:0x180 -lbl_80197A8C = .bss:0x80197A8C; // type:object size:0x34 -lbl_80197AC0 = .bss:0x80197AC0; // type:object size:0x1A0 -lbl_80197C60 = .bss:0x80197C60; // type:object size:0x500 -lbl_80198160 = .bss:0x80198160; // type:object size:0x40 -lbl_801981A0 = .bss:0x801981A0; // type:object size:0x40 -lbl_801981E0 = .bss:0x801981E0; // type:object size:0x118 +MapObject = .bss:0x80197650; // type:object size:0x40 +MapMT = .bss:0x80197690; // type:object size:0x30 +MapMTR = .bss:0x801976C0; // type:object size:0x30 +MTRAdd = .bss:0x801976F0; // type:object size:0xC scope:local data:float +FieldVec = .bss:0x801976FC; // type:object size:0xC scope:local data:float +ColisionIdx = .bss:0x80197708; // type:object size:0x78 +HitFaceVec = .bss:0x80197780; // type:object size:0x180 +OldXYZ = .bss:0x80197900; // type:object size:0xC scope:local +HitFace = .bss:0x8019790C; // type:object size:0x180 +CharObject = .bss:0x80197A8C; // type:object size:0x28 +SimpleControl = .bss:0x80197AC0; // type:object size:0x19C +SoundBuffer = .bss:0x80197C60; // type:object size:0x500 scope:local align:32 +WorkBuffer = .bss:0x80198160; // type:object size:0x40 scope:local align:32 +THPFileName = .bss:0x801981A0; // type:object size:0x40 scope:local +GWGameStatBackup = .bss:0x801981E0; // type:object size:0x118 lbl_801982F8 = .bss:0x801982F8; // type:object size:0x100 lbl_801983F8 = .bss:0x801983F8; // type:object size:0x18 -lbl_80198410 = .bss:0x80198410; // type:object size:0x10 +_Sys_Flag = .bss:0x80198410; // type:object size:0x10 lbl_80198420 = .bss:0x80198420; // type:object size:0x20 lbl_80198440 = .bss:0x80198440; // type:object size:0x4000 lbl_8019C440 = .bss:0x8019C440; // type:object size:0x13A0 @@ -5511,14 +5525,18 @@ lbl_801A4D58 = .bss:0x801A4D58; // type:object size:0x10 data:float lbl_801A4D68 = .bss:0x801A4D68; // type:object size:0x500 data:byte lbl_801A5268 = .bss:0x801A5268; // type:object size:0x80 lbl_801A52E8 = .bss:0x801A52E8; // type:object size:0x18 data:4byte -DriveInfo = .bss:0x801A5300; // type:object size:0x20 scope:local +DriveInfo = .bss:0x801A5300; // type:object size:0x20 scope:local align:32 +DriveBlock = .bss:0x801A5320; // type:object size:0x30 scope:local __OSErrorTable = .bss:0x801A5350; // type:object size:0x40 scope:global -lbl_801A53A0 = .bss:0x801A53A0; // type:object size:0x20 -Scb = .bss:0x801A53C0; // type:object size:0x54 scope:local data:4byte +Header = .bss:0x801A53A0; // type:object size:0x20 scope:local align:32 +Scb = .bss:0x801A53C0; // type:object size:0x54 scope:local align:32 data:4byte RunQueue = .bss:0x801A5418; // type:object size:0x100 scope:local data:4byte +IdleThread = .bss:0x801A5518; // type:object size:0x310 scope:local align:8 data:4byte +DefaultThread = .bss:0x801A5828; // type:object size:0x310 scope:local align:8 data:4byte +IdleContext = .bss:0x801A5B38; // type:object size:0x2C8 scope:local align:8 data:4byte CommandList = .bss:0x801A5E00; // type:object size:0x3C scope:local data:4byte AlarmForTimeout = .bss:0x801A5E68; // type:object size:0x28 scope:local -tmpBuffer = .bss:0x801A5EE0; // type:object size:0x80 scope:local +tmpBuffer = .bss:0x801A5EE0; // type:object size:0x80 scope:local align:32 DummyCommandBlock = .bss:0x801A5F60; // type:object size:0x30 scope:local WaitingQueue = .bss:0x801A5FB8; // type:object size:0x20 scope:local data:4byte bb2Buf = .bss:0x801A5FD8; // type:object size:0x3F scope:local @@ -5651,7 +5669,7 @@ lbl_801D34A0 = .sdata:0x801D34A0; // type:object size:0x4 data:4byte lbl_801D34A4 = .sdata:0x801D34A4; // type:object size:0xC lbl_801D34B0 = .sdata:0x801D34B0; // type:object size:0x1 lbl_801D34B1 = .sdata:0x801D34B1; // type:object size:0x7 -lbl_801D34B8 = .sdata:0x801D34B8; // type:object size:0x4 data:4byte +MGSeqInitFlag = .sdata:0x801D34B8; // type:object size:0x4 data:4byte lbl_801D34BC = .sdata:0x801D34BC; // type:object size:0x7 data:string lbl_801D34C3 = .sdata:0x801D34C3; // type:object size:0x1 data:byte lbl_801D34C6 = .sdata:0x801D34C6; // type:object size:0x6 @@ -5695,7 +5713,7 @@ lbl_801D359E = .sdata:0x801D359E; // type:object size:0x5 data:string lbl_801D35A3 = .sdata:0x801D35A3; // type:object size:0x7 lbl_801D35AA = .sdata:0x801D35AA; // type:object size:0x6 lbl_801D35B0 = .sdata:0x801D35B0; // type:object size:0x8 -lbl_801D35B8 = .sdata:0x801D35B8; // type:object size:0x8 +PauseStrTbl = .sdata:0x801D35B8; // type:object size:0x8 scope:local lbl_801D35C0 = .sdata:0x801D35C0; // type:object size:0x8 lbl_801D35C8 = .sdata:0x801D35C8; // type:object size:0x8 lbl_801D35D0 = .sdata:0x801D35D0; // type:object size:0x8 @@ -5858,8 +5876,8 @@ lbl_801D38B6 = .sdata:0x801D38B6; // type:object size:0x2 data:2byte __OSCurrHeap = .sdata:0x801D38B8; // type:object size:0x8 data:4byte __OSArenaLo = .sdata:0x801D38C0; // type:object size:0x4 scope:local data:4byte @32 = .sdata:0x801D38C8; // type:object size:0x2 scope:local data:string -lbl_801D38D0 = .sdata:0x801D38D0; // type:object size:0x8 data:2byte -lbl_801D38D8 = .sdata:0x801D38D8; // type:object size:0x8 +fontEncode$80 = .sdata:0x801D38D0; // type:object size:0x8 scope:local data:2byte +Unit01 = .sdata:0x801D38D8; // type:object size:0x8 lbl_801D38E0 = .sdata:0x801D38E0; // type:object size:0x8 data:4byte lbl_801D38E8 = .sdata:0x801D38E8; // type:object size:0x8 data:string autoInvalidation = .sdata:0x801D38F0; // type:object size:0x4 scope:local data:4byte @@ -6054,30 +6072,30 @@ Hu3DShadowCamBit = .sbss:0x801D3C50; // type:object size:0x2 data:2byte toonAnim = .sbss:0x801D3C54; // type:object size:0x4 data:4byte reflectMapNo = .sbss:0x801D3C58; // type:object size:0x2 data:2byte BGColor = .sbss:0x801D3C5A; // type:object size:0x4 data:byte -lbl_801D3C60 = .sbss:0x801D3C60; // type:object size:0x8 data:4byte -lbl_801D3C68 = .sbss:0x801D3C68; // type:object size:0x1 data:byte -lbl_801D3C6A = .sbss:0x801D3C6A; // type:object size:0x2 data:2byte -lbl_801D3C6C = .sbss:0x801D3C6C; // type:object size:0x4 data:4byte -lbl_801D3C70 = .sbss:0x801D3C70; // type:object size:0x4 -lbl_801D3C74 = .sbss:0x801D3C74; // type:object size:0x4 -lbl_801D3C78 = .sbss:0x801D3C78; // type:object size:0x4 -lbl_801D3C7C = .sbss:0x801D3C7C; // type:object size:0x4 -lbl_801D3C80 = .sbss:0x801D3C80; // type:object size:0x4 -lbl_801D3C84 = .sbss:0x801D3C84; // type:object size:0x4 -lbl_801D3C88 = .sbss:0x801D3C88; // type:object size:0x4 -lbl_801D3C8C = .sbss:0x801D3C8C; // type:object size:0x4 -lbl_801D3C90 = .sbss:0x801D3C90; // type:object size:0x4 -lbl_801D3C94 = .sbss:0x801D3C94; // type:object size:0x4 -lbl_801D3C98 = .sbss:0x801D3C98; // type:object size:0x4 -lbl_801D3C9C = .sbss:0x801D3C9C; // type:object size:0x4 -lbl_801D3CA0 = .sbss:0x801D3CA0; // type:object size:0x4 -lbl_801D3CA4 = .sbss:0x801D3CA4; // type:object size:0x4 -lbl_801D3CA8 = .sbss:0x801D3CA8; // type:object size:0x4 -lbl_801D3CAC = .sbss:0x801D3CAC; // type:object size:0x4 -lbl_801D3CB0 = .sbss:0x801D3CB0; // type:object size:0x4 -lbl_801D3CB4 = .sbss:0x801D3CB4; // type:object size:0x4 -lbl_801D3CB8 = .sbss:0x801D3CB8; // type:object size:0x4 -lbl_801D3CBC = .sbss:0x801D3CBC; // type:object size:0x4 +bitMapPtr = .sbss:0x801D3C60; // type:object size:0x8 scope:local data:4byte +metf = .sbss:0x801D3C68; // type:object size:0x1 scope:local data:byte +tokenEndF = .sbss:0x801D3C6A; // type:object size:0x2 scope:local data:2byte +total_copy_clks = .sbss:0x801D3C6C; // type:object size:0x4 scope:local data:4byte +clr_pixels_in = .sbss:0x801D3C70; // type:object size:0x4 scope:local +bot_pixels_out = .sbss:0x801D3C74; // type:object size:0x4 scope:local +bot_pixels_in = .sbss:0x801D3C78; // type:object size:0x4 scope:local +top_pixels_out = .sbss:0x801D3C7C; // type:object size:0x4 scope:local +top_pixels_in = .sbss:0x801D3C80; // type:object size:0x4 scope:local +fi_req = .sbss:0x801D3C84; // type:object size:0x4 scope:local +rf_req = .sbss:0x801D3C88; // type:object size:0x4 scope:local +pe_req = .sbss:0x801D3C8C; // type:object size:0x4 scope:local +vi_req = .sbss:0x801D3C90; // type:object size:0x4 scope:local +io_req = .sbss:0x801D3C94; // type:object size:0x4 scope:local +dsp_req = .sbss:0x801D3C98; // type:object size:0x4 scope:local +cpu_wr_req = .sbss:0x801D3C9C; // type:object size:0x4 scope:local +cpu_rd_req = .sbss:0x801D3CA0; // type:object size:0x4 scope:local +tc_req = .sbss:0x801D3CA4; // type:object size:0x4 scope:local +cp_req = .sbss:0x801D3CA8; // type:object size:0x4 scope:local +vstall = .sbss:0x801D3CAC; // type:object size:0x4 scope:local +vmiss = .sbss:0x801D3CB0; // type:object size:0x4 scope:local +vcheck = .sbss:0x801D3CB4; // type:object size:0x4 scope:local +met1 = .sbss:0x801D3CB8; // type:object size:0x4 scope:local +met0 = .sbss:0x801D3CBC; // type:object size:0x4 scope:local omdispinfo = .sbss:0x801D3CC0; // type:object size:0x2 data:2byte omSysExitReq = .sbss:0x801D3CC2; // type:object size:0x2 data:2byte omUPauseFlag = .sbss:0x801D3CC4; // type:object size:0x1 data:byte @@ -6095,46 +6113,46 @@ y_start = .sbss:0x801D3CF0; // type:object size:0x4 scope:local data:4byte x_start = .sbss:0x801D3CF4; // type:object size:0x4 scope:local data:4byte Draw_Color = .sbss:0x801D3CF8; // type:object size:0x3 scope:local data:byte XFB_putc = .sbss:0x801D3CFC; // type:object size:0x4 scope:local data:4byte -lbl_801D3D00 = .sbss:0x801D3D00; // type:object size:0x4 -lbl_801D3D04 = .sbss:0x801D3D04; // type:object size:0x4 data:float -lbl_801D3D08 = .sbss:0x801D3D08; // type:object size:0x8 data:4byte +omDBGMenuButton = .sbss:0x801D3D00; // type:object size:0x4 +CZoom = .sbss:0x801D3D04; // type:object size:0x4 data:float +omDLLFileList = .sbss:0x801D3D08; // type:object size:0x8 scope:local data:4byte frand_seed = .sbss:0x801D3D10; // type:object size:0x8 scope:local data:4byte fadeStat = .sbss:0x801D3D18; // type:object size:0x1 data:byte -lbl_801D3D1C = .sbss:0x801D3D1C; // type:object size:0x4 data:4byte -lbl_801D3D20 = .sbss:0x801D3D20; // type:object size:0x4 data:float -lbl_801D3D24 = .sbss:0x801D3D24; // type:object size:0x4 data:float -lbl_801D3D28 = .sbss:0x801D3D28; // type:object size:0x4 data:float -lbl_801D3D2C = .sbss:0x801D3D2C; // type:object size:0x4 data:float -lbl_801D3D30 = .sbss:0x801D3D30; // type:object size:0x4 data:float -lbl_801D3D34 = .sbss:0x801D3D34; // type:object size:0x1 data:byte -lbl_801D3D35 = .sbss:0x801D3D35; // type:object size:0x1 data:byte -lbl_801D3D38 = .sbss:0x801D3D38; // type:object size:0x4 data:4byte -lbl_801D3D3C = .sbss:0x801D3D3C; // type:object size:0x4 data:4byte -lbl_801D3D40 = .sbss:0x801D3D40; // type:object size:0x2 data:2byte -lbl_801D3D42 = .sbss:0x801D3D42; // type:object size:0x6 data:2byte -lbl_801D3D48 = .sbss:0x801D3D48; // type:object size:0x4 data:4byte -lbl_801D3D4C = .sbss:0x801D3D4C; // type:object size:0x4 data:4byte -lbl_801D3D50 = .sbss:0x801D3D50; // type:object size:0x4 data:4byte -lbl_801D3D54 = .sbss:0x801D3D54; // type:object size:0x4 data:4byte -lbl_801D3D58 = .sbss:0x801D3D58; // type:object size:0x4 data:4byte -lbl_801D3D5C = .sbss:0x801D3D5C; // type:object size:0x4 data:4byte -lbl_801D3D60 = .sbss:0x801D3D60; // type:object size:0x4 data:4byte -lbl_801D3D64 = .sbss:0x801D3D64; // type:object size:0x4 data:4byte -lbl_801D3D68 = .sbss:0x801D3D68; // type:object size:0x4 data:4byte -lbl_801D3D6C = .sbss:0x801D3D6C; // type:object size:0x4 data:4byte -lbl_801D3D70 = .sbss:0x801D3D70; // type:object size:0x8 data:4byte -lbl_801D3D78 = .sbss:0x801D3D78; // type:object size:0x4 data:4byte -lbl_801D3D7C = .sbss:0x801D3D7C; // type:object size:0x4 data:4byte -lbl_801D3D80 = .sbss:0x801D3D80; // type:object size:0x4 data:4byte -lbl_801D3D84 = .sbss:0x801D3D84; // type:object size:0x4 data:4byte -lbl_801D3D88 = .sbss:0x801D3D88; // type:object size:0x4 data:4byte -lbl_801D3D8C = .sbss:0x801D3D8C; // type:object size:0x4 data:4byte -lbl_801D3D90 = .sbss:0x801D3D90; // type:object size:0x2 data:2byte -lbl_801D3D92 = .sbss:0x801D3D92; // type:object size:0x2 data:2byte +musicOffF = .sbss:0x801D3D1C; // type:object size:0x4 data:4byte +Snd3DDistOffset = .sbss:0x801D3D20; // type:object size:0x4 data:float +Snd3DSpeedOffset = .sbss:0x801D3D24; // type:object size:0x4 data:float +Snd3DStartDisOffset = .sbss:0x801D3D28; // type:object size:0x4 data:float +Snd3DFrontSurDisOffset = .sbss:0x801D3D2C; // type:object size:0x4 data:float +Snd3DBackSurDisOffset = .sbss:0x801D3D30; // type:object size:0x4 data:float +HuAuxBVol = .sbss:0x801D3D34; // type:object size:0x1 data:byte +HuAuxAVol = .sbss:0x801D3D35; // type:object size:0x1 data:byte +auxBNoBak = .sbss:0x801D3D38; // type:object size:0x4 scope:local data:4byte +auxANoBak = .sbss:0x801D3D3C; // type:object size:0x4 scope:local data:4byte +sndGroupBak = .sbss:0x801D3D40; // type:object size:0x2 scope:local data:2byte +Hu3DAudVol = .sbss:0x801D3D42; // type:object size:0x6 scope:local data:2byte +Meshno = .sbss:0x801D3D48; // type:object size:0x4 scope:local data:4byte +Meshcnt = .sbss:0x801D3D4C; // type:object size:0x4 scope:local data:4byte +normtop = .sbss:0x801D3D50; // type:object size:0x4 scope:local data:4byte +normenv = .sbss:0x801D3D54; // type:object size:0x4 scope:local data:4byte +vtxenv = .sbss:0x801D3D58; // type:object size:0x4 scope:local data:4byte +CurHsf = .sbss:0x801D3D5C; // type:object size:0x4 scope:local data:4byte +objtop = .sbss:0x801D3D60; // type:object size:0x4 scope:local data:4byte +nMesh = .sbss:0x801D3D64; // type:object size:0x4 scope:local data:4byte +nObj = .sbss:0x801D3D68; // type:object size:0x4 scope:local data:4byte +MtxTop = .sbss:0x801D3D6C; // type:object size:0x4 data:4byte +Vertextop = .sbss:0x801D3D70; // type:object size:0x8 data:4byte +SeqLanguage = .sbss:0x801D3D78; // type:object size:0x4 scope:local data:4byte +PauseProcess = .sbss:0x801D3D7C; // type:object size:0x4 scope:local data:4byte +PauseActive = .sbss:0x801D3D80; // type:object size:0x4 scope:local data:4byte +PauseExit = .sbss:0x801D3D84; // type:object size:0x4 scope:local data:4byte +PauseWait = .sbss:0x801D3D88; // type:object size:0x4 scope:local data:4byte +SeqRecordValue = .sbss:0x801D3D8C; // type:object size:0x4 scope:local data:4byte +PauseSeq = .sbss:0x801D3D90; // type:object size:0x2 scope:local data:2byte +SeqSpeed = .sbss:0x801D3D92; // type:object size:0x2 scope:local data:2byte lbl_801D3D94 = .sbss:0x801D3D94; // type:object size:0x1 data:byte -lbl_801D3D95 = .sbss:0x801D3D95; // type:object size:0x1 data:byte -lbl_801D3D96 = .sbss:0x801D3D96; // type:object size:0x2 data:2byte -lbl_801D3D98 = .sbss:0x801D3D98; // type:object size:0x8 data:2byte +SeqDone = .sbss:0x801D3D95; // type:object size:0x1 scope:local data:byte +SeqTimer = .sbss:0x801D3D96; // type:object size:0x2 scope:local data:2byte +gid = .sbss:0x801D3D98; // type:object size:0x8 scope:local data:2byte lbl_801D3DA0 = .sbss:0x801D3DA0; // type:object size:0x8 lbl_801D3DA8 = .sbss:0x801D3DA8; // type:object size:0x8 data:4byte fontAnim = .sbss:0x801D3DB0; // type:object size:0x4 data:4byte @@ -6164,30 +6182,30 @@ arqCnt = .sbss:0x801D3E04; // type:object size:0x4 scope:local data:4byte ARBase = .sbss:0x801D3E08; // type:object size:0x8 scope:local data:4byte lbl_801D3E10 = .sbss:0x801D3E10; // type:object size:0x4 data:4byte lbl_801D3E14 = .sbss:0x801D3E14; // type:object size:0x4 data:4byte -lbl_801D3E18 = .sbss:0x801D3E18; // type:object size:0x4 data:4byte -lbl_801D3E1C = .sbss:0x801D3E1C; // type:object size:0x4 data:4byte -lbl_801D3E20 = .sbss:0x801D3E20; // type:object size:0x4 data:4byte -lbl_801D3E24 = .sbss:0x801D3E24; // type:object size:0x4 data:4byte -lbl_801D3E28 = .sbss:0x801D3E28; // type:object size:0x4 -lbl_801D3E2C = .sbss:0x801D3E2C; // type:object size:0x4 data:4byte -lbl_801D3E30 = .sbss:0x801D3E30; // type:object size:0x4 data:float -lbl_801D3E34 = .sbss:0x801D3E34; // type:object size:0x4 data:float -lbl_801D3E38 = .sbss:0x801D3E38; // type:object size:0x4 data:4byte -lbl_801D3E3C = .sbss:0x801D3E3C; // type:object size:0x4 data:4byte -lbl_801D3E40 = .sbss:0x801D3E40; // type:object size:0x4 data:4byte -lbl_801D3E44 = .sbss:0x801D3E44; // type:object size:0x4 data:4byte -lbl_801D3E48 = .sbss:0x801D3E48; // type:object size:0x4 data:4byte -lbl_801D3E4C = .sbss:0x801D3E4C; // type:object size:0x4 data:4byte -lbl_801D3E50 = .sbss:0x801D3E50; // type:object size:0x8 data:4byte -lbl_801D3E58 = .sbss:0x801D3E58; // type:object size:0x4 data:4byte -lbl_801D3E5C = .sbss:0x801D3E5C; // type:object size:0x2 data:2byte -lbl_801D3E60 = .sbss:0x801D3E60; // type:object size:0x4 data:4byte -lbl_801D3E64 = .sbss:0x801D3E64; // type:object size:0x2 data:2byte -lbl_801D3E66 = .sbss:0x801D3E66; // type:object size:0x2 data:2byte -lbl_801D3E68 = .sbss:0x801D3E68; // type:object size:0x4 data:4byte -lbl_801D3E6C = .sbss:0x801D3E6C; // type:object size:0x4 data:4byte -lbl_801D3E70 = .sbss:0x801D3E70; // type:object size:0x4 data:4byte -lbl_801D3E74 = .sbss:0x801D3E74; // type:object size:0xC data:4byte +ColisionCount = .sbss:0x801D3E18; // type:object size:0x4 data:4byte +topvtx = .sbss:0x801D3E1C; // type:object size:0x4 scope:local data:4byte +AttrHsf = .sbss:0x801D3E20; // type:object size:0x4 scope:local data:4byte +HitFaceCount = .sbss:0x801D3E24; // type:object size:0x4 data:4byte +nChar = .sbss:0x801D3E28; // type:object size:0x4 +nMap = .sbss:0x801D3E2C; // type:object size:0x4 data:4byte +AddZ = .sbss:0x801D3E30; // type:object size:0x4 data:float +AddX = .sbss:0x801D3E34; // type:object size:0x4 data:float +Initialized = .sbss:0x801D3E38; // type:object size:0x4 scope:local data:4byte +OldAIDCallback = .sbss:0x801D3E3C; // type:object size:0x4 scope:local data:4byte +AudioSystem = .sbss:0x801D3E40; // type:object size:0x4 scope:local data:4byte +bufIdx = .sbss:0x801D3E44; // type:object size:0x4 scope:local data:4byte +CurAudioBuffer = .sbss:0x801D3E48; // type:object size:0x4 scope:local data:4byte +LastAudioBuffer = .sbss:0x801D3E4C; // type:object size:0x4 scope:local data:4byte +SoundBufferIndex = .sbss:0x801D3E50; // type:object size:0x8 scope:local data:4byte +THPProc = .sbss:0x801D3E58; // type:object size:0x4 data:4byte +THPStart = .sbss:0x801D3E5C; // type:object size:0x2 scope:local data:2byte +THPFrame = .sbss:0x801D3E60; // type:object size:0x4 scope:local data:4byte +THPStat = .sbss:0x801D3E64; // type:object size:0x2 scope:local data:2byte +THPLoopF = .sbss:0x801D3E66; // type:object size:0x2 scope:local data:2byte +decodeThread = .sbss:0x801D3E68; // type:object size:0x4 scope:local data:4byte +decodeStackP = .sbss:0x801D3E6C; // type:object size:0x4 scope:local data:4byte +decodeRate = .sbss:0x801D3E70; // type:object size:0x4 scope:local data:4byte +audioTrack = .sbss:0x801D3E74; // type:object size:0xC scope:local data:4byte lbl_801D3E80 = .sbss:0x801D3E80; // type:object size:0x4 lbl_801D3E84 = .sbss:0x801D3E84; // type:object size:0x4 lbl_801D3E88 = .sbss:0x801D3E88; // type:object size:0x4 data:4byte @@ -6495,26 +6513,24 @@ __OSSavedRegionStart = .sbss:0x801D42CC; // type:object size:0x4 scope:global da __OSInIPL = .sbss:0x801D42D0; // type:object size:0x4 scope:global data:4byte __OSStartTime = .sbss:0x801D42D8; // type:object size:0x8 scope:global data:4byte AlarmQueue = .sbss:0x801D42E0; // type:object size:0x8 scope:local data:4byte -lbl_801D42E8 = .sbss:0x801D42E8; // type:object size:0x4 data:4byte -lbl_801D42EC = .sbss:0x801D42EC; // type:object size:0x4 data:4byte -lbl_801D42F0 = .sbss:0x801D42F0; // type:object size:0x4 data:4byte -lbl_801D42F4 = .sbss:0x801D42F4; // type:object size:0x4 data:4byte +HeapArray = .sbss:0x801D42E8; // type:object size:0x4 scope:local data:4byte +NumHeaps = .sbss:0x801D42EC; // type:object size:0x4 scope:local data:4byte +ArenaStart = .sbss:0x801D42F0; // type:object size:0x4 scope:local data:4byte +ArenaEnd = .sbss:0x801D42F4; // type:object size:0x4 scope:local data:4byte __OSArenaHi = .sbss:0x801D42F8; // type:object size:0x4 scope:local data:4byte InterruptHandlerTable = .sbss:0x801D4300; // type:object size:0x4 scope:local data:4byte __OSLastInterruptSrr0 = .sbss:0x801D4304; // type:object size:0x4 scope:global data:4byte __OSLastInterrupt = .sbss:0x801D4308; // type:object size:0x2 scope:global data:2byte __OSLastInterruptTime = .sbss:0x801D4310; // type:object size:0x8 scope:global data:4byte -lbl_801D4318 = .sbss:0x801D4318; // type:object size:0x4 data:4byte -lbl_801D431C = .sbss:0x801D431C; // type:object size:0x4 data:4byte -lbl_801D4320 = .sbss:0x801D4320; // type:object size:0x8 data:4byte +SaveStart = .sbss:0x801D4318; // type:object size:0x4 scope:local data:4byte +SaveEnd = .sbss:0x801D431C; // type:object size:0x4 scope:local data:4byte +Prepared = .sbss:0x801D4320; // type:object size:0x8 scope:local data:4byte ResetFunctionQueue = .sbss:0x801D4328; // type:object size:0x8 scope:local data:4byte -lbl_801D4330 = .sbss:0x801D4330; // type:object size:0x4 data:4byte -lbl_801D4334 = .sbss:0x801D4334; // type:object size:0x4 data:4byte -lbl_801D4338 = .sbss:0x801D4338; // type:object size:0x8 data:4byte -lbl_801D4340 = .sbss:0x801D4340; // type:object size:0x4 data:4byte -lbl_801D4344 = .sbss:0x801D4344; // type:object size:0x4 data:4byte -lbl_801D4348 = .sbss:0x801D4348; // type:object size:0x4 data:4byte -lbl_801D434C = .sbss:0x801D434C; // type:object size:0x4 data:4byte +ResetCallback = .sbss:0x801D4330; // type:object size:0x4 data:4byte +Down = .sbss:0x801D4334; // type:object size:0x4 data:4byte +LastState = .sbss:0x801D4338; // type:object size:0x8 data:4byte +HoldUp = .sbss:0x801D4340; // type:object size:0x8 align:8 data:4byte +HoldDown = .sbss:0x801D4348; // type:object size:0x8 align:8 data:4byte RunQueueBits = .sbss:0x801D4350; // type:object size:0x4 scope:local data:4byte RunQueueHint = .sbss:0x801D4354; // type:object size:0x4 scope:local data:4byte Reschedule = .sbss:0x801D4358; // type:object size:0x4 scope:local data:4byte diff --git a/configure.py b/configure.py index a636ef6f..039fee02 100755 --- a/configure.py +++ b/configure.py @@ -191,6 +191,7 @@ cflags_game = [ "-fp_contract off", ] + config.linker_version = "GC/2.6" config.rel_strip_partial = False config.rel_empty_file = "REL/empty.c" @@ -247,16 +248,90 @@ config.libs = [ Object(NonMatching, "game/hsfload.c"), Object(NonMatching, "game/hsfdraw.c"), Object(NonMatching, "game/hsfman.c"), + Object(NonMatching, "game/hsfmotion.c"), + Object(NonMatching, "game/hsfanim.c"), + Object(NonMatching, "game/hsfex.c"), + Object(NonMatching, "game/perf.c"), Object(Matching, "game/objmain.c"), Object(NonMatching, "game/fault.c"), - Object(NonMatching, "game/frand.c"), + Object(NonMatching, "game/gamework.c"), + Object(NonMatching, "game/objsysobj.c"), + Object(NonMatching, "game/objdll.c"), + Object(Matching, "game/frand.c"), + Object(NonMatching, "game/audio.c"), + Object(NonMatching, "game/EnvelopeExec.c"), + Object(NonMatching, "game/minigame_seq.c"), Object(Matching, "game/ovllist.c"), + Object(NonMatching, "game/esprite.c"), + Object(NonMatching, "game/code_8003FF68.c"), + Object(NonMatching, "game/ClusterExec.c"), + Object(NonMatching, "game/ShapeExec.c"), + Object(NonMatching, "game/wipe.c"), Object(NonMatching, "game/window.c"), - Object(NonMatching, "game/messdata.c"), + Object(Matching, "game/messdata.c"), Object(NonMatching, "game/card.c"), Object(NonMatching, "game/armem.c"), + Object(NonMatching, "game/code_800498F0.c"), + Object(NonMatching, "game/mapspace.c"), + Object(NonMatching, "game/THPSimple.c"), + Object(NonMatching, "game/THPDraw.c"), + Object(NonMatching, "game/thpmain.c"), + Object(NonMatching, "game/objsub.c"), + Object(NonMatching, "game/flag.c"), ], }, + DolphinLib( + "base", + [ + Object(NonMatching, "dolphin/PPCArch.c"), + ], + ), + DolphinLib( + "os", + [ + Object(NonMatching, "dolphin/os/OS.c"), + Object(NonMatching, "dolphin/os/OSAlarm.c"), + Object(NonMatching, "dolphin/os/OSAlloc.c"), + Object(NonMatching, "dolphin/os/OSArena.c"), + Object(NonMatching, "dolphin/os/OSAudioSystem.c"), + Object(NonMatching, "dolphin/os/OSCache.c"), + Object(NonMatching, "dolphin/os/OSContext.c"), + Object(NonMatching, "dolphin/os/OSError.c"), + Object(NonMatching, "dolphin/os/OSFont.c"), + Object(NonMatching, "dolphin/os/OSInterrupt.c"), + Object(NonMatching, "dolphin/os/OSLink.c"), + Object(NonMatching, "dolphin/os/OSMessage.c"), + Object(NonMatching, "dolphin/os/OSMemory.c"), + Object(NonMatching, "dolphin/os/OSMutex.c"), + Object(NonMatching, "dolphin/os/OSReboot.c"), + Object(NonMatching, "dolphin/os/OSReset.c"), + Object(NonMatching, "dolphin/os/OSResetSW.c"), + Object(NonMatching, "dolphin/os/OSRtc.c"), + Object(NonMatching, "dolphin/os/OSStopwatch.c"), + Object(NonMatching, "dolphin/os/OSSync.c"), + Object(NonMatching, "dolphin/os/OSThread.c"), + Object(NonMatching, "dolphin/os/OSTime.c"), + Object(NonMatching, "dolphin/os/__start.c"), + Object(NonMatching, "dolphin/os/__ppc_eabi_init.c"), + ], + ), + DolphinLib( + "db", + [ + Object(NonMatching, "dolphin/db.c"), + ], + ), + DolphinLib( + "mtx", + [ + Object(NonMatching, "dolphin/mtx/mtx.c"), + Object(NonMatching, "dolphin/mtx/mtxvec.c"), + Object(NonMatching, "dolphin/mtx/mtx44.c"), + Object(NonMatching, "dolphin/mtx/vec.c"), + Object(NonMatching, "dolphin/mtx/quat.c"), + Object(NonMatching, "dolphin/mtx/psmtx.c"), + ], + ), { "lib": "Runtime.PPCEABI.H", "mw_version": config.linker_version, @@ -308,6 +383,19 @@ config.libs = [ Object(Matching, "REL/subchrselDll/subchrselDll.c"), ], }, + { + "lib": "w10Dll", + "mw_version": config.linker_version, + "cflags": cflags_rel, + "host": False, + "objects": [ + Object(Matching, "REL/w10Dll/w10Dll_init.c"), + Object(Matching, "REL/w10Dll/w10Dll.c"), + Object(Matching, "REL/w10Dll/w10Dll2.c"), + Object(Matching, "REL/w10Dll/w10Dll3.c"), + Object(Matching, "REL/w10Dll/w10Dll4.c"), + ], + }, ] if args.mode == "configure": diff --git a/include/REL/w10Dll.h b/include/REL/w10Dll.h new file mode 100644 index 00000000..faf94109 --- /dev/null +++ b/include/REL/w10Dll.h @@ -0,0 +1,128 @@ +#include "common.h" +#include "REL/executor.h" + +#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0])) + +typedef struct unkw10Dll { + Vec3f unk0; + Vec3f unk0C; + Vec3f unk18; + s32 unk24; +} unkw10Dll; //sizeof 0x28 + +typedef struct w10DllUnk01 { + u8 unk0; + f32 unk4; + f32 unk8; + f32 unkC; + f32 unk10; +} w10DllUnk01; //sizeof ? + +typedef struct m456DllUnk02 { + char unk00[0x5C]; + w10DllUnk01* unk5C; +} m456DllUnk02; //sizeof ? + +//this belongs to m456Dll +m456DllUnk02** fn_8002FAC0(Process*, s32); + +typedef struct w10DllUnk03 { + s16 unk0; + s16 unk2; + s16 unk4; +} w10DllUnk03; + +typedef struct w10DllUnk04 { + s16 unk0; + s16 unk2; + void (*unk4)(); +} w10DllUnk04; + +extern s16 lbl_1_bss_20; +extern s16 lbl_1_bss_22[]; +extern s16 lbl_1_bss_20; +extern s32 lbl_801A52E8; + +void fn_1_C10(s16); +void fn_1_1FB0(void); +void fn_1_1E3C(s16, s16, s16); +void fn_1_BA0(s32); +void fn_1_C20(void); +void fn_1_6D8(void); +void fn_1_E0(void); +void fn_1_1D68(void); +void fn_1_1DEC(void); +void fn_1_AEC(void); +int fn_1_1AAC(s16, s32); +void fn_1_8C0(void); +void fn_1_904(void); +void fn_1_908(void); +s32 fn_1_90C(void); +void fn_1_91C(void); +void fn_1_13A4(void); +void fn_1_176C(void); +void fn_1_179C(void); +void fn_1_17F4(void); +void fn_1_1834(void); +void fn_1_18BC(void); +void fn_1_1908(void); +void fn_1_1930(void); +void fn_1_1958(void); +void fn_1_D2C(void); +void fn_1_D54(void); +void fn_1_D7C(void); +void fn_1_DA4(void); +void fn_1_DCC(void); +void fn_1_DF4(void); +void fn_1_E1C(void); +void fn_1_E44(void); +void fn_1_E94(void); +void fn_1_EBC(void); +void fn_1_EE4(void); +void fn_1_EE8(void); +void fn_1_F30(void); +void fn_1_F6C(void); +void fn_1_FB8(void); +void fn_1_1010(void); +void fn_1_105C(void); +void fn_1_1098(void); +void fn_1_10C0(void); +void fn_1_10F8(void); +void fn_1_1134(void); +void fn_1_1178(void); +void fn_1_11A0(void); +void fn_1_11EC(void); +void fn_1_1240(void); +void fn_1_1278(void); +void fn_1_12A0(void); +void fn_1_12DC(void); +void fn_1_1304(void); +void fn_1_132C(void); +void fn_1_1354(void); +void fn_1_137C(void); + +extern w10DllUnk04 lbl_1_data_108[42]; +extern w10DllUnk03 lbl_1_data_C6[]; +extern Vec3f lbl_1_data_80[]; +extern Process* lbl_1_bss_18; +extern s16 lbl_1_bss_1C; +extern s16 lbl_1_bss_1E; +extern s32 lbl_1_data_78[2]; +extern BoardStateSubStruct* lbl_1_bss_0; +extern s16 lbl_1_bss_10[4]; //could be incorrect size +extern void* lbl_1_bss_8; //unknown type +extern s16 lbl_1_bss_C; +extern s16 lbl_1_bss_E; +extern unkw10Dll lbl_1_data_0[1]; +extern s16 lbl_1_bss_22[11]; +extern s32 lbl_1_data_2A8[11]; +extern s16 lbl_1_data_28; +extern s16 lbl_1_data_2A; +extern s16 lbl_1_data_2C; +extern s16 lbl_1_data_2E; +extern s16 lbl_1_data_30; +extern s16 lbl_1_data_32; +extern s32 lbl_1_data_54[2]; +extern s32 lbl_1_data_5C[2]; +extern s32 lbl_1_data_64[2]; +extern s32 lbl_1_data_6C[2]; \ No newline at end of file diff --git a/include/common.h b/include/common.h index 9dbd46bf..a77b1cb9 100644 --- a/include/common.h +++ b/include/common.h @@ -7,5 +7,6 @@ #include "functions.h" #include "variables.h" #include "dolphin/mtx/GeoTypes.h" +#include "dolphin/mtx.h" #endif \ No newline at end of file diff --git a/include/common_structs.h b/include/common_structs.h index e13c91a7..1525241d 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -11,6 +11,11 @@ typedef struct om_ovl_his_data { int stat; } omOvlHisData; +typedef struct Vec2f { + f32 x; + f32 y; +} Vec2f; + typedef struct Vec3f { f32 x; f32 y; @@ -78,12 +83,12 @@ typedef struct data_read_stat { typedef struct BoardStateSubStruct { /* 0x00 */ s32 unk0; -/* 0x04 */ s16 unk4; -/* 0x06 */ s16 unk6; +/* 0x04 */ u16 unk4; +/* 0x06 */ u16 unk6; /* 0x08 */ s16 unk8; } BoardStateSubStruct; -typedef struct BoardState { +typedef struct system_work { /* 0x00 */ char unk00[0x04]; /* 0x04 */ s8 curTurnCount; /* 0x05 */ s8 maxTurnCount; @@ -94,14 +99,14 @@ typedef struct BoardState { /* 0x0C */ char unk0C[4]; /* 0x10 */ BoardStateSubStruct unk10; /* 0x1A */ char unk1A[0xC6]; -} BoardState; //8018fcf8, sizeof 0xE0 +} SystemState; //8018fcf8, sizeof 0xE0 typedef struct { u8 unk0 : 2; } PlayerFlags; -typedef struct Player { -/* 0x00 */ s8 characterID; +typedef struct player_state { +/* 0x00 */ u8 characterID; /* 0x01 */ s8 unk01; /* 0x02 */ s8 unk02; /* 0x03 */ s8 unk03; @@ -128,7 +133,7 @@ typedef struct Player { /* 0x24 */ char unk_24[6]; /* 0x2A */ s16 stars; /* 0x2C */ char unk_2C[4]; -} Player; //size of 0x30 +} PlayerState; //size of 0x30 typedef struct om_obj_data { u16 stat; diff --git a/include/functions.h b/include/functions.h index 5c7d4404..9981c623 100644 --- a/include/functions.h +++ b/include/functions.h @@ -4,9 +4,11 @@ #include "types.h" #include "common_structs.h" #include "common_enums.h" - +#include "dolphin/mtx.h" #include "dolphin/gx/GXStruct.h" +void Hu3D2Dto3D(Vec3f*, s32, Vec3f*); +void Hu3DModelLightInfoSet(s32, s32); void Hu3DBGColorSet(u8, u8, u8); void Hu3DCameraCreate(s16); void Hu3DCameraPerspectiveSet(s16, f32, f32, f32, f32); @@ -14,7 +16,7 @@ void Hu3DCameraViewportSet(s16, f32, f32, f32, f32, f32, f32); void fn_80044920(s16); void fn_80045F74(s16, s32); s32 fn_800578E4(void); -void fn_80032A58(int arg0); +void HuAudFadeOut(int arg0); void fn_80035A0C(void); void HuDecodeData(void *src, void *dst, u32 size, int decode_type); @@ -100,6 +102,7 @@ void omSysPauseEnable(BOOL flag); void WipeCreate(char dir, char type, short duration); +u8 WipeStatGet(void); void pfInit(void); void pfClsScr(void); @@ -149,20 +152,34 @@ void Hu3DModelRotSet(s16 index, float x, float y, float z); void Hu3DModelScaleSet(s16 index, float x, float y, float z); void espInit(void); +void espScaleSet(s16, f32, f32); +s16 espEntry(s32, s32, s32); +void espDispOff(s16); +void espKill(s16); +void espDispOn(s16); +void espPosSet(s16, f32, f32); void HuSprClose(void); void HuWinAllKill(void); +void HuWinMesSet(s16, s32); +void HuWinKill(s16); +void HuWinPriSet(s16, s32); +void HuWinMesPalSet(s16, s32, s32, s32, s32); +void HuWinMesSpeedSet(s16, s32); +void HuWinMesMaxSizeGet(s32, f32*, ...); +s16 HuWinCreate(float x, float y, s16 w, s16 h, s16 frame); void HuPadRumbleAllStop(void); +s16 HuPadStatGet(s16); void HuAudFXListnerKill(void); void HuAudDllSndGrpSet(u16 ovl); -void fn_800338EC(s16 ovl); +void HuAudVoiceInit(s16 ovl); -void fn_80035A0C(void); +void MGSeqKillAll(void); -void fn_8003F3AC(void); +void MGSeqPracticeStart(void); void fn_8004D6F4(s16 arg); s32 _CheckFlag(u32 flag); @@ -171,4 +188,57 @@ void BoardMessCreate(s16, s32, s32); void BoardMessKill(void); void BoardMessWait(void); +s32 rand8(void); + +void fn_8005D8E8(void); +void fn_8005DB6C(s16, Vec3f*, s32, f32, f32, s32); +void fn_8005E0C0(void); +void fn_80074210(s32, s32, Vec3f*); +void fn_8007A360(s32); +void fn_8007F894(void); +void fn_80083F84(void); +void fn_800884F4(s32); +void fn_800A4C88(void); +void fn_800A6B10(void); +void fn_8008853C(s32); +void fn_800B42B4(s32); +void fn_80082AAC(s32); +void fn_800B4264(s32, s32, s32); +void fn_8007500C(s32); +void fn_8006F0D4(s32, f32); +f32 fn_8006F128(s32); +f64 fmod(f32, f64); +void fn_8006F61C(s16, s32); +void fn_800B42BC(s16); +s32 fn_8006DBD4(s16); +void fn_8005B150(void*, void*); +void fn_8006F2E8(s32, Vec3f*); +void fn_8005D10C(void*, void*); +s16 fn_8006D9A4(s32, void*, s32); +void fn_8006DB90(s16); +void fn_8006DDE8(s16, f32); +void fn_8006E2B8(s16, s32, s32); +void fn_8006E878(s16, f32); +void fn_8006F158(s16, void*); +void fn_8006F1A8(s16, f32, f32, f32); +s32 fn_8006F220(s16 arg0, Vec3f* arg1); +void fn_8006F50C(s16, s32); +void fn_80073FF4(void*); +void fn_80073FFC(void*); +void fn_80074004(void*); +s32 fn_800745F0(s32, s32); +void fn_800772EC(s32); +void fn_80077A3C(void); +void fn_80077AAC(s16); +void fn_8007A83C(s16); +void fn_80083EDC(s16); +void fn_800A4F6C(s16); +void fn_800B3FD8(void*); +void fn_800B4274(s32, s32); +void fn_8005D5C0(Vec3f*); +void fn_8006F338(s16, f32, f32, f32); +s32 fn_8005B6A8(void); +void fn_8006EFBC(s16, Mtx); +void fn_8006F270(s16, f32, f32, f32); + #endif diff --git a/include/variables.h b/include/variables.h index f7a6f9ea..001b625b 100644 --- a/include/variables.h +++ b/include/variables.h @@ -22,7 +22,7 @@ extern u32 procfunc; extern WipeState wipeData; -extern PlayerConfig gPlayerConfig[4]; +extern PlayerConfig GWPlayerCfg[4]; extern FileListEntry _ovltbl[]; @@ -45,5 +45,7 @@ extern s16 omSysExitReq; extern s16 omdispinfo; extern char omSysPauseEnableFlag; extern OverlayID omprevovl; +extern PlayerState GWPlayer[4]; +extern SystemState GWSystem; #endif diff --git a/src/REL/bootDll/bootDll.c b/src/REL/bootDll/bootDll.c index 653dacfc..0f32e06b 100644 --- a/src/REL/bootDll/bootDll.c +++ b/src/REL/bootDll/bootDll.c @@ -76,7 +76,7 @@ void fn_8000F038(s16, s32, s32); s16 fn_800204D0(s32); void fn_80021228(s16, s32); void fn_80022420(s16, s32); -void fn_80023828(s16, s32); +void Hu3DModelLightInfoSet(s16, s32); extern s16 lbl_1_bss_6; extern temp2 lbl_1_bss_8; extern f32 lbl_1_rodata_48; @@ -103,7 +103,7 @@ void fn_1_2100(void) { fn_80021228(temp_r3_3, 1); fn_80021228(temp_r3_3, 0x40000001); fn_80022420(temp_r3_3, 1); - fn_80023828(temp_r3_3, 1); + Hu3DModelLightInfoSet(temp_r3_3, 1); lbl_1_bss_6 = fn_8000E0F8(4); fn_80008364(0x740008, 0x10000000, 2); temp_r3 = fn_8000DD24(); diff --git a/src/REL/subchrselDll/subchrselDll.c b/src/REL/subchrselDll/subchrselDll.c index 32bdc533..2f846f18 100644 --- a/src/REL/subchrselDll/subchrselDll.c +++ b/src/REL/subchrselDll/subchrselDll.c @@ -61,7 +61,7 @@ static void SubchrMain() int ext_character[4]; int i, cursor_pos; for(i=0; i<4; i++) { - character[i] = gPlayerConfig[i].character; + character[i] = GWPlayerCfg[i].character; ext_character[i] = 0; cur_direction[i] = 0; } @@ -90,13 +90,13 @@ static void SubchrMain() if(GetBtns() & 0x1000) { for(i=0; i<4; i++) { if(ext_character[i] != 0) { - gPlayerConfig[i]. character = ext_character[i]+7; + GWPlayerCfg[i].character = ext_character[i]+7; } } - fn_80032A58(30); + HuAudFadeOut(30); WipeCreate(2, 0, -1); HuPrcSleep(wipeData.duration+1.0f); - fn_80035A0C(); + MGSeqKillAll(); omOvlGotoEx(OVL_M433, 1, 0, 0); do { HuPrcVSleep(); @@ -145,10 +145,10 @@ static void SubchrMain() cursor_pos = 0; } if(GetBtns() & 0x200) { - fn_80032A58(30); + HuAudFadeOut(30); WipeCreate(2, 0, -1); HuPrcSleep(wipeData.duration+1.0f); - fn_80035A0C(); + MGSeqKillAll(); omOvlReturnEx(1, 1); do { HuPrcVSleep(); diff --git a/src/REL/w10Dll/w10Dll.c b/src/REL/w10Dll/w10Dll.c index d4455036..0c2e780a 100644 --- a/src/REL/w10Dll/w10Dll.c +++ b/src/REL/w10Dll/w10Dll.c @@ -1,150 +1,72 @@ -#include "common.h" -#include "REL/executor.h" +#include "include/REL/w10Dll.h" -s16 HuWinCreate(float x, float y, s16 w, s16 h, s16 frame); +//BSS +s16 lbl_1_bss_22[11]; +s16 lbl_1_bss_20; +s16 lbl_1_bss_1E; +s16 lbl_1_bss_1C; +Process* lbl_1_bss_18; +s16 lbl_1_bss_10[4]; +s16 lbl_1_bss_E; +s16 lbl_1_bss_C; +void* lbl_1_bss_8; +s32 lbl_1_bss_4_pad; +BoardStateSubStruct* lbl_1_bss_0; -typedef struct unkw10Dll { - char unk0[0x0C]; - Vec3f unk0C; - Vec3f unk18; - s32 unk24; -} unkw10Dll; //sizeof 0x28 +//DATA +unkw10Dll lbl_1_data_0[1] = { + 3300.0f, 100.0f, -900.0f, + 0.0f, 0.0f, 0.0f, + 1.0f, 1.0f, 1.0f, + 0x007B0003 +}; -typedef struct w10DllUnk01 { - u8 unk0; - f32 unk4; - f32 unk8; - f32 unkC; - f32 unk10; -} w10DllUnk01; //sizeof ? -typedef struct w10DllUnk02 { - char unk00[0x5C]; - w10DllUnk01* unk5C; -} w10DllUnk02; //sizeof ? +s16 lbl_1_data_28 = -1; +s16 lbl_1_data_2A = -1; +s16 lbl_1_data_2C = -1; +s16 lbl_1_data_2E = -1; +s16 lbl_1_data_30 = -1; +s16 lbl_1_data_32 = -1; -//this belongs to m456Dll -w10DllUnk02** fn_8002FAC0(Process*, s32); -void fn_8003FD10(s16, f32, f32); -extern s16 lbl_1_bss_20; -extern f32 lbl_1_rodata_5C; -extern f32 lbl_1_rodata_60; -s16 fn_8003F958(s32, s32, s32); -void fn_8003FBEC(s16); -void fn_8008853C(s32); -extern s32 lbl_801A52E8; -void fn_800B42B4(s32); -void fn_80082AAC(s32); -void fn_800B4264(s32, s32, s32); -void fn_1_1FB0(void); -void fn_1_1E3C(s32, s32, s32); -void fn_8007500C(s32); -void fn_1_BA0(s32); -void fn_8006F0D4(s32, f32); -f32 fn_8006F128(s32); -f64 fmod(f32, f64); -void fn_1_C20(void); -void fn_8006F61C(s16, s32); -void fn_800B42BC(s16); -void fn_80023828(s32, s32); -s32 fn_8006DBD4(s16); -void fn_8005B150(void*, void*); -void fn_1_6D8(void); -void fn_1_E0(void); -void fn_8006F2E8(s32, Vec3f*); -void HuWinMesSet(s16, s32); -void fn_1_1D68(void); -void fn_1_1DEC(void); -void fn_1_AEC(void); -void fn_80042848(s16); -void fn_80045BF4(s16, s32); -void fn_80045D7C(s16, s32, s32, s32, s32); -void fn_80045E84(s16, s32); -void fn_80046F04(s32, f32*, ...); -void fn_8005D10C(void*, void*); -s16 fn_8006D9A4(s32, void*, s32); -void fn_8006DB90(s16); -void fn_8006DDE8(s16, f32); -void fn_8006E2B8(s16, s32, s32); -void fn_8006E878(s16, f32); -void fn_8006F158(s16, void*); -void fn_8006F1A8(s16, f32, f32, f32); -s32 fn_8006F220(s16 arg0, Vec3f* arg1); -void fn_8006F50C(s16, s32); -void fn_80073FF4(void*); -void fn_80073FFC(void*); -void fn_80074004(void*); -s32 fn_800745F0(s32, s32); -void fn_800772EC(s32); -void fn_80077A3C(void); -void fn_80077AAC(s16); -void fn_8007A83C(s16); -void fn_80083EDC(s16); -void fn_800A4F6C(s16); -void fn_800B3FD8(void*); -void fn_800B4274(s32, s32); -void fn_1_1AAC(void); -void fn_1_8C0(void); -void fn_1_904(void); -void fn_1_908(void); -s32 fn_1_90C(void); -void fn_1_91C(void); -void Hu3D2Dto3D(Vec3f*, s32, Vec3f*); -void fn_8005D5C0(Vec3f*); -void fn_8006F338(s16, f32, f32, f32); -s32 fn_8005B6A8(void); -void fn_8006EFBC(s16, Mtx); -void fn_8006F270(s16, f32, f32, f32); -void fn_8003FB08(s16); -extern Vec3f lbl_1_data_80[]; -extern f32 lbl_1_rodata_38; -extern f32 lbl_1_rodata_3C; -extern f32 lbl_1_rodata_40; -extern Process* lbl_1_bss_18; -extern s16 lbl_1_bss_1C; -extern s16 lbl_1_bss_1E; -extern s32 lbl_1_data_78; //no idea on the type of this -extern f64 lbl_1_rodata_28; -extern f32 lbl_1_rodata_30; -extern f32 lbl_1_rodata_34; -extern BoardStateSubStruct* lbl_1_bss_0; -extern s16 lbl_1_bss_10[12]; //could be incorrect size -extern void* lbl_1_bss_8; //unknown type -extern s16 lbl_1_bss_C; -extern s16 lbl_1_bss_E; -extern unkw10Dll lbl_1_data_0[1]; -extern s16 lbl_1_bss_22[11]; -extern s32 lbl_1_data_2A8[11]; -extern s16 lbl_1_data_28; -extern s16 lbl_1_data_2A; -extern s16 lbl_1_data_2C; -extern s16 lbl_1_data_2E; -extern s16 lbl_1_data_30; -extern s16 lbl_1_data_32; -extern s32 lbl_1_data_54; //unknown type -extern s32 lbl_1_data_5C; //unknown type -extern s32 lbl_1_data_64; //unknown type -extern s32 lbl_1_data_6C; //unknown type -extern f32 lbl_1_rodata_10; -extern f32 lbl_1_rodata_14; -extern f32 lbl_1_rodata_18; -extern f32 lbl_1_rodata_1C; -extern BoardState lbl_8018FCF8; +//unused? +s32 lbl_1_data_34[] = { +0x005F0000, 0x001A0000, +0x006D0000, 0x008A0000, +0x00850000, 0x00110000, +0x000D0000, 0x00810000, +}; -/* -void fn_1_0(void) { - fn_8005B150(&fn_1_E0, &fn_1_6D8); -} -*/ +s32 lbl_1_data_54[2] = { + 0x007B0012, + -1 +}; + +s32 lbl_1_data_5C[2] = { + 0x00020009, + -1 +}; + +s32 lbl_1_data_64[2] = { + 0x00020018, + -1 +}; + +s32 lbl_1_data_6C[2] = { + 0x0002000E, + -1, +}; + +//RODATA +//HACK: Force 0.5 and 3.0 double constants to appear in REL +const double _half = 0.5; +const double _three = 3.0; // function is probably global. only inlined in rels? -/* inline s32 get_current_board(void) { - return lbl_8018FCF8.unk08 & 0x1F; + return GWSystem.unk08 & 0x1F; } -*/ -/* void fn_1_E0(void) { f32 sp10; f32 spC; @@ -156,7 +78,7 @@ void fn_1_E0(void) { s32 temp2; temp2 = get_current_board(); - lbl_1_bss_0 = &lbl_8018FCF8.unk10; + lbl_1_bss_0 = &GWSystem.unk10; lbl_1_bss_0->unk0 = 0; lbl_1_bss_0->unk4 = 0; lbl_1_bss_0->unk6 = 0; @@ -168,25 +90,25 @@ void fn_1_E0(void) { temp = fn_800745F0(0, 1); fn_800B4274(temp, 1); lbl_1_data_28 = fn_8006D9A4(0x7B0001, NULL, 0); - fn_8006DDE8(lbl_1_data_28, lbl_1_rodata_10); - fn_8006F1A8(lbl_1_data_28, lbl_1_rodata_14, lbl_1_rodata_14, lbl_1_rodata_14); + fn_8006DDE8(lbl_1_data_28, -1.0f); + fn_8006F1A8(lbl_1_data_28, 0.0f, 0.0f, 0.0f); fn_8006E2B8(lbl_1_data_28, 0, 0x40000001); - fn_8006E878(lbl_1_data_28, lbl_1_rodata_18); + fn_8006E878(lbl_1_data_28, 1.0f); lbl_1_data_2A = fn_8006D9A4(0x7B0002, NULL, 0); - fn_8006DDE8(lbl_1_data_2A, lbl_1_rodata_10); - fn_8006F1A8(lbl_1_data_2A, lbl_1_rodata_14, lbl_1_rodata_14, lbl_1_rodata_14); + fn_8006DDE8(lbl_1_data_2A, -1.0f); + fn_8006F1A8(lbl_1_data_2A, 0.0f, 0.0f, 0.0f); fn_8006E2B8(lbl_1_data_2A, 0, 0x40000001); - lbl_1_data_2C = fn_8006D9A4(0x7B0011, &lbl_1_data_54, 0); - fn_8006F1A8(lbl_1_data_2C, lbl_1_rodata_14, lbl_1_rodata_14, lbl_1_rodata_14); + lbl_1_data_2C = fn_8006D9A4(0x7B0011, lbl_1_data_54, 0); + fn_8006F1A8(lbl_1_data_2C, 0.0f, 0.0f, 0.0f); fn_8006E2B8(lbl_1_data_2C, 1, 0x40000001); - lbl_1_data_2E = fn_8006D9A4(0x20005, &lbl_1_data_5C, 0); + lbl_1_data_2E = fn_8006D9A4(0x20005, lbl_1_data_5C, 0); fn_8006E2B8(lbl_1_data_2E, 1, 0x40000001); - lbl_1_data_32 = fn_8006D9A4(0x20012, &lbl_1_data_64, 0); + lbl_1_data_32 = fn_8006D9A4(0x20012, lbl_1_data_64, 0); fn_8006E2B8(lbl_1_data_32, 1, 0x40000001); - lbl_1_data_30 = fn_8006D9A4(0x2000D, &lbl_1_data_6C, 0); + lbl_1_data_30 = fn_8006D9A4(0x2000D, lbl_1_data_6C, 0); fn_8006E2B8(lbl_1_data_30, 1, 0x40000001); fn_8005D10C(&fn_1_8C0, &fn_1_904); - for (i = 0; i < 1; i++) { + for (i = 0; i < ARRAY_COUNT(lbl_1_data_0); i++) { temp_r30 = &lbl_1_data_0[i]; if (temp_r30->unk24 != -1) { lbl_1_bss_8 = NULL; @@ -210,16 +132,14 @@ void fn_1_E0(void) { fn_800A4F6C(lbl_1_data_32); fn_80077AAC(lbl_1_data_2E); fn_8007A83C(lbl_1_data_30); - fn_80046F04(1, &spC, 0x2E003A); - lbl_1_bss_E = HuWinCreate(lbl_1_rodata_1C, lbl_1_rodata_20, spC, sp10, 1); + HuWinMesMaxSizeGet(1, &spC, 0x2E003A); + lbl_1_bss_E = HuWinCreate(-10000.0f, 390.0f, spC, sp10, 1); HuWinMesSet(lbl_1_bss_E, 0x2E003A); - fn_80045E84(lbl_1_bss_E, 0); - fn_80045BF4(lbl_1_bss_E, 1); - fn_80045D7C(lbl_1_bss_E, 7, 0, 0, 0); + HuWinMesSpeedSet(lbl_1_bss_E, 0); + HuWinPriSet(lbl_1_bss_E, 1); + HuWinMesPalSet(lbl_1_bss_E, 7, 0, 0, 0); } -*/ -/* void fn_1_6D8(void) { s32 i; for (i = 0; i < 1; i++) { @@ -254,50 +174,34 @@ void fn_1_6D8(void) { } fn_8006DB90(lbl_1_bss_0->unk8); fn_1_1DEC(); - fn_80042848(lbl_1_bss_E); + HuWinKill(lbl_1_bss_E); fn_80077A3C(); } -*/ -/* void fn_1_8C0(void) { s32 temp = fn_8006DBD4(lbl_1_data_28); - fn_80023828(temp, 1); + Hu3DModelLightInfoSet(temp, 1); } -*/ -/* void fn_1_904(void) { } -*/ -/* void fn_1_908(void) { } -*/ -/* s32 fn_1_90C(void) { return 0; } -*/ -/* void fn_1_914(void) { } -*/ -/* void fn_1_918(void) { } -*/ -/* void fn_1_91C(void) { } -*/ -/* s32 fn_1_920(s32 arg0, f32 arg8, f32 arg9) { s32 var_r31; f32 var_f29; @@ -305,34 +209,34 @@ s32 fn_1_920(s32 arg0, f32 arg8, f32 arg9) { var_r31 = 0; var_f31 = fn_8006F128(arg0); - arg8 = fmod(arg8, lbl_1_rodata_28); - if (var_f31 < lbl_1_rodata_14) { - var_f31 += lbl_1_rodata_30; + arg8 = fmod(arg8, 360.0); + if (var_f31 < 0.0f) { + var_f31 += 360.0f; } - if (arg8 < lbl_1_rodata_14) { - arg8 += lbl_1_rodata_30; + if (arg8 < 0.0f) { + arg8 += 360.0f; } if (var_f31 != arg8) { var_f29 = arg8 - var_f31; - if (var_f29 < lbl_1_rodata_14) { - var_f29 += lbl_1_rodata_30; + if (var_f29 < 0.0f) { + var_f29 += 360.0f; } - if (var_f29 < lbl_1_rodata_34) { + if (var_f29 < 180.0f) { if (var_f29 > arg9) { var_f31 = var_f31 + arg9; } else { var_f31 = arg8; } - } else if ((lbl_1_rodata_30 - var_f29) > arg9) { + } else if ((360.0f - var_f29) > arg9) { var_f31 = var_f31 - arg9; } else { var_f31 = arg8; } - if (var_f31 < lbl_1_rodata_14) { - var_f31 += lbl_1_rodata_30; + if (var_f31 < 0.0f) { + var_f31 += 360.0f; } - if (var_f31 >= lbl_1_rodata_30) { - var_f31 -= lbl_1_rodata_30; + if (var_f31 >= 360.0f) { + var_f31 -= 360.0f; } fn_8006F0D4(arg0, var_f31); } else { @@ -340,407 +244,3 @@ s32 fn_1_920(s32 arg0, f32 arg8, f32 arg9) { } return var_r31; } -*/ - -/* -void fn_1_AEC(void) { - lbl_1_bss_1C = 0; - lbl_1_bss_1E = fn_8006D9A4(0x7B000F, &lbl_1_data_78, 0); - fn_8006E2B8(lbl_1_bss_1E, 1, 0x40000001); - fn_800B42BC(lbl_1_bss_1E); - fn_8006F61C(lbl_1_bss_1E, 6); - lbl_1_bss_18 = HuPrcCreate(fn_1_C20, 0x1FFF, 0x1800, 0); -} -*/ - -/* -void fn_1_BA0(s32 arg0) { - s32 var_r31; - - switch (lbl_1_bss_1C) { - case 0: - var_r31 = 5; - break; - case 1: - var_r31 = 6; - break; - } - BoardMessCreate(var_r31, arg0, -1); - BoardMessWait(); - BoardMessKill(); -} -*/ - -/* -void fn_1_C10(void) { - HuPrcEnd(); -} -*/ - -/* -void fn_1_C20(void) { - Mtx sp20; - Vec3f sp14; - Vec3f sp8; - - while (1) { - if (fn_8005B6A8() != 0) { - fn_8006DB90(lbl_1_bss_1E); - fn_800B42BC(-1); - HuPrcEnd(); - } - Hu3D2Dto3D(&lbl_1_data_80[lbl_1_bss_1C], 1, &sp14); - fn_8006F158(lbl_1_bss_1E, &sp14); - fn_8005D5C0(&sp8); - PSMTXRotRad(sp20, 'y', lbl_1_rodata_38); - fn_8006EFBC(lbl_1_bss_1E, sp20); - fn_8006F270(lbl_1_bss_1E, sp8.x, lbl_1_rodata_3C, lbl_1_rodata_3C); - fn_8006F338(lbl_1_bss_1E, lbl_1_rodata_40, lbl_1_rodata_40, lbl_1_rodata_40); - HuPrcVSleep(); - } -} -*/ - -/* -void fn_1_D2C(void) { - fn_1_BA0(0x2E0001); -} -*/ - -/* -void fn_1_D54(void) { - fn_1_BA0(0x2E0002); -} -*/ - -/* -void fn_1_D7C(void) { - fn_1_BA0(0x2E0003); -} -*/ - -/* -void fn_1_DA4(void) { - fn_1_BA0(0x2E0004); -} -*/ - -/* -void fn_1_DCC(void) { - fn_1_BA0(0x2E0005); -} -*/ - -/* -void fn_1_DF4(void) { - fn_1_BA0(0x2E0006); -} -*/ - -/* -void fn_1_E1C(void) { - fn_1_BA0(0x2E0007); -} -*/ - -/* -void fn_1_E44(void) { - fn_1_BA0(0x2E0008); - fn_1_BA0(0x2E0009); - fn_8007500C(0); - fn_8006F50C(lbl_1_data_2C, 1); -} -*/ - -/* -void fn_1_E94(void) { - fn_1_BA0(0x2E000A); -} -*/ - -/* -void fn_1_EBC(void) { - fn_1_BA0(0x2E000B); -} -*/ - -/* -void fn_1_EE4(void) { - -} -*/ - -/* -void fn_1_EE8(void) { - fn_1_1E3C(0, 0x122, 0x8C); - fn_1_BA0(0x2E000C); - fn_1_BA0(0x2E000D); - fn_1_1FB0(); -} -*/ - -/* -void fn_1_F30(void) { - fn_1_1E3C(1, 0x122, 0x8C); - fn_1_BA0(0x2E000E); - fn_1_1FB0(); -} -*/ - -/* -void fn_1_F6C(void) { - fn_1_1E3C(2, 0x122, 0x8C); - fn_1_BA0(0x2E000F); - fn_1_1FB0(); - fn_800B4264(0, 0x50, 1); -} -*/ - -/* -void fn_1_FB8(void) { - fn_1_1E3C(3, 0x122, 0x8C); - fn_1_BA0(0x2E0010); - fn_1_1FB0(); - fn_1_BA0(0x2E0011); - fn_800B4264(-0x50, 0, 1); -} -*/ - -/* -void fn_1_1010(void) { - fn_1_1E3C(4, 0x122, 0x8C); - fn_1_BA0(0x2E0012); - fn_1_1FB0(); - fn_800B4264(0, 0x50, 1); -} -*/ - -/* -void fn_1_105C(void) { - fn_1_1E3C(5, 0x122, 0x8C); - fn_1_BA0(0x2E0013); - fn_1_1FB0(); -} -*/ - -/* -void fn_1_1098(void) { - fn_1_BA0(0x2E0014); -} -*/ - -/* -void fn_1_10C0(void) { - fn_1_BA0(0x2E0015); - fn_800B4264(-0x50, 0, 1); -} -*/ - -/* -void fn_1_10F8(void) { - fn_1_1E3C(6, 0x122, 0x8C); - fn_1_BA0(0x2E0016); - fn_1_1FB0(); -} -*/ - -/* -void fn_1_1134(void) { - fn_1_1E3C(7, 0x122, 0x8C); - fn_1_BA0(0x2E0017); - fn_1_1FB0(); - fn_80082AAC(1); -} -*/ - -/* -void fn_1_1178(void) { - fn_1_BA0(0x2E0018); -} -*/ - -/* -void fn_1_11A0(void) { - s32 temp; - - fn_1_BA0(0x2E0019); - temp = fn_800745F0(0, 1); - fn_800B4274(temp, 0); -} -*/ - -/* -void fn_1_11EC(void) { - s32 temp; - - fn_1_BA0(0x2E001A); - temp = fn_800745F0(0, 1); - fn_800B4274(temp, 0); - fn_800B42B4(0); -} -*/ - -/* -void fn_1_1240(void) { - fn_1_BA0(0x2E001B); - fn_800B4264(0x50, 0, 1); -} -*/ - -/* -void fn_1_1278(void) { - fn_1_BA0(0x2E001C); -} -*/ - -/* -void fn_1_12A0(void) { - fn_1_BA0(0x2E001D); - fn_80062B74(2, 1); - fn_800B42B4(1); -} -*/ - -/* -void fn_1_12DC(void) { - fn_1_BA0(0x2E001E); -} -*/ - -/* -void fn_1_1304(void) { - fn_1_BA0(0x2E001F); -} -*/ - -/* -void fn_1_132C(void) { - fn_1_BA0(0x2E0020); -} -*/ - -/* -void fn_1_1354(void) { - fn_1_BA0(0x2E0021); -} -*/ - -/* -void fn_1_137C(void) { - fn_1_BA0(0x2E0022); -} -*/ - -// fn_1_13A4 - -/* -void fn_1_176C(void) { - fn_1_C10(1); - fn_1_BA0(0x2E0024); -} -*/ - -/* -void fn_1_179C(void) { - fn_1_BA0(0x2E0025); - gPlayerData[1].flags.unk0 = 2; - gPlayerData[3].flags.unk0 = 2; -} -*/ - -/* -void fn_1_17F4(void) { - fn_1_BA0(0x2E0026); - gPlayerData[0].flags.unk0 = 2; -} -*/ - -/* -void fn_1_1834(void) { - fn_1_BA0(0x2E0027); - gPlayerData[0].flags.unk0 = 1; - gPlayerData[1].flags.unk0 = 1; - gPlayerData[2].flags.unk0 = 1; - gPlayerData[3].flags.unk0 = 2; -} -*/ - -/* -void fn_1_18BC(void) { - fn_1_BA0(0x2E0028); - fn_1_BA0(0x2E0029); - lbl_801A52E8 = 0; - fn_8008853C(0); -} -*/ - -/* -void fn_1_1908(void) { - fn_1_BA0(0x2E002D); -} -*/ - -/* -void fn_1_1930(void) { - fn_1_BA0(0x2E002F); -} -*/ - -/* -void fn_1_1958(void) { - fn_1_BA0(0x2E0031); -} -*/ - -/* -void fn_1_1980(void) { - -} -*/ - -// fn_1_1984 - -// fn_1_1AAC - -/* -void fn_1_1D68(void) { - s32 temp_r4; - s32 temp_r5; - s32 i; - - for (i = 0; i < 11; i++) { - lbl_1_bss_22[i] = fn_8003F958(lbl_1_data_2A8[i], 0, 0); - fn_8003FBEC(lbl_1_bss_22[i]); - } -} -*/ - -/* -void fn_1_1DEC(void) { - s32 i; - - for (i = 0; i < 11; i++) { - fn_8003FB08(lbl_1_bss_22[i]); - } -} -*/ - -// fn_1_1E3C - -/* -void fn_1_1FB0(void) { - f32 var_f31; - f32 var_f30; - u32 i; - - var_f31 = lbl_1_rodata_60; - var_f30 = lbl_1_rodata_60; - for (i = 0; i < 15; i++) { - var_f31 -= lbl_1_rodata_5C; - var_f30 -= lbl_1_rodata_5C; - fn_8003FD10(lbl_1_bss_20, var_f31, var_f30); - HuPrcVSleep(); - } - fn_8003FBEC(lbl_1_bss_20); -} -*/ \ No newline at end of file diff --git a/src/REL/w10Dll/w10Dll2.c b/src/REL/w10Dll/w10Dll2.c new file mode 100644 index 00000000..431fbde2 --- /dev/null +++ b/src/REL/w10Dll/w10Dll2.c @@ -0,0 +1,62 @@ +#include "REL/w10Dll.h" + +s32 lbl_1_data_78[2] = { + 0x007B0010, + -1 +}; + +Vec3f lbl_1_data_80[2] = { + {70.0f, 355.0f, 200.f}, + {70.0f, 175.0f, 200.f}, +}; + +void fn_1_AEC(void) { + lbl_1_bss_1C = 0; + lbl_1_bss_1E = fn_8006D9A4(0x7B000F, &lbl_1_data_78, 0); + fn_8006E2B8(lbl_1_bss_1E, 1, 0x40000001); + fn_800B42BC(lbl_1_bss_1E); + fn_8006F61C(lbl_1_bss_1E, 6); + lbl_1_bss_18 = HuPrcCreate(fn_1_C20, 0x1FFF, 0x1800, 0); +} + +void fn_1_BA0(s32 arg0) { + s32 var_r31; + + switch (lbl_1_bss_1C) { + case 0: + var_r31 = 5; + break; + case 1: + var_r31 = 6; + break; + } + BoardMessCreate(var_r31, arg0, -1); + BoardMessWait(); + BoardMessKill(); +} + +void fn_1_C10(s16 arg0) { + lbl_1_bss_1C = arg0; +} + +void fn_1_C20(void) { + Mtx sp20; + Vec3f sp14; + Vec3f sp8; + + while (1) { + if (fn_8005B6A8() != 0) { + fn_8006DB90(lbl_1_bss_1E); + fn_800B42BC(-1); + HuPrcEnd(); + } + Hu3D2Dto3D(&lbl_1_data_80[lbl_1_bss_1C], 1, &sp14); + fn_8006F158(lbl_1_bss_1E, &sp14); + fn_8005D5C0(&sp8); + PSMTXRotRad(sp20, 'y', 0.2617994f); + fn_8006EFBC(lbl_1_bss_1E, sp20); + fn_8006F270(lbl_1_bss_1E, sp8.x, 0.0f, 0.0f); + fn_8006F338(lbl_1_bss_1E, 0.2f, 0.2f, 0.2f); + HuPrcVSleep(); + } +} \ No newline at end of file diff --git a/src/REL/w10Dll/w10Dll3.c b/src/REL/w10Dll/w10Dll3.c new file mode 100644 index 00000000..6623b54e --- /dev/null +++ b/src/REL/w10Dll/w10Dll3.c @@ -0,0 +1,238 @@ +#include "include/REL/w10Dll.h" + +void fn_1_D2C(void) { + fn_1_BA0(0x2E0001); +} + +void fn_1_D54(void) { + fn_1_BA0(0x2E0002); +} + +void fn_1_D7C(void) { + fn_1_BA0(0x2E0003); +} + +void fn_1_DA4(void) { + fn_1_BA0(0x2E0004); +} + +void fn_1_DCC(void) { + fn_1_BA0(0x2E0005); +} + +void fn_1_DF4(void) { + fn_1_BA0(0x2E0006); +} + +void fn_1_E1C(void) { + fn_1_BA0(0x2E0007); +} + +void fn_1_E44(void) { + fn_1_BA0(0x2E0008); + fn_1_BA0(0x2E0009); + fn_8007500C(0); + fn_8006F50C(lbl_1_data_2C, 1); +} + +void fn_1_E94(void) { + fn_1_BA0(0x2E000A); +} + +void fn_1_EBC(void) { + fn_1_BA0(0x2E000B); +} + +void fn_1_EE4(void) { + +} + +void fn_1_EE8(void) { + fn_1_1E3C(0, 0x122, 0x8C); + fn_1_BA0(0x2E000C); + fn_1_BA0(0x2E000D); + fn_1_1FB0(); +} + +void fn_1_F30(void) { + fn_1_1E3C(1, 0x122, 0x8C); + fn_1_BA0(0x2E000E); + fn_1_1FB0(); +} + +void fn_1_F6C(void) { + fn_1_1E3C(2, 0x122, 0x8C); + fn_1_BA0(0x2E000F); + fn_1_1FB0(); + fn_800B4264(0, 0x50, 1); +} + +void fn_1_FB8(void) { + fn_1_1E3C(3, 0x122, 0x8C); + fn_1_BA0(0x2E0010); + fn_1_1FB0(); + fn_1_BA0(0x2E0011); + fn_800B4264(-0x50, 0, 1); +} + +void fn_1_1010(void) { + fn_1_1E3C(4, 0x122, 0x8C); + fn_1_BA0(0x2E0012); + fn_1_1FB0(); + fn_800B4264(0, 0x50, 1); +} + +void fn_1_105C(void) { + fn_1_1E3C(5, 0x122, 0x8C); + fn_1_BA0(0x2E0013); + fn_1_1FB0(); +} + +void fn_1_1098(void) { + fn_1_BA0(0x2E0014); +} + +void fn_1_10C0(void) { + fn_1_BA0(0x2E0015); + fn_800B4264(-0x50, 0, 1); +} + +void fn_1_10F8(void) { + fn_1_1E3C(6, 0x122, 0x8C); + fn_1_BA0(0x2E0016); + fn_1_1FB0(); +} + +void fn_1_1134(void) { + fn_1_1E3C(7, 0x122, 0x8C); + fn_1_BA0(0x2E0017); + fn_1_1FB0(); + fn_80082AAC(1); +} + +void fn_1_1178(void) { + fn_1_BA0(0x2E0018); +} + +void fn_1_11A0(void) { + s32 temp; + + fn_1_BA0(0x2E0019); + temp = fn_800745F0(0, 1); + fn_800B4274(temp, 0); +} + +void fn_1_11EC(void) { + s32 temp; + + fn_1_BA0(0x2E001A); + temp = fn_800745F0(0, 1); + fn_800B4274(temp, 0); + fn_800B42B4(0); +} + +void fn_1_1240(void) { + fn_1_BA0(0x2E001B); + fn_800B4264(0x50, 0, 1); +} + +void fn_1_1278(void) { + fn_1_BA0(0x2E001C); +} + +void fn_1_12A0(void) { + fn_1_BA0(0x2E001D); + fn_80062B74(2, 1); + fn_800B42B4(1); +} + +void fn_1_12DC(void) { + fn_1_BA0(0x2E001E); +} + +void fn_1_1304(void) { + fn_1_BA0(0x2E001F); +} + +void fn_1_132C(void) { + fn_1_BA0(0x2E0020); +} + +void fn_1_1354(void) { + fn_1_BA0(0x2E0021); +} + +void fn_1_137C(void) { + fn_1_BA0(0x2E0022); +} + +void fn_1_13A4(void) { + s32 i; + Vec3f sp14; + Vec3f sp8; + s32 temp_r3_2; + + fn_1_BA0(0x2E0023); + for (i = 0; i < 4; i++) { + GWPlayer[i].flags.unk0 = 1; + } + fn_800A4C88(); + fn_800884F4(0); + fn_1_C10(0); + fn_1_BA0(0x2E002B); + sp8.x = -33.0f; + sp8.y = sp8.z = 0.0f; + temp_r3_2 = fn_800745F0(0, 0x80000); + fn_80074210(0, temp_r3_2, &sp14); + fn_8006F158(lbl_1_bss_0->unk8, &sp14); + fn_8005DB6C(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); + fn_8005E0C0(); + fn_1_BA0(0x2E002C); + fn_8007A360(temp_r3_2); + fn_8005DB6C(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); + fn_8005E0C0(); + temp_r3_2 = fn_800745F0(0, 0x10000000); + fn_80074210(0, temp_r3_2, &sp14); + fn_8006F158(lbl_1_bss_0->unk8, &sp14); + fn_8005DB6C(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); + fn_8005E0C0(); + fn_1_BA0(0x2E002E); + fn_8007F894(); + fn_8005DB6C(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); + fn_8005E0C0(); + temp_r3_2 = fn_800745F0(0, 0x08000000); + fn_80074210(0, temp_r3_2, &sp14); + fn_8006F158(lbl_1_bss_0->unk8, &sp14); + fn_8005DB6C(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); + fn_8005E0C0(); + fn_1_BA0(0x2E0030); + fn_800A6B10(); + fn_8005DB6C(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); + fn_8005E0C0(); + fn_1_BA0(0x2E0032); + fn_80083F84(); + fn_8005D8E8(); + fn_8005E0C0(); + fn_1_BA0(0x2E0033); + fn_1_BA0(0x2E0034); + fn_1_1E3C(8, 0x122, 0x8C); + fn_1_BA0(0x2E0035); + fn_1_1FB0(); + fn_1_1E3C(9, 0x122, 0x8C); + fn_1_BA0(0x2E0036); + fn_1_1FB0(); + fn_1_1E3C(0xA, 0x122, 0x8C); + fn_1_BA0(0x2E0037); + fn_1_1FB0(); + fn_1_BA0(0x2E0038); + fn_1_BA0(0x2E0039); + if (lbl_1_bss_C == 0) { + lbl_1_bss_C = 1; + fn_80070EE8(0, 0x1F3); + fn_8005B5FC(); + } + fn_800B3FD8(NULL); + while (1) { + HuPrcVSleep(); + } +} diff --git a/src/REL/w10Dll/w10Dll4.c b/src/REL/w10Dll/w10Dll4.c new file mode 100644 index 00000000..b435f8bc --- /dev/null +++ b/src/REL/w10Dll/w10Dll4.c @@ -0,0 +1,259 @@ +#include "REL/w10Dll.h" + +char lbl_1_data_98[] = "@@@@@@@@@@@@@@ Tutorial Exit @@@@@@@@@@@@@@\n\000"; + +w10DllUnk03 lbl_1_data_C6[11] = { +1, -1, -1, +2, -1, -1, +4, -1, -1, +5, -1, -1, +5, -1, -1, +4, -1, -1, +1, -1, -1, +3, -1, -1, +2, -1, -1, +4, -1, -1, +5, 6, -1, +}; + +w10DllUnk04 lbl_1_data_108[42] = { +{0x0000, 0000, fn_1_D2C}, +{0x0001, 0000, fn_1_D54}, +{0x0002, 0000, fn_1_D7C}, +{0x0003, 0000, fn_1_DA4}, +{0x0003, 0000, fn_1_DCC}, +{0x0003, 0000, fn_1_DF4}, +{0x0003, 0000, fn_1_E1C}, +{0x0004, 0000, fn_1_E44}, +{0x0005, 0000, fn_1_E94}, +{0x0006, 0000, fn_1_EBC}, +{0x0007, 0000, fn_1_EE4}, +{0x000A, 0000, fn_1_EE8}, +{0x000B, 0000, fn_1_F30}, +{0x0010, 0000, fn_1_F6C}, +{0x0011, 0000, fn_1_FB8}, +{0x000C, 0000, fn_1_1010}, +{0x000D, 0000, fn_1_105C}, +{0x000E, 0000, fn_1_1098}, +{0x000E, 0000, fn_1_10C0}, +{0x000F, 0000, fn_1_10F8}, +{0x0012, 0000, fn_1_1134}, +{0x0014, 0000, fn_1_1178}, +{0x0015, 0000, fn_1_11A0}, +{0x0016, 0000, fn_1_11EC}, +{0x0005, 0000, fn_1_1240}, +{0x0017, 0000, fn_1_1278}, +{0x0007, 0000, fn_1_12A0}, +{0x0005, 0000, fn_1_12DC}, +{0x0017, 0000, fn_1_1304}, +{0x0018, 0000, fn_1_132C}, +{0x0019, 0000, fn_1_1354}, +{0x0008, 0000, fn_1_137C}, +{0x0009, 0000, fn_1_13A4}, +{0x001A, 0000, fn_1_176C}, +{0x001B, 0000, fn_1_179C}, +{0x001B, 0000, fn_1_17F4}, +{0x001B, 0000, fn_1_1834}, +{0x001B, 0000, fn_1_18BC}, +{0x001C, 0000, fn_1_1908}, +{0x001C, 0000, fn_1_1930}, +{0x001C, 0000, fn_1_1958}, +{-1, 0, 0}, +}; + +char lbl_1_data_258[] = "Tutorial Hook P0:%d P1:%d P2:%d P3:%d SCEN:%d CUE:%d PRM:%d DICE:%d MSG:%d\n"; + +s32 lbl_1_data_2A8[11] = { +0x007B0004, +0x007B0005, +0x007B0006, +0x007B0007, +0x007B0008, +0x007B0009, +0x007B000A, +0x007B000B, +0x007B000C, +0x007B000D, +0x007B000E +}; + +void fn_1_176C(void) { + fn_1_C10(1); + fn_1_BA0(0x2E0024); +} + +void fn_1_179C(void) { + fn_1_BA0(0x2E0025); + GWPlayer[1].flags.unk0 = 2; + GWPlayer[3].flags.unk0 = 2; +} + +void fn_1_17F4(void) { + fn_1_BA0(0x2E0026); + GWPlayer[0].flags.unk0 = 2; +} + +void fn_1_1834(void) { + fn_1_BA0(0x2E0027); + GWPlayer[0].flags.unk0 = 1; + GWPlayer[1].flags.unk0 = 1; + GWPlayer[2].flags.unk0 = 1; + GWPlayer[3].flags.unk0 = 2; +} + +void fn_1_18BC(void) { + fn_1_BA0(0x2E0028); + fn_1_BA0(0x2E0029); + lbl_801A52E8 = 0; + fn_8008853C(0); +} + +void fn_1_1908(void) { + fn_1_BA0(0x2E002D); +} + +void fn_1_1930(void) { + fn_1_BA0(0x2E002F); +} + +void fn_1_1958(void) { + fn_1_BA0(0x2E0031); +} + +void fn_1_1980(void) { + +} + +void fn_1_1984(void) { + s32 contPortIndex; + s32 i; + + if (lbl_1_bss_C == 0) { + if (WipeStatGet() != 0) { + HuWinDispOff(lbl_1_bss_E); + return; + } + HuWinDispOn(lbl_1_bss_E); + if (fn_8005B6A8() != 0) { + return; + } + for (i = 0; i < ARRAY_COUNT(GWPlayer); i++) { + contPortIndex = GWPlayer[i].controllerPort; + if (contPortIndex == -1) { + continue; + } + if (HuPadStatGet(contPortIndex) == 0 && HuPadBtnDown[contPortIndex] & 0x1000) { + break; + } + } + if (i != 4) { + lbl_1_bss_C = 1; + OSReport(lbl_1_data_98); + fn_80070EE8(0, 0x1F3); + fn_8005B5FC(); + fn_800B3FD8(NULL); + } + } +} + +int fn_1_1AAC(s16 arg0, s32 arg1) { + s32 i; + if (arg0 == 0x1E) { + if (lbl_1_bss_C == 0) { + if (WipeStatGet() != 0) { + HuWinDispOff(lbl_1_bss_E); + } else { + HuWinDispOn(lbl_1_bss_E); + if (fn_8005B6A8() == 0) { + s32 contPortIndex; + for (i = 0; i < ARRAY_COUNT(GWPlayer); i++) { + contPortIndex = GWPlayer[i].controllerPort; + if (contPortIndex == -1) { + continue; + } + if (HuPadStatGet(contPortIndex) == 0 && HuPadBtnDown[contPortIndex] & 0x1000) { + break; + } + } + if (i != 4) { + lbl_1_bss_C = 1; + OSReport(lbl_1_data_98); + fn_80070EE8(0, 0x1F3); + fn_8005B5FC(); + fn_800B3FD8(NULL); + } + } + } + } + return; + } + if (arg0 != 0x1D) { + OSReport(lbl_1_data_258, + (GWPlayer[0].characterID >> 5) & 1, (GWPlayer[1].characterID >> 5) & 1, + (GWPlayer[2].characterID >> 5) & 1, (GWPlayer[3].characterID >> 5) & 1, + lbl_1_bss_0->unk0, arg0, arg1, lbl_1_bss_0->unk4, lbl_1_bss_0->unk6); + if (lbl_1_data_108[lbl_1_bss_0->unk0].unk0 != -1) { + if (arg0 == 5) { + fn_8008831C(&lbl_1_data_C6[lbl_1_bss_0->unk4++]); + } + if (arg0 == lbl_1_data_108[lbl_1_bss_0->unk0].unk0) { + void (*temp_r3_3)() = lbl_1_data_108[lbl_1_bss_0->unk0++].unk4; + temp_r3_3(); + } + } + } +} + +void fn_1_1D68(void) { + s32 temp_r4; + s32 temp_r5; + s32 i; + + for (i = 0; i < 11; i++) { + lbl_1_bss_22[i] = espEntry(lbl_1_data_2A8[i], 0, 0); + espDispOff(lbl_1_bss_22[i]); + } +} + +void fn_1_1DEC(void) { + s32 i; + + for (i = 0; i < 11; i++) { + espKill(lbl_1_bss_22[i]); + } +} + +void fn_1_1E3C(s16 arg0, s16 arg1, s16 arg2) { + f32 var_f31; + f32 var_f30; + u32 i; + + lbl_1_bss_20 = lbl_1_bss_22[arg0]; + espPosSet(lbl_1_bss_20, arg1, arg2); + var_f31 = 0.0f; + var_f30 = 0.0f; + espDispOn(lbl_1_bss_20); + for (i = 0; i < 15; i++) { + var_f31 += 0.06666667f; + var_f30 += 0.06666667f; + espScaleSet(lbl_1_bss_20, var_f31, var_f30); + HuPrcVSleep(); + } + espScaleSet(lbl_1_bss_20, 1.0f, 1.0f); +} + +void fn_1_1FB0(void) { + f32 var_f31; + f32 var_f30; + u32 i; + + var_f31 = 1.0f; + var_f30 = 1.0f; + for (i = 0; i < 15; i++) { + var_f31 -= 0.06666667f; + var_f30 -= 0.06666667f; + espScaleSet(lbl_1_bss_20, var_f31, var_f30); + HuPrcVSleep(); + } + espDispOff(lbl_1_bss_20); +} \ No newline at end of file diff --git a/src/REL/w10Dll/w10Dll_init.c b/src/REL/w10Dll/w10Dll_init.c new file mode 100644 index 00000000..ed4247bb --- /dev/null +++ b/src/REL/w10Dll/w10Dll_init.c @@ -0,0 +1,23 @@ +#include "include/REL/w10Dll.h" + +void fn_1_0(void) { + fn_8005B150(&fn_1_E0, &fn_1_6D8); +} + +int _prolog(void) { + const VoidFunc* ctors = _ctors; + while (*ctors != 0) { + (**ctors)(); + ctors++; + } + fn_8005B150(&fn_1_E0, &fn_1_6D8); + return 0; +} + +void _epilog(void) { + const VoidFunc* dtors = _dtors; + while (*dtors != 0) { + (**dtors)(); + dtors++; + } +} \ No newline at end of file diff --git a/src/game/frand.c b/src/game/frand.c new file mode 100644 index 00000000..3cee1af9 --- /dev/null +++ b/src/game/frand.c @@ -0,0 +1,40 @@ +#include "common.h" + +static u32 frand_seed; + +static inline u32 frandom(void) +{ + u32 rand = frand_seed; + s32 rand2, rand3; + + if (rand == 0) { + rand = rand8(); + rand = rand ^ (s64)OSGetTime(); + rand ^= 0xD826BC89; + } + + rand2 = rand / (u32)0x1F31D; + rand3 = rand - (rand2 * 0x1F31D); + rand = rand2 * 0xB14; + rand = rand - rand3 * 0x41A7; + return rand; +} + +u32 frand(void) { + return frand_seed = frandom(); +} + +f32 frandf(void) { + u32 value = frand(); + f32 ret; + value &= 0x7FFFFFFF; + ret = (f32)value/2147483648; + return ret; +} + +u32 frandmod(u32 arg0) { + u32 ret; + frand_seed = frandom(); + ret = (frand_seed & 0x7FFFFFFF)%arg0; + return ret; +} \ No newline at end of file diff --git a/src/game/messdata.c b/src/game/messdata.c new file mode 100644 index 00000000..b09116d0 --- /dev/null +++ b/src/game/messdata.c @@ -0,0 +1,53 @@ +#include "common.h" + +static void *MessData_MesDataGet(void *messdata, u32 id) +{ + s32 i; + s32 max_bank; + u16 *banks; + u16 bank; + s32 *data; + bank = id >> 16; + data = messdata; + max_bank = *data; + data++; + banks = (u16 *)(((u8 *)messdata)+(*data)); + for(i=max_bank; i != 0; i--, banks += 2) { + if(*banks == bank) { + break; + } + } + if(i == 0) { + return NULL; + } else { + data += banks[1]; + return (((u8 *)messdata)+(*data)); + } +} + +static void *_MessData_MesPtrGet(void *messbank, u32 id) +{ + u16 index; + s32 max_index; + s32 *data; + + index = id & 0xFFFF; + data = messbank; + max_index = *data; + data++; + if(max_index <= index) { + return NULL; + } else { + data = data+index; + return (((u8 *)messbank)+(*data)); + } +} + +void *MessData_MesPtrGet(void *messdata, u32 id) +{ + void *bank = MessData_MesDataGet(messdata, id); + if(bank) { + return _MessData_MesPtrGet(bank, id); + } + return NULL; +} \ No newline at end of file diff --git a/src/game/objmain.c b/src/game/objmain.c index 418f45cb..5e75511d 100644 --- a/src/game/objmain.c +++ b/src/game/objmain.c @@ -71,14 +71,14 @@ static void omWatchOverlayProc(void) OSReport("objman>Init esp\n"); espInit(); OSReport("objman>Call objectsetup\n"); - fn_800338EC(omnextovl); + HuAudVoiceInit(omnextovl); HuAudDllSndGrpSet(omnextovl); omcurovl = omnextovl; omovlevtno = omnextovlevtno; omovlstat = omnextovlstat; omnextovl = OVL_INVALID; if(_CheckFlag(0x1000C)) { - fn_8003F3AC(); + MGSeqPracticeStart(); } omSysPauseEnable(TRUE); omcurdll = omDLLStart(omcurovl, 0); @@ -136,7 +136,7 @@ void omOvlReturnEx(s16 level, s16 arg2) void omOvlKill(s16 arg) { fn_8004D6F4(-1); - fn_80035A0C(); + MGSeqKillAll(); Hu3DAllKill(); HuWinAllKill(); HuSprClose();