Trampoline: Difference between revisions

Jump to navigation Jump to search
119 bytes added ,  21 December 2020
m
no edit summary
mNo edit summary
mNo edit summary
 
(4 intermediate revisions by one other user not shown)
Line 7: Line 7:
|surfaces=0x00 (default)
|surfaces=0x00 (default)
}}
}}
 
The '''Trampoline''' (also known as the '''Springboard''') is an unfinished and unused object in Super Mario 64. Its model and collision are nearly fully finished, but its code was apparently abandoned early on.
The '''Trampoline''' is an unfinished and unused object in Super Mario 64. Its model and collision are nearly fully finished, but its code was apparently abandoned early on.


The game contains infrastructure for the trampoline to affect Mario's jumps, and the trampoline has code for visually stretching and compressing. However, if you manage to load the trampoline into the game, it doesn't do anything other than act as a platform since there is no code to move it nor code to interface it with the existing trampoline infrastructure.
The game contains infrastructure for the trampoline to affect Mario's jumps, and the trampoline has code for visually stretching and compressing. However, if you manage to load the trampoline into the game, it doesn't do anything other than act as a platform since there is no code to move it nor code to interface it with the existing trampoline infrastructure.
Line 27: Line 26:
In Mario's main movement code, there are 3 useless functions. The first just returns zero, and the next two do nothing at all. The last function is called by the trampoline every frame. The zero function is called in the function that determines Mario's vertical speed when he single jumps, double jumps, triple jumps, sideflips, backflips, steep jumps, long jumps, wall kicks, jumps from a handstand, or shell jumps. This function takes in a constant initial vertical speed and a multiplier, and outputs the vertical speed plus Mario's forward speed times the multiplier (making it so that Mario's jumps go higher when he goes faster), plus the zero function. Interestingly, most of the jumps listed have a multiplier of 0, which makes the function mostly pointless (it's also responsible for making Mario jump lower when squished). Due to the zero function's proximity to the empty function called by the trampoline, it is plausible that the empty function was intended to make Mario code aware of trampoline, and the zero function was intended to return the additive vertical speed from the trampoline. When these functions are restored according to this hypothesis, and the broken spring compression is fixed, a fully functioning trampoline can be made.
In Mario's main movement code, there are 3 useless functions. The first just returns zero, and the next two do nothing at all. The last function is called by the trampoline every frame. The zero function is called in the function that determines Mario's vertical speed when he single jumps, double jumps, triple jumps, sideflips, backflips, steep jumps, long jumps, wall kicks, jumps from a handstand, or shell jumps. This function takes in a constant initial vertical speed and a multiplier, and outputs the vertical speed plus Mario's forward speed times the multiplier (making it so that Mario's jumps go higher when he goes faster), plus the zero function. Interestingly, most of the jumps listed have a multiplier of 0, which makes the function mostly pointless (it's also responsible for making Mario jump lower when squished). Due to the zero function's proximity to the empty function called by the trampoline, it is plausible that the empty function was intended to make Mario code aware of trampoline, and the zero function was intended to return the additive vertical speed from the trampoline. When these functions are restored according to this hypothesis, and the broken spring compression is fixed, a fully functioning trampoline can be made.


[[File:TrampolineWorking.gif|320px|thumb|left|A repaired trampoline]]
{{Objects}}
[[Category:Beta_Objects]]
[[Category:Beta_Objects]]

Navigation menu