Community

General and Everything Else => The Games and other Sierra Adventure stuff => Topic started by: Collector on February 23, 2023, 01:05:48 AM

Title: Sierra Version Tool
Post by: Collector on February 23, 2023, 01:05:48 AM
I have picked up development of my version tool again. I have cleaned up the code, fixed a few bugs and added new features. Give it a try and let me know if you find any bugs or have any feedback.

Edit: Download the "SierraVersionToolFull.zip" for the entire package. Download "SierraVersionToolSubFolders.zip" for just the subfolders (Tools and Docs). "SierraVersionToolEXE.zip" contains just the main EXE. You only need to download the version tool exe to update unless there is a change to the subfolders.

Title: Re: Sierra Version Tool
Post by: Boohyaka on March 05, 2023, 04:14:49 AM
Hello Collector!

I found this forum and your tool by pure search engine luck - exactly what I was looking for, amazing! And had to register just to thank you first of all :)

I'm an absolute Sierra fan and have a pretty deep collection of boxed games, that I'm currently in the process of fully documenting. I am also an active member of different software preservation projects and started collecting as many versions of the games as possible and have more at my disposal that I still need to go through, so your tool is an amazing help!

I would be glad to help improving your database along the way with my findings, if you're interested of course. I do have a few questions and feedback about the tool:

- What's the most convenient way for you to receive reports? In replies to this topic directly?
- Can you explain a bit more what your "database" is so I can maybe check a few things by myself first before making a report? I think I've read somewhere in another thread of yours that it's a mix between ScummVM database and other means. I am just surprised, because I already found both games that your tool recognizes but not ScummVM, and games that ScummVM recognizes but not your tool. Will give you more details once you let me know how you'd like reports. I have opened a couple of tickets with ScummVM with my findings, so hopefully I can also help them improve their DB.
- Can you describe a bit more what's the tool trying to do when it's automatically launching the included DosBox ECE? I guess it's trying to grab some info from the running game directly, is it a WIP because it seems to me not much is being written in the files it generates? I'd be interested to know more, and would suggest making this auto-launch an option?
- I would also suggest storing the files the tool generates outside of the game folder, maybe in the tool folder directly? As I am dumping my original disks I would like to keep game folders as clean as possible. Is it only version.txt and flags.txt that get written? If that's the case then it's easy enough to go and remove them after hand, so that's not exactly a big deal.

OK I think that's enough for a start, thanks again for making this and looking forward to your answer :) cheers!
Title: Re: Sierra Version Tool
Post by: Collector on March 05, 2023, 09:39:38 PM
The tool is still a WIP project. The 'database' is based on HWM's old version list and the ScummVM AGI and SCI hash tables that it uses to ID games being added to the SVM user's games to play. It originally was stored in two external CSV files, one for AGI and the other for SCI. I have since moved it to a comma separated string within the code, which makes it easier for me to read and update.

