Implement & link ac_mailbox

This commit is contained in:
Cuyler36
2025-05-24 16:23:00 -04:00
parent 39d5602766
commit 2f436ab3ef
4 changed files with 445 additions and 2 deletions
+39 -1
View File
@@ -3,11 +3,50 @@
#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
@@ -15,4 +54,3 @@ extern ACTOR_PROFILE MailBox_Profile;
#endif
#endif