Skip to content

PascalCorpsman/FPC_DOOM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FPC DOOM

In this repository i try to port DOOM to Free-Pascal using OpenGL and therefore beeing platform indipendant.

!! Attention !!

This is a work in Progress, don't expect anything to work (yet)..

The original code was released by id-Software unfortunatunelly i was not able to get the code running so i decided to use the crispy-doom version as base (as this one directly compiled and was able to start and play the .wad files i have had laying around).

Also i found some usefull documentations that try to explain the code:

There is already a FPC Doom on the List of ports, but that version only supports DirectX and therefore only supports Windows platform.

What needs to be done to compile the code

  • install Lazarus-IDE
  • install package LazOpenGLContext (is shipped with lazarus)
  • download dglOpenGL.pas and store it in the units folder

What needs to be done to play the game

  • get a valid .wad file and copy it where the binary is beeing created (or use this shareware version)
  • wait until this repository has have enough progress to be a playable game (see section progress)
  • start the application

Lessons learned ?

As this section is not interesting for everyone i extracted this into a separate section lessons learned.

progress:

  • got crispy-doom compiled
  • created initial FPC_DOOM Lazarus project
  • (2025.01.03) stored everything on Github
  • able to extract icon from doom_icon.pas
  • w_wad.pas can now "load" the .wad file
  • (2025.01.09) able to store "patches" when drawn as .bmp files to harddisc, very first extracted image "M_DOOM"
  • (2025.01.10) activate OpenGL Rendering default upscale = 2
  • (2025.01.12) integrate keyboard event loop and main menu with quit button
  • (2025.01.13) finish part of menues necessary to actually start a game
  • (2025.01.20) finish wipe function
  • (2025.01.22) able to create very first screenrendering
    still missing flats..
  • (2025.01.23) finally was able to enable flats
  • (2025.01.24) add ability to rotate player, lets take a shy look around ;)
  • (2025.01.25) enable sprite rendering
  • (2025.01.26) give the player a weapon
    still not able to shoot or move :(
  • (2025.01.28) enable "normal" map preview
  • (2025.01.29) enable am map cheats, and finished am functions
  • (2025.01.30) enable forward walking and falling
    still no strafe / clipping or interaction with the map
  • (2025.02.01) enable interaction with doors

Releases

No releases published

Packages

No packages published

Languages