mirror of
https://github.com/zeldaret/tp
synced 2026-07-09 14:55:32 -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:
+108
-279
@@ -6,325 +6,154 @@
|
||||
#include "msg/scrn/d_msg_scrn_base.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct dMsgScrnBase_c {
|
||||
/* 80238C3C */ void exec();
|
||||
/* 80238C40 */ void setSelectRubyString(char*, char*, char*);
|
||||
/* 80238C44 */ void setSelectString(char*, char*, char*);
|
||||
/* 80238C48 */ bool selectAnimeMove(u8, u8, bool);
|
||||
/* 80238C50 */ void selectAnimeInit(u8, u8, f32, u8);
|
||||
/* 80238C54 */ void arwAnimeMove();
|
||||
/* 80238C58 */ void arwAnimeInit();
|
||||
/* 80238C5C */ void fukiPosCalc(u8);
|
||||
/* 80238C60 */ bool isSelect();
|
||||
/* 80238C68 */ bool selectAnimeEnd();
|
||||
/* 80238C70 */ void dotAnimeMove();
|
||||
/* 80238C74 */ void dotAnimeInit();
|
||||
/* 8023C0DC */ dMsgScrnBase_c();
|
||||
/* 8023C124 */ ~dMsgScrnBase_c();
|
||||
/* 8023C16C */ void init();
|
||||
/* 8023C234 */ void multiDraw();
|
||||
/* 8023C274 */ void draw();
|
||||
/* 8023C300 */ void drawSelf();
|
||||
/* 8023C32C */ void drawOutFont(f32, f32, f32);
|
||||
/* 8023C360 */ void setString(char*, char*);
|
||||
/* 8023C3EC */ void setRubyString(char*);
|
||||
/* 8023C458 */ void fukiScale(f32);
|
||||
/* 8023C480 */ void fukiTrans(f32, f32);
|
||||
/* 8023C4A4 */ void fukiAlpha(f32);
|
||||
/* 8023C4F4 */ void fontAlpha(f32);
|
||||
/* 8023C574 */ void isTalkNow();
|
||||
};
|
||||
|
||||
struct dMsgObject_c {
|
||||
/* 8023822C */ void getStatus();
|
||||
};
|
||||
|
||||
struct dDlst_base_c {};
|
||||
|
||||
struct dDlst_list_c {
|
||||
/* 80056794 */ void set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*);
|
||||
};
|
||||
|
||||
struct J2DTextBox {
|
||||
/* 80300658 */ void getStringPtr() const;
|
||||
};
|
||||
|
||||
struct J2DGrafContext {};
|
||||
|
||||
struct J2DScreen {
|
||||
/* 802F8ED4 */ void draw(f32, f32, J2DGrafContext const*);
|
||||
};
|
||||
|
||||
struct CPaneMgrAlpha {
|
||||
/* 802557D0 */ void setAlphaRate(f32);
|
||||
};
|
||||
|
||||
struct CPaneMgr {
|
||||
/* 802545B0 */ void paneTrans(f32, f32);
|
||||
/* 80254638 */ void paneScale(f32, f32);
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__14dMsgScrnBase_cFv();
|
||||
extern "C" void __dt__14dMsgScrnBase_cFv();
|
||||
extern "C" void init__14dMsgScrnBase_cFv();
|
||||
extern "C" void multiDraw__14dMsgScrnBase_cFv();
|
||||
extern "C" void draw__14dMsgScrnBase_cFv();
|
||||
extern "C" void drawSelf__14dMsgScrnBase_cFv();
|
||||
extern "C" void drawOutFont__14dMsgScrnBase_cFfff();
|
||||
extern "C" void setString__14dMsgScrnBase_cFPcPc();
|
||||
extern "C" void setRubyString__14dMsgScrnBase_cFPc();
|
||||
extern "C" void fukiScale__14dMsgScrnBase_cFf();
|
||||
extern "C" void fukiTrans__14dMsgScrnBase_cFff();
|
||||
extern "C" void fukiAlpha__14dMsgScrnBase_cFf();
|
||||
extern "C" void fontAlpha__14dMsgScrnBase_cFf();
|
||||
extern "C" void isTalkNow__14dMsgScrnBase_cFv();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c();
|
||||
extern "C" void getStatus__12dMsgObject_cFv();
|
||||
extern "C" void exec__14dMsgScrnBase_cFv();
|
||||
extern "C" void setSelectRubyString__14dMsgScrnBase_cFPcPcPc();
|
||||
extern "C" void setSelectString__14dMsgScrnBase_cFPcPcPc();
|
||||
extern "C" bool selectAnimeMove__14dMsgScrnBase_cFUcUcb();
|
||||
extern "C" void selectAnimeInit__14dMsgScrnBase_cFUcUcfUc();
|
||||
extern "C" void arwAnimeMove__14dMsgScrnBase_cFv();
|
||||
extern "C" void arwAnimeInit__14dMsgScrnBase_cFv();
|
||||
extern "C" void fukiPosCalc__14dMsgScrnBase_cFUc();
|
||||
extern "C" bool isSelect__14dMsgScrnBase_cFv();
|
||||
extern "C" bool selectAnimeEnd__14dMsgScrnBase_cFv();
|
||||
extern "C" void dotAnimeMove__14dMsgScrnBase_cFv();
|
||||
extern "C" void dotAnimeInit__14dMsgScrnBase_cFv();
|
||||
extern "C" void paneTrans__8CPaneMgrFff();
|
||||
extern "C" void paneScale__8CPaneMgrFff();
|
||||
extern "C" void setAlphaRate__13CPaneMgrAlphaFf();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void draw__9J2DScreenFffPC14J2DGrafContext();
|
||||
extern "C" void getStringPtr__10J2DTextBoxCFv();
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void strcpy();
|
||||
extern "C" extern void* __vt__12dDlst_base_c[3];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803C0D08-803C0D58 -00001 0050+00 1/1 0/0 0/0 .data @3949 */
|
||||
SECTION_DATA static void* lit_3949[20] = {
|
||||
(void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x38),
|
||||
(void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x38),
|
||||
(void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x38),
|
||||
(void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x38),
|
||||
(void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x38),
|
||||
(void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x40),
|
||||
(void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x40),
|
||||
(void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x40),
|
||||
(void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x40),
|
||||
(void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x40),
|
||||
(void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x38),
|
||||
(void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x38),
|
||||
(void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x40),
|
||||
(void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x40),
|
||||
(void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x40),
|
||||
(void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x38),
|
||||
(void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x40),
|
||||
(void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x40),
|
||||
(void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x40),
|
||||
(void*)(((char*)isTalkNow__14dMsgScrnBase_cFv) + 0x38),
|
||||
};
|
||||
|
||||
/* 803C0D58-803C0DB0 01DE78 0058+00 2/2 0/0 0/0 .data __vt__14dMsgScrnBase_c */
|
||||
SECTION_DATA extern void* __vt__14dMsgScrnBase_c[22] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)draw__14dMsgScrnBase_cFv,
|
||||
(void*)__dt__14dMsgScrnBase_cFv,
|
||||
(void*)exec__14dMsgScrnBase_cFv,
|
||||
(void*)multiDraw__14dMsgScrnBase_cFv,
|
||||
(void*)drawSelf__14dMsgScrnBase_cFv,
|
||||
(void*)setSelectString__14dMsgScrnBase_cFPcPcPc,
|
||||
(void*)setSelectRubyString__14dMsgScrnBase_cFPcPcPc,
|
||||
(void*)arwAnimeInit__14dMsgScrnBase_cFv,
|
||||
(void*)arwAnimeMove__14dMsgScrnBase_cFv,
|
||||
(void*)dotAnimeInit__14dMsgScrnBase_cFv,
|
||||
(void*)dotAnimeMove__14dMsgScrnBase_cFv,
|
||||
(void*)isSelect__14dMsgScrnBase_cFv,
|
||||
(void*)selectAnimeInit__14dMsgScrnBase_cFUcUcfUc,
|
||||
(void*)selectAnimeMove__14dMsgScrnBase_cFUcUcb,
|
||||
(void*)selectAnimeEnd__14dMsgScrnBase_cFv,
|
||||
(void*)fukiScale__14dMsgScrnBase_cFf,
|
||||
(void*)fukiTrans__14dMsgScrnBase_cFff,
|
||||
(void*)fukiAlpha__14dMsgScrnBase_cFf,
|
||||
(void*)fontAlpha__14dMsgScrnBase_cFf,
|
||||
(void*)fukiPosCalc__14dMsgScrnBase_cFUc,
|
||||
};
|
||||
#include "d/msg/d_msg_object.h"
|
||||
|
||||
/* 8023C0DC-8023C124 236A1C 0048+00 0/0 9/9 0/0 .text __ct__14dMsgScrnBase_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dMsgScrnBase_c::dMsgScrnBase_c() {
|
||||
nofralloc
|
||||
#include "asm/msg/scrn/d_msg_scrn_base/__ct__14dMsgScrnBase_cFv.s"
|
||||
dMsgScrnBase_c::dMsgScrnBase_c() {
|
||||
init();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8023C124-8023C16C 236A64 0048+00 1/0 9/9 0/0 .text __dt__14dMsgScrnBase_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dMsgScrnBase_c::~dMsgScrnBase_c() {
|
||||
nofralloc
|
||||
#include "asm/msg/scrn/d_msg_scrn_base/__dt__14dMsgScrnBase_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80454BA8-80454BAC 0031A8 0004+00 3/3 0/0 0/0 .sdata2 @3820 */
|
||||
SECTION_SDATA2 static u8 lit_3820[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
|
||||
/* 80454BAC-80454BB0 0031AC 0004+00 2/2 0/0 0/0 .sdata2 @3821 */
|
||||
SECTION_SDATA2 static f32 lit_3821 = 1.0f;
|
||||
dMsgScrnBase_c::~dMsgScrnBase_c() {}
|
||||
|
||||
/* 8023C16C-8023C234 236AAC 00C8+00 1/1 9/9 0/0 .text init__14dMsgScrnBase_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgScrnBase_c::init() {
|
||||
nofralloc
|
||||
#include "asm/msg/scrn/d_msg_scrn_base/init__14dMsgScrnBase_cFv.s"
|
||||
void dMsgScrnBase_c::init() {
|
||||
mpScreen = NULL;
|
||||
mpPmp_c = NULL;
|
||||
field_0x54 = 0;
|
||||
|
||||
for (int i = 0; i < 7; i++) {
|
||||
mpTm_c[i] = NULL;
|
||||
mpTmr_c[i] = NULL;
|
||||
}
|
||||
|
||||
mpOutFont = NULL;
|
||||
field_0x48 = NULL;
|
||||
field_0x4c = 0;
|
||||
mCharInfoPtr = NULL;
|
||||
|
||||
mFontSize.mSizeY = 0.0f;
|
||||
mFontSize.mSizeX = 0.0f;
|
||||
mRubySize = 0.0f;
|
||||
mTextBoxPosX = 0.0f;
|
||||
mTextBoxPosY = 0.0f;
|
||||
mTextBoxScaleX = 1.0f;
|
||||
mTextBoxScaleY = 1.0f;
|
||||
mTBoxWidth = 0.0f;
|
||||
mTBoxHeight = 0.0f;
|
||||
mLineSpace = 0.0f;
|
||||
mCharSpace = 0.0f;
|
||||
mRubyCharSpace = 0.0f;
|
||||
mSelFontSize = 0.0f;
|
||||
mSelRubySize = 0.0f;
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
mSelTextBoxPosX[i] = 0.0f;
|
||||
mSelTextBoxPosY[i] = 0.0f;
|
||||
}
|
||||
|
||||
mSelTBoxWidth = 0.0f;
|
||||
mSelCharSpace = 0.0f;
|
||||
mSelRubyCharSpace = 0.0f;
|
||||
mTextBoxPosOffsetY = 0.0f;
|
||||
field_0xb8 = 0.0f;
|
||||
mCharAlphaRate = 1.0f;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8023C234-8023C274 236B74 0040+00 1/0 9/0 0/0 .text multiDraw__14dMsgScrnBase_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgScrnBase_c::multiDraw() {
|
||||
nofralloc
|
||||
#include "asm/msg/scrn/d_msg_scrn_base/multiDraw__14dMsgScrnBase_cFv.s"
|
||||
void dMsgScrnBase_c::multiDraw() {
|
||||
if (field_0x48 != NULL) {
|
||||
dComIfGd_set2DOpa(field_0x48);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8023C274-8023C300 236BB4 008C+00 1/0 7/0 0/0 .text draw__14dMsgScrnBase_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgScrnBase_c::draw() {
|
||||
nofralloc
|
||||
#include "asm/msg/scrn/d_msg_scrn_base/draw__14dMsgScrnBase_cFv.s"
|
||||
void dMsgScrnBase_c::draw() {
|
||||
J2DGrafContext* ctx = dComIfGp_getCurrentGrafPort();
|
||||
|
||||
ctx->setup2D();
|
||||
mpScreen->draw(0.0f, 0.0f, ctx);
|
||||
drawSelf();
|
||||
ctx->setup2D();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8023C300-8023C32C 236C40 002C+00 1/0 2/0 0/0 .text drawSelf__14dMsgScrnBase_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgScrnBase_c::drawSelf() {
|
||||
nofralloc
|
||||
#include "asm/msg/scrn/d_msg_scrn_base/drawSelf__14dMsgScrnBase_cFv.s"
|
||||
void dMsgScrnBase_c::drawSelf() {
|
||||
drawOutFont(0.0f, 0.0f, 1.0f);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8023C32C-8023C360 236C6C 0034+00 1/1 6/6 0/0 .text drawOutFont__14dMsgScrnBase_cFfff
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgScrnBase_c::drawOutFont(f32 param_0, f32 param_1, f32 param_2) {
|
||||
nofralloc
|
||||
#include "asm/msg/scrn/d_msg_scrn_base/drawOutFont__14dMsgScrnBase_cFfff.s"
|
||||
void dMsgScrnBase_c::drawOutFont(f32 param_0, f32 param_1, f32 param_2) {
|
||||
mpOutFont->draw(NULL, param_0, param_1, param_2);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8023C360-8023C3EC 236CA0 008C+00 0/0 2/2 0/0 .text setString__14dMsgScrnBase_cFPcPc */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgScrnBase_c::setString(char* param_0, char* param_1) {
|
||||
nofralloc
|
||||
#include "asm/msg/scrn/d_msg_scrn_base/setString__14dMsgScrnBase_cFPcPc.s"
|
||||
void dMsgScrnBase_c::setString(char* str1, char* str2) {
|
||||
for (int i = 0; i < 7; i++) {
|
||||
if (mpTm_c[i] != NULL) {
|
||||
if (i == 0) {
|
||||
strcpy(((J2DTextBox*)mpTm_c[i]->getPanePtr())->getStringPtr(), str1);
|
||||
} else {
|
||||
strcpy(((J2DTextBox*)mpTm_c[i]->getPanePtr())->getStringPtr(), str2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8023C3EC-8023C458 236D2C 006C+00 0/0 2/2 0/0 .text setRubyString__14dMsgScrnBase_cFPc
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgScrnBase_c::setRubyString(char* param_0) {
|
||||
nofralloc
|
||||
#include "asm/msg/scrn/d_msg_scrn_base/setRubyString__14dMsgScrnBase_cFPc.s"
|
||||
void dMsgScrnBase_c::setRubyString(char* str) {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (mpTmr_c[i] != NULL) {
|
||||
strcpy(((J2DTextBox*)mpTmr_c[i]->getPanePtr())->getStringPtr(), str);
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8023C458-8023C480 236D98 0028+00 1/0 0/0 0/0 .text fukiScale__14dMsgScrnBase_cFf */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgScrnBase_c::fukiScale(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/msg/scrn/d_msg_scrn_base/fukiScale__14dMsgScrnBase_cFf.s"
|
||||
void dMsgScrnBase_c::fukiScale(f32 scale) {
|
||||
mpPmp_c->paneScale(scale, scale);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8023C480-8023C4A4 236DC0 0024+00 1/0 0/0 0/0 .text fukiTrans__14dMsgScrnBase_cFff */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgScrnBase_c::fukiTrans(f32 param_0, f32 param_1) {
|
||||
nofralloc
|
||||
#include "asm/msg/scrn/d_msg_scrn_base/fukiTrans__14dMsgScrnBase_cFff.s"
|
||||
void dMsgScrnBase_c::fukiTrans(f32 posX, f32 posY) {
|
||||
mpPmp_c->paneTrans(posX, posY);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8023C4A4-8023C4F4 236DE4 0050+00 1/0 0/0 0/0 .text fukiAlpha__14dMsgScrnBase_cFf */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgScrnBase_c::fukiAlpha(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/msg/scrn/d_msg_scrn_base/fukiAlpha__14dMsgScrnBase_cFf.s"
|
||||
void dMsgScrnBase_c::fukiAlpha(f32 alpha) {
|
||||
fontAlpha(alpha);
|
||||
mpPmp_c->setAlphaRate(alpha);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8023C4F4-8023C574 236E34 0080+00 1/0 5/0 0/0 .text fontAlpha__14dMsgScrnBase_cFf */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgScrnBase_c::fontAlpha(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/msg/scrn/d_msg_scrn_base/fontAlpha__14dMsgScrnBase_cFf.s"
|
||||
void dMsgScrnBase_c::fontAlpha(f32 alpha) {
|
||||
for (int i = 0; i < 7; i++) {
|
||||
if (mpTm_c[i] != NULL) {
|
||||
mpTm_c[i]->setAlphaRate(alpha);
|
||||
}
|
||||
|
||||
if (mpTmr_c[i] != NULL) {
|
||||
mpTmr_c[i]->setAlphaRate(alpha);
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8023C574-8023C5C8 236EB4 0054+00 1/0 8/8 0/0 .text isTalkNow__14dMsgScrnBase_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgScrnBase_c::isTalkNow() {
|
||||
nofralloc
|
||||
#include "asm/msg/scrn/d_msg_scrn_base/isTalkNow__14dMsgScrnBase_cFv.s"
|
||||
bool dMsgScrnBase_c::isTalkNow() {
|
||||
switch (dMsgObject_c::getStatus()) {
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
case 15:
|
||||
case 16:
|
||||
case 20:
|
||||
case 24:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
@@ -4,246 +4,131 @@
|
||||
//
|
||||
|
||||
#include "msg/scrn/d_msg_scrn_boss.h"
|
||||
#include "d/msg/d_msg_object.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct dMsgScrnBoss_c {
|
||||
/* 8023C5C8 */ dMsgScrnBoss_c();
|
||||
/* 8023C928 */ ~dMsgScrnBoss_c();
|
||||
/* 8023CA88 */ void exec();
|
||||
/* 8023CB98 */ void drawSelf();
|
||||
/* 8023CBF0 */ void fukiAlpha(f32);
|
||||
/* 8023CC7C */ void fukiScale(f32);
|
||||
/* 8023CC80 */ void fukiTrans(f32, f32);
|
||||
/* 8023CC84 */ void fontAlpha(f32);
|
||||
};
|
||||
|
||||
struct dMsgScrnBase_c {
|
||||
/* 80238C40 */ void setSelectRubyString(char*, char*, char*);
|
||||
/* 80238C44 */ void setSelectString(char*, char*, char*);
|
||||
/* 80238C48 */ bool selectAnimeMove(u8, u8, bool);
|
||||
/* 80238C50 */ void selectAnimeInit(u8, u8, f32, u8);
|
||||
/* 80238C54 */ void arwAnimeMove();
|
||||
/* 80238C58 */ void arwAnimeInit();
|
||||
/* 80238C5C */ void fukiPosCalc(u8);
|
||||
/* 80238C60 */ bool isSelect();
|
||||
/* 80238C68 */ bool selectAnimeEnd();
|
||||
/* 80238C70 */ void dotAnimeMove();
|
||||
/* 80238C74 */ void dotAnimeInit();
|
||||
/* 8023C0DC */ dMsgScrnBase_c();
|
||||
/* 8023C124 */ ~dMsgScrnBase_c();
|
||||
/* 8023C16C */ void init();
|
||||
/* 8023C234 */ void multiDraw();
|
||||
/* 8023C274 */ void draw();
|
||||
/* 8023C32C */ void drawOutFont(f32, f32, f32);
|
||||
/* 8023C574 */ void isTalkNow();
|
||||
};
|
||||
|
||||
struct JKRExpHeap {};
|
||||
|
||||
struct JKRArchive {};
|
||||
|
||||
struct J2DTextBox {
|
||||
/* 8030074C */ void setString(s16, char const*, ...);
|
||||
};
|
||||
|
||||
struct J2DScreen {
|
||||
/* 802F8498 */ J2DScreen();
|
||||
/* 802F8648 */ void setPriority(char const*, u32, JKRArchive*);
|
||||
};
|
||||
|
||||
struct CPaneMgrAlpha {
|
||||
/* 802557D0 */ void setAlphaRate(f32);
|
||||
};
|
||||
|
||||
struct CPaneMgr {
|
||||
/* 80253984 */ CPaneMgr(J2DScreen*, u64, u8, JKRExpHeap*);
|
||||
/* 802542E8 */ void getGlobalPosX();
|
||||
/* 80254364 */ void getGlobalPosY();
|
||||
/* 802545B0 */ void paneTrans(f32, f32);
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__14dMsgScrnBoss_cFv();
|
||||
extern "C" void __dt__14dMsgScrnBoss_cFv();
|
||||
extern "C" void exec__14dMsgScrnBoss_cFv();
|
||||
extern "C" void drawSelf__14dMsgScrnBoss_cFv();
|
||||
extern "C" void fukiAlpha__14dMsgScrnBoss_cFf();
|
||||
extern "C" void fukiScale__14dMsgScrnBoss_cFf();
|
||||
extern "C" void fukiTrans__14dMsgScrnBoss_cFff();
|
||||
extern "C" void fontAlpha__14dMsgScrnBoss_cFf();
|
||||
extern "C" extern char const* const msg_scrn_d_msg_scrn_boss__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoExt_getRubyFont__Fv();
|
||||
extern "C" void setSelectRubyString__14dMsgScrnBase_cFPcPcPc();
|
||||
extern "C" void setSelectString__14dMsgScrnBase_cFPcPcPc();
|
||||
extern "C" bool selectAnimeMove__14dMsgScrnBase_cFUcUcb();
|
||||
extern "C" void selectAnimeInit__14dMsgScrnBase_cFUcUcfUc();
|
||||
extern "C" void arwAnimeMove__14dMsgScrnBase_cFv();
|
||||
extern "C" void arwAnimeInit__14dMsgScrnBase_cFv();
|
||||
extern "C" void fukiPosCalc__14dMsgScrnBase_cFUc();
|
||||
extern "C" bool isSelect__14dMsgScrnBase_cFv();
|
||||
extern "C" bool selectAnimeEnd__14dMsgScrnBase_cFv();
|
||||
extern "C" void dotAnimeMove__14dMsgScrnBase_cFv();
|
||||
extern "C" void dotAnimeInit__14dMsgScrnBase_cFv();
|
||||
extern "C" void __ct__14dMsgScrnBase_cFv();
|
||||
extern "C" void __dt__14dMsgScrnBase_cFv();
|
||||
extern "C" void init__14dMsgScrnBase_cFv();
|
||||
extern "C" void multiDraw__14dMsgScrnBase_cFv();
|
||||
extern "C" void draw__14dMsgScrnBase_cFv();
|
||||
extern "C" void drawOutFont__14dMsgScrnBase_cFfff();
|
||||
extern "C" void isTalkNow__14dMsgScrnBase_cFv();
|
||||
extern "C" void __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap();
|
||||
extern "C" void getGlobalPosX__8CPaneMgrFv();
|
||||
extern "C" void getGlobalPosY__8CPaneMgrFv();
|
||||
extern "C" void paneTrans__8CPaneMgrFff();
|
||||
extern "C" void dPaneClass_showNullPane__FP9J2DScreen();
|
||||
extern "C" void setAlphaRate__13CPaneMgrAlphaFf();
|
||||
extern "C" void* __nw__FUl();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void __ct__9J2DScreenFv();
|
||||
extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive();
|
||||
extern "C" void setString__10J2DTextBoxFsPCce();
|
||||
extern "C" void _savegpr_26();
|
||||
extern "C" void _savegpr_29();
|
||||
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:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803998F8-803998F8 025F58 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_803998F8 = "zelda_boss_name.blo";
|
||||
SECTION_DEAD static char const* const stringBase_8039990C = "";
|
||||
/* @stringBase0 padding */
|
||||
SECTION_DEAD static char const* const pad_8039990D = "\0\0";
|
||||
#pragma pop
|
||||
|
||||
/* 803C0DB0-803C0DE8 01DED0 0038+00 1/1 0/0 0/0 .data t_tag$3759 */
|
||||
SECTION_DATA static u8 t_tag[56] = {
|
||||
0x00, 0x73, 0x66, 0x6F, 0x6E, 0x74, 0x62, 0x30, 0x00, 0x73, 0x66, 0x6F, 0x6E, 0x74,
|
||||
0x62, 0x31, 0x00, 0x73, 0x66, 0x6F, 0x6E, 0x74, 0x62, 0x32, 0x00, 0x73, 0x66, 0x6F,
|
||||
0x6E, 0x74, 0x6C, 0x30, 0x00, 0x73, 0x66, 0x6F, 0x6E, 0x74, 0x6C, 0x31, 0x00, 0x73,
|
||||
0x66, 0x6F, 0x6E, 0x74, 0x6C, 0x32, 0x00, 0x73, 0x66, 0x6F, 0x6E, 0x74, 0x30, 0x30,
|
||||
};
|
||||
|
||||
/* 803C0DE8-803C0E40 01DF08 0058+00 2/2 0/0 0/0 .data __vt__14dMsgScrnBoss_c */
|
||||
SECTION_DATA extern void* __vt__14dMsgScrnBoss_c[22] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)draw__14dMsgScrnBase_cFv,
|
||||
(void*)__dt__14dMsgScrnBoss_cFv,
|
||||
(void*)exec__14dMsgScrnBoss_cFv,
|
||||
(void*)multiDraw__14dMsgScrnBase_cFv,
|
||||
(void*)drawSelf__14dMsgScrnBoss_cFv,
|
||||
(void*)setSelectString__14dMsgScrnBase_cFPcPcPc,
|
||||
(void*)setSelectRubyString__14dMsgScrnBase_cFPcPcPc,
|
||||
(void*)arwAnimeInit__14dMsgScrnBase_cFv,
|
||||
(void*)arwAnimeMove__14dMsgScrnBase_cFv,
|
||||
(void*)dotAnimeInit__14dMsgScrnBase_cFv,
|
||||
(void*)dotAnimeMove__14dMsgScrnBase_cFv,
|
||||
(void*)isSelect__14dMsgScrnBase_cFv,
|
||||
(void*)selectAnimeInit__14dMsgScrnBase_cFUcUcfUc,
|
||||
(void*)selectAnimeMove__14dMsgScrnBase_cFUcUcb,
|
||||
(void*)selectAnimeEnd__14dMsgScrnBase_cFv,
|
||||
(void*)fukiScale__14dMsgScrnBoss_cFf,
|
||||
(void*)fukiTrans__14dMsgScrnBoss_cFff,
|
||||
(void*)fukiAlpha__14dMsgScrnBoss_cFf,
|
||||
(void*)fontAlpha__14dMsgScrnBoss_cFf,
|
||||
(void*)fukiPosCalc__14dMsgScrnBase_cFUc,
|
||||
};
|
||||
|
||||
/* 80454BB0-80454BB4 0031B0 0004+00 3/3 0/0 0/0 .sdata2 @3854 */
|
||||
SECTION_SDATA2 static f32 lit_3854 = 1.0f;
|
||||
|
||||
/* 8023C5C8-8023C928 236F08 0360+00 0/0 1/1 0/0 .text __ct__14dMsgScrnBoss_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dMsgScrnBoss_c::dMsgScrnBoss_c() {
|
||||
nofralloc
|
||||
#include "asm/msg/scrn/d_msg_scrn_boss/__ct__14dMsgScrnBoss_cFv.s"
|
||||
dMsgScrnBoss_c::dMsgScrnBoss_c() {
|
||||
static u64 t_tag[7] = {
|
||||
'sfontb0', 'sfontb1', 'sfontb2', 'sfontl0',
|
||||
'sfontl1', 'sfontl2', 'sfont00',
|
||||
};
|
||||
|
||||
init();
|
||||
|
||||
mpScreen = new J2DScreen();
|
||||
mpScreen->setPriority("zelda_boss_name.blo", 0x20000, dComIfGp_getMsgArchive(4));
|
||||
dPaneClass_showNullPane(mpScreen);
|
||||
|
||||
mpPmp_c = new CPaneMgr(mpScreen, 'n_all', 2, NULL);
|
||||
mpPmp_c->scale(g_MsgObject_HIO_c.mBossNameScaleX, g_MsgObject_HIO_c.mBossNameScaleY);
|
||||
|
||||
mpFontParent = new CPaneMgr(mpScreen, 's_font_n', 0, NULL);
|
||||
mpFontParent->scale(g_MsgObject_HIO_c.mBossNameCharSizeX, g_MsgObject_HIO_c.mBossNameCharSizeY);
|
||||
mpFontParent->paneTrans(g_MsgObject_HIO_c.mBossNameCharPosX, g_MsgObject_HIO_c.mBossNameCharPosY);
|
||||
|
||||
mpBaseParent = new CPaneMgr(mpScreen, 'base_n', 2, NULL);
|
||||
mpBaseParent->scale(g_MsgObject_HIO_c.mBossNameBaseSizeX, g_MsgObject_HIO_c.mBossNameBaseSizeY);
|
||||
mpBaseParent->paneTrans(g_MsgObject_HIO_c.mBossNameBasePosX, g_MsgObject_HIO_c.mBossNameBasePosY);
|
||||
|
||||
for (int i = 0; i < 7; i++) {
|
||||
mpTm_c[i] = new CPaneMgr(mpScreen, t_tag[i], 0, NULL);
|
||||
((J2DTextBox*)mpTm_c[i]->getPanePtr())->setFont(mDoExt_getRubyFont());
|
||||
((J2DTextBox*)mpTm_c[i]->getPanePtr())->setCharSpace(1.0f);
|
||||
((J2DTextBox*)mpTm_c[i]->getPanePtr())->setString(0x100, "");
|
||||
}
|
||||
|
||||
((J2DTextBox*)mpTm_c[0]->getPanePtr())->getFontSize(mFontSize);
|
||||
mTBoxWidth = mpTm_c[0]->getSizeX();
|
||||
mTBoxHeight = mpTm_c[0]->getSizeY();
|
||||
mLineSpace = ((J2DTextBox*)mpTm_c[0]->getPanePtr())->getLineSpace();
|
||||
mCharSpace = ((J2DTextBox*)mpTm_c[0]->getPanePtr())->getCharSpace();
|
||||
|
||||
for (int i = 0; i < 7; i++) {
|
||||
((J2DTextBox*)mpTm_c[i]->getPanePtr())->setLineSpace(mLineSpace);
|
||||
}
|
||||
|
||||
mTextBoxPosX = mpTm_c[0]->getGlobalPosX();
|
||||
mTextBoxPosY = mpTm_c[0]->getGlobalPosY();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8023C928-8023CA88 237268 0160+00 1/0 0/0 0/0 .text __dt__14dMsgScrnBoss_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dMsgScrnBoss_c::~dMsgScrnBoss_c() {
|
||||
nofralloc
|
||||
#include "asm/msg/scrn/d_msg_scrn_boss/__dt__14dMsgScrnBoss_cFv.s"
|
||||
dMsgScrnBoss_c::~dMsgScrnBoss_c() {
|
||||
delete mpScreen;
|
||||
mpScreen = NULL;
|
||||
|
||||
delete mpPmp_c;
|
||||
mpPmp_c = NULL;
|
||||
|
||||
delete mpFontParent;
|
||||
mpFontParent = NULL;
|
||||
|
||||
delete mpBaseParent;
|
||||
mpBaseParent = NULL;
|
||||
|
||||
for (int i = 0; i < 7; i++) {
|
||||
delete mpTm_c[i];
|
||||
mpTm_c[i] = NULL;
|
||||
}
|
||||
|
||||
dComIfGp_getMsgArchive(4)->removeResourceAll();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8023CA88-8023CB98 2373C8 0110+00 1/0 0/0 0/0 .text exec__14dMsgScrnBoss_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgScrnBoss_c::exec() {
|
||||
nofralloc
|
||||
#include "asm/msg/scrn/d_msg_scrn_boss/exec__14dMsgScrnBoss_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
void dMsgScrnBoss_c::exec() {
|
||||
mpPmp_c->scale(g_MsgObject_HIO_c.mBossNameScaleX, g_MsgObject_HIO_c.mBossNameScaleY);
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80454BB4-80454BB8 0031B4 0004+00 1/1 0/0 0/0 .sdata2 @3916 */
|
||||
SECTION_SDATA2 static u8 lit_3916[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
mpFontParent->scale(g_MsgObject_HIO_c.mBossNameCharSizeX, g_MsgObject_HIO_c.mBossNameCharSizeY);
|
||||
mpFontParent->paneTrans(g_MsgObject_HIO_c.mBossNameCharPosX, g_MsgObject_HIO_c.mBossNameCharPosY);
|
||||
|
||||
mpBaseParent->scale(g_MsgObject_HIO_c.mBossNameBaseSizeX, g_MsgObject_HIO_c.mBossNameBaseSizeY);
|
||||
mpBaseParent->paneTrans(g_MsgObject_HIO_c.mBossNameBasePosX, g_MsgObject_HIO_c.mBossNameBasePosY);
|
||||
|
||||
if (isTalkNow()) {
|
||||
fukiAlpha(1.0f);
|
||||
}
|
||||
}
|
||||
|
||||
/* 8023CB98-8023CBF0 2374D8 0058+00 1/0 0/0 0/0 .text drawSelf__14dMsgScrnBoss_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgScrnBoss_c::drawSelf() {
|
||||
nofralloc
|
||||
#include "asm/msg/scrn/d_msg_scrn_boss/drawSelf__14dMsgScrnBoss_cFv.s"
|
||||
void dMsgScrnBoss_c::drawSelf() {
|
||||
J2DGrafContext* ctx = dComIfGp_getCurrentGrafPort();
|
||||
ctx->setup2D();
|
||||
drawOutFont(0.0f, 0.0f, 1.0f);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8023CBF0-8023CC7C 237530 008C+00 1/0 0/0 0/0 .text fukiAlpha__14dMsgScrnBoss_cFf */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgScrnBoss_c::fukiAlpha(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/msg/scrn/d_msg_scrn_boss/fukiAlpha__14dMsgScrnBoss_cFf.s"
|
||||
void dMsgScrnBoss_c::fukiAlpha(f32 alpha) {
|
||||
mpPmp_c->setAlphaRate(alpha);
|
||||
mpBaseParent->setAlphaRate(alpha * g_MsgObject_HIO_c.mBossNameBaseAlpha);
|
||||
|
||||
for (int i = 0; i < 7; i++) {
|
||||
mpTm_c[i]->setAlphaRate(alpha);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8023CC7C-8023CC80 2375BC 0004+00 1/0 0/0 0/0 .text fukiScale__14dMsgScrnBoss_cFf */
|
||||
void dMsgScrnBoss_c::fukiScale(f32 param_0) {
|
||||
void dMsgScrnBoss_c::fukiScale(f32) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 8023CC80-8023CC84 2375C0 0004+00 1/0 0/0 0/0 .text fukiTrans__14dMsgScrnBoss_cFff */
|
||||
void dMsgScrnBoss_c::fukiTrans(f32 param_0, f32 param_1) {
|
||||
void dMsgScrnBoss_c::fukiTrans(f32, f32) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 8023CC84-8023CC88 2375C4 0004+00 1/0 0/0 0/0 .text fontAlpha__14dMsgScrnBoss_cFf */
|
||||
void dMsgScrnBoss_c::fontAlpha(f32 param_0) {
|
||||
void dMsgScrnBoss_c::fontAlpha(f32) {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
|
||||
@@ -11,46 +11,11 @@
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct mDoCPd_c {
|
||||
static u8 m_cpadInfo[256];
|
||||
};
|
||||
|
||||
struct dMsgString_c {
|
||||
/* 80249C20 */ dMsgString_c();
|
||||
/* 80249D28 */ ~dMsgString_c();
|
||||
};
|
||||
|
||||
struct STControl {
|
||||
/* 8003219C */ void checkTrigger();
|
||||
/* 80032524 */ void checkUpTrigger();
|
||||
/* 800325A0 */ void checkDownTrigger();
|
||||
};
|
||||
|
||||
struct J2DOrthoGraph {};
|
||||
|
||||
struct dMsgScrnExplain_c {
|
||||
/* 8023CC88 */ dMsgScrnExplain_c(STControl*, u8, bool, u8);
|
||||
/* 8023D538 */ ~dMsgScrnExplain_c();
|
||||
/* 8023D7D8 */ void move();
|
||||
/* 8023D918 */ void draw(J2DOrthoGraph*);
|
||||
/* 8023DAD0 */ void wait_init();
|
||||
/* 8023DAD4 */ void wait_proc();
|
||||
/* 8023DAD8 */ void open_request_init();
|
||||
/* 8023DADC */ void open_request_proc();
|
||||
/* 8023DBE4 */ void open_init();
|
||||
/* 8023DC7C */ void open_proc();
|
||||
/* 8023DD90 */ void move_init();
|
||||
/* 8023DDB4 */ void move_proc();
|
||||
/* 8023DE8C */ void move_select_init();
|
||||
/* 8023E0F4 */ void move_select_proc();
|
||||
/* 8023E43C */ void close_init();
|
||||
/* 8023E448 */ void close_proc();
|
||||
/* 8023E558 */ void openExplain(u32, u8, u8, u8, bool);
|
||||
/* 8023E5CC */ void getAlphaRatio();
|
||||
/* 8023E640 */ void checkTriggerA();
|
||||
/* 8023E654 */ void checkTriggerB();
|
||||
};
|
||||
|
||||
struct dMsgScrnArrow_c {
|
||||
/* 8023B9B4 */ dMsgScrnArrow_c();
|
||||
/* 8023BDC0 */ void draw();
|
||||
@@ -73,77 +38,11 @@ struct dMsgScrn3Select_c {
|
||||
/* 8023A97C */ void getCharSpace();
|
||||
};
|
||||
|
||||
struct J2DTextBox {
|
||||
/* 80300658 */ void getStringPtr() const;
|
||||
/* 8030074C */ void setString(s16, char const*, ...);
|
||||
};
|
||||
|
||||
struct JUTFont {};
|
||||
|
||||
struct COutFont_c {
|
||||
/* 80225C94 */ COutFont_c(u8);
|
||||
};
|
||||
|
||||
struct dMsgObject_c {
|
||||
/* 802380F4 */ void getString(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, char*,
|
||||
char*, char*, s16*);
|
||||
};
|
||||
|
||||
struct JMSMesgEntry_c {};
|
||||
|
||||
struct dMeter2Info_c {
|
||||
/* 8021C250 */ void getString(u32, char*, JMSMesgEntry_c*);
|
||||
/* 8021C7FC */ void getStringLength(JUTFont*, f32, f32, char*);
|
||||
};
|
||||
|
||||
struct Z2SpeechMgr2 {
|
||||
/* 802CBF60 */ void setTextCount(s16);
|
||||
};
|
||||
|
||||
struct JAISoundID {};
|
||||
|
||||
struct Vec {};
|
||||
|
||||
struct Z2SeMgr {
|
||||
/* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
|
||||
};
|
||||
|
||||
struct Z2AudioMgr {
|
||||
static u8 mAudioMgrPtr[4 + 4 /* padding */];
|
||||
};
|
||||
|
||||
struct ResTIMG {};
|
||||
|
||||
struct JKRExpHeap {};
|
||||
|
||||
struct JKRArchive {};
|
||||
|
||||
struct J2DGrafContext {};
|
||||
|
||||
struct J2DScreen {
|
||||
/* 802F8498 */ J2DScreen();
|
||||
/* 802F8648 */ void setPriority(char const*, u32, JKRArchive*);
|
||||
/* 802F8ED4 */ void draw(f32, f32, J2DGrafContext const*);
|
||||
};
|
||||
|
||||
struct J2DPicture {
|
||||
/* 802FC708 */ J2DPicture(ResTIMG const*);
|
||||
};
|
||||
|
||||
struct J2DPane {
|
||||
/* 802F7100 */ void getBounds();
|
||||
};
|
||||
|
||||
struct CPaneMgrAlpha {
|
||||
/* 802557D0 */ void setAlphaRate(f32);
|
||||
};
|
||||
|
||||
struct CPaneMgr {
|
||||
/* 80253984 */ CPaneMgr(J2DScreen*, u64, u8, JKRExpHeap*);
|
||||
/* 802545B0 */ void paneTrans(f32, f32);
|
||||
/* 80254EBC */ void getGlobalVtxCenter(J2DPane*, bool, s16);
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
@@ -228,12 +127,7 @@ extern "C" void _restgpr_24();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" void snprintf();
|
||||
extern "C" void strcat();
|
||||
extern "C" void strcpy();
|
||||
extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 g_meter2_info[248];
|
||||
extern "C" extern u8 g_MsgObject_HIO_c[1040];
|
||||
extern "C" extern u8 data_80450B70[4];
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
@@ -436,7 +330,8 @@ asm dMsgScrnExplain_c::dMsgScrnExplain_c(STControl* param_0, u8 param_1, bool pa
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dMsgScrnExplain_c::~dMsgScrnExplain_c() {
|
||||
// asm dMsgScrnExplain_c::~dMsgScrnExplain_c() {
|
||||
extern "C" asm void __dt__17dMsgScrnExplain_cFv() {
|
||||
nofralloc
|
||||
#include "asm/msg/scrn/d_msg_scrn_explain/__dt__17dMsgScrnExplain_cFv.s"
|
||||
}
|
||||
@@ -617,7 +512,7 @@ asm void dMsgScrnExplain_c::close_proc() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgScrnExplain_c::openExplain(u32 param_0, u8 param_1, u8 param_2, u8 param_3,
|
||||
asm bool dMsgScrnExplain_c::openExplain(u32 param_0, u8 param_1, u8 param_2, u8 param_3,
|
||||
bool param_4) {
|
||||
nofralloc
|
||||
#include "asm/msg/scrn/d_msg_scrn_explain/openExplain__17dMsgScrnExplain_cFUlUcUcUcb.s"
|
||||
|
||||
Reference in New Issue
Block a user