Jump to content

Photo

Zelda Classic 2.55 Alpha 21 for Windows (Official)

Alpha Æternal AEternal 2.55 Windows

  • Please log in to reply
13 replies to this topic

#1 Timelord

Timelord

    The Timelord

  • Banned
  • Location:Prydon Academy

Posted 25 April 2019 - 08:42 PM

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.


  • Twilight Knight and Lüt like this

#2 kurt91

kurt91

    Follower of Destiny

  • Members
  • Real Name:Kurtis
  • Location:Eastern Washington University

Posted 26 April 2019 - 01:17 AM

Could we use bitmaps to do pre-rendered areas like in RPG Maker? Are the bitmaps restricted to the same colors in the palette as if we were making tiles? I can just imagine making a quest with a separate bitmap for each screen for an insanely-detailed map way more elaborate than we'd be able to do normally. (On a more realistic scale, maybe for a small area that's meant to be somewhere particularly special.)

 

Going absolutely nuts with this, I can imagine a fully pre-rendered area done like the PSX Final Fantasy games, and every single color in an 8-bit palette used for an incredibly detailed Link and Enemy sprites.



#3 Timelord

Timelord

    The Timelord

  • Banned
  • Location:Prydon Academy

Posted 30 April 2019 - 03:19 AM

Could we use bitmaps to do pre-rendered areas like in RPG Maker? Are the bitmaps restricted to the same colors in the palette as if we were making tiles? I can just imagine making a quest with a separate bitmap for each screen for an insanely-detailed map way more elaborate than we'd be able to do normally. (On a more realistic scale, maybe for a small area that's meant to be somewhere particularly special.)

 

Going absolutely nuts with this, I can imagine a fully pre-rendered area done like the PSX Final Fantasy games, and every single color in an 8-bit palette used for an incredibly detailed Link and Enemy sprites.

 

You could, but all solidity checking and other game interactivity would need to be scripted.

 

Bitmaps are always rendered using the current palette. You can change the game palette, prior to rendering them, but you will need to pre-load DMap palettes from your images into ZQuest, save them with the quest, then load them by script at the same time as rendering an image.

 

This is otherwise identical to how all other 8-bit colour graphics work in ZC.



#4 kurt91

kurt91

    Follower of Destiny

  • Members
  • Real Name:Kurtis
  • Location:Eastern Washington University

Posted 30 April 2019 - 06:55 PM

You'd need to script all of the solidity? Why not just put the bitmap on the bottom-most layer, and then place invisible solid combos where necessary one layer above it? I mean, that's how they do it in RPG Maker, an image for graphics and then invisible tiles on top for solidity.

 

Although, like I said, I can't imagine all of this work actually being worth it in large-scale applications like this.



#5 Lüt

Lüt

    Germanize

  • Members
  • Real Name:Steve
  • Location:Chicago

Posted 01 May 2019 - 04:35 AM

You'd need to script all of the solidity? Why not just put the bitmap on the bottom-most layer, and then place invisible solid combos where necessary one layer above it?

They could be underneath it, for that matter. Solidity on layer 0/1/2 is unaffected by anything else drawn on top of it.

In this situation, I'd actually make blank functional combos for everything on layer 0, because then you could use not only solidity, but water/shallow water, damage, triggers, warps, and all the rest of the combo-based functionalities.

Pushable objects may be an issue though, I suppose. You'd probably have to dedicate a few segments of your map to using standard in-quest tiles if you wanted traditional block puzzles. But with 2.55's 800+ tile pages, that really shouldn't be an issue.

#6 Timelord

Timelord

    The Timelord

  • Banned
  • Location:Prydon Academy

Posted 01 May 2019 - 06:53 AM

They could be underneath it, for that matter. Solidity on layer 0/1/2 is unaffected by anything else drawn on top of it.

In this situation, I'd actually make blank functional combos for everything on layer 0, because then you could use not only solidity, but water/shallow water, damage, triggers, warps, and all the rest of the combo-based functionalities.

Pushable objects may be an issue though, I suppose. You'd probably have to dedicate a few segments of your map to using standard in-quest tiles if you wanted traditional block puzzles. But with 2.55's 800+ tile pages, that really shouldn't be an issue.

 

For solidity, I would use a separate bitmap, blit a mask to it with specific colours for solidity and combo types, then render it at the same angle and pitch as the visible bitmap, and blit it offscreen.

 

From there, I can GetPixel() at the coordinates on-screen, offset by the distance off the the screen that the mask bitmap lives, to read the solidity (prior to moving sprites), and the combo types, under sprites.

 

Not a simple task, but it is perfectly viable.

 

Changing graphics on the visible bitmap would equate to using FastCombo() to their location on the render source bitmap, and updating the solidity mask.

 

