mirror of
https://github.com/zeldaret/tp
synced 2026-08-08 18:43:50 -04:00
d_a_obj_lv3waterEff / d_a_kytag16 OK
This commit is contained in:
@@ -1,258 +1,123 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: d_a_obj_lv3waterEff
|
||||
//
|
||||
/**
|
||||
* d_a_obj_lv3waterEff.cpp
|
||||
* Lakebed Temple Pre-Deku Toad Room Water Bubbles
|
||||
*/
|
||||
|
||||
#include "rel/d/a/obj/d_a_obj_lv3waterEff/d_a_obj_lv3waterEff.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "d/d_procname.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct fopAc_ac_c {
|
||||
/* 80018B64 */ fopAc_ac_c();
|
||||
};
|
||||
|
||||
struct daObjWaterEff_c {
|
||||
/* 80C5C4F8 */ void Create();
|
||||
/* 80C5C5DC */ void create();
|
||||
/* 80C5C6B0 */ void execute();
|
||||
/* 80C5C7B8 */ void _delete();
|
||||
};
|
||||
|
||||
struct dPa_levelEcallBack {};
|
||||
|
||||
struct dKy_tevstr_c {};
|
||||
|
||||
struct csXyz {};
|
||||
|
||||
struct _GXColor {};
|
||||
|
||||
struct cXyz {
|
||||
/* 80C5C670 */ ~cXyz();
|
||||
/* 80C5C6AC */ cXyz();
|
||||
};
|
||||
|
||||
struct dPa_control_c {
|
||||
/* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*,
|
||||
u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*,
|
||||
cXyz const*, f32);
|
||||
};
|
||||
|
||||
struct JAISoundID {};
|
||||
|
||||
struct Vec {};
|
||||
|
||||
struct Z2SeMgr {
|
||||
/* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
|
||||
};
|
||||
|
||||
struct Z2AudioMgr {
|
||||
static u8 mAudioMgrPtr[4 + 4 /* padding */];
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void Create__15daObjWaterEff_cFv();
|
||||
extern "C" void create__15daObjWaterEff_cFv();
|
||||
extern "C" void __dt__4cXyzFv();
|
||||
extern "C" void __ct__4cXyzFv();
|
||||
extern "C" void execute__15daObjWaterEff_cFv();
|
||||
extern "C" void _delete__15daObjWaterEff_cFv();
|
||||
extern "C" static void daObjWaterEff_Execute__FP15daObjWaterEff_c();
|
||||
extern "C" static void daObjWaterEff_Delete__FP15daObjWaterEff_c();
|
||||
extern "C" static void daObjWaterEff_Create__FP10fopAc_ac_c();
|
||||
extern "C" extern void* g_profile_Obj_WaterEff[12];
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__10fopAc_ac_cFv();
|
||||
extern "C" void
|
||||
set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
|
||||
extern "C" void dKy_camera_water_in_status_check__Fv();
|
||||
extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void __construct_array();
|
||||
extern "C" void _savegpr_25();
|
||||
extern "C" void _restgpr_25();
|
||||
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];
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C5C878-80C5C880 000000 0008+00 1/1 0/0 0/0 .rodata l_eff_id */
|
||||
SECTION_RODATA static u8 const l_eff_id[8] = {
|
||||
0x86, 0xD2, 0x86, 0xD3, 0x86, 0xD4, 0x86, 0xD5,
|
||||
static u16 const l_eff_id[] = {
|
||||
0x86D2,
|
||||
0x86D3,
|
||||
0x86D4,
|
||||
0x86D5,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C5C878, &l_eff_id);
|
||||
|
||||
/* 80C5C880-80C5C884 000008 0004+00 1/2 0/0 0/0 .rodata @3637 */
|
||||
SECTION_RODATA static f32 const lit_3637 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x80C5C880, &lit_3637);
|
||||
|
||||
/* 80C5C884-80C5C888 00000C 0004+00 0/1 0/0 0/0 .rodata @3638 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3638 = 14420.0f;
|
||||
COMPILER_STRIP_GATE(0x80C5C884, &lit_3638);
|
||||
#pragma pop
|
||||
|
||||
/* 80C5C888-80C5C88C 000010 0004+00 0/1 0/0 0/0 .rodata @3639 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3639 = -1100.0f;
|
||||
COMPILER_STRIP_GATE(0x80C5C888, &lit_3639);
|
||||
#pragma pop
|
||||
|
||||
/* 80C5C88C-80C5C890 000014 0004+00 0/1 0/0 0/0 .rodata @3640 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3640 = -4950.0f;
|
||||
COMPILER_STRIP_GATE(0x80C5C88C, &lit_3640);
|
||||
#pragma pop
|
||||
|
||||
/* 80C5C890-80C5C894 000018 0004+00 0/1 0/0 0/0 .rodata @3641 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3641 = 12585.0f;
|
||||
COMPILER_STRIP_GATE(0x80C5C890, &lit_3641);
|
||||
#pragma pop
|
||||
|
||||
/* 80C5C894-80C5C898 00001C 0004+00 0/1 0/0 0/0 .rodata @3642 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3642 = -550.0f;
|
||||
COMPILER_STRIP_GATE(0x80C5C894, &lit_3642);
|
||||
#pragma pop
|
||||
|
||||
/* 80C5C898-80C5C89C 000020 0004+00 0/1 0/0 0/0 .rodata @3643 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3643 = -2390.0f;
|
||||
COMPILER_STRIP_GATE(0x80C5C898, &lit_3643);
|
||||
#pragma pop
|
||||
|
||||
/* 80C5C4F8-80C5C5DC 000078 00E4+00 1/1 0/0 0/0 .text Create__15daObjWaterEff_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjWaterEff_c::Create() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_lv3waterEff/d_a_obj_lv3waterEff/Create__15daObjWaterEff_cFv.s"
|
||||
int daObjWaterEff_c::Create() {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
mParticles[i] = dComIfGp_particle_set(l_eff_id[i], ¤t.pos, NULL, NULL, 0xFF, NULL, -1,
|
||||
NULL, NULL, NULL);
|
||||
}
|
||||
|
||||
mSePositions[0].set(14420.0f, -1100.0f, -4950.0f);
|
||||
mSePositions[1].set(12585.0f, -550.0f, -2390.0f);
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C5C5DC-80C5C670 00015C 0094+00 1/1 0/0 0/0 .text create__15daObjWaterEff_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjWaterEff_c::create() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_lv3waterEff/d_a_obj_lv3waterEff/func_80C5C5DC.s"
|
||||
}
|
||||
#pragma pop
|
||||
int daObjWaterEff_c::create() {
|
||||
if (!fopAcM_CheckCondition(this, 8)) {
|
||||
new (this) daObjWaterEff_c();
|
||||
fopAcM_OnCondition(this, 8);
|
||||
}
|
||||
|
||||
/* 80C5C670-80C5C6AC 0001F0 003C+00 1/1 0/0 0/0 .text __dt__4cXyzFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm cXyz::~cXyz() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_lv3waterEff/d_a_obj_lv3waterEff/__dt__4cXyzFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
if (!Create()) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
/* 80C5C6AC-80C5C6B0 00022C 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */
|
||||
cXyz::cXyz() {
|
||||
/* empty function */
|
||||
return cPhs_COMPLEATE_e;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C5C89C-80C5C8A0 000024 0004+00 1/1 0/0 0/0 .rodata @3710 */
|
||||
SECTION_RODATA static f32 const lit_3710 = -1.0f;
|
||||
COMPILER_STRIP_GATE(0x80C5C89C, &lit_3710);
|
||||
|
||||
/* 80C5C6B0-80C5C7B8 000230 0108+00 1/1 0/0 0/0 .text execute__15daObjWaterEff_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjWaterEff_c::execute() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_lv3waterEff/d_a_obj_lv3waterEff/execute__15daObjWaterEff_cFv.s"
|
||||
int daObjWaterEff_c::execute() {
|
||||
if (dKy_camera_water_in_status_check()) {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
if (mParticles[i] != NULL) {
|
||||
mParticles[i]->setGlobalAlpha(255);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
if (mParticles[i] != NULL) {
|
||||
mParticles[i]->setGlobalAlpha(128);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
i_mDoAud_seStartLevel(Z2SE_OBJ_WTR_STREAM, &mSePositions[i], 0, 0);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C5C7B8-80C5C810 000338 0058+00 1/1 0/0 0/0 .text _delete__15daObjWaterEff_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjWaterEff_c::_delete() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_lv3waterEff/d_a_obj_lv3waterEff/_delete__15daObjWaterEff_cFv.s"
|
||||
int daObjWaterEff_c::_delete() {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
if (mParticles[i] != NULL) {
|
||||
mParticles[i]->becomeInvalidEmitter();
|
||||
mParticles[i]->quitImmortalEmitter();
|
||||
mParticles[i] = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C5C810-80C5C830 000390 0020+00 1/0 0/0 0/0 .text daObjWaterEff_Execute__FP15daObjWaterEff_c
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObjWaterEff_Execute(daObjWaterEff_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_lv3waterEff/d_a_obj_lv3waterEff/daObjWaterEff_Execute__FP15daObjWaterEff_c.s"
|
||||
static int daObjWaterEff_Execute(daObjWaterEff_c* i_this) {
|
||||
return i_this->execute();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C5C830-80C5C850 0003B0 0020+00 1/0 0/0 0/0 .text daObjWaterEff_Delete__FP15daObjWaterEff_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObjWaterEff_Delete(daObjWaterEff_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_lv3waterEff/d_a_obj_lv3waterEff/daObjWaterEff_Delete__FP15daObjWaterEff_c.s"
|
||||
static int daObjWaterEff_Delete(daObjWaterEff_c* i_this) {
|
||||
return i_this->_delete();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C5C850-80C5C870 0003D0 0020+00 1/0 0/0 0/0 .text daObjWaterEff_Create__FP10fopAc_ac_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObjWaterEff_Create(fopAc_ac_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_lv3waterEff/d_a_obj_lv3waterEff/daObjWaterEff_Create__FP10fopAc_ac_c.s"
|
||||
static int daObjWaterEff_Create(fopAc_ac_c* i_this) {
|
||||
return static_cast<daObjWaterEff_c*>(i_this)->create();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C5C8A0-80C5C8C0 -00001 0020+00 1/0 0/0 0/0 .data l_daObjWaterEff_Method */
|
||||
SECTION_DATA static void* l_daObjWaterEff_Method[8] = {
|
||||
(void*)daObjWaterEff_Create__FP10fopAc_ac_c,
|
||||
(void*)daObjWaterEff_Delete__FP15daObjWaterEff_c,
|
||||
(void*)daObjWaterEff_Execute__FP15daObjWaterEff_c,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
static actor_method_class l_daObjWaterEff_Method = {
|
||||
(process_method_func)daObjWaterEff_Create,
|
||||
(process_method_func)daObjWaterEff_Delete,
|
||||
(process_method_func)daObjWaterEff_Execute,
|
||||
(process_method_func)NULL,
|
||||
(process_method_func)NULL,
|
||||
};
|
||||
|
||||
/* 80C5C8C0-80C5C8F0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_WaterEff */
|
||||
SECTION_DATA extern void* g_profile_Obj_WaterEff[12] = {
|
||||
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
|
||||
(void*)0x017F0000, (void*)&g_fpcLf_Method,
|
||||
(void*)0x00000594, (void*)NULL,
|
||||
(void*)NULL, (void*)&g_fopAc_Method,
|
||||
(void*)0x022B0000, (void*)&l_daObjWaterEff_Method,
|
||||
(void*)0x00040100, (void*)0x000E0000,
|
||||
extern actor_process_profile_definition g_profile_Obj_WaterEff = {
|
||||
-3,
|
||||
7,
|
||||
-3,
|
||||
PROC_Obj_WaterEff,
|
||||
&g_fpcLf_Method.mBase,
|
||||
sizeof(daObjWaterEff_c),
|
||||
0,
|
||||
0,
|
||||
&g_fopAc_Method.base,
|
||||
555,
|
||||
&l_daObjWaterEff_Method,
|
||||
0x40100,
|
||||
0,
|
||||
14,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user