Files
ac-decomp/include/ac_mailbox.h
T
2025-05-24 16:23:00 -04:00

57 lines
1.1 KiB
C

#ifndef AC_MAILBOX_H
#define AC_MAILBOX_H
#include "types.h"
#include "m_actor.h"
#include "c_keyframe.h"
#ifdef __cplusplus
extern "C" {
#endif
#define aMBX_PLAYER_OPEN_ANGLE DEG2SHORT_ANGLE2(38.2379150390625f)
typedef struct mailbox_actor_s MAILBOX_ACTOR;
typedef void (*aMBX_ACT_PROC)(MAILBOX_ACTOR* actor, GAME_PLAY* play);
#define aMBX_JOINT_NUM 6
enum {
aMBX_REQUEST_NONE, // no current request
aMBX_REQUEST_DELIVERY, // delivery by Pete, open -> close
aMBX_REQUEST_OPEN, // player opens mailbox, hold state for submenu
aMBX_REQUEST_NUM
};
struct mailbox_actor_s {
ACTOR actor_class;
void* segp;
int kf0_state;
cKF_SkeletonInfo_R_c kf0;
s_xyz joint0[aMBX_JOINT_NUM+1];
s_xyz morph0[aMBX_JOINT_NUM+1];
int anim_idx0;
int kf1_state;
cKF_SkeletonInfo_R_c kf1;
s_xyz joint1[aMBX_JOINT_NUM+1];
s_xyz morph1[aMBX_JOINT_NUM+1];
int anim_idx1;
int action;
aMBX_ACT_PROC act_proc;
int arrange_idx;
int req;
};
extern ACTOR_PROFILE MailBox_Profile;
#ifdef __cplusplus
}
#endif
#endif