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

Save data corruption problem (The Outsider's Issue) #12

Closed
TRSasasusu opened this issue Jun 21, 2023 · 2 comments
Closed

Save data corruption problem (The Outsider's Issue) #12

TRSasasusu opened this issue Jun 21, 2023 · 2 comments
Labels
The Outsider's bug Not an issue of this translation, but an issue of The Outsider itself

Comments

@TRSasasusu
Copy link
Owner

The Outsider does not separate its ship log data from original game's one.
So, the save data gets to be corrupted if The Outsider is disabled with unread its ship log.

Now, Vanilla Fix is dealing with it, but if you disable Vanilla Fix, the problem still happens.

We need the fundamental solution for it.

c.f.
image

@TRSasasusu TRSasasusu added the The Outsider's bug Not an issue of this translation, but an issue of The Outsider itself label Jun 21, 2023
@TRSasasusu
Copy link
Owner Author

So, I checked the problem really happens.

  1. Install the latest The Outsider, Translation and Patches for The Outsider, and Vanilla Fix.
    image
    Make another profile, and make SHIP LOG UPDATED in The Outsider.
    スクリーンショット (2247)

  2. Quit the game without opening the computer in your ship.
    スクリーンショット (2250)

  3. Disable The Outsider and Vanilla Fix
    image
    Then, go to your ship. The computer is still blinking even though there are NOT newly found information in your base game.
    スクリーンショット (2252)

  4. Open the computer, and you will get a broken ship log, which does not have any entries. You cannot exit from viewing your computer unless quitting the game. After quitting the game, the title screen cannot appear...
    スクリーンショット (2253)

We can get below error log:

NullReferenceException: Object reference not set to an instance of an object
Stacktrace: ShipLogController.BuildRevealQueue () (at <8585b6cb325949f692883e4747187a22>:0)
ShipLogController.EnterShipComputer () (at <8585b6cb325949f692883e4747187a22>:0)
ShipLogController.OnPressInteract () (at <8585b6cb325949f692883e4747187a22>:0)
SingleInteractionVolume.UpdateInput () (at <8585b6cb325949f692883e4747187a22>:0)
SingleInteractionVolume.UpdateInteractVolume () (at <8585b6cb325949f692883e4747187a22>:0)
FirstPersonManipulator.Update () (at <8585b6cb325949f692883e4747187a22>:0)

After quitting, we can get below error log:

NullReferenceException: Object reference not set to an instance of an object
Stacktrace: ShipLogManager.ClearNewlyRevealedFacts () (at <8585b6cb325949f692883e4747187a22>:0)
ShipLogController.OnDestroy () (at <8585b6cb325949f692883e4747187a22>:0)

This situation is not a rare case because The Outsider updates the ship log when arriving at The Eye.
Not a few players would disable The Outsider (and Vanilla Fix) without seeing updated information about the Eye of the universe after seeing the ending.
It leads to this issue, so we have to fix it.

@TRSasasusu
Copy link
Owner Author

I did it!!! I introduce NewHorizonsData.cs from New Horizons to save newly revealed fact mod ids in save.json separated from original save data.

So, I checked it works:

  1. With v1.0.2 Translation and Patches for The Outsider, I got SHIP LOG UPDATED in The Outsider.
    スクリーンショット (2261)
  2. Quit the game without opening the computer.
    スクリーンショット (2262)
  3. Upgrade to v1.1.0 Translation and Patches for The Outsider and open the game.
  4. The computer is still blinking, but the newly revealed fact mod ids are moved to save.json in orclecle.TranslationForTheOutsider. You got the log: newly revealed fact id: PS_POWER_STATION_X1 is found in the base game save file, so it is moved to the mod save file.
    スクリーンショット (2266)
  5. Quit the game without opening the computer.
  6. Disable The Outsider, Translation and Patches for The Outsider, and Vanilla Fix. Then, open the game.
  7. The computer is NOT blinking, and you can open the computer without any problems.
    スクリーンショット (2267)
    スクリーンショット (2268)
  8. Quit the game.
  9. Enable The Outsider, Translation and Patches for The Outsider, and Vanilla Fix (, but Vanilla Fix is not required now). Then, open the game.
  10. The computer is BLINKING! You can check the newly revealed fact!
    スクリーンショット (2271)
    スクリーンショット (2272)

Of course, when you get SHIP LOG UPDATED with v1.1.0 Translation and Patches for The Outsider, the newly revealed fact mod ids are saved in save.json in orclecle.TranslationForTheOutsider.
So, the issue is FIXED!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
The Outsider's bug Not an issue of this translation, but an issue of The Outsider itself
Projects
None yet
Development

No branches or pull requests

1 participant