S2Tweaker 1.40.1-rc.1 - job text and return-marker test release
Pre-releaseS2Tweaker 1.40.1-rc.1 — job text and return-marker test release
Pre-release for testing issue #9. NOT PLAY-TESTED. This is a repair
candidate for missing job text and disappearing markers after another job is
handed in. Version 1.40.0 remains the latest regular release. The reported
in-game problems are not marked as solved.
Experimental multi-job exports now extend the installed native Game.locres
resources. This replaces the supplementary localization files used in 1.40.0.
Every installed language is discovered dynamically: all 18 languages in the
audited installation contain 208 additional title/objective aliases each.
Existing text bytes and keys are retained; isolated journal/stage IDs stay the
same. The optional language cache rebuilds automatically when required.
After a job container ends, the marker repair attempts to reapply each
remaining return marker only if that job AND its return stage are still active.
It uses the live game's marker payload and separate guarded nodes. Reward and
dialogue outputs are not replayed, and journal tracking is not forced.
Compatibility: enabling multiple jobs adds full native language resources
to your generated Pak (about 147 MiB for the 18-language installation checked).
Other mods replacing Game.locres can override these changes or be overridden;
the config conflict scan cannot detect those localization conflicts. The tool
generates translations from your installation; no game translations or Oodle
DLL are distributed in the player/source ZIPs. Initial preparation can require
your existing Oodle setup. No UE4SS is needed.
How to test
- Extract the entire player ZIP into a separate folder. Keep the previous tool,
personal Pak and saves available. Load your game data and rebuild a personal
Pak with experimental multiple jobs enabled. - Close the game before replacing the personal Pak. Use a separate save from
before accepting the test jobs; do not overwrite your original saves. - Check job titles and objectives in your game language, then compare another
language if possible. Ordinary quest/menu text must remain correct. - Accept two jobs from the same giver and complete both objectives. Hand in
one: the other's journal, map/compass marker and hand-in dialogue should
remain. Then hand in the other; each reward should be paid once. - Repeat in reverse order and after save/reload. Check three ready jobs and a
ready job alongside an unfinished one. The unfinished job must not acquire
a premature return marker. Report duplicate objective notifications too.
Keep the same generated Pak throughout a test until its jobs are finished or
cancelled. The shared cancel line cancels that giver's active jobs. Removing a
Pak does not undo saved quest state; restore the matching original save and Pak
together when reverting. Old active jobs are not migrated.
Validation: 56 local headless suites passed. The production export was read
back and compared with an independent localization candidate: all 18 native
language resources matched, with 208 aliases each. Marker state checks and
ordered hand-in simulations passed. These checks do not establish game-side
localization loading, marker lifetime, notifications or save/load behavior.
Packaged-app and GitHub build results are appended to the published release.
Molkerr reports added artifact bonuses working on 1.40.0; the screenshot shows
Liquid Stone with nine bonus rows. This is limited community evidence, not a
verification of all magnitudes or combinations. No additional artifact or
NPC-equipment feature is introduced by this candidate. Bullet Time remains
deferred. Issues #9 and #19 remain open.
Job guide
and language-loading research.
Source: tag v1.40.1-rc.1; build with .github/workflows/build.yml and
tools/refresh_portable.py using the existing hash-pinned runtime.
Release artifact verification
Commit: b0e7b950a5d0598c605e4b993b7dcb90ad5edbd2.
Successful tag build: seventeen CI suites, portable self-test and binary/signature checks passed. All 35 app source files match the tag, all 19 binary hashes match the previous release, and both ZIPs passed readback checks.
S2Tweaker_v1.40.1-rc.1.zipSHA-256:87d0c71d8e4261fcc8a0c043324164e77ad62243a3d557a82d2897929834fa5dS2Tweaker_v1.40.1-rc.1_source.zipSHA-256:70a7dddc14b7a0e5cf0d2d1c76923541c4eb375a36ffaa022d03eba2bba10f85