-
Notifications
You must be signed in to change notification settings - Fork 1
Coding Guidelines
Felix Queißner edited this page Jun 15, 2019
·
8 revisions
- Jede Datei braucht sowohl Source(
.c
)- als auch Header-File(.h
)- Der Header exponiert nur die externen Funktionen
- Die C-Dateien werden am Ende der
main.c
inkludiert, Header nur dort, wo sie gebraucht werden - Header benötigen einen Include-Guard
-
#defines
werden IN GROẞBUCHSTABEN geschrieben - Empfehlung: Funktionsnamen und Variablennamen in
snake_case
- KEINE relativen Pfade, funktionieren nicht mit WRS.
- KEIN pan_create("bmap=..."), funktioniert nicht mit WRS.
- alle Pfade müssen in der main.wdl definiert werden.
- alles, was nicht in die WRS gepackt werden soll (z.B. alles was mit media_... oder Winapi genutzt wird) kommt in den Ordner "media". Und dort kommt auch nichts anderes rein
- Module, die vom Framework geladen werden, benötigen folgende API:
-
void module_init()
: Initialisiere das Modul -
void module_open()
: Modul wird hiermit gestartet (also auf "aktiv" geschaltet) -
void module_update()
: Wird pro Frame aufgerufen -
bool module_is_done()
: Wenntrue
zurückgegeben wird, wird das Modul beendet -
void module_close()
: Modul wird "entladen" und das Framework wechselt zu einem anderen Modul
-
void rotary_update()
{
ENTITY * ent;
SUBSYSTEM_LOOP(ent, SUBSYSTEM_ROTARY)
{
ent->pan += time_step;
}
}
void rotary_make()
{
ENTITY * ent = ent_create(…);
framework_setup(ent, SUBSYSTEM_ROTARY); // registrieren
}
void rotary_kill(ENTITY * ent)
{
framework_remove(ent);
}