mirror of
https://github.com/zeldaret/tww.git
synced 2026-06-08 12:17:12 -04:00
kankyo fixes, d_envse start
This commit is contained in:
@@ -4,11 +4,15 @@
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "f_pc/f_pc_leaf.h"
|
||||
|
||||
struct kankyo_method_class {
|
||||
/* 0x00 */ leafdraw_method_class base;
|
||||
};
|
||||
|
||||
class kankyo_class : public leafdraw_class {
|
||||
public:
|
||||
/* 0xC0 */ int mBsType;
|
||||
/* 0xC4 */ create_tag_class mDwTg;
|
||||
/* 0xD8 */ leafdraw_method_class* mSubMtd;
|
||||
/* 0xD8 */ kankyo_method_class* mSubMtd;
|
||||
/* 0xDC */ cXyz mPos;
|
||||
/* 0xE8 */ cXyz mScale;
|
||||
/* 0xF4 */ u32 mParam;
|
||||
@@ -16,7 +20,7 @@ public:
|
||||
|
||||
struct kankyo_process_profile_definition {
|
||||
/* 0x00 */ leaf_process_profile_definition base;
|
||||
/* 0x24 */ leafdraw_method_class* mSubMtd;
|
||||
/* 0x24 */ kankyo_method_class* mSubMtd;
|
||||
}; // Size: 0x28
|
||||
|
||||
extern leafdraw_method_class g_fopKy_Method;
|
||||
|
||||
+46
-13
@@ -3,12 +3,23 @@
|
||||
// Translation Unit: d_envse.cpp
|
||||
//
|
||||
|
||||
#include "d_envse.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_kankyo.h"
|
||||
#include "f_op/f_op_kankyo_mng.h"
|
||||
#include "d/d_procname.h"
|
||||
#include "d/d_stage.h"
|
||||
#include "m_Do/m_Do_audio.h"
|
||||
|
||||
class dEnvSe_c : public kankyo_class {
|
||||
public:
|
||||
BOOL execute();
|
||||
|
||||
/* 0xF8 */ u32 field_0xf8;
|
||||
/* 0xFC */ u32 field_0xfc;
|
||||
};
|
||||
|
||||
/* 8017D4C0-8017D4C8 .text dEnvSe_Draw__FP8dEnvSe_c */
|
||||
void dEnvSe_Draw(dEnvSe_c*) {
|
||||
/* Nonmatching */
|
||||
BOOL dEnvSe_Draw(dEnvSe_c* i_this) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 8017D4C8-8017D700 .text dEnvSe_getNearPathPos__FP4cXyzP4cXyzP5dPath */
|
||||
@@ -17,27 +28,49 @@ void dEnvSe_getNearPathPos(cXyz*, cXyz*, dPath*) {
|
||||
}
|
||||
|
||||
/* 8017D700-8017DAE0 .text execute__8dEnvSe_cFv */
|
||||
void dEnvSe_c::execute() {
|
||||
BOOL dEnvSe_c::execute() {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
/* 8017DAE0-8017DB00 .text dEnvSe_Execute__FP8dEnvSe_c */
|
||||
void dEnvSe_Execute(dEnvSe_c*) {
|
||||
/* Nonmatching */
|
||||
BOOL dEnvSe_Execute(dEnvSe_c* i_this) {
|
||||
return i_this->execute();
|
||||
}
|
||||
|
||||
/* 8017DB00-8017DB08 .text dEnvSe_IsDelete__FP8dEnvSe_c */
|
||||
void dEnvSe_IsDelete(dEnvSe_c*) {
|
||||
/* Nonmatching */
|
||||
BOOL dEnvSe_IsDelete(dEnvSe_c* i_this) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 8017DB08-8017DB38 .text dEnvSe_Delete__FP8dEnvSe_c */
|
||||
void dEnvSe_Delete(dEnvSe_c*) {
|
||||
/* Nonmatching */
|
||||
BOOL dEnvSe_Delete(dEnvSe_c* i_this) {
|
||||
mDoAud_seDeleteObject(&i_this->mPos);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 8017DB38-8017DB40 .text dEnvSe_Create__FP12kankyo_class */
|
||||
void dEnvSe_Create(kankyo_class*) {
|
||||
/* Nonmatching */
|
||||
s32 dEnvSe_Create(kankyo_class*) {
|
||||
return cPhs_COMPLEATE_e;
|
||||
}
|
||||
|
||||
kankyo_method_class l_dEnvSe_Method = {
|
||||
(process_method_func)dEnvSe_Create,
|
||||
(process_method_func)dEnvSe_Delete,
|
||||
(process_method_func)dEnvSe_Execute,
|
||||
(process_method_func)dEnvSe_IsDelete,
|
||||
(process_method_func)dEnvSe_Draw,
|
||||
};
|
||||
|
||||
kankyo_process_profile_definition g_profile_EnvSe = {
|
||||
fpcLy_CURRENT_e,
|
||||
2,
|
||||
fpcPi_CURRENT_e,
|
||||
PROC_ENVSE,
|
||||
&g_fpcLf_Method.mBase,
|
||||
sizeof(dEnvSe_c),
|
||||
0,
|
||||
0,
|
||||
&g_fopKy_Method,
|
||||
0xA9,
|
||||
&l_dEnvSe_Method,
|
||||
};
|
||||
|
||||
+2
-2
@@ -2967,7 +2967,7 @@ BOOL dKyr_player_overhead_bg_chk() {
|
||||
class sub_kankyo__class : public kankyo_class {
|
||||
};
|
||||
|
||||
static leafdraw_method_class l_dKy_Method = {
|
||||
kankyo_method_class l_dKy_Method = {
|
||||
(process_method_func)dKy_Create,
|
||||
(process_method_func)dKy_Delete,
|
||||
(process_method_func)dKy_Execute,
|
||||
@@ -2975,7 +2975,7 @@ static leafdraw_method_class l_dKy_Method = {
|
||||
(process_method_func)dKy_Draw,
|
||||
};
|
||||
|
||||
extern kankyo_process_profile_definition g_profile_KANKYO = {
|
||||
kankyo_process_profile_definition g_profile_KANKYO = {
|
||||
fpcLy_CURRENT_e,
|
||||
1,
|
||||
fpcPi_CURRENT_e,
|
||||
|
||||
+2
-2
@@ -164,7 +164,7 @@ s32 dKyeff_Create(kankyo_class* i_ky) {
|
||||
return cPhs_COMPLEATE_e;
|
||||
}
|
||||
|
||||
leafdraw_method_class l_dKyeff_Method = {
|
||||
kankyo_method_class l_dKyeff_Method = {
|
||||
(process_method_func)dKyeff_Create,
|
||||
(process_method_func)dKyeff_Delete,
|
||||
(process_method_func)dKyeff_Execute,
|
||||
@@ -172,7 +172,7 @@ leafdraw_method_class l_dKyeff_Method = {
|
||||
(process_method_func)dKyeff_Draw,
|
||||
};
|
||||
|
||||
extern kankyo_process_profile_definition g_profile_KYEFF = {
|
||||
kankyo_process_profile_definition g_profile_KYEFF = {
|
||||
fpcLy_CURRENT_e,
|
||||
12,
|
||||
fpcPi_CURRENT_e,
|
||||
|
||||
+2
-2
@@ -53,7 +53,7 @@ s32 dKyeff2_Create(kankyo_class*) {
|
||||
return cPhs_COMPLEATE_e;
|
||||
}
|
||||
|
||||
leafdraw_method_class l_dKyeff2_Method = {
|
||||
kankyo_method_class l_dKyeff2_Method = {
|
||||
(process_method_func)dKyeff2_Create,
|
||||
(process_method_func)dKyeff2_Delete,
|
||||
(process_method_func)dKyeff2_Execute,
|
||||
@@ -61,7 +61,7 @@ leafdraw_method_class l_dKyeff2_Method = {
|
||||
(process_method_func)dKyeff2_Draw,
|
||||
};
|
||||
|
||||
extern kankyo_process_profile_definition g_profile_KYEFF2 = {
|
||||
kankyo_process_profile_definition g_profile_KYEFF2 = {
|
||||
fpcLy_CURRENT_e,
|
||||
12,
|
||||
fpcPi_CURRENT_e,
|
||||
|
||||
+1
-1
@@ -2015,7 +2015,7 @@ void dStage_Create() {
|
||||
// NONMATCHING - almost
|
||||
void dStage_Delete() {
|
||||
if (*dStage_roomControl_c::getDemoArcName() != 0) {
|
||||
dComIfG_deleteObjectResMain(dStage_roomControl_c::getDemoArcName());
|
||||
dComIfG_deleteObjectRes(dStage_roomControl_c::getDemoArcName());
|
||||
}
|
||||
|
||||
dStage_roomControl_c::destroyMemoryBlock();
|
||||
|
||||
+29
-30
@@ -13,48 +13,48 @@
|
||||
extern bool dMenu_flag(void);
|
||||
|
||||
/* 8002A454-8002A4A4 .text fopKy_Draw__FPv */
|
||||
static int fopKy_Draw(void* i_this) {
|
||||
static int fopKy_Draw(void* i_ky) {
|
||||
int ret;
|
||||
kankyo_class* _this = (kankyo_class*)i_this;
|
||||
kankyo_class* i_this = (kankyo_class*)i_ky;
|
||||
|
||||
if (!dMenu_flag()) {
|
||||
ret = fpcLf_DrawMethod(_this->mSubMtd, i_this);
|
||||
ret = fpcLf_DrawMethod((leafdraw_method_class*)i_this->mSubMtd, i_this);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* 8002A4A4-8002A514 .text fopKy_Execute__FPv */
|
||||
static int fopKy_Execute(void* i_this) {
|
||||
static int fopKy_Execute(void* i_ky) {
|
||||
int ret;
|
||||
kankyo_class* _this = (kankyo_class*)i_this;
|
||||
kankyo_class* i_this = (kankyo_class*)i_ky;
|
||||
|
||||
if (!dScnPly_ply_c::isPause() && (!dMenu_flag() || fpcM_GetName(i_this) == PROC_ENVSE || fpcM_GetName(i_this) == PROC_LEVEL_SE)) {
|
||||
ret = fpcMtd_Execute(&_this->mSubMtd->mBase, i_this);
|
||||
if (!dScnPly_ply_c::isPause() && (!dMenu_flag() || fpcM_GetName(i_ky) == PROC_ENVSE || fpcM_GetName(i_ky) == PROC_LEVEL_SE)) {
|
||||
ret = fpcMtd_Execute((process_method_class*)i_this->mSubMtd, i_ky);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* 8002A514-8002A568 .text fopKy_IsDelete__FPv */
|
||||
static int fopKy_IsDelete(void* i_this) {
|
||||
static int fopKy_IsDelete(void* i_ky) {
|
||||
int ret;
|
||||
kankyo_class* _this = (kankyo_class*)i_this;
|
||||
kankyo_class* i_this = (kankyo_class*)i_ky;
|
||||
|
||||
ret = fpcMtd_IsDelete(&_this->mSubMtd->mBase, _this);
|
||||
ret = fpcMtd_IsDelete((process_method_class*)i_this->mSubMtd, i_this);
|
||||
if (ret == 1) {
|
||||
fopDwTg_DrawQTo(&_this->mDwTg);
|
||||
fopDwTg_DrawQTo(&i_this->mDwTg);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* 8002A568-8002A5B4 .text fopKy_Delete__FPv */
|
||||
static int fopKy_Delete(void* i_this) {
|
||||
kankyo_class* _this = (kankyo_class*)i_this;
|
||||
static int fopKy_Delete(void* i_ky) {
|
||||
kankyo_class* i_this = (kankyo_class*)i_ky;
|
||||
|
||||
int ret = fpcMtd_Delete(&_this->mSubMtd->mBase, _this);
|
||||
fopDwTg_DrawQTo(&_this->mDwTg);
|
||||
int ret = fpcMtd_Delete((process_method_class*)i_this->mSubMtd, i_this);
|
||||
fopDwTg_DrawQTo(&i_this->mDwTg);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -62,30 +62,29 @@ static int fopKy_Delete(void* i_this) {
|
||||
static int fopKy_KANKYO_TYPE;
|
||||
|
||||
/* 8002A5B4-8002A688 .text fopKy_Create__FPv */
|
||||
static int fopKy_Create(void* i_this) {
|
||||
kankyo_class* _this = (kankyo_class*)i_this;
|
||||
static int fopKy_Create(void* i_ky) {
|
||||
kankyo_class* i_this = (kankyo_class*)i_ky;
|
||||
|
||||
if (fpcM_IsFirstCreating(i_this)) {
|
||||
kankyo_process_profile_definition* profile =
|
||||
(kankyo_process_profile_definition*)fpcM_GetProfile(i_this);
|
||||
if (fpcM_IsFirstCreating(i_ky)) {
|
||||
kankyo_process_profile_definition* profile = (kankyo_process_profile_definition*)fpcM_GetProfile(i_ky);
|
||||
|
||||
_this->mBsType = fpcBs_MakeOfType(&fopKy_KANKYO_TYPE);
|
||||
_this->mSubMtd = profile->mSubMtd;
|
||||
i_this->mBsType = fpcBs_MakeOfType(&fopKy_KANKYO_TYPE);
|
||||
i_this->mSubMtd = profile->mSubMtd;
|
||||
|
||||
fopDwTg_Init(&_this->mDwTg, _this);
|
||||
fopKyM_prm_class* append = (fopKyM_prm_class*)fopKyM_GetAppend(_this);
|
||||
fopDwTg_Init(&i_this->mDwTg, i_this);
|
||||
fopKyM_prm_class* append = (fopKyM_prm_class*)fopKyM_GetAppend(i_this);
|
||||
|
||||
if (append != NULL) {
|
||||
_this->mPos = append->mPos;
|
||||
_this->mScale = append->mScale;
|
||||
_this->mParam = append->mParam;
|
||||
i_this->mPos = append->mPos;
|
||||
i_this->mScale = append->mScale;
|
||||
i_this->mParam = append->mParam;
|
||||
}
|
||||
}
|
||||
|
||||
int ret = fpcMtd_Create(&_this->mSubMtd->mBase, _this);
|
||||
int ret = fpcMtd_Create((process_method_class*)i_this->mSubMtd, i_this);
|
||||
if (ret == cPhs_COMPLEATE_e) {
|
||||
s32 priority = fpcLf_GetPriority(_this);
|
||||
fopDwTg_ToDrawQ(&_this->mDwTg, priority);
|
||||
s32 priority = fpcLf_GetPriority(i_this);
|
||||
fopDwTg_ToDrawQ(&i_this->mDwTg, priority);
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
||||
Reference in New Issue
Block a user