zencq / NomNom

NomNom is the most complete savegame editor for NMS but also shows additional information around the data you're about to change. You can also easily look up each item individually to examine its attributes, independently of a savegame, or get other useful information that are not related to a specific savegame (but enhanced if one is loaded).
https://zencq.github.io/NomNom/
GNU General Public License v3.0
382 stars 33 forks source link

[Bug] "RocketLockerInventory" is labeled "FireteamSessionCount" in the JSON #165

Closed Lenni009 closed 1 month ago

Lenni009 commented 4 months ago

Description

In the save JSON, the "RocketLockerInventory" section is labeled "FireteamSessionCount".

This happens due to a duplicate key in the save mapping.

Reproduce

Steps to reproduce the behavior:

  1. Open your save JSON
  2. Search for "RocketLockerInventory"
  3. -> Notice it finds nothing
  4. Search for "FireteamSessionCount"
  5. -> See it finds a section that looks like an inventory and therefore belongs to the "RocketLockerInventory" key.

Expected Behavior

The key should be "RocketLockerInventory"

Additional Context

Add any other context about the problem here or at least complete the following information.

cengelha commented 4 months ago

You found a hash collision in the MBINC mapping.json! If you look at it, you'll find the 2 having both "V86". As "FireteamSessionCount" is later in the file, "RocketLockerInventory" is overwritten and therefore not used.

Is "FireteamSessionCount" more than once in you file? If not, it makes indeed sense to favor "RocketLockerInventory" over "FireteamSessionCount".

Lenni009 commented 4 months ago

FireteamSessionCount only exists once. RocketLockerInventory doesn't exist at all. If I look at the raw, unmapped JSON, V86 only appears once. So FireteamSessionCount might be deprecated or something?

cengelha commented 4 months ago

I checked the MBINC repo and it seems that FireteamSessionCount is only used in account data (GcUserSettingsData). Would probably be best if the account mappings would be separately in the file and not mixed with the other ones.