Merge pull request #281 from Pheenoh/d_a_tag_assistance

d_a_tag_assistance OK
This commit is contained in:
TakaRikka 2023-02-14 17:17:45 -08:00 committed by GitHub
commit adac3b9764
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 71 additions and 137 deletions

View File

@ -21,8 +21,8 @@ Total | 32.316787% | 1299352 | 4020672
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 32.316787% | 1299352 | 4020672
RELs | 33.188039% | 3816732 | 11500324
Total | 32.962343% | 5116084 | 15520996
RELs | 33.189708% | 3816924 | 11500324
Total | 32.963580% | 5116276 | 15520996
## RELs
@ -710,7 +710,7 @@ d_a_tag_TWgate | 53.384834% | 10504 | 19676
d_a_tag_ajnot | 100.000000% | 1232 | 1232
d_a_tag_allmato | 30.234070% | 3720 | 12304
d_a_tag_arena | 82.022472% | 584 | 712
d_a_tag_assistance | 76.699029% | 632 | 824
d_a_tag_assistance | 100.000000% | 824 | 824
d_a_tag_attack_item | 43.212237% | 1808 | 4184
d_a_tag_attention | 50.000000% | 1012 | 2024
d_a_tag_bottle_item | 38.554217% | 1024 | 2656
@ -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.188039% | 3816732 | 11500324
Total | 33.189708% | 3816924 | 11500324

View File

@ -1,27 +0,0 @@
lbl_80D55E38:
/* 80D55E38 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D55E3C 7C 08 02 A6 */ mflr r0
/* 80D55E40 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D55E44 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D55E48 7C 7F 1B 78 */ mr r31, r3
/* 80D55E4C 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 80D55E50 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80D55E54 40 82 00 1C */ bne lbl_80D55E70
/* 80D55E58 28 1F 00 00 */ cmplwi r31, 0
/* 80D55E5C 41 82 00 08 */ beq lbl_80D55E64
/* 80D55E60 4B 2C 2D 05 */ bl __ct__10fopAc_ac_cFv
lbl_80D55E64:
/* 80D55E64 80 1F 04 A0 */ lwz r0, 0x4a0(r31)
/* 80D55E68 60 00 00 08 */ ori r0, r0, 8
/* 80D55E6C 90 1F 04 A0 */ stw r0, 0x4a0(r31)
lbl_80D55E70:
/* 80D55E70 38 00 00 00 */ li r0, 0
/* 80D55E74 90 1F 05 5C */ stw r0, 0x55c(r31)
/* 80D55E78 38 00 FF FF */ li r0, -1
/* 80D55E7C B0 1F 05 70 */ sth r0, 0x570(r31)
/* 80D55E80 38 60 00 04 */ li r3, 4
/* 80D55E84 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D55E88 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D55E8C 7C 08 03 A6 */ mtlr r0
/* 80D55E90 38 21 00 10 */ addi r1, r1, 0x10
/* 80D55E94 4E 80 00 20 */ blr

View File

@ -1,14 +0,0 @@
lbl_80D55ED0:
/* 80D55ED0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D55ED4 7C 08 02 A6 */ mflr r0
/* 80D55ED8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D55EDC 28 03 00 00 */ cmplwi r3, 0
/* 80D55EE0 41 82 00 0C */ beq lbl_80D55EEC
/* 80D55EE4 38 80 00 00 */ li r4, 0
/* 80D55EE8 4B 2C 2D A5 */ bl __dt__10fopAc_ac_cFv
lbl_80D55EEC:
/* 80D55EEC 38 60 00 01 */ li r3, 1
/* 80D55EF0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D55EF4 7C 08 03 A6 */ mtlr r0
/* 80D55EF8 38 21 00 10 */ addi r1, r1, 0x10
/* 80D55EFC 4E 80 00 20 */ blr

View File

@ -1,13 +0,0 @@
lbl_80D55E98:
/* 80D55E98 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D55E9C 7C 08 02 A6 */ mflr r0
/* 80D55EA0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D55EA4 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D55EA8 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D55EAC 80 84 5D AC */ lwz r4, 0x5dac(r4)
/* 80D55EB0 4B 2C 4A B5 */ bl fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c
/* 80D55EB4 38 60 00 01 */ li r3, 1
/* 80D55EB8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D55EBC 7C 08 03 A6 */ mtlr r0
/* 80D55EC0 38 21 00 10 */ addi r1, r1, 0x10
/* 80D55EC4 4E 80 00 20 */ blr

View File

