d_a_obj_wsword work (#1911)

This commit is contained in:
Trueffel 2023-09-05 12:27:09 +02:00 committed by GitHub
parent 7f762353ea
commit efa1d31522
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 109 additions and 434 deletions

View File

@ -1,9 +0,0 @@
lbl_80D3B978:
/* 80D3B978 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D3B97C 7C 08 02 A6 */ mflr r0
/* 80D3B980 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D3B984 48 00 01 35 */ bl CreateHeap__13daObjWSword_cFv
/* 80D3B988 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D3B98C 7C 08 03 A6 */ mtlr r0
/* 80D3B990 38 21 00 10 */ addi r1, r1, 0x10
/* 80D3B994 4E 80 00 20 */ blr

View File

@ -1,29 +0,0 @@
lbl_80D3BAB8:
/* 80D3BAB8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D3BABC 7C 08 02 A6 */ mflr r0
/* 80D3BAC0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D3BAC4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D3BAC8 7C 7F 1B 78 */ mr r31, r3
/* 80D3BACC 3C 60 80 D4 */ lis r3, l_arcName@ha /* 0x80D3BF2C@ha */
/* 80D3BAD0 38 63 BF 2C */ addi r3, r3, l_arcName@l /* 0x80D3BF2C@l */
/* 80D3BAD4 80 63 00 00 */ lwz r3, 0(r3)
/* 80D3BAD8 38 80 00 03 */ li r4, 3
/* 80D3BADC 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D3BAE0 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D3BAE4 3C A5 00 02 */ addis r5, r5, 2
/* 80D3BAE8 38 C0 00 80 */ li r6, 0x80
/* 80D3BAEC 38 A5 C2 F8 */ addi r5, r5, -15624
/* 80D3BAF0 4B 30 07 FD */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
/* 80D3BAF4 3C 80 00 08 */ lis r4, 8
/* 80D3BAF8 3C A0 11 00 */ lis r5, 0x1100 /* 0x11000084@ha */
/* 80D3BAFC 38 A5 00 84 */ addi r5, r5, 0x0084 /* 0x11000084@l */
/* 80D3BB00 4B 2D 91 55 */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl
/* 80D3BB04 90 7F 05 70 */ stw r3, 0x570(r31)
/* 80D3BB08 80 7F 05 70 */ lwz r3, 0x570(r31)
/* 80D3BB0C 30 03 FF FF */ addic r0, r3, -1
/* 80D3BB10 7C 60 19 10 */ subfe r3, r0, r3
/* 80D3BB14 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D3BB18 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D3BB1C 7C 08 03 A6 */ mtlr r0
/* 80D3BB20 38 21 00 10 */ addi r1, r1, 0x10
/* 80D3BB24 4E 80 00 20 */ blr

View File

@ -1,31 +0,0 @@
lbl_80D3BA40:
/* 80D3BA40 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D3BA44 7C 08 02 A6 */ mflr r0
/* 80D3BA48 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D3BA4C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D3BA50 7C 7F 1B 78 */ mr r31, r3
/* 80D3BA54 4B FF FF 45 */ bl initBaseMtx__13daObjWSword_cFv
/* 80D3BA58 80 7F 05 70 */ lwz r3, 0x570(r31)
/* 80D3BA5C 38 03 00 24 */ addi r0, r3, 0x24
/* 80D3BA60 90 1F 05 04 */ stw r0, 0x504(r31)
/* 80D3BA64 38 7F 07 8C */ addi r3, r31, 0x78c
/* 80D3BA68 38 80 00 FF */ li r4, 0xff
/* 80D3BA6C 38 A0 00 FF */ li r5, 0xff
/* 80D3BA70 7F E6 FB 78 */ mr r6, r31
/* 80D3BA74 4B 34 7D ED */ bl Init__9dCcD_SttsFiiP10fopAc_ac_c
/* 80D3BA78 38 7F 07 C8 */ addi r3, r31, 0x7c8
/* 80D3BA7C 3C 80 80 D4 */ lis r4, l_cyl_src@ha /* 0x80D3BF30@ha */
/* 80D3BA80 38 84 BF 30 */ addi r4, r4, l_cyl_src@l /* 0x80D3BF30@l */
/* 80D3BA84 4B 34 8E 31 */ bl Set__8dCcD_CylFRC11dCcD_SrcCyl
/* 80D3BA88 38 1F 07 8C */ addi r0, r31, 0x78c
/* 80D3BA8C 90 1F 08 0C */ stw r0, 0x80c(r31)
/* 80D3BA90 80 7F 05 70 */ lwz r3, 0x570(r31)
/* 80D3BA94 80 83 00 04 */ lwz r4, 4(r3)
/* 80D3BA98 7F E3 FB 78 */ mr r3, r31
/* 80D3BA9C 4B 2D EA DD */ bl fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData
/* 80D3BAA0 38 60 00 01 */ li r3, 1
/* 80D3BAA4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D3BAA8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D3BAAC 7C 08 03 A6 */ mtlr r0
/* 80D3BAB0 38 21 00 10 */ addi r1, r1, 0x10
/* 80D3BAB4 4E 80 00 20 */ blr

View File

@ -1,14 +0,0 @@
lbl_80D3BE54:
/* 80D3BE54 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D3BE58 7C 08 02 A6 */ mflr r0
/* 80D3BE5C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D3BE60 3C 80 80 D4 */ lis r4, l_arcName@ha /* 0x80D3BF2C@ha */
/* 80D3BE64 38 84 BF 2C */ addi r4, r4, l_arcName@l /* 0x80D3BF2C@l */
/* 80D3BE68 80 84 00 00 */ lwz r4, 0(r4)
/* 80D3BE6C 38 63 05 68 */ addi r3, r3, 0x568
/* 80D3BE70 4B 2F 11 99 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc
/* 80D3BE74 38 60 00 01 */ li r3, 1
/* 80D3BE78 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D3BE7C 7C 08 03 A6 */ mtlr r0
/* 80D3BE80 38 21 00 10 */ addi r1, r1, 0x10
/* 80D3BE84 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80D3BEE8:
/* 80D3BEE8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D3BEEC 7C 08 02 A6 */ mflr r0
/* 80D3BEF0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D3BEF4 4B FF FC 35 */ bl create__13daObjWSword_cFv
/* 80D3BEF8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D3BEFC 7C 08 03 A6 */ mtlr r0
/* 80D3BF00 38 21 00 10 */ addi r1, r1, 0x10
/* 80D3BF04 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80D3BEC8:
/* 80D3BEC8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D3BECC 7C 08 02 A6 */ mflr r0
/* 80D3BED0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D3BED4 4B FF FF 81 */ bl _delete__13daObjWSword_cFv
/* 80D3BED8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D3BEDC 7C 08 03 A6 */ mtlr r0
/* 80D3BEE0 38 21 00 10 */ addi r1, r1, 0x10
/* 80D3BEE4 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80D3BE88:
/* 80D3BE88 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D3BE8C 7C 08 02 A6 */ mflr r0
/* 80D3BE90 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D3BE94 4B FF FF 5D */ bl draw__13daObjWSword_cFv
/* 80D3BE98 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D3BE9C 7C 08 03 A6 */ mtlr r0
/* 80D3BEA0 38 21 00 10 */ addi r1, r1, 0x10
/* 80D3BEA4 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80D3BEA8:
/* 80D3BEA8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D3BEAC 7C 08 02 A6 */ mflr r0
/* 80D3BEB0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D3BEB4 4B FF FE ED */ bl execute__13daObjWSword_cFv
/* 80D3BEB8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D3BEBC 7C 08 03 A6 */ mtlr r0
/* 80D3BEC0 38 21 00 10 */ addi r1, r1, 0x10
/* 80D3BEC4 4E 80 00 20 */ blr

View File

@ -1,26 +0,0 @@
lbl_80D3BDF0:
/* 80D3BDF0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D3BDF4 7C 08 02 A6 */ mflr r0
/* 80D3BDF8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D3BDFC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D3BE00 7C 7F 1B 78 */ mr r31, r3
/* 80D3BE04 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80D3BE08 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80D3BE0C 38 80 00 00 */ li r4, 0
/* 80D3BE10 38 BF 04 D0 */ addi r5, r31, 0x4d0
/* 80D3BE14 38 DF 01 0C */ addi r6, r31, 0x10c
/* 80D3BE18 4B 46 79 AD */ bl settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c
/* 80D3BE1C 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80D3BE20 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80D3BE24 80 9F 05 70 */ lwz r4, 0x570(r31)
/* 80D3BE28 80 84 00 04 */ lwz r4, 4(r4)
/* 80D3BE2C 38 BF 01 0C */ addi r5, r31, 0x10c
/* 80D3BE30 4B 46 8F 71 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c
/* 80D3BE34 80 7F 05 70 */ lwz r3, 0x570(r31)
/* 80D3BE38 4B 2D 1E 8D */ bl mDoExt_modelUpdateDL__FP8J3DModel
/* 80D3BE3C 38 60 00 01 */ li r3, 1
/* 80D3BE40 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D3BE44 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D3BE48 7C 08 03 A6 */ mtlr r0
/* 80D3BE4C 38 21 00 10 */ addi r1, r1, 0x10
/* 80D3BE50 4E 80 00 20 */ blr

View File

@ -1,21 +0,0 @@
lbl_80D3BDA0:
/* 80D3BDA0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D3BDA4 7C 08 02 A6 */ mflr r0
/* 80D3BDA8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D3BDAC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D3BDB0 7C 7F 1B 78 */ mr r31, r3
/* 80D3BDB4 4B FF FC 21 */ bl setBaseMtx__13daObjWSword_cFv
/* 80D3BDB8 38 7F 08 EC */ addi r3, r31, 0x8ec
/* 80D3BDBC 38 9F 04 D0 */ addi r4, r31, 0x4d0
/* 80D3BDC0 4B 53 34 1D */ bl SetC__8cM3dGCylFRC4cXyz
/* 80D3BDC4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D3BDC8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D3BDCC 38 63 23 3C */ addi r3, r3, 0x233c
/* 80D3BDD0 38 9F 07 C8 */ addi r4, r31, 0x7c8
/* 80D3BDD4 4B 52 8D D5 */ bl Set__4cCcSFP8cCcD_Obj
/* 80D3BDD8 38 60 00 01 */ li r3, 1
/* 80D3BDDC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D3BDE0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D3BDE4 7C 08 03 A6 */ mtlr r0
/* 80D3BDE8 38 21 00 10 */ addi r1, r1, 0x10
/* 80D3BDEC 4E 80 00 20 */ blr

View File

@ -1,16 +0,0 @@
lbl_80D3B998:
/* 80D3B998 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D3B99C 7C 08 02 A6 */ mflr r0
/* 80D3B9A0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D3B9A4 80 83 05 70 */ lwz r4, 0x570(r3)
/* 80D3B9A8 C0 03 04 EC */ lfs f0, 0x4ec(r3)
/* 80D3B9AC D0 04 00 18 */ stfs f0, 0x18(r4)
/* 80D3B9B0 C0 03 04 F0 */ lfs f0, 0x4f0(r3)
/* 80D3B9B4 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 80D3B9B8 C0 03 04 F4 */ lfs f0, 0x4f4(r3)
/* 80D3B9BC D0 04 00 20 */ stfs f0, 0x20(r4)
/* 80D3B9C0 48 00 00 15 */ bl setBaseMtx__13daObjWSword_cFv
/* 80D3B9C4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D3B9C8 7C 08 03 A6 */ mtlr r0
/* 80D3B9CC 38 21 00 10 */ addi r1, r1, 0x10
/* 80D3B9D0 4E 80 00 20 */ blr

View File

@ -1,28 +0,0 @@
lbl_80D3B9D4:
/* 80D3B9D4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D3B9D8 7C 08 02 A6 */ mflr r0
/* 80D3B9DC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D3B9E0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D3B9E4 7C 7F 1B 78 */ mr r31, r3
/* 80D3B9E8 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80D3B9EC 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80D3B9F0 C0 3F 04 D0 */ lfs f1, 0x4d0(r31)
/* 80D3B9F4 C0 5F 04 D4 */ lfs f2, 0x4d4(r31)
/* 80D3B9F8 C0 7F 04 D8 */ lfs f3, 0x4d8(r31)
/* 80D3B9FC 4B 60 AE ED */ bl PSMTXTrans
/* 80D3BA00 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80D3BA04 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80D3BA08 A8 9F 04 E4 */ lha r4, 0x4e4(r31)
/* 80D3BA0C A8 BF 04 E6 */ lha r5, 0x4e6(r31)
/* 80D3BA10 A8 DF 04 E8 */ lha r6, 0x4e8(r31)
/* 80D3BA14 4B 2D 08 8D */ bl mDoMtx_ZXYrotM__FPA4_fsss
/* 80D3BA18 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80D3BA1C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80D3BA20 80 9F 05 70 */ lwz r4, 0x570(r31)
/* 80D3BA24 38 84 00 24 */ addi r4, r4, 0x24
/* 80D3BA28 4B 60 AA 89 */ bl PSMTXCopy
/* 80D3BA2C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D3BA30 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D3BA34 7C 08 03 A6 */ mtlr r0
/* 80D3BA38 38 21 00 10 */ addi r1, r1, 0x10
/* 80D3BA3C 4E 80 00 20 */ blr

View File

@ -5,6 +5,7 @@
#include "d/bg/d_bg_s_lin_chk.h"
#include "d/cc/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"
#include "d/d_procname.h"
class daNbomb_c {
public:
@ -42,15 +43,15 @@ public:
bool checkInsectBombMove(fopAc_ac_c*);
static fopAc_ac_c* createNormalBombPlayer(cXyz* p_pos) {
return (fopAc_ac_c*)fopAcM_fastCreate(0x221, 8, p_pos, -1, NULL, NULL, -1, NULL, NULL);
return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 8, p_pos, -1, NULL, NULL, -1, NULL, NULL);
}
static fopAc_ac_c* createWaterBombPlayer(cXyz* p_pos) {
return (fopAc_ac_c*)fopAcM_fastCreate(0x221, 9, p_pos, -1, NULL, NULL, -1, NULL, NULL);
return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 9, p_pos, -1, NULL, NULL, -1, NULL, NULL);
}
static fopAc_ac_c* createFlowerBomb(cXyz* i_pos, csXyz* i_angle, int param_2) {
return (fopAc_ac_c*)fopAcM_fastCreate(0x221, 4, i_pos, param_2, i_angle, NULL, -1, NULL, NULL);
return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 4, i_pos, param_2, i_angle, NULL, -1, NULL, NULL);
}
};

