BBB NMS Save File Manipulator — Help

An operation reports completion, but I need to check what actually changed.

Use case 59 · When something does not behave as expected

Help Index → When something does not behave as expected → Use case 59

Treat a completion dialog as a prompt to inspect the result, not as proof that every requested change occurred. Compare exact records before turning an app-memory operation into a live-save write.

Before you start

  1. Retain the request, warnings, known-good backup and, if available, a before-operation JSON export.
  2. Identify the loaded save/context. Wait for Processing to dismiss before starting another operation.
  3. Before any synchronization, Pretty Print or structured refresh, copy EACH pending Raw JSON pane to its own external file; syncing one tab can overwrite pending text in all others. Context export reads the model, not pending editor text; retain both separately.
  4. A parse error can leave the old tree with a green light; [] is ignored, and Pretty Print can overwrite invalid pending text from the old model. Preserve text and verify actual values, not lights.
  5. Do not sync or Pretty Print Inventory Raw JSON: its current dictionary-assignment defect is not reliable inventory replacement. Use Organizer for supported moves or Replace Items from Backup for supported replacement.

Steps

  1. Read the whole result, including warnings, skipped entries and partial outcomes. For starship upgrades, distinguish upgraded, unchanged, partially upgraded and rejected ships instead of judging success from a total alone. (control reference)
  2. Without triggering sync or Pretty Print, compare affected records and preserved text. For inventory moves check actual Name/Slots, item IDs, quantities, indices, leftovers, overflow and capacity; missing records can shift legacy captions. If Inventory Raw JSON sync was used, stop before saving: it may add unexpected dictionary entries rather than apply intended fields. Prefer supported structured tools from a trustworthy baseline. (control reference)
  3. For a location change, compare the selected endpoint address and coordinates with the changed player/spawn fields using full-context exports if needed. For base ordering or deletion, check identities and order, not merely the displayed record count. (control reference)
  4. If any result differs, stop before File → Save or retry. A parse error can leave green status and an old tree; [] is ignored, and Pretty Print can overwrite invalid text. A failed inventory replacement can already have expanded capacity before failing on missing Slots. Preserve all useful pending panes externally, inspect actual items/capacity, and deliberately reload the saved baseline if abandoning the attempt; do not blindly rerun or save. (control reference)

Expected result

  1. You establish what changed, what stayed unchanged and whether any unexpected fields changed. Counts and dialog wording support that check but do not replace it.
  2. Legacy Sorter can display Inventory has been sorted after process_sort returns from a validation warning. Review actual contents even when the final message sounds successful.

What changes, and when to save

An operation’s completion usually concerns app memory. Only the separate confirmed live-save action writes disk and reports its verified targets. JSON export is not a live save or full-folder backup.

Check the result

  1. Compare exact before/after values for the requested scope and sample the supposedly untouched records. After an intentional live save, read Live save written’s verified data/meta paths; later game behavior remains a separate acceptance check.

Important details and recovery

  1. A green sync light proves neither game validity nor that every requested item moved.
  2. Do not erase a known-good backup merely because a dialog reports completion. Retain it until you have checked the saved result.
  3. A replacement error does not prove an unchanged inventory; its tree may not have refreshed. Preserve work before further operations, and deliberately reload if abandoning the partial change.

Application controls used here

  1. Upgrade outcome categories
  2. Inventory inspection
  3. Save result