If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

User:LolHacksRule/Mario Kart Live: Home Circuit

From The Cutting Room Floor
Jump to navigation Jump to search

Surprisingly this uses a different engine rather than one from Nintendo, the Viper Engine, from Velan Studios.

Development text

Viper Engine - Copyright (C) 2020 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.
Viper Engine - Copyright (C) 2019 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.
character ID that connects this data to the data in character_settings.vscript (global)
speed multiplier when you are in front of human players, relative to player's speed reference
speed multiplier when you are in front of human players, relative to player's speed reference
speed multiplier when you are behind human players, relative to player's speed reference
speed multiplier when you are behind human players, relative to player's speed reference
speed multiplier when you have finished the race
1.0 means turning cautiously, 0.0 means overshooting turns
Viper Engine - Copyright (C) 2020 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.
Viper Engine - Copyright (C) 2020 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.
The single animation to loop.
TODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.
want to wait for tick if created happens at the same time as racer_state
This script is a utility component that can be placed on an entity in order to have it play sounds that utilize wwise switches for CHARACTERS.
 It will use that entity's owner to look up the current owner's character selection, and when it is created it will ensure that any
 sound events played on this entity will use the correct switch setting
This script is a utility component that can be placed on an entity in order to have it play sounds that utilize wwise switches for COSTUMES.
 It will use that entity's owner to look up the current owner's costume selection, and when it is created it will ensure that any
 sound events played on this entity will use the correct switch setting
This script is a utility component that can be placed on an entity in order to have it play sounds that utilize wwise switches for CHARACTERS.
 It will use that entity's owner to look up the current owner's character selection, and when it is created it will ensure that any
 sound events played on this entity will use the correct switch setting
This script is a utility component that can be placed on an entity in order to have it play sounds that utilize wwise switches for THEMES.
 It will use that entity's owner to look up the current owner's horn selection, and when it is created it will ensure that any
 sound events played on this entity will use the correct switch setting
set to false to prevent this item from ever being a random reward
serves as a tag
you can add the tag for coins, laps and rank in order to make them disappear when debug Ui wants them gone
see player_state.vscript
self-terminating after penalty_delay
Only relevant for thrown powerups
 if true, left stick.y @ 0 is a forward throw
 else, it is notDo a distance check from target racer state
 when the shell explodes
owner has authority over net event `attack_owner`
 if the owner is in first when the shell has been thrown, the shell will target them
 short-circuits to k_blue_shell_state_windup
If we think we hit the target, wait to hear from authority before destroying
Warning UI
Death levels
to be a controlled component (by specific data such as blue shell)
Only relevant for thrown powerups
 if true, left stick.y @ 0 is a forward throw
 else, it is not
move along the chain chomp forward vec
 if avoided, slerp to avoided angle
time since created to start the
time since create to hit the player
time into the strike animation to actually \strike\
Duration of the strike animation. Destroy when done
pure pursuit
 how far ahead on line segments to look ahead (cm)
inner angle of 30 and outer angle of 23.64 - this is the average
stanley
Only relevant for thrown powerups
 if true, left stick.y @ 0 is a forward throw
 else, it is not
in case we want to hold the button down to cancel vs a presspure pursuit
 how far ahead on line segments to look ahead (cm)
inner angle of 30 and outer angle of 23.64 - this is the average
stanley
TODO: eat track items
TIMING
 overall lifetime. pull_delay does not extend lifetime
delay for first pull. does not extend lifetime
Final pull begins at duration - final_pull_durationMotion modifiers
 from 0 to 1.pull towards track
this component should only be created under/next to racer_state
limited by coin_pouch_state.max_coins_dropped
Only relevant for thrown powerups
 if true, left stick.y @ 0 is a forward throw
 else, it is not
Viper Engine - Copyright (C) 2018 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.
distance that the kart must be from the marker before destorying it when it is not seen by computer vision
amount of time allow for soft killing of the gate entity
set to false to prevent this item from ever being a random reward
number of frames that the marker must be seen before the visual is spawned
set the position and rotation of this entity based on the gate index
serves as a tag
Only relevant for thrown powerups
 if true, left stick.y @ 0 is a forward throw
 else, it is notmax time before the powerup completes
 this powerup is destroyed when attached chomp is destroyed
Only relevant for thrown powerups
 if true, left stick.y @ 0 is a forward throw
 else, it is not
Only relevant for thrown powerups
 if true, left stick.y @ 0 is a forward throw
 else, it is notControl all the state changes/visual flair for the held powerups
Only relevant for thrown powerups
 if true, left stick.y @ 0 is a forward throw
 else, it is not
Only relevant for thrown powerups
 if true, left stick.y @ 0 is a forward throw
 else, it is not
base for all powerup instances
Only relevant for thrown powerups
 if true, left stick.y @ 0 is a forward throw
 else, it is notwhen one of these exists on the world, prevent more of that powerup type from being distributed
the enum id of the powerup to inhibit
 see powerup_desc.vscript
weather_manager.vscript
Usually cm behind first
XXX: If you add an entry, here make sure to add to the entry_list in created
 and an entry to the powerup_type enum in powerup_desc.vscriptdouble mushroom		 				// 3
double banana						// 7
destroy existing instances of the instance level on the associated racer instances
Only relevant for thrown powerups
 if true, left stick.y @ 0 is a forward throw
 else, it is not
Only relevant for thrown powerups
 if true, left stick.y @ 0 is a forward throw
 else, it is notvscript to lookup target transform entity byallow the velocity to influence the distance of the throw
XXX: added for bobomb, no other use cases
 TODO: make this live somewhere else
update position within a range of positions
Handle lifetime state for real or fake pswitch coins
Warning UI
Death levels
Track-movement states
Seeking states
Death states
serves as a tag
want to wait for tick if created happens at the same time as racer_state
interpolates an entity that exists in motion space to it's corrected slam space position
destroy other deflect states on created.
 we destroy via this as opposed to racer_level_spawner's destroy_prev_states
 because we may have multiple variations of starman deflect state levels
Index will be set by spawning start_grid_manager
serves as a tag
XXX: This is used with the lightning powerup and the lava hazard track item
 we should come up with a new name for this or create separate scripts
serves as a tag, and triggers sfx
this script manages the global state (SLAM space) version of a track banana
 for the instance (motion space) logic, see track_banana_instance.vscriptthis script manages the player instance (motion space) of a track banana
 for the global state (SLAM space) logic, see track_banana_data.vscript
tag for items to attrack bobomb instances and receive bobomb explosions
set to 0 if you don't want to move towards the center of the track
 see track_traversal
XXX: need to wait a few frames to start the trail effect
 due to instance not being created/positioned instantlyassume the goomba is always facing the track
XXX: Clean this up Brian!this level has audio for the shatter
no audio, the shatter sfx are spawned via racer_level_spawner for the collisionThe start position takes the y of the curve @ 0 to set the heightparallel lists
 XXX: these data levels can NOT be used elsewhereXXX: need to hide the model for a few frames
 due to instance not being created/positioned instantlySplat/puddle - radius check
 Apply ink to bottom half of screen on hit
 Destroy when puddle lifetime is elapsed
The data for the projectile exists here because
 we care about where it lands for spawning coins
 the data for the splat currently lives in track_poison_plant_attack_data
Handle animation responses to the data
 collision check is handled in track_poison_plant_attack_instancemotion space
this component should only exist on the data for a track item that is thrownthrow the track item data when created
TODO: i'm still unsure where the destroy should live for track items... here for now
 destruction happens with motion space distance checks
 TODO: rename this fieldThis is set by the track_item_spawner on creationXXX: This track item breaks our pattern of
 spawning penalties/boons on racers
 I don't like that, but to get the 'track item magnet-gate'
 behavior, we have to do that
handles if an AI is in rangethe cooldown before the sign is active again
should match the visibility controller duration
 on the instancecm/s
Having animated_base as a super lets model.vscript know that we intend to call animation.set_model_pose each frame.motion space
offset for 2 of the sub types
speed for amp-like sub typedistance between each note
count if map exists
count if map does not exist
Holds mutable data that persists when gate content is spawned and despawned based on kart marker visibility
During a race, the start gate content choice will be supressed for the first and final lap
Points to the definition of the currently chosen gate content for this particular gate
duration of the quake
n_time offset from 0 - 1set the transform of the quake collider to match the data
 handle player collisionsfor player instanceTODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.
enable tutorial menu event triggers on this entity
TODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.Quaking additiveused for wwise switch soundsXXX: putting this here for now
 maybe we should have a global script that
 just holds switch group refs to avoid muddying this one
blend input for steering that accumulates over timeViper Engine - Copyright (C) 2018 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.
Screen Shake
the naming for this sucks
 this is the value of seconds remaining in the
 screen shake that the ai intro should start
