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

Padding byte values should match vanilla data #158

Open
GaticusHax opened this issue Oct 13, 2019 · 2 comments
Open

Padding byte values should match vanilla data #158

GaticusHax opened this issue Oct 13, 2019 · 2 comments
Labels
fix A bug that is marked to be fixed.
Milestone

Comments

@GaticusHax
Copy link
Collaborator

When padding bytes are required in the NMS structs, the value of these bytes is normally 0x00 but NMS tends to also use 0xFE for padding byte values in some cases. Technically, the value of padding bytes is undefined, so different values is not a problem for execution but libMBIN does not faithfully reproduce these padding byte values. Instead it always fills padding with 0x00. This leads to many irrelevant differences when comparing files, polluting the results and making it hard to find real changes.

libMBIN should use an appropriate padding byte value to eliminate these differences.
An NMS attribute could be defined (may already exist) to specify what value should be used for padding in different circumstances, either per struct and/or per member.

@GaticusHax GaticusHax added the fix A bug that is marked to be fixed. label Oct 13, 2019
@GaticusHax GaticusHax added this to the Lossiness milestone Oct 13, 2019
@monkeyman192
Copy link
Owner

I think I have already got some code which implements this?

@GaticusHax
Copy link
Collaborator Author

I think the issue may be just with TkAnimMetada and TkGeometryData, due to the custom serialization, that does not implement the padding mechanism.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fix A bug that is marked to be fixed.
Projects
None yet
Development

No branches or pull requests

2 participants