23.10.1
General
Add a new Script Fx Level setting to video options which can be used by scripts to disable performance intensive visuals.
Spikes and dust are rendered on invisible tiles.
Escape from the login menu will login as guest.
Fix tire hitboxes persisting after death.
Fix double splits in multiplayer.
Improve checkpoint performance on maps with large embeds.
Editor
Invisible tiles are visible in the editor.
Invisible tiles can be placed with the tile tool.
Add map option to persist particle settings with levels/checkpoints.
- Rectangular Dustmod triggers.
Use the Aux key to toggle.
Alt to scale from centre.
Resizing and changing trigger shapes can now be undone.
Ctrl+Shift+Z can now also be used for redo.
Fit music trigger list size to screen.
Directly copy and paste fog colours by right clicking and alt+right clicking on layer swatches.
Remember script editor scroll position and array indices across compiles.
Draw tile tool marker while holding Alt.
Disable saving in play mode.
Remove reset all props scale shortcut key.
Allow prop etc. tools to function when GUI panels are hidden.
Fix tile tool cancelled when released over GUI.
Fix angle snapping for ranged circle controls.
Dustscript API
- Layer annotation improvements:
Shift, Control, and Alt can now be used to snap coordinates to increments 48, 24, and 12 respectively.
A sublayer can optionally be specified with the format LAYER.SUBLAYER
LAYER or SUBLAYER can point to a variable by prefixing with an equal sign, e.g. =layer_var_name.10 will read the layer value from a variable called layer_var, and use a value of 10 for the sublayer.
If LAYER is set to selected, the currently selected layer in the editor will be used.
snap If set forces a specific increment to snap the coordinates to.
round Can be down/-1 or up/1 to round down or up when snapping.
tiles If present will return the tile index under the mouse.
relative If present coordinates will be relative to the trigger/entity this property belongs to.
Add API to change sub layer scale and visibility.
Add key_check_double.
Add direct player input access through camera::input_* methods.
- Add access to the particle system settings.
Add on_video_settings_change callback.
Add get_script_fx_level and get_video_settings methods to read user video settings.
- Add various fog_setting improvements.
create_fog_setting() functions
Added has_sub_layers
Added layer_colour and default_colour for getting and setting the default sublayer colour.
Added layer_percent and default_percent for getting and setting the default sublayer percent.
Added copy_to and copy_from for copying to and from cameras, fog triggers, and other fog_settings.
- Add new methods for changing fog, music, and ambience.
camera.change_fog
camera.change_music
camera.change_ambience
- Add new ai_controller class.
controllable.ai_controller() returns the controllable’s current controller.
Add get_emitter_type_id and add_particle_burst methods.
Fix draw_line_world and draw_line_hud rounding down the line width, now allowing allowing non-integer thickness.
Fix non-allocating version of ray_cast_tiles incorrectly allocating new tileinfo objects.
Editor API
Add on_editor_start which gets called after persisted variables have been loaded in the editor.
Add setters for the selected entity and trigger in the editor.
- Add access to selected editor tile and prop set.
get_tile_sprite and set_tile_sprite
get_prop and set_prop
- Add triggers_visible and cameras_visible methods to check the visibility of the trigger and camera layers in the editor.
Convenience methods editor_triggers_visible and editor_cameras_visible to scripttrigger and scriptenemy
Add gvb_to_vk and vk_to_gvb methods to convert between global virtual buttons and key codes.
- Add entity editor callbacks
editor_entity_on_create
editor_entity_on_add
editor_entity_on_remove
All whitespace inside annotations is now ignored, so it’s now possible to split longer annotations across lines.
Allow unescaped alternate quotes inside attributes. (e.g. in [“can’t”] the single quote now doesn’t need to be escaped.)
Correctly support [option] ids that are non-sequential or non-zero based.
Integer [option] s without values will now auto increment starting at zero, or from the last defined value.
Reduce default tooltip scale, and add tooltip attribute scale option.