Delay before completeLeave empty if you do not want players to get powerups in this mode
Leave empty if you do not want AI to get powerups in this modespeed in cm/s
radians
in secondsLeave empty if you do not want players to get powerups in this mode
Leave empty if you do not want AI to get powerups in this mode
race settings / state.  shared in splitscreen
pause menus
hudsthis hud shows up while a client is waiting for the host to move on to the next race
for custom music per mode pre/post racescreen wipe
Leave empty if you do not want players to get powerups in this mode
Leave empty if you do not want AI to get powerups in this mode
translates mode enum to game mode prefabparallel to load_style enum in game_enums
TODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.TODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.
serves as a tag
Color value for the vignette at the edge of the vignette ellipse.
Intensity (alpha) of the color at the edge of the vignette ellipse.
Color value for the vignette that it fades to using falloff as it gets further from the vignette ellipse.
Intensity (alpha) of the color that it fades to using falloff as it gets further from the vignette ellipse.
Center point of the vignette in normalized screen coordinates. Suggested range: (0,0)-(1,1)
Radius in x and y direction in normalized screen coordinates for the vignette ellipse. When x==y a circle is produced (if aspect ratio is 1:1).
Radius in x and y direction in normalized screen coordinates for the vignette ellipse. When x==y a circle is produced (if aspect ratio is 1:1).
Controls how the color is blended from inner to outer as it gets further from the vignette ellipse. Bigger numbers change faster.
Controls how the intensity (alpha) is blended from inner to outer as it gets further from the vignette ellipse. Bigger numbers change faster.
Controls how the vignette blends against the scene. 0: Additive, 1: Alpha Blend, Between 0-1: A mix of both.animation for bar empty to full.  time will be set manuallyShould be all const data.  used to define a credits section.  duhoptional level to spawn instead of the default visual template
pixels of space above this entry
intentionally not localized to avoid the locs list growing out of control, and because a name probably shouldn't be localized
When the user holds A, scrolling will be sped up by this factor
We spawn the next data when the previous data's tail hits this y value
We destroy a section when its tail reaches this y value
We trigger the ending sequence when the final element's tail reaches this y value
3D model + effects for trophy ceremony
3D model + effects for trophy ceremony
3D model + effects for trophy ceremony
TBD: AI / powerups could take this number into account to scale difficulty. Range probably 0.7 to 1.5manages unlock state and save game interactionsoverride save data with this cup progression.  0 (no progress) to 3 (gold achieved) on a per cup basisif >= 0 override character costume
if >= 0 override kart theme
if >= 0 override horn
if >= 0 override weather
if >= 0 override music track
includes chevron at the end
includes chevron at the endViper Engine - Copyright (C) 2019 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.should match cup progress values (0 = none -> 3 = gold)
TODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.serves as a tagserves as a tag
This will play during come_on and during on, but not during go_offTutorial Statesset to false to prevent this item from ever being a random reward
The purpose of this script is to watch for and react to communication issues between this device and its peers
 (TBD: as well as seeing issues between remote peers)
peers report the last [our] frame they heard from us.  How old is too old.
TODO: this catch all is in place of the more specific handling below.  if the error state is rare enough, let's keep this simple
TODO: get to these.  for now if we detect an error we'll pop a dialog and quit the worldset to false to prevent this item from ever being a random rewardpage dataif this is specified, the help_desc will be found by this entity name
if no name is specified, use our node index relative to parent help_item
Start applying the damper after we've elapsed past this normalized value
 0 - 1 range, could be set externally (render_target_screen_shake.vscript)catches the event for kart inactivity
 when we become inactive, vignette the camera feed
 when the vignette is complete, revoke control mode
reflect the rolling average approximately over N frames.  actually math: (old * (N-1) + new) / NThe animation to play when the keystroke is triggered.
The keystroke to check for.
Should retriggering the keypress restart the animation?
When true animation only plays if this menu / menu_item is selectedcutoffs for each setting.  Use -1 for \All\
replace sprite.texture with this texture
replace text.text with this loc stringTODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.serves as a tag
most of the same stuff as `fade_then_menu_event_trigger.vscript`
 this script doesnt use menu_transition, and is meant to be spawned as
 an independent entity that handles a screen wipe & menu trigger
advance the tutorial license game mode state
TODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.advance the tutorial license game mode state
TODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.destroy delay after transition complete or cancelled
 maybe should just use the trigger interval timing
Handle timing for a mirror flip transition
 self-terminates
note: make sure the track duration is properly set to the time of the clip/potential clips. Otherwise we will get a Wwise warning when trying to seek [seek at end of playlist]
how many seconds the initial prompt should be visible before the text cycles
how many seconds each string should show for
alternate text string to showallow for a default texture when a certain string is found_enum_constant(k_joycon_style_handheld, \input\),
_enum_constant(k_joycon_style_dual_joycon, \input\),
_enum_constant(k_joycon_style_fullkey, \input\),
_enum_constant(k_joycon_style_single_joycon_left, \input\),
_enum_constant(k_joycon_style_single_joycon_right, \input\),
This script manually severs the transform hierarchy for a human player...
 The player prefab contains both the global data and slam position at the root
 and the visual data (car_rig_root) that moves in motion space
 we don't want the motion data to inherit the slam position_2d
 Talk to Ed
tagAn empty component to act as a tag.  The entity will act as a container for car motion relative visual items.Empty compnent used as a tag for global slam space
Keep a list of the coin sounds w/ guaranteed order
 specifically care about ordering the get coin sounds,
 other sounds can live here for organization
XXX: we only allow the coins to be dropped or collected if the racer
 has not \finished the race\
 in game modes like explore, the player will always collect or drop coinsserves as a tag
serves as a tag
couldn't think of better names for the different screen shake methodstag && trigger vfx events
any time we change weather we delay spawning the new items to avoid too many weather items simultaneouslyserves as a tag for lookupTODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.
this plays when the user tries to enter this world and theoretically will succeed
this plays when the user tries to enter this world, but it is mid-race
this plays when the user tries to enter this world, but it is full
Viper Engine - Copyright (C) 2018 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.
trigger on menu sfx root so audio plays longer than lifetime of this
 will only trigger if cup_results_list_root.slide_on_sfxViper Engine - Copyright (C) 2018 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.
Viper Engine - Copyright (C) 2018 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.
trigger on menu sfx root so audio plays longer than lifetime of this
 will only trigger if cup_results_list_root.slide_on_sfx
