Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Arno

CatacombGL - source port for the Catacomb 3D games

Recommended Posts

@NY00123: thanks for the detailed explanation, that was quite helpful!

I've now spotted the function BEL_ST_ConvertEGASignalToEGAEntry in the Reflection Keen source code, which you made to do this conversion from the input value to the EGA color that can be expected in the overscan border.

 

After some searching I also found a rather rare video on Twitter of Catacomb Abyss on an actual CRT monitor. It demonstrates that indeed the border flashes in a dark red color:

TsoizKd.png

 

Nice! I will fix the border color in CatacombGL.

Share this post


Link to post
Spoiler

 

prm.png.e84a445a401c97d42bdd000b83e7a355.png

 

 

 

So finally, i had really much Fun with the Port and my Map is done.
I am pretty new to mapping, but since i had a Temple like Map with Research Side, i thought it would be Fun to implement a little Honor in the Texture posted (way) before (that can be found pretty easy in the Map) and another secret with a Specimen, found by a Dr. that was researching ancient Scrolls of some kind of Mage.

I hope you don't mind :P

Share this post


Link to post

@Azuris Congratulations with the release of your map!

No worries, I very much appreciate your secret tribute to Catacomb 3D and the funny reference to a certain Dr. doing research into ancient mysteries. I will check it out!

Share this post


Link to post

@Dinoaur: thanks for your interest. After the most recent release I started development on the ability to load saved games from the original DOS format. That's quite some work. However, currently development is paused, due to me and my family moving to a different town. I hope to resume development on the source port in the summer.

Share this post


Link to post

CatacombGL 0.5.4 is released!

This source port has been Windows-only since its first alpha release in 2018. However, version 0.5.4 marks the very first release with native Linux support.

Much to my own surprise, in October I happened to receive a huge pull request which brought native Linux support to CatacombGL. This pull request was created by a developer who goes by the name GoGoOtaku and who obviously deserves a lot of credit for this. I had no prior experience with Linux myself, so it took me some time to build and run the source port on Ubuntu. Also @NY00123 did the same and provided helpful feedback. Pretty soon others managed to run the source port on Linux Mint and RaspberryPi. What a ride!

 

stTE9HUh.png

Share this post


Link to post

@Arno Congrats on the new multi-platform version! This is a big milestone, indeed.

 

Also, out of curiosity, after this version release, do you plan on adding a feature that allows creation of mods (no Catacomb 3D/Trilogy mods exist as of now) or two? Or perhaps a few more gameplay features to add replayability?

Edited by taufan99

Share this post


Link to post
6 hours ago, Arno said:

CatacombGL 0.5.4 is released!

This source port has been Windows-only since its first alpha release in 2018. However, version 0.5.4 marks the very first release with native Linux support.

Much to my own surprise, in October I happened to receive a huge pull request which brought native Linux support to CatacombGL. This pull request was created by a developer who goes by the name GoGoOtaku and who obviously deserves a lot of credit for this. I had no prior experience with Linux myself, so it took me some time to build and run the source port on Ubuntu. Also @NY00123 did the same and provided helpful feedback. Pretty soon others managed to run the source port on Linux Mint and RaspberryPi. What a ride!

 

stTE9HUh.png

 

Now that Windows and Linux are supported, it probably won't be long before someone adds Mac support too.

Share this post


Link to post
6 hours ago, Master O said:

 

Now that Windows and Linux are supported, it probably won't be long before someone adds Mac support too.

Might take some extra elbow work since OpenGL is depreciated and Vulkan is non-existent (albeit with nice wrappers to convert it to Metal), but maybe some knight in shining armor will jump on it...

Share this post


Link to post
On 12/30/2022 at 11:51 PM, taufan99 said:

Also, out of curiosity, after this version release, do you plan on adding a feature that allows creation of mods (no Catacomb 3D/Trilogy mods exist as of now) or two? Or perhaps a few more gameplay features to add replayability?

Good question!

Unfortunately, the creation of mods for the Catacomb 3D games can be a rather complicated process for various reasons. There's no PWAD-like mechanism. That means it's not possible to ship just a simple custom level with a couple of custom textures; the whole game must be shipped with it. The game data is stored in the GAMEMAPS file (levels), EGAGRAPH file (textures, sprites, HUD graphics, location names) and in the DOS executable (various offset tables and Dehacked-like info). AFAIK, there's only one level editor that supports the Catacomb 3D games: WDC by Adam Biser. The EGAGRAPH file can be modified with a tool called UGrab, by K1n9_Duk3. Unfortunately, modifying the GAMEMAPS or EGAGRAPH files has the consequence that also certain offset tables within the DOS executable must be updated. Which means that any source port that wants to support mods needs to do something smart there. Either by directly reading the offsets from the DOS executable, or by requesting the mod author to provide some sort of seperate definition file.
So in short, there are some challenges surrounding mod support.

 

