mirror of https://github.com/zeldaret/tp.git
f_op_actor matches (#224)
* fopEn_enemy_c::checkBallModelDraw * fopEn_enemy_c::initBallModel * fopEn_enemy_c::setBallModelEffect * fopEn_enemy_c::drawBallModel * dStage_roomDt_c::getFileListInfo * fopAc_Delete * remove asm * convert getBall* to static functions
This commit is contained in:
parent
8244d9a6e1
commit
7cac806b68
|
|
@ -1,11 +0,0 @@
|
|||
lbl_800194FC:
|
||||
/* 800194FC 38 80 00 00 */ li r4, 0
|
||||
/* 80019500 A0 63 05 8E */ lhz r3, 0x58e(r3)
|
||||
/* 80019504 54 60 07 FF */ clrlwi. r0, r3, 0x1f
|
||||
/* 80019508 41 82 00 10 */ beq lbl_80019518
|
||||
/* 8001950C 70 60 00 32 */ andi. r0, r3, 0x32
|
||||
/* 80019510 40 82 00 08 */ bne lbl_80019518
|
||||
/* 80019514 38 80 00 01 */ li r4, 1
|
||||
lbl_80019518:
|
||||
/* 80019518 7C 83 23 78 */ mr r3, r4
|
||||
/* 8001951C 4E 80 00 20 */ blr
|
||||
|
|
@ -1,75 +0,0 @@
|
|||
lbl_800196A0:
|
||||
/* 800196A0 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 800196A4 7C 08 02 A6 */ mflr r0
|
||||
/* 800196A8 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 800196AC 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 800196B0 48 34 8B 2D */ bl _savegpr_29
|
||||
/* 800196B4 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 800196B8 7C 9E 23 78 */ mr r30, r4
|
||||
/* 800196BC 80 83 05 80 */ lwz r4, 0x580(r3)
|
||||
/* 800196C0 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 800196C4 41 82 00 E0 */ beq lbl_800197A4
|
||||
/* 800196C8 3B E4 00 18 */ addi r31, r4, 0x18
|
||||
/* 800196CC 4B FF FE 31 */ bl checkBallModelDraw__13fopEn_enemy_cFv
|
||||
/* 800196D0 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
||||
/* 800196D4 41 82 00 0C */ beq lbl_800196E0
|
||||
/* 800196D8 C0 22 81 E0 */ lfs f1, lit_4505(r2)
|
||||
/* 800196DC 48 00 00 08 */ b lbl_800196E4
|
||||
lbl_800196E0:
|
||||
/* 800196E0 C0 22 81 F0 */ lfs f1, lit_4555(r2)
|
||||
lbl_800196E4:
|
||||
/* 800196E4 7F E3 FB 78 */ mr r3, r31
|
||||
/* 800196E8 C0 42 81 F4 */ lfs f2, lit_4556(r2)
|
||||
/* 800196EC 48 25 70 55 */ bl cLib_chaseF__FPfff
|
||||
/* 800196F0 C0 1F 00 00 */ lfs f0, 0(r31)
|
||||
/* 800196F4 D0 1F 00 04 */ stfs f0, 4(r31)
|
||||
/* 800196F8 C0 1F 00 00 */ lfs f0, 0(r31)
|
||||
/* 800196FC D0 1F 00 08 */ stfs f0, 8(r31)
|
||||
/* 80019700 80 7D 05 80 */ lwz r3, 0x580(r29)
|
||||
/* 80019704 C0 1F 00 00 */ lfs f0, 0(r31)
|
||||
/* 80019708 D0 03 00 18 */ stfs f0, 0x18(r3)
|
||||
/* 8001970C C0 1F 00 04 */ lfs f0, 4(r31)
|
||||
/* 80019710 D0 03 00 1C */ stfs f0, 0x1c(r3)
|
||||
/* 80019714 C0 1F 00 08 */ lfs f0, 8(r31)
|
||||
/* 80019718 D0 03 00 20 */ stfs f0, 0x20(r3)
|
||||
/* 8001971C C0 3F 00 00 */ lfs f1, 0(r31)
|
||||
/* 80019720 C0 02 81 F8 */ lfs f0, lit_4557(r2)
|
||||
/* 80019724 FC 01 00 40 */ fcmpo cr0, f1, f0
|
||||
/* 80019728 40 81 00 7C */ ble lbl_800197A4
|
||||
/* 8001972C 80 7D 05 80 */ lwz r3, 0x580(r29)
|
||||
/* 80019730 38 63 00 24 */ addi r3, r3, 0x24
|
||||
/* 80019734 C0 3D 05 68 */ lfs f1, 0x568(r29)
|
||||
/* 80019738 C0 5D 05 6C */ lfs f2, 0x56c(r29)
|
||||
/* 8001973C C0 7D 05 70 */ lfs f3, 0x570(r29)
|
||||
/* 80019740 48 32 D1 A9 */ bl PSMTXTrans
|
||||
/* 80019744 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
|
||||
/* 80019748 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
|
||||
/* 8001974C 80 9D 05 80 */ lwz r4, 0x580(r29)
|
||||
/* 80019750 80 84 00 04 */ lwz r4, 4(r4)
|
||||
/* 80019754 7F C5 F3 78 */ mr r5, r30
|
||||
/* 80019758 48 18 B6 49 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c
|
||||
/* 8001975C C0 1D 05 90 */ lfs f0, 0x590(r29)
|
||||
/* 80019760 80 7D 05 84 */ lwz r3, 0x584(r29)
|
||||
/* 80019764 D0 03 00 08 */ stfs f0, 8(r3)
|
||||
/* 80019768 80 7D 05 80 */ lwz r3, 0x580(r29)
|
||||
/* 8001976C 80 63 00 04 */ lwz r3, 4(r3)
|
||||
/* 80019770 38 63 00 58 */ addi r3, r3, 0x58
|
||||
/* 80019774 80 9D 05 84 */ lwz r4, 0x584(r29)
|
||||
/* 80019778 48 31 65 4D */ bl entryTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey
|
||||
/* 8001977C C0 1D 05 90 */ lfs f0, 0x590(r29)
|
||||
/* 80019780 80 7D 05 88 */ lwz r3, 0x588(r29)
|
||||
/* 80019784 D0 03 00 08 */ stfs f0, 8(r3)
|
||||
/* 80019788 80 7D 05 80 */ lwz r3, 0x580(r29)
|
||||
/* 8001978C 80 63 00 04 */ lwz r3, 4(r3)
|
||||
/* 80019790 38 63 00 58 */ addi r3, r3, 0x58
|
||||
/* 80019794 80 9D 05 88 */ lwz r4, 0x588(r29)
|
||||
/* 80019798 48 31 66 D9 */ bl entryTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey
|
||||
/* 8001979C 80 7D 05 80 */ lwz r3, 0x580(r29)
|
||||
/* 800197A0 4B FF 45 25 */ bl mDoExt_modelUpdateDL__FP8J3DModel
|
||||
lbl_800197A4:
|
||||
/* 800197A4 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 800197A8 48 34 8A 81 */ bl _restgpr_29
|
||||
/* 800197AC 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 800197B0 7C 08 03 A6 */ mtlr r0
|
||||
/* 800197B4 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 800197B8 4E 80 00 20 */ blr
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
lbl_80018FCC:
|
||||
/* 80018FCC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80018FD0 7C 08 02 A6 */ mflr r0
|
||||
/* 80018FD4 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80018FD8 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80018FDC 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 80018FE0 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80018FE4 80 63 00 EC */ lwz r3, 0xec(r3)
|
||||
/* 80018FE8 7F E4 FB 78 */ mr r4, r31
|
||||
/* 80018FEC 48 00 94 BD */ bl fpcMtd_Delete__FP20process_method_classPv
|
||||
/* 80018FF0 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 80018FF4 2C 1E 00 01 */ cmpwi r30, 1
|
||||
/* 80018FF8 40 82 00 38 */ bne lbl_80019030
|
||||
/* 80018FFC 38 7F 00 C4 */ addi r3, r31, 0xc4
|
||||
/* 80019000 48 00 08 61 */ bl fopAcTg_ActorQTo__FP16create_tag_class
|
||||
/* 80019004 38 7F 00 D8 */ addi r3, r31, 0xd8
|
||||
/* 80019008 48 00 74 CD */ bl fopDwTg_DrawQTo__FP16create_tag_class
|
||||
/* 8001900C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80019010 48 00 11 29 */ bl fopAcM_DeleteHeap__FP10fopAc_ac_c
|
||||
/* 80019014 80 6D 88 A0 */ lwz r3, m_object__7dDemo_c(r13)
|
||||
/* 80019018 88 9F 04 98 */ lbz r4, 0x498(r31)
|
||||
/* 8001901C 48 02 00 6D */ bl getActor__14dDemo_object_cFUc
|
||||
/* 80019020 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 80019024 41 82 00 0C */ beq lbl_80019030
|
||||
/* 80019028 38 80 00 00 */ li r4, 0
|
||||
/* 8001902C 48 01 F1 31 */ bl setActor__13dDemo_actor_cFP10fopAc_ac_c
|
||||
lbl_80019030:
|
||||
/* 80019030 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80019034 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80019038 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 8001903C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80019040 7C 08 03 A6 */ mtlr r0
|
||||
/* 80019044 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80019048 4E 80 00 20 */ blr
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
lbl_800193FC:
|
||||
/* 800193FC 80 63 00 24 */ lwz r3, 0x24(r3)
|
||||
/* 80019400 4E 80 00 20 */ blr
|
||||
|
|
@ -1,65 +0,0 @@
|
|||
lbl_80019404:
|
||||
/* 80019404 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80019408 7C 08 02 A6 */ mflr r0
|
||||
/* 8001940C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80019410 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80019414 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 80019418 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 8001941C 3C 60 80 38 */ lis r3, f_op_f_op_actor__stringBase0@ha /* 0x80378878@ha */
|
||||
/* 80019420 38 63 88 78 */ addi r3, r3, f_op_f_op_actor__stringBase0@l /* 0x80378878@l */
|
||||
/* 80019424 38 80 00 25 */ li r4, 0x25
|
||||
/* 80019428 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 8001942C 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80019430 3F E5 00 02 */ addis r31, r5, 2
|
||||
/* 80019434 3B FF C2 F8 */ addi r31, r31, -15624
|
||||
/* 80019438 7F E5 FB 78 */ mr r5, r31
|
||||
/* 8001943C 38 C0 00 80 */ li r6, 0x80
|
||||
/* 80019440 48 02 2E AD */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
|
||||
/* 80019444 3C 80 00 08 */ lis r4, 8
|
||||
/* 80019448 3C A0 11 00 */ lis r5, 0x1100 /* 0x11000284@ha */
|
||||
/* 8001944C 38 A5 02 84 */ addi r5, r5, 0x0284 /* 0x11000284@l */
|
||||
/* 80019450 4B FF B8 05 */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl
|
||||
/* 80019454 90 7E 05 80 */ stw r3, 0x580(r30)
|
||||
/* 80019458 80 9E 05 80 */ lwz r4, 0x580(r30)
|
||||
/* 8001945C 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 80019460 40 82 00 0C */ bne lbl_8001946C
|
||||
/* 80019464 38 60 00 00 */ li r3, 0
|
||||
/* 80019468 48 00 00 7C */ b lbl_800194E4
|
||||
lbl_8001946C:
|
||||
/* 8001946C 3C 60 80 43 */ lis r3, Zero__4cXyz@ha /* 0x80430CF4@ha */
|
||||
/* 80019470 C4 03 0C F4 */ lfsu f0, Zero__4cXyz@l(r3) /* 0x80430CF4@l */
|
||||
/* 80019474 D0 04 00 18 */ stfs f0, 0x18(r4)
|
||||
/* 80019478 C0 03 00 04 */ lfs f0, 4(r3)
|
||||
/* 8001947C D0 04 00 1C */ stfs f0, 0x1c(r4)
|
||||
/* 80019480 C0 03 00 08 */ lfs f0, 8(r3)
|
||||
/* 80019484 D0 04 00 20 */ stfs f0, 0x20(r4)
|
||||
/* 80019488 3C 60 80 38 */ lis r3, f_op_f_op_actor__stringBase0@ha /* 0x80378878@ha */
|
||||
/* 8001948C 38 63 88 78 */ addi r3, r3, f_op_f_op_actor__stringBase0@l /* 0x80378878@l */
|
||||
/* 80019490 38 80 00 49 */ li r4, 0x49
|
||||
/* 80019494 7F E5 FB 78 */ mr r5, r31
|
||||
/* 80019498 38 C0 00 80 */ li r6, 0x80
|
||||
/* 8001949C 48 02 2E 51 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
|
||||
/* 800194A0 90 7E 05 84 */ stw r3, 0x584(r30)
|
||||
/* 800194A4 80 7E 05 80 */ lwz r3, 0x580(r30)
|
||||
/* 800194A8 80 83 00 04 */ lwz r4, 4(r3)
|
||||
/* 800194AC 80 7E 05 84 */ lwz r3, 0x584(r30)
|
||||
/* 800194B0 48 31 1D 25 */ bl searchUpdateMaterialID__19J3DAnmTextureSRTKeyFP12J3DModelData
|
||||
/* 800194B4 3C 60 80 38 */ lis r3, f_op_f_op_actor__stringBase0@ha /* 0x80378878@ha */
|
||||
/* 800194B8 38 63 88 78 */ addi r3, r3, f_op_f_op_actor__stringBase0@l /* 0x80378878@l */
|
||||
/* 800194BC 38 80 00 41 */ li r4, 0x41
|
||||
/* 800194C0 7F E5 FB 78 */ mr r5, r31
|
||||
/* 800194C4 38 C0 00 80 */ li r6, 0x80
|
||||
/* 800194C8 48 02 2E 25 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
|
||||
/* 800194CC 90 7E 05 88 */ stw r3, 0x588(r30)
|
||||
/* 800194D0 80 7E 05 80 */ lwz r3, 0x580(r30)
|
||||
/* 800194D4 80 83 00 04 */ lwz r4, 4(r3)
|
||||
/* 800194D8 80 7E 05 88 */ lwz r3, 0x588(r30)
|
||||
/* 800194DC 48 31 23 A1 */ bl searchUpdateMaterialID__15J3DAnmTevRegKeyFP12J3DModelData
|
||||
/* 800194E0 38 60 00 01 */ li r3, 1
|
||||
lbl_800194E4:
|
||||
/* 800194E4 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 800194E8 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 800194EC 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 800194F0 7C 08 03 A6 */ mtlr r0
|
||||
/* 800194F4 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 800194F8 4E 80 00 20 */ blr
|
||||
|
|
@ -3278,6 +3278,10 @@ public:
|
|||
return getDirectionFromAngle(field_0x2fe2 - current.angle.y);
|
||||
}
|
||||
|
||||
static int getBallModelIdx() { return 0x25; }
|
||||
static int getBallBtkIdx() { return 0x49; }
|
||||
static int getBallBrkIdx() { return 0x41; }
|
||||
|
||||
bool checkRootTransClearMode() { return field_0x2f99 & 7; }
|
||||
bool checkRootTransZClearMode() { return field_0x2f99 & 4; }
|
||||
bool checkRootTransXClearMode() { return field_0x2f99 & 1; }
|
||||
|
|
|
|||
|
|
@ -2587,6 +2587,10 @@ inline u32 dComIfGp_particle_set(u32 param_0, u16 param_1, const cXyz* param_2,
|
|||
param_9, param_10, 1.0f);
|
||||
}
|
||||
|
||||
inline u32 dComIfGp_particle_set(u32 param_0, u16 param_1, const cXyz* param_2, const dKy_tevstr_c* param_3) {
|
||||
return dComIfGp_particle_set(param_0,param_1,param_2,param_3,0,0,0xFF,0,0xFFFFFFFF,0,0,0);
|
||||
}
|
||||
|
||||
inline JPABaseEmitter* dComIfGp_particle_set(u16 param_1, const cXyz* param_2, const dKy_tevstr_c* param_3,
|
||||
const csXyz* param_4, const cXyz* param_5, u8 param_6,
|
||||
dPa_levelEcallBack* param_7, s8 param_8, const GXColor* param_9,
|
||||
|
|
|
|||
|
|
@ -36,4 +36,7 @@ typedef unsigned long size_t;
|
|||
#define INT32_MAX (0x7fffffff)
|
||||
#define UINT32_MAX (0xffffffff)
|
||||
|
||||
#define FLOAT_MIN (-1e31f)
|
||||
#define FLOAT_MAX (3.40282346638528860e+38f)
|
||||
|
||||
#endif
|
||||
|
|
@ -140,8 +140,8 @@ STATIC_ASSERT(sizeof(fopAc_ac_c) == 0x568);
|
|||
|
||||
class fopEn_enemy_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 80019404 */ void initBallModel();
|
||||
/* 800194FC */ void checkBallModelDraw();
|
||||
/* 80019404 */ bool initBallModel();
|
||||
/* 800194FC */ int checkBallModelDraw();
|
||||
/* 80019520 */ void setBallModelEffect(dKy_tevstr_c*);
|
||||
/* 800196A0 */ void drawBallModel(dKy_tevstr_c*);
|
||||
|
||||
|
|
|
|||
|
|
@ -33,6 +33,10 @@ inline void mDoMtx_copy(const Mtx src, Mtx dst) {
|
|||
PSMTXCopy(src, dst);
|
||||
}
|
||||
|
||||
inline void mDoMtx_trans(Mtx m, f32 x, f32 y, f32 z) {
|
||||
PSMTXTrans(m,x,y,z);
|
||||
}
|
||||
|
||||
class mDoMtx_stack_c {
|
||||
public:
|
||||
/* 8000CCC8 */ static bool push();
|
||||
|
|
|
|||
|
|
@ -212,8 +212,8 @@ static int fopAc_Execute(void* actor) {
|
|||
fopAcM_delete(ac);
|
||||
}
|
||||
|
||||
if (ac->current.pos.y < -9.999999848243207e+30f) {
|
||||
ac->current.pos.y = -9.999999848243207e+30f;
|
||||
if (ac->current.pos.y < FLOAT_MIN) {
|
||||
ac->current.pos.y = FLOAT_MIN;
|
||||
}
|
||||
|
||||
dKy_depth_dist_set(ac);
|
||||
|
|
@ -236,7 +236,6 @@ static int fopAc_IsDelete(void* actor) {
|
|||
}
|
||||
|
||||
/* 80018FCC-8001904C 01390C 0080+00 1/0 0/0 0/0 .text fopAc_Delete__FPv */
|
||||
#ifdef NONMATCHING
|
||||
static int fopAc_Delete(void* actor) {
|
||||
fopAc_ac_c* ac = (fopAc_ac_c*)actor;
|
||||
|
||||
|
|
@ -254,16 +253,6 @@ static int fopAc_Delete(void* actor) {
|
|||
|
||||
return deleted;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void fopAc_Delete(void* param_0) {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_actor/fopAc_Delete__FPv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80451BD0-80451BD4 0001D0 0004+00 2/2 0/0 0/0 .sdata2 @4431 */
|
||||
|
|
@ -371,36 +360,40 @@ static asm int fopAc_Create(void* param_0) {
|
|||
#endif
|
||||
|
||||
/* 800193FC-80019404 013D3C 0008+00 0/0 1/0 0/0 .text getFileListInfo__15dStage_roomDt_cCFv */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
// asm void dStage_roomDt_c::getFileListInfo() const {
|
||||
extern "C" asm void getFileListInfo__15dStage_roomDt_cCFv() {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_actor/getFileListInfo__15dStage_roomDt_cCFv.s"
|
||||
dStage_FileList_dt_c* dStage_roomDt_c::getFileListInfo() const {
|
||||
return mFileListInfo;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80019404-800194FC 013D44 00F8+00 0/0 0/0 2/2 .text initBallModel__13fopEn_enemy_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void fopEn_enemy_c::initBallModel() {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_actor/initBallModel__13fopEn_enemy_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
bool fopEn_enemy_c::initBallModel() {
|
||||
void* objRes = dComIfG_getObjectRes("Alink",daAlink_c::getBallModelIdx());
|
||||
mBallModel = mDoExt_J3DModel__create((J3DModelData*)objRes, 0x80000, 0x11000284);
|
||||
|
||||
/* 800194FC-80019520 013E3C 0024+00 2/2 0/0 2/2 .text checkBallModelDraw__13fopEn_enemy_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void fopEn_enemy_c::checkBallModelDraw() {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_actor/checkBallModelDraw__13fopEn_enemy_cFv.s"
|
||||
if (!mBallModel) {
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
mBallModel->setBaseScale(cXyz::Zero);
|
||||
|
||||
mBtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("Alink",daAlink_c::getBallBtkIdx());
|
||||
mBtk->searchUpdateMaterialID(mBallModel->getModelData());
|
||||
|
||||
mBrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes("Alink",daAlink_c::getBallBrkIdx());
|
||||
mBrk->searchUpdateMaterialID(mBallModel->getModelData());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
/* 800194FC-80019520 013E3C 0024+00 2/2 0/0 2/2 .text checkBallModelDraw__13fopEn_enemy_cFv */
|
||||
int fopEn_enemy_c::checkBallModelDraw() {
|
||||
int ret = 0;
|
||||
|
||||
if ((mFlags & 1) && !(mFlags & 0x32)) {
|
||||
ret = 1;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80451BE0-80451BE8 0001E0 0004+04 2/2 0/0 0/0 .sdata2 @4505 */
|
||||
|
|
@ -415,6 +408,29 @@ SECTION_SDATA2 static f64 lit_4507 = 4503601774854144.0 /* cast s32 to float */;
|
|||
|
||||
/* 80019520-800196A0 013E60 0180+00 0/0 0/0 2/2 .text
|
||||
* setBallModelEffect__13fopEn_enemy_cFP12dKy_tevstr_c */
|
||||
#ifdef NONMATCHING
|
||||
// matches with literals
|
||||
void fopEn_enemy_c::setBallModelEffect(dKy_tevstr_c* param_0) {
|
||||
if (mBallModel) {
|
||||
field_0x590 += FLOAT_LABEL(lit_4505);
|
||||
|
||||
if (field_0x590 >= mBtk->getFrameMax()) {
|
||||
field_0x590 -= mBtk->getFrameMax();
|
||||
}
|
||||
|
||||
if ((u8)checkBallModelDraw()) {
|
||||
Vec* base_scale = mBallModel->getBaseScale();
|
||||
cLib_chaseF(&base_scale->x,FLOAT_LABEL(lit_4505),FLOAT_LABEL(lit_4431));
|
||||
f32 result = base_scale->x;
|
||||
base_scale->z = result;
|
||||
base_scale->y = result;
|
||||
|
||||
mEffectID1 = dComIfGp_particle_set(mEffectID1, 0x86c8, &mDownPos, param_0);
|
||||
mEffectID2 = dComIfGp_particle_set(mEffectID2, 0x86c9, &mDownPos, param_0);
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -423,6 +439,7 @@ asm void fopEn_enemy_c::setBallModelEffect(dKy_tevstr_c* param_0) {
|
|||
#include "asm/f_op/f_op_actor/setBallModelEffect__13fopEn_enemy_cFP12dKy_tevstr_c.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80451BF0-80451BF4 0001F0 0004+00 1/1 0/0 0/0 .sdata2 @4555 */
|
||||
|
|
@ -445,26 +462,43 @@ SECTION_SDATA2 static f32 lit_4557[1 + 1 /* padding */] = {
|
|||
|
||||
/* 800196A0-800197BC 013FE0 011C+00 0/0 0/0 2/2 .text
|
||||
* drawBallModel__13fopEn_enemy_cFP12dKy_tevstr_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void fopEn_enemy_c::drawBallModel(dKy_tevstr_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_actor/drawBallModel__13fopEn_enemy_cFP12dKy_tevstr_c.s"
|
||||
void fopEn_enemy_c::drawBallModel(dKy_tevstr_c* param_0) {
|
||||
f32 tmp;
|
||||
|
||||
if (mBallModel) {
|
||||
Vec* base_scale = mBallModel->getBaseScale();
|
||||
|
||||
if ((u8)checkBallModelDraw()) {
|
||||
tmp = FLOAT_LABEL(lit_4505);
|
||||
} else {
|
||||
tmp = FLOAT_LABEL(lit_4555);
|
||||
}
|
||||
|
||||
cLib_chaseF(&base_scale->x,tmp,FLOAT_LABEL(lit_4556));
|
||||
|
||||
base_scale->y = base_scale->x;
|
||||
base_scale->z = base_scale->x;
|
||||
|
||||
mBallModel->setBaseScale(*base_scale);
|
||||
|
||||
if (base_scale->x > FLOAT_LABEL(lit_4557)) {
|
||||
mDoMtx_trans(mBallModel->getBaseTRMtx(),mDownPos.x,mDownPos.y,mDownPos.z);
|
||||
i_dKy_getEnvlight()->setLightTevColorType_MAJI(mBallModel, param_0);
|
||||
|
||||
mBtk->setFrame(field_0x590);
|
||||
mBallModel->getModelData()->entryTexMtxAnimator(mBtk);
|
||||
|
||||
mBrk->setFrame(field_0x590);
|
||||
mBallModel->getModelData()->entryTevRegAnimator(mBrk);
|
||||
|
||||
mDoExt_modelUpdateDL(mBallModel);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450CC0-80450CC8 0001C0 0004+04 0/0 9/9 0/0 .sbss
|
||||
* sInstance__35JASGlobalInstance<14JAUSectionHeap> */
|
||||
extern u8 data_80450CC0[4 + 4 /* padding */];
|
||||
u8 data_80450CC0[4 + 4 /* padding */];
|
||||
|
||||
/* 80378878-80378880 004ED8 0006+02 1/1 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
#pragma section ".dead"
|
||||
SECTION_DEAD static char const* const stringBase_80378878 = "Alink";
|
||||
/* @stringBase0 padding */
|
||||
SECTION_DEAD static char const* const pad_8037887E = "\0";
|
||||
#pragma pop
|
||||
|
|
|
|||
Loading…
Reference in New Issue