<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Azrael&#39;s Mods: RimWorld releases</title>
    <link>https://azraelsmods.com/rimworld</link>
    <description>New versions of Azrael&#39;s RimWorld mods.</description>
    <language>en</language>
    <lastBuildDate>Fri, 06 Nov 2026 19:49:43 GMT</lastBuildDate>
    <atom:link href="https://azraelsmods.com/rimworld/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Strata 4.0.0 (RimWorld)</title>
      <link>https://azraelsmods.com/rimworld/strata#changelog</link>
      <guid isPermaLink="false">rimworld/strata@4.0.0</guid>
      <pubDate>Fri, 06 Nov 2026 19:49:43 GMT</pubDate>
      <category>RimWorld</category>
      <description>Strata shaders: 1.7/Defs/ShaderDefs/Strata_Shaders.xml declares Strata_BelowMask, Strata_GasOverlay, Strata_Caustics and Strata_DepthVignette. Their GLSL 450 is in 1.7/Shaders/Strata and follows vanilla 1.7.4998 conventions: StrataOverlay.vert.glsl is a copy of vanilla Transparen…</description>
      <content:encoded><![CDATA[<ul><li><strong>Strata shaders:</strong> <code>1.7/Defs/ShaderDefs/Strata_Shaders.xml</code> declares <code>Strata_BelowMask</code>, <code>Strata_GasOverlay</code>, <code>Strata_Caustics</code> and <code>Strata_DepthVignette</code>. Their GLSL 450 is in <code>1.7/Shaders/Strata</code> and follows vanilla 1.7.4998 conventions: <code>StrataOverlay.vert.glsl</code> is a copy of vanilla <code>Transparent.vert.glsl</code>; material uniforms are in set 2, binding 0 with <code>@color</code>/<code>@default</code> annotations; <code>_MainTex</code> is at set 2, binding 1; the <code>InstanceTransforms.glsl</code> include sits behind <code>INSTANCED</code>. Every file compiles to SPIR-V with <code>glslangValidator</code>, with and without <code>INSTANCED</code>. <code>Source/Render17</code> (<code>#if RIMWORLD_1_7</code>) holds <code>StrataShaders17</code> (material from a <code>ShaderDef</code>, <code>_StrataParams</code> = time / map size / motion, per-draw render queue) and <code>StrataMapTexture</code> (one RGBA32 texel per cell, bilinear, one quad over the map, uploaded only when its data changes). If a shader fails to load, Strata logs one warning and falls back to the 1.6 drawing.</li><li><strong>See-below</strong>: the lower level&#39;s section meshes are drawn with <code>Graphics.DrawMesh(..., renderQueue)</code>, so the 1.6 per-(material, queue) copies are gone on 1.7. The hole mask is a map texture drawn by <code>Strata_BelowMask</code> (soft bilinear edges) instead of a per-cell quad mesh. It refreshes on the same view and interval rules as before.</li><li><strong>Gas overlay</strong>: the per-cell overlay colours (<code>Color32</code>) go into a map texture once per atmosphere rebuild, never per frame. <code>Strata_GasOverlay</code> samples them bilinearly with a slow, low-frequency drift and a soft density ripple. Colours and the legend are unchanged, and <code>CellBoolDrawer</code> stays as the fallback.</li><li><strong>Depth effects</strong>: <code>MapComponent_StrataShaderEffects</code> on underground levels. It draws a depth vignette (a screen-edge darkening that grows with depth, from 20% to a maximum of 55%) and water caustics (a moving additive light pattern on unfogged water and flood cells, from a mask rescanned every 2500 ticks). Each has a Visuals setting (<code>depthVignette</code>, <code>waterCaustics</code>, both on by default), and nothing is built while a setting is off.</li><li><strong>Transpilers on 1.7</strong>: <code>Dialog_BeginRitual.CreateRitualRoleAssignments</code> still reads <code>FreeColonistsAndPrisonersSpawned</code> once, and <code>Designator_Build.ProcessInput</code> still calls <code>ListerThings.ThingsOfDef</code> once (decompiled from the 1.7.4998 rev1299 game DLL).</li><li><strong>Not done:</strong> Heat shimmer near magma and geothermal taps. It needs a scene-grab distortion pass (<code>SceneGrabDeclaration</code>), which needs an in-game test before it ships.</li><li><strong>Not done:</strong> Seeing two or more levels down (the see-below stretch goal).</li><li><strong>Not done:</strong> Folding the flat depth dim into the shader. The depth dim is for upper decks, and the vignette is for underground levels.</li><li><strong>Strata 4 ships for 1.6 and 1.7.</strong> Azrael decided on 2026-11-05 not to freeze 1.6. This replaces the earlier plan of &quot;1.7-only, with 1.6 frozen at 3.8.x&quot;. One source tree builds two DLLs: <code>1.6/Assemblies</code> (net472, Krafs 1.6, Harmony 2.x) and <code>1.7/Assemblies</code> (net10.0, Krafs 1.7, Harmony 3.x), which <code>LoadFolders.xml</code> already picks per game version. Defs, Patches, Textures and Languages stay shared at the root. Code that only exists in .NET 10 goes behind <code>#if NET9_0_OR_GREATER</code> (or a <code>using</code> alias), so the 1.6 build still compiles. <code>pack_mod.sh</code> already puts both DLLs into the zip.</li><li><strong>Changed:</strong> The 4.0 line covers 3.12.1 through 3.19.2 (stair hold, modder API v2, settings tabs, logic tests, travel cost, magma layer, flooded level, lost floor, buried chambers fix, .NET 10 build, save compat guard).</li></ul>]]></content:encoded>
    </item>
    <item>
      <title>Date Night 1.8.0 (RimWorld)</title>
      <link>https://azraelsmods.com/rimworld/date-night#changelog</link>
      <guid isPermaLink="false">rimworld/date-night@1.8.0</guid>
      <pubDate>Wed, 21 Oct 2026 19:50:49 GMT</pubDate>
      <category>RimWorld</category>
      <description>Gradual romance — adults without a lover can date as friends, then sweethearts, then boyfriend/girlfriend. Two good dates plus opinion (15 / 25 / 40 / 50) climb each rung; a wonderful date counts double and an awkward date does not count. The last step adds a vanilla Lover relati…</description>
      <content:encoded><![CDATA[<ul><li><strong>Gradual romance</strong> — adults without a lover can date as friends, then sweethearts, then boyfriend/girlfriend. Two good dates plus opinion (15 / 25 / 40 / 50) climb each rung; a wonderful date counts double and an awkward date does not count. The last step adds a vanilla Lover relation and a letter. Lovin stays locked until they are lovers or spouses. Existing couples skip the ladder. Opinion collapse steps the pair down. Toggle in settings.</li><li><strong>Romance on the Rim soft-compat</strong> — fail-open. Date Night does not start a date while RotR is already running a kiss, stroll, proposal, or other <code>RomanceOnTheRim_*</code> / <code>RotR_Job_*</code> job. A finished date calls <code>RomanceUtility.TryAffectRomanceNeedLevelForPawn</code> (stroll / lovin / kiss Tuning amounts; +0.10 on an anniversary date). Pawns without RotR&#39;s romance need (usually not lovers yet) are a no-op. <code>loadAfter</code> when present; no hard dependency.</li><li><strong>1.6 / 1.7 dual package</strong> — confirmed: official 1.6 loads <code>1.6/Assemblies</code>, unstable 1.7 loads <code>1.7/Assemblies</code>.</li><li><strong>Save upgrade</strong> — new romance bonds scribe as <code>dateNightRomanceBonds</code> with PostLoadInit null-guards. Older 1.6.1+ saves load; missing keys start empty.</li><li><strong>Pawn id lookups</strong> — <code>FindPawnById</code> builds a per-tick dictionary instead of scanning the world list per key.</li></ul>]]></content:encoded>
    </item>
    <item>
      <title>Niceties 1.6.1 (RimWorld)</title>
      <link>https://azraelsmods.com/rimworld/niceties#changelog</link>
      <guid isPermaLink="false">rimworld/niceties@1.6.1</guid>
      <pubDate>Sun, 18 Oct 2026 01:24:30 GMT</pubDate>
      <category>RimWorld</category>
      <description>Separate 1.6 and 1.7 assemblies. Official 1.6 loads 1.6/Assemblies. Unstable 1.7 loads 1.7/Assemblies. Leave-a-way-out — fresh enclose check on CompleteConstruction; reachable safe spots; EndCurrentJob + queue instead of mid-toil StartJob; clear geometry cache on FinalizeInit. St…</description>
      <content:encoded><![CDATA[<ul><li><strong>Separate 1.6 and 1.7 assemblies.</strong> Official 1.6 loads <code>1.6/Assemblies</code>. Unstable 1.7 loads <code>1.7/Assemblies</code>.</li><li><strong>Leave-a-way-out</strong> — fresh enclose check on CompleteConstruction; reachable safe spots; EndCurrentJob + queue instead of mid-toil StartJob; clear geometry cache on FinalizeInit. Strata stairwell postfix respects <code>__runOriginal</code>.</li><li><strong>Roommate disturbed sleep</strong> — skip only when disturber owns a bed in the sleeper&#39;s room; no outdoor owned-bed fallback; skip medical/prisoner beds. Tooltip updated EN/CN/RU.</li></ul>]]></content:encoded>
    </item>
    <item>
      <title>Homesteader 1.5.1 (RimWorld)</title>
      <link>https://azraelsmods.com/rimworld/homesteader#changelog</link>
      <guid isPermaLink="false">rimworld/homesteader@1.5.1</guid>
      <pubDate>Sun, 18 Oct 2026 01:21:44 GMT</pubDate>
      <category>RimWorld</category>
      <description>Separate 1.6 and 1.7 assemblies. Official 1.6 loads 1.6/Assemblies/Homesteader.dll with the 1.6 scenario folder. Unstable 1.7 loads 1.7/Assemblies/Homesteader.dll and still reads the Homesteaders scenario from 1.6/Defs without loading the 1.6 DLL. Landrace seed save — harvesting …</description>
      <content:encoded><![CDATA[<ul><li><strong>Separate 1.6 and 1.7 assemblies.</strong> Official 1.6 loads <code>1.6/Assemblies/Homesteader.dll</code> with the 1.6 scenario folder. Unstable 1.7 loads <code>1.7/Assemblies/Homesteader.dll</code> and still reads the Homesteaders scenario from <code>1.6/Defs</code> without loading the 1.6 DLL.</li><li><strong>Landrace seed save</strong> — harvesting mature landrace crops that despawn on collect still drops an improved saved seed.</li><li><strong>Maypole / statue auras</strong> — maypole, 27 statues, and monuments now tick so the cheer hediff refreshes instead of vanishing after 50 ticks.</li><li><strong>Kats Super Chat silver</strong> — takes silver from stockpiles when there is no orbital trade beacon; letter only claims silver when it was actually removed.</li><li><strong>Allergy matcher</strong> — Egg / Nuts / Crab tokens use word and camelCase boundaries so Veggie meals, donuts, and crabapples no longer false-match.</li></ul>]]></content:encoded>
    </item>
    <item>
      <title>Deep Colony 1.10.0 (RimWorld)</title>
      <link>https://azraelsmods.com/rimworld/deep-colony#changelog</link>
      <guid isPermaLink="false">rimworld/deep-colony@1.10.0</guid>
      <pubDate>Fri, 16 Oct 2026 23:06:45 GMT</pubDate>
      <category>RimWorld</category>
      <description>Workshop preview — new About/Preview.png (perk-tree constellation over a hearth). Docs card synced. Changed: Declared RimWorld 1.7 in supportedVersions alongside 1.6. Existing 1.6 DLL; no gameplay change. Changed: Removed unused save flags, perk-alert bookkeeping, unused helpers,…</description>
      <content:encoded><![CDATA[<ul><li><strong>Workshop preview</strong> — new <code>About/Preview.png</code> (perk-tree constellation over a hearth). Docs card synced.</li><li><strong>Changed:</strong> Declared RimWorld <strong>1.7</strong> in <code>supportedVersions</code> alongside 1.6. Existing 1.6 DLL; no gameplay change.</li><li><strong>Changed:</strong> Removed unused save flags, perk-alert bookkeeping, unused helpers, unused NoisyRoom DefOf, and a stale build SHA. No gameplay change; old saves still load.</li><li><strong>Changed:</strong> Dropped unused <code>Thought_Trauma.rememberedFactionId</code> (grudges still use <code>GrudgeUtility</code> / <code>comp.grudgeFactionIds</code>; old saves ignore the removed scribe field) and unused <code>Comp_DeepColony.QualifiesFor</code>. Startup uses <code>ModVersionLog.Write</code> (stamp <code>colony-overview-v1</code>); the duplicate short version log in the Mod constructor is gone. Trimmed decorative <code>// ──</code> banners in Patch_BatchC, Patch_Events, DefOfs, and DebugActions.</li><li><strong>Changed:</strong> Dropped unused EN/RU/CN keyed leftovers (<code>DC_MentorSelf</code>, <code>DC_FamilyTree_PedigreeToggle</code>, <code>DC_InspectTouchAverseNone</code>, <code>DC_RomanceBlockedTouchAverse</code>, <code>DC_RepEnvoyShort</code>). Live copies remain (<code>DC_MentorInvalid</code>, <code>DC_FamilyTree_StylePedigree</code>, <code>DC_InspectTouchNeedNone</code>, <code>DC_RomanceBlockedTouchTier</code>, <code>DC_RepEnvoy</code>). Ticket-ID prefixes stripped from <code>Comp_DeepColony</code> field comments and a few utility headers. No gameplay change.</li><li><strong>Changed:</strong> Removed the leftover perk-points economy (always-zero Points column, Unspent filter, dead Recruits-arrive-pre-perked checkbox, unused point-grant debug). Perks still auto-grant at skill 5/10/15/20. Old saves still load: <code>availablePerkPoints</code> and <code>elderPerkGranted</code> are swallowed by dummy <code>Scribe_Values.Look</code> locals.</li></ul>]]></content:encoded>
    </item>
    <item>
      <title>Nemesis 1.5.0 (RimWorld)</title>
      <link>https://azraelsmods.com/rimworld/nemesis#changelog</link>
      <guid isPermaLink="false">rimworld/nemesis@1.5.0</guid>
      <pubDate>Fri, 16 Oct 2026 23:05:41 GMT</pubDate>
      <category>RimWorld</category>
      <description>Workshop preview — new About/Preview.png (the hunter and the cabin). Docs card synced. Changed: Declared RimWorld 1.7 in supportedVersions alongside 1.6. Existing 1.6 DLL; no gameplay change. Dead SoftCompat flags — removed unused Giddy-Up / Rimesis / BFV package-id probes (Giddy…</description>
      <content:encoded><![CDATA[<ul><li><strong>Workshop preview</strong> — new <code>About/Preview.png</code> (the hunter and the cabin). Docs card synced.</li><li><strong>Changed:</strong> Declared RimWorld <strong>1.7</strong> in <code>supportedVersions</code> alongside 1.6. Existing 1.6 DLL; no gameplay change.</li><li><strong>Dead SoftCompat flags</strong> — removed unused Giddy-Up / Rimesis / BFV package-id probes (<code>GiddyUpActive</code>, <code>RimesisActive</code>, <code>BackForVengeanceActive</code>) and unread <code>LastHeavyCheckTick</code>. Foreign-antagonist skip still uses hediff markers; mount escorts still assign by faction tech. No gameplay change.</li><li><strong>Unused Homesteader map probe</strong> — deleted <code>MapHasHomesteaderFoodStorage</code>. The food-storage defName list is still used by <code>IsHomesteaderFoodStorageDef</code> / <code>IsOnHomesteaderFoodStorage</code>. No gameplay change.</li></ul>]]></content:encoded>
    </item>
    <item>
      <title>Stormproof 1.7.0 (RimWorld)</title>
      <link>https://azraelsmods.com/rimworld/stormproof#changelog</link>
      <guid isPermaLink="false">rimworld/stormproof@1.7.0</guid>
      <pubDate>Fri, 16 Oct 2026 23:03:22 GMT</pubDate>
      <category>RimWorld</category>
      <description>Workshop preview — new About/Preview.png (grid under a flare and lightning). Docs card synced. Changed: Declared RimWorld 1.7 in supportedVersions alongside 1.6. Existing 1.6 DLL; no gameplay change. Changed: Dropped the unused ArmoredConduit.png texture (defs use _Atlas and _Men…</description>
      <content:encoded><![CDATA[<ul><li><strong>Workshop preview</strong> — new <code>About/Preview.png</code> (grid under a flare and lightning). Docs card synced.</li><li><strong>Changed:</strong> Declared RimWorld <strong>1.7</strong> in <code>supportedVersions</code> alongside 1.6. Existing 1.6 DLL; no gameplay change.</li><li><strong>Changed:</strong> Dropped the unused <code>ArmoredConduit.png</code> texture (defs use <code>_Atlas</code> and <code>_MenuIcon</code> only). Atlas script writes the segment preview to <code>docs/img</code> instead of <code>Textures/</code> and no longer copies the unused atlas PNG into <code>docs/img</code>. No gameplay change.</li><li><strong>Changed:</strong> Dropped flavor-text class headers on atmospheric barrier, climate stabilizer, sky restorer, drought condenser, fire suppressor, and natural-hazard game conditions. No gameplay change.</li></ul>]]></content:encoded>
    </item>
  </channel>
</rss>
