Features
- Enemies can have a 'Secondary Fire Sound'
d8e8ec18f7The 'Fire Octo' death effect fires a weapon other than the enemy's own - the one set by 'Weapon Offset' - and used to play that weapon's hardcoded sound. Ever since enemies got a configurable 'Fire Sound' it has reused that one instead, so the death burst could only ever sound like the enemy's normal attack, or be silent.
The enemy editor now has a separate 'Secondary Fire Sound' for it.
Broken when added in 3.0.0-prerelease.66+2024-09-01 (e71f8dc99e).
Editor
- Support URL buttons in info popups
450339cac2This allows us to easily put buttons that open URLs in browser directly in help text, useful for ex. linking to web docs.
ZScript
- Annotations can use constants
fa0d835656 @ExportEngineValueto use special GUI for exports165f0c40d5Allows using tile selectors, combo selectors, color selectors, and numerous specific engine drop-down lists for script export variables.
- @ExportDropdown / @ExportBitflags / @ExportLongBitflags
eceb426040Allows export variables to use custom dropdown lists and bitwise checkbox sets (either standard or long bitwise).
@ExportEnumdbb700b292Allow exporting an enum as a dropdown/bitflags export, without needing to individually name every value yourself.
- Npc and npcdata 'WeaponSecondarySFX'
488183e049Reads and writes an enemy's new 'Secondary Fire Sound' - the sound played when it fires a weapon other than its own, which today only the 'Fire Octo' death effect does.
Bug Fixes
- Minor dialog window / grid size miscalculations
7fefc2e753This should fix certain things in some GUIs appearing slightly squished.
Player
- Enemy 'Fire Sound' now plays for every weapon type
88691fe0f5The enemy editor's 'Fire Sound' only actually played for flame, wind, magic, ice, and script-type weapons - and for fireballs and rocks only with 'More Sound Effects' enabled. Every other projectile (arrows, swords, boomerangs, bombs, etc.) fired silently no matter what sound was set. It now plays for every weapon type.
Quests saved before this change are normalized on load: fire sounds that never played (including values auto-seeded by an old upgrade path) are cleared, so existing quests sound exactly the same. Set the sound again in the enemy editor to opt in.
Broken when added in 3.0.0-prerelease.66+2024-09-01 (e71f8dc99e).
- Bomb blasts ignored 'No Collision When Still'
c79dfffed5DiscordA lit bomb with the 'No Collision When Still' weapon flag exploded harmlessly: the blast kept the flag, and a blast never moves. The flag now only applies while the bomb is still a lit bomb, so a bomb can lie around safely and still hurt when it detonates. Affects both player and enemy bombs.
Bug introduced when the flag was added in 3.0.0-prerelease.120+2025-07-19 (edb610c735).
Editor
- Hotkey cheatsheet overflowing off screen instead of fitting the window
6876c3f24bThe Shift+/ hotkey cheatsheet drew a fixed three-column layout over the whole window, so with a small window or many bound hotkeys the columns ran past the edge and were cut off. The panel now sizes itself to its content, centers over a dimmed backdrop, and uniformly scales itself down when the content is too wide to fit.
Bug introduced when the hotkey cheatsheet was added in 3.0.0-prerelease.11+2023-12-10 (a491736232).
- Hotkeys grouped under the wrong heading in the cheatsheet
9fdb9907c6Several hotkeys sat under a heading that did not describe them - the screen info / combo info / CSet / type toggles and "Stop Tunes" under Dialogs, "Video Mode" under Actions - and "Go Back"/"Go Forward", "Screen Notes", "Browse Notes" and "Show Hotkeys" fell through to "Misc.". The two large catch-all groups are also split up: the drawing modes and the layer / palette / CSet / flag selection get their own headings, and the 74 dialogs are split by what they edit.
Layers and screen palettes are drawn as one row per run of keys ("Edit Layer 0-6") rather than only showing layer 0 and palette 0 - palettes A-F, on Ctrl+Shift, were not documented anywhere at all. A group that spills into the next column now repeats its heading there.
Bug introduced when the hotkey cheatsheet was added in 3.0.0-prerelease.11+2023-12-10 (a491736232).
- Wrong help text shown for eight hotkeys when rebinding
12754c08afThe Rebind Hotkeys dialog showed MIDIs, Misc Colors, New, Options, Default Palettes, Maze Path, Play Music and Apply Template to All the help text belonging to the next hotkey in the list - "Options" read "Create a new .qst" - and the last had no text of its own at all.
Bug introduced when the hotkey and favorite command systems were merged in 3.0.0-prerelease.2+2023-11-15 (47617f7ad4).
- Typo in combo move warning
6265ce41d4when warning about a Door Combo Set, the warning said "the following screens", when it should say "the following door combo sets"
ZScript
- Ensure instance variable order
5762d9f4cfInstance variables will now always be ordered in the same order they are declared.
Documentation
- Add 'added in 3.0' markers to relevant parts of
Scriptspage462d92de4b
ZScript
- Add notes for how to get instances of each class
305e17e928
Build
- Make checklist constant
constexprf5f1235562
Chores
- Include packfile.h less
35ab4da800
Refactors
- Move a bunch of packfile code from .h to .cpp
bbeaf3f37c
Editor
- Hotkey cheatsheet group tables
5ca34dd851 - Move
Exportstab left ofInitD[]tab11bf4a741f
Tests
ZScript
- Add coverage for the custom export annotations
db73cc5e2a
Misc.
- Improve checklist dialog per-column calculation
bc4c0bafadWhen no number per-column has been manually specified, the default now attempts to create columns as evenly sized as possible, up to a max of 10 entries per column.