Difference between revisions of "Calico"
From DoomWiki.org
[checked revision] | [checked revision] |
m (→Features: -iwad, not -file derp) |
m (use initial fields) |
||
Line 8: | Line 8: | ||
|developer = [[James Haley (Quasar)]] | |developer = [[James Haley (Quasar)]] | ||
|baseparent = Jaguar Doom | |baseparent = Jaguar Doom | ||
− | | | + | |initialversion = 1.0 |
+ | |initialdate = 2017-04-30 | ||
|programming language = {{wp|C (programming language)|C}}, {{wp|C++}} | |programming language = {{wp|C (programming language)|C}}, {{wp|C++}} | ||
|status = Active | |status = Active |
Revision as of 05:14, 15 August 2019
Calico | |
A view of MAP01: Hangar. | |
Standard | Jaguar Doom |
---|---|
Codebase | Jaguar Doom |
Developer(s) | James Haley (Quasar) |
Initial release | 1.0 (2017-04-30, 6 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.com |
IRC Channel | OFTC #noteternityenginerelated |
Calico is a source port based on the Atari Jaguar version of Doom by James Haley (Quasar), a back port which allows playing that version of the game on 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.
Contents
Features
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 v1.0 release, support for intermission music and network games is not yet present, but is planned for a future release.
Development
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.
Trivia
- In keeping with the cat-based theme of the Atari Jaguar, the name "calico" was chosen in honor of Quasar's late cat, Nikki.
External links
- Version 1.0 release at Doomworld/idgames
- Development thread at Doomworld
- Current release version
- Calico git repository, hosted by GitHub
Source code genealogy | ||
---|---|---|
Based on Atari Jaguar |
Calico | Active |