Softdisk-era id games open sourced

YEAH!!!
Finally someone can make a source port for these games, which is a good thing because it removes the need to use DosBox.
And not only that, it could be possible to make mods for them.

Share this post


Link to post

Awesome. I can't wait to play around with this when I finish my Summer semester.

Kind of makes me wonder how much of it is written in C and how much is assembly code.

Share this post


Link to post
Stygian said:

Awesome. I can't wait to play around with this when I finish my Summer semester.

Kind of makes me wonder how much of it is written in C and how much is assembly code.

Progressively less ASM as the games get older, though none of them are entirely without.

Share this post


Link to post
Quasar said:

Progressively less ASM as the games get older, though none of them are entirely without.

Interesting. I would've predicted the reverse.

Share this post


Link to post
ETTiNGRiNDER said:

Interesting. I would've predicted the reverse.

Hand-tuned ASM used to be faster (usually, not always) than compiler-produced code. Still is in some cases, but the difference is now much more negligible.

Catacomb was written in Turbo Pascal.

Share this post


Link to post
yukib1t said:

Hand-tuned ASM used to be faster (usually, not always) than compiler-produced code. Still is in some cases, but the difference is now much more negligible.

Catacomb was written in Turbo Pascal.

In this case I think the relative non-maintainability of ASM was a big factor, particularly as the latter Catacomb 3D sequels weren't programmed by Carmack but by other people who had to build on top of his code without his advice to run on.

