isle-portable icon indicating copy to clipboard operation
isle-portable copied to clipboard

Regarding 1.0 Compatibility

Open AdminProductions opened this issue 10 months ago • 6 comments

Since the project is dependent on the version of the game being 1.1 and not 1.0, I do have concerns about versions like the Japanese version, which only have a 1.0 version.

My concern is with certain animations playing at incorrect times and causing potentially game-breaking stuff. I have the Japanese version of the game installed and I tested it with isle-portable, and this is the result.

https://github.com/user-attachments/assets/186b3bff-06a9-4e73-a932-4c659e2d25ff

At first it may look normal, but once I put in my name, it does not play the usual cutscene it's supposed to (the one where the Infomaniac is talking about jetskiing, flying and a bunch of other things). The cutscenes for exiting the game are also incorrect.

This isn't just a problem with isle-portable either, isle.pizza also has the same issue and has a Japanese language option (1.0). I'd like to prevent further problems with people trying to use 1.0 copies of the game with this by bringing up this issue. Is it possible to implement a flag that checks if the version of the game is 1.0/a flag that the user sets if the version is 1.0?

Thanks!

AdminProductions avatar Jun 21 '25 13:06 AdminProductions

isle.pizza is isle-portable.

It probably is possible but it would require someone with good understanding of the version differences

AJenbo avatar Jun 21 '25 13:06 AJenbo

Looks like there is a breaking actions number mismatch between 1.1 and 1.0 as we had originally suspected unfortunately. FWIW it should be fixable by running actionheadergen on 1.0's assets and then slotting in those headers into the codebase and recompiling, but this probably isn't a real solution for this project in general since we should ideally solve it universally without end-user intervention.

CCing @foxtacles

Ramen2X avatar Jun 21 '25 13:06 Ramen2X

It might be a combination of action numbers and actual differences in code. We have not decompiled 1.0. Note that when it comes to action numbers, we only need to align the ones that are actually referenced in the code base, which aren't many.

We might be able to probe whether a version is 1.0 or 1.1 by testing against a known difference in action type / value.

foxtacles avatar Jun 21 '25 14:06 foxtacles

I've just checked the Japanese action values and the only issue I see is that some action values in the Infocenter have shifted by 1. So I don't think there would be any game breaking stuff, and the incorrect dialogue/animations should be limited to the Infocenter.

foxtacles avatar Jun 21 '25 15:06 foxtacles

In that case, would it still be possible to implement a way for the game to play the correct animations in the Infocenter for Japanese? I know it's not a big priority and the game doesn't break, but it would still be amazing if all versions of the game were 100% playable as-intended.

AdminProductions avatar Jun 22 '25 15:06 AdminProductions

In that case, would it still be possible to implement a way for the game to play the correct animations in the Infocenter for Japanese? I know it's not a big priority and the game doesn't break, but it would still be amazing if all versions of the game were 100% playable as-intended.

Yes, in fact I already know how to fix it, and it's fairly easy without having to touch much of the code. The only challenge I'm still working on is dynamically identifying at runtime whether we run 1.0 or 1.1, without looking into the asset file directly. We can still do that as a last resort but I'd like to explore a better way for now.

foxtacles avatar Jun 22 '25 15:06 foxtacles

@AdminProductions this should be fixed now - if you run the game with English 1.0 assets or Japanese, the game will behave as if it was 1.0. The cutscenes should also be correct. You can try it on isle.pizza as well:

Image

foxtacles avatar Jun 27 '25 00:06 foxtacles