Read-only archive of the Armageddon Games Forums Archive (2000–2026) · About this archive

Releasing 2.50.2.1

10 replies · 6,444 views · Started 20 June 2017

I was chatting with ZoriaRPG recently about the status of the 2.50.x branch, which is currently in a bit of a mess.

2.50.2 was the last full release, and 2.50.3 RC1 the last beta. 2.50.3 fixed several bugs but also changed the way that scripts interact with the combo solidity flags, in a way that breaks old quests using that variable in their scripts.

So the current status is that:
- 2.50.3 RC1 does not play 2.50.2 and older quests correctly
- the latest master code does play both 2.50.2 and 2.50.3 quests correctly
- the latest master code is some ways off from being in a releasable state.

His proposed plan, which I think makes sense despite being a bit convoluted, is to
1. Apply all bugfixes from 2.50.3 RC1 except the combo solidity change to 2.50.2 and release it as a new stable release (2.50.2.1, say);
2. Disavow 2.50.3 RC1: authors currently using it can continue to do so, and their quests will be playable in the next major release based on the master branch, but their quests cannot be edited/played in the 2.50.x branch.

This would put the 2.50.x branch in a stable state while we continue work on the next release with the major overhaul of the parser, graphics backend, etc.

Thoughts?

You should ask at PureZC, too.
I wonder if anyone's actually relying on that difference, anyway. Maybe it'd be okay just to back that change out, but I understand why that would be problematic.

By the way, I don't think anyone's fixed this bug yet. Probably worth throwing that one in.

[MENTION=38582]Saffith[/MENTION]

I sent you a PM of the sources that I intend to become 2.50.2.1. I updated them about an hour ago, so please re-download them if you have already grabbed them. If everything checks out, we can do a three-platform release of this, but we need to run it through its paces, first.

The update applies some other minor fixes/changes that you added to the end of the old 2.50.x branch, and the beginning of the present master branch. Please see the changelog.txt file to review all of them.

The source pack is here: http://timelord.insomnia247.nl/zc/zc_dev/ZeldaClassic-2.50.2.1.zip

ChangeLog for 2.50.2.1 RC1
[spoiler]ChangeLog for 2.50.2.1 RC1

Fixed 3rd quest with zero deaths not going to 5th quest. ( ZoriaRPG, 20th June, 2017 )

Reverted COMBOSDM change made by Saffith, as it caused different bugs with older players.
This is properly fixed in 2.51+. ( ZoriaRPG, 20th June 2017 )

Fixed long-standing bug where setting Link->Item every frame causes lag. ( ZoriaRPG, May 2017 )

Fixed lweapon->Behind not working. ( ZoriaRPG, May 2017 )

Fixed ffc->Link being unable to be cleared, or otherwise set to 0 ( ZoriaRPG, May 2017 )

Fixed scale args for DrawChar() and DrawInteger(): Both of these now scale per zscript.txt documentation. ( ZoriaRPG, Jan 2017 )

Zelda Classic Menus: Added Etc->Show Debug Console. This opens the Allegro debug console or closes it if it is open. ( ZoriaRPG, Jan 2017 )

ZScript Variables in scope are destroyed when their scope exits. ( DarkDragon, Jan 2017 )

Added a checkbox to disable analog stick movement.
Changed joystick config dialogues to match keyboard config dialogues.
Added more joystick options to ag.cfg.
Small fixes to joystick input.
Fixed minor issues in key config dialogues. ( Saffith, 18-Dec-2016 )

Additional fixes with Link exiting water. ( Saffith, 15-Dec-2016 )

Fixed an invalid read in draw_wavy(). ( Saffith, 14-Dec-2016 )

Fixed Link's position being offset improperly on continue when quakeclk > 0.
Ensure overscane rectangle is black while the screen is shaking.
Fixed an issue with Limk exiting water.
Fixed Stone of Agony sensitivity. ( Saffith, 11-Dec-2016 )

Fixed incorrect screen calculation and possible crash in warp with combos that carry over. ( Saffith, 6-Dec-2016 )

Global script OnExit now works. In prior versions, this script did not run.

Fixed a crash when loading a sfx file with more than 35 chars or without any extension. ( Gleeok, 2015-12-30 01:05:05 )

