mirror of
https://github.com/zeldaret/tp
synced 2026-06-27 02:35:22 -04:00
d_msg_scrn_light,d_msg_scrn_kanban ok (#2050)
* d_msg_scrn_light ok * d_msg_scrn_kanban OK
This commit is contained in:
+130
-233
@@ -1,264 +1,161 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: msg/scrn/d_msg_scrn_kanban
|
||||
// d_msg_scrn_kanban
|
||||
//
|
||||
|
||||
#include "msg/scrn/d_msg_scrn_kanban.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct JKRExpHeap {};
|
||||
|
||||
struct dMsgScrnKanban_c {
|
||||
/* 80244E38 */ dMsgScrnKanban_c(JKRExpHeap*);
|
||||
/* 8024534C */ ~dMsgScrnKanban_c();
|
||||
/* 80245528 */ void exec();
|
||||
/* 80245618 */ void draw();
|
||||
/* 802456A0 */ void fukiAlpha(f32);
|
||||
/* 80245754 */ void fukiScale(f32);
|
||||
/* 80245758 */ void fukiTrans(f32, 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();
|
||||
/* 8023C300 */ void drawSelf();
|
||||
/* 8023C4F4 */ void fontAlpha(f32);
|
||||
/* 8023C574 */ void isTalkNow();
|
||||
};
|
||||
|
||||
struct JKRHeap {
|
||||
/* 802CE784 */ void getTotalFreeSize();
|
||||
};
|
||||
|
||||
struct JKRFileLoader {
|
||||
/* 802D4270 */ void getGlbResource(char const*, JKRFileLoader*);
|
||||
};
|
||||
|
||||
struct JKRArchive {};
|
||||
|
||||
struct J2DGrafContext {};
|
||||
|
||||
struct J2DScreen {
|
||||
/* 802F8498 */ J2DScreen();
|
||||
/* 802F8648 */ void setPriority(char const*, u32, JKRArchive*);
|
||||
/* 802F8ED4 */ void draw(f32, f32, J2DGrafContext const*);
|
||||
/* 802F9690 */ void animation();
|
||||
};
|
||||
|
||||
struct J2DPane {
|
||||
/* 802F7FCC */ void animationTransform();
|
||||
};
|
||||
|
||||
struct J2DAnmLoaderDataBase {
|
||||
/* 80308A6C */ void load(void const*);
|
||||
};
|
||||
|
||||
struct CPaneMgrAlpha {
|
||||
/* 802557D0 */ void setAlphaRate(f32);
|
||||
};
|
||||
|
||||
struct CPaneMgr {
|
||||
/* 80253984 */ CPaneMgr(J2DScreen*, u64, u8, JKRExpHeap*);
|
||||
/* 802542E8 */ void getGlobalPosX();
|
||||
/* 80254364 */ void getGlobalPosY();
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__16dMsgScrnKanban_cFP10JKRExpHeap();
|
||||
extern "C" void __dt__16dMsgScrnKanban_cFv();
|
||||
extern "C" void exec__16dMsgScrnKanban_cFv();
|
||||
extern "C" void draw__16dMsgScrnKanban_cFv();
|
||||
extern "C" void fukiAlpha__16dMsgScrnKanban_cFf();
|
||||
extern "C" void fukiScale__16dMsgScrnKanban_cFf();
|
||||
extern "C" void fukiTrans__16dMsgScrnKanban_cFff();
|
||||
extern "C" extern char const* const msg_scrn_d_msg_scrn_kanban__stringBase0;
|
||||
#include "JSystem/JKernel/JKRExpHeap.h"
|
||||
#include "JSystem/JKernel/JKRFileLoader.h"
|
||||
#include "JSystem/JKernel/JKRArchive.h"
|
||||
#include "JSystem/J2DGraph/J2DScreen.h"
|
||||
#include "JSystem/J2DGraph/J2DAnmLoader.h"
|
||||
#include "JSystem/J2DGraph/J2DTextBox.h"
|
||||
#include "JSystem/J2DGraph/J2DGrafContext.h"
|
||||
#include "d/pane/d_pane_class.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "d/msg/d_msg_object.h"
|
||||
#include "d/msg/d_msg_out_font.h"
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoExt_getMesgFont__Fv();
|
||||
extern "C" void dComIfGp_getSubHeap2D__Fi();
|
||||
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 drawSelf__14dMsgScrnBase_cFv();
|
||||
extern "C" void fontAlpha__14dMsgScrnBase_cFf();
|
||||
extern "C" void isTalkNow__14dMsgScrnBase_cFv();
|
||||
extern "C" void __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap();
|
||||
extern "C" void getGlobalPosX__8CPaneMgrFv();
|
||||
extern "C" void getGlobalPosY__8CPaneMgrFv();
|
||||
extern "C" void dPaneClass_showNullPane__FP9J2DScreen();
|
||||
extern "C" void setAlphaRate__13CPaneMgrAlphaFf();
|
||||
extern "C" void getTotalFreeSize__7JKRHeapFv();
|
||||
extern "C" void* __nw__FUl();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader();
|
||||
extern "C" void animationTransform__7J2DPaneFv();
|
||||
extern "C" void __ct__9J2DScreenFv();
|
||||
extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive();
|
||||
extern "C" void draw__9J2DScreenFffPC14J2DGrafContext();
|
||||
extern "C" void animation__9J2DScreenFv();
|
||||
extern "C" void load__20J2DAnmLoaderDataBaseFPCv();
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 g_MsgObject_HIO_c[1040];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
extern dMsgObject_HIO_c g_MsgObject_HIO_c;
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80399AA0-80399AB8 026100 0018+00 1/1 0/0 0/0 .rodata t_tag$3768 */
|
||||
SECTION_RODATA static u8 const t_tag[24] = {
|
||||
0x6D, 0x67, 0x5F, 0x65, 0x34, 0x6C, 0x69, 0x6E, 0x00, 0x00, 0x00, 0x00,
|
||||
0x66, 0x34, 0x5F, 0x77, 0x00, 0x00, 0x00, 0x00, 0x74, 0x34, 0x5F, 0x73,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80399AA0, &t_tag);
|
||||
|
||||
/* 80399AB8-80399AB8 026118 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80399AB8 = "zelda_kanban_stone_a.blo";
|
||||
SECTION_DEAD static char const* const stringBase_80399AD1 = "zelda_kanban_stone_a.bck";
|
||||
SECTION_DEAD static char const* const stringBase_80399AEA = "zelda_kanban_stone_a.btk";
|
||||
/* @stringBase0 padding */
|
||||
SECTION_DEAD static char const* const pad_80399B03 = "\0\0\0\0";
|
||||
#pragma pop
|
||||
|
||||
/* 803C1240-803C1298 01E360 0058+00 2/2 0/0 0/0 .data __vt__16dMsgScrnKanban_c */
|
||||
SECTION_DATA extern void* __vt__16dMsgScrnKanban_c[22] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)draw__16dMsgScrnKanban_cFv,
|
||||
(void*)__dt__16dMsgScrnKanban_cFv,
|
||||
(void*)exec__16dMsgScrnKanban_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__16dMsgScrnKanban_cFf,
|
||||
(void*)fukiTrans__16dMsgScrnKanban_cFff,
|
||||
(void*)fukiAlpha__16dMsgScrnKanban_cFf,
|
||||
(void*)fontAlpha__14dMsgScrnBase_cFf,
|
||||
(void*)fukiPosCalc__14dMsgScrnBase_cFUc,
|
||||
};
|
||||
|
||||
/* 80454CC0-80454CC4 0032C0 0004+00 2/2 0/0 0/0 .sdata2 @3944 */
|
||||
SECTION_SDATA2 static u8 lit_3944[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
|
||||
/* 80454CC4-80454CC8 0032C4 0004+00 3/3 0/0 0/0 .sdata2 @3945 */
|
||||
SECTION_SDATA2 static f32 lit_3945 = 1.0f;
|
||||
|
||||
/* 80454CC8-80454CD0 0032C8 0004+04 1/1 0/0 0/0 .sdata2 @3946 */
|
||||
SECTION_SDATA2 static f32 lit_3946[1 + 1 /* padding */] = {
|
||||
6.0f / 5.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
static u64 const t_tag[3] = {
|
||||
'mg_e4lin',
|
||||
'f4_w',
|
||||
't4_s',
|
||||
};
|
||||
|
||||
/* 80244E38-8024534C 23F778 0514+00 0/0 1/1 0/0 .text __ct__16dMsgScrnKanban_cFP10JKRExpHeap */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dMsgScrnKanban_c::dMsgScrnKanban_c(JKRExpHeap* param_0) {
|
||||
nofralloc
|
||||
#include "asm/msg/scrn/d_msg_scrn_kanban/__ct__16dMsgScrnKanban_cFP10JKRExpHeap.s"
|
||||
dMsgScrnKanban_c::dMsgScrnKanban_c(JKRExpHeap* param_0) {
|
||||
if (param_0 != NULL) {
|
||||
field_0xd4 = param_0;
|
||||
} else {
|
||||
field_0xd4 = dComIfGp_getSubHeap2D(7);
|
||||
}
|
||||
s32 uVar14 = field_0xd4->getTotalFreeSize();
|
||||
init();
|
||||
mpScreen = new J2DScreen();
|
||||
JUT_ASSERT(43, mpScreen != 0);
|
||||
bool fg = mpScreen->setPriority("zelda_kanban_stone_a.blo", 0x1020000, dComIfGp_getMsgArchive(2));
|
||||
JUT_ASSERT(45, fg != false);
|
||||
dPaneClass_showNullPane(mpScreen);
|
||||
OSInitFastCast();
|
||||
field_0xcc = (J2DAnmTransform*)J2DAnmLoaderDataBase::load(JKRGetNameResource("zelda_kanban_stone_a.bck", dComIfGp_getMsgArchive(2)));
|
||||
field_0xd0 = (J2DAnmTextureSRTKey*)J2DAnmLoaderDataBase::load(JKRGetNameResource("zelda_kanban_stone_a.btk", dComIfGp_getMsgArchive(2)));
|
||||
field_0xd0->searchUpdateMaterialID(mpScreen);
|
||||
field_0xd8 = 0.0f;
|
||||
mpPmp_c = new CPaneMgr(mpScreen, 'n_size', 2, NULL);
|
||||
JUT_ASSERT(60, mpPmp_c != 0);
|
||||
mpPmp_c->getPanePtr()->setAnimation(field_0xcc);
|
||||
field_0xcc->setFrame(1.0f);
|
||||
mpPmp_c->getPanePtr()->animationTransform();
|
||||
mpPmp_c->getPanePtr()->setAnimation((J2DAnmTransform*)NULL);
|
||||
mpPmp_c->scale(g_MsgObject_HIO_c.mBoxStoneScaleX, g_MsgObject_HIO_c.mBoxStoneScaleY);
|
||||
mpBack_c = new CPaneMgr(mpScreen, 'back_b', 0, NULL);
|
||||
JUT_ASSERT(68, mpBack_c != 0);
|
||||
mpSpot_c = new CPaneMgr(mpScreen, 'spot00', 0, NULL);
|
||||
JUT_ASSERT(72, mpSpot_c != 0);
|
||||
mpSpot_c->getPanePtr()->setAnimation(field_0xd0);
|
||||
for (int i = 0; i < 3; i++) {
|
||||
mpTm_c[i] = new CPaneMgr(mpScreen, t_tag[i], 0, NULL);
|
||||
JUT_ASSERT(81, mpTm_c[i] != 0);
|
||||
((J2DTextBox*)mpTm_c[i]->getPanePtr())->setFont(mDoExt_getMesgFont());
|
||||
}
|
||||
mpScreen->search('n_3line')->hide();
|
||||
mpScreen->search('n_3fline')->hide();
|
||||
mpScreen->search('n_e4line')->show();
|
||||
((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 < 3; i = i + 1) {
|
||||
((J2DTextBox*)mpTm_c[i]->getPanePtr())->setLineSpace(mLineSpace);
|
||||
mpTm_c[i]->resize(1.2f * mpTm_c[i]->getSizeX(), mpTm_c[i]->getSizeY());
|
||||
}
|
||||
mTextBoxPosX = mpTm_c[0]->getGlobalPosX();
|
||||
mTextBoxPosY = mpTm_c[0]->CPaneMgr::getGlobalPosY();
|
||||
mTextBoxPosOffsetY = 0.0f;
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (mpTmr_c[i] != NULL) {
|
||||
((J2DTextBox*)mpTmr_c[i]->getPanePtr())->setLineSpace(mLineSpace);
|
||||
if (i == 0) {
|
||||
J2DTextBox::TFontSize fontSize;
|
||||
((J2DTextBox*)mpTmr_c[0]->getPanePtr())->getFontSize(fontSize);
|
||||
mRubySize = fontSize.mSizeX;
|
||||
mRubyCharSpace = ((J2DTextBox*)mpTmr_c[0]->getPanePtr())->getCharSpace();
|
||||
}
|
||||
mpTmr_c[i]->resize(1.2f * mpTmr_c[i]->getSizeX(),
|
||||
mpTmr_c[i]->getSizeY());
|
||||
}
|
||||
}
|
||||
OS_REPORT("remain ===> %d\n", uVar14 - field_0xd4->getTotalFreeSize());
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8024534C-80245528 23FC8C 01DC+00 1/0 0/0 0/0 .text __dt__16dMsgScrnKanban_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dMsgScrnKanban_c::~dMsgScrnKanban_c() {
|
||||
nofralloc
|
||||
#include "asm/msg/scrn/d_msg_scrn_kanban/__dt__16dMsgScrnKanban_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
dMsgScrnKanban_c::~dMsgScrnKanban_c() {
|
||||
delete mpScreen;
|
||||
mpScreen = NULL;
|
||||
delete field_0xcc;
|
||||
field_0xcc = NULL;
|
||||
delete field_0xd0;
|
||||
field_0xd0 = NULL;
|
||||
delete mpPmp_c;
|
||||
mpPmp_c = NULL;
|
||||
delete mpBack_c;
|
||||
mpBack_c = NULL;
|
||||
delete mpSpot_c;
|
||||
mpSpot_c = NULL;
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80454CD0-80454CD8 0032D0 0008+00 1/1 0/0 0/0 .sdata2 @4033 */
|
||||
SECTION_SDATA2 static f64 lit_4033 = 4503601774854144.0 /* cast s32 to float */;
|
||||
for (int i = 0; i < 3; i++) {
|
||||
delete mpTm_c[i];
|
||||
mpTm_c[i] = NULL;
|
||||
if (mpTmr_c[i] != NULL) {
|
||||
delete mpTmr_c[i];
|
||||
mpTmr_c[i] = NULL;
|
||||
}
|
||||
}
|
||||
dComIfGp_getMsgArchive(2)->removeResourceAll();
|
||||
}
|
||||
|
||||
/* 80245528-80245618 23FE68 00F0+00 1/0 0/0 0/0 .text exec__16dMsgScrnKanban_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgScrnKanban_c::exec() {
|
||||
nofralloc
|
||||
#include "asm/msg/scrn/d_msg_scrn_kanban/exec__16dMsgScrnKanban_cFv.s"
|
||||
void dMsgScrnKanban_c::exec() {
|
||||
field_0xd8 += 1.0f;
|
||||
if (field_0xd8 >= field_0xd0->getFrameMax()) {
|
||||
field_0xd8 -= field_0xd0->getFrameMax();
|
||||
}
|
||||
field_0xd0->setFrame(field_0xd8);
|
||||
mpScreen->animation();
|
||||
if (isTalkNow()) {
|
||||
fukiAlpha(1.0f);
|
||||
}
|
||||
mpPmp_c->scale(g_MsgObject_HIO_c.mBoxStoneScaleX, g_MsgObject_HIO_c.mBoxStoneScaleY);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80245618-802456A0 23FF58 0088+00 1/0 0/0 0/0 .text draw__16dMsgScrnKanban_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgScrnKanban_c::draw() {
|
||||
nofralloc
|
||||
#include "asm/msg/scrn/d_msg_scrn_kanban/draw__16dMsgScrnKanban_cFv.s"
|
||||
void dMsgScrnKanban_c::draw() {
|
||||
J2DGrafContext* grafContext = dComIfGp_getCurrentGrafPort();
|
||||
grafContext->setup2D();
|
||||
mpScreen->draw(0.0f, 0.0f, grafContext);
|
||||
mpOutFont->draw(NULL, 0.0f, 0.0f, 1.0f);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802456A0-80245754 23FFE0 00B4+00 1/0 0/0 0/0 .text fukiAlpha__16dMsgScrnKanban_cFf */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dMsgScrnKanban_c::fukiAlpha(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/msg/scrn/d_msg_scrn_kanban/fukiAlpha__16dMsgScrnKanban_cFf.s"
|
||||
void dMsgScrnKanban_c::fukiAlpha(f32 param_0) {
|
||||
mpBack_c->setAlphaRate(param_0);
|
||||
mpPmp_c->setAlphaRate(param_0 * g_MsgObject_HIO_c.mBoxStoneAlphaP);
|
||||
mpSpot_c->setAlphaRate(param_0);
|
||||
for (int i = 0; i < 3; i++) {
|
||||
mpTm_c[i]->setAlphaRate(param_0 * mCharAlphaRate);
|
||||
if (mpTmr_c[i] != NULL) {
|
||||
mpTmr_c[i]->setAlphaRate(param_0 * mCharAlphaRate);
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80245754-80245758 240094 0004+00 1/0 0/0 0/0 .text fukiScale__16dMsgScrnKanban_cFf */
|
||||
void dMsgScrnKanban_c::fukiScale(f32 param_0) {
|
||||
/* empty function */
|
||||
|
||||
Reference in New Issue
Block a user