View Full Version : [2.future] Beta Releases

12-10-2016, 09:10 AM
ZC [2.future] v2.54
You want betas?! We have betas!

If anyone wants to play with it, you can download the beta for Windows (latest, beta 35) here (http://timelord.insomnia247.nl/zc/zc_dev/ZC_2.54_Beta_35.zip).

The source package for this build is here (http://timelord.insomnia247.nl/zc/zc_dev/ZC_2.54_Sources_Beta_35.zip).

This includes everything from the 2.50.x branch of ZC as of the first Gamma (RC), so most fixes for 2.50.3, plus a few additions.

What is known to work, at present, are the following:


The Item Editor now allows editing all of the options, and settings for custom item classes, and item classes that had restricted the editable fields in prior versions of ZC. This is linked to the new itemdata variables in ZScript, so that it is possible to make scripts that allow extremely easy user-configuration of custom items, and their sprites, effects, and such.


The Enemy Editor now has a third tab, 'Defense 3', in which you can assign the defence attributes for each of the ten script weapon types, individually.

In prior ZC versions, you could not separately define defence types for the 'LW_SCRIPT' weapons. Thus, if you wanted to use an electricity weapon, or an ice weapon, you were stuck playing around, juggling defence types, or manually scripting enemies to handle these.


This took some effort, I'll admit. Older quests will automatically load the generic 'Script' weapon defence into each of the ten slots, and I have put some safeguards in place to help ensure that older quests don't break; but no-one is perfect, and I'll admit that this needs some extra testing with older quests.

You can also define these by script, using the new npc array npc->ScriptDefense[10]. As always, the docs are updated, and you can read ChangeLog.txt if you want to laugh at my pain, and suffering; and the grief involved in setting this up.

Note: Build 35 changes the quest format to support the script defence types. Quests made in b35and later will not load properly in earlier betas of 2.54.

As of beta 40, there are also some new defense results, including double-damage, triple-damage, and some more-exotic types, such as 'Trigger Screen Secrets'.

itemdata is wholly revised, with a plethora of new variables, including the often requested 'ID'.
The ZQuest Item Editor has also be revamped, to allow the user to set any of the options, for custom item class items, or essentially anything, ensuring that these flags, and values are always available.

The user arrays: npc->Misc[], Link->Misc[], lweapon->Misc[], eweapon->Misc[], and item->Misc[] are all now a size of [32], rather than [16]. The size of ffc->Misc[16] remains unchanged, for memory conservation reasons, as does Screen->D[8] (for the same reasons).

This is a new bitmap drawing handler, with multiple modes, including translucent, flip, lit, and pivot.

Manually enable or disable diagonal movement by script.
That's right: I've dared to work on link.cpp. :D

Returns non-zero if Link is inside a LikeLike, or similar enemy.

Manually change if Link uses the 'big hitbox' drawing mode.

This returns if the game is capped. If a player 'uncaps' either by pressing the Tilde key, or by pressing F1 (or disabling throttle in the menus), this function will return false.
This allows you to prohibit a player from using uncapping to quickly regenerate health, or magic.

OverlayTile(int first, int second)
This allows you to overlay one tile onto another. For example, if you want to give Link a hat, you can overlay a tile with the hat, onto all Link tiles. This works by masking out colour 0, and drawing every other colour from the tile 'second' to the tile 'first'.

Calls the internal animations, without warping.

int Link->WarpSound
int Link->WarpEffect
int Link->UseWarpReturn
int Link->SideWarpSounds
int Link->WarpPitWarpSounds
New Link variables to give sound effects, and visuals to various warps.

Manually set, or get the *Extend value for Link's sprite. This is still a bit buggy.

Used to set defences for the ten script weapon types, individually.

String Control Codes
/26/dmap/screen -> Warp Link
/18/register/value -> Set Screen->D[]
/19/screen/register/value -> Set Screen->D[] for 'screen' on the current DMap
/23/dmap/screen/register/value -> Set Screen->D[] for 'screen' on 'dmap'

We might swap 23 into 19, and remove the one that does another screen on the current dmap. Likewise, we may trim warps down by one, or two, in the future.
Enemy Editor
The Enemy Editor now has a third tab, 'Defense 3', that allows you to configure defence settings for all ten Script Weapon types, individually.

Other new commands are partially implemented, but do nothing:

Manually change the tile associated with each of Link's sprites.

Read the tile associated with each of Link's sprites.

Manually change the *Extend value associated with each of Link's sprites.

Read the *Extend value associated with each of Link's sprites.

This is like Quad, but it renders bitmaps as textures, for the purpose of doing Mode 7 effects. It does not work properly at present.

For more information, read the included zscript.txt or see the file 2.54_New-ZScript.txt if you only wish to view the details for new instructions.

This includes some test files, the 'std_update' pack for 2.future, and other included headers, and miscellaneous files.

I do not yet know which updates/changes from this package will be pulled into full ZC builds, but if you want something new to play with in the interim, here's your chance.

Change Log

Otherwise current with 2.50.3G1.

Brought to you, by:

[2.future] Dev Staff


[2.future] Testers

/ TBA /

[2.future] Contributors

/ TBA /

12-22-2016, 03:12 PM
Updated to Beta 35.

01-06-2017, 10:25 PM
I'm going to try this out
however is it possible to add vx and vy for items?

01-07-2017, 02:49 AM
I'm going to try this out
however is it possible to add vx and vy for items?

Velocity for items? Items don't even have movement properties at present, and I'm not certain what the benefit of this would be. Explain please, how this would be useful.

I could forsee a slew of bugs caused by giving items velocity and/or acceleration properties.

You can try Beta51 (http://timelord.insomnia247.nl/zc/zc_dev/ZC_2.54_Beta_51.zip), if you wish. I haven't posted it anywhere yet, and I forgot to update this thread with the one on Pure, so I will likely update both for b51, or b52. Oh, I just noticed that B52 joke there. hah.

Plenty of new stuff for you to try in beta 51, including the ability to load DMap Level palettes at any time, pause, resume, and end sound effects and music (needs testing), an instant Greyscale mode that affects all palettes, setting DMap titles, names, and intros by script, setting a ZQuest message string by script, other ZScript cleanup, and some minor ZQ changes. Visual, music, audio, and other effects were the focus of betas 49 through 51.

See the ChangeLog.txt file, 2.54_New_for_Beta_51.txt; and either 2.54_New_ZScript_Shortlist.txt, or 2.54_New_ZScript.txt, for what has changed.

01-07-2017, 03:18 PM
well velocity for items would allow something like a shovel script that makes the items fly forward when link digs them up
I'm sure it would have other uses, however that is the only one I would use it for at the moment

also I have two more suggestions
is it possible to add link hitbox and speed variables in this update?
I don't know what the frequency of zc updates are but I really don't want to wait another 2 years for a update that adds this