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

Bugfix and issue list for 0.8.0 pre-release #521

Merged
merged 7 commits into from
Feb 14, 2022

Conversation

starfi5h
Copy link
Collaborator

@starfi5h starfi5h commented Feb 9, 2022

A list of issues solved/unsolved in 0.8.0 pre-release version

Resolved, will be fixed in the next update:

  • Sprayer and monitor are not connected to belt when client builds on a different planet.

(Self note: watch out OnBeltBuilt() and OnAddonBuilt(), they use planet.physics.nearColliderLogic which is not synced, so it is needed to sync the result of these functions)

  • On client, sprayer and monitor will build to the wrong place when there are multiple prebuilds.

  • Other players get items refunds too when a player changes the recipe of a lab with matrix in it.

  • Other clients will receive an undefined packet when a client leaves.

  • When a player disconnects during loading, the host will get NRE or the whole game pause.

  • If a loaded remote planet has ILS built by other players, the ILS will not sync on this player and may cause errors when they change its storage.

  • Player color can show differently on other players (fix in the main branch by sp00ktober)

  • Clients lose their inventory when loading an old .server file
    => Now support backward compatibility to revision 4 (current: 5)

  • When a client opens dyson editor without any dyson spheres loaded, it will get an error.
    => Now dyson spheres only unload when arriving a new system

  • When clients connect sorters output by placing belts under the sorters, the sorters will stop working after host reload the game.

Known issues:

  • When client land on a heavily built-upon planet, it may trigger NRE on renderer

NRE: CargoTraffic.AlterBeltRenderer (IL_0350)

Unknown cause, can't reproduce yet:

  • Sometimes when host deletes an ILS on a different planet in the same system, client will get an error.
    unknown

  • Belts connect randomly on client, fix after reconnection.
    DSPGAME_2022-02-07_18-41-30

  • Sometimes sorters will stop working. The animation is still running but no cargo is moved. Fix after replacement.

  • Sometimes the splitter filter is randomly set to the wrong item and can't be changed. Have to replace the splitter.

  • Sometimes clients can't see the profiler functioning in factories. They don't see the blue bonus bar.

Other changes:

copy
Add a button to copy and close the error message. Special thanks to Therzok's WhatTheBreak and crecheng's CloseError

- Editor now close when there is no existing dyson spheres
- Now only unload dyson spheres when arriaving a new star system
- Add backward compatibility in Savemanager
- Add sprayer and moniter connection syncing
}
}
if (starData != null && GameMain.data.dysonSpheres[starData.index] == null)
{
if (Multiplayer.Session.DysonSpheres.RequestingIndex != -1)
{
InGamePopup.ShowInfo("Loading", $"Loading Dyson sphere {starData.displayName}, please wait...", "OK");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As you call fadeout later, why add the Ok button here? :)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

some users may be impatient about loading time, so I add a way to let them close the info window. (although Esc can do the same thing)

__instance.ClearAllSelection();
__instance.viewStar = starData;
__instance.viewDysonSphere = null;
InGamePopup.ShowInfo("Loading", $"Loading Dyson sphere {starData.displayName}, please wait...", "OK");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same as above

@starfi5h
Copy link
Collaborator Author

OK, this is the last commit in this PR. I don't think entityId will desync if the factory data is corrected transmitted in the first place, but just add in-case so we can rule out entityId desync in future debugging.

@sp00ktober sp00ktober merged commit 255ad34 into NebulaModTeam:fix-0.9 Feb 14, 2022
@starfi5h starfi5h deleted the bugfix-0.9 branch February 18, 2022 19:43
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.

2 participants