Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for older bytecode versions #22

Closed
Caylie-C opened this issue Sep 22, 2018 · 21 comments
Closed

Support for older bytecode versions #22

Caylie-C opened this issue Sep 22, 2018 · 21 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@Caylie-C
Copy link

An error occured while trying to load:
Only bytecode version 16 is supported for now, you are trying to
load 14
at 000005D0 while reading object
UndertaleModLib.Models.UndertaleGeneralInfo in chunk GEN8

@krzys-h
Copy link
Member

krzys-h commented Sep 23, 2018

Eventually, probably. But it's hard to say when.
I'm guessing that is not Undertale? If it is, then it's some really old version. Latest ones use bytecode 16.

@krzys-h krzys-h added enhancement New feature or request help wanted Extra attention is needed labels Sep 23, 2018
@krzys-h krzys-h changed the title Will the tool eventually open Bytecode version 14? Support for older bytecode versions Sep 23, 2018
@Caylie-C
Copy link
Author

Is 1.001 going to be supported? In fact, what is the lowest supported ver. of Undertale for this?

@NarryG
Copy link

NarryG commented Oct 3, 2018

Undertale 1.0 and 1.001 use v14 if I'm not mistaken.

Edit: 1.001 is v15. I don't have a copy of 1.0 on hand

@krzys-h
Copy link
Member

krzys-h commented Oct 3, 2018

Just checked all versions of Undertale I could get my hands on through Steam to see what bytecode versions they are for future reference:

