most of d_a_tag_spinner decompiled (#275)

* most of d_a_tag_spinner decompiled

* most of d_a_tag_spinner decompiled!

* most of daTagSpinner decompiled
This commit is contained in:
Trueffel 2023-02-09 22:42:51 +01:00 committed by GitHub
parent d449897b87
commit 6db9462224
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 84 additions and 398 deletions

View File

@ -21,8 +21,8 @@ Total | 32.271322% | 1297524 | 4020672
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 32.271322% | 1297524 | 4020672
RELs | 33.163587% | 3813920 | 11500324
Total | 32.932448% | 5111444 | 15520996
RELs | 33.171100% | 3814784 | 11500324
Total | 32.938015% | 5112308 | 15520996
## RELs
@ -762,7 +762,7 @@ d_a_tag_setrestart | 100.000000% | 1840 | 1840
d_a_tag_shop_camera | 62.541806% | 748 | 1196
d_a_tag_shop_item | 41.944848% | 1156 | 2756
d_a_tag_smk_emt | 50.127226% | 788 | 1572
d_a_tag_spinner | 45.850622% | 884 | 1928
d_a_tag_spinner | 90.663900% | 1748 | 1928
d_a_tag_sppath | 33.333333% | 2040 | 6120
d_a_tag_spring | 45.780591% | 868 | 1896
d_a_tag_ss_drink | 36.483740% | 1436 | 3936
@ -785,4 +785,4 @@ d_a_vrbox2 | 34.977578% | 2184 | 6244
d_a_warp_bug | 54.940711% | 1112 | 2024
d_a_ykgr | 44.400631% | 2252 | 5072
f_pc_profile_lst | 100.000000% | 28156 | 28156
Total | 33.163587% | 3813920 | 11500324
Total | 33.171100% | 3814784 | 11500324

View File

@ -1,9 +0,0 @@
lbl_80D616F8:
/* 80D616F8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D616FC 7C 08 02 A6 */ mflr r0
/* 80D61700 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D61704 48 00 02 69 */ bl CreateHeap__14daTagSpinner_cFv
/* 80D61708 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D6170C 7C 08 03 A6 */ mtlr r0
/* 80D61710 38 21 00 10 */ addi r1, r1, 0x10
/* 80D61714 4E 80 00 20 */ blr

View File

@ -1,21 +0,0 @@
lbl_80D6191C:
/* 80D6191C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D61920 7C 08 02 A6 */ mflr r0
/* 80D61924 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D61928 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D6192C 7C 7F 1B 78 */ mr r31, r3
/* 80D61930 4B FF FF 75 */ bl initBaseMtx__14daTagSpinner_cFv
/* 80D61934 3C 60 80 D6 */ lis r3, lit_3715@ha /* 0x80D61B44@ha */
/* 80D61938 C0 23 1B 44 */ lfs f1, lit_3715@l(r3) /* 0x80D61B44@l */
/* 80D6193C C0 1F 04 EC */ lfs f0, 0x4ec(r31)
/* 80D61940 EC 01 00 32 */ fmuls f0, f1, f0
/* 80D61944 D0 1F 05 68 */ stfs f0, 0x568(r31)
/* 80D61948 C0 1F 04 F0 */ lfs f0, 0x4f0(r31)
/* 80D6194C EC 01 00 32 */ fmuls f0, f1, f0
/* 80D61950 D0 1F 05 6C */ stfs f0, 0x56c(r31)
/* 80D61954 38 60 00 01 */ li r3, 1
/* 80D61958 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D6195C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D61960 7C 08 03 A6 */ mtlr r0
/* 80D61964 38 21 00 10 */ addi r1, r1, 0x10
/* 80D61968 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80D61AFC:
/* 80D61AFC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D61B00 7C 08 02 A6 */ mflr r0
/* 80D61B04 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D61B08 4B FF FE 6D */ bl create__14daTagSpinner_cFv
/* 80D61B0C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D61B10 7C 08 03 A6 */ mtlr r0
/* 80D61B14 38 21 00 10 */ addi r1, r1, 0x10
/* 80D61B18 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80D61ADC:
/* 80D61ADC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D61AE0 7C 08 02 A6 */ mflr r0
/* 80D61AE4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D61AE8 4B FF FF CD */ bl _delete__14daTagSpinner_cFv
/* 80D61AEC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D61AF0 7C 08 03 A6 */ mtlr r0
/* 80D61AF4 38 21 00 10 */ addi r1, r1, 0x10
/* 80D61AF8 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80D61ABC:
/* 80D61ABC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D61AC0 7C 08 02 A6 */ mflr r0
/* 80D61AC4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D61AC8 4B FF FF 39 */ bl execute__14daTagSpinner_cFv
/* 80D61ACC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D61AD0 7C 08 03 A6 */ mtlr r0
/* 80D61AD4 38 21 00 10 */ addi r1, r1, 0x10
/* 80D61AD8 4E 80 00 20 */ blr

View File

@ -1,41 +0,0 @@
lbl_80D61974:
/* 80D61974 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D61978 7C 08 02 A6 */ mflr r0
/* 80D6197C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D61980 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D61984 7C 7F 1B 78 */ mr r31, r3
/* 80D61988 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 80D6198C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80D61990 40 82 00 1C */ bne lbl_80D619AC
/* 80D61994 28 1F 00 00 */ cmplwi r31, 0
/* 80D61998 41 82 00 08 */ beq lbl_80D619A0
/* 80D6199C 4B 2B 71 C9 */ bl __ct__10fopAc_ac_cFv
lbl_80D619A0:
/* 80D619A0 80 1F 04 A0 */ lwz r0, 0x4a0(r31)
/* 80D619A4 60 00 00 08 */ ori r0, r0, 8
/* 80D619A8 90 1F 04 A0 */ stw r0, 0x4a0(r31)
lbl_80D619AC:
/* 80D619AC 7F E3 FB 78 */ mr r3, r31
/* 80D619B0 3C 80 80 D6 */ lis r4, CheckCreateHeap__FP10fopAc_ac_c@ha /* 0x80D616F8@ha */
/* 80D619B4 38 84 16 F8 */ addi r4, r4, CheckCreateHeap__FP10fopAc_ac_c@l /* 0x80D616F8@l */
/* 80D619B8 38 A0 00 00 */ li r5, 0
/* 80D619BC 4B 2B 8A F5 */ bl fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl
/* 80D619C0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80D619C4 40 82 00 0C */ bne lbl_80D619D0
/* 80D619C8 38 60 00 05 */ li r3, 5
/* 80D619CC 48 00 00 20 */ b lbl_80D619EC
lbl_80D619D0:
/* 80D619D0 7F E3 FB 78 */ mr r3, r31
/* 80D619D4 4B FF FF 49 */ bl Create__14daTagSpinner_cFv
/* 80D619D8 2C 03 00 00 */ cmpwi r3, 0
/* 80D619DC 40 82 00 0C */ bne lbl_80D619E8
/* 80D619E0 38 60 00 05 */ li r3, 5
/* 80D619E4 48 00 00 08 */ b lbl_80D619EC
lbl_80D619E8:
/* 80D619E8 38 60 00 04 */ li r3, 4
lbl_80D619EC:
/* 80D619EC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D619F0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D619F4 7C 08 03 A6 */ mtlr r0
/* 80D619F8 38 21 00 10 */ addi r1, r1, 0x10
/* 80D619FC 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80D618A4:
/* 80D618A4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D618A8 7C 08 02 A6 */ mflr r0
/* 80D618AC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D618B0 48 00 00 15 */ bl setBaseMtx__14daTagSpinner_cFv
/* 80D618B4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D618B8 7C 08 03 A6 */ mtlr r0
/* 80D618BC 38 21 00 10 */ addi r1, r1, 0x10
/* 80D618C0 4E 80 00 20 */ blr

View File

@ -1,111 +0,0 @@
lbl_80D61718:
/* 80D61718 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80D6171C 7C 08 02 A6 */ mflr r0
/* 80D61720 90 01 00 44 */ stw r0, 0x44(r1)
/* 80D61724 39 61 00 40 */ addi r11, r1, 0x40
/* 80D61728 4B 60 0A B5 */ bl _savegpr_29
/* 80D6172C 7C 9D 23 78 */ mr r29, r4
/* 80D61730 3C 80 80 D6 */ lis r4, lit_3689@ha /* 0x80D61B24@ha */
/* 80D61734 3B E4 1B 24 */ addi r31, r4, lit_3689@l /* 0x80D61B24@l */
/* 80D61738 7C 7E 1B 79 */ or. r30, r3, r3
/* 80D6173C 41 82 01 4C */ beq lbl_80D61888
/* 80D61740 4B 2B 75 A1 */ bl fopAc_IsActor__FPv
/* 80D61744 2C 03 00 00 */ cmpwi r3, 0
/* 80D61748 41 82 01 40 */ beq lbl_80D61888
/* 80D6174C A8 1E 00 0E */ lha r0, 0xe(r30)
/* 80D61750 2C 00 00 F2 */ cmpwi r0, 0xf2
/* 80D61754 40 82 01 34 */ bne lbl_80D61888
/* 80D61758 C0 5E 04 D8 */ lfs f2, 0x4d8(r30)
/* 80D6175C C0 1E 04 D0 */ lfs f0, 0x4d0(r30)
/* 80D61760 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 80D61764 C0 3F 00 00 */ lfs f1, 0(r31)
/* 80D61768 D0 21 00 10 */ stfs f1, 0x10(r1)
/* 80D6176C D0 41 00 14 */ stfs f2, 0x14(r1)
/* 80D61770 C0 5D 04 D8 */ lfs f2, 0x4d8(r29)
/* 80D61774 C0 1D 04 D0 */ lfs f0, 0x4d0(r29)
/* 80D61778 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 80D6177C D0 21 00 1C */ stfs f1, 0x1c(r1)
/* 80D61780 D0 41 00 20 */ stfs f2, 0x20(r1)
/* 80D61784 38 61 00 0C */ addi r3, r1, 0xc
/* 80D61788 38 81 00 18 */ addi r4, r1, 0x18
/* 80D6178C 4B 5E 5C 11 */ bl PSVECSquareDistance
/* 80D61790 C0 1F 00 00 */ lfs f0, 0(r31)
/* 80D61794 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80D61798 40 81 00 58 */ ble lbl_80D617F0
/* 80D6179C FC 00 08 34 */ frsqrte f0, f1
/* 80D617A0 C8 9F 00 08 */ lfd f4, 8(r31)
/* 80D617A4 FC 44 00 32 */ fmul f2, f4, f0
/* 80D617A8 C8 7F 00 10 */ lfd f3, 0x10(r31)
/* 80D617AC FC 00 00 32 */ fmul f0, f0, f0
/* 80D617B0 FC 01 00 32 */ fmul f0, f1, f0
/* 80D617B4 FC 03 00 28 */ fsub f0, f3, f0
/* 80D617B8 FC 02 00 32 */ fmul f0, f2, f0
/* 80D617BC FC 44 00 32 */ fmul f2, f4, f0
/* 80D617C0 FC 00 00 32 */ fmul f0, f0, f0
/* 80D617C4 FC 01 00 32 */ fmul f0, f1, f0
/* 80D617C8 FC 03 00 28 */ fsub f0, f3, f0
/* 80D617CC FC 02 00 32 */ fmul f0, f2, f0
/* 80D617D0 FC 44 00 32 */ fmul f2, f4, f0
/* 80D617D4 FC 00 00 32 */ fmul f0, f0, f0
/* 80D617D8 FC 01 00 32 */ fmul f0, f1, f0
/* 80D617DC FC 03 00 28 */ fsub f0, f3, f0
/* 80D617E0 FC 02 00 32 */ fmul f0, f2, f0
/* 80D617E4 FC 21 00 32 */ fmul f1, f1, f0
/* 80D617E8 FC 20 08 18 */ frsp f1, f1
/* 80D617EC 48 00 00 88 */ b lbl_80D61874
lbl_80D617F0:
/* 80D617F0 C8 1F 00 18 */ lfd f0, 0x18(r31)
/* 80D617F4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80D617F8 40 80 00 10 */ bge lbl_80D61808
/* 80D617FC 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 80D61800 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
/* 80D61804 48 00 00 70 */ b lbl_80D61874
lbl_80D61808:
/* 80D61808 D0 21 00 08 */ stfs f1, 8(r1)
/* 80D6180C 80 81 00 08 */ lwz r4, 8(r1)
/* 80D61810 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 80D61814 3C 00 7F 80 */ lis r0, 0x7f80
/* 80D61818 7C 03 00 00 */ cmpw r3, r0
/* 80D6181C 41 82 00 14 */ beq lbl_80D61830
/* 80D61820 40 80 00 40 */ bge lbl_80D61860
/* 80D61824 2C 03 00 00 */ cmpwi r3, 0
/* 80D61828 41 82 00 20 */ beq lbl_80D61848
/* 80D6182C 48 00 00 34 */ b lbl_80D61860
lbl_80D61830:
/* 80D61830 54 80 02 7F */ clrlwi. r0, r4, 9
/* 80D61834 41 82 00 0C */ beq lbl_80D61840
/* 80D61838 38 00 00 01 */ li r0, 1
/* 80D6183C 48 00 00 28 */ b lbl_80D61864
lbl_80D61840:
/* 80D61840 38 00 00 02 */ li r0, 2
/* 80D61844 48 00 00 20 */ b lbl_80D61864
lbl_80D61848:
/* 80D61848 54 80 02 7F */ clrlwi. r0, r4, 9
/* 80D6184C 41 82 00 0C */ beq lbl_80D61858
/* 80D61850 38 00 00 05 */ li r0, 5
/* 80D61854 48 00 00 10 */ b lbl_80D61864
lbl_80D61858:
/* 80D61858 38 00 00 03 */ li r0, 3
/* 80D6185C 48 00 00 08 */ b lbl_80D61864
lbl_80D61860:
/* 80D61860 38 00 00 04 */ li r0, 4
lbl_80D61864:
/* 80D61864 2C 00 00 01 */ cmpwi r0, 1
/* 80D61868 40 82 00 0C */ bne lbl_80D61874
/* 80D6186C 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 80D61870 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
lbl_80D61874:
/* 80D61874 C0 1D 05 68 */ lfs f0, 0x568(r29)
/* 80D61878 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80D6187C 40 80 00 0C */ bge lbl_80D61888
/* 80D61880 7F C3 F3 78 */ mr r3, r30
/* 80D61884 48 00 00 08 */ b lbl_80D6188C
lbl_80D61888:
/* 80D61888 38 60 00 00 */ li r3, 0
lbl_80D6188C:
/* 80D6188C 39 61 00 40 */ addi r11, r1, 0x40
/* 80D61890 4B 60 09 99 */ bl _restgpr_29
/* 80D61894 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80D61898 7C 08 03 A6 */ mtlr r0
/* 80D6189C 38 21 00 40 */ addi r1, r1, 0x40
/* 80D618A0 4E 80 00 20 */ blr

View File

@ -1,23 +0,0 @@
lbl_80D618C4:
/* 80D618C4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D618C8 7C 08 02 A6 */ mflr r0
/* 80D618CC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D618D0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D618D4 7C 7F 1B 78 */ mr r31, r3
/* 80D618D8 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80D618DC 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80D618E0 C0 3F 04 D0 */ lfs f1, 0x4d0(r31)
/* 80D618E4 C0 5F 04 D4 */ lfs f2, 0x4d4(r31)
/* 80D618E8 C0 7F 04 D8 */ lfs f3, 0x4d8(r31)
/* 80D618EC 4B 5E 4F FD */ bl PSMTXTrans
/* 80D618F0 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80D618F4 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80D618F8 A8 9F 04 E4 */ lha r4, 0x4e4(r31)
/* 80D618FC A8 BF 04 E6 */ lha r5, 0x4e6(r31)
/* 80D61900 A8 DF 04 E8 */ lha r6, 0x4e8(r31)
/* 80D61904 4B 2A A9 9D */ bl mDoMtx_ZXYrotM__FPA4_fsss
/* 80D61908 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D6190C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D61910 7C 08 03 A6 */ mtlr r0
/* 80D61914 38 21 00 10 */ addi r1, r1, 0x10
/* 80D61918 4E 80 00 20 */ blr

View File

@ -1,6 +1,29 @@
#ifndef D_A_TAG_SPINNER_H
#define D_A_TAG_SPINNER_H
#include "dolphin/types.h"
#include "dol2asm.h"
#include "f_op/f_op_actor_mng.h"
#include "rel/d/a/d_a_spinner/d_a_spinner.h"
#endif /* D_A_TAG_SPINNER_H */
class daTagSpinner_c : public fopAc_ac_c {
public:
/* 0x568 */ f32 mRadius;
/* 0x56c */ f32 field_0x56c;
/* 80D618A4 */ void initBaseMtx();
/* 80D618C4 */ void setBaseMtx();
/* 80D6191C */ int Create();
/* 80D6196C */ int CreateHeap();
/* 80D61974 */ int create();
/* 80D61A00 */ int execute();
/* 80D61AB4 */ int _delete();
f32 GetR() { return mRadius; }
};
namespace daTagSpinner_prm {
u32 getSwNo(daTagSpinner_c* pActor) {
return fopAcM_GetParam(pActor);
}
} // namespace daTagSpinner_prm
#endif /* D_A_TAG_SPINNER_H */

View File

@ -4,35 +4,6 @@
//
#include "rel/d/a/tag/d_a_tag_spinner/d_a_tag_spinner.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct mDoMtx_stack_c {
static u8 now[48];
};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
};
struct daTagSpinner_c {
/* 80D618A4 */ void initBaseMtx();
/* 80D618C4 */ void setBaseMtx();
/* 80D6191C */ void Create();
/* 80D6196C */ bool CreateHeap();
/* 80D61974 */ void create();
/* 80D61A00 */ void execute();
/* 80D61AB4 */ bool _delete();
};
struct dSv_info_c {
/* 80035200 */ void onSwitch(int, int);
/* 800352B0 */ void offSwitch(int, int);
};
//
// Forward References:
@ -63,177 +34,110 @@ extern "C" void fopAcIt_Judge__FPFPvPv_PvPv();
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
extern "C" void onSwitch__10dSv_info_cFii();
extern "C" void offSwitch__10dSv_info_cFii();
extern "C" void PSMTXTrans();
extern "C" void PSVECSquareDistance();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u32 __float_nan;
//
// Declarations:
//
/* 80D616F8-80D61718 000078 0020+00 1/1 0/0 0/0 .text CheckCreateHeap__FP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void CheckCreateHeap(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_spinner/d_a_tag_spinner/CheckCreateHeap__FP10fopAc_ac_c.s"
static int CheckCreateHeap(fopAc_ac_c* param_0) {
daTagSpinner_c* tag = (daTagSpinner_c*)param_0;
return tag->CreateHeap();
}
#pragma pop
/* ############################################################################################## */
/* 80D61B24-80D61B2C 000000 0004+04 1/1 0/0 0/0 .rodata @3689 */
SECTION_RODATA static u8 const lit_3689[4 + 4 /* padding */] = {
0x00,
0x00,
0x00,
0x00,
/* padding */
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x80D61B24, &lit_3689);
/* 80D61B2C-80D61B34 000008 0008+00 0/1 0/0 0/0 .rodata @3690 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3690[8] = {
0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80D61B2C, &lit_3690);
#pragma pop
/* 80D61B34-80D61B3C 000010 0008+00 0/1 0/0 0/0 .rodata @3691 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3691[8] = {
0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80D61B34, &lit_3691);
#pragma pop
/* 80D61B3C-80D61B44 000018 0008+00 0/1 0/0 0/0 .rodata @3692 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3692[8] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80D61B3C, &lit_3692);
#pragma pop
/* 80D61718-80D618A4 000098 018C+00 1/1 0/0 0/0 .text search_spinner_sub__FPvPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void search_spinner_sub(void* param_0, void* param_1) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_spinner/d_a_tag_spinner/search_spinner_sub__FPvPv.s"
static void* search_spinner_sub(void* tag_0, void* tag_1) {
fopAc_ac_c* actor = (fopAc_ac_c*)tag_0;
daTagSpinner_c* actor2 = (daTagSpinner_c*)tag_1;
if ((actor != NULL) && (fopAcM_IsActor(actor) != NULL) && (fopAcM_GetProfName(actor) == 0xF2)) {
if ((actor->current.pos.absXZ(actor2->current.pos)) < (actor2->GetR())) {
return actor;
}
}
return 0;
}
#pragma pop
/* 80D618A4-80D618C4 000224 0020+00 1/1 0/0 0/0 .text initBaseMtx__14daTagSpinner_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTagSpinner_c::initBaseMtx() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_spinner/d_a_tag_spinner/initBaseMtx__14daTagSpinner_cFv.s"
void daTagSpinner_c::initBaseMtx() {
setBaseMtx();
}
#pragma pop
/* 80D618C4-80D6191C 000244 0058+00 1/1 0/0 0/0 .text setBaseMtx__14daTagSpinner_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTagSpinner_c::setBaseMtx() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_spinner/d_a_tag_spinner/setBaseMtx__14daTagSpinner_cFv.s"
void daTagSpinner_c::setBaseMtx() {
PSMTXTrans(mDoMtx_stack_c::now, current.pos.x, current.pos.y, current.pos.z);
mDoMtx_ZXYrotM(mDoMtx_stack_c::now, shape_angle.x, shape_angle.y, shape_angle.z);
}
#pragma pop
/* ############################################################################################## */
/* 80D61B44-80D61B48 000020 0004+00 1/1 0/0 0/0 .rodata @3715 */
SECTION_RODATA static f32 const lit_3715 = 100.0f;
COMPILER_STRIP_GATE(0x80D61B44, &lit_3715);
/* 80D6191C-80D6196C 00029C 0050+00 1/1 0/0 0/0 .text Create__14daTagSpinner_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTagSpinner_c::Create() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_spinner/d_a_tag_spinner/Create__14daTagSpinner_cFv.s"
int daTagSpinner_c::Create() {
initBaseMtx();
mRadius = mScale.x * 100.0f;
field_0x56c = mScale.y * 100.0f;
return 1;
}
#pragma pop
/* 80D6196C-80D61974 0002EC 0008+00 1/1 0/0 0/0 .text CreateHeap__14daTagSpinner_cFv */
bool daTagSpinner_c::CreateHeap() {
return true;
int daTagSpinner_c::CreateHeap() {
return 1;
}
/* 80D61974-80D61A00 0002F4 008C+00 1/1 0/0 0/0 .text create__14daTagSpinner_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTagSpinner_c::create() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_spinner/d_a_tag_spinner/func_80D61974.s"
int daTagSpinner_c::create() {
int iVar1;
int iVar2;
if (!fopAcM_CheckCondition(this, 8)) {
new (this) daTagSpinner_c();
fopAcM_OnCondition(this, 8);
}
if (!fopAcM_entrySolidHeap(this, CheckCreateHeap, 0)) {
iVar2 = 5;
} else {
iVar1 = Create();
if (iVar1 == NULL) {
iVar2 = 5;
} else {
iVar2 = 4;
}
}
return iVar2;
}
#pragma pop
/* 80D61A00-80D61AB4 000380 00B4+00 1/1 0/0 0/0 .text execute__14daTagSpinner_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTagSpinner_c::execute() {
asm int daTagSpinner_c::execute() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_spinner/d_a_tag_spinner/execute__14daTagSpinner_cFv.s"
}
#pragma pop
/* 80D61AB4-80D61ABC 000434 0008+00 1/1 0/0 0/0 .text _delete__14daTagSpinner_cFv */
bool daTagSpinner_c::_delete() {
return true;
int daTagSpinner_c::_delete() {
return 1;
}
/* 80D61ABC-80D61ADC 00043C 0020+00 1/0 0/0 0/0 .text daTagSpinner_Execute__FP14daTagSpinner_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTagSpinner_Execute(daTagSpinner_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_spinner/d_a_tag_spinner/daTagSpinner_Execute__FP14daTagSpinner_c.s"
static int daTagSpinner_Execute(daTagSpinner_c* tag) {
return tag->execute();
}
#pragma pop
/* 80D61ADC-80D61AFC 00045C 0020+00 1/0 0/0 0/0 .text daTagSpinner_Delete__FP14daTagSpinner_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTagSpinner_Delete(daTagSpinner_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_spinner/d_a_tag_spinner/daTagSpinner_Delete__FP14daTagSpinner_c.s"
static int daTagSpinner_Delete(daTagSpinner_c* i_this) {
return i_this->_delete();
}
#pragma pop
/* 80D61AFC-80D61B1C 00047C 0020+00 1/0 0/0 0/0 .text daTagSpinner_Create__FP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTagSpinner_Create(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_spinner/d_a_tag_spinner/daTagSpinner_Create__FP10fopAc_ac_c.s"
static int daTagSpinner_Create(fopAc_ac_c* tag) {
return static_cast<daTagSpinner_c*>(tag)->create();
}
#pragma pop
/* ############################################################################################## */
/* 80D61B48-80D61B68 -00001 0020+00 1/0 0/0 0/0 .data l_daTagSpinner_Method */
@ -256,4 +160,4 @@ SECTION_DATA extern void* g_profile_Tag_Spinner[12] = {
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x025D0000, (void*)&l_daTagSpinner_Method,
(void*)0x00040100, (void*)0x000E0000,
};
};