Files
tp/src/msg/scrn/d_msg_scrn_arrow.cpp
T
Jcw87 7f762353ea Fixes for other compilers (#1912)
* remove invalid virtual keywords

* remove duplicate inline

* remove leading 0 in character literals

* add missing public keywords

* fix some struct/class mismatches
2023-09-04 17:17:51 -06:00

128 lines
3.9 KiB
C++

// Translation Unit: msg/scrn/d_msg_scrn_arrow
#include "msg/scrn/d_msg_scrn_arrow.h"
#include "JSystem/J2DGraph/J2DAnmLoader.h"
#include "JSystem/J2DGraph/J2DScreen.h"
#include "d/com/d_com_inf_game.h"
#include "d/pane/d_pane_class.h"
#include "dolphin/os/OS.h"
#include "dolphin/types.h"
/* 8023B9B4-8023BC78 2362F4 02C4+00 0/0 4/4 0/0 .text __ct__15dMsgScrnArrow_cFv */
dMsgScrnArrow_c::dMsgScrnArrow_c() {
mScreen = new J2DScreen();
mScreen->setPriority("zelda_window_yajirushi.blo", 0x20000, dComIfGp_getMsgArchive(0));
dPaneClass_showNullPane(mScreen);
i_OSInitFastCast();
mAnmBck = (J2DAnmTransform*)J2DAnmLoaderDataBase::load(
JKRFileLoader::getGlbResource("zelda_window_yajirushi.bck", dComIfGp_getMsgArchive(0)));
mBckFrame = 0.0f;
mAnmBpk = (J2DAnmColor*)J2DAnmLoaderDataBase::load(
JKRFileLoader::getGlbResource("zelda_window_yajirushi.bpk", dComIfGp_getMsgArchive(0)));
mAnmBpk->searchUpdateMaterialID(mScreen);
mBpkFrame = 0.0f;
mPaneMgr0 = new CPaneMgr(mScreen, 'set_ya_n', 0, NULL);
mPaneMgr1 = new CPaneMgr(mScreen, 'ya_next', 0, NULL);
mPaneMgr1->hide();
mPaneMgr1->mPane->setAnimation(mAnmBck);
mScreen->search('yajnext')->setAnimation(mAnmBpk);
mScreen->search('yajinexl')->setAnimation(mAnmBpk);
mPaneMgr2 = new CPaneMgr(mScreen, 'ya_end', 0, NULL);
mPaneMgr2->hide();
mScreen->search('yaj_end')->setAnimation(mAnmBpk);
mScreen->search('yajiendl')->setAnimation(mAnmBpk);
}
/* 8023BC78-8023BDC0 2365B8 0148+00 1/0 0/0 0/0 .text __dt__15dMsgScrnArrow_cFv */
dMsgScrnArrow_c::~dMsgScrnArrow_c() {
delete mScreen;
mScreen = NULL;
delete mAnmBck;
mAnmBck = NULL;
delete mAnmBpk;
mAnmBpk = NULL;
delete mPaneMgr0;
mPaneMgr0 = NULL;
delete mPaneMgr1;
mPaneMgr1 = NULL;
delete mPaneMgr2;
mPaneMgr2 = NULL;
}
/* 8023BDC0-8023BDF8 236700 0038+00 0/0 5/5 0/0 .text draw__15dMsgScrnArrow_cFv */
void dMsgScrnArrow_c::draw() {
J2DGrafContext* ctx = dComIfGp_getCurrentGrafPort();
mScreen->draw(0.0f, 0.0f, ctx);
}
/* 8023BDF8-8023BE34 236738 003C+00 0/0 5/5 0/0 .text setPos__15dMsgScrnArrow_cFff */
void dMsgScrnArrow_c::setPos(f32 x, f32 y) {
mPaneMgr0->translate(x, y);
}
/* 8023BE34-8023BE90 236774 005C+00 0/0 9/9 0/0 .text arwAnimeInit__15dMsgScrnArrow_cFv */
void dMsgScrnArrow_c::arwAnimeInit() {
mPaneMgr1->hide();
mBckFrame = 0.0f;
mAnmBck->setFrame(mBckFrame);
mBpkFrame = 0.0f;
mAnmBpk->setFrame(mBpkFrame);
mScreen->animation();
}
/* 8023BE90-8023BFC4 2367D0 0134+00 0/0 4/4 0/0 .text arwAnimeMove__15dMsgScrnArrow_cFv */
void dMsgScrnArrow_c::arwAnimeMove() {
if (!mPaneMgr1->isVisible()) {
mPaneMgr1->show();
}
if (mPaneMgr2->isVisible() == true) {
mPaneMgr2->hide();
}
mBckFrame += 1.0f;
if (mBckFrame >= (f32)mAnmBck->getFrameMax()) {
mBckFrame -= (f32)mAnmBck->getFrameMax();
}
mAnmBck->setFrame(mBckFrame);
mBpkFrame += 1.0f;
if (mBpkFrame >= (f32)mAnmBpk->getFrameMax()) {
mBpkFrame -= (f32)mAnmBpk->getFrameMax();
}
mAnmBpk->setFrame(mBpkFrame);
mScreen->animation();
}
/* 8023BFC4-8023C010 236904 004C+00 0/0 3/3 0/0 .text dotAnimeInit__15dMsgScrnArrow_cFv */
void dMsgScrnArrow_c::dotAnimeInit() {
mPaneMgr2->hide();
mBpkFrame = 0.0f;
mAnmBpk->setFrame(mBpkFrame);
mScreen->animation();
}
/* 8023C010-8023C0DC 236950 00CC+00 0/0 3/3 0/0 .text dotAnimeMove__15dMsgScrnArrow_cFv */
void dMsgScrnArrow_c::dotAnimeMove() {
if (mPaneMgr1->isVisible() == true) {
mPaneMgr1->hide();
}
if (!mPaneMgr2->isVisible()) {
mPaneMgr2->show();
}
mBpkFrame += 1.0f;
if (mBpkFrame >= (f32)mAnmBpk->getFrameMax()) {
mBpkFrame -= (f32)mAnmBpk->getFrameMax();
}
mAnmBpk->setFrame(mBpkFrame);
mScreen->animation();
}
/* 803998A0-803998A0 025F00 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */