mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-05-30 00:16:19 -04:00
046d178003
* 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
160 lines
4.3 KiB
C++
160 lines
4.3 KiB
C++
//
|
|
// Generated By: dol2asm
|
|
// Translation Unit: msg/scrn/d_msg_scrn_base
|
|
//
|
|
|
|
#include "msg/scrn/d_msg_scrn_base.h"
|
|
#include "dol2asm.h"
|
|
#include "dolphin/types.h"
|
|
#include "d/msg/d_msg_object.h"
|
|
|
|
/* 8023C0DC-8023C124 236A1C 0048+00 0/0 9/9 0/0 .text __ct__14dMsgScrnBase_cFv */
|
|
dMsgScrnBase_c::dMsgScrnBase_c() {
|
|
init();
|
|
}
|
|
|
|
/* 8023C124-8023C16C 236A64 0048+00 1/0 9/9 0/0 .text __dt__14dMsgScrnBase_cFv */
|
|
dMsgScrnBase_c::~dMsgScrnBase_c() {}
|
|
|
|
/* 8023C16C-8023C234 236AAC 00C8+00 1/1 9/9 0/0 .text init__14dMsgScrnBase_cFv */
|
|
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;
|
|
}
|
|
|
|
/* 8023C234-8023C274 236B74 0040+00 1/0 9/0 0/0 .text multiDraw__14dMsgScrnBase_cFv */
|
|
void dMsgScrnBase_c::multiDraw() {
|
|
if (field_0x48 != NULL) {
|
|
dComIfGd_set2DOpa(field_0x48);
|
|
}
|
|
}
|
|
|
|
/* 8023C274-8023C300 236BB4 008C+00 1/0 7/0 0/0 .text draw__14dMsgScrnBase_cFv */
|
|
void dMsgScrnBase_c::draw() {
|
|
J2DGrafContext* ctx = dComIfGp_getCurrentGrafPort();
|
|
|
|
ctx->setup2D();
|
|
mpScreen->draw(0.0f, 0.0f, ctx);
|
|
drawSelf();
|
|
ctx->setup2D();
|
|
}
|
|
|
|
/* 8023C300-8023C32C 236C40 002C+00 1/0 2/0 0/0 .text drawSelf__14dMsgScrnBase_cFv */
|
|
void dMsgScrnBase_c::drawSelf() {
|
|
drawOutFont(0.0f, 0.0f, 1.0f);
|
|
}
|
|
|
|
/* 8023C32C-8023C360 236C6C 0034+00 1/1 6/6 0/0 .text drawOutFont__14dMsgScrnBase_cFfff
|
|
*/
|
|
void dMsgScrnBase_c::drawOutFont(f32 param_0, f32 param_1, f32 param_2) {
|
|
mpOutFont->draw(NULL, param_0, param_1, param_2);
|
|
}
|
|
|
|
/* 8023C360-8023C3EC 236CA0 008C+00 0/0 2/2 0/0 .text setString__14dMsgScrnBase_cFPcPc */
|
|
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);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/* 8023C3EC-8023C458 236D2C 006C+00 0/0 2/2 0/0 .text setRubyString__14dMsgScrnBase_cFPc
|
|
*/
|
|
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);
|
|
}
|
|
}
|
|
}
|
|
|
|
/* 8023C458-8023C480 236D98 0028+00 1/0 0/0 0/0 .text fukiScale__14dMsgScrnBase_cFf */
|
|
void dMsgScrnBase_c::fukiScale(f32 scale) {
|
|
mpPmp_c->paneScale(scale, scale);
|
|
}
|
|
|
|
/* 8023C480-8023C4A4 236DC0 0024+00 1/0 0/0 0/0 .text fukiTrans__14dMsgScrnBase_cFff */
|
|
void dMsgScrnBase_c::fukiTrans(f32 posX, f32 posY) {
|
|
mpPmp_c->paneTrans(posX, posY);
|
|
}
|
|
|
|
/* 8023C4A4-8023C4F4 236DE4 0050+00 1/0 0/0 0/0 .text fukiAlpha__14dMsgScrnBase_cFf */
|
|
void dMsgScrnBase_c::fukiAlpha(f32 alpha) {
|
|
fontAlpha(alpha);
|
|
mpPmp_c->setAlphaRate(alpha);
|
|
}
|
|
|
|
/* 8023C4F4-8023C574 236E34 0080+00 1/0 5/0 0/0 .text fontAlpha__14dMsgScrnBase_cFf */
|
|
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);
|
|
}
|
|
}
|
|
}
|
|
|
|
/* 8023C574-8023C5C8 236EB4 0054+00 1/0 8/8 0/0 .text isTalkNow__14dMsgScrnBase_cFv */
|
|
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;
|
|
}
|
|
}
|