mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-05-22 22:24:16 -04:00
92 lines
1.8 KiB
C
92 lines
1.8 KiB
C
#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
|