program DOTU;
//{$APPTYPE CONSOLE}

uses
  uMaterials in 'uMaterials.pas',
  uConst in 'uConst.pas',
  LexUtils in 'source\LexUtils.pas',
  uGamePage in 'source\uGamePage.pas',
  uList in 'source\uList.pas',
  uMenu in 'source\uMenu.pas',
  uMenuHow in 'source\uMenuHow.pas',
  uMenuI in 'source\uMenuI.pas',
  uMenuPlayer in 'source\uMenuPlayer.pas',
  uMyApp in 'source\uMyApp.pas',
  uPage in 'source\uPage.pas',
  uParticle in 'source\uParticle.pas',
  uScene in 'source\uScene.pas',
  zglHeader in 'source\zglHeader.pas',
  uBomb in 'source_game\uBomb.pas',
  uBoom in 'source_game\uBoom.pas',
  uBullet in 'source_game\uBullet.pas',
  uGame in 'source_game\uGame.pas',
  uGun in 'source_game\uGun.pas',
  uMap in 'source_game\uMap.pas',
  uWinPage in 'source_game\uWinPage.pas',
  uZepelin in 'source_game\uZepelin.pas',
  uMainMenu in 'source\uMainMenu.pas',
  GSound in 'source\GSound.pas',
  Bass in 'source\Bass.pas';

var
  MyApp : TMyApp;

procedure Init;
begin
  MyApp.Init;
end;

procedure Draw;
begin
  MyApp.Draw;
end;

procedure Exit;
begin
  MyApp.Exit;
end;

procedure Update;
begin
  MyApp.Update;

  key_ClearState();
  mouse_ClearState();

end;

begin
  Randomize;
  zglLoad( libZenGL );
  zgl_Reg( SYS_LOAD, @Init);
  zgl_Reg( SYS_DRAW, @Draw);
  zgl_Reg( SYS_EXIT, @Exit);
  timer_Add( @Update, Interval);
  MyApp := TMyApp.Create;
  wnd_SetCaption( 'DOTU' );
  zgl_Init;
end.
