Calico

From DoomWiki.org

Revision as of 18:18, 20 February 2022 by Quasar (talk | contribs) (External links: really suck.)


Calico
CalicoE1M1.png

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.

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 v2.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.

History

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

  • 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

Source code genealogy
Based on Name Base for
Atari Jaguar Calico Doom 32X: Resurrection