Files
tp/include/d/d_attention/asm/func_80071A98.s
T
lepelog 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

147 lines
7.5 KiB
ArmAsm

/* 80071A98 0006E9D8 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 80071A9C 0006E9DC 7C 08 02 A6 */ mflr r0
/* 80071AA0 0006E9E0 90 01 00 74 */ stw r0, 0x74(r1)
/* 80071AA4 0006E9E4 DB E1 00 60 */ stfd f31, 0x60(r1)
/* 80071AA8 0006E9E8 F3 E1 00 68 */ psq_st f31, 104(r1), 0, 0
/* 80071AAC 0006E9EC 39 61 00 60 */ addi r11, r1, 0x60
/* 80071AB0 0006E9F0 48 2F 07 29 */ bl _savegpr_28
/* 80071AB4 0006E9F4 7C 7D 1B 78 */ mr r29, r3
/* 80071AB8 0006E9F8 80 03 03 DC */ lwz r0, 0x3dc(r3)
/* 80071ABC 0006E9FC 1F E0 00 14 */ mulli r31, r0, 0x14
/* 80071AC0 0006EA00 3B 9F 03 38 */ addi r28, r31, 0x338
/* 80071AC4 0006EA04 7F 9D E2 14 */ add r28, r29, r28
/* 80071AC8 0006EA08 7F 83 E3 78 */ mr r3, r28
/* 80071ACC 0006EA0C 48 00 1D 99 */ bl dAttList_c_NS_getActor
/* 80071AD0 0006EA10 7C 7E 1B 79 */ or. r30, r3, r3
/* 80071AD4 0006EA14 40 82 00 0C */ bne lbl_80071AE0
/* 80071AD8 0006EA18 38 60 00 00 */ li r3, 0
/* 80071ADC 0006EA1C 48 00 01 C4 */ b lbl_80071CA0
lbl_80071AE0:
/* 80071AE0 0006EA20 80 1D 03 34 */ lwz r0, 0x334(r29)
/* 80071AE4 0006EA24 54 00 04 63 */ rlwinm. r0, r0, 0, 0x11, 0x11
/* 80071AE8 0006EA28 40 82 01 A8 */ bne lbl_80071C90
/* 80071AEC 0006EA2C 38 61 00 38 */ addi r3, r1, 0x38
/* 80071AF0 0006EA30 38 9E 05 50 */ addi r4, r30, 0x550
/* 80071AF4 0006EA34 38 BD 03 1C */ addi r5, r29, 0x31c
/* 80071AF8 0006EA38 48 1F 50 3D */ bl __mi__4cXyzCFRC3Vec
/* 80071AFC 0006EA3C 38 61 00 24 */ addi r3, r1, 0x24
/* 80071B00 0006EA40 38 81 00 38 */ addi r4, r1, 0x38
/* 80071B04 0006EA44 48 1F FD 7D */ bl __ct__7cSGlobeFRC4cXyz
/* 80071B08 0006EA48 80 BD 00 00 */ lwz r5, 0(r29)
/* 80071B0C 0006EA4C 38 61 00 0C */ addi r3, r1, 0xc
/* 80071B10 0006EA50 38 81 00 2A */ addi r4, r1, 0x2a
/* 80071B14 0006EA54 A8 A5 04 E6 */ lha r5, 0x4e6(r5)
/* 80071B18 0006EA58 48 1F F7 11 */ bl __mi__7cSAngleCFs
/* 80071B1C 0006EA5C A8 01 00 0C */ lha r0, 0xc(r1)
/* 80071B20 0006EA60 B0 01 00 14 */ sth r0, 0x14(r1)
/* 80071B24 0006EA64 38 61 00 2C */ addi r3, r1, 0x2c
/* 80071B28 0006EA68 38 9D 03 1C */ addi r4, r29, 0x31c
/* 80071B2C 0006EA6C 38 BE 05 50 */ addi r5, r30, 0x550
/* 80071B30 0006EA70 48 1F 50 05 */ bl __mi__4cXyzCFRC3Vec
/* 80071B34 0006EA74 38 61 00 1C */ addi r3, r1, 0x1c
/* 80071B38 0006EA78 38 81 00 2C */ addi r4, r1, 0x2c
/* 80071B3C 0006EA7C 48 1F FD 45 */ bl __ct__7cSGlobeFRC4cXyz
/* 80071B40 0006EA80 38 61 00 08 */ addi r3, r1, 8
/* 80071B44 0006EA84 38 81 00 22 */ addi r4, r1, 0x22
/* 80071B48 0006EA88 A8 BE 04 E6 */ lha r5, 0x4e6(r30)
/* 80071B4C 0006EA8C 48 1F F6 DD */ bl __mi__7cSAngleCFs
/* 80071B50 0006EA90 A8 01 00 08 */ lha r0, 8(r1)
/* 80071B54 0006EA94 B0 01 00 10 */ sth r0, 0x10(r1)
/* 80071B58 0006EA98 7F A3 EB 78 */ mr r3, r29
/* 80071B5C 0006EA9C 38 80 00 4C */ li r4, 0x4c
/* 80071B60 0006EAA0 7F C5 F3 78 */ mr r5, r30
/* 80071B64 0006EAA4 C0 21 00 24 */ lfs f1, 0x24(r1)
/* 80071B68 0006EAA8 A8 C1 00 14 */ lha r6, 0x14(r1)
/* 80071B6C 0006EAAC 7C 07 07 34 */ extsh r7, r0
/* 80071B70 0006EAB0 39 01 00 18 */ addi r8, r1, 0x18
/* 80071B74 0006EAB4 4B FF F3 1D */ bl dAttention_c_NS_calcWeight
/* 80071B78 0006EAB8 FF E0 08 90 */ fmr f31, f1
/* 80071B7C 0006EABC C0 02 8C 50 */ lfs f0, lbl_80452650-_SDA2_BASE_(r2)
/* 80071B80 0006EAC0 FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 80071B84 0006EAC4 4C 40 13 82 */ cror 2, 0, 2
/* 80071B88 0006EAC8 40 82 00 DC */ bne lbl_80071C64
/* 80071B8C 0006EACC 7C 7D FA 14 */ add r3, r29, r31
/* 80071B90 0006EAD0 80 83 03 44 */ lwz r4, 0x344(r3)
/* 80071B94 0006EAD4 90 81 00 18 */ stw r4, 0x18(r1)
/* 80071B98 0006EAD8 7C 7E 22 14 */ add r3, r30, r4
/* 80071B9C 0006EADC 8B 83 05 44 */ lbz r28, 0x544(r3)
/* 80071BA0 0006EAE0 7F A3 EB 78 */ mr r3, r29
/* 80071BA4 0006EAE4 80 BE 05 5C */ lwz r5, 0x55c(r30)
/* 80071BA8 0006EAE8 4B FF EE C9 */ bl dAttention_c_NS_chkAttMask
/* 80071BAC 0006EAEC 2C 03 00 00 */ cmpwi r3, 0
/* 80071BB0 0006EAF0 40 82 00 0C */ bne lbl_80071BBC
/* 80071BB4 0006EAF4 38 60 00 00 */ li r3, 0
/* 80071BB8 0006EAF8 48 00 00 E8 */ b lbl_80071CA0
lbl_80071BBC:
/* 80071BBC 0006EAFC 80 61 00 18 */ lwz r3, 0x18(r1)
/* 80071BC0 0006EB00 A0 9E 00 FA */ lhz r4, 0xfa(r30)
/* 80071BC4 0006EB04 4B FF EE FD */ bl check_event_condition
/* 80071BC8 0006EB08 2C 03 00 00 */ cmpwi r3, 0
/* 80071BCC 0006EB0C 41 82 00 0C */ beq lbl_80071BD8
/* 80071BD0 0006EB10 38 60 00 00 */ li r3, 0
/* 80071BD4 0006EB14 48 00 00 CC */ b lbl_80071CA0
lbl_80071BD8:
/* 80071BD8 0006EB18 3C 60 80 3B */ lis r3, lbl_803A9C70@ha
/* 80071BDC 0006EB1C 38 03 9C 70 */ addi r0, r3, lbl_803A9C70@l
/* 80071BE0 0006EB20 1F 9C 00 1C */ mulli r28, r28, 0x1c
/* 80071BE4 0006EB24 7C 60 E2 14 */ add r3, r0, r28
/* 80071BE8 0006EB28 80 63 00 18 */ lwz r3, 0x18(r3)
/* 80071BEC 0006EB2C A8 81 00 14 */ lha r4, 0x14(r1)
/* 80071BF0 0006EB30 A8 A1 00 10 */ lha r5, 0x10(r1)
/* 80071BF4 0006EB34 4B FF EF 39 */ bl check_flontofplayer
/* 80071BF8 0006EB38 2C 03 00 00 */ cmpwi r3, 0
/* 80071BFC 0006EB3C 41 82 00 0C */ beq lbl_80071C08
/* 80071C00 0006EB40 38 60 00 00 */ li r3, 0
/* 80071C04 0006EB44 48 00 00 9C */ b lbl_80071CA0
lbl_80071C08:
/* 80071C08 0006EB48 38 7D 03 1C */ addi r3, r29, 0x31c
/* 80071C0C 0006EB4C A8 81 00 14 */ lha r4, 0x14(r1)
/* 80071C10 0006EB50 38 BE 05 50 */ addi r5, r30, 0x550
/* 80071C14 0006EB54 3C C0 80 3B */ lis r6, lbl_803A9C70@ha
/* 80071C18 0006EB58 38 06 9C 70 */ addi r0, r6, lbl_803A9C70@l
/* 80071C1C 0006EB5C 7C C0 E2 14 */ add r6, r0, r28
/* 80071C20 0006EB60 C0 26 00 04 */ lfs f1, 4(r6)
/* 80071C24 0006EB64 C0 46 00 08 */ lfs f2, 8(r6)
/* 80071C28 0006EB68 C0 66 00 0C */ lfs f3, 0xc(r6)
/* 80071C2C 0006EB6C C0 86 00 10 */ lfs f4, 0x10(r6)
/* 80071C30 0006EB70 4B FF F0 71 */ bl check_distace
/* 80071C34 0006EB74 2C 03 00 00 */ cmpwi r3, 0
/* 80071C38 0006EB78 41 82 00 24 */ beq lbl_80071C5C
/* 80071C3C 0006EB7C C0 21 00 24 */ lfs f1, 0x24(r1)
/* 80071C40 0006EB80 A8 61 00 14 */ lha r3, 0x14(r1)
/* 80071C44 0006EB84 C0 42 8C 94 */ lfs f2, lbl_80452694-_SDA2_BASE_(r2)
/* 80071C48 0006EB88 4B FF EF AD */ bl distace_weight
/* 80071C4C 0006EB8C 7C 7D FA 14 */ add r3, r29, r31
/* 80071C50 0006EB90 D0 23 03 38 */ stfs f1, 0x338(r3)
/* 80071C54 0006EB94 38 60 00 01 */ li r3, 1
/* 80071C58 0006EB98 48 00 00 48 */ b lbl_80071CA0
lbl_80071C5C:
/* 80071C5C 0006EB9C 38 60 00 00 */ li r3, 0
/* 80071C60 0006EBA0 48 00 00 40 */ b lbl_80071CA0
lbl_80071C64:
/* 80071C64 0006EBA4 7F 83 E3 78 */ mr r3, r28
/* 80071C68 0006EBA8 7F C4 F3 78 */ mr r4, r30
/* 80071C6C 0006EBAC 48 00 1C 2D */ bl dAttList_c_NS_setActor
/* 80071C70 0006EBB0 7C 7D FA 14 */ add r3, r29, r31
/* 80071C74 0006EBB4 D3 E3 03 38 */ stfs f31, 0x338(r3)
/* 80071C78 0006EBB8 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 80071C7C 0006EBBC D0 03 03 3C */ stfs f0, 0x33c(r3)
/* 80071C80 0006EBC0 80 01 00 18 */ lwz r0, 0x18(r1)
/* 80071C84 0006EBC4 90 03 03 44 */ stw r0, 0x344(r3)
/* 80071C88 0006EBC8 38 60 00 01 */ li r3, 1
/* 80071C8C 0006EBCC 48 00 00 14 */ b lbl_80071CA0
lbl_80071C90:
/* 80071C90 0006EBD0 80 1E 05 5C */ lwz r0, 0x55c(r30)
/* 80071C94 0006EBD4 54 03 07 7E */ clrlwi r3, r0, 0x1d
/* 80071C98 0006EBD8 30 03 FF FF */ addic r0, r3, -1
/* 80071C9C 0006EBDC 7C 60 19 10 */ subfe r3, r0, r3
lbl_80071CA0:
/* 80071CA0 0006EBE0 E3 E1 00 68 */ psq_l f31, 104(r1), 0, 0
/* 80071CA4 0006EBE4 CB E1 00 60 */ lfd f31, 0x60(r1)
/* 80071CA8 0006EBE8 39 61 00 60 */ addi r11, r1, 0x60
/* 80071CAC 0006EBEC 48 2F 05 79 */ bl _restgpr_28
/* 80071CB0 0006EBF0 80 01 00 74 */ lwz r0, 0x74(r1)
/* 80071CB4 0006EBF4 7C 08 03 A6 */ mtlr r0
/* 80071CB8 0006EBF8 38 21 00 70 */ addi r1, r1, 0x70
/* 80071CBC 0006EBFC 4E 80 00 20 */ blr