Releases: Zayn995/S2Tweaker
Release list
S2Tweaker 1.41.0 - additional detail settings
S2Tweaker 1.41.0 - additional detail settings
Adds 486 supported setting values on the checked game 2.0.5 data, including
installed edition items. Availability follows the data loaded from your game.
The new gameplay effects are experimental and NOT play-tested.
New options
- Special artifacts (4): Weird Nut bleeding benefit/healing drawback, Weird
Water paired capacity bonus/minimum intoxication. - Medicine and buffs (16): individual healing, bleeding/radiation removal,
buff strength and ongoing Hercules/Cinnamon/PSY-Blocker duration. Native
medical effect IDs preserve the game's Master difficulty modifiers. - Weapon items (336): weight, base price and inventory width/height for 84
audited items, including 12 edition items when installed. - World and NPCs: weather sight/hearing/scent (18), camp activity needs (8),
ranked grenade budgets (12), optional helmet chances (76). - Equipment: supported technician bonus types (14) and passive scanner
radii (2). Two further registered upgrade types stay inactive because the
loaded data contains only unsupported penalty directions.
Open World -> Additional detail settings, choose a group and target, then
Edit selected detail settings. Helmets are in World -> NPC equipment by
faction & player progression -> Optional helmet groups.
Profiles, favorites, undo/redo, reset, conflict protection and Pak previews
use the existing editor workflow. Neutral/inherited values produce no extra
patch. Individual scopes now point to their actual Upgrades tab in Overview.
Installation and limits
Download S2Tweaker_v1.41.0.zip, extract the entire folder and run
S2Tweaker.exe. Keep the runtime files together. Rebuild your personal Pak
to apply your selected changes, then replace it while the game is closed.
No UE4SS or Dev Kit is needed. Movement, reload, aim-in, draw/holster and
animation-recovery extensions remain deferred. Existing controls retain their
previous behavior. Longer buff duration does not stretch item-use animations;
camp options change activity needs, not animation playback.
Weapon item changes can affect NPC/vendor/world copies of the selected item.
Weather uses shared AI tables; ordinary camp profiles can also occur in missions.
Helmet chances affect existing generation rolls, not guaranteed equipment on
NPCs already saved. Unequip special artifacts before replacing the mod, then
re-equip; saved-effect transitions need game testing. Upgrade effects may be
shared. See the full detail guide for composition,
scope and limitations.
The experimental multiple-job repairs from 1.40.1 are included. Their game
confirmation and individual A-Life checks remain open; this release does not
claim to resolve them. Multiple-job Paks can include large Game.locres resources
for every installed language and conflict with other language-resource mods.
Verification
57 local headless suites passed, including the generated test Pak. The portable
GUI workflow covers all new detail groups and a helmet setting, profile save/load,
undo/redo, reset and Pak export. Generated data is checked against live baselines.
These checks do not establish the actual gameplay behavior.
The signed runtime remains unchanged; no new VirusTotal scan result is claimed
for this ZIP. No game data, translations or proprietary Oodle DLL are distributed.
The source ZIP contains the exact tagged repository files. The public build
workflow refreshes readable application source on the pinned signed runtime;
see .github/workflows/build.yml to reproduce it.
Release artifact verification
Commit: 6601e0d3fd7d7d6b7c5837010ccf915dfdcb80e9.
Successful tag build: eighteen CI suites, portable self-test and binary/signature checks passed. All 38 app source files match the tag, all 19 binary hashes match the previous release, and both ZIPs passed readback checks.
S2Tweaker_v1.41.0.zipSHA-256:8d6a1d1fb6499c7e64b131d87d7b2f14b73cadff36b4a28c167183f37f82ff0cS2Tweaker_v1.41.0_source.zipSHA-256:9ca2ed8bef5ced32545bcc0b283fca38412cc43d45283e6424b38fb88628a741
S2Tweaker 1.40.1 - job text and return-marker repairs
S2Tweaker 1.40.1 — job text and return-marker repairs
This release includes repairs for missing multi-job text and disappearing
return markers after another job is handed in. The job changes are experimental
and NOT PLAY-TESTED. The reported in-game problems remain open for confirmation.
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 release. Bullet Time remains
deferred. Issues #9 and #19 remain open.
Job guide
and language-loading research.
Source: tag v1.40.1; build with .github/workflows/build.yml and
tools/refresh_portable.py using the existing hash-pinned runtime.
Release artifact verification
Commit: fc90e3cfcddf06ad925b9439b451ae268d6e4570.
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.zipSHA-256:b57d9cb9abe4be0b31a9e3ea37f42da893f925d8bcd3f081e44bf1bb672e439aS2Tweaker_v1.40.1_source.zipSHA-256:ccd131253d1f04a1b06c2a30408d999006f8cd1b4c7bb33d7dbb9a296b3cedff
S2Tweaker 1.40.1-rc.1 - job text and return-marker test release
S2Tweaker 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
S2Tweaker 1.40.0 - extra artifact bonuses, job texts and NPC equipment
S2Tweaker 1.40.0 — extra artifact bonuses, job texts and NPC equipment
Add missing bonuses to ordinary artifacts, including fire protection on
Liquid Stone, in World → Artifact editor & related settings. Nine supported
bonus families offer 518 additional item/bonus choices on the audited 2.0.5 data,
bringing this editor to 871 controls. New Add ... settings use 0 for off and
100% for the installed native Low bonus, adjustable up to 1000%. Global artifact
strength also applies; existing bonus types keep their individual controls.
Carry capacity includes its matching hidden weight-penalty adjustment.
The optional Artifact bonus labels follow your changes checkbox selects the
nearest native strength tier after global and individual changes, with the lower
tier at a midpoint, and hides zero-strength bonus rows. Labels remain approximate.
Radiation shielding tiers and unusual artifact mechanics remain separate.
Experimental multi-job exports now include journal translations automatically.
The tool reads the installed translations and adds the missing title/objective
keys: 208 aliases in each of the 18 installed languages checked locally. Original
resources are preserved, and no game translations ship inside the tool ZIP.
Existing isolated journal and stage identifiers are unchanged. The first export
after a game-data change may need Oodle to read the compressed source resources;
the tool's Oodle help explains setup. No UE4SS is required.
NPC equipment by faction & player progression is available in World. Choose
among 12 factions, 50 ordinary role profiles and 370 native equipment groups,
with 1,028 controls for existing weapon, pistol and body-armor choices. Values
change relative selection weights, not drop chances. Rank means player
progression; native combined rank and difficulty groups remain linked.
Individual settings use private generator branches and compose with global
quality, condition, loaded ammo and variety settings. Fractional native weights
retain their precision. Equipped NPC-only armor does not become lootable.
Profiles, favorites, undo/redo, reset, conflict scans and Pak manifests are
supported. Neutral settings produce no additional patch. All values come from
the loaded game installation.
Validation: 55 local headless suites; targeted portable GUI editing,
save/load, undo/redo, reset and export; binary Pak readback, including the
18-language job export. The published artifacts are checked against the release
tag and GitHub Actions build. The existing 19 signed runtime binaries remain
unchanged. No new VirusTotal result is claimed for this ZIP.
Not play-tested: added bonuses, adjusted labels, protection of inherited
fake/quest variants, supplementary localization loading (including English), and
new NPC equipment generators. Many simultaneous bonus rows have no verified
engine limit. Re-equip edited artifacts; existing NPC inventories may not refresh.
Generic mission NPCs can share edited ordinary profiles.
Molkerr's 1.39 reports support separate job hand-ins and remaining journals after
save/load in the cases tested. The completed sibling's marker case remains open;
this release does not change marker logic. #9 and #19 stay open for gameplay
observations. Use a save from before accepting experimental jobs and retain their
Pak while they are active; removing a Pak does not roll back saved quest state.
Artifact guide ·
NPC equipment guide ·
Job repair and game checks.
Extract the entire player ZIP and keep the executable, DLLs and _internal
together. Rebuild your personal Pak to use these changes. Includes all 1.39.0
features and game patch 2.0.5 data-loading fixes. Bullet Time remains deferred;
no UE4SS or slow-motion add-on is included.
Source: tag v1.40.0; build with .github/workflows/build.yml and
tools/refresh_portable.py using the existing hash-pinned runtime.
Release artifact verification
Commit: 35028c43aad4546274321a1f88ae0840f18e8c6b.
Successful tag build: sixteen CI suites, portable self-test and binary/signature checks passed. All 34 app source files match the tag, all 19 binary hashes match the previous release, and both ZIPs passed readback checks.
S2Tweaker_v1.40.0.zipSHA-256:9c64b388ab07bfe4d6bdd0a08d0dde18a09fed4b6783dd735aa2daeb711117bbS2Tweaker_v1.40.0_source.zipSHA-256:a254968daf035f77d37dc3a4fa9a96471aa11c915f81c134e4ba6da040f6016e
S2Tweaker 1.39.0 - artifact editor and world settings
S2Tweaker 1.39.0 — artifact editor and world settings
Edit individual artifacts and related world settings in World → Artifact editor & related settings.
Choose a family and target, then Edit selected settings. The installed 2.0.5
baseline exposes 353 supported settings across five families:
- Artifacts: individual weight, base price and existing bonuses for 69 ordinary
artifact candidates. Each changed bonus gets an isolated effect reference.
Harmful radiation uses the game's native tiers: inherit, off, or tier 1–4.
The inventory includes candidates whose ordinary gameplay availability is not confirmed. - Detectors: separate reveal, work and near-detection radii for Echo, Bear,
Gilka and Veles, plus Veles sonar/anomaly radii. Final radius constraints are checked. - Weird Ball: seven damage/stamina/weight parameters, including dynamic weight
bounds and weight-decrease settings. Their gameplay timing remains experimental. - Moving anomalies: speed and pursuit distance for four ordinary lightning/
fire-ball variants. The prologue variant is excluded. - Rarity profiles: rank-based relative weights for two supported profiles.
Weights are normalized; disabled tiers remain disabled. Universal also affects
an E06_MQ01 quest placement, so this control is not quest-isolated.
Profiles, favorites, undo/redo, reset, Pak manifests and conflict scans are
supported. Values come from the installed game; neutral settings produce no patch.
Absolute item values override global values, while individual bonus factors
combine with global strength. Higher radiation tiers may need stronger shielding.
Also delivers GitHub #10: Maximum talk distance only, 100–300%, in
Vaulting → Interaction reach. Keep the existing minimum/maximum control at
100% to preserve the installed minimum. The new setting uses each participant's
own baseline for the player and human NPCs. Existing profiles retain their behavior.
Validation: 52 local headless suites and 13 CI suites; targeted Windows GUI
checks cover editing, profiles, undo/redo, export and reset. Generated Paks are
read back and checked against their expected patches. The release source,
runtime binaries and packaged files are verified against the tag and CI output.
Not play-tested: the five new families and maximum-only conversation distance.
Re-equip changed artifacts; stacking, active-effect persistence, save/load,
removing mods and actual spawning still require gameplay checks. The earlier
multi-job repair (#9) and individual A-Life effects/performance (#19) remain
open for player observations; this release does not claim new fixes for them.
Use a save from before accepting experimental jobs and retain their Pak while
they are active. Old active jobs cannot be migrated.
Artifact editor guide ·
Remaining issue game checks.
Extract the entire player ZIP and keep the executable, DLLs and _internal
together. Rebuild your personal Pak to apply changed settings. Includes all
regional-weather and game patch 2.0.5 fixes from 1.38.0. No UE4SS or independent
slow-motion hotkey is included. All 19 runtime binaries are unchanged; no new
VirusTotal result is claimed for this ZIP.
Source: tag v1.39.0; build with .github/workflows/build.yml and
tools/refresh_portable.py using the existing hash-pinned runtime.
Release artifact verification
Commit: 8be6e36790dac86395beee6f05c6e456248731f4.
Successful tag build: thirteen CI suites, portable self-test and binary/signature checks passed. All 29 app source files match the tag, all 19 binary hashes match the previous release, and both ZIPs passed readback checks.
S2Tweaker_v1.39.0.zipSHA-256:7a67bac6e36a4f2c4e3b74f7ed5de09d1a732aece66450d5dca6bb33bc67015dS2Tweaker_v1.39.0_source.zipSHA-256:a55e70c60d33a9b93c67d326602c16e81b8d94311a65f6dccf6d2e0f2fa32fde
S2Tweaker 1.38.0 - regional weather controls
S2Tweaker 1.38.0 — regional weather controls
Adjust ordinary weather separately in 18 regions. Load your game data, open
World → Regional weather (experimental), choose a region and click
Edit this region's weather.
- Selection weights: 0–400%; duration: 25–400% of the installed game's values.
100% leaves that regional setting unchanged. A weight is not a probability. - Only currently enabled, verified ordinary weather entries are offered:
94 weather rows / 188 settings across 19 profiles in the audited 2.0.5 data.
Red Forest's two profiles are grouped under one region. - Regional factors combine with the existing global rain and duration controls.
Values that cancel back to vanilla produce no patch. Invalid combinations
leaving a changed region without any positive ordinary weight are rejected. - Settings support profiles, favorites, undo/redo, reset and conflict avoidance.
Unavailable saved settings remain resettable and do not generate a patch. - Emissions, quest/forced weather, underground and unconfirmed special profiles
are excluded from the new regional controls. No UE4SS or runtime loader.
Validation: 50 local headless suites and 11 CI suites; live 2.0.5 baseline
checks, neutral-output and global-control regression checks, and pak readback.
The packaged interface was checked in one Windows window across all 18 regions,
including editing, undo/redo, profile restoration, export and reset.
Not play-tested. These checks do not verify in-game weather transitions or
geographic boundaries. Quests and forced weather can override ordinary weather,
and changes may wait for a later transition. The multi-job feature remains
experimental with its existing savegame restrictions. An independent slow-motion
hotkey is not included.
Extract the complete ZIP over your tool folder and keep the executable, DLLs and
_internal folder together. Rebuild your personal pak after changing settings.
All fixes from 1.37.4 for game patch 2.0.5 are included.
The tagged GitHub Actions build uses the existing hash-pinned runtime. All 19
EXE/DLL/PYD files remain unchanged; no new VirusTotal result is claimed for this ZIP.
Usage and validation limits.
Research and baseline evidence.
Source: tag v1.38.0; build: .github/workflows/build.yml and
tools/refresh_portable.py.
Release artifact verification
Commit: 49ad69579b32697ffc8b9d39dc39ebf682b4f2cc.
Successful tag build: eleven CI suites, portable self-test and binary/signature checks passed. All 27 app source files match the tag, all 19 binary hashes match the previous release, and both ZIPs passed readback checks.
S2Tweaker_v1.38.0.zipSHA-256:4e0a8f065130ac0750cbfa927803963c6407d943c84a62cae86c2fb1a51799f5S2Tweaker_v1.38.0_source.zipSHA-256:84b019d9a71388ec9b29a41072570d122b6359444141d9c483ee23024df2c7fb
S2Tweaker 1.37.4 - game patch 2.0.5 data-loading fix
S2Tweaker 1.37.4 — game patch 2.0.5 data-loading fix
Fixes game-data loading after S.T.A.L.K.E.R. 2 patch 2.0.5. Its binary
configs use format 2; the previous reader could fail during conversion or
silently read incorrect structures.
- Reads binary cfg formats 1 and 2 and rejects unknown versions explicitly.
- Rebuilds the game-data cache once (schema 27) so incorrect data is not reused.
- Conversion errors now identify the affected file.
- Existing controls use the updated game's values, including its changed
weather hearing coefficients and NPC entries. No new controls or UE4SS.
Extract the complete ZIP over your tool folder, then load the game data again.
Keep the executable, DLLs and _internal folder together. Rebuild your personal
pak if you want its selected values calculated from the updated game data.
Validation: 49 local headless suites and 10 CI suites, using freshly
extracted data from Steam build 25222692. All 63 required configs and six
edition files loaded; the optional spawn file decoded 130,058 roots. A test
pak with 69 entries was built and read back. Version handling is covered by
six synthetic binary-format tests that contain no game assets.
Not play-tested. These checks verify extraction and patch generation,
not in-game behavior or savegame compatibility. The multi-job feature remains
experimental with the existing savegame restrictions. The unfinished
slow-motion feature is not included.
The existing GitHub Actions workflow assembles the release from the tagged
source and a hash-pinned runtime. No EXE/DLL/PYD files are modified. No new
VirusTotal result is claimed for this ZIP.
Validation details.
Source: tag v1.37.4; build: .github/workflows/build.yml and
tools/refresh_portable.py.
Release artifact verification
Commit: 5ff31a54c4cc39ae4102d3c73b273497446434dd.
Successful tag build: ten CI suites, portable self-test and binary/signature checks passed. All 26 app source files match the tag, all 19 binary hashes match the previous release, and both ZIPs passed readback checks.
S2Tweaker_v1.37.4.zipSHA-256:4a6d153d05cf9fc2cddf54b69cc72905eaf8f139ff794b0d3a6f2b3b67f971c1S2Tweaker_v1.37.4_source.zipSHA-256:c79044a655ba72734d31488d4043bccdb891ed0cebd059d503bf773c5bf2ba38
S2Tweaker 1.37.3 - story cancellation for multi-job journals
S2Tweaker 1.37.3 — story cancellation for multi-job journals
Corrects a missed story cleanup in the experimental multi-job repair from
1.37.2. Zalissya's story cancellation still targeted Warlock's old shared
journal, leaving the six new job journals outside that cleanup.
- The same story event now also cancels each active Warlock job journal.
- Completed, already cancelled and never-accepted jobs are left untouched.
- The correction follows the original story conditions and stays in the
story quest, so shutting down the job container does not remove it. - The original story action, rewards and ordinary job-hand-in wiring remain.
The multi-job feature is still experimental and NOT PLAY-TESTED.
The new regression failed against 1.37.2 and passes with this correction.
It checks the emitted event/condition/action links and all 4096 combinations
of the six journal states. This is not an engine or savegame test.
All 48 local headless suites and the 9 CI suites passed before release
preparation. No new GUI or game test was performed.
Rebuild your generated pak to receive the correction. Use a save from before
accepting jobs for testing; recovery of saves already past the story event
is not promised. Jobs accepted with the older shared-journal design cannot
be migrated. Keep the pak while its jobs are active.
No new controls or extraction inputs. The cache schema stays at 26.
The 1000% NPC-search ceiling and community-report updates from 1.37.2 remain.
The release uses the existing GitHub Actions build with the hash-pinned
1.36.1 runtime. All existing EXE/DLL/PYD files remain byte-identical and signed.
No VirusTotal result is claimed for this release's ZIP.
Implementation and limits.
The source ZIP matches tag v1.37.3; build assembly is defined in
.github/workflows/build.yml and tools/refresh_portable.py.
Release artifact verification
Commit: f523bce38d15813e7ff1714e25f46709ebbdc050.
Successful tag build: nine CI suites, portable self-test and binary/signature checks passed. All 26 app source files match the tag, all 19 binary hashes match the previous release, and both ZIPs passed readback checks.
S2Tweaker_v1.37.3.zipSHA-256:30c7bdf5ddb73dc85109da44c800a814b11f7123b861e3212cdee7335a946ed1S2Tweaker_v1.37.3_source.zipSHA-256:a1212d18639c46fb0db9bf3679d20286d732d4c8467ab42c11f4fbab4d75d684
S2Tweaker 1.37.2 - community fixes & experimental job repair
S2Tweaker 1.37.2 — community fixes & experimental job repair
The multi-job repair is experimental and has not been play-tested. Use a
save from before accepting jobs: jobs already active with an older pak cannot
be migrated. Keep the generated pak until its jobs are finished or cancelled.
Multi-job hand-in repair — #9
Molkerr confirmed that several jobs could be accepted, but handing in one
could remove another without its reward. The previous design used a shared
journal and allowed the shared round cleanup to run after an individual job.
- Each of the 69 job variants now receives its own journal and stages.
- The eight giver cleanup guards wait until no accepted job remains active.
- The normal end-of-round behavior is restored. Rewards and dialog phrases
are preserved by the repair. - Interact with the giver again to accept another job; the conversation does
not open automatically. The shared cancel line cancels all his current jobs.
These are config-level corrections. Independent rewards, markers, save/reload
behavior and subsequent rounds still need confirmation in the game. This
release does not claim that the entire issue is proven fixed. Quest state is
saved by the game; removing a pak is not a save rollback.
NPC search time and community reports
- NPC search time now reaches 1000%, as requested in #13. The player's
observation covers 400%; higher values are not play-tested. - Updated tooltips record reports for talk distance, 1% sober-up speed, aim
punch, weapon noise, guaranteed-hit shots, night perception and flashlight
use in combat (#10, #12, #14–18). - The quieter-zone report in #19 is a combined test, not independent proof
of each A-Life slider. No agent-cap increase or performance guarantee. - Talk distance still scales both minimum and maximum distance. Standing too
close can therefore prevent interaction; its behavior is unchanged.
Updating and verification
- Cache schema 26 adds journal prototypes; the first game-data load refreshes
the cache. Rebuild your generated pak to use the changes. - All 47 local headless suites and 9 CI suites passed before release preparation.
The new regression model checks 536 ordered pairs of hand-ins. It does not
emulate the game's quest engine. - The portable self-test and generated-pak readback passed. No new GUI or game
test was performed for this release; the prior 1.37.1 window checks remain
documented separately. - GitHub Actions assembles the current sources with the hash-pinned 1.36.1
runtime. All EXE/DLL/PYD files remain byte-identical, including the signed
launcher. No VirusTotal result is claimed for this release's ZIP.
Full details: multi-job repair
and community reports.
Source and build
The source ZIP matches tag v1.37.2. For development, install Python 3.12+
and the packages in requirements.txt, then run python main.py.
Release assembly is defined in .github/workflows/build.yml; it uses
tools/refresh_portable.py to retain the existing signed runtime.
Release artifact verification
Commit: f9afc4da4e259792db5b0bb1c213f49048873ebc.
Successful tag build: nine CI suites, portable self-test and binary/signature checks passed. All 26 app source files match the tag, all 19 binary hashes match the previous release, and both ZIPs passed readback checks.
S2Tweaker_v1.37.2.zipSHA-256:11df63b00976901e178b8a7e56af4f93e14664d7e4d6c1e0502a7beb01723382S2Tweaker_v1.37.2_source.zipSHA-256:fe679237c1c184ca3424909ef551c23969adcf73e48cf7a902738c8d7d04948a
S2Tweaker 1.37.1 - GPT's first day: repair & polish
S2Tweaker 1.37.1 repairs the mostly black window and startup failure in the withdrawn 1.37.0 release. It includes the expanded editor, armor controls and optional loot/world settings from that version.
Startup and memory
- Removed the extra favorite/details buttons from every control row. Right-click a label for these actions, or use the visible actions in Overview.
- Overview shows 20 entries per page and releases its cards when you leave it. Individual armor editors release their widgets when closed or when another armor is opened.
- Additional loot/world values remain available under World → Edit loot & world settings and Overview → Loot & world, without building 85 extra sliders at startup.
- Avoided the redundant 100% scale redraw. Plain value displays use fewer native windows.
- The large SpawnActor file is no longer part of every user's startup cache. Extra stash finds request a compact container index only when exporting that feature.
Designs and toolbar
- Mousewheel and Design are visible in the toolbar. Mousewheel starts red/OFF (scroll the page) and switches to green/ON (change sliders).
- All twelve palettes have clearer hint/highlight text, readable normal/hover button captions and consistent selection controls. Standard keeps its blue-on-black appearance.
- The design chooser shows individual palette previews and marks the active choice. Warning captions stay amber, and their text wraps to the available window width.
Updating
Download S2Tweaker_v1.37.1.zip for the program; the other ZIP is source code. Extract the complete program ZIP over your existing tool folder, keeping the DLLs and _internal alongside the EXE. Personal settings, profiles, cache and Pak history are not included in the ZIP. The next game-data load refreshes the cache once. Existing presets remain readable.
The Oodle setup guide remains available. The tool does not download the library or update itself.
Verification and remaining limits
All 46 local headless suites passed, covering config generation against game data, editor history/profiles, archive round-trips and the startup/cache regressions. GitHub runs nine CI suites, the portable self-test and binary signature checks before the release artifact is accepted.
The repaired window was checked in Windows with the actual portable runtime: categories, six armor editors, Overview paging, optional-value editing, display scaling and a native context menu. The complete repair check peaked at 7,481 USER handles. A subsequent check of all twelve designs and the visible toolbar peaked at 6,652. Both stayed below our 8,000-object budget; no Tk callback errors occurred. Startup in the complete repair check took about 8.8 seconds on the local test machine. These are local measurements, not guarantees for every PC.
The release uses the same EXE and runtime DLL/PYD bytes as 1.36.1, assembled with the current readable Python source in GitHub Actions. The baseline ZIP is fixed by SHA-256, and every runtime binary is compared and signature-checked. No new VirusTotal result is claimed for this ZIP.
The new gameplay effects remain unverified in-game. Experimental armor, loot and world options retain their labels. Movement/fire-rate animation desynchronization remains unresolved. Existing saves may already contain generated loot, and no native in-game menu is included.
Details: startup repair, editor workspace, armor controls, optional loot/world additions.
Build provenance
- Source/tag commit:
28eb17cf95536da5cc8cc9c67675d6a4bb6f20cf. - GitHub Actions: build for v1.37.1.
- Runtime baseline: v1.36.1 player ZIP, SHA-256
0b2e9f1ecb6b95da788d8de72625c58f2784ceb1e4b00878ee81f518afeb7cb8. - Unchanged S2Tweaker.exe SHA-256:
d72294fb338bc2fc8896d25a7395a4db466425427e1559e77185d5135a830681.