Difference between revisions of "Hacker's Guide"

From OdaWiki
(Style and guidelines)
Line 32: Line 32:
  
 
See the [[Coding_standard|coding standard]]
 
See the [[Coding_standard|coding standard]]
 +
 +
== Subdystems, APIs, and Interfaces ==
  
 
== Networking ==
 
== Networking ==

Revision as of 17:23, 20 June 2007

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

Subdystems, 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.