Skip to content

Conversation

@ptasev
Copy link
Collaborator

@ptasev ptasev commented Jan 1, 2025

  • Updated to .NET 8.0
  • Added support for reading version 1.5.0 (found in a PS3 proto build)
  • Added support for reading big endian archives for 1.5
  • Added support for LZSS transformation (so far have only seen it used in the PS3 proto build)
  • See the binary templates for 010 editor here

Note, The part 1 id is used as the object id in the file abstraction. This is actually the nextDuplicate entry id. I changed it to use the firstDuplicate entry id from the shared entry info (part 2) which allows the app to properly group all duplicates together. Before it would skip the first duplicate and only group the remaining duplicates from the 2nd one.

This is only done in the 1.5 version of the headers. While this works for reading it may have negative consequences for writing the data. Right now 1.5 doesn't implement writing so this is fine. More thought will need to be given for handling this properly with the abstractions in mind for the other versions.

The 1.5.1 change to use the part 2 firstDuplicate id:
https://github.com/EgoEngineModding/ego.nefsedit/pull/30/files#diff-ff8d170a408496040efcfe707b96272d9c4df7abfbb79074067cfd2f756fb0fbL64

The item list that does the grouping of duplicates based on this id:
https://github.com/EgoEngineModding/ego.nefsedit/blob/master/VictorBush.Ego.NefsLib/Source/Item/NefsItemList.cs#L47-L53

@ptasev ptasev marked this pull request as ready for review May 4, 2025 20:28
@ptasev
Copy link
Collaborator Author

ptasev commented May 4, 2025

Need the following PR to merge first so the sub-module can be updated:
victorbush/ego.nefscommon#1

@victorbush
Copy link
Collaborator

Need the following PR to merge first so the sub-module can be updated:
victorbush/ego.nefscommon#1

Merged. Also added you as a collaborator on that repository.

Feel free to break the dependency on that sub-module if you see fit; I was experimenting with a few different things a while back, but nothing became of it. I don't have any plans to continue with it in the near future. I'll leave that to your discretion.

@ptasev
Copy link
Collaborator Author

ptasev commented May 4, 2025

Sounds good. Are there any regressions in the ability to read the exe header based nefs files due to the work on that sub-module since the last release?

Are you going to review the PR, or should I merge when ready?

@victorbush
Copy link
Collaborator

Are there any regressions in the ability to read the exe header based nefs files due to the work on that sub-module since the last release?

Not that I'm aware of, but it's been a while.

Are you going to review the PR, or should I merge when ready?

You're free to merge whenever.

@ptasev ptasev merged commit fe53ef9 into master May 12, 2025
@ptasev ptasev deleted the support-1.5-big-endian branch May 12, 2025 01:54
@ptasev ptasev mentioned this pull request Jun 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants