Page 1 of 1

GZDoom source

Posted: Sun Aug 10, 2008 14:14
by Janitor
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?

Posted: Sun Aug 10, 2008 16:53
by Nash
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.

Posted: Sun Aug 10, 2008 19:18
by Gez
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. :)

Posted: Mon Aug 11, 2008 0:01
by Janitor
would eclipse be a good IDE to use for this?

Posted: Mon Aug 11, 2008 0:40
by Janitor
is there somewhere where I can get the source for r151?

Posted: Mon Aug 11, 2008 1:30
by Gez
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.

Posted: Mon Sep 01, 2008 18:15
by Rachael
Thanks, Gez, your info was quite useful. I got ZDoom r1188 and GZDoom r165 both compiled perfectly, now. :)

Next stop: Attempt... (note attempt) to make a software 32-bit renderer. (Yes, I still think it can be done!)