diff --git a/config/rel_slices.yml b/config/rel_slices.yml index db835be1..fdb2a862 100644 --- a/config/rel_slices.yml +++ b/config/rel_slices.yml @@ -17,10 +17,10 @@ m_fbdemo.c: # .text: [0x803A0F00, 0x803A12F8] # .rodata: [0x80641FA0, 0x80641FC0] # .data: [0x80652AD0, 0x80653558] -#m_fbdemo_fade.c: #data content mismatch -# .text: [0x803A12F8, 0x803A1508] -# .rodata: [0x80641FC0, 0x80641FD8] -# .data: [0x80653558, 0x806535A0] +m_fbdemo_fade.c: #data content mismatch + .text: [0x803A12F8, 0x803A1508] + .rodata: [0x80641FC0, 0x80641FD8] + .data: [0x80653558, 0x806535A0] m_huusui_room.c: .text: [0x803B1908, 0x803B1968] m_home.c: diff --git a/config/symbols.yml b/config/symbols.yml index 5c5a1e5d..879137c3 100644 --- a/config/symbols.yml +++ b/config/symbols.yml @@ -2626,6 +2626,10 @@ global: 0x8009ad7c: __ptmf_scall 0x8009ada4: __cvt_fp2unsigned 0x8009ae00: __save_fpr + 0x8009ae2c: _savefpr_25 + 0x8009ae34: _savefpr_27 + 0x8009ae38: _savefpr_28 + 0x8009ae3c: _savefpr_29 0x8009ae4c: __restore_fpr 0x8009ae98: __save_gpr 0x8009ae9c: _savegpr_15 diff --git a/rel/m_fbdemo_fade.c b/rel/m_fbdemo_fade.c index d3bf507d..b74721e4 100644 --- a/rel/m_fbdemo_fade.c +++ b/rel/m_fbdemo_fade.c @@ -5,14 +5,17 @@ Gfx fbdemo_fade_gfx_init[] = { - gsDPPipeSync(), gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH), - gsDPSetOtherMode(G_AD_DISABLE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE | G_TD_CLAMP | G_TP_NONE | G_CYC_1CYCLE | G_PM_1PRIMITIVE, G_AC_DITHER | G_ZS_PRIM | AA_EN | Z_CMP | Z_UPD | IM_RD | CLR_ON_CVG | CVG_DST_SAVE | ZMODE_DEC | CVG_X_ALPHA | ALPHA_CVG_SEL | FORCE_BL | GBL_c1(G_BL_CLR_FOG, G_BL_0, G_BL_CLR_FOG, G_BL_0) | GBL_c2(G_BL_CLR_FOG, G_BL_A_IN, G_BL_CLR_FOG, G_BL_0)), - gsDPSetColorImage(7, G_IM_SIZ_32b, 1788, 0xDF000000), + gsDPSetOtherMode(G_AD_DISABLE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE | G_TD_CLAMP | G_TP_NONE | G_CYC_1CYCLE | G_PM_1PRIMITIVE, G_AC_NONE | G_ZS_PIXEL | G_RM_CLD_SURF | G_RM_CLD_SURF2), + gsDPSetCombineMode(G_CC_PRIMITIVE, G_CC_PRIMITIVE), + gsSPEndDisplayList(), }; + + + TransitionFade* fbdemo_fade_init(TransitionFade* this){ bzero(this, sizeof(TransitionFade)); @@ -64,15 +67,17 @@ void fbdemo_fade_draw(TransitionFade* this, Gfx** gfxP){ } void fbdemo_fade_startup(TransitionFade* this){ + static s8 start_frame[] = {0x00, 0xFA, 0x00, 0x00, + 0x00, 0x00, 0xAB, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00}; + + static u8 start_color[] = {0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; - static s8 start_frame[] = {0x00, 0xFA, 0x00, 0x00, - 0x00, 0x00, 0xAB, 0x00, - 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00}; this->color.a = start_color[this->type]; @@ -94,7 +99,7 @@ void fbdemo_fade_setcolor_rgba8888(TransitionFade* this, u32 color){ this->color.rgba = color; } -int fbdemo_fade_is_finish(TransitionFade* this){ +u8 fbdemo_fade_is_finish(TransitionFade* this){ return this->isDone; } \ No newline at end of file