Fixed negative constants being read incorrectly.
Fixed incorrect screen calculation and possible crash in Game->SetComboSolid(). ( Saffith, 2015-12-19 19:41:38 )

Fixed a crash when importing combos. ( Saffith, 2015-11-27 09:30:31 )

Replaced the built-in MIDIs with versions edited by zaphod77 to sound more like the NES game. ( Saffith, 2015-10-14 10:41:20 )

[/spoiler]

I applied the fix for 5th quest, and I re-uploaded the sources about two minutes ago. ( 06:33AM GMT )

I also uploaded a new bin package for Windows to test here: http://timelord.insomnia247.nl/zc/zc_dev/2.50.2.1_Win.zip

I say kill the change to combos that broke RC1 and tell people to not rely on that bug. Since 2.50.2 is the /actual/ latest stable version everything should be okey-dokey. 😊

Gleeok wrote:I say kill the change to combos that broke RC1 and tell people to not rely on that bug. Since 2.50.2 is the /actual/ latest stable version everything should be okey-dokey. 😊

FWIW, this is what I wanted to do, and I was overruled. The change is part of the present master because it is a necessary bugfix for SetComboSolid, but without the sophisticated ZScript version header system, it cannot be done without serious ramifications to older quests.

Thus, supporting 2.50.3 quests--if any exist--is not a problem for 2.51+, but a new stable build of 2.50.x could not run them if they call that function. That is the sole component of 2.50.3rc1 quests that would break; so not only would a quest need to be made in that gamma, but it would also need a script that does SetComboSOlid, which is not a popular instruction, before loading it in [FONT=Courier New]2.50.2.1.569.sheep[/FONT], is a problem.

ZoriaRPG, why don't you ask the quest authors you know on Pure if they are using 2.50.3? If nobody is using it, we can just drop support for it. But I don't want to leave anybody screwed if they have spent hours building a quest in 2.50.3 (that said as the master currently stands there should be no issue loading 2.50.3 quests in the future using the master branch, as far as I can tell.)

There appears to be something odd going on with [MENTION=38582]Saffith[/MENTION] 's changes to controller directional buttons, and XBox 360 controllers.

Would some of you with various game pads please try this build, and tell me if you can configure the directional buttons using the new menu under Settings->Controls->Joystick Directions?

There is a new checkbox 'Use Analogue Stick Instead of Buttons', which should do what it says ont he tin. I need to know if it works as advertised, and if disabled, the dpad works. I also need to know what this does if you do not have an analogue sick, and if you can map your dpad buttons.

I also have a report of a crash if you change focus from ZC while the map buttons dialogue is open, on Win 7. I could use some confirmation using different system configurations, Windows, Linux and OSX (when the latter two builds are available).

I added the stick/buttons option because the D-pad is treated as a stick on a PS4 controller and buttons on a Wii U controller, so they can't use the same configuration.

The settings to match 2.50.2's behavior should be:

js_stick_1_x_stick = 0
js_stick_1_x_axis = 0
js_stick_1_x_offset = 0
js_stick_1_y_stick = 0
js_stick_1_y_axis = 1
js_stick_1_y_offset = 0
js_stick_2_x_stick = 1
js_stick_2_x_axis = 0
js_stick_2_x_offset = 0
js_stick_2_y_stick = 0
js_stick_2_y_axis = 2
js_stick_2_y_offset = 1

Saffith wrote:I added the stick/buttons option because the D-pad is treated as a stick on a PS4 controller and buttons on a Wii U controller, so they can't use the same configuration.

The settings to match 2.50.2's behavior should be:

js_stick_1_x_stick = 0
js_stick_1_x_axis = 0
js_stick_1_x_offset = 0
js_stick_1_y_stick = 0
js_stick_1_y_axis = 1
js_stick_1_y_offset = 0
js_stick_2_x_stick = 1
js_stick_2_x_axis = 0
js_stick_2_x_offset = 0
js_stick_2_y_stick = 0
js_stick_2_y_axis = 2
js_stick_2_y_offset = 1

I do not know anything about XBox controllers, but the dpad on the XBox controller apparently cannot be mapped to the ZC directional buttons, from what I understand, even with Use Analogue Stick' disabled.

The bigger issue is that if the user opens the dialogue to set the buttons, and shifts focus from ZC to anything else, ZC freezes.