Files
dusklight/include/d/d_kankyo/asm/func_801AB01C.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

162 lines
8.3 KiB
ArmAsm

/* 801AB01C 001A7F5C 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 801AB020 001A7F60 7C 08 02 A6 */ mflr r0
/* 801AB024 001A7F64 90 01 00 84 */ stw r0, 0x84(r1)
/* 801AB028 001A7F68 39 61 00 80 */ addi r11, r1, 0x80
/* 801AB02C 001A7F6C 48 1B 71 A5 */ bl _savegpr_26
/* 801AB030 001A7F70 3C 60 80 43 */ lis r3, lbl_8042CA54@ha
/* 801AB034 001A7F74 3B E3 CA 54 */ addi r31, r3, lbl_8042CA54@l
/* 801AB038 001A7F78 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 801AB03C 001A7F7C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 801AB040 001A7F80 83 C3 5D AC */ lwz r30, 0x5dac(r3)
/* 801AB044 001A7F84 83 63 5D 74 */ lwz r27, 0x5d74(r3)
/* 801AB048 001A7F88 3B 40 00 01 */ li r26, 1
/* 801AB04C 001A7F8C 3B 83 0F 38 */ addi r28, r3, 0xf38
/* 801AB050 001A7F90 3B BC 3E C8 */ addi r29, r28, 0x3ec8
/* 801AB054 001A7F94 7F A3 EB 78 */ mr r3, r29
/* 801AB058 001A7F98 3C 80 80 39 */ lis r4, lbl_80394C6C@ha
/* 801AB05C 001A7F9C 38 84 4C 6C */ addi r4, r4, lbl_80394C6C@l
/* 801AB060 001A7FA0 38 84 02 51 */ addi r4, r4, 0x251
/* 801AB064 001A7FA4 48 1B D9 31 */ bl strcmp
/* 801AB068 001A7FA8 2C 03 00 00 */ cmpwi r3, 0
/* 801AB06C 001A7FAC 41 82 00 38 */ beq lbl_801AB0A4
/* 801AB070 001A7FB0 7F A3 EB 78 */ mr r3, r29
/* 801AB074 001A7FB4 3C 80 80 39 */ lis r4, lbl_80394C6C@ha
/* 801AB078 001A7FB8 38 84 4C 6C */ addi r4, r4, lbl_80394C6C@l
/* 801AB07C 001A7FBC 48 1B D9 19 */ bl strcmp
/* 801AB080 001A7FC0 2C 03 00 00 */ cmpwi r3, 0
/* 801AB084 001A7FC4 41 82 00 20 */ beq lbl_801AB0A4
/* 801AB088 001A7FC8 7F A3 EB 78 */ mr r3, r29
/* 801AB08C 001A7FCC 3C 80 80 39 */ lis r4, lbl_80394C6C@ha
/* 801AB090 001A7FD0 38 84 4C 6C */ addi r4, r4, lbl_80394C6C@l
/* 801AB094 001A7FD4 38 84 02 59 */ addi r4, r4, 0x259
/* 801AB098 001A7FD8 48 1B D8 FD */ bl strcmp
/* 801AB09C 001A7FDC 2C 03 00 00 */ cmpwi r3, 0
/* 801AB0A0 001A7FE0 40 82 00 08 */ bne lbl_801AB0A8
lbl_801AB0A4:
/* 801AB0A4 001A7FE4 3B 40 00 03 */ li r26, 3
lbl_801AB0A8:
/* 801AB0A8 001A7FE8 88 1F 0C 3E */ lbz r0, 0xc3e(r31)
/* 801AB0AC 001A7FEC 28 00 00 01 */ cmplwi r0, 1
/* 801AB0B0 001A7FF0 41 82 01 A8 */ beq lbl_801AB258
/* 801AB0B4 001A7FF4 38 60 00 00 */ li r3, 0
/* 801AB0B8 001A7FF8 4B FF 1F 2D */ bl dKy_twi_wolflight_set
/* 801AB0BC 001A7FFC 38 00 00 8A */ li r0, 0x8a
/* 801AB0C0 001A8000 98 1F 0C 24 */ stb r0, 0xc24(r31)
/* 801AB0C4 001A8004 38 00 00 C0 */ li r0, 0xc0
/* 801AB0C8 001A8008 98 1F 0C 25 */ stb r0, 0xc25(r31)
/* 801AB0CC 001A800C 38 00 00 BC */ li r0, 0xbc
/* 801AB0D0 001A8010 98 1F 0C 26 */ stb r0, 0xc26(r31)
/* 801AB0D4 001A8014 38 00 00 FD */ li r0, 0xfd
/* 801AB0D8 001A8018 98 1F 0C 27 */ stb r0, 0xc27(r31)
/* 801AB0DC 001A801C C0 42 A2 0C */ lfs f2, lbl_80453C0C-_SDA2_BASE_(r2)
/* 801AB0E0 001A8020 28 1E 00 00 */ cmplwi r30, 0
/* 801AB0E4 001A8024 41 82 00 34 */ beq lbl_801AB118
/* 801AB0E8 001A8028 C0 3B 00 DC */ lfs f1, 0xdc(r27)
/* 801AB0EC 001A802C C0 1E 04 D4 */ lfs f0, 0x4d4(r30)
/* 801AB0F0 001A8030 EC 21 00 28 */ fsubs f1, f1, f0
/* 801AB0F4 001A8034 FC 01 10 40 */ fcmpo cr0, f1, f2
/* 801AB0F8 001A8038 40 80 00 08 */ bge lbl_801AB100
/* 801AB0FC 001A803C FC 20 10 90 */ fmr f1, f2
lbl_801AB100:
/* 801AB100 001A8040 C0 02 A3 D0 */ lfs f0, lbl_80453DD0-_SDA2_BASE_(r2)
/* 801AB104 001A8044 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801AB108 001A8048 40 81 00 08 */ ble lbl_801AB110
/* 801AB10C 001A804C FC 20 00 90 */ fmr f1, f0
lbl_801AB110:
/* 801AB110 001A8050 C0 02 A2 D0 */ lfs f0, lbl_80453CD0-_SDA2_BASE_(r2)
/* 801AB114 001A8054 EC 41 00 24 */ fdivs f2, f1, f0
lbl_801AB118:
/* 801AB118 001A8058 C0 22 A3 EC */ lfs f1, lbl_80453DEC-_SDA2_BASE_(r2)
/* 801AB11C 001A805C C0 02 A3 34 */ lfs f0, lbl_80453D34-_SDA2_BASE_(r2)
/* 801AB120 001A8060 EC 00 00 B2 */ fmuls f0, f0, f2
/* 801AB124 001A8064 EC 01 00 2A */ fadds f0, f1, f0
/* 801AB128 001A8068 D0 1F 0C 28 */ stfs f0, 0xc28(r31)
/* 801AB12C 001A806C C0 02 A3 F0 */ lfs f0, lbl_80453DF0-_SDA2_BASE_(r2)
/* 801AB130 001A8070 D0 1F 0C 30 */ stfs f0, 0xc30(r31)
/* 801AB134 001A8074 38 00 00 02 */ li r0, 2
/* 801AB138 001A8078 98 1F 0C 3C */ stb r0, 0xc3c(r31)
/* 801AB13C 001A807C 38 00 00 03 */ li r0, 3
/* 801AB140 001A8080 98 1F 0C 3D */ stb r0, 0xc3d(r31)
/* 801AB144 001A8084 7F A3 EB 78 */ mr r3, r29
/* 801AB148 001A8088 3C 80 80 39 */ lis r4, lbl_80394C6C@ha
/* 801AB14C 001A808C 38 84 4C 6C */ addi r4, r4, lbl_80394C6C@l
/* 801AB150 001A8090 38 84 00 F8 */ addi r4, r4, 0xf8
/* 801AB154 001A8094 3B DF 0C 28 */ addi r30, r31, 0xc28
/* 801AB158 001A8098 3B BF 0C 30 */ addi r29, r31, 0xc30
/* 801AB15C 001A809C 48 1B D8 39 */ bl strcmp
/* 801AB160 001A80A0 2C 03 00 00 */ cmpwi r3, 0
/* 801AB164 001A80A4 40 82 00 9C */ bne lbl_801AB200
/* 801AB168 001A80A8 38 61 00 14 */ addi r3, r1, 0x14
/* 801AB16C 001A80AC 4B EC C8 95 */ bl dBgS_CamGndChk_Wtr
/* 801AB170 001A80B0 3B 40 00 01 */ li r26, 1
/* 801AB174 001A80B4 C0 02 A2 BC */ lfs f0, lbl_80453CBC-_SDA2_BASE_(r2)
/* 801AB178 001A80B8 D0 1D 00 00 */ stfs f0, 0(r29)
/* 801AB17C 001A80BC C0 1B 00 D8 */ lfs f0, 0xd8(r27)
/* 801AB180 001A80C0 D0 01 00 08 */ stfs f0, 8(r1)
/* 801AB184 001A80C4 C0 3B 00 DC */ lfs f1, 0xdc(r27)
/* 801AB188 001A80C8 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 801AB18C 001A80CC C0 1B 00 E0 */ lfs f0, 0xe0(r27)
/* 801AB190 001A80D0 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 801AB194 001A80D4 C0 02 A2 E8 */ lfs f0, lbl_80453CE8-_SDA2_BASE_(r2)
/* 801AB198 001A80D8 EC 01 00 2A */ fadds f0, f1, f0
/* 801AB19C 001A80DC D0 01 00 0C */ stfs f0, 0xc(r1)
/* 801AB1A0 001A80E0 38 61 00 14 */ addi r3, r1, 0x14
/* 801AB1A4 001A80E4 38 81 00 08 */ addi r4, r1, 8
/* 801AB1A8 001A80E8 48 0B CB 81 */ bl SetPos__11cBgS_GndChkFPC4cXyz
/* 801AB1AC 001A80EC 7F 83 E3 78 */ mr r3, r28
/* 801AB1B0 001A80F0 38 81 00 14 */ addi r4, r1, 0x14
/* 801AB1B4 001A80F4 4B EC 92 ED */ bl cBgS_NS_GroundCross
/* 801AB1B8 001A80F8 C0 1B 00 DC */ lfs f0, 0xdc(r27)
/* 801AB1BC 001A80FC EC 21 00 28 */ fsubs f1, f1, f0
/* 801AB1C0 001A8100 C0 02 A1 F0 */ lfs f0, lbl_80453BF0-_SDA2_BASE_(r2)
/* 801AB1C4 001A8104 EC 21 00 24 */ fdivs f1, f1, f0
/* 801AB1C8 001A8108 C0 02 A2 0C */ lfs f0, lbl_80453C0C-_SDA2_BASE_(r2)
/* 801AB1CC 001A810C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801AB1D0 001A8110 40 80 00 08 */ bge lbl_801AB1D8
/* 801AB1D4 001A8114 FC 20 00 90 */ fmr f1, f0
lbl_801AB1D8:
/* 801AB1D8 001A8118 C0 02 A2 48 */ lfs f0, lbl_80453C48-_SDA2_BASE_(r2)
/* 801AB1DC 001A811C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801AB1E0 001A8120 40 81 00 08 */ ble lbl_801AB1E8
/* 801AB1E4 001A8124 FC 20 00 90 */ fmr f1, f0
lbl_801AB1E8:
/* 801AB1E8 001A8128 C0 1E 00 00 */ lfs f0, 0(r30)
/* 801AB1EC 001A812C EC 00 00 72 */ fmuls f0, f0, f1
/* 801AB1F0 001A8130 D0 1E 00 00 */ stfs f0, 0(r30)
/* 801AB1F4 001A8134 38 61 00 14 */ addi r3, r1, 0x14
/* 801AB1F8 001A8138 38 80 FF FF */ li r4, -1
/* 801AB1FC 001A813C 4B EC C8 9D */ bl dBgS_CamGndChk_Wtr_NS_dtor
lbl_801AB200:
/* 801AB200 001A8140 2C 1A 00 02 */ cmpwi r26, 2
/* 801AB204 001A8144 40 80 00 24 */ bge lbl_801AB228
/* 801AB208 001A8148 2C 1A 00 00 */ cmpwi r26, 0
/* 801AB20C 001A814C 40 80 00 0C */ bge lbl_801AB218
/* 801AB210 001A8150 48 00 00 18 */ b lbl_801AB228
/* 801AB214 001A8154 48 00 00 14 */ b lbl_801AB228
lbl_801AB218:
/* 801AB218 001A8158 C0 02 A2 8C */ lfs f0, lbl_80453C8C-_SDA2_BASE_(r2)
/* 801AB21C 001A815C C0 22 A2 48 */ lfs f1, lbl_80453C48-_SDA2_BASE_(r2)
/* 801AB220 001A8160 FC 40 08 90 */ fmr f2, f1
/* 801AB224 001A8164 48 00 00 10 */ b lbl_801AB234
lbl_801AB228:
/* 801AB228 001A8168 C0 02 A2 8C */ lfs f0, lbl_80453C8C-_SDA2_BASE_(r2)
/* 801AB22C 001A816C C0 22 A2 4C */ lfs f1, lbl_80453C4C-_SDA2_BASE_(r2)
/* 801AB230 001A8170 C0 42 A3 F4 */ lfs f2, lbl_80453DF4-_SDA2_BASE_(r2)
lbl_801AB234:
/* 801AB234 001A8174 D0 1F 12 7C */ stfs f0, 0x127c(r31)
/* 801AB238 001A8178 C0 1E 00 00 */ lfs f0, 0(r30)
/* 801AB23C 001A817C EC 00 00 72 */ fmuls f0, f0, f1
/* 801AB240 001A8180 D0 1E 00 00 */ stfs f0, 0(r30)
/* 801AB244 001A8184 C0 1D 00 00 */ lfs f0, 0(r29)
/* 801AB248 001A8188 EC 00 00 B2 */ fmuls f0, f0, f2
/* 801AB24C 001A818C D0 1D 00 00 */ stfs f0, 0(r29)
/* 801AB250 001A8190 38 00 00 01 */ li r0, 1
/* 801AB254 001A8194 98 1F 0C 3E */ stb r0, 0xc3e(r31)
lbl_801AB258:
/* 801AB258 001A8198 39 61 00 80 */ addi r11, r1, 0x80
/* 801AB25C 001A819C 48 1B 6F C1 */ bl _restgpr_26
/* 801AB260 001A81A0 80 01 00 84 */ lwz r0, 0x84(r1)
/* 801AB264 001A81A4 7C 08 03 A6 */ mtlr r0
/* 801AB268 001A81A8 38 21 00 80 */ addi r1, r1, 0x80
/* 801AB26C 001A81AC 4E 80 00 20 */ blr