summaryrefslogtreecommitdiff
path: root/src/d
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2022-04-10 15:29:28 -0700
committerGitHub <noreply@github.com>2022-04-10 18:29:28 -0400
commitdd8899033b0b70a262f4c89153ede57ceac9878e (patch)
tree7561c505910eff998933f1000f6439ca530bae7c /src/d
parent02c7a47f133add5e4c1d8d7f88d1a7bddc13d9ad (diff)
d_s_logo (#188)
* d_s_logo * match fpcM_Management * asm
Diffstat (limited to 'src/d')
-rw-r--r--src/d/d_drawlist.cpp15
-rw-r--r--src/d/menu/d_menu_dmap.cpp6
-rw-r--r--src/d/s/d_s_logo.cpp1375
3 files changed, 621 insertions, 775 deletions
diff --git a/src/d/d_drawlist.cpp b/src/d/d_drawlist.cpp
index 200e2f485b..4833a9c046 100644
--- a/src/d/d_drawlist.cpp
+++ b/src/d/d_drawlist.cpp
@@ -44,11 +44,6 @@ struct dDlst_2Dm_c {
/* 8005312C */ void draw();
};
-struct dDlst_2D_c {
- /* 80053A00 */ dDlst_2D_c(ResTIMG*, s16, s16, s16, s16, u8);
- /* 80053A9C */ void draw();
-};
-
struct dDlst_2DTri_c {
/* 80051AF0 */ void draw();
};
@@ -102,13 +97,6 @@ struct J3DUClipper {
/* 80273A44 */ void clip(f32 const (*)[4], Vec*, Vec*) const;
};
-struct J2DPicture {
- /* 800539DC */ void getTexture(u8) const;
- /* 80053C44 */ void setWhite(JUtility::TColor);
- /* 80053C6C */ void setBlack(JUtility::TColor);
- /* 802FC050 */ J2DPicture();
-};
-
//
// Forward References:
//
@@ -2156,7 +2144,8 @@ asm dDlst_2D_c::dDlst_2D_c(ResTIMG* param_0, s16 param_1, s16 param_2, s16 param
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dDlst_2D_c::draw() {
+// asm void dDlst_2D_c::draw() {
+extern "C" asm void draw__10dDlst_2D_cFv() {
nofralloc
#include "asm/d/d_drawlist/draw__10dDlst_2D_cFv.s"
}
diff --git a/src/d/menu/d_menu_dmap.cpp b/src/d/menu/d_menu_dmap.cpp
index f672982e0a..29af0cfc34 100644
--- a/src/d/menu/d_menu_dmap.cpp
+++ b/src/d/menu/d_menu_dmap.cpp
@@ -72,12 +72,6 @@ struct dMeterHaihai_c {
/* 8020BC20 */ void setScale(f32);
};
-struct J2DPicture {
- /* 801BDD40 */ void append(ResTIMG const*, f32);
- /* 801BDD70 */ void insert(ResTIMG const*, u8, f32);
- /* 802FC708 */ J2DPicture(ResTIMG const*);
-};
-
struct JMSMesgEntry_c {};
struct dMeter2Info_c {
diff --git a/src/d/s/d_s_logo.cpp b/src/d/s/d_s_logo.cpp
index ac37784aa4..7e1081a6d6 100644
--- a/src/d/s/d_s_logo.cpp
+++ b/src/d/s/d_s_logo.cpp
@@ -4,185 +4,23 @@
//
#include "d/s/d_s_logo.h"
+#include "JSystem/JKernel/JKRAram.h"
+#include "c/c_dylink.h"
+#include "d/d_procname.h"
#include "dol2asm.h"
#include "dolphin/types.h"
+#include "m_Do/m_Do_audio.h"
+#include "m_Do/m_Do_machine.h"
//
// Types:
//
-struct scene_class {};
+class dEnemyItem_c {
+public:
+ static void setItemData(u8* data) { mData = data; }
-struct request_of_phase_process_class {};
-
-struct mDoRst {
- static u8 mResetData[4 + 4 /* padding */];
-};
-
-struct mDoMch_render_c {
- static void* mRenderModeObj[1 + 1 /* padding */];
-};
-
-struct mDoGph_gInf_c {
- static u8 mFader[4];
-};
-
-struct JKRHeap {
- /* 802CE438 */ void becomeCurrentHeap();
- /* 802CE448 */ void destroy();
- /* 802CE4D4 */ void alloc(u32, int);
- /* 802CE500 */ void free(void*, JKRHeap*);
-};
-
-struct mDoDvdThd_toMainRam_c {
- /* 80016394 */ void create(char const*, u8, JKRHeap*);
-};
-
-struct JKRArchive {
- struct EMountMode {};
-};
-
-struct mDoDvdThd_mountXArchive_c {
- /* 800161E0 */ void create(char const*, u8, JKRArchive::EMountMode, JKRHeap*);
-};
-
-struct mDoCPd_c {
- static u8 m_cpadInfo[256];
-};
-
-struct dTres_c {
- /* 8009BBD8 */ void createWork();
-};
-
-struct dScnLogo_c {
- /* 802560B4 */ void preLoad_dyl_create();
- /* 802560F8 */ void preLoad_dyl_remove();
- /* 8025611C */ void preLoad_dyl();
- /* 80256198 */ void checkProgSelect();
- /* 80256210 */ void draw();
- /* 80256264 */ void progInDraw();
- /* 8025631C */ void progSelDraw();
- /* 802568E0 */ void progOutDraw();
- /* 80256A3C */ void progSetDraw();
- /* 80256AC0 */ void progSet2Draw();
- /* 80256B3C */ void progChangeDraw();
- /* 80256BF4 */ void warningInDraw();
- /* 80256C68 */ void warningDispDraw();
- /* 80256DC4 */ void warningOutDraw();
- /* 80256E48 */ void nintendoInDraw();
- /* 80256ECC */ void nintendoOutDraw();
- /* 80256F50 */ void dolbyInDraw();
- /* 80256FD4 */ void dolbyOutDraw();
- /* 80257058 */ void dolbyOutDraw2();
- /* 80257070 */ void dvdWaitDraw();
- /* 80257284 */ void nextSceneChange();
- /* 802572B8 */ ~dScnLogo_c();
- /* 80257AE0 */ void create();
- /* 80257C64 */ void logoInitGC();
- /* 80257FEC */ void dvdDataLoad();
- /* 802584D8 */ void setProgressiveMode(u8);
- /* 802584FC */ void getProgressiveMode();
- /* 80258520 */ void isProgressiveMode();
- /* 8025854C */ void setRenderMode();
-};
-
-struct dRes_info_c {};
-
-struct dRes_control_c {
- /* 8003C078 */ void setRes(char const*, dRes_info_c*, int, char const*, u8, JKRHeap*);
- /* 8003C194 */ void deleteRes(char const*, dRes_info_c*, int);
- /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
- /* 8003C470 */ void syncAllRes(dRes_info_c*, int);
-};
-
-struct dPa_control_c {
- /* 8004BB78 */ void createCommon(void const*);
-};
-
-struct dMpath_c {
- /* 8003F7E8 */ void createWork();
-};
-
-struct dLog_HIO_c {
- /* 802560A4 */ dLog_HIO_c();
- /* 8025855C */ ~dLog_HIO_c();
-};
-
-struct dEnemyItem_c {
- static u8 mData[4 + 4 /* padding */];
-};
-
-struct ResTIMG {};
-
-struct dDlst_shadowControl_c {
- /* 80055FE8 */ void setSimpleTex(ResTIMG const*);
-};
-
-struct dDlst_base_c {};
-
-struct dDlst_list_c {
- /* 80056794 */ void set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*);
-};
-
-struct dDlst_2D_c {
- /* 80053A00 */ dDlst_2D_c(ResTIMG*, s16, s16, s16, s16, u8);
-};
-
-struct dComIfG_play_c {
- /* 8002C9D8 */ void createParticle();
-};
-
-struct cDylPhs {
- /* 8001884C */ void Link(request_of_phase_process_class*, s16);
-};
-
-struct JAISoundID {};
-
-struct Vec {};
-
-struct Z2SeMgr {
- /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
-};
-
-struct Z2SceneMgr {
- /* 802BA56C */ void loadStaticWaves();
- /* 802BA5C0 */ bool checkFirstWaves();
-};
-
-struct Z2AudioMgr {
- /* 802CD974 */ void resetProcess(u32, bool);
-
- static u8 mAudioMgrPtr[4 + 4 /* padding */];
-};
-
-struct JUTGamePad {
- struct C3ButtonReset {
- static u8 sCallback[4];
- static u8 sCallbackArg[4 + 4 /* padding */];
- };
-};
-
-struct JKRExpHeap {
- /* 802CEF00 */ void create(void*, u32, JKRHeap*, bool);
- /* 802CEE2C */ void create(u32, JKRHeap*, bool);
-};
-
-struct JKRAramHeap {
- /* 802D31AC */ void getTotalFreeSize();
-};
-
-struct JKRAram {
- static u8 sAramObject[4];
-};
-
-struct JFWDisplay {
- /* 80272C60 */ void waitBlanking(int);
-
- static u8 sManager[4];
-};
-
-struct J2DPicture {
- /* 802FCFF0 */ ~J2DPicture();
+ static u8* mData;
};
//
@@ -229,7 +67,7 @@ extern "C" void getProgressiveMode__10dScnLogo_cFv();
extern "C" void isProgressiveMode__10dScnLogo_cFv();
extern "C" void setRenderMode__10dScnLogo_cFv();
extern "C" void __dt__10dLog_HIO_cFv();
-extern "C" void func_802585A4(void* _this, u16*);
+extern "C" void func_802585A4(u16*);
extern "C" void __sinit_d_s_logo_cpp();
extern "C" extern char const* const d_s_d_s_logo__stringBase0;
@@ -237,7 +75,6 @@ extern "C" extern char const* const d_s_d_s_logo__stringBase0;
// External References:
//
-SECTION_INIT void memset();
extern "C" void mDoExt_getGameHeap__Fv();
extern "C" void mDoExt_getJ2dHeap__Fv();
extern "C" void mDoExt_setCurrentHeap__FP7JKRHeap();
@@ -282,9 +119,9 @@ extern "C" void create__10JKRExpHeapFUlP7JKRHeapb();
extern "C" void create__10JKRExpHeapFPvUlP7JKRHeapb();
extern "C" void getTotalFreeSize__11JKRAramHeapFv();
extern "C" void __dt__10J2DPictureFv();
-extern "C" void OSGetProgressiveMode();
-extern "C" void OSSetProgressiveMode();
-extern "C" void VIGetDTVStatus();
+extern "C" u32 OSGetProgressiveMode();
+extern "C" void OSSetProgressiveMode(u32);
+extern "C" u32 VIGetDTVStatus();
extern "C" void __register_global_object();
extern "C" void __ptmf_scall();
extern "C" void _savegpr_26();
@@ -295,17 +132,12 @@ extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
-extern "C" extern u8 g_ntscZeldaProg[60];
extern "C" extern void* g_fopScn_Method[5 + 1 /* padding */];
extern "C" extern void* g_fpcNd_Method[5 + 1 /* padding */];
extern "C" extern void* __vt__10dDlst_2D_c[3];
extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
-extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" void* mRenderModeObj__15mDoMch_render_c[1 + 1 /* padding */];
-extern "C" extern u32 g_blackColor;
-extern "C" extern u8 struct_80450BB8[4];
extern "C" u8 mFader__13mDoGph_gInf_c[4];
-extern "C" extern u8 archiveHeap[4];
extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
extern "C" u8 mData__12dEnemyItem_c[4 + 4 /* padding */];
extern "C" u8 sManager__10JFWDisplay[4];
@@ -313,7 +145,6 @@ extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
extern "C" u8 sAramObject__7JKRAram[4];
extern "C" u8 sCallback__Q210JUTGamePad13C3ButtonReset[4];
extern "C" u8 sCallbackArg__Q210JUTGamePad13C3ButtonReset[4 + 4 /* padding */];
-extern "C" extern u8 struct_80451500[4];
//
// Declarations:
@@ -325,601 +156,671 @@ SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
-/* 803C2E44-803C2E50 -00001 000C+00 0/1 0/0 0/0 .data @3737 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3737[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)warningInDraw__10dScnLogo_cFv,
-};
-#pragma pop
-
-/* 803C2E50-803C2E5C -00001 000C+00 0/1 0/0 0/0 .data @3738 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3738[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)warningDispDraw__10dScnLogo_cFv,
-};
-#pragma pop
-
-/* 803C2E5C-803C2E68 -00001 000C+00 0/1 0/0 0/0 .data @3739 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3739[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)warningOutDraw__10dScnLogo_cFv,
-};
-#pragma pop
-
-/* 803C2E68-803C2E74 -00001 000C+00 0/1 0/0 0/0 .data @3740 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3740[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)nintendoInDraw__10dScnLogo_cFv,
-};
-#pragma pop
-
-/* 803C2E74-803C2E80 -00001 000C+00 0/1 0/0 0/0 .data @3741 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3741[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)nintendoOutDraw__10dScnLogo_cFv,
-};
-#pragma pop
-
-/* 803C2E80-803C2E8C -00001 000C+00 0/1 0/0 0/0 .data @3742 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3742[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)dolbyInDraw__10dScnLogo_cFv,
-};
-#pragma pop
-
-/* 803C2E8C-803C2E98 -00001 000C+00 0/1 0/0 0/0 .data @3743 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3743[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)dolbyOutDraw__10dScnLogo_cFv,
-};
-#pragma pop
-
-/* 803C2E98-803C2EA4 -00001 000C+00 0/1 0/0 0/0 .data @3744 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3744[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)dolbyOutDraw2__10dScnLogo_cFv,
-};
-#pragma pop
-
-/* 803C2EA4-803C2EB0 -00001 000C+00 0/1 0/0 0/0 .data @3745 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3745[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)progInDraw__10dScnLogo_cFv,
-};
-#pragma pop
-
-/* 803C2EB0-803C2EBC -00001 000C+00 0/1 0/0 0/0 .data @3746 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3746[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)progSelDraw__10dScnLogo_cFv,
-};
-#pragma pop
-
-/* 803C2EBC-803C2EC8 -00001 000C+00 0/1 0/0 0/0 .data @3747 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3747[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)progOutDraw__10dScnLogo_cFv,
-};
-#pragma pop
-
-/* 803C2EC8-803C2ED4 -00001 000C+00 0/1 0/0 0/0 .data @3748 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3748[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)progSetDraw__10dScnLogo_cFv,
-};
-#pragma pop
-
-/* 803C2ED4-803C2EE0 -00001 000C+00 0/1 0/0 0/0 .data @3749 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3749[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)progSet2Draw__10dScnLogo_cFv,
-};
-#pragma pop
-
-/* 803C2EE0-803C2EEC -00001 000C+00 0/1 0/0 0/0 .data @3750 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3750[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)progChangeDraw__10dScnLogo_cFv,
-};
-#pragma pop
-
-/* 803C2EEC-803C2EF8 -00001 000C+00 0/1 0/0 0/0 .data @3751 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3751[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)dvdWaitDraw__10dScnLogo_cFv,
-};
-#pragma pop
-
-/* 803C2EF8-803C2F04 -00001 000C+00 0/1 0/0 0/0 .data @3752 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_3752[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)nextSceneChange__10dScnLogo_cFv,
-};
-#pragma pop
-
-/* 803C2F04-803C2FC4 020024 00C0+00 1/2 0/0 0/0 .data l_execFunc */
-SECTION_DATA static u8 l_execFunc[192] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-
-/* 803C2FC4-803C2FD0 -00001 000C+00 1/1 0/0 0/0 .data l_method$4611 */
-SECTION_DATA static void* l_method[3] = {
- (void*)phase_0__FP10dScnLogo_c,
- (void*)phase_1__FP10dScnLogo_c,
- (void*)phase_2__FP10dScnLogo_c,
-};
-
-/* 803C2FD0-803C2FE4 -00001 0014+00 1/0 0/0 0/0 .data l_dScnLogo_Method */
-SECTION_DATA static void* l_dScnLogo_Method[5] = {
- (void*)dScnLogo_Create__FP11scene_class, (void*)dScnLogo_Delete__FP10dScnLogo_c,
- (void*)dScnLogo_Execute__FP10dScnLogo_c, (void*)dScnLogo_IsDelete__FP10dScnLogo_c,
- (void*)dScnLogo_Draw__FP10dScnLogo_c,
-};
-
-/* 803C2FE4-803C300C -00001 0028+00 0/0 0/0 1/0 .data g_profile_LOGO_SCENE */
-SECTION_DATA extern void* g_profile_LOGO_SCENE[10] = {
- (void*)NULL,
- (void*)0x0001FFFD,
- (void*)0x00090000,
- (void*)&g_fpcNd_Method,
- (void*)0x000002A8,
- (void*)NULL,
- (void*)NULL,
- (void*)&g_fopScn_Method,
- (void*)&l_dScnLogo_Method,
- (void*)NULL,
-};
+/* 804510E8-804510F0 0005E8 0008+00 1/1 0/0 0/0 .sbss g_LogHIO */
+static dLog_HIO_c g_LogHIO;
-/* 803C300C-803C3018 02012C 000C+00 2/2 0/0 0/0 .data __vt__10dLog_HIO_c */
-SECTION_DATA extern void* __vt__10dLog_HIO_c[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__10dLog_HIO_cFv,
+typedef void (dScnLogo_c::*execFunc)();
+SECTION_DATA static execFunc l_execFunc[16] = {
+ &dScnLogo_c::warningInDraw, &dScnLogo_c::warningDispDraw, &dScnLogo_c::warningOutDraw,
+ &dScnLogo_c::nintendoInDraw, &dScnLogo_c::nintendoOutDraw, &dScnLogo_c::dolbyInDraw,
+ &dScnLogo_c::dolbyOutDraw, &dScnLogo_c::dolbyOutDraw2, &dScnLogo_c::progInDraw,
+ &dScnLogo_c::progSelDraw, &dScnLogo_c::progOutDraw, &dScnLogo_c::progSetDraw,
+ &dScnLogo_c::progSet2Draw, &dScnLogo_c::progChangeDraw, &dScnLogo_c::dvdWaitDraw,
+ &dScnLogo_c::nextSceneChange,
};
/* 802560A4-802560B4 2509E4 0010+00 1/1 0/0 0/0 .text __ct__10dLog_HIO_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dLog_HIO_c::dLog_HIO_c() {
- nofralloc
-#include "asm/d/s/d_s_logo/__ct__10dLog_HIO_cFv.s"
-}
-#pragma pop
+dLog_HIO_c::dLog_HIO_c() {}
/* 802560B4-802560F8 2509F4 0044+00 1/1 0/0 0/0 .text preLoad_dyl_create__10dScnLogo_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnLogo_c::preLoad_dyl_create() {
- nofralloc
-#include "asm/d/s/d_s_logo/preLoad_dyl_create__10dScnLogo_cFv.s"
+void dScnLogo_c::preLoad_dyl_create() {
+ m_preLoad_dylPhase = new request_of_phase_process_class[14];
+ memset(m_preLoad_dylPhase, 0, sizeof(request_of_phase_process_class) * 14);
}
-#pragma pop
/* 802560F8-8025611C 250A38 0024+00 1/1 0/0 0/0 .text preLoad_dyl_remove__10dScnLogo_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnLogo_c::preLoad_dyl_remove() {
- nofralloc
-#include "asm/d/s/d_s_logo/preLoad_dyl_remove__10dScnLogo_cFv.s"
+void dScnLogo_c::preLoad_dyl_remove() {
+ delete[] m_preLoad_dylPhase;
}
-#pragma pop
/* ############################################################################################## */
/* 80399FE0-80399FFC 026640 001C+00 1/1 0/0 0/0 .rodata l_preLoad_dylKeyTbl */
-SECTION_RODATA static u8 const l_preLoad_dylKeyTbl[28] = {
- 0x02, 0xDC, 0x02, 0xCE, 0x02, 0x21, 0x00, 0xF2, 0x02, 0x1B, 0x02, 0xF4, 0x01, 0x39,
- 0x01, 0x5A, 0x02, 0xE4, 0x00, 0xFE, 0x03, 0x08, 0x03, 0x0F, 0x00, 0xFF, 0x01, 0x3F,
+SECTION_RODATA static s16 const l_preLoad_dylKeyTbl[14] = {
+ 0x02DC, 0x02CE, 0x0221, 0x00F2, 0x021B, 0x02F4, 0x0139,
+ 0x015A, 0x02E4, 0x00FE, 0x0308, 0x030F, 0x00FF, 0x013F,
};
COMPILER_STRIP_GATE(0x80399FE0, &l_preLoad_dylKeyTbl);
/* 8025611C-80256198 250A5C 007C+00 2/2 0/0 0/0 .text preLoad_dyl__10dScnLogo_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnLogo_c::preLoad_dyl() {
- nofralloc
-#include "asm/d/s/d_s_logo/preLoad_dyl__10dScnLogo_cFv.s"
+bool dScnLogo_c::preLoad_dyl() {
+ bool ret = 1;
+
+ for (int i = 0; i < 14; i++) {
+ int link = cDylPhs::Link(&m_preLoad_dylPhase[i], l_preLoad_dylKeyTbl[i]);
+
+ if (link != 4) {
+ ret = 0;
+ }
+ }
+
+ return ret;
}
-#pragma pop
/* 80256198-80256210 250AD8 0078+00 1/1 0/0 0/0 .text checkProgSelect__10dScnLogo_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnLogo_c::checkProgSelect() {
- nofralloc
-#include "asm/d/s/d_s_logo/checkProgSelect__10dScnLogo_cFv.s"
+void dScnLogo_c::checkProgSelect() {
+ if (mDoRst::getProgSeqFlag() == 0 && VIGetDTVStatus() != 0) {
+ if (isProgressiveMode() || mDoCPd_c::getHoldB(0)) {
+ field_0x20a = 1;
+ field_0x209 = 0;
+ }
+ }
}
-#pragma pop
/* 80256210-80256264 250B50 0054+00 1/1 0/0 0/0 .text draw__10dScnLogo_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnLogo_c::draw() {
- nofralloc
-#include "asm/d/s/d_s_logo/draw__10dScnLogo_cFv.s"
+int dScnLogo_c::draw() {
+ cLib_calcTimer<u16>(&mTimer);
+ (this->*l_execFunc[mExecCommand])();
+ return 1;
}
-#pragma pop
/* 80256264-8025631C 250BA4 00B8+00 1/0 0/0 0/0 .text progInDraw__10dScnLogo_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnLogo_c::progInDraw() {
- nofralloc
-#include "asm/d/s/d_s_logo/progInDraw__10dScnLogo_cFv.s"
-}
-#pragma pop
+void dScnLogo_c::progInDraw() {
+ dComIfGd_set2DOpa(mProgressiveChoice);
+ dComIfGd_set2DOpa(mProgressiveYes);
+ dComIfGd_set2DOpa(mProgressiveNo);
-/* ############################################################################################## */
-/* 80454ED8-80454EDC 0034D8 0004+00 1/1 0/0 0/0 .sdata2 @3933 */
-SECTION_SDATA2 static f32 lit_3933 = 0.5f;
-
-/* 80454EDC-80454EE0 0034DC 0004+00 2/2 0/0 0/0 .sdata2 @3934 */
-SECTION_SDATA2 static f32 lit_3934 = 1.0f;
-
-/* 80454EE0-80454EE4 0034E0 0004+00 1/1 0/0 0/0 .sdata2 @3935 */
-SECTION_SDATA2 static f32 lit_3935 = -1.0f;
-
-/* 80454EE4-80454EE8 0034E4 0004+00 1/1 0/0 0/0 .sdata2 @3936 */
-SECTION_SDATA2 static f32 lit_3936 = -0.5f;
-
-/* 80454EE8-80454EEC 0034E8 0004+00 2/2 0/0 0/0 .sdata2 @3937 */
-SECTION_SDATA2 static f32 lit_3937 = 255.0f;
-
-/* 80454EEC-80454EF0 0034EC 0004+00 1/1 0/0 0/0 .sdata2 @3938 */
-SECTION_SDATA2 static f32 lit_3938 = 200.0f;
-
-/* 80454EF0-80454EF8 0034F0 0008+00 2/2 0/0 0/0 .sdata2 @3940 */
-SECTION_SDATA2 static f64 lit_3940 = 4503599627370496.0 /* cast u32 to float */;
+ if (mTimer == 0) {
+ mExecCommand = EXEC_PROG_SEL;
+ mTimer = 600;
+ field_0x20e = 30;
+ field_0x210 = field_0x20e;
+ field_0x212 = 0;
+ field_0x20b = 0;
+ }
+}
/* 8025631C-802568E0 250C5C 05C4+00 1/0 0/0 0/0 .text progSelDraw__10dScnLogo_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnLogo_c::progSelDraw() {
- nofralloc
-#include "asm/d/s/d_s_logo/progSelDraw__10dScnLogo_cFv.s"
+void dScnLogo_c::progSelDraw() {
+ dComIfGd_set2DOpa(mProgressiveChoice);
+ dComIfGd_set2DOpa(mProgressiveYes);
+ dComIfGd_set2DOpa(mProgressiveNo);
+
+ if (field_0x20b == 0) {
+ if (field_0x209 == 0) {
+ if (mDoCPd_c::getHoldRight(0) || mDoCPd_c::getStickX(0) > 0.5f) {
+ mDoAud_seStart(Z2SE_SY_MENU_CURSOR_COMMON, NULL, 0, 0);
+ field_0x209 = 1;
+ field_0x20e = 30;
+ field_0x210 = field_0x20e;
+ field_0x212 = 0;
+ }
+ } else {
+ if (mDoCPd_c::getHoldLeft(0) || mDoCPd_c::getStickX(0) < -0.5f) {
+ mDoAud_seStart(Z2SE_SY_MENU_CURSOR_COMMON, NULL, 0, 0);
+ field_0x209 = 0;
+ field_0x20e = 30;
+ field_0x210 = field_0x20e;
+ field_0x212 = 0;
+ }
+ }
+
+ if (mDoCPd_c::getTrigA(0) || mTimer == 0) {
+ if (field_0x209 == 0) {
+ mProgressiveSel->getPicture()->changeTexture(mProgressivePro, 0);
+ setProgressiveMode(1);
+ mDoRst::setProgChgFlag(1);
+ mDoAud_seStart(Z2SE_SY_CURSOR_OK, NULL, 0, 0);
+ } else {
+ mProgressiveSel->getPicture()->changeTexture(mProgressiveInter, 0);
+ setProgressiveMode(0);
+ mDoAud_seStart(Z2SE_SY_CURSOR_OK, NULL, 0, 0);
+ }
+
+ if (mTimer > 540) {
+ field_0x20b = 1;
+ field_0x214 = mTimer - 540;
+ } else {
+ mExecCommand = EXEC_PROG_OUT;
+ mTimer = 30;
+ mDoGph_gInf_c::startFadeOut(mTimer);
+ field_0x20e = 30;
+ field_0x210 = field_0x20e;
+ field_0x212 = 0;
+ }
+ mDoRst::setProgSeqFlag(1);
+ }
+ } else {
+ if (field_0x214 == 0) {
+ mExecCommand = EXEC_PROG_OUT;
+ mTimer = 30;
+ mDoGph_gInf_c::startFadeOut(30);
+ field_0x20e = 30;
+ field_0x210 = field_0x20e;
+ field_0x212 = 0;
+ } else {
+ field_0x214--;
+ }
+ }
+
+ f32 alpha = (f32)field_0x210 / (f32)field_0x20e;
+ if (field_0x212 != 0) {
+ alpha = 1.0f - alpha;
+ }
+ u8 r = alpha * 255.0f;
+ u8 g = alpha * 200.0f;
+
+ if (field_0x209 != 0) {
+ mProgressiveYes->getPicture()->setWhite(JUtility::TColor(160, 160, 160, 255));
+ mProgressiveYes->getPicture()->setBlack(JUtility::TColor(0, 0, 0, 0));
+
+ mProgressiveNo->getPicture()->setWhite(JUtility::TColor(255, 200, 0, 255));
+ mProgressiveNo->getPicture()->setBlack(JUtility::TColor(r, g, 0, 0));
+ } else {
+ mProgressiveYes->getPicture()->setWhite(JUtility::TColor(255, 200, 0, 255));
+ mProgressiveYes->getPicture()->setBlack(JUtility::TColor(r, g, 0, 0));
+
+ mProgressiveNo->getPicture()->setWhite(JUtility::TColor(160, 160, 160, 255));
+ mProgressiveNo->getPicture()->setBlack(JUtility::TColor(0, 0, 0, 0));
+ }
+
+ if (field_0x210 == 0) {
+ field_0x210 = field_0x20e;
+ field_0x212 ^= 1;
+ } else {
+ field_0x210--;
+ }
}
-#pragma pop
/* 802568E0-80256A3C 251220 015C+00 1/0 0/0 0/0 .text progOutDraw__10dScnLogo_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnLogo_c::progOutDraw() {
- nofralloc
-#include "asm/d/s/d_s_logo/progOutDraw__10dScnLogo_cFv.s"
+void dScnLogo_c::progOutDraw() {
+ dComIfGd_set2DOpa(mProgressiveChoice);
+ dComIfGd_set2DOpa(mProgressiveYes);
+ dComIfGd_set2DOpa(mProgressiveNo);
+
+ if (mTimer == 0) {
+ if (field_0x218 != 0 && field_0x209 == 0) {
+ mExecCommand = EXEC_PROG_CHANGE;
+ mTimer = 150;
+ } else if (field_0x218 == 0 && field_0x209 != 0) {
+ if (mDoRst::getWarningDispFlag() != 0) {
+ mTimer = 90;
+ mExecCommand = EXEC_NINTENDO_IN;
+ } else {
+ mTimer = 120;
+ mExecCommand = EXEC_WARNING_IN;
+ }
+
+ mDoGph_gInf_c::startFadeIn(30);
+ } else {
+ mExecCommand = EXEC_PROG_SET;
+ mTimer = 150;
+ mDoGph_gInf_c::startFadeIn(30);
+ }
+ }
}
-#pragma pop
/* 80256A3C-80256AC0 25137C 0084+00 1/0 0/0 0/0 .text progSetDraw__10dScnLogo_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnLogo_c::progSetDraw() {
- nofralloc
-#include "asm/d/s/d_s_logo/progSetDraw__10dScnLogo_cFv.s"
+void dScnLogo_c::progSetDraw() {
+ dComIfGd_set2DOpa(mProgressiveSel);
+
+ if (mTimer == 0) {
+ mExecCommand = EXEC_PROG_SET2;
+ mTimer = 30;
+ mDoGph_gInf_c::startFadeOut(30);
+ }
}
-#pragma pop
/* 80256AC0-80256B3C 251400 007C+00 1/0 0/0 0/0 .text progSet2Draw__10dScnLogo_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnLogo_c::progSet2Draw() {
- nofralloc
-#include "asm/d/s/d_s_logo/progSet2Draw__10dScnLogo_cFv.s"
+void dScnLogo_c::progSet2Draw() {
+ dComIfGd_set2DOpa(mProgressiveSel);
+
+ if (mTimer == 0) {
+ if (getProgressiveMode() != 0) {
+ mTimer = 150;
+ } else {
+ mTimer = 30;
+ }
+
+ mExecCommand = EXEC_PROG_CHANGE;
+ }
}
-#pragma pop
/* 80256B3C-80256BF4 25147C 00B8+00 1/0 0/0 0/0 .text progChangeDraw__10dScnLogo_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnLogo_c::progChangeDraw() {
- nofralloc
-#include "asm/d/s/d_s_logo/progChangeDraw__10dScnLogo_cFv.s"
+void dScnLogo_c::progChangeDraw() {
+ if (getProgressiveMode() != 0 && mTimer == 90 && field_0x209 == 0) {
+ setRenderMode();
+ }
+
+ if (mTimer == 0) {
+ if (mDoRst::getWarningDispFlag() != 0) {
+ mTimer = 90;
+ mExecCommand = EXEC_NINTENDO_IN;
+ } else {
+ mTimer = 120;
+ mExecCommand = EXEC_WARNING_IN;
+ }
+
+ mDoGph_gInf_c::startFadeIn(30);
+ }
}
-#pragma pop
/* 80256BF4-80256C68 251534 0074+00 1/0 0/0 0/0 .text warningInDraw__10dScnLogo_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnLogo_c::warningInDraw() {
- nofralloc
-#include "asm/d/s/d_s_logo/warningInDraw__10dScnLogo_cFv.s"
+void dScnLogo_c::warningInDraw() {
+ dComIfGd_set2DOpa(mWarning);
+
+ if (mTimer == 0) {
+ mExecCommand = EXEC_WARNING_DISP;
+ mTimer = 3510;
+ field_0x20e = 30;
+ field_0x210 = field_0x20e;
+ field_0x212 = 1;
+ }
}
-#pragma pop
/* 80256C68-80256DC4 2515A8 015C+00 1/0 0/0 0/0 .text warningDispDraw__10dScnLogo_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnLogo_c::warningDispDraw() {
- nofralloc
-#include "asm/d/s/d_s_logo/warningDispDraw__10dScnLogo_cFv.s"
+void dScnLogo_c::warningDispDraw() {
+ dComIfGd_set2DOpa(mWarning);
+ dComIfGd_set2DOpa(mWarningStart);
+
+ f32 alpha = (f32)field_0x210 / (f32)field_0x20e;
+ if (field_0x212 != 0) {
+ alpha = 1.0f - alpha;
+ }
+
+ mWarningStart->setAlpha(255.0f * alpha);
+ if (field_0x210 == 0) {
+ field_0x210 = field_0x20e;
+ field_0x212 ^= 1;
+ } else {
+ field_0x210--;
+ }
+
+ if (mTimer == 0 ||
+ mDoCPd_c::getTrig(0) & (CButton::A | CButton::B | CButton::X | CButton::Y | CButton::START |
+ CButton::Z | CButton::L | CButton::R | CButton::DPAD_LEFT |
+ CButton::DPAD_RIGHT | CButton::DPAD_DOWN | CButton::DPAD_UP)) {
+ mExecCommand = EXEC_WARNING_OUT;
+ mTimer = 30;
+ mDoGph_gInf_c::startFadeOut(30);
+ mDoRst::setWarningDispFlag(1);
+ }
}
-#pragma pop
/* 80256DC4-80256E48 251704 0084+00 1/0 0/0 0/0 .text warningOutDraw__10dScnLogo_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnLogo_c::warningOutDraw() {
- nofralloc
-#include "asm/d/s/d_s_logo/warningOutDraw__10dScnLogo_cFv.s"
+void dScnLogo_c::warningOutDraw() {
+ dComIfGd_set2DOpa(mWarning);
+
+ if (mTimer == 0) {
+ mTimer = 90;
+ mExecCommand = EXEC_NINTENDO_IN;
+ mDoGph_gInf_c::startFadeIn(30);
+ }
}
-#pragma pop
/* 80256E48-80256ECC 251788 0084+00 1/0 0/0 0/0 .text nintendoInDraw__10dScnLogo_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnLogo_c::nintendoInDraw() {
- nofralloc
-#include "asm/d/s/d_s_logo/nintendoInDraw__10dScnLogo_cFv.s"
+void dScnLogo_c::nintendoInDraw() {
+ dComIfGd_set2DOpa(mNintendoLogo);
+
+ if (mTimer == 0) {
+ mExecCommand = EXEC_NINTENDO_OUT;
+ mTimer = 30;
+ mDoGph_gInf_c::startFadeOut(30);
+ }
}
-#pragma pop
/* 80256ECC-80256F50 25180C 0084+00 1/0 0/0 0/0 .text nintendoOutDraw__10dScnLogo_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnLogo_c::nintendoOutDraw() {
- nofralloc
-#include "asm/d/s/d_s_logo/nintendoOutDraw__10dScnLogo_cFv.s"
+void dScnLogo_c::nintendoOutDraw() {
+ dComIfGd_set2DOpa(mNintendoLogo);
+
+ if (mTimer == 0) {
+ mExecCommand = EXEC_DOLBY_IN;
+ mTimer = 90;
+ mDoGph_gInf_c::startFadeIn(30);
+ }
}
-#pragma pop
/* 80256F50-80256FD4 251890 0084+00 1/0 0/0 0/0 .text dolbyInDraw__10dScnLogo_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnLogo_c::dolbyInDraw() {
- nofralloc
-#include "asm/d/s/d_s_logo/dolbyInDraw__10dScnLogo_cFv.s"
+void dScnLogo_c::dolbyInDraw() {
+ dComIfGd_set2DOpa(mDolbyLogo);
+
+ if (mTimer == 0) {
+ mExecCommand = EXEC_DOLBY_OUT;
+ mTimer = 30;
+ mDoGph_gInf_c::startFadeOut(30);
+ }
}
-#pragma pop
/* 80256FD4-80257058 251914 0084+00 1/0 0/0 0/0 .text dolbyOutDraw__10dScnLogo_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnLogo_c::dolbyOutDraw() {
- nofralloc
-#include "asm/d/s/d_s_logo/dolbyOutDraw__10dScnLogo_cFv.s"
+void dScnLogo_c::dolbyOutDraw() {
+ dComIfGd_set2DOpa(mDolbyLogo);
+
+ if (mTimer == 0) {
+ mExecCommand = EXEC_DOLBY_OUT2;
+ mTimer = 30;
+ mDoGph_gInf_c::startFadeIn(30);
+ }
}
-#pragma pop
/* 80257058-80257070 251998 0018+00 1/0 0/0 0/0 .text dolbyOutDraw2__10dScnLogo_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnLogo_c::dolbyOutDraw2() {
- nofralloc
-#include "asm/d/s/d_s_logo/dolbyOutDraw2__10dScnLogo_cFv.s"
+void dScnLogo_c::dolbyOutDraw2() {
+ if (mTimer != 0) {
+ return;
+ }
+ mExecCommand = EXEC_DVD_WAIT;
}
-#pragma pop
/* 80257070-80257284 2519B0 0214+00 1/0 0/0 0/0 .text dvdWaitDraw__10dScnLogo_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnLogo_c::dvdWaitDraw() {
- nofralloc
-#include "asm/d/s/d_s_logo/dvdWaitDraw__10dScnLogo_cFv.s"
+void dScnLogo_c::dvdWaitDraw() {
+ if (!dComIfG_syncAllObjectRes()) {
+ if (mpField0Command->sync() && mpAlAnmCommand->sync() && mpFmapResCommand->sync() &&
+ mpDmapResCommand->sync() && mpCollectResCommand->sync() && mpItemIconCommand->sync() &&
+ mpRingResCommand->sync() && mpPlayerNameCommand->sync() &&
+ mpItemInfResCommand->sync() && mpButtonCommand->sync() && mpCardIconCommand->sync() &&
+ mpBmgResCommand->sync() && mpMsgComCommand->sync() && mpMsgResCommand[0]->sync() &&
+ mpMsgResCommand[1]->sync() && mpMsgResCommand[2]->sync() &&
+ mpMsgResCommand[3]->sync() && mpMsgResCommand[4]->sync() &&
+ mpMsgResCommand[5]->sync() && mpMsgResCommand[6]->sync() && mpFontResCommand->sync() &&
+ mpMain2DCommand->sync() && mpRubyResCommand->sync() && mParticleCommand->sync() &&
+ mItemTableCommand->sync() && mEnemyItemCommand->sync() && preLoad_dyl()) {
+ mDoRst::setLogoScnFlag(0);
+ mDoRst::setProgChgFlag(0);
+ mExecCommand = EXEC_SCENE_CHANGE;
+ }
+ }
}
-#pragma pop
/* 80257284-802572B8 251BC4 0034+00 1/0 0/0 0/0 .text nextSceneChange__10dScnLogo_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnLogo_c::nextSceneChange() {
- nofralloc
-#include "asm/d/s/d_s_logo/nextSceneChange__10dScnLogo_cFv.s"
+void dScnLogo_c::nextSceneChange() {
+ if (!mDoRst::isReset()) {
+ dComIfG_changeOpeningScene(this, PROC_OPENING_SCENE);
+ }
}
-#pragma pop
-
-/* ############################################################################################## */
-/* 80399FFC-80399FFC 02665C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80399FFC = "LogoUs";
-SECTION_DEAD static char const* const stringBase_8039A003 = "Always";
-#pragma pop
/* 802572B8-80257910 251BF8 0658+00 1/1 0/0 0/0 .text __dt__10dScnLogo_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dScnLogo_c::~dScnLogo_c() {
- nofralloc
-#include "asm/d/s/d_s_logo/__dt__10dScnLogo_cFv.s"
+dScnLogo_c::~dScnLogo_c() {
+ if (mDoRst::isReset()) {
+ if (mDoAud_zelAudio_c::isInitFlag()) {
+ Z2AudioMgr::getInterface()->resetProcess(5, true);
+ }
+ mDoRst_reset(0, 0x80000000, 0);
+ }
+
+ delete mNintendoLogo;
+ delete mWarning;
+ delete mWarningStart;
+ delete mDolbyLogo;
+ delete mProgressiveChoice;
+ delete mProgressiveYes;
+ delete mProgressiveNo;
+ delete mProgressiveSel;
+
+ preLoad_dyl_remove();
+ dComIfG_deleteObjectResMain("LogoUs");
+
+ field_0x1d4->destroy();
+ field_0x1d0->destroy();
+ JKRFree(buffer);
+
+ dComIfGp_particle_createCommon(mParticleCommand->getMemAddress());
+ dComIfGp_setFieldMapArchive2(mpField0Command->getArchive());
+ dComIfGp_setAnmArchive(mpAlAnmCommand->getArchive());
+ dComIfGp_setFmapResArchive(mpFmapResCommand->getArchive());
+ dComIfGp_setDmapResArchive(mpDmapResCommand->getArchive());
+ dComIfGp_setCollectResArchive(mpCollectResCommand->getArchive());
+ dComIfGp_setItemIconArchive(mpItemIconCommand->getArchive());
+ dComIfGp_setAllMapArchive(NULL);
+ dComIfGp_setRingResArchive(mpRingResCommand->getArchive());
+ dComIfGp_setNameResArchive(mpPlayerNameCommand->getArchive());
+ dComIfGp_setDemoMsgArchive(mpItemInfResCommand->getArchive());
+ dComIfGp_setMeterButtonArchive(mpButtonCommand->getArchive());
+ dComIfGp_setErrorResArchive(NULL);
+ dComIfGp_setCardIconResArchive(mpCardIconCommand->getArchive());
+ dComIfGp_setMsgDtArchive(0, mpBmgResCommand->getArchive());
+ dComIfGp_setMsgCommonArchive(mpMsgComCommand->getArchive());
+ for (int i = 0; i < 7; i++) {
+ dComIfGp_setMsgArchive(i, mpMsgResCommand[i]->getArchive());
+ }
+ dComIfGp_setFontArchive(mpFontResCommand->getArchive());
+ dComIfGp_setRubyArchive(mpRubyResCommand->getArchive());
+ dComIfGp_setMain2DArchive(mpMain2DCommand->getArchive());
+
+ mpField0Command->destroy();
+ mpAlAnmCommand->destroy();
+ mpFmapResCommand->destroy();
+ mpDmapResCommand->destroy();
+ mpCollectResCommand->destroy();
+ mpItemIconCommand->destroy();
+ mpRingResCommand->destroy();
+ mpPlayerNameCommand->destroy();
+ mpItemInfResCommand->destroy();
+ mpButtonCommand->destroy();
+ mpCardIconCommand->destroy();
+ mpBmgResCommand->destroy();
+ mpMsgComCommand->destroy();
+ for (int i = 0; i < 7; i++) {
+ mpMsgResCommand[i]->destroy();
+ }
+ mpFontResCommand->destroy();
+ mpMain2DCommand->destroy();
+ mpRubyResCommand->destroy();
+ mParticleCommand->destroy();
+
+ JKRAramHeap* aram_heap = JKRAram::getAramHeap();
+ u32 free_size = aram_heap->getTotalFreeSize();
+ mDoExt_getMesgFont();
+ mDoExt_getSubFont();
+ mDoExt_getRubyFont();
+ mDoExt_setAraCacheSize(free_size - aram_heap->getTotalFreeSize());
+
+ dComIfGp_setItemTable(mItemTableCommand->getMemAddress());
+ mItemTableCommand->destroy();
+
+ dEnemyItem_c::setItemData((u8*)mEnemyItemCommand->getMemAddress());
+ mEnemyItemCommand->destroy();
+
+ dDlst_shadowControl_c::setSimpleTex((ResTIMG*)dComIfG_getObjectRes("Always", 0x4A));
+ dTres_c::createWork();
+ dMpath_c::createWork();
}
-#pragma pop
/* 80257910-802579BC 252250 00AC+00 1/0 0/0 0/0 .text phase_0__FP10dScnLogo_c */
+// setFadeColor instruction reordering
+#ifdef NONMATCHING
+static int phase_0(dScnLogo_c* logo) {
+ mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_blackColor);
+ dComIfGp_particle_create();
+
+ logo->buffer = mDoExt_getGameHeap()->alloc(0x340000, -0x10);
+ logo->field_0x1d0 = JKRExpHeap::create(logo->buffer, 0x340000, NULL, false);
+ logo->field_0x1d4 = JKRExpHeap::create(0x130000, logo->field_0x1d0, false);
+
+ return 2;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-static asm void phase_0(dScnLogo_c* param_0) {
+static asm int phase_0(dScnLogo_c* param_0) {
nofralloc
#include "asm/d/s/d_s_logo/phase_0__FP10dScnLogo_c.s"
}
#pragma pop
-
-/* ############################################################################################## */
-/* 80399FFC-80399FFC 02665C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8039A00A = "/res/Object/";
-#pragma pop
+#endif
/* 802579BC-80257A70 2522FC 00B4+00 1/0 0/0 0/0 .text phase_1__FP10dScnLogo_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void phase_1(dScnLogo_c* param_0) {
- nofralloc
-#include "asm/d/s/d_s_logo/phase_1__FP10dScnLogo_c.s"
+static int phase_1(dScnLogo_c* logo) {
+ if (!cDyl_InitAsyncIsDone()) {
+ return 0;
+ }
+
+ if (!mDoAud_zelAudio_c::isInitFlag() ||
+ Z2AudioMgr::getInterface()->mSceneMgr.checkFirstWaves()) {
+ return 0;
+ }
+
+ dComIfG_setObjectRes("LogoUs", 0, logo->field_0x1d0);
+ mDoRst::setLogoScnFlag(1);
+ archiveHeap->dump_sort();
+ return 2;
}
-#pragma pop
/* 80257A70-80257AB4 2523B0 0044+00 1/0 0/0 0/0 .text phase_2__FP10dScnLogo_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void phase_2(dScnLogo_c* param_0) {
- nofralloc
-#include "asm/d/s/d_s_logo/phase_2__FP10dScnLogo_c.s"
+static int phase_2(dScnLogo_c* param_0) {
+ return dComIfG_syncAllObjectRes() ? 0 : 4;
}
-#pragma pop
/* 80257AB4-80257AE0 2523F4 002C+00 1/1 0/0 0/0 .text
* resLoad__FP30request_of_phase_process_classP10dScnLogo_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void resLoad(request_of_phase_process_class* param_0, dScnLogo_c* param_1) {
- nofralloc
-#include "asm/d/s/d_s_logo/resLoad__FP30request_of_phase_process_classP10dScnLogo_c.s"
+static int resLoad(request_of_phase_process_class* i_phase, dScnLogo_c* param_1) {
+ static int (*l_method[3])(void*) = {(int (*)(void*))phase_0, (int (*)(void*))phase_1,
+ (int (*)(void*))phase_2};
+
+ return dComLbG_PhaseHandler(i_phase, l_method, param_1);
}
-#pragma pop
/* 80257AE0-80257C64 252420 0184+00 1/1 0/0 0/0 .text create__10dScnLogo_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnLogo_c::create() {
- nofralloc
-#include "asm/d/s/d_s_logo/create__10dScnLogo_cFv.s"
+int dScnLogo_c::create() {
+ int stat = resLoad(&field_0x1c4, this);
+ if (stat != 4) {
+ return stat;
+ }
+
+ mpHeap = mDoExt_setCurrentHeap(field_0x1d4);
+ logoInitGC();
+ mpHeap->becomeCurrentHeap();
+
+ dvdDataLoad();
+ Z2AudioMgr::getInterface()->mSceneMgr.loadStaticWaves();
+ mDoGph_gInf_c::setTickRate((OS_BUS_CLOCK / 4) / 60);
+ mDoGph_gInf_c::waitBlanking(0);
+ field_0x20a = 0;
+ mDoGph_gInf_c::startFadeIn(30);
+
+ checkProgSelect();
+ if (field_0x20a != 0) {
+ mExecCommand = EXEC_PROG_IN;
+ mTimer = 30;
+ field_0x218 = getProgressiveMode();
+ } else {
+ if (mDoRst::getWarningDispFlag()) {
+ mTimer = 90;
+ mExecCommand = EXEC_NINTENDO_IN;
+ } else {
+ mTimer = 120;
+ mExecCommand = EXEC_WARNING_IN;
+ }
+ mDoRst::setProgSeqFlag(1);
+ }
+
+ JUTGamePad::clearResetOccurred();
+ JUTGamePad::setResetCallback(mDoRst_resetCallBack, NULL);
+ mDoRst::offReset();
+ mDoRst::offResetPrepare();
+
+ return stat;
}
-#pragma pop
/* 80257C64-80257FEC 2525A4 0388+00 1/1 0/0 0/0 .text logoInitGC__10dScnLogo_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnLogo_c::logoInitGC() {
- nofralloc
-#include "asm/d/s/d_s_logo/logoInitGC__10dScnLogo_cFv.s"
-}
-#pragma pop
+void dScnLogo_c::logoInitGC() {
+ ResTIMG* nintendoImg = (ResTIMG*)dComIfG_getObjectRes("LogoUs", 4);
+ mNintendoLogo = new dDlst_2D_c(nintendoImg, 117, 154, 376, 104, 255);
+ mNintendoLogo->getPicture()->setWhite(JUtility::TColor(220, 0, 0, 255));
-/* ############################################################################################## */
-/* 80399FFC-80399FFC 02665C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_8039A017 = "Alink";
-SECTION_DEAD static char const* const stringBase_8039A01D = "/res/FieldMap/Field0.arc";
-SECTION_DEAD static char const* const stringBase_8039A036 = "/res/Object/AlAnm.arc";
-SECTION_DEAD static char const* const stringBase_8039A04C = "/res/Layout/fmapres.arc";
-SECTION_DEAD static char const* const stringBase_8039A064 = "/res/Layout/dmapres.arc";
-SECTION_DEAD static char const* const stringBase_8039A07C = "/res/Layout/clctres.arc";
-SECTION_DEAD static char const* const stringBase_8039A094 = "/res/Layout/itemicon.arc";
-SECTION_DEAD static char const* const stringBase_8039A0AD = "/res/Layout/ringres.arc";
-SECTION_DEAD static char const* const stringBase_8039A0C5 = "/res/Layout/playerName.arc";
-SECTION_DEAD static char const* const stringBase_8039A0E0 = "/res/Layout/itmInfRes.arc";
-SECTION_DEAD static char const* const stringBase_8039A0FA = "/res/Layout/button.arc";
-SECTION_DEAD static char const* const stringBase_8039A111 = "/res/CardIcon/cardicon.arc";
-SECTION_DEAD static char const* const stringBase_8039A12C = "/res/Msgus/bmgres.arc";
-SECTION_DEAD static char const* const stringBase_8039A142 = "/res/Layout/msgcom.arc";
-SECTION_DEAD static char const* const stringBase_8039A159 = "/res/Layout/msgres00.arc";
-SECTION_DEAD static char const* const stringBase_8039A172 = "/res/Layout/msgres01.arc";
-SECTION_DEAD static char const* const stringBase_8039A18B = "/res/Layout/msgres02.arc";
-SECTION_DEAD static char const* const stringBase_8039A1A4 = "/res/Layout/msgres03.arc";
-SECTION_DEAD static char const* const stringBase_8039A1BD = "/res/Layout/msgres04F.arc";
-SECTION_DEAD static char const* const stringBase_8039A1D7 = "/res/Layout/msgres05.arc";
-SECTION_DEAD static char const* const stringBase_8039A1F0 = "/res/Layout/msgres06.arc";
-SECTION_DEAD static char const* const stringBase_8039A209 = "/res/Layout/main2D.arc";
-SECTION_DEAD static char const* const stringBase_8039A220 = "/res/Fontus/fontres.arc";
-SECTION_DEAD static char const* const stringBase_8039A238 = "/res/Fontus/rubyres.arc";
-SECTION_DEAD static char const* const stringBase_8039A250 = "/res/Particle/common.jpc";
-SECTION_DEAD static char const* const stringBase_8039A269 = "/res/ItemTable/item_table.bin";
-SECTION_DEAD static char const* const stringBase_8039A287 = "/res/ItemTable/enemy_table.bin";
-/* @stringBase0 padding */
-SECTION_DEAD static char const* const pad_8039A2A6 = "\0";
-#pragma pop
+ ResTIMG* dolbyImg = (ResTIMG*)dComIfG_getObjectRes("LogoUs", 3);
+ mDolbyLogo = new dDlst_2D_c(dolbyImg, 189, 150, 232, 112, 255);
+
+ ResTIMG* warningImg = (ResTIMG*)dComIfG_getObjectRes("LogoUs", 10);
+ mWarning = new dDlst_2D_c(warningImg, 0, 0, 608, 448, 255);
+
+ ResTIMG* warnStartImg = (ResTIMG*)dComIfG_getObjectRes("LogoUs", 11);
+ mWarningStart = new dDlst_2D_c(warnStartImg, 0, 359, 608, 48, 255);
+
+ ResTIMG* progChoiceImg = (ResTIMG*)dComIfG_getObjectRes("LogoUs", 5);
+ mProgressiveChoice = new dDlst_2D_c(progChoiceImg, 113, 281, 416, 72, 255);
+
+ ResTIMG* progYesImg = (ResTIMG*)dComIfG_getObjectRes("LogoUs", 9);
+ mProgressiveYes = new dDlst_2D_c(progYesImg, 211, 372, 80, 32, 255);
+ mProgressiveYes->getPicture()->setWhite(JUtility::TColor(160, 160, 160, 255));
+
+ ResTIMG* progNoImg = (ResTIMG*)dComIfG_getObjectRes("LogoUs", 7);
+ mProgressiveNo = new dDlst_2D_c(progNoImg, 350, 372, 80, 32, 255);
+ mProgressiveNo->getPicture()->setWhite(JUtility::TColor(160, 160, 160, 255));
+
+ mProgressivePro = (ResTIMG*)dComIfG_getObjectRes("LogoUs", 8);
+ mProgressiveInter = (ResTIMG*)dComIfG_getObjectRes("LogoUs", 6);
+ mProgressiveSel = new dDlst_2D_c(mProgressivePro, 153, 309, 336, 88, 255);
+}
/* 80257FEC-80258420 25292C 0434+00 1/1 0/0 0/0 .text dvdDataLoad__10dScnLogo_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnLogo_c::dvdDataLoad() {
- nofralloc
-#include "asm/d/s/d_s_logo/dvdDataLoad__10dScnLogo_cFv.s"
+void dScnLogo_c::dvdDataLoad() {
+ dComIfG_setObjectRes("Always", 0, NULL);
+ archiveHeap->dump_sort();
+
+ dComIfG_setObjectRes("Alink", 0, NULL);
+
+ mpField0Command = mDoDvdThd_mountXArchive_c::create(
+ "/res/FieldMap/Field0.arc", 0, JKRArchive::MOUNT_ARAM, mDoExt_getJ2dHeap());
+ mpAlAnmCommand =
+ mDoDvdThd_mountXArchive_c::create("/res/Object/AlAnm.arc", 0, JKRArchive::MOUNT_ARAM, NULL);
+ mpFmapResCommand = mDoDvdThd_mountXArchive_c::create(
+ "/res/Layout/fmapres.arc", 0, JKRArchive::MOUNT_ARAM, mDoExt_getJ2dHeap());
+ mpDmapResCommand = mDoDvdThd_mountXArchive_c::create(
+ "/res/Layout/dmapres.arc", 0, JKRArchive::MOUNT_ARAM, mDoExt_getJ2dHeap());
+ mpCollectResCommand = mDoDvdThd_mountXArchive_c::create(
+ "/res/Layout/clctres.arc", 0, JKRArchive::MOUNT_ARAM, mDoExt_getJ2dHeap());
+ mpItemIconCommand = mDoDvdThd_mountXArchive_c::create(
+ "/res/Layout/itemicon.arc", 0, JKRArchive::MOUNT_ARAM, mDoExt_getJ2dHeap());
+ mpRingResCommand = mDoDvdThd_mountXArchive_c::create(
+ "/res/Layout/ringres.arc", 0, JKRArchive::MOUNT_ARAM, mDoExt_getJ2dHeap());
+ mpPlayerNameCommand = mDoDvdThd_mountXArchive_c::create(
+ "/res/Layout/playerName.arc", 0, JKRArchive::MOUNT_ARAM, mDoExt_getJ2dHeap());
+ mpItemInfResCommand = mDoDvdThd_mountXArchive_c::create(
+ "/res/Layout/itmInfRes.arc", 0, JKRArchive::MOUNT_ARAM, mDoExt_getJ2dHeap());
+ mpButtonCommand = mDoDvdThd_mountXArchive_c::create(
+ "/res/Layout/button.arc", 0, JKRArchive::MOUNT_ARAM, mDoExt_getJ2dHeap());
+ mpCardIconCommand = mDoDvdThd_mountXArchive_c::create(
+ "/res/CardIcon/cardicon.arc", 0, JKRArchive::MOUNT_ARAM, mDoExt_getJ2dHeap());
+ mpBmgResCommand =
+ mDoDvdThd_mountXArchive_c::create("/res/Msgus/bmgres.arc", 0, JKRArchive::MOUNT_MEM, NULL);
+ mpMsgComCommand = mDoDvdThd_mountXArchive_c::create(
+ "/res/Layout/msgcom.arc", 0, JKRArchive::MOUNT_ARAM, mDoExt_getJ2dHeap());
+ mpMsgResCommand[0] = mDoDvdThd_mountXArchive_c::create(
+ "/res/Layout/msgres00.arc", 0, JKRArchive::MOUNT_ARAM, mDoExt_getJ2dHeap());
+ mpMsgResCommand[1] = mDoDvdThd_mountXArchive_c::create(
+ "/res/Layout/msgres01.arc", 0, JKRArchive::MOUNT_ARAM, mDoExt_getJ2dHeap());
+ mpMsgResCommand[2] = mDoDvdThd_mountXArchive_c::create(
+ "/res/Layout/msgres02.arc", 0, JKRArchive::MOUNT_ARAM, mDoExt_getJ2dHeap());
+ mpMsgResCommand[3] = mDoDvdThd_mountXArchive_c::create(
+ "/res/Layout/msgres03.arc", 0, JKRArchive::MOUNT_ARAM, mDoExt_getJ2dHeap());
+ mpMsgResCommand[4] = mDoDvdThd_mountXArchive_c::create(
+ "/res/Layout/msgres04F.arc", 0, JKRArchive::MOUNT_ARAM, mDoExt_getJ2dHeap());
+ mpMsgResCommand[5] = mDoDvdThd_mountXArchive_c::create(
+ "/res/Layout/msgres05.arc", 0, JKRArchive::MOUNT_ARAM, mDoExt_getJ2dHeap());
+ mpMsgResCommand[6] = mDoDvdThd_mountXArchive_c::create(
+ "/res/Layout/msgres06.arc", 0, JKRArchive::MOUNT_ARAM, mDoExt_getJ2dHeap());
+ mpMain2DCommand =
+ mDoDvdThd_mountXArchive_c::create("/res/Layout/main2D.arc", 0, JKRArchive::MOUNT_MEM, NULL);
+ mpFontResCommand = mDoDvdThd_mountXArchive_c::create("/res/Fontus/fontres.arc", 0,
+ JKRArchive::MOUNT_MEM, NULL);
+ mpRubyResCommand = mDoDvdThd_mountXArchive_c::create("/res/Fontus/rubyres.arc", 0,
+ JKRArchive::MOUNT_MEM, NULL);
+ mParticleCommand = mDoDvdThd_toMainRam_c::create("/res/Particle/common.jpc", 0,
+ dComIfGp_particle_getResHeap());
+ mItemTableCommand = mDoDvdThd_toMainRam_c::create("/res/ItemTable/item_table.bin", 0, NULL);
+ mEnemyItemCommand = mDoDvdThd_toMainRam_c::create("/res/ItemTable/enemy_table.bin", 0, NULL);
+
+ preLoad_dyl_create();
+ preLoad_dyl();
}
-#pragma pop
/* 80258420-80258444 252D60 0024+00 1/0 0/0 0/0 .text dScnLogo_Create__FP11scene_class */
+#ifdef NONMATCHING
+static int dScnLogo_Create(scene_class* scn) {
+ return static_cast<dScnLogo_c*>(scn)->create();
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -928,126 +829,88 @@ static asm void dScnLogo_Create(scene_class* param_0) {
#include "asm/d/s/d_s_logo/dScnLogo_Create__FP11scene_class.s"
}
#pragma pop
+#endif
/* 80258444-80258484 252D84 0040+00 1/0 0/0 0/0 .text dScnLogo_Execute__FP10dScnLogo_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void dScnLogo_Execute(dScnLogo_c* param_0) {
- nofralloc
-#include "asm/d/s/d_s_logo/dScnLogo_Execute__FP10dScnLogo_c.s"
+static int dScnLogo_Execute(dScnLogo_c* logo) {
+ if (mDoRst::isReset()) {
+ fopScnM_ChangeReq(logo, 9, 0, 5);
+ }
+ return 1;
}
-#pragma pop
/* 80258484-802584A8 252DC4 0024+00 1/0 0/0 0/0 .text dScnLogo_Draw__FP10dScnLogo_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void dScnLogo_Draw(dScnLogo_c* param_0) {
- nofralloc
-#include "asm/d/s/d_s_logo/dScnLogo_Draw__FP10dScnLogo_c.s"
+static int dScnLogo_Draw(dScnLogo_c* logo) {
+ logo->draw();
+ return 1;
}
-#pragma pop
/* 802584A8-802584D0 252DE8 0028+00 1/0 0/0 0/0 .text dScnLogo_Delete__FP10dScnLogo_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void dScnLogo_Delete(dScnLogo_c* param_0) {
- nofralloc
-#include "asm/d/s/d_s_logo/dScnLogo_Delete__FP10dScnLogo_c.s"
+static int dScnLogo_Delete(dScnLogo_c* logo) {
+ logo->~dScnLogo_c();
+ return 1;
}
-#pragma pop
/* 802584D0-802584D8 252E10 0008+00 1/0 0/0 0/0 .text dScnLogo_IsDelete__FP10dScnLogo_c
*/
-static bool dScnLogo_IsDelete(dScnLogo_c* param_0) {
- return true;
+static int dScnLogo_IsDelete(dScnLogo_c* logo) {
+ return 1;
}
/* 802584D8-802584FC 252E18 0024+00 1/1 0/0 0/0 .text setProgressiveMode__10dScnLogo_cFUc
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnLogo_c::setProgressiveMode(u8 param_0) {
- nofralloc
-#include "asm/d/s/d_s_logo/setProgressiveMode__10dScnLogo_cFUc.s"
+void dScnLogo_c::setProgressiveMode(u8 mode) {
+ OSSetProgressiveMode(mode);
}
-#pragma pop
/* 802584FC-80258520 252E3C 0024+00 3/3 0/0 0/0 .text getProgressiveMode__10dScnLogo_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnLogo_c::getProgressiveMode() {
- nofralloc
-#include "asm/d/s/d_s_logo/getProgressiveMode__10dScnLogo_cFv.s"
+u8 dScnLogo_c::getProgressiveMode() {
+ return OSGetProgressiveMode();
}
-#pragma pop
/* 80258520-8025854C 252E60 002C+00 1/1 0/0 0/0 .text isProgressiveMode__10dScnLogo_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnLogo_c::isProgressiveMode() {
- nofralloc
-#include "asm/d/s/d_s_logo/isProgressiveMode__10dScnLogo_cFv.s"
+bool dScnLogo_c::isProgressiveMode() {
+ return OSGetProgressiveMode() == 1;
}
-#pragma pop
/* 8025854C-8025855C 252E8C 0010+00 1/1 0/0 0/0 .text setRenderMode__10dScnLogo_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void dScnLogo_c::setRenderMode() {
- nofralloc
-#include "asm/d/s/d_s_logo/setRenderMode__10dScnLogo_cFv.s"
+void dScnLogo_c::setRenderMode() {
+ mDoMch_render_c::setProgressiveMode();
}
-#pragma pop
/* 8025855C-802585A4 252E9C 0048+00 2/1 0/0 0/0 .text __dt__10dLog_HIO_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm dLog_HIO_c::~dLog_HIO_c() {
- nofralloc
-#include "asm/d/s/d_s_logo/__dt__10dLog_HIO_cFv.s"
-}
-#pragma pop
+dLog_HIO_c::~dLog_HIO_c() {}
/* 802585A4-802585C0 252EE4 001C+00 1/1 0/0 0/0 .text cLib_calcTimer<Us>__FPUs */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-extern "C" asm void func_802585A4(void* _this, u16* param_0) {
- nofralloc
-#include "asm/d/s/d_s_logo/func_802585A4.s"
+template <typename T>
+T cLib_calcTimer(T* value) {
+ if (*value != 0) {
+ *value = *value - 1;
+ }
+ return *value;
}
-#pragma pop
-
-/* ############################################################################################## */
-/* 80430758-80430768 05D478 000C+04 1/1 0/0 0/0 .bss @3702 */
-static u8 lit_3702[12 + 4 /* padding */];
-
-/* 804510E8-804510F0 0005E8 0008+00 1/1 0/0 0/0 .sbss g_LogHIO */
-static u8 g_LogHIO[8];
-/* 802585C0-8025878C 252F00 01CC+00 0/0 1/0 0/0 .text __sinit_d_s_logo_cpp */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void __sinit_d_s_logo_cpp() {
- nofralloc
-#include "asm/d/s/d_s_logo/__sinit_d_s_logo_cpp.s"
-}
-#pragma pop
+/* 803C2FD0-803C2FE4 -00001 0014+00 1/0 0/0 0/0 .data l_dScnLogo_Method */
+SECTION_DATA static void* l_dScnLogo_Method[5] = {
+ (void*)dScnLogo_Create__FP11scene_class, (void*)dScnLogo_Delete__FP10dScnLogo_c,
+ (void*)dScnLogo_Execute__FP10dScnLogo_c, (void*)dScnLogo_IsDelete__FP10dScnLogo_c,
+ (void*)dScnLogo_Draw__FP10dScnLogo_c,
+};
-#pragma push
-#pragma force_active on
-REGISTER_CTORS(0x802585C0, __sinit_d_s_logo_cpp);
-#pragma pop
+/* 803C2FE4-803C300C -00001 0028+00 0/0 0/0 1/0 .data g_profile_LOGO_SCENE */
+SECTION_DATA extern void* g_profile_LOGO_SCENE[10] = {
+ (void*)NULL,
+ (void*)0x0001FFFD,
+ (void*)0x00090000,
+ (void*)&g_fpcNd_Method,
+ (void*)0x000002A8,
+ (void*)NULL,
+ (void*)NULL,
+ (void*)&g_fopScn_Method,
+ (void*)&l_dScnLogo_Method,
+ (void*)NULL,
+};
/* 80399FFC-80399FFC 02665C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */