1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-07-17 05:15:16 +00:00

Document Surface Material (#1447)

* material

* cleanup

* iron boots

* climb

* more docs

* rename

* small fix

* comments

* adjust bug comment

* simplify comment
This commit is contained in:
engineer124 2022-11-26 18:11:06 -05:00 committed by GitHub
parent 92f081d7f3
commit c7a61aa670
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
26 changed files with 263 additions and 231 deletions

View file

@ -602,8 +602,8 @@ s32 SurfaceType_CheckWallFlag2(CollisionContext* colCtx, CollisionPoly* poly, s3
u32 SurfaceType_GetFloorProperty(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
u32 SurfaceType_IsSoft(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
u32 SurfaceType_IsHorseBlocked(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
u32 SurfaceType_GetSfxType(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
u16 SurfaceType_GetSfxId(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
u32 SurfaceType_GetMaterial(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
u16 SurfaceType_GetSfxOffset(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
u32 SurfaceType_GetFloorEffect(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
u32 SurfaceType_GetLightSetting(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);
u32 SurfaceType_GetEcho(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId);

View file

@ -58,6 +58,7 @@ typedef struct {
#define DEFINE_SFX(enum, _1, _2, _3, _4) enum,
typedef enum {
NA_SE_NONE, // Requesting a sfx with this id will play no sound
NA_SE_PL_BASE = 0x7FF,
#include "tables/sfx/playerbank_table.h"
NA_SE_IT_BASE = 0x17FF,

View file

@ -162,22 +162,41 @@ typedef enum {
} FloorProperty;
typedef enum {
/* 0 */ SURFACE_SFX_TYPE_0,
/* 1 */ SURFACE_SFX_TYPE_1,
/* 2 */ SURFACE_SFX_TYPE_2,
/* 3 */ SURFACE_SFX_TYPE_3,
/* 4 */ SURFACE_SFX_TYPE_4,
/* 5 */ SURFACE_SFX_TYPE_5,
/* 6 */ SURFACE_SFX_TYPE_6,
/* 7 */ SURFACE_SFX_TYPE_7,
/* 8 */ SURFACE_SFX_TYPE_8,
/* 9 */ SURFACE_SFX_TYPE_9,
/* 10 */ SURFACE_SFX_TYPE_10,
/* 11 */ SURFACE_SFX_TYPE_11,
/* 12 */ SURFACE_SFX_TYPE_12,
/* 13 */ SURFACE_SFX_TYPE_13,
/* 14 */ SURFACE_SFX_TYPE_MAX
} SurfaceSfxType;
/* 0 */ SURFACE_SFX_OFFSET_DIRT,
/* 1 */ SURFACE_SFX_OFFSET_SAND,
/* 2 */ SURFACE_SFX_OFFSET_STONE,
/* 3 */ SURFACE_SFX_OFFSET_JABU,
/* 4 */ SURFACE_SFX_OFFSET_WATER_SHALLOW,
/* 5 */ SURFACE_SFX_OFFSET_WATER_DEEP,
/* 6 */ SURFACE_SFX_OFFSET_TALL_GRASS,
/* 7 */ SURFACE_SFX_OFFSET_LAVA, // MAGMA?
/* 8 */ SURFACE_SFX_OFFSET_GRASS,
/* 9 */ SURFACE_SFX_OFFSET_CARPET,
/* 10 */ SURFACE_SFX_OFFSET_WOOD,
/* 11 */ SURFACE_SFX_OFFSET_BRIDGE, // WOOD_PLANK?
/* 12 */ SURFACE_SFX_OFFSET_VINE,
/* 13 */ SURFACE_SFX_OFFSET_IRON_BOOTS,
/* 14 */ SURFACE_SFX_OFFSET_UNUSED,
/* 15 */ SURFACE_SFX_OFFSET_ICE
} SurfaceSfxOffset;
typedef enum {
/* 0 */ SURFACE_MATERIAL_DIRT,
/* 1 */ SURFACE_MATERIAL_SAND,
/* 2 */ SURFACE_MATERIAL_STONE,
/* 3 */ SURFACE_MATERIAL_JABU,
/* 4 */ SURFACE_MATERIAL_WATER_SHALLOW,
/* 5 */ SURFACE_MATERIAL_WATER_DEEP,
/* 6 */ SURFACE_MATERIAL_TALL_GRASS,
/* 7 */ SURFACE_MATERIAL_LAVA, // MAGMA?
/* 8 */ SURFACE_MATERIAL_GRASS,
/* 9 */ SURFACE_MATERIAL_BRIDGE, // WOOD_PLANK?
/* 10 */ SURFACE_MATERIAL_WOOD,
/* 11 */ SURFACE_MATERIAL_DIRT_SOFT,
/* 12 */ SURFACE_MATERIAL_ICE,
/* 13 */ SURFACE_MATERIAL_CARPET,
/* 14 */ SURFACE_MATERIAL_MAX
} SurfaceMaterial;
typedef enum {
/* 0 */ FLOOR_EFFECT_0,

View file

@ -621,7 +621,7 @@ typedef struct Player {
/* 0x0898 */ s16 unk_898;
/* 0x089A */ s16 unk_89A;
/* 0x089C */ s16 unk_89C;
/* 0x089E */ u16 unk_89E;
/* 0x089E */ u16 floorSfxOffset;
/* 0x08A0 */ u8 unk_8A0;
/* 0x08A1 */ u8 unk_8A1;
/* 0x08A2 */ s16 unk_8A2;
@ -643,7 +643,7 @@ typedef struct Player {
/* 0x0A7B */ u8 unk_A7B;
/* 0x0A7C */ f32 unk_A7C;
/* 0x0A80 */ s16 unk_A80;
/* 0x0A82 */ u16 unk_A82;
/* 0x0A82 */ u16 prevFloorSfxOffset;
/* 0x0A84 */ s16 unk_A84;
/* 0x0A86 */ s8 unk_A86;
/* 0x0A87 */ u8 unk_A87;