Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
109 changes: 109 additions & 0 deletions soh/assets/mm/objects/object_link_goron/object_link_goron.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
#ifndef OBJECTS_OBJECT_LINK_GORON_H
#define OBJECTS_OBJECT_LINK_GORON_H 1

// MM asset symbols, resolved at runtime from a user-provided mm.o2r (generated by 2Ship2Harkinian)
// placed in the mods folder. SoH ships no MM data; these are path strings only.

#include "align_asset_macro.h"

#define dgLinkGoronCollarDL "__OTR__objects/object_link_goron/gLinkGoronCollarDL"
static const ALIGN_ASSET(2) char gLinkGoronCollarDL[] = dgLinkGoronCollarDL;

#define dgLinkGoronCurledDL "__OTR__objects/object_link_goron/gLinkGoronCurledDL"
static const ALIGN_ASSET(2) char gLinkGoronCurledDL[] = dgLinkGoronCurledDL;

#define dgLinkGoronEyesClosedTex "__OTR__objects/object_link_goron/gLinkGoronEyesClosedTex"
static const ALIGN_ASSET(2) char gLinkGoronEyesClosedTex[] = dgLinkGoronEyesClosedTex;

#define dgLinkGoronEyesHalfTex "__OTR__objects/object_link_goron/gLinkGoronEyesHalfTex"
static const ALIGN_ASSET(2) char gLinkGoronEyesHalfTex[] = dgLinkGoronEyesHalfTex;

#define dgLinkGoronEyesOpenTex "__OTR__objects/object_link_goron/gLinkGoronEyesOpenTex"
static const ALIGN_ASSET(2) char gLinkGoronEyesOpenTex[] = dgLinkGoronEyesOpenTex;

#define dgLinkGoronEyesSurprisedTex "__OTR__objects/object_link_goron/gLinkGoronEyesSurprisedTex"
static const ALIGN_ASSET(2) char gLinkGoronEyesSurprisedTex[] = dgLinkGoronEyesSurprisedTex;

#define dgLinkGoronGoronPunchEffectDL "__OTR__objects/object_link_goron/gLinkGoronGoronPunchEffectDL"
static const ALIGN_ASSET(2) char gLinkGoronGoronPunchEffectDL[] = dgLinkGoronGoronPunchEffectDL;

#define dgLinkGoronHatDL "__OTR__objects/object_link_goron/gLinkGoronHatDL"
static const ALIGN_ASSET(2) char gLinkGoronHatDL[] = dgLinkGoronHatDL;

#define dgLinkGoronHeadDL "__OTR__objects/object_link_goron/gLinkGoronHeadDL"
static const ALIGN_ASSET(2) char gLinkGoronHeadDL[] = dgLinkGoronHeadDL;

#define dgLinkGoronLeftFootDL "__OTR__objects/object_link_goron/gLinkGoronLeftFootDL"
static const ALIGN_ASSET(2) char gLinkGoronLeftFootDL[] = dgLinkGoronLeftFootDL;

#define dgLinkGoronLeftForearmDL "__OTR__objects/object_link_goron/gLinkGoronLeftForearmDL"
static const ALIGN_ASSET(2) char gLinkGoronLeftForearmDL[] = dgLinkGoronLeftForearmDL;

#define dgLinkGoronLeftHandClosedDL "__OTR__objects/object_link_goron/gLinkGoronLeftHandClosedDL"
static const ALIGN_ASSET(2) char gLinkGoronLeftHandClosedDL[] = dgLinkGoronLeftHandClosedDL;

#define dgLinkGoronLeftHandHoldBottleDL "__OTR__objects/object_link_goron/gLinkGoronLeftHandHoldBottleDL"
static const ALIGN_ASSET(2) char gLinkGoronLeftHandHoldBottleDL[] = dgLinkGoronLeftHandHoldBottleDL;

#define dgLinkGoronLeftHandOpenDL "__OTR__objects/object_link_goron/gLinkGoronLeftHandOpenDL"
static const ALIGN_ASSET(2) char gLinkGoronLeftHandOpenDL[] = dgLinkGoronLeftHandOpenDL;

#define dgLinkGoronLeftShinDL "__OTR__objects/object_link_goron/gLinkGoronLeftShinDL"
static const ALIGN_ASSET(2) char gLinkGoronLeftShinDL[] = dgLinkGoronLeftShinDL;

#define dgLinkGoronLeftShoulderDL "__OTR__objects/object_link_goron/gLinkGoronLeftShoulderDL"
static const ALIGN_ASSET(2) char gLinkGoronLeftShoulderDL[] = dgLinkGoronLeftShoulderDL;

