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

Sync majority of new gizmos added in 1.5/Anomaly #438

Merged
merged 1 commit into from
Apr 12, 2024

Conversation

SokyranTheDragon
Copy link
Member

None of the psychic ritual gizmos were synced yet.

Some of those sync lambda methods/delegates likely could have been synced through a different, non-lambda method. As I was going through the list of gizmos in the game I didn't really consider it for some of them at the time.

For obvious reasons, the Anomaly exclusive gizmos could not be tested until the DLC releases.

All non-dev mode non-Anomaly gizmos were tested. A big portion of dev mode gizmos was tested as well.

Additional info:

  • The 3 new sync workers are needed for some of the dev mode gizmos
  • TradeRequestComp sync worker is not needed, as it's a subtype of WorldObjectComp and we have an implicit sync worker for it
  • A dev mode gizmo for CompToxifier needed to be synced as it would cause infinite loop otherwise (it would keep syncing commands infinitely)
  • Hediff_DeathRefusal transforms a field of type Command_ActionWithLimitedUseCount.
    • It calls a method that requires one of its delegates to not be null/return a value
    • I believe there is no point to sync the delegate itself, as it likely wouldn't have any effect
  • Building_BlastingCharge:Command_Detonate syncing was removed, and instead synced through CompExplosive.StartWick
    • It should be more compatible with mods, and won't make any difference besides that
  • Blueprint_Build.ChangeStyleOfAllSelected won't be synced if nothing is selected, just as a precaution
  • Added a method to register a local func sync method
    • Sync delegates already had a method for that, and it was now needed by sync methods
  • A chunk of the code is marked as modified (starting with sync method lambda for CompFlickable) - this is due to the comments to match their starting position, like how it was before
    • The actual change there was adding a dev mode gizmo for UnfinishedThing

None of the psychic ritual gizmos were synced yet.

Some of those sync lambda methods/delegates likely could have been synced through a different, non-lambda method. As I was going through the list of gizmos in the game I didn't really consider it for some of them at the time.

For obvious reasons, the Anomaly exclusive gizmos could not be tested until the DLC releases.

All non-dev mode non-Anomaly gizmos were tested. A big portion of dev mode gizmos was tested as well.

Additional info:
- The 3 new sync workers are needed for some of the dev mode gizmos
- `TradeRequestComp` sync worker is not needed, as it's a subtype of `WorldObjectComp` and we have an implicit sync worker for it
- A dev mode gizmo for `CompToxifier` needed to be synced as it would cause infinite loop otherwise (it would keep syncing commands infinitely)
- `Hediff_DeathRefusal` transforms a field of type `Command_ActionWithLimitedUseCount`.
  - It calls a method that requires one of its delegates to not be null/return a value
  - I believe there is no point to sync the delegate itself, as it likely wouldn't have any effect
- `Building_BlastingCharge:Command_Detonate` syncing was removed, and instead synced through `CompExplosive.StartWick`
  - It should be more compatible with mods, and won't make any difference besides that
- `Blueprint_Build.ChangeStyleOfAllSelected` won't be synced if nothing is selected, just as a precaution
- Added a method to register a local func sync method
  - Sync delegates already had a method for that, and it was now needed by sync methods
@SokyranTheDragon SokyranTheDragon added 1.5 Fixes or bugs relating to 1.5 (Not Anomaly). anomaly Fix or bugs relating to Anomaly (Not 1.5) labels Apr 11, 2024
@Zetrith Zetrith merged commit 5281569 into rwmt:master Apr 12, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1.5 Fixes or bugs relating to 1.5 (Not Anomaly). anomaly Fix or bugs relating to Anomaly (Not 1.5)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants