Big question: Making a barebones Quake3.exe

Hi all, forums look really cool.

I had a question regarding editing the Demo quake3 exe. I own a copy of Quake, but there are just too many files to screw around with with the full version, I would rather start with a barebones version with one .pak file.
I want to be able to make a standalone exe file when the game loads has two menu options. That’s SETUP and LOAD MAP. I want to do this because I want to build a custom game from that. Everything will stay the same except for the menu.

On top of that, I would like to load in the John Carmack player model(the ponytail one) into the demo version of Quake and have that model be the only selectable model in the player select menu. After all that, I would like to press LOAD MAP and it automatically spawns you into a custom map of my choice that I choose, whether it’s q3dm1 or some custom map I made in GTKRadiant.

I don’t have a lot of experience with the engine code, so I’m asking for a big favor. How do I even begin to do something like this? I managed to compile ioquake for my system no problem with CYGWIN but how do I begin with this process?
Any help is appreciated

Thank you in advance

One thing to note is that that from a licensing perspective, you would probably need special permission from ID to legally distribute any ID assets (demo or retail) with your standalone game. If this is an issue you might want to look into using some other project (maybe something like OpenArena) as a base for your game instead of Quake 3.

1 Like

Thanks for the reply. No I’m not playing to release anything for commerical property. I just want to see if it can be done. What source code do I begin to test and what do I even do? I’ll start tinkering myself, if anyone has any idea, please let me know

I would recommend starting with the regular non-demo Quake 3 paks, so you can use the standard game (vm) code. You can always unzip them and strip out unnecessary stuff later.

You can edit the UI code located in to make the menu changes you described. When you compile ioquake3 it will produce vm and dll files that you can copy into your ioquake3 installation baseq3 directory.