doodle/pkg
Noah Petherbridge db5760ee83 Optimize memory by freeing up SDL2 textures
* Added to the F3 Debug Overlay is a "Texture:" label that counts the number
  of textures currently loaded by the (SDL2) render engine.
* Added Teardown() functions to Level, Doodad and the Chunker they both use
  to free up SDL2 textures for all their cached graphics.
* The Canvas.Destroy() function now cleans up all textures that the Canvas
  is responsible for: calling the Teardown() of the Level or Doodad, calling
  Destroy() on all level actors, and cleaning up Wallpaper textures.
* The Destroy() method of the game's various Scenes will properly Destroy()
  their canvases to clean up when transitioning to another scene. The
  MainScene, MenuScene, EditorScene and PlayScene.
* Fix the sprites package to actually cache the ui.Image widgets. The game
  has very few sprites so no need to free them just yet.

Some tricky places that were leaking textures have been cleaned up:

* Canvas.InstallActors() destroys the canvases of existing actors before it
  reinitializes the list and installs the replacements.
* The DraggableActor when the user is dragging an actor around their level
  cleans up the blueprint masked drag/drop actor before nulling it out.

Misc changes:

* The player character cheats during Play Mode will immediately swap out the
  player character on the current level.
* Properly call the Close() function instead of Hide() to dismiss popup
  windows. The Close() function itself calls Hide() but also triggers
  WindowClose event handlers. The Doodad Dropper subscribes to its close
  event to free textures for all its doodad canvases.
2022-04-09 14:41:24 -07:00
..
balance Flood Tool, Survival Mode for Azulian Tag 2022-03-26 13:55:06 -07:00
branding Prepare v0.12.0 for release 2022-03-27 14:23:25 -07:00
campaign Go 1.16 embed instead of go-bindata 2021-07-13 18:04:25 -07:00
chatbot Easter Egg: RiveScript Chatbot 2022-01-08 19:21:08 -08:00
collision Polish and bugfixes 2021-10-09 20:45:38 -07:00
doodads Optimize memory by freeing up SDL2 textures 2022-04-09 14:41:24 -07:00
drawtool Flood Tool, Survival Mode for Azulian Tag 2022-03-26 13:55:06 -07:00
enum Flood Tool, Survival Mode for Azulian Tag 2022-03-26 13:55:06 -07:00
filesystem Finalize basic functionality for Level Packs 2021-12-26 20:48:29 -08:00
gamepad Flood Tool, Survival Mode for Azulian Tag 2022-03-26 13:55:06 -07:00
keybind Flood Tool, Survival Mode for Azulian Tag 2022-03-26 13:55:06 -07:00
level Optimize memory by freeing up SDL2 textures 2022-04-09 14:41:24 -07:00
levelpack Savegame and High Scores 2022-01-02 16:28:43 -08:00
license Diverge Free vs. Paid Features 2021-06-16 22:35:01 -07:00
log Switch github.com/kirsle/golog to git.kirsle.net/go/log 2019-12-22 18:34:31 -08:00
modal Optimize memory by freeing up SDL2 textures 2022-04-09 14:41:24 -07:00
native Level Difficulty + UI Polish 2022-03-06 22:20:53 -08:00
pattern Loading Screen 2021-07-18 21:19:52 -07:00
physics Overhaul the Platformer Physics System 2020-04-04 21:00:32 -07:00
savegame Flood Tool, Survival Mode for Azulian Tag 2022-03-26 13:55:06 -07:00
scripting Checkpoint Flag can Re-assign Player Character 2022-01-18 21:24:36 -08:00
shmem Level Difficulty + UI Polish 2022-03-06 22:20:53 -08:00
sound WIP Game Settings Window, WASM Fixes, Sound FX 2020-09-01 20:54:58 -07:00
sprites Optimize memory by freeing up SDL2 textures 2022-04-09 14:41:24 -07:00
uix Optimize memory by freeing up SDL2 textures 2022-04-09 14:41:24 -07:00
updater Send User-Agent of version/os/arch on update check 2022-01-16 18:33:27 -08:00
usercfg Game Controller Support 2022-02-19 18:31:22 -08:00
userdir Savegame and High Scores 2022-01-02 16:28:43 -08:00
wallpaper Optimize memory by freeing up SDL2 textures 2022-04-09 14:41:24 -07:00
wasm WASM: Store User Files in localStorage 2019-06-27 15:59:18 -07:00
windows Optimize memory by freeing up SDL2 textures 2022-04-09 14:41:24 -07:00
cheats.go Optimize memory by freeing up SDL2 textures 2022-04-09 14:41:24 -07:00
commands.go Reset Timer Doodad + Various Fixes 2022-03-27 11:51:14 -07:00
common_menubar.go Spit and polish 2022-01-02 22:36:32 -08:00
config.go Go 1.16 embed instead of go-bindata 2021-07-13 18:04:25 -07:00
doodle.go Level Difficulty + UI Polish 2022-03-06 22:20:53 -08:00
editor_scene_debug.go Code Layout Refactor 2019-04-09 17:35:44 -07:00
editor_scene.go Optimize memory by freeing up SDL2 textures 2022-04-09 14:41:24 -07:00
editor_ui_doodad.go Optimize memory by freeing up SDL2 textures 2022-04-09 14:41:24 -07:00
editor_ui_menubar.go Flood Tool, Survival Mode for Azulian Tag 2022-03-26 13:55:06 -07:00
editor_ui_palette.go Condensed Palette, Bird AI Update 2021-10-12 20:49:48 -07:00
editor_ui_popups.go Optimize memory by freeing up SDL2 textures 2022-04-09 14:41:24 -07:00
editor_ui_toolbar.go Flood Tool, Survival Mode for Azulian Tag 2022-03-26 13:55:06 -07:00
editor_ui.go Optimize memory by freeing up SDL2 textures 2022-04-09 14:41:24 -07:00
fps.go Optimize memory by freeing up SDL2 textures 2022-04-09 14:41:24 -07:00
guitest_scene.go The Window Manager Update 2020-04-06 23:21:17 -07:00
main_scene.go Optimize memory by freeing up SDL2 textures 2022-04-09 14:41:24 -07:00
menu_scene.go Optimize memory by freeing up SDL2 textures 2022-04-09 14:41:24 -07:00
play_inventory.go Async Giant Screenshot, Player Physics and UI Polish 2021-10-07 18:27:38 -07:00
play_scene_menubar.go v0.11.0 last minute tweaks 2022-02-21 13:09:51 -08:00
play_scene_touch.go Spit and polish 2022-01-02 22:36:32 -08:00
play_scene.go Optimize memory by freeing up SDL2 textures 2022-04-09 14:41:24 -07:00
scene.go Game Controller Support 2022-02-19 18:31:22 -08:00
shell.go Level Difficulty + UI Polish 2022-03-06 22:20:53 -08:00