680f7a9be760f

680f7a9bea3dc
1 Guest is here.
 

Topic: What does SS2Tool do exactly? Read 5095 times  

680f7a9beadf8
SS2Tool can fix and update any SS2 game as long as it still contains the main game files.
This is a detailed description of the procedure SS2Tool follows. I'm leaving out error feedback, logging, most clean up actions, etc.

- SS2Tool requires at least Windows Vista to run. So it first checks the OS Version
- It reads from its own log file to decide which SS2 content version is installed and whether a "perfect" mode run has been done before. If not, a perfect run becomes mandatory. It can only find its log file if SS2Tool is placed inside the SS2 game folder.
- It connects to systemshock.org to download a text file with the latest version information through a regular http connection that SS2Tool initiates
- It compares the local SS2Tool version and the local content version with the latest version info from the server. It may require you to update SS2Tool and may suggest a content update.
- It will ask where the game folder is located. This is pre-filled correctly if SS2Tool is placed inside the game folder
- shock2.exe or ss2.exe must exist in the selected location
- Next screen is the Perfect / Update - mode selection. If no sign of a previous perfect run was found or if any DML files are found in the game root, then perfect mode is the only available option here

Then starting checks run:
- check if the cutscenes, CRFs and MIS files exist, are of correct size, etc. If too many of a type are missing the game is considered invalid.
- check if direct-x 9 is installed, otherwise run the setup if it exists locally, otherwise point the user to the download page

Then prepare phase begins:
- extract 7z for various un/packing
- prepare incremental backups in SS2ToolSyncBackup
- get the local path for rsync
- get a download pass from systemshock.org
- copy rsync to the system TEMP dir
- move and rename the manual provided by GOG to the Docs folder

Now some specific actions for perfect mode:
- try to create necessary Data & FM folder structures
- try to move cutscenes files, CRFs and MIS files into the correct Data folder structure
- temporarily extract bitmap.crf to find out if this is a German game and download a translation mod if none exists
- set rsync options to delete all unknown local content, ie content that isn't on master

- update mode sets rsync options to keep unknown content and all files with these extensions: .ini .cfg .bnd

Now the syncing starts
- get the latest exclusion list (see end of this post) through rsync from systemshock.org, files and folders in that list will always be kept
- sync the local game with master through rsync, using the previously defined rsync options and the exclusion list and creating incremental backups for all files that are locally deleted

Now game options are processed. Perfect mode pre-selects these in the SS2Tool UI, but they can be unselected.
They generally work by going into the relevant config file, try to find a pre-existing line with this setting and remove it, and add the new setting at the bottom.
The crop_movies setting is a bit more complicated, because there are 2 settings of that name.
And setting the current desktop resolution in game of course requires getting the desk res.

- Then Blue mod manager gets downloaded via rsync (possibly adding backups). Perfect mode strictly enforces this.
- ShockEd Basic Toolkit gets optionally downloaded through rsync.
- If selected a Static linked lgvid.dll is copied to the game. This is actually part of SS2Tool and the only payload it has.
- Windows start menu and desktop Shortcuts are placed

Now clean up phase begins
- log the content version and whether perfect mode ran
- rename the game exe to ss2.exe if necessary
- play a sound to signal we reached the end


 


Code: [Select]
# This exclude list will be overwritten by SS2Tool. Do not edit.
# It describes the folders and files that will NOT be synced when running SS2Tool.

# Gamedata
/current/
/FMs/
/FMsArchive/
/FMsArchived/
/save_*
/screenshots/

# Free for use
/nosync/
/mods/
/Pizzabox/
/SaltedFries/
*.BAK
*.OLD

# BlueMM
/DMM/
/DMMArchives/
ss2bmm.exe
ss2bmm.cfg
ss2bmm.log

#GOG
unins*
goggame*
/Manual.pdf
GameuxInstallHelper.dll
webcache.zip

#Steam
/Bonus Content/
/_CommonRedist/


