Zelda Classic AEternal, v2.55, Alpha 70 (Win32, 101MB)
Changelog for 2.55 on GitHub.
Expo Module | Demo Module | PhantomMenace Module |
Overview
Fixes
- Fixed wallmasters not emerging from walls.
- Enemies should now obey scripttile and scriptflip using old sprite draws.
- Fixed issues with the new strings options.
- Rewrote the 'fix' datatype. Now all sprite coordinates have perfect precision to four decimal places.
- Mass Overlay in the Tile Editor, now properly respects copied blocks.
Assigning duplicate keybindings now explicitely reports which functions are bound to the same key. - Fixed 'Default Defense' on weapons being reset when opening the item editor.
- Fixed a longstanding issue where if the player runs a quest with an A_B subscreen, and the last item set inside an active subscreen wrote the value of button item 'A', then they exit the quest and load a quest with only B-item subscreens, that the A-button would become unresponsive (swords fail to work, and so forth).
- Fixed a number of issues with the new combo animation system, relating to ASkip.
- Fixed tile bug with Mass Combo Creation, as well as the Ctrl+Shift+PLUS combo editor shortcut.
- No-matter what colour you set as 'transparent', the unused tile spots in the tile editor are now always black with a grey X. They no longer use the colour assigned to the 0th index of their cset. InvalidStatic mode is unchanged.
- Allow properly toggling the 'Use Pal CSet' Box in Enemy Editor.
- Fixed some inappropriate QRs on quest loading.
- The new console properly now reports quest metadata.
- Rewrote combo animation. This allows properly writing the tile of combos by script.
- Fixed the DMap Selection window not drawing a preview or other data.
- You can now have permanent secrets on dungeon DMaps.
- Room Guys with Anim==aNONE once again Update Every Frame
Improvements
- ZC Player now has a fancy new splash logo courtesy of KingAquamentus.
- Added hotkeys for Tile Page Navigation:
- Previously, `Ctrl+Plus/Minus` increment/decremented the tile of selected combos. Shift+Ctrl moved by a tile row. Now, Alt+Ctrl moves by a tile page, while Alt+Shift+Ctrl moves by 10 tile pages.
- Added more copy/paste options to String Editor.
- You can now set portraits, and full backgrounds for strings.
- Added the ability to type a series of characters to quickly locate entries in all dropdown lists, including 'open file' lists.
- Reconfigured menus for optimal use in ZQuest Editor small mode.
- Added a Quest Report to locate ->Next Combos with secret flags.
- You can now press C in the Tile Editor to copy a tile, then select a range of tiles and press F to FLOODFILL paste the copied tile to every position.
- In the Tile Editor, electing multiple tiles, pressing C, then selecting multiple tiles and pressing O will now overlay the copied selection tot he dest selection, triming overflow.
- Added a new Ruleset, 'Modern', that enables all new features.
- The Feather itemclass now permits multiple jumps via its attributes (e.g. the double, mid-air jump, in 'Ghouls and Ghosts').
- Added the .zdoors file type: You can now export/import doorsets.
- The Palette Editor now permits entering RGB values and has other improvements.
- Added SFX to Step->Secrets Combos.
- All roomtypes now allow a 'Generic Catchall' set via the menus.
- Improved the ZQ Editor mapscreen selector.
- Fixed the behaviour of 'Item 2' and 'Item 3' fields in the Subscreen Editor.
- Added Weapon and Hero Quest Rule tabs.
- Lockblocks: Added Option for Counter Requirement 'No Drain'.
- Added Troll/Thief Lockblocks Req. by ShadowTiger
ZScript
- Compiling scripts is now much faster.
- Added ZASM Metadata.
- Heavily optimize array initialization, and somewhat optimize array access.
- Summoner enemies now properly set the ParentUID to their script UID on their children; i.e., (npc->ParentUID) of the summoned enemy.
- Heavily optimised ZASM generation in several areas, making script execution faster without any special work from the user.
- You can now export ZASM scripts from a quest, and re-assign script slots without recompiling.
- Fixed crash on printing ZASM metadata >=512 characters.
- Added Hero->Step, so that the speed of the player can be modified by script.
- Added a config+checkbox to allow toggling recovering missing ZScript scripts.
- Updated ghost.zh to version 2.8.15, and std.zh to 1.7051.
- Fixed combodata->o_tile interaction with tile moving.
- Fixed a number of issues with GetPixel().
- You can now deallocate and reallocate user bitmap objects.
- Fixed an issue where values written to Hero->Equipment (also ItemA, ItemB, and other similar functions) would reset on screen or DMap change; and ensured that ZC preserves values written by scripts to item slots on saving, then loads them on resume.
- Clarified a number of ZScript error messages, both when compiling, and when executing scripts.
- Rewrote the 'do not halt on error' system in the compiler. It should never crash, now.
- Fixed npc->Create() not assigning the npc pointer.
- Fixed bugs when compiling ZVersion.zh.
- Combo*[] access by script now has sanity bounds and will report invalid access.
- The OnSaveLoad script timing now runs ere the opening wipe.
- Fixed some issues with global slot timing that broke compatibility with older quests.
- Both printf() and sprintf() are now internal.
- Added stricmp() and strnicmp() as internal functions.
- Added CONST_ASSERT(expr) to ZScript. This allows creating custom compile errors in your scripts.
- Added Game->IncrementQuest().
- You can now use switch() statements with string literals as cases.
- Added the file-> pointer datatype and functions to manipulate files in a special path used by the quest.
- Add new ZASM Debugger modes
- Holding 'Ctrl' in addition to either 'Shift+Insert' or 'Alt+Insert' will perform the normal operation of the given combination, but will skip all ZASM printing until it reaches the next break- allowing higher FPS during that time.
- Add a clear slots dialog to the script assign menu.
- This replaces the two clear buttons present prior, and allows more specific options. You can clear only missing, only preserved, and only imported ZASM, as well as any type of your choice, or all slots.
- Added messagedata->TextHeight and messagedata->TextWidth.
- Added Game->Reload() to ZScript.
- Added a pseudo-datatype zstruct as a variation of untyped script.
- Added Game->Scrolling[5].
- Added new 'approximately equal' token ~~ to ZScript.
- You can set the fineness of the equality, which defaults to 0.0100, so ((9.9190 ~~ 10)==true).
- Added new bitnot-assign token ~= to ZScript.
- Added numeric literal ranges to switch-case.
- Optimised TheRandomHeader.zh for 2.55 as v3.0
- Made ->Power and ->Damage uniform between *weapon and itemdata.
- Added int shopdata->Type as read-only.
- Fixed the forcedir arg for WarpEx() and added Warp({arr}) as an alternative for WarpEx({arr}).
- Fixed a bug in shopdata->String[3].
- Added combodata scripts.
- Add comboscript->this->PosX(), PosY(), Pos() and combodata->Script, InitD[2].
- Added a console for Linux.
See the file changelog.txt, for more changes, bugfixes, and improvements.