{"id":42201599,"url":"https://github.com/tigrouind/aitd-tools","last_synced_at":"2026-04-18T12:01:21.139Z","repository":{"id":44423991,"uuid":"75226744","full_name":"tigrouind/AITD-tools","owner":"tigrouind","description":"Several tools for Alone In The Dark (1992)","archived":false,"fork":false,"pushed_at":"2026-04-11T20:01:39.000Z","size":1986,"stargazers_count":15,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-04-11T22:24:50.742Z","etag":null,"topics":["alone-in-the-dark","command-line","disassembler","dos","dosbox","quickbms","script"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tigrouind.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-11-30T20:59:58.000Z","updated_at":"2026-04-11T20:01:43.000Z","dependencies_parsed_at":"2024-04-23T22:44:25.743Z","dependency_job_id":"4211abbd-c532-4270-9fa9-e048366567a6","html_url":"https://github.com/tigrouind/AITD-tools","commit_stats":null,"previous_names":[],"tags_count":55,"template":false,"template_full_name":null,"purl":"pkg:github/tigrouind/AITD-tools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tigrouind%2FAITD-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tigrouind%2FAITD-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tigrouind%2FAITD-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tigrouind%2FAITD-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tigrouind","download_url":"https://codeload.github.com/tigrouind/AITD-tools/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tigrouind%2FAITD-tools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31967993,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T00:39:45.007Z","status":"online","status_checked_at":"2026-04-18T02:00:07.018Z","response_time":103,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["alone-in-the-dark","command-line","disassembler","dos","dosbox","quickbms","script"],"created_at":"2026-01-27T00:26:38.843Z","updated_at":"2026-04-18T12:01:21.132Z","avatar_url":"https://github.com/tigrouind.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e [!CAUTION] \n\u003e Some files in the release archive might be detected as malware by some A/V (eg: Windows Defender). The exact reason is unclear but this is probably because it use Win32 API calls such as `ReadProcessMemory` and `WriteProcessMemory`. If you know how to fix this, please let me know.\n\n# Requirements\n\nYou need to install [.NET Desktop Runtime 9.0](https://dotnet.microsoft.com/en-us/download/dotnet/9.0) (requires Windows 10 or newer) to run the tools. Unless you are a developer, you don't need the SDK, the runtime Windows x64 version is enough.\n\n# LifeDISA\n\nThis is a disassembler for LIFE scripts in Alone in the Dark series.\n\n\n## Supported\n* Alone in the Dark 1 / 2 / 3 (CD-ROM, floppy, demo)\n* Jack in the Dark\n* Time Gate: Knight's Chase (CD-ROM, demo)\n\n## Command-line arguments\n```\nLifeDISA -version {AITD1|AITD1_FLOPPY|AITD1_DEMO|AITD2|AITD2_DEMO|AITD3|JACK|TIMEGATE|TIMEGATE_DEMO}\n         [-raw]  \n         [-verbose] \n         [-output FILENAME]\n```\n\n## Instructions \n\n1. Create a new folder named \"GAMEDATA\" (located in same folder as the LifeDISA executable).\n2. Copy the following files from game to GAMEDATA :\n   - `LISTLIFE.PAK`\n   - `ENGLISH.PAK` (or `FRANCAIS.PAK`)\n3. Copy the file `OBJETS.ITD` (from AITD folder) into GAMEDATA folder.\n4. Start LifeDISA executable with appropriate arguments. A file named `output.txt` will be created.\n\n# TrackDISA\n\nThis is a disassembler for TRACK scripts in Alone in the Dark series.\n\n## Supported \nSame as [LifeDISA](#LifeDISA)\n\n## Command-line arguments\n```\nTrackDISA -version {AITD1|AITD1_FLOPPY|AITD1_DEMO|AITD2|AITD2_DEMO|AITD3|JACK|TIMEGATE|TIMEGATE_DEMO}\n          [-verbose] \n          [-output FILENAME]\n```\n\n## Instructions  \n\nCopy file `LISTTRAK.PAK` into a folder named GAMEDATA, then run TrackDISA executable.\n\n# MemoryViewer\n\nAllow to view DOS memory in realtime. Each pixel is a byte.\nCurrent VGA palette is automatically loaded.\n\nSupported :\n* Most DOS games (even non AITD related)\n\n## Command-line arguments\n```\nMemoryViewer [-width WIDTH]\n             [-height HEIGHT]\n             [-zoom ZOOM]\n```\n\n## Commands\n| Key | Description |\n| :-: | - |\n| \u003ckbd\u003ectrl\u003c/kbd\u003e + \u003ckbd\u003emouse wheel\u003c/kbd\u003e \u003cbr\u003e \u003ckbd\u003ectrl\u003c/kbd\u003e + \u003ckbd\u003e+\u003c/kbd\u003e or \u003ckbd\u003e-\u003c/kbd\u003e| increase / decrease zoom\n| \u003ckbd\u003ectrl\u003c/kbd\u003e + \u003ckbd\u003e0\u003c/kbd\u003e | reset zoom\n| \u003ckbd\u003epage up\u003c/kbd\u003e / \u003ckbd\u003epage down\u003c/kbd\u003e / \u003ckbd\u003emouse wheel\u003c/kbd\u003e | increase / decrease memory offset by 640KB\n| \u003ckbd\u003espace\u003c/kbd\u003e | display DOS memory control blocks (MCBs)\u003cbr\u003egreen = free\u003cbr\u003eblue = used\u003cbr\u003ered = current executable\u003cbr\u003eyellow = not current executable\n| \u003ckbd\u003ep\u003c/kbd\u003e | show palette\n\n# VarsViewer\n\nAllow to view/edit game internals variables (named `VARS` and `CVARS` in scripts), view/clear internal cache, inspect actors/objects, in realtime.\n\n## Supported\n* Alone in the Dark 1 (CD-ROM, floppy, demo)\n\n## Command-line arguments\n```\nVarsViewer [-view {vars|cache|actor|object}]\n           [-width WIDTH]\n           [-height HEIGHT]\n```\n\n## Commands \n\n| Key | Description |\n| :-: | - |\n| \u003ckbd\u003eF1\u003c/kbd\u003e / \u003ckbd\u003eF2\u003c/kbd\u003e / \u003ckbd\u003eF3\u003c/kbd\u003e / \u003ckbd\u003eF4\u003c/kbd\u003e | vars / cache / actor / object view\n| \u003ckbd\u003econtrol\u003c/kbd\u003e + \u003ckbd\u003emouse wheel\u003c/kbd\u003e | zoom in/out\n| \u003ckbd\u003ef\u003c/kbd\u003e | freeze capture\n\n### Vars\n| Key | Description |\n| :-: | - |\n| \u003ckbd\u003es\u003c/kbd\u003e | save state\n| \u003ckbd\u003ec\u003c/kbd\u003e | compare current state with saved state\n\n### Cache\n| Key | Description |\n| :-: | - |\n| \u003ckbd\u003es\u003c/kbd\u003e | change sort mode (default, memory, lru)\n| \u003ckbd\u003espace\u003c/kbd\u003e | display cache entries timestamp / name\n| \u003ckbd\u003eF5\u003c/kbd\u003e | clear all cache entries\n\n### Actors / objects\n| Key | Description |\n| :-: | - |\n| \u003ckbd\u003espace\u003c/kbd\u003e | show/hide inactive actors/objects\n| \u003ckbd\u003etab\u003c/kbd\u003e | compact/full view\n| \u003ckbd\u003epage up\u003c/kbd\u003e / \u003ckbd\u003epage down\u003c/kbd\u003e / \u003ckbd\u003emouse wheel\u003c/kbd\u003e | scroll\n| \u003ckbd\u003emouse click\u003c/kbd\u003e on column header | hide column\n| \u003ckbd\u003er\u003c/kbd\u003e | reset columns visible state\n\n# PAKExtract\n\nExtracts files from PAK files.\n\n## Supported\nSame as [LifeDISA](#LifeDISA)\n\n## Instructions\n- Copy some PAK files to GAMEDATA folder\n- Run PAKExtract : all PAK files in GAMEDATA folder are extracted to new folders (eg: LISTLIFE)\n\nYou can also drop files (or folders) to be extracted into PAKExtract executable.\n\n## Command-line arguments\n```\nPAKExtract [\u003cfiles|folders\u003e]\n           [info [\u003cfiles|folders\u003e]]\n           [background]\n\t\t   [mask {AITD1|AITD1_FLOPPY|AITD1_DEMO|AITD2|AITD2_DEMO|AITD3|JACK|TIMEGATE|TIMEGATE_DEMO}]\n           [svg [-rotate {0|90|180|270}] [-zoom] [-room \u003crooms\u003e] [-trigger] [-camera]]\n           [archive [-timegate] [\u003cfolders\u003e]]\t\t   \n```\n\n### Extracting files or folders with command line\n```\nPAKExtract LISTLIFE.PAK LISTTRACK.PAK\nPAKExtract FOLDER1 FOLDER2\n```\n\nYou can also drag and drop files or folder into executables as mentionned earlier.\n\n### Displaying archive information only (eg: compressed size, flags, ...) \n```\nPAKExtract info LISTBODY.PAK\n```\n\n### Converting backgrounds or textures to PNG files\nExtract necessary PAK files (`CAMERAxx.PAK`, `ITD_RESS.PAK`, `TEXTURES.PAK`) into their respective folders, then run PAKExtract again : \n```\nPAKExtract background\n```\nFiles will be exported to `BACKGROUND` folder.\n\n### Rendering backgrounds masks as PNG files\nExtract backgrounds, then necessary PAK files (`ETAGExx.PAK` for AITD, `MASKxx.PAK`, `NASKxx.PAK` for JACK/AITD2/AITD3, `MKxxxxxx.PAK`, `NKxxxxxx.PAK` for TIMEGATE) into their respective folders, then run PAKExtract again : \n```\nPAKExtract mask AITD1\n```\nFiles will be exported to `BACKGROUND_MASK` folder.\n\n### Rendering floors as SVG files\nExtract necessary PAK files (`ETAGExx.PAK`) into their respective folders, then run PAKExtract again : \n```\nPAKExtract svg -rotate 90 -room 1 4 5 \n```\nFiles will be exported to `SVG` folder.\n\n### Creating a new PAK archive (or editing some entries)\nExtract some PAK archives, edit them in their respective folders (eg: LISTLIFE), then run PAKExtract again :\n```\nPAKExtract archive LISTLIFE\n```\n\u003e [!NOTE]\n\u003e When creating a new archive, entries are not recompressed (which might result in an archive being bigger than expected). AFAIK, there is currently no C source code available for the implode compression algorithm used by AITD. It seems to original game files have been compressed with PKZIP v1.1.\n\u003e\n\u003e If PKZIP and DOSBox are available, PAKExtract will use them for compressing back the files. `PKZIP.EXE` should be in main folder (same as PAKExtract), and DOSBox should be located in `C:\\Program Files\\`, `C:\\Program Files (x86)\\` or main folder. \n\u003e \n\u003e Some distributions of PKZIP are a self-extracting executable, so it might be needed to run that executable once (under DOSBox) to extract `PKZIP.EXE` out of it. You can simply drag and drop the PKZIP self-extracting executable on DOSBox. `PKZIP.EXE` should be around 40KB.\n\n# MoviePlayer\n\nThis allow to record a game session and then play it back for study.\nAll tools from here are compatible as the player imitates DOSBox during playback.\n\n## Instructions\n- Copy the file `movie.dat` to same place as executable (which should be named `DOSBox.exe`). By default, it will always load the latest file written with a `.dat` extension.\n\nYou can also drop a specific movie on the executable.\n\n## Commands\n| Key | Description |\n| :-: | - |\n| \u003ckbd\u003eF5\u003c/kbd\u003e | Play / pause\n| \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003eF5\u003c/kbd\u003e | Record (any movie being played has to be stopped before)\n| \u003ckbd\u003eF6\u003c/kbd\u003e | Single frame advance\n| \u003ckbd\u003eF7\u003c/kbd\u003e | Fast forward (should be held down)\n| \u003ckbd\u003eF8\u003c/kbd\u003e | Stop\n| \u003ckbd\u003eShift\u003c/kbd\u003e + \u003ckbd\u003e1\u003c/kbd\u003e ... \u003ckbd\u003e9\u003c/kbd\u003e | Save state 1-9\n| \u003ckbd\u003e1\u003c/kbd\u003e ... \u003ckbd\u003e9\u003c/kbd\u003e | Restore state 1-9\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftigrouind%2Faitd-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftigrouind%2Faitd-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftigrouind%2Faitd-tools/lists"}