Files
tp/include/d/d_kankyo/asm/func_801A516C.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

76 lines
4.0 KiB
ArmAsm

/* 801A516C 001A20AC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801A5170 001A20B0 7C 08 02 A6 */ mflr r0
/* 801A5174 001A20B4 90 01 00 34 */ stw r0, 0x34(r1)
/* 801A5178 001A20B8 39 61 00 30 */ addi r11, r1, 0x30
/* 801A517C 001A20BC 48 1B D0 61 */ bl _savegpr_29
/* 801A5180 001A20C0 7C 7D 1B 78 */ mr r29, r3
/* 801A5184 001A20C4 3C 60 80 43 */ lis r3, lbl_8042CA54@ha
/* 801A5188 001A20C8 3B E3 CA 54 */ addi r31, r3, lbl_8042CA54@l
/* 801A518C 001A20CC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 801A5190 001A20D0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l
/* 801A5194 001A20D4 83 C3 5D 74 */ lwz r30, 0x5d74(r3)
/* 801A5198 001A20D8 48 00 6F D1 */ bl dKy_SunMoon_Light_Check
/* 801A519C 001A20DC 2C 03 00 01 */ cmpwi r3, 1
/* 801A51A0 001A20E0 40 82 00 94 */ bne lbl_801A5234
/* 801A51A4 001A20E4 3C 60 80 43 */ lis r3, lbl_8042CA54@ha
/* 801A51A8 001A20E8 38 63 CA 54 */ addi r3, r3, lbl_8042CA54@l
/* 801A51AC 001A20EC 4B FF A8 5D */ bl dScnKy_env_light_c_NS_getDaytime
/* 801A51B0 001A20F0 C0 02 A3 98 */ lfs f0, lbl_80453D98-_SDA2_BASE_(r2)
/* 801A51B4 001A20F4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801A51B8 001A20F8 40 81 00 2C */ ble lbl_801A51E4
/* 801A51BC 001A20FC C0 02 A3 9C */ lfs f0, lbl_80453D9C-_SDA2_BASE_(r2)
/* 801A51C0 001A2100 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801A51C4 001A2104 40 80 00 20 */ bge lbl_801A51E4
/* 801A51C8 001A2108 C0 1F 10 70 */ lfs f0, 0x1070(r31)
/* 801A51CC 001A210C D0 1D 00 18 */ stfs f0, 0x18(r29)
/* 801A51D0 001A2110 C0 1F 10 74 */ lfs f0, 0x1074(r31)
/* 801A51D4 001A2114 D0 1D 00 1C */ stfs f0, 0x1c(r29)
/* 801A51D8 001A2118 C0 1F 10 78 */ lfs f0, 0x1078(r31)
/* 801A51DC 001A211C D0 1D 00 20 */ stfs f0, 0x20(r29)
/* 801A51E0 001A2120 48 00 00 70 */ b lbl_801A5250
lbl_801A51E4:
/* 801A51E4 001A2124 28 1E 00 00 */ cmplwi r30, 0
/* 801A51E8 001A2128 41 82 00 30 */ beq lbl_801A5218
/* 801A51EC 001A212C 38 61 00 08 */ addi r3, r1, 8
/* 801A51F0 001A2130 38 9E 00 D8 */ addi r4, r30, 0xd8
/* 801A51F4 001A2134 38 BF 10 94 */ addi r5, r31, 0x1094
/* 801A51F8 001A2138 48 0C 18 ED */ bl __pl__4cXyzCFRC3Vec
/* 801A51FC 001A213C C0 01 00 08 */ lfs f0, 8(r1)
/* 801A5200 001A2140 D0 1D 00 18 */ stfs f0, 0x18(r29)
/* 801A5204 001A2144 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 801A5208 001A2148 D0 1D 00 1C */ stfs f0, 0x1c(r29)
/* 801A520C 001A214C C0 01 00 10 */ lfs f0, 0x10(r1)
/* 801A5210 001A2150 D0 1D 00 20 */ stfs f0, 0x20(r29)
/* 801A5214 001A2154 48 00 00 3C */ b lbl_801A5250
lbl_801A5218:
/* 801A5218 001A2158 C0 1F 10 94 */ lfs f0, 0x1094(r31)
/* 801A521C 001A215C D0 1D 00 18 */ stfs f0, 0x18(r29)
/* 801A5220 001A2160 C0 1F 10 98 */ lfs f0, 0x1098(r31)
/* 801A5224 001A2164 D0 1D 00 1C */ stfs f0, 0x1c(r29)
/* 801A5228 001A2168 C0 1F 10 9C */ lfs f0, 0x109c(r31)
/* 801A522C 001A216C D0 1D 00 20 */ stfs f0, 0x20(r29)
/* 801A5230 001A2170 48 00 00 20 */ b lbl_801A5250
lbl_801A5234:
/* 801A5234 001A2174 80 6D 81 84 */ lwz r3, lbl_80450704-_SDA_BASE_(r13)
/* 801A5238 001A2178 C0 03 01 D0 */ lfs f0, 0x1d0(r3)
/* 801A523C 001A217C D0 1D 00 18 */ stfs f0, 0x18(r29)
/* 801A5240 001A2180 C0 03 01 D4 */ lfs f0, 0x1d4(r3)
/* 801A5244 001A2184 D0 1D 00 1C */ stfs f0, 0x1c(r29)
/* 801A5248 001A2188 C0 03 01 D8 */ lfs f0, 0x1d8(r3)
/* 801A524C 001A218C D0 1D 00 20 */ stfs f0, 0x20(r29)
lbl_801A5250:
/* 801A5250 001A2190 38 00 00 FF */ li r0, 0xff
/* 801A5254 001A2194 B0 1D 00 24 */ sth r0, 0x24(r29)
/* 801A5258 001A2198 B0 1D 00 26 */ sth r0, 0x26(r29)
/* 801A525C 001A219C B0 1D 00 28 */ sth r0, 0x28(r29)
/* 801A5260 001A21A0 B0 1D 00 2A */ sth r0, 0x2a(r29)
/* 801A5264 001A21A4 C0 02 A2 0C */ lfs f0, lbl_80453C0C-_SDA2_BASE_(r2)
/* 801A5268 001A21A8 D0 1D 00 2C */ stfs f0, 0x2c(r29)
/* 801A526C 001A21AC D0 1D 00 30 */ stfs f0, 0x30(r29)
/* 801A5270 001A21B0 39 61 00 30 */ addi r11, r1, 0x30
/* 801A5274 001A21B4 48 1B CF B5 */ bl _restgpr_29
/* 801A5278 001A21B8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801A527C 001A21BC 7C 08 03 A6 */ mtlr r0
/* 801A5280 001A21C0 38 21 00 30 */ addi r1, r1, 0x30
/* 801A5284 001A21C4 4E 80 00 20 */ blr