Implement & link ac_gyo_kage

This commit is contained in:
Cuyler36
2024-11-03 03:20:06 -05:00
parent 893b46479e
commit f01b472fc5
13 changed files with 483 additions and 141 deletions
+16 -1
View File
@@ -10,9 +10,24 @@ extern "C" {
extern ACTOR_PROFILE Gyo_Kage_Profile;
typedef struct gyo_kage_actor_s GYO_KAGE_ACTOR;
struct gyo_kage_actor_s {
ACTOR actor_class;
ACTOR* gyoei_actor;
s16 type;
int _17C;
ClObjPipe_c col_pipe;
int delete_timer;
s16 draw_frame;
u8 exist_flag;
u8 wall_flag;
u32 alpha;
int data_id;
};
#ifdef __cplusplus
}
#endif
#endif
+73 -3
View File
@@ -11,10 +11,10 @@ extern "C" {
#define aGYO_MAX_GYOEI 2
enum {
aGYO_TYPE_TEST,
aGYO_TYPE_KASEKI,
aGYO_GYO_TYPE_TEST,
aGYO_GYO_TYPE_KASEKI,
aGYO_TYPE_NUM
aGYO_GYO_TYPE_NUM
};
enum {
@@ -31,6 +31,76 @@ enum {
aGYO_DRAW_TYPE_NUM
};
/* TODO: should we use the internal names for fish? */
enum fish_type {
aGYO_TYPE_CRUCIAN_CARP,
aGYO_TYPE_BROOK_TROUT,
aGYO_TYPE_CARP,
aGYO_TYPE_KOI,
aGYO_TYPE_CATFISH,
aGYO_TYPE_SMALL_BASS,
aGYO_TYPE_BASS,
aGYO_TYPE_LARGE_BASS,
aGYO_TYPE_BLUEGILL,
aGYO_TYPE_GIANT_CATFISH,
aGYO_TYPE_GIANT_SNAKEHEAD,
aGYO_TYPE_BARBEL_STEED,
aGYO_TYPE_DACE,
aGYO_TYPE_PALE_CHUB,
aGYO_TYPE_BITTERLING,
aGYO_TYPE_LOACH,
aGYO_TYPE_POND_SMELT,
aGYO_TYPE_SWEETFISH,
aGYO_TYPE_CHERRY_SALMON,
aGYO_TYPE_LARGE_CHAR,
aGYO_TYPE_RAINBOW_TROUT,
aGYO_TYPE_STRINGFISH,
aGYO_TYPE_SALMON,
aGYO_TYPE_GOLDFISH,
aGYO_TYPE_PIRANHA,
aGYO_TYPE_AROWANA,
aGYO_TYPE_EEL,
aGYO_TYPE_FRESHWATER_GOBY,
aGYO_TYPE_ANGELFISH,
aGYO_TYPE_GUPPY,
aGYO_TYPE_POPEYED_GOLDFISH,
aGYO_TYPE_COELACANTH,
aGYO_TYPE_CRAWFISH,
aGYO_TYPE_FROG,
aGYO_TYPE_KILLIFISH,
aGYO_TYPE_JELLYFISH,
aGYO_TYPE_SEA_BASS,
aGYO_TYPE_RED_SNAPPER,
aGYO_TYPE_BARRED_KNIFEJAW,
aGYO_TYPE_ARAPAIMA,
aGYO_TYPE_NUM,
/* non-fish fish */
aGYO_TYPE_WHALE = aGYO_TYPE_NUM,
aGYO_TYPE_EMPTY_CAN,
aGYO_TYPE_BOOT,
aGYO_TYPE_OLD_TIRE,
aGYO_TYPE_SALMON2,
aGYO_TYPE_EXTENDED_NUM
};
#define aGYO_TYPE_INVALID -1
enum {
aGYO_SIZE_XXS,
aGYO_SIZE_XS,
aGYO_SIZE_S,
aGYO_SIZE_M,
aGYO_SIZE_L,
aGYO_SIZE_XL,
aGYO_SIZE_XXL,
aGYO_SIZE_WHALE,
aGYO_SIZE_NUM
};
typedef struct gyo_ctrl_actor_s aGYO_CTRL_ACTOR;
typedef void (*aGYO_ACT_PROC)(ACTOR*, GAME*);
+1 -57
View File
@@ -3,6 +3,7 @@
#include "types.h"
#include "ac_set_manager.h"
#include "ac_gyoei.h"
#ifdef __cplusplus
extern "C" {
@@ -22,63 +23,6 @@ enum fish_spawn_area {
aSOG_SPAWN_AREA_NUM
};
#define aSOG_FISH_TYPE_INVALID -1
/* TODO: should we use the internal names for fish? */
enum fish_type {
aSOG_FISH_TYPE_CRUCIAN_CARP,
aSOG_FISH_TYPE_BROOK_TROUT,
aSOG_FISH_TYPE_CARP,
aSOG_FISH_TYPE_KOI,
aSOG_FISH_TYPE_CATFISH,
aSOG_FISH_TYPE_SMALL_BASS,
aSOG_FISH_TYPE_BASS,
aSOG_FISH_TYPE_LARGE_BASS,
aSOG_FISH_TYPE_BLUEGILL,
aSOG_FISH_TYPE_GIANT_CATFISH,
aSOG_FISH_TYPE_GIANT_SNAKEHEAD,
aSOG_FISH_TYPE_BARBEL_STEED,
aSOG_FISH_TYPE_DACE,
aSOG_FISH_TYPE_PALE_CHUB,
aSOG_FISH_TYPE_BITTERLING,
aSOG_FISH_TYPE_LOACH,
aSOG_FISH_TYPE_POND_SMELT,
aSOG_FISH_TYPE_SWEETFISH,
aSOG_FISH_TYPE_CHERRY_SALMON,
aSOG_FISH_TYPE_LARGE_CHAR,
aSOG_FISH_TYPE_RAINBOW_TROUT,
aSOG_FISH_TYPE_STRINGFISH,
aSOG_FISH_TYPE_SALMON,
aSOG_FISH_TYPE_GOLDFISH,
aSOG_FISH_TYPE_PIRANHA,
aSOG_FISH_TYPE_AROWANA,
aSOG_FISH_TYPE_EEL,
aSOG_FISH_TYPE_FRESHWATER_GOBY,
aSOG_FISH_TYPE_ANGELFISH,
aSOG_FISH_TYPE_GUPPY,
aSOG_FISH_TYPE_POPEYED_GOLDFISH,
aSOG_FISH_TYPE_COELACANTH,
aSOG_FISH_TYPE_CRAWFISH,
aSOG_FISH_TYPE_FROG,
aSOG_FISH_TYPE_KILLIFISH,
aSOG_FISH_TYPE_JELLYFISH,
aSOG_FISH_TYPE_SEA_BASS,
aSOG_FISH_TYPE_RED_SNAPPER,
aSOG_FISH_TYPE_BARRED_KNIFEJAW,
aSOG_FISH_TYPE_ARAPAIMA,
aSOG_FISH_TYPE_NUM,
/* non-fish fish */
aSOG_FISH_TYPE_WHALE = aSOG_FISH_TYPE_NUM,
aSOG_FISH_TYPE_EMPTY_CAN,
aSOG_FISH_TYPE_BOOT,
aSOG_FISH_TYPE_OLD_TIRE,
aSOG_FISH_TYPE_SALMON2,
aSOG_FISH_TYPE_EXTENDED_NUM
};
#define aSOG_TIME_NO_0_END 3 /* 9pm-3:59am */
#define aSOG_TIME_NO_1_END 8 /* 4am-8:59am */
#define aSOG_TIME_NO_2_END 12 + 3 /* 9am-3:59pm */
+2
View File
@@ -32,6 +32,8 @@ typedef void (*mActor_proc)(ACTOR*, GAME*);
#define ACTOR_STATE_24 (1 << 24)
#define ACTOR_STATE_25 (1 << 25)
#define ACTOR_STATE_26 (1 << 26)
#define ACTOR_STATE_27 (1 << 27)
#define ACTOR_STATE_28 (1 << 28)
#define ACTOR_STATE_CAN_MOVE_IN_DEMO_SCENES (1 << 29)
#define ACTOR_STATE_IN_DEMO (1 << 30)
+8
View File
@@ -202,6 +202,14 @@ typedef struct wall_info_s {
s16 type;
} mCoBG_WallInfo_c;
enum {
mCoBG_WALL_TYPE0,
mCoBG_WALL_TYPE1,
// TODO
mCoBG_WALL_TYPE_NUM
};
typedef struct collision_bg_check_s {
mCoBG_Collision_u collision_units[5];
mCoBG_CheckResult_c result;