Quake C documentation

Discuss programming in the QuakeC language.
Post Reply

What documentation do you use while coding Quake C?

none, I remember it all
3
25%
Quake Specs
1
8%
Quake Reference Manual
1
8%
I have my own cheatsheet
1
8%
I grep Quake C sources
4
33%
I copy&paste, so I dont need any :)
2
17%
 
Total votes: 12

daemonicky
Posts: 185
Joined: Wed Apr 13, 2011 1:34 pm

Quake C documentation

Post by daemonicky »

1. There is Quake Reference Manual http://www.google.com/search?q=darkgrue ... nce+manual .
2. There is Quake Specs documentation http://www.gamers.org/dEngine/quake/spe ... c-menu.htm . 3. There is google or google code search http://forums.inside3d.com/viewtopic.php?t=3318 to get examples.
4. There is open source quake mods archive http://quake-1.com/quakec-gallery/ by Baker

If there is some other kind of documentation, would you be so kind and add it? Thank you :) .

:?: Which kind documentation You find most efficient?

:?: Is there some documentation for Quake C in similar form to this one http://ericdives.com/UT2004-UnCodex/engine/volume.html ?

EDIT: added 3., 4.
Last edited by daemonicky on Tue May 17, 2011 9:41 pm, edited 2 times in total.
Baker
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Re: Quake C documentation

Post by Baker »

daemonicky wrote: There is Quake Specs documentation http://www.gamers.org/dEngine/quake/spe ... c-menu.htm .
I largely use just that.
The night is young. How else can I annoy the world before sunsrise? 8) Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
daemonicky
Posts: 185
Joined: Wed Apr 13, 2011 1:34 pm

Re: Quake C documentation

Post by daemonicky »

Baker wrote:
daemonicky wrote: There is Quake Specs documentation http://www.gamers.org/dEngine/quake/spe ... c-menu.htm .
I largely use just that.
You can also use google search or google code search http://forums.inside3d.com/viewtopic.php?t=3318 to get examples.
Baker
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Re: Quake C documentation

Post by Baker »

daemonicky wrote:You can also use google search or google code search http://forums.inside3d.com/viewtopic.php?t=3318 to get examples.
I made this little depot to store open source QuakeC mods with code that might potentially interest me:

http://quake-1.com/quakec-gallery/
The night is young. How else can I annoy the world before sunsrise? 8) Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
Nahuel
Posts: 495
Joined: Wed Jan 12, 2011 8:42 pm
Location: mar del plata

Re: Quake C documentation

Post by Nahuel »

Baker wrote:
daemonicky wrote:You can also use google search or google code search http://forums.inside3d.com/viewtopic.php?t=3318 to get examples.
I made this little depot to store open source QuakeC mods with code that might potentially interest me:

http://quake-1.com/quakec-gallery/
:shock: :shock:
THANKS BAKER!!!
This is gold for noobs like me!
hi, I am nahuel, I love quake and qc.
Karatorian
Posts: 31
Joined: Tue Aug 17, 2010 4:26 am
Location: Rindge, NH, USA
Contact:

Missing Option

Post by Karatorian »

What, there's no option for "Read Engine Source Code"? That's what I use. Well, most of the time I use a mix of things (usually whatever Google brings up). However, whenever I really need to know how things work, I use the source.
leileilol
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Post by leileilol »

I never used any docs. I learned by trial and error, and what I know is in my cerebral cortex.
i should not be here
ceriux
Posts: 2230
Joined: Sat Sep 06, 2008 3:30 pm
Location: Indiana, USA

Post by ceriux »

i use a mix of everything. although i will say i learn better if i have someone sit down and go through it with me. usually someone with a lot of patience cause i sometimes need a lot of explanations. so i use a mix of tutorials, peoples help, and reading through a lot of code. definitions for qc helps a lot too.
r00k
Posts: 1111
Joined: Sat Nov 13, 2004 10:39 pm

Post by r00k »

It helps if you have previous experience with another language. Either basic, pascal, C, or even something like javascript. The syntax is pretty easy. I started learning it though, before the source code was released so, docs were limited and there was a lot of guess-work about the inner workings of the Engine.

The main trouble I had in the early days was learning the flow of the program. There was always this dark cloud of uncertainty when things got executed. Specifically around the client.qc file.
It does help to pick up a mod that is already created that works and tinker with it for test; instead of starting off scratch. Once you learn the requirements for the client/server scheme and feel adept with the syntax and quirks, then you can start from scratch and focus on a new mod.
It also helps if you plan on making a mod to design the game on "paper", (notepad), get all your details and break down every aspect first. Not only is this easy to do, (you are writing pseudo code in english), it also keeps you motivated. As you do code the mod, limitations will define the end result.

I wrote a BBS door in the early 90s in Pascal, which seemed easier at the time, though it was my first time coding in pascal, the compiler let you execute the program and trace through the code so you saw your code line by line being executed, and where it would crash. QuakeC should have something like this built into the engine. If QuakeC coding was akin to programming on an 8-bit computer, (all code typed into the console), then i think there would be more modders, or atleast something fun to see ;)
ceriux
Posts: 2230
Joined: Sat Sep 06, 2008 3:30 pm
Location: Indiana, USA

Post by ceriux »

cant you just do that yourself kind of? just bprint each step of your code?
daemonicky
Posts: 185
Joined: Wed Apr 13, 2011 1:34 pm

Post by daemonicky »

r00k Other would be stack trace. Or stack trace on demand.
ceriux wrote:cant you just do that yourself kind of? just bprint each step of your code?
Stepping is not equivalent to bprint.
- There can be too much bprints to find what you want, stepping has always the corrupted path.
- There can be too steps to find what you want. But you should always try to make simplest error case.

Also, stack trace migh work better sometimes than bprint.
- Stack trace will most likely be dumped to a text file, so you can review it later.
- Console has limit on how much bprints it can show, they can be missing.
- There can be too much bprints to find what you want, stacktrace has always the corrupted path.

You could do asserts with bprints.

Each has its own pros and cons. Bprint usually works fine for me :) .
Spike
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK
Contact:

Post by Spike »

if the buggy code is resulting in an abort, bprint will not actually print. the same is true on dedicated servers.
using dprint instead, with developer 1 is fully reliable (developer cvar not needed for qw). -condebug or some such will always log it correctly.
most engines give you a stack trace with the error or objerror builtins.
some engines will start printing individual instructions when the traceon/traceoff builts are used.

singlestepping can be heavenly when it comes to understanding the flow of code, its much simpler than adding extra calls all over the place.
Post Reply