Jump to content

Photo

Zelda Classic 2.55.0, Alpha 78

Alpha Æternal AEternal 2.55 Windows

  • Please log in to reply
7 replies to this topic

#1 Timelord

Timelord

    The Timelord

  • Banned
  • Location:Prydon Academy

Posted 01 August 2020 - 10:33 AM

Zelda Classic AEternal, v2.55, Alpha 78 (Win32, 101MB)

Changelog for 2.55 on GitHub.

Expo Module | Demo Module | PhantomMenace Module |

Overview

Major Features and Fixes

  • Added Z3 style Pit Combos
  • Fixed whistle wind warps.
  • Jumping enemies (vire, pols voice) now jump properly again.
  • Fixed spawn puff not appearing.

Pit Combo Demo


New Respawn Option Demo



Alpha 75 through 78

  • Updated ffcscript.zh to v2.0.1, supporting 2.55 features.
  • Fixed duplication of Enemy Editor Attributes[24] label.
  • <std 1.7105>
    • Fixed a compiling error, and added constants for new npc types.
    • Added constants for minimum, maximum, and count of counter types.
    • Fixed typo on IC_WPN_CUSTOM_* chain of constants.
    • Add SHD_* constants for shadow types on strings.
    • Update FFRules.zh to v1.6
    • Added file std_sideview. OnSidePlatform function are now in this file, along with some settings.
    • Added config OLD_ONSIDEPLATFORM to std.cfg.
    • Added the following enums to std_constants.zh:
      • enum roomtypes, enum catchalltypes, enum dmapgridpositions
  • Added the following chain of functions to std_functions.zh:
    • DMapMapGraphicsIndex();
    • GetInfoString();
    • void GetInfoString();
    • SetVisibleOnDungeonMap();
    • VisibleOnDungeonMap();
    • catchalltypes GetCatchallType(mapdata m);
  • Hero->Stun was inappropriately sized as a byte; and I have now corrected it to be sized as an integer.
  • Reading combo labels by script (Game->GetCombo("")) should now be faster.
  • 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.
  • 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 dmap subscreen script variables.
  • Fixed return values for npc->LinedUp(), ReadChars(), ReadString().
  • Add text shadow options to DrawString(...) as an overload
  • Fixed scripts not drawing during warps with the QR enabled.
  • Allow passive dmap subscreen script to run during death animations.
  • 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.
  • Added conditional include directive #includeif.
  • Added IS_INCLUDED() to check included files.
  • Added a rule under Options>>>Other>>>2: Instant Respawn on Death.
    • This allows you to instantly respawn the player, and should work in conjunction with Skip Continue Screen, to allow games that do not fall back on the file select.
  • The following bosses now obey spawn flags, if the Behaviour Flag 'Obeys Spawn Flags' is enabled:
    • Aquamentus
    • Moldorm
    • Gleeok
    • Patra
    • Gohma
    • Lanmola
  • Added Graphics->IsBlankTile[214500]; to ZScript.
  • Fixed issue with importing .zcombo files
  • Fixed bugs with using Waitdraw() in dmapdata subscreen scripts.
  • Add QR allowing passive subscreen script to run during opening wipes / potion refilling.
  • Add new features to printf(); now allos %02d as a format.
  • See the file changelog.txt, for more changes, bugfixes, and improvements.

  • Anthus and Twilight Knight like this

#2 cavthena

cavthena

    Apprentice

  • Members
  • Real Name:Clayton
  • Location:I wish I knew

Posted 01 August 2020 - 01:58 PM

For combodata scripts, when does the engine execute them in terms of order with other types? I've looked at the documentation and can't find combodata in the list. It would be handy to know as I've noticed that functions that involve controls such as "NoAction()" and pointers such as "Hero->InputA = false" have no effect.



#3 Jamian

Jamian

    ZC enthusiast

  • Members

Posted 02 August 2020 - 02:08 PM

Is there a trick to using combodata scripts? I wrote a combodata script, attached it to a combo, the combo is on the screen, it doesn't run.



#4 Emily

Emily

    Scripter / Dev

  • ZC Developers

Posted 02 August 2020 - 06:52 PM

Is there a trick to using combodata scripts? I wrote a combodata script, attached it to a combo, the combo is on the screen, it doesn't run.

ZScript->Quest Script Settings
You need to specify what layers combo scripts are allowed to run from
  • Jamian likes this

#5 Emily

Emily

    Scripter / Dev

  • ZC Developers

Posted 02 August 2020 - 07:21 PM

For combodata scripts, when does the engine execute them in terms of order with other types? I've looked at the documentation and can't find combodata in the list. It would be handy to know as I've noticed that functions that involve controls such as "NoAction()" and pointers such as "Hero->InputA = false" have no effect.


Not sure... that documentation should be updated

#6 Timelord

Timelord

    The Timelord

  • Banned
  • Location:Prydon Academy

Posted 02 August 2020 - 10:23 PM

The combodata script timing is slightly bugged at present, and do_script as not set up properly for layers. I made a few changes that will be in the next build, and once I am confident that they are sound, I will publish the timing data. Note that we may need to streamline it in the future with some timing rules. It's a bit odd right now, because of how, where, and when some scripts run. 

 

In Alpha 78, they essentially run dead last, and you should put a trace in them to ensure that they run, at all. This position was intended for combodata scripts after Waitdraw.


  • cavthena and Bagu like this

#7 cavthena

cavthena

    Apprentice

  • Members
  • Real Name:Clayton
  • Location:I wish I knew

Posted 03 August 2020 - 10:06 AM

This is good to know. I can work with dead last on the list as this ironically works fine with combo changing, setting flags or changing states. I'll just have to keep in mind that drawing and intercepting inputs are a no go.

I haven't encountered any failed executions yet. But I haven't done anything overly complex yet, just a ledge jump and save point.

#8 Timelord

Timelord

    The Timelord

  • Banned
  • Location:Prydon Academy

Posted 03 August 2020 - 10:45 PM

This is good to know. I can work with dead last on the list as this ironically works fine with combo changing, setting flags or changing states. I'll just have to keep in mind that drawing and intercepting inputs are a no go.

I haven't encountered any failed executions yet. But I haven't done anything overly complex yet, just a ledge jump and save point.

 

Again, this placement is unintentional, and was intended to be for combo scripts after Waitdraw. I have changed it for A79, but it remains untested, as does Waitdraw() in combodata scripts. I found a large number of issues, notably that I never finished that implementation, and that the script execution flags were not being set for every layer, but they were all using the data range for layer 0. Thus, a script that quit on layer 2 would have caused a script at the same grid position on all other layers to quit.

 

I allocated the space for all of them, but I apparently did not set that up, because I was focused on testing them on layer 0, and b the time that anyone else started using them, I had forgotten that I did not finish that block. If you want preliminaries of Alpha 79 to try, to test combo scripts, send a note to me.





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

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users