Like ScummVM and AGILE (https://sciprogramming.com/community/index.php?topic=1796.0) it compares the MD5 hash of certain files in the game's directory to that stored in this list to ID the game. If it cannot match any of the hashes, it will copy the hash to the clipboard where it can be pasted into a report with any other game information to add the unrecognized game to the database.

After matching the hash to determine the game the tool then tries to determine as much of the rest of the data by getting it directly from the game files. It extracts the version strings from the EXE and if it needs to decompress it first, it uses unlzexe to do so. It looks for certain files, like README, QA, and/or VERSION files to read and determine as much information as it can, such as game version, release date, etc. directly from the game itself.

DOSBox opening is from launching the interpreter with a '-' switch to attempt to have it write a list of recognized configuration flags and command line switches. Many versions of the SCI interpreter, especially earlier version, do not recognize this switch, so may launch the game itself or give an error of game or configuration file not found. I am in the process of adding WineVDM to query Win16 interpreters for these flags. Most will not need this information, but can be useful for anyone trying to troubleshoot or tinker with a game.

The tool will fill in any missing information from its database, but should note that is where it came from.

The original reason for including DOSBox was to preview the game to gather any missing information. Both AGI and SCI games usually have an 'About' button or menu item that may display game version, release date and credits. It now also includes AGILE, a modern AGI interpreter written in C# that three of us were working on here. It can launch AGI games, bypassing most copy protection used with AGI games, like the infamous CPC "bad sector" copy protection scheme and a few others, like the Gold Rush! documentation check.

If you encounter any unrecognized game or missing or inaccurate information, this thread would be as good of a place to report it.
Title: Re: Sierra Version Tool
Post by: Boohyaka on March 06, 2023, 05:14:27 AM
Many thanks for the insight on your tool's innards, much appreciated!

So here we go with a few SQ reports to start - these are all from my own original boxes and full releases, no collection/budget/kixs release etc...
Hope my format is clear and self-explanatory enough. Let me know if you need anything or how I can help further.



1. SQ2 v2.0C / Int. 2.917

[3.5"]
Sierra Version Tool: NOT OK
- Game Name: Space Quest II: Vohaul's Revenge
- Language: English
- Platform: MS-DOS
- Media: 2 x 3.5" diskettes
- Game version: 2.0C
- Interpreter version: 2.917
- Release date: 20-oct-1988
- Designer: Mark Crowe & Scott Murphy
- LOGDIR: B394EAAE1DFE4203378E02641178959C
- VOL.0: AB3E2F335B09306B0B9DFCD2A8ECD618
- OBJECT: 5024D50D42801AAEA7170A756218A7E6
HWM: OK
ScummVM: NOT OK (https://bugs.scummvm.org/ticket/14287 (https://bugs.scummvm.org/ticket/14287))

[5.25"]
Sierra version tool: OK
HWM: OK
ScummVM: NOT OK (https://bugs.scummvm.org/ticket/14286 (https://bugs.scummvm.org/ticket/14286))



2. SQ3 v1.0p / Int. 0.000.453

[3.5"]
Sierra Version Tool: NOT OK
- Game Name: Space Quest III: Pirates of Pestulon
- Language: English
- Platform: MS-DOS
- Media: 3 x 3.5" diskettes
- Game version: 1.0P
- Interpreter version: 0.000.453
- Release date: 22-Mar-1989
- Designer: Mark Crowe & Scott Murphy
- RESOURCE.MAP: 876445bb0085a62d5966f4153e2ddf52
HWM: OK
ScummVM: OK

[5.25"]
Sierra Version Tool: NOT OK
Same as above, plus:
- Media: 6 x 5.25" diskettes
- RESOURCE.MAP: 6dd8f59dd8a0c8131f34b159044e645e
HWM: OK
ScummVM: OK



3. SQ4 v1.1 / Int. 0.000.753 - 5.25" VGA English

[5.25"]
Sierra Version Tool: INCOMPLETE - See attached "SQ4_1.1_VGA_5.25.txt" file
- Media type: 6 x 5.25"
- Release date: RESOURCE.MAP 4-Mar-1991
- Interp Version is correct (0.000.753), the "0.000.200 (guess)" in Notes is wrong.
HWM: OK
ScummVM: OK



4. SQ5 v1.03 / Int. 1.001.068 - 3.5" English

[3.5"]
Sierra Version Tool: OK - See attached "SQ5_1.03_3.5.txt" file
- Minor detail: "From the Space Quest 6: The Spinal Frontier Collection" in Notes is wrong as this comes from my original game release (purple box).
HWM: OK
ScummVM: OK



5. SQ1VGA v2.0 / Int. T.A00.081 - 3.5" English

[3.5"]
Sierra Version Tool: OK - See attached "SQ1VGA_2.0_3.5.txt" file
- Minor detail: "From Space Quest Saga. Int:1.000.510 (guess)" in Notes is wrong as this comes from my original game release, and int guess is wrong too.
HWM: OK
ScummVM: OK




Title: Re: Sierra Version Tool
Post by: Collector on March 06, 2023, 11:15:23 AM
The notes about version included with collections does not mean that all copies of that version came from the collection, just that it was the version selected to include in the collection. So a game scanned by the tool could have come from the original or the collection. I have changed it to now say "Used in" instead.

The int guess comes from the SVM hash tables. there are a number of interpreters that did not have a proper version number. A number of interpreters ID as "x.yyy.zzz". I suspect that this was a place holder for the actual version that was not updated to what it should have been before the build. The SVM guess is probably based on features and how it reads game data.

Games not recognized by the tool when SVM does is because they were added to SVM since I grabbed the tables. I have added both SQ3 1.0P and will look at the others when I get more time.

I'll need to come up with a better reporting system to make it easier to add unrecognized games. Most of the additions I have made have been from copies of my own where I can easily add information. I can check the interpreter version and gather as much information that I can determine to the database. For example, Sierra started to print the release date on diskette labels in lieu of the interpreter version.

To remotely add games I'll need as much info as is possible, such as not just size of media, but also the number of diskettes. The verifiable date, either digital or included physical documentation, language of localization, etc. In other words, all if the fields on the first tab of the tool.
Title: Re: Sierra Version Tool
Post by: Boohyaka on March 06, 2023, 12:15:11 PM
Makes sense about the notes. I think the "Used in" change is a great idea that avoids any confusion

I have edited my post and expanded on the SQ2 that is missing so you have the full table, could have thought about it myself. Also checked and confirmed the real SQ4 date.

Just let me know if you need anything else, that was just a first try, and we can improve on that. If you come up with something different for reports, a template or anything else that makes it easier for us, I'll be happy to adapt and make it useful.

More reports to come as I have more time to process them. Today I found my KQ4 SCI version+interpreter is NOT documented in HWM...interesting. I think that's a first :)



Title: Re: Sierra Version Tool
Post by: Collector on March 06, 2023, 10:04:26 PM
I may make a second form for editing gathered info and build it into a string that can be simply pasted into my games definition class. Then output it to a text file for uploading it.

Is the KQ4 version not listed here: http://sciwiki.sierrahelp.com//index.php?title=King%27s_Quest_IV:_The_Perils_of_Rosella#Versions

If so I am very interested in it.
Title: Re: Sierra Version Tool
Post by: Boohyaka on March 07, 2023, 12:01:17 PM
Yes it is there, it's King's Quest IV: The Perils of Rosella / 1.003.006 / 0.000.409. I was surprised as I've rarely found games that were not mentioned at all in HRW's list but didn't check really more than that before posting.

I believe it should be the earliest known release with the "bad" graphics?

Great idea for the reporting mechanism to streamline importing new games!
Title: Re: Sierra Version Tool
Post by: Threepwang on March 08, 2023, 01:02:34 AM
All ultra rare version, make me dream... I try the magic word, XYZZY (https://www.smiley-lol.com/smiley/mystiques/universal.gif)
Title: Re: Sierra Version Tool
Post by: Boohyaka on March 08, 2023, 02:31:38 AM
Hehe Threepwang, as discussed privately my end goal and only drive is preservation. So this will all get available. I also have your elusive LSL1VGA 2.0/1.000.510 :)

I am still organizing my stuff and figuring out how I want to go forward. I may want to spin a specific "Sierra preservation project" out of my current efforts.
Title: Re: Sierra Version Tool
Post by: Collector on March 08, 2023, 10:21:50 AM
A while back I made a disk reader with a KryoFlux and wrote a program to interface with it to assist in cataloging and documenting the games. http://forums.sierrahelp.com/viewtopic.php?t=4213#p55211
Title: Re: Sierra Version Tool
Post by: Boohyaka on March 08, 2023, 11:50:02 AM
Wow, really cool! Here's my very own quick&dirty hack of a Shuttle XPC for very similar kryoflux purposes, that I affectionately called the PreservationStationTM  ;D

I only use DTC to generate .IMA + raw streams, would you mind expanding on the additional features of your GUI? I can guess/figure out some of it from the screenshots, but would love a more detailed explanation. As I just started going through properly capturing my collection as well, maybe it is worth trying to adhere to the standard you've created for yourself?

Title: Re: Sierra Version Tool
Post by: Collector on March 08, 2023, 09:20:46 PM
At the top of the form is just for specifying the game and source. At the top of the first tabpage are fields for entering in the printed label information. The disk information group attempts to get the information from the images,  like disk label, size and format.. At the bottom the "Extract Files" will extract the contents of the generated image files for listing and probing (Retrieve Info button) the files for version information, etc.

If you click the label scan box when no image is displayed it will invoke your scanner to scan the disk. The box below will display the contents of the release's VERSION file. Changing the NumberUpDown switch the display between the different disks from the release.

The Notes tabpage is simply a big textbox to manually add any notes you want to include.

The file list tabpage displays a list of the files in that disk.

The diskette imaging tab interfaces with the KryoFlux via DTC. The GUI allows you to pass on argumets to DTC. It can also use dd.exe for disk imaging.

The CD imaging tab allows you to make an ISO of a CD-ROM disc. I could not find a freeware/oss command line BIN/CUE tool for imaging, so I added a ripper tab to rip any CDA tracks on a game's CD.

The last tab is a CUE sheet generator/editor for the ripped tracks.

I have not touched this in a few years, but if I were to pick it up again I might try to add the Version Detector to help further automate the retrieval of the release's information. I would also try again to find a tool for generating BIN/CUE images. I would also need to replace my 5.25" drive, but those have gotten rather pricey over the years.
Title: Re: Sierra Version Tool
Post by: Collector on March 10, 2023, 07:01:15 PM
Here is a test build. It has a child form for editing and adding information of unrecognized releases and produce an import file for the tool I can use to add the game to the tool. It does not yet have WineVDM incorporated to query Win16 interpreters for recognized flags as it currently has issues yet to be resolved. Other than that it is mostly complete outside of bug testing.

After loading an unknown game, click the "Submission Form" button to add/edit any missing or incorrect information. Make your addition and edits, then click the 'Write" button at the bottom of the form. This will parse your entries and write them into a file on your desktop. This file can be uploaded to this thread and will greatly simplify my process of adding these unrecognized releases to the tool.

And please, let me know of any bugs you may encounter.
Title: Re: Sierra Version Tool
Post by: Boohyaka on March 11, 2023, 04:24:01 AM
Great, thank you! Of course will let you know what I find and process the games I already reported so we can test the whole thing.
Title: Re: Sierra Version Tool
Post by: Collector on March 11, 2023, 07:59:11 PM
I finally fixed the WineVDM problem. If the interpreter is not set for compatibility mode 256 colors it bails before it recognizes the '-' switch. I added code to set the interpreter to 256 colors before querying the interpreter and then removing the setting after.

This version includes WineVDM and all features. The submissions editor creates code that I can simply paste into my GameDefinitions class to add unrecognized games. In fact, it is good enough for release short of any bugs that may yet arise.
Title: Re: Sierra Version Tool
Post by: Threepwang on March 27, 2023, 03:14:28 AM
I just wanted to point out that Sierra Version Tool does not read some original Russian and Polish SCI games. This is the case of Leisure Suit Larry 7.
Title: Re: Sierra Version Tool
Post by: Collector on March 27, 2023, 11:07:28 PM
Is it just not recognizing the games (meaning that they are not in the database) or does it do nothing? The new version automatically opens the game ID editor. You can manually select a hash target and its hash and all of the other fields. It lets you open version/QA files and readmes by simply clicking a button. It can also try to get the interpreter version via another button. It has a search menu that lets you search for the release on a number of different sites (the wikis, MobyGames, Wikipedia, etc.) for any missing information. The preview feature allows you to run the game to see what can be found via the About item in the game and the debugger. While invoking the debugger will crash so many of the earlier SCI games (probably missing debug scripts) it will display the interpreter version. The labels of physical media usually has some release information like game version and interpreter version. Later floppy releases used the release date for the interpreter version. Once all of the determined information has been added there is a button that will write a file that can be uploaded where I can simply copy and past it into the database.

I'll have to set some standards for the information, like which file to select for the hash target, usually the map file for SCI games and the LOGDIR for AGI. Booter images are harder to determine as the image file may have any name and you cannot just look for an extension for images as some might have multiple disks. Formatting will need to standardized as well. Probably need to set some naming standards, too.

Going through my collection with the tool has let me fix some issues that were not apparent. It is letting me do some considerable updating the database. Moving it from an external CSV list to an internal C# class makes it far easier to update and to it. Additionally, if the tool gets more widely used there would be a problem maintaining a consistent database with the external CSV list.
Title: Re: Sierra Version Tool
Post by: Threepwang on March 28, 2023, 12:53:23 AM
@Collector
I will send you the game in question so you can check it out. It's wiser. ;D
Title: Re: Sierra Version Tool
Post by: Collector on March 28, 2023, 11:42:41 AM
The game was just missing in the database. The current version of the tool automatically opens the submissions editor with what info it could get on its own when it does not recognize a game. I have added the game.
Title: Re: Sierra Version Tool
Post by: Threepwang on April 03, 2023, 08:44:03 AM
Hello Collector,

Indeed it changes everything. When I will have finished the sorting of my Sierra versions, I will send you directly the games that I did not manage to visualize with Sierra Version Tool. There won't be many, I think. I was hoping to find the few Japanese Windows editions I'm missing, so that you can reference them in the database, but they seem to be very rare indeed.
Title: Re: Sierra Version Tool
Post by: Collector on April 03, 2023, 11:04:06 AM
I am certainly open to adding all variants of the official games, including the localized releases as well as the fan updates/translations. It already includes most of the AGI/SCI fan games.
Title: Re: Sierra Version Tool
Post by: Collector on April 04, 2023, 10:02:59 PM
I had a lot of things come up, so I did not get to work on this as much as I would have liked. It has quite a few changes. I have added the ability to run booter/disk images to facilitate gathering information. For DOS booters when it determines that the target is a booter image it will write a dosbox.conf to boot the image. For Apple II images it now includes the latest AppleWin emulator. While not needed for the tool, per se, you can register WineVDM (via the tool's Options form) to intercept NTVDM calls so you can simply double click Win16 EXEs or Windows shortcuts to start them. This can be used to install games with Win16 installers. There are enough changes that some new bugs may have popped up. Give it a try and let me know what you find or have any suggestions.

Grab the new version from the first post.
Title: Re: Sierra Version Tool
Post by: Collector on April 19, 2023, 12:31:14 AM
Anyone that wants to contribute to completing the tool's database, please use the latest version that I have uploaded to the first post. It will generate an import file that I will be able to simply paste into the definitions class to add or update that releases entry.
Title: Re: Sierra Version Tool
Post by: Collector on April 22, 2023, 01:03:18 PM
I found the interpreter for Hoyle 4 was not compressed with LZW, but the PKWARE data compression library, so the tool cannot read the interpreter version. I have not found any freeware utility to decompress it. Does anyone have a suggestion? Preferably a command line tool that I can call from the version tool.
Title: Re: Sierra Version Tool
Post by: OmerMor on April 23, 2023, 03:16:04 PM
Try UNP.EXE (e.g. from here: https://defacto2.net/f/a43b6b?dosmachine=svga&dosspeed=max).
Title: Re: Sierra Version Tool
Post by: Collector on April 23, 2023, 05:22:41 PM
16-bit?
Title: Re: Sierra Version Tool
Post by: Kawa on April 23, 2023, 05:35:39 PM
16-bit?
I have that myself, it's an MS-DOS tool.
Title: Re: Sierra Version Tool
Post by: Collector on April 23, 2023, 09:55:55 PM
It reads the file, but will not expand it.
Title: Re: Sierra Version Tool
Post by: OmerMor on April 24, 2023, 01:51:58 PM
I don't think the executable is compressed. I see lots of plan strings in it. I suspect the "PKWARE" string you see just means they linked a pkware library for doing runtime decompressions on data.
Title: Re: Sierra Version Tool
Post by: Kawa on April 24, 2023, 01:57:35 PM
Can confirm that at least SCI 1.1 uses a PKWare library to compress save games, and to store game resources.
Title: Re: Sierra Version Tool
Post by: Collector on April 24, 2023, 09:57:06 PM
That would certainly explain the PKWare string. I had assumed that it was compressed since unlzexe said decompression failed and I found the PKWare string right before a lack of strings until much further into the file. I took another look and it seems to not be compressed, but I am not finding an interpreter version. There was no problem with getting the Win interpreter's version.
Title: Re: Sierra Version Tool
Post by: Collector on April 29, 2023, 09:18:43 PM
I am occasionally uploading new versions of the tool (see first post). These are mostly just updates to the game entries, but I am also going through my collection and every now and then I might encounter a slight bug that I fix as I go through my games.