Module engine

Types

PEngine = ref TEngine
TEngine = object of TObject
  fRun: bool
  fScreen: TScreen
  fUpdateTimer, fInfoTimer: PTimer
  fUpdateInterval: int
  fInfoText: PText
  state*: PState
  info*, infobg*: bool
  bgColor*: int32

Vars

game: PEngine

Procs

proc newEngine(width: int = 640; 
               height: int = 480; 
               flags: int = 0; 
               scale: int = 1; 
               title: cstring = ""; 
               updateInterval: int = 20; 
               info: bool = false; 
               infobg: bool = true; 
               bgColor: TColor = color(0, 0, 0); 
               audio: bool = true; 
               audioFrequency: cint = DEFAULT_FREQUENCY; 
               audioFormat: int = DEFAULT_FORMAT; 
               audioChannels: cint = DEFAULT_CHANNELS; 
               audioChunkSize: cint = 1024): PEngine

width: screen width.

height: screen height.

flags: init flags.

scale: screen scale rate (1 for no-scaling).

title: window caption.

updateInterval: interval of update event in ms.

info: true to show info panel.

infobg: true to show info on black background.

bgColor: screen background color.

audio: true to use audio system.

audioFrequency: audio sampling frequency in samples per second (Hz).

audioFromat: audio sample format.

audioChannels: number of sound channels (2 for stereo, 1 for mono).

audioChunkSize: bytes used per sample.

proc switchInfo(obj: PEngine) {.inline.}
Turn on/off info panel.
proc flip(obj: PEngine) {.inline.}
proc start(obj: PEngine)
Start main cycle.

Methods

method free(obj: PEngine)
method run(obj: PEngine): bool {.inline.}
method run=(obj: PEngine; value: bool) {.inline.}
method stop(obj: PEngine) {.inline.}
Generated: 2012-11-11 20:09:27 UTC