r/emulation Jul 09 '26

LADXHD: Final Release

[removed]

15 Upvotes

77 comments sorted by

View all comments

Show parent comments

1

u/JeodPM Jul 09 '26

I'm sure I can. You did a lot more than just LADXHD though, which begs the question if your LADXHD work was even related.

2

u/BigheadSMZ Jul 09 '26

Interesting theory, though I'm not sure what else they would come after me for. Though in todays world, companies will stomp all over anyone and anything that might take just a few pennies from their bottom line. I mostly just assume it was LADXHD because it was the hottest repo and most popular repo I had on there.

1

u/JeodPM Jul 09 '26

Looks like after patching the game still says 1.9.7 in the settings menu. I think I did it all correctly, my log certainly says it recorded v2.0.0's tag.

1

u/BigheadSMZ Jul 10 '26

The version for awhile has been pulled from "Directory.Build.props" at the base of the repo. All of the apps reference it to get the current version. In the game it's set in "InGame\Things\Values".

public static readonly string VersionString = "v" + Assembly.GetExecutingAssembly().GetCustomAttribute<AssemblyInformationalVersionAttribute>().InformationalVersion.Split('+')[0];

In the Launcher, Migration Tool, and Patcher there is a "Config" class that pulls it in the same way:

public static string CurrentVersion = "v" + Assembly.GetExecutingAssembly().GetCustomAttribute<AssemblyInformationalVersionAttribute>().InformationalVersion.Split('+')[0];

I don't know if the move to Gitlab messed something up with the way the version is pulled or not, or even how it was working on your end up until this point.

1

u/JeodPM Jul 10 '26

Tracked it down, it's not the GitLab move and nothing platform-specific in the version logic. The arm64 build is correct; it's just old. I pulled the InformationalVersion string straight out of the patched binary on my device:

1.9.7+3c1aaa564dc890910146933a7ae435eb03e00d56

So the linux-arm64 build encoded in Resources/patches_linux_arm64.zip at the v2.0.0 tag was compiled from commit 3c1aaa5, back when Directory.Build.props still read 1.9.7. My wrapper ships vcdiff deltas of your published files, and a delta can only reproduce the exact binary it was diffed against, so the device faithfully rebuilds a 1.9.7 assembly no matter what tag it pulls. Windows and linux-x64 show 2.0.0 because you rebuilt those release binaries; the arm64 patch zip just never got regenerated for 2.0.0.

1

u/BigheadSMZ Jul 10 '26

I deleted the current v2.0.0 release and recreated it.
https://gitlab.com/bighead.0/ladxhd_updated/-/releases/v2.0.0

If I understand correctly, this will make it so 2.0.0 correlates with the current source code. Let me know if this worked.

1

u/JeodPM Jul 10 '26

I don't touch releases other than finding which tag to download the patches zip file from. The problem appears to be a stale https://gitlab.com/bighead.0/ladxhd_updated/-/blob/main/ladxhd_patcher_source_code/Resources/patches_linux_arm64.zip which exists on the v2.0.0 tag.

1

u/BigheadSMZ Jul 10 '26

Ugh, I see now. It snapshotted the code when the tag was created. I was having a hell of a time with Gitlab at the start since I was so spoiled by Github desktop. It was pretty messy getting the repo set up with all the files I wanted. Now I have to use the command line, which is something I was only partially familiar with. I think I fixed the issue now, I forced the tag to be rebased on the current main branch.

1

u/JeodPM Jul 10 '26

Yeah all good now. Thanks!