mirror of
https://github.com/zeldaret/tp
synced 2026-06-21 00:31:25 -04:00
d_kankyo_wether / d_eye_hl (#178)
* d_eye_hl / d_kankyo_wether wip * more d_kankyo_wether + format * remove asm * some d_kankyo wip * fix dccs vtable * some m_Do_graphic / d_meter2_draw work
This commit is contained in:
@@ -3324,7 +3324,6 @@ extern "C" u8 BaseY__4cXyz[12];
|
||||
extern "C" u8 BaseZ__4cXyz[12];
|
||||
extern "C" u8 mCurrentMtx__6J3DSys[48];
|
||||
extern "C" u8 sincosTable___5JMath[65536];
|
||||
extern "C" extern u32 g_whiteColor;
|
||||
extern "C" u16 m_branchId__7dDemo_c[1 + 3 /* padding */];
|
||||
extern "C" extern u8 data_80450B38[4];
|
||||
extern "C" f32 mGroundY__11fopAcM_gc_c;
|
||||
@@ -3582,10 +3581,10 @@ void daAlink_c::setMatrixWorldAxisRot(MtxP param_0, s16 param_1, s16 param_2, s1
|
||||
mDoMtx_stack_c::YrotM(-mCollisionRot.y);
|
||||
concatMagneBootInvMtx();
|
||||
mDoMtx_stack_c::transM(-tmp.x, -tmp.y, -tmp.z);
|
||||
PSMTXConcat(*mDoMtx_stack_c::get(), param_0, *mDoMtx_stack_c::get());
|
||||
PSMTXCopy(*mDoMtx_stack_c::get(), param_0);
|
||||
PSMTXConcat(mDoMtx_stack_c::get(), param_0, mDoMtx_stack_c::get());
|
||||
PSMTXCopy(mDoMtx_stack_c::get(), param_0);
|
||||
if (param_4 != 0) {
|
||||
PSMTXCopy(*mDoMtx_stack_c::get(), J3DSys::mCurrentMtx);
|
||||
PSMTXCopy(mDoMtx_stack_c::get(), J3DSys::mCurrentMtx);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -172,7 +172,7 @@ int dBgS_MoveBgActor::MoveBGCreate(char const* p_name, int dzb_id, MoveBGActor_S
|
||||
mDoMtx_stack_c::transS(mCurrent.mPosition.x, mCurrent.mPosition.y, mCurrent.mPosition.z);
|
||||
mDoMtx_stack_c::YrotM(mCollisionRot.y);
|
||||
mDoMtx_stack_c::scaleM(mScale.x, mScale.y, mScale.z);
|
||||
PSMTXCopy(*mDoMtx_stack_c::get(), field_0x56c);
|
||||
PSMTXCopy(mDoMtx_stack_c::get(), field_0x56c);
|
||||
} else {
|
||||
PSMTXCopy(*param_4, field_0x56c);
|
||||
}
|
||||
@@ -222,7 +222,7 @@ bool dBgS_MoveBgActor::MoveBGExecute() {
|
||||
mDoMtx_stack_c::transS(mCurrent.mPosition.x, mCurrent.mPosition.y, mCurrent.mPosition.z);
|
||||
mDoMtx_stack_c::YrotM(mCollisionRot.y);
|
||||
mDoMtx_stack_c::scaleM(mScale.x, mScale.y, mScale.z);
|
||||
PSMTXCopy(*mDoMtx_stack_c::get(), field_0x56c);
|
||||
PSMTXCopy(mDoMtx_stack_c::get(), field_0x56c);
|
||||
} else {
|
||||
PSMTXCopy(*tmp, field_0x56c);
|
||||
}
|
||||
|
||||
+19
-175
@@ -3,7 +3,8 @@
|
||||
// Translation Unit: d/cc/d_cc_s
|
||||
//
|
||||
|
||||
//#include "d/cc/d_cc_s.h"
|
||||
#include "d/cc/d_cc_s.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
@@ -11,139 +12,12 @@
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct csXyz {};
|
||||
|
||||
struct mDoMtx_stack_c {
|
||||
/* 8000CF0C */ void ZXYrotS(csXyz const&);
|
||||
|
||||
static u8 now[48];
|
||||
};
|
||||
|
||||
struct fopAc_ac_c {};
|
||||
|
||||
struct cXyz {
|
||||
static u8 BaseZ[12];
|
||||
};
|
||||
|
||||
struct dPa_control_c {
|
||||
/* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32);
|
||||
};
|
||||
|
||||
struct dJntCol_c {
|
||||
/* 80036C44 */ void getHitmarkPosAndAngle(cXyz const*, csXyz const*, cXyz*, csXyz*, int) const;
|
||||
};
|
||||
|
||||
struct dCcD_GObjInf {
|
||||
/* 800843DC */ void ChkAtNoGuard();
|
||||
};
|
||||
|
||||
struct cCcD_GObjInf {};
|
||||
|
||||
struct cCcD_ShapeAttr {
|
||||
struct Shape {};
|
||||
};
|
||||
|
||||
struct cCcD_Stts {
|
||||
/* 80263934 */ void PlusCcMove(f32, f32, f32);
|
||||
/* 80263970 */ void PlusDmg(int);
|
||||
};
|
||||
|
||||
struct cCcD_GStts {};
|
||||
|
||||
struct cCcD_Obj {
|
||||
/* 80263A48 */ void GetAc();
|
||||
};
|
||||
|
||||
struct dCcD_GStts {};
|
||||
|
||||
struct dCcS {
|
||||
/* 8002FF40 */ ~dCcS();
|
||||
/* 80085ED4 */ void Ct();
|
||||
/* 80085F08 */ void Dt();
|
||||
/* 80085F28 */ void ChkShieldFrontRange(cCcD_Obj*, cCcD_Obj*, int, cXyz const*);
|
||||
/* 800860F8 */ void ChkShield(cCcD_Obj*, cCcD_Obj*, dCcD_GObjInf*, dCcD_GObjInf*, cXyz const*);
|
||||
/* 800861B0 */ void CalcTgPlusDmg(cCcD_Obj*, cCcD_Obj*, cCcD_Stts*, cCcD_Stts*);
|
||||
/* 800861B4 */ void ChkAtTgHitAfterCross(bool, bool, cCcD_GObjInf const*, cCcD_GObjInf const*,
|
||||
cCcD_Stts*, cCcD_Stts*, cCcD_GStts*, cCcD_GStts*);
|
||||
/* 80086240 */ void SetCoGObjInf(bool, bool, cCcD_GObjInf*, cCcD_GObjInf*, cCcD_Stts*,
|
||||
cCcD_Stts*, cCcD_GStts*, cCcD_GStts*);
|
||||
/* 80086360 */ void GetRank(u8);
|
||||
/* 80086404 */ bool ChkNoHitGCo(cCcD_Obj*, cCcD_Obj*);
|
||||
/* 8008640C */ void SetPosCorrect(cCcD_Obj*, cXyz*, cCcD_Obj*, cXyz*, f32);
|
||||
/* 80086754 */ void CalcParticleAngle(dCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, csXyz*);
|
||||
/* 8008685C */ void ProcAtTgHitmark(bool, bool, cCcD_Obj*, cCcD_Obj*, dCcD_GObjInf*,
|
||||
dCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, dCcD_GStts*,
|
||||
dCcD_GStts*, cXyz*, bool);
|
||||
/* 80086AC0 */ void SetAtTgGObjInf(bool, bool, cCcD_Obj*, cCcD_Obj*, cCcD_GObjInf*,
|
||||
cCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, cCcD_GStts*,
|
||||
cCcD_GStts*, cXyz*);
|
||||
/* 80086D8C */ void ChkCamera(cXyz&, cXyz&, f32, fopAc_ac_c*, fopAc_ac_c*, fopAc_ac_c*);
|
||||
/* 80086FBC */ void chkCameraPoint(cXyz const&, cCcD_ShapeAttr::Shape*, fopAc_ac_c*,
|
||||
fopAc_ac_c*);
|
||||
/* 800872A8 */ void MoveAfterCheck();
|
||||
/* 800872AC */ void DrawAfter();
|
||||
/* 800872B0 */ void Move();
|
||||
/* 800872D0 */ void Draw();
|
||||
/* 8008730C */ void MassClear();
|
||||
/* 80087330 */ void ChkAtTgMtrlHit(u8, u8);
|
||||
/* 8008734C */ void ChkNoHitGAtTg(cCcD_GObjInf const*, cCcD_GObjInf const*, cCcD_GStts*,
|
||||
cCcD_GStts*);
|
||||
|
||||
static u8 m_mtrl_hit_tbl[64];
|
||||
};
|
||||
|
||||
struct dCcMassS_Mng {
|
||||
/* 800855E4 */ void Ct();
|
||||
/* 80085CF0 */ void Clear();
|
||||
};
|
||||
|
||||
struct dCcD_GAtTgCoCommonBase {
|
||||
/* 80083678 */ void SetHitApid(unsigned int);
|
||||
/* 80083718 */ void SetEffCounterTimer();
|
||||
/* 80083748 */ void ChkEffCounter();
|
||||
};
|
||||
|
||||
struct cM3dGSphS {};
|
||||
|
||||
struct cM3dGSph {
|
||||
/* 8026F6A8 */ void Set(cM3dGSphS const&);
|
||||
};
|
||||
|
||||
struct cM3dGCps {
|
||||
/* 8026EF88 */ cM3dGCps();
|
||||
/* 8026EFA4 */ ~cM3dGCps();
|
||||
/* 8026F000 */ void Set(cXyz const&, cXyz const&, f32);
|
||||
};
|
||||
|
||||
struct cM3dGAab {};
|
||||
|
||||
struct cCcS {
|
||||
/* 80264A94 */ void Ct();
|
||||
/* 80264B60 */ void Dt();
|
||||
/* 80265CCC */ void Move();
|
||||
/* 80265D30 */ void DrawClear();
|
||||
/* 80265DF4 */ void SetCoGCorrectProc(cCcD_Obj*, cCcD_Obj*);
|
||||
};
|
||||
|
||||
struct cCcD_SphAttr {
|
||||
/* 8008721C */ ~cCcD_SphAttr();
|
||||
/* 802646E0 */ void CalcAabBox();
|
||||
};
|
||||
|
||||
struct cCcD_DivideInfo {
|
||||
/* 80263368 */ void Chk(cCcD_DivideInfo const&) const;
|
||||
};
|
||||
|
||||
struct cCcD_DivideArea {
|
||||
/* 802636A0 */ void CalcDivideInfoOverArea(cCcD_DivideInfo*, cM3dGAab const&);
|
||||
};
|
||||
|
||||
struct cCcD_CpsAttr {
|
||||
/* 80263FC4 */ void CalcAabBox();
|
||||
};
|
||||
|
||||
struct Vec {};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
@@ -211,13 +85,6 @@ extern "C" void Set__8cM3dGCpsFRC4cXyzRC4cXyzf();
|
||||
extern "C" void Set__8cM3dGSphFRC9cM3dGSphS();
|
||||
extern "C" void cLib_distanceAngleS__Fss();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void PSMTXMultVecSR();
|
||||
extern "C" void PSVECAdd();
|
||||
extern "C" void PSVECSubtract();
|
||||
extern "C" void PSVECScale();
|
||||
extern "C" void PSVECNormalize();
|
||||
extern "C" void PSVECMag();
|
||||
extern "C" void PSVECDotProduct();
|
||||
extern "C" void _savegpr_17();
|
||||
extern "C" void _savegpr_23();
|
||||
extern "C" void _savegpr_24();
|
||||
@@ -237,33 +104,22 @@ extern "C" extern void* __vt__12cCcD_SphAttr[25];
|
||||
extern "C" extern void* __vt__12cCcD_CpsAttr[25];
|
||||
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" u8 BaseZ__4cXyz[12];
|
||||
extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 80085ED4-80085F08 080814 0034+00 0/0 1/1 0/0 .text Ct__4dCcSFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dCcS::Ct() {
|
||||
nofralloc
|
||||
#include "asm/d/cc/d_cc_s/Ct__4dCcSFv.s"
|
||||
void dCcS::Ct() {
|
||||
cCcS::Ct();
|
||||
mMass_Mng.Ct();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80085F08-80085F28 080848 0020+00 0/0 1/1 0/0 .text Dt__4dCcSFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dCcS::Dt() {
|
||||
nofralloc
|
||||
#include "asm/d/cc/d_cc_s/Dt__4dCcSFv.s"
|
||||
void dCcS::Dt() {
|
||||
cCcS::Dt();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80452778-8045277C 000D78 0004+00 3/3 0/0 0/0 .sdata2 @3705 */
|
||||
@@ -311,7 +167,7 @@ void dCcS::CalcTgPlusDmg(cCcD_Obj* param_0, cCcD_Obj* param_1, cCcD_Stts* param_
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dCcS::ChkAtTgHitAfterCross(bool param_0, bool param_1, cCcD_GObjInf const* param_2,
|
||||
asm bool dCcS::ChkAtTgHitAfterCross(bool param_0, bool param_1, cCcD_GObjInf const* param_2,
|
||||
cCcD_GObjInf const* param_3, cCcD_Stts* param_4,
|
||||
cCcD_Stts* param_5, cCcD_GStts* param_6, cCcD_GStts* param_7) {
|
||||
nofralloc
|
||||
@@ -581,7 +437,8 @@ asm void dCcS::chkCameraPoint(cXyz const& param_0, cCcD_ShapeAttr::Shape* param_
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm cCcD_SphAttr::~cCcD_SphAttr() {
|
||||
// asm cCcD_SphAttr::~cCcD_SphAttr() {
|
||||
extern "C" asm void __dt__12cCcD_SphAttrFv() {
|
||||
nofralloc
|
||||
#include "asm/d/cc/d_cc_s/__dt__12cCcD_SphAttrFv.s"
|
||||
}
|
||||
@@ -598,34 +455,21 @@ void dCcS::DrawAfter() {
|
||||
}
|
||||
|
||||
/* 800872B0-800872D0 081BF0 0020+00 0/0 1/1 0/0 .text Move__4dCcSFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dCcS::Move() {
|
||||
nofralloc
|
||||
#include "asm/d/cc/d_cc_s/Move__4dCcSFv.s"
|
||||
void dCcS::Move() {
|
||||
cCcS::Move();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800872D0-8008730C 081C10 003C+00 0/0 1/1 0/0 .text Draw__4dCcSFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dCcS::Draw() {
|
||||
nofralloc
|
||||
#include "asm/d/cc/d_cc_s/Draw__4dCcSFv.s"
|
||||
void dCcS::Draw() {
|
||||
DrawAfter();
|
||||
DrawClear();
|
||||
mMass_Mng.Clear();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8008730C-80087330 081C4C 0024+00 0/0 0/0 1/1 .text MassClear__4dCcSFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dCcS::MassClear() {
|
||||
nofralloc
|
||||
#include "asm/d/cc/d_cc_s/MassClear__4dCcSFv.s"
|
||||
void dCcS::MassClear() {
|
||||
mMass_Mng.Clear();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803AC3A4-803AC3E4 0094C4 0040+00 1/1 0/0 0/0 .data m_mtrl_hit_tbl__4dCcS */
|
||||
@@ -651,7 +495,7 @@ asm void dCcS::ChkAtTgMtrlHit(u8 param_0, u8 param_1) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dCcS::ChkNoHitGAtTg(cCcD_GObjInf const* param_0, cCcD_GObjInf const* param_1,
|
||||
asm bool dCcS::ChkNoHitGAtTg(cCcD_GObjInf const* param_0, cCcD_GObjInf const* param_1,
|
||||
cCcD_GStts* param_2, cCcD_GStts* param_3) {
|
||||
nofralloc
|
||||
#include "asm/d/cc/d_cc_s/ChkNoHitGAtTg__4dCcSFPC12cCcD_GObjInfPC12cCcD_GObjInfP10cCcD_GSttsP10cCcD_GStts.s"
|
||||
|
||||
@@ -230,7 +230,6 @@ extern "C" void __dt__8cM3dGCylFv();
|
||||
extern "C" void __dt__8cM3dGAabFv();
|
||||
extern "C" void __dt__15cCcD_DivideInfoFv();
|
||||
extern "C" extern char const* const d_com_d_com_inf_game__stringBase0;
|
||||
extern "C" extern u32 g_whiteColor;
|
||||
extern "C" extern u32 g_saftyWhiteColor;
|
||||
|
||||
//
|
||||
@@ -1327,7 +1326,7 @@ dTimer_c* dComIfG_play_c::getTimerPtr() {
|
||||
}
|
||||
|
||||
void dComIfG_inf_c::ct() {
|
||||
field_0x1ddf8 = 0xFF;
|
||||
mFadeBrightness = 255;
|
||||
play.ct();
|
||||
mWorldDark = 0;
|
||||
field_0x1ddfa = -1;
|
||||
@@ -1348,12 +1347,7 @@ SECTION_DEAD static char const* const stringBase_80379043 = "F_SP102";
|
||||
#pragma pop
|
||||
|
||||
/* 80450600-80450604 000080 0004+00 0/0 18/18 2/2 .sdata g_clearColor */
|
||||
SECTION_SDATA extern u8 g_clearColor[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
SECTION_SDATA extern GXColor g_clearColor = {0, 0, 0, 0};
|
||||
|
||||
/* 80450604-80450608 000084 0004+00 1/1 10/10 15/15 .sdata g_blackColor */
|
||||
SECTION_SDATA extern GXColor g_blackColor = {0, 0, 0, 255};
|
||||
@@ -2591,7 +2585,7 @@ asm void dComIfGs_staffroll_next_go_check() {
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450608-8045060C 000088 0004+00 0/0 6/6 11/11 .sdata g_whiteColor */
|
||||
SECTION_SDATA extern u32 g_whiteColor = 0xFFFFFFFF;
|
||||
SECTION_SDATA extern GXColor g_whiteColor = {255, 255, 255, 255};
|
||||
|
||||
/* 8045060C-80450610 00008C 0004+00 0/0 3/3 3/3 .sdata g_saftyWhiteColor */
|
||||
SECTION_SDATA extern u32 g_saftyWhiteColor = 0xA0A0A0FF;
|
||||
|
||||
+4
-3
@@ -4,6 +4,7 @@
|
||||
//
|
||||
|
||||
#include "d/d_bomb.h"
|
||||
#include "d/d_procname.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
@@ -14,13 +15,13 @@ bool dBomb_c::checkStateCarry() {
|
||||
}
|
||||
|
||||
bool dBomb_c::checkFlowerBombWait(fopAc_ac_c* param_1) {
|
||||
return (fopAcM_GetName(&mActor) == 0x221 && fopAcM_GetParam(&mActor) == 4);
|
||||
return (fopAcM_GetName(&mActor) == PROC_NBOMB && fopAcM_GetParam(&mActor) == 4);
|
||||
}
|
||||
|
||||
bool dBomb_c::checkWaterBomb(fopAc_ac_c* param_1) {
|
||||
return (fopAcM_GetName(&mActor) == 0x221 && daNbomb_c::checkWaterBomb());
|
||||
return (fopAcM_GetName(&mActor) == PROC_NBOMB && daNbomb_c::checkWaterBomb());
|
||||
}
|
||||
|
||||
bool dBomb_c::checkInsectBombMove(fopAc_ac_c* param_1) {
|
||||
return (fopAcM_GetName(&mActor) == 0x221 && fopAcM_GetParam(&mActor) == 7);
|
||||
return (fopAcM_GetName(&mActor) == PROC_NBOMB && fopAcM_GetParam(&mActor) == 7);
|
||||
}
|
||||
@@ -184,7 +184,7 @@ extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8037B140-8037B180 0077A0 0040+00 1/1 0/0 0/0 .rodata black_tex */
|
||||
SECTION_RODATA static u8 const black_tex[64] = {
|
||||
SECTION_RODATA static u8 const black_tex[64] ALIGN_DECL(32) = {
|
||||
0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
|
||||
+76
-43
@@ -4,7 +4,10 @@
|
||||
//
|
||||
|
||||
#include "d/d_eye_hl.h"
|
||||
#include "MSL_C.PPCEABI.bare.H/MSL_Common/Src/string.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/os/OS.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
@@ -26,52 +29,45 @@ extern "C" extern u8 struct_80450FBC[4];
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void OSReport_Error();
|
||||
extern "C" void getName__10JUTNameTabCFUs();
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" void strcmp();
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 g_envHIO[68];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8037B100-8037B100 007760 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_8037B100 =
|
||||
"目のハイライトテクスチャーがありません!\n";
|
||||
/* @stringBase0 padding */
|
||||
SECTION_DEAD static char const* const pad_8037B12A = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
|
||||
#pragma pop
|
||||
|
||||
/* 8009C964-8009CA28 0972A4 00C4+00 0/0 2/2 0/0 .text entry__8dEyeHL_cFP12J3DModelDataPCc
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dEyeHL_c::entry(J3DModelData* param_0, char const* param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/d_eye_hl/entry__8dEyeHL_cFP12J3DModelDataPCc.s"
|
||||
void dEyeHL_c::entry(J3DModelData* p_mData, char const* name) {
|
||||
J3DTexture* tex = p_mData->getTexture();
|
||||
JUTNameTab* tex_nametab = p_mData->getTextureName();
|
||||
|
||||
if (tex != NULL && tex_nametab != NULL) {
|
||||
for (u16 i = 0; i < tex->getNum(); i++) {
|
||||
const char* tex_name = tex_nametab->getName(i);
|
||||
|
||||
if (tex_name != NULL && !strcmp(tex_name, name)) {
|
||||
m_timg = tex->getResTIMG(i);
|
||||
m_lodBias = m_timg->LODBias;
|
||||
dEyeHL_mng_c::entry(this);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
// "Eye Highlight Texture doesn't exist!\n"
|
||||
OSReport_Error("目のハイライトテクスチャーがありません!\n");
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8009CA28-8009CA48 097368 0020+00 0/0 3/3 0/0 .text remove__8dEyeHL_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dEyeHL_c::remove() {
|
||||
nofralloc
|
||||
#include "asm/d/d_eye_hl/remove__8dEyeHL_cFv.s"
|
||||
void dEyeHL_c::remove() {
|
||||
dEyeHL_mng_c::remove(this);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450FA8-80450FB0 0004A8 0004+04 3/3 0/0 0/0 .sbss m_obj__12dEyeHL_mng_c */
|
||||
u8 dEyeHL_mng_c::m_obj[4 + 4 /* padding */];
|
||||
dEyeHL_mng_c* dEyeHL_mng_c::m_obj;
|
||||
|
||||
/* 80452C10-80452C14 001210 0004+00 1/1 0/0 0/0 .sdata2 @3862 */
|
||||
SECTION_SDATA2 static f32 lit_3862 = 2.0f;
|
||||
@@ -79,7 +75,30 @@ SECTION_SDATA2 static f32 lit_3862 = 2.0f;
|
||||
/* 80452C14-80452C18 001214 0004+00 1/1 0/0 0/0 .sdata2 @3863 */
|
||||
SECTION_SDATA2 static f32 lit_3863 = 45.0f;
|
||||
|
||||
inline BOOL dComIfGp_event_runCheck() {
|
||||
return g_dComIfG_gameInfo.play.getEvent().runCheck();
|
||||
}
|
||||
|
||||
/* 8009CA48-8009CB14 097388 00CC+00 0/0 1/1 0/0 .text update__12dEyeHL_mng_cFv */
|
||||
// small issue with cLib_minMaxLimit
|
||||
#ifdef NONMATCHING
|
||||
void dEyeHL_mng_c::update() {
|
||||
dEyeHL_mng_c* obj = m_obj;
|
||||
|
||||
if (g_envHIO[0x10] == 0 || !dComIfGp_event_runCheck()) {
|
||||
for (; obj != NULL; obj = obj->m_next) {
|
||||
obj->m_timg->LODBias = obj->m_lodBias;
|
||||
}
|
||||
} else {
|
||||
s16 tmp = 2.0f * (dComIfGd_getView()->field_0xd0 - 45.0f);
|
||||
for (; obj != NULL; obj = obj->m_next) {
|
||||
ResTIMG* timg = obj->m_timg;
|
||||
timg->LODBias = obj->m_lodBias + tmp;
|
||||
timg->LODBias = cLib_minMaxLimit(timg->LODBias, (s16)-400, (s16)399);
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -88,27 +107,41 @@ asm void dEyeHL_mng_c::update() {
|
||||
#include "asm/d/d_eye_hl/update__12dEyeHL_mng_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8009CB14-8009CB34 097454 0020+00 1/1 0/0 0/0 .text entry__12dEyeHL_mng_cFP8dEyeHL_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dEyeHL_mng_c::entry(dEyeHL_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_eye_hl/entry__12dEyeHL_mng_cFP8dEyeHL_c.s"
|
||||
void dEyeHL_mng_c::entry(dEyeHL_c* i_obj) {
|
||||
if (m_obj != NULL) {
|
||||
m_obj->m_pre = i_obj;
|
||||
}
|
||||
i_obj->m_next = m_obj;
|
||||
m_obj = i_obj;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8009CB34-8009CB88 097474 0054+00 1/1 0/0 0/0 .text remove__12dEyeHL_mng_cFP8dEyeHL_c
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dEyeHL_mng_c::remove(dEyeHL_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_eye_hl/remove__12dEyeHL_mng_cFP8dEyeHL_c.s"
|
||||
void dEyeHL_mng_c::remove(dEyeHL_c* i_obj) {
|
||||
if (i_obj->m_timg != NULL) {
|
||||
dEyeHL_mng_c* prev = i_obj->m_pre;
|
||||
dEyeHL_mng_c* next = i_obj->m_next;
|
||||
|
||||
if (next != NULL) {
|
||||
next->m_pre = prev;
|
||||
}
|
||||
|
||||
if (prev == NULL) {
|
||||
m_obj = next;
|
||||
} else {
|
||||
prev->m_next = next;
|
||||
next = m_obj;
|
||||
}
|
||||
|
||||
i_obj->m_timg->LODBias = i_obj->m_lodBias;
|
||||
i_obj->m_timg = NULL;
|
||||
i_obj->m_pre = NULL;
|
||||
i_obj->m_next = NULL;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450FB0-80450FB8 -00001 0008+00 0/0 2/2 0/0 .sbss None */
|
||||
@@ -116,7 +149,7 @@ asm void dEyeHL_mng_c::remove(dEyeHL_c* param_0) {
|
||||
/* 80450FB1 0001+00 data_80450FB1 None */
|
||||
/* 80450FB2 0006+00 data_80450FB2 None */
|
||||
extern u8 struct_80450FB0[8];
|
||||
u8 struct_80450FB0[8];
|
||||
u8 struct_80450FB0[8] ALIGN_DECL(8);
|
||||
|
||||
/* 80450FB8-80450FBC -00001 0004+00 0/0 1/1 0/0 .sbss None */
|
||||
/* 80450FB8 0001+00 data_80450FB8 None */
|
||||
|
||||
+7
-4
@@ -8,6 +8,8 @@
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
@@ -42,12 +44,8 @@ extern "C" void dKyw_wether_move_draw__Fv();
|
||||
extern "C" void dKyw_wether_draw__Fv();
|
||||
extern "C" void dKy_FiveSenses_fullthrottle_dark__Fv();
|
||||
extern "C" void framework__10Z2EnvSeMgrFv();
|
||||
extern "C" void OSGetTime();
|
||||
extern "C" void OSTicksToCalendarTime();
|
||||
extern "C" void strcmp();
|
||||
extern "C" extern void* g_fopKy_Method[5 + 1 /* padding */];
|
||||
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 g_env_light[4880];
|
||||
extern "C" extern u8 g_mEnvSeMgr[780];
|
||||
|
||||
@@ -55,6 +53,11 @@ extern "C" extern u8 g_mEnvSeMgr[780];
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 801ADD00-801ADD38 1A8640 0038+00 2/2 0/0 0/0 .text dKankyo_DayProc__Fv */
|
||||
void dKankyo_DayProc() {
|
||||
dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[91]);
|
||||
}
|
||||
|
||||
static bool dKyeff_Draw(dKyeff_c* ptr) {
|
||||
dKyw_wether_draw();
|
||||
return true;
|
||||
|
||||
+454
-343
File diff suppressed because it is too large
Load Diff
@@ -66,76 +66,101 @@ extern "C" extern u8 g_env_light[4880];
|
||||
//
|
||||
|
||||
/* 803A8E98-803A9198 005FB8 0300+00 1/1 0/0 0/0 .data l_kydata_BloomInf_tbl */
|
||||
SECTION_DATA static u8 l_kydata_BloomInf_tbl[768] = {
|
||||
// Each is 0xc long; All u8's
|
||||
0x01, 0xFF, 0x40, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x00, 0x28, 0x46, 0x87, 0xCF, 0xB1, 0x38, 0xD2, 0xFF, 0xFF, 0xFF, 0x60, //
|
||||
0x00, 0x2D, 0x46, 0x73, 0xCF, 0xB1, 0x38, 0xD2, 0xFF, 0xFF, 0xFF, 0x60, //
|
||||
0x00, 0x00, 0x40, 0x30, 0x60, 0xBA, 0xEC, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x01, 0x40, 0x50, 0x40, 0x86, 0x83, 0x96, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x01, 0x64, 0x50, 0x50, 0xFF, 0xD7, 0x96, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x01, 0xA0, 0x30, 0xC8, 0x81, 0x77, 0x6F, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x01, 0x64, 0x40, 0x60, 0xFF, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x01, 0x60, 0x5E, 0x60, 0x69, 0x86, 0xA5, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x01, 0x40, 0x60, 0x6E, 0x58, 0xA5, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x00, 0x23, 0x2F, 0x9B, 0x7D, 0x6E, 0x50, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x01, 0x30, 0x40, 0x80, 0x3C, 0xB7, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x01, 0x38, 0x5F, 0x82, 0x7D, 0x87, 0x93, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x01, 0x73, 0x6C, 0xFF, 0xED, 0xFF, 0xCA, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x01, 0x31, 0x30, 0xC8, 0x97, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x00, 0x28, 0x46, 0x78, 0x42, 0x2E, 0x30, 0xFF, 0x80, 0xFF, 0xFF, 0x54, //
|
||||
0x00, 0x28, 0x46, 0x87, 0x96, 0xB4, 0x64, 0xD2, 0xFF, 0xFF, 0xFF, 0x54, //
|
||||
0x01, 0x28, 0x46, 0x73, 0x78, 0x96, 0xA0, 0x0D, 0x00, 0x00, 0x00, 0x00, //
|
||||
0x01, 0x00, 0x7D, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, //
|
||||
0x00, 0x62, 0x69, 0x80, 0xB2, 0x5F, 0x00, 0xFF, 0xE4, 0xFF, 0xFF, 0x90, //
|
||||
0x01, 0x30, 0x40, 0x59, 0xFF, 0xEF, 0x86, 0xCE, 0xFF, 0xD5, 0x8C, 0xC8, //
|
||||
0x01, 0x6E, 0x46, 0x9A, 0xFF, 0xD7, 0x06, 0xE0, 0xFF, 0xDC, 0xA7, 0x49, //
|
||||
0x01, 0x40, 0x60, 0x40, 0x6E, 0x80, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x00, 0x80, 0x40, 0x80, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x00, 0x80, 0x40, 0x80, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x01, 0x8C, 0x2D, 0xA0, 0x63, 0x55, 0x49, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x01, 0x5F, 0x59, 0x5A, 0x96, 0x91, 0x84, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x00, 0x52, 0x64, 0x3C, 0xFF, 0xC2, 0x70, 0xBA, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x00, 0x8C, 0x2D, 0xA0, 0x63, 0x55, 0x49, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x01, 0x46, 0x5A, 0x41, 0x3C, 0x50, 0x46, 0xFF, 0xFA, 0xFF, 0x9B, 0x78, //
|
||||
0x01, 0x2E, 0x60, 0x7D, 0x64, 0x96, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x00, 0x00, 0x83, 0xFF, 0x72, 0xD1, 0xFF, 0xFF, 0xFF, 0xE2, 0xFE, 0x7D, //
|
||||
0x00, 0x5F, 0x14, 0xB4, 0x50, 0x96, 0xFA, 0xFF, 0xFF, 0xFF, 0xFF, 0x64, //
|
||||
0x00, 0x28, 0x46, 0x87, 0x82, 0xC8, 0xFA, 0xD2, 0xFF, 0xFF, 0xFF, 0x32, //
|
||||
0x00, 0x20, 0x10, 0x50, 0x64, 0x64, 0x32, 0xFF, 0x96, 0xFF, 0xFF, 0x82, //
|
||||
0x00, 0x00, 0x00, 0x30, 0x00, 0xBA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x01, 0x40, 0x50, 0x40, 0x86, 0x83, 0x96, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x01, 0x64, 0x50, 0x50, 0xFF, 0xD7, 0x96, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x01, 0xA0, 0x30, 0xC8, 0x81, 0x77, 0x6F, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x01, 0x64, 0x40, 0x60, 0xFF, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x01, 0x30, 0x30, 0x60, 0x6F, 0x69, 0x52, 0xFF, 0xC0, 0xB9, 0xA1, 0x80, //
|
||||
0x01, 0x2D, 0x60, 0x87, 0xFF, 0xE0, 0x46, 0xFF, 0xFF, 0x85, 0x79, 0x60, //
|
||||
0x00, 0x00, 0x88, 0x6A, 0x85, 0x3E, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0x11, //
|
||||
0x00, 0x2E, 0x41, 0x64, 0xF9, 0xE7, 0x7C, 0xD0, 0xFF, 0xDA, 0x9A, 0xBB, //
|
||||
0x00, 0x00, 0xFF, 0xFF, 0xBE, 0xB9, 0xB4, 0xE6, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x00, 0x2D, 0x46, 0x50, 0xCF, 0xB1, 0x38, 0xD2, 0xFF, 0xFF, 0xFF, 0x60, //
|
||||
0x00, 0xA0, 0x14, 0x32, 0xE6, 0xFF, 0x96, 0xF3, 0xE6, 0xFF, 0x96, 0x6E, //
|
||||
0x00, 0x52, 0x64, 0x3C, 0xFF, 0xC2, 0x70, 0xBA, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x00, 0x80, 0x40, 0x80, 0xFF, 0xFF, 0xFF, 0xF1, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x01, 0x80, 0x40, 0x80, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x00, 0x00, 0x7D, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, //
|
||||
0x00, 0x62, 0x69, 0x80, 0xB2, 0x5F, 0x00, 0xFF, 0xE4, 0xFF, 0xFF, 0x90, //
|
||||
0x01, 0x30, 0x40, 0x59, 0xFF, 0xEF, 0x86, 0xCE, 0xFF, 0xD5, 0x8C, 0xC8, //
|
||||
0x01, 0x6E, 0x46, 0x9A, 0xFF, 0xD7, 0x06, 0xE0, 0xFF, 0xDC, 0xA7, 0x49, //
|
||||
0x00, 0x80, 0x40, 0x80, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x00, 0x80, 0x40, 0x80, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x00, 0x80, 0x40, 0x80, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x00, 0x80, 0x40, 0x80, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x00, 0x80, 0x40, 0x80, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x00, 0x80, 0x40, 0x80, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x00, 0x80, 0x40, 0x80, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x00, 0x80, 0x40, 0x80, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0x00, //
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
|
||||
static dKydata_BloomInfo_c l_kydata_BloomInf_tbl[BLOOMINFO_MAX] = {
|
||||
{BLOOM_SOFT, 0xFF, 0x40, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00},
|
||||
{BLOOM_CLEAR, 0x28, 0x46, 0x87, 0xCF, 0xB1, 0x38, 0xD2, 0xFF, 0xFF, 0xFF, 0x60}, // Twilight
|
||||
{BLOOM_CLEAR, 0x2D, 0x46, 0x73, 0xCF, 0xB1, 0x38, 0xD2, 0xFF, 0xFF, 0xFF,
|
||||
0x60}, // Twilight Weak
|
||||
{BLOOM_CLEAR, 0x00, 0x40, 0x30, 0x60, 0xBA, 0xEC, 0xFF, 0xFF, 0xFF, 0xFF, 0x00}, // Senses
|
||||
{BLOOM_SOFT, 0x40, 0x50, 0x40, 0x86, 0x83, 0x96, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00}, // Field Normal (Morning 0)
|
||||
{BLOOM_SOFT, 0x64, 0x50, 0x50, 0xFF, 0xD7, 0x96, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00}, // Field Normal (Morning 1)
|
||||
{BLOOM_SOFT, 0xA0, 0x30, 0xC8, 0x81, 0x77, 0x6F, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00}, // Field Normal (Afternoon)
|
||||
{BLOOM_SOFT, 0x64, 0x40, 0x60, 0xFF, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00}, // Field Normal (Evening 0)
|
||||
{BLOOM_SOFT, 0x60, 0x5E, 0x60, 0x69, 0x86, 0xA5, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00}, // Field Normal (Evening 1)
|
||||
{BLOOM_SOFT, 0x40, 0x60, 0x6E, 0x58, 0xA5, 0x8C, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00}, // Field Normal (Night)
|
||||
{BLOOM_CLEAR, 0x23, 0x2F, 0x9B, 0x7D, 0x6E, 0x50, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00}, // Bulblin Camp Fire
|
||||
{BLOOM_SOFT, 0x30, 0x40, 0x80, 0x3C, 0xB7, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00}, // Palace of Twilight
|
||||
{BLOOM_SOFT, 0x38, 0x5F, 0x82, 0x7D, 0x87, 0x93, 0xFF, 0xFF, 0xFF, 0xFF, 0x00}, // demo28_03
|
||||
{BLOOM_SOFT, 0x73, 0x6C, 0xFF, 0xED, 0xFF, 0xCA, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00}, // Golden Bug Glow
|
||||
{BLOOM_SOFT, 0x31, 0x30, 0xC8, 0x97, 0xAB, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x00}, // Cloud Sea
|
||||
{BLOOM_CLEAR, 0x28, 0x46, 0x78, 0x42, 0x2E, 0x30, 0xFF, 0x80, 0xFF, 0xFF,
|
||||
0x54}, // Zora's Domain Outside (Twilight)
|
||||
{BLOOM_CLEAR, 0x28, 0x46, 0x87, 0x96, 0xB4, 0x64, 0xD2, 0xFF, 0xFF, 0xFF,
|
||||
0x54}, // Zora's Domain Inside (Twilight)
|
||||
{BLOOM_SOFT, 0x28, 0x46, 0x73, 0x78, 0x96, 0xA0, 0x0D, 0x00, 0x00, 0x00, 0x00}, // Senses-like
|
||||
{BLOOM_SOFT, 0x00, 0x7D, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF}, // Sacred Grove Time Travel
|
||||
{BLOOM_CLEAR, 0x62, 0x69, 0x80, 0xB2, 0x5F, 0x00, 0xFF, 0xE4, 0xFF, 0xFF, 0x90}, // Sewers
|
||||
{BLOOM_SOFT, 0x30, 0x40, 0x59, 0xFF, 0xEF, 0x86, 0xCE, 0xFF, 0xD5, 0x8C,
|
||||
0xC8}, // Flashback Scene
|
||||
{BLOOM_SOFT, 0x6E, 0x46, 0x9A, 0xFF, 0xD7, 0x06, 0xE0, 0xFF, 0xDC, 0xA7,
|
||||
0x49}, // Twilight Gate
|
||||
{BLOOM_SOFT, 0x40, 0x60, 0x40, 0x6E, 0x80, 0x80, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00}, // Underwater (Normal)
|
||||
{BLOOM_CLEAR, 0x80, 0x40, 0x80, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0x00}, // Empty
|
||||
{BLOOM_CLEAR, 0x80, 0x40, 0x80, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0x00}, // Empty
|
||||
{BLOOM_SOFT, 0x8C, 0x2D, 0xA0, 0x63, 0x55, 0x49, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00}, // Dungeon Normal Weak
|
||||
{BLOOM_SOFT, 0x5F, 0x59, 0x5A, 0x96, 0x91, 0x84, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00}, // Dungeon Normal Strong
|
||||
{BLOOM_CLEAR, 0x52, 0x64, 0x3C, 0xFF, 0xC2, 0x70, 0xBA, 0xFF, 0xFF, 0xFF, 0x00}, // Lava
|
||||
{BLOOM_CLEAR, 0x8C, 0x2D, 0xA0, 0x63, 0x55, 0x49, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00}, // Goron Mines - No Lava
|
||||
{BLOOM_SOFT, 0x46, 0x5A, 0x41, 0x3C, 0x50, 0x46, 0xFF, 0xFA, 0xFF, 0x9B,
|
||||
0x78}, // Sacred Grove Past
|
||||
{BLOOM_SOFT, 0x2E, 0x60, 0x7D, 0x64, 0x96, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x00}, // Castle
|
||||
{BLOOM_CLEAR, 0x00, 0x83, 0xFF, 0x72, 0xD1, 0xFF, 0xFF, 0xFF, 0xE2, 0xFE, 0x7D}, // Empty
|
||||
{BLOOM_CLEAR, 0x5F, 0x14, 0xB4, 0x50, 0x96, 0xFA, 0xFF, 0xFF, 0xFF, 0xFF, 0x64}, // Empty
|
||||
{BLOOM_CLEAR, 0x28, 0x46, 0x87, 0x82, 0xC8, 0xFA, 0xD2, 0xFF, 0xFF, 0xFF, 0x32}, // Empty
|
||||
{BLOOM_CLEAR, 0x20, 0x10, 0x50, 0x64, 0x64, 0x32, 0xFF, 0x96, 0xFF, 0xFF, 0x82}, // Empty
|
||||
{BLOOM_CLEAR, 0x00, 0x00, 0x30, 0x00, 0xBA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00}, // Empty
|
||||
{BLOOM_SOFT, 0x40, 0x50, 0x40, 0x86, 0x83, 0x96, 0xFF, 0xFF, 0xFF, 0xFF, 0x00}, // Empty
|
||||
{BLOOM_SOFT, 0x64, 0x50, 0x50, 0xFF, 0xD7, 0x96, 0xFF, 0xFF, 0xFF, 0xFF, 0x00}, // Empty
|
||||
{BLOOM_SOFT, 0xA0, 0x30, 0xC8, 0x81, 0x77, 0x6F, 0xFF, 0xFF, 0xFF, 0xFF, 0x00}, // Empty
|
||||
{BLOOM_SOFT, 0x64, 0x40, 0x60, 0xFF, 0x60, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00}, // Empty
|
||||
{BLOOM_SOFT, 0x30, 0x30, 0x60, 0x6F, 0x69, 0x52, 0xFF, 0xC0, 0xB9, 0xA1,
|
||||
0x80}, // Demo: Flashback Scene
|
||||
{BLOOM_SOFT, 0x2D, 0x60, 0x87, 0xFF, 0xE0, 0x46, 0xFF, 0xFF, 0x85, 0x79,
|
||||
0x60}, // Demo: Fake Twilight
|
||||
{BLOOM_CLEAR, 0x00, 0x88, 0x6A, 0x85, 0x3E, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x11}, // Demo: demo32_03
|
||||
{BLOOM_CLEAR, 0x2E, 0x41, 0x64, 0xF9, 0xE7, 0x7C, 0xD0, 0xFF, 0xDA, 0x9A,
|
||||
0xBB}, // Demo: Twilight Flashback Scene
|
||||
{BLOOM_CLEAR, 0x00, 0xFF, 0xFF, 0xBE, 0xB9, 0xB4, 0xE6, 0xFF, 0xFF, 0xFF,
|
||||
0x00}, // Demo: demo31_20
|
||||
{BLOOM_CLEAR, 0x2D, 0x46, 0x50, 0xCF, 0xB1, 0x38, 0xD2, 0xFF, 0xFF, 0xFF,
|
||||
0x60}, // Demo: Lava W
|
||||
{BLOOM_CLEAR, 0xA0, 0x14, 0x32, 0xE6, 0xFF, 0x96, 0xF3, 0xE6, 0xFF, 0x96, 0x6E}, // Empty
|
||||
{BLOOM_CLEAR, 0x52, 0x64, 0x3C, 0xFF, 0xC2, 0x70, 0xBA, 0xFF, 0xFF, 0xFF, 0x00}, // Empty
|
||||
{BLOOM_CLEAR, 0x80, 0x40, 0x80, 0xFF, 0xFF, 0xFF, 0xF1, 0xFF, 0xFF, 0xFF, 0x00}, // Empty
|
||||
{BLOOM_SOFT, 0x80, 0x40, 0x80, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0x00}, // Empty
|
||||
{BLOOM_CLEAR, 0x00, 0x7D, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF}, // Empty
|
||||
{BLOOM_CLEAR, 0x62, 0x69, 0x80, 0xB2, 0x5F, 0x00, 0xFF, 0xE4, 0xFF, 0xFF, 0x90}, // Empty
|
||||
{BLOOM_SOFT, 0x30, 0x40, 0x59, 0xFF, 0xEF, 0x86, 0xCE, 0xFF, 0xD5, 0x8C, 0xC8}, // Empty
|
||||
{BLOOM_SOFT, 0x6E, 0x46, 0x9A, 0xFF, 0xD7, 0x06, 0xE0, 0xFF, 0xDC, 0xA7, 0x49}, // Empty
|
||||
{BLOOM_CLEAR, 0x80, 0x40, 0x80, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0x00}, // Empty
|
||||
{BLOOM_CLEAR, 0x80, 0x40, 0x80, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0x00}, // Empty
|
||||
{BLOOM_CLEAR, 0x80, 0x40, 0x80, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0x00}, // Empty
|
||||
{BLOOM_CLEAR, 0x80, 0x40, 0x80, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0x00}, // Empty
|
||||
{BLOOM_CLEAR, 0x80, 0x40, 0x80, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0x00}, // Empty
|
||||
{BLOOM_CLEAR, 0x80, 0x40, 0x80, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0x00}, // Empty
|
||||
{BLOOM_CLEAR, 0x80, 0x40, 0x80, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0x00}, // Empty
|
||||
{BLOOM_CLEAR, 0x80, 0x40, 0x80, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0x00}, // Empty
|
||||
{BLOOM_CLEAR, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // Empty
|
||||
{BLOOM_CLEAR, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // Empty
|
||||
};
|
||||
|
||||
/* 803A9198-803A92A8 -00001 0110+00 1/1 0/0 0/0 .data l_darkworld_tbl */
|
||||
static dKyd_darkworldTblEntry l_darkworld_tbl[34] = {
|
||||
static dKydata_darkworldInfo_c l_darkworld_tbl[34] = {
|
||||
{"R_SP30", UNCLEARABLE}, // UNUSED - Unknown Room
|
||||
{"T_SP05", TEST}, // UNUSED - E3 2005 Warp Test (Old)
|
||||
{"T_SP05A", TEST}, // UNUSED - Ito Warp Test
|
||||
@@ -172,13 +197,8 @@ static dKyd_darkworldTblEntry l_darkworld_tbl[34] = {
|
||||
{"D_SB10", FARON}, // Faron Woods Cave
|
||||
};
|
||||
|
||||
// TODO: wrong type
|
||||
// Only thing I can easily find: the byte is written to 8042DD4D and it seems to control the Y
|
||||
// pos(?) (essentially brightness) of the soft spotlight that is on wolf Link during twilight? Will
|
||||
// need more investigation before can be changed to appropriate type. Leaving this way since the
|
||||
// stageNames are already converted.
|
||||
/* 803A92A8-803A93C8 -00001 0120+00 1/1 0/0 0/0 .data l_light_size_tbl */
|
||||
static dKyd_darkworldTblEntry l_light_size_tbl[36] = {
|
||||
static dKydata_lightsizeInfo_c l_light_size_tbl[36] = {
|
||||
{"R_SP01", 0}, // Ordon Interiors
|
||||
{"R_SP108", 0}, // Coro's Lantern Shop
|
||||
{"F_SP109", 2}, // Kakariko Village
|
||||
@@ -217,9 +237,8 @@ static dKyd_darkworldTblEntry l_light_size_tbl[36] = {
|
||||
{"D_SB10", 0}, // Faron Woods Cave
|
||||
};
|
||||
|
||||
// TODO: wrong type
|
||||
/* 803A93C8-803A9410 -00001 0048+00 1/1 0/0 0/0 .data l_light_size_tbl_tw */
|
||||
static dKyd_darkworldTblEntry l_light_size_tbl_tw[9] = {
|
||||
static dKydata_lightsizeInfo_c l_light_size_tbl_tw[9] = {
|
||||
{"F_SP109", 2}, // Kakariko Village
|
||||
{"F_SP110", 2}, // Death Mountain
|
||||
{"R_SP209", 2}, // Sanctuary Basement
|
||||
@@ -445,23 +464,23 @@ void* dKyd_maple_col_getp() {
|
||||
}
|
||||
|
||||
/* 80056A70-80056A7C 0513B0 000C+00 0/0 4/4 0/0 .text dKyd_darkworld_tbl_getp__Fv */
|
||||
dKyd_darkworldTblEntry* dKyd_darkworld_tbl_getp() {
|
||||
dKydata_darkworldInfo_c* dKyd_darkworld_tbl_getp() {
|
||||
return l_darkworld_tbl;
|
||||
}
|
||||
|
||||
/* 80056A7C-80056A88 0513BC 000C+00 0/0 1/1 0/0 .text dKyd_light_size_tbl_getp__Fv */
|
||||
void* dKyd_light_size_tbl_getp() {
|
||||
dKydata_lightsizeInfo_c* dKyd_light_size_tbl_getp() {
|
||||
return l_light_size_tbl;
|
||||
}
|
||||
|
||||
/* 80056A88-80056A94 0513C8 000C+00 0/0 1/1 0/0 .text dKyd_light_tw_size_tbl_getp__Fv */
|
||||
void* dKyd_light_tw_size_tbl_getp() {
|
||||
dKydata_lightsizeInfo_c* dKyd_light_tw_size_tbl_getp() {
|
||||
return l_light_size_tbl_tw;
|
||||
}
|
||||
|
||||
/* 80056A94-80056AA8 0513D4 0014+00 0/0 1/1 0/0 .text dKyd_BloomInf_tbl_getp__Fi */
|
||||
void* dKyd_BloomInf_tbl_getp(int tblIdx) {
|
||||
return &l_kydata_BloomInf_tbl[tblIdx * 0xC];
|
||||
dKydata_BloomInfo_c* dKyd_BloomInf_tbl_getp(int tblIdx) {
|
||||
return &l_kydata_BloomInf_tbl[tblIdx];
|
||||
}
|
||||
|
||||
/* 8037A1C0-8037A1C0 006820 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
+967
-983
File diff suppressed because it is too large
Load Diff
+56
-54
@@ -17,14 +17,13 @@ struct dRes_control_c {
|
||||
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
|
||||
};
|
||||
|
||||
|
||||
struct dMpath_n {
|
||||
struct dTexObjAggregate_c {
|
||||
/* 8003C85C */ void create();
|
||||
/* 8003C8F4 */ void remove();
|
||||
/* 8003D740 */ ~dTexObjAggregate_c() {remove();};
|
||||
/* 8003D740 */ ~dTexObjAggregate_c() { remove(); };
|
||||
inline dTexObjAggregate_c() {
|
||||
for(int i = 0;i<7;i++) {
|
||||
for (int i = 0; i < 7; i++) {
|
||||
mTexObjs[i] = NULL;
|
||||
}
|
||||
}
|
||||
@@ -34,7 +33,7 @@ struct dMpath_n {
|
||||
static dTexObjAggregate_c m_texObjAgg;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(dMpath_n::dTexObjAggregate_c)==28);
|
||||
STATIC_ASSERT(sizeof(dMpath_n::dTexObjAggregate_c) == 28);
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
@@ -245,42 +244,43 @@ asm void dRenderingFDAmap_c::setTevSettingIntensityTextureToCI() const {
|
||||
*/
|
||||
void dRenderingFDAmap_c::drawBack() const {
|
||||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS,GX_DIRECT);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0,GX_VA_POS,GX_CLR_RGBA,GX_F32,0);
|
||||
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_F32, 0);
|
||||
GXColor* colorPtr = getBackColor();
|
||||
GXSetTevColor(GX_TEVREG0,*colorPtr);
|
||||
GXBegin(GX_QUADS,GX_VTXFMT0,4);
|
||||
GXPosition3f32(-field_0x8,-field_0xc,0);
|
||||
GXPosition3f32(field_0x8,-field_0xc,0);
|
||||
GXPosition3f32(field_0x8,field_0xc,0);
|
||||
GXPosition3f32(-field_0x8,field_0xc,0);
|
||||
GXSetTevColor(GX_TEVREG0, *colorPtr);
|
||||
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
|
||||
GXPosition3f32(-field_0x8, -field_0xc, 0);
|
||||
GXPosition3f32(field_0x8, -field_0xc, 0);
|
||||
GXPosition3f32(field_0x8, field_0xc, 0);
|
||||
GXPosition3f32(-field_0x8, field_0xc, 0);
|
||||
GXEnd();
|
||||
}
|
||||
|
||||
/* 8003D188-8003D320 037AC8 0198+00 1/0 8/0 0/0 .text preRenderingMap__18dRenderingFDAmap_cFv */
|
||||
void dRenderingFDAmap_c::preRenderingMap() {
|
||||
GXSetViewport(0.0f,0.0f,field_0x1c,field_0x1e,0.0f,1.0f);
|
||||
GXSetScissor(0,0,field_0x1c,field_0x1e);
|
||||
GXSetViewport(0.0f, 0.0f, field_0x1c, field_0x1e, 0.0f, 1.0f);
|
||||
GXSetScissor(0, 0, field_0x1c, field_0x1e);
|
||||
GXSetNumChans(1);
|
||||
GXSetNumTevStages(1);
|
||||
GXSetChanCtrl(GX_COLOR0A0,GX_FALSE,GX_SRC_REG,GX_SRC_REG,GX_LIGHT_NULL,GX_DF_NONE,GX_AF_NONE);
|
||||
GXSetAlphaCompare(GX_ALWAYS,0,GX_AOP_OR,GX_ALWAYS,0);
|
||||
GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, GX_LIGHT_NULL, GX_DF_NONE,
|
||||
GX_AF_NONE);
|
||||
GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0);
|
||||
GXSetZCompLoc(GX_TRUE);
|
||||
GXSetZMode(GX_FALSE,GX_ALWAYS,GX_FALSE);
|
||||
GXSetBlendMode(GX_BM_NONE,GX_BL_SRC_ALPHA,GX_BL_INV_SRC_ALPHA,GX_LO_CLEAR);
|
||||
GXSetZMode(GX_FALSE, GX_ALWAYS, GX_FALSE);
|
||||
GXSetBlendMode(GX_BM_NONE, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_CLEAR);
|
||||
GXColor color = g_clearColor;
|
||||
GXSetFog(GX_FOG_NONE,0.0f,0.0f,0.0f,0.0f,color);
|
||||
GXSetFog(GX_FOG_NONE, 0.0f, 0.0f, 0.0f, 0.0f, color);
|
||||
GXSetCullMode(GX_CULL_NONE);
|
||||
GXSetDither(GX_FALSE);
|
||||
GXSetNumIndStages(0);
|
||||
GXSetClipMode(GX_FALSE);
|
||||
setTevSettingNonTextureDirectColor();
|
||||
float right = field_0x8*0.5f;
|
||||
float top = field_0xc*0.5f;
|
||||
float right = field_0x8 * 0.5f;
|
||||
float top = field_0xc * 0.5f;
|
||||
Mtx44 matrix;
|
||||
C_MTXOrtho(matrix,top,-top,-right,right,0.0f,10000.0f);
|
||||
GXSetProjection(matrix,GX_ORTHOGRAPHIC);
|
||||
GXLoadPosMtxImm(g_mDoMtx_identity,GX_PNMTX0);
|
||||
C_MTXOrtho(matrix, top, -top, -right, right, 0.0f, 10000.0f);
|
||||
GXSetProjection(matrix, GX_ORTHOGRAPHIC);
|
||||
GXLoadPosMtxImm(g_mDoMtx_identity, GX_PNMTX0);
|
||||
GXSetCurrentMtx(0);
|
||||
drawBack();
|
||||
}
|
||||
@@ -308,53 +308,55 @@ dMpath_n::dTexObjAggregate_c dMpath_n::m_texObjAgg;
|
||||
* renderingDecoration__18dRenderingFDAmap_cFPCQ211dDrawPath_c10line_class */
|
||||
void dRenderingFDAmap_c::renderingDecoration(dDrawPath_c::line_class const* line) {
|
||||
s32 width = getDecorationLineWidth(line->unk1);
|
||||
if (width<=0) {
|
||||
if (width <= 0) {
|
||||
return;
|
||||
}
|
||||
setTevSettingIntensityTextureToCI();
|
||||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS,GX_INDEX16);
|
||||
GXSetVtxDesc(GX_VA_TEX0,GX_DIRECT);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0,GX_VA_POS,GX_POS_XY,GX_F32,0);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0,GX_VA_TEX0,GX_POS_XYZ,GX_F32,0);
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XY, GX_F32, 0);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetNumTevStages(1);
|
||||
GXLoadTexObj(dMpath_n::m_texObjAgg.mTexObjs[6],GX_TEXMAP0);
|
||||
GXLoadTexObj(dMpath_n::m_texObjAgg.mTexObjs[6], GX_TEXMAP0);
|
||||
u16* unk = line->unk4;
|
||||
s32 unk2 = line->unk2;
|
||||
GXSetLineWidth(width,GX_TO_ONE);
|
||||
GXSetPointSize(width,GX_TO_ONE);
|
||||
GXColor* lineColorPtr = getDecoLineColor(line->unk0&0x3f,line->unk1);
|
||||
GXColor lineColor = *lineColorPtr;
|
||||
GXSetTevColor(GX_TEVREG0,lineColor);
|
||||
lineColor.r = lineColor.r-4;
|
||||
GXSetTevColor(GX_TEVREG1,lineColor);
|
||||
for (int i = 0; i<unk2; unk++,i++) {
|
||||
GXSetLineWidth(width, GX_TO_ONE);
|
||||
GXSetPointSize(width, GX_TO_ONE);
|
||||
GXColor* lineColorPtr = getDecoLineColor(line->unk0 & 0x3f, line->unk1);
|
||||
GXColor lineColor = *lineColorPtr;
|
||||
GXSetTevColor(GX_TEVREG0, lineColor);
|
||||
lineColor.r = lineColor.r - 4;
|
||||
GXSetTevColor(GX_TEVREG1, lineColor);
|
||||
for (int i = 0; i < unk2; unk++, i++) {
|
||||
#ifndef HYRULE_FIELD_SPEEDHACK
|
||||
if(i<unk2-1) {
|
||||
GXSetTevColorIn(GX_TEVSTAGE0,GX_CC_ZERO,GX_CC_ZERO,GX_CC_ZERO,GX_CC_C0);
|
||||
GXSetTevColorOp(GX_TEVSTAGE0,GX_TEV_ADD,GX_TB_ZERO,GX_CS_SCALE_1,GX_TRUE,GX_TEVPREV);
|
||||
GXSetTevAlphaIn(GX_TEVSTAGE0,GX_CA_ZERO,GX_CA_ZERO,GX_CA_ZERO,GX_CA_KONST);
|
||||
GXSetTevAlphaOp(GX_TEVSTAGE0,GX_TEV_ADD,GX_TB_ZERO,GX_CS_SCALE_1,GX_TRUE,GX_TEVPREV);
|
||||
GXBegin(GX_LINESTRIP,GX_VTXFMT0,2);
|
||||
if (i < unk2 - 1) {
|
||||
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0);
|
||||
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
|
||||
GX_TEVPREV);
|
||||
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_KONST);
|
||||
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE,
|
||||
GX_TEVPREV);
|
||||
GXBegin(GX_LINESTRIP, GX_VTXFMT0, 2);
|
||||
GXPosition1x16(unk[0]);
|
||||
GXTexCoord2f32(0,0);
|
||||
GXTexCoord2f32(0, 0);
|
||||
GXPosition1x16(unk[1]);
|
||||
GXTexCoord2f32(0,0);
|
||||
GXTexCoord2f32(0, 0);
|
||||
}
|
||||
GXSetTevColorIn(GX_TEVSTAGE0,GX_CC_ZERO,GX_CC_KONST,GX_CC_TEXC,GX_CC_C1);
|
||||
GXSetTevColorOp(GX_TEVSTAGE0,GX_TEV_ADD,GX_TB_ZERO,GX_CS_SCALE_1,GX_TRUE,GX_TEVPREV);
|
||||
GXSetTevAlphaIn(GX_TEVSTAGE0,GX_CA_ZERO,GX_CA_ZERO,GX_CA_ZERO,GX_CA_TEXA);
|
||||
GXSetTevAlphaOp(GX_TEVSTAGE0,GX_TEV_ADD,GX_TB_ZERO,GX_CS_SCALE_1,GX_TRUE,GX_TEVPREV);
|
||||
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_KONST, GX_CC_TEXC, GX_CC_C1);
|
||||
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
|
||||
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_TEXA);
|
||||
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
|
||||
#endif
|
||||
GXBegin(GX_POINTS,GX_VTXFMT0,1);
|
||||
GXBegin(GX_POINTS, GX_VTXFMT0, 1);
|
||||
GXPosition1x16(unk[0]);
|
||||
GXTexCoord2f32(0,0);
|
||||
GXTexCoord2f32(0, 0);
|
||||
GXEnd();
|
||||
}
|
||||
setTevSettingNonTextureDirectColor();
|
||||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS,GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0,GX_VA_POS,GX_CLR_RGB,GX_F32,0);
|
||||
GXSetVtxDesc(GX_VA_POS, GX_INDEX16);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGB, GX_F32, 0);
|
||||
}
|
||||
|
||||
/* 8003D68C-8003D6B8 037FCC 002C+00 1/0 6/0 0/0 .text getDecoLineColor__18dRenderingFDAmap_cFii */
|
||||
|
||||
@@ -937,7 +937,7 @@ asm void J2DTextBox::getBlack() const {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void J2DPicture::getWhite() const {
|
||||
asm JUtility::TColor J2DPicture::getWhite() const {
|
||||
nofralloc
|
||||
#include "asm/d/menu/d_menu_letter/getWhite__10J2DPictureCFv.s"
|
||||
}
|
||||
@@ -947,7 +947,7 @@ asm void J2DPicture::getWhite() const {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void J2DPicture::getBlack() const {
|
||||
asm JUtility::TColor J2DPicture::getBlack() const {
|
||||
nofralloc
|
||||
#include "asm/d/menu/d_menu_letter/getBlack__10J2DPictureCFv.s"
|
||||
}
|
||||
|
||||
@@ -263,7 +263,6 @@ extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
|
||||
extern "C" extern void* __vt__12dDlst_base_c[3];
|
||||
extern "C" extern void* __vt__10CSTControl[4];
|
||||
extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
|
||||
extern "C" extern u8 g_clearColor[4];
|
||||
extern "C" u8 mFader__13mDoGph_gInf_c[4];
|
||||
extern "C" u8 mFrameBufferTimg__13mDoGph_gInf_c[4];
|
||||
extern "C" u8 mFrameBufferTex__13mDoGph_gInf_c[4];
|
||||
|
||||
+578
-145
@@ -6,7 +6,9 @@
|
||||
#include "d/meter/d_meter2_draw.h"
|
||||
#include "JSystem/J2DGraph/J2DAnmLoader.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "d/d_kantera_icon_meter.h"
|
||||
#include "d/meter/d_meter_HIO.h"
|
||||
#include "d/msg/d_msg_object.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
@@ -14,14 +16,6 @@
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct dKantera_icon_c {
|
||||
/* 801AE938 */ dKantera_icon_c();
|
||||
/* 801AEB7C */ void setAlphaRate(f32);
|
||||
/* 801AEBA0 */ void setPos(f32, f32);
|
||||
/* 801AEBF4 */ void setScale(f32, f32);
|
||||
/* 801AEC44 */ void setNowGauge(u16, u16);
|
||||
};
|
||||
|
||||
struct Z2SeMgr {
|
||||
/* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
|
||||
/* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
|
||||
@@ -231,57 +225,46 @@ extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
inline bool dComIfGp_checkPlayerStatus0(int param_0, u32 param_1) {
|
||||
return g_dComIfG_gameInfo.play.checkPlayerStatus(param_0, 0, param_1);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80398258-80398280 0248B8 0028+00 4/4 0/0 0/0 .rodata a_tag$3949 */
|
||||
SECTION_RODATA static u8 const a_tag[40] = {
|
||||
0x63, 0x6F, 0x6E, 0x74, 0x5F, 0x61, 0x74, 0x31, 0x63, 0x6F, 0x6E, 0x74, 0x5F, 0x61,
|
||||
0x74, 0x32, 0x63, 0x6F, 0x6E, 0x74, 0x5F, 0x61, 0x74, 0x33, 0x63, 0x6F, 0x6E, 0x74,
|
||||
0x5F, 0x61, 0x74, 0x34, 0x00, 0x63, 0x6F, 0x6E, 0x74, 0x5F, 0x61, 0x74,
|
||||
static u64 const a_tag[5] = {
|
||||
'cont_at1', 'cont_at2', 'cont_at3', 'cont_at4', 'cont_at',
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80398258, &a_tag);
|
||||
|
||||
/* 80398280-803982A8 0248E0 0028+00 0/1 0/0 0/0 .rodata b_tag$3950 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const b_tag[40] = {
|
||||
0x63, 0x6F, 0x6E, 0x74, 0x5F, 0x62, 0x74, 0x31, 0x63, 0x6F, 0x6E, 0x74, 0x5F, 0x62,
|
||||
0x74, 0x32, 0x63, 0x6F, 0x6E, 0x74, 0x5F, 0x62, 0x74, 0x33, 0x63, 0x6F, 0x6E, 0x74,
|
||||
0x5F, 0x62, 0x74, 0x34, 0x00, 0x63, 0x6F, 0x6E, 0x74, 0x5F, 0x62, 0x74,
|
||||
static u64 const b_tag[5] = {
|
||||
'cont_bt1', 'cont_bt2', 'cont_bt3', 'cont_bt4', 'cont_bt',
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80398280, &b_tag);
|
||||
#pragma pop
|
||||
|
||||
/* 803982A8-803982D0 024908 0028+00 0/1 0/0 0/0 .rodata z_tag$3951 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const z_tag[40] = {
|
||||
0x63, 0x6F, 0x6E, 0x74, 0x5F, 0x7A, 0x74, 0x31, 0x63, 0x6F, 0x6E, 0x74, 0x5F, 0x7A,
|
||||
0x74, 0x32, 0x63, 0x6F, 0x6E, 0x74, 0x5F, 0x7A, 0x74, 0x33, 0x63, 0x6F, 0x6E, 0x74,
|
||||
0x5F, 0x7A, 0x74, 0x34, 0x00, 0x63, 0x6F, 0x6E, 0x74, 0x5F, 0x72, 0x74,
|
||||
static u64 const z_tag[5] = {
|
||||
'cont_zt1', 'cont_zt2', 'cont_zt3', 'cont_zt4', 'cont_rt',
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x803982A8, &z_tag);
|
||||
#pragma pop
|
||||
|
||||
/* 803982D0-803982F8 024930 0028+00 0/1 0/0 0/0 .rodata x_tag$3952 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const x_tag[40] = {
|
||||
0x63, 0x6F, 0x6E, 0x74, 0x5F, 0x78, 0x74, 0x31, 0x63, 0x6F, 0x6E, 0x74, 0x5F, 0x78,
|
||||
0x74, 0x32, 0x63, 0x6F, 0x6E, 0x74, 0x5F, 0x78, 0x74, 0x33, 0x63, 0x6F, 0x6E, 0x74,
|
||||
0x5F, 0x78, 0x74, 0x34, 0x63, 0x6F, 0x6E, 0x74, 0x5F, 0x78, 0x74, 0x35,
|
||||
static u64 const x_tag[5] = {
|
||||
'cont_xt1', 'cont_xt2', 'cont_xt3', 'cont_xt4', 'cont_xt5',
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x803982D0, &x_tag);
|
||||
#pragma pop
|
||||
|
||||
/* 803982F8-80398320 024958 0028+00 0/1 0/0 0/0 .rodata y_tag$3953 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const y_tag[40] = {
|
||||
0x63, 0x6F, 0x6E, 0x74, 0x5F, 0x79, 0x74, 0x31, 0x63, 0x6F, 0x6E, 0x74, 0x5F, 0x79,
|
||||
0x74, 0x32, 0x63, 0x6F, 0x6E, 0x74, 0x5F, 0x79, 0x74, 0x33, 0x63, 0x6F, 0x6E, 0x74,
|
||||
0x5F, 0x79, 0x74, 0x34, 0x63, 0x6F, 0x6E, 0x74, 0x5F, 0x79, 0x74, 0x35,
|
||||
static u64 const y_tag[5] = {
|
||||
'cont_yt1', 'cont_yt2', 'cont_yt3', 'cont_yt4', 'cont_yt5',
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x803982F8, &y_tag);
|
||||
#pragma pop
|
||||
|
||||
/* 803988D0-803988D0 024F30 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
@@ -307,17 +290,9 @@ SECTION_DEAD static char const* const stringBase_803989BF = "";
|
||||
#pragma pop
|
||||
|
||||
/* 803BF328-803BF350 -00001 0028+00 1/1 0/0 0/0 .data bmg_filename$3954 */
|
||||
SECTION_DATA static void* bmg_filename[10] = {
|
||||
(void*)&d_meter_d_meter2_draw__stringBase0,
|
||||
(void*)(((char*)&d_meter_d_meter2_draw__stringBase0) + 0xB),
|
||||
(void*)(((char*)&d_meter_d_meter2_draw__stringBase0) + 0x16),
|
||||
(void*)(((char*)&d_meter_d_meter2_draw__stringBase0) + 0x21),
|
||||
(void*)(((char*)&d_meter_d_meter2_draw__stringBase0) + 0x2C),
|
||||
(void*)(((char*)&d_meter_d_meter2_draw__stringBase0) + 0x37),
|
||||
(void*)(((char*)&d_meter_d_meter2_draw__stringBase0) + 0x42),
|
||||
(void*)(((char*)&d_meter_d_meter2_draw__stringBase0) + 0x4D),
|
||||
(void*)(((char*)&d_meter_d_meter2_draw__stringBase0) + 0x58),
|
||||
(void*)(((char*)&d_meter_d_meter2_draw__stringBase0) + 0x63),
|
||||
SECTION_DATA static char* bmg_filename[10] = {
|
||||
"zel_00.bmg", "zel_01.bmg", "zel_02.bmg", "zel_03.bmg", "zel_04.bmg",
|
||||
"zel_05.bmg", "zel_06.bmg", "zel_07.bmg", "zel_08.bmg", "zel_99.bmg",
|
||||
};
|
||||
|
||||
/* 803BF350-803BF554 01C470 0204+00 1/1 0/0 0/0 .data i_action_num$8471 */
|
||||
@@ -527,6 +502,91 @@ SECTION_SDATA2 static f32 lit_4185 = 20.0f;
|
||||
|
||||
/* 8020FAB4-802102F8 20A3F4 0844+00 0/0 1/1 0/0 .text __ct__13dMeter2Draw_cFP10JKRExpHeap
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
dMeter2Draw_c::dMeter2Draw_c(JKRExpHeap* p_heap) {
|
||||
mp_heap = p_heap;
|
||||
JKRHeap* heap = mDoExt_setCurrentHeap(dComIfGp_getMsgExpHeap());
|
||||
|
||||
void* msg_res = JKRGetTypeResource('ROOT', "zel_00.bmg", dComIfGp_getMsgDtArchive(0));
|
||||
dMeter2Info_setMsgResource(msg_res);
|
||||
|
||||
void* stg_msg_res = JKRGetTypeResource('ROOT', bmg_filename[dMsgObject_getGroupID()],
|
||||
dComIfGp_getMsgDtArchive(1));
|
||||
dMeter2Info_setStageMsgResource(stg_msg_res);
|
||||
|
||||
void* msg_unit_res = JKRGetTypeResource('ROOT', "zel_unit.bmg", dComIfGp_getMsgDtArchive(0));
|
||||
dMeter2Info_setMsgUnitResource(msg_unit_res);
|
||||
mDoExt_setCurrentHeap(heap);
|
||||
|
||||
mpScreen = new J2DScreen();
|
||||
mpScreen->setPriority("zelda_game_image.blo", 0x20000, dComIfGp_getMain2DArchive());
|
||||
dPaneClass_showNullPane(mpScreen);
|
||||
mpScreen->search('ju_ring5')->hide();
|
||||
|
||||
field_0x73c = 0.0f;
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mpKanteraMeter[i] = new dKantera_icon_c();
|
||||
}
|
||||
mpKanteraScreen = new J2DScreen();
|
||||
mpKanteraScreen->setPriority("zelda_game_image_kantera.blo", 0x20000,
|
||||
dComIfGp_getMain2DArchive());
|
||||
dPaneClass_showNullPane(mpKanteraScreen);
|
||||
|
||||
mpPikariScreen = new J2DScreen();
|
||||
mpPikariScreen->setPriority("zelda_icon_pikari.blo", 0x20000, dComIfGp_getMain2DArchive());
|
||||
dPaneClass_showNullPane(mpPikariScreen);
|
||||
mpPikariParent = new CPaneMgr(mpPikariScreen, 'pika_n', 0, NULL);
|
||||
field_0x548 = ((J2DPicture*)mpPikariScreen->search('pika00'))->getBlack();
|
||||
field_0x54c = ((J2DPicture*)mpPikariScreen->search('pika00'))->getWhite();
|
||||
OSInitFastCast();
|
||||
void* pikari_bck = JKRGetNameResource("zelda_icon_pikari.bck", dComIfGp_getMain2DArchive());
|
||||
mPikariBck = (J2DAnmTransformKey*)J2DAnmLoaderDataBase::load(pikari_bck);
|
||||
playPikariBckAnimation(1.0f);
|
||||
void* pikari_bpk = JKRGetNameResource("zelda_icon_pikari.bpk", dComIfGp_getMain2DArchive());
|
||||
mPikariBpk = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(pikari_bpk);
|
||||
mPikariBpk->searchUpdateMaterialID(mpPikariScreen);
|
||||
playPikariBpkAnimation(1.0f);
|
||||
|
||||
mpParent = new CPaneMgr(mpScreen, 'n_all', 2, NULL);
|
||||
for (int i = 0; i < 5; i++) {
|
||||
mpAText[i] = new CPaneMgr(mpScreen, a_tag[i], 0, NULL);
|
||||
((J2DTextBox*)mpAText[i]->getPanePtr())->setString(64, "");
|
||||
((J2DTextBox*)mpAText[i]->getPanePtr())->setFont(mDoExt_getMesgFont());
|
||||
((J2DTextBox*)mpAText[i]->getPanePtr())->setCharSpace(g_drawHIO.mAButtonFontSpacing);
|
||||
|
||||
mpBText[i] = new CPaneMgr(mpScreen, b_tag[i], 0, NULL);
|
||||
((J2DTextBox*)mpBText[i]->getPanePtr())->setString(64, "");
|
||||
((J2DTextBox*)mpBText[i]->getPanePtr())->setFont(mDoExt_getMesgFont());
|
||||
|
||||
mpXYText[i][2] = new CPaneMgr(mpScreen, z_tag[i], 0, NULL);
|
||||
((J2DTextBox*)mpXYText[i][2]->getPanePtr())->setString(64, "");
|
||||
((J2DTextBox*)mpXYText[i][2]->getPanePtr())->setFont(mDoExt_getMesgFont());
|
||||
|
||||
mpXYText[i][0] = new CPaneMgr(mpScreen, x_tag[i], 0, NULL);
|
||||
((J2DTextBox*)mpXYText[i][0]->getPanePtr())->setString(64, "");
|
||||
((J2DTextBox*)mpXYText[i][0]->getPanePtr())->setFont(mDoExt_getMesgFont());
|
||||
|
||||
mpXYText[i][1] = new CPaneMgr(mpScreen, y_tag[i], 0, NULL);
|
||||
((J2DTextBox*)mpXYText[i][1]->getPanePtr())->setString(64, "");
|
||||
((J2DTextBox*)mpXYText[i][1]->getPanePtr())->setFont(mDoExt_getMesgFont());
|
||||
}
|
||||
|
||||
J2DTextBox::TFontSize font_size = {lit_4184, lit_4185};
|
||||
for (int i = 0; i < 5; i++) {
|
||||
((J2DTextBox*)mpAText[i]->getPanePtr())->setFontSize(font_size);
|
||||
((J2DTextBox*)mpBText[i]->getPanePtr())->setFontSize(font_size);
|
||||
((J2DTextBox*)mpXYText[i][2]->getPanePtr())->setFontSize(font_size);
|
||||
((J2DTextBox*)mpXYText[i][0]->getPanePtr())->setFontSize(font_size);
|
||||
((J2DTextBox*)mpXYText[i][1]->getPanePtr())->setFontSize(font_size);
|
||||
}
|
||||
|
||||
init();
|
||||
field_0xa8 = 0;
|
||||
field_0x1e4 = 0;
|
||||
field_0x2fc = 0;
|
||||
field_0x36c = 0;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -535,36 +595,437 @@ asm dMeter2Draw_c::dMeter2Draw_c(JKRExpHeap* param_0) {
|
||||
#include "asm/d/meter/d_meter2_draw/__ct__13dMeter2Draw_cFP10JKRExpHeap.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802102F8-80210FB0 20AC38 0CB8+00 1/0 0/0 0/0 .text __dt__13dMeter2Draw_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dMeter2Draw_c::~dMeter2Draw_c() {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter2_draw/__dt__13dMeter2Draw_cFv.s"
|
||||
dMeter2Draw_c::~dMeter2Draw_c() {
|
||||
dComIfGp_getMsgDtArchive(0)->removeResource(dMeter2Info_getMsgResource());
|
||||
dComIfGp_getMsgDtArchive(0)->removeResource(dMeter2Info_getMsgUnitResource());
|
||||
dComIfGp_getItemIconArchive()->removeResourceAll();
|
||||
|
||||
delete mpScreen;
|
||||
mpScreen = NULL;
|
||||
|
||||
delete mpKanteraScreen;
|
||||
mpKanteraScreen = NULL;
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
delete mpKanteraMeter[i];
|
||||
mpKanteraMeter[i] = NULL;
|
||||
}
|
||||
|
||||
delete mpParent;
|
||||
mpParent = NULL;
|
||||
|
||||
delete mpPikariScreen;
|
||||
mpPikariScreen = NULL;
|
||||
|
||||
delete mpPikariParent;
|
||||
mpPikariParent = NULL;
|
||||
|
||||
delete mPikariBck;
|
||||
mPikariBck = NULL;
|
||||
|
||||
delete mPikariBpk;
|
||||
mPikariBpk = NULL;
|
||||
|
||||
for (int i = 0; i < 5; i++) {
|
||||
delete mpAText[i];
|
||||
mpAText[i] = NULL;
|
||||
|
||||
delete mpBText[i];
|
||||
mpBText[i] = NULL;
|
||||
|
||||
for (int j = 0; j < 3; j++) {
|
||||
delete mpXYText[i][j];
|
||||
mpXYText[i][j] = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
delete mpLifeParent;
|
||||
mpLifeParent = NULL;
|
||||
|
||||
for (int i = 0; i < 20; i++) {
|
||||
delete mpLifeParts[i];
|
||||
mpLifeParts[i] = NULL;
|
||||
|
||||
delete mpHeartMask[i];
|
||||
mpHeartMask[i] = NULL;
|
||||
|
||||
delete mpHeartBase[i];
|
||||
mpHeartBase[i] = NULL;
|
||||
|
||||
delete mpLifeTexture[i][0];
|
||||
mpLifeTexture[i][0] = NULL;
|
||||
|
||||
delete mpLifeTexture[i][1];
|
||||
mpLifeTexture[i][1] = NULL;
|
||||
}
|
||||
|
||||
delete mpBigHeart;
|
||||
mpBigHeart = NULL;
|
||||
|
||||
delete mpMagicParent;
|
||||
mpMagicParent = NULL;
|
||||
|
||||
delete mpMagicBase;
|
||||
mpMagicBase = NULL;
|
||||
|
||||
delete mpMagicFrameL;
|
||||
mpMagicFrameL = NULL;
|
||||
|
||||
delete mpMagicFrameR;
|
||||
mpMagicFrameR = NULL;
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
delete field_0x53c[i];
|
||||
field_0x53c[i] = NULL;
|
||||
}
|
||||
|
||||
delete mpMagicMeter;
|
||||
mpMagicMeter = NULL;
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
delete mpSIParent[i];
|
||||
mpSIParent[i] = NULL;
|
||||
}
|
||||
|
||||
delete mpLightDropParent;
|
||||
mpLightDropParent = NULL;
|
||||
|
||||
for (int i = 0; i < 16; i++) {
|
||||
for (int j = 0; j < 3; j++) {
|
||||
if (mpSIParts[i][j] != NULL) {
|
||||
delete mpSIParts[i][j];
|
||||
mpSIParts[i][j] = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
delete mpRupeeKeyParent;
|
||||
mpRupeeKeyParent = NULL;
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
delete mpRupeeTexture[i][0];
|
||||
mpRupeeTexture[i][0] = NULL;
|
||||
|
||||
delete mpRupeeTexture[i][1];
|
||||
mpRupeeTexture[i][1] = NULL;
|
||||
}
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
delete mpRupeeParent[i];
|
||||
mpRupeeParent[i] = NULL;
|
||||
}
|
||||
|
||||
for (int i = 0; i < 5; i++) {
|
||||
delete mpKeyTexture[i];
|
||||
mpKeyTexture[i] = NULL;
|
||||
}
|
||||
|
||||
delete mpKeyParent;
|
||||
mpKeyParent = NULL;
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
for (int j = 0; j < 2; j++) {
|
||||
mp_heap->free(mpItemBTex[i][j]);
|
||||
mpItemBTex[i][j] = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
for (int j = 0; j < 2; j++) {
|
||||
for (int k = 0; k < 2; k++) {
|
||||
mp_heap->free(mpItemXYTex[i][j][k]);
|
||||
mpItemXYTex[i][j][k] = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
delete mpItemB;
|
||||
mpItemB = NULL;
|
||||
mpItemBPane = NULL;
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
if (mpItemXY[i] != NULL) {
|
||||
delete mpItemXY[i];
|
||||
mpItemXY[i] = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
delete mpItemR;
|
||||
mpItemR = NULL;
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
mpItemXYPane[i] = NULL;
|
||||
}
|
||||
|
||||
delete mpLightB;
|
||||
mpLightB = NULL;
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (mpLightXY[i] != NULL) {
|
||||
delete mpLightXY[i];
|
||||
mpLightXY[i] = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
delete mpBTextA;
|
||||
mpBTextA = NULL;
|
||||
|
||||
delete mpBTextB;
|
||||
mpBTextB = NULL;
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (mpBTextXY[i] != NULL) {
|
||||
delete mpBTextXY[i];
|
||||
mpBTextXY[i] = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
delete mpTextA;
|
||||
mpTextA = NULL;
|
||||
|
||||
delete mpTextB;
|
||||
mpTextB = NULL;
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
delete mpTextXY[i];
|
||||
mpTextXY[i] = NULL;
|
||||
}
|
||||
|
||||
delete mpTextI;
|
||||
mpTextI = NULL;
|
||||
|
||||
delete mpTextM;
|
||||
mpTextM = NULL;
|
||||
|
||||
for (int i = 0; i < 5; i++) {
|
||||
if (mpJujiI[i] != NULL) {
|
||||
delete mpJujiI[i];
|
||||
mpJujiI[i] = NULL;
|
||||
}
|
||||
|
||||
if (mpJujiM[i] != NULL) {
|
||||
delete mpJujiM[i];
|
||||
mpJujiM[i] = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
delete mpButtonParent;
|
||||
mpButtonParent = NULL;
|
||||
|
||||
delete mpButtonA;
|
||||
mpButtonA = NULL;
|
||||
|
||||
delete mpButtonB;
|
||||
mpButtonB = NULL;
|
||||
|
||||
delete mpButtonMidona;
|
||||
mpButtonMidona = NULL;
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
delete mpButtonXY[i];
|
||||
mpButtonXY[i] = NULL;
|
||||
}
|
||||
|
||||
if (mpUzu != NULL) {
|
||||
delete mpUzu;
|
||||
mpUzu = NULL;
|
||||
}
|
||||
|
||||
delete mpButtonCrossParent;
|
||||
mpButtonCrossParent = NULL;
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
for (int j = 0; j < 3; j++) {
|
||||
if (mpItemNumTex[i][j] != NULL) {
|
||||
delete mpItemNumTex[i][j];
|
||||
mpItemNumTex[i][j] = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (field_0x9c[i] != NULL) {
|
||||
delete field_0x9c[i];
|
||||
field_0x9c[i] = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80210FB0-8021135C 20B8F0 03AC+00 1/1 0/0 0/0 .text init__13dMeter2Draw_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeter2Draw_c::init() {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter2_draw/init__13dMeter2Draw_cFv.s"
|
||||
void dMeter2Draw_c::init() {
|
||||
f32 tmp_0 = FLOAT_LABEL(lit_4182);
|
||||
field_0x608 = tmp_0;
|
||||
field_0x60c = tmp_0;
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
field_0x620[i] = tmp_0;
|
||||
field_0x610[i] = tmp_0;
|
||||
}
|
||||
|
||||
f32 tmp_0_1 = FLOAT_LABEL(lit_4182);
|
||||
field_0x61c = tmp_0_1;
|
||||
for (int i = 0; i < 16; i++) {
|
||||
field_0x62c[i] = tmp_0_1;
|
||||
field_0x66c[i] = tmp_0_1;
|
||||
}
|
||||
|
||||
field_0x759 = 0;
|
||||
field_0x75a = 0;
|
||||
for (int i = 0; i < 3; i++) {
|
||||
field_0x75c[i] = 0;
|
||||
}
|
||||
|
||||
field_0x75f = 0;
|
||||
field_0x756 = -1;
|
||||
|
||||
field_0x760 = 0;
|
||||
|
||||
int j = 0;
|
||||
f32 tmp_0_3 = FLOAT_LABEL(lit_4182);
|
||||
for (; j < 3; j++) {
|
||||
field_0x6ac[j] = tmp_0_3;
|
||||
field_0x6b8[j] = tmp_0_3;
|
||||
field_0x6c4[j] = tmp_0_3;
|
||||
field_0x6d0[j] = tmp_0_3;
|
||||
}
|
||||
|
||||
f32 tmp_0_4 = FLOAT_LABEL(lit_4182);
|
||||
field_0x6dc = tmp_0_4;
|
||||
field_0x6e0 = tmp_0_4;
|
||||
field_0x6e4 = tmp_0_4;
|
||||
field_0x6e8 = tmp_0_4;
|
||||
field_0x6ec = tmp_0_4;
|
||||
field_0x6f0 = tmp_0_4;
|
||||
mHUDScale = g_drawHIO.mHUDScale;
|
||||
mHUDAlpha = g_drawHIO.mHUDAlpha;
|
||||
mButtonsPosX = tmp_0_4;
|
||||
mButtonsPosY = tmp_0_4;
|
||||
mButtonsScale = lit_4183;
|
||||
field_0x78c = g_drawHIO.mButtonDisplayBackScale;
|
||||
field_0x790 = tmp_0_4;
|
||||
mLifeGaugeHeartAlpha = g_drawHIO.mLifeGaugeHeartAlpha;
|
||||
mLifeGaugeBaseAlpha = g_drawHIO.mLifeGaugeBaseAlpha;
|
||||
mHeartAlpha = g_drawHIO.mHeartAlpha;
|
||||
mLargeHeartAlpha = g_drawHIO.mLargeHeartAlpha;
|
||||
field_0x7a4 = tmp_0_4;
|
||||
mMagicMeterAlpha = g_drawHIO.mMagicMeterAlpha;
|
||||
mMagicMeterFrameAlpha = g_drawHIO.mMagicMeterFrameAlpha;
|
||||
field_0x7b0 = tmp_0_4;
|
||||
mLanternMeterAlpha = g_drawHIO.mLanternMeterAlpha;
|
||||
mLanternMeterFrameAlpha = g_drawHIO.mLanternMeterFrameAlpha;
|
||||
field_0x7bc = tmp_0_4;
|
||||
mOxygenMeterAlpha = g_drawHIO.mOxygenMeterAlpha;
|
||||
mOxygenMeterFrameAlpha = g_drawHIO.mOxygenMeterFrameAlpha;
|
||||
field_0x7c8 = tmp_0_4;
|
||||
field_0x861 = 0;
|
||||
field_0x860 = 0;
|
||||
field_0x7cc = g_drawHIO.mHUDAlpha;
|
||||
field_0x7d0 = g_drawHIO.mRupeeKeyAlpha;
|
||||
mRupeeAlpha = g_drawHIO.mRupeeAlpha;
|
||||
mRupeeFrameAlpha = g_drawHIO.mRupeeFrameAlpha;
|
||||
mRupeeCountAlpha = g_drawHIO.mRupeeCountAlpha;
|
||||
field_0x7e0 = g_drawHIO.mHUDAlpha;
|
||||
field_0x7e4 = g_drawHIO.mRupeeKeyAlpha;
|
||||
mKeyAlpha = g_drawHIO.mKeyAlpha;
|
||||
mKeyNumAlpha = g_drawHIO.mKeyNumAlpha;
|
||||
field_0x7f0 = g_drawHIO.mHUDAlpha;
|
||||
mMainHUDButtonsAlpha = g_drawHIO.mMainHUDButtonsAlpha;
|
||||
mButtonDisplayBackAlpha = g_drawHIO.mButtonDisplayBackAlpha;
|
||||
mAButtonAlpha = g_drawHIO.mAButtonAlpha;
|
||||
mBButtonAlpha = g_drawHIO.mBButtonAlpha;
|
||||
mXButtonAlpha = g_drawHIO.mXButtonAlpha;
|
||||
mYButtonAlpha = g_drawHIO.mYButtonAlpha;
|
||||
field_0x80c = g_drawHIO.field_0x168;
|
||||
field_0x810 = g_drawHIO.mZButtonAlpha;
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mBItemBaseAlpha[i] = g_drawHIO.mBItemBaseAlpha[i];
|
||||
mXButtonItemBaseAlpha[i] = g_drawHIO.mXButtonItemBaseAlpha[i];
|
||||
mYButtonItemBaseAlpha[i] = g_drawHIO.mYButtonItemBaseAlpha[i];
|
||||
field_0x82c[i] = g_drawHIO.field_0x298[i];
|
||||
}
|
||||
|
||||
mZButtonItemBaseAlpha = g_drawHIO.mZButtonItemBaseAlpha;
|
||||
mButtonBaseAlpha = g_drawHIO.mButtonBaseAlpha;
|
||||
mAButtonFontSpacing = g_drawHIO.mAButtonFontSpacing;
|
||||
mDPadButtonAlpha = g_drawHIO.mDPadButtonAlpha;
|
||||
mDPadButtonITEMAlpha = g_drawHIO.mDPadButtonITEMAlpha;
|
||||
mDPadButtonMAPAlpha = g_drawHIO.mDPadButtonMAPAlpha;
|
||||
field_0x84c = g_drawHIO.mAButtonFontColor.r;
|
||||
field_0x84d = g_drawHIO.mAButtonFontColor.g;
|
||||
field_0x84e = g_drawHIO.mAButtonFontColor.b;
|
||||
field_0x84f = g_drawHIO.mAButtonFontColor.a;
|
||||
field_0x850 = g_drawHIO.mBButtonFontColor.r;
|
||||
field_0x851 = g_drawHIO.mBButtonFontColor.g;
|
||||
field_0x852 = g_drawHIO.mBButtonFontColor.b;
|
||||
field_0x853 = g_drawHIO.mBButtonFontColor.a;
|
||||
field_0x854 = g_drawHIO.field_0x2f0.r;
|
||||
field_0x855 = g_drawHIO.field_0x2f0.g;
|
||||
field_0x856 = g_drawHIO.field_0x2f0.b;
|
||||
field_0x857 = g_drawHIO.field_0x2f0.a;
|
||||
field_0x858 = g_drawHIO.mZButtonFontColor.r;
|
||||
field_0x859 = g_drawHIO.mZButtonFontColor.g;
|
||||
field_0x85a = g_drawHIO.mZButtonFontColor.b;
|
||||
field_0x85b = g_drawHIO.mZButtonFontColor.a;
|
||||
field_0x85c = g_drawHIO.mXYButtonFontColor.r;
|
||||
field_0x85d = g_drawHIO.mXYButtonFontColor.g;
|
||||
field_0x85e = g_drawHIO.mXYButtonFontColor.b;
|
||||
field_0x85f = g_drawHIO.mXYButtonFontColor.a;
|
||||
|
||||
setItemParamX(0);
|
||||
setItemParamY(0);
|
||||
setItemParamZ(0);
|
||||
setItemParamB(0);
|
||||
initLife();
|
||||
initMagic();
|
||||
initLightDrop();
|
||||
initRupeeKey();
|
||||
initButton();
|
||||
initButtonCross();
|
||||
field_0x772 = 0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8021135C-8021151C 20BC9C 01C0+00 0/0 1/1 0/0 .text exec__13dMeter2Draw_cFUl */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeter2Draw_c::exec(u32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter2_draw/exec__13dMeter2Draw_cFUl.s"
|
||||
void dMeter2Draw_c::exec(u32 param_0) {
|
||||
if (mHUDScale != g_drawHIO.mHUDScale) {
|
||||
mHUDScale = g_drawHIO.mHUDScale;
|
||||
mpParent->scale(g_drawHIO.mHUDScale, g_drawHIO.mHUDScale);
|
||||
}
|
||||
|
||||
if (mHUDAlpha != g_drawHIO.mHUDAlpha) {
|
||||
mHUDAlpha = g_drawHIO.mHUDAlpha;
|
||||
mpParent->setAlphaRate(g_drawHIO.mHUDAlpha);
|
||||
}
|
||||
|
||||
if (param_0 & 0x1000000) {
|
||||
if (mButtonsPosX != g_drawHIO.mRingHUDButtonsPosX ||
|
||||
mButtonsPosY != g_drawHIO.mRingHUDButtonsPosY) {
|
||||
mButtonsPosX = g_drawHIO.mRingHUDButtonsPosX;
|
||||
mButtonsPosY = g_drawHIO.mRingHUDButtonsPosY;
|
||||
mpButtonParent->paneTrans(g_drawHIO.mRingHUDButtonsPosX, g_drawHIO.mRingHUDButtonsPosY);
|
||||
}
|
||||
|
||||
if (mButtonsScale != g_drawHIO.mRingHUDButtonsScale) {
|
||||
mButtonsScale = g_drawHIO.mRingHUDButtonsScale;
|
||||
mpButtonParent->scale(g_drawHIO.mRingHUDButtonsScale, g_drawHIO.mRingHUDButtonsScale);
|
||||
}
|
||||
} else {
|
||||
if (mButtonsPosX != g_drawHIO.mMainHUDButtonsPosX ||
|
||||
mButtonsPosY != g_drawHIO.mMainHUDButtonsPosY) {
|
||||
mButtonsPosX = g_drawHIO.mMainHUDButtonsPosX;
|
||||
mButtonsPosY = g_drawHIO.mMainHUDButtonsPosY;
|
||||
mpButtonParent->paneTrans(g_drawHIO.mMainHUDButtonsPosX, g_drawHIO.mMainHUDButtonsPosY);
|
||||
}
|
||||
|
||||
if (mButtonsScale != g_drawHIO.mMainHUDButtonsScale) {
|
||||
mButtonsScale = g_drawHIO.mMainHUDButtonsScale;
|
||||
mpButtonParent->scale(g_drawHIO.mMainHUDButtonsScale, g_drawHIO.mMainHUDButtonsScale);
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80454890-80454894 002E90 0004+00 1/1 0/0 0/0 .sdata2 @4921 */
|
||||
@@ -704,6 +1165,7 @@ SECTION_DEAD static char const* const stringBase_80398A0A = "zelda_game_image_sa
|
||||
#pragma pop
|
||||
|
||||
/* 80211E64-80212190 20C7A4 032C+00 1/1 0/0 0/0 .text initMagic__13dMeter2Draw_cFv */
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
void dMeter2Draw_c::initMagic() {
|
||||
field_0x550 = 0.0f;
|
||||
@@ -714,21 +1176,22 @@ void dMeter2Draw_c::initMagic() {
|
||||
mpMagicFrameL = new CPaneMgr(mpKanteraScreen, 'm_w_l_n', 2, NULL);
|
||||
mpMagicFrameR = new CPaneMgr(mpKanteraScreen, 'm_w_r_n', 2, NULL);
|
||||
mpMagicMeter = new CPaneMgr(mpKanteraScreen, 'mm_00', 0, NULL);
|
||||
OSInitFastCast();
|
||||
|
||||
void* res = JKRFileLoader::getGlbResource("zelda_game_image_sanso_10percent.bpk",
|
||||
dComIfGp_getMain2DArchive());
|
||||
field_0x53c = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res);
|
||||
field_0x53c->searchUpdateMaterialID(mpKanteraScreen);
|
||||
field_0x53c[0] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res);
|
||||
field_0x53c[0]->searchUpdateMaterialID(mpKanteraScreen);
|
||||
|
||||
res = JKRFileLoader::getGlbResource("zelda_game_image_sanso_25percent.bpk",
|
||||
dComIfGp_getMain2DArchive());
|
||||
field_0x540 = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res);
|
||||
field_0x540->searchUpdateMaterialID(mpKanteraScreen);
|
||||
field_0x53c[1] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res);
|
||||
field_0x53c[1]->searchUpdateMaterialID(mpKanteraScreen);
|
||||
|
||||
res = JKRFileLoader::getGlbResource("zelda_game_image_sanso_50percent.bpk",
|
||||
dComIfGp_getMain2DArchive());
|
||||
field_0x544 = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res);
|
||||
field_0x544->searchUpdateMaterialID(mpKanteraScreen);
|
||||
field_0x53c[2] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res);
|
||||
field_0x53c[2]->searchUpdateMaterialID(mpKanteraScreen);
|
||||
|
||||
field_0x558 = 0.0f;
|
||||
mpMagicParent->setAlphaRate(0.0f);
|
||||
@@ -751,10 +1214,9 @@ void dMeter2Draw_c::initMagic() {
|
||||
g_drawHIO.mMagicMeterPosY + offsetY);
|
||||
setAlphaMagicChange(true);
|
||||
|
||||
u16 oil = dComIfGs_getOil();
|
||||
u16 max_oil = dComIfGs_getMaxOil();
|
||||
drawKantera(max_oil, oil, g_drawHIO.mLanternMeterPosX + offsetX,
|
||||
g_drawHIO.mLanternMeterPosY + (g_drawHIO.mNoMagicPosY + offsetY));
|
||||
drawKantera((u16)dComIfGs_getMaxOil(), (u16)dComIfGs_getOil(),
|
||||
g_drawHIO.mLanternMeterPosX + offsetX,
|
||||
g_drawHIO.mNoMagicPosY + (g_drawHIO.mLanternMeterPosY + offsetY));
|
||||
setAlphaKanteraChange(true);
|
||||
}
|
||||
#else
|
||||
@@ -908,35 +1370,28 @@ asm void dMeter2Draw_c::initButtonCross() {
|
||||
#pragma pop
|
||||
|
||||
/* 80213CEC-80213D6C 20E62C 0080+00 3/3 0/0 0/0 .text playPikariBckAnimation__13dMeter2Draw_cFf */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeter2Draw_c::playPikariBckAnimation(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter2_draw/playPikariBckAnimation__13dMeter2Draw_cFf.s"
|
||||
void dMeter2Draw_c::playPikariBckAnimation(f32 frame) {
|
||||
mpPikariParent->getPanePtr()->setAnimation(mPikariBck);
|
||||
mPikariBck->setFrame(frame);
|
||||
mpPikariParent->getPanePtr()->animationTransform();
|
||||
mpPikariParent->getPanePtr()->setAnimation((J2DAnmTransformKey*)NULL);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80213D6C-80213E3C 20E6AC 00D0+00 1/1 0/0 0/0 .text
|
||||
* setPikariBpkAnimation__13dMeter2Draw_cFP11J2DAnmColor */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeter2Draw_c::setPikariBpkAnimation(J2DAnmColor* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter2_draw/setPikariBpkAnimation__13dMeter2Draw_cFP11J2DAnmColor.s"
|
||||
void dMeter2Draw_c::setPikariBpkAnimation(J2DAnmColor* p_anmcolor) {
|
||||
mpPikariScreen->search('pika00')->setAnimation(p_anmcolor);
|
||||
mpPikariScreen->search('moya00')->setAnimation(p_anmcolor);
|
||||
mpPikariScreen->search('moyabs')->setAnimation(p_anmcolor);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80213E3C-80213E94 20E77C 0058+00 3/3 0/0 0/0 .text playPikariBpkAnimation__13dMeter2Draw_cFf */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeter2Draw_c::playPikariBpkAnimation(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter2_draw/playPikariBpkAnimation__13dMeter2Draw_cFf.s"
|
||||
void dMeter2Draw_c::playPikariBpkAnimation(f32 frame) {
|
||||
setPikariBpkAnimation(mPikariBpk);
|
||||
mPikariBpk->setFrame(frame);
|
||||
mpPikariScreen->animation();
|
||||
setPikariBpkAnimation(NULL);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80213E94-80213FF0 20E7D4 015C+00 1/1 0/0 0/0 .text
|
||||
* playOxygenBpkAnimation__13dMeter2Draw_cFP11J2DAnmColor */
|
||||
@@ -1414,14 +1869,12 @@ asm void dMeter2Draw_c::drawButtonC(u8 param_0, bool param_1) {
|
||||
#pragma pop
|
||||
|
||||
/* 802179C0-80217A10 212300 0050+00 1/1 1/1 0/0 .text drawButtonS__13dMeter2Draw_cFUc */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeter2Draw_c::drawButtonS(u8 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter2_draw/drawButtonS__13dMeter2Draw_cFUc.s"
|
||||
void dMeter2Draw_c::drawButtonS(u8 param_0) {
|
||||
getActionString(param_0, 1, &field_0x767);
|
||||
if (param_0 != 0) {
|
||||
field_0x767 = 7;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80217A10-80217AB4 212350 00A4+00 0/0 1/1 0/0 .text drawButtonBin__13dMeter2Draw_cFUc
|
||||
*/
|
||||
@@ -1671,14 +2124,10 @@ asm void dMeter2Draw_c::setButtonIconAlpha(int param_0, u8 param_1, u32 param_2,
|
||||
|
||||
/* 8021A29C-8021A2F4 214BDC 0058+00 1/1 0/0 0/0 .text getNumberTexture__13dMeter2Draw_cFi
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeter2Draw_c::getNumberTexture(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter2_draw/getNumberTexture__13dMeter2Draw_cFi.s"
|
||||
ResTIMG* dMeter2Draw_c::getNumberTexture(int i) {
|
||||
return (ResTIMG*)dComIfGp_getMain2DArchive()->getResource('TIMG',
|
||||
dMeter2Info_getNumberTextureName(i));
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80430158-80430178 05CE78 0020+00 1/1 0/0 0/0 .bss i_text_buf$8454 */
|
||||
@@ -1795,14 +2244,9 @@ asm void dMeter2Draw_c::drawKanteraMeter(u8 param_0, f32 param_1) {
|
||||
|
||||
/* 8021B0C8-8021B104 215A08 003C+00 0/0 3/3 0/0 .text isButtonVisible__13dMeter2Draw_cFv
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeter2Draw_c::isButtonVisible() {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter2_draw/isButtonVisible__13dMeter2Draw_cFv.s"
|
||||
u8 dMeter2Draw_c::isButtonVisible() {
|
||||
return (mpButtonParent->getAlphaRate() == FLOAT_LABEL(lit_4182)) ^ 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804548E8-804548EC 002EE8 0004+00 2/2 0/0 0/0 .sdata2 @8992 */
|
||||
@@ -1986,14 +2430,13 @@ asm void dMeter2Draw_c::setItemParamB(u8 param_0) {
|
||||
|
||||
/* 8021BB6C-8021BBB4 2164AC 0048+00 1/1 0/0 0/0 .text getFishingType__13dMeter2Draw_cFv
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeter2Draw_c::getFishingType() {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter2_draw/getFishingType__13dMeter2Draw_cFv.s"
|
||||
bool dMeter2Draw_c::getFishingType() {
|
||||
if (dMeter2Info_isGameStatus(1) && getCanoeFishing()) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803988D0-803988D0 024F30 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
@@ -2010,14 +2453,14 @@ SECTION_DEAD static char const* const pad_80398A77 = "";
|
||||
|
||||
/* 8021BBB4-8021BC24 2164F4 0070+00 2/2 1/1 0/0 .text getCanoeFishing__13dMeter2Draw_cFv
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeter2Draw_c::getCanoeFishing() {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter2_draw/getCanoeFishing__13dMeter2Draw_cFv.s"
|
||||
bool dMeter2Draw_c::getCanoeFishing() {
|
||||
if (!strcmp(dComIfGp_getStartStageName(), "F_SP127") &&
|
||||
g_dComIfG_gameInfo.play.mPlayer[0]->checkCanoeRide()) {
|
||||
return TRUE;
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8021BC24-8021BC54 216564 0030+00 0/0 1/1 0/0 .text getCameraSubject__13dMeter2Draw_cFv
|
||||
*/
|
||||
@@ -2043,14 +2486,9 @@ asm void dMeter2Draw_c::getItemSubject() {
|
||||
|
||||
/* 8021BCAC-8021BCC0 2165EC 0014+00 0/0 1/1 0/0 .text getPlayerSubject__13dMeter2Draw_cFv
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeter2Draw_c::getPlayerSubject() {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter2_draw/getPlayerSubject__13dMeter2Draw_cFv.s"
|
||||
bool dMeter2Draw_c::getPlayerSubject() {
|
||||
return dComIfGp_checkPlayerStatus0(0, 0x8000000);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8021BCC0-8021BDD0 216600 0110+00 2/2 2/2 0/0 .text isBButtonShow__13dMeter2Draw_cFb */
|
||||
#pragma push
|
||||
@@ -2064,14 +2502,9 @@ asm void dMeter2Draw_c::isBButtonShow(bool param_0) {
|
||||
|
||||
/* 8021BDD0-8021BDDC 216710 000C+00 0/0 1/1 0/0 .text getButtonTimer__13dMeter2Draw_cFv
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMeter2Draw_c::getButtonTimer() {
|
||||
nofralloc
|
||||
#include "asm/d/meter/d_meter2_draw/getButtonTimer__13dMeter2Draw_cFv.s"
|
||||
s16 dMeter2Draw_c::getButtonTimer() {
|
||||
return mpButtonParent->getAlphaTimer();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803988B8-803988D0 024F18 0018+00 0/0 0/0 0/0 .rodata tag$7759 */
|
||||
|
||||
@@ -1011,38 +1011,38 @@ dMeter_drawHIO_c::dMeter_drawHIO_c() {
|
||||
mBItemBasePosY[i] = 0.0f;
|
||||
}
|
||||
|
||||
mBItemBaseAlpha = 0.5f;
|
||||
field_0x23c = 0.5f;
|
||||
mBItemBaseAlpha[0] = 0.5f;
|
||||
mBItemBaseAlpha[1] = 0.5f;
|
||||
|
||||
mXButtonItemBaseScale = 1.5f;
|
||||
mXButtonItemBasePosX = 14.0f;
|
||||
mXButtonItemBasePosY = -12.0f;
|
||||
mXButtonItemBaseAlpha = 0.5f;
|
||||
mXButtonItemBaseAlpha[0] = 0.5f;
|
||||
|
||||
mXButtonItemBaseNoItemScale = 1.5f;
|
||||
mXButtonItemBaseNoItemPosX = 0.0f;
|
||||
mXButtonItemBaseNoItemPosY = 0.0f;
|
||||
mXButtonItemBaseNoItemAlpha = 1.0f;
|
||||
mXButtonItemBaseAlpha[1] = 1.0f;
|
||||
|
||||
mYButtonItemBaseScale = 1.5f;
|
||||
mYButtonItemBasePosX = -15.0f;
|
||||
mYButtonItemBasePosY = -12.0f;
|
||||
mYButtonItemBaseAlpha = 0.5f;
|
||||
mYButtonItemBaseAlpha[0] = 0.5f;
|
||||
|
||||
mYButtonItemBaseNoItemScale = 1.5f;
|
||||
mYButtonItemBaseNoItemPosX = 0.0f;
|
||||
mYButtonItemBaseNoItemPosY = 0.0f;
|
||||
mYButtonItemBaseNoItemAlpha = 0.5f;
|
||||
mYButtonItemBaseAlpha[1] = 0.5f;
|
||||
|
||||
field_0x280 = 1.5f;
|
||||
field_0x288 = 0.0f;
|
||||
field_0x290 = 6.0f;
|
||||
field_0x298 = 0.5f;
|
||||
field_0x298[0] = 0.5f;
|
||||
|
||||
field_0x284 = 1.0f;
|
||||
field_0x28c = 0.0f;
|
||||
field_0x294 = 4.0f;
|
||||
field_0x29c = 1.0f;
|
||||
field_0x298[1] = 1.0f;
|
||||
|
||||
mZButtonItemBaseScale = 1.0f;
|
||||
mZButtonItemBasePosX = 0.0f;
|
||||
|
||||
@@ -447,7 +447,7 @@ extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
static u8 s_groupID[2 + 6 /* padding */];
|
||||
|
||||
/* 80232A3C-80232A44 -00001 0008+00 0/0 0/0 0/0 .text dMsgObject_getGroupID__Fv */
|
||||
s32 dMsgObject_getGroupID() {
|
||||
s16 dMsgObject_getGroupID() {
|
||||
return (s32) * (s16*)(&s_groupID);
|
||||
}
|
||||
|
||||
@@ -1802,7 +1802,7 @@ asm void dMsgObject_c::setProcessID(unsigned int param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgObject_c::getActor() {
|
||||
asm fopAc_ac_c* dMsgObject_c::getActor() {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_object/getActor__12dMsgObject_cFv.s"
|
||||
}
|
||||
|
||||
@@ -202,7 +202,7 @@ SECTION_SDATA2 static f32 lit_3721[1 + 1 /* padding */] = {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void CPaneMgrAlpha::getAlphaRate() {
|
||||
asm f32 CPaneMgrAlpha::getAlphaRate() {
|
||||
nofralloc
|
||||
#include "asm/d/pane/d_pane_class_alpha/getAlphaRate__13CPaneMgrAlphaFv.s"
|
||||
}
|
||||
|
||||
@@ -1906,11 +1906,11 @@ SECTION_SDATA2 static u32 lit_5199 = 0xFFFFFFFF;
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dPa_control_c::set(u8 param_0, u16 param_1, cXyz const* param_2,
|
||||
dKy_tevstr_c const* param_3, csXyz const* param_4, cXyz const* param_5,
|
||||
u8 param_6, dPa_levelEcallBack* param_7, s8 param_8,
|
||||
_GXColor const* param_9, _GXColor const* param_10, cXyz const* param_11,
|
||||
f32 param_12) {
|
||||
asm u32 dPa_control_c::set(u8 param_0, u16 param_1, cXyz const* param_2,
|
||||
dKy_tevstr_c const* param_3, csXyz const* param_4, cXyz const* param_5,
|
||||
u8 param_6, dPa_levelEcallBack* param_7, s8 param_8,
|
||||
_GXColor const* param_9, _GXColor const* param_10, cXyz const* param_11,
|
||||
f32 param_12) {
|
||||
nofralloc
|
||||
#include "asm/d/particle/d_particle/func_8004CA90.s"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user