I'm not a very experienced programmer, I've done some basic classes in Java and python, but I'd like to be able to do some modifications to the GZDoom source. Where would I look if I wanted to change the cheat codes and what the startup screen says?
Also, what is the difference between GZDoom SVN versions and the 'normal' GZDoom versions?
GZDoom source
Moderator: Graf Zahl
- Janitor
- Persecution Complex
- Posts: 123
- Joined: Sun Jul 08, 2007 17:16
- Location: Not in Kansas anymore
- Nash
- Developer
- Posts: 1226
- Joined: Sun Sep 25, 2005 1:49
- Location: Kuala Lumpur, Malaysia
- Contact:
Cheats - st_stuff.cpp, m_cheat.cpp
Startup screen - d_main.cpp
You might want to use an IDE like MS Visual C++ or something similar as their search features saves you a lot of time and trouble when you're trying to look for something in the source.
SVN GZDoom versions are up to date with SVN ZDoom versions - and a SHITLOAD has changed between GZDoom 1.1.4 and the SVN version.
As an example, as of recently, all actors have been exported out of the EXE to DECORATE. That alone is a very BIG change.
The SBARINFO in the SVN GZDoom is also updated to the latest version which allows height 0 and fullscreen offsets.
That's just a generic comparison. There are lots of other internal changes to the way the engine does things... so code-wise, it has changed a lot.
Startup screen - d_main.cpp
You might want to use an IDE like MS Visual C++ or something similar as their search features saves you a lot of time and trouble when you're trying to look for something in the source.
SVN GZDoom versions are up to date with SVN ZDoom versions - and a SHITLOAD has changed between GZDoom 1.1.4 and the SVN version.
As an example, as of recently, all actors have been exported out of the EXE to DECORATE. That alone is a very BIG change.
The SBARINFO in the SVN GZDoom is also updated to the latest version which allows height 0 and fullscreen offsets.
That's just a generic comparison. There are lots of other internal changes to the way the engine does things... so code-wise, it has changed a lot.
- Gez
- Developer
- Posts: 1399
- Joined: Mon Oct 22, 2007 16:47
http://www.doomworld.com/vb/doom-editin ... om-source/
Note: for the Freedoom thing, you don't need to bother anymore since it's in GZDoom r151 already.
Note: for the Freedoom thing, you don't need to bother anymore since it's in GZDoom r151 already.

- Gez
- Developer
- Posts: 1399
- Joined: Mon Oct 22, 2007 16:47
Read this:
http://zdoom.org/wiki/Subversion_repository
It's for ZDoom, sure, but you need to be able to compile ZDoom before being able to compile GZDoom -- especially given how some files are missing from GZDoom's directory right now and must be copied from ZDoom.
After you've downloaded ZDoom's trunk directory as explained on the wiki, get GZDoom's own. You get it in the same way as you got ZDoom's, but the URL for the checkout is different: http://mancubus.net/svn/hosted/gzdoom/trunk/
Then:
1. Copy src/wrappers.asm, src/x86.h, src/x86.cpp, and the full content (except for those .svn subdirectories) of both src/asm_ia32 and src/asm_x86_64 from ZDoom to GZDoom.
2. Save glext.h and wglext.h in src/gl
Now that you have that, go back to reading the wiki:
http://zdoom.org/wiki/Compile_ZDoom_on_Windows
http://zdoom.org/wiki/Compile_ZDoom_on_Linux
As you can see, you'll need to install a lot of things.
But it's not over yet! Once you've setup all the libraries, compilers, IDEs and stuff with their proper directory path configuration, you need to do a bit more work. If you're using MSVC express, open gzdoom.sln but you have to edit the project's dependencies. Check gdtoa (it's unchecked).
Now you can hit generate project, and check whether you've done anything wrong. If it compiles and you get a gzdoomd.exe file that work (by default it's a debug build you make), you can change the project's configuration to make a release build instead; and you can also start tinkering with the code, knowing that if it doesn't compile afterwards it'll be something you did rather than your IDE configuration.
http://zdoom.org/wiki/Subversion_repository
It's for ZDoom, sure, but you need to be able to compile ZDoom before being able to compile GZDoom -- especially given how some files are missing from GZDoom's directory right now and must be copied from ZDoom.
After you've downloaded ZDoom's trunk directory as explained on the wiki, get GZDoom's own. You get it in the same way as you got ZDoom's, but the URL for the checkout is different: http://mancubus.net/svn/hosted/gzdoom/trunk/
Then:
1. Copy src/wrappers.asm, src/x86.h, src/x86.cpp, and the full content (except for those .svn subdirectories) of both src/asm_ia32 and src/asm_x86_64 from ZDoom to GZDoom.
2. Save glext.h and wglext.h in src/gl
Now that you have that, go back to reading the wiki:
http://zdoom.org/wiki/Compile_ZDoom_on_Windows
http://zdoom.org/wiki/Compile_ZDoom_on_Linux
As you can see, you'll need to install a lot of things.
But it's not over yet! Once you've setup all the libraries, compilers, IDEs and stuff with their proper directory path configuration, you need to do a bit more work. If you're using MSVC express, open gzdoom.sln but you have to edit the project's dependencies. Check gdtoa (it's unchecked).
Now you can hit generate project, and check whether you've done anything wrong. If it compiles and you get a gzdoomd.exe file that work (by default it's a debug build you make), you can change the project's configuration to make a release build instead; and you can also start tinkering with the code, knowing that if it doesn't compile afterwards it'll be something you did rather than your IDE configuration.