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
+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 */