@ -2,5 +2,32 @@
#define D_A_TAG_ASSISTANCE_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
#include "d/com/d_com_inf_game.h"
class daTagAssist_c : public fopAc_ac_c {
public:
void create_init() {
mAttentionInfo.mFlags = 0;
field_0x570 = -1;
}
int create() {
if (!fopAcM_CheckCondition(this, 8)) {
new (this) daTagAssist_c();
fopAcM_OnCondition(this, 8);
}
create_init();
return cPhs_COMPLEATE_e;
}
int execute() {
fopAcM_searchPlayerDistanceXZ(this);
return 1;
}
u8 field_0x568[8];
s16 field_0x570;
};
#endif /* D_A_TAG_ASSISTANCE_H */

View File

@ -1,103 +1,64 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_tag_assistance
//
/**
* d_a_tag_assistance.cpp
*
*/
#include "rel/d/a/tag/d_a_tag_assistance/d_a_tag_assistance.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
/* 80018C8C */ ~fopAc_ac_c();
};
struct daTagAssist_c {};
//
// Forward References:
//
extern "C" static void daTagAssist_Create__FP10fopAc_ac_c();
extern "C" static void daTagAssist_Execute__FP13daTagAssist_c();
extern "C" static bool daTagAssist_IsDelete__FP13daTagAssist_c();
extern "C" static void daTagAssist_Delete__FP13daTagAssist_c();
extern "C" extern void* g_profile_Tag_Assist[12];
//
// External References:
//
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void __dt__10fopAc_ac_cFv();
extern "C" void fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
//
// Declarations:
//
#include "d/d_procname.h"
/* 80D55E38-80D55E98 000078 0060+00 1/0 0/0 0/0 .text daTagAssist_Create__FP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTagAssist_Create(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_assistance/d_a_tag_assistance/daTagAssist_Create__FP10fopAc_ac_c.s"
static int daTagAssist_Create(fopAc_ac_c* i_this) {
daTagAssist_c* tag_assist = (daTagAssist_c*)i_this;
return tag_assist->create();
}
#pragma pop
/* 80D55E98-80D55EC8 0000D8 0030+00 1/0 0/0 0/0 .text daTagAssist_Execute__FP13daTagAssist_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTagAssist_Execute(daTagAssist_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_assistance/d_a_tag_assistance/daTagAssist_Execute__FP13daTagAssist_c.s"
static int daTagAssist_Execute(daTagAssist_c* i_this) {
return i_this->execute();
}
#pragma pop
/* 80D55EC8-80D55ED0 000108 0008+00 1/0 0/0 0/0 .text daTagAssist_IsDelete__FP13daTagAssist_c */
static bool daTagAssist_IsDelete(daTagAssist_c* param_0) {
return true;
static int daTagAssist_IsDelete(daTagAssist_c* i_this) {
return 1;
}
/* 80D55ED0-80D55F00 000110 0030+00 1/0 0/0 0/0 .text daTagAssist_Delete__FP13daTagAssist_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTagAssist_Delete(daTagAssist_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_assistance/d_a_tag_assistance/daTagAssist_Delete__FP13daTagAssist_c.s"
static int daTagAssist_Delete(daTagAssist_c* i_this) {
i_this->~daTagAssist_c();
return 1;
}
#pragma pop
/* ############################################################################################## */
/* 80D55F08-80D55F28 -00001 0020+00 1/0 0/0 0/0 .data l_daTagAssist_Method */
SECTION_DATA static void* l_daTagAssist_Method[8] = {
(void*)daTagAssist_Create__FP10fopAc_ac_c,
(void*)daTagAssist_Delete__FP13daTagAssist_c,
(void*)daTagAssist_Execute__FP13daTagAssist_c,
(void*)daTagAssist_IsDelete__FP13daTagAssist_c,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)NULL,
static actor_method_class l_daTagAssist_Method = {
(process_method_func)daTagAssist_Create,
(process_method_func)daTagAssist_Delete,
(process_method_func)daTagAssist_Execute,
(process_method_func)daTagAssist_IsDelete
};
/* 80D55F28-80D55F58 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Assist */
SECTION_DATA extern void* g_profile_Tag_Assist[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x02CD0000, (void*)&g_fpcLf_Method,
(void*)0x00000574, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x010A0000, (void*)&l_daTagAssist_Method,
(void*)0x00040000, (void*)0x000E0000,
extern actor_process_profile_definition g_profile_Tag_Assist = {
-3, // mLayerID
7, // mListID
-3, // mListPrio
PROC_Tag_Assist, // mProcName
0, // padding
&g_fpcLf_Method.mBase, // mSubMtd
sizeof(daTagAssist_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // mSubMtd
0x010A, // mPriority
0, // padding
0, // padding
&l_daTagAssist_Method, // mSubMtd
0x00040000, // mStatus
0x00, // mActorType
0x0E, // mCullType
0, // padding
0, // padding
};