#define dgLinkGoronLeftThighDL "__OTR__objects/object_link_goron/gLinkGoronLeftThighDL"
static const ALIGN_ASSET(2) char gLinkGoronLeftThighDL[] = dgLinkGoronLeftThighDL;

#define dgLinkGoronRightFootDL "__OTR__objects/object_link_goron/gLinkGoronRightFootDL"
static const ALIGN_ASSET(2) char gLinkGoronRightFootDL[] = dgLinkGoronRightFootDL;

#define dgLinkGoronRightForearmDL "__OTR__objects/object_link_goron/gLinkGoronRightForearmDL"
static const ALIGN_ASSET(2) char gLinkGoronRightForearmDL[] = dgLinkGoronRightForearmDL;

#define dgLinkGoronRightHandClosedDL "__OTR__objects/object_link_goron/gLinkGoronRightHandClosedDL"
static const ALIGN_ASSET(2) char gLinkGoronRightHandClosedDL[] = dgLinkGoronRightHandClosedDL;

#define dgLinkGoronRightHandOpenDL "__OTR__objects/object_link_goron/gLinkGoronRightHandOpenDL"
static const ALIGN_ASSET(2) char gLinkGoronRightHandOpenDL[] = dgLinkGoronRightHandOpenDL;

#define dgLinkGoronRightShinDL "__OTR__objects/object_link_goron/gLinkGoronRightShinDL"
static const ALIGN_ASSET(2) char gLinkGoronRightShinDL[] = dgLinkGoronRightShinDL;

#define dgLinkGoronRightShoulderDL "__OTR__objects/object_link_goron/gLinkGoronRightShoulderDL"
static const ALIGN_ASSET(2) char gLinkGoronRightShoulderDL[] = dgLinkGoronRightShoulderDL;

#define dgLinkGoronRightThighDL "__OTR__objects/object_link_goron/gLinkGoronRightThighDL"
static const ALIGN_ASSET(2) char gLinkGoronRightThighDL[] = dgLinkGoronRightThighDL;

#define dgLinkGoronRollingSpikesAndEffectDL "__OTR__objects/object_link_goron/gLinkGoronRollingSpikesAndEffectDL"
static const ALIGN_ASSET(2) char gLinkGoronRollingSpikesAndEffectDL[] = dgLinkGoronRollingSpikesAndEffectDL;

// Opaque spike ring drawn on the curled ball while spike-rolling (unnamed in 2Ship's XML)
#define dgLinkGoronRollingSpikesDL "__OTR__objects/object_link_goron/object_link_goron_DL_00C540"
static const ALIGN_ASSET(2) char gLinkGoronRollingSpikesDL[] = dgLinkGoronRollingSpikesDL;

#define dgLinkGoronSheathDL "__OTR__objects/object_link_goron/gLinkGoronSheathDL"
static const ALIGN_ASSET(2) char gLinkGoronSheathDL[] = dgLinkGoronSheathDL;

#define dgLinkGoronShieldingAnim "__OTR__objects/object_link_goron/gLinkGoronShieldingAnim"
static const ALIGN_ASSET(2) char gLinkGoronShieldingAnim[] = dgLinkGoronShieldingAnim;

#define dgLinkGoronShieldingSkel "__OTR__objects/object_link_goron/gLinkGoronShieldingSkel"
static const ALIGN_ASSET(2) char gLinkGoronShieldingSkel[] = dgLinkGoronShieldingSkel;

#define dgLinkGoronSkel "__OTR__objects/object_link_goron/gLinkGoronSkel"
static const ALIGN_ASSET(2) char gLinkGoronSkel[] = dgLinkGoronSkel;

#define dgLinkGoronSkinTLUT "__OTR__objects/object_link_goron/gLinkGoronSkinTLUT"
static const ALIGN_ASSET(2) char gLinkGoronSkinTLUT[] = dgLinkGoronSkinTLUT;

#define dgLinkGoronTorsoDL "__OTR__objects/object_link_goron/gLinkGoronTorsoDL"
static const ALIGN_ASSET(2) char gLinkGoronTorsoDL[] = dgLinkGoronTorsoDL;

#define dgLinkGoronWaistDL "__OTR__objects/object_link_goron/gLinkGoronWaistDL"
static const ALIGN_ASSET(2) char gLinkGoronWaistDL[] = dgLinkGoronWaistDL;

