Surface

From Ukikipedia
(Redirected from Wall)
Jump to: navigation, search

A surface or triangle in Super Mario 64 is a piece of geometry that exerts some kind of force or effect on Mario. Every triangle falls into one of three categories: a floor triangle, a wall triangle, or a ceiling triangle. However, a triangle does not store what category it is. Instead, its category is determined based on the y component of the triangle's normal vector[1]. If y component > 0.01, then it is a floor. If y component < -0.01, then it is a ceiling. Otherwise, it is a wall.

Walls

A triangle is a wall triangle if and only if -0.01 < normal.y < 0.01.

Hitbox

The hitbox of a wall during both the initial handle and a ground quarter step, simplified
The hitbox of a wall during an air quarter step, simplified
The hitbox of a wall in the water, including both the inital handle and the single frame movement, simplified

All wall hitboxes are handled once per frame and once per quarter step of Mario's movement. Most of the time, a wall has two separate hitboxes handled one after the other within a frame or quarter step.

  • A wall hitbox's initial frame handle has a hitbox extending 50 units forward and 50 units backward, offset down 60, and then a hitbox extending 24 units in each direction offset down 30.
  • A quarter step of ground movement has a hitbox extending 24 units forward and 24 units backward, offset down 30, and then a hitbox extending 50 units in each direction offset down 60. This is the opposite order from the initial handle, but the outcome is the same.
  • A quarter step of air movement gives the wall a hitbox of 50 units in each direction offset down 150, and then a hitbox of 50 units offset down 30.
  • Water movement does not implement quarter steps. After one frame of water movement, a wall hitbox extends 110 units in each direction, offset down 10. Since both the water handle and the initial handle both happen once per frame, the hitboxes can be overlaid.

Non-vertical walls

This wall in BoB is not quite vertical.
The majority of walls in the game are perfectly vertical, but not all. Walls that are not vertical are one cause of Glitchy Ledge Grabs.

Floors

Ceilings

Surface Types

