on build: patch package & clear caches #20

Merged
BorderOfExtacy merged 1 commit from tidgp/BOEPassion:patchonbuild into mergehell_2 2026-09-25 16:40:05 +00:00
Collaborator

this is a suggested improvement to the build process, which - for actual testing in-game - afaik requires manually replacing the assembly in the .package file with s3pe after every compile, as well as deleting the cache packages in the The Sims 3 user folder.
with this pr, after a successful build, visual studio will automatically update the .package file with the new assembly, and automatically delete the cache packages, so the game can be launched immediately after building.

to take effect, it requires:

  1. downloading ts3buildtool and putting it into the repo root, so that Tools/ is next to e.g. Deps/. note that it's already gitignored (*.exe)
  2. renaming BORDEROFEXTACY_Passion_v0_4_2.package (or whatever the current file in Mods/ is named) to BORDEROFEXTACY_Passion_dev.package - or else, i can change it in the project file to whatever you currently use; wildcards work too

if ts3buildtool is not found, the step will be silently skipped. (also, when not on windows)
if it is found, it will find the Mods/ directory, search throughout for a file named BORDEROFEXTACY_Passion_dev.package, and replace the first S3SA it sees in it with the new assembly. it makes a loud beep when successful, unfortunately.
if it doesn't find a package with that name, the build will fail (so that you don't go loading up the game expecting new code when it still has old code).

some notes on ts3buildtool:

  • it's under active development and the default branch's readme doesn't reflect the release version anymore
  • i'm not using it exactly as originally documented either, but the source code is short and i've tested this way extensively
  • its current released version is brittle and sensitive to small changes in how it's invoked
  • the way i'm invoking it is because the documented way breaks on projects which follow the recommendation at the bottom of this modthesims guide about configurations, but what i'm doing with OutSubPath handles both cases. (idk why this project doesn't get that compiler warning; all the code i've worked with before did, hence this implementation) bottom line is it's less brittle.
this is a suggested improvement to the build process, which - for actual testing in-game - afaik requires manually replacing the assembly in the .package file with s3pe after every compile, as well as deleting the cache packages in the `The Sims 3` user folder. with this pr, after a successful build, visual studio will automatically update the .package file with the new assembly, and automatically delete the cache packages, so the game can be launched immediately after building. to take effect, it requires: 1. downloading [ts3buildtool](https://github.com/Paprotk/ts3buildtool/releases/tag/release) and putting it into the repo root, so that `Tools/` is next to e.g. `Deps/`. note that it's already gitignored (`*.exe`) 2. renaming `BORDEROFEXTACY_Passion_v0_4_2.package` (or whatever the current file in `Mods/` is named) to `BORDEROFEXTACY_Passion_dev.package` - or else, i can change it in the project file to whatever you currently use; wildcards work too if ts3buildtool is not found, the step will be silently skipped. (also, when not on windows) if it is found, it will find the Mods/ directory, search throughout for a file named BORDEROFEXTACY_Passion_dev.package, and replace the first S3SA it sees in it with the new assembly. it makes a loud beep when successful, unfortunately. if it doesn't find a package with that name, the build will fail (so that you don't go loading up the game expecting new code when it still has old code). some notes on ts3buildtool: - it's under active development and the default branch's readme doesn't reflect the release version anymore - i'm not using it exactly as originally documented either, but the source code is short and i've tested this way extensively - its current released version is brittle and sensitive to small changes in how it's invoked - the way i'm invoking it is because the documented way breaks on projects which follow [the recommendation at the bottom of this modthesims guide](https://modthesims.info/wiki.php?title=Sims_3:Creating_a_game_compatible_Visual_Studio_project) about configurations, but what i'm doing with OutSubPath handles both cases. (idk why this project doesn't get that compiler warning; all the code i've worked with before did, hence this implementation) bottom line is it's less brittle.
tidgp force-pushed patchonbuild from d7e8979149 to 56ab13103f 2026-09-25 10:54:25 +00:00 Compare

this is awesome, thank you so much for everything again!!

this is awesome, thank you so much for everything again!!
BorderOfExtacy merged commit 7467a6ea89 into mergehell_2 2026-09-25 16:40:05 +00:00
Sign in to join this conversation.
No description provided.