mirror of
https://github.com/zeldaret/tp
synced 2026-08-08 10:34:08 -04:00
all d_ovlp_fade done (#2031)
* ovlp_fade / ovlp_fade2 done * ovlp_fade3 done * remove asm
This commit is contained in:
+205
-174
@@ -1,238 +1,269 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: d/ovlp/d_ovlp_fade
|
||||
//
|
||||
/**
|
||||
* d_ovlp_fade.cpp
|
||||
*
|
||||
*/
|
||||
|
||||
#include "d/ovlp/d_ovlp_fade.h"
|
||||
#include "dol2asm.h"
|
||||
#include "JSystem/JFramework/JFWDisplay.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "d/d_procname.h"
|
||||
#include "f_op/f_op_overlap_mng.h"
|
||||
#include "m_Do/m_Do_audio.h"
|
||||
#include "m_Do/m_Do_graphic.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct overlap_task_class {};
|
||||
|
||||
struct overlap1_class {};
|
||||
|
||||
struct JUTFader {
|
||||
struct EStatus {};
|
||||
|
||||
/* 802E57D0 */ void setStatus(JUTFader::EStatus, int);
|
||||
class overlap1_class : public overlap_task_class {
|
||||
public:
|
||||
/* 0xCC */ int field_0xcc;
|
||||
/* 0xCC */ int field_0xd0;
|
||||
/* 0xCC */ int field_0xd4;
|
||||
};
|
||||
|
||||
struct JFWDisplay {
|
||||
static u8 sManager[4];
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" static bool dOvlpFd_Draw__FP14overlap1_class();
|
||||
extern "C" static void dOvlpFd_startFadeIn__Fi();
|
||||
extern "C" static void dOvlpFd_FadeOut__FP14overlap1_class();
|
||||
extern "C" static void dOvlpFd_Wait__FP14overlap1_class();
|
||||
extern "C" static void dOvlpFd_FadeIn__FP14overlap1_class();
|
||||
extern "C" static void dOvlpFd_Execute__FP14overlap1_class();
|
||||
extern "C" static bool dOvlpFd_IsDelete__FP14overlap1_class();
|
||||
extern "C" static bool dOvlpFd_Delete__FP14overlap1_class();
|
||||
extern "C" static void dOvlpFd_Create__FPv();
|
||||
extern "C" extern void* g_profile_OVERLAP0[10];
|
||||
extern "C" extern void* g_profile_OVERLAP1[10];
|
||||
extern "C" extern void* g_profile_OVERLAP6[10];
|
||||
extern "C" extern void* g_profile_OVERLAP7[10];
|
||||
extern "C" extern void* g_profile_OVERLAP8[10];
|
||||
extern "C" extern void* g_profile_OVERLAP9[10];
|
||||
extern "C" extern void* g_profile_OVERLAP10[10];
|
||||
extern "C" extern void* g_profile_OVERLAP11[10 + 1 /* padding */];
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoAud_setFadeOutStart__FUc();
|
||||
extern "C" void mDoAud_setFadeInStart__FUc();
|
||||
extern "C" void fopOvlpM_SceneIsStart__Fv();
|
||||
extern "C" void fopOvlpM_IsOutReq__FP18overlap_task_class();
|
||||
extern "C" void fopOvlpM_Done__FP18overlap_task_class();
|
||||
extern "C" void setStatus__8JUTFaderFQ28JUTFader7EStatusi();
|
||||
extern "C" extern void* g_fopOvlp_Method[5 + 1 /* padding */];
|
||||
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" u8 sManager__10JFWDisplay[4];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 8025217C-80252184 24CABC 0008+00 1/0 0/0 0/0 .text dOvlpFd_Draw__FP14overlap1_class */
|
||||
static bool dOvlpFd_Draw(overlap1_class* param_0) {
|
||||
return true;
|
||||
static int dOvlpFd_Draw(overlap1_class* i_this) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80252184-802521F4 24CAC4 0070+00 1/1 0/0 0/0 .text dOvlpFd_startFadeIn__Fi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void dOvlpFd_startFadeIn(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/ovlp/d_ovlp_fade/dOvlpFd_startFadeIn__Fi.s"
|
||||
static void dOvlpFd_startFadeIn(int param_0) {
|
||||
JUTFader* fader = JFWDisplay::getManager()->getFader();
|
||||
JUT_ASSERT(fader != 0);
|
||||
|
||||
fader->setStatus(JUTFader::UNKSTATUS_0, 0);
|
||||
fader->setStatus(JUTFader::UNKSTATUS_0, -1);
|
||||
fader->startFadeIn(param_0);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802521F4-802522C8 24CB34 00D4+00 1/1 0/0 0/0 .text dOvlpFd_FadeOut__FP14overlap1_class
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void dOvlpFd_FadeOut(overlap1_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/ovlp/d_ovlp_fade/dOvlpFd_FadeOut__FP14overlap1_class.s"
|
||||
}
|
||||
#pragma pop
|
||||
static int dOvlpFd_FadeOut(overlap1_class* i_this) {
|
||||
int var_r31 = i_this->field_0xd4;
|
||||
|
||||
if (i_this->field_0xcc == 0) {
|
||||
mDoAud_setFadeInStart(0);
|
||||
|
||||
if (fpcM_GetProfName(i_this) == PROC_OVERLAP11) {
|
||||
i_this->field_0xcc = 10;
|
||||
} else if (fpcM_GetProfName(i_this) != PROC_OVERLAP6) {
|
||||
dOvlpFd_startFadeIn(var_r31);
|
||||
i_this->field_0xcc = var_r31;
|
||||
} else {
|
||||
dOvlpFd_startFadeIn(0);
|
||||
i_this->field_0xcc = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (fpcM_GetProfName(i_this) == PROC_OVERLAP11 && i_this->field_0xcc == 7) {
|
||||
dOvlpFd_startFadeIn(7);
|
||||
}
|
||||
|
||||
fopOvlpM_SceneIsStart();
|
||||
|
||||
if (--i_this->field_0xcc == 0) {
|
||||
fopOvlpM_Done(i_this);
|
||||
i_this->field_0xcc++;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804510E0-804510E8 0005E0 0004+04 4/4 0/0 0/0 .sbss dOvlpFd_execute_f */
|
||||
static u8 dOvlpFd_execute_f[4 + 4 /* padding */];
|
||||
static int (*dOvlpFd_execute_f)(overlap1_class*);
|
||||
|
||||
/* 802522C8-80252300 24CC08 0038+00 1/1 0/0 0/0 .text dOvlpFd_Wait__FP14overlap1_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void dOvlpFd_Wait(overlap1_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/ovlp/d_ovlp_fade/dOvlpFd_Wait__FP14overlap1_class.s"
|
||||
static int dOvlpFd_Wait(overlap1_class* i_this) {
|
||||
if (fopOvlpM_IsOutReq(i_this)) {
|
||||
dOvlpFd_execute_f = dOvlpFd_FadeOut;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80252300-8025242C 24CC40 012C+00 1/1 0/0 0/0 .text dOvlpFd_FadeIn__FP14overlap1_class
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void dOvlpFd_FadeIn(overlap1_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/ovlp/d_ovlp_fade/dOvlpFd_FadeIn__FP14overlap1_class.s"
|
||||
static int dOvlpFd_FadeIn(overlap1_class* i_this) {
|
||||
int var_r30 = 30;
|
||||
|
||||
if (i_this->field_0xd0 == 0) {
|
||||
if (fpcM_GetProfName(i_this) == PROC_OVERLAP0 || fpcM_GetProfName(i_this) == PROC_OVERLAP7)
|
||||
{
|
||||
if (dComIfGp_isEnableNextStage() == 1) {
|
||||
var_r30 = dComIfGp_getNextStageWipeSpeed();
|
||||
}
|
||||
|
||||
if (!JFWDisplay::getManager()->startFadeOut(var_r30)) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
i_this->field_0xd0 = var_r30;
|
||||
} else if (fpcM_GetProfName(i_this) == PROC_OVERLAP10 ||
|
||||
fpcM_GetProfName(i_this) == PROC_OVERLAP11)
|
||||
{
|
||||
i_this->field_0xd0 = 1;
|
||||
} else {
|
||||
i_this->field_0xd0 = 30;
|
||||
}
|
||||
|
||||
i_this->field_0xd4 = var_r30;
|
||||
mDoAud_setFadeOutStart(0);
|
||||
}
|
||||
|
||||
if (--i_this->field_0xd0 == 0) {
|
||||
dOvlpFd_execute_f = dOvlpFd_Wait;
|
||||
mDoGph_gInf_c::startFadeOut(0);
|
||||
fopOvlpM_Done(i_this);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8025242C-80252458 24CD6C 002C+00 1/0 0/0 0/0 .text dOvlpFd_Execute__FP14overlap1_class
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void dOvlpFd_Execute(overlap1_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/ovlp/d_ovlp_fade/dOvlpFd_Execute__FP14overlap1_class.s"
|
||||
static int dOvlpFd_Execute(overlap1_class* i_this) {
|
||||
dOvlpFd_execute_f(i_this);
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80252458-80252460 24CD98 0008+00 1/0 0/0 0/0 .text dOvlpFd_IsDelete__FP14overlap1_class */
|
||||
static bool dOvlpFd_IsDelete(overlap1_class* param_0) {
|
||||
return true;
|
||||
static int dOvlpFd_IsDelete(overlap1_class* i_this) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80252460-80252468 24CDA0 0008+00 1/0 0/0 0/0 .text dOvlpFd_Delete__FP14overlap1_class
|
||||
*/
|
||||
static bool dOvlpFd_Delete(overlap1_class* param_0) {
|
||||
return true;
|
||||
static int dOvlpFd_Delete(overlap1_class* i_this) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80252468-8025247C 24CDA8 0014+00 1/0 0/0 0/0 .text dOvlpFd_Create__FPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void dOvlpFd_Create(void* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/ovlp/d_ovlp_fade/dOvlpFd_Create__FPv.s"
|
||||
static int dOvlpFd_Create(void* i_this) {
|
||||
dOvlpFd_execute_f = dOvlpFd_FadeIn;
|
||||
return cPhs_COMPLEATE_e;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803C2B98-803C2BAC -00001 0014+00 8/0 0/0 0/0 .data l_dOvlpFd_Method */
|
||||
SECTION_DATA static void* l_dOvlpFd_Method[5] = {
|
||||
(void*)dOvlpFd_Create__FPv,
|
||||
(void*)dOvlpFd_Delete__FP14overlap1_class,
|
||||
(void*)dOvlpFd_Execute__FP14overlap1_class,
|
||||
(void*)dOvlpFd_IsDelete__FP14overlap1_class,
|
||||
(void*)dOvlpFd_Draw__FP14overlap1_class,
|
||||
static leafdraw_method_class l_dOvlpFd_Method = {
|
||||
(process_method_func)dOvlpFd_Create, (process_method_func)dOvlpFd_Delete,
|
||||
(process_method_func)dOvlpFd_Execute, (process_method_func)dOvlpFd_IsDelete,
|
||||
(process_method_func)dOvlpFd_Draw,
|
||||
};
|
||||
|
||||
/* 803C2BAC-803C2BD4 -00001 0028+00 0/0 0/0 1/0 .data g_profile_OVERLAP0 */
|
||||
SECTION_DATA extern void* g_profile_OVERLAP0[10] = {
|
||||
(void*)NULL, (void*)0x0000FFFD,
|
||||
(void*)NULL, (void*)&g_fpcLf_Method,
|
||||
(void*)0x000000D8, (void*)NULL,
|
||||
(void*)NULL, (void*)&g_fopOvlp_Method,
|
||||
(void*)0x03050000, (void*)&l_dOvlpFd_Method,
|
||||
extern overlap_process_profile_definition g_profile_OVERLAP0 = {
|
||||
fpcLy_ROOT_e,
|
||||
0,
|
||||
fpcPi_CURRENT_e,
|
||||
PROC_OVERLAP0,
|
||||
&g_fpcLf_Method.mBase,
|
||||
sizeof(overlap1_class),
|
||||
0,
|
||||
0,
|
||||
&g_fopOvlp_Method,
|
||||
773,
|
||||
&l_dOvlpFd_Method,
|
||||
};
|
||||
|
||||
/* 803C2BD4-803C2BFC -00001 0028+00 0/0 0/0 1/0 .data g_profile_OVERLAP1 */
|
||||
SECTION_DATA extern void* g_profile_OVERLAP1[10] = {
|
||||
(void*)NULL, (void*)0x0000FFFD,
|
||||
(void*)0x00010000, (void*)&g_fpcLf_Method,
|
||||
(void*)0x000000D8, (void*)NULL,
|
||||
(void*)NULL, (void*)&g_fopOvlp_Method,
|
||||
(void*)0x03060000, (void*)&l_dOvlpFd_Method,
|
||||
extern overlap_process_profile_definition g_profile_OVERLAP1 = {
|
||||
fpcLy_ROOT_e,
|
||||
0,
|
||||
fpcPi_CURRENT_e,
|
||||
PROC_OVERLAP1,
|
||||
&g_fpcLf_Method.mBase,
|
||||
sizeof(overlap1_class),
|
||||
0,
|
||||
0,
|
||||
&g_fopOvlp_Method,
|
||||
774,
|
||||
&l_dOvlpFd_Method,
|
||||
};
|
||||
|
||||
/* 803C2BFC-803C2C24 -00001 0028+00 0/0 0/0 1/0 .data g_profile_OVERLAP6 */
|
||||
SECTION_DATA extern void* g_profile_OVERLAP6[10] = {
|
||||
(void*)NULL, (void*)0x0000FFFD,
|
||||
(void*)0x00030000, (void*)&g_fpcLf_Method,
|
||||
(void*)0x000000D8, (void*)NULL,
|
||||
(void*)NULL, (void*)&g_fopOvlp_Method,
|
||||
(void*)0x03090000, (void*)&l_dOvlpFd_Method,
|
||||
extern overlap_process_profile_definition g_profile_OVERLAP6 = {
|
||||
fpcLy_ROOT_e,
|
||||
0,
|
||||
fpcPi_CURRENT_e,
|
||||
PROC_OVERLAP6,
|
||||
&g_fpcLf_Method.mBase,
|
||||
sizeof(overlap1_class),
|
||||
0,
|
||||
0,
|
||||
&g_fopOvlp_Method,
|
||||
777,
|
||||
&l_dOvlpFd_Method,
|
||||
};
|
||||
|
||||
/* 803C2C24-803C2C4C -00001 0028+00 0/0 0/0 1/0 .data g_profile_OVERLAP7 */
|
||||
SECTION_DATA extern void* g_profile_OVERLAP7[10] = {
|
||||
(void*)NULL, (void*)0x0000FFFD,
|
||||
(void*)0x00040000, (void*)&g_fpcLf_Method,
|
||||
(void*)0x000000D8, (void*)NULL,
|
||||
(void*)NULL, (void*)&g_fopOvlp_Method,
|
||||
(void*)0x030A0000, (void*)&l_dOvlpFd_Method,
|
||||
extern overlap_process_profile_definition g_profile_OVERLAP7 = {
|
||||
fpcLy_ROOT_e,
|
||||
0,
|
||||
fpcPi_CURRENT_e,
|
||||
PROC_OVERLAP7,
|
||||
&g_fpcLf_Method.mBase,
|
||||
sizeof(overlap1_class),
|
||||
0,
|
||||
0,
|
||||
&g_fopOvlp_Method,
|
||||
778,
|
||||
&l_dOvlpFd_Method,
|
||||
};
|
||||
|
||||
/* 803C2C4C-803C2C74 -00001 0028+00 0/0 0/0 1/0 .data g_profile_OVERLAP8 */
|
||||
SECTION_DATA extern void* g_profile_OVERLAP8[10] = {
|
||||
(void*)NULL, (void*)0x0000FFFD,
|
||||
(void*)0x00050000, (void*)&g_fpcLf_Method,
|
||||
(void*)0x000000D8, (void*)NULL,
|
||||
(void*)NULL, (void*)&g_fopOvlp_Method,
|
||||
(void*)0x030B0000, (void*)&l_dOvlpFd_Method,
|
||||
extern overlap_process_profile_definition g_profile_OVERLAP8 = {
|
||||
fpcLy_ROOT_e,
|
||||
0,
|
||||
fpcPi_CURRENT_e,
|
||||
PROC_OVERLAP8,
|
||||
&g_fpcLf_Method.mBase,
|
||||
sizeof(overlap1_class),
|
||||
0,
|
||||
0,
|
||||
&g_fopOvlp_Method,
|
||||
779,
|
||||
&l_dOvlpFd_Method,
|
||||
};
|
||||
|
||||
/* 803C2C74-803C2C9C -00001 0028+00 0/0 0/0 1/0 .data g_profile_OVERLAP9 */
|
||||
SECTION_DATA extern void* g_profile_OVERLAP9[10] = {
|
||||
(void*)NULL, (void*)0x0000FFFD,
|
||||
(void*)0x00060000, (void*)&g_fpcLf_Method,
|
||||
(void*)0x000000D8, (void*)NULL,
|
||||
(void*)NULL, (void*)&g_fopOvlp_Method,
|
||||
(void*)0x030C0000, (void*)&l_dOvlpFd_Method,
|
||||
extern overlap_process_profile_definition g_profile_OVERLAP9 = {
|
||||
fpcLy_ROOT_e,
|
||||
0,
|
||||
fpcPi_CURRENT_e,
|
||||
PROC_OVERLAP9,
|
||||
&g_fpcLf_Method.mBase,
|
||||
sizeof(overlap1_class),
|
||||
0,
|
||||
0,
|
||||
&g_fopOvlp_Method,
|
||||
780,
|
||||
&l_dOvlpFd_Method,
|
||||
};
|
||||
|
||||
/* 803C2C9C-803C2CC4 -00001 0028+00 0/0 0/0 1/0 .data g_profile_OVERLAP10 */
|
||||
SECTION_DATA extern void* g_profile_OVERLAP10[10] = {
|
||||
(void*)NULL, (void*)0x0000FFFD,
|
||||
(void*)0x00070000, (void*)&g_fpcLf_Method,
|
||||
(void*)0x000000D8, (void*)NULL,
|
||||
(void*)NULL, (void*)&g_fopOvlp_Method,
|
||||
(void*)0x030D0000, (void*)&l_dOvlpFd_Method,
|
||||
extern overlap_process_profile_definition g_profile_OVERLAP10 = {
|
||||
fpcLy_ROOT_e,
|
||||
0,
|
||||
fpcPi_CURRENT_e,
|
||||
PROC_OVERLAP10,
|
||||
&g_fpcLf_Method.mBase,
|
||||
sizeof(overlap1_class),
|
||||
0,
|
||||
0,
|
||||
&g_fopOvlp_Method,
|
||||
781,
|
||||
&l_dOvlpFd_Method,
|
||||
};
|
||||
|
||||
/* 803C2CC4-803C2CF0 -00001 0028+04 0/0 0/0 1/0 .data g_profile_OVERLAP11 */
|
||||
SECTION_DATA extern void* g_profile_OVERLAP11[10 + 1 /* padding */] = {
|
||||
(void*)NULL,
|
||||
(void*)0x0000FFFD,
|
||||
(void*)0x00080000,
|
||||
(void*)&g_fpcLf_Method,
|
||||
(void*)0x000000D8,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)&g_fopOvlp_Method,
|
||||
(void*)0x030E0000,
|
||||
(void*)&l_dOvlpFd_Method,
|
||||
/* padding */
|
||||
NULL,
|
||||
extern overlap_process_profile_definition g_profile_OVERLAP11 = {
|
||||
fpcLy_ROOT_e,
|
||||
0,
|
||||
fpcPi_CURRENT_e,
|
||||
PROC_OVERLAP11,
|
||||
&g_fpcLf_Method.mBase,
|
||||
sizeof(overlap1_class),
|
||||
0,
|
||||
0,
|
||||
&g_fopOvlp_Method,
|
||||
782,
|
||||
&l_dOvlpFd_Method,
|
||||
};
|
||||
|
||||
+232
-326
@@ -1,373 +1,279 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: d/ovlp/d_ovlp_fade2
|
||||
//
|
||||
/**
|
||||
* d_ovlp_fade2.cpp
|
||||
*
|
||||
*/
|
||||
|
||||
#include "d/ovlp/d_ovlp_fade2.h"
|
||||
#include "dol2asm.h"
|
||||
#include "JSystem/J2DGraph/J2DOrthoGraph.h"
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "d/d_procname.h"
|
||||
#include "d/s/d_s_play.h"
|
||||
#include "m_Do/m_Do_audio.h"
|
||||
#include "m_Do/m_Do_graphic.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct overlap_task_class {};
|
||||
|
||||
struct mDoMtx_stack_c {
|
||||
/* 8000CE38 */ void scaleM(f32, f32, f32);
|
||||
|
||||
static u8 now[48];
|
||||
};
|
||||
|
||||
struct mDoGph_gInf_c {
|
||||
static u8 mFrameBufferTexObj[32];
|
||||
static u8 mFrameBufferTex[4];
|
||||
};
|
||||
|
||||
struct dOvlpFd2_dlst_c {
|
||||
/* 8025247C */ void draw();
|
||||
/* 80252E8C */ ~dOvlpFd2_dlst_c();
|
||||
};
|
||||
|
||||
struct dOvlpFd2_c {
|
||||
/* 80252990 */ dOvlpFd2_c();
|
||||
/* 802529F4 */ void execFirstSnap();
|
||||
/* 80252A78 */ void execFadeOut();
|
||||
/* 80252BC0 */ void execNextSnap();
|
||||
/* 80252C68 */ void execFadeIn();
|
||||
};
|
||||
|
||||
struct dDlst_base_c {};
|
||||
|
||||
struct dDlst_list_c {
|
||||
/* 80056794 */ void set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*);
|
||||
};
|
||||
|
||||
struct JGeometry {
|
||||
template <typename A1>
|
||||
struct TBox2 {};
|
||||
/* TBox2<f32> */
|
||||
struct TBox2__template0 {};
|
||||
};
|
||||
|
||||
struct JFWDisplay {
|
||||
static u8 sManager[4];
|
||||
};
|
||||
|
||||
struct J2DOrthoGraph {
|
||||
/* 802E980C */ void setOrtho(JGeometry::TBox2<f32> const&, f32, f32);
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void draw__15dOvlpFd2_dlst_cFv();
|
||||
extern "C" void __ct__10dOvlpFd2_cFv();
|
||||
extern "C" void execFirstSnap__10dOvlpFd2_cFv();
|
||||
extern "C" void execFadeOut__10dOvlpFd2_cFv();
|
||||
extern "C" void execNextSnap__10dOvlpFd2_cFv();
|
||||
extern "C" void execFadeIn__10dOvlpFd2_cFv();
|
||||
extern "C" static void dOvlpFd2_Draw__FP10dOvlpFd2_c();
|
||||
extern "C" static void dOvlpFd2_Execute__FP10dOvlpFd2_c();
|
||||
extern "C" static bool dOvlpFd2_IsDelete__FP10dOvlpFd2_c();
|
||||
extern "C" static bool dOvlpFd2_Delete__FP10dOvlpFd2_c();
|
||||
extern "C" static void dOvlpFd2_Create__FPv();
|
||||
extern "C" void func_80252E70(void* _this, s8*);
|
||||
extern "C" void __dt__15dOvlpFd2_dlst_cFv();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_ZrotM__FPA4_fs();
|
||||
extern "C" void scaleM__14mDoMtx_stack_cFfff();
|
||||
extern "C" void fopOvlpM_SceneIsStop__Fv();
|
||||
extern "C" void fopOvlpM_SceneIsStart__Fv();
|
||||
extern "C" void fopOvlpM_IsOutReq__FP18overlap_task_class();
|
||||
extern "C" void fopOvlpM_Done__FP18overlap_task_class();
|
||||
extern "C" void set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c();
|
||||
extern "C" void cLib_addCalc2__FPffff();
|
||||
extern "C" void cLib_addCalc0__FPfff();
|
||||
extern "C" void cLib_chaseAngleS__FPsss();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void func_802E980C();
|
||||
extern "C" void PSMTXCopy();
|
||||
extern "C" void PSMTXTrans();
|
||||
extern "C" void C_MTXPerspective();
|
||||
extern "C" void GXSetVtxDesc();
|
||||
extern "C" void GXClearVtxDesc();
|
||||
extern "C" void GXSetVtxAttrFmt();
|
||||
extern "C" void GXSetTexCoordGen2();
|
||||
extern "C" void GXSetNumTexGens();
|
||||
extern "C" void GXBegin();
|
||||
extern "C" void GXSetCullMode();
|
||||
extern "C" void GXSetChanMatColor();
|
||||
extern "C" void GXSetNumChans();
|
||||
extern "C" void GXSetChanCtrl();
|
||||
extern "C" void GXInitTexObj();
|
||||
extern "C" void GXInitTexObjLOD();
|
||||
extern "C" void GXLoadTexObj();
|
||||
extern "C" void GXSetTevColorIn();
|
||||
extern "C" void GXSetTevAlphaIn();
|
||||
extern "C" void GXSetTevColorOp();
|
||||
extern "C" void GXSetTevAlphaOp();
|
||||
extern "C" void GXSetAlphaCompare();
|
||||
extern "C" void GXSetTevOrder();
|
||||
extern "C" void GXSetNumTevStages();
|
||||
extern "C" void GXSetFog();
|
||||
extern "C" void GXSetBlendMode();
|
||||
extern "C" void GXSetZMode();
|
||||
extern "C" void GXSetZCompLoc();
|
||||
extern "C" void GXSetDither();
|
||||
extern "C" void GXSetProjection();
|
||||
extern "C" void GXLoadPosMtxImm();
|
||||
extern "C" void GXSetCurrentMtx();
|
||||
extern "C" void GXSetViewport();
|
||||
extern "C" void GXSetScissor();
|
||||
extern "C" void GXSetClipMode();
|
||||
extern "C" void __ptmf_scall();
|
||||
extern "C" extern u8 g_mDoMtx_identity[48 + 24 /* padding */];
|
||||
extern "C" extern void* g_fopOvlp_Method[5 + 1 /* padding */];
|
||||
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
|
||||
extern "C" extern void* __vt__12dDlst_base_c[3];
|
||||
extern "C" extern void* __vt__16dDlst_snapShot_c[3];
|
||||
extern "C" u8 mFrameBufferTexObj__13mDoGph_gInf_c[32];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 g_clearColor[4];
|
||||
extern "C" u8 mFrameBufferTex__13mDoGph_gInf_c[4];
|
||||
extern "C" extern u8 mBlureFlag__13mDoGph_gInf_c[4];
|
||||
extern "C" u8 sManager__10JFWDisplay[4];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80454E20-80454E24 003420 0004+00 1/1 0/0 0/0 .sdata2 @3631 */
|
||||
SECTION_SDATA2 static u32 lit_3631 = 0xFFFFFFFF;
|
||||
|
||||
/* 80454E24-80454E28 003424 0004+00 2/2 0/0 0/0 .sdata2 @3683 */
|
||||
SECTION_SDATA2 static u8 lit_3683[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
|
||||
/* 80454E28-80454E2C 003428 0004+00 1/1 0/0 0/0 .sdata2 @3684 */
|
||||
SECTION_SDATA2 static f32 lit_3684 = 608.0f;
|
||||
|
||||
/* 80454E2C-80454E30 00342C 0004+00 1/1 0/0 0/0 .sdata2 @3685 */
|
||||
SECTION_SDATA2 static f32 lit_3685 = 448.0f;
|
||||
|
||||
/* 80454E30-80454E34 003430 0004+00 4/4 0/0 0/0 .sdata2 @3686 */
|
||||
SECTION_SDATA2 static f32 lit_3686 = 1.0f;
|
||||
|
||||
/* 80454E34-80454E38 003434 0004+00 1/1 0/0 0/0 .sdata2 @3687 */
|
||||
SECTION_SDATA2 static f32 lit_3687 = 60.0f;
|
||||
|
||||
/* 80454E38-80454E3C 003438 0004+00 1/1 0/0 0/0 .sdata2 @3688 */
|
||||
SECTION_SDATA2 static f32 lit_3688 = 19.0f / 14.0f;
|
||||
|
||||
/* 80454E3C-80454E40 00343C 0004+00 1/1 0/0 0/0 .sdata2 @3689 */
|
||||
SECTION_SDATA2 static f32 lit_3689 = 100.0f;
|
||||
|
||||
/* 80454E40-80454E44 003440 0004+00 1/1 0/0 0/0 .sdata2 @3690 */
|
||||
SECTION_SDATA2 static f32 lit_3690 = 100000.0f;
|
||||
|
||||
/* 80454E44-80454E48 003444 0004+00 1/1 0/0 0/0 .sdata2 @3691 */
|
||||
SECTION_SDATA2 static f32 lit_3691 = -1.0f;
|
||||
// TODO: using cLib_calcTimer incorrectly orders dOvlpFd2_dlst_c dtor before calcTimer
|
||||
// fix later
|
||||
extern "C" s8 func_80252E70(s8*);
|
||||
|
||||
/* 8025247C-80252990 24CDBC 0514+00 1/0 0/0 0/0 .text draw__15dOvlpFd2_dlst_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dOvlpFd2_dlst_c::draw() {
|
||||
nofralloc
|
||||
#include "asm/d/ovlp/d_ovlp_fade2/draw__15dOvlpFd2_dlst_cFv.s"
|
||||
void dOvlpFd2_dlst_c::draw() {
|
||||
GXSetViewport(0.0f, 0.0f, 608.0f, 448.0f, 0.0f, 1.0f);
|
||||
GXSetScissor(0, 0, 608, 448);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGB, GX_RGBA4, 0);
|
||||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
|
||||
GXSetNumChans(1);
|
||||
GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, GX_LIGHT_NULL, GX_DF_NONE,
|
||||
GX_AF_NONE);
|
||||
GXSetNumTexGens(0);
|
||||
GXSetNumTevStages(1);
|
||||
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);
|
||||
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO);
|
||||
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
|
||||
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO);
|
||||
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
|
||||
GXSetZCompLoc(GX_TRUE);
|
||||
GXSetZMode(GX_FALSE, GX_ALWAYS, GX_FALSE);
|
||||
GXSetBlendMode(GX_BM_NONE, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_CLEAR);
|
||||
GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0);
|
||||
GXSetFog(GX_FOG_NONE, 0.0f, 0.0f, 0.0f, 0.0f, g_clearColor);
|
||||
GXSetCullMode(GX_CULL_NONE);
|
||||
GXSetDither(GX_ENABLE);
|
||||
GXSetClipMode(GX_CLIP_DISABLE);
|
||||
GXLoadPosMtxImm(g_mDoMtx_identity, GX_PNMTX0);
|
||||
GXSetCurrentMtx(0);
|
||||
|
||||
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
|
||||
GXPosition2s16(mDoGph_gInf_c::getMinX(), mDoGph_gInf_c::getMinY());
|
||||
GXPosition2s16(mDoGph_gInf_c::getMaxX(), mDoGph_gInf_c::getMinY());
|
||||
GXPosition2s16(mDoGph_gInf_c::getMaxX(), mDoGph_gInf_c::getMaxY());
|
||||
GXPosition2s16(mDoGph_gInf_c::getMinX(), mDoGph_gInf_c::getMaxY());
|
||||
i_GXEnd();
|
||||
|
||||
Mtx44 m;
|
||||
C_MTXPerspective(m, 60.0f, mDoGph_gInf_c::getWidthF() / mDoGph_gInf_c::getHeightF(), 100.0f,
|
||||
100000.0f);
|
||||
GXSetProjection(m, GX_PERSPECTIVE);
|
||||
GXInitTexObj(mDoGph_gInf_c::getFrameBufferTexObj(), mDoGph_gInf_c::getFrameBufferTex(), 304,
|
||||
224, GX_TF_RGBA8, GX_CLAMP, GX_CLAMP, GX_FALSE);
|
||||
GXInitTexObjLOD(mDoGph_gInf_c::getFrameBufferTexObj(), GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f,
|
||||
GX_FALSE, GX_FALSE, GX_ANISO_1);
|
||||
GXLoadTexObj(mDoGph_gInf_c::getFrameBufferTexObj(), GX_TEXMAP0);
|
||||
|
||||
GXSetNumChans(1);
|
||||
GXSetChanCtrl(GX_COLOR0, 0, GX_SRC_REG, GX_SRC_REG, GX_LIGHT_NULL, GX_DF_NONE, GX_AF_NONE);
|
||||
GXColor color = {255, 255, 255, 255};
|
||||
GXSetChanMatColor(GX_COLOR0, color);
|
||||
GXSetNumTexGens(1);
|
||||
GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 60, GX_FALSE, 125);
|
||||
GXSetNumTevStages(1);
|
||||
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0);
|
||||
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_RASC, GX_CC_TEXC, GX_CC_ZERO);
|
||||
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
|
||||
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO);
|
||||
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
|
||||
GXSetZCompLoc(GX_TRUE);
|
||||
GXSetZMode(GX_FALSE, GX_ALWAYS, GX_FALSE);
|
||||
GXSetBlendMode(GX_BM_NONE, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_CLEAR);
|
||||
GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0);
|
||||
GXSetFog(GX_FOG_NONE, 0.0f, 0.0f, 0.0f, 0.0f, g_clearColor);
|
||||
GXSetCullMode(GX_CULL_NONE);
|
||||
GXSetDither(1);
|
||||
GXSetClipMode(GX_CLIP_ENABLE);
|
||||
GXLoadPosMtxImm(mMtx, GX_PNMTX0);
|
||||
GXSetCurrentMtx(0);
|
||||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGB, GX_RGBA4, 0);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGB8, 0);
|
||||
|
||||
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
|
||||
GXPosition2s16(-mDoGph_gInf_c::getWidth() / 2, mDoGph_gInf_c::getHeight() / 2);
|
||||
GXTexCoord2s8(0, 0);
|
||||
|
||||
GXPosition2s16(mDoGph_gInf_c::getWidth() / 2, mDoGph_gInf_c::getHeight() / 2);
|
||||
GXTexCoord2s8(1, 0);
|
||||
|
||||
GXPosition2s16(mDoGph_gInf_c::getWidth() / 2, -mDoGph_gInf_c::getHeight() / 2);
|
||||
GXTexCoord2s8(1, 1);
|
||||
|
||||
GXPosition2s16(-mDoGph_gInf_c::getWidth() / 2, -mDoGph_gInf_c::getHeight() / 2);
|
||||
GXTexCoord2s8(0, 1);
|
||||
i_GXEnd();
|
||||
|
||||
J2DOrthoGraph* graf_ctx = (J2DOrthoGraph*)dComIfGp_getCurrentGrafPort();
|
||||
graf_ctx->setOrtho(mDoGph_gInf_c::getMinXF(), mDoGph_gInf_c::getMinYF(),
|
||||
mDoGph_gInf_c::getWidthF(), mDoGph_gInf_c::getHeightF(), -1.0f, 1.0f);
|
||||
graf_ctx->setup2D();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803C2CF0-803C2CFC -00001 000C+00 1/1 0/0 0/0 .data @3695 */
|
||||
SECTION_DATA static void* lit_3695[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)execFirstSnap__10dOvlpFd2_cFv,
|
||||
};
|
||||
|
||||
/* 803C2CFC-803C2D08 -00001 000C+00 1/1 0/0 0/0 .data @3721 */
|
||||
SECTION_DATA static void* lit_3721[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)execFadeOut__10dOvlpFd2_cFv,
|
||||
};
|
||||
|
||||
/* 803C2D08-803C2D14 -00001 000C+00 1/1 0/0 0/0 .data @3736 */
|
||||
SECTION_DATA static void* lit_3736[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)execNextSnap__10dOvlpFd2_cFv,
|
||||
};
|
||||
|
||||
/* 803C2D14-803C2D20 -00001 000C+00 1/1 0/0 0/0 .data @3765 */
|
||||
SECTION_DATA static void* lit_3765[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)execFadeIn__10dOvlpFd2_cFv,
|
||||
};
|
||||
|
||||
/* 803C2D20-803C2D34 -00001 0014+00 1/0 0/0 0/0 .data l_dOvlpFd2_Method */
|
||||
SECTION_DATA static void* l_dOvlpFd2_Method[5] = {
|
||||
(void*)dOvlpFd2_Create__FPv,
|
||||
(void*)dOvlpFd2_Delete__FP10dOvlpFd2_c,
|
||||
(void*)dOvlpFd2_Execute__FP10dOvlpFd2_c,
|
||||
(void*)dOvlpFd2_IsDelete__FP10dOvlpFd2_c,
|
||||
(void*)dOvlpFd2_Draw__FP10dOvlpFd2_c,
|
||||
};
|
||||
|
||||
/* 803C2D34-803C2D5C -00001 0028+00 0/0 0/0 1/0 .data g_profile_OVERLAP2 */
|
||||
SECTION_DATA extern void* g_profile_OVERLAP2[10] = {
|
||||
(void*)NULL, (void*)0x0002FFFD,
|
||||
(void*)0x00110000, (void*)&g_fpcLf_Method,
|
||||
(void*)0x00000120, (void*)NULL,
|
||||
(void*)NULL, (void*)&g_fopOvlp_Method,
|
||||
(void*)0x03070000, (void*)&l_dOvlpFd2_Method,
|
||||
};
|
||||
|
||||
/* 803C2D5C-803C2D70 01FE7C 0010+04 2/2 0/0 0/0 .data __vt__15dOvlpFd2_dlst_c */
|
||||
SECTION_DATA extern void* __vt__15dOvlpFd2_dlst_c[4 + 1 /* padding */] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)draw__15dOvlpFd2_dlst_cFv,
|
||||
(void*)__dt__15dOvlpFd2_dlst_cFv,
|
||||
/* padding */
|
||||
NULL,
|
||||
};
|
||||
|
||||
/* 80252990-802529F4 24D2D0 0064+00 1/1 0/0 0/0 .text __ct__10dOvlpFd2_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dOvlpFd2_c::dOvlpFd2_c() {
|
||||
nofralloc
|
||||
#include "asm/d/ovlp/d_ovlp_fade2/__ct__10dOvlpFd2_cFv.s"
|
||||
dOvlpFd2_c::dOvlpFd2_c() {
|
||||
setExecute(&execFirstSnap);
|
||||
dComIfGp_2dShowOff();
|
||||
mTimer = 2;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802529F4-80252A78 24D334 0084+00 1/0 0/0 0/0 .text execFirstSnap__10dOvlpFd2_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dOvlpFd2_c::execFirstSnap() {
|
||||
nofralloc
|
||||
#include "asm/d/ovlp/d_ovlp_fade2/execFirstSnap__10dOvlpFd2_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
void dOvlpFd2_c::execFirstSnap() {
|
||||
if (field_0x11c != 0) {
|
||||
if (func_80252E70(&mTimer) == 0) {
|
||||
setExecute(&execFadeOut);
|
||||
fopOvlpM_Done(this);
|
||||
mTimer = -12;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80454E48-80454E4C 003448 0004+00 1/1 0/0 0/0 .sdata2 @3757 */
|
||||
SECTION_SDATA2 static f32 lit_3757 = 1.0f / 20.0f;
|
||||
dComIfGp_setWindowNum(0);
|
||||
}
|
||||
}
|
||||
|
||||
/* 80252A78-80252BC0 24D3B8 0148+00 1/0 0/0 0/0 .text execFadeOut__10dOvlpFd2_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dOvlpFd2_c::execFadeOut() {
|
||||
nofralloc
|
||||
#include "asm/d/ovlp/d_ovlp_fade2/execFadeOut__10dOvlpFd2_cFv.s"
|
||||
void dOvlpFd2_c::execFadeOut() {
|
||||
dComIfGp_setWindowNum(0);
|
||||
cLib_chaseAngleS(&field_0x112, 2000, 100);
|
||||
|
||||
// fake match?
|
||||
s16 temp_r5 = ((((field_0x110 + 0x4000) & 0x8000) | 0x4000) - field_0x112);
|
||||
|
||||
field_0x110 += field_0x112;
|
||||
|
||||
if (field_0x112 * (s16)(temp_r5 - field_0x110) < 0) {
|
||||
if (mTimer == 0) {
|
||||
if (fopOvlpM_IsOutReq(this)) {
|
||||
fopOvlpM_SceneIsStart();
|
||||
setExecute(&execNextSnap);
|
||||
field_0x110 = -0x4000;
|
||||
mTimer = 15;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (mTimer < 0) {
|
||||
if (++mTimer == 0) {
|
||||
mDoGph_gInf_c::startFadeOut(16);
|
||||
mTimer = TREG_S(1) + 20;
|
||||
}
|
||||
} else {
|
||||
func_80252E70(&mTimer);
|
||||
}
|
||||
|
||||
field_0x114 += TREG_S(0) + 0x800;
|
||||
cLib_addCalc2(&field_0x118, TREG_F(1) + 1.0f, 1.0f, TREG_F(2) + 0.05f);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80252BC0-80252C68 24D500 00A8+00 1/0 0/0 0/0 .text execNextSnap__10dOvlpFd2_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dOvlpFd2_c::execNextSnap() {
|
||||
nofralloc
|
||||
#include "asm/d/ovlp/d_ovlp_fade2/execNextSnap__10dOvlpFd2_cFv.s"
|
||||
void dOvlpFd2_c::execNextSnap() {
|
||||
if (func_80252E70(&mTimer) == 0) {
|
||||
if (!JFWDisplay::getManager()->getFader()->startFadeIn(16)) {
|
||||
field_0x110 += field_0x112;
|
||||
field_0x11c = 0;
|
||||
|
||||
dComIfGp_setWindowNum(1);
|
||||
dComIfGp_2dShowOff();
|
||||
setExecute(&execFadeIn);
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80454E4C-80454E50 00344C 0004+00 1/1 0/0 0/0 .sdata2 @3794 */
|
||||
SECTION_SDATA2 static f32 lit_3794 = 3.0f / 100.0f;
|
||||
|
||||
/* 80454E50-80454E54 003450 0004+00 1/1 0/0 0/0 .sdata2 @3795 */
|
||||
SECTION_SDATA2 static f32 lit_3795 = 0.0010000000474974513f;
|
||||
|
||||
/* 80252C68-80252D0C 24D5A8 00A4+00 1/0 0/0 0/0 .text execFadeIn__10dOvlpFd2_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dOvlpFd2_c::execFadeIn() {
|
||||
nofralloc
|
||||
#include "asm/d/ovlp/d_ovlp_fade2/execFadeIn__10dOvlpFd2_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
void dOvlpFd2_c::execFadeIn() {
|
||||
field_0x114 -= TREG_S(0) + 0x800;
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80454E54-80454E58 003454 0004+00 1/1 0/0 0/0 .sdata2 @3822 */
|
||||
SECTION_SDATA2 static f32 lit_3822 = -420.0f;
|
||||
cLib_addCalc0(&field_0x118, 1.0f, TREG_F(3) + 0.03f);
|
||||
if (field_0x118 < 0.001f) {
|
||||
if (field_0x11e == 0) {
|
||||
fopOvlpM_SceneIsStart();
|
||||
field_0x11e = 1;
|
||||
} else {
|
||||
fopOvlpM_Done(this);
|
||||
dComIfGp_setWindowNum(1);
|
||||
dComIfGp_2dShowOn();
|
||||
}
|
||||
} else {
|
||||
dComIfGp_setWindowNum(0);
|
||||
fopOvlpM_SceneIsStop();
|
||||
}
|
||||
}
|
||||
|
||||
void dOvlpFd2_c::draw() {
|
||||
if (field_0x11c == 0) {
|
||||
dComIfGd_set2DXlu(&mSnapshot_c);
|
||||
field_0x11c = 1;
|
||||
} else if (dComIfGp_getWindowNum() == 0) {
|
||||
mDoMtx_stack_c::transS(0.0f, 0.0f, TREG_F(0) + -420.0f);
|
||||
mDoMtx_stack_c::ZrotM(field_0x114);
|
||||
mDoMtx_stack_c::scaleM(1.0f, field_0x118 + 1.0f, 1.0f);
|
||||
mDoMtx_stack_c::ZrotM(-field_0x114);
|
||||
|
||||
cMtx_copy(mDoMtx_stack_c::get(), mDlst_c.getMtx());
|
||||
mDlst_c.entry();
|
||||
}
|
||||
|
||||
mDoGph_gInf_c::offBlure();
|
||||
}
|
||||
|
||||
/* 80252D0C-80252E08 24D64C 00FC+00 1/0 0/0 0/0 .text dOvlpFd2_Draw__FP10dOvlpFd2_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void dOvlpFd2_Draw(dOvlpFd2_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/ovlp/d_ovlp_fade2/dOvlpFd2_Draw__FP10dOvlpFd2_c.s"
|
||||
static int dOvlpFd2_Draw(dOvlpFd2_c* i_this) {
|
||||
i_this->draw();
|
||||
return 1;
|
||||
}
|
||||
|
||||
void dOvlpFd2_c::execute() {
|
||||
(this->*mExecuteFn)();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80252E08-80252E34 24D748 002C+00 1/0 0/0 0/0 .text dOvlpFd2_Execute__FP10dOvlpFd2_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void dOvlpFd2_Execute(dOvlpFd2_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/ovlp/d_ovlp_fade2/dOvlpFd2_Execute__FP10dOvlpFd2_c.s"
|
||||
static int dOvlpFd2_Execute(dOvlpFd2_c* i_this) {
|
||||
i_this->execute();
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80252E34-80252E3C 24D774 0008+00 1/0 0/0 0/0 .text dOvlpFd2_IsDelete__FP10dOvlpFd2_c
|
||||
*/
|
||||
static bool dOvlpFd2_IsDelete(dOvlpFd2_c* param_0) {
|
||||
return true;
|
||||
static int dOvlpFd2_IsDelete(dOvlpFd2_c* i_this) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80252E3C-80252E44 24D77C 0008+00 1/0 0/0 0/0 .text dOvlpFd2_Delete__FP10dOvlpFd2_c */
|
||||
static bool dOvlpFd2_Delete(dOvlpFd2_c* param_0) {
|
||||
return true;
|
||||
static int dOvlpFd2_Delete(dOvlpFd2_c* i_this) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80252E44-80252E70 24D784 002C+00 1/0 0/0 0/0 .text dOvlpFd2_Create__FPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void dOvlpFd2_Create(void* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/ovlp/d_ovlp_fade2/dOvlpFd2_Create__FPv.s"
|
||||
static int dOvlpFd2_Create(void* i_this) {
|
||||
new (i_this) dOvlpFd2_c();
|
||||
return cPhs_COMPLEATE_e;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80252E70-80252E8C 24D7B0 001C+00 3/3 4/4 0/0 .text cLib_calcTimer<Sc>__FPSc */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
extern "C" asm void func_80252E70(void* _this, s8* param_0) {
|
||||
extern "C" asm s8 func_80252E70(s8* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/ovlp/d_ovlp_fade2/func_80252E70.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80252E8C-80252ED4 24D7CC 0048+00 1/0 0/0 0/0 .text __dt__15dOvlpFd2_dlst_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dOvlpFd2_dlst_c::~dOvlpFd2_dlst_c() {
|
||||
nofralloc
|
||||
#include "asm/d/ovlp/d_ovlp_fade2/__dt__15dOvlpFd2_dlst_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
/* 803C2D20-803C2D34 -00001 0014+00 1/0 0/0 0/0 .data l_dOvlpFd2_Method */
|
||||
static leafdraw_method_class l_dOvlpFd2_Method = {
|
||||
(process_method_func)dOvlpFd2_Create, (process_method_func)dOvlpFd2_Delete,
|
||||
(process_method_func)dOvlpFd2_Execute, (process_method_func)dOvlpFd2_IsDelete,
|
||||
(process_method_func)dOvlpFd2_Draw,
|
||||
};
|
||||
|
||||
/* 803C2D34-803C2D5C -00001 0028+00 0/0 0/0 1/0 .data g_profile_OVERLAP2 */
|
||||
extern overlap_process_profile_definition g_profile_OVERLAP2 = {
|
||||
fpcLy_ROOT_e,
|
||||
2,
|
||||
fpcPi_CURRENT_e,
|
||||
PROC_OVERLAP2,
|
||||
&g_fpcLf_Method.mBase,
|
||||
sizeof(dOvlpFd2_c),
|
||||
0,
|
||||
0,
|
||||
&g_fopOvlp_Method,
|
||||
775,
|
||||
&l_dOvlpFd2_Method,
|
||||
};
|
||||
+225
-342
@@ -1,383 +1,266 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: d/ovlp/d_ovlp_fade3
|
||||
//
|
||||
/**
|
||||
* d_ovlp_fade3.cpp
|
||||
*
|
||||
*/
|
||||
|
||||
#include "d/ovlp/d_ovlp_fade3.h"
|
||||
#include "dol2asm.h"
|
||||
#include "JSystem/J2DGraph/J2DOrthoGraph.h"
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "d/d_procname.h"
|
||||
#include "d/s/d_s_play.h"
|
||||
#include "m_Do/m_Do_audio.h"
|
||||
#include "m_Do/m_Do_graphic.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct overlap_task_class {};
|
||||
|
||||
struct mDoMtx_stack_c {
|
||||
/* 8000CE38 */ void scaleM(f32, f32, f32);
|
||||
|
||||
static u8 now[48];
|
||||
};
|
||||
|
||||
struct mDoGph_gInf_c {
|
||||
static u8 mFrameBufferTexObj[32];
|
||||
static u8 mFrameBufferTex[4];
|
||||
};
|
||||
|
||||
struct dOvlpFd3_dlst_c {
|
||||
/* 80252F28 */ void draw();
|
||||
/* 802538E8 */ ~dOvlpFd3_dlst_c();
|
||||
};
|
||||
|
||||
struct dOvlpFd3_c {
|
||||
/* 8025343C */ dOvlpFd3_c();
|
||||
/* 80253518 */ void execFirstSnap();
|
||||
/* 802535AC */ void execFadeOut();
|
||||
/* 8025368C */ void execNextSnap();
|
||||
/* 80253730 */ void execFadeIn();
|
||||
};
|
||||
|
||||
struct dDlst_snapShot_c {
|
||||
/* 80252ED4 */ void draw();
|
||||
};
|
||||
|
||||
struct dDlst_base_c {};
|
||||
|
||||
struct dDlst_list_c {
|
||||
/* 80056794 */ void set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*);
|
||||
};
|
||||
|
||||
struct dCamera_c {
|
||||
/* 801614D0 */ void Stop();
|
||||
};
|
||||
|
||||
struct JGeometry {
|
||||
template <typename A1>
|
||||
struct TBox2 {};
|
||||
/* TBox2<f32> */
|
||||
struct TBox2__template0 {};
|
||||
};
|
||||
|
||||
struct JFWDisplay {
|
||||
static u8 sManager[4];
|
||||
};
|
||||
|
||||
struct J2DOrthoGraph {
|
||||
/* 802E980C */ void setOrtho(JGeometry::TBox2<f32> const&, f32, f32);
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void draw__16dDlst_snapShot_cFv();
|
||||
extern "C" void draw__15dOvlpFd3_dlst_cFv();
|
||||
extern "C" void __ct__10dOvlpFd3_cFv();
|
||||
extern "C" void execFirstSnap__10dOvlpFd3_cFv();
|
||||
extern "C" void execFadeOut__10dOvlpFd3_cFv();
|
||||
extern "C" void execNextSnap__10dOvlpFd3_cFv();
|
||||
extern "C" void execFadeIn__10dOvlpFd3_cFv();
|
||||
extern "C" static void dOvlpFd3_Draw__FP10dOvlpFd3_c();
|
||||
extern "C" static void dOvlpFd3_Execute__FP10dOvlpFd3_c();
|
||||
extern "C" static bool dOvlpFd3_IsDelete__FP10dOvlpFd3_c();
|
||||
extern "C" static bool dOvlpFd3_Delete__FP10dOvlpFd3_c();
|
||||
extern "C" static void dOvlpFd3_Create__FPv();
|
||||
extern "C" void __dt__15dOvlpFd3_dlst_cFv();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoAud_setFadeOutStart__FUc();
|
||||
extern "C" void mDoAud_setFadeInStart__FUc();
|
||||
extern "C" void scaleM__14mDoMtx_stack_cFfff();
|
||||
extern "C" void fopOvlpM_SceneIsStart__Fv();
|
||||
extern "C" void fopOvlpM_IsOutReq__FP18overlap_task_class();
|
||||
extern "C" void fopOvlpM_Done__FP18overlap_task_class();
|
||||
extern "C" void set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c();
|
||||
extern "C" void func_80141AE8(void* _this, u8*);
|
||||
extern "C" void Stop__9dCamera_cFv();
|
||||
extern "C" void dCam_getBody__Fv();
|
||||
extern "C" void func_80252E70(void* _this, s8*);
|
||||
extern "C" void cLib_addCalc0__FPfff();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void func_802E980C();
|
||||
extern "C" void PSMTXCopy();
|
||||
extern "C" void PSMTXTrans();
|
||||
extern "C" void C_MTXPerspective();
|
||||
extern "C" void GXSetVtxDesc();
|
||||
extern "C" void GXClearVtxDesc();
|
||||
extern "C" void GXSetVtxAttrFmt();
|
||||
extern "C" void GXSetTexCoordGen2();
|
||||
extern "C" void GXSetNumTexGens();
|
||||
extern "C" void GXPixModeSync();
|
||||
extern "C" void GXBegin();
|
||||
extern "C" void GXSetCullMode();
|
||||
extern "C" void GXSetTexCopySrc();
|
||||
extern "C" void GXSetTexCopyDst();
|
||||
extern "C" void GXCopyTex();
|
||||
extern "C" void GXSetChanMatColor();
|
||||
extern "C" void GXSetNumChans();
|
||||
extern "C" void GXSetChanCtrl();
|
||||
extern "C" void GXInitTexObj();
|
||||
extern "C" void GXInitTexObjLOD();
|
||||
extern "C" void GXLoadTexObj();
|
||||
extern "C" void GXSetTevColorIn();
|
||||
extern "C" void GXSetTevAlphaIn();
|
||||
extern "C" void GXSetTevColorOp();
|
||||
extern "C" void GXSetTevAlphaOp();
|
||||
extern "C" void GXSetAlphaCompare();
|
||||
extern "C" void GXSetTevOrder();
|
||||
extern "C" void GXSetNumTevStages();
|
||||
extern "C" void GXSetFog();
|
||||
extern "C" void GXSetBlendMode();
|
||||
extern "C" void GXSetZMode();
|
||||
extern "C" void GXSetZCompLoc();
|
||||
extern "C" void GXSetDither();
|
||||
extern "C" void GXSetProjection();
|
||||
extern "C" void GXLoadPosMtxImm();
|
||||
extern "C" void GXSetCurrentMtx();
|
||||
extern "C" void GXSetViewport();
|
||||
extern "C" void GXSetScissor();
|
||||
extern "C" void GXSetClipMode();
|
||||
extern "C" void __ptmf_scall();
|
||||
extern "C" extern u8 g_mDoMtx_identity[48 + 24 /* padding */];
|
||||
extern "C" extern void* g_fopOvlp_Method[5 + 1 /* padding */];
|
||||
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
|
||||
extern "C" extern void* __vt__12dDlst_base_c[3];
|
||||
extern "C" u8 mFrameBufferTexObj__13mDoGph_gInf_c[32];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 g_clearColor[4];
|
||||
extern "C" u8 mFrameBufferTex__13mDoGph_gInf_c[4];
|
||||
extern "C" u8 sManager__10JFWDisplay[4];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
extern "C" u8 func_80141AE8(u8*);
|
||||
extern "C" s8 func_80252E70(s8*);
|
||||
|
||||
/* 80252ED4-80252F28 24D814 0054+00 1/0 0/0 0/0 .text draw__16dDlst_snapShot_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dDlst_snapShot_c::draw() {
|
||||
nofralloc
|
||||
#include "asm/d/ovlp/d_ovlp_fade3/draw__16dDlst_snapShot_cFv.s"
|
||||
void dDlst_snapShot_c::draw() {
|
||||
GXSetTexCopySrc(0, 0, 608, 448);
|
||||
GXSetTexCopyDst(608 / 2, 448 / 2, GX_TF_RGBA8, GX_TRUE);
|
||||
GXCopyTex(mDoGph_gInf_c::getFrameBufferTex(), GX_FALSE);
|
||||
GXPixModeSync();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80454E58-80454E5C 003458 0004+00 1/1 0/0 0/0 .sdata2 @3748 */
|
||||
SECTION_SDATA2 static u32 lit_3748 = 0xFFFFFFFF;
|
||||
|
||||
/* 80454E5C-80454E60 00345C 0004+00 2/2 0/0 0/0 .sdata2 @3800 */
|
||||
SECTION_SDATA2 static u8 lit_3800[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
|
||||
/* 80454E60-80454E64 003460 0004+00 1/1 0/0 0/0 .sdata2 @3801 */
|
||||
SECTION_SDATA2 static f32 lit_3801 = 608.0f;
|
||||
|
||||
/* 80454E64-80454E68 003464 0004+00 1/1 0/0 0/0 .sdata2 @3802 */
|
||||
SECTION_SDATA2 static f32 lit_3802 = 448.0f;
|
||||
|
||||
/* 80454E68-80454E6C 003468 0004+00 3/3 0/0 0/0 .sdata2 @3803 */
|
||||
SECTION_SDATA2 static f32 lit_3803 = 1.0f;
|
||||
|
||||
/* 80454E6C-80454E70 00346C 0004+00 1/1 0/0 0/0 .sdata2 @3804 */
|
||||
SECTION_SDATA2 static f32 lit_3804 = 60.0f;
|
||||
|
||||
/* 80454E70-80454E74 003470 0004+00 1/1 0/0 0/0 .sdata2 @3805 */
|
||||
SECTION_SDATA2 static f32 lit_3805 = 19.0f / 14.0f;
|
||||
|
||||
/* 80454E74-80454E78 003474 0004+00 1/1 0/0 0/0 .sdata2 @3806 */
|
||||
SECTION_SDATA2 static f32 lit_3806 = 100.0f;
|
||||
|
||||
/* 80454E78-80454E7C 003478 0004+00 1/1 0/0 0/0 .sdata2 @3807 */
|
||||
SECTION_SDATA2 static f32 lit_3807 = 100000.0f;
|
||||
|
||||
/* 80454E7C-80454E80 00347C 0004+00 1/1 0/0 0/0 .sdata2 @3808 */
|
||||
SECTION_SDATA2 static f32 lit_3808 = -1.0f;
|
||||
|
||||
/* 80252F28-8025343C 24D868 0514+00 1/0 0/0 0/0 .text draw__15dOvlpFd3_dlst_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dOvlpFd3_dlst_c::draw() {
|
||||
nofralloc
|
||||
#include "asm/d/ovlp/d_ovlp_fade3/draw__15dOvlpFd3_dlst_cFv.s"
|
||||
void dOvlpFd3_dlst_c::draw() {
|
||||
GXSetViewport(0.0f, 0.0f, 608.0f, 448.0f, 0.0f, 1.0f);
|
||||
GXSetScissor(0, 0, 608, 448);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGB, GX_RGBA4, 0);
|
||||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
|
||||
GXSetNumChans(1);
|
||||
GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, GX_LIGHT_NULL, GX_DF_NONE,
|
||||
GX_AF_NONE);
|
||||
GXSetNumTexGens(0);
|
||||
GXSetNumTevStages(1);
|
||||
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);
|
||||
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO);
|
||||
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
|
||||
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO);
|
||||
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
|
||||
GXSetZCompLoc(GX_TRUE);
|
||||
GXSetZMode(GX_FALSE, GX_ALWAYS, GX_FALSE);
|
||||
GXSetBlendMode(GX_BM_NONE, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_CLEAR);
|
||||
GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0);
|
||||
GXSetFog(GX_FOG_NONE, 0.0f, 0.0f, 0.0f, 0.0f, g_clearColor);
|
||||
GXSetCullMode(GX_CULL_NONE);
|
||||
GXSetDither(GX_ENABLE);
|
||||
GXSetClipMode(GX_CLIP_DISABLE);
|
||||
GXLoadPosMtxImm(g_mDoMtx_identity, GX_PNMTX0);
|
||||
GXSetCurrentMtx(0);
|
||||
|
||||
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
|
||||
GXPosition2s16(mDoGph_gInf_c::getMinX(), mDoGph_gInf_c::getMinY());
|
||||
GXPosition2s16(mDoGph_gInf_c::getMaxX(), mDoGph_gInf_c::getMinY());
|
||||
GXPosition2s16(mDoGph_gInf_c::getMaxX(), mDoGph_gInf_c::getMaxY());
|
||||
GXPosition2s16(mDoGph_gInf_c::getMinX(), mDoGph_gInf_c::getMaxY());
|
||||
i_GXEnd();
|
||||
|
||||
Mtx44 m;
|
||||
C_MTXPerspective(m, 60.0f, mDoGph_gInf_c::getWidthF() / mDoGph_gInf_c::getHeightF(), 100.0f,
|
||||
100000.0f);
|
||||
GXSetProjection(m, GX_PERSPECTIVE);
|
||||
GXInitTexObj(mDoGph_gInf_c::getFrameBufferTexObj(), mDoGph_gInf_c::getFrameBufferTex(), 304,
|
||||
224, GX_TF_RGBA8, GX_CLAMP, GX_CLAMP, GX_FALSE);
|
||||
GXInitTexObjLOD(mDoGph_gInf_c::getFrameBufferTexObj(), GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f,
|
||||
GX_FALSE, GX_FALSE, GX_ANISO_1);
|
||||
GXLoadTexObj(mDoGph_gInf_c::getFrameBufferTexObj(), GX_TEXMAP0);
|
||||
|
||||
GXSetNumChans(1);
|
||||
GXSetChanCtrl(GX_COLOR0, 0, GX_SRC_REG, GX_SRC_REG, GX_LIGHT_NULL, GX_DF_NONE, GX_AF_NONE);
|
||||
GXColor color = {255, 255, 255, 255};
|
||||
GXSetChanMatColor(GX_COLOR0, color);
|
||||
GXSetNumTexGens(1);
|
||||
GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 60, GX_FALSE, 125);
|
||||
GXSetNumTevStages(1);
|
||||
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0);
|
||||
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_RASC, GX_CC_TEXC, GX_CC_ZERO);
|
||||
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
|
||||
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO);
|
||||
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
|
||||
GXSetZCompLoc(GX_TRUE);
|
||||
GXSetZMode(GX_FALSE, GX_ALWAYS, GX_FALSE);
|
||||
GXSetBlendMode(GX_BM_NONE, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_CLEAR);
|
||||
GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0);
|
||||
GXSetFog(GX_FOG_NONE, 0.0f, 0.0f, 0.0f, 0.0f, g_clearColor);
|
||||
GXSetCullMode(GX_CULL_NONE);
|
||||
GXSetDither(1);
|
||||
GXSetClipMode(GX_CLIP_ENABLE);
|
||||
GXLoadPosMtxImm(mMtx, GX_PNMTX0);
|
||||
GXSetCurrentMtx(0);
|
||||
GXClearVtxDesc();
|
||||
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
|
||||
GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGB, GX_RGBA4, 0);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGB8, 0);
|
||||
|
||||
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
|
||||
GXPosition2s16(-mDoGph_gInf_c::getWidth() / 2, mDoGph_gInf_c::getHeight() / 2);
|
||||
GXTexCoord2s8(0, 0);
|
||||
|
||||
GXPosition2s16(mDoGph_gInf_c::getWidth() / 2, mDoGph_gInf_c::getHeight() / 2);
|
||||
GXTexCoord2s8(1, 0);
|
||||
|
||||
GXPosition2s16(mDoGph_gInf_c::getWidth() / 2, -mDoGph_gInf_c::getHeight() / 2);
|
||||
GXTexCoord2s8(1, 1);
|
||||
|
||||
GXPosition2s16(-mDoGph_gInf_c::getWidth() / 2, -mDoGph_gInf_c::getHeight() / 2);
|
||||
GXTexCoord2s8(0, 1);
|
||||
i_GXEnd();
|
||||
|
||||
J2DOrthoGraph* graf_ctx = (J2DOrthoGraph*)dComIfGp_getCurrentGrafPort();
|
||||
graf_ctx->setOrtho(mDoGph_gInf_c::getMinXF(), mDoGph_gInf_c::getMinYF(),
|
||||
mDoGph_gInf_c::getWidthF(), mDoGph_gInf_c::getHeightF(), -1.0f, 1.0f);
|
||||
graf_ctx->setup2D();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803C2D70-803C2D7C -00001 000C+00 1/1 0/0 0/0 .data @3812 */
|
||||
SECTION_DATA static void* lit_3812[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)execFirstSnap__10dOvlpFd3_cFv,
|
||||
};
|
||||
|
||||
/* 803C2D7C-803C2D88 -00001 000C+00 1/1 0/0 0/0 .data @3857 */
|
||||
SECTION_DATA static void* lit_3857[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)execFadeOut__10dOvlpFd3_cFv,
|
||||
};
|
||||
|
||||
/* 803C2D88-803C2D94 -00001 000C+00 1/1 0/0 0/0 .data @3871 */
|
||||
SECTION_DATA static void* lit_3871[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)execNextSnap__10dOvlpFd3_cFv,
|
||||
};
|
||||
|
||||
/* 803C2D94-803C2DA0 -00001 000C+00 1/1 0/0 0/0 .data @3898 */
|
||||
SECTION_DATA static void* lit_3898[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)execFadeIn__10dOvlpFd3_cFv,
|
||||
};
|
||||
|
||||
/* 803C2DA0-803C2DB4 -00001 0014+00 1/0 0/0 0/0 .data l_dOvlpFd3_Method */
|
||||
SECTION_DATA static void* l_dOvlpFd3_Method[5] = {
|
||||
(void*)dOvlpFd3_Create__FPv,
|
||||
(void*)dOvlpFd3_Delete__FP10dOvlpFd3_c,
|
||||
(void*)dOvlpFd3_Execute__FP10dOvlpFd3_c,
|
||||
(void*)dOvlpFd3_IsDelete__FP10dOvlpFd3_c,
|
||||
(void*)dOvlpFd3_Draw__FP10dOvlpFd3_c,
|
||||
};
|
||||
|
||||
/* 803C2DB4-803C2DDC -00001 0028+00 0/0 0/0 1/0 .data g_profile_OVERLAP3 */
|
||||
SECTION_DATA extern void* g_profile_OVERLAP3[10] = {
|
||||
(void*)NULL, (void*)0x0000FFFD,
|
||||
(void*)0x00020000, (void*)&g_fpcLf_Method,
|
||||
(void*)0x00000120, (void*)NULL,
|
||||
(void*)NULL, (void*)&g_fopOvlp_Method,
|
||||
(void*)0x03080000, (void*)&l_dOvlpFd3_Method,
|
||||
};
|
||||
|
||||
/* 803C2DDC-803C2DEC 01FEFC 0010+00 2/2 0/0 0/0 .data __vt__15dOvlpFd3_dlst_c */
|
||||
SECTION_DATA extern void* __vt__15dOvlpFd3_dlst_c[4] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)draw__15dOvlpFd3_dlst_cFv,
|
||||
(void*)__dt__15dOvlpFd3_dlst_cFv,
|
||||
};
|
||||
|
||||
/* 803C2DEC-803C2DF8 01FF0C 000C+00 1/1 1/1 0/0 .data __vt__16dDlst_snapShot_c */
|
||||
SECTION_DATA extern void* __vt__16dDlst_snapShot_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)draw__16dDlst_snapShot_cFv,
|
||||
};
|
||||
|
||||
/* 8025343C-80253518 24DD7C 00DC+00 1/1 0/0 0/0 .text __ct__10dOvlpFd3_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dOvlpFd3_c::dOvlpFd3_c() {
|
||||
nofralloc
|
||||
#include "asm/d/ovlp/d_ovlp_fade3/__ct__10dOvlpFd3_cFv.s"
|
||||
dOvlpFd3_c::dOvlpFd3_c() {
|
||||
setExecute(&execFirstSnap);
|
||||
dComIfGp_2dShowOff();
|
||||
|
||||
mTimer = 2;
|
||||
field_0x11f = dComIfGp_getNextStageWipeSpeed();
|
||||
if (field_0x11f == 0) {
|
||||
field_0x11f = 1;
|
||||
}
|
||||
|
||||
dCam_getBody()->Stop();
|
||||
mDoGph_gInf_c::startFadeOut(XREG_S(3) + (field_0x11f >> 1) + 90);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80253518-802535AC 24DE58 0094+00 1/0 0/0 0/0 .text execFirstSnap__10dOvlpFd3_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dOvlpFd3_c::execFirstSnap() {
|
||||
nofralloc
|
||||
#include "asm/d/ovlp/d_ovlp_fade3/execFirstSnap__10dOvlpFd3_cFv.s"
|
||||
void dOvlpFd3_c::execFirstSnap() {
|
||||
if (func_80141AE8(&field_0x11f) == 0 && field_0x11c != 0) {
|
||||
if (func_80252E70(&mTimer) == 0) {
|
||||
setExecute(&execFadeOut);
|
||||
fopOvlpM_Done(this);
|
||||
mTimer = 0xFF;
|
||||
}
|
||||
|
||||
dComIfGp_setWindowNum(0);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802535AC-8025368C 24DEEC 00E0+00 1/0 0/0 0/0 .text execFadeOut__10dOvlpFd3_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dOvlpFd3_c::execFadeOut() {
|
||||
nofralloc
|
||||
#include "asm/d/ovlp/d_ovlp_fade3/execFadeOut__10dOvlpFd3_cFv.s"
|
||||
void dOvlpFd3_c::execFadeOut() {
|
||||
dComIfGp_setWindowNum(0);
|
||||
|
||||
if (mTimer == 0) {
|
||||
if (fopOvlpM_IsOutReq(this)) {
|
||||
fopOvlpM_SceneIsStart();
|
||||
setExecute(&execNextSnap);
|
||||
field_0x110 = -0x4000;
|
||||
mTimer = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (mTimer < 0) {
|
||||
if (++mTimer == 0) {
|
||||
mDoGph_gInf_c::startFadeOut(XREG_S(1) + 75);
|
||||
mTimer = XREG_S(2) + 90;
|
||||
mDoAud_setFadeOutStart(0);
|
||||
}
|
||||
} else {
|
||||
func_80252E70(&mTimer);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8025368C-80253730 24DFCC 00A4+00 1/0 0/0 0/0 .text execNextSnap__10dOvlpFd3_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dOvlpFd3_c::execNextSnap() {
|
||||
nofralloc
|
||||
#include "asm/d/ovlp/d_ovlp_fade3/execNextSnap__10dOvlpFd3_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
void dOvlpFd3_c::execNextSnap() {
|
||||
if (func_80252E70(&mTimer) == 0) {
|
||||
if (!JFWDisplay::getManager()->getFader()->startFadeIn(XREG_S(4) + 26)) {
|
||||
mDoAud_setFadeInStart(0);
|
||||
field_0x110 += field_0x112;
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80454E80-80454E84 003480 0004+00 1/1 0/0 0/0 .sdata2 @3923 */
|
||||
SECTION_SDATA2 static f32 lit_3923 = 3.0f / 100.0f;
|
||||
dComIfGp_setWindowNum(1);
|
||||
setExecute(&execFadeIn);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 80253730-802537AC 24E070 007C+00 1/0 0/0 0/0 .text execFadeIn__10dOvlpFd3_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dOvlpFd3_c::execFadeIn() {
|
||||
nofralloc
|
||||
#include "asm/d/ovlp/d_ovlp_fade3/execFadeIn__10dOvlpFd3_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
void dOvlpFd3_c::execFadeIn() {
|
||||
field_0x114 -= TREG_S(0) + 0x800;
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80454E84-80454E88 003484 0004+00 1/1 0/0 0/0 .sdata2 @3947 */
|
||||
SECTION_SDATA2 static f32 lit_3947 = -388.0f;
|
||||
cLib_addCalc0(&field_0x118, 1.0f, TREG_F(3) + 0.03f);
|
||||
if (field_0x11e == 0) {
|
||||
fopOvlpM_SceneIsStart();
|
||||
field_0x11e = 1;
|
||||
} else {
|
||||
fopOvlpM_Done(this);
|
||||
dComIfGp_setWindowNum(1);
|
||||
dComIfGp_2dShowOn();
|
||||
}
|
||||
}
|
||||
|
||||
void dOvlpFd3_c::draw() {
|
||||
if (field_0x11f == 0) {
|
||||
if (field_0x11c == 0) {
|
||||
dComIfGd_set2DXlu(&mSnapshot_c);
|
||||
field_0x11c = 1;
|
||||
} else if (dComIfGp_getWindowNum() == 0) {
|
||||
mDoMtx_stack_c::transS(0.0f, 0.0f, TREG_F(0) + -388.0f);
|
||||
mDoMtx_stack_c::scaleM(1.0f, 1.0f, 1.0f);
|
||||
|
||||
cMtx_copy(mDoMtx_stack_c::get(), mDlst_c.getMtx());
|
||||
mDlst_c.entry();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 802537AC-80253880 24E0EC 00D4+00 1/0 0/0 0/0 .text dOvlpFd3_Draw__FP10dOvlpFd3_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void dOvlpFd3_Draw(dOvlpFd3_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/ovlp/d_ovlp_fade3/dOvlpFd3_Draw__FP10dOvlpFd3_c.s"
|
||||
static int dOvlpFd3_Draw(dOvlpFd3_c* i_this) {
|
||||
i_this->draw();
|
||||
return 1;
|
||||
}
|
||||
|
||||
void dOvlpFd3_c::execute() {
|
||||
(this->*mExecuteFn)();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80253880-802538AC 24E1C0 002C+00 1/0 0/0 0/0 .text dOvlpFd3_Execute__FP10dOvlpFd3_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void dOvlpFd3_Execute(dOvlpFd3_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/ovlp/d_ovlp_fade3/dOvlpFd3_Execute__FP10dOvlpFd3_c.s"
|
||||
static int dOvlpFd3_Execute(dOvlpFd3_c* i_this) {
|
||||
i_this->execute();
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802538AC-802538B4 24E1EC 0008+00 1/0 0/0 0/0 .text dOvlpFd3_IsDelete__FP10dOvlpFd3_c
|
||||
*/
|
||||
static bool dOvlpFd3_IsDelete(dOvlpFd3_c* param_0) {
|
||||
return true;
|
||||
static int dOvlpFd3_IsDelete(dOvlpFd3_c* i_this) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 802538B4-802538BC 24E1F4 0008+00 1/0 0/0 0/0 .text dOvlpFd3_Delete__FP10dOvlpFd3_c */
|
||||
static bool dOvlpFd3_Delete(dOvlpFd3_c* param_0) {
|
||||
return true;
|
||||
static int dOvlpFd3_Delete(dOvlpFd3_c* i_this) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 802538BC-802538E8 24E1FC 002C+00 1/0 0/0 0/0 .text dOvlpFd3_Create__FPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void dOvlpFd3_Create(void* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/ovlp/d_ovlp_fade3/dOvlpFd3_Create__FPv.s"
|
||||
static int dOvlpFd3_Create(void* i_this) {
|
||||
new (i_this) dOvlpFd3_c();
|
||||
return cPhs_COMPLEATE_e;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802538E8-80253930 24E228 0048+00 1/0 0/0 0/0 .text __dt__15dOvlpFd3_dlst_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dOvlpFd3_dlst_c::~dOvlpFd3_dlst_c() {
|
||||
nofralloc
|
||||
#include "asm/d/ovlp/d_ovlp_fade3/__dt__15dOvlpFd3_dlst_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
/* 803C2DA0-803C2DB4 -00001 0014+00 1/0 0/0 0/0 .data l_dOvlpFd3_Method */
|
||||
static leafdraw_method_class l_dOvlpFd3_Method = {
|
||||
(process_method_func)dOvlpFd3_Create, (process_method_func)dOvlpFd3_Delete,
|
||||
(process_method_func)dOvlpFd3_Execute, (process_method_func)dOvlpFd3_IsDelete,
|
||||
(process_method_func)dOvlpFd3_Draw,
|
||||
};
|
||||
|
||||
/* 803C2DB4-803C2DDC -00001 0028+00 0/0 0/0 1/0 .data g_profile_OVERLAP3 */
|
||||
extern overlap_process_profile_definition g_profile_OVERLAP3 = {
|
||||
fpcLy_ROOT_e,
|
||||
0,
|
||||
fpcPi_CURRENT_e,
|
||||
PROC_OVERLAP3,
|
||||
&g_fpcLf_Method.mBase,
|
||||
sizeof(dOvlpFd3_c),
|
||||
0,
|
||||
0,
|
||||
&g_fopOvlp_Method,
|
||||
776,
|
||||
&l_dOvlpFd3_Method,
|
||||
};
|
||||
|
||||
@@ -999,7 +999,7 @@ SECTION_DATA extern void* __vt__21dScnPly_preLoad_HIO_c[3] = {
|
||||
};
|
||||
|
||||
/* 80451128-80451130 000628 0004+04 1/1 0/0 0/0 .sbss g_regHIO */
|
||||
static u8 g_regHIO[4 + 4 /* padding */];
|
||||
u8 g_regHIO[4];
|
||||
|
||||
/* 8025AC54-8025AD04 255594 00B0+00 0/0 1/0 0/0 .text __sinit_d_s_play_cpp */
|
||||
#pragma push
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
|
||||
#include "SSystem/SComponent/c_request.h"
|
||||
#include "f_op/f_op_overlap.h"
|
||||
#include "f_op/f_op_overlap_mng.h"
|
||||
#include "f_pc/f_pc_manager.h"
|
||||
|
||||
/* 8001E37C-8001E3A4 018CBC 0028+00 1/0 0/0 0/0 .text fopOvlp_Draw__FPv */
|
||||
@@ -50,7 +49,7 @@ static s32 fopOvlp_Create(void* i_this) {
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A3878-803A3890 -00001 0014+04 0/0 10/0 0/0 .data g_fopOvlp_Method */
|
||||
extern leafdraw_method_class g_fopOvlp_Method = {
|
||||
leafdraw_method_class g_fopOvlp_Method = {
|
||||
(process_method_func)fopOvlp_Create, (process_method_func)fopOvlp_Delete,
|
||||
(process_method_func)fopOvlp_Execute, (process_method_func)fopOvlp_IsDelete,
|
||||
(process_method_func)fopOvlp_Draw,
|
||||
|
||||
Reference in New Issue
Block a user