Table of Surface Types
Surface Hex Behavior Slipperiness Unused Sample Level Description/Notes
0x00 Default Default Most Regular Ground
0x01 Lava Default LLL/BitFS/SL/RR Lava that burns Mario
0x04 Default X Has Exertion
0x05 Climbable Default Many Ceilings that Mario can climb on
0x09 Slow Movement Default X Slows movement for Mario when he moves
0x0A Death Plane Default Many Triggers death, used in most stages where you can fall off
0x0B Default BoB/SSL Pyramid Camera mode 1025, close camera
0x0D Default Courtyard (fountain) For camera behavior
0x0E Flowing Water Default Basement/Outside/CotMC Has exertion and pushes Mario in water
0x12 Intangible Default BBH Seperates BBH mansion from merry-go-round, for room usage
0x13 Slide Default Slide Most The default slide floor
0x14 Slippery Default Slippery Most The default slippery floor
0x15 Non-slippery Default Non-Slippery Most The default non-slippery floor
0x1A Different Noise Default BBH Has a varied noise depending on terrain (mostly unused)
0x1B Loading Zone Default Endless Stairs/WDW Changes Mario's position/can load new level
0x1C Loading Zone Default WDW Changes Mario's position/can load new level
0x1D Loading Zone Default SSL Pyramid/DDD Changes Mario's position/can load new level
0x1E Loading Zone Default SSL Pyramid/DDD Changes Mario's position/can load new level
0x21 Shallow Quicksand Default THI Huge/TTM Has a depth of 10 units
0x22 Deep Quicksand Default SSL Pyramid Has a depth of 160, kills Mario at the bottom
0x23 Instant Quicksand Default SSL Instant death quicksand, underneath mist
0x24 Deep Moving Quicksand Default SSL Has a depth of 160, kills Mario at the bottom, has exertion
0x25 Shallow Moving Quicksand Default SSL Has a depth of 25, has exertion
0x26 Quicksand Default SSL Has a depth of 60
0x27 Moving Quicksand Default SSL Has a depth of 60, has exertion
0x28 Constructions Default Most Fences, cannons
0x29 Default with Noise Default BoB/WF/BBH Default floor with different noises
0x2A Slippery with Noise Slippery BoB/Outside Slippery floor with different noises
0x2C Horizontal Wind Default SL/BitS/RR/THI Huge Creates sideways wind
0x2D Instant Moving Quicksand Default SSL Instant death quicksand, has exertion
0x2E Ice Slide CCM/SL/THI Is slippery, transparent, and has a unique shadow
0x2F TotWC Trigger/Sun Carpet Default Lobby Floor to trigger TotWC
0x30 Hard Default Default CCM/SSL/SL Always has fall damage, regardless of terrain
0x32 Surface Warp Default TotWC/DDD/JRB Warp with no height check (moving above triggers it)
0x33 Slide Timer Start Default PSS Starts the timer for the slide
0x34 Slide Timer End Default PSS Ends the timer for the slide
0x35 Hard Slippery Surface Slippery SSL Always has fall damage, slippery
0x36 Hard Slide Surface Slide SL Always has fall damage, slide
0x37 Hard Non-Slippery Surface Non-Slippery CCM/SL/WMotR Always has fall damage, Non-Slippery
0x38 Upwards Wind Default CCM/THI/TTM Creates upward wind, also acts as a death barrier
0x40 Vertices Information - Beginning of the vertices information in the level data
0x41 Continue -
0x42 End - Marks the end of level data
0x43 Objects - Beginning of some object information in the level data
0x44 Waterlike Collision - Beginning of the waterlike information in the level data
0x65 Default BoB/WF Camera mode 2817, zoomed out
0x66 Default SSL Pyramid/TTC/THI For camera behavior
0x68 Default THI Wiggler For camera behavior
0x69 Default THI Tiny For camera behavior
0x6E Default WF/SSL For camera behavior
0x6F Default BitDW/THI For camera behavior
0x70 Default BoB/TTM For camera behavior
0x72 Camera-only Surface Default Basement/CotMC/SL Intangible as a surface for Mario, however restricts camera movement
0x73 Slide with Noise Slide X Has noises, unused
0x74 Slide with Noise Slide X Has noises, unused
0x75 Snowman's Path Slide CCM Snowmans head race path; has noise
0x76 Surfaces with Flags Default Most Most surfaces that have flags use this type
0x77 Default X Can have flags
0x78 Slide THI Huge Possibly for camera behavior, has noise
0x79 Slippery CCM For camera behavior
0x7A Switch Surface Non-Slippery Many Switches and Dorrie use this surface
0x7B Invisi-Cap Mesh's Default Many Passible with invisible cap
0xA6 BoB Painting/TTM Slide Entrance Default Lobby/TTM Wobbles camera, locks it
0xA7 BoB Painting/TTM Slide Entrance Default Lobby/TTM Wobbles camera, locks it
0xA8 BoB Painting/TTM Slide Entrance Default Lobby/TTM Wobbles camera, locks it
0xA9 CCM Painting Default Lobby Wobbles camera, locks it
0xAA CCM Painting Default Lobby Wobbles camera, locks it
0xAB CCM Painting Default Lobby Wobbles camera, locks it
0xAC WF Painting Default Lobby Wobbles camera, locks it
0xAD WF Painting Default Lobby Wobbles camera, locks it
0xAE WF Painting Default Lobby Wobbles camera, locks it
0xAF JRB Painting Default Lobby Wobbles camera, locks it
0xB0 JRB Painting Default Lobby Wobbles camera, locks it
0xB1 JRB Painting Default Lobby Wobbles camera, locks it
0xB2 LLL Painting Default Basement Wobbles camera, locks it
0xB3 LLL Painting Default Basement Wobbles camera, locks it
0xB4 LLL Painting Default Basement Wobbles camera, locks it
0xB5 SSL Wall Default Basement Wobbles camera, locks it
0xB6 SSL Wall Default Basement Wobbles camera, locks it
0xB7 SSL Wall Default Basement Wobbles camera, locks it
0xB8 Unused HMC Wall? Default X Wobbles camera, locks it
0xB9 Unused HMC Wall? Default X Wobbles camera, locks it
0xBA Unused HMC Wall? Default X Wobbles camera, locks it
0xBB DDD Wall Default Basement Wobbles camera, locks it
0xBC Unused DDD Wall? Default X Wobbles camera, locks it
0xBD Unused DDD Wall? Default X Wobbles camera, locks it
0xBE WDW Painting Default Upstairs Wobbles camera, locks it
0xBF WDW Painting Default Upstairs Wobbles camera, locks it
0xC0 WDW Painting Default Upstairs Wobbles camera, locks it
0xC1 THI-Tiny Painting Default Upstairs Wobbles camera, locks it
0xC2 THI-Tiny Painting Default Upstairs Wobbles camera, locks it
0xC3 THI-Tiny Painting Default Upstairs Wobbles camera, locks it
0xC4 TTM Painting Default Upstairs Wobbles camera, locks it
0xC5 TTM Painting Default Upstairs Wobbles camera, locks it
0xC6 TTM Painting Default Upstairs Wobbles camera, locks it
0xC7 Default X Wobbles camera, locks it
0xC8 Default X Wobbles camera, locks it
0xC9 Default X Wobbles camera, locks it
0xCA Unused SL Painting? Default X Wobbles camera, locks it
0xCB Unused SL Painting? Default X Wobbles camera, locks it
0xCC Unused SL Painting? Default X Wobbles camera, locks it
0xCD THI-Large Painting Default Upstairs Wobbles camera, locks it
0xCE THI-Large Painting Default Upstairs Wobbles camera, locks it
0xCF THI-Large Painting Default Upstairs Wobbles camera, locks it
0xD0 HMC/CotMC Pool Loading Default Basement/HMC Possibly for triggering the pool graphic to load
0xD1 Default X
0xD2 Default X
0xD3 BoB Painting/TTM Slide Entrance Default Lobby Horizontal Course Warp
0xD4 BoB Painting/TTM Slide Entrance Default Lobby Horizontal Course Warp
0xD5 BoB Painting/TTM Slide Entrance Default Lobby Horizontal Course Warp
0xD6 CCM Painting Default Lobby Horizontal Course Warp
0xD7 CCM Painting Default Lobby Horizontal Course Warp
0xD8 CCM Painting Default Lobby Horizontal Course Warp
0xD9 WF Painting Default Lobby Horizontal Course Warp
0xDA WF Painting Default Lobby Horizontal Course Warp
0xDB WF Painting Default Lobby Horizontal Course Warp
0xDC JRB Painting Default Lobby Horizontal Course Warp
0xDD JRB Painting Default Lobby Horizontal Course Warp
0xDE JRB Painting Default Lobby Horizontal Course Warp
0xDF LLL Painting Default Basement Horizontal Course Warp
0xE0 LLL Painting Default Basement Horizontal Course Warp
0xE1 LLL Painting Default Basement Horizontal Course Warp
0xE2 SSL Wall Default Basement Horizontal Course Warp
0xE3 SSL Wall Default Basement Horizontal Course Warp
0xE4 SSL Wall Default Basement Horizontal Course Warp
0xE8 DDD Wall Default Basement Horizontal Course Warp
0xE9 DDD Wall Default Basement Horizontal Course Warp
0xEA DDD Wall Default Basement Horizontal Course Warp
0xEB WDW Painting Default Upstairs Horizontal Course Warp
0xEC WDW Painting Default Upstairs Horizontal Course Warp
0xED WDW Painting Default Upstairs Horizontal Course Warp
0xEE THI Tiny Painting Default Upstairs Horizontal Course Warp
0xEF THI Tiny Painting Default Upstairs Horizontal Course Warp
0xF0 THI Tiny Painting Default Upstairs Horizontal Course Warp
0xF1 TTM Painting Default Upstairs Horizontal Course Warp
0xF2 TTM Painting Default Upstairs Horizontal Course Warp
0xF3 TTM Painting Default Upstairs Horizontal Course Warp
0xF4 TTC Painting Default Upstairs Horizontal Course Warp
0xF5 TTC Painting Default Upstairs Horizontal Course Warp
0xF6 TTC Painting Default Upstairs Horizontal Course Warp
0xF7 SL Wall Default Upstairs Horizontal Course Warp
0xF8 SL Wall Default Upstairs Horizontal Course Warp
0xF9 SL Wall Default Upstairs Horizontal Course Warp
0xFA THI Huge Painting Default Upstairs Horizontal Course Warp
0xFB THI Huge Painting Default Upstairs Horizontal Course Warp
0xFC THI Huge Painting Default Upstairs Horizontal Course Warp
0xFD Hole Course Entry Default Basement/HMC Flat Course Entry
0xFF BitDW Entry (Not a Warp) Default Lobby BitDW Entry

References