Insert the idTech 4 src tree conventions.

This commit is contained in:
Marco Cawthorne 2022-11-14 18:14:07 -08:00
parent 071c2ba93f
commit 59d7be34d4
Signed by: eukara
GPG key ID: CE2032F0A2882A22

View file

@ -0,0 +1,580 @@
{\rtf1\ansi\deff3\adeflang1025
{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\froman\fprq2\fcharset2 Symbol;}{\f2\fswiss\fprq2\fcharset0 Arial;}{\f3\froman\fprq2\fcharset0 Liberation Serif{\*\falt Times New Roman};}{\f4\fswiss\fprq2\fcharset0 Liberation Sans{\*\falt Arial};}{\f5\fmodern\fprq0\fcharset0 Courier New;}{\f6\fnil\fprq2\fcharset0 Noto Sans CJK SC;}{\f7\fnil\fprq2\fcharset0 Noto Sans Devanagari;}{\f8\fswiss\fprq0\fcharset128 Noto Sans Devanagari;}}
{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}
{\stylesheet{\s0\snext0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052 Normal;}
{\s1\sbasedon0\snext0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\hich\af5\loch\ilvl0\outlinelevel0\ql\nowidctlpar\ltrpar\cf0\f5\fs24\lang1033\dbch\af0 Heading 1;}
{\s2\sbasedon0\snext0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\hich\af5\loch\ilvl1\outlinelevel1\ql\nowidctlpar\li0\ri-1440\lin0\rin-1440\fi0\keepn\ltrpar\cf0\f5\fs24\lang1033\b\dbch\af0 Heading 2;}
{\*\cs15\snext15 WW8Num1z0;}
{\*\cs16\snext16 WW8Num1z1;}
{\*\cs17\snext17 WW8Num1z2;}
{\*\cs18\snext18 WW8Num1z3;}
{\*\cs19\snext19 WW8Num1z4;}
{\*\cs20\snext20 WW8Num1z5;}
{\*\cs21\snext21 WW8Num1z6;}
{\*\cs22\snext22 WW8Num1z7;}
{\*\cs23\snext23 WW8Num1z8;}
{\*\cs24\snext24 Default Paragraph Font;}
{\s25\sbasedon0\snext26\rtlch\af7\afs28\alang1025 \ltrch\lang1033\hich\af4\loch\ql\nowidctlpar\sb240\sa120\keepn\ltrpar\cf0\f4\fs28\lang1033\dbch\af6 Heading;}
{\s26\sbasedon0\snext26\rtlch\af5\afs24\alang1025\ab \ltrch\lang1033\hich\af5\loch\ql\nowidctlpar\li0\ri-1440\lin0\rin-1440\fi0\ltrpar\cf0\f5\fs24\lang1033\b\dbch\af0 Text Body;}
{\s27\sbasedon26\snext27\rtlch\af8\afs24\alang1025\ab \ltrch\lang1033\hich\af5\loch\ql\nowidctlpar\li0\ri-1440\lin0\rin-1440\fi0\ltrpar\cf0\f5\fs24\lang1033\b\dbch\af0 List;}
{\s28\sbasedon0\snext28\rtlch\af8\afs24\alang1025\ai \ltrch\lang1033\hich\af5\loch\ql\nowidctlpar\sb120\sa120\noline\ltrpar\cf0\f5\fs24\lang1033\i\dbch\af0 Caption;}
{\s29\sbasedon0\snext29\rtlch\af8\afs24\alang255 \ltrch\lang255\langfe255\hich\af5\loch\ql\nowidctlpar\noline\ltrpar\cf0\f5\fs24\lang255\dbch\af0\langfe255 Index;}
}{\*\listtable{\list\listtemplateid1
{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow2{\leveltext \'00;}{\levelnumbers;}\fi0\li0}
{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow2{\leveltext \'00;}{\levelnumbers;}\fi0\li0}
{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow2{\leveltext \'00;}{\levelnumbers;}\fi0\li0}
{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow2{\leveltext \'00;}{\levelnumbers;}\fi0\li0}
{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow2{\leveltext \'00;}{\levelnumbers;}\fi0\li0}
{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow2{\leveltext \'00;}{\levelnumbers;}\fi0\li0}
{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow2{\leveltext \'00;}{\levelnumbers;}\fi0\li0}
{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow2{\leveltext \'00;}{\levelnumbers;}\fi0\li0}
{\listlevel\levelnfc255\leveljc0\levelstartat1\levelfollow2{\leveltext \'00;}{\levelnumbers;}\fi0\li0}\listid1}
{\list\listtemplateid2
{\listlevel\levelnfc0\leveljc0\levelstartat1\levelfollow0{\leveltext \'02\'00.;}{\levelnumbers\'01;}\fi-720\li1080}\listid2}
}{\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}{\listoverride\listid2\listoverridecount0\ls2}}{\*\generator LibreOffice/7.2.5.2$Linux_X86_64 LibreOffice_project/499f9727c189e6ef3471021d6132d4c694f357e5}{\info{\title GENERAL}{\author Administrator}{\creatim\yr2004\mo11\dy8\hr11\min5}{\author Jim Dose}{\revtim\yr2005\mo4\dy5\hr14\min26}{\printim\yr0\mo0\dy0\hr0\min0}}{\*\userprops}\deftab720
\hyphauto1\viewscale100
{\*\pgdsctbl
{\pgdsc0\pgdscuse451\pgwsxn12240\pghsxn15840\marglsxn1800\margrsxn1800\margtsxn1440\margbsxn1440\pgdscnxt0 Default Page Style;}}
\formshade\paperh15840\paperw12240\margl1800\margr1800\margt1440\margb1440\sectd\sbknone\pgndec\sftnnar\saftnnrlc\sectunlocked1\pgwsxn12240\pghsxn15840\marglsxn1800\margrsxn1800\margtsxn1440\margbsxn1440\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc
{\*\ftnsep\chftnsep}\pgndec\pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\tx8550\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\afs28\ab \ltrch\loch\b\loch
GENERAL}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\afs28\ab \ltrch\loch\b\loch
-------}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\afs28\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
Use real tabs that equal 4 spaces.}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
Use typically trailing braces everywhere (if, else, functions, structures, typedefs, class definitions, etc.)}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
if ( x ) \{}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
\}}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
The else statement starts on the same line as the last closing brace.}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
if ( x ) \{}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
\} else \{\line \}}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch\b\loch
Pad parenthesized expressions with spaces}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
if ( x ) \{}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
\}}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
Instead of }
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
if (x) \{}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
\}}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
And}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
x = ( y * 0.5f );}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
Instead of}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
x = (y * 0.5f);}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch\b\loch
Use precision specification for floating point values unless there is an explicit need for a double.}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch
float f = 0.5f;}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch\b\loch
Instead of}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch
float f = 0.5;}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch
\par \pard\plain \s2\rtlch\af5\afs24\alang1025 \ltrch\lang1033\hich\af5\loch\ilvl1\outlinelevel1\ql\nowidctlpar\li0\ri-1440\lin0\rin-1440\fi0\keepn\ltrpar\cf0\f5\fs24\lang1033\b\dbch\af0\loch{\listtext\pard\plain \tab}\ls1 \li0\ri-1440\lin0\rin-1440\fi0\li0\ri-1440\lin0\rin-1440\fi0{\loch
And}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch
float f = 1.0f;}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch\b\loch
Instead of}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch
float f = 1.f;}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
Function names start with an upper case:}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
void Function( void );}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
In multi-word function names each word starts with an upper case:}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
void ThisFunctionDoesSomething( void );}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
The standard header for functions is:}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
/*}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
====================}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
FunctionName}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\dbch\af5
}{\rtlch\af5 \ltrch\loch
Description}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
====================}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
*/}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
Variable names start with a lower case character.}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
float x;}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
In multi-word variable names the first word starts with a lower case character and each successive word starts with an upper case.}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
float maxDistanceFromPlane;}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s1\rtlch\af5\afs24\alang1025 \ltrch\lang1033\hich\af5\loch\ilvl0\outlinelevel0\ql\nowidctlpar\ltrpar\cf0\f5\fs24\lang1033\dbch\af0\loch{\listtext\pard\plain \tab}\ls1 \li0\ri-1440\lin0\rin-1440\fi0\li0\ri-1440\lin0\rin-1440\fi0\keepn{\rtlch\af5\ab \ltrch\loch\b\loch
Typedef names use the same naming convention as variables, however they always end with "_t".}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
typedef int fileHandle_t;}
\par \pard\plain \s1\rtlch\af5\afs24\alang1025 \ltrch\lang1033\hich\af5\loch\ilvl0\outlinelevel0\ql\nowidctlpar\ltrpar\cf0\f5\fs24\lang1033\dbch\af0\loch{\listtext\pard\plain \tab}\ls1 \li0\ri-1440\lin0\rin-1440\fi0\li0\ri-1440\lin0\rin-1440\fi0\keepn\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s1\rtlch\af5\afs24\alang1025 \ltrch\lang1033\hich\af5\loch\ilvl0\outlinelevel0\ql\nowidctlpar\ltrpar\cf0\f5\fs24\lang1033\dbch\af0\loch{\listtext\pard\plain \tab}\ls1 \li0\ri-1440\lin0\rin-1440\fi0\li0\ri-1440\lin0\rin-1440\fi0\keepn\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s1\rtlch\af5\afs24\alang1025 \ltrch\lang1033\hich\af5\loch\ilvl0\outlinelevel0\ql\nowidctlpar\ltrpar\cf0\f5\fs24\lang1033\dbch\af0\loch{\listtext\pard\plain \tab}\ls1 \li0\ri-1440\lin0\rin-1440\fi0\li0\ri-1440\lin0\rin-1440\fi0\keepn{\rtlch\af5\ab \ltrch\loch\b\loch
Struct names use the same naming convention as variables, however they always end with "_t".}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
struct renderEntity_t;}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
Enum names use the same naming convention as variables, however they always end with "_t". The enum constants use all upper case characters. Multiple words are separated with an underscore.}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
enum contact_t \{}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
\tab CONTACT_NONE,}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
\tab CONTACT_EDGE,}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
\tab CONTACT_MODELVERTEX,}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
\tab CONTACT_TRMVERTEX}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
\};}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s1\rtlch\af5\afs24\alang1025 \ltrch\lang1033\hich\af5\loch\ilvl0\outlinelevel0\ql\nowidctlpar\ltrpar\cf0\f5\fs24\lang1033\dbch\af0\loch{\listtext\pard\plain \tab}\ls1 \li0\ri-1440\lin0\rin-1440\fi0\li0\ri-1440\lin0\rin-1440\fi0\keepn{\rtlch\af5\ab \ltrch\loch\b\loch
Names of recursive functions end with "_r"}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
void WalkBSP_r( int node );}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
Defined names use all upper case characters. Multiple words are separated with an underscore.}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
#define SIDE_FRONT\tab \tab 0}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
Use \u8216\'91const\u8217\'92 as much as possible.}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
Use:}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
const int *p;\tab \tab \tab // pointer to const int}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
int * const p;\tab \tab \tab // const pointer to int}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
const int * const p;\tab // const pointer to const int}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
Don\u8217\'92t use}{\rtlch\af5 \ltrch\loch
:}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
int const *p;}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\afs28\ab \ltrch\loch\b\loch
CLASSES}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\afs28\ab \ltrch\loch\b\loch
-------}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\afs28\ab \ltrch\loch\b\loch
\par \pard\plain \s1\rtlch\af5\afs24\alang1025 \ltrch\lang1033\hich\af5\loch\ilvl0\outlinelevel0\ql\nowidctlpar\ltrpar\cf0\f5\fs24\lang1033\dbch\af0\loch{\listtext\pard\plain \tab}\ls1 \li0\ri-1440\lin0\rin-1440\fi0\li0\ri-1440\lin0\rin-1440\fi0\keepn{\rtlch\af5\ab \ltrch\loch\b\loch
The standard header for a class is:}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\widctlpar\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\afs20 \ltrch\loch\fs20\loch
/*}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\widctlpar\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\afs20 \ltrch\loch\fs20\loch
===============================================================================}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\widctlpar\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\afs20 \ltrch\loch\fs20\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\widctlpar\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\afs20 \ltrch\loch\fs20\loch
\tab Description}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\widctlpar\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\afs20 \ltrch\loch\fs20\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\widctlpar\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\afs20 \ltrch\loch\fs20\loch
===============================================================================}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\widctlpar\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\afs20 \ltrch\loch\fs20\loch
*/}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\afs20 \ltrch\loch
\par \pard\plain \s1\rtlch\af5\afs24\alang1025 \ltrch\lang1033\hich\af5\loch\ilvl0\outlinelevel0\ql\nowidctlpar\ltrpar\cf0\f5\fs24\lang1033\dbch\af0\loch{\listtext\pard\plain \tab}\ls1 \li0\ri-1440\lin0\rin-1440\fi0\li0\ri-1440\lin0\rin-1440\fi0\keepn{\rtlch\af5\ab \ltrch\loch\b\loch
Class names start with "id" and each successive word starts with an upper case.}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
class idVec3;}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
Class variables have the same naming convention as variables.}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
class idVec3 \{}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
\tab float\tab \tab x;}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi720{\rtlch\af5 \ltrch\loch
float\tab \tab y;}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi720{\rtlch\af5 \ltrch\loch
float\tab \tab z;}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
\}}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
Class methods have the same naming convention as functions.}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
class idVec3 \{}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
\tab float\tab \tab Length( void ) const;}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
\}}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
Indent the names of class variables and class methods to make nice columns. The variable type or method return type is in the first column and the variable name or method name is in the second column.}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
class idVec3 \{}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
\tab float\tab \tab x;}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi720{\rtlch\af5 \ltrch\loch
float\tab \tab y;}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi720{\rtlch\af5 \ltrch\loch
float\tab \tab z;}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
\tab float\tab \tab Length( void ) const;}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
\tab const float *\tab ToFloatPtr( void ) const;}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
\}}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
The * of the pointer is in the first column because it improves readability when considered part of the type.}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
Ording of class variables and methods should be as follows:}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch{\listtext\pard\plain 1.\tab}\ilvl0\ls2 \li2160\ri-1440\lin2160\rin-1440\fi-720\li1080\ri-1440\lin1080\rin-1440\fi-720{\rtlch\af5 \ltrch\loch
list of friend classes}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch{\listtext\pard\plain 2.\tab}\ilvl0\ls2 \li2160\ri-1440\lin2160\rin-1440\fi-720\li1080\ri-1440\lin1080\rin-1440\fi-720{\rtlch\af5 \ltrch\loch
public variables}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch{\listtext\pard\plain 3.\tab}\ilvl0\ls2 \li2160\ri-1440\lin2160\rin-1440\fi-720\li1080\ri-1440\lin1080\rin-1440\fi-720{\rtlch\af5 \ltrch\loch
public methods}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch{\listtext\pard\plain 4.\tab}\ilvl0\ls2 \li2160\ri-1440\lin2160\rin-1440\fi-720\li1080\ri-1440\lin1080\rin-1440\fi-720{\rtlch\af5 \ltrch\loch
protected variables}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch{\listtext\pard\plain 5.\tab}\ilvl0\ls2 \li2160\ri-1440\lin2160\rin-1440\fi-720\li1080\ri-1440\lin1080\rin-1440\fi-720{\rtlch\af5 \ltrch\loch
protected methods}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch{\listtext\pard\plain 6.\tab}\ilvl0\ls2 \li2160\ri-1440\lin2160\rin-1440\fi-720\li1080\ri-1440\lin1080\rin-1440\fi-720{\rtlch\af5 \ltrch\loch
private variables}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch{\listtext\pard\plain 7.\tab}\ilvl0\ls2 \li2160\ri-1440\lin2160\rin-1440\fi-720\li1080\ri-1440\lin1080\rin-1440\fi-720{\rtlch\af5 \ltrch\loch
private methods}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
This allows the public interface to be easily found at the beginning of the class.}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
Always make class methods \u8216\'91const\u8217\'92 when they do not modify any class variables.}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
Avoid use of \u8216\'91const_cast\u8217\'92. When object is needed to be modified, but only const versions are accessible, create a function that clearly gives an editable version of the object. This keeps the control of the \u8216\'91const-ness\u8217\'92 in the hands of the object and not the user.}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
Return \u8216\'91const\u8217\'92 objects unless the general usage of the object is to change its state. For example, media objects like idDecls should be const to a majority of the code, while idEntity objects tend to have their state modified by a variety of systems, and so are ok to leave}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
non-const.}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
Function overloading should be avoided in most cases. For example, instead of:}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
\tab const idAnim *\tab GetAnim( int index ) const;}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
\tab const idAnim *\tab GetAnim( const char *name ) const;}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
\tab const idAnim *\tab GetAnim( float randomDiversity ) const;}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
Use:}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
\tab const idAnim *\tab GetAnimByIndex( int index ) const;}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
\tab const idAnim *\tab GetAnimByName( const char *name ) const;}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
\tab const idAnim *\tab GetRandomAnim( float randomDiversity ) const;}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
Explicitly named functions tend to be less prone to programmer error and inadvertent calls to functions due to wrong data types being passed in as arguments. Example:}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
Anim = GetAnim( 0 );}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
\line This could be meant as a call to get a random animation, but the compiler would interpret it as a call to get one by index.}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
Overloading functions for the sake of adding \u8216\'91const\u8217\'92 accessible function is allowable:}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
class idAnimatedEntity : public idEntity \{}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi720{\rtlch\af5 \ltrch\loch
idAnimator * \tab \tab GetAnimator( void );}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi720{\rtlch\af5 \ltrch\loch
const idAnimator * \tab GetAnimator( void ) const;}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
\};}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
In this case, a const version of GetAnimator was provided in order to allow GetAnimator to be called from const functions. Since idAnimatedEntity is normally a non-const object, this is allowable. For a media type, which is normally const, operator overloading should be avoided:}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
\line }{\rtlch\af5 \ltrch\loch
class idDeclMD5 : public idDecl \{}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi720{\rtlch\af5 \ltrch\loch
const idMD5Anim *\tab GetAnim( animHandle_t handle ) const;}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi720{\rtlch\af5 \ltrch\loch
idMD5Anim *\tab \tab GetEditableAnim( animHandle_t handle );}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
\};}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
id Studio Names}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
---------------}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\widctlpar\aspalpha{\rtlch\af5\afs20 \ltrch\loch
id<name>Dlg\~\~\~ \~\~//\~dialog class}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052{\rtlch\af5\afs20 \ltrch\loch
id<name>Ctrl\~\~\~ \~// dialog control class}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052{\rtlch\af5\afs20 \ltrch\loch
id<name>Frm\~\~ \~\~ // frame window}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052{\rtlch\af5\afs20 \ltrch\loch
id<name>View\~ \~\~ // view window}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052{\rtlch\af5\afs20 \ltrch\loch
id<name>\~\~\~\~\~\~\~\~\~// any other class}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\ab \ltrch\loch\b\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
FILE NAMES}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\afs28\ab \ltrch\loch\b\loch
---------}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5\afs28\ab \ltrch\loch\b\loch
\par \pard\plain \s26\rtlch\af5\afs24\alang1025\ab \ltrch\lang1033\hich\af5\loch\ql\nowidctlpar\li0\ri-1440\lin0\rin-1440\fi0\ltrpar\cf0\f5\fs24\lang1033\b\dbch\af0{\loch
Each class should be in a seperate source file unless it makes sense to group several smaller classes.}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5\ab \ltrch\loch\b\loch
The file name should be the same as the name of the class without the "id" prefix. (Upper/lower case is preserved.)}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
class idWinding;}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
files:}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
Winding.cpp}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
Winding.h}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s26\rtlch\af5\afs24\alang1025\ab \ltrch\lang1033\hich\af5\loch\ql\nowidctlpar\li0\ri-1440\lin0\rin-1440\fi0\ltrpar\cf0\f5\fs24\lang1033\b\dbch\af0{\loch
When a class spans across multiple files these files have a name that starts with the name of the class without "id", followed by an underscore and a subsection name.}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
class idRenderWorld;}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
files:}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
RenderWorld_load.cpp}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
RenderWorld_demo.cpp}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
RenderWorld_portals.cpp}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s26\rtlch\af5\afs24\alang1025\ab \ltrch\lang1033\hich\af5\loch\ql\nowidctlpar\li0\ri-1440\lin0\rin-1440\fi0\ltrpar\cf0\f5\fs24\lang1033\b\dbch\af0{\loch
When a class is a public virtual interface to a subsystem the public interface is implemented in a header file with the name of the class without "id". The definition of the class that implements the subsystem is placed in a header file with the name of the class without "id" and ends with "_local.h". The implementation of the subsystem is placed in a cpp file with the name of the class without "id".}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
class idRenderWorld;}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
RenderWorld.h\tab \tab \tab // public virtual idRenderWorld interface}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
RenderWorld_local.h\tab \tab // definition of class idRenderWorldLocal}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0{\rtlch\af5 \ltrch\loch
RenderWorld.cpp\tab \tab // implementation of idRenderWorldLocal}
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par \pard\plain \s0\rtlch\af5\afs24\alang1025 \ltrch\lang1033\langfe2052\hich\af5\loch\ql\nowidctlpar\ltrpar\hyphpar0\cf0\f5\fs24\lang1033\dbch\af0\langfe2052\loch\li0\ri-1440\lin0\rin-1440\fi0\rtlch\af5 \ltrch\loch
\par }