ZoriaRPG
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:
ZQuest
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.
http://timelord.insomnia247.nl/zc/zc_dev/ZC_2.5.4_Beta_14_Item_Editor.png
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.
http://timelord.insomnia247.nl/zc/zc_dev/beta30.png
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'.
ZScript
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).
Screen->DrawBitmapEx
This is a new bitmap drawing handler, with multiple modes, including translucent, flip, lit, and pivot.
Link->Diagonal
Manually enable or disable diagonal movement by script.
That's right: I've dared to work on link.cpp. :D
Link->Eaten
Returns non-zero if Link is inside a LikeLike, or similar enemy.
Link->BigHitbox
Manually change if Link uses the 'big hitbox' drawing mode.
Game->CappedFPS
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'.
Screen->ZapIn
Screen->ZapOut
Screen->WavyIn
Screen->WavyOut
Screen->OpeningWipe
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.
Link->Extend
Manually set, or get the *Extend value for Link's sprite. This is still a bit buggy.
npc->ScriptDefense[10]
Used to set defences for the ten script weapon types, individually.
String Control Codes
/26/dmap/screen -> Warp Link
/27/dmap/screen/return
/28/dmap/screen/return/sound
/29/dmap/screen/return/sound/visual_effect
/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:
Game->GetDMapScreenDoor
Game->SetDMapScreenDoor
Game->GetDMapScreenState
Game->SetDMapScreenState
Link->SetTile(int,int,int,int)
Manually change the tile associated with each of Link's sprites.
Link->GetTile(int,int,int)
Read the tile associated with each of Link's sprites.
Link->SetLinkExtend(int,int,int)
Manually change the *Extend value associated with each of Link's sprites.
Link->GetLinkExtend(int,int)
Read the *Extend value associated with each of Link's sprites.
Screen->BitmapQuad()
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
-=SPOILER=-
Otherwise current with 2.50.3G1.
Brought to you, by:
[2.future] Dev Staff
Dimentio
Grayswandir
ZoriaRPG
[2.future] Testers
/ TBA /
[2.future] Contributors
/ TBA /
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:
ZQuest
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.
http://timelord.insomnia247.nl/zc/zc_dev/ZC_2.5.4_Beta_14_Item_Editor.png
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.
http://timelord.insomnia247.nl/zc/zc_dev/beta30.png
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'.
ZScript
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).
Screen->DrawBitmapEx
This is a new bitmap drawing handler, with multiple modes, including translucent, flip, lit, and pivot.
Link->Diagonal
Manually enable or disable diagonal movement by script.
That's right: I've dared to work on link.cpp. :D
Link->Eaten
Returns non-zero if Link is inside a LikeLike, or similar enemy.
Link->BigHitbox
Manually change if Link uses the 'big hitbox' drawing mode.
Game->CappedFPS
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'.
Screen->ZapIn
Screen->ZapOut
Screen->WavyIn
Screen->WavyOut
Screen->OpeningWipe
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.
Link->Extend
Manually set, or get the *Extend value for Link's sprite. This is still a bit buggy.
npc->ScriptDefense[10]
Used to set defences for the ten script weapon types, individually.
String Control Codes
/26/dmap/screen -> Warp Link
/27/dmap/screen/return
/28/dmap/screen/return/sound
/29/dmap/screen/return/sound/visual_effect
/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:
Game->GetDMapScreenDoor
Game->SetDMapScreenDoor
Game->GetDMapScreenState
Game->SetDMapScreenState
Link->SetTile(int,int,int,int)
Manually change the tile associated with each of Link's sprites.
Link->GetTile(int,int,int)
Read the tile associated with each of Link's sprites.
Link->SetLinkExtend(int,int,int)
Manually change the *Extend value associated with each of Link's sprites.
Link->GetLinkExtend(int,int)
Read the *Extend value associated with each of Link's sprites.
Screen->BitmapQuad()
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
-=SPOILER=-
Otherwise current with 2.50.3G1.
Brought to you, by:
[2.future] Dev Staff
Dimentio
Grayswandir
ZoriaRPG
[2.future] Testers
/ TBA /
[2.future] Contributors
/ TBA /