menu key is HOME
panic key is END
@note:
@todo:
@test: [things to test] [date]
@credits:
@xref:
- prefix classes with 'C' and interfaces classes 'I'
CSomeClass
ISomeInterface
- postfix structs with '_t' e.g.
SomeStruct_t
- prefix enums with 'E' e.g.
enum ESomeEnum
- thirdparty (sdk, dependencies) macroses should be uppercase e.g.
#define SOMEMACROS
- prefix own macroses with the first filename character e.g.
#define M_SOMEMATHMACROS
- all curly braces should be on it's own line
if (true)
{
while (true)
{
// something...
}
}
- the first characters of variables must be like type
bool bSomeBool; int iSomeInt; float flSomeFloat; double dbSomeDouble;
char chSomeSymbol; const char* szSomeString (std::string too);
BYTE dSomeByte; DWORD dwSomeDword; unsigned uSomeInt + type (e.g. unsigned long ulOffset);
CSomeClass someClass; CSomeClass* pSomeClass;
- enumerations must inherit type e.g.
enum ESomeEnum : short
3.1. enumerations members should be uppercase SOME_ENUM_MEMBER = 0
-
includes paths must be separated with one slash
additional:
file names preferably be lowercase -
use number literal's (uppercase)
long lSomeLong = 0L;
unsigned int uSomeOffset = 0x0; // hex
unsigned int uSomeInt = 0U;
unsigned long ulSomeULong = 0UL;
- use c-style casts
int* pSomePointer = *(int**)pSomeAddress;
_DEBUG 1
- disable string encryption enables console logs (automatic switches with compilation configuration)NDEBUG 1
- fully disables debug, opposite of _DEBUG (automatic switches with compilation configuration)DEBUG_CONSOLE 1
- enables external console logging but deactivates file logging