Skip to content

VF2 Patcher B168

Pre-release
Pre-release

Choose a tag to compare

@Lorsieab2 Lorsieab2 released this 16 Aug 04:06
· 23 commits to main since this release
Immutable release. Only release title and notes can be modified.
b308c60

VF2 Patcher B168

Release built from main at 0929109 (PR #15, merged right after packaging,
is a test-only fix and doesn't affect any of the binaries in this release).
Covers PR #11 (same-sex marriage finalization on Accept), PR #12 (persist
Same-Sex Marriage / Marriage Candidate Reroll toggles across a relaunch),
PR #13 (same-sex "Married" status on the villager details screen), and
PR #14 (exporter fix needed to package this release at all) -- none of
which were in a published release before this one (B164 predates all four).

What's new since B164

  • Same-sex marriage now actually finalizes. Pressing Marry on a
    same-sex couple now runs the real native finalization: money,
    achievements, the family tree record, and the "Announcing the marriage
    of X and Y" life-event announcement -- previously silently skipped
    because the native code that grants those only fires when it can find
    one female adult and one male adult, which a same-sex couple can never
    provide.
  • Same-sex "Married" status on the details screen. The villager
    details screen ran the identical hard gender-filtered check as the
    finalization gate above, independently, to decide which status string to
    show -- so even a correctly-recorded same-sex marriage never displayed
    "Married". Fixed the same way: a scoped fallback for the specific
    villager being viewed.
  • Same-Sex Marriage and Marriage Candidate Reroll now persist correctly.
    Both toggles used to live in a free-standing custom PE section that the
    game's native save system never reads or writes, so buying either one
    only "stuck" for the rest of that play session -- a fresh launch or a
    reloaded save silently reset it to off, even though the store still
    showed it as purchased. This is what made Marriage Candidate Reroll look
    completely non-functional. Both toggles now live at the same
    proven, actually-persisted location already used by the Bathroom 1/2
    curtain colors and other renovations (inside CInventoryManager, part
    of the real save payload).
  • All 19 feature-toggle executable variants rebuilt from current main
    and verified byte-distinct.

What's inside

  • Apply_B168_Patcher.bat / Launch_GUI.bat -- run either to patch your own
    Virtual Families 2.exe.
  • offline_vf2_patcher.py / offline_vf2_patcher_gui.py -- the patcher.
  • payload/ -- all 19 modded EXE variants (one per feature-toggle
    combination) and their supporting assets/images.
  • manifest.json, Transparency Log.txt, How to Use.txt.

Validation performed

  • Diagnosed the Marriage Candidate Reroll bug down to the exact root cause
    via a linker .map file and raw disassembly of the linked exe -- not
    just source review -- before writing the fix.
  • Full work/ test suite: 471 passed, 238 subtests passed; the small
    number of remaining failures are all pre-existing, environment-only gaps
    (missing local icon source assets, an old release zip, IDA analysis
    output, and mobile .ogg assets) unrelated to anything in this release.
  • All 19 executable variants compiled and linked cleanly; confirmed
    byte-distinct (SHA-256).
  • Post-link raw exe disassembly confirmed both new marriage-related hooks
    (finalization guard and details-screen married-status guard) resolve to
    the exact addresses the generator intended.
  • work/package_patcher_zip.py's validate_executable_inventory() ran
    automatically during packaging and passed.

Known limitation

  • The persisted-byte storage change for Same-Sex Marriage means this
    release's external offline-patcher tool can no longer flip that one
    setting without an in-game purchase (it previously could, via a direct
    byte patch to a now-removed custom PE section). The in-game purchase
    toggle is unaffected and, unlike before, now actually persists.

Not yet fully validated

  • Divorce Spouse for an existing same-sex couple married before this
    build's finalization fix may still not work -- that couple's family tree
    record was never populated in the first place, and this release can't
    retroactively repair already-saved data. A same-sex marriage formed
    under this build should not have that problem.

Package

  • VF2-B168-Release.zip
  • SHA-256: C3022AE1E81D541BE4F9B46E7A990DA888EC23FF5B60A09411C877C733FAB7F0
  • Size: 93,671,474 bytes (~89.3 MB)

A passion project by Lorsieab2 in collaboration with Codex AI/Claude. No
copyright infringement intended -- please support the original game
creators!