mirror of
https://github.com/zeldaret/tp
synced 2026-06-25 10:02:05 -04:00
d_a_obj_cboard / finish f_op_actor / rels cleanup (#268)
* d_a_obj_cboard / finish f_op_actor / clean up some rel files * rename some actor vars / remove asm * progress
This commit is contained in:
+70
-258
@@ -1,157 +1,19 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: f_op/f_op_actor
|
||||
//
|
||||
/**
|
||||
* f_op_actor.cpp
|
||||
* Actor base process class
|
||||
*/
|
||||
|
||||
#include "f_op/f_op_actor.h"
|
||||
#include "f_op/f_op_actor_tag.h"
|
||||
#include "d/d_stage.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/mtx/mtx.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "d/com/d_com_inf_actor.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "d/com/d_com_static.h"
|
||||
#include "d/com/d_com_inf_actor.h"
|
||||
#include "d/s/d_s_play.h"
|
||||
#include "d/d_demo.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__10fopAc_ac_cFv();
|
||||
extern "C" void __dt__5csXyzFv();
|
||||
extern "C" void __ct__11J3DLightObjFv();
|
||||
extern "C" void __dt__11dEvt_info_cFv();
|
||||
extern "C" void __dt__10fopAc_ac_cFv();
|
||||
extern "C" void fopAc_IsActor__FPv();
|
||||
extern "C" static void fopAc_Draw__FPv();
|
||||
extern "C" static void fopAc_Execute__FPv();
|
||||
extern "C" static void fopAc_IsDelete__FPv();
|
||||
extern "C" static void fopAc_Delete__FPv();
|
||||
extern "C" static void fopAc_Create__FPv();
|
||||
extern "C" void getFileListInfo__15dStage_roomDt_cCFv();
|
||||
extern "C" void initBallModel__13fopEn_enemy_cFv();
|
||||
extern "C" void checkBallModelDraw__13fopEn_enemy_cFv();
|
||||
extern "C" void setBallModelEffect__13fopEn_enemy_cFP12dKy_tevstr_c();
|
||||
extern "C" void drawBallModel__13fopEn_enemy_cFP12dKy_tevstr_c();
|
||||
extern "C" extern char const* const f_op_f_op_actor__stringBase0;
|
||||
extern "C" u8 stopStatus__10fopAc_ac_c[4];
|
||||
extern "C" extern u8 data_80450CC0[4 + 4 /* padding */];
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
|
||||
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
|
||||
extern "C" void fopAcTg_ToActorQ__FP16create_tag_class();
|
||||
extern "C" void fopAcTg_ActorQTo__FP16create_tag_class();
|
||||
extern "C" void fopAcTg_Init__FP16create_tag_classPv();
|
||||
extern "C" void fopAcM_delete__FP10fopAc_ac_c();
|
||||
extern "C" void fopAcM_DeleteHeap__FP10fopAc_ac_c();
|
||||
extern "C" void fopAcM_cullingCheck__FPC10fopAc_ac_c();
|
||||
extern "C" void fopDwTg_ToDrawQ__FP16create_tag_classi();
|
||||
extern "C" void fopDwTg_DrawQTo__FP16create_tag_class();
|
||||
extern "C" void fopDwTg_Init__FP16create_tag_classPv();
|
||||
extern "C" void fpcBs_Is_JustOfType__Fii();
|
||||
extern "C" void fpcBs_MakeOfType__FPi();
|
||||
extern "C" void fpcLf_GetPriority__FPC14leafdraw_class();
|
||||
extern "C" void fpcLf_DrawMethod__FP21leafdraw_method_classPv();
|
||||
extern "C" void fpcMtd_Execute__FP20process_method_classPv();
|
||||
extern "C" void fpcMtd_IsDelete__FP20process_method_classPv();
|
||||
extern "C" void fpcMtd_Delete__FP20process_method_classPv();
|
||||
extern "C" void fpcMtd_Create__FP20process_method_classPv();
|
||||
extern "C" void getStatusRoomDt__20dStage_roomControl_cFi();
|
||||
extern "C" void check__7daSus_cFP10fopAc_ac_c();
|
||||
extern "C" void isSwitch__10dSv_info_cCFii();
|
||||
extern "C" void setActor__13dDemo_actor_cFP10fopAc_ac_c();
|
||||
extern "C" void getActor__14dDemo_object_cFUc();
|
||||
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
|
||||
extern "C" void moveApproval__14dEvt_control_cFPv();
|
||||
extern "C" void __ct__11dEvt_info_cFv();
|
||||
extern "C" void beforeProc__11dEvt_info_cFv();
|
||||
extern "C" void
|
||||
set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
|
||||
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
|
||||
extern "C" void dKy_tevstr_init__FP12dKy_tevstr_cScUc();
|
||||
extern "C" void dKy_depth_dist_set__FPv();
|
||||
extern "C" void cLib_chaseF__FPfff();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void __as__12J3DLightInfoFRC12J3DLightInfo();
|
||||
extern "C" void searchUpdateMaterialID__19J3DAnmTextureSRTKeyFP12J3DModelData();
|
||||
extern "C" void searchUpdateMaterialID__15J3DAnmTevRegKeyFP12J3DModelData();
|
||||
extern "C" void entryTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey();
|
||||
extern "C" void entryTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey();
|
||||
extern "C" void __construct_array();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" f32 Zero__4cXyz[3];
|
||||
extern "C" u8 m_object__7dDemo_c[4];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
#include "d/s/d_s_play.h"
|
||||
#include "f_op/f_op_actor_tag.h"
|
||||
|
||||
/* 80018B64-80018BD0 0134A4 006C+00 0/0 7/7 562/562 .text __ct__10fopAc_ac_cFv */
|
||||
fopAc_ac_c::fopAc_ac_c() {}
|
||||
|
||||
/* 80018BD0-80018C0C 013510 003C+00 0/0 12/12 0/0 .text __dt__5csXyzFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
// asm csXyz::~csXyz() {
|
||||
extern "C" asm void __dt__5csXyzFv() {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_actor/__dt__5csXyzFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80018C0C-80018C44 01354C 0038+00 1/1 6/6 0/0 .text __ct__11J3DLightObjFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
// asm J3DLightObj::J3DLightObj() {
|
||||
extern "C" asm void __ct__11J3DLightObjFv() {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_actor/__ct__11J3DLightObjFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A35B0-803A35D0 -00001 0020+00 0/0 3/0 756/0 .data g_fopAc_Method */
|
||||
SECTION_DATA extern void* g_fopAc_Method[8] = {
|
||||
(void*)fopAc_Create__FPv,
|
||||
(void*)fopAc_Delete__FPv,
|
||||
(void*)fopAc_Execute__FPv,
|
||||
(void*)fopAc_IsDelete__FPv,
|
||||
(void*)fopAc_Draw__FPv,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
};
|
||||
|
||||
/* 803A35D0-803A35E0 0006F0 000C+04 2/2 1/1 0/0 .data __vt__11dEvt_info_c */
|
||||
SECTION_DATA extern void* __vt__11dEvt_info_c[3 + 1 /* padding */] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__11dEvt_info_cFv,
|
||||
/* padding */
|
||||
NULL,
|
||||
};
|
||||
|
||||
/* 80018C44-80018C8C 013584 0048+00 1/0 0/0 0/0 .text __dt__11dEvt_info_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
// asm dEvt_info_c::~dEvt_info_c() {
|
||||
extern "C" asm void __dt__11dEvt_info_cFv() {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_actor/__dt__11dEvt_info_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
|
||||
/* 80018C8C-80018CE0 0135CC 0054+00 0/0 5/5 270/270 .text __dt__10fopAc_ac_cFv */
|
||||
fopAc_ac_c::~fopAc_ac_c() {}
|
||||
|
||||
@@ -174,7 +36,11 @@ static int fopAc_Draw(void* actor) {
|
||||
|
||||
int ret = 1;
|
||||
if (!dComIfGp_isPauseFlag()) {
|
||||
if ((dComIfGp_event_moveApproval(ac) == 2 || (!fopAcM_checkStatus(ac, fopAc_ac_c::stopStatus) && (!fopAcM_checkStatus(ac, 0x100) || !fopAcM_cullingCheck(ac)))) && !fopAcM_checkStatus(ac, 0x21000000)) {
|
||||
if ((dComIfGp_event_moveApproval(ac) == 2 ||
|
||||
(!fopAcM_checkStatus(ac, fopAc_ac_c::stopStatus) &&
|
||||
(!fopAcM_checkStatus(ac, 0x100) || !fopAcM_cullingCheck(ac)))) &&
|
||||
!fopAcM_checkStatus(ac, 0x21000000))
|
||||
{
|
||||
fopAcM_OffCondition(ac, 4);
|
||||
ret = fpcLf_DrawMethod((leafdraw_method_class*)ac->mSubMtd, ac);
|
||||
} else {
|
||||
@@ -199,7 +65,10 @@ static int fopAc_Execute(void* actor) {
|
||||
s32 move = dComIfGp_event_moveApproval(actor);
|
||||
fopAcM_OffStatus(ac, 0x40000000);
|
||||
|
||||
if (!fopAcM_checkStatus(ac, 0x20000000) && (move == 2 || (move != 0 && !fopAcM_checkStatus(ac, fopAc_ac_c::stopStatus) && (!fopAcM_checkStatus(ac, 0x80) || !fopAcM_CheckCondition(ac, 4))))) {
|
||||
if (!fopAcM_checkStatus(ac, 0x20000000) &&
|
||||
(move == 2 || (move != 0 && !fopAcM_checkStatus(ac, fopAc_ac_c::stopStatus) &&
|
||||
(!fopAcM_checkStatus(ac, 0x80) || !fopAcM_CheckCondition(ac, 4)))))
|
||||
{
|
||||
fopAcM_OffCondition(ac, 2);
|
||||
ac->next = ac->current;
|
||||
ret = fpcMtd_Execute((process_method_class*)ac->mSubMtd, ac);
|
||||
@@ -244,7 +113,7 @@ static int fopAc_Delete(void* actor) {
|
||||
fopAcTg_ActorQTo(&ac->mAcTg);
|
||||
fopDwTg_DrawQTo(&ac->mDwTg);
|
||||
fopAcM_DeleteHeap(ac);
|
||||
|
||||
|
||||
dDemo_actor_c* demoAc = dDemo_c::getActor(ac->mDemoActorId);
|
||||
if (demoAc != NULL) {
|
||||
demoAc->setActor(NULL);
|
||||
@@ -254,34 +123,23 @@ static int fopAc_Delete(void* actor) {
|
||||
return deleted;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80451BD0-80451BD4 0001D0 0004+00 2/2 0/0 0/0 .sdata2 @4431 */
|
||||
SECTION_SDATA2 static f32 lit_4431 = 1.0f / 10.0f;
|
||||
|
||||
/* 80451BD4-80451BD8 0001D4 0004+00 1/1 0/0 0/0 .sdata2 @4432 */
|
||||
SECTION_SDATA2 static f32 lit_4432 = -100.0f;
|
||||
|
||||
/* 80451BD8-80451BE0 0001D8 0008+00 1/1 0/0 0/0 .sdata2 @4434 */
|
||||
SECTION_SDATA2 static f64 lit_4434 = 4503599627370496.0 /* cast u32 to float */;
|
||||
|
||||
/* 8001904C-800193FC 01398C 03B0+00 1/0 0/0 0/0 .text fopAc_Create__FPv */
|
||||
// swapped registers
|
||||
#ifdef NONMATCHING
|
||||
static int fopAc_Create(void* actor) {
|
||||
fopAc_ac_c* ac = (fopAc_ac_c*)actor;
|
||||
|
||||
if (fpcM_IsFirstCreating(actor)) {
|
||||
actor_process_profile_definition* profile = (actor_process_profile_definition*) fpcM_GetProfile(actor);
|
||||
actor_process_profile_definition* profile =
|
||||
(actor_process_profile_definition*)fpcM_GetProfile(actor);
|
||||
ac->mAcType = fpcBs_MakeOfType(&g_fopAc_type);
|
||||
ac->mSubMtd = (profile_method_class*)profile->mBase.mMethods;
|
||||
ac->mSubMtd = (profile_method_class*)profile->mSubMtd;
|
||||
|
||||
fopAcTg_Init(&ac->mAcTg, ac);
|
||||
fopAcTg_ToActorQ(&ac->mAcTg);
|
||||
fopDwTg_Init(&ac->mDwTg, ac);
|
||||
|
||||
ac->mStatus = profile->field_0x28;
|
||||
ac->mGroup = profile->field_0x2c;
|
||||
ac->mCullType = profile->field_0x2d;
|
||||
ac->mStatus = profile->mStatus;
|
||||
ac->mGroup = profile->mActorType;
|
||||
ac->mCullType = profile->mCullType;
|
||||
|
||||
fopAcM_prm_class* append = fopAcM_GetAppend(ac);
|
||||
if (append != NULL) {
|
||||
@@ -291,9 +149,10 @@ static int fopAc_Create(void* actor) {
|
||||
ac->shape_angle = append->mAngle;
|
||||
ac->mParentPcId = append->mParentPId;
|
||||
ac->mSubtype = append->mSubtype;
|
||||
ac->mScale.set(append->mScale[0] * 0.1f, append->mScale[1] * 0.1f, append->mScale[2] * 0.1f);
|
||||
ac->mScale.set(append->mScale[0] * 0.1f, append->mScale[1] * 0.1f,
|
||||
append->mScale[2] * 0.1f);
|
||||
ac->mSetID = append->mEnemyNo;
|
||||
ac->orig.mRoomNo = append->mRoomNo;
|
||||
ac->orig.roomNo = append->mRoomNo;
|
||||
}
|
||||
|
||||
ac->next = ac->orig;
|
||||
@@ -311,7 +170,7 @@ static int fopAc_Create(void* actor) {
|
||||
ac->mAttentionInfo.field_0x8[0] = 51;
|
||||
ac->mAttentionInfo.mPosition = ac->orig.pos;
|
||||
ac->mAttentionInfo.field_0xa = 30;
|
||||
dKy_tevstr_init(&ac->mTevStr, ac->orig.mRoomNo, -1);
|
||||
dKy_tevstr_init(&ac->mTevStr, ac->orig.roomNo, -1);
|
||||
|
||||
int roomNo = dComIfGp_roomControl_getStayNo();
|
||||
if (roomNo >= 0) {
|
||||
@@ -319,45 +178,40 @@ static int fopAc_Create(void* actor) {
|
||||
}
|
||||
|
||||
dStage_FileList_dt_c* filelist = NULL;
|
||||
if (ac->orig.mRoomNo >= 0) {
|
||||
filelist = dComIfGp_roomControl_getStatusRoomDt(ac->orig.mRoomNo)->mRoomDt.getFileListInfo();
|
||||
if (ac->orig.roomNo >= 0) {
|
||||
filelist =
|
||||
dComIfGp_roomControl_getStatusRoomDt(ac->orig.roomNo)->mRoomDt.getFileListInfo();
|
||||
}
|
||||
|
||||
if (filelist != NULL) {
|
||||
if (!dStage_FileList_dt_GetEnemyAppear1Flag(filelist)) {
|
||||
u32 sw = dStage_FileList_dt_GetBitSw(filelist);
|
||||
if (sw != 0xFF && dComIfGs_isSwitch(sw, ac->orig.mRoomNo) && profile->field_0x2c == 2) {
|
||||
return 5;
|
||||
if (sw != 0xFF && dComIfGs_isSwitch(sw, ac->orig.roomNo) &&
|
||||
profile->mActorType == 2)
|
||||
{
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
} else {
|
||||
u32 sw = dStage_FileList_dt_GetBitSw(filelist);
|
||||
if (sw != 0xFF && !dComIfGs_isSwitch(sw, ac->orig.mRoomNo) && profile->field_0x2c == 2) {
|
||||
return 5;
|
||||
if (sw != 0xFF && !dComIfGs_isSwitch(sw, ac->orig.roomNo) &&
|
||||
profile->mActorType == 2)
|
||||
{
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int ret = fpcMtd_Create((process_method_class*)ac->mSubMtd, ac);
|
||||
if (ret == 4) {
|
||||
if (ret == cPhs_COMPLEATE_e) {
|
||||
s32 priority = fpcLf_GetPriority(ac);
|
||||
fopDwTg_ToDrawQ(&ac->mDwTg, priority);
|
||||
} else if (ret == 5) {
|
||||
} else if (ret == cPhs_ERROR_e) {
|
||||
fopAcM_OnCondition(ac, 0x10);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm int fopAc_Create(void* param_0) {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_actor/fopAc_Create__FPv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 800193FC-80019404 013D3C 0008+00 0/0 1/0 0/0 .text getFileListInfo__15dStage_roomDt_cCFv */
|
||||
dStage_FileList_dt_c* dStage_roomDt_c::getFileListInfo() const {
|
||||
@@ -366,124 +220,75 @@ dStage_FileList_dt_c* dStage_roomDt_c::getFileListInfo() const {
|
||||
|
||||
/* 80019404-800194FC 013D44 00F8+00 0/0 0/0 2/2 .text initBallModel__13fopEn_enemy_cFv */
|
||||
bool fopEn_enemy_c::initBallModel() {
|
||||
void* objRes = dComIfG_getObjectRes("Alink",daAlink_c::getBallModelIdx());
|
||||
void* objRes = dComIfG_getObjectRes("Alink", daAlink_c::getBallModelIdx());
|
||||
mBallModel = mDoExt_J3DModel__create((J3DModelData*)objRes, 0x80000, 0x11000284);
|
||||
|
||||
if (!mBallModel) {
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
mBallModel->setBaseScale(cXyz::Zero);
|
||||
|
||||
mBtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("Alink",daAlink_c::getBallBtkIdx());
|
||||
mBtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("Alink", daAlink_c::getBallBtkIdx());
|
||||
mBtk->searchUpdateMaterialID(mBallModel->getModelData());
|
||||
|
||||
mBrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes("Alink",daAlink_c::getBallBrkIdx());
|
||||
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;
|
||||
bool fopEn_enemy_c::checkBallModelDraw() {
|
||||
return (mFlags & 1) && !(mFlags & 0x32);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80451BE0-80451BE8 0001E0 0004+04 2/2 0/0 0/0 .sdata2 @4505 */
|
||||
SECTION_SDATA2 static f32 lit_4505[1 + 1 /* padding */] = {
|
||||
1.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
|
||||
/* 80451BE8-80451BF0 0001E8 0008+00 1/1 0/0 0/0 .sdata2 @4507 */
|
||||
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) {
|
||||
void fopEn_enemy_c::setBallModelEffect(dKy_tevstr_c* i_tevstr) {
|
||||
if (mBallModel) {
|
||||
field_0x590 += FLOAT_LABEL(lit_4505);
|
||||
|
||||
field_0x590 += 1.0f;
|
||||
|
||||
if (field_0x590 >= mBtk->getFrameMax()) {
|
||||
field_0x590 -= mBtk->getFrameMax();
|
||||
}
|
||||
|
||||
if ((u8)checkBallModelDraw()) {
|
||||
if (checkBallModelDraw()) {
|
||||
Vec* base_scale = mBallModel->getBaseScale();
|
||||
cLib_chaseF(&base_scale->x,FLOAT_LABEL(lit_4505),FLOAT_LABEL(lit_4431));
|
||||
cLib_chaseF(&base_scale->x, 1.0f, 0.1f);
|
||||
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);
|
||||
mEffectID1 = dComIfGp_particle_set(mEffectID1, 0x86C8, &mDownPos, i_tevstr);
|
||||
mEffectID2 = dComIfGp_particle_set(mEffectID2, 0x86C9, &mDownPos, i_tevstr);
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void fopEn_enemy_c::setBallModelEffect(dKy_tevstr_c* param_0) {
|
||||
nofralloc
|
||||
#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 */
|
||||
SECTION_SDATA2 static u8 lit_4555[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
|
||||
/* 80451BF4-80451BF8 0001F4 0004+00 1/1 0/0 0/0 .sdata2 @4556 */
|
||||
SECTION_SDATA2 static f32 lit_4556 = 1.0f / 20.0f;
|
||||
|
||||
/* 80451BF8-80451C00 0001F8 0004+04 1/1 0/0 0/0 .sdata2 @4557 */
|
||||
SECTION_SDATA2 static f32 lit_4557[1 + 1 /* padding */] = {
|
||||
1.0f / 100.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
|
||||
/* 800196A0-800197BC 013FE0 011C+00 0/0 0/0 2/2 .text
|
||||
* drawBallModel__13fopEn_enemy_cFP12dKy_tevstr_c */
|
||||
void fopEn_enemy_c::drawBallModel(dKy_tevstr_c* param_0) {
|
||||
f32 tmp;
|
||||
void fopEn_enemy_c::drawBallModel(dKy_tevstr_c* i_tevstr) {
|
||||
f32 scale_target;
|
||||
|
||||
if (mBallModel) {
|
||||
Vec* base_scale = mBallModel->getBaseScale();
|
||||
|
||||
if ((u8)checkBallModelDraw()) {
|
||||
tmp = FLOAT_LABEL(lit_4505);
|
||||
if (checkBallModelDraw()) {
|
||||
scale_target = 1.0f;
|
||||
} else {
|
||||
tmp = FLOAT_LABEL(lit_4555);
|
||||
scale_target = 0.0f;
|
||||
}
|
||||
|
||||
cLib_chaseF(&base_scale->x,tmp,FLOAT_LABEL(lit_4556));
|
||||
cLib_chaseF(&base_scale->x, scale_target, 0.05f);
|
||||
|
||||
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);
|
||||
if (base_scale->x > 0.01f) {
|
||||
mDoMtx_trans(mBallModel->getBaseTRMtx(), mDownPos.x, mDownPos.y, mDownPos.z);
|
||||
i_dKy_getEnvlight()->setLightTevColorType_MAJI(mBallModel, i_tevstr);
|
||||
|
||||
mBtk->setFrame(field_0x590);
|
||||
mBallModel->getModelData()->entryTexMtxAnimator(mBtk);
|
||||
@@ -493,10 +298,17 @@ void fopEn_enemy_c::drawBallModel(dKy_tevstr_c* param_0) {
|
||||
|
||||
mDoExt_modelUpdateDL(mBallModel);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A35B0-803A35D0 -00001 0020+00 0/0 3/0 756/0 .data g_fopAc_Method */
|
||||
extern actor_method_class g_fopAc_Method = {
|
||||
(process_method_func)fopAc_Create, (process_method_func)fopAc_Delete,
|
||||
(process_method_func)fopAc_Execute, (process_method_func)fopAc_IsDelete,
|
||||
(process_method_func)fopAc_Draw,
|
||||
};
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450CC0-80450CC8 0001C0 0004+04 0/0 9/9 0/0 .sbss
|
||||
* sInstance__35JASGlobalInstance<14JAUSectionHeap> */
|
||||
|
||||
Reference in New Issue
Block a user