View Single Post
Love & Thunder Love & Thunder's Avatar

JCF Member

Joined: Sep 2011

Posts: 1,101

Love & Thunder has disabled reputation

Aug 14, 2020, 10:21 AM
Love & Thunder is offline
Reply With Quote
Quote:
Originally Posted by ShadowGPW View Post
wow I absolutely love this! You guys do god's work.
Thanks.

Quote:
Originally Posted by Simon View Post
I put your level into good-1.2 and played. Yes, the spring activates and flashes its sprite as soon as Jazz has run past the middle. Thanks!
Ah, cool!
Sorry it took me so long to respond. Been very busy recently, and I keep forgetting to respond here...
Hope all is well with you.

Quote:
Originally Posted by Simon View Post
Downsides of this hack:

The flashing spring sprite hovers in the air, it's not on the ground, unlike the grounded flashing spring in, e.g., 1.0.
The spring appears when I jump over the event without landing.
The spring activates a tad later than a normal hidden spring in 1.0/1.3 because Jazz must pass its center.

Right, it confirms your theory that springs and ditches are fixable with sprites in good-1.2.

It's also conceivable to just put visible springs in place of hidden springs, like the Jazz devs did in good-1.2's Tubelectric 2. Like you, after comparing the files, I'm not so sure anymore what Tubelectric 2 was meant to be.
I see.
Well, now that we know it works with a visible sprite, we'll have to see if we can figure out a way to change the alignment, I guess. Though I'm okay with a minor visual bug, if it fixes the functionality of the level. A slightly late trigger is mildly annoying, but it shouldn't impact the functionality, thankfully.


Perhaps the thing to try is to mess around with the settings in J1E and see if you can get it to a state where it makes the spring appear, close to the ground.


Quote:
Originally Posted by Simon View Post
Hmm, Orbitus uses different LEVEL*.005 in good-1.2 and bad-1.2. The bad-1.2 LEVEL*.005 is identical to the 1.3 or the 1.0 LEVEL*.005.

To be certain and to rule out other causes than executable and LEVEL*.005, I playtested Orbitus 1 after putting the bad-1.2 LEVEL*.005 into good-1.2. The behavior is then as in the bad-1.2: Broken bouncy floors that behave like air.
Wow!
Hm. So, I suppose good-1.2 has a fixed version of Orbitus, but bad-1.2 forgot it, and in 1.3, they tried another method of fixing it that broke things in Orbitus 2... Very interesting!

Quote:
Originally Posted by Simon View Post
Thanks! Great to see your interest. I'm super happy too that I can bounce these intricate ideas off Robo4900, and I'm learning a ton.


Quote:
Originally Posted by Simon View Post
[airboard providing ditch]
Hm. Weird. Still, if my fix fixes that, then that's good, at least.

And we do know that some invisible sprites are still interactable, we're just not sure which ones.

Quote:
Originally Posted by Simon View Post
I've ran J1E and toyed with the flower event #24 in good-1.2's Jungrock 1 (LEVEL0.011). Yes, giving that event #24 a large sprite will activate the bouncing flower behavior; the trigger area will depend on the size of the sprite.
Thought so!

Quote:
Originally Posted by Simon View Post
Picture above: The functional Orbitus 1 floor event in good-1.2.

[...]

Saved the so-edited LEVEL0.011 and played in good-1.2. This didn't activate any bounce effect in good-1.2. Apparently, the mysterious quickfix animation in Orbitus 1 is necessary, it doesn't exist in Jungrock 1.
Hm.

Looks like the "quickfix" sprite is just a black pixel, present to let Jazz collide. We could hack that into Jungrock, or alternatively try creating a new animtion in one of the unused spaces, use the first frame of the item collection glitter flash thing, and use that as the idle animation for the Jungrock springs. It might just be seamless enough that players don't notice the difference.

Quote:
Originally Posted by Madge View Post
If I understand correctly, the current plan is to release 1.3 with a patched Orbitus 2 and fixed airboard ditches. Sounds perfectly reasonable, and the bare minimum GOG needs to do anyhow. Their current release isn't in an acceptable state.
No, there are other issues in 1.3, mainly Orbitus 2, that aren't really fixable without making a significant change to the level.

Personally, I'm aiming for this fix: We revert the engine to good-1.2, but use a mixture of levels to create a "definitive" version that fixes all the major bugs... I think we would default to 1.3 levels, but good-1.2 has some unique versions of a few levels (most notably both Orbituses) which we should use since they fix some issues. Then we apply some individual level fixes (such as Medivo and Tubelectric) to fix any remaining issues.


FWIW, when I first started investigating this, I was advocating for us using the extended version of Tubelectric 2 found in good-1.2, but at this point, I think it's best to use the 1.3 version, with a fix to make the spring work in good-1.2, as I think the good-1.2 version was an accidental inclusion; the version seen in 1.3, and all other versions other than good-1.2, is how it's supposed to be. So, I think a fixed version of the 1.3 version of the level is the best way to go.


Quote:
Originally Posted by Madge View Post
Otherwise, would it not be possible just to use the 1.0 engine [...] I'm informed that Episodes A-C do not work correctly with 1.1 or 1.0's engine, so that rules out this avenue of attack.
Yeah, sadly we can't just revert to 1.0 or 1.1.

Quote:
Originally Posted by Simon View Post
This is a good research topic. I already suggest to new speedrunners that they buy 1.3 from GOG, then put from the 1.0 shareware JAZZ.EXE and MENU.000 into their 1.3 to get 1.0 physics. It would be excellent anyway to understand this better.
FWIW, if we can put together a fix, I would hope that speedrunners could transition into using our fixed version instead of 1.0, since then they could do full speedruns of all nine original episodes.

Quote:
Originally Posted by Simon View Post
You're right, I'm leaning towards 1.3 with adaptions, but haven't ruled out alternatives. Robo9400 is 50:50 between 1.3 and good-1.2. I still owe Robo9400 a full comparison of what needs fixing either way.

I still haven't put good-1.2 levels into 1.3, I should experiment with that next! Maybe they'll fix ditches.
To be honest, at this point, I'm leaning more towards good-1.2 with fixes. My logic is this:

If we can make sure we've tracked down all the bugs in 1.2, then I think we can fix them all. The "quickfix" sprite in Orbitus could be used as a basis to fix all the other broken invisible sprites that don't have any alternative fix.

Whereas, 1.3, Orbitus is completely unfixable without significantly changing the level geometry, and thus significantly departing from how that level is intended to play.
__________________