2025-10-20

Written: 2025-10-20
Project: Project Fragmentation

  • Added Options autoload. Manages automatically saving and loading configuration values to user://options.cfg and emitting signals when any value changes
  • Added options_set and options_get commands for manually interacting with option values
  • Added options_dump to print all options in the config
  • Added options_save and options_reload to update values to and from file
  • Player mouse sensitivity now tracked as the input_mouse_sensitivity option. Command i_mouse_sensitivity now updates this option.
  • UI crosshair toggle now tracked as the gameplay_show_crosshair option. Command r_show_crosshair now updates this option.
  • Speedrun mode and Timetrial mode now disable all cheats, not just noclip.
  • Added a debug build only command force_cheats to reenable cheats when they wouldn’t otherwise be available.
  • Added ch_ prefix to all cheats other than noclip
  • Added ch_free_slide_boost, disables slide boost cooldown. (just for fun :3)
  • Updated both AudioMultiPlayer classes to support setting a specific bus
  • Added SoundFX and Ambience audio busses and configured all emitters to use one
  • Added audio_master_volume, audio_sfx_volume and audio_ambience_volume options.
  • Added AudioManager autoload, currently just responsible for setting the bus volumes based on their Option value
  • Added option for mouselook inverted y. Added input_mouse_invert_y option to set it.
  • Spent a bunch of time defining several UI widgets for a settings menu!
    • Added BooleanSettingsWidget and FloatSettingsWidget for automatically reading and updating a setting
    • Added SettingsSectionHeader for subtitles
  • GameManager now handles pausing and unpausing the game via escape. Pausing currently just displays settings.
  • Mouse capture code has now been moved to the GameManager

what if a bug had a website

emily/chloe
it/its/she/her
occasional maker of things and poster of thoughts