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

One pull request to merge them all #210

Open
wants to merge 22 commits into
base: 1.4
Choose a base branch
from

Conversation

Doomster14
Copy link

Multiple pull requests are merged. The one pull request closes #184, closes #201, closes #204, closes #205, closes #206, and closes #209. Some fixes and improvements are added, mostly related to the mentioned PR's.

angelolocritani and others added 22 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.
@Karel-Kroeze
Copy link
Contributor

Hi there, thanks for the amazing work getting all of this merged and ready to go! Sadly, I have no time to properly test the changes, let alone set up my build/release environment to get things updated.

Given that you're currently spending a lot more time on this than I am, would you be willing/able to adopt/collaborate on the mod?

That could either mean creating a clone and releasing it on your own, or (and this would be my preference), being added as a co-author on steam/github and help keep the mod updated and fixes released. That would be an easy transition for users, and allow me to pick back up if/when I get back to modding more actively.

Feel free to reach out to me here or on discord (Fluffy fluffier_than_thou).

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.

5 participants