Difference between revisions of "Hacker's Guide"
From OdaWiki
					 (→Subdystems, APIs, and Interfaces)  | 
				|||
| Line 33: | Line 33: | ||
See the [[Coding_standard|coding standard]]  | See the [[Coding_standard|coding standard]]  | ||
| − | ==   | + | == Subsystems, APIs, and Interfaces ==  | 
== Networking ==  | == Networking ==  | ||
Revision as of 17:23, 20 June 2007
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 the coding standard
Subsystems, APIs, and Interfaces
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.