mirror of https://github.com/pmret/papermario.git
near-match begin_state_intro
This commit is contained in:
parent
ceec9c2a2d
commit
ff3fbdfa8f
|
|
@ -89,10 +89,21 @@ extern Trigger* gTriggerList1[64];
|
|||
extern Trigger* gTriggerList2[64];
|
||||
extern Trigger** gCurrentTriggerListPtr[64];
|
||||
|
||||
// Map transition data. Should probably be a struct
|
||||
extern u16 gMapTransitionAlpha;
|
||||
extern u16 D_800A0942;
|
||||
extern s16 D_800A0942;
|
||||
extern s16 D_800A0944;
|
||||
|
||||
extern s16 D_800A0954;
|
||||
extern s16 D_800A0956;
|
||||
extern s16 D_800A0958;
|
||||
extern s16 D_800A095A;
|
||||
extern u8 D_800A095B;
|
||||
extern s16 D_800A095C;
|
||||
extern u8 D_800A095D;
|
||||
extern s16 D_800A095E;
|
||||
extern u8 D_800A095F;
|
||||
extern s32 D_800A0960;
|
||||
extern s32 D_800A0964;
|
||||
|
||||
extern s32 gGameState;
|
||||
extern s32 D_8009A650[1];
|
||||
|
|
@ -138,6 +149,9 @@ extern u32 gBattleMapFlags[MAX_MAPFLAGS];
|
|||
|
||||
extern s32 D_8009A5D8;
|
||||
|
||||
extern u8 D_800779B0;
|
||||
extern u8 D_800A0963;
|
||||
|
||||
extern s32 mapScriptLibStart;
|
||||
extern s32 mapScriptLibEnd;
|
||||
extern s32 mapScriptLibVram;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,96 @@
|
|||
#include "common.h"
|
||||
|
||||
void set_curtain_scale_goal(f32 arg0);
|
||||
void set_curtain_fade_goal(f32 arg0);
|
||||
void intro_logos_set_fade_alpha(s16 new_alpha);
|
||||
void intro_logos_set_fade_color(s16 arg0);
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
void begin_state_intro(void) {
|
||||
s8 unk_A8;
|
||||
|
||||
GAME_STATUS->loadMenuState = 0;
|
||||
|
||||
set_curtain_scale_goal(1.0f);
|
||||
set_curtain_fade_goal(0.3f);
|
||||
|
||||
unk_A8 = GAME_STATUS->unk_A8;
|
||||
switch (unk_A8) {
|
||||
case 0:
|
||||
intro_logos_set_fade_alpha(0);
|
||||
|
||||
D_800A0954 = 0xFF;
|
||||
D_800A0956 = 0x10;
|
||||
D_800A0958 = 4;
|
||||
D_800A0960 = 0;
|
||||
D_800A095A = 0xD0;
|
||||
D_800A095C = 0xD0;
|
||||
D_800A095E = 0xD0;
|
||||
D_800A0964 = 0;
|
||||
|
||||
do {
|
||||
GameStatus* gameStatus = GAME_STATUS;
|
||||
|
||||
// hos_05 (Star Sanctuary)
|
||||
gameStatus->areaID = 5;
|
||||
gameStatus->mapID = 5;
|
||||
gameStatus->entryID = 3;
|
||||
} while (0);
|
||||
|
||||
break;
|
||||
case 1:
|
||||
intro_logos_set_fade_alpha(0);
|
||||
|
||||
D_800A0954 = 0;
|
||||
D_800A0956 = 0xC;
|
||||
D_800A0958 = 4;
|
||||
D_800A0960 = unk_A8;
|
||||
D_800A095A = 0;
|
||||
D_800A095C = 0;
|
||||
D_800A095E = 0;
|
||||
D_800A0964 = 0;
|
||||
|
||||
// FIXME: regalloc issues
|
||||
do {
|
||||
GameStatus* gameStatus = GAME_STATUS;
|
||||
|
||||
// hos_04 (Outside the Sanctuary)
|
||||
gameStatus->areaID = 5;
|
||||
gameStatus->mapID = 4;
|
||||
gameStatus->entryID = 4;
|
||||
} while (0);
|
||||
|
||||
break;
|
||||
default:
|
||||
intro_logos_set_fade_alpha(0);
|
||||
intro_logos_set_fade_color(0xD0);
|
||||
|
||||
{
|
||||
GameStatus* gameStatus = GAME_STATUS;
|
||||
u8* mystery = &D_800779B0;
|
||||
|
||||
gameStatus->unk_A8 = -1;
|
||||
|
||||
D_800A0956 = 6;
|
||||
D_800A0958 = 6;
|
||||
|
||||
++*mystery;
|
||||
if (*mystery >= 4) {
|
||||
*mystery = 0;
|
||||
}
|
||||
|
||||
D_800A0964 = 3;
|
||||
}
|
||||
}
|
||||
|
||||
func_80137DA4(D_800A0963, (f32)D_800A0954);
|
||||
func_80137E10(1, D_800A095B, D_800A095D, D_800A095F);
|
||||
|
||||
intro_logos_update_fade();
|
||||
}
|
||||
#else
|
||||
INCLUDE_ASM(s32, "code_11a50_len_7a0", begin_state_intro);
|
||||
#endif
|
||||
|
||||
INCLUDE_ASM(s32, "code_11a50_len_7a0", step_intro);
|
||||
|
||||
|
|
|
|||
|
|
@ -29,13 +29,27 @@ gWorldMapFlags = 0x802DBC70;
|
|||
gBattleMapFlags = 0x802DBD34;
|
||||
|
||||
gMapTransitionAlpha = 0x800A0940;
|
||||
D_800A0940 = 0x800A0940;
|
||||
D_800A0942 = 0x800A0942;
|
||||
D_800A0944 = 0x800A0944;
|
||||
D_800A0954 = 0x800A0954;
|
||||
D_800A0956 = 0x800A0956;
|
||||
D_800A0958 = 0x800A0958;
|
||||
D_800A095A = 0x800A095A;
|
||||
D_800A095B = 0x800A095B;
|
||||
D_800A095C = 0x800A095C;
|
||||
D_800A095D = 0x800A095D;
|
||||
D_800A095E = 0x800A095E;
|
||||
D_800A095F = 0x800A095D;
|
||||
D_800A0960 = 0x800A0960;
|
||||
D_800A0963 = 0x800A0963;
|
||||
D_800A0964 = 0x800A0964;
|
||||
|
||||
D_800E92D8 = 0x800E92D8;
|
||||
D_80147474 = 0x80147474;
|
||||
D_80109270 = 0x80109270;
|
||||
D_80108558 = 0x80108558;
|
||||
D_800A0940 = 0x800A0940;
|
||||
D_800A0942 = 0x800A0942;
|
||||
D_800A0944 = 0x800A0944;
|
||||
D_800779B0 = 0x800779B0;
|
||||
|
||||
D_8010CD10 = 0x8010CD10;
|
||||
D_8010CD12 = 0x8010CD12;
|
||||
|
|
|
|||
Loading…
Reference in New Issue