Difference between revisions of "Hacker's Guide"
From OdaWiki
					 (→Style and guidelines)  | 
				|||
| Line 31: | Line 31: | ||
== Style and guidelines ==  | == Style and guidelines ==  | ||
| − | + | See [[Coding_standard]]  | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
== Networking ==  | == Networking ==  | ||
Revision as of 02:01, 27 October 2006
Contents
Getting Started
You'll want to have a look at our svn and bugs pages.
Code structure
Conventional file prefix
- am_*: automap related code
 - c_*: console related code
 - cl_*: client only code
 - d_*: game/net code
 - f_*: finale related code
 - g_*: game related code
 - hu_*: hud related code
 - i_*: system/hardware dependant code
 - m_*: ???
 - p_*: game/object related code
 - r_*: render related code
 - s_*: sound related code
 - sv_*: server only code
 - st_*: ??? (mostly hud render related code)
 - v_*: video related code
 - wi_*: intermission related code
 - z_*: memory allocation related code
 
Files of interest
- i_main.cpp: application entry point
 
Style and guidelines
See Coding_standard
Networking
Odamex uses UDP
Debugging the client on Linux
There's a problem with breakpoints and SDL under Linux. When a breakpoint pauses execution, the client keeps a lock on the mouse and keyboard (you can no longer do anything). If you kill the client process, you lose the breakpoint info. The current workaround is to call I_PauseMouse before any breakpoint you set.