mirror of
https://github.com/zeldaret/ss
synced 2026-07-28 15:17:51 -04:00
save_manager OK
This commit is contained in:
@@ -2,8 +2,10 @@
|
||||
|
||||
#include "common.h"
|
||||
#include "d/d_base.h"
|
||||
#include "d/d_dvd_unk.h"
|
||||
#include "d/d_dylink.h"
|
||||
#include "d/d_font_manager.h"
|
||||
#include "d/d_gfx.h"
|
||||
#include "d/d_heap.h"
|
||||
#include "d/d_message.h"
|
||||
#include "d/d_scene.h"
|
||||
@@ -24,7 +26,6 @@
|
||||
#include "toBeSorted/arc_managers/layout_arc_manager.h"
|
||||
#include "toBeSorted/arc_managers/oarc_manager.h"
|
||||
#include "toBeSorted/hbm.h"
|
||||
#include "toBeSorted/some_gxf_thing.h"
|
||||
#include "toBeSorted/reload_color_fader.h"
|
||||
|
||||
sFPhase<dScBoot_c>::phaseCallback dScBoot_c::sCallbacks[] = {&dScBoot_c::cb1, &dScBoot_c::cb2, &dScBoot_c::cb3,
|
||||
@@ -44,7 +45,6 @@ sFPhaseBase::sFPhaseState dScBoot_c::executeLoadPhase() {
|
||||
extern "C" u8 getUsedLanguageNTSCNum();
|
||||
extern "C" const char *getEventFlowFileNameByIndex(int, int);
|
||||
extern "C" u8 fn_80054F30();
|
||||
extern "C" nw4r::ut::ResFont *lbl_805750D8;
|
||||
|
||||
sFPhaseBase::sFPhaseState dScBoot_c::cb1() {
|
||||
LayoutArcManager::GetInstance()->loadLayoutArcFromDisk("cursor", mHeap::g_archiveHeap);
|
||||
@@ -235,9 +235,7 @@ sFPhaseBase::sFPhaseState dScBoot_c::cb6() {
|
||||
}
|
||||
}
|
||||
|
||||
// TODO we think this is a ResFont but
|
||||
// the offset is larger than ResFont...
|
||||
((u8 *)lbl_805750D8)[0x2C] = 1;
|
||||
dDvdUnk::FontUnk::GetInstance()->setField_0x2C(1);
|
||||
field_0x5DF = 1;
|
||||
return sFPhaseBase::PHASE_NEXT;
|
||||
}
|
||||
@@ -520,7 +518,7 @@ void dScBoot_c::executeState_Strap() {
|
||||
|
||||
void dScBoot_c::finalizeState_Strap() {
|
||||
// TODO
|
||||
SomeGfxThing::setField0x09(1);
|
||||
dGfx_c::GetInstance()->setField0x09(1);
|
||||
}
|
||||
|
||||
void dScBoot_c::initializeState_Connect() {
|
||||
|
||||
+3
-3
@@ -2,6 +2,7 @@
|
||||
|
||||
#include "common.h"
|
||||
#include "d/d_base.h"
|
||||
#include "d/d_gfx.h"
|
||||
#include "d/d_stage_mgr.h"
|
||||
#include "d/flag/storyflag_manager.h"
|
||||
#include "f/f_base.h"
|
||||
@@ -15,7 +16,6 @@
|
||||
#include "toBeSorted/file_manager.h"
|
||||
#include "toBeSorted/minigame_mgr.h"
|
||||
#include "toBeSorted/music_mgrs.h"
|
||||
#include "toBeSorted/some_gxf_thing.h"
|
||||
|
||||
#include <cstring>
|
||||
|
||||
@@ -69,7 +69,7 @@ int dScGame_c::create() {
|
||||
return NOT_READY;
|
||||
}
|
||||
|
||||
SomeGfxThing::setDrawCallback(someGfxThingCallback);
|
||||
dGfx_c::GetInstance()->setDrawCallback(someGfxThingCallback);
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
@@ -97,7 +97,7 @@ int dScGame_c::draw() {
|
||||
}
|
||||
|
||||
void dScGame_c::deleteReady() {
|
||||
SomeGfxThing::setDrawCallback(nullptr);
|
||||
dGfx_c::GetInstance()->setDrawCallback(nullptr);
|
||||
}
|
||||
|
||||
sFPhaseBase::sFPhaseState dScGame_c::cb1() {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "d/d_sc_title.h"
|
||||
|
||||
#include "common.h"
|
||||
#include "d/d_dvd_unk.h"
|
||||
#include "d/d_heap.h"
|
||||
#include "d/d_message.h"
|
||||
#include "d/d_sc_game.h"
|
||||
@@ -40,8 +41,6 @@ STATE_VIRTUAL_DEFINE(dScTitle_c, Action);
|
||||
|
||||
extern "C" void *lbl_80575688;
|
||||
extern "C" void fn_801907F0(void *);
|
||||
extern "C" void *lbl_805750D8;
|
||||
extern "C" void fn_80052D50(void *);
|
||||
|
||||
dScTitle_c::dScTitle_c() {
|
||||
sInstance = this;
|
||||
@@ -55,7 +54,7 @@ dScTitle_c::dScTitle_c() {
|
||||
}
|
||||
FileManager::GetInstance()->clearTempFileData();
|
||||
FileManager::GetInstance()->initFile(1);
|
||||
fn_80052D50(lbl_805750D8);
|
||||
dDvdUnk::FontUnk::GetInstance()->fn_80052D50();
|
||||
lbl_80575787 = 0;
|
||||
field_0x2AC = 0;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "d/lyt/d_lyt_battery.h"
|
||||
|
||||
#include "d/d_d2d.h"
|
||||
#include "egg/core/eggController.h"
|
||||
#include "m/m_pad.h"
|
||||
#include "toBeSorted/arc_managers/layout_arc_manager.h"
|
||||
@@ -59,8 +60,6 @@ bool dLytBattery_c::init() {
|
||||
return true;
|
||||
}
|
||||
|
||||
extern "C" void fn_80016200();
|
||||
|
||||
bool dLytBattery_c::doDraw() {
|
||||
mStateMgr.executeState();
|
||||
if (*mStateMgr.getStateID() != StateID_Off) {
|
||||
@@ -71,7 +70,7 @@ bool dLytBattery_c::doDraw() {
|
||||
}
|
||||
|
||||
mLyt.calc();
|
||||
fn_80016200();
|
||||
d2d::defaultSet();
|
||||
mLyt.draw();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "d/lyt/d_lyt_fader.h"
|
||||
|
||||
#include "d/d_d2d.h"
|
||||
#include "toBeSorted/arc_managers/layout_arc_manager.h"
|
||||
|
||||
|
||||
@@ -60,11 +61,9 @@ bool dLytFader_c::calc() {
|
||||
}
|
||||
}
|
||||
|
||||
extern "C" void fn_80016200();
|
||||
|
||||
void dLytFader_c::draw() {
|
||||
if (field_0x4DD) {
|
||||
fn_80016200();
|
||||
d2d::defaultSet();
|
||||
mLytBase.draw();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,392 @@
|
||||
#include "d/lyt/d_lyt_save_msg_window.h"
|
||||
|
||||
#include "common.h"
|
||||
#include "d/d_message.h"
|
||||
#include "d/d_tag_processor.h"
|
||||
#include "d/lyt/d2d.h"
|
||||
#include "nw4r/lyt/lyt_group.h"
|
||||
#include "sized_string.h"
|
||||
#include "toBeSorted/arc_managers/layout_arc_manager.h"
|
||||
|
||||
STATE_DEFINE(dLytSaveMsgWindow_c, Init);
|
||||
STATE_DEFINE(dLytSaveMsgWindow_c, In);
|
||||
STATE_DEFINE(dLytSaveMsgWindow_c, Wait);
|
||||
STATE_DEFINE(dLytSaveMsgWindow_c, Out);
|
||||
|
||||
dLytSaveMsgWindow_c::dLytSaveMsgWindow_c() : mStateMgr(*this, sStateID::null) {
|
||||
resetProperties();
|
||||
}
|
||||
|
||||
static const d2d::LytBrlanMapping brlanMap[] = {
|
||||
{ "save_00_in.brlan", "G_inOut_00"},
|
||||
{ "save_00_in.brlan", "G_inOut_01"},
|
||||
{ "save_00_bgV.brlan", "G_bgV_00"},
|
||||
{ "save_00_textV.brlan", "G_textV_00"},
|
||||
{"save_00_winPosition.brlan", "G_winPosition_00"},
|
||||
{ "save_00_out.brlan", "G_inOut_00"},
|
||||
{ "save_00_out.brlan", "G_inOut_01"},
|
||||
{ "save_00_textIn.brlan", "G_textInOut_00"},
|
||||
{ "save_00_textOut.brlan", "G_textInOut_00"},
|
||||
};
|
||||
|
||||
#define SAVE_ANIM_IN_0 0
|
||||
#define SAVE_ANIM_IN_1 1
|
||||
#define SAVE_ANIM_BG_V 2
|
||||
#define SAVE_ANIM_TEXT_V 3
|
||||
#define SAVE_ANIM_WIN_POSITION 4
|
||||
#define SAVE_ANIM_OUT_0 5
|
||||
#define SAVE_ANIM_OUT_1 6
|
||||
#define SAVE_ANIM_TEXT_IN 7
|
||||
#define SAVE_ANIM_TEXT_OUT 8
|
||||
|
||||
#define SAVE_NUM_ANIMS 9
|
||||
|
||||
static const char *sGroupName = "G_ref_00";
|
||||
|
||||
bool dLytSaveMsgWindow_c::build(bool arg) {
|
||||
void *data = LayoutArcManager::GetInstance()->getLoadedData("System2D");
|
||||
mResAcc.attach(data, "");
|
||||
mLyt.build("save_00.brlyt", &mResAcc);
|
||||
|
||||
for (int i = 0; i < SAVE_NUM_ANIMS; i++) {
|
||||
mAnm[i].init(brlanMap[i].mFile, &mResAcc, mLyt.getLayout(), brlanMap[i].mName);
|
||||
}
|
||||
|
||||
mLyt.setPriority(0x8A);
|
||||
|
||||
for (int i = 0; i < 1; i++) {
|
||||
mSubpanes[i].mpLytPane = &mBtn;
|
||||
mBtn.build(&mResAcc);
|
||||
mSubpaneList.PushBack(&mSubpanes[i]);
|
||||
}
|
||||
|
||||
if (mLyt.getLayout()->GetGroupContainer() != nullptr) {
|
||||
nw4r::lyt::Group *g = mLyt.getLayout()->GetGroupContainer()->FindGroupByName(sGroupName);
|
||||
if (g != nullptr) {
|
||||
d2d::dSubPane::linkMeters(g, &mSubpaneList);
|
||||
}
|
||||
}
|
||||
|
||||
mBtn.setField_0x9C4(1);
|
||||
if (arg) {
|
||||
mBtn.setField_0x99C(1);
|
||||
}
|
||||
mBtn.setField_0x9A0(1);
|
||||
|
||||
mStateMgr.changeState(StateID_Init);
|
||||
mLineSpace = mLyt.getTextBox("T_text_00")->GetLineSpace();
|
||||
field_0x10DC = 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytSaveMsgWindow_c::remove() {
|
||||
for (d2d::SubPaneList::Iterator it = mSubpaneList.GetBeginIter(); it != mSubpaneList.GetEndIter(); ++it) {
|
||||
d2d::dSubPane *subPane = it->mpLytPane;
|
||||
if (subPane != nullptr) {
|
||||
nw4r::lyt::Pane *parent = subPane->getPane()->GetParent();
|
||||
parent->RemoveChild(subPane->getPane());
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < 1; i++) {
|
||||
mSubpanes[i].mpLytPane->remove();
|
||||
}
|
||||
mLyt.unbindAnims();
|
||||
for (int i = 0; i < SAVE_NUM_ANIMS; i++) {
|
||||
mAnm[i].remove();
|
||||
}
|
||||
mResAcc.detach();
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytSaveMsgWindow_c::execute() {
|
||||
for (int i = 0; i < 1; i++) {
|
||||
mSubpanes[i].mpLytPane->execute();
|
||||
}
|
||||
mStateMgr.executeState();
|
||||
mLyt.calc();
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytSaveMsgWindow_c::draw() {
|
||||
if (field_0x10D8 != 1) {
|
||||
return true;
|
||||
}
|
||||
mLyt.addToDrawList();
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytSaveMsgWindow_c::drawNow() {
|
||||
if (field_0x10D8 != 1) {
|
||||
return true;
|
||||
}
|
||||
mLyt.draw();
|
||||
return true;
|
||||
}
|
||||
|
||||
void dLytSaveMsgWindow_c::reset() {
|
||||
resetProperties();
|
||||
mStateMgr.changeState(StateID_Init);
|
||||
}
|
||||
|
||||
bool dLytSaveMsgWindow_c::setProperties(const char *message, s32 a1, s32 a2, u8 a3) {
|
||||
mLabel = message;
|
||||
field_0x10B0 = a1;
|
||||
field_0x10B4 = a2;
|
||||
field_0x10DD = a3;
|
||||
field_0x10DA = 1;
|
||||
mNumLines = 1;
|
||||
field_0x10B8 = 0;
|
||||
mSaveobjId = -1;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytSaveMsgWindow_c::checkIsWait() {
|
||||
if (*mStateMgr.getStateID() == StateID_Wait) {
|
||||
field_0x10DB = 1;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void dLytSaveMsgWindow_c::initializeState_Init() {
|
||||
resetProperties();
|
||||
for (int i = 0; i < SAVE_NUM_ANIMS; i++) {
|
||||
mAnm[i].unbind();
|
||||
}
|
||||
}
|
||||
void dLytSaveMsgWindow_c::executeState_Init() {
|
||||
if (field_0x10DA != 1) {
|
||||
return;
|
||||
}
|
||||
field_0x10DA = 0;
|
||||
mStateMgr.changeState(StateID_In);
|
||||
}
|
||||
void dLytSaveMsgWindow_c::finalizeState_Init() {}
|
||||
|
||||
void dLytSaveMsgWindow_c::initializeState_In() {
|
||||
field_0x10D8 = 1;
|
||||
if (field_0x10B8 == 1) {
|
||||
setAnmFrame(SAVE_ANIM_TEXT_IN, 0.0f);
|
||||
} else {
|
||||
setAnmFrame(SAVE_ANIM_IN_0, 0.0f);
|
||||
setAnmFrame(SAVE_ANIM_IN_1, 0.0f);
|
||||
}
|
||||
setupSaveTextMaybe();
|
||||
f32 bgV = 0.0f;
|
||||
if (field_0x10DD == 1) {
|
||||
bgV = 1.0f;
|
||||
}
|
||||
setAnmFrame(SAVE_ANIM_BG_V, bgV);
|
||||
f32 textV = 0.0f;
|
||||
if (mNumLines != 1) {
|
||||
textV = 1.0f;
|
||||
}
|
||||
setAnmFrame(SAVE_ANIM_TEXT_V, textV);
|
||||
setAnmFrame(SAVE_ANIM_WIN_POSITION, field_0x10B4);
|
||||
field_0x10DC = 0;
|
||||
}
|
||||
void dLytSaveMsgWindow_c::executeState_In() {
|
||||
if (field_0x10C0 != 0) {
|
||||
return;
|
||||
}
|
||||
s32 group = SAVE_ANIM_IN_0;
|
||||
if (field_0x10B8 == 1) {
|
||||
group = SAVE_ANIM_TEXT_IN;
|
||||
}
|
||||
d2d::AnmGroup_c &grp = mAnm[group];
|
||||
if (grp.isEndReached() == true) {
|
||||
updateSaveTextMaybe();
|
||||
mStateMgr.changeState(StateID_Wait);
|
||||
}
|
||||
grp.play();
|
||||
if (field_0x10B8 != 1) {
|
||||
mAnm[SAVE_ANIM_IN_1].play();
|
||||
}
|
||||
}
|
||||
void dLytSaveMsgWindow_c::finalizeState_In() {
|
||||
if (field_0x10B8 == 1) {
|
||||
unbindAnm(SAVE_ANIM_TEXT_IN);
|
||||
} else {
|
||||
unbindAnm(SAVE_ANIM_IN_0);
|
||||
unbindAnm(SAVE_ANIM_IN_1);
|
||||
}
|
||||
}
|
||||
|
||||
void dLytSaveMsgWindow_c::initializeState_Wait() {
|
||||
if (field_0x10B0 == 0) {
|
||||
field_0x10C0 = 10;
|
||||
} else {
|
||||
field_0x10C0 = 0;
|
||||
}
|
||||
}
|
||||
void dLytSaveMsgWindow_c::executeState_Wait() {
|
||||
if (field_0x10C0 == 0) {
|
||||
field_0x10C4 = mBtn.getField_0x9B4();
|
||||
field_0x10C8 = mBtn.getField_0x9B0();
|
||||
}
|
||||
if (field_0x10DB == 1) {
|
||||
field_0x10DB = 0;
|
||||
mStateMgr.changeState(StateID_Out);
|
||||
}
|
||||
if (field_0x10DA == 1) {
|
||||
field_0x10DA = 0;
|
||||
field_0x10C4 = -1;
|
||||
field_0x10C8 = -1;
|
||||
mStateMgr.changeState(StateID_In);
|
||||
}
|
||||
}
|
||||
void dLytSaveMsgWindow_c::finalizeState_Wait() {}
|
||||
|
||||
void dLytSaveMsgWindow_c::initializeState_Out() {
|
||||
field_0x10C0 = 0;
|
||||
if (field_0x10BC == 1) {
|
||||
setAnmFrame(SAVE_ANIM_TEXT_OUT, 0.0f);
|
||||
} else if (field_0x10BC == 2) {
|
||||
setAnmFrame(SAVE_ANIM_OUT_1, 0.0f);
|
||||
} else {
|
||||
setAnmFrame(SAVE_ANIM_OUT_0, 0.0f);
|
||||
setAnmFrame(SAVE_ANIM_OUT_1, 0.0f);
|
||||
}
|
||||
}
|
||||
void dLytSaveMsgWindow_c::executeState_Out() {
|
||||
s32 group = SAVE_ANIM_OUT_0;
|
||||
if (field_0x10BC == 1) {
|
||||
group = SAVE_ANIM_TEXT_OUT;
|
||||
} else if (field_0x10BC == 2) {
|
||||
group = SAVE_ANIM_OUT_1;
|
||||
}
|
||||
d2d::AnmGroup_c &grp = mAnm[group];
|
||||
switch (field_0x10C0) {
|
||||
case 0:
|
||||
if (grp.isEndReached() == true) {
|
||||
mWillFinishOut = 1;
|
||||
field_0x10C0 = 1;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (field_0x10BC == 1) {
|
||||
mStateMgr.changeState(StateID_Wait);
|
||||
} else {
|
||||
mStateMgr.changeState(StateID_Init);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
grp.play();
|
||||
if (field_0x10BC == 0) {
|
||||
mAnm[SAVE_ANIM_OUT_1].play();
|
||||
}
|
||||
}
|
||||
void dLytSaveMsgWindow_c::finalizeState_Out() {
|
||||
if (mBtn.getField_0x9A4() == 0) {
|
||||
mLyt.findPane("N_messageBtn_00")->SetVisible(false);
|
||||
}
|
||||
mWillFinishOut = 0;
|
||||
if (field_0x10BC == 1) {
|
||||
unbindAnm(SAVE_ANIM_TEXT_OUT);
|
||||
} else if (field_0x10BC == 2) {
|
||||
unbindAnm(SAVE_ANIM_OUT_1);
|
||||
} else {
|
||||
unbindAnm(SAVE_ANIM_OUT_0);
|
||||
unbindAnm(SAVE_ANIM_OUT_1);
|
||||
}
|
||||
}
|
||||
|
||||
void dLytSaveMsgWindow_c::resetProperties() {
|
||||
field_0x10D8 = 0;
|
||||
mWillFinishOut = 0;
|
||||
field_0x10DA = 0;
|
||||
field_0x10DB = 0;
|
||||
field_0x10C4 = -1;
|
||||
field_0x10C8 = -1;
|
||||
field_0x10C0 = 0;
|
||||
field_0x10B0 = 4;
|
||||
field_0x10B4 = 4;
|
||||
field_0x10B8 = 0;
|
||||
field_0x10BC = 0;
|
||||
mSaveobjId = -1;
|
||||
}
|
||||
|
||||
void dLytSaveMsgWindow_c::setAnmFrame(s32 group, f32 frame) {
|
||||
d2d::AnmGroup_c &anm = mAnm[group];
|
||||
anm.bind(false);
|
||||
anm.setAnimEnable(true);
|
||||
anm.setFrame(frame);
|
||||
}
|
||||
|
||||
void dLytSaveMsgWindow_c::unbindAnm(s32 group) {
|
||||
d2d::AnmGroup_c &anm = mAnm[group];
|
||||
anm.unbind();
|
||||
}
|
||||
|
||||
void dLytSaveMsgWindow_c::updateSaveTextMaybe() {
|
||||
// Redundant check, this is also checked internally
|
||||
if (field_0x10B0 != 0) {
|
||||
updateSaveText();
|
||||
}
|
||||
}
|
||||
|
||||
void dLytSaveMsgWindow_c::setupSaveTextMaybe() {
|
||||
const wchar_t *text = dMessage_c::getTextMessageByLabel(mLabel, true, nullptr, 0);
|
||||
dTextBox_c *box = mLyt.getTextBox("T_text_00");
|
||||
dTagProcessor_c *tagProcessor = dMessage_c::getGlobalTagProcessor();
|
||||
if (mSaveobjId != -1) {
|
||||
SizedString<32> name;
|
||||
if (mSaveobjId == 0xFF) {
|
||||
name = "SAVEOBJ_NAME_UNKNOWN";
|
||||
} else {
|
||||
name.sprintf("SAVEOBJ_NAME_%02d", mSaveobjId);
|
||||
}
|
||||
|
||||
if (tagProcessor != nullptr) {
|
||||
const wchar_t *objMsg = dMessage_c::getTextMessageByLabel(name, true, nullptr, 0);
|
||||
if (objMsg != nullptr) {
|
||||
tagProcessor->setStringArg(objMsg, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
mNumLines = box->calcTextLines(text, tagProcessor);
|
||||
if (mNumLines == 1) {
|
||||
box->SetLineSpace(0.0f);
|
||||
} else {
|
||||
box->SetLineSpace(mLineSpace);
|
||||
}
|
||||
box->setTextWithGlobalTextProcessor(text);
|
||||
dTextBox_c *boxShadow = mLyt.getTextBox("T_textS_00");
|
||||
if (mNumLines == 1) {
|
||||
boxShadow->SetLineSpace(0.0f);
|
||||
} else {
|
||||
boxShadow->SetLineSpace(mLineSpace);
|
||||
}
|
||||
boxShadow->setTextWithGlobalTextProcessor(text);
|
||||
mLyt.findPane("N_messageBtn_00")->SetVisible(false);
|
||||
}
|
||||
|
||||
void dLytSaveMsgWindow_c::updateSaveText() {
|
||||
if (field_0x10B0 == 0) {
|
||||
return;
|
||||
}
|
||||
mLyt.findPane("N_messageBtn_00")->SetVisible(true);
|
||||
s32 numOptions = 2;
|
||||
if (field_0x10B0 == 2) {
|
||||
numOptions = 3;
|
||||
} else if (field_0x10B0 == 3) {
|
||||
numOptions = 4;
|
||||
}
|
||||
for (s32 i = 0; i < numOptions; i++) {
|
||||
const wchar_t *text = dMessage_c::getGlobalTagProcessor()->getBuf(i);
|
||||
mBtn.getSelectTextBox(i, 0)->setTextWithGlobalTextProcessor(text);
|
||||
mBtn.getSelectTextBox(i, 1)->setTextWithGlobalTextProcessor(text);
|
||||
}
|
||||
|
||||
if (field_0x10B0 != 0) {
|
||||
mBtn.setTagProcessor(dMessage_c::getGlobalTagProcessor());
|
||||
static const u32 sInts[] = {0, 2, 3, 4};
|
||||
u32 unkInt = sInts[field_0x10B0];
|
||||
s32 f = dMessage_c::getGlobalTagProcessor()->getField_0x828();
|
||||
mBtn.setField_0x9BC(f);
|
||||
mBtn.setField_0x990(f);
|
||||
mBtn.fn_8011E5D0(unkInt, true);
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "d/lyt/d_screen_fader.h"
|
||||
|
||||
#include "d/d_d2d.h"
|
||||
#include "egg/gfx/eggDrawGX.h"
|
||||
#include "egg/gfx/eggScreen.h"
|
||||
#include "m/m_mtx.h"
|
||||
@@ -37,10 +38,8 @@ bool dScreenFader_c::calc() {
|
||||
return res;
|
||||
}
|
||||
|
||||
extern "C" void fn_80016200();
|
||||
|
||||
void dScreenFader_c::draw() {
|
||||
fn_80016200();
|
||||
d2d::defaultSet();
|
||||
EGG::DrawGX::BeginDrawScreen(false, false, true);
|
||||
f32 scaleX = EGG::Screen::GetSizeXMax();
|
||||
f32 scaleY = EGG::Screen::GetSizeYMax();
|
||||
|
||||
@@ -485,7 +485,7 @@ void dLytMsgWindow_c::initializeState_WaitKeySelectQuestion() {
|
||||
s32 tmp = mpTagProcessor->getField_0x828();
|
||||
mSelectBtn.setField_0x9BC(tmp);
|
||||
mSelectBtn.setField_0x990(tmp);
|
||||
mSelectBtn.setField_0x998(mpTagProcessor);
|
||||
mSelectBtn.setTagProcessor(mpTagProcessor);
|
||||
|
||||
wchar_t **buf = sBufs;
|
||||
|
||||
@@ -510,7 +510,7 @@ void dLytMsgWindow_c::executeState_WaitKeySelectQuestion() {
|
||||
mpTagProcessor->setField_0x90E(0);
|
||||
mpTagProcessor->setField_0x82C(-1);
|
||||
mpTagProcessor->setField_0x828(-1);
|
||||
mSelectBtn.setField_0x998(nullptr);
|
||||
mSelectBtn.setTagProcessor(nullptr);
|
||||
field_0x824 = 0;
|
||||
mTextOptionSelection = selection;
|
||||
field_0x1220 = 0;
|
||||
|
||||
@@ -490,7 +490,7 @@ bool dLytMsgWindowSelectBtn_c::build(d2d::ResAccIf_c *resAcc) {
|
||||
mBtnHelper.panes[7] = mpBoundings[2];
|
||||
mBtnHelper.panes[8] = mpBoundings[3];
|
||||
|
||||
field_0x9C4 = nullptr;
|
||||
field_0x9C4 = 0;
|
||||
|
||||
mLyt.findPane("N_arrowIn_00")->SetVisible(true);
|
||||
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
// clang-format off
|
||||
#include "sized_string.h"
|
||||
#include "toBeSorted/dowsing_target.h"
|
||||
#include "toBeSorted/nand_request_thread.h"
|
||||
#include "toBeSorted/save_manager.h"
|
||||
// clang-format on
|
||||
|
||||
// This class here makes no sense and the name might
|
||||
@@ -58,8 +60,8 @@ extern "C" {
|
||||
/* 80009EF0 */ FileManager *FileManager::create(EGG::Heap *heap) {
|
||||
return new (heap, 0x04) FileManager();
|
||||
}
|
||||
/* 80009F30 */ bool FileManager::loadSaveData(void *out, char *name, bool isSkipData) {}
|
||||
/* 80009F70 */ void FileManager::saveSaveData(void *unk, bool isSkipData) {}
|
||||
/* 80009F30 */ bool FileManager::loadSaveData(NandRequestWriteHolder *out, const char *name, bool isSkipData) {}
|
||||
/* 80009F70 */ void FileManager::saveSaveData(NandRequestLoadSaveFileHolder *unk, bool isSkipData) {}
|
||||
/* 8000A000 */ void FileManager::refreshSaveFileData() {}
|
||||
/* 8000A260 */ wchar_t *FileManager::getFileHeroname(int fileNum) {}
|
||||
/* 8000A280 */ s64 FileManager::getFileSaveTime(int fileNum) {}
|
||||
@@ -344,7 +346,7 @@ u16 *FileManager::getStoryFlagsMut() {
|
||||
}
|
||||
|
||||
/* 80010000 */ void FileManager::initBlankSaveFiles() {
|
||||
memset(mpSavedSaveFiles, 0, 0xfbe0);
|
||||
memset(mpSavedSaveFiles, 0, sizeof(SavedSaveFiles));
|
||||
mSelectedFile = 0;
|
||||
memset(mIsFileEmpty, 0, 3);
|
||||
SkipData *data;
|
||||
@@ -409,7 +411,7 @@ u16 *FileManager::getStoryFlagsMut() {
|
||||
}
|
||||
|
||||
/* 800101F0 */ void FileManager::unsetFileANewFile() {}
|
||||
/* 80010220 */ void FileManager::saveT1SaveInfo(u8 entranceT1LoadFlag) {}
|
||||
/* 80010220 */ void FileManager::saveT1SaveInfo(bool entranceT1LoadFlag) {}
|
||||
/* 80010350 */ void FileManager::copyFileSkipData(int fileNum) {}
|
||||
extern "C" void fn_800C01F0(); // todo flag managers
|
||||
/* 80010440 */ void FileManager::clearTempFileData() {
|
||||
@@ -449,7 +451,7 @@ extern "C" void fn_800C01F0(); // todo flag managers
|
||||
}
|
||||
/* 80011370 */ bool FileManager::isFileEmpty(u8 fileNum) {}
|
||||
/* 80011390 */ bool FileManager::isFileDirty(int fileNum) {}
|
||||
/* 800113B0 */ u8 FileManager::get_0xA84C() {}
|
||||
/* 800113B0 */ u32 FileManager::get_0xA84C() {}
|
||||
/* 800113C0 */ bool FileManager::checkRegionCode() {}
|
||||
/* 80011440 */ bool FileManager::checkFileCRC(u8 fileNum) {}
|
||||
/* 80011490 */
|
||||
|
||||
@@ -157,9 +157,6 @@ const char *splitComponent(const char *inPath, char *outPath, size_t size) {
|
||||
return inPath + 1;
|
||||
}
|
||||
|
||||
extern "C" NANDResult NANDChangeDir(const char *path);
|
||||
extern "C" NANDResult NANDCreateDir(const char *path, u8 perm, u8 attr);
|
||||
|
||||
bool NandRequestCreate::execute() {
|
||||
char homeDir[64];
|
||||
char pathComponent[64];
|
||||
@@ -210,10 +207,6 @@ NandRequestWrite::NandRequestWrite(const char *someString, void *data, size_t da
|
||||
mFilePath = someString;
|
||||
}
|
||||
|
||||
extern "C" NANDResult NANDSimpleSafeOpen(const char *path, NANDFileInfo *outInfo, int, void *buf, size_t bufLen);
|
||||
extern "C" NANDResult NANDSimpleSafeCancel(NANDFileInfo *info);
|
||||
extern "C" NANDResult NANDSimpleSafeClose(NANDFileInfo *info);
|
||||
|
||||
bool NandRequestWrite::execute() {
|
||||
NANDFileInfo info;
|
||||
mStatus = NANDSimpleSafeOpen(
|
||||
@@ -253,14 +246,14 @@ bool NandRequestHolderBase::isCompleted() const {
|
||||
return true;
|
||||
}
|
||||
|
||||
NANDResult NandRequestHolderBase::getStatus() const {
|
||||
NANDResult NandRequestHolderBase::getResult() const {
|
||||
if (mpRequest != nullptr) {
|
||||
return mpRequest->getStatus();
|
||||
}
|
||||
return NAND_RESULT_BUSY;
|
||||
}
|
||||
|
||||
bool NandRequestHolderBase::runToCompletion() {
|
||||
bool NandRequestHolderBase::finish() {
|
||||
if (mpRequest == nullptr) {
|
||||
return true;
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user