Calico
From DoomWiki.org
Calico | |
A view of MAP01: Hangar. | |
Standard | Jaguar Doom |
---|---|
Codebase | Jaguar Doom |
Developer(s) | James Haley (Quasar) |
Initial release | 1.0 (2017-04-30, 7 years ago) |
Latest release | 2.0 (2021-01-31, 3 years ago) |
Development status | Active |
Written in | C, C++ |
Target platform | Cross-platform |
Available in | English (United States) |
License | MIT License |
Source Repository
(Git) |
GitHub |
IRC Channel | OFTC #noteternityenginerelated |
Calico is a source port based on the Jaguar version of Doom by James Haley (Quasar), a back port which allows playing that version of the game on Microsoft Windows, Linux, and Mac personal computers. Developed under a philosophy similar to that of Chocolate Doom, it aims to preserve the original version with maximum fidelity and compatibility.
Features[edit]
Calico allows playing the Atari Jaguar version of Doom when provided with either a ROM image (legally obtainable via use of a backup device), or the extracted IWAD file from inside it (these files should be named doom.jag or jagdoom.wad, respectively, in order to be autodetected - use of the -iwad command-line switch is also supported).
Calico utilizes render to texture via OpenGL to provide a scalable window with optional hardware filtering and support for variable aspect ratio. The latter is particularly useful for authenticity's sake, since different television sets displayed the game's signal differently.
As of the v2.0 release, support for intermission music and network games is not yet present, but is planned for a future release. Music support is now present in the development tree, contributed by Erick Vásquez García (Erick194), but has not yet been included in a release.
Development[edit]
Returning the code base from the Jaguar game console back to the PC required replacement of all of the GAS assembly-language modules targeted at the Tom and Jerry Jaguar processors with equivalent portable logic written in C. The recent release of the 3DO source code by Rebecca Heineman proved useful, as the game logic portions of that port's code are largely identical to the Jaguar code in terms of logic (the Jaguar code was originally written in C, and then compiled and hand-tuned as assembly - other ports based on the Jaguar version use this original C code as their basis). The Doom64 EX port by Samuel Villarreal (Kaiser) also proved useful for additional verification. Portions of both of these code bases were used directly where the logic was identical or only required minor modifications.
For making the rendering functional, it was necessary to reverse engineer the assembly directly and thoroughly in most cases, since the other available code bases use different rendering approaches, particularly in the later phases of scene generation.
Extensive code is also used from KEX 2 and the Eternity Engine to provide OpenGL rendering, library utilities, and integration with the SDL library.
History[edit]
On June 10, 2020, Doomworld user Vic Vos built a 64-bit version based on the latest commit and published it to the development thread.
v2.0 was released on January 31, 2021, adding mouse and gamepad support, an OpenGL 4.0 shader-based renderer, and a setup utility based on chocolate-setup called the Calico Configurator.
Trivia[edit]
- In keeping with the cat-based theme of the Atari Jaguar, the name "calico" was chosen in honor of Quasar's late cat, Nikki.
- Killing Time: Resurrected utilized the Calico project for "correcting symbol names and reverting some bad changes", according to developer James Haley (Quasar).[1]
External links[edit]
- Version 1.0 release at Doomworld/idgames
- v2.0 release, hosted on GitHub
- Development thread at Doomworld
- Calico git repository, hosted on GitHub
- Calico Configurator repository
References[edit]
- ↑ Quasar (11 December 2024). Edit comment. Doom Wiki. Retrieved 13 December 2024.
Source code genealogy | ||
---|---|---|
Based on | Name | Base for |
Jaguar | Calico | Doom 32X: Resurrection |