Files
tp/include/d/d_kankyo/asm/func_801A1F58.s
T
0cf65151b3 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

84 lines
4.5 KiB
ArmAsm

/* 801A1F58 0019EE98 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801A1F5C 0019EE9C 7C 08 02 A6 */ mflr r0
/* 801A1F60 0019EEA0 90 01 00 24 */ stw r0, 0x24(r1)
/* 801A1F64 0019EEA4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801A1F68 0019EEA8 7C 9F 23 78 */ mr r31, r4
/* 801A1F6C 0019EEAC 88 04 03 81 */ lbz r0, 0x381(r4)
/* 801A1F70 0019EEB0 28 00 00 FF */ cmplwi r0, 0xff
/* 801A1F74 0019EEB4 41 82 00 50 */ beq lbl_801A1FC4
/* 801A1F78 0019EEB8 C8 22 A2 80 */ lfd f1, lbl_80453C80-_SDA2_BASE_(r2)
/* 801A1F7C 0019EEBC 90 01 00 0C */ stw r0, 0xc(r1)
/* 801A1F80 0019EEC0 3C 00 43 30 */ lis r0, 0x4330
/* 801A1F84 0019EEC4 90 01 00 08 */ stw r0, 8(r1)
/* 801A1F88 0019EEC8 C8 01 00 08 */ lfd f0, 8(r1)
/* 801A1F8C 0019EECC EC 20 08 28 */ fsubs f1, f0, f1
/* 801A1F90 0019EED0 C0 02 A2 94 */ lfs f0, lbl_80453C94-_SDA2_BASE_(r2)
/* 801A1F94 0019EED4 EC 21 00 24 */ fdivs f1, f1, f0
/* 801A1F98 0019EED8 3C 60 80 43 */ lis r3, lbl_8042CA54@ha
/* 801A1F9C 0019EEDC 38 63 CA 54 */ addi r3, r3, lbl_8042CA54@l
/* 801A1FA0 0019EEE0 A8 03 12 C0 */ lha r0, 0x12c0(r3)
/* 801A1FA4 0019EEE4 2C 00 00 64 */ cmpwi r0, 0x64
/* 801A1FA8 0019EEE8 40 82 00 58 */ bne lbl_801A2000
/* 801A1FAC 0019EEEC 38 7F 03 74 */ addi r3, r31, 0x374
/* 801A1FB0 0019EEF0 C0 42 A2 EC */ lfs f2, lbl_80453CEC-_SDA2_BASE_(r2)
/* 801A1FB4 0019EEF4 C0 62 A3 08 */ lfs f3, lbl_80453D08-_SDA2_BASE_(r2)
/* 801A1FB8 0019EEF8 C0 82 A3 10 */ lfs f4, lbl_80453D10-_SDA2_BASE_(r2)
/* 801A1FBC 0019EEFC 48 0C D9 C1 */ bl cLib_addCalc__FPfffff
/* 801A1FC0 0019EF00 48 00 00 40 */ b lbl_801A2000
lbl_801A1FC4:
/* 801A1FC4 0019EF04 88 7F 03 80 */ lbz r3, 0x380(r31)
/* 801A1FC8 0019EF08 7C 60 07 75 */ extsb. r0, r3
/* 801A1FCC 0019EF0C 41 80 00 34 */ blt lbl_801A2000
/* 801A1FD0 0019EF10 98 7F 03 7C */ stb r3, 0x37c(r31)
/* 801A1FD4 0019EF14 3C 60 80 43 */ lis r3, lbl_8042CA54@ha
/* 801A1FD8 0019EF18 38 63 CA 54 */ addi r3, r3, lbl_8042CA54@l
/* 801A1FDC 0019EF1C A8 03 12 C0 */ lha r0, 0x12c0(r3)
/* 801A1FE0 0019EF20 2C 00 00 64 */ cmpwi r0, 0x64
/* 801A1FE4 0019EF24 40 82 00 1C */ bne lbl_801A2000
/* 801A1FE8 0019EF28 38 7F 03 74 */ addi r3, r31, 0x374
/* 801A1FEC 0019EF2C C0 22 A2 48 */ lfs f1, lbl_80453C48-_SDA2_BASE_(r2)
/* 801A1FF0 0019EF30 C0 42 A2 EC */ lfs f2, lbl_80453CEC-_SDA2_BASE_(r2)
/* 801A1FF4 0019EF34 C0 62 A3 08 */ lfs f3, lbl_80453D08-_SDA2_BASE_(r2)
/* 801A1FF8 0019EF38 C0 82 A3 10 */ lfs f4, lbl_80453D10-_SDA2_BASE_(r2)
/* 801A1FFC 0019EF3C 48 0C D9 81 */ bl cLib_addCalc__FPfffff
lbl_801A2000:
/* 801A2000 0019EF40 3C 60 80 43 */ lis r3, lbl_8042CA54@ha
/* 801A2004 0019EF44 38 63 CA 54 */ addi r3, r3, lbl_8042CA54@l
/* 801A2008 0019EF48 88 A3 12 C7 */ lbz r5, 0x12c7(r3)
/* 801A200C 0019EF4C 88 9F 03 7C */ lbz r4, 0x37c(r31)
/* 801A2010 0019EF50 7C 05 20 40 */ cmplw r5, r4
/* 801A2014 0019EF54 41 82 00 68 */ beq lbl_801A207C
/* 801A2018 0019EF58 88 03 12 C6 */ lbz r0, 0x12c6(r3)
/* 801A201C 0019EF5C 7C 04 00 40 */ cmplw r4, r0
/* 801A2020 0019EF60 40 82 00 28 */ bne lbl_801A2048
/* 801A2024 0019EF64 98 A3 12 C6 */ stb r5, 0x12c6(r3)
/* 801A2028 0019EF68 98 83 12 C7 */ stb r4, 0x12c7(r3)
/* 801A202C 0019EF6C C0 22 A2 48 */ lfs f1, lbl_80453C48-_SDA2_BASE_(r2)
/* 801A2030 0019EF70 C0 03 11 DC */ lfs f0, 0x11dc(r3)
/* 801A2034 0019EF74 EC 01 00 28 */ fsubs f0, f1, f0
/* 801A2038 0019EF78 D0 03 11 DC */ stfs f0, 0x11dc(r3)
/* 801A203C 0019EF7C EC 01 00 28 */ fsubs f0, f1, f0
/* 801A2040 0019EF80 D0 1F 03 70 */ stfs f0, 0x370(r31)
/* 801A2044 0019EF84 48 00 00 38 */ b lbl_801A207C
lbl_801A2048:
/* 801A2048 0019EF88 C0 23 11 DC */ lfs f1, 0x11dc(r3)
/* 801A204C 0019EF8C C0 02 A2 48 */ lfs f0, lbl_80453C48-_SDA2_BASE_(r2)
/* 801A2050 0019EF90 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801A2054 0019EF94 4C 41 13 82 */ cror 2, 1, 2
/* 801A2058 0019EF98 41 82 00 14 */ beq lbl_801A206C
/* 801A205C 0019EF9C C0 02 A2 0C */ lfs f0, lbl_80453C0C-_SDA2_BASE_(r2)
/* 801A2060 0019EFA0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801A2064 0019EFA4 4C 40 13 82 */ cror 2, 0, 2
/* 801A2068 0019EFA8 40 82 00 14 */ bne lbl_801A207C
lbl_801A206C:
/* 801A206C 0019EFAC 98 83 12 C7 */ stb r4, 0x12c7(r3)
/* 801A2070 0019EFB0 C0 02 A2 0C */ lfs f0, lbl_80453C0C-_SDA2_BASE_(r2)
/* 801A2074 0019EFB4 D0 03 11 DC */ stfs f0, 0x11dc(r3)
/* 801A2078 0019EFB8 D0 1F 03 70 */ stfs f0, 0x370(r31)
lbl_801A207C:
/* 801A207C 0019EFBC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801A2080 0019EFC0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801A2084 0019EFC4 7C 08 03 A6 */ mtlr r0
/* 801A2088 0019EFC8 38 21 00 20 */ addi r1, r1, 0x20
/* 801A208C 0019EFCC 4E 80 00 20 */ blr