fixes some leaks.
Now it only leaks when testing undoing an inventory close operation without redoing it. This should never happen in the real world.
more progress towards #643
This allows decoupling the payload from the undo steps, making it possible to launch subtasks with a different payloads (e.g. taking an item from creative and putting into the source slot instead of the dest slot).
Additionally this might also prevent some trouble when preparing the network data in the future.
Another small step towards #643
* threadpool: track and show task times
* debug window: subdivide task performance
* indent debug window code
* task perfs: remove meshgen for lighting
* task perfs: don't divide by zero
* task perf: move taskType to vtable
* use directEnumArrayLen instead of C-style length
* use @tagName for task type classes
* switch to atomics
* recategorize LightRefreshTaks, LightMapLoadTask under misc
* add frameCount
* update perfs every perfUpdateFrequency frames
* restore 4k pageSize
* lighting -> meshgenAndLighting
* reset counts on open rather than by time
* revert to mutex Performance
* restore 4096 pageSize
* cleanup
* correctly use Performance init
* track task time per frame properly
* just copy.*
* use % total instead of % frame time
* capitalize Total task time
* remove total task time
* destroy performance on deinit
* Refactor getting X positions of buttons in preparation for not moving the window when clicking the buttons
* Initial support for controllers
* Basic controller support
* Allow runtime download of gamecontrollerdb.txt
* Add new gamepad cursor asset, and use it.
* Various improvements
Allow saving and configuring gamepad mappings
Add gamepad sensitivity, for camera only
Adjust multipliers in usage of gamepad axes
Prompt for downloading controller mappings, and allow configuration
* Refactor startup window handling so that controller settings does not duplicate code, or have to detect if startup has finished
* Clamp cursor position to window size when changing via gamepad
* Add deadzone
* Implement changes requested
* Follow more suggestions
* Use atomics
* Use orelse for oldState in Gamepads.update
* Implement requested changes
* Fix accidental removal of whitespace on two empty lines
* Fix incorrect formatting on blank line due to Vim expanding tabs to spaces
* Fix build errors.
* Change unusual orelse usage with better if expression
* Add resettable keys
* Revert "Add resettable keys"
This reverts commit 902f032ec834161dcaac97cbe596788e0110e870.
* Update controller support
* Fix things I forgot about
* Fix more things
* Implement most requested changes and change button text to be more clear
* Update controller support
* Hopefully fix format without breaking it.
* Refactor getting X positions of buttons in preparation for not moving the window when clicking the buttons
* Initial support for controllers
* Basic controller support
* Allow runtime download of gamecontrollerdb.txt
* Add new gamepad cursor asset, and use it.
* Various improvements
Allow saving and configuring gamepad mappings
Add gamepad sensitivity, for camera only
Adjust multipliers in usage of gamepad axes
Prompt for downloading controller mappings, and allow configuration
* Refactor startup window handling so that controller settings does not duplicate code, or have to detect if startup has finished
* Clamp cursor position to window size when changing via gamepad
* Add deadzone
* Implement changes requested
* Follow more suggestions
* Use atomics
* Use orelse for oldState in Gamepads.update
* Implement requested changes
* Fix build errors.
* Change unusual orelse usage with better if expression
* Add resettable keys
* Revert "Add resettable keys"
This reverts commit 902f032ec834161dcaac97cbe596788e0110e870.
* Update controller support
* Fix things I forgot about
* Fix more things
* Implement most requested changes and change button text to be more clear
* Update controller support
* Hopefully fix format without breaking it.
* Implement suggestions
* Update controller mapping downloading to be more automatic
* Fix parameter in Window.Gamepad.ControllerMappingDownloadTask.isStillNeeded
* Revert order of window opening and opening next startup window in openStartupWindow
* Only download controller mappings the first moment a controller is plugged in
* Open controller mapping download UI when actually downloading mappings, or at startup if they have started before GUI initialization but haven't finished yet.
* Don't unnecessarily try to download controller mappings at init when it will be done once the first update happens anyways.
* Implement requested changes
* Remove debugging log output
* Implement changes to download_controller_mappings.zig