Files
2024-07-08 00:29:34 -04:00

109 lines
2.0 KiB
C

#ifndef AC_TOOLS_H
#define AC_TOOLS_H
#include "types.h"
#include "m_actor.h"
#include "libultra/ultratypes.h"
#ifdef __cplusplus
extern "C" {
#endif
extern ACTOR_PROFILE Tools_Profile;
typedef enum {
TOOL_UMBRELLA0,
TOOL_UMBRELLA1,
TOOL_UMBRELLA2,
TOOL_UMBRELLA3,
TOOL_UMBRELLA4,
TOOL_UMBRELLA5,
TOOL_UMBRELLA6,
TOOL_UMBRELLA7,
TOOL_UMBRELLA8,
TOOL_UMBRELLA9,
TOOL_UMBRELLA10,
TOOL_UMBRELLA11,
TOOL_UMBRELLA12,
TOOL_UMBRELLA13,
TOOL_UMBRELLA14,
TOOL_UMBRELLA15,
TOOL_UMBRELLA16,
TOOL_UMBRELLA17,
TOOL_UMBRELLA18,
TOOL_UMBRELLA19,
TOOL_UMBRELLA20,
TOOL_UMBRELLA21,
TOOL_UMBRELLA22,
TOOL_UMBRELLA23,
TOOL_UMBRELLA24,
TOOL_UMBRELLA25,
TOOL_UMBRELLA26,
TOOL_UMBRELLA27,
TOOL_UMBRELLA28,
TOOL_UMBRELLA29,
TOOL_UMBRELLA30,
TOOL_UMBRELLA31,
TOOL_ORG_UMBRELLA0,
TOOL_ORG_UMBRELLA1,
TOOL_ORG_UMBRELLA2,
TOOL_ORG_UMBRELLA3,
TOOL_ORG_UMBRELLA4,
TOOL_ORG_UMBRELLA5,
TOOL_ORG_UMBRELLA6,
TOOL_ORG_UMBRELLA7,
TOOL_KEITAI,
TOOL_UTIWA,
TOOL_HANABI,
TOOL_CRACKER,
TOOL_PISTOL,
TOOL_FLAG,
TOOL_TUMBLER,
TOOL_NPC_SAO,
TOOL_TAMA1,
TOOL_TAMA2,
TOOL_TAMA3,
TOOL_TAMA4,
aTOL_NUM
} ToolName;
enum {
aTOL_ACTION_WAIT,
aTOL_ACTION_TAKEOUT,
aTOL_ACTION_PUTAWAY,
aTOL_ACTION_DESTRUCT,
aTOL_ACTION_S_TAKEOUT,
aTOL_ACTION_SPECIAL,
aTOL_ACTION_NUM
};
typedef struct tools_s {
/* 0x000 */ ACTOR actor_class;
/* 0x174 */ int tool_name;
/* 0x178 */ MtxF matrix_work;
/* 0x1B8 */ int init_matrix;
/* 0x1BC */ int unk1BC;
/* 0x1C0 */ int work0;
/* 0x1C4 */ int work1;
/* 0x1C8 */ int work2;
} TOOLS_ACTOR;
typedef ACTOR* (*ToolBirthProc)(int, int, ACTOR*, GAME*, s16, int*);
typedef int (*ToolChgRequestModeProc)(ACTOR*, ACTOR*, int);
typedef struct ToolClip {
ToolBirthProc aTOL_birth_proc;
ToolChgRequestModeProc aTOL_chg_request_mode_proc;
int bank_id;
} aTOL_Clip_c;
extern aTOL_Clip_c aTOL_clip;
#ifdef __cplusplus
}
#endif
#endif