Features
Pushed->
triggerflag, triggers when the combo clicks into place after a pushblock push.218b1d071
- customizable ripple/tallgrass sprites per-combo
715893f35
- increase combo label limit from 11 to 255
edea0722a
Editor
- 'Test Quest' hotkey (default 'Ctrl+T')
79a292c4f
- Finish signpost combo wizard
ccccaf6a7
- AutoBrush now will revert to 1x1 after placing if ALT is held while selecting an area.
43825d2b6
- Compiler settings now searchable in QR search dialog
cedf82689
- Screen Palette menu now previews in the window behind it
c98758a57
- -quick-assign CLI switch to compile + assign
31efdf60c
Example usage:
./zquest.exe your_quest.qst -quick-assign
- tile editor 'Esc' deselects selections (if something selected)
c9df55421
- Add 'General Tab' to advanced-paste combo dialog (and clean up the dialog)
516526658
ZScript
- Weapon death effects + liftability settings
5b87f8712
- Hero->MoveAtAngle(), Hero->Move()
424840536
- generic event HERO_HIT can now understand FFC/combo position
03706f16a
- Hero->ShieldJinx, new generic events (drown, fall, HeroHit applies to shallow liquid)
59337477d
- -include switch to set include paths
20480cb28
- Graphics->ConvertRGBTo() and Graphics->ConvertRGBFrom()
a37a156f2
Bug Fixes
- add some sanity checks to font initialization
b659ab974
- do not show hidden files in file selector
cf932f82b
- memory corruption in quest load from bad palcycles
72f741728
- memory corruption in quest load from bad shop count
7b43ff57e
- memory corruption in quest load from bad door combo count
01f4a2cc8
- memory corruption in quest load from bad item count
dafd04b15
- memory corruption in quest load from bad weapon count
1fa149c51
- memory corruption in quest load from bad warp count
bf64cf4b5
- memory corruption in quest load from bad string length
8b9883ac4
- memory corruption in quest load from bad misc info count
de4595fbc
- prevent over-allocation in quest load from bad map count
a262c53f7
- memory corruption in quest load from bad string copies
bf5fa4c5d
- prevent over-allocation in quest load from bad script commands
51dd859de
- memory corruption in quest load from bad zinfo weapon count
70910a8e3
- memory corruption in quest load from bad zinfo counter count
40ace2986
- memory corruption in quest load from bad zinfo mapflags count
aee1105d1
- memory corruption in quest load from bad zinfo combotypes count
46521737e
- memory corruption in quest load from bad zinfo itemtypes count
b1c8944db
- memory corruption in quest load from old pwd hash check
941720a37
- memory corruption in quest load from repeat section ids
75057cf10
- prevent over-allocation in quest load from bad script bindings
3240f577b
- memory corruption in quest load from bad subscreen strcpy
f30cc94ff
- memory corruption in quest load from bad sfx length
fe8a0e887
- memory corruption in quest load from bad warp count (old)
da70b79fe
- memory corruption in quest load from bad genscript count
8bf716bdc
- memory corruption in quest load from bad dropset count
8d5d7f8f9
- use-after-free bug in widget label
84539eff0
- greatly reduce cpu usage when drawing dialogs
5d166d15f
- set dirty flag for more dialogs needing redraw, missed some
d5c5f0d41
- properly handle mp3 unloading to avoid crash
8a33b68b9
- set dirty flag for list search components
50fae6629
Player
- cleanup bush/flower/etc decoration sprite code
3c8baa1e4
- items/weapons/players not rounding y coordinate when landing
2ea7a5fe9
- 'Save Indicator' option now works to toggle the 'Saving...' text
1a700f533
- mouse cursor not appearing in some popups
19087bf7d
- prevent Hero->CanMove unwanted side effects
b60185559
- fix dropped input when script modifies input state
a773ac9ba
- Fix 4-way "Newer Player Movement"
81710c1ee
- signpost prompts take priority over triggers tab prompts
347bc58fb
- Newer Player Movement issues with fitting in half-tall gaps
1210ef14a
- waitdraw not working for ffcs over 32
ae823474a
- do not stop at first ffc for lens trigger
90eff0ba4
- npc scripts not running on screen load
c8e2c861e
Fixed npc scripts not running on the first frame that a screen loads, resulting in a single frame of spawn poof before you can hide or change the tile of the enemy.
- enemies not running scripts on first frame with scriptloadenemies
935757d42
forgot to handle this when fixing last commit
- Fix writing to shopdata->Price[]
7094e8d8c
- fixed new (non-classic) respawn points being unsafe in sideview
c41729262
- off-by-one error with ffc link delay
996dc964d
- Should fix all instances of things occurring on the wrong screen when scrolling
bae07692c
- system reset when recording in test mode
f35c89de7
- scrolling on to raft paths no longer forces you to raft (compat ruled)
1412cab3e
- mid-scroll is no longer a "safe respawn point"
9d691ad0c
- LW_THROWN weapons not running weapon scripts
45ada8199
- Throwing in sideview
384513a3b
- windows crash as writing .zplay.result.txt file when exe not approved
0fe78dde3
- Test Mode issues when quitting during opening wipe
95e3288ec
- ignore unintentional input on first frame of subscreen
0573804d3
- Torch combos now function on pushblocks
0a56608dd
- force system pal after matrix screensaver
b40f8d5ce
- non-torch pushblocks no longer cast light
c8d359531
- use-after-free bug when picking up triforce
424279031
Editor
- combo pool paintbrush was broken
50ac2928f
- 'k' in assign slots dialog confirming
0a63b6075
- minimap graphical oddities
b91e5977b
- map out of bounds crash report
56921d432
- string list dropdowns were offset
aaeaeccf0
- string list ordered wrongly in dropdowns
bee021913
- undo history for "Paste FFC as ..."
023f81c00
- undo history for "Paste FFC Data"
d77c8b93f
- gui label text wrapping on strings without spaces
a49fe973c
- background blank-out after adjusting tiles in string editor
4f855abaf
- bad pointer alias crashing QR search dialog
f63fbaa0a
- stop using corrupted file handle when saving .zcheat file
2deb39605
- properly load qst when grabbing tiles
acacb5a21
The loadquest function was erroring on the ffscript section, but only when "keep data" was disable for that section. The section loading code was improperly read the file, which resulted in the password hash not being set in the header, which resulted in an errant password check prompt.
- do not show guys in screen enemy selector
28c47172e
The first twenty enemy ids are reserved for guys, and can produce unexpected behavior when used as screen enemies. If a screen is using one of these enemy ids, the name was showing as "(None)" in the screen enemy list. It will now show "Guy - Do Not Use!".
The enemy selector list also will no longer show any of these enemy ids.
- more fixes to load quest usage of keep data
6cfcd45f8
ZScript
- dmap scripts not updating
217b877c3
- use sane qrs by default for parser CLI
5ed5d3b9d
- backwards byte order of the rgb type used by paldata
79fa156a5
- use correct engine data for player scripts
9ff13b90d
- setting input buttons to false correctly prevents button press
656bb7628
ZConsole
- [win] use async i/o, speeds up zscript debugger
2bbc6e58b
Documentation
- update weapon lifting docs
a9410e821
- add fuzzing.md
ba7921e82
- type help for Slope combo type
80b4c5acd
Editor
- Clean up tooltips for combos on the screen.
175152592
Build
- set zquest as default startup target in VS
19d7ea741
- add Asan build type
33ecea2aa
- support Asan build type for zelda target
dd924d048
Chores
- update versionsig
81d7f6d21
- fix compile
94ca60c61
- fix non-windows compile (remove unreachable code lines)
380118b8d
- remove debug print
605e0e1a6
- fix type conversion error
9b8b21708
- Replay version check for respawn point fix
e92a15324
- fix compile because I'm stupid
3f430cc81
- comment (and slightly optimize) 'user_object.cpp'
9e5e60b0a
- update changelog for A115
812da2517
Player
Editor
- init data gui cleanup
c6794c995
- update default quest file (fix dmap 0 flags)
837c65979
- fix missed in previous commit
10097db47
Refactors
- remove classic_qst.dat, use default.qst
e6e5c9906
~200KB smaller, and easier to change (no grabber.exe).
- rename solid_object hxsz, hysz to hit_width, hit_height
0fccb318c
Player
- remove indirection in calling scripts based on version
a7bdf12cd
This just makes the code harder to understand. And dereferencing a pointer for a function call is certainly slower than relying on cpu branch prediction to do its thing.
- add interface for combo cpos_infos
cc2c6aa8a
- tweak and document MAPCOMBO3
ead694178
- replay_version_check
f461b1071
Editor
- Level Palette shortcuts cleanup, add warning with dsa
2df440583
- new clean compiler settings dialog + help text
d9528ee4f
ZScript
- common interface for script engine data
afd10f7e4
- use ScriptEngineData for item scripts
3d13a4422
- use enum for script type
970aafd77
- add interface to encode combopos ref
91b4eac1d
- only allocate script data for combos that need it
7f4ac3b75
Tests
- update replays
a383d5c57
- add lifting.zplay, rocs_feather.zplay
4c10d5b17
- increase replay timeout for web
ced397fb1
- add zscript compiler expected zasm tests
2afd78063
- check if failing frame values exist in dict
ba99a2dfd
- use exists_ok when making updated dir
95f161860
- print failing frame during replay test
67d34be84
- use exist_ok when making updated dir (typo...)
d5580d54d
- refactor compare_replays.py to prepare for re-use
9a81e9cf4
- refactor run_test_workflow.py to prepare for re-use
b2e5fe5cc
- automatically start webserver for compare report
47bc28454
- add prompts for creating a report on failure
b79079271
When
run_replay_tests.py
fails, a prompt is now shown to generate a compare report either from already-created baseline snapshots, from GitHub Actions, or from running a release revision locally.Much of the functionality needed for this was already present, this just ties everything together and makes it much simpler to generate a report.
- auto update new script test
2af517bb1
- restore scripts compiled by playground.qst
1f78aefca
These were removed from the package in aa3d87, but we actually need some of them for playground.qst
- add playground_scrolling_script.zplay
c34b92a76
- add dark.zplay
aaf68685f
- support substring for run_replay_tests.py --filter
298d40c55
- add test_zquest.py. tests compile, slot assign of playground.qst
bd682985e
- move ghost replay into playground.qst
3294b1866
- rename lifting and rocs_feather replays
8c5058b1c
- remove replay comment when jit fails to compile
6289180bf
- fix web replay tests hanging
93fc09090
- add ganon.zplay
fbab82705
CI
- clone before downloading release artifacts
dd3bfcbb2
Apparently the checkout action deletes the current directory first. Lame.
- skip solid.zplay until it is re-recorded
38e4ec35e
- fix release tag for branches
5f647e9dd
- fix release tag for branches (really)
465dd9c71
- remove release cron
cfcd1291e
- specify version of PyGithub
aaf2edaaf
Misc.
- add git hooks to validate commit messages
a8f26b259
- add scripts/generate_changelog.py
3892158f1
- grab test builds from CI for bisect tool
f2e437a9f
- print changelog on every step in bisect tool
8bb31d154
- allow advancing in bisect tool without closing program
a6b9a8584
- cache if release has a valid package for windows in bisect tool
f93e19187
- fix git hook script when core.commentchar config not set
d35712951
- reverse commits in changelog for more natural ordering
423f04791
- use separate folder for downloaded release builds
f57703681
- fix wrong scope suggestion
9fb96dc55
- include commit body in changelog
a29611391
- ./zelda -load-and-quit
<qstpath>
9bf02571c
- automate fuzzing process
fd3e64168
- remove unneeded init code for fuzzing quest loading
d85c83770
- update used QRs in quest database
d4bb90020
- include deprecated_rules in qr analysis
999523839