mirror of https://github.com/zeldaret/mm.git
Clean up En_Giant header (#614)
* Clean up En_Giant header * Run ./format.sh * Move defines to be near the enums * Move the limb enum to the object
This commit is contained in:
parent
009ad45f48
commit
7ba82882b2
|
|
@ -51,24 +51,24 @@
|
|||
<Texture Name="gGiantBeardTex" OutName="giant_beard" Format="rgba16" Width="16" Height="16" Offset="0x76C0" />
|
||||
|
||||
<!-- Giant Limbs -->
|
||||
<Limb Name="gGiantHeadLimb" Type="Standard" Offset="0x78C0" />
|
||||
<Limb Name="gGiantLeftThighLimb" Type="Standard" Offset="0x78CC" />
|
||||
<Limb Name="gGiantLeftShinLimb" Type="Standard" Offset="0x78D8" />
|
||||
<Limb Name="gGiantLeftFootLimb" Type="Standard" Offset="0x78E4" />
|
||||
<Limb Name="gGiantRightThighLimb" Type="Standard" Offset="0x78F0" />
|
||||
<Limb Name="gGiantRightShinLimb" Type="Standard" Offset="0x78FC" />
|
||||
<Limb Name="gGiantRightFootLimb" Type="Standard" Offset="0x7908" />
|
||||
<Limb Name="gGiantLeftShoulderLimb" Type="Standard" Offset="0x7914" />
|
||||
<Limb Name="gGiantLeftUpperArmLimb" Type="Standard" Offset="0x7920" />
|
||||
<Limb Name="gGiantLeftForearmLimb" Type="Standard" Offset="0x792C" />
|
||||
<Limb Name="gGiantLeftHandLimb" Type="Standard" Offset="0x7938" />
|
||||
<Limb Name="gGiantRightShoulderLimb" Type="Standard" Offset="0x7944" />
|
||||
<Limb Name="gGiantRightUpperArmLimb" Type="Standard" Offset="0x7950" />
|
||||
<Limb Name="gGiantRightForearmLimb" Type="Standard" Offset="0x795C" />
|
||||
<Limb Name="gGiantRightHandLimb" Type="Standard" Offset="0x7968" />
|
||||
<Limb Name="gGiantHeadLimb" Type="Standard" EnumName="GIANT_LIMB_HEAD" Offset="0x78C0" />
|
||||
<Limb Name="gGiantLeftThighLimb" Type="Standard" EnumName="GIANT_LIMB_LEFT_THIGH" Offset="0x78CC" />
|
||||
<Limb Name="gGiantLeftShinLimb" Type="Standard" EnumName="GIANT_LIMB_LEFT_SHIN" Offset="0x78D8" />
|
||||
<Limb Name="gGiantLeftFootLimb" Type="Standard" EnumName="GIANT_LIMB_LEFT_FOOT" Offset="0x78E4" />
|
||||
<Limb Name="gGiantRightThighLimb" Type="Standard" EnumName="GIANT_LIMB_RIGHT_THIGH" Offset="0x78F0" />
|
||||
<Limb Name="gGiantRightShinLimb" Type="Standard" EnumName="GIANT_LIMB_RIGHT_SHIN" Offset="0x78FC" />
|
||||
<Limb Name="gGiantRightFootLimb" Type="Standard" EnumName="GIANT_LIMB_RIGHT_FOOT" Offset="0x7908" />
|
||||
<Limb Name="gGiantLeftShoulderLimb" Type="Standard" EnumName="GIANT_LIMB_LEFT_SHOULDER" Offset="0x7914" />
|
||||
<Limb Name="gGiantLeftUpperArmLimb" Type="Standard" EnumName="GIANT_LIMB_LEFT_UPPER_ARM" Offset="0x7920" />
|
||||
<Limb Name="gGiantLeftForearmLimb" Type="Standard" EnumName="GIANT_LIMB_LEFT_FOREARM" Offset="0x792C" />
|
||||
<Limb Name="gGiantLeftHandLimb" Type="Standard" EnumName="GIANT_LIMB_LEFT_HAND" Offset="0x7938" />
|
||||
<Limb Name="gGiantRightShoulderLimb" Type="Standard" EnumName="GIANT_LIMB_RIGHT_SHOULDER" Offset="0x7944" />
|
||||
<Limb Name="gGiantRightUpperArmLimb" Type="Standard" EnumName="GIANT_LIMB_RIGHT_UPPER_ARM" Offset="0x7950" />
|
||||
<Limb Name="gGiantRightForearmLimb" Type="Standard" EnumName="GIANT_LIMB_RIGHT_FOREARM" Offset="0x795C" />
|
||||
<Limb Name="gGiantRightHandLimb" Type="Standard" EnumName="GIANT_LIMB_RIGHT_HAND" Offset="0x7968" />
|
||||
|
||||
<!-- Giant Skeleton -->
|
||||
<Skeleton Name="gGiantSkel" Type="Flex" LimbType="Standard" Offset="0x79B0" />
|
||||
<Skeleton Name="gGiantSkel" Type="Flex" LimbType="Standard" LimbNone="GIANT_LIMB_NONE" LimbMax="GIANT_LIMB_MAX" EnumName="EnGiantLimbs" Offset="0x79B0" />
|
||||
|
||||
<!-- Giant Animations -->
|
||||
<Animation Name="gGiantLookUpStartAnim" Offset="0x8394" /> <!-- Original name is "kyo_kaoage" ("raising face") -->
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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*);
|
||||
|
|
|
|||
Loading…
Reference in New Issue