-
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.cinkludiert, Header nur dort, wo sie gebraucht werden - Header benötigen einen Include-Guard
-
#defineswerden 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(): Wenntruezurü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);
}