#endif // OBJECTS_OBJECT_LINK_GORON_H
114 changes: 114 additions & 0 deletions soh/assets/mm/objects/object_link_zora/object_link_zora.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
#ifndef OBJECTS_OBJECT_LINK_ZORA_H
#define OBJECTS_OBJECT_LINK_ZORA_H 1

// MM asset symbols, resolved at runtime from a user-provided mm.o2r (generated by 2Ship2Harkinian)
// placed in the mods folder. SoH ships no MM data; these are path strings only.

#include "align_asset_macro.h"

#define dgLinkZoraCollarDL "__OTR__objects/object_link_zora/gLinkZoraCollarDL"
static const ALIGN_ASSET(2) char gLinkZoraCollarDL[] = dgLinkZoraCollarDL;

#define dgLinkZoraEyesClosedTex "__OTR__objects/object_link_zora/gLinkZoraEyesClosedTex"
static const ALIGN_ASSET(2) char gLinkZoraEyesClosedTex[] = dgLinkZoraEyesClosedTex;

#define dgLinkZoraEyesDownTex "__OTR__objects/object_link_zora/gLinkZoraEyesDownTex"
static const ALIGN_ASSET(2) char gLinkZoraEyesDownTex[] = dgLinkZoraEyesDownTex;

#define dgLinkZoraEyesHalfTex "__OTR__objects/object_link_zora/gLinkZoraEyesHalfTex"
static const ALIGN_ASSET(2) char gLinkZoraEyesHalfTex[] = dgLinkZoraEyesHalfTex;

#define dgLinkZoraEyesLeftTex "__OTR__objects/object_link_zora/gLinkZoraEyesLeftTex"
static const ALIGN_ASSET(2) char gLinkZoraEyesLeftTex[] = dgLinkZoraEyesLeftTex;

#define dgLinkZoraEyesOpenTex "__OTR__objects/object_link_zora/gLinkZoraEyesOpenTex"
static const ALIGN_ASSET(2) char gLinkZoraEyesOpenTex[] = dgLinkZoraEyesOpenTex;

#define dgLinkZoraEyesRightTex "__OTR__objects/object_link_zora/gLinkZoraEyesRightTex"
static const ALIGN_ASSET(2) char gLinkZoraEyesRightTex[] = dgLinkZoraEyesRightTex;

#define dgLinkZoraEyesUpTex "__OTR__objects/object_link_zora/gLinkZoraEyesUpTex"
static const ALIGN_ASSET(2) char gLinkZoraEyesUpTex[] = dgLinkZoraEyesUpTex;

#define dgLinkZoraEyesWincingTex "__OTR__objects/object_link_zora/gLinkZoraEyesWincingTex"
static const ALIGN_ASSET(2) char gLinkZoraEyesWincingTex[] = dgLinkZoraEyesWincingTex;

#define dgLinkZoraHatDL "__OTR__objects/object_link_zora/gLinkZoraHatDL"
static const ALIGN_ASSET(2) char gLinkZoraHatDL[] = dgLinkZoraHatDL;

#define dgLinkZoraHeadDL "__OTR__objects/object_link_zora/gLinkZoraHeadDL"
static const ALIGN_ASSET(2) char gLinkZoraHeadDL[] = dgLinkZoraHeadDL;

#define dgLinkZoraLeftFootDL "__OTR__objects/object_link_zora/gLinkZoraLeftFootDL"
static const ALIGN_ASSET(2) char gLinkZoraLeftFootDL[] = dgLinkZoraLeftFootDL;

#define dgLinkZoraLeftForearmDL "__OTR__objects/object_link_zora/gLinkZoraLeftForearmDL"
static const ALIGN_ASSET(2) char gLinkZoraLeftForearmDL[] = dgLinkZoraLeftForearmDL;

#define dgLinkZoraLeftHandClosedDL "__OTR__objects/object_link_zora/gLinkZoraLeftHandClosedDL"
static const ALIGN_ASSET(2) char gLinkZoraLeftHandClosedDL[] = dgLinkZoraLeftHandClosedDL;

#define dgLinkZoraLeftHandHoldBottleDL "__OTR__objects/object_link_zora/gLinkZoraLeftHandHoldBottleDL"
static const ALIGN_ASSET(2) char gLinkZoraLeftHandHoldBottleDL[] = dgLinkZoraLeftHandHoldBottleDL;

#define dgLinkZoraLeftHandOpenDL "__OTR__objects/object_link_zora/gLinkZoraLeftHandOpenDL"
static const ALIGN_ASSET(2) char gLinkZoraLeftHandOpenDL[] = dgLinkZoraLeftHandOpenDL;