View File

@ -4,71 +4,35 @@
//
#include "rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "d/cc/d_cc_d.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_procname.h"
#include "dol2asm.h"
#include "f_op/f_op_actor_mng.h"
//
// Types:
//
struct request_of_phase_process_class {};
struct mDoMtx_stack_c {
static u8 now[48];
};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
};
struct daObjWSword_c {
class daObjWSword_c : public fopAc_ac_c {
public:
/* 80D3B998 */ void initBaseMtx();
/* 80D3B9D4 */ void setBaseMtx();
/* 80D3BA40 */ void Create();
/* 80D3BAB8 */ void CreateHeap();
/* 80D3BB28 */ void create();
/* 80D3BDA0 */ void execute();
/* 80D3BDF0 */ void draw();
/* 80D3BE54 */ void _delete();
};
/* 80D3BA40 */ int Create();
/* 80D3BAB8 */ int CreateHeap();
/* 80D3BB28 */ int create();
/* 80D3BDA0 */ int execute();
/* 80D3BDF0 */ int draw();
/* 80D3BE54 */ int _delete();
struct dKy_tevstr_c {};
struct J3DModelData {};
struct dScnKy_env_light_c {
/* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
};
struct dRes_info_c {};
struct dRes_control_c {
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
};
struct dBgS_PolyPassChk {
/* 80078E68 */ void SetObj();
};
struct dBgS_ObjAcch {
/* 80D3BD30 */ ~dBgS_ObjAcch();
};
struct dBgS_AcchCir {
/* 80075EAC */ dBgS_AcchCir();
};
struct dBgS_Acch {
/* 80075F94 */ ~dBgS_Acch();
/* 800760A0 */ dBgS_Acch();
};
struct cCcS {
/* 80264BA8 */ void Set(cCcD_Obj*);
};
struct J3DModel {};
/* 0x568 */ request_of_phase_process_class mPhaseReq;
/* 0x570 */ J3DModel* mpModel;
/* 0x574 */ dBgS_Acch mAcch;
/* 0x74C */ dBgS_AcchCir mAcchCir;
/* 0x78C */ dCcD_Stts mStts;
/* 0x7C8 */ dCcD_Cyl mCyl;
}; // Size: 0x904
//
// Forward References:
@ -120,105 +84,76 @@ extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP
extern "C" void Set__4cCcSFP8cCcD_Obj();
extern "C" void SetC__8cM3dGCylFRC4cXyz();
extern "C" void __dl__FPv();
extern "C" void PSMTXCopy();
extern "C" void PSMTXTrans();
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" extern void* __vt__8dCcD_Cyl[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
extern "C" extern void* __vt__12cCcD_CylAttr[25];
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_env_light[4880];
//
// Declarations:
//
/* 80D3B978-80D3B998 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/obj/d_a_obj_wsword/d_a_obj_wsword/CheckCreateHeap__FP10fopAc_ac_c.s"
static int CheckCreateHeap(fopAc_ac_c* i_this) {
return static_cast<daObjWSword_c*>(i_this)->CreateHeap();
}
#pragma pop
/* 80D3B998-80D3B9D4 000098 003C+00 1/1 0/0 0/0 .text initBaseMtx__13daObjWSword_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjWSword_c::initBaseMtx() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword/initBaseMtx__13daObjWSword_cFv.s"
void daObjWSword_c::initBaseMtx() {
mpModel->setBaseScale(mScale);
setBaseMtx();
}
#pragma pop
/* 80D3B9D4-80D3BA40 0000D4 006C+00 2/2 0/0 0/0 .text setBaseMtx__13daObjWSword_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjWSword_c::setBaseMtx() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword/setBaseMtx__13daObjWSword_cFv.s"
void daObjWSword_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z);
PSMTXCopy(mDoMtx_stack_c::get(), mpModel->mBaseTransformMtx);
}
#pragma pop
/* ############################################################################################## */
/* 80D3BF20-80D3BF20 000000 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80D3BF20 = "Obj_brksw";
/* @stringBase0 padding */
SECTION_DEAD static char const* const pad_80D3BF2A = "\0";
#pragma pop
/* 80D3BF2C-80D3BF30 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
SECTION_DATA static void* l_arcName = (void*)&d_a_obj_wsword__stringBase0;
static char* l_arcName = "Obj_brksw";
/* 80D3BF30-80D3BF74 000004 0044+00 1/1 0/0 0/0 .data l_cyl_src */
static dCcD_SrcCyl l_cyl_src = {
{
{0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x19}}, // mObj
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x6}, // mGObjAt
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg
{0x0}, // mGObjCo
}, // mObjInf
{0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x19}}, // mObj
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x6}, // mGObjAt
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg
{0x0}, // mGObjCo
}, // mObjInf
{
{0.0f, 0.0f, 0.0f}, // mCenter
50.0f, // mRadius
150.0f // mHeight
} // mCyl
{0.0f, 0.0f, 0.0f}, // mCenter
50.0f, // mRadius
150.0f // mHeight
} // mCyl
};
/* 80D3BA40-80D3BAB8 000140 0078+00 1/1 0/0 0/0 .text Create__13daObjWSword_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjWSword_c::Create() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword/Create__13daObjWSword_cFv.s"
int daObjWSword_c::Create() {
initBaseMtx();
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
mStts.Init(0xff, 0xff, this);
mCyl.Set(l_cyl_src);
mCyl.SetStts(&mStts);
fopAcM_setCullSizeBox2(this, mpModel->getModelData());
return 1;
}
#pragma pop
/* 80D3BAB8-80D3BB28 0001B8 0070+00 1/1 0/0 0/0 .text CreateHeap__13daObjWSword_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjWSword_c::CreateHeap() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword/CreateHeap__13daObjWSword_cFv.s"
int daObjWSword_c::CreateHeap() {
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 3);
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
return mpModel != NULL ? 1 : 0;
}
#pragma pop
/* ############################################################################################## */
/* 80D3BF74-80D3BF94 -00001 0020+00 1/0 0/0 0/0 .data l_daObjWSword_Method */
SECTION_DATA static void* l_daObjWSword_Method[8] = {
static void* l_daObjWSword_Method[8] = {
(void*)daObjWSword_Create__FP10fopAc_ac_c,
(void*)daObjWSword_Delete__FP13daObjWSword_c,
(void*)daObjWSword_Execute__FP13daObjWSword_c,
@ -267,10 +202,25 @@ SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = {
};
/* 80D3BB28-80D3BCA0 000228 0178+00 1/1 0/0 0/0 .text create__13daObjWSword_cFv */
#ifdef NONMATCHING
// vtable issue
int daObjWSword_c::create() {
fopAcM_SetupActor(this, daObjWSword_c);
int phase = dComIfG_resLoad(&mPhaseReq, l_arcName);
if (phase == cPhs_COMPLEATE_e) {
if (!fopAcM_entrySolidHeap(this, (heapCallbackFunc)CheckCreateHeap, 0x840)) {
return cPhs_ERROR_e;
} else if (!Create()) {
return cPhs_ERROR_e;
}
}
return phase;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjWSword_c::create() {
asm int daObjWSword_c::create() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword/func_80D3BB28.s"
}
@ -302,83 +252,56 @@ extern "C" asm void __dt__8cM3dGAabFv() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dBgS_ObjAcch::~dBgS_ObjAcch() {
// dBgS_ObjAcch::~dBgS_ObjAcch()
extern "C" asm void __dt__12dBgS_ObjAcchFv() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword/__dt__12dBgS_ObjAcchFv.s"
}
#pragma pop
#endif
/* 80D3BDA0-80D3BDF0 0004A0 0050+00 1/1 0/0 0/0 .text execute__13daObjWSword_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjWSword_c::execute() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword/execute__13daObjWSword_cFv.s"
int daObjWSword_c::execute() {
setBaseMtx();
mCyl.SetC(current.pos);
dComIfG_Ccsp()->Set(&mCyl);
return 1;
}
#pragma pop
/* 80D3BDF0-80D3BE54 0004F0 0064+00 1/1 0/0 0/0 .text draw__13daObjWSword_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjWSword_c::draw() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword/draw__13daObjWSword_cFv.s"
int daObjWSword_c::draw() {
g_env_light.settingTevStruct(0, &current.pos, &mTevStr);
g_env_light.setLightTevColorType_MAJI(mpModel, &mTevStr);
mDoExt_modelUpdateDL(mpModel);
return 1;
}
#pragma pop
/* 80D3BE54-80D3BE88 000554 0034+00 1/1 0/0 0/0 .text _delete__13daObjWSword_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjWSword_c::_delete() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword/_delete__13daObjWSword_cFv.s"
int daObjWSword_c::_delete() {
dComIfG_resDelete(&mPhaseReq, l_arcName);
return 1;
}
#pragma pop
/* 80D3BE88-80D3BEA8 000588 0020+00 1/0 0/0 0/0 .text daObjWSword_Draw__FP13daObjWSword_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjWSword_Draw(daObjWSword_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword/daObjWSword_Draw__FP13daObjWSword_c.s"
static int daObjWSword_Draw(daObjWSword_c* i_this) {
return i_this->draw();
}
#pragma pop
/* 80D3BEA8-80D3BEC8 0005A8 0020+00 1/0 0/0 0/0 .text daObjWSword_Execute__FP13daObjWSword_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjWSword_Execute(daObjWSword_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword/daObjWSword_Execute__FP13daObjWSword_c.s"
static int daObjWSword_Execute(daObjWSword_c* i_this) {
return i_this->execute();
}
#pragma pop
/* 80D3BEC8-80D3BEE8 0005C8 0020+00 1/0 0/0 0/0 .text daObjWSword_Delete__FP13daObjWSword_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjWSword_Delete(daObjWSword_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword/daObjWSword_Delete__FP13daObjWSword_c.s"
static int daObjWSword_Delete(daObjWSword_c* i_this) {
return i_this->_delete();
}
#pragma pop
/* 80D3BEE8-80D3BF08 0005E8 0020+00 1/0 0/0 0/0 .text daObjWSword_Create__FP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjWSword_Create(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword/daObjWSword_Create__FP10fopAc_ac_c.s"
static int daObjWSword_Create(fopAc_ac_c* i_this) {
return static_cast<daObjWSword_c*>(i_this)->create();
}
#pragma pop
/* 80D3BF08-80D3BF10 000608 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */
#pragma push
@ -400,4 +323,4 @@ static asm void func_80D3BF10() {
}
#pragma pop
/* 80D3BF20-80D3BF20 000000 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
/* 80D3BF20-80D3BF20 000000 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */

View File

@ -25,16 +25,13 @@
#include "rel/d/a/e/d_a_e_wb/d_a_e_wb.h"
#include "rel/d/a/obj/d_a_obj_carry/d_a_obj_carry.h"
#include "rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.h"
#include "rel/d/a/tag/d_a_tag_mist/d_a_tag_mist.h"
#include "rel/d/a/d_a_mirror/d_a_mirror.h"
//
// Types:
//
struct daTagMist_c {
/* 80031CF0 */ void getPlayerNo();
};
struct daObj_Sekizoa_c {
/* 801312C8 */ void setWolfHowling();
};

View File

@ -259,18 +259,12 @@ int dMenu_Fishing_c::_open() {
if (field_0x1f8 >= openFrames) {
field_0x1f8 = closeFrames;
mStatus = 2;
J2DPane* pane = mpParent->getPanePtr();
pane->mScaleX = 1.0f;
pane->mScaleY = 1.0f;
pane->calcMtx();
mpParent->scale(1.0f, 1.0f);
mpParent->setAlphaRate(1.0f);
return 1;
} else {
f32 div = field_0x1f8 / (f32)openFrames;
J2DPane* pane = mpParent->getPanePtr();
pane->mScaleX = div;
pane->mScaleY = div;
pane->calcMtx();
mpParent->scale(div, div);
mpParent->setAlphaRate(div);
return 0;
}
@ -283,18 +277,12 @@ int dMenu_Fishing_c::_close() {
if (field_0x1f8 <= 0) {
field_0x1f8 = 0;
mStatus = 0;
J2DPane* pane = mpParent->getPanePtr();
pane->mScaleX = 0.0f;
pane->mScaleY = 0.0f;
pane->calcMtx();
mpParent->scale(0.0f, 0.0f);
mpParent->setAlphaRate(0.0f);
return 1;
} else {
f32 div = field_0x1f8 / (f32)closeFrames;
J2DPane* pane = mpParent->getPanePtr();
pane->mScaleX = div;
pane->mScaleY = div;
pane->calcMtx();
mpParent->scale(div, div);
mpParent->setAlphaRate(div);
return 0;
}

View File

@ -428,10 +428,7 @@ int dMenu_Insect_c::_open() {
if (field_0xf0 >= openFrame) {
field_0xf0 = closeFrame;
mStatus = 2;
J2DPane* pane = mpParent->getPanePtr();
pane->mScaleX = 1.0f;
pane->mScaleY = 1.0f;
pane->calcMtx();
mpParent->scale(1.0f, 1.0f);
mpParent->setAlphaRate(1.0f);
setCursorPos();
mpDrawCursor->setAlphaRate(1.0f);
@ -440,10 +437,7 @@ int dMenu_Insect_c::_open() {
return 1;
} else {
f32 div = (f32)field_0xf0 / (f32)openFrame;
J2DPane* pane = mpParent->getPanePtr();
pane->mScaleX = div;
pane->mScaleY = div;
pane->calcMtx();
mpParent->scale(div, div);
mpParent->setAlphaRate(div);
setCursorPos();
mpDrawCursor->setAlphaRate(div);
@ -471,10 +465,7 @@ int dMenu_Insect_c::_close() {
if (field_0xf0 <= 0) {
field_0xf0 = 0;
mStatus = 0;
J2DPane* pane = mpParent->getPanePtr();
pane->mScaleX = 0.0f;
pane->mScaleY = 0.0f;
pane->calcMtx();
mpParent->scale(0.0f, 0.0f);
mpParent->setAlphaRate(0.0f);
setCursorPos();
mpDrawCursor->setAlphaRate(0.0f);
@ -482,10 +473,7 @@ int dMenu_Insect_c::_close() {
return 1;
} else {
f32 div = (f32)field_0xf0 / (f32)closeFrame;
J2DPane* pane = mpParent->getPanePtr();
pane->mScaleX = div;
pane->mScaleY = div;
pane->calcMtx();
mpParent->scale(div, div);
mpParent->setAlphaRate(div);
setCursorPos();
mpDrawCursor->setAlphaRate(div);

View File

@ -248,10 +248,7 @@ int dMenu_Skill_c::_open() {
if (mFrame >= openFrame) {
mFrame = closeFrame;
mStatus = 2;
J2DPane* pane = mpParent->getPanePtr();
pane->mScaleX = 1.0f;
pane->mScaleY = 1.0f;
pane->calcMtx();
mpParent->scale(1.0f, 1.0f);
mpParent->setAlphaRate(1.0f);
setCursorPos();
mpDrawCursor->setAlphaRate(1.0f);
@ -260,10 +257,7 @@ int dMenu_Skill_c::_open() {
return 1;
} else {
f32 div = (f32)mFrame / (f32)openFrame;
J2DPane* pane = mpParent->getPanePtr();
pane->mScaleX = div;
pane->mScaleY = div;
pane->calcMtx();
mpParent->scale(div, div);
mpParent->setAlphaRate(div);
setCursorPos();
mpDrawCursor->setAlphaRate(div);
@ -279,10 +273,7 @@ int dMenu_Skill_c::_close() {
if (mFrame <= 0) {
mFrame = 0;
mStatus = 0;
J2DPane* pane = mpParent->getPanePtr();
pane->mScaleX = 0.0f;
pane->mScaleY = 0.0f;
pane->calcMtx();
mpParent->scale(0.0f, 0.0f);
mpParent->setAlphaRate(0.0f);
setCursorPos();
mpDrawCursor->setAlphaRate(0.0f);
@ -290,10 +281,7 @@ int dMenu_Skill_c::_close() {
return 1;
} else {
f32 div = (f32)mFrame / (f32)closeFrame;
J2DPane* pane = mpParent->getPanePtr();
pane->mScaleX = div;
pane->mScaleY = div;
pane->calcMtx();
mpParent->scale(div, div);
mpParent->setAlphaRate(div);
setCursorPos();
mpDrawCursor->setAlphaRate(div);