diff --git a/assets/xml/objects/object_giant.xml b/assets/xml/objects/object_giant.xml
index edaeee0398..8698d176b0 100644
--- a/assets/xml/objects/object_giant.xml
+++ b/assets/xml/objects/object_giant.xml
@@ -51,24 +51,24 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
diff --git a/src/overlays/actors/ovl_En_Giant/z_en_giant.c b/src/overlays/actors/ovl_En_Giant/z_en_giant.c
index 85f1798e3e..4338988b89 100644
--- a/src/overlays/actors/ovl_En_Giant/z_en_giant.c
+++ b/src/overlays/actors/ovl_En_Giant/z_en_giant.c
@@ -5,7 +5,6 @@
*/
#include "z_en_giant.h"
-#include "objects/object_giant/object_giant.h"
#define FLAGS 0x00000030
@@ -20,6 +19,59 @@ void EnGiant_PerformClockTowerSuccessActions(EnGiant* this, GlobalContext* globa
void EnGiant_PlayClockTowerFailureAnimation(EnGiant* this, GlobalContext* globalCtx);
void EnGiant_PerformCutsceneActions(EnGiant* this, GlobalContext* globalCtx);
+#define GIANT_TYPE_IS_NOT_TERMINA_FIELD(type) (type > GIANT_TYPE_OCEAN_TERMINA_FIELD)
+#define GIANT_TYPE_IS_TERMINA_FIELD(type) (type <= GIANT_TYPE_OCEAN_TERMINA_FIELD)
+#define GIANT_TYPE_IS_CLOCK_TOWER_SUCCESS(type) \
+ (type >= GIANT_TYPE_MOUNTAIN_CLOCK_TOWER_SUCCESS && type <= GIANT_TYPE_OCEAN_CLOCK_TOWER_SUCCESS)
+#define GIANT_TYPE_IS_CHAMBER_OR_ENDING(type) \
+ (type >= GIANT_TYPE_MOUNTAIN_GIANTS_CHAMBER_AND_ENDING && type <= GIANT_TYPE_OCEAN_GIANTS_CHAMBER_AND_ENDING)
+#define GIANT_TYPE_IS_CLOCK_TOWER_FAILURE(type) \
+ (type >= GIANT_TYPE_MOUNTAIN_CLOCK_TOWER_FAILURE && type <= GIANT_TYPE_OCEAN_CLOCK_TOWER_FAILURE)
+
+/**
+ * These values are used to index into sAnimations to pick the appropriate animation.
+ */
+typedef enum {
+ /* 0 */ GIANT_ANIMATION_LOOK_UP_START,
+ /* 1 */ GIANT_ANIMATION_LOOK_UP_LOOP,
+ /* 2 */ GIANT_ANIMATION_FALLING_OVER,
+ /* 3 */ GIANT_ANIMATION_RAISED_ARMS_START,
+ /* 4 */ GIANT_ANIMATION_RAISED_ARMS_LOOP,
+ /* 5 */ GIANT_ANIMATION_STRUGGLE_START,
+ /* 6 */ GIANT_ANIMATION_STRUGGLE_LOOP,
+ /* 7 */ GIANT_ANIMATION_IDLE_LOOP,
+ /* 8 */ GIANT_ANIMATION_WALKING_LOOP,
+ /* 9 */ GIANT_ANIMATION_BIG_CALL_START,
+ /* 10 */ GIANT_ANIMATION_BIG_CALL_LOOP,
+ /* 11 */ GIANT_ANIMATION_BIG_CALL_END,
+ /* 12 */ GIANT_ANIMATION_SMALL_CALL_START,
+ /* 13 */ GIANT_ANIMATION_SMALL_CALL_LOOP,
+ /* 14 */ GIANT_ANIMATION_SMALL_CALL_END,
+ /* 15 */ GIANT_ANIMATION_MAX
+} GiantAnimationIndex;
+
+/**
+ * Used as values for csAction. The UNKNOWN ones are never used in-game.
+ */
+typedef enum {
+ /* 0 */ GIANT_CS_ACTION_NONE,
+ /* 1 */ GIANT_CS_ACTION_IDLE,
+ /* 2 */ GIANT_CS_ACTION_WALKING,
+ /* 3 */ GIANT_CS_ACTION_LOOKING_UP,
+ /* 4 */ GIANT_CS_ACTION_RAISING_ARMS,
+ /* 5 */ GIANT_CS_ACTION_STRUGGLING,
+ /* 6 */ GIANT_CS_ACTION_FALLING_OVER,
+ /* 7 */ GIANT_CS_ACTION_IDLE_FADE_IN,
+ /* 8 */ GIANT_CS_ACTION_TALKING,
+ /* 9 */ GIANT_CS_ACTION_DONE_TALKING,
+ /* 10 */ GIANT_CS_ACTION_TEACHING_OATH_TO_ORDER,
+ /* 11 */ GIANT_CS_ACTION_PLAYER_LEARNED_OATH_TO_ORDER,
+ /* 12 */ GIANT_CS_ACTION_UNKNOWN_12,
+ /* 13 */ GIANT_CS_ACTION_UNKNOWN_13,
+ /* 14 */ GIANT_CS_ACTION_UNKNOWN_14,
+ /* 15 */ GIANT_CS_ACTION_HOLDING_UP_MOON_IN_CLOCK_TOWER
+} GiantCsActionIndex;
+
const ActorInit En_Giant_InitVars = {
ACTOR_EN_GIANT,
ACTORCAT_NPC,
diff --git a/src/overlays/actors/ovl_En_Giant/z_en_giant.h b/src/overlays/actors/ovl_En_Giant/z_en_giant.h
index e28aa2a32a..c8d45ad390 100644
--- a/src/overlays/actors/ovl_En_Giant/z_en_giant.h
+++ b/src/overlays/actors/ovl_En_Giant/z_en_giant.h
@@ -2,13 +2,9 @@
#define Z_EN_GIANT_H
#include "global.h"
+#include "objects/object_giant/object_giant.h"
#define GIANT_TYPE(thisx) ((thisx)->params & 0xF)
-#define GIANT_TYPE_IS_NOT_TERMINA_FIELD(type) (type > GIANT_TYPE_OCEAN_TERMINA_FIELD)
-#define GIANT_TYPE_IS_TERMINA_FIELD(type) (type <= GIANT_TYPE_OCEAN_TERMINA_FIELD)
-#define GIANT_TYPE_IS_CLOCK_TOWER_SUCCESS(type) (type >= GIANT_TYPE_MOUNTAIN_CLOCK_TOWER_SUCCESS && type <= GIANT_TYPE_OCEAN_CLOCK_TOWER_SUCCESS)
-#define GIANT_TYPE_IS_CHAMBER_OR_ENDING(type) (type >= GIANT_TYPE_MOUNTAIN_GIANTS_CHAMBER_AND_ENDING && type <= GIANT_TYPE_OCEAN_GIANTS_CHAMBER_AND_ENDING)
-#define GIANT_TYPE_IS_CLOCK_TOWER_FAILURE(type) (type >= GIANT_TYPE_MOUNTAIN_CLOCK_TOWER_FAILURE && type <= GIANT_TYPE_OCEAN_CLOCK_TOWER_FAILURE)
/**
* The giants are divided into types based on where in the game they appear.
@@ -42,70 +38,6 @@ typedef enum {
/* 15 */ GIANT_TYPE_OCEAN_CLOCK_TOWER_FAILURE,
} GiantType;
-/**
- * These values are used to index into sAnimationTable to pick the appropriate animation.
- */
-typedef enum {
- /* 0 */ GIANT_ANIMATION_LOOK_UP_START,
- /* 1 */ GIANT_ANIMATION_LOOK_UP_LOOP,
- /* 2 */ GIANT_ANIMATION_FALLING_OVER,
- /* 3 */ GIANT_ANIMATION_RAISED_ARMS_START,
- /* 4 */ GIANT_ANIMATION_RAISED_ARMS_LOOP,
- /* 5 */ GIANT_ANIMATION_STRUGGLE_START,
- /* 6 */ GIANT_ANIMATION_STRUGGLE_LOOP,
- /* 7 */ GIANT_ANIMATION_IDLE_LOOP,
- /* 8 */ GIANT_ANIMATION_WALKING_LOOP,
- /* 9 */ GIANT_ANIMATION_BIG_CALL_START,
- /* 10 */ GIANT_ANIMATION_BIG_CALL_LOOP,
- /* 11 */ GIANT_ANIMATION_BIG_CALL_END,
- /* 12 */ GIANT_ANIMATION_SMALL_CALL_START,
- /* 13 */ GIANT_ANIMATION_SMALL_CALL_LOOP,
- /* 14 */ GIANT_ANIMATION_SMALL_CALL_END,
- /* 15 */ GIANT_ANIMATION_MAX
-} GiantAnimationIndex;
-
-/**
- * Used as values for csAction. The UNKNOWN ones are never used in-game.
- */
-typedef enum {
- /* 0 */ GIANT_CS_ACTION_NONE,
- /* 1 */ GIANT_CS_ACTION_IDLE,
- /* 2 */ GIANT_CS_ACTION_WALKING,
- /* 3 */ GIANT_CS_ACTION_LOOKING_UP,
- /* 4 */ GIANT_CS_ACTION_RAISING_ARMS,
- /* 5 */ GIANT_CS_ACTION_STRUGGLING,
- /* 6 */ GIANT_CS_ACTION_FALLING_OVER,
- /* 7 */ GIANT_CS_ACTION_IDLE_FADE_IN,
- /* 8 */ GIANT_CS_ACTION_TALKING,
- /* 9 */ GIANT_CS_ACTION_DONE_TALKING,
- /* 10 */ GIANT_CS_ACTION_TEACHING_OATH_TO_ORDER,
- /* 11 */ GIANT_CS_ACTION_PLAYER_LEARNED_OATH_TO_ORDER,
- /* 12 */ GIANT_CS_ACTION_UNKNOWN_12,
- /* 13 */ GIANT_CS_ACTION_UNKNOWN_13,
- /* 14 */ GIANT_CS_ACTION_UNKNOWN_14,
- /* 15 */ GIANT_CS_ACTION_HOLDING_UP_MOON_IN_CLOCK_TOWER
-} GiantCsActionIndex;
-
-typedef enum {
- /* 0 */ GIANT_LIMB_NONE,
- /* 1 */ GIANT_LIMB_HEAD,
- /* 2 */ GIANT_LIMB_LEFT_THIGH,
- /* 3 */ GIANT_LIMB_LEFT_LOWER_LEG,
- /* 4 */ GIANT_LIMB_LEFT_FOOT,
- /* 5 */ GIANT_LIMB_RIGHT_THIGH,
- /* 6 */ GIANT_LIMB_RIGHT_LOWER_LEG,
- /* 7 */ GIANT_LIMB_RIGHT_FOOT,
- /* 8 */ GIANT_LIMB_LEFT_SHOULDER,
- /* 9 */ GIANT_LIMB_LEFT_UPPER_ARM,
- /* 10 */ GIANT_LIMB_LEFT_FOREARM,
- /* 11 */ GIANT_LIMB_LEFT_HAND,
- /* 12 */ GIANT_LIMB_RIGHT_SHOULDER,
- /* 13 */ GIANT_LIMB_RIGHT_UPPER_ARM,
- /* 14 */ GIANT_LIMB_RIGHT_FOREARM,
- /* 15 */ GIANT_LIMB_RIGHT_HAND,
- /* 16 */ GIANT_LIMB_MAX,
-} EnGiantLimbs;
-
struct EnGiant;
typedef void (*EnGiantActionFunc)(struct EnGiant*, GlobalContext*);