Zelda Classic AEternal, v2.55, Alpha Forty-Two (Win32, 48MB)
Changelog for 2.55 on GitHub.
Expo Module | Demo Module | PhantomMenace Module |
Overview
Improvements and Fixes
- Fixed a memory leak caused by mirror-reflected weapons.
- Added death.zh, time.zh, and bitmap.zh to headers/ and to include/
- Fixed potions killing ambient sound-effects.
- Fixed some bugs in the Classic Module, and in the Default Moduole
- Added metadata to modules, and 'About Module' menu option to ZC Player and to ZQuest Creator.
- Fixed graphical glitches with swordbeam shards.
- Weapon Type and Default Defence lists no longer display unimplemented types.
- Added internal ZQ help for Shields (block flags), and for ZScript.
- You can now open the Message String help page from the ZQ menus.
- The Level Palette dialogue now jumps to the current palette.
- Fixed sprite caps.
- Fixed crashes with mirror and weapon interaction.
- Fixed a crash when creating eweapons with an invalid type.
- NPCs now have a flag to allow moving them out of the screen bounds on a per-npc-basis.
- NPCs now have a flag o enable 'Fast Draws' on a per-npc-basis.
- Refactored .zdmap, and .zdmapset, merging them into one type.
- Fixed the 'Load Module' function to update GUI lists.
- Fixed potions killing ambient sound-effects.
- Added the ability to import combos without overwriting.
- Fixed crashes when using .ztile and .ztileset.
- ZQuest Creator now properly renders negative layers for neighbouring screens.
- Fixed hotkeys for 'Goto Page', and arrow UI widgets for the Large Mode Combo Alias selection.
- The Ganon ashes and Triforce drop now work properly on conveyors, and in sideview gravity.
- Weapons modified by the Item Editor, Weapon Tab, Weapon Type field, or lweapon->UseWeapon, now triggers combo and secrets.
ZScript
- Fixed header guard filename case-sensitivity.
- Restored itemdata->Max
- item scripts are now itemdata scripts.
- Added death.zh, time.zh, and bitmap.zh to headers/ and to include/
- The maximum on-screen sprite limit is now variable; Added the following instructions:
- int Game->MaxNPCs();
- void Game->MaxNPCs(int newmax);
- int Game->MaxLWeapons();
- void Game->MaxLWeapons(int newmax);
- int Game->MaxEWeapons();
- void Game->MaxEWeapons(int newmax);
- int Game->MaxItemsprites();
- void Game->MaxItemsprites(int newmax);
- int lweapon->Max();
- void lweapon->Max(int newmax);
- int eweapon->Max()';
- void eweapon->Max(int newmax);
- int npc->Max();
- void npc->Max(int newmax);
- int iemsprite->Max();
- void itemsprite->Max(int newmax)
- Added Debug->Breakpoint(char32 str[]) and controls for breakpoints in the ZASM Debugger.
- Added access to scrolling layers, and to tempscreen via mapdata:
- Game->LoadTempScreen(int layer);
- Game->LoadScrollingScreen(int layer);
- Added Screen-> and mapdata->isSolidLayer(int x, int y, int layer);
- Added dropset-> dataype with the following instructions:
- in Choose();
- int Items[10];
- int Chances[10];
- int NothingChance()'
- Added npc->Remove();
- Added logical Xor as ^^ and xor. Biwise xor is ^ and bitxor.
- Fixed ZASM pushing and popping 0 for no valid reason.
- The stack pointer is now a bitset, to handle all 1,024 registers.
- Fixed a crash when using NO_ERROR_HALT with ternary expression errors.
- EWeapons and NPCs now know the UID of their Parent, if any, accessible via ->ParentUID.
- The ZScript Debugger now has a monochrome view option.
- Updated std.zh to v1.6004
- Fixed Waitdraw() for itemdata scripts.
- The item-> datatype (pointer) is now itemsprite->.