View Single Post
Simon Simon's Avatar

JCF Member

Joined: Dec 2016

Posts: 58

Simon is doing well so far

Jul 27, 2020, 01:46 PM
Simon is offline
Reply With Quote
All right, first part of my research: Comparing the files.

Today, I won't yet state anything about Episodes A-C, boss levels, or secret levels. I feel only confident about the 6 * 6 main levels of Episodes 1-6.

The following 6 levels are equal between all three of 1.0, bad-1.2 and 1.3, and have a unique version in good-1.2:
  • LEVEL1.001 = Tubelectric 2 (longer in good-1.2, extra visible spring)
  • LEVEL0.002 = Medivo 1 (Unclear. Ditch is broken in good-1.2 anyway.)
  • LEVEL0.005 = Orbitus 1
  • LEVEL1.005 = Orbitus 2
  • LEVEL1.009 = Turtemple 2 (probably an airboard ditch fix for good-1.2)
  • LEVEL1.015 = Pezrock 2 (probably an airboard ditch fix for good-1.2)
The following 2 levels are equal between all three of good-1.2, bad-1.2 and 1.3, and have a unique version in 1.0:
  • LEVEL0.017 = Battleships 1
  • LEVEL1.017 = Battleships 2
The remaining 36 - 8 = 28 levels of episodes 1-6 that aren't covered in these two lists are identical across all four of 1.0, both 1.2s, and 1.3.

Thus, I interpret:
  • You cannot fix Diamondus 2 hidden springs in either 1.2 by copying 1.3 levels into the 1.2, because the Diamondus levels are already identical across all versions. (In fact, I started tonight by copying the 1.3 Diamondus 2 into good-1.2, attempting to fix the spring, and it failed. This prompted me to outright compare the level binaries en masse.)
  • You cannot fix the Jungrock flowers by copying 1.3 levels into 1.2, because the Jungrock levels are already identical across all versions.
  • Both 1.0 and 1.3 have the desired behaviors with hidden springs.
  • The 1.2 executable (which is known to be identical in good-1.2 and bad-1.2) has a bug that deactivates hidden springs.
I conjecture:
  • Jungrock flowers call similar code that hidden springs call, even though they don't flash a spring sprite when Jazz bounces off them. Other hidden springs flash a spring sprite for ~2 frames.
  • Orbitus bouncy floors also call similar code that hidden springs call.
  • Orbitus bouncy walls call different code, because they work in all versions.
  • The Jazz developers knew about broken airboard ditches and hacked some levels to fix them. In later releases, the fixes got lost.
  • We already have the results of what will happen when we take the good-1.2 executable with 1.3 levels: This will be the bad 1.2.
  • I should try to copy the good-1.2-unique files into 1.0 or 1.3 and see what happens. Maybe they'll fix airboard ditches.
The above research in this post was about LEVELx.yyy with yyy ranging from 000 through 017 inclusive, and x = 0 or x = 1. I suppose that these are Episodes 1-6 in order.

I suppose LEVELx.03x are Episodes A-C. All levels among those are identical between bad-1.2 and 1.3. Most of these have unique versions in the good-1.2. Further research requires me to finally install, run, and learn J1E. Lots of stuff to do, I'll keep at it!

Quote:
We won't know until we talk to them, but I'm going to assume that if there are any issues with either of these, there will be issues with BOTH of these.

That is, either they are only allowed to use versions of the game that Epic give their thumbs-up on selling, or they are allowed to use any version they like. Either way, it will affect any kind of change at all. In which case, GOG would have to get approval for either method.
You're right. Thanks! That's a refreshing counter to my biggest worry of using the good 1.2.

After all, we aren't publishing optional open-source extensions to some closed package. We are outright modifying what GOG sells, and thus need to be approved top-level anyway, no matter what we do.

Quote:
It would be great if we can just use the 1.3 levels, and implement the one or two needed fixes, but if there's just too much that's weird about good-1.2 to use, I guess we can only pick the best of a bad bunch.
I feel like it will be like this, we'll have to carefully decide which is the least nasty choice.

I promise to look into J1E within this week, and try your modding ideas, e.g., to the Jungrock flowers. I'll post results on Sunday evening, at latest. Meanwhile, feel free to prod me in IRC during the European evenings!

-- Simon

Last edited by Simon; Jul 28, 2020 at 03:21 AM.