move J2D / JUTResFont (#144)

* move some JSystem and meter2_info stuff

* more J2D / JUTTexture / JUTPalette

* setup dScnKy_env_light_c
This commit is contained in:
TakaRikka
2021-08-28 07:25:03 -07:00
committed by GitHub
parent e14b04c54a
commit daf45f768d
167 changed files with 3800 additions and 5691 deletions
-41
View File
@@ -563,11 +563,6 @@ struct daAlinkHIO_atnMove_c0 {
static u8 const m[84];
};
struct dScnKy_env_light_c {
/* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
};
struct dPa_control_c {
struct level_c {
/* 8004B8B4 */ void forceOnEventMove(u32);
@@ -640,8 +635,6 @@ struct dBgS_ObjAcch {
/* 800D0C6C */ ~dBgS_ObjAcch();
};
struct _GXTexObj {};
struct Z2SeqMgr {
/* 802AF010 */ void bgmStart(u32, u32, s32);
/* 802AF49C */ void subBgmStart(u32);
@@ -744,24 +737,6 @@ struct J3DAnmLoaderDataBase {
/* 80337B40 */ void load(void const*, J3DAnmLoaderDataBaseFlag);
};
struct J2DGrafContext {};
struct J2DScreen {
/* 802F8498 */ J2DScreen();
/* 802F8648 */ void setPriority(char const*, u32, JKRArchive*);
/* 802F8ED4 */ void draw(f32, f32, J2DGrafContext const*);
/* 802F9690 */ void animation();
};
struct J2DAnmTevRegKey {};
struct J2DAnmColor {};
struct J2DPane {
/* 80126350 */ void setAnimation(J2DAnmTevRegKey*);
/* 80126354 */ void setAnimation(J2DAnmColor*);
};
struct J2DAnmLoaderDataBase {
/* 80308A6C */ void load(void const*);
};
@@ -3659,30 +3634,14 @@ extern "C" void entryTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey()
extern "C" void entryTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey();
extern "C" void load__20J3DAnmLoaderDataBaseFPCv24J3DAnmLoaderDataBaseFlag();
extern "C" void JMAEulerToQuat__FsssP10Quaternion();
extern "C" void GXSetVtxDesc();
extern "C" void GXClearVtxDesc();
extern "C" void GXSetVtxAttrFmt();
extern "C" void GXSetTexCoordGen2();
extern "C" void GXSetNumTexGens();
extern "C" void GXBegin();
extern "C" void GXSetCullMode();
extern "C" void GXLoadLightObjImm();
extern "C" void GXSetChanAmbColor();
extern "C" void GXSetChanMatColor();
extern "C" void GXSetNumChans();
extern "C" void GXInitTexObj();
extern "C" void GXInitTexObjLOD();
extern "C" void GXLoadTexObj();
extern "C" void GXSetNumIndStages();
extern "C" void GXSetTevColorIn();
extern "C" void GXSetTevAlphaIn();
extern "C" void GXSetTevColorOp();
extern "C" void GXSetTevAlphaOp();
extern "C" void GXSetTevColor();
extern "C" void GXSetAlphaCompare();
extern "C" void GXSetTevOrder();
extern "C" void GXSetNumTevStages();
extern "C" void GXSetBlendMode();
extern "C" void GXSetZMode();
extern "C" void GXLoadPosMtxImm();
extern "C" void GXLoadNrmMtxImm();
-8
View File
@@ -149,16 +149,8 @@ extern "C" void __ct__15J3DAnmTransformFsPfPsPf();
extern "C" void __ct__19J3DAnmTextureSRTKeyFv();
extern "C" void __ct__16J3DAnmTexPatternFv();
extern "C" void load__20J3DAnmLoaderDataBaseFPCv24J3DAnmLoaderDataBaseFlag();
extern "C" void GXSetVtxDesc();
extern "C" void GXClearVtxDesc();
extern "C" void GXSetVtxAttrFmt();
extern "C" void GXInitTexObj();
extern "C" void GXInitTexObjLOD();
extern "C" void GXLoadTexObj();
extern "C" void GXSetNumIndStages();
extern "C" void GXSetTevColor();
extern "C" void GXSetTevOrder();
extern "C" void GXCallDisplayList();
extern "C" void GXLoadPosMtxImm();
extern "C" void GXSetCurrentMtx();
extern "C" void _savegpr_27();
-2
View File
@@ -43,8 +43,6 @@ struct dMapInfo_n {
/* 8003EE5C */ void getMapPlayerPos();
};
struct _GXTexObj {};
struct dDlst_shadowControl_c {
/* 80055C74 */ void setReal(u32, s8, J3DModel*, cXyz*, f32, f32, dKy_tevstr_c*);
/* 80055F84 */ void setSimple(cXyz*, f32, f32, cXyz*, s16, f32, _GXTexObj*);
+1 -54
View File
@@ -4,6 +4,7 @@
//
#include "d/d_drawlist.h"
#include "JSystem/J2DGraph/J2DScreen.h"
#include "dol2asm.h"
#include "dolphin/mtx/mtx44.h"
#include "dolphin/mtx/mtxvec.h"
@@ -41,8 +42,6 @@ struct dDlst_shadowTri_c {
/* 80056344 */ dDlst_shadowTri_c();
};
struct _GXTexObj {};
struct dDlst_shadowSimple_c {
/* 8005520C */ void draw();
/* 800553EC */ void set(cXyz*, f32, f32, cXyz*, s16, f32, _GXTexObj*);
@@ -76,8 +75,6 @@ struct dDlst_shadowPoly_c {
/* 800543B4 */ void draw();
};
struct ResTIMG {};
struct dDlst_shadowControl_c {
/* 80055684 */ void init();
/* 80055768 */ void reset();
@@ -157,24 +154,14 @@ struct cBgS {
/* 80074840 */ void ShdwDraw(cBgS_ShdwDraw*);
};
struct _GXTlutObj {};
struct ShdwDrawPoly_c {
/* 80054A6C */ ~ShdwDrawPoly_c();
};
struct JUtility {
struct TColor {};
};
struct JMath {
static u8 sincosTable_[65536];
};
struct JKRArchive {
/* 802D5B38 */ void getGlbResource(u32, char const*, JKRArchive*);
};
struct J3DUClipper {
/* 8027378C */ void calcViewFrustum();
/* 80273A44 */ void clip(f32 const (*)[4], Vec*, Vec*) const;
@@ -186,13 +173,6 @@ struct J3DShape {
static u8 sOldVcdVatCmd[4];
};
struct J2DGrafContext {};
struct J2DScreen {
/* 80053BA0 */ void clearAnmTransform();
/* 802F8ED4 */ void draw(f32, f32, J2DGrafContext const*);
};
struct J2DPicture {
/* 800539DC */ void getTexture(u8) const;
/* 80053C44 */ void setWhite(JUtility::TColor);
@@ -200,18 +180,6 @@ struct J2DPicture {
/* 802FC050 */ J2DPicture();
};
struct J2DPane {
/* 80053BC0 */ void calcMtx();
/* 80053C00 */ void makeMatrix(f32, f32);
/* 80053C3C */ s32 getTypeID() const;
/* 802F8004 */ void clearAnmTransform();
};
struct J2DAnmBase {
/* 80053C94 */ ~J2DAnmBase();
/* 800569B0 */ void searchUpdateMaterialID(J2DScreen*);
};
//
// Forward References:
//
@@ -347,15 +315,11 @@ extern "C" void __dt__13J3DDrawBufferFv();
extern "C" void frameInit__13J3DDrawBufferFv();
extern "C" void entryImm__13J3DDrawBufferFP9J3DPacketUs();
extern "C" void draw__13J3DDrawBufferCFv();
extern "C" void GXSetVtxDesc();
extern "C" void GXClearVtxDesc();
extern "C" void GXSetVtxAttrFmt();
extern "C" void GXSetArray();
extern "C" void GXSetTexCoordGen2();
extern "C" void GXSetNumTexGens();
extern "C" void GXPixModeSync();
extern "C" void GXPeekZ();
extern "C" void GXBegin();
extern "C" void GXSetLineWidth();
extern "C" void GXSetPointSize();
extern "C" void GXSetCullMode();
@@ -363,37 +327,20 @@ extern "C" void GXSetTexCopySrc();
extern "C" void GXSetTexCopyDst();
extern "C" void GXCopyTex();
extern "C" void GXSetChanMatColor();
extern "C" void GXSetNumChans();
extern "C" void GXSetChanCtrl();
extern "C" void GXGetTexBufferSize();
extern "C" void GXInitTexObj();
extern "C" void GXInitTexObjLOD();
extern "C" void GXGetTexObjWidth();
extern "C" void GXGetTexObjHeight();
extern "C" void GXGetTexObjWrapS();
extern "C" void GXGetTexObjWrapT();
extern "C" void GXGetTexObjTlut();
extern "C" void GXLoadTexObj();
extern "C" void GXLoadTlut();
extern "C" void GXSetNumIndStages();
extern "C" void GXSetTevOp();
extern "C" void GXSetTevColorIn();
extern "C" void GXSetTevAlphaIn();
extern "C" void GXSetTevColorOp();
extern "C" void GXSetTevAlphaOp();
extern "C" void GXSetTevColor();
extern "C" void GXSetTevSwapModeTable();
extern "C" void GXSetAlphaCompare();
extern "C" void GXSetTevOrder();
extern "C" void GXSetNumTevStages();
extern "C" void GXSetFog();
extern "C" void GXSetBlendMode();
extern "C" void GXSetColorUpdate();
extern "C" void GXSetAlphaUpdate();
extern "C" void GXSetZMode();
extern "C" void GXSetZCompLoc();
extern "C" void GXSetDither();
extern "C" void GXCallDisplayList();
extern "C" void GXSetProjection();
extern "C" void GXLoadPosMtxImm();
extern "C" void GXSetCurrentMtx();
-3
View File
@@ -21,8 +21,6 @@ struct dEvt_control_c {
/* 800434D8 */ void searchMapEventData(u8);
};
struct JKRHeap {};
struct JKRExpandSwitch {};
struct JKRArchive {
@@ -75,7 +73,6 @@ extern "C" void __mi__4cXyzCFRC3Vec();
extern "C" void aramToMainRam__7JKRAramFUlPUcUl15JKRExpandSwitchUlP7JKRHeapiPUl();
extern "C" void findFsResource__10JKRArchiveCFPCcUl();
extern "C" void getAramAddress__14JKRAramArchiveFPCc();
extern "C" void PSMTXMultVec();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
+4 -95
View File
@@ -27,19 +27,6 @@ struct mDoGph_gInf_c {
static u8 m_bloom[20];
};
struct J3DMaterialTable {};
struct J3DAnmTextureSRTKey {};
struct mDoExt_btkAnm {
/* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16);
/* 8000D6D8 */ void entry(J3DMaterialTable*, f32);
};
struct mDoExt_baseAnm {
/* 8000D428 */ void play();
};
struct daPy_py_c {
/* 8015F424 */ void checkNowWolfEyeUp();
};
@@ -73,38 +60,6 @@ struct dStage_roomControl_c {
static u8 mStatus[65792];
};
struct J3DModelData {
/* 8032600C */ void simpleCalcMaterial(u16, f32 (*)[4]);
};
struct dScnKy_env_light_c {
/* 8019F2E8 */ dScnKy_env_light_c();
/* 8019F4FC */ void setDaytime();
/* 8019F788 */ void setSunpos();
/* 8019FA08 */ void getDaytime();
/* 8019FBCC */ void getDarkDaytime();
/* 8019FBD4 */ void setLight_palno_get(u8*, u8*, u8*, u8*, u8*, u8*, u8*, u8*, f32*, int*, int*,
f32*, u8*);
/* 801A040C */ void setLight();
/* 801A133C */ void setLight_bg(dKy_tevstr_c*, _GXColorS10*, _GXColorS10*, f32*, f32*);
/* 801A16C0 */ void setLight_actor(dKy_tevstr_c*, _GXColorS10*, f32*, f32*);
/* 801A1D64 */ void settingTevStruct_colget_actor(cXyz*, dKy_tevstr_c*, _GXColorS10*,
_GXColorS10*, f32*, f32*);
/* 801A1F58 */ void settingTevStruct_colget_player(dKy_tevstr_c*);
/* 801A2128 */ void settingTevStruct_plightcol_plus(cXyz*, dKy_tevstr_c*, _GXColorS10,
_GXColorS10, u8);
/* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
/* 801A441C */ void setLightTevColorType(J3DModelData*, dKy_tevstr_c*);
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
/* 801A4E90 */ void CalcTevColor();
/* 801A4F24 */ void Sndpos();
/* 801A4F64 */ void Eflight_flush_proc();
/* 801A516C */ void SetBaseLight();
/* 801A5288 */ void exeKankyo();
/* 801A56DC */ void drawKankyo();
/* 801ADBBC */ ~dScnKy_env_light_c();
};
struct dRes_info_c {};
struct dRes_control_c {
@@ -113,8 +68,6 @@ struct dRes_control_c {
struct dPa_levelEcallBack {};
struct csXyz {};
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*,
@@ -174,60 +127,27 @@ struct Z2AudioMgr {
static u8 mAudioMgrPtr[4 + 4 /* padding */];
};
struct WIND_INF_ENTITY {
/* 8019F4B8 */ ~WIND_INF_ENTITY();
/* 8019F4F4 */ WIND_INF_ENTITY();
};
struct JUTNameTab {
/* 802DEAF8 */ void getName(u16) const;
};
struct JPABaseEmitter {
/* 8027EC60 */ void deleteAllParticle();
};
struct JMath {
static u8 sincosTable_[65536];
};
struct JKRSolidHeap {};
struct J3DTexMtxInfo {
/* 80325794 */ void setEffectMtx(f32 (*)[4]);
};
struct J3DModel {};
struct J3DMaterial {};
struct J3DGXColor {};
struct J3DFrameCtrl {
/* 803283FC */ void init(s16);
};
struct J3DColorBlock {
/* 801A4C08 */ void setLight(u32, J3DLightObj*);
/* 801A4C0C */ void setAmbColor(u32, J3DGXColor const*);
};
struct GB_MAPLE_COL_CHANGE {
/* 8019F400 */ GB_MAPLE_COL_CHANGE();
};
struct DUNGEON_LIGHT {
/* 8019F478 */ ~DUNGEON_LIGHT();
/* 8019F4B4 */ DUNGEON_LIGHT();
};
struct DALKMIST_INFLUENCE {};
struct BOSS_LIGHT {
/* 8019F438 */ ~BOSS_LIGHT();
/* 8019F474 */ BOSS_LIGHT();
};
//
// Forward References:
//
@@ -435,7 +355,6 @@ extern "C" extern u8 struct_80451070[8];
SECTION_INIT void memset();
SECTION_INIT void memcpy();
extern "C" void OSReport_Warning();
extern "C" void mDoAud_setSceneName__FPCcll();
extern "C" void __dt__4cXyzFv();
extern "C" void create__Q213mDoGph_gInf_c7bloom_cFv();
@@ -516,11 +435,6 @@ extern "C" void __as__12J3DLightInfoFRC12J3DLightInfo();
extern "C" void setEffectMtx__13J3DTexMtxInfoFPA4_f();
extern "C" void simpleCalcMaterial__12J3DModelDataFUsPA4_f();
extern "C" void init__12J3DFrameCtrlFs();
extern "C" void PSMTXCopy();
extern "C" void PSMTXConcat();
extern "C" void PSMTXTrans();
extern "C" void C_MTXLightPerspective();
extern "C" void PSMTXMultVec();
extern "C" void GXInitLightAttn();
extern "C" void GXInitLightSpot();
extern "C" void GXInitLightDistAttn();
@@ -577,7 +491,6 @@ extern "C" u8 mStatus__20dStage_roomControl_c[65792];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_meter2_info[248];
extern "C" extern u8 g_Counter[12 + 4 /* padding */];
extern "C" extern u8 j3dSys[284];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" extern u32 __float_nan;
extern "C" extern u8 struct_80450D64[4];
@@ -1714,14 +1627,9 @@ asm void dScnKy_env_light_c::setSunpos() {
/* 8019FA08-8019FA10 19A348 0008+00 3/3 5/5 1/1 .text getDaytime__18dScnKy_env_light_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dScnKy_env_light_c::getDaytime() {
nofralloc
#include "asm/d/kankyo/d_kankyo/getDaytime__18dScnKy_env_light_cFv.s"
f32 dScnKy_env_light_c::getDaytime() {
return mDaytime;
}
#pragma pop
/* 8019FA10-8019FA3C 19A350 002C+00 2/2 2/2 32/32 .text dKy_getdaytime_hour__Fv */
#pragma push
@@ -3596,7 +3504,8 @@ asm void dKy_bg_MAxx_proc(void* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dScnKy_env_light_c::~dScnKy_env_light_c() {
// asm dScnKy_env_light_c::~dScnKy_env_light_c() {
extern "C" asm void __dt__18dScnKy_env_light_cFv() {
nofralloc
#include "asm/d/kankyo/d_kankyo/__dt__18dScnKy_env_light_cFv.s"
}
-16
View File
@@ -374,32 +374,16 @@ extern "C" void freeAll__7JKRHeapFv();
extern "C" void getTotalFreeSize__7JKRHeapFv();
extern "C" void* __nw__FUl();
extern "C" void __dl__FPv();
extern "C" void GXSetVtxDesc();
extern "C" void GXClearVtxDesc();
extern "C" void GXSetVtxAttrFmt();
extern "C" void GXSetTexCoordGen2();
extern "C" void GXSetNumTexGens();
extern "C" void GXPixModeSync();
extern "C" void GXBegin();
extern "C" void GXSetCullMode();
extern "C" void GXSetTexCopySrc();
extern "C" void GXSetTexCopyDst();
extern "C" void GXCopyTex();
extern "C" void GXSetNumChans();
extern "C" void GXInitTexObj();
extern "C" void GXInitTexObjLOD();
extern "C" void GXLoadTexObj();
extern "C" void GXSetTevColorIn();
extern "C" void GXSetTevAlphaIn();
extern "C" void GXSetTevColorOp();
extern "C" void GXSetTevAlphaOp();
extern "C" void GXSetTevColor();
extern "C" void GXSetAlphaCompare();
extern "C" void GXSetTevOrder();
extern "C" void GXSetNumTevStages();
extern "C" void GXSetFog();
extern "C" void GXSetFogRangeAdj();
extern "C" void GXSetBlendMode();
extern "C" void GXSetZMode();
extern "C" void GXSetZCompLoc();
extern "C" void GXSetDither();
+365 -140
View File
@@ -4,6 +4,7 @@
//
#include "d/meter/d_meter2_info.h"
#include "d/com/d_com_inf_game.h"
#include "d/save/d_save.h"
#include "dol2asm.h"
#include "dolphin/types.h"
@@ -125,12 +126,19 @@ extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
extern "C" void* item_resource__10dItem_data[1530];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
//
// Declarations:
//
inline BOOL dComIfGs_isEventBit(u16 id) {
return g_dComIfG_gameInfo.info.getSavedata().getEvent().isEventBit(id);
}
inline s8 dStage_stagInfo_GetSaveTbl(stage_stag_info_class* param_0) {
return param_0->field_0x09 >> 1 & 0x1f;
}
/* ############################################################################################## */
/* 80399168-80399168 0257C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
@@ -217,46 +225,39 @@ SECTION_DATA static char* tex_name_5183[10] = {
};
/* 803BF81C-803BFA1C 01C93C 0200+00 3/3 6/6 0/0 .data letter_data__12dMenu_Letter */
SECTION_DATA u8 dMenu_Letter::letter_data[512] = {
0x09, 0xC5, 0x0A, 0x29, 0x0A, 0x8D, 0x01, 0x0B, 0x09, 0xC6, 0x0A, 0x2A, 0x0A, 0x8E, 0x02, 0x37,
0x09, 0xC7, 0x0A, 0x2B, 0x0A, 0x8F, 0x02, 0x36, 0x09, 0xC8, 0x0A, 0x2C, 0x0A, 0x90, 0x00, 0x37,
0x09, 0xC9, 0x0A, 0x2D, 0x0A, 0x91, 0x00, 0x39, 0x09, 0xCA, 0x0A, 0x2E, 0x0A, 0x92, 0x00, 0x67,
0x09, 0xCB, 0x0A, 0x2F, 0x0A, 0x93, 0x01, 0x09, 0x09, 0xCC, 0x0A, 0x30, 0x0A, 0x94, 0x00, 0x4D,
0x09, 0xCD, 0x0A, 0x31, 0x0A, 0x95, 0x01, 0x19, 0x09, 0xCE, 0x0A, 0x32, 0x0A, 0x96, 0x01, 0x08,
0x09, 0xCF, 0x0A, 0x33, 0x0A, 0x97, 0x01, 0x0C, 0x09, 0xD4, 0x0A, 0x38, 0x0A, 0x9E, 0x01, 0x0C,
0x09, 0xD1, 0x0A, 0x35, 0x0A, 0x9B, 0x00, 0xB6, 0x09, 0xD2, 0x0A, 0x36, 0x0A, 0x9C, 0x00, 0x67,
0x09, 0xD5, 0x0A, 0x39, 0x0A, 0xA0, 0x03, 0x1C, 0x09, 0xD6, 0x0A, 0x3A, 0x0A, 0xA1, 0x01, 0x0A,
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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 803BFA1C-803BFA28 01CB3C 000C+00 2/2 0/0 0/0 .data __vt__13dMeter2Info_c */
SECTION_DATA extern void* __vt__13dMeter2Info_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__13dMeter2Info_cFv,
SECTION_DATA dMenu_LetterData dMenu_Letter::letter_data[64] = {
{0x09C5, 0x0A29, 0x0A8D, 0x010B}, {0x09C6, 0x0A2A, 0x0A8E, 0x0237},
{0x09C7, 0x0A2B, 0x0A8F, 0x0236}, {0x09C8, 0x0A2C, 0x0A90, 0x0037},
{0x09C9, 0x0A2D, 0x0A91, 0x0039}, {0x09CA, 0x0A2E, 0x0A92, 0x0067},
{0x09CB, 0x0A2F, 0x0A93, 0x0109}, {0x09CC, 0x0A30, 0x0A94, 0x004D},
{0x09CD, 0x0A31, 0x0A95, 0x0119}, {0x09CE, 0x0A32, 0x0A96, 0x0108},
{0x09CF, 0x0A33, 0x0A97, 0x010C}, {0x09D4, 0x0A38, 0x0A9E, 0x010C},
{0x09D1, 0x0A35, 0x0A9B, 0x00B6}, {0x09D2, 0x0A36, 0x0A9C, 0x0067},
{0x09D5, 0x0A39, 0x0AA0, 0x031C}, {0x09D6, 0x0A3A, 0x0AA1, 0x010A},
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
{0x0000, 0x0000, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000},
};
/* 8021BDDC-8021BE20 21671C 0044+00 1/1 0/0 0/0 .text __ct__13dMeter2Info_cFv */
@@ -265,15 +266,7 @@ dMeter2Info_c::dMeter2Info_c() {
mTempBits = 0;
}
/* 8021BE20-8021BE68 216760 0048+00 2/1 0/0 0/0 .text __dt__13dMeter2Info_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dMeter2Info_c::~dMeter2Info_c() {
nofralloc
#include "asm/d/meter/d_meter2_info/__dt__13dMeter2Info_cFv.s"
}
#pragma pop
dMeter2Info_c::~dMeter2Info_c() {}
/* ############################################################################################## */
/* 80454998-8045499C 002F98 0004+00 4/4 0/0 0/0 .sdata2 @3916 */
@@ -307,6 +300,108 @@ SECTION_SDATA2 static f32 lit_3922[1 + 1 /* padding */] = {
};
/* 8021BE68-8021C0E0 2167A8 0278+00 1/1 1/1 0/0 .text init__13dMeter2Info_cFv */
// just some float issues
#ifdef NONMATCHING
void dMeter2Info_c::init() {
mMsgResource = NULL;
mStageMsgResource = NULL;
mMsgUnitResource = NULL;
mMeterClass = NULL;
mMeterMap = NULL;
mMenuWindowClass = NULL;
for (int i = 0; i < 4; i++) {
mMeterItemPanePtr[i] = NULL;
}
unk8 = 0;
mSub2DStatus = 0;
mHorseLifeCount = 0;
mMsgKeyWaitTimer = 0;
unk152 = 0;
mWindowStatus = 0;
unk186 = 0;
unk84 = FLOAT_LABEL(lit_3916);
unk88 = FLOAT_LABEL(lit_3916);
unk92 = FLOAT_LABEL(lit_3916);
unk96 = 1.0f;
unk100 = 30.0f;
unk104 = 304.0f;
unk108 = 224.0f;
m2DWidth = 608.0f;
m2DHeight = 448.0f;
m2DPosH = FLOAT_LABEL(lit_3916);
m2DPosV = FLOAT_LABEL(lit_3916);
unk128 = FLOAT_LABEL(lit_3916);
mTimeMs = 0;
mMsgTimeMs = 0;
mNowCount = 0;
mMaxCount = 0;
mShopTalkFlag = false;
mMapStatus = 0;
mMapKeyDirection = 0;
mBlinkButton = 0;
mOilGaugeBackUp = 0;
mUseButton = -1;
mDirectUseItem = 0;
mGameStatus = 0;
mTouchKeyCheck = 0;
mWindowAccept = -1;
mMeterString = 0;
mFloatingFlowID = 0;
mFloatingMessageID = 0;
mFloatingMessageTimer = 0;
mFloatingMessageWakuVisible = 0;
resetWarpStatus();
mPauseStatus = 0;
mGameOverType = 0;
mInsectSelectType = 0xFF;
cXyz tmp(FLOAT_LABEL(lit_3916), FLOAT_LABEL(lit_3916), FLOAT_LABEL(lit_3916));
setWarpInfo("", tmp, 0, 0, 0, 0);
for (int i = 0; i < 4; i++) {
changeWater(i + SLOT_11);
}
for (int i = 0; i < 4; i++) {
unk196[i] = 0;
unk200[i] = 0;
unk208[i] = 0;
unk212[i] = 0;
}
unk204 = 0;
unk205 = 0;
unk206 = 0;
unk207 = 0;
unk216 = 0;
unk217 = 0;
unk218 = 0;
unk219 = 0;
mRentalBombBag = 0xFF;
mMiniGameItemSetFlag = 0;
mMiniGameCount = 0;
setSaveStageName("");
mCollectCursorPosX = 0;
mCollectCursorPosY = 0;
mTableMapRegionNo = 0xFF;
mGoldWolfMapType = 0;
unk231 = 0;
mItemExplainWindowStatus = 0;
mLifeGaugeSE = 0;
mMapDrugFlag = 0;
for (int i = 0; i < 3; i++) {
if (dComIfGs_isLightDropGetFlag(i)) {
mLightDropGetFlag[i] = 0xFF;
} else {
mLightDropGetFlag[i] = 0;
}
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -315,12 +410,13 @@ asm void dMeter2Info_c::init() {
#include "asm/d/meter/d_meter2_info/init__13dMeter2Info_cFv.s"
}
#pragma pop
#endif
/* 8021C0E0-8021C11C 216A20 003C+00 0/0 1/1 2/2 .text setFloatingMessage__13dMeter2Info_cFUssb */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeter2Info_c::setFloatingMessage(u16 param_0, s16 param_1, bool param_2) {
asm int dMeter2Info_c::setFloatingMessage(u16 param_0, s16 param_1, bool param_2) {
nofralloc
#include "asm/d/meter/d_meter2_info/setFloatingMessage__13dMeter2Info_cFUssb.s"
}
@@ -338,14 +434,9 @@ asm void dMeter2Info_c::setFloatingFlow(u16 param_0, s16 param_1, bool param_2)
/* 8021C1DC-8021C1F0 216B1C 0014+00 0/0 4/4 0/0 .text isFloatingMessageVisible__13dMeter2Info_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int dMeter2Info_c::isFloatingMessageVisible() {
nofralloc
#include "asm/d/meter/d_meter2_info/isFloatingMessageVisible__13dMeter2Info_cFv.s"
int dMeter2Info_c::isFloatingMessageVisible() {
return mFloatingMessageTimer > 0;
}
#pragma pop
/* 8021C1F0-8021C218 216B30 0028+00 0/0 1/1 0/0 .text decFloatingMessageTimer__13dMeter2Info_cFv
*/
@@ -473,24 +564,22 @@ asm int dMeter2Info_c::setMeterString(s32 param_0) {
/* 8021C9DC-8021CA04 21731C 0028+00 1/1 3/3 0/0 .text resetWarpStatus__13dMeter2Info_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeter2Info_c::resetWarpStatus() {
nofralloc
#include "asm/d/meter/d_meter2_info/resetWarpStatus__13dMeter2Info_cFv.s"
void dMeter2Info_c::resetWarpStatus() {
if (mWarpStatus == 2) {
dComIfGs_resetLastWarpAcceptStage();
}
mWarpStatus = 0;
}
#pragma pop
/* 8021CA04-8021CA70 217344 006C+00 0/0 2/2 3/3 .text warpInProc__13dMeter2Info_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeter2Info_c::warpInProc() {
nofralloc
#include "asm/d/meter/d_meter2_info/warpInProc__13dMeter2Info_cFv.s"
void dMeter2Info_c::warpInProc() {
dComIfGs_setWarpMarkFlag(0);
dComIfGs_resetLastWarpAcceptStage();
if (dComIfGs_getItem(SLOT_18, true) != LV7_DUNGEON_EXIT) {
dComIfGs_setItem(SLOT_18, DUNGEON_EXIT);
}
}
#pragma pop
/* 8021CA70-8021CC00 2173B0 0190+00 0/0 1/1 0/0 .text warpOutProc__13dMeter2Info_cFv */
#pragma push
@@ -979,35 +1068,123 @@ void dMeter2Info_c::decHotSpringTimer() {
}
/* 8021DD5C-8021DE18 21869C 00BC+00 2/2 1/1 0/0 .text changeWater__13dMeter2Info_cFUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeter2Info_c::changeWater(u8 param_0) {
nofralloc
#include "asm/d/meter/d_meter2_info/changeWater__13dMeter2Info_cFUc.s"
void dMeter2Info_c::changeWater(u8 i_slotNo) {
int i_bottleIdx = i_slotNo - SLOT_11;
mHotSpringTimer[i_bottleIdx] = 0;
if (dComIfGs_getItem(i_slotNo, true) == HOT_SPRING) {
dComIfGs_setItem(i_slotNo, WATER_BOTTLE);
for (int i = 0; i < 3; i++) {
if (i_slotNo == dComIfGs_getSelectItemIndex(i)) {
dComIfGp_setSelectItem(i);
}
}
}
}
#pragma pop
/* 8021DE18-8021E0C4 218758 02AC+00 0/0 3/3 3/3 .text setMiniGameItem__13dMeter2Info_cFUc
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeter2Info_c::setMiniGameItem(u8 param_0) {
nofralloc
#include "asm/d/meter/d_meter2_info/setMiniGameItem__13dMeter2Info_cFUc.s"
void dMeter2Info_c::setMiniGameItem(u8 param_0) {
bool bvar1 = false;
if (mMiniGameItemSetFlag) {
bvar1 = true;
}
if (mRentalBombBag == 0xFF) {
bool bvar2 = false;
for (int bagIdx = 0; bagIdx < 3; bagIdx++) {
if (!bvar2 && dComIfGs_getItem((u8)(bagIdx + SLOT_15), true) == 0xFF) {
mRentalBombBag = bagIdx;
bvar2 = true;
}
}
if (!bvar2) {
mRentalBombBag = 2;
}
}
mMiniGameItemSetFlag = param_0;
for (int i = 0; i < 2; i++) {
unk200[i] = dComIfGs_getMixItemIndex(i);
unk196[i] = dComIfGs_getSelectItemIndex(i);
}
unk204 = dComIfGs_getBombNum(mRentalBombBag);
unk205 = dComIfGs_getArrowNum();
unk206 = dComIfGs_getItem(SLOT_4, false);
unk207 = dComIfGs_getItem((u8)(mRentalBombBag + SLOT_15), false);
if (bvar1) {
for (int i = 0; i < 2; i++) {
dComIfGs_setMixItemIndex(i, unk212[i]);
dComIfGs_setSelectItemIndex(i, unk208[i]);
}
dComIfGs_setItem(SLOT_4, unk218);
dComIfGp_setItem(SLOT_4, unk218);
dComIfGs_setItem((u8)(mRentalBombBag + SLOT_15), unk219);
dComIfGp_setItem((u8)(mRentalBombBag + SLOT_15), unk219);
dComIfGs_setBombNum(mRentalBombBag, unk216);
dComIfGs_setArrowNum(unk217);
}
dComIfGs_setItem((u8)(mRentalBombBag + SLOT_15), NORMAL_BOMB);
dComIfGp_setItem((u8)(mRentalBombBag + SLOT_15), NORMAL_BOMB);
if (mMiniGameItemSetFlag != 3) {
dComIfGs_setItem(SLOT_4, BOW);
dComIfGp_setItem(SLOT_4, BOW);
dComIfGs_setMixItemIndex(1, 0xFF);
dComIfGs_setSelectItemIndex(1, 0xFF);
dComIfGs_setMixItemIndex(0, 4);
dComIfGs_setSelectItemIndex(0, (u8)(mRentalBombBag + SLOT_15));
}
if (!bvar1) {
dComIfGs_setBombNum(mRentalBombBag, 30);
u8 arrow_max = dComIfGs_getArrowMax();
dComIfGs_setArrowNum(arrow_max);
}
}
#pragma pop
/* 8021E0C4-8021E268 218A04 01A4+00 0/0 3/3 4/4 .text resetMiniGameItem__13dMeter2Info_cFb */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeter2Info_c::resetMiniGameItem(bool param_0) {
nofralloc
#include "asm/d/meter/d_meter2_info/resetMiniGameItem__13dMeter2Info_cFb.s"
void dMeter2Info_c::resetMiniGameItem(bool param_0) {
if (mMiniGameItemSetFlag) {
if (param_0) {
for (int i = 0; i < 2; i++) {
unk212[i] = dComIfGs_getMixItemIndex(i);
unk208[i] = dComIfGs_getSelectItemIndex(i);
}
unk216 = dComIfGs_getBombNum(mRentalBombBag);
unk217 = dComIfGs_getArrowNum();
unk218 = dComIfGs_getItem(SLOT_4, false);
unk219 = dComIfGs_getItem((u8)(mRentalBombBag + SLOT_15), false);
}
for (int i = 0; i < 2; i++) {
dComIfGs_setMixItemIndex(i, unk200[i]);
dComIfGs_setSelectItemIndex(i, unk196[i]);
}
dComIfGs_setItem(SLOT_4, unk206);
dComIfGp_setItem(SLOT_4, unk206);
dComIfGs_setItem((u8)(mRentalBombBag + SLOT_15), unk207);
dComIfGp_setItem((u8)(mRentalBombBag + SLOT_15), unk207);
dComIfGs_setBombNum(mRentalBombBag, unk204);
dComIfGs_setArrowNum(unk205);
if (!param_0) {
mMiniGameItemSetFlag = 0;
mRentalBombBag = 0xFF;
}
}
}
#pragma pop
/* 8021E268-8021E290 218BA8 0028+00 0/0 0/0 5/5 .text setMiniGameCount__13dMeter2Info_cFSc */
void dMeter2Info_c::setMiniGameCount(s8 pCount) {
@@ -1038,7 +1215,7 @@ asm void dMeter2Info_getNowLifeGauge() {
/* 8021E2C8-8021E2DC 218C08 0014+00 0/0 11/11 3/3 .text dMeter2Info_getNumberTextureName__Fi */
char* dMeter2Info_getNumberTextureName(int pIndex) {
return tex_name_5183[pIndex];
} //
}
/* 804510B8-804510BC 0005B8 0004+00 1/1 0/0 0/0 .sbss tex_name$5188 */
static char* tex_name_5188;
@@ -1070,34 +1247,62 @@ asm void dMeter2Info_getPixel(f32 param_0, f32 param_1, f32 param_2, f32 param_3
#pragma pop
/* 8021E4B0-8021E530 218DF0 0080+00 0/0 2/2 1/1 .text dMeter2Info_setCloth__FUcb */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeter2Info_setCloth(u8 param_0, bool param_1) {
nofralloc
#include "asm/d/meter/d_meter2_info/dMeter2Info_setCloth__FUcb.s"
void dMeter2Info_setCloth(u8 i_clothId, bool param_1) {
if ((int)i_clothId >= MAGIC_LV1 || (int)i_clothId < WEARS_CASUAL) {
i_clothId = WEARS_CASUAL;
param_1 = false;
}
if (param_1 && dComIfGs_getSelectEquipClothes() != NO_ITEM) {
u8 equip_cloth = dComIfGs_getSelectEquipClothes();
dComIfGs_offItemFirstBit(equip_cloth);
}
dComIfGs_setSelectEquipClothes(i_clothId);
dComIfGp_setSelectEquipClothes(i_clothId);
}
#pragma pop
/* 8021E530-8021E5D4 218E70 00A4+00 0/0 3/3 3/3 .text dMeter2Info_setSword__FUcb */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeter2Info_setSword(u8 param_0, bool param_1) {
nofralloc
#include "asm/d/meter/d_meter2_info/dMeter2Info_setSword__FUcb.s"
void dMeter2Info_setSword(u8 i_itemId, bool param_1) {
switch (i_itemId) {
case NO_ITEM:
case WOOD_STICK:
case SWORD:
case MASTER_SWORD:
case LIGHT_SWORD:
break;
default:
i_itemId = NO_ITEM;
param_1 = false;
}
if (param_1 && dComIfGs_getSelectEquipSword() != 0xFF) {
u8 tmp = dComIfGs_getSelectEquipSword();
dComIfGs_offItemFirstBit(tmp);
}
dComIfGs_setSelectEquipSword(i_itemId);
dComIfGp_setSelectEquipSword(i_itemId);
}
#pragma pop
/* 8021E5D4-8021E660 218F14 008C+00 0/0 3/3 0/0 .text dMeter2Info_setShield__FUcb */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeter2Info_setShield(u8 param_0, bool param_1) {
nofralloc
#include "asm/d/meter/d_meter2_info/dMeter2Info_setShield__FUcb.s"
void dMeter2Info_setShield(u8 i_itemId, bool param_1) {
switch (i_itemId) {
case NO_ITEM:
case WOOD_SHIELD:
case SHIELD:
case HYLIA_SHIELD:
break;
default:
i_itemId = NO_ITEM;
param_1 = false;
}
if (param_1 && dComIfGs_getSelectEquipShield() != 0xFF) {
u8 tmp = dComIfGs_getSelectEquipShield();
dComIfGs_offItemFirstBit(tmp);
}
dComIfGs_setSelectEquipShield(i_itemId);
dComIfGp_setSelectEquipShield(i_itemId);
}
#pragma pop
/* 8021E660-8021E668 218FA0 0008+00 0/0 1/1 0/0 .text dMeter2Info_is2DActiveTouchArea__Fv
*/
@@ -1106,20 +1311,9 @@ bool dMeter2Info_is2DActiveTouchArea() {
}
/* 8021E668-8021E688 218FA8 0020+00 0/0 1/1 0/0 .text dMeter2Info_isMapOpenCheck__Fv */
#ifdef NONMATCHING
bool dMeter2Info_isMapOpenCheck() {
return dMeter2Info_getMeterMapClass()->isMapOpenCheck();
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeter2Info_isMapOpenCheck() {
nofralloc
#include "asm/d/meter/d_meter2_info/dMeter2Info_isMapOpenCheck__Fv.s"
}
#pragma pop
#endif
/* 8021E688-8021E6E4 218FC8 005C+00 0/0 2/2 0/0 .text dMeter2Info_isItemOpenCheck__Fv */
#ifdef NONMATCHING
@@ -1144,27 +1338,57 @@ asm void dMeter2Info_isItemOpenCheck() {
/* 8021E6E4-8021E754 219024 0070+00 1/1 2/2 0/0 .text dMeter2Info_getRecieveLetterNum__Fv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeter2Info_getRecieveLetterNum() {
nofralloc
#include "asm/d/meter/d_meter2_info/dMeter2Info_getRecieveLetterNum__Fv.s"
u8 dMeter2Info_getRecieveLetterNum() {
u8 letterNum = 0;
for (int i = 0; i < 0x40; i++) {
if (dComIfGs_isLetterGetFlag(i)) {
letterNum++;
}
}
return letterNum;
}
#pragma pop
/* 8021E754-8021E804 219094 00B0+00 0/0 4/4 2/2 .text dMeter2Info_getNewLetterNum__Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeter2Info_getNewLetterNum() {
nofralloc
#include "asm/d/meter/d_meter2_info/dMeter2Info_getNewLetterNum__Fv.s"
u8 dMeter2Info_getNewLetterNum() {
u8 letterNum = 0;
for (int i = 0; i < 0x40; i++) {
if (!dComIfGs_isLetterGetFlag(i) && dMenu_Letter::getLetterName(i) != 0) {
u16 letterEvent = dMenu_Letter::getLetterEventFlag(i);
if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[letterEvent])) {
letterNum++;
}
}
}
return letterNum;
}
#pragma pop
/* 8021E804-8021E8DC 219144 00D8+00 0/0 1/1 0/0 .text dMeter2Info_setNewLetterSender__Fv
*/
// regalloc
#ifdef NONMATCHING
int dMeter2Info_setNewLetterSender() {
u8 check = 0;
for (int i = 0; i < 0x40; i++) {
if (!dComIfGs_isLetterGetFlag(i) && dMenu_Letter::getLetterName(i) != 0) {
u16 letterEvent = dMenu_Letter::getLetterEventFlag(i);
if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[letterEvent])) {
if (check == 0) {
u16 letterName = dMenu_Letter::getLetterName(i);
dMsgObject_c::setLetterNameID(letterName);
} else {
dMsgObject_c::setLetterNameID(0);
return 0;
}
check++;
}
}
}
return 0;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1173,6 +1397,7 @@ asm void dMeter2Info_setNewLetterSender() {
#include "asm/d/meter/d_meter2_info/dMeter2Info_setNewLetterSender__Fv.s"
}
#pragma pop
#endif
/* 8021E8DC-8021E9D0 21921C 00F4+00 0/0 1/1 0/0 .text dMeter2Info_recieveLetter__Fv */
#pragma push
+44 -17
View File
@@ -80,11 +80,6 @@ struct dMeter_drawEmpButtonHIO_c {
/* 80200DA0 */ ~dMeter_drawEmpButtonHIO_c();
};
struct dMeter_drawCollectHIO_c {
/* 801FE348 */ dMeter_drawCollectHIO_c();
/* 80200FE0 */ ~dMeter_drawCollectHIO_c();
};
struct dMeter_drawCalibrationHIO_c {
/* 801FE954 */ dMeter_drawCalibrationHIO_c();
/* 80200E78 */ ~dMeter_drawCalibrationHIO_c();
@@ -95,17 +90,6 @@ struct dMeter_cursorHIO_c {
/* 80201098 */ ~dMeter_cursorHIO_c();
};
struct cXyz {
/* 80009184 */ ~cXyz();
/* 800125DC */ cXyz();
};
struct JUtility {
struct TColor {
/* 80193960 */ TColor();
};
};
struct JKRHeap {
/* 802CE548 */ void free(void*);
};
@@ -353,6 +337,47 @@ SECTION_SDATA2 static f32 lit_3802 = 26.0f;
/* 801FE348-801FE4EC 1F8C88 01A4+00 1/1 0/0 0/0 .text __ct__23dMeter_drawCollectHIO_cFv
*/
#ifdef NONMATCHING
dMeter_drawCollectHIO_c::dMeter_drawCollectHIO_c() {
mItemScaleSmall = lit_3787;
mItemScaleLarge = lit_3788;
mSaveOptionItemScaleSmall = lit_3787;
mSaveOptionItemScaleLarge = lit_3789;
mBlueFuzzPosX = lit_3790;
mBlueFuzzPosY = lit_3791;
mBlueFuzzScale = lit_3791;
mBlueFuzzAlpha = lit_3792;
mMaskMirrorPos.set(FLOAT_LABEL(lit_3793), FLOAT_LABEL(lit_3793), FLOAT_LABEL(lit_3793));
mMaskMirrorAngle.set(0, 0, 0);
field_0x9a = false;
mMaskMirrorScale = FLOAT_LABEL(lit_3793);
mMaskMirrorAnimation = lit_3787;
mHeartVesselPosX = lit_3794;
mHeartVesselPosY = lit_3795;
mHeartVesselScale = lit_3796;
mHeartPiecePosX = FLOAT_LABEL(lit_3793);
mHeartPiecePosY = FLOAT_LABEL(lit_3793);
mHeartPieceScale = lit_3787;
mButtonDebugON = false;
mAButtonPosX = lit_3797;
mAButtonPosY = lit_3798;
mAButtonScale = lit_3791;
mBButtonPosX = lit_3797;
mBButtonPosY = lit_3799;
mBButtonScale = lit_3791;
mAButtonTextPosX = lit_3800;
mAButtonTextPosY = lit_3798;
mAButtonTextScale = lit_3789;
mBButtonTextPosX = lit_3801;
mBButtonTextPosY = lit_3802;
mBButtonTextScale = lit_3789;
mColorDebugON = false;
mBasBlack[0].set(0, 0, 0, 0);
mBasWhite[0].set(250, 250, 210, 220);
mBasBlack[1].set(200, 190, 100, 0);
mBasWhite[1].set(200, 190, 100, 175);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -361,6 +386,7 @@ asm dMeter_drawCollectHIO_c::dMeter_drawCollectHIO_c() {
#include "asm/d/meter/d_meter_HIO/__ct__23dMeter_drawCollectHIO_cFv.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 80454520-80454524 002B20 0004+00 3/3 0/0 0/0 .sdata2 @3828 */
@@ -1251,7 +1277,8 @@ asm dMeter_drawOptionHIO_c::~dMeter_drawOptionHIO_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dMeter_drawCollectHIO_c::~dMeter_drawCollectHIO_c() {
// asm dMeter_drawCollectHIO_c::~dMeter_drawCollectHIO_c() {
extern "C" asm void __dt__23dMeter_drawCollectHIO_cFv() {
nofralloc
#include "asm/d/meter/d_meter_HIO/__dt__23dMeter_drawCollectHIO_cFv.s"
}
+79 -163
View File
@@ -4,6 +4,7 @@
//
#include "d/msg/d_msg_flow.h"
#include "d/com/d_com_inf_game.h"
#include "dol2asm.h"
#include "dolphin/types.h"
@@ -15,132 +16,11 @@ struct mDoGph_gInf_c {
/* 80007FD8 */ void fadeOut(f32, _GXColor&);
};
struct daPy_py_c {
/* 8015F3FC */ void getAttentionOffsetY();
/* 8015F954 */ void setMidnaMotionNum(int);
/* 8015F968 */ void setMidnaFaceNum(int);
static u8 m_midnaActor[4];
};
struct daAlink_c {
/* 800B4938 */ void setMidnaMsg();
};
struct dSv_player_status_a_c {
/* 80032A5C */ void getSelectItemIndex(int) const;
/* 80032AA8 */ void getRupeeMax() const;
};
struct dSv_player_item_record_c {
/* 80033F6C */ void setBombNum(u8, u8);
/* 80033F7C */ void getBombNum(u8) const;
};
struct dSv_player_item_max_c {
/* 800340F8 */ void getBombNum(u8) const;
};
struct dSv_player_item_c {
/* 80032FB8 */ void setItem(int, u8);
/* 80033030 */ void getItem(int, bool) const;
/* 80033370 */ void setBottleItemIn(u8, u8);
/* 80033450 */ void setEmptyBottleItemIn(u8);
/* 80033754 */ void checkInsectBottle();
/* 800337EC */ void checkEmptyBottle();
/* 80033BEC */ void checkBombBag(u8);
/* 80033C2C */ void setWarashibeItem(u8);
};
struct dSv_player_get_item_c {
/* 80033E94 */ void offFirstBit(u8);
};
struct dSv_memBit_c {
/* 800347E8 */ void isTbox(int) const;
/* 80034810 */ void onSwitch(int);
/* 80034838 */ void offSwitch(int);
/* 80034860 */ void isSwitch(int) const;
/* 800348EC */ void isItem(int) const;
};
struct dSv_light_drop_c {
/* 80034340 */ void getLightDropNum(u8) const;
/* 80034368 */ void onLightDropGetFlag(u8);
};
struct dSv_event_tmp_flag_c {
static u8 const tempBitLabels[370 + 2 /* padding */];
};
struct dSv_event_flag_c {
static u8 saveBitLabels[1644 + 4 /* padding */];
};
struct dSv_event_c {
/* 8003498C */ void onEventBit(u16);
/* 800349A4 */ void offEventBit(u16);
/* 800349BC */ void isEventBit(u16) const;
/* 800349E0 */ void setEventReg(u16, u8);
/* 80034A04 */ void getEventReg(u16) const;
};
struct dSv_danBit_c {
/* 80034B98 */ void onSwitch(int);
/* 80034BC0 */ void offSwitch(int);
/* 80034BE8 */ void isSwitch(int) const;
/* 80034C74 */ void isItem(int) const;
};
struct dStage_roomControl_c {
/* 80024384 */ void getStatusRoomDt(int);
};
struct dShopSystem_c {
/* 801975F8 */ void isFlag(int);
/* 8019A354 */ void setSoldOutFlag();
};
struct dMsgObject_c {
/* 802370FC */ void isMidonaMessage();
/* 80237980 */ void isKillMessageFlag();
/* 80237994 */ void onKillMessageFlag();
/* 80237A74 */ void setTalkPartner(fopAc_ac_c*);
/* 80237A88 */ void setNowTalkFlowNo(s16);
/* 8023803C */ void changeFlowGroup(s32);
/* 80238098 */ void endFlowGroup();
/* 80238174 */ void getMsgDtPtr();
/* 8023822C */ void getStatus();
/* 8023846C */ void setSelectCursorPos(u8);
/* 802384D8 */ void setArrowNum(u8);
/* 80238544 */ void setSelectWordFlag(u8);
/* 802385B4 */ void getSelectBombBagID();
/* 802385E0 */ void getSelectBombPrice();
/* 8023860C */ void setEquipBombInfo();
/* 8023864C */ void setSelectCancelPos(u8);
};
struct dMeter2Info_c {
/* 8021E0C4 */ void resetMiniGameItem(bool);
};
struct dComIfG_play_c {
/* 8002B36C */ void setItemBombNumCount(u8, s16);
};
struct dAttention_c {
/* 80073838 */ void checkDistance(cXyz*, s16, cXyz*, f32, f32, f32, f32);
/* 8014B010 */ void getDistTable(int);
};
struct cSGlobe {
/* 80271880 */ cSGlobe(cXyz const&);
};
struct cSAngle {
/* 80271228 */ void operator-(s16) const;
};
struct Z2SeMgr {
/* 802ADB14 */ void messageSePlay(u16, Vec*, s8);
};
@@ -284,7 +164,6 @@ extern "C" u8 mEventList__10dMsgFlow_c[516];
// External References:
//
SECTION_INIT void memcpy();
extern "C" void fadeOut__13mDoGph_gInf_cFfR8_GXColor();
extern "C" void fopMsgM_SearchByID__FUi();
extern "C" void fopMsgM_messageSet__FUlP10fopAc_ac_cUl();
@@ -389,15 +268,11 @@ extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" void strcmp();
extern "C" u8 const tempBitLabels__20dSv_event_tmp_flag_c[370 + 2 /* padding */];
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_env_light[4880];
extern "C" extern u8 g_meter2_info[248];
extern "C" extern u8 g_MsgObject_HIO_c[1040];
extern "C" extern u32 g_saftyWhiteColor;
extern "C" extern u8 struct_80450D64[4];
extern "C" u8 m_midnaActor__9daPy_py_c[4];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
@@ -405,6 +280,14 @@ extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
// Declarations:
//
inline void dComIfGp_setItemRupeeCount(int amount) {
g_dComIfG_gameInfo.play.setItemRupeeCount(amount);
}
inline void dComIfGp_setItemLifeCount(float amount, u8 type) {
g_dComIfG_gameInfo.play.setItemLifeCount(amount, type);
}
/* ############################################################################################## */
/* 803C14B8-803C14C4 01E5D8 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
@@ -1839,14 +1722,15 @@ asm void dMsgFlow_c::nodeProc(fopAc_ac_c* param_0, fopAc_ac_c** param_1) {
/* 8024B0F0-8024B108 245A30 0018+00 16/16 0/0 0/0 .text getParam__10dMsgFlow_cFPUsPUsPUc
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMsgFlow_c::getParam(u16* param_0, u16* param_1, u8* param_2) {
nofralloc
#include "asm/d/msg/d_msg_flow/getParam__10dMsgFlow_cFPUsPUsPUc.s"
// might be fake match
int dMsgFlow_c::getParam(u16* param_0, u16* param_1, u8* param_2) {
u16* tmp = (u16*)param_2;
*param_0 = *tmp;
*param_1 = *(tmp + 1);
int* tmp2 = (int*)param_2;
return *tmp2;
}
#pragma pop
/* 8024B108-8024B130 245A48 0028+00 3/3 0/0 0/0 .text getParam__10dMsgFlow_cFPUcPUc */
#pragma push
@@ -1859,14 +1743,10 @@ asm void dMsgFlow_c::getParam(u8* param_0, u8* param_1) {
#pragma pop
/* 8024B130-8024B138 245A70 0008+00 20/20 0/0 0/0 .text getParam__10dMsgFlow_cFPUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMsgFlow_c::getParam(u8* param_0) {
nofralloc
#include "asm/d/msg/d_msg_flow/getParam__10dMsgFlow_cFPUc.s"
int dMsgFlow_c::getParam(u8* param_0) {
int* tmp2 = (int*)param_0;
return *tmp2;
}
#pragma pop
/* 8024B138-8024B180 245A78 0048+00 1/0 0/0 0/0 .text
* query001__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */
@@ -2467,47 +2347,65 @@ asm void dMsgFlow_c::query053(mesg_flow_node_branch* param_0, fopAc_ac_c* param_
/* 8024C3FC-8024C488 246D3C 008C+00 1/0 0/0 0/0 .text
* event000__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMsgFlow_c::event000(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
nofralloc
#include "asm/d/msg/d_msg_flow/event000__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c.s"
int dMsgFlow_c::event000(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
u16 prm1;
u16 prm0;
int tmp = getParam(&prm0, &prm1, &param_0->param);
if (prm0 != 0) {
dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[prm0]);
}
if (prm1 != 0) {
dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[prm1]);
}
return 1;
}
#pragma pop
/* 8024C488-8024C514 246DC8 008C+00 1/0 0/0 0/0 .text
* event001__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMsgFlow_c::event001(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
nofralloc
#include "asm/d/msg/d_msg_flow/event001__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c.s"
int dMsgFlow_c::event001(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
u16 prm1;
u16 prm0;
int tmp = getParam(&prm0, &prm1, &param_0->param);
if (prm0 != 0) {
dComIfGs_offEventBit(dSv_event_flag_c::saveBitLabels[prm0]);
}
if (prm1 != 0) {
dComIfGs_offEventBit(dSv_event_flag_c::saveBitLabels[prm1]);
}
return 1;
}
#pragma pop
/* 8024C514-8024C550 246E54 003C+00 1/0 0/0 0/0 .text
* event002__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMsgFlow_c::event002(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
nofralloc
#include "asm/d/msg/d_msg_flow/event002__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c.s"
int dMsgFlow_c::event002(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
int prm0 = getParam(&param_0->param);
dComIfGp_setItemRupeeCount(prm0);
return 1;
}
#pragma pop
/* 8024C550-8024C590 246E90 0040+00 1/0 0/0 0/0 .text
* event003__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
// wrong instruction
#ifdef NONMATCHING
int dMsgFlow_c::event003(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
int prm0 = getParam(&param_0->param);
dComIfGp_setItemRupeeCount(-prm0);
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMsgFlow_c::event003(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
asm int dMsgFlow_c::event003(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
nofralloc
#include "asm/d/msg/d_msg_flow/event003__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 80454DA0-80454DA8 0033A0 0008+00 3/3 0/0 0/0 .sdata2 @6040 */
@@ -2515,17 +2413,34 @@ SECTION_SDATA2 static f64 lit_6040 = 4503601774854144.0 /* cast s32 to float */;
/* 8024C590-8024C5F0 246ED0 0060+00 1/0 0/0 0/0 .text
* event004__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
#ifdef NONMATCHING
int dMsgFlow_c::event004(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
f32 prm0 = getParam(&param_0->param);
dComIfGp_setItemLifeCount(prm0, 0);
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMsgFlow_c::event004(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
asm int dMsgFlow_c::event004(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
nofralloc
#include "asm/d/msg/d_msg_flow/event004__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c.s"
}
#pragma pop
#endif
/* 8024C5F0-8024C654 246F30 0064+00 1/0 0/0 0/0 .text
* event005__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
#ifdef NONMATCHING
int dMsgFlow_c::event005(mesg_flow_node_event* param_0, fopAc_ac_c* param_1) {
f32 prm0 = getParam(&param_0->param);
dComIfGp_setItemLifeCount(-prm0, 0);
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -2534,6 +2449,7 @@ asm void dMsgFlow_c::event005(mesg_flow_node_event* param_0, fopAc_ac_c* param_1
#include "asm/d/msg/d_msg_flow/event005__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c.s"
}
#pragma pop
#endif
/* 8024C654-8024C694 246F94 0040+00 1/0 0/0 0/0 .text
* event006__10dMsgFlow_cFP20mesg_flow_node_eventP10fopAc_ac_c */
+6 -82
View File
@@ -11,45 +11,13 @@
// Types:
//
struct JUtility {
struct TColor {};
};
struct JSURandomInputStream {
/* 80255328 */ ~JSURandomInputStream();
};
struct JSUMemoryInputStream {
/* 802552B8 */ ~JSUMemoryInputStream();
/* 802DC520 */ void setBuffer(void const*, s32);
};
struct JSUIosBase {
/* 80255388 */ ~JSUIosBase();
};
struct JSUInputStream {
/* 802DC23C */ ~JSUInputStream();
};
struct JKRHeap {
/* 802CE4D4 */ void alloc(u32, int);
/* 802CE548 */ void free(void*);
};
struct JKRExpHeap {};
struct JKRArchive {};
struct JKRAramArchive {};
struct JGeometry {
template <typename A1>
struct TBox2 {};
/* TBox2<f32> */
struct TBox2__template0 {};
};
struct J2DWindow {
/* 80254000 */ void getBlack() const;
/* 8025400C */ void getWhite() const;
@@ -62,56 +30,11 @@ struct J2DTextBox {
/* 80254408 */ void setBlack(JUtility::TColor);
};
struct J2DScreen {
/* 802F8748 */ void setPriority(JSURandomInputStream*, u32, JKRArchive*);
};
struct J2DRotateAxis {};
struct J2DPane {
/* 802F7100 */ void getBounds();
/* 802F71DC */ void rotate(f32, f32, J2DRotateAxis, f32);
/* 802F7A8C */ void getFirstChildPane();
/* 802F7AC4 */ void getNextChildPane();
/* 802F7AFC */ void getParentPane();
};
struct J2DOrthoGraph {
/* 802E96D0 */ J2DOrthoGraph(f32, f32, f32, f32, f32, f32);
/* 802E980C */ void setOrtho(JGeometry::TBox2<f32> const&, f32, f32);
};
struct CPaneMgrAlpha {
/* 802553EC */ CPaneMgrAlpha();
/* 8025546C */ ~CPaneMgrAlpha();
/* 80255658 */ void rateCalc(s16, s16, u8);
/* 80255A60 */ void childPaneCount(J2DPane*);
/* 80255ACC */ void childPaneGetAlpha(J2DPane*);
/* 80255B5C */ void childPaneSetAlpha(J2DPane*, u8);
};
struct CPaneMgr {
/* 80253984 */ CPaneMgr(J2DScreen*, u64, u8, JKRExpHeap*);
/* 80253930 */ CPaneMgr();
/* 80253A18 */ ~CPaneMgr();
/* 80253AB4 */ void setAlpha(u8);
/* 80253B2C */ void reinit();
/* 80253C08 */ void initiate(J2DPane*, JKRExpHeap*);
/* 80254018 */ void childPaneGetSize(J2DPane*);
/* 80254134 */ void childPaneSetSize(J2DPane*, f32, f32);
/* 802542E8 */ void getGlobalPosX();
/* 80254364 */ void getGlobalPosY();
/* 80254458 */ void setBlackWhite(JUtility::TColor, JUtility::TColor);
/* 802545B0 */ void paneTrans(f32, f32);
/* 80254638 */ void paneScale(f32, f32);
/* 802547CC */ void scaleAnime(s16, f32, f32, u8);
/* 802548BC */ void colorAnime(s16, JUtility::TColor, JUtility::TColor, JUtility::TColor,
JUtility::TColor, u8);
/* 80254C90 */ void getGlobalVtx(J2DPane*, f32 (*)[3][4], u8, bool, s16);
/* 80254EBC */ void getGlobalVtxCenter(J2DPane*, bool, s16);
/* 80254FB8 */ void getBounds(J2DPane*);
};
//
// Forward References:
//
@@ -174,8 +97,6 @@ extern "C" void getFirstChildPane__7J2DPaneFv();
extern "C" void getNextChildPane__7J2DPaneFv();
extern "C" void getParentPane__7J2DPaneFv();
extern "C" void setPriority__9J2DScreenFP20JSURandomInputStreamUlP10JKRArchive();
extern "C" void PSMTXCopy();
extern "C" void PSMTXConcat();
extern "C" void _savegpr_24();
extern "C" void _savegpr_25();
extern "C" void _savegpr_26();
@@ -543,7 +464,8 @@ asm void dPaneClass_setPriority(void** param_0, JKRHeap* param_1, J2DScreen* par
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JSUMemoryInputStream::~JSUMemoryInputStream() {
// asm JSUMemoryInputStream::~JSUMemoryInputStream() {
extern "C" asm void __dt__20JSUMemoryInputStreamFv() {
nofralloc
#include "asm/d/pane/d_pane_class/__dt__20JSUMemoryInputStreamFv.s"
}
@@ -553,7 +475,8 @@ asm JSUMemoryInputStream::~JSUMemoryInputStream() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JSURandomInputStream::~JSURandomInputStream() {
// asm JSURandomInputStream::~JSURandomInputStream() {
extern "C" asm void __dt__20JSURandomInputStreamFv() {
nofralloc
#include "asm/d/pane/d_pane_class/__dt__20JSURandomInputStreamFv.s"
}
@@ -563,7 +486,8 @@ asm JSURandomInputStream::~JSURandomInputStream() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JSUIosBase::~JSUIosBase() {
// asm JSUIosBase::~JSUIosBase() {
extern "C" asm void __dt__10JSUIosBaseFv() {
nofralloc
#include "asm/d/pane/d_pane_class/__dt__10JSUIosBaseFv.s"
}
-47
View File
@@ -7,53 +7,6 @@
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct JKRHeap {
/* 802CE4D4 */ void alloc(u32, int);
/* 802CE548 */ void free(void*);
};
struct JKRExpHeap {};
struct J2DScreen {};
struct J2DPane {
/* 802F7A8C */ void getFirstChildPane();
/* 802F7AC4 */ void getNextChildPane();
};
struct CPaneMgrAlphaMorf {
/* 80255C68 */ CPaneMgrAlphaMorf(J2DScreen*, u64, u8, JKRExpHeap*);
/* 80255CAC */ ~CPaneMgrAlphaMorf();
/* 80255D48 */ void initiateAlphaMorf();
/* 80255DD0 */ void setBackupAlpha();
/* 80255E28 */ void setAlphaMorfRate(f32);
/* 80255E98 */ void childPaneBackupAlpha(J2DPane*);
/* 80255F28 */ void childPaneSetAlphaMorf(J2DPane*, f32);
};
struct CPaneMgrAlpha {
/* 802553EC */ CPaneMgrAlpha();
/* 802553FC */ CPaneMgrAlpha(J2DScreen*, u64, u8, JKRExpHeap*);
/* 8025546C */ ~CPaneMgrAlpha();
/* 802554E0 */ void initiateAlpha(J2DPane*, JKRExpHeap*);
/* 802555C8 */ void show();
/* 80255608 */ void hide();
/* 8025564C */ void isVisible();
/* 80255658 */ void rateCalc(s16, s16, u8);
/* 80255758 */ void setAlpha(u8);
/* 802557D0 */ void setAlphaRate(f32);
/* 80255828 */ void getAlphaRate();
/* 80255878 */ void alphaAnime(s16, u8, u8, u8);
/* 80255964 */ void alphaAnimeLoop(s16, u8, u8, u8);
/* 80255A60 */ void childPaneCount(J2DPane*);
/* 80255ACC */ void childPaneGetAlpha(J2DPane*);
/* 80255B5C */ void childPaneSetAlpha(J2DPane*, u8);
};
//
// Forward References:
//
-51
View File
@@ -19,10 +19,6 @@ struct mDoGph_gInf_c {
static u8 mFrameBufferTimg[4];
};
struct JKRHeap {
/* 802CE500 */ void free(void*, JKRHeap*);
};
struct mDoDvdThd_toMainRam_c {
/* 80016394 */ void create(char const*, u8, JKRHeap*);
};
@@ -124,11 +120,6 @@ struct dPa_modelPcallBack {
/* 80050038 */ ~dPa_modelPcallBack();
};
struct J3DModelData {
/* 803260CC */ void syncJ3DSysPointers() const;
/* 803260F8 */ void syncJ3DSysFlags() const;
};
struct dPa_modelEcallBack {
struct model_c {
/* 8004A608 */ void set(J3DModelData*, dKy_tevstr_c const&, u8, void*, u8, u8);
@@ -311,12 +302,6 @@ struct JMath {
static u8 sincosTable_[65536];
};
struct JKRSolidHeap {};
struct JKRExpHeap {
/* 802CEE2C */ void create(u32, JKRHeap*, bool);
};
struct J3DUClipper {
/* 802738FC */ void clip(f32 const (*)[4], Vec, f32) const;
};
@@ -325,31 +310,12 @@ struct J3DTexture {
/* 8031204C */ void loadGX(u16, _GXTexMapID) const;
};
struct J3DSys {
/* 8031073C */ void reinitGX();
};
struct J3DShape {
/* 80315300 */ void loadPreDrawSetting() const;
static u8 sOldVcdVatCmd[4];
};
struct J3DAnmTexPattern {
/* 8032B09C */ void searchUpdateMaterialID(J3DModelData*);
};
struct J3DAnmTevRegKey {
/* 8032B87C */ void searchUpdateMaterialID(J3DModelData*);
};
struct J3DMaterialTable {
/* 8032F6F8 */ void removeTexNoAnimator(J3DAnmTexPattern*);
/* 8032F880 */ void removeTevRegAnimator(J3DAnmTevRegKey*);
/* 8032FBC8 */ void entryTexNoAnimator(J3DAnmTexPattern*);
/* 8032FE70 */ void entryTevRegAnimator(J3DAnmTevRegKey*);
};
//
// Forward References:
//
@@ -524,7 +490,6 @@ extern "C" u8 mParticleTracePCB__13dPa_control_c[4 + 4 /* padding */];
// External References:
//
extern "C" void OSReport();
extern "C" void mDoExt_getArchiveHeap__Fv();
extern "C" void mDoExt_createSolidHeapFromGame__FUlUl();
extern "C" void mDoExt_createSolidHeapFromSystem__FUlUl();
@@ -607,32 +572,17 @@ extern "C" void removeTexNoAnimator__16J3DMaterialTableFP16J3DAnmTexPattern();
extern "C" void removeTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey();
extern "C" void entryTexNoAnimator__16J3DMaterialTableFP16J3DAnmTexPattern();
extern "C" void entryTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey();
extern "C" void PSMTXMultVec();
extern "C" void GXSetVtxDesc();
extern "C" void GXClearVtxDesc();
extern "C" void GXSetVtxAttrFmt();
extern "C" void GXInvalidateVtxCache();
extern "C" void GXSetTexCoordGen2();
extern "C" void GXSetNumTexGens();
extern "C" void GXFlush();
extern "C" void GXBegin();
extern "C" void GXEnableTexOffsets();
extern "C" void GXSetCullMode();
extern "C" void GXSetCoPlanar();
extern "C" void GXSetChanAmbColor();
extern "C" void GXSetChanMatColor();
extern "C" void GXSetNumChans();
extern "C" void GXSetChanCtrl();
extern "C" void GXSetNumIndStages();
extern "C" void GXSetTevColorIn();
extern "C" void GXSetTevAlphaIn();
extern "C" void GXSetTevColorOp();
extern "C" void GXSetTevAlphaOp();
extern "C" void GXSetTevColor();
extern "C" void GXSetAlphaCompare();
extern "C" void GXSetTevOrder();
extern "C" void GXSetNumTevStages();
extern "C" void GXSetBlendMode();
extern "C" void GXSetColorUpdate();
extern "C" void GXSetAlphaUpdate();
extern "C" void GXSetZMode();
@@ -677,7 +627,6 @@ extern "C" u8 s_o_id__8dPa_name[28];
extern "C" u8 mClipper__14mDoLib_clipper[92];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_env_light[4880];
extern "C" extern u8 j3dSys[284];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" extern u32 g_whiteColor;
extern "C" extern u32 __float_nan;
-19
View File
@@ -24,10 +24,6 @@ struct daSus_c {
/* 800314D4 */ void check(fopAc_ac_c*);
};
struct dScnKy_env_light_c {
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
};
struct dRes_info_c {};
struct dRes_control_c {
@@ -58,21 +54,6 @@ struct dDemo_actor_c {
/* 8003815C */ void setActor(fopAc_ac_c*);
};
struct J3DModel {};
struct J3DAnmTevRegKey {
/* 8032B87C */ void searchUpdateMaterialID(J3DModelData*);
};
struct J3DAnmTextureSRTKey {
/* 8032B1D4 */ void searchUpdateMaterialID(J3DModelData*);
};
struct J3DMaterialTable {
/* 8032FCC4 */ void entryTexMtxAnimator(J3DAnmTextureSRTKey*);
/* 8032FE70 */ void entryTevRegAnimator(J3DAnmTevRegKey*);
};
//
// Forward References:
//
+1 -8
View File
@@ -4,6 +4,7 @@
//
// #include "f_op/f_op_msg_mng.h"
#include "JSystem/J2DGraph/J2DPane.h"
#include "dol2asm.h"
#include "dolphin/types.h"
@@ -49,10 +50,6 @@ struct JMath {
static u8 sincosTable_[65536];
};
struct JKRHeap {
/* 802CE448 */ void destroy();
};
struct JKRExpHeap {
/* 802CEE2C */ void create(u32, JKRHeap*, bool);
};
@@ -63,10 +60,6 @@ struct J2DPicture {
/* 80020368 */ void insert(char const*, u8, f32);
};
struct J2DPane {
/* 80020158 */ void setAlpha(u8);
};
//
// Forward References:
//