Skip to content

Conversation

@Doomster14
Copy link

@Doomster14 Doomster14 commented Dec 8, 2024

Hi.

You didn't adopt all the fixes and improvements from my pull request to the original repo. Here they are, plus a bit more. Notably, a fix for priorities being reset after save-load, people often complain about that. Also, I corrected your fix for v1.5.

Actually, while Fluffy is not available, I'd like to host and support the mod myself, but I can do nothing in Steam's Workshop before I buy the game on Steam, and I'm not sure I will. Can you help me? I would release the full-fledged mod (for all RW versions) in my GitHub repo, and you could publish it. It would no longer be a temporary replacement but the real thing.

angelolocritani and others added 29 commits August 16, 2021 19:38
Fluffy.WorkTab.NoStoredFavourites was not translated
fixes fluffy-mods#157, fluffy-mods#159 and fluffy-mods#164

The scroll area was using cachedSize for its output rectangle capping it at the screen width. As the "Work"-tab window is not as wide as the screen, ouput rectangle was too wide when there were many work types.

To fix this the PawnTable was extended with the property methods void set_OutRect(this PawnTable, Rect) and Rect get_OutRect() 'fake adding' a new property that can be used to set and get the "Work"-tab window dimension instead of relying on the screen size.

MainTabWindow_WorkTab.DoWindowContents calls set_OutRect with the window dimension PawnTable_PawnTableOnGUI.PawnTableOnGUI calls get_OutRect to clamp the output rectangle properly

I think ideally PawnTable.PawnTableOnGUI's parameter would be Rect window instead of Vector2 position in the future.
PriorityManager class was relying on Scribe methods in ExposeData() for clearing out old priorities data.
But ExposeData() is not called when a new game is started or a game is loaded which was saved without the mod active.
So, new data was added to the old one.
If a non-modded save was loaded twice, pawn priorities lists were doubled, with the latest list being active.
When the game was subsequently saved and loaded, all data was saved, but only the oldest copy of priorities was restored.
Other copies yielded an error:
Exception in LookDictionary(label=Priorities): System.InvalidOperationException: Tried to add different values for the same key.
Attempts to load priorities data of non-existent pawns, inherited from other games, resulted in a probably harmless error:
Could not resolve reference to object with loadID Thing_Human#

Now, all static members of PriorityManager are initialized by constructor.
…_on_type_checkboxes

Respect "Disable Scrollwheel" on Checkbox WorkTypes
Add Setting to Render Job Column as Text (instead of Icon)
Add Option to Highlight Current Active Work Cell
…p attribute

Fix warning in the game's log:
Type DrawUtilities probably needs a StaticConstructorOnStartup attribute, because it has a field activeHighlightBox of type Texture2D. All assets must be loaded in the main thread.
Also, change names and labels for being consistent: ActiveWorkCells => CurrentJobCell.
Minor clean-up.
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.

4 participants