BSL:Variables: Difference between revisions

From OniGalore
Jump to navigation Jump to search
(deleted introductory section about variables and linked to BSL:Manual instead)
(55 intermediate revisions by 9 users not shown)
Line 1: Line 1:
==Declaration==
To learn how to declare and use variables, read the BSL manual's [[BSL:Manual#Variables|Variables]] section. This page documents Oni's built-in (or "native") scripting variables. The other half of the available scripting commands are in [[BSL:Functions]].
Put usage of '''var''' here. Link to [[OSL:data|OSL data types]]
==Assignment==
Put usage of '''=''' here.
==Preset variables==
;All the preset OSL variables are listed here, in alphabetical order.
;Please fill in with [http://www6.fh-eberswalde.de/user/dkriesch/onistuff/commands.htm ssg's stuff] (descriptions + OK if variable works).
;Type and default value (from console) if you're motivated enough.
;It may be a little less tedious to expand specific subpages of [[OSL:Preset|Preset]]
;(mini-tutorials of sorts) [[User:Geyser|geyser]]
 


==Legend==
;Color
;Color
:White : available on all versions
:White: available in all versions
:Gray : available only on PC retail and Mac beta 4
:Blue: command only exists in Mac Intel build
:Red : Mac beta 4 exclusive
:Green: command only exists in Windows build
:Green : PC retail exclusive
;Default value
;Default value
:Bold : reset by engine at level load (not checked yet for '''chr_buffer_size''' and beyond, unless specified)
:'''[#] !!!''': reset to this number on level-load
{|border=1 cellspacing=0 cellpadding=1
:'''$ !!!''': set based on [[persist.dat]] at game/level-load
;Works
:"OK": both platforms can use this command
:"OK-D": both platforms can use this command, but Windows Oni requires the Daodan DLL
:"OK-M": the command only works on Intel Macs
:"OK?": confirmation/refinement required
:"OK!": apparently works but makes the game crash/hang/etc. Use with caution if at all.
:"??": command may not work
:"NO": command is proven not to work
 
==Built-in variables==
{|border=1 cellspacing=0 cellpadding=2
!Type!!Name!!Default value!!Comment!!Works
!Type!!Name!!Default value!!Comment!!Works
|-
|-
|bool||ai2_barabbas_run||1||"lets Barabbas run while carrying his gun"||NO
|bool||[[ai2_barabbas_run]]||1
|"lets Barabbas run while carrying his gun"||OK
|-
|bool||[[ai2_blind]]||'''0 !!!'''
|"turns off the AI's visual sensing system"||OK
|-
|bool||[[ai2_boss_battle]]||'''0 !!!'''
|"enables AI boss-battle target selection"<br>used in '''compound''': apparently makes Muro's friends focus on yours rather than on you. Only seems to  have effect on ''Boss'' flagged characters at BINACJBOCharacter file. It seems that makes other characters try to ignore the ''Boss'' flagged character and make the ''Boss'' flagged character focus on the player rather the other characters.||OK
|-
|bool||[[ai2_chump_stop]]||'''0 !!!'''
|"stops the chump"<br>disables the pathfinding behaviour of chump(s)||OK
|-
|bool||[[ai2_deaf]]||'''0 !!!'''
|"turns off the AI's sound sensing system"||OK
|-bgcolor="lime"
|int32||[[ai2_debug_localmove_lines]]||20
|"number of lines to cast to debug local-movement code"||OK
|-
|bool||[[ai2_debug_localmovement]]||0
|"debug local-movement code from player's position"||OK
|-
|bool||[[ai2_debug_localpathfinding]]||0
|"debug local-path code from player's position and facing"||OK
|-
|bool||[[ai2_debug_showsettingIDs]]||0
|"shows ID numbers for combat, melee and neutral settings"||??
|-
|bool||[[ai2_ignore_player]]||'''0 !!!'''
|"makes all AI ignore the player"||OK
|-
|bool||[[ai2_melee_weightcorrection]]||1
|"weights down non-attack techniques so they are never more than attacks"||??
|-
|bool||[[ai2_printspawn]]||0
|"prints information about each AI spawn"||OK
|-
|bool||[[ai2_showactivationpaths]]||0
|"turns on inactive ==> active pathfinding rendering"||OK
|-
|bool||[[ai2_showastar]]||0
|"shows grid squares that are evaluated by the A* pathfinding"||bgcolor=#ccccff|OK-M
|-
|bool||[[ai2_showcombatranges]]||0
|"shows circles that represent the combat ranges of each AI"||OK
|-
|bool||[[ai2_showconnections]]||0
|"turns on pathfinding connection rendering"<br>(result of a call to [[ai2_findconnections]])||OK
|-
|bool||[[ai2_showdynamicgrids]]||0
|"turns on pathfinding dynamic grid display"<br>(moving obstacles; needs '''ai2_showgrids''')||OK
|-
|bool||[[ai2_showfights]]||0
|"shows fights in progress"||OK?
|-
|bool||[[ai2_showfiringspreads]]||0
|"shows AI firing spread knowledge"||OK
|-
|bool||[[ai2_showgrids]]||0
|"turns on pathfinding grid rendering"<br>(static grids; see [[OBD:AKVA|AKVA]])||OK
|-
|bool||[[ai2_showhealth]]||0
|"draws a health bar for every AI above their head"||OK
|-
|bool||[[ai2_showintersections]]||0
|"debug AI's melee intersections"||??
|-
|bool||[[ai2_showjoblocations]]||0
|"draws a green cross at each AI's job location"||OK?
|-
|bool||[[ai2_showlasers]]||0
|"turns on laser sights for AI2 characters"||??
|-
|bool||[[ai2_showlinetochar]]||0
|"draws a line from the player to every AI"<br>(to be precise, it draws a line from the player to every spawned AI character, be it via [[ai2_spawn]] or via [[chr_create]])
<ul>
<li><span style="color: Green">green</span> line: AI character is active and drawn</li>
<li><span style="color: Blue">blue</span> line: AI character is active, but not drawn</li>
<li><span style="color: Red">red</span> line: AI character is inactive</li>
</ul>
Related BSL functions: [[chr_draw_all_characters]], [[chr_lock_active]], [[chr_unlock_active]]<br>
Related BSL variables: [[chr_all_active]]
||OK
|-
|bool||[[ai2_showlocalmelee]]||0
|"shows local-environment melee awareness"||OK?
|-
|bool||[[ai2_showlos]]||0
|"shows AI line-of-sight checking"<br>(LOS of all aiming AI leaves a permanent trace)|| OK
|-
|bool||[[ai2_shownames]]||0
|"draws the name of every AI above their head"||OK
|-
|bool||[[ai2_showpathfindingerrors]]||0
|"enables visual display of pathfinding errors"||OK?
|-
|bool||[[ai2_showpaths]]||0
|"shows the path each AI is following"||OK
|-
|bool||[[ai2_showprediction]]||0
|"shows prediction info for AI2 characters"<br>(player's "predicted" position is shown etc)||OK
|-
|bool||[[ai2_showprojectiles]]||0
|"shows AI projectile knowledge"||OK
|-
|bool||[[ai2_showsounds]]||0
|"shows AI sounds as they are generated"||OK
|-
|bool||[[ai2_showtargeting]]||0
|"shows targeting info for AI2 characters"||OK
|-
|bool||[[ai2_showvision]]||0
|"shows each AI's vision cones (central and peripheral)"||OK
|-
|int32||[[ai2_spacing_cookies]]||2
|"number of cookies per fight"<br>the more cookies, the more attacks: 0 means nothing but maneuver||OK
|-
|bool||[[ai2_spacing_enable]]||1
|"master enable switch for spacing behavior"||OK?
|-
|bool||[[ai2_spacing_weights]]||1
|"enables position-sensitive weighting of spacing behaviors"||OK?
|-
|int32||[[ai2_stopignoring_count]]||6
|"set the number of events before the AI will stop ignoring"||??
|-
|int32||[[ai2_stopignoring_time]]||240
|"set the delay timer before the AI forgets about ignored events"||??
|-
|bool||[[am_hit_everything]]||0
|"makes the laser pointer hit all objects"<br>(determines whether the gun's aiming laser stops at quads marked with non-object-collision)||bgcolor=#ccccff|OK-M
|-
|bool||[[am_invert]]||'''$ !!!'''
|"inverts aiming" This is set from [[persist.dat]] at game load (in the absence of '''persist.dat''' the default is 0).
:The value 0 means normal aiming (mouse up to look up). The value 1 means inverted aiming (mouse down to look up). Unlike the backwards "Invert Mouse" checkbox on the Options screen (fixed in the [[AE]]), this variable does not work the opposite of how you would expect.
|OK
|-
|bool||[[am_show_axes]]||0
|"shows world axes"
:This attaches a giant 3D axis to Konoko which claims to show the direction of positive x, y, and z in the world coordinate system, however it is '''wrong'''. Oni uses a ''Y-up coordinate system''; do not let the world axis model showing Z-up mislead you.
|bgcolor=#ccccff|OK-M
|-
|bool||[[am_show_closest]]||0
|"dumps the closest GQ index to console"<br>(continuously prints to console the nearest gunk quad's number followed by two other unhelpful pieces of info)||OK
|-
|bool||[[am_show_filenames]]||0
|"dumps the closest GQ index file/obj name to console"<br>(displays lots of info on-screen, not in console, about quad you are aiming weapon at, but no file names)||bgcolor=#ccccff|OK-M
|-bgcolor=#ccccff
|bool||[[am_show_texturenames]]||0
|"Shows Texture name"<br>(displays name of texture you are aiming weapon at, as well as coordinates of reticle)||OK
|-
|float||[[character_name_distance]]||150.
|"specifies the distance from the camera that character names no longer draw"<br>(probably needs show_characters)||bgcolor=#ccccff|OK-M
|-
|bool||[[chr_active]]||1
|"enables character activity"<br>(0 freezes animation etc)||OK
|-
|float||[[chr_aim_width]]||70.
|"number of degress of aiming width"<br>width of the aiming arc, in degrees||OK
|-
|bool||[[chr_all_active]]||0
|"forces all characters to be active"||OK
|-
|float||[[chr_auto_aim_arc]]||90.
|"number of degress of auto aiming arc"<br>width of the auto aiming arc, in degrees||OK
|-
|float||[[chr_auto_aim_dist]]||40.
|"distance for auto aiming"<br>upper threshold, in world units||OK
|-
|bool||[[chr_big_head]]||'''0 !!!'''
|"draws everyone with a big head"<br>(head size set by chr_big_head_amount)||OK
|-
|float||[[chr_big_head_amount]]||4.
|"Controls the size of the big head"||OK
|-
|float||[[chr_block_angle]]||20.
|"controls the angle at which the characters can block"||OK
|-
|int32||[[chr_buffer_size]]||8
|"0 = normal buffer, otherwise buffer duration"||??
|-
|bool||[[chr_collision_box]]||1
|"toggles character bounding box / bounding sphere collision"||??
|-
|float||[[chr_collision_grow]]||0.
|"sets character bounding box collision grow amount"||??
|-
|bool||[[chr_corpse_fade_offscreen]]||1
|"makes corpses fade when they are offscreen"||??
|-
|int32||[[chr_death_fade_frames]]||180
|"the number of game ticks until charaters fade over"||??
|-
|int32||[[chr_death_fade_start]]||7200
|"the number of game ticks until charaters begin to fade"||??
|-
|bool||[[chr_debug_aiming_screen]]||0
|"turns on aiming screen debugging"<br>(dumps AS changes to console)||OK
|-
|bool||[[chr_debug_characters]]||0
|"enables debugging information for characters"<br>(shows currently playing animation)||OK
|-
|bool||[[chr_debug_collision]]||0
|"turns on/off debugging of collision"<br>(melee collision info written to console)||OK
|-
|bool||[[chr_debug_fall]]||0
|"controls debugging falling"<br>(dumps events to console)||OK
|-
|bool||[[chr_debug_footsteps]]||0
|"footstep debugging mode"<br>(dumps events to console)||OK
|-
|bool||[[chr_debug_footsteps_verbose]]||0
|"verbose footstep debugging mode"<br>(dumps anim/type/frame to console)||OK
|-
|bool||[[chr_debug_handle]]||0
|"turns on debugging for the handle code"<br>(dumps events to console)||OK
|-
|bool||[[chr_debug_impacts]]||0
|"prints debugging info about character melee impacts"<br>(to console)||OK
|-
|bool||[[chr_debug_overlay]]||0
|"enables debugging information for overlays"||OK
|-
|bool||[[chr_debug_pathfinding]]||0
|"control pathfinding debugging"||OK
|-
|bool||[[chr_debug_sphere]]||0
|"enables sphere tree debugging for characters"<br>(draws collision spheres for every character)||OK
|-
|int32||[[chr_debug_target]]||0
|"selects the character debugging target"<br>(used by all debugging routines)||OK
|-
|bool||[[chr_debug_trigger_quad]]||0
|"controls trigger quad debugging"<br>(draws characters as vertical lines)||OK
|-
|bool||[[chr_disable_melee]]||0
|"turns off all melee damage"<br>(also disables knockdowns; does NOT disable throws)||OK
|-
|bool||[[chr_disable_visactive]]||0
|"disables visibility activation"||OK
|-
|bool||[[chr_draw_aiming_vector]]||0
|"enables drawing of the aiming vector"||OK
|-
|bool||[[chr_draw_all_characters]]||0
|"forces the drawing of all characters"<br>(also keeps them active)||OK
|-
|bool||[[chr_draw_facing_vector]]||0
|"enables drawing of the facing vector"||OK
|-
|bool||[[chr_draw_weapon]]||1
|"controls drawing of weapons"||OK
|-
|bool||[[chr_enable_collision]]||1
|"enables character collision"<br>(does NOT prevent throws if disabled)||OK
|-
|int32||[[chr_lod]]||-1
|"forces a given lod if it is between 0 and 4"<br>(uses automatic LOD otherwise)||OK
|-
|bool||[[chr_mini_me]]||0
|"decreases the size of the main character"<br>(Actually, this command allows the character to be made smaller <u>or</u> larger. The custom size is set by '''chr_mini_me_amount''' below.)||OK
|-
|float||[[chr_mini_me_amount]]||0.5
|"controls the size of the main character"<br>(effective only if '''chr_mini_me''' is enabled)<br>''"1" represents "100% of normal size", so numbers between 0 and 1 scale the character down, and numbers above one scale the character up. If you supply "0", the character becomes invisible. If "-1", the character walks on the underside of the floor. With a very low number like -1000, the character will still walk below the floor but will be enormous (they will not be visible, however, as long as the camera remains above the floor); they will also lose collision with other characters, and sounds made by the character will not be heard.''||OK
|-
|bool||[[chr_pin_character]]||0
|"pins a character to the ground"<br>(freezes the coordinates of ''all'' characters)||OK
|-
|bool||[[chr_print_sound]]||0
|"turns on printing of the sound effect"||??
|-
|bool||[[chr_show_bnv]]||0
|"shows the bnv of the main character"<br>(pathfinding volume; see [[OBD:AKVA|AKVA]])||OK
|-
|bool||[[chr_show_lod]]||0
|"shows the current lod of the main character"||OK
|-
|int32||[[chr_show_movement]]||0
|"enables movement debugging information for characters"<br>(dumps XZ velocity to console every # frames)||OK
|-bgcolor=#ccccff
|int32||[[chr_show_weaponid]]||0
|"Shows weapon ID"||OK
|-bgcolor=#ccccff
|bool||[[chr_showextent_globals]]||0
|"shows the global parts of an attack animation's extent"||OK
|-
|bool||[[chr_weapon_auto_aim]]||1
|"enables auto aiming"<br>(melee auto aiming not affected)||OK
|-
|float||[[cinematic_xoffse]]t||20.
|"offset from the vertical edge of the screen for the cinematic insert"||??
|-
|float||[[cinematic_yoffset]]||65.
|"offset from the horizontal edge of the screen for the cinematic insert"||??
|-
|float||[[cm_canter_unarmed]]||8.
|"camera canter"<br>(when not aiming; in degrees)||OK
|-
|float||[[cm_canter_weapon]]||7.
|"camera canter"<br>(when aiming, in degrees)||OK
|-
|float||[[cm_distance]]||33.
|"camera distance"<br>(to target, in world units)||OK
|-
|float||[[cm_height]]||15.
|"camera target"<br>(target height to feet of target character, in world units)||OK
|-
|int32||[[cm_jello_amt]]||20
|"sets the transparency of walls"<br>(for [[Jello-cam]] mode, in % )||OK
|-
|float||[[cm_jello_radius]]||12.
|radius of effect of [[Jello-cam]] mode||OK
|-
|float||[[cm_lookspring_percent]]||0.5
|"at what percent of lookspring fight mode turns off"||??
|-
|bool||[[cm_plane_test]]||1
|"jello camera plane test"||OK
|-
|bool||[[co_display]]||1
|"enables console display"<br>(console output only)||OK
|-
|int32||[[co_fade_time]]||600
|"the fade time of the console"||OK
|-
|bool||[[co_message_display]]||1
|"enables text message display"<br>(dmsg and prompts)||OK
|-
|int32||[[co_priority]]||0
|"changes the priority of messages to display on the console"<br>not sure what messages have priority >0||OK
|-
|bool||[[debug_consoles]]||0
|"prints debugging information about console usage"<br>(information about ''in-game'' consoles; prints to ''dev mode'' console ^^)||OK
|-bgcolor=#ccccff
|bool||[[debug_font_cache]]||0
|"displays font cache texture"||??
|-
|bool||[[debug_gun_behavior]]||0
|"enable AI gun behavior debugging"<br>(dumps events to console)||OK
|-
|bool||[[debug_impacts]]||0
|"prints impacts as they occur"<br>(to console; footsteps, melee, projectiles...)||OK
|-
|bool||[[debug_scripts]]||0
|"enable script debugging"<br>(dumps events to console)||OK
|-
|bool||[[debug_triggers]]||0
|"enable trigger volume debugging"<br>(dumps events to console)||OK
|-
|bool||[[debug_weapons]]||0
|"prints debugging info about weapon particle events"||OK
|-
|bool||[[door_drawframes]]||0
|"draws doorframes for all unplaced doors"||??
|-
|bool||[[door_ignore_locks]]||0
|"disables all door locks"||OK
|-
|bool||[[door_pop_lighting]]||0
|"uses bad door lighting"||??
|-
|bool||[[door_show_activation]]||0
|"draws a circle where door activates"||??
|-
|bool||[[door_show_debug]]||0
|"shows debug geometry"<br>(dumps events to console)||OK
|-
|bool||[[draw_every_frame]]||0
|"forces drawing of every frame"<br>(every '''draw_every_frame_multiple'''th frame; takes precedence over '''fast_mode''')||OK
|-
|int32||[[draw_every_frame_multiple]]||1
||"draw every frame multiple"<br>set drawing frequency if '''draw_every_frame''' is ON||OK
|-
|bool||[[env_collision]]||1
|"enables environment collision"||??
|-
|bool||[[env_drawallgqs]]||0
|"draw all the GQs"||??
|-
|bool||[[env_drawfrustum]]||0
|"draw the frustum around the environment camera"||??
|-
|bool||[[env_drawvisonly]]||0
|"draw only the GQs used for visibility"||??
|-
|int32||[[env_highlight_gq]]||-1
|"highlights a particular gq"<br>(-1 means none)||OK
|-
|int32||[[env_ray_number]]||20
|"sets the number of rays to cast" (per frame). Bigger values than 20 may be ineffective (cause the console message "allocated too many akira rays")||OK
|-
|bool||[[env_show_ghostgqs]]||0
|"when true show ghost GQs" (PC&Mac: Works only for self-made GQs via onisplit v0.9.93.0 -create:level in '''-debug''' out/*.xml; )||OK
|-
|bool||[[env_show_leafnodes]]||0
|"enables display of environment octtree leaf nodes"||??
|-
|bool||[[env_show_octnode_gqs]]||0
|"when true the environment only renders triangles in the octnode that contains the manual camera"||??
|-
|bool||[[env_show_octtree]]||0
|"enables display of environment octtree traversal"||??
|-
|bool||[[env_show_quad_count]]||0
|"shows the count of visable environment quads"||??
|-
|bool||[[env_show_rays]]||0
|"draw the rays"||??
|-
|bool||[[env_show_stairflagged]]||0
|"show specially flagged noncollision quads"<br>(not sure what this was supposed to do, but the dev keys for "Character collision" (Ctrl-Shift-T) and "Invisible quads" (Ctrl-Shift-I) will show stair collision ramps)||??
|-
|bool||[[fast_lookup]]||1
|"enables fast lookup"||??
|-
|bool||[[fast_mode]]||0
|"makes the game run fast" (only if '''draw_every_frame''' is disabled)||OK
|-
|float||[[flag_name_distance]]||150.0
|"specifies the distance from the camera that flag names no longer draw"<br>(probably needs show_flags)||??
|-
|int32||[[flag_new_id]]||'''$ !!!'''
|"specifies the id for a new flag"<br>(equal to the last flag added at level load)||??
|-
|bool||[[footstep_flash]]||0
|"footstep flash mode"||OK
|-
|float||[[fx_laser_width]]||0.2
|width of lasers (weapons and triggers)||OK
|-
|bool||[[gl_disable_depth_reads]]||0
|"disable_depth_reads"||??
|-bgcolor=#ccccff
|bool||[[gl_disable_dxt1]]||0
|"lets you disable use of DXT1"||??
|-bgcolor=#ccccff
|bool||[[gl_disable_packed_pixels]]||0
|"lets you disable packed-pixels support"||??
|-
|float||[[gl_fog_blue]]||'''0.25 !!!'''
|"fog blue"<br>(amount: 0 to 1)||OK
|-
|float||[[gl_fog_end]]||'''1. !!!'''
|"fog end" in frustum space||OK
|-
|float||[[gl_fog_green]]||'''0.25 !!!'''
|"fog green"<br>(amount: 0 to 1)||OK
|-
|float||[[gl_fog_red]]||'''0.25 !!!'''
|"fog red"<br>(amount: 0 to 1)||OK
|-
|float||[[gl_fog_start]]||'''0.975 !!!'''
|"fog start" in frustum space||OK
|-bgcolor=#ccccff
|int32||[[gl_mipmap_offset]]||0
|"lets you disable miplevels (-ve = disable big, +ve = disable small)"||??
|-
|float||[[gs_input_accel]]||5.0
|"use this to control the input sensitivity" (affects the camera movement keys for the free-roaming camera in [[Dev Mode]])||OK
|-
|int32||[[gs_screen_shot_reduce]]||0
|"2^n amount of reduction"||OK
|-
|bool||[[gs_show_characters]]||1
|"turns on the drawing of characters"||OK
|-
|bool||[[gs_show_corpses]]||1
|"show corpses"||OK
|-
|bool||[[gs_show_environment]]||1
|"turns on doing the environment"||OK
|-
|bool||[[gs_show_object_count]]||0
|"shows the count of objects"||??
|-
|bool||[[gs_show_objects]]||1
|"turns on the drawing of objects"||OK
|-
|bool||[[gs_show_particles]]||1
|"turns on the drawing of particles"||OK
|-
|bool||[[gs_show_physics_count]]||0
|"shows the count of physics"||??
|-
|-
|bool||ai2_blind||'''0'''||turns off the AI's visual sensing system||OK
|bool||[[gs_show_scripting_count]]||0
|"shows the count of active scripting contexts"||??
|-
|-
|bool||ai2_boss_battle||'''0'''||enables AI boss-battle target selection||??
|bool||[[gs_show_shadows]]||1
|"enables character shadows"||OK
|-
|-
|bool||ai2_chump_stop||'''0'''||"stops the chump"||??
|bool||[[gs_show_sky]]||1
|"turns on the sky"||??
|-
|-
|bool||ai2_deaf||'''0'''||turns off the AI's sound sensing system||OK
|bool||[[gs_show_ui]]||1
|"turns on the ui" (aka HUD)||OK
|-
|-
|int32||ai2_debug_localmove_lines||20||number of lines to cast to debug local-movement code||??
|bool||[[gs_sleep]]||0
|"turns on a call to sleep to make debugging easier"||??
|-
|bool||[[gs_stable_ear]]||1
|"makes the ear stable"||??
|-
|bool||[[invincible]]||'''0 !!!'''
|"makes player invincible"||OK
|-
|bool||[[laser_alpha]]||0
|WTF? lasers are always transparent (As I can see in SRC, this variable changes laser texture from '''non-transparent''' BGR555 <u>with</u> AdditiveBlend parameter to '''transparent''' ABGR4444 <u>without</u> AdditiveBlend.)||??
|-bgcolor="lime"
|-bgcolor="lime"
|bool||ai2_debug_localmovement||0||debug local-movement code from player's position||OK
|bool||[[li_center_cursor]]||1
|"should we center the cursor"||OK
|-
|-
|bool||ai2_debug_localpathfinding||0||debug local-path code from player's position and facing||OK
|bool||[[m3_buffer_clear]]||1
|"toggles buffer clear"||OK
|-
|-
|bool||ai2_debug_showsettingIDs||0||shows ID numbers for combat, melee and neutral settings||??
|int32||[[m3_clear_color]]||0
|"color to clear the back buffer to" (color behind skybox)<br>(actually a 32-bit RGB integer; can calculate it with [http://www.shodor.org/stella2java/rgbint.html this site])||OK
|-
|-
|bool||ai2_ignore_player||'''0'''||makes all AI ignore the player||OK
|bool||[[m3_double_buffer]]||1
|"toggles double buffer mode" (may interrupt rendering if disabled! use with caution)||OK!
|-
|-
|bool||ai2_melee_weightcorrection||1||weights down non-attack techniques so they are never more than attacks||??
|bool||[[m3_fill_solid]]||1
|"toggles wireframe/solid"||OK
|-
|-
|bool||ai2_printspawn||0||prints information about each AI spawn||??
|bool||[[m3_shade_vertex]]||1
|"vertex shader on/off"||OK
|-
|-
|bool||ai2_showactivationpaths||0|| ||
|bool||[[m3_texture]]||1
|0 >> crash ^^||OK!
|-
|-
|bool||ai2_showastar||0|| ||  
|bool||[[m3_zcompareon]]||1
|"true if zcompare is on"||OK
|-
|-
|bool||ai2_showcombatranges||0|| ||  
|bool||[[marketing_line_off]]||'''0 !!!'''
|"turns the laser line off"||OK
|-bgcolor=#ccccff
|float||[[mouse_acceleration]]||0.75
|"sets the mouse acceleration value"||OK
|-
|-
|bool||ai2_showconnections||0|| ||
|bool||[[ob_show_debug]]||0
|"enable physics debugging visuals"<br>(shows spheres for doors etc)||OK
|-
|-
|bool||ai2_showdynamicgrids||0|| ||
|bool||[[omnipotent]]||'''0 !!!'''
|"makes player omnipotent"||OK
|-
|-
|bool||ai2_showfights||0|| ||  
|int32||[[p3_debug_collision]]||256
|"enables collision debugging display"<br>(actually a boolean; only the low bit counts)||OK
|-
|-
|bool||ai2_showfiringspreads||0|| ||
|bool||[[p3_everything_breakable]]||0
|"makes every quad breakable"||OK
|-
|-
|bool||ai2_showgrids||0|| ||
|bool||[[p3_furniture_breakable]]||0
|"makes all furniture breakable"||OK
|-
|-
|bool||ai2_showhealth||0|| ||  
|bool||[[p3_glass_breakable]]||1
|"enables breakable glass"||OK
|-
|-
|bool||ai2_showintersections||0|| ||
|bool||[[p3_show_env_collision]]||0
|"draws particle / environment collisions"||OK
|-
|-
|bool||ai2_showjoblocations||0|| ||  
|float||[[patrolpath_name_distance]]||150.0
|"specifies the distance from the camera that patrol point names no longer draw"<br>(probably needs show_patrolpaths)||bgcolor=#ccccff|OK-M
|-
|-
|bool||ai2_showlasers||0|| ||  
|bool||[[ph_active]]||1
|"enable physics"||OK
|-
|-
|bool||ai2_showlinetochar||0|| ||
|bool||[[ph_debug_keyforces]]||0
|"toggle keyboard applied forces"||??
|-
|-
|bool||ai2_showlocalmelee||0|| ||
|bool||[[ph_show_collisions]]||0
|"toggle display of colliding quads"<br>(also see show_chr_env_collision)||OK
|-
|-
|bool||ai2_showlos||0|| ||
|float||[[recoil_base]]||0.0
|"base" (for current ONWC; needs recoil_edit)||OK
|-
|-
|bool||ai2_shownames||0|| ||
|bool||[[recoil_edit]]||0
|"enables editable recoil"<br>||OK
|-
|-
|bool||ai2_showpathfindingerrors||0|| ||
|float||[[recoil_factor]]||0.0
|"factor" (for current ONWC; needs recoil_edit)||OK
|-
|-
|bool||ai2_showpaths||0|| ||
|float||[[recoil_max]]||0.0
|"factor" (for current ONWC; needs recoil_edit)||OK
|-
|-
|bool||ai2_showprediction||0|| ||
|float||[[recoil_return_speed]]||0.0
|"factor" (for current ONWC; needs recoil_edit)||OK
|-
|-
|bool||ai2_showprojectiles||0|| ||  
|int32||[[save_point]]||'''$ !!!'''
|"which save point we are on"<br>(gets the current save point, which is set by Oni based on the player's choice of Save Point on the Load Game screen)||OK
|-
|-
|bool||ai2_showsounds||0|| ||  
|int32||[[saved_film_character_offset]]||1
|"dumps the filmed animation data of the player to file"||OK?
|-
|-
|bool||ai2_showtargeting||0|| ||
|bool||[[saved_film_loop]]||0
|enables looping when '''play_record'''ing||OK
|-
|-
|bool||ai2_showvision||0|| ||  
|string||[[sc_bind_f2]]||""
|name of animation bound to '''cutscene1'''||OK
|-
|-
|int32||ai2_spacing_cookies||2|| ||  
|string||[[sc_bind_f3]]||""
|name of animation bound to '''cutscene2'''||OK
|-
|-
|bool||ai2_spacing_enable||1|| ||  
|bool||[[show_characters]]||0
|"enables the display of character starting positions"<br>(see BINA/OBJC/CHAR)||bgcolor=#ccccff|OK-M
|-
|-
|bool||ai2_spacingweights||1|| ||  
|bool||[[show_chr_env_collision]]||0
|"draws character / environment collisions"<br>(shows all quads that character touches, unlike ph_show_collisions which only shows quad you are standing on)||OK
|-
|-
|int32||ai2_stopignoring_count||6||number of events before the AI will stop ignoring||??
|bool||[[show_flags]]||0
|"enables the display of flags"<br>(see BINA/OBJC/FLAG)||bgcolor=#ccccff|OK-M
|-
|-
|int32||ai2_stopignoring_time||240||time before the AI forgets about ignored events, in frames||??
|bool||[[show_laser_env_collision]]||0
|-bgcolor="silver"
|"draws laser / environment collisions"<br>(works with any loaded gun)||OK
|bool||am_hit_everything||0||makes the laser pointer hit all objects||??
|-bgcolor="silver"
|bool||am_invert||'''??'''||inverts aiming||OK
|-bgcolor="silver"
|bool||am_show_axes|| || ||
|-bgcolor="silver"
|bool||am_show_closest|| || ||
|-bgcolor="silver"
|bool||am_show_filenames|| || ||
|-bgcolor="silver"
|bool||character_name_distance|| || ||
|-bgcolor="silver"
|bool||chr_active||1||enables character activity||OK
|-bgcolor="silver"
|float||chr_aim_width||70.||width of the aiming arc, in degrees||OK
|-bgcolor="silver"
|bool||chr_all_active||0||forces all characters to be active||OK
|-bgcolor="silver"
|float||chr_auto_aim_arc||90.||width of the auto aiming arc, in degrees||OK
|-bgcolor="silver"
|float||chr_auto_aim_dist||40.||threshold distance for auto aiming, in world units||OK
|-
|-
|bool||chr_big_head||'''0'''||enables custom head size factor for all characters||OK
|bool||[[show_patrolpaths]]||0
|-bgcolor="silver"
|"enables the display of AI patrol path objects"<br>(see BINA/OBJC/PATR)||bgcolor=#ccccff|OK-M
|float||chr_big_head_amount||4.||custom head size factor for all characters||OK
|-bgcolor="silver"
|float||chr_block_angle||20.||width of the blocking angle, in degrees||OK
|-bgcolor="silver"
| ||chr_buffer_size|| || ||
|-bgcolor="silver"
| ||chr_collision_box|| || ||
|-bgcolor="silver"
| ||chr_collision_grow|| || ||
|-bgcolor="silver"
|bool||chr_corpse_fade_offscreen||1||makes characters fade to corpses when offscreen||??
|-bgcolor="silver"
|int32||chr_death_fade_frames||180||time over which characters fade to corpses, in frames||??
|-bgcolor="silver"
|int32||chr_death_fade_start||7200||time until characters fade to corpses, in frames||??
|-bgcolor="silver"
|bool||chr_debug_aiming_screen||0||enables dumping of aiming screen events to '''console'''||OK
|-bgcolor="silver"
| ||chr_debug_characters|| || ||
|-bgcolor="silver"
| ||chr_debug_collision|| || ||
|-bgcolor="silver"
| ||chr_debug_fall|| || ||
|-bgcolor="silver"
| ||chr_debug_footsteps|| || ||
|-bgcolor="silver"
| ||chr_debug_footsteps_verbose|| || ||
|-bgcolor="silver"
| ||chr_debug_handle|| || ||
|-bgcolor="silver"
| ||chr_debug_impacts|| || ||
|-bgcolor="silver"
| ||chr_debug_overlay|| || ||
|-bgcolor="silver"
| ||chr_debug_pathfinding|| || ||
|-bgcolor="silver"
| ||chr_debug_sphere|| || ||
|-bgcolor="silver"
| ||chr_debug_target|| || ||
|-bgcolor="silver"
| ||chr_debug_trigger_quad|| || ||
|-bgcolor="silver"
|bool||chr_disable_melee||0||turns off all melee damage||??
|-bgcolor="silver"
|bool||chr_disable_visactive||0||disables visibility activation||OK
|-bgcolor="silver"
|bool||chr_draw_aiming_vector||0||enables drawing of the aiming vector||OK
|-bgcolor="silver"
| ||chr_draw_all_characters|| || ||
|-bgcolor="silver"
| ||chr_draw_facing_vector|| || ||
|-bgcolor="silver"
| ||chr_draw_weapon|| || ||
|-bgcolor="silver"
|bool||chr_enable_collision||1||enables character collision||OK
|-bgcolor="silver"
|int32||chr_lod||-1||character LOD (-1 = AUTO, 0 = xlow, ..., 4 = xhigh)||OK
|-bgcolor="silver"
|bool||chr_mini_me||0||enables custom size factor for the main character||OK
|-bgcolor="silver"
|float||chr_mini_me_amount||0.5||custom size factor for the main character||OK
|-bgcolor="silver"
|bool||chr_pin_character||0||pins all characters (freezes coordinates)||OK
|-bgcolor="silver"
| ||chr_print_sound|| || ||
|-bgcolor="silver"
| ||chr_show_bnv|| || ||
|-bgcolor="silver"
| ||chr_show_lod|| || ||
|-bgcolor="silver"
| ||chr_show_movement|| || ||
|-bgcolor="silver"
|bool||chr_weapon_auto_aim||1||enables auto aiming||OK
|-bgcolor="silver"
|float||cinematic_xoffset||20.||offset from the vertical edge of the screen for the cinematic insert||??
|-bgcolor="silver"
|float||cinematic_yoffset||65.||offset from the horizontal edge of the screen for the cinematic insert||??
|-bgcolor="silver"
|float||cm_canter_unarmed||7.||camera canter in melee, in degrees||OK
|-bgcolor="silver"
|float||cm_canter_weapon||8.||camera canter when aiming, in degrees||OK
|-bgcolor="silver"
|float||cm_distance||33.||camera distance to target, in world units||OK
|-bgcolor="silver"
|float||cm_height||15.||camera target height to feet, in world units||OK
|-bgcolor="silver"
|int32||cm_jello_amt||20||percentage of wall transparency in [[Jello]] mode||OK
|-bgcolor="silver"
|float||cm_jello_radius||12.||radius of effect of [[Jello]] mode||OK
|-bgcolor="silver"
|float||cm_lookspring_percent||0.5||percentage of lookspring at which fight mode turns off||??
|-bgcolor="silver"
|bool||cm_plane_test||1||enables plane test for [[Jello]] camera||??
|-bgcolor="silver"
| ||co_display|| || ||
|-bgcolor="silver"
| ||co_fade_time|| || ||
|-bgcolor="silver"
| ||co_message_display|| || ||
|-bgcolor="silver"
| ||co_priority|| || ||
|-bgcolor="silver"
| ||debug_consoles|| || ||
|-bgcolor="red"
| ||debug_font_cache|| || ||
|-bgcolor="silver"
| ||debug_gun_behavior|| || ||
|-bgcolor="silver"
| ||debug_impacts|| || ||
|-bgcolor="silver"
| ||debug_scripts|| || ||
|-bgcolor="silver"
| ||debug_triggers|| || ||
|-bgcolor="silver"
| ||debug_weapons|| || ||
|-bgcolor="silver"
| ||door_drawframes|| || ||
|-bgcolor="silver"
|bool||door_ignore_locks||0||disables all door locks||OK
|-bgcolor="silver"
| ||door_pop_lighting|| || ||
|-bgcolor="silver"
| ||door_show_activation|| || ||
|-bgcolor="silver"
| ||door_show_debug|| || ||
|-bgcolor="silver"
| ||draw_every_frame|| || ||
|-bgcolor="silver"
| ||draw_every_frame_multiple|| || ||
|-bgcolor="silver"
|bool||env_collision||1||enables environment collision||??
|-bgcolor="silver"
| ||env_drawallgqs|| || ||
|-bgcolor="silver"
| ||env_drawfrustum|| || ||
|-bgcolor="silver"
| ||env_drawvisonly|| || ||
|-bgcolor="silver"
| ||env_highlight_gq|| || ||
|-bgcolor="silver"
| ||env_ray_number|| || ||
|-bgcolor="silver"
| ||env_show_ghostgqs|| || ||
|-bgcolor="silver"
| ||env_show_leafnodes|| || ||
|-bgcolor="silver"
| ||env_show_octnode_gqs|| || ||
|-bgcolor="silver"
| ||env_show_octtree|| || ||
|-bgcolor="silver"
| ||env_show_quad_count|| || ||
|-bgcolor="silver"
| ||env_show_rays|| || ||
|-bgcolor="silver"
| ||env_show_stairflagged|| || ||
|-bgcolor="silver"
| ||fast_lookup|| || ||
|-bgcolor="silver"
| ||fast_mode|| || ||
|-bgcolor="silver"
| ||flag_name_distance|| || ||
|-bgcolor="silver"
| ||flag_new_id|| || ||
|-bgcolor="silver"
| ||footstep_flash|| || ||
|-bgcolor="silver"
| ||fx_laser_width|| || ||
|-bgcolor="silver"
|bool||gl_disable_depth_reads||0||disables depth reads||??
|-bgcolor="red"
| ||gl_disable_dxt1|| || ||
|-bgcolor="red"
| ||gl_disable_packed_pixels|| || ||
|-
|-
|float||gl_fog_blue||'''0.25'''||amount of blue fog (0 - 1)||OK
|bool||[[show_performance]]||0
|"enables performance display"<br>(shows FPS counter)||OK
|-
|-
|float||gl_fog_end||'''1.'''||fog end||OK
|bool||[[show_performance_gsd]]||0
|??||??
|-
|-
|float||gl_fog_green||'''0.25'''||amount of green fog (0 - 1)||OK
|bool||[[show_performance_gsu]]||0
|??||??
|-
|-
|float||gl_fog_red||'''0.25'''||amount of red fog (0 - 1)||OK
|bool||[[show_sound_all]]||0
|"sound rings will always be drawn, not just when a sound is selected"<br>(environment sounds, see BINA/OBJC/SNDG)||bgcolor=#ccccff|OK-M
|-
|-
|float||gl_fog_start||'''0.975'''||fog start||OK
|bool||[[show_sound_rectangles]]||0
|-bgcolor="red"
|"sound rectangles will always be drawn, not just when a sound Rectangle is selected"<br>(environment sounds, see BINA/OBJC/SNDG)||bgcolor=#ccccff|OK-M
| ||gl_mipmap_offset|| || ||
|-bgcolor="silver"
| ||gs_input_accel|| || ||
|-bgcolor="silver"
| ||gs_screen_shot_reduce|| || ||
|-bgcolor="silver"
| ||gs_show_characters|| || ||
|-bgcolor="silver"
|bool||gs_show_corpses||1||enables drawing of corpses||OK
|-bgcolor="silver"
| ||gs_show_environment|| || ||
|-bgcolor="silver"
| ||gs_show_object_count|| || ||
|-bgcolor="silver"
| ||gs_show_objects|| || ||
|-bgcolor="silver"
| ||gs_show_particles|| || ||
|-bgcolor="silver"
| ||gs_show_physics_count|| || ||
|-bgcolor="silver"
| ||gs_show_scripting_count|| || ||
|-bgcolor="silver"
| ||gs_show_shadows|| || ||
|-bgcolor="silver"
| ||gs_show_sky|| || ||
|-bgcolor="silver"
|bool||gs_show_ui||1||enables Head-Up Display||OK
|-bgcolor="silver"
| ||gs_sleep|| || ||
|-bgcolor="silver"
| ||gs_stable_ear|| || ||
|-
|-
|bool||invincible||'''0'''||makes player invincible||OK
|bool||[[show_sound_spheres]]||0
|-bgcolor="silver"
|"sound spheres will always be drawn, not just when a sound sphere is selected"<br>(environment sounds, see BINA/OBJC/SNDG)||bgcolor=#ccccff|OK-M
| ||laser_alpha|| || ||  
|-
|-bgcolor="lime"
|bool||[[show_triggers]]||1
| ||li_center_cursor|| || ||  
|"enables the display of triggers"<br>(see BINA/OBJC/TRIG)||OK
|-bgcolor="silver"
|-
| ||m3_buffer_clear|| || ||  
|bool||[[show_triggervolumes]]||0
|-bgcolor="silver"
|"Display trigger volumes"||OK-D
| ||m3_clear_color|| || ||  
|-
|-bgcolor="silver"
|bool||[[show_turrets]]||1
| ||m3_double_buffer|| || ||  
|"enables the display of turrets"<br>(see BINA/OBJC/TURR)||OK
|-bgcolor="silver"
|-
| ||m3_fill_solid|| || ||  
|bool||[[single_step]]||0
|-bgcolor="silver"
|"puts the game in single step mode" (see [[Developer_Mode#Features]] for single-step control)||OK!
| ||m3_shade_vertex|| || ||  
|-
|-bgcolor="silver"
|float||[[sky_height]]||'''0. !!!'''
| ||m3_texture|| || ||  
|Y offset of skybox?||??
|-bgcolor="silver"
|-
| ||m3_zcompareon|| || ||  
|bool||[[sky_show_clouds]]||1
|"toggles display of the clouds"||??
|-
|bool||[[sky_show_planet]]||1
|"toggles display of the planet (sun/moon)"<br>(sun present only in levels 2 and 3)||OK
|-
|bool||[[sky_show_sky]]||1
|"toggles display of the sky" (master switch)||OK
|-
|bool||[[sky_show_skybox]]||1
|"toggles display of the skybox"||OK
|-
|bool||[[sky_show_stars]]||1
|"toggles display of the stars"<br>(no stars in any level)||??
|-
|bool||[[sound_show_debug]]||0
|"displays sound debugging info"<br>(shows a HUD with info on currently playing sounds; on Macs, sound spheres are also displayed)||OK
|-bgcolor=#ccccff
|bool||[[sound_show_occlusions]]||0
|"enables debugging display of sound occlusions"<br>(shows lines from sound sources to listeners)||OK
|-
|bool||[[spatial_footsteps]]||1
|"spatial footsteps"||??
|-
|-
|bool||marketing_line_off||0||turns the laser sight off||OK
|bool||[[sync_debug]]||0
|-bgcolor="silver"
|"enables sync debugging"<br>(prints a message to screen with how many frames were dropped during a cutscene; see function <tt>cutscene_sync</tt>)||NO
| ||ob_show_debug|| || ||  
|-
|-
|bool||omnipotent||'''0'''||makes player omnipotent||OK
|float||[[target_max_distance]]||75000.
|"Sets the distance at which the radar will start to change from its minimum"||OK
|-
|-
| ||p3_debug_collision|| || ||  
|bool||[[turret_show_debug]]||0
|"enables the display of turret debug lines"||bgcolor=#ccccff|OK-M
|-
|-
| ||p3_everything_breakable|| || ||  
|bool||[[ui_suppress_prompt]]||'''0 !!!'''
|"suppresses UI prompting about new objectives or moves"<br>(and saved games and training tips and such)||OK
|-
|-
| ||p3_furniture_breakable|| || ||  
|bool||[[unstoppable]]||'''0 !!!'''
|makes player unstoppable||OK
|-
|-
| ||p3_glass_breakable|| || ||  
|bool||[[wait_for_key]]||0
|"makes the game wait for a key before level load"||OK
|-
|-
| ||p3_show_env_collision|| || ||  
|bool||[[wp_disable_fade]]||0
|-bgcolor="silver"
|"disables weapon fading"||OK
| ||patrolpath_name_distance|| || ||  
|-
|-
| ||ph_active|| || ||  
|int32||[[wp_fadetime]]||360
|"sets free time for powerups"||OK-D
|-
|-
| ||ph_debug_keyforces|| || ||  
|bool||[[wp_force_half_scale]]||0
|crosshairs scale with distance, pow_adjustment redundant||OK
|-
|-
| ||ph_show_collisions|| || ||
|bool||[[wp_force_no_scale]]||0
|-bgcolor="silver"
|crosshairs don't scale with distance, pow_adjustment ineffective||OK
| ||recoil_base|| || ||
|-bgcolor="silver"
| ||recoil_edit|| || ||
|-bgcolor="silver"
| ||recoil_factor|| || ||
|-bgcolor="silver"
| ||recoil_max|| || ||  
|-bgcolor="silver"
| ||recoil_return_speed|| || ||  
|-
|-
|int32||save_point||'''??'''||which save point we are on||OK
|bool||[[wp_force_scale]]||0
|-bgcolor="silver"
|crosshairs scale with distance, pow_adjustment ineffective||OK
| ||saved_film_character_offset|| || ||
|-bgcolor="silver"
| ||saved_film_loop|| || ||
|-bgcolor="silver"
| ||sc_bind_f2|| || ||
|-bgcolor="silver"
| ||sc_bind_f3|| || ||
|-bgcolor="silver"
| ||show_characters|| || ||
|-bgcolor="silver"
| ||show_chr_env_collision|| || ||
|-bgcolor="silver"
| ||show_flags|| || ||
|-bgcolor="silver"
| ||show_laser_env_collision|| || ||
|-bgcolor="silver"
| ||show_patrolpaths|| || ||
|-bgcolor="silver"
| ||show_performance|| || ||
|-bgcolor="silver"
| ||show_performance_gsd|| || ||
|-bgcolor="silver"
| ||show_performance_gsu|| || ||
|-bgcolor="silver"
| ||show_sound_all|| || ||
|-bgcolor="silver"
| ||show_sound_rectangles|| || ||
|-bgcolor="silver"
| ||show_sound_spheres|| || ||
|-bgcolor="silver"
| ||show_triggers|| || ||
|-bgcolor="silver"
| ||show_turrets|| || ||
|-bgcolor="silver"
| ||single_step|| || ||
|-bgcolor="silver"
| ||sky_height|| || ||
|-bgcolor="silver"
| ||sky_height|| || ||
|-bgcolor="silver"
| ||sky_show_clouds|| || ||
|-bgcolor="silver"
| ||sky_show_planet|| || ||
|-bgcolor="silver"
| ||sky_show_sky|| || ||
|-bgcolor="silver"
| ||sky_show_skybox|| || ||
|-bgcolor="silver"
| ||sky_show_stars|| || ||
|-
|-
| ||sound_show_debug|| || ||  
|int32||[[wp_hypostrength]]||25
|-bgcolor="silver"
|"sets strength of hypo spray"<br>apparently in % of full health, seems hard-coded||??
| ||spatial_footsteps|| || ||
|-bgcolor="silver"
| ||sync_debug|| || ||
|-bgcolor="silver"
|float||target_max_distance||75000.||distance to objective over which the radar arc changes size, in world units||OK
|-bgcolor="silver"
| ||turret_show_debug|| || ||  
|-
|-
|bool||ui_suppress_prompt||0||suppresses HUD prompting about new objectives or moves||OK
|bool||[[wp_kickable]]||0
|"lets the player kick weapons"<br>(actually lets everyone ''but'' the player collide with guns)||OK
|-
|-
|bool||unstoppable||'''0'''||makes player unstoppable||OK
|float||[[wp_pow_adjustment]]||0.3
|-bgcolor="silver"
|scales crosshair separately (or not, depending on "force" flags)||OK
|bool||wait_for_key||0||makes the game wait for a key before level load||OK
|-
|-
|bool||wp_disable_fade||0||disables weapon fading||OK
|float||[[wp_scale_adjustment]]||1.
|-bgcolor="silver"
|adjusts scales||OK
|int32||wp_fadetime||360||free time for powerups||??
|-bgcolor="silver"
|bool||wp_force_half_scale||0||??||??
|-bgcolor="silver"
|bool||wp_force_no_scale||0||forces the aiming circle to not scale from distance||OK
|-bgcolor="silver"
|bool||wp_force_scale||0||??||??
|-bgcolor="silver"
|int32||wp_hypostrength||25||strength of hypo spray (in per cent of full health)||OK
|-bgcolor="silver"
|bool||wp_kickable||0||lets ''everyone but the player'' collide with weapons||OK
|-bgcolor="silver"
|float||wp_pow_adjustment||0.3||??||??
|-bgcolor="silver"
|float||wp_scale_adjustment||1.||adjust the size of the green aiming circle||OK
|}
|}
[[Category:BSL docs]]

Revision as of 20:16, 15 April 2023

To learn how to declare and use variables, read the BSL manual's Variables section. This page documents Oni's built-in (or "native") scripting variables. The other half of the available scripting commands are in BSL:Functions.

Legend

Color
White: available in all versions
Blue: command only exists in Mac Intel build
Green: command only exists in Windows build
Default value
[#] !!!: reset to this number on level-load
$ !!!: set based on persist.dat at game/level-load
Works
"OK": both platforms can use this command
"OK-D": both platforms can use this command, but Windows Oni requires the Daodan DLL
"OK-M": the command only works on Intel Macs
"OK?": confirmation/refinement required
"OK!": apparently works but makes the game crash/hang/etc. Use with caution if at all.
"??": command may not work
"NO": command is proven not to work

Built-in variables

Type Name Default value Comment Works
bool ai2_barabbas_run 1 "lets Barabbas run while carrying his gun" OK
bool ai2_blind 0 !!! "turns off the AI's visual sensing system" OK
bool ai2_boss_battle 0 !!! "enables AI boss-battle target selection"
used in compound: apparently makes Muro's friends focus on yours rather than on you. Only seems to have effect on Boss flagged characters at BINACJBOCharacter file. It seems that makes other characters try to ignore the Boss flagged character and make the Boss flagged character focus on the player rather the other characters.
OK
bool ai2_chump_stop 0 !!! "stops the chump"
disables the pathfinding behaviour of chump(s)
OK
bool ai2_deaf 0 !!! "turns off the AI's sound sensing system" OK
int32 ai2_debug_localmove_lines 20 "number of lines to cast to debug local-movement code" OK
bool ai2_debug_localmovement 0 "debug local-movement code from player's position" OK
bool ai2_debug_localpathfinding 0 "debug local-path code from player's position and facing" OK
bool ai2_debug_showsettingIDs 0 "shows ID numbers for combat, melee and neutral settings" ??
bool ai2_ignore_player 0 !!! "makes all AI ignore the player" OK
bool ai2_melee_weightcorrection 1 "weights down non-attack techniques so they are never more than attacks" ??
bool ai2_printspawn 0 "prints information about each AI spawn" OK
bool ai2_showactivationpaths 0 "turns on inactive ==> active pathfinding rendering" OK
bool ai2_showastar 0 "shows grid squares that are evaluated by the A* pathfinding" OK-M
bool ai2_showcombatranges 0 "shows circles that represent the combat ranges of each AI" OK
bool ai2_showconnections 0 "turns on pathfinding connection rendering"
(result of a call to ai2_findconnections)
OK
bool ai2_showdynamicgrids 0 "turns on pathfinding dynamic grid display"
(moving obstacles; needs ai2_showgrids)
OK
bool ai2_showfights 0 "shows fights in progress" OK?
bool ai2_showfiringspreads 0 "shows AI firing spread knowledge" OK
bool ai2_showgrids 0 "turns on pathfinding grid rendering"
(static grids; see AKVA)
OK
bool ai2_showhealth 0 "draws a health bar for every AI above their head" OK
bool ai2_showintersections 0 "debug AI's melee intersections" ??
bool ai2_showjoblocations 0 "draws a green cross at each AI's job location" OK?
bool ai2_showlasers 0 "turns on laser sights for AI2 characters" ??
bool ai2_showlinetochar 0 "draws a line from the player to every AI"
(to be precise, it draws a line from the player to every spawned AI character, be it via ai2_spawn or via chr_create)
  • green line: AI character is active and drawn
  • blue line: AI character is active, but not drawn
  • red line: AI character is inactive

Related BSL functions: chr_draw_all_characters, chr_lock_active, chr_unlock_active
Related BSL variables: chr_all_active

OK
bool ai2_showlocalmelee 0 "shows local-environment melee awareness" OK?
bool ai2_showlos 0 "shows AI line-of-sight checking"
(LOS of all aiming AI leaves a permanent trace)
OK
bool ai2_shownames 0 "draws the name of every AI above their head" OK
bool ai2_showpathfindingerrors 0 "enables visual display of pathfinding errors" OK?
bool ai2_showpaths 0 "shows the path each AI is following" OK
bool ai2_showprediction 0 "shows prediction info for AI2 characters"
(player's "predicted" position is shown etc)
OK
bool ai2_showprojectiles 0 "shows AI projectile knowledge" OK
bool ai2_showsounds 0 "shows AI sounds as they are generated" OK
bool ai2_showtargeting 0 "shows targeting info for AI2 characters" OK
bool ai2_showvision 0 "shows each AI's vision cones (central and peripheral)" OK
int32 ai2_spacing_cookies 2 "number of cookies per fight"
the more cookies, the more attacks: 0 means nothing but maneuver
OK
bool ai2_spacing_enable 1 "master enable switch for spacing behavior" OK?
bool ai2_spacing_weights 1 "enables position-sensitive weighting of spacing behaviors" OK?
int32 ai2_stopignoring_count 6 "set the number of events before the AI will stop ignoring" ??
int32 ai2_stopignoring_time 240 "set the delay timer before the AI forgets about ignored events" ??
bool am_hit_everything 0 "makes the laser pointer hit all objects"
(determines whether the gun's aiming laser stops at quads marked with non-object-collision)
OK-M
bool am_invert $ !!! "inverts aiming" This is set from persist.dat at game load (in the absence of persist.dat the default is 0).
The value 0 means normal aiming (mouse up to look up). The value 1 means inverted aiming (mouse down to look up). Unlike the backwards "Invert Mouse" checkbox on the Options screen (fixed in the AE), this variable does not work the opposite of how you would expect.
OK
bool am_show_axes 0 "shows world axes"
This attaches a giant 3D axis to Konoko which claims to show the direction of positive x, y, and z in the world coordinate system, however it is wrong. Oni uses a Y-up coordinate system; do not let the world axis model showing Z-up mislead you.
OK-M
bool am_show_closest 0 "dumps the closest GQ index to console"
(continuously prints to console the nearest gunk quad's number followed by two other unhelpful pieces of info)
OK
bool am_show_filenames 0 "dumps the closest GQ index file/obj name to console"
(displays lots of info on-screen, not in console, about quad you are aiming weapon at, but no file names)
OK-M
bool am_show_texturenames 0 "Shows Texture name"
(displays name of texture you are aiming weapon at, as well as coordinates of reticle)
OK
float character_name_distance 150. "specifies the distance from the camera that character names no longer draw"
(probably needs show_characters)
OK-M
bool chr_active 1 "enables character activity"
(0 freezes animation etc)
OK
float chr_aim_width 70. "number of degress of aiming width"
width of the aiming arc, in degrees
OK
bool chr_all_active 0 "forces all characters to be active" OK
float chr_auto_aim_arc 90. "number of degress of auto aiming arc"
width of the auto aiming arc, in degrees
OK
float chr_auto_aim_dist 40. "distance for auto aiming"
upper threshold, in world units
OK
bool chr_big_head 0 !!! "draws everyone with a big head"
(head size set by chr_big_head_amount)
OK
float chr_big_head_amount 4. "Controls the size of the big head" OK
float chr_block_angle 20. "controls the angle at which the characters can block" OK
int32 chr_buffer_size 8 "0 = normal buffer, otherwise buffer duration" ??
bool chr_collision_box 1 "toggles character bounding box / bounding sphere collision" ??
float chr_collision_grow 0. "sets character bounding box collision grow amount" ??
bool chr_corpse_fade_offscreen 1 "makes corpses fade when they are offscreen" ??
int32 chr_death_fade_frames 180 "the number of game ticks until charaters fade over" ??
int32 chr_death_fade_start 7200 "the number of game ticks until charaters begin to fade" ??
bool chr_debug_aiming_screen 0 "turns on aiming screen debugging"
(dumps AS changes to console)
OK
bool chr_debug_characters 0 "enables debugging information for characters"
(shows currently playing animation)
OK
bool chr_debug_collision 0 "turns on/off debugging of collision"
(melee collision info written to console)
OK
bool chr_debug_fall 0 "controls debugging falling"
(dumps events to console)
OK
bool chr_debug_footsteps 0 "footstep debugging mode"
(dumps events to console)
OK
bool chr_debug_footsteps_verbose 0 "verbose footstep debugging mode"
(dumps anim/type/frame to console)
OK
bool chr_debug_handle 0 "turns on debugging for the handle code"
(dumps events to console)
OK
bool chr_debug_impacts 0 "prints debugging info about character melee impacts"
(to console)
OK
bool chr_debug_overlay 0 "enables debugging information for overlays" OK
bool chr_debug_pathfinding 0 "control pathfinding debugging" OK
bool chr_debug_sphere 0 "enables sphere tree debugging for characters"
(draws collision spheres for every character)
OK
int32 chr_debug_target 0 "selects the character debugging target"
(used by all debugging routines)
OK
bool chr_debug_trigger_quad 0 "controls trigger quad debugging"
(draws characters as vertical lines)
OK
bool chr_disable_melee 0 "turns off all melee damage"
(also disables knockdowns; does NOT disable throws)
OK
bool chr_disable_visactive 0 "disables visibility activation" OK
bool chr_draw_aiming_vector 0 "enables drawing of the aiming vector" OK
bool chr_draw_all_characters 0 "forces the drawing of all characters"
(also keeps them active)
OK
bool chr_draw_facing_vector 0 "enables drawing of the facing vector" OK
bool chr_draw_weapon 1 "controls drawing of weapons" OK
bool chr_enable_collision 1 "enables character collision"
(does NOT prevent throws if disabled)
OK
int32 chr_lod -1 "forces a given lod if it is between 0 and 4"
(uses automatic LOD otherwise)
OK
bool chr_mini_me 0 "decreases the size of the main character"
(Actually, this command allows the character to be made smaller or larger. The custom size is set by chr_mini_me_amount below.)
OK
float chr_mini_me_amount 0.5 "controls the size of the main character"
(effective only if chr_mini_me is enabled)
"1" represents "100% of normal size", so numbers between 0 and 1 scale the character down, and numbers above one scale the character up. If you supply "0", the character becomes invisible. If "-1", the character walks on the underside of the floor. With a very low number like -1000, the character will still walk below the floor but will be enormous (they will not be visible, however, as long as the camera remains above the floor); they will also lose collision with other characters, and sounds made by the character will not be heard.
OK
bool chr_pin_character 0 "pins a character to the ground"
(freezes the coordinates of all characters)
OK
bool chr_print_sound 0 "turns on printing of the sound effect" ??
bool chr_show_bnv 0 "shows the bnv of the main character"
(pathfinding volume; see AKVA)
OK
bool chr_show_lod 0 "shows the current lod of the main character" OK
int32 chr_show_movement 0 "enables movement debugging information for characters"
(dumps XZ velocity to console every # frames)
OK
int32 chr_show_weaponid 0 "Shows weapon ID" OK
bool chr_showextent_globals 0 "shows the global parts of an attack animation's extent" OK
bool chr_weapon_auto_aim 1 "enables auto aiming"
(melee auto aiming not affected)
OK
float cinematic_xoffset 20. "offset from the vertical edge of the screen for the cinematic insert" ??
float cinematic_yoffset 65. "offset from the horizontal edge of the screen for the cinematic insert" ??
float cm_canter_unarmed 8. "camera canter"
(when not aiming; in degrees)
OK
float cm_canter_weapon 7. "camera canter"
(when aiming, in degrees)
OK
float cm_distance 33. "camera distance"
(to target, in world units)
OK
float cm_height 15. "camera target"
(target height to feet of target character, in world units)
OK
int32 cm_jello_amt 20 "sets the transparency of walls"
(for Jello-cam mode, in % )
OK
float cm_jello_radius 12. radius of effect of Jello-cam mode OK
float cm_lookspring_percent 0.5 "at what percent of lookspring fight mode turns off" ??
bool cm_plane_test 1 "jello camera plane test" OK
bool co_display 1 "enables console display"
(console output only)
OK
int32 co_fade_time 600 "the fade time of the console" OK
bool co_message_display 1 "enables text message display"
(dmsg and prompts)
OK
int32 co_priority 0 "changes the priority of messages to display on the console"
not sure what messages have priority >0
OK
bool debug_consoles 0 "prints debugging information about console usage"
(information about in-game consoles; prints to dev mode console ^^)
OK
bool debug_font_cache 0 "displays font cache texture" ??
bool debug_gun_behavior 0 "enable AI gun behavior debugging"
(dumps events to console)
OK
bool debug_impacts 0 "prints impacts as they occur"
(to console; footsteps, melee, projectiles...)
OK
bool debug_scripts 0 "enable script debugging"
(dumps events to console)
OK
bool debug_triggers 0 "enable trigger volume debugging"
(dumps events to console)
OK
bool debug_weapons 0 "prints debugging info about weapon particle events" OK
bool door_drawframes 0 "draws doorframes for all unplaced doors" ??
bool door_ignore_locks 0 "disables all door locks" OK
bool door_pop_lighting 0 "uses bad door lighting" ??
bool door_show_activation 0 "draws a circle where door activates" ??
bool door_show_debug 0 "shows debug geometry"
(dumps events to console)
OK
bool draw_every_frame 0 "forces drawing of every frame"
(every draw_every_frame_multipleth frame; takes precedence over fast_mode)
OK
int32 draw_every_frame_multiple 1 "draw every frame multiple"
set drawing frequency if draw_every_frame is ON
OK
bool env_collision 1 "enables environment collision" ??
bool env_drawallgqs 0 "draw all the GQs" ??
bool env_drawfrustum 0 "draw the frustum around the environment camera" ??
bool env_drawvisonly 0 "draw only the GQs used for visibility" ??
int32 env_highlight_gq -1 "highlights a particular gq"
(-1 means none)
OK
int32 env_ray_number 20 "sets the number of rays to cast" (per frame). Bigger values than 20 may be ineffective (cause the console message "allocated too many akira rays") OK
bool env_show_ghostgqs 0 "when true show ghost GQs" (PC&Mac: Works only for self-made GQs via onisplit v0.9.93.0 -create:level in -debug out/*.xml; ) OK
bool env_show_leafnodes 0 "enables display of environment octtree leaf nodes" ??
bool env_show_octnode_gqs 0 "when true the environment only renders triangles in the octnode that contains the manual camera" ??
bool env_show_octtree 0 "enables display of environment octtree traversal" ??
bool env_show_quad_count 0 "shows the count of visable environment quads" ??
bool env_show_rays 0 "draw the rays" ??
bool env_show_stairflagged 0 "show specially flagged noncollision quads"
(not sure what this was supposed to do, but the dev keys for "Character collision" (Ctrl-Shift-T) and "Invisible quads" (Ctrl-Shift-I) will show stair collision ramps)
??
bool fast_lookup 1 "enables fast lookup" ??
bool fast_mode 0 "makes the game run fast" (only if draw_every_frame is disabled) OK
float flag_name_distance 150.0 "specifies the distance from the camera that flag names no longer draw"
(probably needs show_flags)
??
int32 flag_new_id $ !!! "specifies the id for a new flag"
(equal to the last flag added at level load)
??
bool footstep_flash 0 "footstep flash mode" OK
float fx_laser_width 0.2 width of lasers (weapons and triggers) OK
bool gl_disable_depth_reads 0 "disable_depth_reads" ??
bool gl_disable_dxt1 0 "lets you disable use of DXT1" ??
bool gl_disable_packed_pixels 0 "lets you disable packed-pixels support" ??
float gl_fog_blue 0.25 !!! "fog blue"
(amount: 0 to 1)
OK
float gl_fog_end 1. !!! "fog end" in frustum space OK
float gl_fog_green 0.25 !!! "fog green"
(amount: 0 to 1)
OK
float gl_fog_red 0.25 !!! "fog red"
(amount: 0 to 1)
OK
float gl_fog_start 0.975 !!! "fog start" in frustum space OK
int32 gl_mipmap_offset 0 "lets you disable miplevels (-ve = disable big, +ve = disable small)" ??
float gs_input_accel 5.0 "use this to control the input sensitivity" (affects the camera movement keys for the free-roaming camera in Dev Mode) OK
int32 gs_screen_shot_reduce 0 "2^n amount of reduction" OK
bool gs_show_characters 1 "turns on the drawing of characters" OK
bool gs_show_corpses 1 "show corpses" OK
bool gs_show_environment 1 "turns on doing the environment" OK
bool gs_show_object_count 0 "shows the count of objects" ??
bool gs_show_objects 1 "turns on the drawing of objects" OK
bool gs_show_particles 1 "turns on the drawing of particles" OK
bool gs_show_physics_count 0 "shows the count of physics" ??
bool gs_show_scripting_count 0 "shows the count of active scripting contexts" ??
bool gs_show_shadows 1 "enables character shadows" OK
bool gs_show_sky 1 "turns on the sky" ??
bool gs_show_ui 1 "turns on the ui" (aka HUD) OK
bool gs_sleep 0 "turns on a call to sleep to make debugging easier" ??
bool gs_stable_ear 1 "makes the ear stable" ??
bool invincible 0 !!! "makes player invincible" OK
bool laser_alpha 0 WTF? lasers are always transparent (As I can see in SRC, this variable changes laser texture from non-transparent BGR555 with AdditiveBlend parameter to transparent ABGR4444 without AdditiveBlend.) ??
bool li_center_cursor 1 "should we center the cursor" OK
bool m3_buffer_clear 1 "toggles buffer clear" OK
int32 m3_clear_color 0 "color to clear the back buffer to" (color behind skybox)
(actually a 32-bit RGB integer; can calculate it with this site)
OK
bool m3_double_buffer 1 "toggles double buffer mode" (may interrupt rendering if disabled! use with caution) OK!
bool m3_fill_solid 1 "toggles wireframe/solid" OK
bool m3_shade_vertex 1 "vertex shader on/off" OK
bool m3_texture 1 0 >> crash ^^ OK!
bool m3_zcompareon 1 "true if zcompare is on" OK
bool marketing_line_off 0 !!! "turns the laser line off" OK
float mouse_acceleration 0.75 "sets the mouse acceleration value" OK
bool ob_show_debug 0 "enable physics debugging visuals"
(shows spheres for doors etc)
OK
bool omnipotent 0 !!! "makes player omnipotent" OK
int32 p3_debug_collision 256 "enables collision debugging display"
(actually a boolean; only the low bit counts)
OK
bool p3_everything_breakable 0 "makes every quad breakable" OK
bool p3_furniture_breakable 0 "makes all furniture breakable" OK
bool p3_glass_breakable 1 "enables breakable glass" OK
bool p3_show_env_collision 0 "draws particle / environment collisions" OK
float patrolpath_name_distance 150.0 "specifies the distance from the camera that patrol point names no longer draw"
(probably needs show_patrolpaths)
OK-M
bool ph_active 1 "enable physics" OK
bool ph_debug_keyforces 0 "toggle keyboard applied forces" ??
bool ph_show_collisions 0 "toggle display of colliding quads"
(also see show_chr_env_collision)
OK
float recoil_base 0.0 "base" (for current ONWC; needs recoil_edit) OK
bool recoil_edit 0 "enables editable recoil"
OK
float recoil_factor 0.0 "factor" (for current ONWC; needs recoil_edit) OK
float recoil_max 0.0 "factor" (for current ONWC; needs recoil_edit) OK
float recoil_return_speed 0.0 "factor" (for current ONWC; needs recoil_edit) OK
int32 save_point $ !!! "which save point we are on"
(gets the current save point, which is set by Oni based on the player's choice of Save Point on the Load Game screen)
OK
int32 saved_film_character_offset 1 "dumps the filmed animation data of the player to file" OK?
bool saved_film_loop 0 enables looping when play_recording OK
string sc_bind_f2 "" name of animation bound to cutscene1 OK
string sc_bind_f3 "" name of animation bound to cutscene2 OK
bool show_characters 0 "enables the display of character starting positions"
(see BINA/OBJC/CHAR)
OK-M
bool show_chr_env_collision 0 "draws character / environment collisions"
(shows all quads that character touches, unlike ph_show_collisions which only shows quad you are standing on)
OK
bool show_flags 0 "enables the display of flags"
(see BINA/OBJC/FLAG)
OK-M
bool show_laser_env_collision 0 "draws laser / environment collisions"
(works with any loaded gun)
OK
bool show_patrolpaths 0 "enables the display of AI patrol path objects"
(see BINA/OBJC/PATR)
OK-M
bool show_performance 0 "enables performance display"
(shows FPS counter)
OK
bool show_performance_gsd 0 ?? ??
bool show_performance_gsu 0 ?? ??
bool show_sound_all 0 "sound rings will always be drawn, not just when a sound is selected"
(environment sounds, see BINA/OBJC/SNDG)
OK-M
bool show_sound_rectangles 0 "sound rectangles will always be drawn, not just when a sound Rectangle is selected"
(environment sounds, see BINA/OBJC/SNDG)
OK-M
bool show_sound_spheres 0 "sound spheres will always be drawn, not just when a sound sphere is selected"
(environment sounds, see BINA/OBJC/SNDG)
OK-M
bool show_triggers 1 "enables the display of triggers"
(see BINA/OBJC/TRIG)
OK
bool show_triggervolumes 0 "Display trigger volumes" OK-D
bool show_turrets 1 "enables the display of turrets"
(see BINA/OBJC/TURR)
OK
bool single_step 0 "puts the game in single step mode" (see Developer_Mode#Features for single-step control) OK!
float sky_height 0. !!! Y offset of skybox? ??
bool sky_show_clouds 1 "toggles display of the clouds" ??
bool sky_show_planet 1 "toggles display of the planet (sun/moon)"
(sun present only in levels 2 and 3)
OK
bool sky_show_sky 1 "toggles display of the sky" (master switch) OK
bool sky_show_skybox 1 "toggles display of the skybox" OK
bool sky_show_stars 1 "toggles display of the stars"
(no stars in any level)
??
bool sound_show_debug 0 "displays sound debugging info"
(shows a HUD with info on currently playing sounds; on Macs, sound spheres are also displayed)
OK
bool sound_show_occlusions 0 "enables debugging display of sound occlusions"
(shows lines from sound sources to listeners)
OK
bool spatial_footsteps 1 "spatial footsteps" ??
bool sync_debug 0 "enables sync debugging"
(prints a message to screen with how many frames were dropped during a cutscene; see function cutscene_sync)
NO
float target_max_distance 75000. "Sets the distance at which the radar will start to change from its minimum" OK
bool turret_show_debug 0 "enables the display of turret debug lines" OK-M
bool ui_suppress_prompt 0 !!! "suppresses UI prompting about new objectives or moves"
(and saved games and training tips and such)
OK
bool unstoppable 0 !!! makes player unstoppable OK
bool wait_for_key 0 "makes the game wait for a key before level load" OK
bool wp_disable_fade 0 "disables weapon fading" OK
int32 wp_fadetime 360 "sets free time for powerups" OK-D
bool wp_force_half_scale 0 crosshairs scale with distance, pow_adjustment redundant OK
bool wp_force_no_scale 0 crosshairs don't scale with distance, pow_adjustment ineffective OK
bool wp_force_scale 0 crosshairs scale with distance, pow_adjustment ineffective OK
int32 wp_hypostrength 25 "sets strength of hypo spray"
apparently in % of full health, seems hard-coded
??
bool wp_kickable 0 "lets the player kick weapons"
(actually lets everyone but the player collide with guns)
OK
float wp_pow_adjustment 0.3 scales crosshair separately (or not, depending on "force" flags) OK
float wp_scale_adjustment 1. adjusts scales OK