{"id":19631894,"url":"https://github.com/scummvm/scummvm-tools","last_synced_at":"2025-04-05T01:06:41.646Z","repository":{"id":1387391,"uuid":"1358949","full_name":"scummvm/scummvm-tools","owner":"scummvm","description":"ScummVM tools repository","archived":false,"fork":false,"pushed_at":"2025-01-30T08:11:30.000Z","size":6080,"stargazers_count":67,"open_issues_count":9,"forks_count":54,"subscribers_count":74,"default_branch":"master","last_synced_at":"2025-03-29T00:09:27.708Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.scummvm.org/","language":"C++","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"spree-contrib/spree_shared","license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scummvm.png","metadata":{"files":{"readme":"README","changelog":"NEWS","contributing":"CONTRIBUTING.md","funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2011-02-12T15:52:02.000Z","updated_at":"2025-02-05T10:02:05.000Z","dependencies_parsed_at":"2023-07-06T13:31:22.185Z","dependency_job_id":"1f199db1-2cca-4f88-a16c-25bff570385a","html_url":"https://github.com/scummvm/scummvm-tools","commit_stats":{"total_commits":2728,"total_committers":89,"mean_commits":"30.651685393258425","dds":0.8255131964809383,"last_synced_commit":"901e057a728584d137f90a802373169d402dd067"},"previous_names":[],"tags_count":39,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scummvm%2Fscummvm-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scummvm%2Fscummvm-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scummvm%2Fscummvm-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scummvm%2Fscummvm-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scummvm","download_url":"https://codeload.github.com/scummvm/scummvm-tools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247271530,"owners_count":20911587,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-11T12:11:57.714Z","updated_at":"2025-04-05T01:06:41.629Z","avatar_url":"https://github.com/scummvm.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"ScummVM Tools README\nLast updated:    $Date$\n------------------------------------------------------------------------\n\nFor more information on ScummVM, visit https://www.scummvm.org/.\nMore on the tools can be found on our Wiki under\n  https://wiki.scummvm.org/index.php?title=ScummVM_Tools\n\n------------------------------------------------------------------------\n\nThis is a collection of various tools that may be useful to use in conjunction\nwith ScummVM. Please note that this module is not always in-sync with the latest\nSTABLE version of ScummVM.\n\nThis means that although a tool may support a feature, certain\nScummVM versions may not. ScummVM 0.6.x does not support FLAC audio, for\nexample.\n\nThe extraction and compression tools can either be run from the command line or\nusing the GUI wizard. All other tools are only available in command line.\n\nThe command line executable for the compression and extraction tools can be\ninvoked with the following syntax:\nscummvm-tools-cli [audio params] [params] [-o output] [extract|compress] \u003cinputfile\u003e\n\nThis will auto-detect the tool to use depending on the input file(s). You can hint\nwhich tool to use by specifying if you want to extract or compress data.\nAlternatively you can give the name of the tool to use:\nscummvm-tools-cli --tool \u003ctool name\u003e [audio params] [params] [-o output] \u003cinputfile\u003e\n\n\nYou can get a list of the supported tools using --list:\nscummvm-tools-cli --list\n\n\n[audio params] is used for compression tools to define which audio format to\ncompress to. Use --mp3, --flac or --vorbis first to select a special format,\ndefault is MP3. Then you can give additional information such as the bit rate\nyou want to use. Use --help to get the list of all the options you can use:\nscummvm-tools-cli --help \u003ctool name\u003e\n\nThis will also list additional options that each tool might support.\n\nUse the -o or --output flag to specify the output file or directory. By default\nmost tools will output to the directory out/ relative to the input file.\n\nExtraction Tools:\n        extract_agos\n                Extracts the packed files used in the Amiga and AtariST\n                versions of Elvira 1/2, Waxworks and Simon the Sorcerer 1.\n\n                Example of usage:\n                ./scummvm-tools-cli --tool extract_agos \u003cinfile 1\u003e ... \u003cinfile n\u003e\n\n        extract_asylum\n                Extracts Sanitarium resource packs.\n\n                If resourceindex is provided, only that resource is extracted.\n\n                Example of usage:\n                ./scummvm-tools-cli --tool extract_asylum [-o outputdir] [-R resourceindex] \u003cinputfile\u003e\n\n        extract_cge\n                Unpacks Soltys and Sfinx game data files.\n\n                Example of usage:\n                ./scummvm-tools-cli --tool extract_cge [-o outputdir] \u003cinputfile\u003e\n\n        pack_cge\n               Packs Soltys and Sfinx game data files.\n\n               Example of usage:\n                ./scummvm-tools-cli --tool pack_cge [-o outputdir] \u003cinputdir\u003e\n\n        extract_cine\n                Unpacks Delphine's Cinematique engine's archive files.\n\n                Should work at least with Future Wars and Operation Stealth.\n                It seems to work also with Cruise for a Corpse. It accepts only\n                one input file. This may be either one of the archive file, in\n                which case only this file is unpacked, or the 'vol.cnf' file,\n                in which case all archive files listed in the 'vol.cnf' file are\n                unpacked.\n\n                Example of usage:\n                ./scummvm-tools-cli --tool extract_cine [-o outputdir] \u003cinfile\u003e\n\n        extract_cruise_pc\n                Unpack the E1, E4 and E5 files found in some versions of\n                Cruise for a Corpse. To extract the D1 to D5 files, use the\n                extract_cine tool instead.\n\n                Example of usage:\n                ./scummvm-tools-cli --tool extract_cruise_pc [-o outputdir] \u003cinfile\u003e\n\n        extract_cryo\n               Extracts Lost Eden archives.\n\n               Example of usage:\n                ./scummvm-tools-cli --tool extract_cryo [-o outputdir] \u003cinfile\u003e\n\n        extract_gob_stk\n                Extracts data files from STK/ITK files from Coktel Vision\n                games.\n\n                Example of usage:\n                ./scummvm-tools-cli --tool extract_gob_stk [-o outputdir] \u003cinfile\u003e\n\n        extract_hdb\n               Extracts Hyperspace Delivery Boy! archives.\n\n               Example of usage:\n                ./scummvm-tools-cli --tool extract_hdb [-o outputdir] \u003chyperspace.msd\u003e\n\n        extract_kyra\n                Unpacks .PAK files from Kyrandia games.\n\n                It is also able to extract the installer package files from\n                Hand of Fate DOS floppy version. You should make sure you got\n                all WESTWOOD.### files for that, since they are one big package\n                file splitted into several, so with -x you will extract *all*\n                files from the installer files.\n\n                Example of usage:\n                ./scummvm-tools-cli --tool extract_kyra -x [-o outputdir] \u003cinfile\u003e\n\n                NOTE: Takes some additional arguments, run extract_kyra --help\n                for details.\n\n        extract_loom_tg16\n                Extracts data files from the PC-Engine version of Loom.\n\n                Example of usage:\n                ./scummvm-tools-cli --tool extract_loom_tg16 [-o outputdir] \u003cinfile\u003e\n\n                NOTE: See https://wiki.scummvm.org/index.php?title=HOWTO-LoomTG16\n                for instructions on how to dump the code tracks on the CD.\n\n        extract_mm_apple\n                Extracts data files from the Apple II version of Maniac\n                Mansion.\n\n                Example of usage:\n                ./scummvm-tools-cli --tool extract_mm_apple [-o outputdir] \u003cdisk1.dsk\u003e \u003cdisk2.dsk\u003e\n\n        extract_mm_c64\n                Extracts data files from the Commodore 64 version of Maniac\n                Mansion.\n\n                Example of usage:\n                ./scummvm-tools-cli --tool extract_mm_c64 [-o outputdir] \u003cdisk1.d64\u003e \u003cdisk2.d64\u003e\n\n        extract_mm_nes\n                Extracts data files from the NES version of Maniac Mansion.\n\n                Example of usage:\n                ./scummvm-tools-cli --tool extract_mm_nes [-o outputdir] \u003cinfile.PRG\u003e\n\n                NOTE: Japanese version is _not_ supported.\n\n        extract_parallaction\n                Extracts the contents of archives used in Nippon Safes.\n\n                Example of usage:\n                ./scummvm-tools-cli --tool extract_parallaction [--small] [-o outputdir] \u003cinfile\u003e\n\n        extract_scumm_mac\n                Extracts Macintosh \"single file\" SCUMM games into their\n                component parts, for use with ScummVM.\n\n                Example of usage:\n                ./scummvm-tools-cli --tool extract_scumm_mac [-o outputdir] \u003cinfile\u003e\n\n                NOTE: This is required for ScummVM up to version 0.6.x; all\n                later versions directly support reading this file format.\n\n        extract_zak_c64\n                Extracts data files from the Commodore 64 version of Zak\n                McKracken.\n\n                Example of usage:\n                ./scummvm-tools-cli --tool extract_zak_c64 [-o outputdir] \u003cdisk1.d64\u003e \u003cdisk2.d64\u003e\n\nCompression Tools:\n        compress_agos\n                Used to compress the Feeble Files or Simon the Sorcerer 1/2\n                voc/wav files to MP3, Vorbis or FLAC.\n\n                Example of usage:\n                ./scummvm-tools-cli --tool compress_agos --vorbis -q 7 SIMON2.WAV\n\n                NOTE: Specify --mac for the mac version (obviously).\n                Default output is input with changed extension.\n\n        compress_gob\n                Compresses Gobliiins! data files.\n\n                Example of usage:\n                ./scummvm-tools-cli --tool compress_gob [-o outputpath] -f \u003cconf_file\u003e\n\n                \u003cconf file\u003e is a .gob file generated by extract_gob_stk.\n                -f forces compression for all files.\n                The stick archive (STK/ITK/LTK/JTK) will be created in the directory\n                specified by the '-o' parameter.\n\n        compress_kyra\n                Used to compress The Legend of Kyrandia, The Legend of\n                Kyrandia: Hand of Fate, The Legend of Kyrandia: Malcolm's\n                Revenge and Lands of Lore: The Throne of Chaos audio files\n                with MP3, Vorbis or FLAC.\n\n                Example of usage:\n                ./scummvm-tools-cli --tool compress_kyra \u003cflags here\u003e input/GEMCUT.VRM\n\n                You have to keep the file extension the tool will append\n                else it will NOT work. Use it as shown above, copy all speech\n                files to a directory and let the tool put the output file in\n                another directory.\n\n        compress_queen\n                Used to rebuild the datafile of Flight of the Amazon Queen,\n                and allow optional MP3, Vorbis or FLAC compression.\n\n                Example of usage:\n                ./scummvm-tools-cli --tool compress_queen [mode params] [-o outputfile] queen.1\n\n                Default output file is \"queen.1c\"\n\n        compress_saga\n                Used to compress SAGA engine digital sound files to MP3, Vorbis\n                or FLAC.\n\n                Example of usage:\n                ./scummvm-tools-cli --tool compress_saga [mode params] [-o outputfile] \u003cinfile\u003e\n\n                Where \u003cinfile\u003e is the sound file you wish to compress, without\n                the extension.\n                Default output file is input file with the extensions \".cmp\"\n\n                For Inherit the Earth, the digital music (music.rsc), speech\n                (voices.rsc or \"Inherit the Earth voices\") and sound effects\n                (sounds.rsc) files can be compressed. For I have no Mouth, the\n                speech (voices*.res) files can be compressed.\n\n                The compressed files have the \".cmp\" extension. Once compressed,\n                you only need the respective .cmp files.\n\n                Note: There is no compression support yet for the following\n                versions:\n                - The Mac CD Guild version of Inherit the Earth (uses MacBinary\n                  *.bin files).\n                - The unsupported early DOS demo of Inherit the Earth.\n\n        compress_sci\n                Used to compress Sierra resource.aud/.sfx and AUDIO001.002\n                audio files with MP3, Vorbis or FLAC. This tool is NOT\n                compatible with the newer SCI32 games yet.\n\n                Example of usage:\n                ./scummvm-tools-cli --tool compress_sci [mode params] [-o outputfile] \u003cinfile\u003e\n\n                The name of the output file is required. Use a temporary name,\n                and after the tool finishes compressing it, replace the original\n                uncompressed file with the compressed one. So, if for example\n                your original audio resource file is resource.aud, you can use\n                a temporary name like resource.tmp. Then, move the original\n                resource.aud file elsewhere and rename resource.tmp to\n                resource.aud.\n\n        compress_scumm_bun\n                Used to compress '.bun' music/voice files with MP3, Vorbis\n                or FLAC.\n\n                Example of usage:\n                ./scummvm-tools-cli --tool compress_scumm_bun [mode params] [-o outputfile] \u003cinfile\u003e\n\n                Default outputfile is inputfile with the extension \".bun\".\n\n                Note: For \"The Curse of Monkey Island\", FLAC compression will\n                produce larger files than in the original game.\n\n        compress_scumm_san\n                Compresses '.san' smush animation files. It uses lossless\n                zlib for compressing FOBJ gfx chunks inside a san file.\n                It can also create a separate Ogg file with the audio track.\n\n                Example of usage:\n                ./scummvm-tools-cli --tool compress_scumm_san [mode params] [-o outputfile] \u003cinfile\u003e\n\n                Default output is inputfile with the extension \".san\".\n\n                In order to use such compressed files, your ScummVM binary\n                must have been built with zlib support enabled (you can find\n                out whether that's the case by looking at the About dialog).\n                For the Ogg or MP3 compression feature, your ScummVM binary\n                naturally must have been built with Ogg or MP3 support enabled.\n\n                NOTE: For some '.san' files there is a corresponding '.flu'\n                file, which contains offsets into the '.san' file. Hence, the\n                compress_scumm_san has to modify the '.flu' file. This happens\n                automatically, if the '.san' and '.flu' files are in the\n                same directory (which is normally the case). If you want to\n                move the '.san' files before compressing them, make sure to\n                move the '.flu' files, too!\n\n        compress_scumm_sou\n                Used to compress .sou files to .so3 (MP3), .sog (Vorbis),\n                or .sof (FLAC).\n\n                Example of usage:\n                ./scummvm-tools-cli --tool compress_scumm_sou [mode params] [-o outpufile] \u003cinfile\u003e\n                ./scummvm-tools-cli --mp3 MONSTER.SOU\n\n                Default output file is inputfile with changed extensions,\n                depending on the compression method used.\n\n        compress_sword1\n                Used to compress Broken Sword 1's music and speech .clu files\n                to .cl3 (MP3), .clg (Vorbis) or .clf (FLAC).\n\n                Example of usage:\n                ./scummvm-tools-cli --tool compress_sword1 --vorbis -q 7 BS1/swordres.rif\n\n                NOTE: Only the PC and Mac versions are currently supported.\n                The PSX version is not supported by this tool.\n\n        compress_sword2\n                Used to compress Broken Sword 2's music and speech .clu\n                files to .cl3 (MP3), .clg (Vorbis) or .clf (FLAC).\n\n                Example of usage:\n                ./scummvm-tools-cli --tool compress_sword2 [params] \u003cfile\u003e\n\n                NOTE: FLAC compression will produce larger files than the original!\n                This is because the original files already use lossy compression.\n\n        compress_tinsel\n                Used to compress tinsel .smp files.\n\n                The corresponding .idx file must be part of the command.\n\n                Example of usage:\n                ./scummvm-tools-cli --tool compress_tinsel [mode_params] [-o outputfile] \u003cinfile.smp\u003e \u003cinfile.idx\u003e\n                ./scummvm-tools-cli --tool compress_tinsel --vorbis -q 9 ENGLISH.SMP ENGLISH.IDX\n\n        compress_touche\n                Used to compress and pack Touche speech files ('Vxxx' and\n                'OBJ') to MP3, Vorbis or FLAC to a single file named\n                TOUCHE.SO3 (MP3), TOUCHE.SOG (Vorbis) or TOUCHE.SOF (FLAC).\n\n                Once compressed, only TOUCHE.DAT and TOUCHE.SOx files are\n                required to play the game under ScummVM.\n\n                Example of usage:\n                ./scummvm-tools-cli --tool compress_touche [mode params] [-o outputfile] \u003cinputdir\u003e\n\n                NOTE: Default outputfile is TOUCHE.* (depending on the compression method).\n                Files in the input folder should be uppercase.\n\n        compress_tucker\n                Used to compress sound and speech files from AUDIO/FX/MUSIC/SPEECH\n                directories to a single file named TUCKER.SO3 (MP3), TUCKER.SOG\n                (Vorbis) or TUCKER.SOF (FLAC).\n\n                Once compressed, the four directories are not required to play\n                the game under ScummVM anymore.\n\n                Example of usage:\n                ./scummvm-tools-cli --tool compress_tucker [mode params] [-o outputfile] \u003cinputdir\u003e\n\n                NOTE: Default outputfile is TUCKER.SOx (depending on the compression method).\n                Files in the input folder should be uppercase.\n\nScript Tools:\n        decine\n                Decompiles Delphine's Cinematique engine's scripts.\n                Should work at least with Future Wars and Operation Stealth.\n\n                Example of usage:\n                decine [type] [version] [filename]\n                type: -prc or -rel (Use -prc for *.prc-files, -rel for *.rel-files)\n                version: -v1 or -v2 (Use -v1 for Future Wars, -v2 for Operation Stealth)\n                filename: The name of the script file to decode.\n\n        degob\n                Decompiles TOT scripts used in Coktel Vision games.\n\n                Example of usage:\n                degob \u003cversion\u003e \u003cfile.tot\u003e [\u003cfile.ext\u003e] [\u003ccommun.ext\u003e]\n\n                \"\u003cversion\u003e\" describes from which game the script file\n                was taken and is one of \"Gob1\", \"Gob2\", \"Gob3\", \"Ween\",\n                \"Bargon\", \"Fascination, \"Lost\", \"Woodruff\", \"Dynasty\"\n                and \"Urban\".\n\n                If the script file calls loadMult(), the script file's\n                EXT file must be supplied on the command line as well;\n                some script files also require a commun.ext. degob throws\n                an error to let you know if any of the two should be the\n                case.\n\n        dekyra\n                Basic script disassembler for Legend of Kyrandia games.\n\n        descumm\n                Decompiles SCUMM scripts.\n\n        desword2\n                Disassembles Broken Sword II scripts.\n\n\nEncoder Tools:\n        encode_dxa [params] \u003cfile\u003e\n\n                Creates DXA file out of extracted Smacker video.\n\n                To extract a video use RAD Game Tools and perform 2 passes\n                on it. For example, if your video is called 'intro.smk':\n\n                1. Extract the video to PNG, 256 colors (choose PNG format\n                and tick the checkbox). It will create a bunch of files named\n                'introXXX.png', where XXX is frame number. Make sure you have\n                extracted 256 colors PNGs, otherwise encode_dxa will complain.\n\n                2. Extract the audio to WAV format, you will get an\n                'intro.wav' file.\n\n                3. Put files 'intro.smk', 'intro.wav' and 'intro*.png' into a\n                single directory.\n\n                4. Run `encode_dxa intro.smk` in that directory.\n\n                5. You will get an intro.dxa file and intro.flac/mp3/ogg file\n                in result.\n\n                Additionally you may use the batch processing mode of SMK files\n                in RAD Game Tools. Just select more than one file and push the\n                'Convert' button. It will ask you either you want them\n                processed in batch mode and will do this for you. All buttons\n                and conversion options work the same.\n\n        convert_dxa.bat\n\n                To ease your life we also provide batch files to autoconvert\n                all files. It should work with any game version.\n\n                1. Copy *.smk files from all CDs to some directory.\n\n                2. Edit paths in convert_dxa.bat file.\n\n                3. Run the batch. If you set everything correct, it will be\n                an almost unattended conversion.\n                Just for several files which don't have audio, RAD Game Tools\n                converter will ask you to press OK.\n\n        convert_dxa.sh\n\n                Same as the above convert_dxa.bat, just for *nix-based systems.\n                It uses FFmpeg to extract Smacker videos.\n\nOther Tools:\n        extract_loom_tg16.sh\n                UNIX shell script used to extract the game data and audio from\n                the PC-Engine Loom CD.\n\n                It uses cdrdao, bchunk and - optionally - flac to extract the\n                data needed for the final extraction by scumm-tools-cli. Use\n                The --help parameter for a list of options.\n\n        pack_bladerunner\n                Used to combine Blade Runner CDFRAMES.DAT files into HDFRAMES.DAT.\n\n                1. Copy CDFRAMES.DAT files from CDs 1-4 to the same directory\n                but name them CDFRAMES1.DAT - CDFRAMES4.DAT respectively.\n\n                2. Run the tool:\n                  ./scummvm-tools-cli --tool pack_bladerunner [-o outputfile] \u003cinputdir\u003e/CDFRAMES1.DAT\n\n                3. Copy the resulting HDFRAMES.DAT file to the game directory.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscummvm%2Fscummvm-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscummvm%2Fscummvm-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscummvm%2Fscummvm-tools/lists"}