mirror of
https://github.com/zeldaret/tp
synced 2026-08-08 18:43:50 -04:00
work on daalink, fop actor, mDo machine, msg_scrn, + various (#201)
* work on fop actor / actor mng, daalink, d_a_obj_item * d_a_title mostly decompiled * daalink / d_event / JMessage / dmsg_out_font work * msg_scrn_base / msg_scrn_boss * some work on mDo machine, d_menu_save, d_tresure, and various * remove asm * progress
This commit is contained in:
+58
-125
@@ -4,6 +4,7 @@
|
||||
//
|
||||
|
||||
#include "d/msg/d_msg_object.h"
|
||||
#include "d/msg/d_msg_out_font.h"
|
||||
#include "JSystem/JGadget/binary.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
@@ -71,20 +72,6 @@ struct dMsgScrnBase_c {
|
||||
/* 8023C3EC */ void setRubyString(char*);
|
||||
};
|
||||
|
||||
struct COutFont_c {
|
||||
/* 80225C94 */ COutFont_c(u8);
|
||||
};
|
||||
|
||||
struct dMsgObject_HowlHIO_c {
|
||||
/* 80232AEC */ dMsgObject_HowlHIO_c();
|
||||
/* 80238B94 */ ~dMsgObject_HowlHIO_c();
|
||||
};
|
||||
|
||||
struct dMsgObject_HIO_c {
|
||||
/* 80232D6C */ dMsgObject_HIO_c();
|
||||
/* 80238BDC */ ~dMsgObject_HIO_c();
|
||||
};
|
||||
|
||||
struct dDemo_c {
|
||||
static u8 m_control[4];
|
||||
static u8 m_mesgControl[4];
|
||||
@@ -378,11 +365,11 @@ extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804510C8-804510D0 0005C8 0002+06 5/4 0/0 0/0 .sbss s_groupID */
|
||||
static u8 s_groupID[2 + 6 /* padding */];
|
||||
static s16 s_groupID;
|
||||
|
||||
/* 80232A3C-80232A44 -00001 0008+00 0/0 0/0 0/0 .text dMsgObject_getGroupID__Fv */
|
||||
s16 dMsgObject_getGroupID() {
|
||||
return (s32) * (s16*)(&s_groupID);
|
||||
return s_groupID;
|
||||
}
|
||||
|
||||
/* 80232A44-80232AEC 22D384 00A8+00 1/1 0/0 0/0 .text dMsgObject_searchSSItem__FPvPv */
|
||||
@@ -733,7 +720,7 @@ asm void dMsgObject_c::getMessageIDAlways(u32 param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgObject_c::getMessageGroup(u32 param_0) {
|
||||
asm s16 dMsgObject_c::getMessageGroup(u32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_object/getMessageGroup__12dMsgObject_cFUl.s"
|
||||
}
|
||||
@@ -945,59 +932,44 @@ asm void dMsgObject_c::isSend() {
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80399660-80399660 025CC0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_803996CF = "/res/Msgus/bmgres%d.arc";
|
||||
/* @stringBase0 padding */
|
||||
SECTION_DEAD static char const* const pad_803996E7 = "";
|
||||
#pragma pop
|
||||
|
||||
/* 8043069C-804306B8 05D3BC 0016+06 1/1 0/0 0/0 .bss arcName$6106 */
|
||||
static u8 arcName[22 + 6 /* padding */];
|
||||
inline dStage_stageDt_c* dComIfGp_getStage() {
|
||||
return &g_dComIfG_gameInfo.play.getStage();
|
||||
}
|
||||
|
||||
/* 80236BF8-80236C90 231538 0098+00 1/1 0/0 0/0 .text
|
||||
* readMessageGroupLocal__12dMsgObject_cFPP25mDoDvdThd_mountXArchive_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgObject_c::readMessageGroupLocal(mDoDvdThd_mountXArchive_c** param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_object/readMessageGroupLocal__12dMsgObject_cFPP25mDoDvdThd_mountXArchive_c.s"
|
||||
void dMsgObject_c::readMessageGroupLocal(mDoDvdThd_mountXArchive_c** p_arcMount) {
|
||||
static char arcName[22];
|
||||
|
||||
int msgGroup = dStage_stagInfo_GetMsgGroup(dComIfGp_getStage()->getStagInfo());
|
||||
sprintf(arcName, "/res/Msgus/bmgres%d.arc", msgGroup);
|
||||
|
||||
*p_arcMount = mDoDvdThd_mountXArchive_c::create(arcName, 0, JKRArchive::MOUNT_MEM, NULL);
|
||||
|
||||
if (msgGroup == 99) {
|
||||
msgGroup = 9;
|
||||
}
|
||||
|
||||
s_groupID = msgGroup;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80236C90-80236CD4 2315D0 0044+00 1/1 0/0 0/0 .text changeFlowGroupLocal__12dMsgObject_cFl */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgObject_c::changeFlowGroupLocal(s32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_object/changeFlowGroupLocal__12dMsgObject_cFl.s"
|
||||
void dMsgObject_c::changeFlowGroupLocal(s32 param_0) {
|
||||
mFlowChk = 1;
|
||||
changeGroup(param_0 >= 3000 ? (s16)0 : s_groupID);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80236CD4-80236D00 231614 002C+00 1/1 0/0 0/0 .text demoMessageGroupLocal__12dMsgObject_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgObject_c::demoMessageGroupLocal() {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_object/demoMessageGroupLocal__12dMsgObject_cFv.s"
|
||||
void dMsgObject_c::demoMessageGroupLocal() {
|
||||
mFlowChk = 0;
|
||||
changeGroup(0);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80236D00-80236D0C 231640 000C+00 1/1 0/0 0/0 .text endFlowGroupLocal__12dMsgObject_cFv
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgObject_c::endFlowGroupLocal() {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_object/endFlowGroupLocal__12dMsgObject_cFv.s"
|
||||
void dMsgObject_c::endFlowGroupLocal() {
|
||||
mFlowChk = 0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80236D0C-80236DE4 23164C 00D8+00 1/1 0/0 0/0 .text changeGroupLocal__12dMsgObject_cFs
|
||||
*/
|
||||
@@ -1025,35 +997,23 @@ asm void dMsgObject_c::getStringLocal(u32 param_0, J2DTextBox* param_1, J2DTextB
|
||||
|
||||
/* 802370A8-802370BC 2319E8 0014+00 0/0 1/1 0/0 .text isGetItemMessage__12dMsgObject_cFv
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgObject_c::isGetItemMessage() {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_object/isGetItemMessage__12dMsgObject_cFv.s"
|
||||
BOOL dMsgObject_c::isGetItemMessage() {
|
||||
return mFukiKind == 9;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802370BC-802370E8 2319FC 002C+00 4/4 2/2 0/0 .text isKanbanMessage__12dMsgObject_cFv
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgObject_c::isKanbanMessage() {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_object/isKanbanMessage__12dMsgObject_cFv.s"
|
||||
BOOL dMsgObject_c::isKanbanMessage() {
|
||||
if (mFukiKind == 2 || mFukiKind == 6 || mFukiKind == 15) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802370E8-802370FC 231A28 0014+00 6/6 3/3 0/0 .text isHowlMessage__12dMsgObject_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgObject_c::isHowlMessage() {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_object/isHowlMessage__12dMsgObject_cFv.s"
|
||||
BOOL dMsgObject_c::isHowlMessage() {
|
||||
return mFukiKind == 17;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802370FC-80237138 231A3C 003C+00 3/3 2/2 0/0 .text isMidonaMessage__12dMsgObject_cFv
|
||||
*/
|
||||
@@ -1311,7 +1271,7 @@ asm void dMsgObject_c::resetSelectBomBag() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgObject_c::getSelectBombBagIDLocal() {
|
||||
asm u8 dMsgObject_c::getSelectBombBagIDLocal() {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_object/getSelectBombBagIDLocal__12dMsgObject_cFv.s"
|
||||
}
|
||||
@@ -1321,7 +1281,7 @@ asm void dMsgObject_c::getSelectBombBagIDLocal() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgObject_c::getSelectBombPriceLocal() {
|
||||
asm s16 dMsgObject_c::getSelectBombPriceLocal() {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_object/getSelectBombPriceLocal__12dMsgObject_cFv.s"
|
||||
}
|
||||
@@ -1368,7 +1328,7 @@ void dMsgObject_c::setSelectWordFlagLocal(u8 param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgObject_c::isHowlHearingModeLocal() {
|
||||
asm bool dMsgObject_c::isHowlHearingModeLocal() {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_object/isHowlHearingModeLocal__12dMsgObject_cFv.s"
|
||||
}
|
||||
@@ -2043,65 +2003,35 @@ asm void dMsgObject_c::getSelectWordFlag() {
|
||||
|
||||
/* 80238588-802385B4 232EC8 002C+00 0/0 1/1 0/0 .text isHowlHearingMode__12dMsgObject_cFv
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgObject_c::isHowlHearingMode() {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_object/isHowlHearingMode__12dMsgObject_cFv.s"
|
||||
bool dMsgObject_c::isHowlHearingMode() {
|
||||
return dMsgObject_getMsgObjectClass()->isHowlHearingModeLocal();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802385B4-802385E0 232EF4 002C+00 0/0 1/1 0/0 .text getSelectBombBagID__12dMsgObject_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm u8 dMsgObject_c::getSelectBombBagID() {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_object/getSelectBombBagID__12dMsgObject_cFv.s"
|
||||
u8 dMsgObject_c::getSelectBombBagID() {
|
||||
return dMsgObject_getMsgObjectClass()->getSelectBombBagIDLocal();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802385E0-8023860C 232F20 002C+00 0/0 6/6 0/0 .text getSelectBombPrice__12dMsgObject_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm s16 dMsgObject_c::getSelectBombPrice() {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_object/getSelectBombPrice__12dMsgObject_cFv.s"
|
||||
s16 dMsgObject_c::getSelectBombPrice() {
|
||||
return dMsgObject_getMsgObjectClass()->getSelectBombPriceLocal();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8023860C-80238638 232F4C 002C+00 0/0 1/1 0/0 .text setEquipBombInfo__12dMsgObject_cFv
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgObject_c::setEquipBombInfo() {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_object/setEquipBombInfo__12dMsgObject_cFv.s"
|
||||
void dMsgObject_c::setEquipBombInfo() {
|
||||
dMsgObject_getMsgObjectClass()->setEquipBombInfoLocal();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80238638-8023864C 232F78 0014+00 0/0 2/2 0/0 .text getItemEquipButton__12dMsgObject_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgObject_c::getItemEquipButton() {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_object/getItemEquipButton__12dMsgObject_cFv.s"
|
||||
u8 dMsgObject_c::getItemEquipButton() {
|
||||
return dMsgObject_getMsgObjectClass()->getItemEquipButtonLocal();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8023864C-80238660 232F8C 0014+00 0/0 2/2 0/0 .text setSelectCancelPos__12dMsgObject_cFUc */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgObject_c::setSelectCancelPos(u8 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_object/setSelectCancelPos__12dMsgObject_cFUc.s"
|
||||
void dMsgObject_c::setSelectCancelPos(u8 pos) {
|
||||
dMsgObject_getMsgObjectClass()->setSelectCancelPosLocal(pos);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80238660-802386C8 232FA0 0068+00 1/1 0/0 3/3 .text dMsgObject_getTotalPrice__Fv */
|
||||
#pragma push
|
||||
@@ -2232,7 +2162,8 @@ REGISTER_CTORS(0x80238B58, __sinit_d_msg_object_cpp);
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dMsgObject_HowlHIO_c::~dMsgObject_HowlHIO_c() {
|
||||
// asm dMsgObject_HowlHIO_c::~dMsgObject_HowlHIO_c() {
|
||||
extern "C" asm void __dt__20dMsgObject_HowlHIO_cFv() {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_object/__dt__20dMsgObject_HowlHIO_cFv.s"
|
||||
}
|
||||
@@ -2242,7 +2173,8 @@ asm dMsgObject_HowlHIO_c::~dMsgObject_HowlHIO_c() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dMsgObject_HIO_c::~dMsgObject_HIO_c() {
|
||||
// asm dMsgObject_HIO_c::~dMsgObject_HIO_c() {
|
||||
extern "C" asm void __dt__16dMsgObject_HIO_cFv() {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_object/__dt__16dMsgObject_HIO_cFv.s"
|
||||
}
|
||||
@@ -2314,7 +2246,8 @@ void dMsgScrnBase_c::dotAnimeInit() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void jmessage_tReference::setActorPos(cXyz param_0) {
|
||||
// asm void jmessage_tReference::setActorPos(cXyz param_0) {
|
||||
extern "C" asm void setActorPos__19jmessage_tReferenceF4cXyz() {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_object/setActorPos__19jmessage_tReferenceF4cXyz.s"
|
||||
}
|
||||
|
||||
+504
-225
@@ -4,48 +4,10 @@
|
||||
//
|
||||
|
||||
#include "d/msg/d_msg_out_font.h"
|
||||
#include "d/msg/d_msg_object.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct ResTIMG {};
|
||||
|
||||
struct J2DTextBox {};
|
||||
|
||||
struct J2DRotateAxis {};
|
||||
|
||||
struct J2DPicture {
|
||||
/* 802FC708 */ J2DPicture(ResTIMG const*);
|
||||
};
|
||||
|
||||
struct J2DPane {
|
||||
/* 802F71DC */ void rotate(f32, f32, J2DRotateAxis, f32);
|
||||
/* 802F7AFC */ void getParentPane();
|
||||
};
|
||||
|
||||
struct COutFont_c {
|
||||
/* 80225C94 */ COutFont_c(u8);
|
||||
/* 80225D60 */ ~COutFont_c();
|
||||
/* 80225E7C */ void setPane(J2DPicture*);
|
||||
/* 80225EA8 */ void createPane();
|
||||
/* 80226CF8 */ void initialize();
|
||||
/* 80226D4C */ void drawFont(J2DTextBox*, u8, f32, f32, f32, f32, u32, u8);
|
||||
/* 80226DA8 */ void setAlphaRatio(f32);
|
||||
/* 80226DB0 */ void draw(J2DTextBox*, f32, f32, f32);
|
||||
/* 80228448 */ void reset(J2DTextBox*);
|
||||
/* 80228490 */ void setBlendAnime(J2DPicture*, s16);
|
||||
/* 80228530 */ void getBtiName(int);
|
||||
};
|
||||
|
||||
struct COutFontSet_c {
|
||||
/* 80225BB8 */ COutFontSet_c();
|
||||
/* 80225BF4 */ ~COutFontSet_c();
|
||||
/* 80225C3C */ void initialize();
|
||||
/* 80225C70 */ void drawFont(J2DTextBox*, u8, f32, f32, f32, f32, u32, u8);
|
||||
};
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
@@ -85,8 +47,7 @@ extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_24();
|
||||
extern "C" void _restgpr_26();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 g_MsgObject_HIO_c[1040];
|
||||
extern "C" extern dMsgObject_HIO_c g_MsgObject_HIO_c;
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
@@ -291,121 +252,13 @@ SECTION_DATA static void* lit_5000[65] = {
|
||||
(void*)(((char*)draw__10COutFont_cFP10J2DTextBoxfff) + 0x1248),
|
||||
};
|
||||
|
||||
/* 803BFCAC-803BFDC4 -00001 0118+00 1/1 0/0 0/0 .data mpIconName$5045 */
|
||||
SECTION_DATA static void* mpIconName[70] = {
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x4B),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x57),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x63),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x6F),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x7B),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x87),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x93),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x9F),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xAB),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xB7),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xC6),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xC6),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xC6),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xC6),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xB7),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xB7),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xB7),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xB7),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xB7),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xB7),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xD2),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xD2),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xD2),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xDE),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xD2),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xEA),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x10B),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x121),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x12D),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xC6),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x139),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x158),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x158),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x158),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x158),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x158),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x158),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x158),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x158),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x158),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x158),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x159),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x16D),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x179),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x185),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x191),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x19D),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0xF),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x19D),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x1A9),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x1B5),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x1C1),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x1CD),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x1D9),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x1E5),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x1F1),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x1FD),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x27),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x33),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x1F1),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x1FD),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x209),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x215),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x221),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x22D),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x239),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x245),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x251),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x25D),
|
||||
(void*)(((char*)&d_msg_d_msg_out_font__stringBase0) + 0x269),
|
||||
};
|
||||
|
||||
/* 803BFDC4-803BFDE8 01CEE4 0024+00 2/2 0/0 0/0 .data __vt__10COutFont_c */
|
||||
SECTION_DATA extern void* __vt__10COutFont_c[9] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__10COutFont_cFv,
|
||||
(void*)setPane__10COutFont_cFP10J2DPicture,
|
||||
(void*)createPane__10COutFont_cFv,
|
||||
(void*)draw__10COutFont_cFP10J2DTextBoxfff,
|
||||
(void*)reset__10COutFont_cFP10J2DTextBox,
|
||||
(void*)drawFont__10COutFont_cFP10J2DTextBoxUcffffUlUc,
|
||||
(void*)setAlphaRatio__10COutFont_cFf,
|
||||
};
|
||||
|
||||
/* 803BFDE8-803BFDF8 01CF08 000C+04 2/2 0/0 0/0 .data __vt__13COutFontSet_c */
|
||||
SECTION_DATA extern void* __vt__13COutFontSet_c[3 + 1 /* padding */] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__13COutFontSet_cFv,
|
||||
/* padding */
|
||||
NULL,
|
||||
};
|
||||
|
||||
/* 80225BB8-80225BF4 2204F8 003C+00 1/1 0/0 0/0 .text __ct__13COutFontSet_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm COutFontSet_c::COutFontSet_c() {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_out_font/__ct__13COutFontSet_cFv.s"
|
||||
COutFontSet_c::COutFontSet_c() {
|
||||
initialize();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80225BF4-80225C3C 220534 0048+00 1/0 0/0 0/0 .text __dt__13COutFontSet_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm COutFontSet_c::~COutFontSet_c() {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_out_font/__dt__13COutFontSet_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
COutFontSet_c::~COutFontSet_c() {}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80454A10-80454A14 003010 0004+00 4/4 0/0 0/0 .sdata2 @3748 */
|
||||
@@ -420,57 +273,85 @@ SECTION_SDATA2 static u8 lit_3748[4] = {
|
||||
SECTION_SDATA2 static f32 lit_3749 = 1.0f;
|
||||
|
||||
/* 80225C3C-80225C70 22057C 0034+00 2/2 0/0 0/0 .text initialize__13COutFontSet_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void COutFontSet_c::initialize() {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_out_font/initialize__13COutFontSet_cFv.s"
|
||||
void COutFontSet_c::initialize() {
|
||||
mpTextBoxPtr = NULL;
|
||||
f32 tmp_0 = FLOAT_LABEL(lit_3748);
|
||||
mPosX = tmp_0;
|
||||
mPosY = tmp_0;
|
||||
f32 tmp_1 = lit_3749;
|
||||
mSizeX = tmp_1;
|
||||
mSizeY = tmp_1;
|
||||
mAlpha = 255;
|
||||
mType = 0x47;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80225C70-80225C94 2205B0 0024+00 1/1 0/0 0/0 .text
|
||||
* drawFont__13COutFontSet_cFP10J2DTextBoxUcffffUlUc */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void COutFontSet_c::drawFont(J2DTextBox* param_0, u8 param_1, f32 param_2, f32 param_3,
|
||||
f32 param_4, f32 param_5, u32 param_6, u8 param_7) {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_out_font/drawFont__13COutFontSet_cFP10J2DTextBoxUcffffUlUc.s"
|
||||
void COutFontSet_c::drawFont(J2DTextBox* p_textBox, u8 type, f32 posX, f32 posY,
|
||||
f32 sizeX, f32 sizeY, u32 color, u8 alpha) {
|
||||
mpTextBoxPtr = p_textBox;
|
||||
mPosX = posX;
|
||||
mPosY = posY;
|
||||
mSizeX = sizeX;
|
||||
mSizeY = sizeY;
|
||||
mAlpha = alpha;
|
||||
mColor = color;
|
||||
mType = type;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80225C94-80225D60 2205D4 00CC+00 0/0 5/5 0/0 .text __ct__10COutFont_cFUc */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm COutFont_c::COutFont_c(u8 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_out_font/__ct__10COutFont_cFUc.s"
|
||||
COutFont_c::COutFont_c(u8 param_0) {
|
||||
field_0x242 = param_0;
|
||||
|
||||
for (int i = 0; i < 35; i++) {
|
||||
mpOfs[i] = new COutFontSet_c();
|
||||
}
|
||||
|
||||
for (int i = 0; i < 70; i++) {
|
||||
mpPane[i] = NULL;
|
||||
field_0x1b4[i] = 0;
|
||||
}
|
||||
|
||||
mAlphaRatio = FLOAT_LABEL(lit_3748);
|
||||
f32 tmp_1 = lit_3749;
|
||||
field_0x1b0 = tmp_1;
|
||||
field_0x1ac = tmp_1;
|
||||
field_0x240 = 0;
|
||||
mRupeeColor = 0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80225D60-80225E7C 2206A0 011C+00 1/0 0/0 0/0 .text __dt__10COutFont_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm COutFont_c::~COutFont_c() {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_out_font/__dt__10COutFont_cFv.s"
|
||||
COutFont_c::~COutFont_c() {
|
||||
for (int i = 0; i < 35; i++) {
|
||||
delete mpOfs[i];
|
||||
mpOfs[i] = NULL;
|
||||
}
|
||||
|
||||
if (field_0x240) {
|
||||
field_0x240 = 0;
|
||||
|
||||
for (int i = 0; i < 70; i++) {
|
||||
if (mpPane[i] != NULL) {
|
||||
delete mpPane[i];
|
||||
mpPane[i] = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (dComIfGp_getExpHeap2D() == NULL) {
|
||||
dComIfGp_getItemIconArchive()->removeResourceAll();
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80225E7C-80225EA8 2207BC 002C+00 1/0 0/0 0/0 .text setPane__10COutFont_cFP10J2DPicture
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void COutFont_c::setPane(J2DPicture* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_out_font/setPane__10COutFont_cFP10J2DPicture.s"
|
||||
void COutFont_c::setPane(J2DPicture* p_pic) {
|
||||
for (int i = 0; i < 70; i++) {
|
||||
mpPane[i] = p_pic;
|
||||
p_pic++;
|
||||
}
|
||||
field_0x240 = false;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80454A18-80454A20 003018 0008+00 2/2 0/0 0/0 .sdata2 @4397 */
|
||||
@@ -487,36 +368,29 @@ asm void COutFont_c::createPane() {
|
||||
#pragma pop
|
||||
|
||||
/* 80226CF8-80226D4C 221638 0054+00 0/0 2/2 0/0 .text initialize__10COutFont_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void COutFont_c::initialize() {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_out_font/initialize__10COutFont_cFv.s"
|
||||
void COutFont_c::initialize() {
|
||||
for (int i = 0; i < 35; i++) {
|
||||
mpOfs[i]->initialize();
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80226D4C-80226DA8 22168C 005C+00 1/0 0/0 0/0 .text
|
||||
* drawFont__10COutFont_cFP10J2DTextBoxUcffffUlUc */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void COutFont_c::drawFont(J2DTextBox* param_0, u8 param_1, f32 param_2, f32 param_3,
|
||||
f32 param_4, f32 param_5, u32 param_6, u8 param_7) {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_out_font/drawFont__10COutFont_cFP10J2DTextBoxUcffffUlUc.s"
|
||||
void COutFont_c::drawFont(J2DTextBox* p_textBox, u8 type, f32 posX, f32 posY,
|
||||
f32 sizeX, f32 sizeY, u32 color, u8 alpha) {
|
||||
posY += lit_3749;
|
||||
for (int i = 0; i < 35; i++) {
|
||||
if (mpOfs[i]->getType() == 0x47) {
|
||||
mpOfs[i]->drawFont(p_textBox, type, posX, posY, sizeX, sizeY, color, alpha);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80226DA8-80226DB0 2216E8 0008+00 1/0 0/0 0/0 .text setAlphaRatio__10COutFont_cFf */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void COutFont_c::setAlphaRatio(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_out_font/setAlphaRatio__10COutFont_cFf.s"
|
||||
void COutFont_c::setAlphaRatio(f32 ratio) {
|
||||
mAlphaRatio = ratio;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80454A20-80454A24 003020 0004+00 1/1 0/0 0/0 .sdata2 @4986 */
|
||||
@@ -560,6 +434,336 @@ SECTION_SDATA2 static f64 lit_5001 = 4503601774854144.0 /* cast s32 to float */;
|
||||
|
||||
/* 80226DB0-80228448 2216F0 1698+00 2/0 0/0 0/0 .text draw__10COutFont_cFP10J2DTextBoxfff
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void COutFont_c::draw(J2DTextBox* p_textBox, f32 param_1, f32 param_2, f32 param_3) {
|
||||
s16 sp256[70];
|
||||
|
||||
for (int i = 0; i < 70; i++) {
|
||||
sp256[i] = field_0x1b4[i];
|
||||
}
|
||||
|
||||
for (int i = 0; i < 35; i++) {
|
||||
u8 type = mpOfs[i]->getType();
|
||||
J2DTextBox* tbox = mpOfs[i]->getTextBoxPtr();
|
||||
|
||||
if (p_textBox == tbox && type != 0x47) {
|
||||
f32 local_10c = 1.0f;
|
||||
f32 local_110 = 1.0f;
|
||||
|
||||
if (p_textBox != NULL) {
|
||||
for (J2DPane* pane = p_textBox; pane != NULL; pane = pane->getParentPane()) {
|
||||
local_10c *= pane->getScaleX();
|
||||
local_110 *= pane->getScaleY();
|
||||
}
|
||||
}
|
||||
|
||||
f32 posX = param_1 + param_3 * (local_10c * mpOfs[i]->getPosX());
|
||||
f32 posY = param_2 + (local_110 * mpOfs[i]->getPosY());
|
||||
f32 sizeX = local_10c * mpOfs[i]->getSizeX();
|
||||
f32 sizeY = local_110 * mpOfs[i]->getSizeY();
|
||||
|
||||
if (mpPane[type] != NULL) {
|
||||
mpPane[type]->setAlpha(mAlphaRatio * mpPane[i]->getAlpha());
|
||||
|
||||
switch (type) {
|
||||
case 10:
|
||||
mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255));
|
||||
mpPane[type]->draw(2.0f + posX, 2.0f + posY, sizeX, sizeY, false, false, true);
|
||||
|
||||
mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), mpOfs[i]->getColor());
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, true);
|
||||
break;
|
||||
case 11:
|
||||
mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255));
|
||||
mpPane[type]->draw(2.0f + posX, 2.0f + posY, sizeX, sizeY, false, true, true);
|
||||
|
||||
mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), mpOfs[i]->getColor());
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, false, true, true);
|
||||
break;
|
||||
case 29:
|
||||
mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255));
|
||||
mpPane[type]->draw(2.0f + posX, 2.0f + posY, sizeX, sizeY, false, true, true);
|
||||
|
||||
mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 80, 80, 255));
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, false, true, true);
|
||||
break;
|
||||
case 12:
|
||||
mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255));
|
||||
mpPane[type]->draw(2.0f + posX, 2.0f + posY, sizeX, sizeY, false, true, false);
|
||||
|
||||
mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), mpOfs[i]->getColor());
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, false, true, false);
|
||||
break;
|
||||
case 5:
|
||||
case 6: {
|
||||
posY += 1.0f;
|
||||
sizeY -= 3.0f;
|
||||
JUtility::TColor black = mpPane[type]->getBlack();
|
||||
JUtility::TColor white = mpPane[type]->getWhite();
|
||||
|
||||
mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255));
|
||||
mpPane[type]->draw(2.0f + posX, 2.0f + posY, sizeX, sizeY, false, false, false);
|
||||
|
||||
mpPane[type]->setBlackWhite(black, white);
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false);
|
||||
break;
|
||||
}
|
||||
case 9:
|
||||
if (sp256[type] == field_0x1b4[type]) {
|
||||
field_0x1b4[type]++;
|
||||
|
||||
if (field_0x1b4[type] >= 80) {
|
||||
field_0x1b4[type] = 0;
|
||||
}
|
||||
setBlendAnime(mpPane[type], field_0x1b4[type]);
|
||||
}
|
||||
|
||||
if (field_0x1b4[type] < 20) {
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, true);
|
||||
} else if (field_0x1b4[type] < 40) {
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false);
|
||||
} else if (field_0x1b4[type] < 60) {
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, true, true, true);
|
||||
} else {
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, true, true, false);
|
||||
}
|
||||
break;
|
||||
case 14:
|
||||
if (sp256[type] == field_0x1b4[type]) {
|
||||
field_0x1b4[type]++;
|
||||
|
||||
if (field_0x1b4[type] >= 20) {
|
||||
field_0x1b4[type] = 0;
|
||||
}
|
||||
setBlendAnime(mpPane[type], field_0x1b4[type]);
|
||||
}
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, true);
|
||||
break;
|
||||
case 15:
|
||||
if (sp256[type] == field_0x1b4[type]) {
|
||||
field_0x1b4[type]++;
|
||||
|
||||
if (field_0x1b4[type] >= 20) {
|
||||
field_0x1b4[type] = 0;
|
||||
}
|
||||
setBlendAnime(mpPane[type], field_0x1b4[type]);
|
||||
}
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, true, true, true);
|
||||
break;
|
||||
case 16:
|
||||
if (sp256[type] == field_0x1b4[type]) {
|
||||
field_0x1b4[type]++;
|
||||
|
||||
if (field_0x1b4[type] >= 20) {
|
||||
field_0x1b4[type] = 0;
|
||||
}
|
||||
setBlendAnime(mpPane[type], field_0x1b4[type]);
|
||||
}
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false);
|
||||
break;
|
||||
case 17:
|
||||
if (sp256[type] == field_0x1b4[type]) {
|
||||
field_0x1b4[type]++;
|
||||
|
||||
if (field_0x1b4[type] >= 20) {
|
||||
field_0x1b4[type] = 0;
|
||||
}
|
||||
setBlendAnime(mpPane[type], field_0x1b4[type]);
|
||||
}
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, true, true, false);
|
||||
break;
|
||||
case 18:
|
||||
if (sp256[type] == field_0x1b4[type]) {
|
||||
field_0x1b4[type]++;
|
||||
|
||||
if (field_0x1b4[type] >= 40) {
|
||||
field_0x1b4[type] = 0;
|
||||
}
|
||||
setBlendAnime(mpPane[type], field_0x1b4[type]);
|
||||
}
|
||||
|
||||
if (field_0x1b4[type] < 20) {
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, true);
|
||||
} else {
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, true, true, true);
|
||||
}
|
||||
break;
|
||||
case 19:
|
||||
if (sp256[type] == field_0x1b4[type]) {
|
||||
field_0x1b4[type]++;
|
||||
|
||||
if (field_0x1b4[type] >= 40) {
|
||||
field_0x1b4[type] = 0;
|
||||
}
|
||||
setBlendAnime(mpPane[type], field_0x1b4[type]);
|
||||
}
|
||||
|
||||
if (field_0x1b4[type] < 20) {
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false);
|
||||
} else {
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, true, true, false);
|
||||
}
|
||||
break;
|
||||
case 13:
|
||||
mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255));
|
||||
mpPane[type]->draw(2.0f + posX, 2.0f + posY, sizeX, sizeY, false, false, false);
|
||||
|
||||
mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), mpOfs[i]->getColor());
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false);
|
||||
break;
|
||||
case 24:
|
||||
case 27:
|
||||
case 28:
|
||||
case 43:
|
||||
mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), mpOfs[i]->getColor());
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false);
|
||||
break;
|
||||
case 42:
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false);
|
||||
break;
|
||||
case 20:
|
||||
case 21:
|
||||
case 22:
|
||||
field_0x1b4[type]++;
|
||||
if (field_0x1b4[type] >= 28) {
|
||||
field_0x1b4[type] = 0;
|
||||
}
|
||||
|
||||
mpPane[type]->rotate(0.5f * posX, 0.5f * posY, ROTATE_Z, (360.0f * (f32)field_0x1b4[type]) / 28.0f);
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false);
|
||||
break;
|
||||
case 25: // some issues in here, 2020
|
||||
if (sp256[type] == field_0x1b4[type]) {
|
||||
field_0x1b4[type]++;
|
||||
|
||||
if (field_0x1b4[type] >= 18) {
|
||||
field_0x1b4[type] -= 18;
|
||||
}
|
||||
}
|
||||
|
||||
f32 alpha;
|
||||
if (field_0x1b4[type] < 9) {
|
||||
alpha = field_0x1b4[type];
|
||||
} else {
|
||||
alpha = 18.0f - field_0x1b4[type];
|
||||
}
|
||||
|
||||
mpPane[26]->setAlpha(((alpha / 9.0f) * 205.0f + 50.0f) * mAlphaRatio);
|
||||
f32 tmpX = 0.5f * (g_MsgObject_HIO_c.mPortalIconScale - 1.0f) * sizeX;
|
||||
f32 tmpY = 0.5f * (g_MsgObject_HIO_c.mPortalIconScale - 1.0f) * sizeY;
|
||||
mpPane[26]->draw(posX - tmpX, posY - tmpY, g_MsgObject_HIO_c.mPortalIconScale * sizeX, g_MsgObject_HIO_c.mPortalIconScale * sizeY, false, false, false);
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false);
|
||||
break;
|
||||
case 26:
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false);
|
||||
break;
|
||||
case 30:
|
||||
mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255));
|
||||
mpPane[type]->draw(posX + (0.5f * (sizeX * (field_0x1ac - 1.0f))), posY + (0.5f * (sizeY * (field_0x1b0 - 1.0f))), sizeX * field_0x1ac, sizeY * field_0x1b0, false, false, false);
|
||||
break;
|
||||
case 31:
|
||||
case 32:
|
||||
case 33:
|
||||
case 34:
|
||||
case 35:
|
||||
case 36:
|
||||
case 37:
|
||||
case 38:
|
||||
case 39:
|
||||
case 40:
|
||||
mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), mpOfs[i]->getColor());
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false);
|
||||
break;
|
||||
case 41:
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false);
|
||||
break;
|
||||
case 44:
|
||||
mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255));
|
||||
mpPane[type]->draw(2.0f + posX, 2.0f + ((posY + -3.0f) - 4.0f), sizeX, sizeY * 1.25f, false, false, false);
|
||||
|
||||
mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), mpOfs[i]->getColor());
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false);
|
||||
break;
|
||||
case 45:
|
||||
mpPane[type]->draw(posX, (posY + -3.0f) - 4.0f, sizeX, sizeY * 1.25f, false, false, false);
|
||||
break;
|
||||
case 46:
|
||||
case 47:
|
||||
case 55:
|
||||
case 56:
|
||||
case 57:
|
||||
case 58:
|
||||
case 61:
|
||||
case 69:
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false);
|
||||
break;
|
||||
case 49:
|
||||
case 50:
|
||||
case 65:
|
||||
case 66:
|
||||
case 67:
|
||||
case 68:
|
||||
if (sp256[type] == field_0x1b4[type]) {
|
||||
field_0x1b4[type]++;
|
||||
|
||||
if (field_0x1b4[type] >= 40) {
|
||||
field_0x1b4[type] = 0;
|
||||
}
|
||||
setBlendAnime(mpPane[type], field_0x1b4[type]);
|
||||
}
|
||||
|
||||
mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255));
|
||||
mpPane[type]->draw(2.0f + posX, 2.0f + posY, sizeX, sizeY, false, false, false);
|
||||
|
||||
mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(255, 255, 255, 255));
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false);
|
||||
break;
|
||||
case 48:
|
||||
case 59:
|
||||
case 60:
|
||||
if (sp256[type] == field_0x1b4[type]) {
|
||||
field_0x1b4[type]++;
|
||||
|
||||
if (field_0x1b4[type] >= 40) {
|
||||
field_0x1b4[type] = 0;
|
||||
}
|
||||
setBlendAnime(mpPane[type], field_0x1b4[type]);
|
||||
}
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false);
|
||||
break;
|
||||
case 62:
|
||||
if (sp256[type] == field_0x1b4[type]) {
|
||||
field_0x1b4[type]++;
|
||||
|
||||
if (field_0x1b4[type] >= 10) {
|
||||
field_0x1b4[type] = 0;
|
||||
}
|
||||
|
||||
if (field_0x1b4[type] < 5) {
|
||||
mpPane[type]->setBlendRatio(1.0f, 0.0f);
|
||||
} else {
|
||||
mpPane[type]->setBlendRatio(0.0f, 1.0f);
|
||||
}
|
||||
}
|
||||
|
||||
mpPane[type]->draw(posX, -3.0f + posY, sizeX, 1.25f * sizeY, false, false, false);
|
||||
break;
|
||||
default:
|
||||
JUtility::TColor black = mpPane[type]->getBlack();
|
||||
JUtility::TColor white = mpPane[type]->getWhite();
|
||||
|
||||
mpPane[type]->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255));
|
||||
mpPane[type]->draw(2.0f + posX, 2.0f + posY, sizeX, sizeY, false, false, false);
|
||||
|
||||
mpPane[type]->setBlackWhite(black, white);
|
||||
mpPane[type]->draw(posX, posY, sizeX, sizeY, false, false, false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -568,17 +772,20 @@ asm void COutFont_c::draw(J2DTextBox* param_0, f32 param_1, f32 param_2, f32 par
|
||||
#include "asm/d/msg/d_msg_out_font/draw__10COutFont_cFP10J2DTextBoxfff.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80228448-80228490 222D88 0048+00 1/0 0/0 0/0 .text reset__10COutFont_cFP10J2DTextBox
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void COutFont_c::reset(J2DTextBox* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_out_font/reset__10COutFont_cFP10J2DTextBox.s"
|
||||
void COutFont_c::reset(J2DTextBox* p_textBox) {
|
||||
if (p_textBox != NULL) {
|
||||
for (int i = 0; i < 35; i++) {
|
||||
if (p_textBox == mpOfs[i]->getTextBoxPtr()) {
|
||||
mpOfs[i]->setTextBoxPtr(NULL);
|
||||
mpOfs[i]->resetType();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80228490-80228530 222DD0 00A0+00 1/1 0/0 0/0 .text setBlendAnime__10COutFont_cFP10J2DPictures
|
||||
*/
|
||||
@@ -592,13 +799,85 @@ asm void COutFont_c::setBlendAnime(J2DPicture* param_0, s16 param_1) {
|
||||
#pragma pop
|
||||
|
||||
/* 80228530-80228578 222E70 0048+00 1/1 0/0 0/0 .text getBtiName__10COutFont_cFi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void COutFont_c::getBtiName(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/msg/d_msg_out_font/getBtiName__10COutFont_cFi.s"
|
||||
const char* COutFont_c::getBtiName(int nameIdx) {
|
||||
static char* mpIconName[70] = {
|
||||
"font_00.bti",
|
||||
"font_01.bti",
|
||||
"font_09.bti",
|
||||
"font_04.bti",
|
||||
"font_05.bti",
|
||||
"font_02.bti",
|
||||
"font_03.bti",
|
||||
"font_06.bti",
|
||||
"font_08.bti",
|
||||
"font_07_01.bti",
|
||||
"font_10.bti",
|
||||
"font_10.bti",
|
||||
"font_10.bti",
|
||||
"font_10.bti",
|
||||
"font_07_01.bti",
|
||||
"font_07_01.bti",
|
||||
"font_07_01.bti",
|
||||
"font_07_01.bti",
|
||||
"font_07_01.bti",
|
||||
"font_07_01.bti",
|
||||
"font_15.bti",
|
||||
"font_15.bti",
|
||||
"font_15.bti",
|
||||
"font_12.bti",
|
||||
"font_15.bti",
|
||||
"im_map_icon_portal_4ia_40_05.bti",
|
||||
"font_16_backlight.bti",
|
||||
"font_13.bti",
|
||||
"font_14.bti",
|
||||
"font_10.bti",
|
||||
"im_zelda_item_icon_rupy_13.bti",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"st_bompoach_lv1.bti",
|
||||
"font_46.bti",
|
||||
"font_47.bti",
|
||||
"font_35.bti",
|
||||
"font_36.bti",
|
||||
"font_19.bti",
|
||||
"font_20.bti",
|
||||
"font_19.bti",
|
||||
"font_22.bti",
|
||||
"font_23.bti",
|
||||
"font_24.bti",
|
||||
"font_25.bti",
|
||||
"font_40.bti",
|
||||
"font_39.bti",
|
||||
"font_29.bti",
|
||||
"font_28.bti",
|
||||
"font_30.bti",
|
||||
"font_31.bti",
|
||||
"font_29.bti",
|
||||
"font_28.bti",
|
||||
"font_32.bti",
|
||||
"font_33.bti",
|
||||
"font_41.bti",
|
||||
"font_42.bti",
|
||||
"font_50.bti",
|
||||
"font_49.bti",
|
||||
"font_51.bti",
|
||||
"font_52.bti",
|
||||
"font_53.bti",
|
||||
};
|
||||
|
||||
if (nameIdx >= 31 && nameIdx <= 40) {
|
||||
return dMeter2Info_getNumberTextureName(nameIdx - 31);
|
||||
}
|
||||
|
||||
return mpIconName[nameIdx];
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80399350-80399350 0259B0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
@@ -7,41 +7,6 @@
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct J2DTextBox {};
|
||||
|
||||
struct JUTFont {};
|
||||
|
||||
struct COutFont_c {
|
||||
/* 80225C94 */ COutFont_c(u8);
|
||||
};
|
||||
|
||||
struct dMsgString_c {
|
||||
/* 80191B6C */ void getString(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, u8);
|
||||
/* 801E1D10 */ void getStringPage(u32, u8, u8, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*,
|
||||
u8);
|
||||
/* 80249C20 */ dMsgString_c();
|
||||
/* 80249CA0 */ dMsgString_c(u8);
|
||||
/* 80249D28 */ ~dMsgString_c();
|
||||
/* 80249DB4 */ void resetStringLocal(J2DTextBox*);
|
||||
/* 80249DE4 */ void drawOutFontLocal(J2DTextBox*, f32);
|
||||
/* 80249ED0 */ void drawFontLocal(J2DTextBox*, u8, f32, f32, f32, f32, u32, u8);
|
||||
};
|
||||
|
||||
struct dMsgStringBase_c {
|
||||
/* 802493B4 */ dMsgStringBase_c();
|
||||
/* 80249528 */ ~dMsgStringBase_c();
|
||||
/* 80249700 */ void getResource();
|
||||
/* 80249BF8 */ void getMessage(u32, char*);
|
||||
};
|
||||
|
||||
struct J2DPane {
|
||||
/* 802F79A8 */ void getGlbVtx(u8) const;
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
@@ -16,10 +16,6 @@ struct jmessage_string_tControl {
|
||||
/* 8022FB5C */ jmessage_string_tControl();
|
||||
};
|
||||
|
||||
struct J2DTextBox {};
|
||||
|
||||
struct JUTFont {};
|
||||
|
||||
struct COutFont_c {};
|
||||
|
||||
struct jmessage_string_tReference {
|
||||
@@ -37,49 +33,6 @@ struct jmessage_string_tRenderingProcessor {
|
||||
/* 80230BC8 */ jmessage_string_tRenderingProcessor(jmessage_string_tReference const*);
|
||||
};
|
||||
|
||||
struct dMsgStringBase_c {
|
||||
/* 802493B4 */ dMsgStringBase_c();
|
||||
/* 80249528 */ ~dMsgStringBase_c();
|
||||
/* 80249700 */ void getResource();
|
||||
/* 80249768 */ void getStringLocal(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, u8);
|
||||
/* 802498D8 */ void getStringPageLocal(u32, u8, u8, J2DTextBox*, J2DTextBox*, JUTFont*,
|
||||
COutFont_c*, u8);
|
||||
/* 80249A48 */ void getPageMax(int);
|
||||
/* 80249A70 */ void getMessageLocal(u32, char*);
|
||||
/* 80249BAC */ void drawFontLocal(J2DTextBox*, u8, f32, f32, f32, f32, u32, u8);
|
||||
/* 80249BB0 */ void getString(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, u8);
|
||||
/* 80249BD0 */ void getStringPage(u32, u8, u8, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*,
|
||||
u8);
|
||||
/* 80249BF8 */ void getMessage(u32, char*);
|
||||
/* 80249C18 */ void resetStringLocal(J2DTextBox*);
|
||||
/* 80249C1C */ void drawOutFontLocal(J2DTextBox*, f32);
|
||||
};
|
||||
|
||||
struct JMessage {
|
||||
struct TControl {
|
||||
/* 802A75D4 */ void reset();
|
||||
/* 802A7634 */ void update();
|
||||
/* 802A76BC */ void render();
|
||||
/* 802A78F4 */ void setMessageID(u32, u32, bool*);
|
||||
};
|
||||
|
||||
struct TResourceContainer {
|
||||
struct TCResource {
|
||||
/* 802A8EF8 */ ~TCResource();
|
||||
};
|
||||
|
||||
/* 802A906C */ TResourceContainer();
|
||||
};
|
||||
|
||||
struct TParse {
|
||||
/* 802A9130 */ TParse(JMessage::TResourceContainer*);
|
||||
};
|
||||
};
|
||||
|
||||
struct JKRArchive {
|
||||
/* 802D5B38 */ void getGlbResource(u32, char const*, JKRArchive*);
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
@@ -135,9 +88,6 @@ extern "C" void _restgpr_23();
|
||||
extern "C" void _restgpr_25();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" void strcpy();
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 g_meter2_info[248];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
|
||||
Reference in New Issue
Block a user