#define dgLinkZoraLeftShinDL "__OTR__objects/object_link_zora/gLinkZoraLeftShinDL"
static const ALIGN_ASSET(2) char gLinkZoraLeftShinDL[] = dgLinkZoraLeftShinDL;

#define dgLinkZoraLeftShoulderDL "__OTR__objects/object_link_zora/gLinkZoraLeftShoulderDL"
static const ALIGN_ASSET(2) char gLinkZoraLeftShoulderDL[] = dgLinkZoraLeftShoulderDL;

#define dgLinkZoraLeftThighDL "__OTR__objects/object_link_zora/gLinkZoraLeftThighDL"
static const ALIGN_ASSET(2) char gLinkZoraLeftThighDL[] = dgLinkZoraLeftThighDL;

#define dgLinkZoraMouthClosedTex "__OTR__objects/object_link_zora/gLinkZoraMouthClosedTex"
static const ALIGN_ASSET(2) char gLinkZoraMouthClosedTex[] = dgLinkZoraMouthClosedTex;

#define dgLinkZoraMouthHalfTex "__OTR__objects/object_link_zora/gLinkZoraMouthHalfTex"
static const ALIGN_ASSET(2) char gLinkZoraMouthHalfTex[] = dgLinkZoraMouthHalfTex;

#define dgLinkZoraMouthOpenTex "__OTR__objects/object_link_zora/gLinkZoraMouthOpenTex"
static const ALIGN_ASSET(2) char gLinkZoraMouthOpenTex[] = dgLinkZoraMouthOpenTex;

#define dgLinkZoraMouthSmileTex "__OTR__objects/object_link_zora/gLinkZoraMouthSmileTex"
static const ALIGN_ASSET(2) char gLinkZoraMouthSmileTex[] = dgLinkZoraMouthSmileTex;

#define dgLinkZoraRightFootDL "__OTR__objects/object_link_zora/gLinkZoraRightFootDL"
static const ALIGN_ASSET(2) char gLinkZoraRightFootDL[] = dgLinkZoraRightFootDL;

#define dgLinkZoraRightForearmDL "__OTR__objects/object_link_zora/gLinkZoraRightForearmDL"
static const ALIGN_ASSET(2) char gLinkZoraRightForearmDL[] = dgLinkZoraRightForearmDL;

#define dgLinkZoraRightHandClosedDL "__OTR__objects/object_link_zora/gLinkZoraRightHandClosedDL"
static const ALIGN_ASSET(2) char gLinkZoraRightHandClosedDL[] = dgLinkZoraRightHandClosedDL;

#define dgLinkZoraRightHandOpenDL "__OTR__objects/object_link_zora/gLinkZoraRightHandOpenDL"
static const ALIGN_ASSET(2) char gLinkZoraRightHandOpenDL[] = dgLinkZoraRightHandOpenDL;

#define dgLinkZoraRightShinDL "__OTR__objects/object_link_zora/gLinkZoraRightShinDL"
static const ALIGN_ASSET(2) char gLinkZoraRightShinDL[] = dgLinkZoraRightShinDL;

#define dgLinkZoraRightShoulderDL "__OTR__objects/object_link_zora/gLinkZoraRightShoulderDL"
static const ALIGN_ASSET(2) char gLinkZoraRightShoulderDL[] = dgLinkZoraRightShoulderDL;

#define dgLinkZoraRightThighDL "__OTR__objects/object_link_zora/gLinkZoraRightThighDL"
static const ALIGN_ASSET(2) char gLinkZoraRightThighDL[] = dgLinkZoraRightThighDL;

#define dgLinkZoraSheathDL "__OTR__objects/object_link_zora/gLinkZoraSheathDL"
static const ALIGN_ASSET(2) char gLinkZoraSheathDL[] = dgLinkZoraSheathDL;

#define dgLinkZoraSkel "__OTR__objects/object_link_zora/gLinkZoraSkel"
static const ALIGN_ASSET(2) char gLinkZoraSkel[] = dgLinkZoraSkel;

#define dgLinkZoraSkinTLUT "__OTR__objects/object_link_zora/gLinkZoraSkinTLUT"
static const ALIGN_ASSET(2) char gLinkZoraSkinTLUT[] = dgLinkZoraSkinTLUT;

