mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-30 01:49:04 -04:00
0eec99db4d
* 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>
162 lines
8.3 KiB
ArmAsm
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
|