{"id":13514134,"url":"https://github.com/icculus/DirkSimple","last_synced_at":"2025-03-31T02:33:26.928Z","repository":{"id":65928257,"uuid":"571079635","full_name":"icculus/DirkSimple","owner":"icculus","description":"A dirt-simple Dragon's Lair player","archived":false,"fork":false,"pushed_at":"2024-12-26T03:15:51.000Z","size":5353,"stargazers_count":50,"open_issues_count":10,"forks_count":8,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-03-17T14:16:04.809Z","etag":null,"topics":["dragons-lair"],"latest_commit_sha":null,"homepage":"","language":"Assembly","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"zlib","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/icculus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","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},"funding":{"github":["icculus"],"patreon":"icculus"}},"created_at":"2022-11-27T04:44:33.000Z","updated_at":"2025-01-27T21:21:18.000Z","dependencies_parsed_at":"2024-10-31T19:03:26.419Z","dependency_job_id":"dc11c655-74dc-4517-806b-21dce36d5d9b","html_url":"https://github.com/icculus/DirkSimple","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icculus%2FDirkSimple","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icculus%2FDirkSimple/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icculus%2FDirkSimple/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icculus%2FDirkSimple/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/icculus","download_url":"https://codeload.github.com/icculus/DirkSimple/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246407402,"owners_count":20772127,"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":["dragons-lair"],"created_at":"2024-08-01T05:00:47.340Z","updated_at":"2025-03-31T02:33:21.912Z","avatar_url":"https://github.com/icculus.png","language":"Assembly","funding_links":["https://github.com/sponsors/icculus","https://patreon.com/icculus"],"categories":["Home Game Console Emulators","LaserDisc systems"],"sub_categories":["LaserDisc systems"],"readme":"# DirkSimple\n\n## What is this?\n\nThis is a dirt-simple FMV/laserdisc game player. It uses the original footage\nfrom the supported games but not their ROMs. The game logic\nhas been implemented from scratch in Lua.\n\nThere are very few options: you point it at an Ogg Theora-encoded video of\nthe laserdisc contents and that's it.\n\nThe goal was to make a simple, portable way to play Dragon's Lair without\na lot of bells and whistles. If you need more features, like actual laserdisc\nplayer support and control of hardware scoreboards, etc, not to mention\nsupport for more FMV games, you should consider checking out [DAPHNE](http://www.daphne-emu.com/) instead.\n\n\n## How do I use this?\n\n- Get a copy of the Dragon's Lair game footage. You can extract this from a\nDigital Leisure DVD, and probably several other legitimate places. If it\nworks with DAPHNE, it'll likely work here.\n\n- DAPHNE eventually wants a MPEG2 video file with no audio track and a\nseparate Ogg Vorbis audio file that matches it. You can use\n[ffmpeg](https://ffmpeg.org/) to convert those two files into a single Ogg\nTheora file that DirkSimple can use. Like this:\n\n  ```bash\n  ffmpeg -i lair.m2v -i lair.ogg -codec:v libtheora -qscale:v 7 -codec:a libvorbis -qscale:a 5 -pix_fmt yuv420p lair.ogv\n  ```\n\n- If you have the game content split up across multiple files, you can\n  (probably) use ffmpeg to concatenate them into a single video file, as long\n  as the final contents match up. (if anyone has successfully done this,\n  please open an issue with the details!).\n\n- DirkSimple does not care what resolution the final video is, or what\n  framerate it runs at, as long as the video timing matches up to the original\n  arcade cabinet version.\n\n- Make sure that Ogg Theora file is named \"lair.ogv\" and you're good to go.\n\n- Build DirkSimple: Make sure you have CMake and SDL2 development libraries\n  on your system and run this from the same directory as this README:\n\n  ```bash\n  cmake -B cmake-build \u0026\u0026 cmake --build cmake-build\n  ```\n\n  If everything worked out, you will have a \"dirksimple\" binary in the\n  \"cmake-build\" directory.\n\n- Run `./dirksimple lair.ogv` and enjoy the game.\n\n- If installing somewhere, the \"data\" directory in the root of this repo\n  must be included in the same directory as the binary (or in the proper\n  place in a macOS app bundle). You can hardcode a different directory\n  (for Linux distros that want this to be in /usr/share/games/DirkSimple,\n  separate from the binary, for example), by setting the CMake option\n  `-DDIRKSIMPLE_FORCE_BASE_DIR=/usr/share/games/DirkSimple/` ... make sure\n  there's a trailing '/' char!\n\n\n## libretro core!\n\nEver want to play Dragon's Lair under RetroArch but couldn't figure out how\nto make lr-daphne work? Now you can. By default, building DirkSimple will\nalso generate a libretro core; when used with RetroArch, you can point it\nat your lair.ogv and enjoy the RetroArch overlay, controller support,\nsave states, etc.\n\nMake sure that the `data` directory in the root of this repo is copied to\nyour RetroArch frontend's system directory, under a directory named\n`DirkSimple`.\n\nFor example, on my machine's Steam install of RetroArch, this file exists:\n\n    /home/icculus/.local/share/Steam/steamapps/common/RetroArch/system/DirkSimple/data/games/lair/game.lua\n\nThe libretro core will not work if these files are missing!\n\n\n## What about other games?\n\nWe now support [Cliff Hanger](https://en.wikipedia.org/wiki/Cliff_Hanger_(video_game))!\nGameplay is near-identical to the original arcade experience. Point the program at \"cliff.ogv\" and enjoy!\n\nI would like to add other games to DirkSimple. For many of\nthe popular ones, like Space Ace, most of the work is just filling in a table\nof scenes, their timings and recognized player actions. For others (like\nCobra Command), it'll take some extensions to this engine that are planned\nbut not yet started.\n\nIf you have access to that information, or would like to take the significant\neffort to gather that information, get in touch, please!\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficculus%2FDirkSimple","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ficculus%2FDirkSimple","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficculus%2FDirkSimple/lists"}