Sprite FadingVertical Position Animation
Scaling AnimationViper Engine - Copyright (C) 2018 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.
Viper Engine - Copyright (C) 2018 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.Viper Engine - Copyright (C) 2018 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.
Viper Engine - Copyright (C) 2018 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.Viper Engine - Copyright (C) 2018 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.Viper Engine - Copyright (C) 2018 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.
Viper Engine - Copyright (C) 2018 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.
Viper Engine - Copyright (C) 2018 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.
spawn a level as a pause menu
handle all sorts of VO for the instance
item hit success
overtake
XXX A specific conditional override
 if true, check tutorial state to see if we should go into ai intro
 if so, send action id 996 instead of menu_action
 (this has greg's blessing because we are late in the project)
XXX another usage specific hackoptional pause menu to go to when fade is over
TODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.optional override for the off anim.  if specified this will be used instead of the default timeline
optional override for the target menu's on animation.
transition on timeline, played in reverse for transition offKart Handling Tuningset to false to prevent this item from ever being a random reward
these are all the motor sfx variables for this themeSynergize bonuses with costumes and horns with the same synergy ID
serves as a tag
spawns the local players on created.  When a race is starting, spawns the AI / remote player avatarsViper Engine - Copyright (C) 2018 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.
Viper Engine - Copyright (C) 2018 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.
Viper Engine - Copyright (C) 2018 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.
Viper Engine - Copyright (C) 2018 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.
one class for multiple little controls, so dynamic type
TODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.optional override for the off anim.  if specified this will be used instead of the default timeline
optional override for the target menu's on animation.Viper Engine - Copyright (C) 2020 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.
Leave empty if you do not want players to get powerups in this mode
Leave empty if you do not want AI to get powerups in this mode
menu_action_in_trigger.vscript should be used to change modesPause MenusHUD HelpersTODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.
XXX: I dont like thisPlaceholder for future boost gate logicPlaceholder for future powerup cube gate logic
Viper Engine - Copyright (C) 2018 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.
distance that the kart must be from the marker before destorying it when it is not seen by computer vision
amount of time allow for soft killing of the gate entity
amount of smoothing on rotation 0.0 - 1.0 (>0.0 is max smoothing, 1.0 is no smoothing)
amount of smoothing on position 0.0 - 1.0 (>0.0 is max smoothing, 1.0 is no smoothing)
amount of smoothing on rotation when static 0.0 - 1.0 (>0.0 is max smoothing, 1.0 is no smoothing)
amount of smoothing on position when static 0.0 - 1.0 (>0.0 is max smoothing, 1.0 is no smoothing)Viper Engine - Copyright (C) 2020 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.
How long to sit on a channel once fully connected before moving on to the next channelHaving animated_base as a super lets model.vscript know that we intend to call animation.set_model_pose each frame.
negative angular velocity == CW, positive == CCW
 TODO: audio for the iris rotatingXXX: please keep in sync with toad_pairing_controller signal enumTODO: rename this script and its timeline; convert to simple timeline player
note: make sure the model_material_overrides you want affected
 are set to k_model_color_override_blend_multiply_rgba
List of package files to load on startup
List of the names of the packages to be loaded on startup
File containing version information
Renderer configuration file
For editor only, editor configuration file
Wwise audio project file
Device name used to drive rumble, if any (e.g. Controller_Motion)
Level used to spawn vfx emitters when vfx.spawn_effect() is called in script
List of all font files
Custom glyphs that augment all fonts
Network packet compression dictionary
Memory budget file
These sound banks must be fully loaded before update_loads() spawns any levels.TODO: move this to its own package and have it initiate the opencv usage of itself in createdwhen true global save data will be requested as soon as there is a primary userDigital Revealwhen true global save data will be requested as soon as there is a primary user
Zero hour fix here. These values need to be kept in sync with the stat_other_progress values defined on the license
Crash
Steering
Reverse Animation HandlingScreen tap duration in seconds
Max intensities for x & y shake
Dampertimeout animations
Wind additivesPost race anims
Earthquakewhen > 0, this is the minimum progress on all cups for unlockTODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.Leave empty if you do not want players to get powerups in this mode
Leave empty if you do not want AI to get powerups in this mode
race settings / state.  shared in splitscreen
pause menus
hudsthis hud shows up while a client is waiting for the host to move on to the next race
for custom music per mode pre/post racehelper for get_racer_id_from_cup_by_rank
use a debug_level_spawner_toggle.vscript on a parent component to control multiple instancesViper Engine - Copyright (C) 2019 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.
IMPORTANT NOTE: Level data uses these enums but stores the values as ints,
 so do not insert, delete, or rearrange without fixing all corresponding level data!Logo package should be as quick to load as possible, allowing minimal loading screen face time
banner reference images that we compare to recognized banner thorugh CV
Early globals package should be as quick to load as possible, allowing minimal loading screen face time
packages that once loaded are spawned and stay loaded at all times
packages needed for the main menus
packages needed for in-game (ar gameplay)k_state_mktv, // for now there is no package shuffling between mktv and main menu
Leave empty if you do not want players to get powerups in this mode
Leave empty if you do not want AI to get powerups in this modefire a no-argument world event on created
sometimes the item should have an outtro when it's time to clean up.  when this is defined, play the outtro when the helper ent goes awayViper Engine - Copyright (C) 2018 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.set to false to prevent this item from ever being a random rewardIMUrtpc for drift sound intensityXXX: this redundant data is currently needed
 since we can't get an animation duration from an anim tree node
Start Race Sequence
Material overriding for traffic light start sequenceMaterial overriding for lap completed sequence (must handle variable laps)
Start Sequence Boosting
Tutorial itemsMarker id to look up globally, or -1 to instead find it in hierarchy
cm from the gate.  Negative numbers mean beyond the gate, but yrmv after the gate is no longer visible
Padding around the zone boundaries to prevent wibbliness at the edges of the zoneLoad the character & manage its intro cinematic.conditional helper for instance levels under racer instance
 may want to add a destroy_after_duration component to leves with this
 since some levels depend on wwise sources playing for lifetimehow likely is it for this crash to happen (0.0 to 1.0)
how long should we wait before the crash happens (in seconds)
ai speeds are in cm/sai speeds are in cm/s
coeff applied to the user's inputted steering
coeff applied to the steering influence of this modifier
 when the user is steeringXXX: keep this enum in line with powerup_distribution_entryDebug purpose only
 Any level you want to spawn as a child of the entity w/ specified script
 spawn an instance attached to you with `F`tagLeave empty if you do not want players to get powerups in this mode
Leave empty if you do not want AI to get powerups in this mode
race settings / state.  shared in splitscreen
pause menus
hudsthis hud shows up while a client is waiting for the host to move on to the next race
for custom music per mode pre/post racekeeps track of network racers and race optionsTODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.
Add more lists here if you have a non-int list setting to applyif a name is present (not an empty string), use the componentn name isntead of the type
Leave empty if you do not want players to get powerups in this mode
Leave empty if you do not want AI to get powerups in this mode
race settings / state.  shared in splitscreen
pause menus
hudsthis hud shows up while a client is waiting for the host to move on to the next race
for custom music per mode pre/post race
these are the speeds that the initial ghost will use (in cm/s)
optional parallel lists of assets to swap out when triggered
Leave empty if you do not want players to get powerups in this mode
Leave empty if you do not want AI to get powerups in this mode
pause menus (pushed via events); uses default pause when +/- pressed
hudsLeave empty if you do not want players to get powerups in this mode
Leave empty if you do not want AI to get powerups in this mode
pause menus (pushed via events); uses default pause when +/- pressed
k_state_radio_dialog,
 k_state_radio,	k_state_power_slide_dialog,
	k_state_power_slide,
There is a state for each dialogTODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.
optional override for the off anim.  if specified this will be used instead of the default timeline
optional override for the target menu's on animation.
TODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.TODO: push this deeper?component name of sfx to trigger
TODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.
optional override for the off anim.  if specified this will be used instead of the default timeline
optional override for the target menu's on animation.
TODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.
optional override for the target menu's on animation.TODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.should the anim be applied to the parent entity instead of self?Viper Engine - Copyright (C) 2019 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.
anim state machineTODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.TODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.
TODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.TODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.optional override for the off anim.  if specified this will be used instead of the default timeline
optional override for the target menu's on animation.XXX: please keep in sync with toad_pairing_controller signal enumTODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.when this is true racers will not be shown on the minimap
TODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.Used by the engine, not to be manipulated from script.
TODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.Used by the engine, not to be manipulated from script.
locks the radio menu item if the unlock item is lockedmakes the assumption that there is a radio menu item
hack for mirror mode :-P
also set the item as disabled if this is truecomponent name of sfx to trigger
TODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.TODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.Render pass name (optional); if set, use the first render target instead of texture.
 Note: currently unlikely to work well with derived sprite types like nine_slice.
 TODO UI_3D: make initial_render_pass_name a more robust ID or reference somehow.
Set to true if the asset dimensions are designed for a 1080p canvas
Set to true if the asset dimensions are designed for a 4k canvas
Viper Engine - Copyright (C) 2019 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.Self on anim
 Self off anim
set to false to prevent this item from ever being a random reward
when > 0, this is the minimum progress on all cups for unlockShould this hide request be enabled at creation
Set to true to destory the entity after the fade is completed.
If destroy_when_hidden is true, this will add a delay between fully hidden and the actual call to destroy.Special case visibility controller where exactly 1 should exist per player
 All child visibility controllers can optionally observe the visibility of this controller
 to hide things based on the state of the SLAM simulationShould this hide request be enabled at creation
Set to true to destory the entity after the fade is completed.
If destroy_when_hidden is true, this will add a delay between fully hidden and the actual call to destroy.Place this component at the root of a collection of entities to be faded.
 Add one or more visibility_hide_request.vscripts as sibling components to make hide requests.
 Use visibility_item_* scripts on self or child entities to contol the way that specific visual elements fade.Place one or more of these components as siblings to a visibility_controller.vscript.
 Set the enabled value to make a request to fade the entity.Should this hide request be enabled at creation
Set to true to destory the entity after the fade is completed.
If destroy_when_hidden is true, this will add a delay between fully hidden and the actual call to destroy.Place this component on an entity with one or more effect components.
 There should exist a visibility_controller.vscript on this entity or one of it's anchestors to control the visibility value.
 This component will set the specified attribute on each sibling effect to a scaled value based on the visibility_controller's fade progress.Attribute name to change
Maps the initial value of the vfx attribute.  Otherwise the output value is 0.0 - 1.0Place this component on an entity with one or more model_material_overrides.vscript.
 There should exist a visibility_controller.vscript on this entity or one of it's anchestors to control the visibility value.
 This component will set the alpha on sibling model_material_overrides based on the visibility_controller's fade progress.
if the scale is binary it will be 0.0 or transform.initial_scale when visibility_normalized is below or above binary_visibility_threshold
 if the scale is not binary, it will be between 0.0 and transform.initial_scale scaled by visibility_normalizedlevel with world_settings.vscript on root entity
after this much time not hearing from a world, we remove it from our list
Materials to be applied to the warp pipe
max remote worlds to keep track offrequency we advertise our world at when we're hostingViper Engine - Copyright (C) 2019 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.distance in cmtag to indicate the root entity of an alert message
hide the coin UI in explore if we don't have coins?
 currently the choice is to always hide it if we have no coinswatch the state of our current coin count
Viper Engine - Copyright (C) 2019 Velan Studios - All Rights Reserved
 Unauthorized copying of this file, via any medium is strictly prohibited.
 Proprietary and confidential.Having animated_base as a super lets model.vscript know that we intend to call animation.set_model_pose each frame.The transitions are managed inside the anim_tree.
 We could have states here for them if we wanted to, say, detect and time them better
Having animated_base as a super lets model.vscript know that we intend to call animation.set_model_pose each frame.
Having animated_base as a super lets model.vscript know that we intend to call animation.set_model_pose each frame.when false the locked filtering is disabled (such as in client menus that simply reflect CC settings)Base / sibling class for managing popping up notificationsSprite FadingWhat to spawn
Frequency between spawns
Horizontal offset
Rules for how to divide the track to find spawn locations
In the case of smaller courses that cannot fufill distance rules, allow a min count to be enforced
 This should not exceed the number of sections between gates (4)
On small tracks, we violate the min distance from gates ruleset. This fkag ensure we will not violate the final segment so as to
 put an item on top of the start gate interact zone
Absolute max number of items on the trackWhat to spawn
Frequency between spawns
Horizontal offset
Rules for how to divide the track to find spawn locations
In the case of smaller courses that cannot fufill distance rules, allow a min count to be enforced
 This should not exceed the number of sections between gates (4)
On small tracks, we violate the min distance from gates ruleset. This fkag ensure we will not violate the final segment so as to
 put an item on top of the start gate interact zone
Absolute max number of items on the track
NOTE! this script is dependent on the snow weather (screen) VFX being active and
 playing. without snow, this will do NOOOOOOTHINGworks in tandem w/ regular coin data
 just controls track traversal
set to 0 if you don't want to move towards the center of the track
 see track_traversalHue rotation in degrees
Output color saturation
 0-1: Decrease saturation
 1+: Increase saturation
 < 0: Invert color
Relative exposure of scene, in EV_100.
Bias (in EV_100) applied to scene exposure for emissive surfaces.
 NOTE:  Changes will require a cubemap re-bake to take full effect.
Post-tonemapping brightness adjustment (whitepoint shift).
Post-tonemapping linear contrast adjustment
Scene color tint
Mix level of tint.  0: No tint, 1: Full tint
Uncharted tonemapping variables
 Shoulder strength of the tonemapping curve. Suggested Range: 0-1.
Linear strength of the tonemapping curve. Suggested Range: 0-1.
Linear angle of the tonemapping curve. Suggested Range: 0-1.
Toe strength of the tonemapping curve. Suggested Range: 0-1.
Toe numerator of the tonemapping curve. Suggested Range: 0-1.
Toe denominator of the tonemapping curve. Suggested Range: 0-1.
Linear white point value. Suggested Range: 0-20.
Color value for the vignette at the edge of the vignette ellipse.
Intensity (alpha) of the color at the edge of the vignette ellipse.
Color value for the vignette that it fades to using falloff as it gets further from the vignette ellipse.
Intensity (alpha) of the color that it fades to using falloff as it gets further from the vignette ellipse.
Center point of the vignette in normalized screen coordinates. Suggested range: (0,0)-(1,1)
Radius in x and y direction in normalized screen coordinates for the vignette ellipse. When x==y a circle is produced (if aspect ratio is 1:1).
Controls how the color is blended from inner to outer as it gets further from the vignette ellipse. Bigger numbers change faster.
Controls how the intensity (alpha) is blended from inner to outer as it gets further from the vignette ellipse. Bigger numbers change faster.
Controls how the vignette blends against the scene. 0: Additive, 1: Alpha Blend, Between 0-1: A mix of both.
Controls the scale of the distortion, valid for 0-1.
intermediary for making coins flash in and out during p switchWhat to spawn
Frequency between spawns
Horizontal offset
Rules for how to divide the track to find spawn locations
In the case of smaller courses that cannot fufill distance rules, allow a min count to be enforced
 This should not exceed the number of sections between gates (4)
On small tracks, we violate the min distance from gates ruleset. This fkag ensure we will not violate the final segment so as to
 put an item on top of the start gate interact zone
Absolute max number of items on the track
specific helper to pass along events (such as hit_by_red_shell_instance) to the cheep_cheep_data component in children
Hue rotation in degrees
Output color saturation
 0-1: Decrease saturation
 1+: Increase saturation
 < 0: Invert color
Relative exposure of scene, in EV_100.
Bias (in EV_100) applied to scene exposure for emissive surfaces.
 NOTE:  Changes will require a cubemap re-bake to take full effect.
Post-tonemapping brightness adjustment (whitepoint shift).
Post-tonemapping linear contrast adjustment
Scene color tint
Mix level of tint.  0: No tint, 1: Full tint
Uncharted tonemapping variables
 Shoulder strength of the tonemapping curve. Suggested Range: 0-1.
Linear strength of the tonemapping curve. Suggested Range: 0-1.
Linear angle of the tonemapping curve. Suggested Range: 0-1.
Toe strength of the tonemapping curve. Suggested Range: 0-1.
Toe numerator of the tonemapping curve. Suggested Range: 0-1.
Toe denominator of the tonemapping curve. Suggested Range: 0-1.
Linear white point value. Suggested Range: 0-20.
Color value for the vignette at the edge of the vignette ellipse.
Intensity (alpha) of the color at the edge of the vignette ellipse.
Color value for the vignette that it fades to using falloff as it gets further from the vignette ellipse.
Intensity (alpha) of the color that it fades to using falloff as it gets further from the vignette ellipse.
Center point of the vignette in normalized screen coordinates. Suggested range: (0,0)-(1,1)
Radius in x and y direction in normalized screen coordinates for the vignette ellipse. When x==y a circle is produced (if aspect ratio is 1:1).
Controls how the color is blended from inner to outer as it gets further from the vignette ellipse. Bigger numbers change faster.
Controls how the intensity (alpha) is blended from inner to outer as it gets further from the vignette ellipse. Bigger numbers change faster.
Controls how the vignette blends against the scene. 0: Additive, 1: Alpha Blend, Between 0-1: A mix of both.
Controls the scale of the distortion, valid for 0-1.
set to false to prevent this item from ever being a random rewardHue rotation in degrees
Output color saturation
 0-1: Decrease saturation
 1+: Increase saturation
 < 0: Invert color
Relative exposure of scene, in EV_100.
Bias (in EV_100) applied to scene exposure for emissive surfaces.
 NOTE:  Changes will require a cubemap re-bake to take full effect.
Post-tonemapping brightness adjustment (whitepoint shift).
Post-tonemapping linear contrast adjustment
Scene color tint
Mix level of tint.  0: No tint, 1: Full tint
Uncharted tonemapping variables
 Shoulder strength of the tonemapping curve. Suggested Range: 0-1.
Linear strength of the tonemapping curve. Suggested Range: 0-1.
Linear angle of the tonemapping curve. Suggested Range: 0-1.
Toe strength of the tonemapping curve. Suggested Range: 0-1.
Toe numerator of the tonemapping curve. Suggested Range: 0-1.
Toe denominator of the tonemapping curve. Suggested Range: 0-1.
Linear white point value. Suggested Range: 0-20.
Color value for the vignette at the edge of the vignette ellipse.
Intensity (alpha) of the color at the edge of the vignette ellipse.
Color value for the vignette that it fades to using falloff as it gets further from the vignette ellipse.
Intensity (alpha) of the color that it fades to using falloff as it gets further from the vignette ellipse.
Center point of the vignette in normalized screen coordinates. Suggested range: (0,0)-(1,1)
Radius in x and y direction in normalized screen coordinates for the vignette ellipse. When x==y a circle is produced (if aspect ratio is 1:1).
Controls how the color is blended from inner to outer as it gets further from the vignette ellipse. Bigger numbers change faster.
Controls how the intensity (alpha) is blended from inner to outer as it gets further from the vignette ellipse. Bigger numbers change faster.
Controls how the vignette blends against the scene. 0: Additive, 1: Alpha Blend, Between 0-1: A mix of both.
Controls the scale of the distortion, valid for 0-1.ids match enum values in powerup_desc.vscriptinstance for controlling vfx fade inHue rotation in degrees
Output color saturation
 0-1: Decrease saturation
 1+: Increase saturation
 < 0: Invert color
Relative exposure of scene, in EV_100.
Bias (in EV_100) applied to scene exposure for emissive surfaces.
 NOTE:  Changes will require a cubemap re-bake to take full effect.
Post-tonemapping brightness adjustment (whitepoint shift).
Post-tonemapping linear contrast adjustment
Scene color tint
Mix level of tint.  0: No tint, 1: Full tint
Uncharted tonemapping variables
 Shoulder strength of the tonemapping curve. Suggested Range: 0-1.
Linear strength of the tonemapping curve. Suggested Range: 0-1.
Linear angle of the tonemapping curve. Suggested Range: 0-1.
Toe strength of the tonemapping curve. Suggested Range: 0-1.
Toe numerator of the tonemapping curve. Suggested Range: 0-1.
Toe denominator of the tonemapping curve. Suggested Range: 0-1.
Linear white point value. Suggested Range: 0-20.
Color value for the vignette at the edge of the vignette ellipse.
Intensity (alpha) of the color at the edge of the vignette ellipse.
Color value for the vignette that it fades to using falloff as it gets further from the vignette ellipse.
Intensity (alpha) of the color that it fades to using falloff as it gets further from the vignette ellipse.
Center point of the vignette in normalized screen coordinates. Suggested range: (0,0)-(1,1)
Radius in x and y direction in normalized screen coordinates for the vignette ellipse. When x==y a circle is produced (if aspect ratio is 1:1).
Controls how the color is blended from inner to outer as it gets further from the vignette ellipse. Bigger numbers change faster.
Controls how the intensity (alpha) is blended from inner to outer as it gets further from the vignette ellipse. Bigger numbers change faster.
Controls how the vignette blends against the scene. 0: Additive, 1: Alpha Blend, Between 0-1: A mix of both.
Controls the scale of the distortion, valid for 0-1.Hue rotation in degrees
Output color saturation
 0-1: Decrease saturation
 1+: Increase saturation
 < 0: Invert color
Relative exposure of scene, in EV_100.
Bias (in EV_100) applied to scene exposure for emissive surfaces.
 NOTE:  Changes will require a cubemap re-bake to take full effect.
Post-tonemapping brightness adjustment (whitepoint shift).
Post-tonemapping linear contrast adjustment
Scene color tint
Mix level of tint.  0: No tint, 1: Full tint
Uncharted tonemapping variables
 Shoulder strength of the tonemapping curve. Suggested Range: 0-1.
Linear strength of the tonemapping curve. Suggested Range: 0-1.
Linear angle of the tonemapping curve. Suggested Range: 0-1.
Toe strength of the tonemapping curve. Suggested Range: 0-1.
Toe numerator of the tonemapping curve. Suggested Range: 0-1.
Toe denominator of the tonemapping curve. Suggested Range: 0-1.
Linear white point value. Suggested Range: 0-20.
Color value for the vignette at the edge of the vignette ellipse.
Intensity (alpha) of the color at the edge of the vignette ellipse.
Color value for the vignette that it fades to using falloff as it gets further from the vignette ellipse.
Intensity (alpha) of the color that it fades to using falloff as it gets further from the vignette ellipse.
Center point of the vignette in normalized screen coordinates. Suggested range: (0,0)-(1,1)
Radius in x and y direction in normalized screen coordinates for the vignette ellipse. When x==y a circle is produced (if aspect ratio is 1:1).
Controls how the color is blended from inner to outer as it gets further from the vignette ellipse. Bigger numbers change faster.
Controls how the intensity (alpha) is blended from inner to outer as it gets further from the vignette ellipse. Bigger numbers change faster.
Controls how the vignette blends against the scene. 0: Additive, 1: Alpha Blend, Between 0-1: A mix of both.
Controls the scale of the distortion, valid for 0-1.Sets the (first) sibling model's aniamation pose at the end of tick.
Sets the position/rotation of the (first) sibling transform component to the position/rotation of the specified bone in the parent model.

 REQUIREMENTS:
 - The parent entity must have a model component and an animated component.
 - The animated model's pose must be set in the tick event.
 NOTE: The transform is updated in tick. This means that bone position/rotation for a given frame's animation won't be available until the draw event.
If true, use only the transform on this entity for position and rotation of listener.
 If false, use the entity's absolute world position and rotation.the sound event to play
the maximum number of instance to allow simultaneously
whether or not to play this sound on create
whether or not to wait before triggering the sound
if k_trigger_after_delay is true, the amount of time to wait before triggering
whether or not to destroy the entity when the sound is done playing
the fade duration to use when the sound ends
the fade curve to use when the sound ends
determines which users will feel the rumble from this sound
determines if we should force the sound to play for as long as the user requestsThis will increase the time before one shots get cleaned up.
 Used to delay cleaning up the sound if it has an internal event that fires after the sound has finished.Keep in sync with enum AkCurveInterpolation in AkTypes.h
An entity displaying an animated model must have an animated_base component (or derived component such as simple_animated or anim_manager).
 An entity with an animated_base component is assumed to call animation.set_model_pose for each of the entity's model components each frame.
 Whether the model pose must be set in tick or draw depends on the requirements of related components such as socket.vscript and attach_to_bone.vscript.
 It is expected that no more than 1 animated_base component share an entity.List of package files to load on startup
List of the names of the packages to be loaded on startup
File containing version information
Renderer configuration file
For editor only, editor configuration file
Wwise audio project file
Device name used to drive rumble, if any (e.g. Controller_Motion)
Level used to spawn vfx emitters when vfx.spawn_effect() is called in script
List of all font files
Custom glyphs that augment all fonts
Network packet compression dictionary
Memory budget file
These sound banks must be fully loaded before update_loads() spawns any levels.
General settings
Treats the editor as a standalone version of the game, applying input settings.Whether or not we're using touch input, can be simulated on desktops.
The platform_keymap_info script used when simulating touch input.when true global save data will be requested as soon as there is a primary user
Whether to destroy the effect when finished playing. Note this should be
 used on non-looping effect. For looping effect it's recommended to explictly
 stop with
This is managed code side to allow serialization of editor modified default attributes for this effect instance.
 Will be applied on first call to vfx.drawcall.
Priority of an effect. If we don't have an open slot to use for effect playback in the backend, a higher priority effect will replace a lower priority one
If true, the effect is generally GPU fill rate limited. Only a small number of such effects are allowed active at once.
k_draw_mask_all_views: render in all viewports
 k_draw_mask_owner_only: render only in the viewport associated with the owning user
 k_draw_mask_default: use the default behavior as determined by the project
Enables effect syncing to the beat of the music.
If music_sync_enabled, attribute named here will be set to 1 then decay with each beat. Named attribute must be present in effect.Controls time. Should be a replicated singleton.
 time.get_gameplay_time_ms() and time.get_gameplay_tick_interval() will return data from this compnent
 if this component doesn't exist, they will return the same result as time.get_tick_interval()
If true, will send gameplay time to out as visual time (for VFX and shaders) TODO: we need separate times for UI vfx and shader :(
Name of the gamepad as returned by input.get_gamepad_type() including: \switch-joycon-dual\ \switch-joycon-left\ \switch-joycon-right\ \switch-fullkey\ \switch-handheld\ \generic\.
The keymap used by this platform for general gameplay.
The keymap used by this platform for ui navigation.
The interface level to load at runtime for touch controls to interact with the game.If this prefab isn't also spawned on the server and all other clients, mark
 this as true.
All the entities in the referenced level will be spawned as draw only.
 This means they will not be rolled back on an update from the server,
 and will only tick once per frame.
If >= 0, spawns the prefab as owned by the specified local user
If the referenced level consists solely of static geometry, this can be marked
 as true. Static geo can be defined by an entity which has, exclusively, a
 transform.vscript, model.vscript, and physics.vscript attached
Set to true if this entity is replicated and placed in the world
 You must ensure that the name of this entity is unique
Used by the engine, not to be manipulated from script.
Mode 0 = none/off, mode 1 = SSAO.
 See vrender_postprocess_ambientocclusion_mode_t.
Priority of these adjustments; higher number = higher priority.
World-space radius of AO samples, in cm.
Intensity scale for SSAO, higher values darken the effect.
Small bias value to prevent noise due to Z buffer precision.Mode 0 = none/off; mode 1 = FXAA.
 See vrender_postprocess_antialiasing_mode_t.
Priority of these adjustments; higher number = higher priority.Enable (true) or disable (false).
Priority of these adjustments; higher number = higher priority.
Bias for initial taps.
 Higher = remove more energy (\don't start blooming yet\).
 May be removed in future.
Output scale.
 Higher = more bloomy. 1.0 = default.
Near clip plane in cm.
Far clip plane in cm.Point this at a .ibl.import file generated by another level with a cubemap_probe.
Linearly fade out near edge.
 Range 0 (no fade) to 1 (always fade).
 0.1 = one-tenth of the distance from edge to center starts fade out.
Higher priority probes take effect first, and
 we stop processing after we find \enough\ probes (considering fade).
 Smaller/more local should generally be higher priority.
Source texture; prefer pow2. Note you need to hit Rebake Decals if texture changes, for now.
Decal type. For \full material model\ decals, add multiple decal components to the same entity.
Higher priority decals will appear in front.
Color/opacity tint. Applies to all decal types, including normals/attributes/emissive/etc!
HDR scale; scales color for albedo and emissive decals only.
Decal behavior flags. Not all flags are meaningful for all decal types.
Decal channel mask; which material_instance channels will this decal appear on?
Blend radius start and end; 0 is center, >=1.415 is corner, 1.0 is side.
 Example circle/ellipse starting to fade at 90% to edge would be 0.9, 1.0.
 No fade is >= 1.5, 1.5 (or thereabouts).
Surface angle cutoff, stop projecting below this.
 1 = directly toward projector (e.g. floor),
 0 = perpindicular to projector (e.g. wall),
 -1 = opposite projector (e.g. ceiling).
 Setting this to -1 will cause all surfaces to receive decals;
 0 will give you only surfaces 	owards\ the decal projector.
Texture scrolling X/Y; greater = faster. (TODO units description.)
Private. Ref to .atlas.import.
Private. Just initial_source_texture's source_path =(  TODO decals: hash this or something
Flipbook index, 0 = first, 1 = second, etc.k_draw_mask_all_views: render in all viewports
 k_draw_mask_owner_only: render only in the viewport associated with the owning user
 k_draw_mask_default: use the default behavior as determined by the projectLight color.
 Try known tuples from e.g. http://planetpixelemporium.com/tutorialpages/light.html
Temperature in Kelvins.
 Black body illumination.
Intensity. Units are lux (lumens per meter squared).
 See https://velanstudios.atlassian.net/wiki/spaces/VIP/pages/652443692/WIP+Viper+Light+Units
Fade out near edge. Range 0 (no fade) to 1 (always fade).
 0.1 = one-tenth of the distance from edge to center starts fade out.
 See inner box in editor.
k_draw_mask_all_views: render in all viewports
 k_draw_mask_owner_only: render only in the viewport associated with the owning user
 k_draw_mask_default: use the default behavior as determined by the project
Root position/rotation/scale offsets,
 e.g. granny \synthetic root bone\ (SRB) aka InitialPosition.
 Intended to be wrapped with a ImGuizmo transform widget.On initial_model change, import InitialPosition to initial_pivot,
 then latch to initial_retain_pivot=true.
 Don't import again unless unchecked or someone presses \reimport pivot\.
Render model bounding-sphere
If set below 1.0, override the model type and draws the model as a transparent object.
 Suggested Range: 0 - 1
Specify the name of the root-translation bone (if any) --used to update the bounding-sphere of skinned models
Specify the radius of the bounding sphere when using the root-translation bone
 set to non-zero value to override model bounding sphere radius
Additional debug rendering support for skinned modelsk_draw_mask_all_views: render in all viewports
 k_draw_mask_owner_only: render only in the viewport associated with the owning user
 k_draw_mask_default: use the default behavior as determined by the project
Used by the editor.  Never modify in script.
indicates that the model should default to what it's set to in scriptRoot position/rotation/scale offsets,
 e.g. granny \synthetic root bone\ (SRB) aka InitialPosition.
 Intended to be wrapped with a ImGuizmo transform widget.On initial_model change, import InitialPosition to initial_pivot,
 then latch to initial_retain_pivot=true.
 Don't import again unless unchecked or someone presses \reimport pivot\.
Render model bounding-sphere
If set below 1.0, override the model type and draws the model as a transparent object.
 Suggested Range: 0 - 1
Specify the name of the root-translation bone (if any) --used to update the bounding-sphere of skinned models
Specify the radius of the bounding sphere when using the root-translation bone
 set to non-zero value to override model bounding sphere radius
Additional debug rendering support for skinned modelsk_draw_mask_all_views: render in all viewports
 k_draw_mask_owner_only: render only in the viewport associated with the owning user
 k_draw_mask_default: use the default behavior as determined by the project
Used by the editor.  Never modify in script.
indicates that the model should default to what it's set to in script
Material instances used to override the corresponding slots named below.
The slot name to be overridden by the corresponding material instance from the list above.
Must be kept in sync with vrender_model_color_override in vrender.entity.h!When enabled the model will be drawn once with depth info only before a second color pass to prevent seeing through to self
Light color.
 Try known tuples from e.g. http://planetpixelemporium.com/tutorialpages/light.html
Temperature in Kelvins.
 Black body illumination.
Power in lumens.
 See https://velanstudios.atlassian.net/wiki/spaces/VIP/pages/652443692/WIP+Viper+Light+Units
Bounding radius in cm.
 No light influence past this distance.
k_draw_mask_all_views: render in all viewports
 k_draw_mask_owner_only: render only in the viewport associated with the owning user
 k_draw_mask_default: use the default behavior as determined by the project
Priority of these adjustments; higher number = higher priority.
Hue rotation in degrees
Output color saturation
 0-1: Decrease saturation
 1+: Increase saturation
 < 0: Invert color
Relative exposure of scene, in EV_100.
Bias (in EV_100) applied to scene exposure for emissive surfaces.
 NOTE:  Changes will require a cubemap re-bake to take full effect.
Post-tonemapping brightness adjustment (whitepoint shift).
Post-tonemapping linear contrast adjustment
Scene color tint
Mix level of tint.  0: No tint, 1: Full tint
Uncharted tonemapping variables
 Shoulder strength of the tonemapping curve. Suggested Range: 0-1.
Linear strength of the tonemapping curve. Suggested Range: 0-1.
Linear angle of the tonemapping curve. Suggested Range: 0-1.
Toe strength of the tonemapping curve. Suggested Range: 0-1.
Toe numerator of the tonemapping curve. Suggested Range: 0-1.
Toe denominator of the tonemapping curve. Suggested Range: 0-1.
Linear white point value. Suggested Range: 0-20.
Color value for the vignette at the edge of the vignette ellipse.
Intensity (alpha) of the color at the edge of the vignette ellipse.
Color value for the vignette that it fades to using falloff as it gets further from the vignette ellipse.
Intensity (alpha) of the color that it fades to using falloff as it gets further from the vignette ellipse.
Center point of the vignette in normalized screen coordinates. Suggested range: (0,0)-(1,1)
Radius in x and y direction in normalized screen coordinates for the vignette ellipse. When x==y a circle is produced (if aspect ratio is 1:1).
Controls how the color is blended from inner to outer as it gets further from the vignette ellipse. Bigger numbers change faster.
Controls how the intensity (alpha) is blended from inner to outer as it gets further from the vignette ellipse. Bigger numbers change faster.
Controls how the vignette blends against the scene. 0: Additive, 1: Alpha Blend, Between 0-1: A mix of both.
Controls the scale of the distortion, valid for 0-1.Empty marker component for shadow volumes;  expects a transform!  When
 present, shadow rendering will attempt to tightly bound this volume for
 increased effective resolution.Priority of this shadow_settings; higher number = higher priority.
Shadow near plane in cm.
 If set higher than camera near plane, overrides that value for shadow cascade
 setup.
Shadow far plane in cm.
 No shadows past this distance.
Override shadow resolution for all platforms.
 ****************************************************************************
 WARNING:  Do not change from k_shadow_resolution_platform_default without
 consulting a graphics programmer!  This warning will be removed when we have
 a solution for per-platform settings.
 ****************************************************************************
Number of cascades to render for sunlight shadows.
 Range 1-4
Amount of each split to crossfade.
 Range 0 (no fade between splits) to 1 (fade across entire split).
 0.05 = roughly 5% of split.
Adjust split plane placement.
 Range 0 to 1.  Higher values pull splits toward camera.
 Try 0.7 to 0.99.
Shadow sampling bias along surface normal
Clamp for automatic depth-plane bias
Disables the staggered update for shadows.
 WARNING:  This has a significant performance impact!  Consult the graphics
 team before changing this value!
@see vrender_shadow_resolution_t in vrender.types.hLight color.
 Try known tuples from e.g. http://planetpixelemporium.com/tutorialpages/light.html
Temperature in Kelvins.
 Black body illumination.
Direction, should be unit vector.
 (May be removed in favor of entity rotation.)
Power in lumens.
 See https://velanstudios.atlassian.net/wiki/spaces/VIP/pages/652443692/WIP+Viper+Light+Units
Bounding radius in cm.
 No light influence past this distance.
Outer angle in degrees.  Light will fall off to zero power here.
Inner angle in degrees.  Light will be at full power here.
k_draw_mask_all_views: render in all viewports
 k_draw_mask_owner_only: render only in the viewport associated with the owning user
 k_draw_mask_default: use the default behavior as determined by the project
Direction to sun disc (may differ from sun_light direction).
 Concatenates with owning entity's rotation;
 it may be sufficient to leave this be as \forward\ (x = 1.0)
 and rotate the owning entity.
Sun light color.
 Try known tuples from e.g. http://planetpixelemporium.com/tutorialpages/light.html
Temperature in Kelvins.
 Black body illumination.
Direction of sun light.
 Also used for sun disc direction, absent a sun_disc component overriding it.
 Concatenates with owning entity's rotation;
 it may be sufficient to leave this be as \forward\ (x = 1.0)
 and rotate the owning entity.
 Take care to avoid \straight down\ (z=-1) bug (VIP-2443) for now.
Intensity in lux.
 See https://velanstudios.atlassian.net/wiki/spaces/VIP/pages/652443692/WIP+Viper+Light+Units
 For daylight scenes, try 30,000 to 100,000.
Multiplier for Catch specific character rim light strengthManages saved game load and store details
 the idea is to have shared global data and any number of identical slots with only one slot loaded at a time
when true global save data will be requested as soon as there is a primary userwhen true global save data will be requested as soon as there is a primary userscene.vscript: create a scene.
 All siblings of this component and children of this entity will exist in this scene.
Descriptive name for scene. Limit to 32 characters to avoid truncation.
 Multiple trees may share the same name = same id = same scene.
scene_view.vscript: create a scene view.
 Siblings of this component and children of this entity will affect this
 scene_view, where appropriate (e.g. camera settings).
Descriptive name for scene view. Limit to 32 characters to avoid truncation.
Position and rotation is set to the model-space position/rotation of the specified bone in the (first) model component of the parent entity.Used by the editor.  Never modify in script.
Whether to sample bone position/rotation in tick or in draw. Sampling in draw is considerably more performant in a networked game.
 See Requirements and notes at the top of this file for more details.
Must be set to true to get position from ragdoll when possible.
Attach to entity if parent model doesn't have a bone with matching name.
Used by the editor.  Never modify in script.
Render pass name (optional); if set, use the first render target instead of texture.
 Note: currently unlikely to work well with derived sprite types like nine_slice.
 TODO UI_3D: make initial_render_pass_name a more robust ID or reference somehow.
Set to true if the asset dimensions are designed for a 1080p canvas
Set to true if the asset dimensions are designed for a 4k canvasassumes a grid of frames with this many columns of frames
how many frames should we show each secondTODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.when true, search for the target menu starting from our grandparent instead of our parent
when true, deselect our current menu item before changing menus
Late stage Remote hack
The texture to be displayed for each language. The texture for english will
 be used if no value is set for the current language.Optional sampler to use for sampling the mask texture.
 (Allows changing tiling / filtering behavior.)
Influence of this mask.  0: no influence, 1: full influence.
Scaling to apply to the UV coordinates of the mask.
Offset to apply to the UV coordinates of the mask.
Set to true if the asset dimensions are designed for a 1080p canvas
Set to true if the asset dimensions are designed for a 4k canvasTODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.
TODO: push this deeper?component name of sfx to trigger
When true, owning user of sub menus will be local_user_count - 1.  Sorry?
Used by the engine, not to be manipulated from script.if no off timeline is specified and this is true, the on anim will be played in reverse for off
starts false, and becomes true when the on timeline specifies or completes
Controls timing of spawning the next menu after this one. starts false, becomes true when the off timeline specifies or completes.
triggers sfx on menu_sfx_root if non-null string
triggers sfx on menu_sfx_root if non-null string
TODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.optional override for the off anim.  if specified this will be used instead of the default timeline
optional override for the target menu's on animation.
TODO: turn this into the trigger method used by SFX and VFX
 Allow the timeline to trigger this event by setting the bool.  Note can only be triggered once right now.
Render pass name (optional); if set, use the first render target instead of texture.
 Note: currently unlikely to work well with derived sprite types like nine_slice.
 TODO UI_3D: make initial_render_pass_name a more robust ID or reference somehow.
Set to true if the asset dimensions are designed for a 1080p canvas
Set to true if the asset dimensions are designed for a 4k canvasIn terms of the original source asset's dimensions, number of pixels for
 left side border width
In terms of the original source asset's dimensions, number of pixels for
 right side border width
In terms of the original source asset's dimensions, number of pixels for
 top border height
In terms of the original source asset's dimensions, number of pixels for
 bottom border heightAnimation based on the whole menuTODO: there should be a better way to get to here
0: item off
1: item on
2: item off->on
3: item on->offRender pass name (optional); if set, use the first render target instead of texture.
 Note: currently unlikely to work well with derived sprite types like nine_slice.
 TODO UI_3D: make initial_render_pass_name a more robust ID or reference somehow.
Set to true if the asset dimensions are designed for a 1080p canvas
Set to true if the asset dimensions are designed for a 4k canvas
Scene view identifier (optional), should be same as corresponding scene_view.vscript.
 TODO UI_3D: make this a scene_view.vscript link somehow instead?
Camera identifier, should be same as e.g. a fixed_camera.vscript.
 view_width and view_height will be updated, maintaining aspect ratio.Render pass name (optional); if set, use the first render target instead of texture.
 Note: currently unlikely to work well with derived sprite types like nine_slice.
 TODO UI_3D: make initial_render_pass_name a more robust ID or reference somehow.
Set to true if the asset dimensions are designed for a 1080p canvas
Set to true if the asset dimensions are designed for a 4k canvasThe initial string to display
 this string will also go through localization passesConvert text to upper case. Note this only works with English letters for now. (See VIP-7689.)Keep in sync with vedit.ui.h vedit_text_box_fit_t enum.when true, looking for sibling menus to select / deselect will instead look for sibling or cousin menus
when true, touching this menu will deselect the old menu
when true deselect will simple modify the sibling menu's selected state, rather than triggering the event
Manual sort override.  Valid value range approximately +/-100,000,000Whether the ui hierarchy should be attached to projected world position of the entity.
   Only need to set true to root ui_box.
Which camera index to use when attaching to world position.
   Only valid for root ui_box where attach_to_world is true.dimensions will be calculated based (if able) on 1) sprite else 2) text else 3) parent else 4) fullscreen.
