Skip to content

Releases: Lorsieab2/Virtual-Villagers-Fun-Patcher

Virtual Villagers Fun Patcher v1.34.14

Choose a tag to compare

@Lorsieab2 Lorsieab2 released this 17 Aug 07:25
389df9f

Fixes since v1.34.12

  • VV4 "Optional Text changes" now actually works. v1.34.12 shipped the patch's assets but not its manifest (data/vv4_text_changes.json), so the patch never loaded and never appeared in the patcher — the game kept the base sm.xml ("Scholar"). It's now bundled, loads, and applies (Scholar → Esteemed Elder). A regression test now fails the build if any fun-patch manifest is ever dropped from the release.
  • VV1 Birth Control: second-site (reject-path) crash on manual drag-pair fixed, plus a hook re-entry audit guarding the stale-register crash class.

How to use the text patch

Unzip → launch the patcher → check Optional Text Changes → apply over a clean Tree of Life copy → the "Elder" skill title reads Esteemed Elder.

SHA-256: F91A1E76CDEB255D3BD2C5D1B86B34383BCC490FF5C3CED6A579922F09C37DD8

Virtual Villagers Fun Patcher v1.34.12

Choose a tag to compare

@Lorsieab2 Lorsieab2 released this 17 Aug 06:52
6988d3b

Fixes the VV1 crash when dropping one villager onto another.

v1.34.11 fixed one half of this bug; this release fixes the other half. The Windows crash log confirmed the first fix landed and worked (the original faulting address is gone), but the same underlying mistake had a second site that was still live, so the crash reappeared at a new address.

Root cause: the Birth Control manual-pairing hook runs at a point where a CPU register no longer holds the villager record the surrounding stock code assumes it does. The first fix corrected the age comparison; this one corrects the rejection path, which dereferenced that same stale register five more times.

To stop this class of bug from shipping a third time, this release also adds an emulation-based regression test that runs the real patched bytes and fails on any bad memory access. It is proven to reproduce the v1.34.11 crash exactly and to pass on the fixed build, and it covers every decision path across all three population variants (Stock, Collection Progression, Immediate Fixed Pop).

Automated validation: 671 tests passed; 70 skipped.

Virtual Villagers Fun Patcher v1.34.11

Choose a tag to compare

@Lorsieab2 Lorsieab2 released this 17 Aug 06:34
fd77262

Headline fix: VV1 Birth Control crash on manual drag-pair is fixed. Dragging one villager onto another to pair them was crashing the game — the patch's manual-pairing hook read a stale register as a pointer whenever the dragged villager wasn't the carrier participant (roughly half of all manual pairings). Fixed by recomputing the candidate record from registers confirmed still valid at that point; verified via disassembly of the isolated page and of a fully assembled, guard-checked patched exe, across all three population variants (Stock, Collection Progression, Immediate Fixed Pop).

This is the first full (non-pre-release) release since v1.34.6. A large amount of work has landed on main since then across all five games — new fun patches (VV1 Visual Mods, VV5 Clickable Tips), Origins Upgrades wording/behavior fixes, Guardians of Isola updates, and many Codex-bot-flagged fixes — see the commit history for the complete list.

Automated validation: 670 tests passed; 70 skipped (disabled/experimental checks).

Virtual Villagers Fun Patcher v1.34.7-rc35 — Creator Testing Pre-Release

Choose a tag to compare

@Lorsieab2 Lorsieab2 released this 14 Aug 03:30

Creator Testing Pre-Release

What's new since rc34

rc34 didn't include everything from that testing round — two more fixes and a new feature landed right after it was tagged. This release has all of it.

  • Tech/Food Point Doublers now only double scientist/farmer production, matching the intended scope exactly. Previously they also doubled two one-time story rewards (the Whale/berries/mushroom/device discovery puzzles, and a fixed milestone dialog) that shouldn't have been affected. Traced every caller of the shared "add points" entry points and resolved the actual in-game text at each site to confirm what each one really was before excluding it.
  • New: Change Appearance, a row in the Villager Details "Upgrades" dialog. Independent Head and Body pickers — left/right arrows cycle through the villager's actual stock options live (the same field the existing F6 clothing cheat already uses), Cancel reverts, OK commits and charges exactly 5,000 tech points once. Found and fixed a real bug before shipping it: the valid range is gender-dependent (19 options for male villagers, 20 for everyone else, confirmed from the game's own villager-creation code) — a naive fixed range would have written an out-of-bounds value for male villagers.
  • Fixed a version-labeling bug in the patcher itself: the self-reported version in every Transparency Log/patch-log had been silently stuck out of sync with the actual release for a while. Won't recur — there's now one single source for it.

Verified behavior

  • Change Appearance's compiled dialog was driven by a real native test program (not just read as source) — actually clicking its real buttons and reading the real values back, for both the 19-option and 20-option cases, Cancel and OK. All passed.
  • The full patched build was produced through the real public CLI, launched, and confirmed to open a real, responsive game window with zero crash events logged.
  • Full automated test suite: identical failure set to the established baseline (zero regressions).

Known limitations

  • Same as prior releases: I have no way to actually play the game in this environment. Change Appearance has never been opened by a human, and the Barrel of Babies fix from rc34 has not been re-confirmed fixed in actual play since.
  • Pre-existing test failures remain confined to the disabled Expanded-256 feature area and research-only scaffolding — none touch the shipped catalog.

Testing requested

  • Change Appearance (Villager Details → Upgrades → Change Appearance): does it look right, does OK/Cancel feel right, does it actually cost 5,000 tech points only when confirmed?
  • Tech/Food Point Doublers: confirm the Whale puzzle and other one-time story rewards are no longer doubled, while scientist/farmer production still is.
  • Anything from rc30–rc34 if not already confirmed, especially Barrel of Babies.

