Features
- special subscreen counters for button item costs
3b90a0330 - New subscreen widget, 'Counter Percentage Bar'
64bc639c7Draws a rectangle of two colors, based on the percentage of a specified counter. Useful for a life/magic meter that doesn't change size as the max changes, but instead gets denser.
- subscreen minimap compass can point to any LItem instead of just McGuffin
963e0a4ba - subscreen widget conditionals
474322fb1
ZScript
- persist all reachable objects to save file
8cc79d249GlobalObjectis no longer necessary to persist a custom object to save files. It is now enough to assign it to a global variable or array - as long as it uses the custom object type (rather thanintoruntyped).This includes all nested objects, and any object reachable from an object that was globalized via
GlobalObject.https://discord.com/channels/876899628556091432/1377446615178281190
Bug Fixes
- dialog lists scrolling wrongly in some cases
e7bab7770
Player
- typo in event logging
dc35acddd - Subscreen 'Sys Colors' displaying entirely wrongly
226cc65c8 - Bottle flag 'Cure Shield Jinx' not working when used manually
35095ceae - QR "Bottles can't be used with any maxed counter" being backwards
06734f6a7 - store if object is global or not in save file
e54a666baContinuation of 8cc79d2.
Editor
- ffc editor +/- hotkeys using wrong cset start point, and not allowing cs12/13
2bdcdd2d7
ZScript
- correct codegen for user varargs
ba7f7cc98Regressed in d2dd3ee (3.0.0-prerelease.92+2025-03-09)
- don't skip clearing current_zasm_register in get_register
33a64b644The registers handled by
scripting_engine_get_registerskipped clearing this variable when done, which could possibly cause scripting_log_error_with_context to print the wrong context. - scripted enemy spawns broken for scripted enemies
ac69c0cdaScreen->SpawnScreenEnemies()would break the script engine if it spawns an enemy that has a script - it caused the calling script to forever callScreen->SpawnScreenEnemies()once a frame. Although spawning dozens of enemies a second is very funny, this has been fixed.
Documentation
- clarify 'Screen->Data[]' ? button
72ca90b5b - tweak last edit to object_memory_management.rst
556c09dcf - grammar fix
bb4db3034