Files
dusklight/include/d/d_kankyo/asm/func_801AAD50.s
T
lepelog 0eec99db4d Split SComponent (#45)
* split c_math

* split c_angle

* split c_API_controller_pad

* split c_API_graphic

* split c_bg_s_chk

* c_bg_s_gnd_chk split

* more c_bg split

* split c_cc_d

* delete asm

* split c_cc_s

* split c_lib

* split c_m2d and c_m3d_g_aab

* split c_m3d_g_cir

* split c_m3d_g_cps

* split rest of c_m3d_g

* split c_m3d

* split c_malloc

* split c_request

* split c_sxyz

* split and partly decompile c_xyz

* format

* c_angle.h

* begin c_angle decomp

* c_angle

* progress adding stub classes for SComponent

* more c_m3d

* remove some asm and format

* more m3d headers

* more c_angle decomp

* c_lib headers

* add public to classes

* fix csXyz member names

* c_sxyz partly OK

* move Zero csXyz to c_sxyz header

* c_API_graphic

* delete some unused asm

* move math extern data, decompile some functions

* delete unused asm

* fix duplicated c_angle.h

* fix an inlined function name, add more inlined functions for c_angle.h (currently unused)

* format

Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-01-06 20:04:53 -05:00

194 lines
10 KiB
ArmAsm

/* 801AAD50 001A7C90 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801AAD54 001A7C94 7C 08 02 A6 */ mflr r0
/* 801AAD58 001A7C98 90 01 00 24 */ stw r0, 0x24(r1)
/* 801AAD5C 001A7C9C 39 61 00 20 */ addi r11, r1, 0x20
/* 801AAD60 001A7CA0 48 1B 74 75 */ bl _savegpr_27
/* 801AAD64 001A7CA4 3C 60 80 43 */ lis r3, lbl_8042CA54@ha
/* 801AAD68 001A7CA8 3B E3 CA 54 */ addi r31, r3, lbl_8042CA54@l
/* 801AAD6C 001A7CAC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 801AAD70 001A7CB0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 801AAD74 001A7CB4 83 C3 5D AC */ lwz r30, 0x5dac(r3)
/* 801AAD78 001A7CB8 83 83 5D 74 */ lwz r28, 0x5d74(r3)
/* 801AAD7C 001A7CBC 3B 63 4E 00 */ addi r27, r3, 0x4e00
/* 801AAD80 001A7CC0 7F 63 DB 78 */ mr r3, r27
/* 801AAD84 001A7CC4 3C 80 80 39 */ lis r4, lbl_80394C6C@ha
/* 801AAD88 001A7CC8 38 84 4C 6C */ addi r4, r4, lbl_80394C6C@l
/* 801AAD8C 001A7CCC 38 84 01 44 */ addi r4, r4, 0x144
/* 801AAD90 001A7CD0 48 1B DC 05 */ bl strcmp
/* 801AAD94 001A7CD4 2C 03 00 00 */ cmpwi r3, 0
/* 801AAD98 001A7CD8 40 82 00 24 */ bne lbl_801AADBC
/* 801AAD9C 001A7CDC 88 0D 87 E4 */ lbz r0, lbl_80450D64-_SDA_BASE_(r13)
/* 801AADA0 001A7CE0 2C 00 00 03 */ cmpwi r0, 3
/* 801AADA4 001A7CE4 40 82 00 18 */ bne lbl_801AADBC
/* 801AADA8 001A7CE8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 801AADAC 001A7CEC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 801AADB0 001A7CF0 88 03 4E 0B */ lbz r0, 0x4e0b(r3)
/* 801AADB4 001A7CF4 2C 00 00 0C */ cmpwi r0, 0xc
/* 801AADB8 001A7CF8 41 82 02 4C */ beq lbl_801AB004
lbl_801AADBC:
/* 801AADBC 001A7CFC 48 00 17 C1 */ bl dKy_darkworld_check
/* 801AADC0 001A7D00 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801AADC4 001A7D04 41 82 02 40 */ beq lbl_801AB004
/* 801AADC8 001A7D08 7F 63 DB 78 */ mr r3, r27
/* 801AADCC 001A7D0C 3C 80 80 39 */ lis r4, lbl_80394C6C@ha
/* 801AADD0 001A7D10 38 84 4C 6C */ addi r4, r4, lbl_80394C6C@l
/* 801AADD4 001A7D14 38 84 01 00 */ addi r4, r4, 0x100
/* 801AADD8 001A7D18 38 A0 00 06 */ li r5, 6
/* 801AADDC 001A7D1C 48 1B B2 B1 */ bl func_8036608C
/* 801AADE0 001A7D20 2C 03 00 00 */ cmpwi r3, 0
/* 801AADE4 001A7D24 40 82 00 08 */ bne lbl_801AADEC
/* 801AADE8 001A7D28 48 00 02 1C */ b lbl_801AB004
lbl_801AADEC:
/* 801AADEC 001A7D2C 4B FB 46 39 */ bl daPy_py_c_NS_checkNowWolfEyeUp
/* 801AADF0 001A7D30 2C 03 00 00 */ cmpwi r3, 0
/* 801AADF4 001A7D34 40 82 02 10 */ bne lbl_801AB004
/* 801AADF8 001A7D38 38 60 00 00 */ li r3, 0
/* 801AADFC 001A7D3C 3B 60 00 00 */ li r27, 0
/* 801AAE00 001A7D40 38 00 00 06 */ li r0, 6
/* 801AAE04 001A7D44 7C 09 03 A6 */ mtctr r0
lbl_801AAE08:
/* 801AAE08 001A7D48 7F BF DA 14 */ add r29, r31, r27
/* 801AAE0C 001A7D4C 88 1D 0C 3E */ lbz r0, 0xc3e(r29)
/* 801AAE10 001A7D50 28 00 00 01 */ cmplwi r0, 1
/* 801AAE14 001A7D54 41 82 01 E4 */ beq lbl_801AAFF8
/* 801AAE18 001A7D58 4B FF 21 CD */ bl dKy_twi_wolflight_set
/* 801AAE1C 001A7D5C C0 02 A2 90 */ lfs f0, lbl_80453C90-_SDA2_BASE_(r2)
/* 801AAE20 001A7D60 D0 1D 0C 2C */ stfs f0, 0xc2c(r29)
/* 801AAE24 001A7D64 38 00 00 FE */ li r0, 0xfe
/* 801AAE28 001A7D68 98 1D 0C 27 */ stb r0, 0xc27(r29)
/* 801AAE2C 001A7D6C C0 42 A2 0C */ lfs f2, lbl_80453C0C-_SDA2_BASE_(r2)
/* 801AAE30 001A7D70 28 1E 00 00 */ cmplwi r30, 0
/* 801AAE34 001A7D74 41 82 00 34 */ beq lbl_801AAE68
/* 801AAE38 001A7D78 C0 3C 00 DC */ lfs f1, 0xdc(r28)
/* 801AAE3C 001A7D7C C0 1E 04 D4 */ lfs f0, 0x4d4(r30)
/* 801AAE40 001A7D80 EC 21 00 28 */ fsubs f1, f1, f0
/* 801AAE44 001A7D84 FC 01 10 40 */ fcmpo cr0, f1, f2
/* 801AAE48 001A7D88 40 80 00 08 */ bge lbl_801AAE50
/* 801AAE4C 001A7D8C FC 20 10 90 */ fmr f1, f2
lbl_801AAE50:
/* 801AAE50 001A7D90 C0 02 A3 D0 */ lfs f0, lbl_80453DD0-_SDA2_BASE_(r2)
/* 801AAE54 001A7D94 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801AAE58 001A7D98 40 81 00 08 */ ble lbl_801AAE60
/* 801AAE5C 001A7D9C FC 20 00 90 */ fmr f1, f0
lbl_801AAE60:
/* 801AAE60 001A7DA0 C0 02 A2 D0 */ lfs f0, lbl_80453CD0-_SDA2_BASE_(r2)
/* 801AAE64 001A7DA4 EC 41 00 24 */ fdivs f2, f1, f0
lbl_801AAE68:
/* 801AAE68 001A7DA8 3C 60 80 43 */ lis r3, lbl_8042CA54@ha
/* 801AAE6C 001A7DAC 38 63 CA 54 */ addi r3, r3, lbl_8042CA54@l
/* 801AAE70 001A7DB0 88 03 13 09 */ lbz r0, 0x1309(r3)
/* 801AAE74 001A7DB4 2C 00 00 02 */ cmpwi r0, 2
/* 801AAE78 001A7DB8 41 82 00 C4 */ beq lbl_801AAF3C
/* 801AAE7C 001A7DBC 40 80 00 14 */ bge lbl_801AAE90
/* 801AAE80 001A7DC0 2C 00 00 00 */ cmpwi r0, 0
/* 801AAE84 001A7DC4 41 82 00 18 */ beq lbl_801AAE9C
/* 801AAE88 001A7DC8 40 80 00 64 */ bge lbl_801AAEEC
/* 801AAE8C 001A7DCC 48 00 01 4C */ b lbl_801AAFD8
lbl_801AAE90:
/* 801AAE90 001A7DD0 2C 00 00 04 */ cmpwi r0, 4
/* 801AAE94 001A7DD4 40 80 01 44 */ bge lbl_801AAFD8
/* 801AAE98 001A7DD8 48 00 00 F4 */ b lbl_801AAF8C
lbl_801AAE9C:
/* 801AAE9C 001A7DDC 38 00 00 19 */ li r0, 0x19
/* 801AAEA0 001A7DE0 7C 7F DA 14 */ add r3, r31, r27
/* 801AAEA4 001A7DE4 98 03 0C 24 */ stb r0, 0xc24(r3)
/* 801AAEA8 001A7DE8 38 00 00 5A */ li r0, 0x5a
/* 801AAEAC 001A7DEC 98 03 0C 25 */ stb r0, 0xc25(r3)
/* 801AAEB0 001A7DF0 38 00 00 B7 */ li r0, 0xb7
/* 801AAEB4 001A7DF4 98 03 0C 26 */ stb r0, 0xc26(r3)
/* 801AAEB8 001A7DF8 38 7D 0C 28 */ addi r3, r29, 0xc28
/* 801AAEBC 001A7DFC C0 22 A3 D4 */ lfs f1, lbl_80453DD4-_SDA2_BASE_(r2)
/* 801AAEC0 001A7E00 C0 02 A3 34 */ lfs f0, lbl_80453D34-_SDA2_BASE_(r2)
/* 801AAEC4 001A7E04 EC 00 00 B2 */ fmuls f0, f0, f2
/* 801AAEC8 001A7E08 EC 21 00 2A */ fadds f1, f1, f0
/* 801AAECC 001A7E0C C0 42 A2 F4 */ lfs f2, lbl_80453CF4-_SDA2_BASE_(r2)
/* 801AAED0 001A7E10 C0 62 A3 28 */ lfs f3, lbl_80453D28-_SDA2_BASE_(r2)
/* 801AAED4 001A7E14 C0 82 A3 30 */ lfs f4, lbl_80453D30-_SDA2_BASE_(r2)
/* 801AAED8 001A7E18 48 0C 4A A5 */ bl cLib_addCalc__FPfffff
/* 801AAEDC 001A7E1C C0 02 A2 2C */ lfs f0, lbl_80453C2C-_SDA2_BASE_(r2)
/* 801AAEE0 001A7E20 7C 7F DA 14 */ add r3, r31, r27
/* 801AAEE4 001A7E24 D0 03 0C 30 */ stfs f0, 0xc30(r3)
/* 801AAEE8 001A7E28 48 00 00 F0 */ b lbl_801AAFD8
lbl_801AAEEC:
/* 801AAEEC 001A7E2C 38 00 00 48 */ li r0, 0x48
/* 801AAEF0 001A7E30 7C 7F DA 14 */ add r3, r31, r27
/* 801AAEF4 001A7E34 98 03 0C 24 */ stb r0, 0xc24(r3)
/* 801AAEF8 001A7E38 38 00 00 87 */ li r0, 0x87
/* 801AAEFC 001A7E3C 98 03 0C 25 */ stb r0, 0xc25(r3)
/* 801AAF00 001A7E40 38 00 00 CE */ li r0, 0xce
/* 801AAF04 001A7E44 98 03 0C 26 */ stb r0, 0xc26(r3)
/* 801AAF08 001A7E48 38 7D 0C 28 */ addi r3, r29, 0xc28
/* 801AAF0C 001A7E4C C0 22 A3 D8 */ lfs f1, lbl_80453DD8-_SDA2_BASE_(r2)
/* 801AAF10 001A7E50 C0 02 A3 34 */ lfs f0, lbl_80453D34-_SDA2_BASE_(r2)
/* 801AAF14 001A7E54 EC 00 00 B2 */ fmuls f0, f0, f2
/* 801AAF18 001A7E58 EC 21 00 2A */ fadds f1, f1, f0
/* 801AAF1C 001A7E5C C0 42 A2 F4 */ lfs f2, lbl_80453CF4-_SDA2_BASE_(r2)
/* 801AAF20 001A7E60 C0 62 A3 28 */ lfs f3, lbl_80453D28-_SDA2_BASE_(r2)
/* 801AAF24 001A7E64 C0 82 A3 30 */ lfs f4, lbl_80453D30-_SDA2_BASE_(r2)
/* 801AAF28 001A7E68 48 0C 4A 55 */ bl cLib_addCalc__FPfffff
/* 801AAF2C 001A7E6C C0 02 A3 DC */ lfs f0, lbl_80453DDC-_SDA2_BASE_(r2)
/* 801AAF30 001A7E70 7C 7F DA 14 */ add r3, r31, r27
/* 801AAF34 001A7E74 D0 03 0C 30 */ stfs f0, 0xc30(r3)
/* 801AAF38 001A7E78 48 00 00 A0 */ b lbl_801AAFD8
lbl_801AAF3C:
/* 801AAF3C 001A7E7C 38 00 00 48 */ li r0, 0x48
/* 801AAF40 001A7E80 7C 7F DA 14 */ add r3, r31, r27
/* 801AAF44 001A7E84 98 03 0C 24 */ stb r0, 0xc24(r3)
/* 801AAF48 001A7E88 38 00 00 87 */ li r0, 0x87
/* 801AAF4C 001A7E8C 98 03 0C 25 */ stb r0, 0xc25(r3)
/* 801AAF50 001A7E90 38 00 00 CE */ li r0, 0xce
/* 801AAF54 001A7E94 98 03 0C 26 */ stb r0, 0xc26(r3)
/* 801AAF58 001A7E98 38 7D 0C 28 */ addi r3, r29, 0xc28
/* 801AAF5C 001A7E9C C0 22 A3 E0 */ lfs f1, lbl_80453DE0-_SDA2_BASE_(r2)
/* 801AAF60 001A7EA0 C0 02 A3 34 */ lfs f0, lbl_80453D34-_SDA2_BASE_(r2)
/* 801AAF64 001A7EA4 EC 00 00 B2 */ fmuls f0, f0, f2
/* 801AAF68 001A7EA8 EC 21 00 2A */ fadds f1, f1, f0
/* 801AAF6C 001A7EAC C0 42 A2 F4 */ lfs f2, lbl_80453CF4-_SDA2_BASE_(r2)
/* 801AAF70 001A7EB0 C0 62 A3 28 */ lfs f3, lbl_80453D28-_SDA2_BASE_(r2)
/* 801AAF74 001A7EB4 C0 82 A3 30 */ lfs f4, lbl_80453D30-_SDA2_BASE_(r2)
/* 801AAF78 001A7EB8 48 0C 4A 05 */ bl cLib_addCalc__FPfffff
/* 801AAF7C 001A7EBC C0 02 A3 DC */ lfs f0, lbl_80453DDC-_SDA2_BASE_(r2)
/* 801AAF80 001A7EC0 7C 7F DA 14 */ add r3, r31, r27
/* 801AAF84 001A7EC4 D0 03 0C 30 */ stfs f0, 0xc30(r3)
/* 801AAF88 001A7EC8 48 00 00 50 */ b lbl_801AAFD8
lbl_801AAF8C:
/* 801AAF8C 001A7ECC 38 00 00 50 */ li r0, 0x50
/* 801AAF90 001A7ED0 7C 7F DA 14 */ add r3, r31, r27
/* 801AAF94 001A7ED4 98 03 0C 24 */ stb r0, 0xc24(r3)
/* 801AAF98 001A7ED8 38 00 00 87 */ li r0, 0x87
/* 801AAF9C 001A7EDC 98 03 0C 25 */ stb r0, 0xc25(r3)
/* 801AAFA0 001A7EE0 38 00 00 CE */ li r0, 0xce
/* 801AAFA4 001A7EE4 98 03 0C 26 */ stb r0, 0xc26(r3)
/* 801AAFA8 001A7EE8 38 7D 0C 28 */ addi r3, r29, 0xc28
/* 801AAFAC 001A7EEC C0 22 A3 E4 */ lfs f1, lbl_80453DE4-_SDA2_BASE_(r2)
/* 801AAFB0 001A7EF0 C0 02 A3 34 */ lfs f0, lbl_80453D34-_SDA2_BASE_(r2)
/* 801AAFB4 001A7EF4 EC 00 00 B2 */ fmuls f0, f0, f2
/* 801AAFB8 001A7EF8 EC 21 00 2A */ fadds f1, f1, f0
/* 801AAFBC 001A7EFC C0 42 A2 F4 */ lfs f2, lbl_80453CF4-_SDA2_BASE_(r2)
/* 801AAFC0 001A7F00 C0 62 A3 28 */ lfs f3, lbl_80453D28-_SDA2_BASE_(r2)
/* 801AAFC4 001A7F04 C0 82 A3 30 */ lfs f4, lbl_80453D30-_SDA2_BASE_(r2)
/* 801AAFC8 001A7F08 48 0C 49 B5 */ bl cLib_addCalc__FPfffff
/* 801AAFCC 001A7F0C C0 02 A3 E8 */ lfs f0, lbl_80453DE8-_SDA2_BASE_(r2)
/* 801AAFD0 001A7F10 7C 7F DA 14 */ add r3, r31, r27
/* 801AAFD4 001A7F14 D0 03 0C 30 */ stfs f0, 0xc30(r3)
lbl_801AAFD8:
/* 801AAFD8 001A7F18 38 00 00 02 */ li r0, 2
/* 801AAFDC 001A7F1C 7C 7F DA 14 */ add r3, r31, r27
/* 801AAFE0 001A7F20 98 03 0C 3C */ stb r0, 0xc3c(r3)
/* 801AAFE4 001A7F24 38 00 00 03 */ li r0, 3
/* 801AAFE8 001A7F28 98 03 0C 3D */ stb r0, 0xc3d(r3)
/* 801AAFEC 001A7F2C 38 00 00 01 */ li r0, 1
/* 801AAFF0 001A7F30 98 03 0C 3E */ stb r0, 0xc3e(r3)
/* 801AAFF4 001A7F34 48 00 00 10 */ b lbl_801AB004
lbl_801AAFF8:
/* 801AAFF8 001A7F38 38 63 00 01 */ addi r3, r3, 1
/* 801AAFFC 001A7F3C 3B 7B 00 28 */ addi r27, r27, 0x28
/* 801AB000 001A7F40 42 00 FE 08 */ bdnz lbl_801AAE08
lbl_801AB004:
/* 801AB004 001A7F44 39 61 00 20 */ addi r11, r1, 0x20
/* 801AB008 001A7F48 48 1B 72 19 */ bl _restgpr_27
/* 801AB00C 001A7F4C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801AB010 001A7F50 7C 08 03 A6 */ mtlr r0
/* 801AB014 001A7F54 38 21 00 20 */ addi r1, r1, 0x20
/* 801AB018 001A7F58 4E 80 00 20 */ blr