Undertale version Bytecode MD5 checksum of data.win Other notes
v1.00 14 d0822e279464db858682ca99ec4cbbff
v1.001 15 cd48b89b6ac6b2d3977f2f82726e5f12
(anybody know what goes here? PS4/Vita releases I guess?)
v1.05 16 856219e69dd39e76deca0586a7f44307 this is already supported by UndertaleModTool
v1.05a 16 0bf582aa180983a9ffa721aa2be2f273
v1.06 16 582795ad2037d06cdc8db0c72d9360d5
v1.08 16 5903fc5cb042a728d4ad8ee9e949c6eb latest version available on PC right now
v1.09 16, GMS2 427520a97db28c87da4220abb3a334c1 the initial Nintendo Switch release
v1.10 16, GMS2 apparently this was just a version bump (https://www.reddit.com/r/Underminers/comments/9h4d6g/so_it_seems_there_are_two_version_for_nintendo/)
v1.11 16, GMS2 this was the recent patch to fix the save files getting removed bug on Switch (https://www.reddit.com/r/Underminers/comments/9j2dbj/could_someone_download_the_111_to_see_if_there/)

So literally anything except 1.00 and 1.001 should be supported

@krzys-h
Copy link
Member

krzys-h commented Oct 6, 2018

Bytecode version 15 support added in 42b1f22 and released in version 0.1.10 of UndertaleModTool - really not much changed between 15 and 16, so that was easy. Supporting bytecode 14 is going to be way harder as some stuff about the push/pop instructions changed AFAIK.

This means that Undertale 1.001 is supported now, but it's probably going to be a while until 1.00 is supported as well.

I also put that Undertale bytecode versions table on the wiki so that it's easier to update it in the future: https://github.com/krzys-h/UndertaleModTool/wiki/Undertale-versions-and-bytecode

@Mc-muffin
Copy link
Contributor

Mc-muffin commented Oct 8, 2018

Just checked all versions of Undertale I could get my hands on through Steam to see what bytecode versions they are for future reference:

Undertale version Bytecode MD5 checksum of data.win Other notes
v1.00 14 d0822e279464db858682ca99ec4cbbff
v1.001 15 cd48b89b6ac6b2d3977f2f82726e5f12
(anybody know what goes here? PS4/Vita releases I guess?)
v1.05 16 856219e69dd39e76deca0586a7f44307 this is already supported by UndertaleModTool
v1.05a 16 0bf582aa180983a9ffa721aa2be2f273
v1.06 16 582795ad2037d06cdc8db0c72d9360d5
v1.08 16 5903fc5cb042a728d4ad8ee9e949c6eb latest version available on PC right now
v1.09 16, GMS2 427520a97db28c87da4220abb3a334c1 the initial Nintendo Switch release
v1.10 16, GMS2 apparently this was just a version bump (https://www.reddit.com/r/Underminers/comments/9h4d6g/so_it_seems_there_are_two_version_for_nintendo/)
v1.11 16, GMS2 this was the recent patch to fix the save files getting removed bug on Switch (https://www.reddit.com/r/Underminers/comments/9j2dbj/could_someone_download_the_111_to_see_if_there/)

So literally anything except 1.00 and 1.001 should be supported

I'll add some missing things if you don't mind:

Undertale version Bytecode MD5 checksum of data.win Other notes
v1.00 14
GMS1.4.1567
d0822e279464db858682ca99ec4cbbff
(Windows, Steam)
v1.001 15
GMS1.4.1690
cd48b89b6ac6b2d3977f2f82726e5f12
(Windows, Steam)
v1.001 16
GMS1.4.1539
e3a0ec9e30493a1c08818755d8a4ae0d
(PS Vita)
initial ps-vita release
v1.01 16
GMS1.4.1539
ece5d15dff0ff5c20a94d3dc78a30361
(PS Vita)
v1.02 16
GMS1.4.1539
d703c5eb2f4fd911d6d5596fe52cf3ca
(PS Vita)
v1.03 16
GMS1.4.1539
183096942ea8a0ad1792c7ba21995372
(PS Vita)
v1.04 16
GMS1.4.1539
040dceb4cfb156f8d58a88e1f40cad49
(PS Vita)
v1.05 16
GMS1.4.1539
856219e69dd39e76deca0586a7f44307
(Windows, Steam)
0ecaf026e3357a98c98245932ac8e536
(PS Vita)
this is already supported by undertalemodtool
v1.05a 16
GMS1.4.1539
0bf582aa180983a9ffa721aa2be2f273
(Windows, Steam)
v1.06 16
GMS1.4.1539
582795ad2037d06cdc8db0c72d9360d5
(Windows, Steam)
2da79c38d342b802a142deac34124bb6
(PS Vita)
v1.07 16
GMS1.4.1539
cd7702660742410cfe08cf9e88376a97
(PS Vita)
v1.08 16
GMS1.4.1539
5903fc5cb042a728d4ad8ee9e949c6eb
(Windows, Steam)
8d2e7d83f45e3f9c4c166fdc9ac18eb1
(PS Vita)
latest version available on pc right now
v1.09 16
GMS2
427520a97db28c87da4220abb3a334c1
(Nintendo Switch)
the initial nintendo switch release
v1.10 16
GMS2
cf8f7e3858bfbc46478cc155b78fb170
(Nintendo Switch)
apparently this was just a version bump (https://www.reddit.com/r/underminers/comments/9h4d6g/so_it_seems_there_are_two_version_for_nintendo/)
v1.11 16
GMS2
113ef42e8cb91e5faf780c426679ec3a
(Nintendo Switch)
this was the recent patch to fix the save files getting removed bug on switch (https://www.reddit.com/r/underminers/comments/9j2dbj/could_someone_download_the_111_to_see_if_there/)

From 1.001 to 1.04 are the PS4/Vita versions, you are correct.

EDIT: Added some missing information, I'm using the MD5 sum from the PS-Vita releases (don't have a PS4, let alone the update files :P) so I'm basically assuming the PS4 versions are the same as the vita ones.

EDIT2: Just checked the Vita version 1.08 (can't check versions 1.04 to 1.06, but have the files) MD5 and it's different from the the PC version it seems:

8D2E7D83F45E3F9C4C166FDC9AC18EB1 -----------> Vita
5903FC5CB042A728D4AD8EE9E949C6EB -----------> PC 

EDIT 3: Okay I managed to get it working, now we have all the PS Vita versions. I don't think we are going to get all the PS4 versions any time soon, right now that would require a hacked console and having an old version of Undertale in it (as we don't have the old files readily available).

@krzys-h
Copy link
Member

krzys-h commented Oct 10, 2018

Thanks! I added all of your data to the table on the wiki. I kinda expected the checksums to be different across platforms.

I will also try to get all Linux and OSX versions to get their checksums as well. Interestingly, according to steamdb.info the OSX version was updated more frequently than the Windows one, which itself was updated more frequently than Linux (but that is probably because the first Linux release is around a year after the Windows one)

@krzys-h
Copy link
Member

krzys-h commented Oct 10, 2018

Aaaand the table is updated with OSX and Linux now: https://github.com/krzys-h/UndertaleModTool/wiki/Undertale-versions-and-bytecode

@Mc-muffin
Copy link
Contributor

Mc-muffin commented Oct 11, 2018

I managed to extract the remaining PS Vita files, I edited my previous comment, check it out.

I kinda wonder how different are the files of the same platform (like, how different is the Windows data.win from the Linux one)

@krzys-h
Copy link
Member

krzys-h commented Oct 25, 2018

@Mc-muffin added to the wiki, thanks

@colinator27
Copy link
Member

Hey, guess what! I just added bytecode 14 support that might be buggy or might not be buggy!!!
5757461

@colinator27
Copy link
Member

@colinator27
Copy link
Member

I'd say it's pretty stable now. Fixed a few issues, not sure how many more exist. However, things like InstanceType and VarID need to be removed from variables in the GUI.

@colinator27
Copy link
Member

So is it in the scope of this project to research bytecode versions < 14, or is it time to close this?

@nitrocafe
Copy link

Can someone make a executable of the tool with the bytecode 14 support modification made by colinator27? I tried myself but it gives me a lot of error and not build a executable.

https://imgur.com/a/ztVjLMn

@Mc-muffin
Copy link
Contributor

Use this link

@Kneesnap
Copy link
Collaborator

I think this would be a fair issue to close.

@nitrocafe
Copy link

Thank you Mc-muffin!! You saved my life! Working perfectly here. Now I can go into deep secrets of some old games and learn from them.

@Grossley
Copy link
Collaborator

Considering that bytecode 14 support is now here I think that this issue should be closed, unless the bytecode 14 support is incorrect/lacking in a way that I'm not aware of.

@Grossley
Copy link
Collaborator

I'm honestly not sure how thoroughly bytecode 14 has been tested.

@Kneesnap
Copy link
Collaborator

I have not seen any issues with bytecode 14 thus-far, and it has been implemented for while. I will close this issue. If any issues pop up regarding bytecode 14, a new issue should be opened.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

8 participants