This page should be viewed using Cascading Style Sheets (CSS). If you see this text CSS are not working or activated in your browser.


C2Doom modules

S80 and S60 C2Doom consists of several elements. The Doom engine, SDL library, EAudioLib, UI front-end and net game module and few other libraries. The C2Doom engine, SDL library and EAudiolib are linked to one monolithic binary (still named as CDoom.exe!). UI front-end and game module are in their own processes.

The C2Doom engine is the actual Doom port. The SDL doom is originally written in C and uses Symbian standard C library. However I have added modules that are written in C++ and uses Symbian native interfaces. The source code should be multiplatform, but I assume that wont compile anymore to other platfor due some missing "ifdefines", as I havent tested that. Multiplayer game, doom-loop (originally Doom works in busy loop, that is fine in DOS, but i tuned that a bit better behaving) and Midi/Mus audio stuff is mostly in C++.

There are adaptations of SDL library for S80 and S60 platforms which implements interfaces to display, keyboard and audio. SDL audio uses EAudiolib library for producing audio. EAudiolib has adopted implementation from ScummVM implementation. It implements AdLib emulation for Symbian OS that also Doom utilizes for playing songs. The actual Doom sound format is MUS, but Legacy Doom implemented a nice mus to midi converted. As all of those are Open Source and published under GPL license, The C2Doom engine, SDL library and EAudiolib source code are available at downloads section.

UI front-end is a S60 and S80 application that implements UI framework and thus let C2Doom behave well with other applications. The UI application has UI interface e.g. redefine key configuration and send save games to other phones. Please see more from instructions. The S60 and S80 C2Doom supports multiplaying in original Co-operative and Deathmatch modes. The net game module uses bluetooth wireless radio and allows multiplaying game with two, three or four players between other S60 or S80 phones.

Version history

  • Release version.

  • Support for non-official WAD files.
  • S60 cheat input dialog.
  • Game shutdown bug fixes.

  • New splash screen.
  • Fix for S60 cheat input dialog, '*' interfered with system keylock.
  • Misc graphical fixes.
  • Misc bug fixes.

  • Limited support for S90