PDA

View Full Version : Zelda Classic 2.53.0 ( Beta 23 )



ZoriaRPG
04-01-2018, 04:53 AM
Here is Zelda Classic 2.53.0 Beta 23 for Windows (http://timelord.insomnia247.nl/zc/zc_dev/2.53_Win_Beta_23_Public.zip)

This thread replaces the previous Beta thread for 2.53.0 (http://www.armageddongames.net/showthread.php?98027-Zelda-Classic-2-53-0-(-Beta-10-)).

Here is ZC 2.53, Beta 23, which fixes the following, over the last major beta build:


Fixed input getting stuck. This primarily affected directional input, but it was known to occur with any button.

Additional backward-compaibility patches with 2.10 quests.

Dodongs now make the correct sound on death.

Generating a .key file in ZQuest now also generates two additional files:

A zcheatfile, which allows a player to use the cheats menu at level 4, but does not allow opening the quest file in ZQuest.

A zpwd file, which allows editing the quest file in ZQuest, but does not enable cheats in the ZC player.


Fixed bugs when using F5 (save map image).

Added settings to Set/GetLayerCombo*() in std.zh, to enable more uniform use on layer 0.

Fixed improper whistle warp points, whistle warp order, and Triforce ordering in 2nd.qst; it now matches the true NES game.

Fixed the lens stealing sound effects and other properties of other items when mashing buttons.

Fixed sword beam and prism combo interaction.

Fixed Magic Book with MP cost, and Melee Weapons with MP costs not properly following it, and added QRs for these behaviours.
Changed the behaviour of cheat menu hotkeys: They now require Shift+Control modifier keys to be pressed.

Fixed hard crash when trying to load an ASM script with an invalid filename that has been around since 2.11!

Fixed cheat menu 'Max Bombs' capping at 99.

It is now possible to set a manual screen Catchall, on None room types.

Fixes DMap Intro String playing in Ganon rooms, and adds a QR for the old behaviour.

Init Data values can now go up to 255 for bombs, max bombs, arrows, max arrows, super bombs, keys, and max keys.

Fixes the lens costing rupees when Link has the infinite wallet.

Fixes vires being frozen if they do not split on hit.

Fixed a number of other miscellaneous visual and mechanical issues with items, and enemies.

Older Changes

Fixed quests made in 2.50.2 and earlier, using DrawCharacter() or DrawInteger() scale from improperly scaling.


Adds QR for Ganon Intro String issue.


The Ganon QR prevents showing a dmap intro string during a Ganon fight if the DMap rule 'Always Show Intro String' is enabled.


Adds Extra Rule so that quests made prior to 2.53.0 that have a magic cost on sword beams (only) do not apply it to sword blades. This is slated to become an item flag in 2.54.


Updated ZCL to 2.6.9.


Swords now obey magic costs.


Revised Quest Header dialogue and added tooltips to it.


Fixed 'About' version details.


Corrected the tooltip for Slash->Item combos.


Improved efficiency of string.zh functions, and updated the docs.


Fixed Link->Misc[] not being divided or multiplied (internally) by 10000.


Fixed Item Editor InitD values being clamped to -32786/32768.


VBound ZQuest combo editor fields: Cset to -15/+15, Aframes (0,255), ASpeed (0,255) to prevent rollover.


Optimised some functions in std.zh that returned boolean values and were comparing against != 0.


Fixed game ending sequence clipping from carrying over to another quest if ZC is reset during the ending.


Diagonally scrolling left and down from a specific pixel no longer crashes ZC.


Opening the console now presents the user with a warning that has a yes/no dialogue.


Optimised some std.zh functions.


Fixed a bug where F9 resetting during the ending sequence would preserve the clipping rectangle through to new quests.


Fixes issues with 1.84 quest compatibility.


Reworded Controller Directions dialogue.


Fixes issues with some 2.50.x quests that use Game->Get/SetCombo* functions (e.g. Panoply of Calatia).


Fixes DrawInteger not properly displaying values when set not to display a decimal point.


Fixes Size of Game->Lkeys[] and Game->LItems[].


Fixes rollover in the combo editor fields.


Split ag.cfg into three files: ag.cfg (RomView, ZCL), zc.cfg (Zelda Classic), and zquest.cfg (ZQuest), to prevent a file access clash that caused overwriting of settings.


Update for ZCL to use the new config files; and also to use zelda.exe, zquest.exe, and romview.exe, instead of files with a -w extension. This is likewise identical in Linux, dropping the -l extension for binaries. ZCL is now v2.6.4.

See the Changelog below for more information. As before, the Build ID for this release is '31', to distinguish between 2.50.3RC1 (Build ID '30') and earlier ZC releases.

We would appreciate bug reports on any of the following:

Playing quests made in 1.92, 2.10, 2.50.x and reporting any compatibility bugs.
Verification that scripts made in 2.50.0, 2.50.1, 2.50.2, and 2.50.3RC1 still work.
Testing that scripts compiled in 2.53.0 work properly in 2.53.0.
Tests that scripted quests compiled and saved in 2.53.0 work proper;y on 2.50.2 (and/or 2.50.3RC1).
Bug reports on any changes, or new features.
Bug reports on joystick configuration.

Please note: The std.zh files in this package may not represent what will be included in the final release. It is likely that the std.zh changes will be pushed forward to 2.54 or later, and not included; but they will be available as a separate download. The latest versions of all common ZScript headers will be included in the final release.

This release is built on the Allegro library, version 4.4.3, with some special fixes applies, and it includes new Allegro library files.

Zelda Classic and ZQuest v.2.53.0 API Specification (PDF, Rev. 1.2) (http://timelord.insomnia247.nl/zc/zc_dev/Zelda_Classic_and_ZQuest_2.53_API_Specification.pd f)


ZLaunch Repository on GitHub (https://github.com/ZoriaRPG/ZCLaunch)

Zelda Classic Changelog for v.2.53.0 Beta 23
-=SPOILER=-

ZLaunch Changes v2.6.9
-=SPOILER=-


Thank you for testing, and for your feedback!

zcfan27330
04-15-2018, 03:34 PM
I'm sorry if this is posted in the wrong place, but I noticed the 1st and 2nd quests are unpassworded, is this intentional?

ZoriaRPG
04-16-2018, 02:52 AM
Here is Zelda Classic 2.53.0 Beta 23 for Windows (http://timelord.insomnia247.nl/zc/zc_dev/2.53_Win_Beta_23_Public.zip)

This thread replaces the previous Beta thread for 2.53.0 (http://www.armageddongames.net/showthread.php?98027-Zelda-Classic-2-53-0-(-Beta-10-)).

Here is ZC 2.53, Beta 23, which fixes the following, over the last major beta build:


Fixed input getting stuck. This primarily affected directional input, but it was known to occur with any button.

Additional backward-compaibility patches with 2.10 quests.

Dodongs now make the correct sound on death.

Generating a .key file in ZQuest now also generates two additional files:

A zcheat file, which allows a player to use the cheats menu at level 4, but does not allow opening the quest file in ZQuest.

A zpwd file, which allows editing the quest file in ZQuest, but does not enable cheats in the ZC player.


Fixed bugs when using F5 (save map image).

Added settings to Set/GetLayerCombo*() in std.zh, to enable more uniform use on layer 0.

Fixed improper whistle warp points, whistle warp order, and Triforce ordering in 2nd.qst; it now matches the true NES game.

Fixed the lens stealing sound effects and other properties of other items when mashing buttons.

Fixed sword beam and prism combo interaction.

Fixed Magic Book with MP cost, and Melee Weapons with MP costs not properly following it, and added QRs for these behaviours.
Changed the behaviour of cheat menu hotkeys: They now require Shift+Control modifier keys to be pressed.

Fixed hard crash when trying to load an ASM script with an invalid filename that has been around since 2.11!

Fixed cheat menu 'Max Bombs' capping at 99.

It is now possible to set a manual screen Catchall, on None room types.

Fixes DMap Intro String playing in Ganon rooms, and adds a QR for the old behaviour.

Init Data values can now go up to 255 for bombs, max bombs, arrows, max arrows, super bombs, keys, and max keys.

Fixes the lens costing rupees when Link has the infinite wallet.

Fixes vires being frozen if they do not split on hit.

Fixed a number of other miscellaneous visual and mechanical issues with items, and enemies.

Older Changes

Fixed quests made in 2.50.2 and earlier, using DrawCharacter() or DrawInteger() scale from improperly scaling.


Adds QR for Ganon Intro String issue.


The Ganon QR prevents showing a dmap intro string during a Ganon fight if the DMap rule 'Always Show Intro String' is enabled.


Adds Extra Rule so that quests made prior to 2.53.0 that have a magic cost on sword beams (only) do not apply it to sword blades. This is slated to become an item flag in 2.54.


Updated ZCL to 2.6.9.


Swords now obey magic costs.


Revised Quest Header dialogue and added tooltips to it.


Fixed 'About' version details.


Corrected the tooltip for Slash->Item combos.


Improved efficiency of string.zh functions, and updated the docs.


Fixed Link->Misc[] not being divided or multiplied (internally) by 10000.


Fixed Item Editor InitD values being clamped to -32786/32768.


VBound ZQuest combo editor fields: Cset to -15/+15, Aframes (0,255), ASpeed (0,255) to prevent rollover.


Optimised some functions in std.zh that returned boolean values and were comparing against != 0.


Fixed game ending sequence clipping from carrying over to another quest if ZC is reset during the ending.


Diagonally scrolling left and down from a specific pixel no longer crashes ZC.


Opening the console now presents the user with a warning that has a yes/no dialogue.


Optimised some std.zh functions.


Fixed a bug where F9 resetting during the ending sequence would preserve the clipping rectangle through to new quests.


Fixes issues with 1.84 quest compatibility.


Reworded Controller Directions dialogue.


Fixes issues with some 2.50.x quests that use Game->Get/SetCombo* functions (e.g. Panoply of Calatia).


Fixes DrawInteger not properly displaying values when set not to display a decimal point.


Fixes Size of Game->Lkeys[] and Game->LItems[].


Fixes rollover in the combo editor fields.


Split ag.cfg into three files: ag.cfg (RomView, ZCL), zc.cfg (Zelda Classic), and zquest.cfg (ZQuest), to prevent a file access clash that caused overwriting of settings.


Update for ZCL to use the new config files; and also to use zelda.exe, zquest.exe, and romview.exe, instead of files with a -w extension. This is likewise identical in Linux, dropping the -l extension for binaries. ZCL is now v2.6.4.

See the Changelog below for more information. As before, the Build ID for this release is '31', to distinguish between 2.50.3RC1 (Build ID '30') and earlier ZC releases.

We would appreciate bug reports on any of the following:

Playing quests made in 1.92, 2.10, 2.50.x and reporting any compatibility bugs.
Verification that scripts made in 2.50.0, 2.50.1, 2.50.2, and 2.50.3RC1 still work.
Testing that scripts compiled in 2.53.0 work properly in 2.53.0.
Tests that scripted quests compiled and saved in 2.53.0 work proper;y on 2.50.2 (and/or 2.50.3RC1).
Bug reports on any changes, or new features.
Bug reports on joystick configuration.

Please note: The std.zh files in this package may not represent what will be included in the final release. It is likely that the std.zh changes will be pushed forward to 2.54 or later, and not included; but they will be available as a separate download. The latest versions of all common ZScript headers will be included in the final release.

This release is built on the Allegro library, version 4.4.3, with some special fixes applies, and it includes new Allegro library files.

Zelda Classic and ZQuest v.2.53.0 API Specification (PDF, Rev. 1.2) (http://timelord.insomnia247.nl/zc/zc_dev/Zelda_Classic_and_ZQuest_2.53_API_Specification.pd f)


ZLaunch Repository on GitHub (https://github.com/ZoriaRPG/ZCLaunch)

Zelda Classic Changelog for v.2.53.0 Beta 23
-=SPOILER=-

ZLaunch Changes v2.6.9
-=SPOILER=-


Thank you for testing, and for your feedback!

Avataro
05-10-2018, 11:47 AM
I wonder when 2.53 will be ready for it's final release. Seems like there's no issues, aside from some obvious ones like default MIDI volume being set to 0.

Saffith
08-21-2018, 04:18 PM
Bit late here, sorry. Haven't really been keeping up.

std_functions.zh has a commented-out version of NumTriforcePieces that should be removed.
I'd suggest that NumberEnemies should be named NumEnemies for consistency.
EnemiesAlive is misspelled. And it might as well return immediately on finding a living enemy.

And you're still including a bunch of random scripts and test quests, as well as config files that the programs would generate automatically. I assume that's intentional, since you keep doing it? You should at least update ghost.zh and tango.zh to the newest versions if you're going to include them.


Improved efficiency of string.zh functions
Often by storing the result of SizeOfArray() in a variable, I see. Is that based on testing or intuition? It could be more efficient, but since reading a variable means an indirect load from the stack, I would guess not.


Zelda Classic and ZQuest v.2.53.0 API Specification (PDF, Rev. 1.2)
... API? I'm not sure what you're thinking there, but that's not what an API is.

ZoriaRPG
09-03-2018, 01:43 PM
Bit late here, sorry. Haven't really been keeping up.

std_functions.zh has a commented-out version of NumTriforcePieces that should be removed.
I'd suggest that NumberEnemies should be named NumEnemies for consistency.
EnemiesAlive is misspelled. And it might as well return immediately on finding a living enemy.

And you're still including a bunch of random scripts and test quests, as well as config files that the programs would generate automatically. I assume that's intentional, since you keep doing it? You should at least update ghost.zh and tango.zh to the newest versions if you're going to include them.



Sure, I'll update them. I wasn't aware that they fell out of sync.

I'll check on the 2.53.0 std.zh stuff and fix it up, and get Beta 16 ready. I have one minor change to apply before I'm officially done with 2.53.0.

IDR why NumTriforcePieces() is disabled. It's still a beta phase package though. I'll rip out stuff that isn't used on release, but heck, the std.zh files have been packed full of half-finished shyte for years, and nobody cared enough to fix it. I'm spending my energy on 2.55. I should have just released 2.53 by now, bit I honestly wanted to solve this issue with input getting stuck, and fix the speed loss in colour conversion. Obviously, neither is getting done in a timely manner, so I may as well wrap up 2.53 soon. IDK when I can make a Mac build, and IDK if a Linux build will give me the same hassle as before.,

Honestly, I wanted to ensure that every gamma was available on all three platforms, but my sanity is limited.




Often by storing the result of SizeOfArray() in a variable, I see. Is that based on testing or intuition? It could be more efficient, but since reading a variable means an indirect load from the stack, I would guess not.



Those are wholly new functions, that you're mentioning here, and not that many of them. Caching the array size is somewhat faster than checking it every iteration, in positive loops.
Writing the size to a register, and reading it back is absolutely more efficient than checking it repeatedly.

That said, I have a newer version of string_functions.zh for 2.55, that I'll backport to 2.53.0. It should be more efficient, and I pushed it to the 2.55 branch. Instead of caching the array size, I check arr[q] != 0. That's technically slower than reading a cached SizeOfArray(), but because these are strings, it's theoretically faster to halt on a NULL terminator.

I notice that you didn't comment on any of the other efficiency changes, at all. Just on the new functions caching the array size. I went through and manually short-circuited returns, if-elseif-else blocks, and fine-tuned loop iterations in the extant functions. Some of that's probably a gigantic waste of my time, as I'll probably make string.zh internal in the future, but; oh well.

Simply changing N++ to ++N saves instructions. Given how slow ZS array access is, every little bit helps. Likewise, manually short-circuiting logical AND statements improves efficiency, as ZS doesn't bother to do that internally; and early returns do the same. In the 2.55 version, I change some of the functions from if-elseif-else chains to switch-case, which should help further.

Renaming NumberEnemies(), sure. That's a direct paste from one of my headers. It could also use some config settings in the future.



... API? I'm not sure what you're thinking there, but that's not what an API is.


I intended to make a comprehensive API doc for ZC/ZQ/ZScript out of it, and as an extension thereof, technical documentation on ZC?ZQ. It didn't shape up into that, and I have my hands full. System Documentation is probably a more apt title at this point, as a comprehensive API docs set is just a bloody nightmare, and no-one would ever care about it, or use it. I'll reword the title on the next draught.

I wanted to include block diagrams for the internal ZC/ZQ/parser logic at some point, too, but that stuff is in a perpetual state of flux now.

I'll get the fixes into 2.53.0 later this week, hopefully, before the holidays start. I need to add one rule to 2.53.0 (melee weapons use magic), and then it's done, unless I somehow manage to find out what causes the dir input getting stuck. (I cannot replicate that with any degree of reliability, in order to track it down.)

Saffith
09-03-2018, 05:40 PM
Writing the size to a register, and reading it back is absolutely more efficient than checking it repeatedly.
Sure, but unless you've made bigger changes to the compiler than I'm aware of, that's not what it does. I can't check the newest versions at the moment, but in the ones I've got, the variable goes into the stack and has to be retrieved again every time through the loop.


I notice that you didn't comment on any of the other efficiency changes, at all.
Because I don't dispute them. The other changes definitely have some effect.

Although looking again now, I noticed something else: several of those new functions use strlen(str-1) instead of strlen(str)-1.


I intended to make a comprehensive API doc for ZC/ZQ/ZScript out of it, and as an extension thereof, technical documentation on ZC?ZQ. It didn't shape up into that, and I have my hands full. System Documentation is probably a more apt title at this point, as a comprehensive API docs set is just a bloody nightmare, and no-one would ever care about it, or use it. I'll reword the title on the next draught.
No, I mean that's not what an API is. It's not just a general term for technical specifications; it specifically means the set of functions, classes, variables, and so on provided by a library, operating system, etc. ZC's API specification is in zscript.txt.

Just nitpicking, anyway. It's not a big deal or anything.

Deviance
09-29-2018, 01:31 PM
-Edited Post- Resolved...

ZoriaRPG
09-29-2018, 10:23 PM
Zoria, ask next time before editing my code (ZCL) and just posting it wherever. Don't care the fact it's being maintained. I do care for the fact you should of asked first. ;)

I know that we resolved this, but I wanted to post for reference:
https://www.armageddongames.net/showthread.php?92517-ZCL-Source-Code-Released&highlight=source

I was under the impression that you released it as GPL back when your SVN worked.

At the moment, the future concern that I have, is: What license do you want applied to it? I have it marked as the same as open-source ZC, but it's important to verify and define that, as anyone making derivations, or redistributing it, would never have been aware of any reservations from the original release that you made of it back in 2010.

Tamamo
09-29-2018, 11:02 PM
ZoriaRPG
Don't worry, I got your back. He keeps this up. I'll ,most likely write my own zclauncher and donate it to warlord.
He's going to go around around saying we never asked for permission even if we did. It doesn't really matter at this point.
If he's not going to properly maintain his software, he can't bitch at us for us doing it for him since you do in fact need it to even run the damn program. Since it's written in spaghetti code. (ZC is to say.)

And what the fuck is this about a GPL license?
Be honest with me Deviance did you at any point release this under a GPL license. If you pulled it within 24 hours your fine otherwise... :rage:

Deviance
09-30-2018, 11:33 AM
I never released a license with it. And doesn't matter either way at this point. Has been resolved. I passed the torch to Zoria.

At the same time I was never notified there was issues with it. Tamamo.

It is now under the deviant license aka keep it working. And do whatever. :p

ZoriaRPG
10-01-2018, 03:56 AM
I never released a license with it. And doesn't matter either way at this point. Has been resolved. I passed the torch to Zoria.

At the same time I was never notified there was issues with it. Tamamo.

It is now under the deviant license aka keep it working. And do whatever. :p

So, GPL3 is fine; yes? That's all I'm asking here. I just need to know what to apply to it on GH, unless you are leaving that decision to me.

Deviance
10-01-2018, 07:28 AM
When I mean I passed the Torch to ya. It's yours ;). Make sure you caress her now and then ok?

ZoriaRPG
10-01-2018, 07:48 AM
When I mean I passed the Torch to ya. It's yours ;). Make sure you caress her now and then ok?

Fair enough. I'll do what I can. :D

I'd normally use GPLv2, but ZC is under GPLv3 and I don't want license version mismatches, so in future, it'll be GPLv3.

ZoriaRPG
10-06-2018, 03:11 PM
Release: Zelda Classic 2.53.0, Beta 23 (See first post in this thread.)

BFeely
10-07-2018, 05:05 PM
Was it intended for the config files to be included? I overwrote everything and that resulted in my configuration being reset.

The recommendation to use the GDIB driver for Windows 10 also applies to Windows 8 or 8.1, however DXAC must be used if you want to use ZC with DXGL.

cbailey78
11-04-2018, 08:23 PM
For anyone just downloaded ZC Beta 23, make sure that the driver in the launcher is set to "Direct Draw" under the drivers tab for ZQuest run normal. I experienced a bad mouse movement and everything wouldn't respond from a click and found out that the driver was initially at "GDI slow".

ZoriaRPG
11-09-2018, 02:03 PM
For anyone just downloaded ZC Beta 23, make sure that the driver in the launcher is set to "Direct Draw" under the drivers tab for ZQuest run normal. I experienced a bad mouse movement and everything wouldn't respond from a click and found out that the driver was initially at "GDI slow".

Hmm... Windows 10?

BFeely
11-09-2018, 06:12 PM
Hmm... Windows 10?
Do you default to GDI when Windows 10 is detected?

ZoriaRPG
11-09-2018, 10:52 PM
Do you default to GDI when Windows 10 is detected?


No, but ZQuest with GDI video on W10 worked fine for me. Windows 10 and video chipset drivers just do whatever they bloody well please.

GDIB will be the ZCL preset for Windows 10, at least, for ZC; but that won't be automatic.

zaphod77
11-15-2018, 01:27 AM
directx works for me. the mysterious framerate issues are gone. gdi seems to drop random frames, while directx windowed is rock solid for me on windows 10 with nvidia.

Also, when was LINK made a cheat name? :) it gave me infinite rupys (showing an A).

ZoriaRPG
11-15-2018, 04:11 AM
directx works for me. the mysterious framerate issues are gone. gdi seems to drop random frames, while directx windowed is rock solid for me on windows 10 with nvidia.

Also, when was LINK made a cheat name? :) it gave me infinite rupys (showing an A).


Oh, hmm, that must be a bug. it's supposed to be LUT.

zaphod77
02-25-2024, 06:03 PM
Experience carefree connections with the top-rated site for casual dating adventures.
Authentic Ladies Premier ?asual Dating
Unsurpassed ?asual Dating (http://meettomy.site)