Zelda Classic AEternal, v2.55, Alpha 21 (Win32, 35MB)
Changelog for 2.55 on GitHub.
Expo Module | Demo Module | PhantomMenace Module |
Overview (Alphas 19, 20, and 21)
Further fixes to bitmap-> functions.
Added a slew of new bitmap-> commands, including the ability to read in files to a bitmap pointer, and to write out the contents of a bitmap pointer to a file.
Reading a PNG into a pointer, then blitting it.
Fixed a memory leak from sprite->refInfo.
Retooled the ZQ contextual menu, adding some useful commands and trees, including copy/paste functions.
Added the ability to do PasteAll, PasteToAll, and PasteAllToAll with hotkeys:
- V: Normal Paste
- Shift+V: Paste All
- Control+V: Paste to All
- Shift+Ctl+V: Paste All to All
ZScript
Added int Input->KeyBindings[14];
- This returns what keys are set as system keys such as UP, A, Ex1.
Added int Input->ModifierKeys;
- This contains an OR'd set of bits that you can use to determine if modifier keys (e.g. capslock, shift, left control, command) are being used.
Added the following to the bitmap-> pointer:
void Clear(int layer);
- Clears the bitmap on the pointer to colour 0.
void Create(int layer, int height, int width);
- Creates a bitmap on an initialised pointer.
- Destroys any existing bitmap on that pointer, first.
void Read(int layer, "filename");
- Reads a valid graphic file into an initialised bitmap pointer.
void Write(int layer, "filename", bool allow_overwrite);
- Writes the data of a bitmap pointer out to a PNG file.
bool isValid();
Returns true if the bitmap pointer is initialised and has a valid bitmap object.
int Height;
Returns the height of a bitmap in pixels.
int Width;
Returns the width of a bitmap in pixels.
Fixed all of the existing bitmap-> drawing functions to use the correct Y offsets.
Added an experimental bitmap render_source argument to bitmap->Quad() to bitmap->Triangle().
Added the following pointer functions:
Added bitmap Game->AcquireBitmap();
- Initialises a bitmap pointer and allocates a user bitmap it for use.
Corrected (internal) args order for Game->CreateBitmap(h,w).
Fixed Screen->PutPixels().
This should also fix Screen->Lines(), Screen->DrawCombos(), and Screen->DrawTiles() at the same time.
Added Graphics->NumDraws() and Graphics->MaxDraws().
These return the current number of drawing commands this frame, and the maximum number of draw commands (per frame) in the current version of ZC, respectively.
Changed int eweapon->Parent to npc eweapon->Parent to ease typecasting, and removed the 10000 shifting.
The npc pointer would use the raw value, not value * or / 10000.
Added a QR that causes eweapon->Parent to be multiplied / divided by 10000, for legacy support in quests made in older versions of 2.55 (or 2.54).
Re-instated the file zstrings.txt, fixing an issue where the String Editor Help button failed to work.
Added some constants to std_keyboard.zh and updated ZScript_Additions.txt.
When calling bitmap->Blit(), you can specify the destination as the current RenderTarget by passing -2 as the dest.
-1 is the screen normally, but draws to the screen with Blit(RT_SCREEN) only work on 'Layer 7'.
Fixed some issues with bitmap pointer values being incorrect.
Ensured that the sub-bitmap used for (allegro) sprite rotation commands is large-enough, based on the source bitmap size.
ZQuest
Removed invisible widgets carried over to the 2.50 (big) interface from small mode that allow toggling the cset and layer.
Added hotkeys for PasteAll, PasteToAll, and PasteAllToAll.
Expanded the contextual menu with all paste commands, and all ZScript menu options.
Parser
More fixes to NO_ERROR_HALT.
Minor improvements to relational Ops.
Fixed using in current namespace.
Fixed two-way casting with != and == ops.