# SS2Tool
/SS2Tool/
/ss2tool/
/SS2ToolSyncBackup/
SS2Tool*.exe
7za.exe
SS2ToolExcludeSync

# ShockEd
shocked.7z
/Cmds/
/Schema/
/Tools/
darkdlgs.dll
Default.bnd
DromEd.cfg
Menus.cfg
MotTable.dll
Replic.vbr
ShockEd.exe
User.cfg
monolog.txt
« Last Edit: 25. August 2020, 21:38:04 by Kolya »

680f7a9beb0cdsarge945

680f7a9beb129
This is useful, but it might help newcomers to know WHY various things are being done, rather than simply outlining the process.

I guess most of that's covered on the "mod ready installations" threads
680f7a9beb283
Agreed, this isn't of much use for newcomers. Newcomers just need to know that SS2Tool updates their game and makes it mod ready. That's the general reason it does anything.

This explanation is aimed at advanced users who want to get a deeper understanding. Even veterans tend to have false ideas such as: "SS2Tool only applies New Dark" or "SS2Tool has an offline mode". (It does apply New Dark among other things and it used to be an offline tool but now requires internet connection to be useful.)

Were you wondering about anything specific?

680f7a9beb563RoSoDude

680f7a9beb5bd
Is anything from patch_ext\gamesys.dml applied to the builds on Steam and GOG? I ask because there are balance/design changes (nerfed shotgun and assault rifle, buffed fusion cannon, unborked disruption grenades, improved worm launcher homing, Rumbler more vulnerable to Anti-Human, repairable turrets a la Secmod, COMPLETELY GUTTED LASER RAPIER HUM) that aren't plainly documented anywhere alongside SS2Tool, short of digging through the files yourself. I personally agree with all but one of these changes, but they're not really fixes per se and I don't know if people are aware that they're really installing a gameplay mod, lightweight and generally agreeable as it may be.
680f7a9beb6fe
Good points, but I cannot answer them because I don't maintain the master build. That's @voodoo47.

680f7a9beba90voodoo47

680f7a9bebaf0
the dml fixes are fairly well documented, I always point out they can be read in any notepad-like editor when someone asks (everything in misdml, and patch_ext folders).

plain bugfixes aside, if it's something that is just plain bad/dumb, or has been annoying people for decades, it will probably get fixed in some way (LASER RAPIER HUM CAUSING MIGRAINES).


few examples;
-the botm tooth puzzle had people foaming at their mouths since 1999. one little vein and one small nerve nudged to different positions, making the whole ordeal much more bearable. fixed the duplication on the grinding noise audio so their heads wouldn't explode.
-proximity grenades completely useless in the actual mine mode (pretty much no damage in vanilla). tweaked the trigger and the explosion, now they actually do enough damage to maybe make the player consider setting up a few traps sometimes (probably not, but the option is finally there).
-the super-radioactive Rick room setup in vanilla is just bad (can actually get the game to an unwinable state). changed things around a bit to smooth it up, and make it safe.
-vanilla no quest notes for the art code bits, leading to unnecessary and tedious backtracking because one didn't write the bits on a piece of paper. notes are now getting added.
-no notes for the find Delacroix quest, and her mail refers to a location that doesn't really exist, this more often than not sent people on a wild goose chase down to Engineering. added a note that mentions the correct location, and changed the shuttle bay signs accordingly.
-the rumbler is almost immune to the proliferator for some reason (maybe just the sheer amount of its hp). duct taped with a damage multiplier for the time being, the proliferator is still not the greatest gun to use against this AI, but the anti-human mode is now workable. I'm guessing people using the first worm gun (the proliferator) on the first big worm enemy (the rumbler) and seeing it doing next to no damage is what pretty much formed the "worm guns are useless" rumor, even though they actually aren't that bad (they slay humans and spiders, and you can even pop midwives and assassins fairly easily).

so yeah, sometimes things aren't completely clear-cut, and I have to just go with my best estimation. no real complaints so far, so I'd like to think I'm not doing a completely awful job (for example, I had to guess the proper disruption grenade damage value before the actual fix has been discovered, and when comparing my duct tape to the fix, it turns out I was only maybe 5% off. not bad, I think).
« Last Edit: 24. August 2020, 21:50:16 by voodoo47 »

