Skip to content

Code und Git

Felix Queißner edited this page Jul 6, 2018 · 10 revisions

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 config
  • skill70 - skill90: reserved for subsystem

Debug Configs (config.h)

  • DEBUG: Schaltet default.c an
  • DEBUG_FRAMEWORK_FASTSTART: Startet das Spiel direkt ohne Menü oder Splash
  • DEBUG_LEVEL "mylevel.wmb": Wenn gesetzt, wird dieses Level geladen anstelle des LEVEL_FILEs
  • DEBUG_NO_MUSIC: Schaltet die komplette Musik im Spiel ab
  • DEBUG_NO_CAPTURE: Schaltet das Mouse Capturing im Spielmodus ab
  • FRAMEWORK_NO_POSTPROCESS: Schaltet Postprocessing und Effekte ab
  • DEBUG_NO_ESCAPE_QUIT: Schaltet mit aktiviertem DEBUG-Flag das Beenden via Escape aus

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
Clone this wiki locally