RimWorld

RimWorld

ilyvion's Laboratory
Showing 11-19 of 19 entries
< 1  >
Update: Aug 20, 2024 @ 10:34pm

Added

  • It is now possible to cancel multi-tick coroutines in the middle of execution.

Fixed

  • Only register required version request when mismatch

Update: Aug 19, 2024 @ 11:58pm

Changed

  • Change the version check mechanism from using a method call to using a VersionCheckDef declared in a Defs XML file. The failing assembly won't even get to load to call VersionCheck.ShowRequiresAtLeastVersionMessageFor if we need it, making it useless, and this also makes it so that mods that only need XML features can still specify a version requirement without having to add a whole assembly jus for that.

Update: Aug 19, 2024 @ 7:52pm

Added

  • PatchOperationFindModById. Does what it says. Alternative to vanilla's PatchOperationFindMod but relies on mod id rather than on mod name, which, at least in theory, is more stable/less likely to change.

Update: Aug 18, 2024 @ 9:04pm

Added

  • MultiTickCoroutineManager: a GameComponent that orchestrates the registration and execution of, as the name suggests, multi-tick coroutines, i.e. tasks that span multiple ticks. Heavily modeled (as a concept, all code original) after the Unity Coroutine type. Makes use of the fact that C# allows you to write IEnumerables using yield (return|break) keywords, allowing natural 'break points' in a task. Created mainly to alleviate per-tick strain in the Colony Manager Redux, but I can see myself making use of this in many other situations going forward where you have too much work to perform for a single tick to handle well.

Update: Aug 15, 2024 @ 5:39am

Added

  • Version check mechanism. Something to make me more comfortable with releasing mods that depend on this mod; even if something goes wrong, at least the user will get an explanation.
  • Import Widgets_Labels class' methods from Colony Manager Redux.
  • Import CacheValue(s) classes from Colony Manager Redux.
  • Utility methods/types for dealing with arrays and ArrayPools.
  • CustomBackCompatibility utility class for doing custom type replacements on game load.
  • EnumerableExtensions.MinAndMax for calculating both the min and the max value of an IEnumerable in a single pass.

Update: Aug 10, 2024 @ 5:21am

Added

  • Extension for muting a color.
  • Extension for inline dumping the value of any value during debugging.
  • Scriber method for CircularBuffers.

Update: Aug 3, 2024 @ 8:56pm

Added

  • GraphRenderer for rendering graphs.
  • GUIScope.Multiple, which serves as a drop-in for Verse.TextBlock, but keep the same API across all three supported RW versions.
  • IlyvionDebugActionAttribute that works like the DebugActionAttribute, but has the same API across all three supported RW versions.
  • A circular buffer.
  • LogDebug method added to IlyvionMod; only logs when the DEBUG symbol is present.
  • Various useful extension methods.

Update: Jul 31, 2024 @ 11:08pm

Added
  • Debug action for hot reloading language files.
  • Add a "draw UI helpers" debug setting. Does nothing on its own, but is used by dependents to decide whether or not to draw extra UI bits for debugging purposes.
  • Import Bradson's GUIScope utility class with adaptions to better fit my needs.
Changed
  • Make it so that the CustomFontManager only patches the font system if it's been enabled. This way it won't affect performance if it goes unused.
Fixed
  • The name ilyvion was misspelled in several places and file paths as 'ilvyion'.

Update: Jul 25, 2024 @ 1:32am

[Auto-generated text]: Initial upload.