{"id":18391143,"url":"https://github.com/fragglet/htic4doom","last_synced_at":"2025-04-12T09:00:12.766Z","repository":{"id":136770955,"uuid":"214685712","full_name":"fragglet/htic4doom","owner":"fragglet","description":"Heretic -\u003e Doom compatibility shim","archived":false,"fork":false,"pushed_at":"2019-10-12T20:27:06.000Z","size":299,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-12T09:00:05.301Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.doomworld.com/forum/topic/109782-heretic-4-doom/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fragglet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2019-10-12T17:15:42.000Z","updated_at":"2023-11-02T23:02:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"c38f39a1-1d29-4fe7-9803-8f8586aca06e","html_url":"https://github.com/fragglet/htic4doom","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/fragglet%2Fhtic4doom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fragglet%2Fhtic4doom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fragglet%2Fhtic4doom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fragglet%2Fhtic4doom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fragglet","download_url":"https://codeload.github.com/fragglet/htic4doom/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248543859,"owners_count":21121838,"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-06T01:50:48.778Z","updated_at":"2025-04-12T09:00:12.679Z","avatar_url":"https://github.com/fragglet.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Heretic in many ways a reskin of Doom. Many technical details are\n(almost) identical between the two games, including level format,\nlinedef and sector types. With this in mind, this project is a hack to\nsee if Heretic levels can be made loadable and playable with `doom.wad`.\n\n![Apostate E3M1 - Heretic](sshots/apostate-e3m1-heretic.png) ![Apostate E3M1 - Doom](sshots/apostate-e3m1-doom.png)\n\nThe main components are:\n\n* Dehacked patch that maps all Heretic thing types into equivalent thing\n  types found in Doom.\n\n* Replacement `TEXTURE1`/`TEXTURE2` lumps. These aim to recreate\n  compatible versions of Heretic's wall textures using Doom's texture\n  patches. Ideally, for the sake of minimalism no new patches should\n  be included unless it proves absolutely necessary.\n\n* Compatibly-named replacements for Heretic's flats (floor and ceiling\n  textures). For the sake of consistency, we reuse textures from Doom.\n  The distributed WAD will include the version from Freedoom.\n\n* `ANIMATED` and `SWITCHES` lump, so that Heretic's switches and\n  animated textures will animate as intended in Boom-compatible source\n  ports.\n\n### Limitations\n\nThe WAD has a number of limitations in practice:\n\n* It won't work if another PWAD is loaded that contains its own\n  `TEXTURE1`/`TEXTURE2` lumps, since the Heretic patches will be missing\n  from the WAD directory.\n\n* Because of some buggy code in `P_LoadThings()`, levels will fail to\n  load with vanilla (or Chocolate) Doom. Usually it's possible to walk\n  around the level but many monsters and items will be missing.\n  This is caused by a clash between Heretic thing types and Doom II\n  monster types. Levels will load fine if there are none of the\n  following present: Golem; Undead Warrior; Golem Ghost; Undead Warrior\n  Ghost; Gargoyle; Ring of Invulnerability. Unfortunately this includes\n  some of the most common Heretic monsters.\n\n* Heretic levels in practice can end up looking very ugly and\n  repetitive. This is because Heretic itself has a very small set of\n  textures, the replacements (constructed from Doom textures) can end up\n  looking mismatched or inappropriate, and texture alignment inevitably\n  ends up being messed up.\n\n* Not all Heretic powerups map to Doom ones in any obvious way. In\n  particular if levels rely on using the Wings of Wrath to make progress\n  then they probably aren't completable.\n\n* Sometimes line triggers don't work as intended. Heretic has a few\n  linedef types which don't match Doom. These include the fast stair\n  builder types (106/107), triple-speed door (100) and secret exit\n  (105). This can sometimes make levels uncompletable or necessitate\n  the use of cheats to finish them.\n\n* Heretic has additional sector types which control friction, scrolling\n  and wind effects. Doom doesn't support these and vanilla will crash if\n  you walk into a sector of one of these types.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffragglet%2Fhtic4doom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffragglet%2Fhtic4doom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffragglet%2Fhtic4doom/lists"}