680f7a9bebcceRoSoDude

680f7a9bebd2c
Sure, I don't have a problem with a single one of those changes and I personally agree with the balance changes, even if I think they should be stated up front in the SS2Tool description. My annoyance with the Laser Rapier hum is that I literally didn't even know it existed until I started modding the game myself, and find it to be rather subdued (and pleasant) at default volume. I don't see why that kind of change, which is clearly down to personal preference rather than a developmental oversight, shouldn't just be relegated to SCP or some minimod -- if a player is seriously bothered by it they can search for a fix, but someone who installs SS2Tool for their first playthrough as is often recommended will never have an inkling that something has been removed. It really is that close to silent, hence not many people could even register a complaint.

But I digress, I was mostly wondering what's implemented in the Steam and GOG builds and what's unique to SS2Tool. Is everything in the patch_ext directory unique, or is there some overlap with those builds?

680f7a9bebe92voodoo47

680f7a9bebee6
there is some overlap between SCP, the tool and GOG/steam - basically, the GOG/steam build gets bugfixes and tweaks for the most annoying issues (only using vanilla scripts), the tool gets some extras like flushing almost all objects to their respective surfaces and smoother/more complex setups (as NVscript is now allowed), and SCP gets whatever is decided it should get (there are a few rules, like touching the mechanics is not allowed unless there is absolutely no way around, for example, but generally, if it's a good change, in it goes. if there's backlash, out it may go - assuming the criticism is actually valid).

the default rapier noise level is too high and annoying, unless you have some sort of hearing impairment. definitely seen LP people complain.

680f7a9bec073purplerhino83

680f7a9bec0c3
I think you're failing to see the point here. A preferential changes has no place in a bugfix/engine update mod especially since it's not toggleable easily. If someone is bothered by the humming they're free to look up a way to turn it off online and personally i don't think it is as annoying and migraine inducing as you're trying to make it sound (nothing to do it hearing impairment either). Maybe instead of being forcing this on new players who wouldn't even know of this without trying to modify the files, make it a part of SCP or even a optional dml that users can get from the SCP thread if they want.

I know on the surface this looks like a very small thing to get frustrated about but you shouldn't be forcing subjective changes on newcomers like that, especially since it's advertised as a bugfix and engine update mod to run on modern OS. But aside that i don't really disagree with all the other changes done under the hood.

680f7a9bec384voodoo47

680f7a9bec3e4
depends on your definitions, I suppose. this change is based on community feedback - as mentioned, if enough people complain about something, there is good chance it will get tweaked somehow, even though it's not really a bug, strictly speaking. anyway, you can't really make everyone happy, so all you can do is give it your best shot, and hope most people will find the changes enjoyable. pretty sure the rapier noise not being annoying would be a good example of such a change, so

You're welcome.
680f7a9bec50f
Maybe we can move the laser rapier hum change to SCP, as that seems to be the only real point of gripe here?

680f7a9bec628voodoo47

680f7a9bec685
I consider this a (very) good tweak (just like that annoying tooth grinding sound now being less annoying, same goes for that swimming pool pump that could be heard through half the level in vanilla, and so on), so I'm leaning towards needing more than just a "I'm an user, and I don't like it" to undo.

but consider it noted, and perhaps scheduled for double-checking.
680f7a9bec79f
No one's talking about undoing it. Anyway, that reminds me I once created a similar sound for the crystal shard. I think it went into ADaoB. Is that still in SCP?

680f7a9bec83evoodoo47

680f7a9bec8b4
there is a distinct crystalline sound when swinging the shard in SCP, yes.
680f7a9bec9b6
Made that by rubbing a wine glass edge and some soft blowing. Good to know it's still there.
680f7a9becc98
Made that by rubbing a wine glass edge and some soft blowing. [...]
@RocketMan Jinn of the wineglass, have at it!