A lot of the ASM that is in there was compiled from C code (which is at least in some cases also included) and then hand-tuned. You can tell as the lines of corresponding C code are interspersed with the assembly in those files, helping to serve as some documentation (should make porting off 16-bit x86 easier too for people who aren't real mode wizards).

Share this post


Link to post

Anyone tried compiling these sources? I cant find a copy of Borland 3.1, or is it 2.0, to compile them with, much less a copy of turbo pascal.

Share this post


Link to post
doomgargoyle said:

Anyone tried compiling these sources? I cant find a copy of Borland 3.1, or is it 2.0, to compile them with, much less a copy of turbo pascal.

For the Pascal you'd probably have to try to port it to a different more modern Pascal compiler, as I don't think Turbo Pascal was released freely later on like Turbo C/C++ was. Either that or port it to C, which is fairly straight forward - aside from a couple of gotchas, Pascal has more or less the same semantics as C with a different syntax.

Share this post


Link to post
Quasar said:

For the Pascal you'd probably have to try to port it to a different more modern Pascal compiler, as I don't think Turbo Pascal was released freely later on like Turbo C/C++ was. Either that or port it to C, which is fairly straight forward - aside from a couple of gotchas, Pascal has more or less the same semantics as C with a different syntax.


Thing is, im not a programmer, it'd be the first time i port pascal to c syntax. :D Was turbo c/c++ released freely? Is there a url to it?

Share this post


Link to post

Note that if you're looking to port the Pascal to C, just use second game's code base. It's pretty close to a straight Pascal->C source. I think OLDCAT.C is a backup from after the straight port was done.

Quasar said:

I don't think Turbo Pascal was released freely later on like Turbo C/C++ was.

Turbo Pascal 5.5 has been. Doesn't look like the later versions were though.

Share this post


Link to post

Ok, I was able to find a copy of Borland 3.x, and I compiled Hovertank, and it compiles and runs, but when I compiled Catacomb 3d, it compiles, but when executing the program it gives this error:

MM_Getptr: Out of memory!

Share this post


Link to post
J.B.R said:

YEAH!!!
Finally someone can make a source port for these games, which is a good thing because it removes the need to use DosBox.
And not only that, it could be possible to make mods for them.


There's already mods for Hovertank.

http://www.moddb.com/mods/demon-hunter

Requires the game to work. With the source it could be a standalone game.

Share this post


Link to post

Any way of compiling Catacomb 3D without the supplied OBJ files in the source?

Share this post


Link to post
doomgargoyle said:

but when I compiled Catacomb 3d, it compiles, but when executing the program it gives this error:

Probably your data files not being the correct version to match the source release. I can confirm that the source works just fine with the id Anthology data.

Rohit_N said:

Any way of compiling Catacomb 3D without the supplied OBJ files in the source?

Yes, but it wouldn't be of much use. The OBJ files provided are the headers for the game data and the intro screen (which tells you about your hardware). You could extract the C3D files out of the headers and remove the intro screen. To do the former you need to change a define so that it reads the external file instead of the linked data. (Look for where it reads the EGAHEAD.) Not entirely sure what good it would do you though.

Share this post


Link to post

Does the open sourcing include the Catacomb Fantasy Trilogy or just the original Catacomb 3D?

Share this post


Link to post
Solarn said:

Does the open sourcing include the Catacomb Fantasy Trilogy or just the original Catacomb 3D?

The trilogy's on there.

Share this post


Link to post
doomgargoyle said:

We need source ports!

I wouldn't hold your breath. It could be years before people figure this stuff out enough to port it anywhere, let alone start modifying it. The amount of interest is also low. These were never "big" games like Wolf3D or Doom. Most people barely remember them if they know about them at all.

Share this post


Link to post
Quasar said:

I wouldn't hold your breath. It could be years before people figure this stuff out enough to port it anywhere, let alone start modifying it. The amount of interest is also low. These were never "big" games like Wolf3D or Doom. Most people barely remember them if they know about them at all.


Then I'll start figuring it out myself! Well, at least this source release will at least put these games on people's attentions. Would you say these codebases are simpler to understand than wolf3d/doom's to the complete beginner? Any tips on how/where to start learning?

Share this post


Link to post
doomgargoyle said:

Then I'll start figuring it out myself! Well, at least this source release will at least put these games on people's attentions. Would you say these codebases are simpler to understand than wolf3d/doom's to the complete beginner? Any tips on how/where to start learning?

Absolutely not, because they are mired very deeply in 16-bit real mode architecture with x86 assembly both inline and out, and use highly tuned approaches that only work under DOS on the bare metal.

This is not a "my first program" job, for sure, unless you just finished cutting your teeth on Abrash's Black Book and consider Dr. Dobbs to be bathroom reading material.

Share this post


Link to post
Quasar said:

These were never "big" games like Wolf3D or Doom.


I'd say Doom or Quake instead of Wolf3D or Doom. As far as the source port scene goes at least. Plenty of choices with Doom or Quake, but the Wolf3D port scene is mostly vanilla or Wolf4SDL with some copy-pasted code to make custom executables for a particular mod, and that's all.


Good thing there's ECWolf. (Which actually may end up being our best hope for a port of Hovertank 3D and the Catacomb games.)

Share this post


Link to post
Quasar said:

Absolutely not, because they are mired very deeply in 16-bit real mode architecture with x86 assembly both inline and out, and use highly tuned approaches that only work under DOS on the bare metal.

This is not a "my first program" job, for sure, unless you just finished cutting your teeth on Abrash's Black Book and consider Dr. Dobbs to be bathroom reading material.


ok, what about the first pascal Catacomb game?

Share this post


Link to post
Gez said:

I'd say Doom or Quake instead of Wolf3D or Doom. As far as the source port scene goes at least. Plenty of choices with Doom or Quake, but the Wolf3D port scene is mostly vanilla or Wolf4SDL with some copy-pasted code to make custom executables for a particular mod, and that's all.


Good thing there's ECWolf. (Which actually may end up being our best hope for a port of Hovertank 3D and the Catacomb games.)


Yes, ECWolf is probably the only port that support wolf3d engine and the like era games these days.

Share this post


Link to post

Im trying to figure out the source code for Catacomb II , known too as The Catacomb, since it looks like the simplest codebase for begginers. The code mentions a level editor. Could any coder here please point out if thereĀ“s a functioning level editor in the codebase ?

Share this post


Link to post

Something funny i found from the Hovertank 3D code:

NOTICE TO ANYONE READING THIS:

This is the last gasp of our old routines! Everything is being rewritten
from scratch to work with new graphic modes and utilities. This code
stinks!

Share this post


Link to post

Well isn't it nice that we'll get Hovertank source ports soon?

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now