PDA

View Full Version : Zelda Classic 2.53.0



ZoriaRPG
07-09-2017, 11:39 PM
For those not following the topics, ZC 2.53 is a replacement for 2.50.3RC1, and the last in the 2.50.x line.

Here is the first public beta, ZC 2.53.0 Beta 2 (http://timelord.insomnia247.nl/zc/zc_dev/2.53_Win_Beta_2.zip).

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.[/*]




Changelog
-=SPOILER=-

cbailey78
07-12-2017, 12:45 PM
This release does not open up quest files from the previous version. It says "Unable to load 'filename'.qst, version not supported"

DarkDragon
07-13-2017, 03:42 AM
Which .qst specifically are you trying to load?

ZoriaRPG
07-13-2017, 06:09 AM
This should not be possible, unless you are loading some 2.54 beta quest that ended up in the package unintentionally. The ZQ version ID is still 0x250.

???

As DarkDragon said, what specific quest file are you trying to load?

ZoriaRPG
07-14-2017, 05:54 PM
Updated to Beta 2. The link in the top post is new.

Nightmare
07-15-2017, 04:53 AM
Confirmed: The 1.92 B 182/3 version of James Quest is now 100% functional in its base form. I think 1.92 183 stuff works picture perfect in 2.53. Zoria, let me know if you want me to test out quest conversion stuff again with that
Confirmed: The Revenge 1 works perfectly.
Confirmed: New Quest 1.84 is NOT working. All stuff pre-1.84 official release looks like it doesn't work.
Revenge 2, New Quest 2003, and U3Q load, haven't finished them, don't know if all the tech works.
Demo 1.84 loads. We probably don't need to go further with this, there are more recent versions of Demo that work, and original Demo is not a requested quest to speedrun or stream as of yet.

New Quest 2003 loads. I'll get back to it after the other critical stuff is tested

-James

Saffith
07-17-2017, 12:09 AM
This commit (https://github.com/ArmageddonGames/ZeldaClassic/commit/c56106ffefe5c1b23ba0dc028e2473d1b5924f62) incorrectly reverted at least two changes.

ending.cpp

- { "\2741999-" COPYRIGHT_YEAR, 88, 896, white },
+ { "\2741999-2017", 88, 896, white },

zc_sys.cpp:

- { jwin_ctext_proc, 160, 76, 0, 8, vc(0), vc(11), 0, 0, 0, 0, (void *) "Zelda Classic", NULL, NULL },
- { jwin_ctext_proc, 160, 84, 0, 8, vc(0), vc(11), 0, 0, 0, 0, (void *) "Version " ZELDA_VERSION_STR, NULL, NULL },
+ { jwin_ctext_proc, 160, 84, 0, 8, vc(0), vc(11), 0, 0, 0, 0, (void *) "Zelda Classic", NULL, NULL },

ZELDA_VERSION_STR isn't showing up in ZQuest, either, but it looks like the code is still there. Are you building from another repo?


Also, could you expand on this a bit?

Global script OnExit now works. In prior versions, this script did not run.
Antiquity uses OnExit to start the second quest, so it was definitely running at least when you win the quest. Were there other times it should have been running and wasn't?

ZoriaRPG
07-17-2017, 05:28 AM
This commit (https://github.com/ArmageddonGames/ZeldaClassic/commit/c56106ffefe5c1b23ba0dc028e2473d1b5924f62) incorrectly reverted at least two changes.

ending.cpp

- { "\2741999-" COPYRIGHT_YEAR, 88, 896, white },
+ { "\2741999-2017", 88, 896, white },

zc_sys.cpp:

- { jwin_ctext_proc, 160, 76, 0, 8, vc(0), vc(11), 0, 0, 0, 0, (void *) "Zelda Classic", NULL, NULL },
- { jwin_ctext_proc, 160, 84, 0, 8, vc(0), vc(11), 0, 0, 0, 0, (void *) "Version " ZELDA_VERSION_STR, NULL, NULL },
+ { jwin_ctext_proc, 160, 84, 0, 8, vc(0), vc(11), 0, 0, 0, 0, (void *) "Zelda Classic", NULL, NULL },

ZELDA_VERSION_STR isn't showing up in ZQuest, either, but it looks like the code is still there. Are you building from another repo?


Also, could you expand on this a bit?

Global script OnExit now works. In prior versions, this script did not run.
Antiquity uses OnExit to start the second quest, so it was definitely running at least when you win the quest. Were there other times it should have been running and wasn't?

I'll look into the strings when I have a chance. That is a far more minor issue than the other more abundant problems.

OnExit should run when the game exits, via F6, Game->End(), or when Link dies. It does that now. It is OnExit, not OnWinGame. The purpose is to clean up global vars, bitmaps, and other things that you want to clear when the game ends by death, or by F6. I'm not sure when this broke, or when it was fixed, but it definitely did not work in 2.50.2, it might have in 2.50.1 or 2.50.0, and it does work in 2.50.3RC1 and 2.53.0.

A different issue of course, is if the change broke Antiquity. I don't know exactly how you caused it to load a second quest.

Avataro
07-17-2017, 11:22 AM
It's probably gonna break Antiquity. Evil Zoria :P Changing the behavior of stuff without considering it might be working as intended.

Anyway, whats the purpose of a script that runs right before the game ends. If it doesn't save before ending, the script won't affect anything. And why did you mention link dying as a case for OnExit running? Link dying doesn't necessarily mean the quest ends. One could select continue and the quest goes on.

DarkDragon
07-17-2017, 11:42 AM
I don't feel strongly one way or the other about how the OnExit script should behave, but if the behavior is going to change, there needs to be a quest rule that preserved old quest compatibility.

Saffith
07-17-2017, 12:13 PM
I'll look into the strings when I have a chance. That is a far more minor issue than the other more abundant problems.
It's not a big issue in itself, but why did it happen? Were you bringing in changes from an out-of-sync repo? I only noticed that because it's obvious and it's easy to see why it happened. Who knows what else might have broken?


OnExit should run when the game exits, via F6, Game->End(), or when Link dies. It does that now. It is OnExit, not OnWinGame. The purpose is to clean up global vars, bitmaps, and other things that you want to clear when the game ends by death, or by F6. I'm not sure when this broke, or when it was fixed, but it definitely did not work in 2.50.2, it might have in 2.50.1 or 2.50.0, and it does work in 2.50.3RC1 and 2.53.0.
Oh, yeah, that makes sense. The issue with it not initializing global arrays after F6->Continue was a side effect of it not running scripts if Quit was nonzero. I hadn't thought about it, but obviously that would affect OnExit, too.

Tim
07-17-2017, 03:13 PM
Just an FYI on what I needed to edit for it to run Fullscreen without fps issues and glitchy/color/seizures:

vsync = 1
frame_rest_suggest = 0
1600x1200 resolution - This was selectable via ZLaunch.

This is on a GeForce 1070 with a 4k TV with a standard 60hz refresh. Windows 10 Pro x64 all up to date.

Vsyncing my high refresh monitor is a different story. <_<

ZoriaRPG
07-17-2017, 06:11 PM
It's not a big issue in itself, but why did it happen? Were you bringing in changes from an out-of-sync repo? I only noticed that because it's obvious and it's easy to see why it happened. Who knows what else might have broken?


Oh, yeah, that makes sense. The issue with it not initializing global arrays after F6->Continue was a side effect of it not running scripts if Quit was nonzero. I hadn't thought about it, but obviously that would affect OnExit, too.


Ah-ha. That may have been all that changed, then; because the user reports that I saw, that indicated that OnExit was broken, were all array-related. This makes more sense now.

Again, this was not a change that I made. It occurred in 2.50.3RC1, so it is apparently linked to the array changes, and I had forgotten about those. I need to note them in the changelog.

ZoriaRPG
07-17-2017, 06:12 PM
Just an FYI on what I needed to edit for it to run Fullscreen without fps issues and glitchy/color/seizures:

vsync = 1
frame_rest_suggest = 0
1600x1200 resolution - This was selectable via ZLaunch.

This is on a GeForce 1070 with a 4k TV with a standard 60hz refresh. Windows 10 Pro x64 all up to date.

Vsyncing my high refresh monitor is a different story. <_<

Thank you Tim. I will see if I can document some of this stuff, in a FAQ at some point. ZLaunch needs to be updated, too.

DarkDragon
07-18-2017, 03:24 AM
Regarding the version strings: my understanding is that Zoria merged in some changes from before the github repository was established and this is the cause of the reversible.

Zoria, I assume that everything on your end is now configured so that your local copy is kept constantly in sync, and you can easily send small and frequent pull requests (including a fix for the issues Saffith identified)?

DarkDragon
07-21-2017, 11:36 AM
It's not a big issue in itself, but why did it happen? Were you bringing in changes from an out-of-sync repo? I only noticed that because it's obvious and it's easy to see why it happened. Who knows what else might have broken?

Is there an update on this? Zoria, if you think some unintended changes snuck into the last patch, I can roll it back, and we can merge in one change at a time, carefully reviewing each one.

Nightmare
08-15-2017, 05:30 AM
Well, the verdict is in......

.......

Unofficial 3rd Quest works! https://www.youtube.com/playlist?list=PLZg6iQHFIdmjWHlEZcWbGdjckeVQxsJRz

Yhr only quests that don't work are the 1.02 and the 1.84 quests, which unfortunately, don't think we can save.

Enjoy people.

-James

ZoriaRPG
08-16-2017, 02:42 AM
Is there an update on this? Zoria, if you think some unintended changes snuck into the last patch, I can roll it back, and we can merge in one change at a time, carefully reviewing each one.]

I'm starting clean with a pull from the AGN GH branch to my local filesystem. I think that my fork was corrupted by merges from two sources, but I do not know how easy it will be to mend it. I may need to do some fiddling. This is just another reason that better branch management would help. If I could add a branch to the AGN repo, it would also appear on my fork, and then I could fold it in without touching this mess.

Is there a --hard version of git push?

DarkDragon
08-16-2017, 03:10 AM
This is just another reason that better branch management would help. If I could add a branch to the AGN repo, it would also appear on my fork, and then I could fold it in without touching this mess.

I don't understand what you're asking. You can create all the branches you want to your clone of the repo: switch to the branch you want to use as the starting point, and type

git checkout -b nameofbranch

You can't add a branch on the official repository but doing so doesn't even make any sense. All operations you do are local, and have nothing to do with AGN's branches. The only times you need to interact with AGN's repository is (1) when "git pull" or "git fetch"ing new changes from other developers, or (2) when submitting pull requests.

I strongly recommend watching some tutorials like this one (https://www.youtube.com/watch?v=Y9XZQO1n_7c). 30 minutes now can save you hours of frustration (mis)using git and then trying to figure out how to fix it.


Is there a --hard version of git push?
Yes, there is a force option. It's almost always a disaster to use unless you really know exactly what you're doing.

ZoriaRPG
08-17-2017, 06:50 AM
I don't understand what you're asking. You can create all the branches you want to your clone of the repo: switch to the branch you want to use as the starting point, and type

git checkout -b nameofbranch

You can't add a branch on the official repository but doing so doesn't even make any sense. All operations you do are local, and have nothing to do with AGN's branches. The only times you need to interact with AGN's repository is (1) when "git pull" or "git fetch"ing new changes from other developers, or (2) when submitting pull requests.

I strongly recommend watching some tutorials like this one (https://www.youtube.com/watch?v=Y9XZQO1n_7c). 30 minutes now can save you hours of frustration (mis)using git and then trying to figure out how to fix it.


Yes, there is a force option. It's almost always a disaster to use unless you really know exactly what you're doing.

I've used most of the basic commands for Git. I understand git checkout, and once in a while, git merge has issues because of file creation dates, or something strange. I wonder if that is a time zone issue ??? GitHub should respect time-zone location, but who knows. git push --hard seems lie a good option to overwrite the files in a branch without worrying about merge conflicts, as all of those conflicts would need some form of manual resolution, and I would be keeping the version from the AGN repo in all cases, for this, to replace the bastardised files in my repo for this branch (2.50.x).

Once this has a stable release, we do need to add a frozen branch of 2.53.0.

I do need to learn more about using git merge, as the various commands and forms for it, are a bit above my level of experience.

FWIW, I detest watching videos on these things. I prefer textbook style docs, that illustrate the process, and the instructions. They are much easier to boomark, and chop up to use as references With a video, if you need to review something you are usually stuck committing an hour to rewatching it merely to find the position where the video covers that topic, but as a document, this is not a problem.

Why does everyone use 30 to 60 minute long videos for what can be explained in five pages of text, these days?

DarkDragon
08-17-2017, 10:51 AM
If you prefer text docs, git comes with extensive tutorials and deocumentation. I've just observed that most people prefer videos these days for whatever reason.

I don't know about the clock issue. You'd have to paste the exact error message (or Google it).