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

Patcher - Testing/support needed for TSLPatcher's [HACKList] #24

Open
th3w1zard1 opened this issue Nov 6, 2023 · 2 comments
Open

Patcher - Testing/support needed for TSLPatcher's [HACKList] #24

th3w1zard1 opened this issue Nov 6, 2023 · 2 comments

Comments

@th3w1zard1
Copy link
Collaborator

See the conversation around here for details.

@th3w1zard1 th3w1zard1 added the kind/enhancement New feature or request label Nov 6, 2023
@th3w1zard1
Copy link
Collaborator Author

th3w1zard1 commented Nov 19, 2023

I have implemented this, but it could be tested further. The only mod I was able to find using this list is High-Level Force Powers.

@th3w1zard1 th3w1zard1 changed the title Patcher - Missing support for TSLPatcher's [HACKList] Patcher - Testing/support needed for TSLPatcher's [HACKList] Jan 31, 2024
@th3w1zard1 th3w1zard1 reopened this Jan 31, 2024
@LewsTherinTelescope
Copy link

While trying to write up a full spec for the changes.ini format to aid my mobile port (after disappearing off the face of the earth... again... oops 😅), I found this post on the LucasForums archive where stoffe explains what TSLPatcher expects of hackfiles, which is subtly different from the current implementation.

TL;DR:

  • The key is a decimal offset. (HoloPatcher defaults to the same unless it has a hex prefix, so no compatibility issues here.)
  • The value is a signed 32-bit decimal integer. (HoloPatcher expects unsigned and defaults to 16-bit, though I suspect it should parse negatives correctly anyway since it just uses int().)
  • If the target file has a .ncs extension it is written with big-endian ordering, otherwise it is written with little-endian. (HoloPatcher always does big-endian and regards it as an NCS-only feature... which in practice it probably is.)
  • If the target file already exists and ReplaceFile is false, it will be skipped because offsets might not be reliable. (HoloPatcher only enables skip_if_not_replace for InstallList and CompileList currently.)

Given the extremely limited number of mods using the feature I don't know if any of these differences would've ever reared their heads, though, and I have no idea if fixing them now would break anything that relies on HoloPatcher's current behavior.

(Apologies if this was already discussed in the Discord conversations, I can't see what server the link points to.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants