Release Catacomb


Pickle

Mega GP Mania
Joined
May 30, 2006
Messages
5,518
Location
Detroit, Michigan
Website
Visit site
This a project ive been working on since the source code for Catacomb was released by Flat Rock Software.

opencatacomb-pvw.png


The first catacomb engine was written in pascal and the second was in C code. At the time i assumed both were pascal and i went through and converted the pascal to c code myself :). Then I saw Catacomb 2 was also C code. My port was too far off, needless to say adding the difference 2 added was not too difficult. It was fun doing the conversion and learning somthing about pascal along the way.

The port is using SDL and OpenGL (all versions). The pandora version is using OpenGL 2.0 ES (it could also use 1.1 ES).

The program features a frontend able to detect and verify the key data files.

The program dumps the graphics and sound to modern formats BMP and WAV, you can find them in the cache folder after running one time. Both CGA and EGA modes are supported and can be switched during runtime.

This would allow someone to create a full 32 bit graphic replacement of the originals.

Get the PND or get it straight from the Repo through PNDManager

the original code was released under GPLv2 and ive carried that over to any files I created during the port. Some helper files like md5 or unlzexe have their original licenses. My eglport retains the MIT license.

The project can be found on sourceforge

To Use:

copy the original data files in a folder and place in the appdata location 'opencatacomb'

keep catacomb 1 (1989) and catacomb 2 in separate folders.

the md5sums are based on the data files I bought from GOG.com. If anyone has something different let me know and I can add them to the md5 list.

Note: more plaforms are to come i.e gcw, wiz, caanoo
 
Last edited by a moderator:
So I got the Catacomb source to compile under DosBox, with Borland Turbo pascal 5.5 (now free, although had to scrounge around the web for TASM.EXE).  It compiles without error and creates CATACOMB.EXE, but then when I run it, it gives the error File Not Found: SOUNDS.CAT, which I placed in the directory from the Catacombs demo.  Has anyone else had any luck getting it to run from the source? I know the game will run under Dosbox, because the precompiled demo game does play fine.
 
So I got the Catacomb source to compile under DosBox, with Borland Turbo pascal 5.5 (now free, although had to scrounge around the web for TASM.EXE).  It compiles without error and creates CATACOMB.EXE, but then when I run it, it gives the error File Not Found: SOUNDS.CAT, which I placed in the directory from the Catacombs demo.  Has anyone else had any luck getting it to run from the source? I know the game will run under Dosbox, because the precompiled demo game does play fine.



Hmm, maybe theres something different with the demo sounds.cat from the full version. Cause keep in mind the source is for the full version. ID usually built demos slightly different with a macro define, but i dont recall seeing one when i was in the source.


I also didnt try building in msdos as my goal was to have a modern compilation.
 
AFAIR, DosBox is case sensitive. It might be you need to rename it (all caps or all small).
 
Hi, Pickle and EvilDragon.  Thanks for the replies!


I got it to run by commenting out 'halt (exit)' in the binary file-loading function in catacomb.pas, that was looking to load that particular file (sounds.cat), as such:


begin
  Assign (iofile, filename);
  Reset (iofile,1);
  If ioresult<>0 then
    Begin
      writeln ('File not found: ',filename);
      {==== halt; ====}    {commented out b/c for some reason it wouldnt load sounds.cat and exit -me}
    End;


This works without any ill effects I might add - sounds and all!  I also copied the levels(1-10).cat from the demo over and was able to play the game after compiling.  Now if I can actually figure out how the program was written and how it works, so I can learn some basic game development (under elite John Carmack code - written when he was only 19 years old, hah!).  Has anyone been able to get 'TheCatacomb' source to compile?  This is basically the same game and levels but written in C, and released under 3drealms license. Source also available on GitHub/FlatRockSoftware.


Thanks.


--
 
Last edited by a moderator:
Well I just re-read Pickle's original post - Doh! (smacks forehead).  Looks like you have done a conversion of the Pascal code to C, with SDL and OpenGL. Too Awesome!  Will definitely check it out.  Question -will this work on a Macbook with SDL? One way to find out...
 
Well I just re-read Pickle's original post - Doh! (smacks forehead).  Looks like you have done a conversion of the Pascal code to C, with SDL and OpenGL. Too Awesome!  Will definitely check it out.  Question -will this work on a Macbook with SDL? One way to find out...



Ha, i was just about to post if you saw the reason for the thread in the first place ;-)


Id be shocked if it didnt work on mac, you might have to make a choice on the opengl version i.e 1.X or 2.0
 
Hey, Pickle.  I downloaded the opencatacomb project files, and am trying to run the Makefile, but I get this error:


My-Macbook-Pro $ sudo ./Makefile


./Makefile: line 3: PROGRAM: command not found
./Makefile: line 7: BUILDTYPE: command not found
./Makefile: line 10: BASE_FLAGS: command not found
./Makefile: line 11: CCFLAGS: command not found
./Makefile: line 12: CXXFLAGS: command not found
./Makefile: line 15: LIBRARY: command not found
./Makefile: line 15: BASE_LDFLAGS: command not found
./Makefile: line 18: syntax error near unexpected token `$(BUILDTARGET),PANDORA'
./Makefile: line 18: `ifeq ($(BUILDTARGET),PANDORA)'


I did install/move SDL2.framework into /Library/Frameworks.  Any ideas what I might be missing?


Thanks.
 
I tried adding a build target entry in the Makefile for Mac, as such:


ifeq ($(BUILDTARGET,MAC)
PREFIX   = /usr
TOOLS    = bin
OGLTYPE  = opengl2
INCLUDE  = /Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include
LIBRARY  = /Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/bin
BASE_FLAGS += -DMAC
LDFLAGS  = $(BASE_LDFLAGS)
endif # WIN32
endif # GCW
endif # WIZ
endif # CAANOO
endif # PANDORA
endif # MAC


But it still gives the same error, as if it cannot find the necessary files to compile with.


Any ideas on how to compile using gcc from the terminal / command line instead?


Regards.
 
Last edited by a moderator:
the makefile is mainly used for gcc as that what i use for linux or windows builds. I have no idea what or if any can be used for mac builds.


Your best option to find a example how to compile a simple SDL app, from there is should be simple to extend it to this program.


All those errors are complaining about the variables in the makefile, maybe your make for mac does something different?
 
Back
Top