mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-08-22 05:49:04 -04:00
Implement & link ac_lighthouse_switch
This commit is contained in:
@@ -3,11 +3,57 @@
|
||||
|
||||
#include "types.h"
|
||||
#include "m_actor.h"
|
||||
#include "c_keyframe.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define aLS_SWITCH_JOINT_NUM 1
|
||||
|
||||
enum {
|
||||
aLS_NICE_STATUS_OFF,
|
||||
aLS_NICE_STATUS_SWITCH_ON,
|
||||
aLS_NICE_STATUS_LIGHTHOUSE_PERIOD,
|
||||
|
||||
aLS_NICE_STATUS_NUM
|
||||
};
|
||||
|
||||
typedef struct lighthouse_switch_s {
|
||||
xyz_t pos;
|
||||
s16 state;
|
||||
cKF_SkeletonInfo_R_c keyframe;
|
||||
s_xyz work[aLS_SWITCH_JOINT_NUM+1];
|
||||
s_xyz morph[aLS_SWITCH_JOINT_NUM+1];
|
||||
Mtx mtx[2][aLS_SWITCH_JOINT_NUM+1];
|
||||
} aLS_switch_c;
|
||||
|
||||
#define aLS_POLE_JOINT_NUM 10
|
||||
#define aLS_POLE_ALL_JOINT_NUM 13
|
||||
|
||||
typedef struct lighthouse_pole_s {
|
||||
xyz_t pos;
|
||||
f32 speed;
|
||||
s16 state;
|
||||
s16 timer;
|
||||
s16 off_timer;
|
||||
int keyframe_state;
|
||||
int _1C;
|
||||
cKF_SkeletonInfo_R_c keyframe;
|
||||
s_xyz work[aLS_POLE_JOINT_NUM+1];
|
||||
s_xyz morph[aLS_POLE_JOINT_NUM+1];
|
||||
Mtx mtx[2][aLS_POLE_ALL_JOINT_NUM+1];
|
||||
} aLS_pole_c;
|
||||
|
||||
typedef struct lighthouse_switch_actor_s LIGHTHOUSE_SWITCH_ACTOR;
|
||||
|
||||
struct lighthouse_switch_actor_s {
|
||||
ACTOR actor_class;
|
||||
aLS_switch_c ls_switch;
|
||||
aLS_pole_c ls_pole;
|
||||
s16 turning_on;
|
||||
};
|
||||
|
||||
extern ACTOR_PROFILE Lighthouse_Switch_Profile;
|
||||
|
||||
#ifdef __cplusplus
|
||||
@@ -15,4 +61,3 @@ extern ACTOR_PROFILE Lighthouse_Switch_Profile;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -137,6 +137,8 @@ typedef enum audio_sound_effects {
|
||||
NA_SE_TOOL_BROKEN2,
|
||||
NA_SE_TOOL_BROKEN3,
|
||||
|
||||
NA_SE_78 = 0x78,
|
||||
|
||||
NA_SE_STONECOIN_ROLL = 0x7D,
|
||||
NA_SE_STONECOIN_DRAG = 0x7E,
|
||||
|
||||
|
||||
@@ -58,6 +58,7 @@ extern "C" {
|
||||
|
||||
// short angle difference
|
||||
#define DIFF_SHORT_ANGLE(x, y) ((s16)((x) - (y)))
|
||||
#define DIFF_USHORT_ANGLE(x, y) ((u16)((x) - (y)))
|
||||
|
||||
typedef struct rgba_t { // can be put in other place
|
||||
u8 r, g, b, a;
|
||||
|
||||
Reference in New Issue
Block a user