program AlgoSim;

{$R 'shaders.res' '..\RGL\shaders\shaders.rc'}

uses
  Windows,
  SysUtils,
  ASKernel,
  ASKernelDefs,
  ASExecutionContext,
  SelfTest,
  Vcl.Forms,
  MainForm in 'MainForm.pas' {AlgosimMainForm},
  IdentSearch in 'IdentSearch.pas',
  SelfTestUI in 'SelfTestUI.pas',
  TextBufWin in 'TextBufWin.pas' {TextBufFrm},
  Gallery in 'Gallery.pas',
  TableDialog in '..\..\TableDialog\TableDialog.pas',
  IdentForm in 'IdentForm.pas' {IdentFrm},
  OptionsForm in 'OptionsForm.pas',
  UxForm in 'UxForm.pas',
  FrontEndProps in 'FrontEndProps.pas',
  TaskForm in 'TaskForm.pas' {TaskFrm},
  UxThemeForm in 'UxThemeForm.pas' {UxThemeFrm},
  DocEd in 'DocEd.pas' {DocEdFrm},
  ASDoc in 'ASDoc.pas',
  DocView in 'DocView.pas' {DocFrm},
  ClientDefs in 'ClientDefs.pas',
  Rux in '..\..\Ux\Rux.pas',
  DocSrc in 'DocSrc.pas' {DocSrcFrm},
  FormFader in 'FormFader.pas',
  ASVisualization in '..\ASVisualization.pas',
  ClientVisuals in 'ClientVisuals.pas',
  VisCtl2D in 'Controls\VisCtl2D.pas',
  AboutForm in 'AboutForm.pas' {AboutFrm},
  WinMgrForm in 'WinMgrForm.pas' {WndMgr},
  ScreenDispatch in '..\..\TScreen Dispatcher\ScreenDispatch.pas',
  DoublePoint in '..\DoublePoint.pas',
  DevMode in 'DevMode.pas',
  ImageSizeForm in 'ImageSizeForm.pas' {ImageSizeFrm},
  ObjectMetadataForm in 'ObjectMetadataForm.pas' {ObjectMetadataFrm},
  ProgramEditorForm in 'ProgramEditorForm.pas' {ProgramEditor},
  StartMenuPopup in 'StartMenuPopup.pas',
  ModalProtection in 'ModalProtection.pas',
  VisCtl in 'Controls\VisCtl.pas',
  ASFunctions in '..\ASFunctions.pas',
  ASFcnExp in '..\ASFcnExp.pas',
  rgl in '..\RGL\rgl.pas',
  Vis3D_GeoObjSettings in '..\RGL\Vis3D_GeoObjSettings.pas' {Vis3D_GeoObjSettingsFrm},
  ObjFile in '..\RGL\ObjFile.pas',
  Vis3D_DrawableSettings in '..\RGL\Vis3D_DrawableSettings.pas',
  Vis3D_SurfaceSettings in '..\RGL\Vis3D_SurfaceSettings.pas',
  Vis3D_DrawableListSettings in '..\RGL\Vis3D_DrawableListSettings.pas',
  Vis3D_ScatterPlotSettings in '..\RGL\Vis3D_ScatterPlotSettings.pas',
  Vis3D_VectorFieldSettings in '..\RGL\Vis3D_VectorFieldSettings.pas',
  Vis3D_ImageRectSettings in '..\RGL\Vis3D_ImageRectSettings.pas',
  Vis3D_TextRectSettings in '..\RGL\Vis3D_TextRectSettings.pas',
  Vis3D_AxisSettings in '..\RGL\Vis3D_AxisSettings.pas',
  Vis3D_AxesSettings in '..\RGL\Vis3D_AxesSettings.pas',
  Vis3D_GridSettings in '..\RGL\Vis3D_GridSettings.pas',
  Vis3D_ModelSettings in '..\RGL\Vis3D_ModelSettings.pas',
  Vis3D_CylinderSettings in '..\RGL\Vis3D_CylinderSettings.pas',
  Vis3D_ViewSettings in '..\RGL\Vis3D_ViewSettings.pas',
  Vis3D_SceneSettings in '..\RGL\Vis3D_SceneSettings.pas',
  VisMgrForm in 'VisMgrForm.pas' {VisMgr},
  GrphTest in 'GrphTest.pas',
  Vis3D_ArrowSettings in '..\RGL\Vis3D_ArrowSettings.pas',
  SVG in '..\SVG.pas';

{$R *.res}

begin
  if ParamStr(1).ToLower = '/selftest' then
  begin
    TSelfTestCUI.RunSelfTest;
  end
//  else if ParamStr(1).ToLower = '/makeht' then
//  begin
//     TASDoc.CreateHypertextVersion; // Needs front end properties
//  end
  else
  begin
    Application.Initialize;
    Application.MainFormOnTaskbar := True;
    Application.CreateForm(TAlgosimMainForm, AlgosimMainForm);
  Application.CreateForm(TIdentFrm, IdentFrm);
  Application.CreateForm(TTaskFrm, TaskFrm);
  Application.Run;
  end;
end.