With that said, just last week I noticed the existence of an actual Catacomb 3D mod: P.D. - Peter Dreemurr. It's the only one that I'm aware off, but it's still pretty cool that someone took the challenge.

 

On 12/31/2022 at 4:51 AM, Master O said:

 

Now that Windows and Linux are supported, it probably won't be long before someone adds Mac support too.

Most of the source code has indeed become OS-independent, due to the use of CMake, SDL2 and standard C++ libraries. However, as @Kinsie pointed out, OpenGL could be a hurdle for Mac support.

Another hurdle is that I don't have access to Mac hardware, so I wouldn't be able to test or maintain it in case someone would actually manage to add support for Mac. By comparison, in case of Linux it was surprisingly easy to create a bootable USB stick with Ubuntu.

Edited by Arno : Fix link to UGrab

Share this post


Link to post

Which OpenGL version are you targeting? EDGE-Classic uses OGL 1.3 and it still works fine on x86/M1 Macs.

Share this post


Link to post
22 hours ago, Arno said:

CatacombGL 0.5.4 is released!

This source port has been Windows-only since its first alpha release in 2018. However, version 0.5.4 marks the very first release with native Linux support.

Much to my own surprise, in October I happened to receive a huge pull request which brought native Linux support to CatacombGL. This pull request was created by a developer who goes by the name GoGoOtaku and who obviously deserves a lot of credit for this. I had no prior experience with Linux myself, so it took me some time to build and run the source port on Ubuntu. Also @NY00123 did the same and provided helpful feedback. Pretty soon others managed to run the source port on Linux Mint and RaspberryPi. What a ride!

 

stTE9HUh.png

 

A month ago i bough a small Veriton n4640g for my Living Room and i am runing it with Linux Mint, so this will be a nice Addition.

1 hour ago, Arno said:

Good question!

....the whole game must be shipped with it.

 

 

Hmm i am not aware about the legal Status of the Source Code, as the Software changed so many Hands.
Is it open for People or is it closed?

If it is open, a "Free Tomb" Version  with own Graphics could be made and used as a starting Point for Modifications.

Share this post


Link to post
1 hour ago, Azuris said:

 

A month ago i bough a small Veriton n4640g for my Living Room and i am runing it with Linux Mint, so this will be a nice Addition.

 

Hmm i am not aware about the legal Status of the Source Code, as the Software changed so many Hands.
Is it open for People or is it closed?

If it is open, a "Free Tomb" Version  with own Graphics could be made and used as a starting Point for Modifications.

 

Per https://github.com/ArnoAnsems/CatacombGL#readme, the Catacombs Source Code is GPLv3.

 

Share this post


Link to post
14 hours ago, dasho said:

Which OpenGL version are you targeting? EDGE-Classic uses OGL 1.3 and it still works fine on x86/M1 Macs.

CatacombGL uses pretty basic OpenGL functionality. Some time ago @taufan99 showed me a screenshot of the source port running on OpenGL 1.4 hardware. Apparently MacOS can still handle OpenGL 4.1, so theoretically someone could make it work. The problem is that Apple considers OpenGL to be "deprecated". That means that if a future MacOS update would accidently break OpenGL functionality, they will not fix it. Apple could even decide to actively remove it.

 

13 hours ago, Azuris said:

 

A month ago i bough a small Veriton n4640g for my Living Room and i am runing it with Linux Mint, so this will be a nice Addition.

 

Hmm i am not aware about the legal Status of the Source Code, as the Software changed so many Hands.
Is it open for People or is it closed?

If it is open, a "Free Tomb" Version  with own Graphics could be made and used as a starting Point for Modifications.

Yes, as @Master O pointed out, the source code of all the Catacomb 3D games are published under an open source license, so it would be totally legal to publish freedoom-like Catacomb 3D game data in combination with a self-built executable.

I don't think that's an ideal solution, though, as it limits creativity. For example, placing the original Catacomb monsters in a newly textured level would not be possible.

If I would have unlimited development time to invest, I would probably go for a PWAD-like solution. A bit like GZDoom or ECWolf, where a mod author can create a seperate PK3 file with additional levels and images.