dimensions will be calculated based on sprite.
dimensions will be calculated based on text.
height will be calculated based on text.  width will be unchanged.
dimensions will be pulled from parent
dimensions will be pulled from first ui_box found in children
height will be calculated based on text.  width will be auto calculated, but not less than initial width.
dimensions will be calculated based on mask_sprite.
height will be calculated based on text, but not less than initial height.  width will be unchanged.
Keep in sync with vedit.ui.h vedit_ui_box_auto_dim_t enum.Keep in sync with ventity.h ventity_sort_category_t enum.If not empty, control this camera directly; otherwise, default to user camera.
Position
Position, Skinning Weights/Indices
Position, Color
Position, Color, 4-TexCoords
Position, Color, 4-TexCoords, Normal Frame
Position, Color, 4-TexCoords, Normal Frame, Skinning Weights/Indices
Position, Color, 4-TexCoords, Normal Frame, Skinning Weights/Indices, Morph Targets
2D Position, 1-TexCoord, Color
Position, half float color rgba , 1-TexCoord, and per particle fields from Popcorn
Placeholder count
enables rasterizer discard.
Cast shadows but do not appear in main scenes. For shadow proxies.
Cast and receive shadows.
Mask for all possible shadow_casting values (including \doesn't cast\)
Sort based on material type. If opaque, use k_vrender_draw_call_sort_stage_opaque; else use k_vrender_draw_call_sort_stage_translucent.STBIR_FILTER_DEFAULT, usually Mitchellbehaves as k_vgpu_edge_clamp* Create pipelines earlier, during _vrender_ready_material_instance, * and wait for them early in the frame. * (Default on for now.)
* Wait for all pipelines after ready. * (Default on for now.)
* Force waiting before draw for unready pipelines. * Note we'll wait on \always_draw\ fullscreen draw pipelines no matter what. * (Default off for now. Skips draw until pipeline is available.)This flag is for filtering object that needs typical rendering, it may or may not receive shadow, but we won't cast shadow if we don't have the _cast flag.
src:1, target: 1-a (also known as premultiplied alpha, but different context here as alpha channel here doesn't mean opacity)
src:a, target: 1-a
src:a, target: 1
src:a, target: 1
* Custom Popcorn fields (half precision) * Either a float 4 field \custom\ or float fields \custom_r\ \custom_g\ \custom_b\ \custom_a\ defined in Popcorn
r: pow(1 - dot(vertex_normal, eye_dir), layer_input_fresnel_power). g, b, a: 0.0
UV from UV contributions of previous layers. If k_veffects_vfx_master_uv_in_geometry
UV from vertex UV
UV based on screen location. (0.0, 0.0) on screen will be(0.0, 0.0), (height, height) will be(1.0, 1.0)
U: same as U in k_veffects_vfx_master_uv_in_screen. V: world z position
U: world x position. V: world y position.
Use r and g of current color as uv - can be used as gradient mapout = src
out = src + tar
out = src * tar
out = max(src, tar)
out = min(src, tar)
out = tar / (1.0 - src)
out = 1.0 - (1.0 - tar) / src
out = src + tar - 1.0The scan lines of hologram follows world Z
The scan lines of hologram follows texcoord v direction
The scan lines of hologram follows flipped texcoord v direction
The scan lines of hologram follows texcoord u directionkeep left key value and snap to the new value when reaching the key to the right
Whether to trigger the event only on first loop. NOTE: raw time may warp from a large number to zero, which may cause \first_loop_only\ triggers to trigger againAn \index buffer\ for triangles (3 for each) or tetrahedrons (4 for each), not used for 1d
At which stage should we sort the material in.
Within the same sort_stage, materials with smaller value will be rendered first. Opaque geometry should have a draw_order of 0
Depth offset for transparency sorting. Note this only applies to depth when sorting, it doesn't affect depth write/depth test. Not used in opaque materials.
Array index for shader (output layer, not layer in source atlas).
Extra spacing(in pixels) between glyphs.0:blendadd (premultiplied), 1:blended, 2:additive. See veffects_particle_blend_type_e
Inverted softness distance when near a piece of geometry. Enabled if greater than 0
Inverted softness distance to fade out near camera. Enabled if greater than 0
The distance to camera where the particle completely fades out. max(near_plane, camera_fade_end_distance) is used. Enabled if camera_fade_inv_soft_distance is greater than 0
Controls how hard the edge fading is. Edge fade is only enable if edge_fade_hardness is greater than 0. Opacity = saturate((NdotV - edfe_fade_end_cosine_threshold) * edge_fade_hardness)
Controls the angle cosine threshold where the particle completely fades outActual index of refraction of the material. Air is 1.00029, water is 1.33 (the default).
Additional scaling control for thickness.
Channel to use in this contribution
How this layer gets blended into the output
The value to use for blend alpha
alpha value used to control blending. Only used if alpha mode is k_veffects_vfx_master_layer_alpha_mode_constant
Scale applied to blended output
Channel to use in this contribution
How this layer gets blended into the output
The value to use for blend alpha
alpha value used to control blending. Only used if alpha mode is k_veffects_vfx_master_layer_alpha_mode_constant
Scale applied to blended output
Channels to use this contribution (only support none or rgb for now)
How this layer gets blended into the output
The value to use for blend alpha
alpha value used to control blending. Only used if alpha mode is k_veffects_vfx_master_layer_alpha_mode_constant
Scale applied to blended output
Scale applied to each channel in layer input
Offset applied to each channel from layer input. Applied after layer_input_scaleHack to have mesh particle to be able to use custom input from popcorn. Only used by mesh particlesControls how hard the edge fading is. Edge fade is only enable if edge_fade_hardness is greater than 0. opacity = saturate(NdotV * edge_fade_hardness)
Whether to stop the effect if it is outside of main camera frustum. The value will be based on disableculling attribute in Popcorn file upon import. Note that we are also reading disableculling from effects to disable culling.
Whether to override bounding box size if bounding_min or bounding_max found in pkfx file.
Bounding box min for culling and LOD. If not force_bounding_box, only valid if no bounding_min attribute comes from pkfx file.
Bounding box max for culling and LOD. If not force_bounding_box, only valid if no bounding_max attribute comes from pkfx file.
Reference distance where the effect will start becoming lodded and receive smaller-than-one vfx_lod attribute. If sum of bounding box edge lengths is larger (x+y+z), will it that instead. Note that FoV and other stuff can affect actual lod distance
If true, always use lod_reference_distance for lodding, regardless of bounding box size.
If greater than 0.0, effect will stop if distance to camera is greater than the value. Note that fov and other factors will change the actual cutoff distance.
Whether we should remove all particles immediately when the effect instance is stopped or culled.
The duration for which the effect emits. duration is FLT_MAX if infinite is true.
Whether the effect emits forever.
Whether the effect needs view-dependent update
Whether we should remove all particles immediately when the effect instance is stopped or culled.
* An upper-bound on the time it takes for an effect to finish after it stops emitting. User determined, not from popcorn. * Effect components use this value to determine whether they are done (they can be configured to destroy themselves when done).
Indicates net channels containing this effect. Probably should be locked by veffects_process_reload_spinlock.
Whether to stop the effect if it is outside of main camera frustum. The value will be based on disableculling attribute in Popcorn file upon import.
Bounding box min for culling and LOD. The value will be based on bounding_min attribute in Popcorn file upon import.
Bounding box max for culling and LOD. The value will be based on bounding_max attribute in Popcorn file upon import.
Bounding sphere origin for culling and LOD. Calculated from bounding box.
Bounding sphere origin for culling and LOD. Calculated from bounding box.
The attribute index to determine bounding box min. If -1, no such attribute exists on vfx, or bounding box is overriden to not use the attribute.
The attribute index to determine bounding box max. If -1, no such attribute exists on vfx, or bounding box is overriden to not use the attribute.
Reference distance where the effect will start becoming lodded and receive smaller-than-one vfx_lod attribute. Note that FoV and other stuff can affect actual lod distance
The attribute index to receive 0.0-1.0 LOD. If -1, no such attribute exists on vfx.
If greater than 0.0, effect will stop if distance to camera is greater than the value. Note that fov and other factors will change the actual cutoff distance.
DO NOT CHANGE THIS, renaming this is not supported and it will very likely break the economy.
Description that customer service sees.
Name that customer service sees.
Whether customer service is allowed to credit this currency or not.
Whether customer service is allowed to debit this currency or not.
The contents of an offer item, they only count as a single item
The quantity of 'contents' to give on purchase
The individual price of the item, this is only used to subtract from an offer's full_price
The type of currency to give on purchase
The amount of currency to give on purchase
A list of currencies available for purchase in this offer
A list of items available for purchase in this offer, more than 1 item is a bundle
The type of currency to use when purchasing
The full price of the offer
The minimum price of an offer after individual items have been subtracted
Amount controlled by r channel
\Alpha\ blended onto base color, amount controlled by g channel
\Alpha\ blended onto base color, amount controlled by b channel
Amount controlled by ao, multiplicative
The color to map to.
Source luma to map to this from. (0.0 will map black to color, 1.0 will map white to color, etc.)
Controls anisotropy strength. Valid from -1.0 to 1.0. Rotate band direction by 90 degrees if negative.An alpha-blended solid color for taking hits
An alpha-blended solid color for taking hitsAn alpha-blended solid color for taking hits
Amount controlled by r channel
\Alpha\ blended onto base color, amount controlled by g channel of mask texture
\Alpha\ blended onto base color, amount controlled by b channel of mask texture
Amount controlled by ao, multiplicativeControls anisotropy strength. Valid from -1.0 to 1.0. Rotate band direction by 90 degrees if negative.
Artifical boost for anisotroy band from sun light, which is added to sun rim light color
An alpha-blended solid color for taking hits
Amount controlled by r channel
\Alpha\ blended onto base color, amount controlled by g channel of mask texture
\Alpha\ blended onto base color, amount controlled by b channel of mask texture
Amount controlled by ao, multiplicative
Controls anisotropy strength. Valid from -1.0 to 1.0. Rotate band direction by 90 degrees if negative.
Artifical boost for anisotroy band from sun light, which is added to sun rim light color
An alpha-blended solid color for taking hits
An alpha-blended solid color for taking hits
The parallax offset for eye highlight emissive to fake \specular\.
The emissive scale for eye highlight.
An alpha-blended solid color for taking hitsAn alpha-blended solid color for taking hits
An alpha-blended solid color for taking hits
An alpha-blended solid color for taking hitsAn alpha-blended solid color for taking hits
An alpha-blended solid color for taking hits
An alpha-blended solid color for taking hits
UV panning velocity. Only affects \albedo\ uv, not scrolling bars
The \albedo\ color and opacity - if 0.0, this becomes pure \energy\
The energy color
Whether to scale hologram scanline based on distance to object so they can be clearly seen from a distance.
Defines direction hologram wants to follow.
How much we should offset hologram's scan height. This doesn't affect actual uv for diffuse texture. Only effective if holo_follow_v is true.
How much we should scale hologram's scan height. Larger value will result in denser scan lines.
The scale applied to vertex offsets.
0.0 to 1.0 - 0.0 will be alpha blend (except that \energy color\ is always additive), 1.0 will be additive
Inverted softness distance when near a piece of geometry. Enabled if greater than 0
Inverted softness distance to fade out near camera. Enabled if greater than 0
The distance to camera where the particle completely fades out. max(near_plane, camera_fade_end_distance) is used. Enabled if camera_fade_inv_soft_distance is greater than 0
Controls how hard the edge fading is. Edge fade is only enable if edge_fade_hardness is greater than 0. Opacity = saturate((NdotV - edfe_fade_end_cosine_threshold) * edge_fade_hardness)
Controls the angle cosine threshold where the particle completely fades out
Time offset for hologram scrolling and glitching. Can be used to differentiate different objects.
scale of basic scan line.
scale of distort line.
overall scale of the giant glitch bar which appears every once a while.
scale of the spacing between giant glitch bars.
scale of the glitch bar speed
overall scale of all scan speeds.
scale of uv distortion effects
3D hologram only. 0.0 to 1.0. Disables fresnel effect when 1.0.
* Encoded info for 8 offscreen balls targeting at player. * xy: relative screen position of ball, clamped between (0.0, 0.0) top left, (1.0, 1.0) bottom right * z: state of the ball warning. 0.0: inactive, 1.0: charging, 2.0: in flight * w: whether this ball is overcharged. (not overcharged: 0.0, overcharged: 1.0)
Aspect ratio of warning border.
Whether at least one ball is in flight. This will change border visual.
An alpha-blended solid color for taking hits
final scale of output alpha. Controls blend between additive (0.0) and alpha blend (1.0)
An alpha-blended solid color for taking hits
final scale of output alpha. Controls blend between additive (0.0) and alpha blend (1.0)
An alpha-blended solid color for taking hits
final scale of output alpha. Controls blend between additive (0.0) and alpha blend (1.0)
An alpha-blended solid color for taking hits
Whether shadow layer is enabled(\shadow\ of both upper_layer_texture and lower_layer_texture)
Offset of shadow layer (\shadow\ of both upper_layer_texture and lower_layer_texture)
Whether bottom layer is enabled (lower_layer_texture and \shadow\ of upper_layer_texture)
Height offset of bottom layer (lower_layer_texture and \shadow\ of upper_layer_texture)
Spin rate of bottom texture in radians per second
Whether top layer is enabled (upper_layer_texture)
Height offset of top layer (upper_layer_texture)
Spin rate of top texture in radians per second.
Alpha scale from emissive. If 0, emissive part is additive; if 1, emissive part is alpha blended.
final scale of output alpha. Controls blend between additive (0.0) and alpha blend (1.0)

Present in all json files.