1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
|
#ifndef D_S_D_S_LOGO_H
#define D_S_D_S_LOGO_H
#include "f_op/f_op_scene.h"
#include "m_Do/m_Do_dvd_thread.h"
class JKRExpHeap;
class JKRHeap;
struct ResTIMG;
class dDlst_2D_c;
class mDoDvdThd_mountXArchive_c;
class mDoDvdThd_mountArchive_c;
class mDoDvdThd_toMainRam_c;
class dScnLogo_c : public scene_class {
public:
enum {
/* 0 */ EXEC_WARNING_IN,
/* 1 */ EXEC_WARNING_DISP,
/* 2 */ EXEC_WARNING_OUT,
/* 3 */ EXEC_NINTENDO_IN,
/* 4 */ EXEC_NINTENDO_OUT,
/* 5 */ EXEC_DOLBY_IN,
/* 6 */ EXEC_DOLBY_OUT,
/* 7 */ EXEC_DOLBY_OUT2,
/* 8 */ EXEC_PROG_IN,
/* 9 */ EXEC_PROG_SEL,
/* 10 */ EXEC_PROG_OUT,
/* 11 */ EXEC_PROG_SET,
/* 12 */ EXEC_PROG_SET2,
/* 13 */ EXEC_PROG_CHANGE,
/* 14 */ EXEC_DVD_WAIT,
/* 15 */ EXEC_SCENE_CHANGE,
#if PLATFORM_WII || PLATFORM_SHIELD
/* 16 */ EXEC_STRAP_IN,
/* 17 */ EXEC_STRAP_DISP,
/* 18 */ EXEC_STRAP_OUT,
/* 19 */ EXEC_STRAP_OUT2,
#endif
#if VERSION == VERSION_SHIELD
/* 20 */ EXEC_MOC_IN,
/* 21 */ EXEC_MOC_DISP,
/* 22 */ EXEC_MOC_OUT,
/* 23 */ EXEC_NVLOGO_IN,
/* 24 */ EXEC_NVLOGO_DISP,
/* 25 */ EXEC_NVLOGO_OUT,
#endif
};
dScnLogo_c() {}
void preLoad_dyl_create();
void preLoad_dyl_remove();
bool preLoad_dyl();
void checkProgSelect();
int draw();
void progInDraw();
void progSelDraw();
void progOutDraw();
void progSetDraw();
void progSet2Draw();
void progChangeDraw();
void warningInDraw();
void warningDispDraw();
void warningOutDraw();
void nintendoInDraw();
void nintendoOutDraw();
void dolbyInDraw();
void dolbyOutDraw();
void dolbyOutDraw2();
void dvdWaitDraw();
void nextSceneChange();
~dScnLogo_c();
int create();
void dvdDataLoad();
void setProgressiveMode(u8);
u8 getProgressiveMode();
bool isProgressiveMode();
void setRenderMode();
#if VERSION == VERSION_GCN_PAL || PLATFORM_WII || PLATFORM_SHIELD
u8 getPalLanguage();
#endif
#if PLATFORM_WII || PLATFORM_SHIELD
void logoInitWii();
void strapInDraw();
void strapDispDraw();
void strapOutDraw();
void strapOut2Draw();
#else
void logoInitGC();
#endif
#if VERSION == VERSION_SHIELD
void mocInDraw();
void mocDispDraw();
void mocOutDraw();
void nvLogoInDraw();
void nvLogoDispDraw();
void nvLogoOutDraw();
#endif
mDoDvdThd_mountXArchive_c* aramMount(const char* i_arcPath, JKRHeap* i_heap) {
return mDoDvdThd_mountXArchive_c::create(i_arcPath, 0, JKRArchive::MOUNT_ARAM, i_heap);
}
mDoDvdThd_mountXArchive_c* onMemMount(const char* i_arcPath) {
return mDoDvdThd_mountXArchive_c::create(i_arcPath, 0, JKRArchive::MOUNT_MEM, NULL);
}
static void onOpeningCut() {
#if DEBUG
mOpeningCut = true;
#endif
}
static u8 isOpeningCut() {
#if DEBUG
return mOpeningCut;
#else
return 0;
#endif
}
#if DEBUG
static u8 mOpeningCut;
#endif
public:
/* 0x1C4 */ request_of_phase_process_class field_0x1c4;
/* 0x1CC */ mDoDvdThd_toMainRam_c* sceneCommand;
/* 0x1D0 */ JKRExpHeap* mLogoHeap;
/* 0x1D4 */ JKRExpHeap* mLogo01Heap;
/* 0x1D8 */ JKRHeap* mpHeap;
/* 0x1DC */ dDlst_2D_c* mWarning;
/* 0x1E0 */ dDlst_2D_c* mWarningStart;
/* 0x1E4 */ dDlst_2D_c* mNintendoLogo;
/* 0x1E8 */ dDlst_2D_c* mDolbyLogo;
/* 0x1EC */ dDlst_2D_c* mProgressiveChoice;
/* 0x1F0 */ dDlst_2D_c* mProgressiveYes;
/* 0x1F4 */ dDlst_2D_c* mProgressiveNo;
/* 0x1F8 */ dDlst_2D_c* mProgressiveSel;
#if PLATFORM_WII || PLATFORM_SHIELD
/* 0x1FC */ dDlst_2D_c* mStrapImg;
#endif
#if VERSION == VERSION_SHIELD
/* 0x200 */ dDlst_2D_c* mNvLogo;
/* 0x204 */ dDlst_2D_c* mMocImg;
#endif
#if VERSION == VERSION_GCN_PAL
/* 0x1FC */ mDoDvdThd_mountArchive_c* mpPalLogoResCommand;
#endif
/* 0x1FC */ request_of_phase_process_class* m_preLoad_dylPhase;
/* 0x200 */ ResTIMG* mProgressivePro;
/* 0x204 */ ResTIMG* mProgressiveInter;
/* 0x208 */ u8 mExecCommand;
/* 0x209 */ u8 field_0x209;
/* 0x20A */ u8 field_0x20a;
/* 0x20B */ u8 field_0x20b;
/* 0x20C */ u16 mTimer;
/* 0x20E */ u16 field_0x20e;
/* 0x210 */ u16 field_0x210;
/* 0x212 */ u16 field_0x212;
/* 0x214 */ u16 field_0x214;
/* 0x218 */ u32 field_0x218;
/* 0x21C */ void* dummyGameAlloc;
#if PLATFORM_WII || VERSION == VERSION_SHIELD
/* 0x224 */ mDoDvdThd_toMainRam_c* mpHomeBtnCommand;
/* 0x228 */ int mHomeBtnRegion;
#endif
/* 0x220 */ mDoDvdThd_mountXArchive_c* mpField0Command;
/* 0x224 */ mDoDvdThd_mountXArchive_c* mpAlAnmCommand;
/* 0x228 */ u8 field_0x228[4];
/* 0x22C */ mDoDvdThd_mountXArchive_c* mpFmapResCommand;
/* 0x230 */ mDoDvdThd_mountXArchive_c* mpDmapResCommand;
/* 0x234 */ mDoDvdThd_mountXArchive_c* mpCollectResCommand;
/* 0x238 */ u8 field_0x238[4];
/* 0x23C */ mDoDvdThd_mountXArchive_c* mpItemIconCommand;
/* 0x240 */ mDoDvdThd_mountXArchive_c* mpRingResCommand;
/* 0x244 */ u8 field_0x244[4];
/* 0x248 */ mDoDvdThd_mountXArchive_c* mpPlayerNameCommand;
/* 0x24C */ mDoDvdThd_mountXArchive_c* mpItemInfResCommand;
/* 0x250 */ mDoDvdThd_mountXArchive_c* mpButtonCommand;
/* 0x254 */ u8 field_0x254[4];
/* 0x258 */ mDoDvdThd_mountXArchive_c* mpCardIconCommand;
/* 0x25C */ mDoDvdThd_mountXArchive_c* mpBmgResCommand;
/* 0x260 */ mDoDvdThd_mountXArchive_c* mpMsgComCommand;
/* 0x264 */ mDoDvdThd_mountXArchive_c* mpMsgResCommand[7];
/* 0x280 */ u8 field_0x280[0x10];
/* 0x290 */ mDoDvdThd_mountXArchive_c* mpFontResCommand;
/* 0x294 */ mDoDvdThd_mountXArchive_c* mpMain2DCommand;
/* 0x298 */ mDoDvdThd_mountXArchive_c* mpRubyResCommand;
/* 0x29C */ mDoDvdThd_toMainRam_c* mParticleCommand;
/* 0x2A0 */ mDoDvdThd_toMainRam_c* mItemTableCommand;
/* 0x2A4 */ mDoDvdThd_toMainRam_c* mEnemyItemCommand;
};
static int phase_0(dScnLogo_c* logo);
static int phase_1(dScnLogo_c* logo);
static int phase_2(dScnLogo_c* logo);
typedef int (*dScnLogo_Method)(dScnLogo_c*);;
#endif /* D_S_D_S_LOGO_H */
|