mirror of https://github.com/PrimeDecomp/prime.git
116 lines
4.0 KiB
ArmAsm
116 lines
4.0 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .ctors, "wa"
|
|
lbl_ctor:
|
|
.4byte __sinit_IWeaponRenderer_cpp
|
|
|
|
.section .data
|
|
.balign 8
|
|
|
|
.global lbl_803EC528
|
|
lbl_803EC528:
|
|
# ROM: 0x3E9528
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte __dt__22CDefaultWeaponRendererFv
|
|
.4byte AddParticleGen__22CDefaultWeaponRendererFRC12CParticleGen
|
|
|
|
.global __vt__15IWeaponRenderer
|
|
__vt__15IWeaponRenderer:
|
|
# ROM: 0x3E9538
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
.4byte 0
|
|
|
|
|
|
.section .sdata
|
|
.balign 8
|
|
|
|
.global sWeaponRenderer__15IWeaponRenderer
|
|
sWeaponRenderer__15IWeaponRenderer:
|
|
# ROM: 0x3F5FF0
|
|
.4byte sDefaultRenderer
|
|
.4byte 0
|
|
|
|
.section .bss
|
|
.balign 8
|
|
|
|
.global lbl_8046E1F0
|
|
lbl_8046E1F0:
|
|
.skip 0x10
|
|
|
|
.section .sbss, "wa"
|
|
.balign 8
|
|
|
|
.global sDefaultRenderer
|
|
sDefaultRenderer:
|
|
.skip 0x8
|
|
|
|
.section .text, "ax"
|
|
|
|
.global __sinit_IWeaponRenderer_cpp
|
|
__sinit_IWeaponRenderer_cpp:
|
|
/* 802B36A8 002B0608 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 802B36AC 002B060C 7C 08 02 A6 */ mflr r0
|
|
/* 802B36B0 002B0610 3C 80 80 3F */ lis r4, __vt__15IWeaponRenderer@ha
|
|
/* 802B36B4 002B0614 3C 60 80 3F */ lis r3, lbl_803EC528@ha
|
|
/* 802B36B8 002B0618 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 802B36BC 002B061C 38 04 C5 38 */ addi r0, r4, __vt__15IWeaponRenderer@l
|
|
/* 802B36C0 002B0620 3C 80 80 2B */ lis r4, __dt__22CDefaultWeaponRendererFv@ha
|
|
/* 802B36C4 002B0624 90 0D A5 E0 */ stw r0, sDefaultRenderer@sda21(r13)
|
|
/* 802B36C8 002B0628 38 03 C5 28 */ addi r0, r3, lbl_803EC528@l
|
|
/* 802B36CC 002B062C 3C 60 80 47 */ lis r3, lbl_8046E1F0@ha
|
|
/* 802B36D0 002B0630 38 84 37 24 */ addi r4, r4, __dt__22CDefaultWeaponRendererFv@l
|
|
/* 802B36D4 002B0634 90 0D A5 E0 */ stw r0, sDefaultRenderer@sda21(r13)
|
|
/* 802B36D8 002B0638 38 A3 E1 F0 */ addi r5, r3, lbl_8046E1F0@l
|
|
/* 802B36DC 002B063C 38 6D A5 E0 */ addi r3, r13, sDefaultRenderer@sda21
|
|
/* 802B36E0 002B0640 48 0D 5F AD */ bl __register_global_object
|
|
/* 802B36E4 002B0644 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 802B36E8 002B0648 7C 08 03 A6 */ mtlr r0
|
|
/* 802B36EC 002B064C 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 802B36F0 002B0650 4E 80 00 20 */ blr
|
|
|
|
.global AddParticleGen__22CDefaultWeaponRendererFRC12CParticleGen
|
|
AddParticleGen__22CDefaultWeaponRendererFRC12CParticleGen:
|
|
/* 802B36F4 002B0654 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 802B36F8 002B0658 7C 08 02 A6 */ mflr r0
|
|
/* 802B36FC 002B065C 7C 83 23 78 */ mr r3, r4
|
|
/* 802B3700 002B0660 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 802B3704 002B0664 81 84 00 00 */ lwz r12, 0(r4)
|
|
/* 802B3708 002B0668 81 8C 00 10 */ lwz r12, 0x10(r12)
|
|
/* 802B370C 002B066C 7D 89 03 A6 */ mtctr r12
|
|
/* 802B3710 002B0670 4E 80 04 21 */ bctrl
|
|
/* 802B3714 002B0674 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 802B3718 002B0678 7C 08 03 A6 */ mtlr r0
|
|
/* 802B371C 002B067C 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 802B3720 002B0680 4E 80 00 20 */ blr
|
|
|
|
.global __dt__22CDefaultWeaponRendererFv
|
|
__dt__22CDefaultWeaponRendererFv:
|
|
/* 802B3724 002B0684 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 802B3728 002B0688 7C 08 02 A6 */ mflr r0
|
|
/* 802B372C 002B068C 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 802B3730 002B0690 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
/* 802B3734 002B0694 7C 7F 1B 79 */ or. r31, r3, r3
|
|
/* 802B3738 002B0698 41 82 00 30 */ beq lbl_802B3768
|
|
/* 802B373C 002B069C 3C 60 80 3F */ lis r3, lbl_803EC528@ha
|
|
/* 802B3740 002B06A0 38 03 C5 28 */ addi r0, r3, lbl_803EC528@l
|
|
/* 802B3744 002B06A4 90 1F 00 00 */ stw r0, 0(r31)
|
|
/* 802B3748 002B06A8 41 82 00 10 */ beq lbl_802B3758
|
|
/* 802B374C 002B06AC 3C 60 80 3F */ lis r3, __vt__15IWeaponRenderer@ha
|
|
/* 802B3750 002B06B0 38 03 C5 38 */ addi r0, r3, __vt__15IWeaponRenderer@l
|
|
/* 802B3754 002B06B4 90 1F 00 00 */ stw r0, 0(r31)
|
|
lbl_802B3758:
|
|
/* 802B3758 002B06B8 7C 80 07 35 */ extsh. r0, r4
|
|
/* 802B375C 002B06BC 40 81 00 0C */ ble lbl_802B3768
|
|
/* 802B3760 002B06C0 7F E3 FB 78 */ mr r3, r31
|
|
/* 802B3764 002B06C4 48 06 21 CD */ bl Free__7CMemoryFPCv
|
|
lbl_802B3768:
|
|
/* 802B3768 002B06C8 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 802B376C 002B06CC 7F E3 FB 78 */ mr r3, r31
|
|
/* 802B3770 002B06D0 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
/* 802B3774 002B06D4 7C 08 03 A6 */ mtlr r0
|
|
/* 802B3778 002B06D8 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 802B377C 002B06DC 4E 80 00 20 */ blr
|