680f7a9becdb8sarge945

680f7a9bece05
If people really don't like the rapier hum, what's wrong with moving it to the checkboxes section of the tool, defaulting to ticked. This means basically everyone will always get the change anyway, but the tool itself will be documenting that a change was made.

Tbh I'd support doing this with all the changes. I'd even add a "revert changes from steam and gog versions (not recommended)" checkbox so that people are kept in the loop with exactly what the tool is doing, what steam and the community have done, and that their game isn't -strictly- vanilla but they can play vanilla if they want (if that's their thing).

680f7a9becee2voodoo47

680f7a9becf36
that'd be dozens of checkboxes. and just like with FAQs, if you have more than 10 of those (points, boxes etc), you've already lost, ain't nobody got time for that.

it's basically GOG/steam for people who don't care about mods, the tool for those who do, and special request will be handled by forums support. yes, increasing the background noise generated by a singular item is a special request.
680f7a9bed102
@sarge945 On the technical side that's not a good idea, as it would require to register every little change on master in the tool itself, which would mean constant updates of the tool program. I am very happy that we separated master content updates from the tool and won't go back there.
The "game options" you see in the tool are config changes (as explained above) which receive only very infrequent changes.

I'm not sure what "revert changes from steam and gog versions (not recommended)" would mean. Revert to the Steam/Gog install status? You can either reinstall from Steam/Gog or revert backed up changes from SS2ToolSyncBackup for more fine grained control.

If it means reverting the changes made on the Steam/Gog installs themselves, then SS2Tool has no idea what those are.

Maybe we could set up a separate vanilla master and optionally sync from there to "revert" changes already in the install and not introduce new ones. I'm not sure it is worth the effort though, as  I reckon that people will first flock to the "original" and then come complaining about its bugs and problems, putting us between a rock and a hard place.

680f7a9bed1d4voodoo47

680f7a9bed21e
I really think we're good where we currently are.

also, checked the current rapier hum noise level, I think it's just right - still audible in the background, and once you attack with the weapon, the swing sound is nice and loud, then fades back smoothly once the animation is complete.
« Last Edit: 27. August 2020, 13:22:17 by voodoo47 »

680f7a9bed345purplerhino83

680f7a9bed396
I agree with everything sarge945 said basically. His solution is far better than mine. Just make every tweak, balance and non fix changes optional by making them selectable or unselectable by tickboxes.  This way the changes are still packaged with the tool but not forced on anyone.
I'm surprised how you don't see it as a problem. Forcing sneaky changes in the name of bugfix and engine update through a tool that is being "promoted" for years as the only way to run the game on modern machines. This is very similar to the T2fix situation but atleast there is T2Fix Lite now after ppl pointed out the problem in the ttlg forum.

Let me reiterate, I don't think any the changes are bad at all except the rapier sound one. But please don't sell changes that you and a handful of users personally think are good disguised as bugfix or a new engine to everywhere.

Thank You

680f7a9bed4a1voodoo47

680f7a9bed4ed
doesn't matter what you do/don't do, there will always be someone who will think you should/shouldn't have done it.

the tool has not been referred to as "the only way of making the game run on modern computes" for many years now, in fact, when I see people mentioning this at the steam forums, I usually correct them by pointing out they only need the tool for (safe) mod use.

so again, I think we're good, and anyone concerned with anything can always ask on the forums, get an answer, and a custom patch, if desired.

680f7a9bed5a5Garretty

680f7a9bed5ef
I think something as harmless and inclusive as a checkbox would be great for it. Everyone's happy and the mod doesn't get compromised in any way, shape or form. I like the hum.

680f7a9bed6a3voodoo47

680f7a9bed6eb
well, pop gamesys.dml open (notepad) then, find the rapier noise, and set it to the level you deem perfect.

a zillion checkboxes ain't going to help nobody.
1 Guest is here.
Female computer voice: This is an illegal exit.
Contact SMF 2.0.19 | SMF © 2016, Simple Machines | Terms and Policies
FEEP
680f7a9bed7e6