Code und Git - Acknex/LotterShock GitHub Wiki
Code Guidelines
- DEFINES
- keine relativen Pfadangaben!! (pragma_path und wdl mit PATH nutzen)
- Prefixe für Subsysteme
Framework-Foo
Beispielcode:
// Aktionen mit Großbuchstaben (zur klaren unterscheidung)
action Eselslerche()
{
framework_setup(my, SUBSYSTEM_ESELSLERCHE); // im system registrieren und so kram
}
void eselslerche_init()
{
ent_create("lerche.mdl", vector(0,0,0), Eselslerche);
}
void eselslerche_update()
{
ENTITY * ptr;
SUBSYSTEM_LOOP(ptr, SUBSYSTEM_ESELSLERCHE)
{
// alle eselslerchen drehen sich jetzt!
ptr->pan += time_step;
}
}
Skillz
SK_ENTITY_DEAD(skill98)SK_SUBSYSTEM(skill99)skill1-skill20: reserved für action configskill70-skill90: reserved for subsystem
Debug Configs (config.h)
DEBUG: Schaltetdefault.canDEBUG_FRAMEWORK_FASTSTART: Startet das Spiel direkt ohne Menü oder SplashDEBUG_LEVEL "mylevel.wmb": Wenn gesetzt, wird dieses Level geladen anstelle desLEVEL_FILEsDEBUG_NO_MUSIC: Schaltet die komplette Musik im Spiel abDEBUG_NO_CAPTURE: Schaltet das Mouse Capturing im Spielmodus abFRAMEWORK_NO_POSTPROCESS: Schaltet Postprocessing und Effekte abDEBUG_NO_ESCAPE_QUIT: Schaltet mit aktiviertemDEBUG-Flag das Beenden via Escape ausDEBUG_UI_PATHS: Zeigt im UI die eingestellten Navigationspfade anDEBUG_PEACEFUL: Löscht alle Gegner ohne irgendwelche Todes-Animationen
Ignore config.h
https://stackoverflow.com/questions/24983762/git-ignore-local-file-changes/24983863
git update-index --assume-unchanged Game\Source\config.h
Grobe Dateistruktur für Header
#ifndef FRAMEWORK_H
#define FRAMEWORK_H
#endif