Share this post


Link to post
19 hours ago, Arno said:

 

 3D games: WDC by Adam Biser. The EGAGRAPH file can be modified with a tool called UGrab, by K1n9_Duk3. Unfortunately, modifying the GAMEMAPS or EGAGRAPH files

 

Wanted to try it out, unfortunately it says that files are can't be open (EGADICT.XXX), but these are missing overall in the Folders from Gog.
In the Mod you posted, they are included and i can open the Egagraph there.

Guessing from there, it should be doable to exchange the Graphics (166 Sprites, Symbols, Numbers etc. included).

 

Share this post


Link to post
1 minute ago, Azuris said:

Wanted to try it out, unfortunately it says that files are can't be open (EGADICT.XXX), but these are missing overall in the Folders from Gog.

IIRC the EGADICT etc. files in the original DOS releases of these games were shipped as internal data inside the .EXE rather than separate files so you'd need to know what portion of the EXE they are and extract them if the tool wants an external one.

 

https://moddingwiki.shikadi.net/wiki/EGAGraph_Format

Share this post


Link to post
47 minutes ago, Azuris said:

 

Wanted to try it out, unfortunately it says that files are can't be open (EGADICT.XXX), but these are missing overall in the Folders from Gog.
In the Mod you posted, they are included and i can open the Egagraph there.

Guessing from there, it should be doable to exchange the Graphics (166 Sprites, Symbols, Numbers etc. included).

 

What @ETTiNGRiNDER stated is correct, Catacomb 3D has the EGAHEAD and EGADICT data stored internally in the CAT3D executable. It's still possible to open the EGAGRAPH.C3D file with UGrab, but you have to provide the original CAT3D executable and a .def file from the ModId tool. The latter is needed so that UGrab knows the location of the required data inside the executable. This post from the PCKF forum contains a bit more info.

 

 

Share this post


Link to post
7 hours ago, Arno said:

CatacombGL uses pretty basic OpenGL functionality. Some time ago @taufan99 showed me a screenshot of the source port running on OpenGL 1.4 hardware. Apparently MacOS can still handle OpenGL 4.1, so theoretically someone could make it work. The problem is that Apple considers OpenGL to be "deprecated". That means that if a future MacOS update would accidently break OpenGL functionality, they will not fix it. Apple could even decide to actively remove it.

 

That's a valid worry....I've thought about a future where drivers will drop the compatibility profiles that make our 1.x stuff currently possible. One future path for Mac could possibly be Zink over MoltenVK that Mesa provides. We've had a user run EC successfully via Direct3D 12 using Mesa-D3D12, so perhaps that would be a good stopgap solution while transitioning to a more 'future-proof' (as much as that is ever possible) renderer. I'll be the first to admit that I know extremely little about 3D rendering, but I figure if I ever have to bite the bullet and learn the modern rendering pipeline, I might as well do it for Vulkan instead of modern OpenGL for longevity's sake.

Share this post


Link to post

Spaeking of Vulkan, I think we can consult to @intacowetrust about it. He hasn't been around for a while after the v1.0 release of PsyDoom, but it might be useful for this project to an extent.

Share this post


Link to post

huge fan of software devs that port their stuff to Linux, which reminds me I should really get the Windows port of Neapolitan Doom going ;w;

Share this post


Link to post
3 hours ago, dasho said:

 

That's a valid worry....I've thought about a future where drivers will drop the compatibility profiles that make our 1.x stuff currently possible. One future path for Mac could possibly be Zink over MoltenVK that Mesa provides. We've had a user run EC successfully via Direct3D 12 using Mesa-D3D12, so perhaps that would be a good stopgap solution while transitioning to a more 'future-proof' (as much as that is ever possible) renderer. I'll be the first to admit that I know extremely little about 3D rendering, but I figure if I ever have to bite the bullet and learn the modern rendering pipeline, I might as well do it for Vulkan instead of modern OpenGL for longevity's sake.

I feel the same way. I made a conscious decision back in 2015 to target OpenGL 1.x/2.x. I assumed that players would expect Catacomb Abyss to be playable on older budget hardware and wanted to facilitate that. Also, the simple geometry in the game doesn't require a modern rendering pipeline. If support for the early OpenGL API ever gets dropped, Vulkan would also be my first pick as a replacement.

 

2 hours ago, taufan99 said:

Spaeking of Vulkan, I think we can consult to @intacowetrust about it. He hasn't been around for a while after the v1.0 release of PsyDoom, but it might be useful for this project to an extent.

