mirror of https://github.com/zeldaret/tp.git
246 lines
11 KiB
ArmAsm
246 lines
11 KiB
ArmAsm
lbl_800DE008:
|
|
/* 800DE008 94 21 FF B0 */ stwu r1, -0x50(r1)
|
|
/* 800DE00C 7C 08 02 A6 */ mflr r0
|
|
/* 800DE010 90 01 00 54 */ stw r0, 0x54(r1)
|
|
/* 800DE014 39 61 00 50 */ addi r11, r1, 0x50
|
|
/* 800DE018 48 28 41 C1 */ bl _savegpr_28
|
|
/* 800DE01C 7C 7C 1B 78 */ mr r28, r3
|
|
/* 800DE020 7C 9D 23 78 */ mr r29, r4
|
|
/* 800DE024 4B FF ED CD */ bl checkUpperGuardAnime__9daAlink_cCFv
|
|
/* 800DE028 7C 7F 1B 78 */ mr r31, r3
|
|
/* 800DE02C 83 DC 27 EC */ lwz r30, 0x27ec(r28)
|
|
/* 800DE030 7F 83 E3 78 */ mr r3, r28
|
|
/* 800DE034 38 80 00 20 */ li r4, 0x20
|
|
/* 800DE038 4B FE 3F 35 */ bl commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC
|
|
/* 800DE03C C0 02 92 C0 */ lfs f0, lit_6108(r2)
|
|
/* 800DE040 D0 1C 33 98 */ stfs f0, 0x3398(r28)
|
|
/* 800DE044 2C 1D 00 02 */ cmpwi r29, 2
|
|
/* 800DE048 40 82 00 0C */ bne lbl_800DE054
|
|
/* 800DE04C 3B A0 00 F0 */ li r29, 0xf0
|
|
/* 800DE050 48 00 00 4C */ b lbl_800DE09C
|
|
lbl_800DE054:
|
|
/* 800DE054 2C 1D 00 03 */ cmpwi r29, 3
|
|
/* 800DE058 40 82 00 0C */ bne lbl_800DE064
|
|
/* 800DE05C 3B A0 00 F1 */ li r29, 0xf1
|
|
/* 800DE060 48 00 00 3C */ b lbl_800DE09C
|
|
lbl_800DE064:
|
|
/* 800DE064 C0 3C 33 AC */ lfs f1, 0x33ac(r28)
|
|
/* 800DE068 C0 02 92 A4 */ lfs f0, lit_6021(r2)
|
|
/* 800DE06C FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 800DE070 40 81 00 28 */ ble lbl_800DE098
|
|
/* 800DE074 A8 7C 04 E6 */ lha r3, 0x4e6(r28)
|
|
/* 800DE078 A8 1C 2F E2 */ lha r0, 0x2fe2(r28)
|
|
/* 800DE07C 7C 03 00 50 */ subf r0, r3, r0
|
|
/* 800DE080 7C 00 07 35 */ extsh. r0, r0
|
|
/* 800DE084 41 80 00 0C */ blt lbl_800DE090
|
|
/* 800DE088 3B A0 00 F0 */ li r29, 0xf0
|
|
/* 800DE08C 48 00 00 10 */ b lbl_800DE09C
|
|
lbl_800DE090:
|
|
/* 800DE090 3B A0 00 F1 */ li r29, 0xf1
|
|
/* 800DE094 48 00 00 08 */ b lbl_800DE09C
|
|
lbl_800DE098:
|
|
/* 800DE098 3B A0 00 F0 */ li r29, 0xf0
|
|
lbl_800DE09C:
|
|
/* 800DE09C 3C 60 80 39 */ lis r3, m__22daAlinkHIO_turnMove_c0@ha /* 0x8038DF70@ha */
|
|
/* 800DE0A0 38 63 DF 70 */ addi r3, r3, m__22daAlinkHIO_turnMove_c0@l /* 0x8038DF70@l */
|
|
/* 800DE0A4 C0 23 00 04 */ lfs f1, 4(r3)
|
|
/* 800DE0A8 A8 03 00 16 */ lha r0, 0x16(r3)
|
|
/* 800DE0AC B0 1C 30 0A */ sth r0, 0x300a(r28)
|
|
/* 800DE0B0 80 1C 05 70 */ lwz r0, 0x570(r28)
|
|
/* 800DE0B4 54 00 02 11 */ rlwinm. r0, r0, 0, 8, 8
|
|
/* 800DE0B8 41 82 00 44 */ beq lbl_800DE0FC
|
|
/* 800DE0BC A8 1C 30 0A */ lha r0, 0x300a(r28)
|
|
/* 800DE0C0 C8 42 92 B0 */ lfd f2, lit_6025(r2)
|
|
/* 800DE0C4 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 800DE0C8 90 01 00 34 */ stw r0, 0x34(r1)
|
|
/* 800DE0CC 3C 00 43 30 */ lis r0, 0x4330
|
|
/* 800DE0D0 90 01 00 30 */ stw r0, 0x30(r1)
|
|
/* 800DE0D4 C8 01 00 30 */ lfd f0, 0x30(r1)
|
|
/* 800DE0D8 EC 40 10 28 */ fsubs f2, f0, f2
|
|
/* 800DE0DC 3C 60 80 39 */ lis r3, m__24daAlinkHIO_magneBoots_c0@ha /* 0x8038E7F4@ha */
|
|
/* 800DE0E0 38 63 E7 F4 */ addi r3, r3, m__24daAlinkHIO_magneBoots_c0@l /* 0x8038E7F4@l */
|
|
/* 800DE0E4 C0 03 00 3C */ lfs f0, 0x3c(r3)
|
|
/* 800DE0E8 EC 02 00 32 */ fmuls f0, f2, f0
|
|
/* 800DE0EC FC 00 00 1E */ fctiwz f0, f0
|
|
/* 800DE0F0 D8 01 00 38 */ stfd f0, 0x38(r1)
|
|
/* 800DE0F4 80 01 00 3C */ lwz r0, 0x3c(r1)
|
|
/* 800DE0F8 B0 1C 30 0A */ sth r0, 0x300a(r28)
|
|
lbl_800DE0FC:
|
|
/* 800DE0FC 7F 83 E3 78 */ mr r3, r28
|
|
/* 800DE100 7F A4 EB 78 */ mr r4, r29
|
|
/* 800DE104 3C A0 80 39 */ lis r5, m__22daAlinkHIO_turnMove_c0@ha /* 0x8038DF70@ha */
|
|
/* 800DE108 38 C5 DF 70 */ addi r6, r5, m__22daAlinkHIO_turnMove_c0@l /* 0x8038DF70@l */
|
|
/* 800DE10C C0 46 00 08 */ lfs f2, 8(r6)
|
|
/* 800DE110 A8 A6 00 00 */ lha r5, 0(r6)
|
|
/* 800DE114 C0 66 00 0C */ lfs f3, 0xc(r6)
|
|
/* 800DE118 4B FC EE F5 */ bl setSingleAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMffsf
|
|
/* 800DE11C 2C 1D 00 F0 */ cmpwi r29, 0xf0
|
|
/* 800DE120 40 82 00 18 */ bne lbl_800DE138
|
|
/* 800DE124 38 00 80 10 */ li r0, -32752
|
|
/* 800DE128 B0 1C 30 0C */ sth r0, 0x300c(r28)
|
|
/* 800DE12C 38 00 00 02 */ li r0, 2
|
|
/* 800DE130 98 1C 2F 98 */ stb r0, 0x2f98(r28)
|
|
/* 800DE134 48 00 00 14 */ b lbl_800DE148
|
|
lbl_800DE138:
|
|
/* 800DE138 38 00 7F F0 */ li r0, 0x7ff0
|
|
/* 800DE13C B0 1C 30 0C */ sth r0, 0x300c(r28)
|
|
/* 800DE140 38 00 00 03 */ li r0, 3
|
|
/* 800DE144 98 1C 2F 98 */ stb r0, 0x2f98(r28)
|
|
lbl_800DE148:
|
|
/* 800DE148 28 1E 00 00 */ cmplwi r30, 0
|
|
/* 800DE14C 41 82 01 54 */ beq lbl_800DE2A0
|
|
/* 800DE150 38 61 00 18 */ addi r3, r1, 0x18
|
|
/* 800DE154 38 9C 04 D0 */ addi r4, r28, 0x4d0
|
|
/* 800DE158 38 BE 04 D0 */ addi r5, r30, 0x4d0
|
|
/* 800DE15C 48 18 89 D9 */ bl __mi__4cXyzCFRC3Vec
|
|
/* 800DE160 C0 01 00 18 */ lfs f0, 0x18(r1)
|
|
/* 800DE164 D0 01 00 24 */ stfs f0, 0x24(r1)
|
|
/* 800DE168 C0 01 00 1C */ lfs f0, 0x1c(r1)
|
|
/* 800DE16C D0 01 00 28 */ stfs f0, 0x28(r1)
|
|
/* 800DE170 C0 01 00 20 */ lfs f0, 0x20(r1)
|
|
/* 800DE174 D0 01 00 2C */ stfs f0, 0x2c(r1)
|
|
/* 800DE178 7F 83 E3 78 */ mr r3, r28
|
|
/* 800DE17C 7F C4 F3 78 */ mr r4, r30
|
|
/* 800DE180 4B F3 C5 91 */ bl fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c
|
|
/* 800DE184 B0 7C 04 E6 */ sth r3, 0x4e6(r28)
|
|
/* 800DE188 C0 01 00 24 */ lfs f0, 0x24(r1)
|
|
/* 800DE18C D0 01 00 0C */ stfs f0, 0xc(r1)
|
|
/* 800DE190 C0 02 92 C0 */ lfs f0, lit_6108(r2)
|
|
/* 800DE194 D0 01 00 10 */ stfs f0, 0x10(r1)
|
|
/* 800DE198 C0 01 00 2C */ lfs f0, 0x2c(r1)
|
|
/* 800DE19C D0 01 00 14 */ stfs f0, 0x14(r1)
|
|
/* 800DE1A0 38 61 00 0C */ addi r3, r1, 0xc
|
|
/* 800DE1A4 48 26 8F 95 */ bl PSVECSquareMag
|
|
/* 800DE1A8 C0 02 92 C0 */ lfs f0, lit_6108(r2)
|
|
/* 800DE1AC FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 800DE1B0 40 81 00 58 */ ble lbl_800DE208
|
|
/* 800DE1B4 FC 00 08 34 */ frsqrte f0, f1
|
|
/* 800DE1B8 C8 82 92 E8 */ lfd f4, lit_6846(r2)
|
|
/* 800DE1BC FC 44 00 32 */ fmul f2, f4, f0
|
|
/* 800DE1C0 C8 62 92 F0 */ lfd f3, lit_6847(r2)
|
|
/* 800DE1C4 FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 800DE1C8 FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 800DE1CC FC 03 00 28 */ fsub f0, f3, f0
|
|
/* 800DE1D0 FC 02 00 32 */ fmul f0, f2, f0
|
|
/* 800DE1D4 FC 44 00 32 */ fmul f2, f4, f0
|
|
/* 800DE1D8 FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 800DE1DC FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 800DE1E0 FC 03 00 28 */ fsub f0, f3, f0
|
|
/* 800DE1E4 FC 02 00 32 */ fmul f0, f2, f0
|
|
/* 800DE1E8 FC 44 00 32 */ fmul f2, f4, f0
|
|
/* 800DE1EC FC 00 00 32 */ fmul f0, f0, f0
|
|
/* 800DE1F0 FC 01 00 32 */ fmul f0, f1, f0
|
|
/* 800DE1F4 FC 03 00 28 */ fsub f0, f3, f0
|
|
/* 800DE1F8 FC 02 00 32 */ fmul f0, f2, f0
|
|
/* 800DE1FC FC 21 00 32 */ fmul f1, f1, f0
|
|
/* 800DE200 FC 20 08 18 */ frsp f1, f1
|
|
/* 800DE204 48 00 00 88 */ b lbl_800DE28C
|
|
lbl_800DE208:
|
|
/* 800DE208 C8 02 92 F8 */ lfd f0, lit_6848(r2)
|
|
/* 800DE20C FC 01 00 40 */ fcmpo cr0, f1, f0
|
|
/* 800DE210 40 80 00 10 */ bge lbl_800DE220
|
|
/* 800DE214 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
|
|
/* 800DE218 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
|
|
/* 800DE21C 48 00 00 70 */ b lbl_800DE28C
|
|
lbl_800DE220:
|
|
/* 800DE220 D0 21 00 08 */ stfs f1, 8(r1)
|
|
/* 800DE224 80 81 00 08 */ lwz r4, 8(r1)
|
|
/* 800DE228 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
|
|
/* 800DE22C 3C 00 7F 80 */ lis r0, 0x7f80
|
|
/* 800DE230 7C 03 00 00 */ cmpw r3, r0
|
|
/* 800DE234 41 82 00 14 */ beq lbl_800DE248
|
|
/* 800DE238 40 80 00 40 */ bge lbl_800DE278
|
|
/* 800DE23C 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 800DE240 41 82 00 20 */ beq lbl_800DE260
|
|
/* 800DE244 48 00 00 34 */ b lbl_800DE278
|
|
lbl_800DE248:
|
|
/* 800DE248 54 80 02 7F */ clrlwi. r0, r4, 9
|
|
/* 800DE24C 41 82 00 0C */ beq lbl_800DE258
|
|
/* 800DE250 38 00 00 01 */ li r0, 1
|
|
/* 800DE254 48 00 00 28 */ b lbl_800DE27C
|
|
lbl_800DE258:
|
|
/* 800DE258 38 00 00 02 */ li r0, 2
|
|
/* 800DE25C 48 00 00 20 */ b lbl_800DE27C
|
|
lbl_800DE260:
|
|
/* 800DE260 54 80 02 7F */ clrlwi. r0, r4, 9
|
|
/* 800DE264 41 82 00 0C */ beq lbl_800DE270
|
|
/* 800DE268 38 00 00 05 */ li r0, 5
|
|
/* 800DE26C 48 00 00 10 */ b lbl_800DE27C
|
|
lbl_800DE270:
|
|
/* 800DE270 38 00 00 03 */ li r0, 3
|
|
/* 800DE274 48 00 00 08 */ b lbl_800DE27C
|
|
lbl_800DE278:
|
|
/* 800DE278 38 00 00 04 */ li r0, 4
|
|
lbl_800DE27C:
|
|
/* 800DE27C 2C 00 00 01 */ cmpwi r0, 1
|
|
/* 800DE280 40 82 00 0C */ bne lbl_800DE28C
|
|
/* 800DE284 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
|
|
/* 800DE288 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
|
|
lbl_800DE28C:
|
|
/* 800DE28C D0 3C 34 78 */ stfs f1, 0x3478(r28)
|
|
/* 800DE290 38 61 00 24 */ addi r3, r1, 0x24
|
|
/* 800DE294 48 18 8E 95 */ bl atan2sX_Z__4cXyzCFv
|
|
/* 800DE298 B0 7C 30 0E */ sth r3, 0x300e(r28)
|
|
/* 800DE29C 48 00 00 1C */ b lbl_800DE2B8
|
|
lbl_800DE2A0:
|
|
/* 800DE2A0 C0 02 93 68 */ lfs f0, lit_8472(r2)
|
|
/* 800DE2A4 D0 1C 34 78 */ stfs f0, 0x3478(r28)
|
|
/* 800DE2A8 A8 7C 04 E6 */ lha r3, 0x4e6(r28)
|
|
/* 800DE2AC 3C 63 00 01 */ addis r3, r3, 1
|
|
/* 800DE2B0 38 03 80 00 */ addi r0, r3, -32768
|
|
/* 800DE2B4 B0 1C 30 0E */ sth r0, 0x300e(r28)
|
|
lbl_800DE2B8:
|
|
/* 800DE2B8 C0 3C 34 78 */ lfs f1, 0x3478(r28)
|
|
/* 800DE2BC C0 02 93 E0 */ lfs f0, lit_11673(r2)
|
|
/* 800DE2C0 EC 41 00 28 */ fsubs f2, f1, f0
|
|
/* 800DE2C4 A8 1C 30 0C */ lha r0, 0x300c(r28)
|
|
/* 800DE2C8 C8 22 92 B0 */ lfd f1, lit_6025(r2)
|
|
/* 800DE2CC 6C 00 80 00 */ xoris r0, r0, 0x8000
|
|
/* 800DE2D0 90 01 00 3C */ stw r0, 0x3c(r1)
|
|
/* 800DE2D4 3C 00 43 30 */ lis r0, 0x4330
|
|
/* 800DE2D8 90 01 00 38 */ stw r0, 0x38(r1)
|
|
/* 800DE2DC C8 01 00 38 */ lfd f0, 0x38(r1)
|
|
/* 800DE2E0 EC 00 08 28 */ fsubs f0, f0, f1
|
|
/* 800DE2E4 EC 02 00 24 */ fdivs f0, f2, f0
|
|
/* 800DE2E8 D0 1C 34 7C */ stfs f0, 0x347c(r28)
|
|
/* 800DE2EC 7F 83 E3 78 */ mr r3, r28
|
|
/* 800DE2F0 3C 80 00 01 */ lis r4, 0x0001 /* 0x00010096@ha */
|
|
/* 800DE2F4 38 84 00 96 */ addi r4, r4, 0x0096 /* 0x00010096@l */
|
|
/* 800DE2F8 81 9C 06 28 */ lwz r12, 0x628(r28)
|
|
/* 800DE2FC 81 8C 01 14 */ lwz r12, 0x114(r12)
|
|
/* 800DE300 7D 89 03 A6 */ mtctr r12
|
|
/* 800DE304 4E 80 04 21 */ bctrl
|
|
/* 800DE308 80 1C 06 14 */ lwz r0, 0x614(r28)
|
|
/* 800DE30C 28 00 00 52 */ cmplwi r0, 0x52
|
|
/* 800DE310 40 82 00 10 */ bne lbl_800DE320
|
|
/* 800DE314 38 00 00 01 */ li r0, 1
|
|
/* 800DE318 B0 1C 30 08 */ sth r0, 0x3008(r28)
|
|
/* 800DE31C 48 00 00 0C */ b lbl_800DE328
|
|
lbl_800DE320:
|
|
/* 800DE320 38 00 00 00 */ li r0, 0
|
|
/* 800DE324 B0 1C 30 08 */ sth r0, 0x3008(r28)
|
|
lbl_800DE328:
|
|
/* 800DE328 7F 83 E3 78 */ mr r3, r28
|
|
/* 800DE32C 38 80 00 00 */ li r4, 0
|
|
/* 800DE330 48 04 2E 91 */ bl setFootEffectProcType__9daAlink_cFi
|
|
/* 800DE334 38 00 00 04 */ li r0, 4
|
|
/* 800DE338 98 1C 2F 9D */ stb r0, 0x2f9d(r28)
|
|
/* 800DE33C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
|
/* 800DE340 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
|
/* 800DE344 80 03 5F 18 */ lwz r0, 0x5f18(r3)
|
|
/* 800DE348 60 00 00 04 */ ori r0, r0, 4
|
|
/* 800DE34C 90 03 5F 18 */ stw r0, 0x5f18(r3)
|
|
/* 800DE350 2C 1F 00 00 */ cmpwi r31, 0
|
|
/* 800DE354 41 82 00 10 */ beq lbl_800DE364
|
|
/* 800DE358 80 1C 05 70 */ lwz r0, 0x570(r28)
|
|
/* 800DE35C 60 00 00 02 */ ori r0, r0, 2
|
|
/* 800DE360 90 1C 05 70 */ stw r0, 0x570(r28)
|
|
lbl_800DE364:
|
|
/* 800DE364 38 60 00 01 */ li r3, 1
|
|
/* 800DE368 39 61 00 50 */ addi r11, r1, 0x50
|
|
/* 800DE36C 48 28 3E B9 */ bl _restgpr_28
|
|
/* 800DE370 80 01 00 54 */ lwz r0, 0x54(r1)
|
|
/* 800DE374 7C 08 03 A6 */ mtlr r0
|
|
/* 800DE378 38 21 00 50 */ addi r1, r1, 0x50
|
|
/* 800DE37C 4E 80 00 20 */ blr
|