Port Graph 90+E du port PRIZM de CGDOOM par Martin Poupe.
Go to file
Lephenixnoir 56e0d05640
Fix some textures not being rendered, like STARGR2 in E2M3
This occurs if all texture IDs on a particular line are multiples of
256 (like STARGR2 = 256) since the cast to boolean (byte) destroys
significant bits.
2021-08-12 14:03:56 +02:00
CGDOOM-minisdk/CGDOOM G3A update 2021-08-04 18:50:00 +02:00
cgdoom Fix some textures not being rendered, like STARGR2 in E2M3 2021-08-12 14:03:56 +02:00
cgemul Inital commit 2015-04-14 19:16:51 -05:00
.gitignore Build system 2021-07-17 10:46:35 +02:00
Changelog Inital commit 2015-04-14 19:16:51 -05:00
LICENSE Add the LICENSE file and description 2021-08-02 22:00:46 +02:00
README Restore video mode after an error 2021-08-12 13:12:48 +02:00

README

This repository is a fork of CGDOOM which was ported originally by MPoupe.

Credit goes to:
* Mrakoplaz for the original TI-Nspire port from MS-DOS sources.
* Critor for the Nspire CX (now CX II) port (which includes support for a
  number of WAD files).
* MPoupe for the original fx-CG 10/20 port of DOOM.
* ComputerNerd for the first attempts at an fx-CG 50 port.
* Lephenixnoir for the final fixes and fx-CG 50 version.

CGDOOM is licensed under GPLv2 as a derivative work of both the original DOOM
sources (GPL) and nDoom (GPLv2). See LICENSE.

UI improvements TODO:
-> Better keyboard layout (including more keys, eg. Run)
   => Edit messages accordingly ("press y"/etc)
-> Use MENU for the escape and EXE to validate in menus

WAD support TODO:
-> Unmodified 1.9 shareware WAD works all the way through?
-> Shareware WAD from Planète Casio should work 100%
   => Check the finale and the end of E1M9
-> Ultimate Doom WAD:
   => Episode 1 should be 100%
   => E2M3 has missing textures through the door at the start
   => E2M7 may not load based on fragmentation
   => Episodes 3 & 4 seem to be OK

Technical support TODO:
-> Supply more VRAM memory to internal allocator
   => Merge internal heap into Z_Zone? (< 50 kB)
   => Rewrite video code to use long PRAM0 access? (138 kB)
   => Identify arrays that can go to PRAM, eg. lumpcache
   => Remove multiply-avoiding lookup tables?
-> Rate-limit the game when overclocking
-> Switches don't always show the pressed texture (?)
-> Add more SHORT() to avoid having to copy-align lumps
   (note left by MPoupe in m_swap.h)
-> Load/Save game would be very cool
-> Reenable LTO if possible
-> Built-in overclocking?

CGDOOM used to be compiled with the mini-SDK. However, it's become quite
difficult to get a copy of that. Instead, this port is built with a modified
PrizmSDK from Jonimoose/libfxcg [1]. I attempted to list differences at first,
but there are quite a lot of bugfixes so I might simply push it later.

[1] https://github.com/Jonimoose/libfxcg/