Zelda Classic 2.55 Alpha 92
Updated on 18th March, 2021 @ 18:36 GMT
Many additional bugfixes and improvements.
Added the ability to set ZC Player resx to multiples of 256 for CRTs, with uniform scaling.
Added the ability to assign up to four button slot items with new button items
Hero->ItemY, and updated
SetItemSlot for the new slots.
Save format is now Version 18.
<std 1.7114> Added
enum slottypes with constants
ITM_SLOT_* for all four slots.
<ghost3> to Alpha 9.
Fixed a huge error with ZScript Settings dialogues where options were off by one.
Added docs for the Tile Editor.
<std 1.7113>: Additions and improvements.
Added GetComboScript to match GetFFCScript &c.
Moved string functions atoi, itoacat, xtoi, and xtoa to internal. Old ones are now in std::string.
Reduced memory leakage in compiling scripts and sped up compile time.
Fixed piercing issues when setting weapon type in the item editor.
Added script access to directory lists and general dir access to ZScript.
Added Octal and Long to ZScript.
Fixed npc script Daira.
Fixed New hero movement clipping through combos.
Added npc->Halt, npc->fading, npc->SlideClock
Added Game->STD, ->Tango. ->Ghost., for default headers to use internally.
Fixed a number of combodata script issues.
Fixed a number of issues with passing array pointers to internal functions.
Addednpc->HitDir , Hero->ClockActive, and Hero->ClockTimer
Fixed crashes with ewpn->GetByUID() and ArrayCopy
Added function prototypes/forward declarations to ZScript.
Added View->Layer 3 is Background, View->Layer 2 is Background to ZQuest.
Added a script quest instruction setting to cause Link's respawn points to match script-written EntryX and EntryY for Screen->Entry* with a Script Settings Rule.
Download File 2.55_Win_Alpha_92.zip – 112 MB
Fixed the bug where Link's spin attack animation is misused when he falls into pits if he is holding a charged sword.
<std 1.7109> : Fix error message on invalid CanWalk directions.
Fix Keyboard Cheat Modifier Dialogue.
Updated Allegro to v4.4.4 (Lib file date 28-Sept-2020).
Added a special colour (teal) to water combos when drowning is off when viewing combo solidity.
Updated Classic.zh to v2.14, and added ./docs/Classix.txt.
Writing ComboD should now restart combodata scripts for the target id.
Fixed Linux console issues and Linux compile issues.
Writing ->CSet on Leever enemy types now also affects their submerged CSet.
The player can no longer change direction when stunned.
Fixed some crashes where non-NULL-terminated strings were passed to TraceS() and printf().
Added 'Snap to Grid' to FFC Right Click contextual menu.
Raised max deaths count from 999 to 65535.
Prevent hard crash when out of memory during compile ZScript.
Added dmap flag to allow fully custom item cellar and passageway enemies.
Added a number of extra features to TF fragments.
Updated classic_qst.dat with diagonal hookshot gfx.
Additional work on zscript_manual.rtf.
<std 1.7107> Added void HoldUpItem(...), and fixed enum HeroAction values.
Added a number of editor and script options to TF Fragment items.
All key types can now run scripts when used, within some limitations.
Added Diagonal Hookshot.
Fixed an issue where the SHOPCHEAT QR could cause subscreen corruption under very specific conditions.
Sparkle lweapons now run scripts.
Fixed BS Patra children reporting that they are cores.
Fixed ZScript logical errors with logical OR and logical AND, with negative values.
Fixed writing to dmapdata->Flags.
Enhanced Step->Effects with damage, sprites and other features.
Fixed Sideview Platform combo solidity and mechanics.
<classic.zh 2.13> Fixed script ChangeRoomGuy so that it does not treat NPC_FIRE as a room guy.
Added flag Split in Place to walking enemies.
Added the behavioral flag Centre Spawn to Gleeok enemies.
It is now possible to set enemy editor size attributes on some additional bosses but the outcome is possibly dubious.
Fixed splitting enemies splitting into one enemy.
Shallow water and tall grass combos now allow a step sound effect.
Added Combo Type Step->Effects.
Added Spawn No Enemies and Spawn All Enemies combo flags..
Fixed script draws in warps.
Show progress loading .sav file.
Show appropriate metadata when loading quests.
Added sanity guards to prevent Waterford.qst crashing.
Fixed memory holes in sprite enemy and mapscreen classes.
Refactored MIDI Patch Fix so that it works on modern OSes.
Added demo scripts hero script onDeath and global script F6.
<std 1.7106> Added sanity guards on all SetLayerCombo and GetLayerCombo functions, with warnings.
Fixed Palette Cycle dialogue.
Fixed crash on Options->Combos->2 dialogue.
Fixed combodata script scripts timing, and added Waitdraw support.
Fixed combodata script scripts setting their run condition without respecting layers.
Updated ffcscript.zh to version 2.0.1.
Fixed duplication of Enemy Editor Attributes label.
<std 1.7105> Fixed a compiling error, and added constants for new npc types.
Hero->Stun was inappropriately sized as a byte; and I have now corrected it to be sized as an integer.
Jumping enemies (vire, pols voice) now jump properly again.
Reading combo labels by script (Game->GetCombo("") should now be faster.
Fix some weapon tile errors.
Added Module->GetItemClass(char32 *buffer, int itemclass).
Added the global pointer class Module-> to ZScript.
Added int Module->GetInt(char32 *section, char32 *element);.
Added void Module->GetString(char32 *buffer, char32 *section, char32 *element);.`
Fixed the script name reports in error messages, adding new types and correcting the offsets.
Using a function or a variable on null pointer will now give its on error message.
Fixed whistle wind warps.
Added lwpn->Special to ZScript
Changed the subscreen code so that if a script forces a weapon to A or B, that the subscreen does not refuse to display it when out of ammo.
Add access to dmapdata-> for dmapdata subscreen script variables.
Fix zscript string functions truncating at 256 characters.
<std.zh 1.7104> Added constants for minimum, maximum, and count of counter types. Fixed typo on IC_WPN_CUSTOM_* chain of constants.
Fix lexer state not clearing
Fix npc->LinedUp() return *10000
<std 1.7103> Added SHD_* constants for shadow types on strings.
Add shadows to DrawString as overloads.
Allow passive subscript to run during death animimation.
Fix multiple importstrs on one line not working
Fixed error messages for invalid GOTO type instructions.
Fixed possible crash on invalid GOTOtype instructions logging args order.
Epilepsy Protection is now set when you launch a NEW INSTALL of ZC, immediately prior to loading the player interface.
Reduced the amplitude of screen wave effects when epilepsy protection is enabled.
Add conditional include #includeif.
Add IS_INCLUDED() to check included files.
Enemy shadows no longer fall into pits.
This may need revision when we add larger shadows.
Don't allow *Bats* to slow to a step of 0 over a pit.
<std 1.7102> Update FFRules to v1.6
Added a rule under Options>>>Other>>>2: Instant Respawn on Death.
Flying enemies with a Z <= 0 ignore pits unless they are stunned.
The following bosses now obey spawn flags, if the Behaviour Flag 'Obeys Spawn Flags' is enabled:
Aquamentus, GleeoK, Patra, Gohma, Moldorm. Lanmola.
Enemies do not fall during spawn animations.
Floaters do not land over pits.
Lanmolas do not spawn inside pits: All enemies need this code.
Added Graphics->IsBlankTile; to ZScript.
Fixed fallthrough on dmapdata->MiniMapCSet.
Fixed logging message for dmapdata->MapTile, MapCSet.
Moving Pushblocks now respect Pits
Fix ->ReadChars() and ReadString() missing *10000
Fix various things having collision while falling and Link being vulnerable while falling.
Add ENGINE PITS! These have a lot of interaction with enemies, items, weapons, and Link.
Add new Link sprites; 'Drown' and 'Falling' are implemented
Fix issue with importing .zcombo files
Fix dmap subscreen script slot Waitdraw().
Add QR allowing passive subscreen script to run during opening wipes / potion refilling.
Add new features to printf now can use %02D' format.
Fix minus key shifting combos on screen.
Fix combo editor 'X' in titlebar not working
<std 1.7055>, added GetMapscreenEflags, ScreenFlag for mapdata, MapscreenFlags and GetMapscreenFlags.
Added dmapgrid.zh, astar.zh, infostring,zh, nme.zh, and roomtypes.zh.
Fixed issues with player jump height.
Added a rule to prevent scrolling while jumping in overhead.
Fixed inaccuracies in zscript.txt.
Fixed Warp() and WarpEx() ignoring DMap offsets.
Added FileSystem->Remove("filename") and file->Remove().
Fixed mathematical bugs in sprite->Step and legacy quest emulation.
Added the hotkey ? to display version information in ZQE.
Added speed modifiers to the Raft item.
The DMap editor will now remember your last used tile when setting Map tiles.
Added configs: PreFillTileEditorPage, PreFillComboEditorPage and PreFillMapPage to zquest.cfg, to allow easier GoTo hotkey command use.
Fixed bugs with taking snapshots in ZC Player and added modifiers to hotkeys.
Fixed a crash that occurred if you use the Tile Grabber on a .qst file and try to scroll beyond the end of the file.
Fixed critical issues with Step in scripts.
Disabled the rule qr_STEP_IS_FLOAT on quest load for quests made before this version.
<std, 1.7053> Added `bool HasHeavyBoots()`, and added constants for new combo flags.
Fixed issues in some 2.10 quests related to the ladder and one-tile water combos.
Can now automatically cause the select quest dialogue to open on entering a save slot name.
Added a Heavy flag to step combos, that requires a boots item with the Iron flag to trigger.
Fix combo scripts re-initializing every frame and crashes when using combo scripts on layers > 0.
Added <astar.zh> A* library.
More fixes to B-only and A+B item subscreen bugs that occur when shifting between quests.
Fixed LoadByUID functions or weapons and non-npc sprites.
Fixed a memory leak caused by aborting a script compilation.
Fixed some values related to Jump.
Fixed crashes relating to division by zero with Step, and with tribbling enemies.
Added option to emulate old Step values being truncated.
Prevent OOB array overflows when reading gamedata caused by faulty subscreen maths.
Fix enemies walking through walls.
Fixed a crash stemin gfrom Screen->Combo and mapdata->Combo error messages.
Fixed wallmasters not emerging from walls.
Fixed some issues with npc positions in scripts.
Enemies should now obey scripttile and scriptflip with Old Draw rule.
Various fixes to new String Editor and related QRs.
Added the config setting zc_menu_on_left to zc.cfg and to zquest.cfg.
Fixed main menu issues in small mode.
Fix fixed-point errors in the ZScript interpreter.
<std, 1.7051> Fixed the value for CF_SIDEVIEW_PLATFORM.
Added some new Favourite Commands and re-worked some existing commands.
Fixed printf() in ZScript wrecking negative float values.
You can now floodfill paste tiles after copying a single tile, in the Tile Editor.
Added the ability to overlay tile blocks in the Tile Editor.
Fixed mass overlay in the Tile Editor.
Added multi-jump to Feathers.
Rewrite the fix class used by Allegro. Now all float coordinates in ZScript are precise.
Updated ghost.zh to version 2.8.15.
Updated std.zh to version 1.7050.
Made sprintf and printf internal ZScript commands.
Added stricmp and strnicmp as internal ZScript commands.
Fixed swords not working after playing an A+B Subscreen quest.
Added Game->IncrementQuest() to ZScript.
You can now Import and Export all ZASM.
You can now use arbitrary files as read/write using file->.
Sped up array allocation in ZASM.
Added a Quest Report to easily locate buggy Next-> combos (with secret flags).
Added CONST_ASSERT to ZScript, and fixed some registration issues.
Fixed default cheat modifier keys to ensure that all keybindings are unique.
Add more copy/paste options to String Editor
Fix new combo animation respecting ASkipY and related issues.
Fix tile move not respecting ASkipX/Y
Added messagedata->TextHeight and messagedata->TextWidth
Fix the right 'Script Info' button.
Clean u script compilation error and warning output for pointers.
Add 'Clear' and 'Clear All' buttons to slot assign dialog.
Added Game->Reload() to ZScript
Fixed and updated the ZScript docs.
Fixed GetPixel() on Graphics-> and on bitmap->.
Fixed summoners not setting the ParentUID of their spawn.
Fixed ZASM corruption when compiling scripts with refVars.
Optimised drawing command ASM.
Added annotations to ZASM metadata.
Fixed issues with global script slots, and added global slot onSave.
Revamped bitmap-> allocation, and added Filesystem IO on file-> pointers.
Fix ripping tiles fro other quests changing or clearing QRs.
Added new string editor features to set portraits, text offsets, complex backgrounds (with option for translucency).
You can now type multiple letters to find items in alphabetical lists.
Major optimisations of ZASM generation from ZScript files.
Added ZASM Metasdata.
Added zstruct type to ZScript.
Added .zdoors and Import/Export Doorsets.
Redesigned the Palette Editor, adding the ability to manually enter values.
Rewrote the NO_ERROR_HALT system.
Invalid tiles are black with an X, not colour of pal index 0.
ZVersion v0.7.3; fixes compiling issues.
Fixed the ability to set/unset 'Use Pal CSet' on enemies.
Updated ghost.zh to 2.8.14.
Added the SCC GOTOIFSCREEND that accepts dmap, screen, d reg.
Added sanity guards, fixing obscure crashes when using Screen/mapdata->Combo
Added the ability to call the Pick Ruleset dialogue at any time.
Fixed enemy oTile bugs.
Removed ANIMATECUSTOMWEAPONS and forced it off at all times.
Added combodata-> ars for new combo anim/tile/clock/frame.
Revamped QR rulesets, fixing bugs where rulesets were set changed, when you saved a < 2.55 quest.
Fixed combo cycling animation.
New variable Hero step speed.
New combo animation engine.
New logo and splash screen.
New 'Modern' Quest Rule Template.
Added Hero QR Dialogue.
Fixed a clash where Tile Warp and Warp Ring Dialogues corrupted one-another.
Revised the aesthetics of the ZQE screen selection grid.
Added custom SFX to Step>Secrets combo types.
Made Subscreen Counter Object 'Item2' and 'Item3' fields work as originally intended in 2.50.
Fixed a crash using NO_ERROR_HALT with undeclared constants.
Added tokens ~~ and ~= to ZScript.
Added case ranges to switch-case in ZScript.
Fixed the DMap minimap preview in the Select DMap dialogue.
Added combo scripts.
Various Combo Editor Enhancements
Fixed a crash when using Generic combos with IDs > 255.
Updated combos.txt to v4.
Fix Byrna beam orbit positions.
Added Waitdraw to npc scripts, and to lweapon scripts.
Fixed a crash when using array literals.
Fixed header guard filename imprecision.
Fixed enemies with Animation Type 'None' animating.
Extensive upgrades to the Combo Editor.
Removed duplicate std.zh from root.
Fixed fire weapons from red candle and other bugs with wFire->Level.
Added Quest>>Rules>>Weapons>>All Dialogue
Added QRs for angular weapon and mirror interaction.
Updated std.zh to v1.7020, adding weapon.zh and 'namespace weapon'.
Added eweapon script 'addtwoangularshots'.
Added MakeBlockable(ew), MakeUnblockable(ew), and Duplicate() now clones wpn->Level
Added tiumezone to Module metadata.
Floor() and Ceiling() are now internal.
Added functions to resize a ZScript int to signed/unsigned 8-bit and 16-bit values.
Fixed combo animation during onLaunch, onF6, onDeath, and dmapdata subscreen scripts.
Fixed Link's tiles not working on extended tile pages.
Tile Editor now displays the current colour in hex, in addition to decimal.
Fixed a memory leak caused by mirror-reflected weapons.
Fixed potions killing ambient sounds.
Minor fixes to Weapon Type for lweapons.
Fixed case sensitivity on header guard filenames.
Added Time.zh and Bitmap.zh to ./include
Emulated Weapon Types now trigger secrets.
Fixed all known issues with Weapon Editor>>>Weapon>>>Weapon Type (Weapon Type Emulation)
Critical: Fixed crashes when creating eweapons with invalid types.
Expanded internal Help.
Added Module metadata.
Various UI improvements.
Improved ZASM ebugger, and monchrome option for ZScript Debugger.
Added Breakpoints to ZScript.
Sprite limits are now variable.
Added Isabelle Chiming's Z1 and Z2 NSFs, plus license in ./music
Added new enemy flags for behaviour and drawing.
Fixed bugs with using Waitdraw() in item scripts.
Added dropsetdata to ZScript.
Fixed arrows/page hotkeys in combo alias mode.
Added ->Gravity to ZScript
Fixed and added some combodata variables.
Fixed some issues with the DMap Sideview flag.
Fixed visual bugs when using negative layers in ZQ Creator.
Added logical xor to ZScript, plus fixed a crash from NO_HALT.
Fixed a crash when setting compiler SFX to 0.
Updated Classic.zh to v2.12, fixing some compilation issues.
Numerous fixes to Import/Export files.
CRITICAL Fixed crashes on saving files with long paths.
Added the ability to load sprite objects by UID, and added eweapon->ParentUID.
Fixed compatibility issues writing npc->Defense[NPCD_SCRIPT].
Fixed and added screenshot options.
Fixed shadow QRs for weapons and items.
Added the ability for npcs to fire Custom/Script eweapons.
Added more QRs for offscreen weapons. You can now have all weapons move offscreen.
Added EWeapon script to allow any enemy to fire lasers (.zs and .zasm).
Added Logical Xor to ZScript as '^^'.
Updates and fixes to combodata, dmapdata and added Game->Gravity.