#define dgLinkZoraTorsoDL "__OTR__objects/object_link_zora/gLinkZoraTorsoDL"
static const ALIGN_ASSET(2) char gLinkZoraTorsoDL[] = dgLinkZoraTorsoDL;

#define dgLinkZoraWaistDL "__OTR__objects/object_link_zora/gLinkZoraWaistDL"
static const ALIGN_ASSET(2) char gLinkZoraWaistDL[] = dgLinkZoraWaistDL;

#endif // OBJECTS_OBJECT_LINK_ZORA_H
Original file line number Diff line number Diff line change
Expand Up @@ -605,6 +605,18 @@ typedef enum {
// - `*PlayState play`
VB_DRAW_PLAYER_MASK,

// Vanilla draws the strength upgrade (gauntlets / Goron bracelet) and iron/hover boots
// display lists on top of the player skeleton. These DLs rig to Link's limb matrices,
// so they should be suppressed when the player model is not Link.
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `void*` player (Player*)
// - `*PlayState play`
VB_DRAW_PLAYER_STRENGTH_AND_BOOTS,

// #### `result`
// In `Interface_DrawAmmoCount`:
// ```c
Expand Down Expand Up @@ -2035,6 +2047,19 @@ typedef enum {
// - `*int32_t` (arrowType)
VB_PLAYER_ARROW_MAGIC_CONSUMPTION,

// Fired from Player_DrawImpl before the eye/mouth textures are written to segments 8/9.
// Write to *eyeTexture / *mouthTexture to substitute the textures (OTR paths or resolved pointers).
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `void**` eyeTexture
// - `void**` mouthTexture
// - `s32` eyeIndex
// - `s32` mouthIndex
VB_PLAYER_APPLY_FACE_TEXTURES,

// #### `result`
// ```c
// true
Expand All @@ -2044,6 +2069,17 @@ typedef enum {
// - `PlayState*` play
VB_PLAYER_DRAW_BOTTLE,

// Fired before the player skeleton is initialized (Player_InitCommon, and the pause menu
// player preview where player is NULL). Write to *skelHeader to substitute the skeleton.
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `void*` player (Player*, NULL for the pause menu preview)
// - `FlexSkeletonHeader**` skelHeader
VB_PLAYER_INIT_SKELETON,

// #### `result`
// ```c
// true
Expand Down Expand Up @@ -2103,6 +2139,16 @@ typedef enum {
// - `*PlayState`
VB_PLAYER_UPDATE_BOTTLE_HELD,

// Fired from Player_DrawImpl. Return true to force the most detailed LOD (lod 0),
// e.g. for skeletons whose limbs have no far display lists.
// #### `result`
// ```c
// false
// ```
// #### `args`
// - `void*` player (Player*)
VB_PLAYER_USE_MAX_LOD,

// #### `result`
// ```c
// false
Expand All @@ -2124,6 +2170,45 @@ typedef enum {
// - `s16 yawTarget` (stick world-space yaw, promoted to int in va_list)
VB_PLAYER_ROLL_STEER,

// Fired from func_8083D53C at its two swim-state transitions: when the player is deep
// in water but not in one of the vanilla swim actions (reset into the vanilla
// tread-water action), and when the player is in water near the surface (pop out of
// the water via Player_SetupTurnInPlace/func_8083D0A8). Return false to keep either
// transition from stomping a custom (enhancement-installed) swim action.
// #### `result`
// ```c
// <deep: player is not held in place by iron boots and actionFunc is not a vanilla swim action;
// near-surface: true>
// ```
// #### `args`
// - `*Player`
VB_PLAYER_RESET_SWIM_STATE,

// Fired where an animation's root translation is scaled down for child Link:
// Player_OverrideLimbDrawGameplayCommon (drawn root limb position) and
// Player_ApplyAnimMovementScaledByAge (anim-driven world movement). Write *scale to
// substitute another factor (e.g. a form skeleton's own translation scale) and return
// true to apply it; return false to leave the translation unscaled.
// #### `result`
// ```c
// !LINK_IS_ADULT
// ```
// #### `args`
// - `*Player`
// - `*f32` scale (preset to the vanilla child factor, 0.64)
VB_PLAYER_SCALE_ANIM_TRANSLATION,

// Fired at the top of Player_UseItem for every item use attempt (C buttons / assignable
// buttons). Return false to block the item from being used.
// #### `result`
// ```c
// true
// ```
// #### `args`
// - `*Player`
// - `s32` item (ItemID)
VB_PLAYER_USE_ITEM,

// #### `result`
// ```c
// item == ITEM_SAW
Expand Down
Loading
Loading