#ifndef AC_ANIMAL_LOGO_H #define AC_ANIMAL_LOGO_H #include "types.h" #include "game.h" #include "m_actor.h" #include "m_lib.h" #include "c_keyframe.h" #ifdef __cplusplus extern "C" { #endif typedef void (*aAL_DATA_INIT_PROC)(GAME_PLAY*); typedef struct animal_logo_clip_s { aAL_DATA_INIT_PROC data_init_proc; } aAL_Clip_c; #define aAL_BACK_FADEIN_RATE 20 #define aAL_BACK_FADEIN_MAX 220 #define aAL_TIMER 60 #define aAL_FADEOUT_TIMER 26 #define aAL_COPYRIGHT_ALPHA_RATE 63 typedef struct actor_animal_logo_s ANIMAL_LOGO_ACTOR; typedef void (*ANIMAL_LOGO_ACTION_PROC)(ANIMAL_LOGO_ACTOR*, GAME*); typedef struct logo_skeleton_info_s { cKF_SkeletonInfo_R_c skeleton; s_xyz* work_area_p; s_xyz* morph_area_p; } aAL_SkeletonInfo_c; struct actor_animal_logo_s { ACTOR actor_class; int action; ANIMAL_LOGO_ACTION_PROC action_proc; aAL_SkeletonInfo_c animal; aAL_SkeletonInfo_c cros; aAL_SkeletonInfo_c sing; s_xyz animal_work_area[22]; s_xyz animal_morph_area[22]; s_xyz cros_work_area[15]; s_xyz cros_morph_area[15]; s_xyz sing_work_area[15]; s_xyz sing_morph_area[15]; s16 back_opacity; int copyright_opacity; f32 press_start_opacity; s16 start_opacity_timer; int title_timer; int titledemo_no; int unused_56C[6]; }; enum { aAL_ACTION_IN, aAL_ACTION_BACK_FADE_IN, aAL_ACTION_START_KEY_CHK_START, aAL_ACTION_GAME_START, aAL_ACTION_FADE_OUT_START, aAL_ACTION_OUT, aAL_ACTION_6, aAL_ACTION_NUM }; extern ACTOR_PROFILE Animal_Logo_Profile; // TODO: these are private but due to the way our build system works, // we must expose them to get them in a separate TU. extern void flash_rom_and_player_info_clear(); extern int decide_next_scene_no(); extern void title_action_data_init_start_select(GAME_PLAY* play); #ifdef __cplusplus } #endif #endif