Virtual-Villagers-Fun-Patcher-v1.34.7-rc35.zip
SHA-256: 89E4604C504B0BC2CE9BA936623B24CC4658EBF83E91E8C4F793B4584A794FC1

v1.34.7-rc29

Choose a tag to compare

@Lorsieab2 Lorsieab2 released this 13 Aug 04:17

Fixes the all-five completion dialog so all generated game folders are visible in a bounded, vertically scrollable window. The patcher still creates all five outputs; this release makes every result row and its vanilla/modded folder links accessible. Static and composition regression checks pass.

v1.34.7-rc28

Choose a tag to compare

@Lorsieab2 Lorsieab2 released this 13 Aug 02:35

Aligns the VV1-VV3 Birth Control patches with the literal VV4/VV5 behavior contract: native chooser score floor and 25% non-preference fallback, candidate-only autonomous age boundary, female/carrier-only manual boundary, and native conception, pregnancy, and delivery paths. Static verification is complete; runtime/player confirmation remains pending.

v1.34.7-rc27

Choose a tag to compare

@Lorsieab2 Lorsieab2 released this 13 Aug 02:11

Renames the public Origins Village-Wide routes to Enable Origins Tech, Details, and Village-Wide Upgrades. Selecting one public route now clearly documents and tests that the internal Origins prerequisite installs the Tech-screen and Villager Details-screen buttons/upgrades together with the village-wide payload. Static validation: 170 tests passed, 18 skipped in the focused release/catalog suite. Runtime/player confirmation remains pending.

v1.34.7-rc26

Choose a tag to compare

@Lorsieab2 Lorsieab2 released this 13 Aug 02:03

Adds VV1 VV4-style Embracing chooser parity: the VV1 chooser now uses the verified score floor and non-preference fallback while preserving native category and skill mapping. VV1, VV2, and VV3 ordinary Birth Control boundaries remain exact-build and statically verified. The release includes the VV1 Birth Control builder required by the runtime patcher. Runtime/player confirmation remains pending. Static validation: 238 tests passed, 21 skipped.

Virtual Villagers Fun Patcher v1.34.7-rc25

Choose a tag to compare

@Lorsieab2 Lorsieab2 released this 13 Aug 01:12

Merged the VV1/VV3 Birth Control work with the VV3 robe and VV1 Builder fixes already present on the release branch. Updated release documentation and regression assertions for the current detailed player-facing descriptions. Current-mode validation: 227 tests passed, 21 documented skips. Release archive: 75 entries, CRC-clean, SHA-256 verified locally.

Virtual Villagers Fun Patcher v1.34.7-rc34 — Creator Testing Pre-Release

Choose a tag to compare

@Lorsieab2 Lorsieab2 released this 13 Aug 23:31

Creator Testing Pre-Release

Purpose

Fixes the VV1 Barrel of Babies crash you reported on rc33 — root-caused by decompiling the stock binary with IDA rather than trusting the existing test or my own earlier fix from rc30.

What was actually wrong

The rc30 fix (gating the event on the Tech screen actually closing) was correct and necessary, but incomplete — I never verified the native event-firing code underneath it. Tracing the full chain with IDA now:

  1. Buying sets a token; the Tech screen closing advances it to "fire now" (this part was already right).
  2. The village-tick loop then heap-allocates a temporary event object and constructs it — this step genuinely shows "Gained 3 children" and creates 3 new villagers; I traced it all the way down and it's correct.
  3. A blocking dialog shows that message until you click OK.
  4. The temporary object was then torn down with the wrong destructor — a method belonging to a completely different class, which walks the wrong vtable and frees the wrong memory. That corrupts the heap. It doesn't crash immediately; it crashes later, in unrelated code, whenever something else touches the corrupted heap state next.

I pulled the real Windows Application Error Event Log records from your last test: two crashes, at two different addresses, both in generic code with no obvious connection to Barrel of Babies — consistent with delayed heap corruption, and it explains why the very next launch also crashed (the corruption was already there).

A pre-existing test had actually asserted the broken destructor call was correct, under a mistaken name ("stock scalar deleting destructor"). Nobody had decompiled it to check. Fixed the call, updated that test, and added a new one that disassembles the real rendered executable and checks the actual call targets and stack balance — not just source text.

Also in this release

Fixed a second, unrelated bug found while investigating: the transparency log / patch-log's self-reported patcher version had been stuck at "v1.34.7-rc11" for a long time (a second, never-synced copy of the version string). Every transparency log and patch-log this tool has produced was self-reporting the wrong version, which is exactly what caused confusion while I was trying to confirm which build you'd actually tested. Fixed at the source so it can't drift again.

Verified behavior

  • Full test suite: identical failure set to rc33's baseline, minus two pre-existing failures fixed as a side effect (regenerating the now-current transparency doc).
  • New regression test decodes the real rendered VV1 executable and confirms the correct destructor is called with balanced stack, and fails against the pre-fix code.
  • Still not confirmed by actually playing — I have no way to launch the game in this environment. This is the one to retest.

Testing requested

  • VV1 Barrel of Babies, same as before: buy it, close the Tech screen, click OK on the Island Event that fires. Should no longer crash, and should show 3 new children in the village.
  • If you have a save from the crashing build, a fresh save is safer for this retest — the earlier crash may have written a corrupted or half-applied token/village state.

Virtual-Villagers-Fun-Patcher-v1.34.7-rc34.zip
SHA-256: 3EED6C72251214D7D37A4172AE223E92CB5E59245C52B65FA49DAD43D9E37B6F