All of that is, of course, manually script-controlled.

 

I have examples of something similar in the Atari 800 demo.



#7 OmegaX

OmegaX

    Leader of Omega GamingHunters101

  • Members
  • Real Name:Matthew
  • Location:Rochester, NY

Posted 01 May 2019 - 10:41 AM

Are these alpha builds safe to use for building full scale quests for not? Just asking...

#8 Timelord

Timelord

    The Timelord

  • Banned
  • Location:Prydon Academy

Posted 03 May 2019 - 06:27 AM

Are these alpha builds safe to use for building full scale quests for not? Just asking...

 

In general, yes. I have made sure to future-proof every change, so that any quest made in an older alpha still works properly in the newer builds, and I plan to continue to do this.

 

Just don't save an existing quest in 2.55 without making a backup, and there is no way to revert updating it at present. Make a copy of the quest, and edit that in 2.55.



#9 OmegaX

OmegaX

    Leader of Omega GamingHunters101

  • Members
  • Real Name:Matthew
  • Location:Rochester, NY

Posted 03 May 2019 - 06:29 AM

Even if someone want to switch to make a in 2.50 or 2.53 quest in 2.55?

Edited by MegaX, 03 May 2019 - 06:36 AM.


#10 Twilight Knight

Twilight Knight

    Tell all with glee, Argon's on PureZC

  • Members
  • Real Name:Sven
  • Location:Rotterdam, NL

Posted 15 May 2019 - 05:00 PM

Hey this build is great.

 

I had this issue where all my slashable (tall grass, flowers, etc.) combos had changed to other combos, such as eyeball 4 way. I thought it was because of upgrading from 2.5 to 2.55.

 

Either way, now it's suddenly fixed and I don't have to edit and fix all those combos. Sweet!

 

 

Also this bitmap feature looks great. Though I doubt I'll ever use it, I'm sure some clever people here will make some nifty quests with it. However I do see some potential for cutscenes or perhaps bosses... Cool stuff.



#11 Timelord

Timelord

    The Timelord

  • Banned
  • Location:Prydon Academy

Posted 16 May 2019 - 02:53 AM



Hey this build is great.

 

I had this issue where all my slashable (tall grass, flowers, etc.) combos had changed to other combos, such as eyeball 4 way. I thought it was because of upgrading from 2.5 to 2.55.

 

Either way, now it's suddenly fixed and I don't have to edit and fix all those combos. Sweet!

 

 

Also this bitmap feature looks great. Though I doubt I'll ever use it, I'm sure some clever people here will make some nifty quests with it. However I do see some potential for cutscenes or perhaps bosses... Cool stuff.

 

That was a bug a few versions back. I accidentally offset combo types by one, part-way through the list, when I added modules for combo labels.

 

I'm unsure why you'd never use it, given the kinds of effects that are now possible. Heck, you can create 60fps animations using these tools. I'm somewhat tempted to add the ability to load and play gif anims, too. ;)

 

Alpha 22 is now available at http://zeldaclassic.com/downloads, so you might want to grab that. It adds Screen scripts, and a long list of fixes and features.

 

You can try this scrolling Koten demo, this Mode 7 demo. or the Dragon Quest demo if you update to Alpha 22, or above.

 

All three make heavy use of bitmaps. You can effectively do any of the SNES Mode 7 stuff now, quite easily, with bitmaps, including drawing a plane (new feature, as bitmap->DrawPlane()), to render a landscape toward a horizon point at a scaled distance.

 

I might cobble together a gravity demo where the screen rotates, using the same bag of kit.


  • Twilight Knight and Dark Ice Dragon like this

#12 SkyLizardGirl

SkyLizardGirl

    Unbeknownst to danger we call upon your help

  • Banned
  • Real Name:Arianna Crystal Ritter
  • Location:Earthia

Posted 17 May 2019 - 04:57 PM

What can Alpha 22 do now?

 

I am just curious.   Is there New some new features?


Edited by SkyLizardGirl, 17 May 2019 - 04:58 PM.


#13 Dark Ice Dragon

Dark Ice Dragon

    Wizard

  • Members

Posted 23 May 2019 - 03:30 PM

 

 

Heck, you can create 60fps animations using these tools. I'm somewhat tempted to add the ability to load and play gif anims, too. ;)

 

 

 

so..made a anime-like scene/intro/ending wlll be possible ? that great !  



#14 Timelord

Timelord

    The Timelord

  • Banned
  • Location:Prydon Academy

Posted 23 May 2019 - 10:04 PM

What can Alpha 22 do now?

 

I am just curious.   Is there New some new features?

 

Alpha 23 now. I'll post an update soon.





Also tagged with one or more of these keywords: Alpha, Æternal, AEternal, 2.55, Windows

1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users