diff --git a/autogen/convert_constants.py b/autogen/convert_constants.py
index 86e9803c..40256fbb 100644
--- a/autogen/convert_constants.py
+++ b/autogen/convert_constants.py
@@ -35,6 +35,7 @@ in_files = [
"src/game/obj_behaviors_2.h",
"include/dialog_ids.h",
"include/seq_ids.h",
+ "include/surface_terrains.h"
]
exclude_constants = {
diff --git a/autogen/lua_definitions/constants.lua b/autogen/lua_definitions/constants.lua
index 2afc75f4..0d7c729e 100644
--- a/autogen/lua_definitions/constants.lua
+++ b/autogen/lua_definitions/constants.lua
@@ -10524,6 +10524,507 @@ SOUND_TERRAIN_WATER = 2
--- @type integer
SOUND_VIBRATO = 0x2000000
+--- @type integer
+SURFACE_0004 = 0x0004
+
+--- @type integer
+SURFACE_BOSS_FIGHT_CAMERA = 0x0065
+
+--- @type integer
+SURFACE_BURNING = 0x0001
+
+--- @type integer
+SURFACE_CAMERA_8_DIR = 0x0069
+
+--- @type integer
+SURFACE_CAMERA_BOUNDARY = 0x0072
+
+--- @type integer
+SURFACE_CAMERA_FREE_ROAM = 0x0066
+
+--- @type integer
+SURFACE_CAMERA_MIDDLE = 0x006E
+
+--- @type integer
+SURFACE_CAMERA_ROTATE_LEFT = 0x0070
+
+--- @type integer
+SURFACE_CAMERA_ROTATE_RIGHT = 0x006F
+
+--- @type integer
+SURFACE_CLASS_DEFAULT = 0x0000
+
+--- @type integer
+SURFACE_CLASS_NOT_SLIPPERY = 0x0015
+
+--- @type integer
+SURFACE_CLASS_SLIPPERY = 0x0014
+
+--- @type integer
+SURFACE_CLASS_VERY_SLIPPERY = 0x0013
+
+--- @type integer
+SURFACE_CLOSE_CAMERA = 0x000B
+
+--- @type integer
+SURFACE_DEATH_PLANE = 0x000A
+
+--- @type integer
+SURFACE_DEEP_MOVING_QUICKSAND = 0x0024
+
+--- @type integer
+SURFACE_DEEP_QUICKSAND = 0x0022
+
+--- @type integer
+SURFACE_DEFAULT = 0x0000
+
+--- @type integer
+SURFACE_FLAG_DYNAMIC = (1 << 0)
+
+--- @type integer
+SURFACE_FLAG_NO_CAM_COLLISION = (1 << 1)
+
+--- @type integer
+SURFACE_FLAG_X_PROJECTION = (1 << 3)
+
+--- @type integer
+SURFACE_FLOWING_WATER = 0x000E
+
+--- @type integer
+SURFACE_HANGABLE = 0x0005
+
+--- @type integer
+SURFACE_HARD = 0x0030
+
+--- @type integer
+SURFACE_HARD_NOT_SLIPPERY = 0x0037
+
+--- @type integer
+SURFACE_HARD_SLIPPERY = 0x0035
+
+--- @type integer
+SURFACE_HARD_VERY_SLIPPERY = 0x0036
+
+--- @type integer
+SURFACE_HORIZONTAL_WIND = 0x002C
+
+--- @type integer
+SURFACE_ICE = 0x002E
+
+--- @type integer
+SURFACE_INSTANT_MOVING_QUICKSAND = 0x002D
+
+--- @type integer
+SURFACE_INSTANT_QUICKSAND = 0x0023
+
+--- @type integer
+SURFACE_INSTANT_WARP_1B = 0x001B
+
+--- @type integer
+SURFACE_INSTANT_WARP_1C = 0x001C
+
+--- @type integer
+SURFACE_INSTANT_WARP_1D = 0x001D
+
+--- @type integer
+SURFACE_INSTANT_WARP_1E = 0x001E
+
+--- @type integer
+SURFACE_INTANGIBLE = 0x0012
+
+--- @type integer
+SURFACE_LOOK_UP_WARP = 0x002F
+
+--- @type integer
+SURFACE_MGR_MUSIC = 0x001A
+
+--- @type integer
+SURFACE_MOVING_QUICKSAND = 0x0027
+
+--- @type integer
+SURFACE_NOISE_DEFAULT = 0x0029
+
+--- @type integer
+SURFACE_NOISE_SLIPPERY = 0x002A
+
+--- @type integer
+SURFACE_NOISE_VERY_SLIPPERY = 0x0075
+
+--- @type integer
+SURFACE_NOISE_VERY_SLIPPERY_73 = 0x0073
+
+--- @type integer
+SURFACE_NOISE_VERY_SLIPPERY_74 = 0x0074
+
+--- @type integer
+SURFACE_NOT_SLIPPERY = 0x0015
+
+--- @type integer
+SURFACE_NO_CAM_COLLISION = 0x0076
+
+--- @type integer
+SURFACE_NO_CAM_COLLISION_77 = 0x0077
+
+--- @type integer
+SURFACE_NO_CAM_COL_SLIPPERY = 0x0079
+
+--- @type integer
+SURFACE_NO_CAM_COL_VERY_SLIPPERY = 0x0078
+
+--- @type integer
+SURFACE_PAINTING_WARP_D3 = 0x00D3
+
+--- @type integer
+SURFACE_PAINTING_WARP_D4 = 0x00D4
+
+--- @type integer
+SURFACE_PAINTING_WARP_D5 = 0x00D5
+
+--- @type integer
+SURFACE_PAINTING_WARP_D6 = 0x00D6
+
+--- @type integer
+SURFACE_PAINTING_WARP_D7 = 0x00D7
+
+--- @type integer
+SURFACE_PAINTING_WARP_D8 = 0x00D8
+
+--- @type integer
+SURFACE_PAINTING_WARP_D9 = 0x00D9
+
+--- @type integer
+SURFACE_PAINTING_WARP_DA = 0x00DA
+
+--- @type integer
+SURFACE_PAINTING_WARP_DB = 0x00DB
+
+--- @type integer
+SURFACE_PAINTING_WARP_DC = 0x00DC
+
+--- @type integer
+SURFACE_PAINTING_WARP_DD = 0x00DD
+
+--- @type integer
+SURFACE_PAINTING_WARP_DE = 0x00DE
+
+--- @type integer
+SURFACE_PAINTING_WARP_DF = 0x00DF
+
+--- @type integer
+SURFACE_PAINTING_WARP_E0 = 0x00E0
+
+--- @type integer
+SURFACE_PAINTING_WARP_E1 = 0x00E1
+
+--- @type integer
+SURFACE_PAINTING_WARP_E2 = 0x00E2
+
+--- @type integer
+SURFACE_PAINTING_WARP_E3 = 0x00E3
+
+--- @type integer
+SURFACE_PAINTING_WARP_E4 = 0x00E4
+
+--- @type integer
+SURFACE_PAINTING_WARP_E5 = 0x00E5
+
+--- @type integer
+SURFACE_PAINTING_WARP_E6 = 0x00E6
+
+--- @type integer
+SURFACE_PAINTING_WARP_E7 = 0x00E7
+
+--- @type integer
+SURFACE_PAINTING_WARP_E8 = 0x00E8
+
+--- @type integer
+SURFACE_PAINTING_WARP_E9 = 0x00E9
+
+--- @type integer
+SURFACE_PAINTING_WARP_EA = 0x00EA
+
+--- @type integer
+SURFACE_PAINTING_WARP_EB = 0x00EB
+
+--- @type integer
+SURFACE_PAINTING_WARP_EC = 0x00EC
+
+--- @type integer
+SURFACE_PAINTING_WARP_ED = 0x00ED
+
+--- @type integer
+SURFACE_PAINTING_WARP_EE = 0x00EE
+
+--- @type integer
+SURFACE_PAINTING_WARP_EF = 0x00EF
+
+--- @type integer
+SURFACE_PAINTING_WARP_F0 = 0x00F0
+
+--- @type integer
+SURFACE_PAINTING_WARP_F1 = 0x00F1
+
+--- @type integer
+SURFACE_PAINTING_WARP_F2 = 0x00F2
+
+--- @type integer
+SURFACE_PAINTING_WARP_F3 = 0x00F3
+
+--- @type integer
+SURFACE_PAINTING_WARP_F7 = 0x00F7
+
+--- @type integer
+SURFACE_PAINTING_WARP_F8 = 0x00F8
+
+--- @type integer
+SURFACE_PAINTING_WARP_F9 = 0x00F9
+
+--- @type integer
+SURFACE_PAINTING_WARP_FA = 0x00FA
+
+--- @type integer
+SURFACE_PAINTING_WARP_FB = 0x00FB
+
+--- @type integer
+SURFACE_PAINTING_WARP_FC = 0x00FC
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_A6 = 0x00A6
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_A7 = 0x00A7
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_A8 = 0x00A8
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_A9 = 0x00A9
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_AA = 0x00AA
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_AB = 0x00AB
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_AC = 0x00AC
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_AD = 0x00AD
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_AE = 0x00AE
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_AF = 0x00AF
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_B0 = 0x00B0
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_B1 = 0x00B1
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_B2 = 0x00B2
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_B3 = 0x00B3
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_B4 = 0x00B4
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_B5 = 0x00B5
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_B6 = 0x00B6
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_B7 = 0x00B7
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_B8 = 0x00B8
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_B9 = 0x00B9
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_BA = 0x00BA
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_BB = 0x00BB
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_BC = 0x00BC
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_BD = 0x00BD
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_BE = 0x00BE
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_BF = 0x00BF
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_C0 = 0x00C0
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_C1 = 0x00C1
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_C2 = 0x00C2
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_C3 = 0x00C3
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_C4 = 0x00C4
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_C5 = 0x00C5
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_C6 = 0x00C6
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_C7 = 0x00C7
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_C8 = 0x00C8
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_C9 = 0x00C9
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_CA = 0x00CA
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_CB = 0x00CB
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_CC = 0x00CC
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_CD = 0x00CD
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_CE = 0x00CE
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_CF = 0x00CF
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_D0 = 0x00D0
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_D1 = 0x00D1
+
+--- @type integer
+SURFACE_PAINTING_WOBBLE_D2 = 0x00D2
+
+--- @type integer
+SURFACE_QUICKSAND = 0x0026
+
+--- @type integer
+SURFACE_SHALLOW_MOVING_QUICKSAND = 0x0025
+
+--- @type integer
+SURFACE_SHALLOW_QUICKSAND = 0x0021
+
+--- @type integer
+SURFACE_SLIPPERY = 0x0014
+
+--- @type integer
+SURFACE_SLOW = 0x0009
+
+--- @type integer
+SURFACE_SWITCH = 0x007A
+
+--- @type integer
+SURFACE_THI3_WALLKICK = 0x0068
+
+--- @type integer
+SURFACE_TIMER_END = 0x0034
+
+--- @type integer
+SURFACE_TIMER_START = 0x0033
+
+--- @type integer
+SURFACE_TRAPDOOR = 0x00FF
+
+--- @type integer
+SURFACE_TTC_PAINTING_1 = 0x00F4
+
+--- @type integer
+SURFACE_TTC_PAINTING_2 = 0x00F5
+
+--- @type integer
+SURFACE_TTC_PAINTING_3 = 0x00F6
+
+--- @type integer
+SURFACE_TTM_VINES = 0x0016
+
+--- @type integer
+SURFACE_VANISH_CAP_WALLS = 0x007B
+
+--- @type integer
+SURFACE_VERTICAL_WIND = 0x0038
+
+--- @type integer
+SURFACE_VERY_SLIPPERY = 0x0013
+
+--- @type integer
+SURFACE_WALL_MISC = 0x0028
+
+--- @type integer
+SURFACE_WARP = 0x0032
+
+--- @type integer
+SURFACE_WATER = 0x000D
+
+--- @type integer
+SURFACE_WOBBLING_WARP = 0x00FD
+
+--- @type integer
+TERRAIN_GRASS = 0x0000
+
+--- @type integer
+TERRAIN_LOAD_CONTINUE = 0x0041
+
+--- @type integer
+TERRAIN_LOAD_END = 0x0042
+
+--- @type integer
+TERRAIN_LOAD_ENVIRONMENT = 0x0044
+
+--- @type integer
+TERRAIN_LOAD_OBJECTS = 0x0043
+
+--- @type integer
+TERRAIN_LOAD_VERTICES = 0x0040
+
+--- @type integer
+TERRAIN_MASK = 0x0007
+
+--- @type integer
+TERRAIN_SAND = 0x0003
+
+--- @type integer
+TERRAIN_SLIDE = 0x0006
+
+--- @type integer
+TERRAIN_SNOW = 0x0002
+
+--- @type integer
+TERRAIN_SPOOKY = 0x0004
+
+--- @type integer
+TERRAIN_STONE = 0x0001
+
+--- @type integer
+TERRAIN_WATER = 0x0005
+
--- @type integer
ANIM_FLAG_2 = (1 << 2)
diff --git a/docs/lua/constants.md b/docs/lua/constants.md
index 3dc475cd..4dda0b0e 100644
--- a/docs/lua/constants.md
+++ b/docs/lua/constants.md
@@ -50,6 +50,7 @@
- [smlua_model_utils.h](#smlua_model_utilsh)
- [enum ModelExtendedId](#enum-ModelExtendedId)
- [sounds.h](#soundsh)
+- [surface_terrains.h](#surface_terrainsh)
- [types.h](#typesh)
- [enum AreaTimerType](#enum-AreaTimerType)
- [enum SpTaskState](#enum-SpTaskState)
@@ -3682,6 +3683,179 @@
+## [surface_terrains.h](#surface_terrains.h)
+- SURFACE_0004
+- SURFACE_BOSS_FIGHT_CAMERA
+- SURFACE_BURNING
+- SURFACE_CAMERA_8_DIR
+- SURFACE_CAMERA_BOUNDARY
+- SURFACE_CAMERA_FREE_ROAM
+- SURFACE_CAMERA_MIDDLE
+- SURFACE_CAMERA_ROTATE_LEFT
+- SURFACE_CAMERA_ROTATE_RIGHT
+- SURFACE_CLASS_DEFAULT
+- SURFACE_CLASS_NOT_SLIPPERY
+- SURFACE_CLASS_SLIPPERY
+- SURFACE_CLASS_VERY_SLIPPERY
+- SURFACE_CLOSE_CAMERA
+- SURFACE_DEATH_PLANE
+- SURFACE_DEEP_MOVING_QUICKSAND
+- SURFACE_DEEP_QUICKSAND
+- SURFACE_DEFAULT
+- SURFACE_FLAG_DYNAMIC
+- SURFACE_FLAG_NO_CAM_COLLISION
+- SURFACE_FLAG_X_PROJECTION
+- SURFACE_FLOWING_WATER
+- SURFACE_HANGABLE
+- SURFACE_HARD
+- SURFACE_HARD_NOT_SLIPPERY
+- SURFACE_HARD_SLIPPERY
+- SURFACE_HARD_VERY_SLIPPERY
+- SURFACE_HORIZONTAL_WIND
+- SURFACE_ICE
+- SURFACE_INSTANT_MOVING_QUICKSAND
+- SURFACE_INSTANT_QUICKSAND
+- SURFACE_INSTANT_WARP_1B
+- SURFACE_INSTANT_WARP_1C
+- SURFACE_INSTANT_WARP_1D
+- SURFACE_INSTANT_WARP_1E
+- SURFACE_INTANGIBLE
+- SURFACE_LOOK_UP_WARP
+- SURFACE_MGR_MUSIC
+- SURFACE_MOVING_QUICKSAND
+- SURFACE_NOISE_DEFAULT
+- SURFACE_NOISE_SLIPPERY
+- SURFACE_NOISE_VERY_SLIPPERY
+- SURFACE_NOISE_VERY_SLIPPERY_73
+- SURFACE_NOISE_VERY_SLIPPERY_74
+- SURFACE_NOT_SLIPPERY
+- SURFACE_NO_CAM_COLLISION
+- SURFACE_NO_CAM_COLLISION_77
+- SURFACE_NO_CAM_COL_SLIPPERY
+- SURFACE_NO_CAM_COL_VERY_SLIPPERY
+- SURFACE_PAINTING_WARP_D3
+- SURFACE_PAINTING_WARP_D4
+- SURFACE_PAINTING_WARP_D5
+- SURFACE_PAINTING_WARP_D6
+- SURFACE_PAINTING_WARP_D7
+- SURFACE_PAINTING_WARP_D8
+- SURFACE_PAINTING_WARP_D9
+- SURFACE_PAINTING_WARP_DA
+- SURFACE_PAINTING_WARP_DB
+- SURFACE_PAINTING_WARP_DC
+- SURFACE_PAINTING_WARP_DD
+- SURFACE_PAINTING_WARP_DE
+- SURFACE_PAINTING_WARP_DF
+- SURFACE_PAINTING_WARP_E0
+- SURFACE_PAINTING_WARP_E1
+- SURFACE_PAINTING_WARP_E2
+- SURFACE_PAINTING_WARP_E3
+- SURFACE_PAINTING_WARP_E4
+- SURFACE_PAINTING_WARP_E5
+- SURFACE_PAINTING_WARP_E6
+- SURFACE_PAINTING_WARP_E7
+- SURFACE_PAINTING_WARP_E8
+- SURFACE_PAINTING_WARP_E9
+- SURFACE_PAINTING_WARP_EA
+- SURFACE_PAINTING_WARP_EB
+- SURFACE_PAINTING_WARP_EC
+- SURFACE_PAINTING_WARP_ED
+- SURFACE_PAINTING_WARP_EE
+- SURFACE_PAINTING_WARP_EF
+- SURFACE_PAINTING_WARP_F0
+- SURFACE_PAINTING_WARP_F1
+- SURFACE_PAINTING_WARP_F2
+- SURFACE_PAINTING_WARP_F3
+- SURFACE_PAINTING_WARP_F7
+- SURFACE_PAINTING_WARP_F8
+- SURFACE_PAINTING_WARP_F9
+- SURFACE_PAINTING_WARP_FA
+- SURFACE_PAINTING_WARP_FB
+- SURFACE_PAINTING_WARP_FC
+- SURFACE_PAINTING_WOBBLE_A6
+- SURFACE_PAINTING_WOBBLE_A7
+- SURFACE_PAINTING_WOBBLE_A8
+- SURFACE_PAINTING_WOBBLE_A9
+- SURFACE_PAINTING_WOBBLE_AA
+- SURFACE_PAINTING_WOBBLE_AB
+- SURFACE_PAINTING_WOBBLE_AC
+- SURFACE_PAINTING_WOBBLE_AD
+- SURFACE_PAINTING_WOBBLE_AE
+- SURFACE_PAINTING_WOBBLE_AF
+- SURFACE_PAINTING_WOBBLE_B0
+- SURFACE_PAINTING_WOBBLE_B1
+- SURFACE_PAINTING_WOBBLE_B2
+- SURFACE_PAINTING_WOBBLE_B3
+- SURFACE_PAINTING_WOBBLE_B4
+- SURFACE_PAINTING_WOBBLE_B5
+- SURFACE_PAINTING_WOBBLE_B6
+- SURFACE_PAINTING_WOBBLE_B7
+- SURFACE_PAINTING_WOBBLE_B8
+- SURFACE_PAINTING_WOBBLE_B9
+- SURFACE_PAINTING_WOBBLE_BA
+- SURFACE_PAINTING_WOBBLE_BB
+- SURFACE_PAINTING_WOBBLE_BC
+- SURFACE_PAINTING_WOBBLE_BD
+- SURFACE_PAINTING_WOBBLE_BE
+- SURFACE_PAINTING_WOBBLE_BF
+- SURFACE_PAINTING_WOBBLE_C0
+- SURFACE_PAINTING_WOBBLE_C1
+- SURFACE_PAINTING_WOBBLE_C2
+- SURFACE_PAINTING_WOBBLE_C3
+- SURFACE_PAINTING_WOBBLE_C4
+- SURFACE_PAINTING_WOBBLE_C5
+- SURFACE_PAINTING_WOBBLE_C6
+- SURFACE_PAINTING_WOBBLE_C7
+- SURFACE_PAINTING_WOBBLE_C8
+- SURFACE_PAINTING_WOBBLE_C9
+- SURFACE_PAINTING_WOBBLE_CA
+- SURFACE_PAINTING_WOBBLE_CB
+- SURFACE_PAINTING_WOBBLE_CC
+- SURFACE_PAINTING_WOBBLE_CD
+- SURFACE_PAINTING_WOBBLE_CE
+- SURFACE_PAINTING_WOBBLE_CF
+- SURFACE_PAINTING_WOBBLE_D0
+- SURFACE_PAINTING_WOBBLE_D1
+- SURFACE_PAINTING_WOBBLE_D2
+- SURFACE_QUICKSAND
+- SURFACE_SHALLOW_MOVING_QUICKSAND
+- SURFACE_SHALLOW_QUICKSAND
+- SURFACE_SLIPPERY
+- SURFACE_SLOW
+- SURFACE_SWITCH
+- SURFACE_THI3_WALLKICK
+- SURFACE_TIMER_END
+- SURFACE_TIMER_START
+- SURFACE_TRAPDOOR
+- SURFACE_TTC_PAINTING_1
+- SURFACE_TTC_PAINTING_2
+- SURFACE_TTC_PAINTING_3
+- SURFACE_TTM_VINES
+- SURFACE_VANISH_CAP_WALLS
+- SURFACE_VERTICAL_WIND
+- SURFACE_VERY_SLIPPERY
+- SURFACE_WALL_MISC
+- SURFACE_WARP
+- SURFACE_WATER
+- SURFACE_WOBBLING_WARP
+- TERRAIN_GRASS
+- TERRAIN_LOAD_CONTINUE
+- TERRAIN_LOAD_END
+- TERRAIN_LOAD_ENVIRONMENT
+- TERRAIN_LOAD_OBJECTS
+- TERRAIN_LOAD_VERTICES
+- TERRAIN_MASK
+- TERRAIN_SAND
+- TERRAIN_SLIDE
+- TERRAIN_SNOW
+- TERRAIN_SPOOKY
+- TERRAIN_STONE
+- TERRAIN_WATER
+
+[:arrow_up_small:](#)
+
+
+
## [types.h](#types.h)
- ANIM_FLAG_2
- ANIM_FLAG_5
diff --git a/src/pc/lua/smlua_constants_autogen.c b/src/pc/lua/smlua_constants_autogen.c
index 85f7f337..90212a69 100644
--- a/src/pc/lua/smlua_constants_autogen.c
+++ b/src/pc/lua/smlua_constants_autogen.c
@@ -3687,6 +3687,173 @@ char gSmluaConstants[] = ""
"SOUND_OBJ2_MONTY_MOLE_APPEAR = SOUND_ARG_LOAD(SOUND_BANK_OBJ2, 0x67, 0x80, SOUND_DISCRETE)\n"
"SOUND_OBJ2_BOSS_DIALOG_GRUNT = SOUND_ARG_LOAD(SOUND_BANK_OBJ2, 0x69, 0x40, SOUND_DISCRETE)\n"
"SOUND_OBJ2_MRI_SPINNING = SOUND_ARG_LOAD(SOUND_BANK_OBJ2, 0x6B, 0x00, SOUND_DISCRETE)\n"
+"SURFACE_DEFAULT = 0x0000\n"
+"SURFACE_BURNING = 0x0001\n"
+"SURFACE_0004 = 0x0004\n"
+"SURFACE_HANGABLE = 0x0005\n"
+"SURFACE_SLOW = 0x0009\n"
+"SURFACE_DEATH_PLANE = 0x000A\n"
+"SURFACE_CLOSE_CAMERA = 0x000B\n"
+"SURFACE_WATER = 0x000D\n"
+"SURFACE_FLOWING_WATER = 0x000E\n"
+"SURFACE_INTANGIBLE = 0x0012\n"
+"SURFACE_VERY_SLIPPERY = 0x0013\n"
+"SURFACE_SLIPPERY = 0x0014\n"
+"SURFACE_NOT_SLIPPERY = 0x0015\n"
+"SURFACE_TTM_VINES = 0x0016\n"
+"SURFACE_MGR_MUSIC = 0x001A\n"
+"SURFACE_INSTANT_WARP_1B = 0x001B\n"
+"SURFACE_INSTANT_WARP_1C = 0x001C\n"
+"SURFACE_INSTANT_WARP_1D = 0x001D\n"
+"SURFACE_INSTANT_WARP_1E = 0x001E\n"
+"SURFACE_SHALLOW_QUICKSAND = 0x0021\n"
+"SURFACE_DEEP_QUICKSAND = 0x0022\n"
+"SURFACE_INSTANT_QUICKSAND = 0x0023\n"
+"SURFACE_DEEP_MOVING_QUICKSAND = 0x0024\n"
+"SURFACE_SHALLOW_MOVING_QUICKSAND = 0x0025\n"
+"SURFACE_QUICKSAND = 0x0026\n"
+"SURFACE_MOVING_QUICKSAND = 0x0027\n"
+"SURFACE_WALL_MISC = 0x0028\n"
+"SURFACE_NOISE_DEFAULT = 0x0029\n"
+"SURFACE_NOISE_SLIPPERY = 0x002A\n"
+"SURFACE_HORIZONTAL_WIND = 0x002C\n"
+"SURFACE_INSTANT_MOVING_QUICKSAND = 0x002D\n"
+"SURFACE_ICE = 0x002E\n"
+"SURFACE_LOOK_UP_WARP = 0x002F\n"
+"SURFACE_HARD = 0x0030\n"
+"SURFACE_WARP = 0x0032\n"
+"SURFACE_TIMER_START = 0x0033\n"
+"SURFACE_TIMER_END = 0x0034\n"
+"SURFACE_HARD_SLIPPERY = 0x0035\n"
+"SURFACE_HARD_VERY_SLIPPERY = 0x0036\n"
+"SURFACE_HARD_NOT_SLIPPERY = 0x0037\n"
+"SURFACE_VERTICAL_WIND = 0x0038\n"
+"SURFACE_BOSS_FIGHT_CAMERA = 0x0065\n"
+"SURFACE_CAMERA_FREE_ROAM = 0x0066\n"
+"SURFACE_THI3_WALLKICK = 0x0068\n"
+"SURFACE_CAMERA_8_DIR = 0x0069\n"
+"SURFACE_CAMERA_MIDDLE = 0x006E\n"
+"SURFACE_CAMERA_ROTATE_RIGHT = 0x006F\n"
+"SURFACE_CAMERA_ROTATE_LEFT = 0x0070\n"
+"SURFACE_CAMERA_BOUNDARY = 0x0072\n"
+"SURFACE_NOISE_VERY_SLIPPERY_73 = 0x0073\n"
+"SURFACE_NOISE_VERY_SLIPPERY_74 = 0x0074\n"
+"SURFACE_NOISE_VERY_SLIPPERY = 0x0075\n"
+"SURFACE_NO_CAM_COLLISION = 0x0076\n"
+"SURFACE_NO_CAM_COLLISION_77 = 0x0077\n"
+"SURFACE_NO_CAM_COL_VERY_SLIPPERY = 0x0078\n"
+"SURFACE_NO_CAM_COL_SLIPPERY = 0x0079\n"
+"SURFACE_SWITCH = 0x007A\n"
+"SURFACE_VANISH_CAP_WALLS = 0x007B\n"
+"SURFACE_PAINTING_WOBBLE_A6 = 0x00A6\n"
+"SURFACE_PAINTING_WOBBLE_A7 = 0x00A7\n"
+"SURFACE_PAINTING_WOBBLE_A8 = 0x00A8\n"
+"SURFACE_PAINTING_WOBBLE_A9 = 0x00A9\n"
+"SURFACE_PAINTING_WOBBLE_AA = 0x00AA\n"
+"SURFACE_PAINTING_WOBBLE_AB = 0x00AB\n"
+"SURFACE_PAINTING_WOBBLE_AC = 0x00AC\n"
+"SURFACE_PAINTING_WOBBLE_AD = 0x00AD\n"
+"SURFACE_PAINTING_WOBBLE_AE = 0x00AE\n"
+"SURFACE_PAINTING_WOBBLE_AF = 0x00AF\n"
+"SURFACE_PAINTING_WOBBLE_B0 = 0x00B0\n"
+"SURFACE_PAINTING_WOBBLE_B1 = 0x00B1\n"
+"SURFACE_PAINTING_WOBBLE_B2 = 0x00B2\n"
+"SURFACE_PAINTING_WOBBLE_B3 = 0x00B3\n"
+"SURFACE_PAINTING_WOBBLE_B4 = 0x00B4\n"
+"SURFACE_PAINTING_WOBBLE_B5 = 0x00B5\n"
+"SURFACE_PAINTING_WOBBLE_B6 = 0x00B6\n"
+"SURFACE_PAINTING_WOBBLE_B7 = 0x00B7\n"
+"SURFACE_PAINTING_WOBBLE_B8 = 0x00B8\n"
+"SURFACE_PAINTING_WOBBLE_B9 = 0x00B9\n"
+"SURFACE_PAINTING_WOBBLE_BA = 0x00BA\n"
+"SURFACE_PAINTING_WOBBLE_BB = 0x00BB\n"
+"SURFACE_PAINTING_WOBBLE_BC = 0x00BC\n"
+"SURFACE_PAINTING_WOBBLE_BD = 0x00BD\n"
+"SURFACE_PAINTING_WOBBLE_BE = 0x00BE\n"
+"SURFACE_PAINTING_WOBBLE_BF = 0x00BF\n"
+"SURFACE_PAINTING_WOBBLE_C0 = 0x00C0\n"
+"SURFACE_PAINTING_WOBBLE_C1 = 0x00C1\n"
+"SURFACE_PAINTING_WOBBLE_C2 = 0x00C2\n"
+"SURFACE_PAINTING_WOBBLE_C3 = 0x00C3\n"
+"SURFACE_PAINTING_WOBBLE_C4 = 0x00C4\n"
+"SURFACE_PAINTING_WOBBLE_C5 = 0x00C5\n"
+"SURFACE_PAINTING_WOBBLE_C6 = 0x00C6\n"
+"SURFACE_PAINTING_WOBBLE_C7 = 0x00C7\n"
+"SURFACE_PAINTING_WOBBLE_C8 = 0x00C8\n"
+"SURFACE_PAINTING_WOBBLE_C9 = 0x00C9\n"
+"SURFACE_PAINTING_WOBBLE_CA = 0x00CA\n"
+"SURFACE_PAINTING_WOBBLE_CB = 0x00CB\n"
+"SURFACE_PAINTING_WOBBLE_CC = 0x00CC\n"
+"SURFACE_PAINTING_WOBBLE_CD = 0x00CD\n"
+"SURFACE_PAINTING_WOBBLE_CE = 0x00CE\n"
+"SURFACE_PAINTING_WOBBLE_CF = 0x00CF\n"
+"SURFACE_PAINTING_WOBBLE_D0 = 0x00D0\n"
+"SURFACE_PAINTING_WOBBLE_D1 = 0x00D1\n"
+"SURFACE_PAINTING_WOBBLE_D2 = 0x00D2\n"
+"SURFACE_PAINTING_WARP_D3 = 0x00D3\n"
+"SURFACE_PAINTING_WARP_D4 = 0x00D4\n"
+"SURFACE_PAINTING_WARP_D5 = 0x00D5\n"
+"SURFACE_PAINTING_WARP_D6 = 0x00D6\n"
+"SURFACE_PAINTING_WARP_D7 = 0x00D7\n"
+"SURFACE_PAINTING_WARP_D8 = 0x00D8\n"
+"SURFACE_PAINTING_WARP_D9 = 0x00D9\n"
+"SURFACE_PAINTING_WARP_DA = 0x00DA\n"
+"SURFACE_PAINTING_WARP_DB = 0x00DB\n"
+"SURFACE_PAINTING_WARP_DC = 0x00DC\n"
+"SURFACE_PAINTING_WARP_DD = 0x00DD\n"
+"SURFACE_PAINTING_WARP_DE = 0x00DE\n"
+"SURFACE_PAINTING_WARP_DF = 0x00DF\n"
+"SURFACE_PAINTING_WARP_E0 = 0x00E0\n"
+"SURFACE_PAINTING_WARP_E1 = 0x00E1\n"
+"SURFACE_PAINTING_WARP_E2 = 0x00E2\n"
+"SURFACE_PAINTING_WARP_E3 = 0x00E3\n"
+"SURFACE_PAINTING_WARP_E4 = 0x00E4\n"
+"SURFACE_PAINTING_WARP_E5 = 0x00E5\n"
+"SURFACE_PAINTING_WARP_E6 = 0x00E6\n"
+"SURFACE_PAINTING_WARP_E7 = 0x00E7\n"
+"SURFACE_PAINTING_WARP_E8 = 0x00E8\n"
+"SURFACE_PAINTING_WARP_E9 = 0x00E9\n"
+"SURFACE_PAINTING_WARP_EA = 0x00EA\n"
+"SURFACE_PAINTING_WARP_EB = 0x00EB\n"
+"SURFACE_PAINTING_WARP_EC = 0x00EC\n"
+"SURFACE_PAINTING_WARP_ED = 0x00ED\n"
+"SURFACE_PAINTING_WARP_EE = 0x00EE\n"
+"SURFACE_PAINTING_WARP_EF = 0x00EF\n"
+"SURFACE_PAINTING_WARP_F0 = 0x00F0\n"
+"SURFACE_PAINTING_WARP_F1 = 0x00F1\n"
+"SURFACE_PAINTING_WARP_F2 = 0x00F2\n"
+"SURFACE_PAINTING_WARP_F3 = 0x00F3\n"
+"SURFACE_TTC_PAINTING_1 = 0x00F4\n"
+"SURFACE_TTC_PAINTING_2 = 0x00F5\n"
+"SURFACE_TTC_PAINTING_3 = 0x00F6\n"
+"SURFACE_PAINTING_WARP_F7 = 0x00F7\n"
+"SURFACE_PAINTING_WARP_F8 = 0x00F8\n"
+"SURFACE_PAINTING_WARP_F9 = 0x00F9\n"
+"SURFACE_PAINTING_WARP_FA = 0x00FA\n"
+"SURFACE_PAINTING_WARP_FB = 0x00FB\n"
+"SURFACE_PAINTING_WARP_FC = 0x00FC\n"
+"SURFACE_WOBBLING_WARP = 0x00FD\n"
+"SURFACE_TRAPDOOR = 0x00FF\n"
+"SURFACE_CLASS_DEFAULT = 0x0000\n"
+"SURFACE_CLASS_VERY_SLIPPERY = 0x0013\n"
+"SURFACE_CLASS_SLIPPERY = 0x0014\n"
+"SURFACE_CLASS_NOT_SLIPPERY = 0x0015\n"
+"SURFACE_FLAG_DYNAMIC = (1 << 0)\n"
+"SURFACE_FLAG_NO_CAM_COLLISION = (1 << 1)\n"
+"SURFACE_FLAG_X_PROJECTION = (1 << 3)\n"
+"TERRAIN_LOAD_VERTICES = 0x0040\n"
+"TERRAIN_LOAD_CONTINUE = 0x0041\n"
+"TERRAIN_LOAD_END = 0x0042\n"
+"TERRAIN_LOAD_OBJECTS = 0x0043\n"
+"TERRAIN_LOAD_ENVIRONMENT = 0x0044\n"
+"TERRAIN_GRASS = 0x0000\n"
+"TERRAIN_STONE = 0x0001\n"
+"TERRAIN_SNOW = 0x0002\n"
+"TERRAIN_SAND = 0x0003\n"
+"TERRAIN_SPOOKY = 0x0004\n"
+"TERRAIN_WATER = 0x0005\n"
+"TERRAIN_SLIDE = 0x0006\n"
+"TERRAIN_MASK = 0x0007\n"
"SPTASK_STATE_NOT_STARTED = 0\n"
"SPTASK_STATE_RUNNING = 1\n"
"SPTASK_STATE_INTERRUPTED = 2\n"