Vulkan is interesting technology, but currently there is no short term need to get it implemented. At this moment many systems that support Vulkan also support OpenGL 1.x. However, as the years pass and technology shifts, it wouldn't surprise me if some day Vulkan in CatacombGL becomes a reality.

 

4 minutes ago, BBQgiraffe said:

huge fan of software devs that port their stuff to Linux, which reminds me I should really get the Windows port of Neapolitan Doom going ;w;

As always, thanks for your support!

To be honest, I somehow missed that you have an actual Doom source port in the works. Interesting! Looking into it now.

Share this post


Link to post
1 minute ago, Arno said:

To be honest, I somehow missed that you have an actual Doom source port in the works. Interesting! Looking into it now.

lol yeah, to be fair it's a pretty small port and I'm more known for OpenN3D

Share this post


Link to post
On 1/1/2023 at 11:11 AM, taufan99 said:

Spaeking of Vulkan, I think we can consult to @intacowetrust about it. He hasn't been around for a while after the v1.0 release of PsyDoom, but it might be useful for this project to an extent.

 

I'm still here :) I've just been taking a bit of a break from Doom related stuff to work on other projects. But yeah, if you ever have any question regarding PsyDoom's use of Vulkan then I'd be happy to answer them.

Share this post


Link to post

Hey @intacowetrust! I must say this is impressive! I was curious to play this game for awhile and finally got the bundle on GOG this week. I was also curious if there was a source port for this collection and saw the awesome work you did! However I am struggle as to how to get this to run. Is there anyway you or anyone that got this to work give me a step by step installation guide on how to do it? Thanks. :)

Share this post


Link to post
2 hours ago, JustinJTime said:

Hey @intacowetrust! I must say this is impressive! I was curious to play this game for awhile and finally got the bundle on GOG this week. I was also curious if there was a source port for this collection and saw the awesome work you did! However I am struggle as to how to get this to run. Is there anyway you or anyone that got this to work give me a step by step installation guide on how to do it? Thanks. :)

 

https://github.com/ArnoAnsems/CatacombGL#how-to-install is a good place to start.

 

Share this post


Link to post
5 hours ago, JustinJTime said:

Hey @intacowetrust! I must say this is impressive! I was curious to play this game for awhile and finally got the bundle on GOG this week. I was also curious if there was a source port for this collection and saw the awesome work you did! However I am struggle as to how to get this to run. Is there anyway you or anyone that got this to work give me a step by step installation guide on how to do it? Thanks. :)

Thank you! I suspect you tagged @intacowetrust by accident, since he's the author of PsyDoom.

The instructions as shared by @Master O is indeed a good place to start. If you're on Windows and you have the bundle from GOG installed, then the source port should be able to auto-detect the game files.

Share this post


Link to post
On 1/1/2023 at 1:53 AM, Arno said:

With that said, just last week I noticed the existence of an actual Catacomb 3D mod: P.D. - Peter Dreemurr. It's the only one that I'm aware off, but it's still pretty cool that someone took the challenge.

Bump after over a year, but do you think you can add support for the P.D. mods without having to manually replace the original Catacomb 3D/Trilogy files?

Share this post


Link to post
4 hours ago, taufan99 said:

Bump after over a year, but do you think you can add support for the P.D. mods without having to manually replace the original Catacomb 3D/Trilogy files?

It's indeed been over a year. Time sure flies. I have to admit that I haven't worked on the source port since. That's mainly due to RL stuff, but also because I wanted to dive into some side projects. I'm currently looking into improving the Catacomb related articles on Wikipedia.

 

It's definitly possible to add support for the P.D. mods in the future, and I think it would be fun to have it included. It's on my todo list for when I resume work on the source port.

Share this post


Link to post
On 4/13/2024 at 10:27 PM, Arno said:

It's indeed been over a year. Time sure flies. I have to admit that I haven't worked on the source port since. That's mainly due to RL stuff, but also because I wanted to dive into some side projects. I'm currently looking into improving the Catacomb related articles on Wikipedia.

 

It's definitly possible to add support for the P.D. mods in the future, and I think it would be fun to have it included. It's on my todo list for when I resume work on the source port.

All okay. Same goes for me and everyone else here, in fact. Just take your time.

 

While we're at it, would you consider adding an option to allow the Catacombs Trilogy to playback the unused Too Hot music file in the game data? Y'know, it's kinda lonely without in-game music there, even if it's a 16-second song with a repeated 8 bar in its entirety (lol).

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
×