Jump to content

BSL:Functions: Difference between revisions

1,365 bytes added ,  21 October 2022
→‎cutscene: added info on begin_cutscene's arguments and on cutscene_sync's usage
m (wording)
(→‎cutscene: added info on begin_cutscene's arguments and on cutscene_sync's usage)
Line 287: Line 287:
===cutscene===
===cutscene===
*begin_cutscene flag:string{"weapon" | "jello" | "ai" | "invis" | "nosync" | "keepparticles" | "animation" | "nojump"} - begins a cutscene - begin_cutscene
*begin_cutscene flag:string{"weapon" | "jello" | "ai" | "invis" | "nosync" | "keepparticles" | "animation" | "nojump"} - begins a cutscene - begin_cutscene
''begin_cutscene weapon - player does not holster his weapon when cutscene starts''<br />
''<tt>begin_cutscene</tt> will take as many arguments as you care to pass it, although BWest only ever passed it "jello", "weapon", or no argument at all. Each argument is a thing that you want to <u>retain</u> for the cutscene, otherwise it will be turned off:''<br>
''what about ai, animation, invis, jello, keepparticles, nojump, nosync? Oni's scripts only call begin_cutscene with jello, weapon, or no argument at all''
''"weapon": The player's weapon will not be holstered as the cutscene starts.''<br>
''"jello": Do not turn off [[jello-cam]].''<br>
''"ai": Do not turn off the AI (normally <tt>begin_cutscene</tt> internally performs <tt>ai2_allpassive 1</tt>).''<br>
''"invis": Do not remove the player's phase cloak.''<br>
''"nosync": Do not engage cutscene syncing (see <tt>cutscene_sync</tt>).''<br>
''"keepparticles": Don't delete dangerous particles that are currently active.''<br>
''"animation": Don't force the character to stand still.''<br>
''"nojump": Don't zero the character's lateral velocity if they are mid-jump.''<br>
*cutscene_sync state:string{"mark" | "on" | "off"} - marks a point in a cutscene - cutscene_sync on
*cutscene_sync state:string{"mark" | "on" | "off"} - marks a point in a cutscene - cutscene_sync on
''Cutscene syncing prevents audio from getting out of time with the visuals when the game is dropping frames during a cutscene, keeping the game world in time with the system clock instead of letting the game slow down. At one time, BWest was calling <tt>cutscene_sync on</tt> at the start of a cutscene to enable syncing. They would then mark a point at which audio must be synced with the visuals using <tt>cutscene_sync</tt> or <tt>cutscene_sync mark</tt>. However "mark" no longer does anything, as a mark is made whenever this function is called. More importantly, calling <tt>begin_cutscene</tt> automatically engages cutscene sync unless you specifically request it not to, making this function generally obsolete.''
*end_cutscene (null) - ends a cutscene - end_cutscene
*end_cutscene (null) - ends a cutscene - end_cutscene
*fade_in ticks:int - fades the screen in - fade_in 120
*fade_in ticks:int - fades the screen in - fade_in 120