Features
- New music system
25814a1e7Combine enhanced music and MIDI into a single object, such that the enhanced music will be played if possible, falling back to the MIDI if the enhanced is blank or fails to load. Replaces enhanced music on DMaps, and MIDIs on DMaps, Screens, and SaveMenus. Adds Combo Trigger and SCC access to play music from these new objects, and similar access to change the MusicRefresh value (modifying when the engine will change the music back on you).
Overall, this should allow much better control of music, and much easier use of enhanced music. Common scripts like "Boss Music" can now be accomplished with a couple combos with the right triggers set up.
- remove combo 'attribytes' and 'attrishorts', expand 'attributes'
88ca703abattribytes 0-7 are now attributes 8-15 attrishorts 0-7 are now attributes 16-23 attributes 0-3 are still 0-3, 4-7 are new. This will allow larger / negative / including-decimal-part values in some cases that would not allow them before.
- increase max MIDIs to 512
b48e524bfAlso increased MIDI title max length
Bug Fixes
Player
- Combo triggers killing bombs explodes them instead of deleting them
055eb40f5 - 'copycat' trigger sometimes triggering the same combo again instantly
7845e3dc9 - regions not respecting MusicRefresh values
0098785f2 - save combos using the wrong attribyte for magic restore percentage
b206711b4 - liquid combo passive damage logic
82d06203dIf the required itemclass was set to 0, but the required level was set >0, would wrongly still require the item (when item class 0 should be
(None)for this combo) Also, the hit sound was sometimes being ignored, and damage events were not being emitted. - handle older replays in replay_get_zc_version_created
39098a4a1 - add back-compat for 2.55.12 replay_compat_hookshot_snap_player_bug
e54019658
Editor
- trigger summary not showing cset correctly
7ded36054
ZScript
- print newline after TraceToBase
d8c28ccbbRegressed recently in 14287ea262.
- prevent var declaration having wrong flags in ASTDataDecl
8ec6c7c39 - prevent potential crash from reading config in x64 jit
7d747b096 - prevent premature "out of storage" of script objects
3abcf78aa - only retain objects if untyped array is created as untyped
33833d475
Build
- fix local build on my mac
ca33b9b4b
Chores
- update replay_uploads_known_good_replays.json
b7fa6c916
Refactors
- scrollpane whitespace changes
a2373c9df
Player
- move some replay compat checks to separate file
3404f3f32
ZScript
- add TypeArgument for type ids
53debde2e - remove internal varargs
5706ae223Migrated internal bindings functions that use varargs to the newer language-defined varargs grammar.
- use std::list in optimize_code
c5a13785b - speed up compiler Argument comparison
040ae31b8 - use move semantics for Function give/takeCode
fa55ad7c4 - add addOpcode2PopArgs helper
0f628c3a6 - use an inverted index for MergeLabels
40e2579f7This greatly speeds up the process of updating labels.
Also fix a potential memory / crash issue where a pointer to a deleted label might get written to.
- improve populating object freelist
4e1399709 - remove unnecessary template type from internal functions
d4424023f
Misc.
- update
trigger_example.qst73f5b12e5Add 'colored keys' setup for dungeon puzzle Add 'appears/hides when near' setup, for hidden bridges and traps
thanks to Noire-chan for the dungeon area!
- add horizontal scrolling panes
c9a009b60 - add 2.55.12 changelog
6020153e2
Editor
- improve combo editor
c652f1dbf
ZScript Standard Library (std.zh)
- add
std_time.zh8d5bc6d1dcontains
Game->Timerelated functions from the oldtime.zh
ZScript
- Remove SRAM feature
22a9c6734SRAM continually has caused issues with new updates and has fallen severely behind. As it was originally implemented, it does not work well.