papermario/src/state_startup.c
HailSanta c776b32bc6
generic_entity -> worker (#865)
* workers

* broke out worker flags

* quick fix

* player sprite sets

* enum ws

* default -> world

* fix long line

* virtual entity split and minor cleanup

Co-authored-by: HailSanta <Hail2Santa@gmail.com>
2022-11-21 23:12:28 -05:00

89 lines
2.2 KiB
C

#include "common.h"
#include "hud_element.h"
#include "fio.h"
#include "sprite.h"
void state_init_startup(void) {
gOverrideFlags |= GLOBAL_OVERRIDES_8;
gGameStatusPtr->introState = INTRO_STATE_3;
}
void state_step_startup(void) {
GameStatus* gameStatus = gGameStatusPtr;
s32 i;
if (gameStatus->introState != INTRO_STATE_0) {
gameStatus->introState--;
return;
}
gOverrideFlags = 0;
gGameStatusPtr->areaID = 0;
gGameStatusPtr->isBattle = 0;
gameStatus->prevArea = -1;
gameStatus->mapID = 0;
gameStatus->entryID = 0;
gGameStatusPtr->unk_76 = 0;
gGameStatusPtr->disableScripts = 0;
gGameStatusPtr->keepUsingPartnerOnMapChange = 0;
gGameStatusPtr->creditsViewportMode = -1;
gGameStatusPtr->demoFlags = 0;
gGameStatusPtr->unk_A9 = -1;
gGameStatusPtr->demoState = 0;
general_heap_create();
clear_render_tasks();
clear_worker_list();
clear_script_list();
create_cameras_a();
spr_init_sprites(PLAYER_SPRITES_MARIO_WORLD);
clear_entity_models();
clear_animator_list();
clear_model_data();
clear_sprite_shading_data();
reset_background_settings();
hud_element_set_aux_cache(0, 0);
hud_element_clear_cache();
clear_trigger_data();
clear_printers();
clear_entity_data(0);
clear_screen_overlays();
clear_player_status();
clear_npcs();
clear_player_data();
reset_battle_status();
init_encounter_status();
clear_effect_data();
clear_item_entity_data();
clear_saved_variables();
initialize_collision();
bgm_init_music_players();
clear_windows();
partner_initialize_data();
sfx_clear_sounds();
bgm_reset_volume();
initialize_curtains();
for (i = 0; i < 4; i++) {
gGameStatusPtr->unk_50[i] = 4;
gGameStatusPtr->unk_48[i] = 0xF;
}
fio_has_valid_backup();
if (D_800D9620 == 0) {
gGameStatusPtr->soundOutputMode = SOUND_OUT_STEREO;
audio_set_stereo();
} else {
gGameStatusPtr->soundOutputMode = SOUND_OUT_MONO;
audio_set_mono();
}
gOverrideFlags &= ~GLOBAL_OVERRIDES_8;
set_game_mode(GAME_MODE_LOGOS);
}
void state_drawUI_startup(void) {
startup_draw_prim_rect(0, 0, 0x13F, 0xEF, 0, 0, 0, 0xFF);
}