-
-
Notifications
You must be signed in to change notification settings - Fork 98
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
RimWorld 1.5 #429
Comments
|
Moved to #444 |
It looks like we'll need a session and patches for |
Having severe issues with caravans on encounter maps since 1.5.
|
I had problems when trying to capture anomalies as well as trying to do a role change. When trying to setup the role change ritual it was impossible to drag the respective colonists to their roles(spectator/the one receiving the role). |
It seems that stopping research is not synced (along with the 2 dev mode gizmos, which I'm pretty sure were reported ages ago). |
Have been hitting this - you (@SokyranTheDragon) reported it @ #290 - assuming there might also be something to do to handle anomalyKnowledge and currentAnomalyKnowledgeProjects that exist |
This change is primarily to fix `PawnColumnWorker_Designator` and `PawnColumnWorker_Sterilize` displaying confirmation dialogs, which caused issues as pressing the checkbox would open the dialog for all players and the dialogs themselves weren't synced. I've mentioned this issue in rwmt#429. The first change is to stop syncing `PawnColumnWorker_Designator.SetValue` and `PawnColumnWorker_Sterilize.SetValue`, as those could display confirmation dialogs. Instead of those 2 methods, we instead sync: - `DesignationManager.AddDesignation` - This one is not needed, but was included for consistency (and may come in handy for mod compat, it can be safely removed if desired) - `DesignationManager.RemoveDesignation` - Called from `PawnColumnWorker_Designator.SetValue` when value is false - `PawnColumnWorker_Designator.DesignationConfirmed` - This method calls `DesignationManager.AddDesignation` (along with another method), which is why that specific method is not needed - `PawnColumnWorker_Sterilize.AddSterilizeOperation` - `PawnColumnWorker_Sterilize.CancelSterilizeOperations` This required adding extra sync worker delegates for `Designation` and `DesignationManager`. By not syncing the `SetValue` method, it allows for a potential multiple calls to the other synced methods which generally don't have checks if the state already matches. This requires additional patches that cancel execution if it would cause issues (`PreventPawnTableDesignationErrors`, `PreventPawnTableMultipleSterilizeOperations`). Finally, by not syncing the `SetValue` methods we don't call `SetDirty` on the pawn tables. To fix this I've added a method (`TryDirtyCurrentPawnTable`) which is called in post invoke for the synced methods, as well as after syncing designators, to cause the tables to re-sort their values. This will cause the tables to be re-sorted in a few extra situations (like when a different player modifies designators outside of pawn tables). It may be expanded to include more methods to cause the tables to be re-sorted when they normally wouldn't be in vanilla (if we so desire). Alternatively, this could be reduced or removed if we don't want it.
An issue tracking Multiplayer's support of RW 1.5. There's going to be a separate issue for Anomaly when it releases but we can make notes here.
Policy
renamingNote that the new multithreaded renderer is not an issue as it never executes in parallel with the simulation.
The text was updated successfully, but these errors were encountered: