Selaa lähdekoodia

Included fonts in assets

GLScene 2 vuotta sitten
vanhempi
commit
bb35409437
43 muutettua tiedostoa jossa 402 lisäystä ja 511 poistoa
  1. 0 0
      Assets/Font/darkgold_font.bmp
  2. BIN
      Assets/Font/lat20cyr_font.bmp
  3. BIN
      Assets/Font/tahoma256.png
  4. 0 0
      Assets/Font/toonfont.bmp
  5. 2 2
      Examples/Demos/graph/fxy/FxyC.cbproj
  6. 66 46
      Examples/Demos/graph/fxy/fFxyC.dfm
  7. 3 0
      Examples/Demos/graph/fxy/fFxyC.h
  8. 4 2
      Examples/Demos/interface/WinFont/fWinfontC.dfm
  9. 1 1
      Examples/Demos/interface/bmpfont/fBmpfontC.cpp
  10. 9 12
      Examples/Demos/interface/bmpfont/fBmpfontD.dfm
  11. 1 1
      Examples/Demos/interface/bmpfont/fBmpfontD.pas
  12. 6 5
      Examples/Demos/interface/fontcolor/fFontColorC.cpp
  13. 5 4
      Examples/Demos/interface/fontcolor/fFontColorC.dfm
  14. 4 4
      Examples/Demos/interface/fontcolor/fFontColorC.h
  15. 1 1
      Examples/Demos/interface/fontcolor/fFontColorD.pas
  16. 1 0
      Examples/Demos/meshes/terrain/fTerrainC.cpp
  17. 1 0
      Examples/Demos/meshes/terrain/fTerrainD.pas
  18. 5 12
      Examples/Demos/movements/objmove/fObjmoveD.dfm
  19. 2 0
      Examples/Demos/physics/OdeTerrain/fOdeTerrainC.cpp
  20. 2 0
      Examples/Demos/physics/OdeTerrain/fOdeTerrainD.pas
  21. 87 88
      Examples/Demos/sound/3DSound/fSoundAroundC.cpp
  22. 48 96
      Examples/Demos/sound/3DSound/fSoundAroundC.dfm
  23. 2 2
      Examples/Demos/sound/3DSound/fSoundAroundC.h
  24. 20 24
      Examples/Demos/sound/3DSound/fSoundAroundD.dfm
  25. 12 12
      Examples/Demos/sound/3DSound/fSoundAroundD.pas
  26. 12 12
      Examples/Demos/sound/3DSoundBASS/fSoundBASS.dfm
  27. 5 6
      Examples/Demos/sound/3DSoundBASS/fSoundBASS.pas
  28. 5 6
      Examples/Demos/sound/3DSoundOpenAL/SoundOpenAL.dproj
  29. 20 17
      Examples/Demos/sound/3DSoundOpenAL/fSoundOpenAL.dfm
  30. 49 48
      Examples/Demos/sound/3DSoundOpenAL/fSoundOpenAL.pas
  31. 20 14
      Examples/Demos/sound/3DSoundWaveOut/fSoundWaveout.dfm
  32. 1 1
      Readme.txt
  33. 0 1
      Source/GLS.TilePlane.pas
  34. 7 7
      Source/GLS.WindowsFont.pas
  35. 0 86
      _cleanfordelphi.cmd
  36. 0 0
      _cleanrelease.cmd
  37. 1 1
      include/Win32/GLS.TilePlane.hpp
  38. BIN
      lib/Win32/GLScene_Physics_DT.bpi
  39. BIN
      lib/Win32/GLScene_Physics_RT.bpi
  40. BIN
      lib/Win32/GLScene_Physics_RT.lib
  41. BIN
      lib/Win32/GLScene_RT.bpi
  42. BIN
      lib/Win32/GLScene_RT.lib
  43. BIN
      lib/Win32/GLScene_Sounds_RT.lib

+ 0 - 0
Assets/Texture/darkgold_font.bmp → Assets/Font/darkgold_font.bmp


BIN
Assets/Font/lat20cyr_font.bmp


BIN
Assets/Font/tahoma256.png


+ 0 - 0
Assets/Texture/toonfont.bmp → Assets/Font/toonfont.bmp


+ 2 - 2
Examples/Demos/graph/fxy/FxyC.cbproj

@@ -60,7 +60,7 @@
     <PropertyGroup Condition="'$(Base)'!=''">
         <SanitizedProjectName>FxyC</SanitizedProjectName>
         <Icon_MainIcon>$(BDS)\bin\cbuilder_PROJECTICON.ico</Icon_MainIcon>
-        <AllPackageLibs>rtl.lib;vcl.lib;fmx.lib;xmlrtl.lib;vclimg.lib</AllPackageLibs>
+        <AllPackageLibs>rtl.lib;vcl.lib;fmx.lib;xmlrtl.lib;vclimg.lib;GLScene_RT.lib</AllPackageLibs>
         <ProjectType>CppVCLApplication</ProjectType>
         <Multithreaded>true</Multithreaded>
         <_TCHARMapping>wchar_t</_TCHARMapping>
@@ -122,7 +122,7 @@
         <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
         <ILINK_LibraryPath>$(BDSCOMMONDIR)\Dcp;$(BDSLIB)\$(PLATFORM)$(CC_SUFFIX)\debug;$(ILINK_LibraryPath)</ILINK_LibraryPath>
         <Defines>_DEBUG;$(Defines)</Defines>
-        <LinkPackageImports>rtl.bpi;vcl.bpi;fmx.bpi;xmlrtl.bpi;vclimg.bpi</LinkPackageImports>
+        <LinkPackageImports>rtl.bpi;vcl.bpi;fmx.bpi;xmlrtl.bpi;vclimg.bpi;GLScene_RT.bpi</LinkPackageImports>
         <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
         <VerInfo_Locale>1033</VerInfo_Locale>
         <VerInfo_Keys>CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName)</VerInfo_Keys>

+ 66 - 46
Examples/Demos/graph/fxy/fFxyC.dfm

@@ -2,28 +2,31 @@ object Form1: TForm1
   Left = 192
   Top = 121
   Caption = 'Fxy '
-  ClientHeight = 670
-  ClientWidth = 846
+  ClientHeight = 536
+  ClientWidth = 677
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -14
+  Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Style = []
   WindowState = wsMaximized
   OnCreate = FormCreate
   OnMouseWheel = FormMouseWheel
-  PixelsPerInch = 120
-  TextHeight = 16
+  TextHeight = 13
   object Viewer: TGLSceneViewer
     Left = 0
     Top = 0
-    Width = 568
-    Height = 670
+    Width = 454
+    Height = 536
+    Margins.Left = 2
+    Margins.Top = 2
+    Margins.Right = 2
+    Margins.Bottom = 2
     Camera = Camera
     Buffer.BackgroundColor = clTeal
     Buffer.AntiAliasing = aa4xHQ
-    FieldOfView = 132.487487792968800000
+    FieldOfView = 122.320289611816400000
     PenAsTouch = False
     Align = alClient
     OnMouseDown = ViewerMouseDown
@@ -31,74 +34,83 @@ object Form1: TForm1
     TabOrder = 0
   end
   object Panel1: TPanel
-    Left = 568
+    Left = 454
     Top = 0
-    Width = 278
-    Height = 670
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
+    Width = 223
+    Height = 536
     Align = alRight
     TabOrder = 1
     object Label1: TLabel
-      Left = 83
-      Top = 50
-      Width = 101
-      Height = 16
+      Left = 66
+      Top = 40
+      Width = 80
+      Height = 13
+      Margins.Left = 2
+      Margins.Top = 2
+      Margins.Right = 2
+      Margins.Bottom = 2
       Caption = 'XYZ grid position'
     end
     object TrackBar1: TTrackBar
-      Left = 216
-      Top = 89
-      Width = 45
-      Height = 321
+      Left = 173
+      Top = 71
+      Width = 36
+      Height = 257
+      Margins.Left = 2
+      Margins.Top = 2
+      Margins.Right = 2
+      Margins.Bottom = 2
       Min = -10
       Orientation = trVertical
       TabOrder = 0
-      ThumbLength = 25
       OnChange = TrackBar1Change
     end
     object TrackBar2: TTrackBar
-      Left = 36
-      Top = 89
-      Width = 45
-      Height = 321
+      Left = 29
+      Top = 71
+      Width = 36
+      Height = 257
+      Margins.Left = 2
+      Margins.Top = 2
+      Margins.Right = 2
+      Margins.Bottom = 2
       Min = -10
       Orientation = trVertical
       TabOrder = 1
-      ThumbLength = 25
       OnChange = TrackBar2Change
     end
     object TrackBar3: TTrackBar
-      Left = 126
-      Top = 89
-      Width = 45
-      Height = 321
+      Left = 101
+      Top = 71
+      Width = 36
+      Height = 257
+      Margins.Left = 2
+      Margins.Top = 2
+      Margins.Right = 2
+      Margins.Bottom = 2
       Min = -10
       Orientation = trVertical
       TabOrder = 2
-      ThumbLength = 25
       OnChange = TrackBar3Change
     end
     object CheckBox1: TCheckBox
-      Left = 80
-      Top = 14
-      Width = 121
-      Height = 21
+      Left = 64
+      Top = 11
+      Width = 97
+      Height = 17
+      Margins.Left = 2
+      Margins.Top = 2
+      Margins.Right = 2
+      Margins.Bottom = 2
       Caption = 'Centered Grids'
       TabOrder = 3
       OnClick = CheckBox1Click
     end
     object RadioGroup1: TRadioGroup
-      Left = 20
-      Top = 431
-      Width = 271
-      Height = 132
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 16
+      Top = 345
+      Width = 217
+      Height = 105
       Caption = 'Formula'
       ItemIndex = 3
       Items.Strings = (
@@ -110,6 +122,14 @@ object Form1: TForm1
       OnClick = RadioGroup1Click
     end
   end
+  object Edit1: TEdit
+    Left = 112
+    Top = 72
+    Width = 121
+    Height = 21
+    TabOrder = 2
+    Text = 'Edit1'
+  end
   object GLScene1: TGLScene
     Left = 80
     Top = 48

+ 3 - 0
Examples/Demos/graph/fxy/fFxyC.h

@@ -14,6 +14,8 @@
 #include <Vcl.Controls.hpp>
 #include <Vcl.ExtCtrls.hpp>
 #include <Vcl.StdCtrls.hpp>
+#include <System.ImageList.hpp>
+#include <Vcl.ImgList.hpp>
 
 //---------------------------------------------------------------------------
 class TForm1:public TForm
@@ -34,6 +36,7 @@ __published:                   // IDE-managed Components
 	TLabel *Label1;
 	TCheckBox *CheckBox1;
 	TRadioGroup *RadioGroup1;
+	TEdit *Edit1;
   void __fastcall CheckBox1Click(TObject * Sender);
   void __fastcall TrackBar1Change(TObject * Sender);
   void __fastcall ViewerMouseDown(TObject * Sender, TMouseButton Button,

+ 4 - 2
Examples/Demos/interface/WinFont/fWinfontC.dfm

@@ -3,7 +3,7 @@ object Form1: TForm1
   Top = 0
   Caption = 'Windows Font'
   ClientHeight = 387
-  ClientWidth = 531
+  ClientWidth = 747
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
@@ -11,12 +11,13 @@ object Form1: TForm1
   Font.Name = 'Tahoma'
   Font.Style = []
   Menu = MainMenu1
+  Position = poScreenCenter
   OnCreate = FormCreate
   TextHeight = 13
   object GLSceneViewer1: TGLSceneViewer
     Left = 0
     Top = 0
-    Width = 531
+    Width = 747
     Height = 387
     Camera = GLCamera1
     Buffer.BackgroundColor = clBackground
@@ -25,6 +26,7 @@ object Form1: TForm1
     Align = alClient
     OnClick = GLSceneViewer1Click
     TabOrder = 0
+    ExplicitWidth = 657
   end
   object GLScene1: TGLScene
     ObjectsSorting = osNone

+ 1 - 1
Examples/Demos/interface/bmpfont/fBmpfontC.cpp

@@ -30,7 +30,7 @@ void __fastcall TForm1::FormCreate(TObject *Sender)
 {
    // Load the font bitmap from media dir
    TFileName Path = GetCurrentAssetPath();
-   SetCurrentDir(Path  + "\\texture");
+   SetCurrentDir(Path  + "\\font");
    BitmapFont1->Glyphs->LoadFromFile("darkgold_font.bmp");
    // sorry, couldn't resist...
 

+ 9 - 12
Examples/Demos/interface/bmpfont/fBmpfontD.dfm

@@ -2,33 +2,30 @@ object FormBmpFont: TFormBmpFont
   Left = 166
   Top = 102
   Caption = 'Bitmap Font'
-  ClientHeight = 449
-  ClientWidth = 631
+  ClientHeight = 378
+  ClientWidth = 519
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -14
+  Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Style = []
   OnCreate = FormCreate
-  PixelsPerInch = 120
-  TextHeight = 16
+  TextHeight = 13
   object GLSceneViewer1: TGLSceneViewer
     Left = 0
     Top = 0
-    Width = 631
-    Height = 449
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
+    Width = 519
+    Height = 378
     Camera = GLCamera1
     Buffer.BackgroundColor = clBackground
-    FieldOfView = 154.888351440429700000
+    FieldOfView = 150.363708496093800000
     PenAsTouch = False
     Align = alClient
     OnClick = GLSceneViewer1Click
     TabOrder = 0
+    ExplicitWidth = 533
+    ExplicitHeight = 415
   end
   object GLScene1: TGLScene
     ObjectsSorting = osNone

+ 1 - 1
Examples/Demos/interface/bmpfont/fBmpfontD.pas

@@ -60,7 +60,7 @@ procedure TFormBmpFont.FormCreate(Sender: TObject);
 begin
   // Load the font bitmap from asset dir
   var Path: TFileName := GetCurrentAssetPath();
-  SetCurrentDir(Path  + '\texture');
+  SetCurrentDir(Path  + '\font');
   BitmapFont1.Glyphs.LoadFromFile('darkgold_font.bmp');
   // sorry, couldn't resist...
   {$IFDEF WIN32}

+ 6 - 5
Examples/Demos/interface/fontcolor/fFontColorC.cpp

@@ -33,13 +33,14 @@ __fastcall TForm1::TForm1(TComponent* Owner)
 void __fastcall TForm1::FormCreate(TObject *Sender)
 {
    TFileName Path = GetCurrentAssetPath();
+   SetCurrentDir(Path  + "\\font");
    BitmapFont->Glyphs->LoadFromFile("toonfont.bmp");
 }
 //---------------------------------------------------------------------------
 void __fastcall TForm1::GLTimeEventsMGR1Events0Event(TTimeEvent *event)
 {
    if (FadeOutCount < 0) exit;
-   HUDText1->ModulateColor->Color = VectorMake(1, 1, 1, (FadeOutCount/FadeOutMax)*OverallTrans);
+   HUDTextFadingOut->ModulateColor->Color = VectorMake(1, 1, 1, (FadeOutCount/FadeOutMax)*OverallTrans);
    FadeOutCount--;
 }
 //---------------------------------------------------------------------------
@@ -48,10 +49,10 @@ void __fastcall TForm1::GLTimeEventsMGR1Events1Event(TTimeEvent *event)
    FadeOutCount = FadeOutMax;
    FadeInCount = 0;
 
-   OriginalColor = HUDText2->ModulateColor->Color;
+   OriginalColor = HUDTextTheEnd->ModulateColor->Color;
 
-   HUDText1->ModulateColor->Color = VectorMake(1, 1, 1, (FadeOutCount/FadeOutMax)*OverallTrans);
-   HUDText2->ModulateColor->Color = VectorMake(1, 1, 1, 0);
+   HUDTextFadingOut->ModulateColor->Color = VectorMake(1, 1, 1, (FadeOutCount/FadeOutMax)*OverallTrans);
+   HUDTextTheEnd->ModulateColor->Color = VectorMake(1, 1, 1, 0);
 }
 //---------------------------------------------------------------------------
 void __fastcall TForm1::GLTimeEventsMGR1Events2Event(TTimeEvent *event)
@@ -61,7 +62,7 @@ void __fastcall TForm1::GLTimeEventsMGR1Events2Event(TTimeEvent *event)
 
    NewColor = VectorScale(OriginalColor, FadeInCount/FadeInMax);
 
-   HUDText2->ModulateColor->Color = NewColor;
+   HUDTextTheEnd->ModulateColor->Color = NewColor;
    FadeInCount++;
 }
 //---------------------------------------------------------------------------

+ 5 - 4
Examples/Demos/interface/fontcolor/fFontColorC.dfm

@@ -10,6 +10,7 @@ object Form1: TForm1
   Font.Height = -11
   Font.Name = 'Tahoma'
   Font.Style = []
+  Position = poScreenCenter
   OnCreate = FormCreate
   TextHeight = 13
   object GLSceneViewer1: TGLSceneViewer
@@ -35,7 +36,7 @@ object Form1: TForm1
     object Teapot1: TGLTeapot
       Material.FrontProperties.Diffuse.Color = {9D9C1C3FB3B2323F0000803F0000803F}
     end
-    object HUDText1: TGLHUDText
+    object HUDTextFadingOut: TGLHUDText
       Position.Coordinates = {0000484300008C42000000000000803F}
       BitmapFont = BitmapFont
       Text = 'FADING OUT'
@@ -43,7 +44,7 @@ object Form1: TForm1
       Alignment = taCenter
       ModulateColor.Color = {0000803F0000803F0000803F3333333F}
     end
-    object HUDText2: TGLHUDText
+    object HUDTextTheEnd: TGLHUDText
       Position.Coordinates = {0000484300009143000000000000803F}
       BitmapFont = BitmapFont
       Text = 'THE END'
@@ -51,7 +52,7 @@ object Form1: TForm1
       Alignment = taCenter
       ModulateColor.Color = {0000803FF8FEFE3E000000003333333F}
     end
-    object HUDText3: TGLHUDText
+    object HUDTextRedRed: TGLHUDText
       Position.Coordinates = {000048430000A041000000000000803F}
       BitmapFont = BitmapFont
       Text = 'RED RED'
@@ -59,7 +60,7 @@ object Form1: TForm1
       Alignment = taCenter
       ModulateColor.Color = {0000803F00000000000000000000803F}
     end
-    object HUDText4: TGLHUDText
+    object HUDTextTransparent: TGLHUDText
       Position.Coordinates = {0000484300007A43000000000000803F}
       BitmapFont = BitmapFont
       Text = 'TRANSPARENT'

+ 4 - 4
Examples/Demos/interface/fontcolor/fFontColorC.h

@@ -27,10 +27,10 @@ __published:	// IDE-managed Components
 	TGLScene *GLScene1;
 	TGLLightSource *GLLightSource1;
 	TGLTeapot *Teapot1;
-	TGLHUDText *HUDText1;
-	TGLHUDText *HUDText2;
-	TGLHUDText *HUDText3;
-	TGLHUDText *HUDText4;
+	TGLHUDText *HUDTextFadingOut;
+	TGLHUDText *HUDTextTheEnd;
+	TGLHUDText *HUDTextRedRed;
+	TGLHUDText *HUDTextTransparent;
 	TGLCamera *GLCamera1;
 	TGLBitmapFont *BitmapFont;
 	TGLTimeEventsMGR *GLTimeEventsMGR1;

+ 1 - 1
Examples/Demos/interface/fontcolor/fFontColorD.pas

@@ -69,7 +69,7 @@ var
 procedure TFormFontColor.FormCreate(Sender: TObject);
 begin
    var Path: TFileName := GetCurrentAssetPath();
-   SetCurrentDir(Path  + '\texture');
+   SetCurrentDir(Path  + '\font');
    BitmapFont.Glyphs.LoadFromFile('toonfont.bmp');
 end;
 

+ 1 - 0
Examples/Demos/meshes/terrain/fTerrainC.cpp

@@ -60,6 +60,7 @@ __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
     // apply texture map scale (our heightmap size is 256)
     TerrainRenderer1->TilesPerTexture = 256.0 / TerrainRenderer1->TileSize;
     // Load Bitmap Font
+	SetCurrentDir(Path + "\\font");
     BitmapFont1->Glyphs->LoadFromFile("darkgold_font.bmp");
 
     // Load and setup sound samples

+ 1 - 0
Examples/Demos/meshes/terrain/fTerrainD.pas

@@ -110,6 +110,7 @@ begin
   // apply texture map scale (our heightmap size is 256)
   TerrainRenderer1.TilesPerTexture := 256 / TerrainRenderer1.TileSize;
   // Load Bitmap Font
+  SetCurrentDir(Path  + '\font');
   BitmapFont1.Glyphs.LoadFromFile('darkgold_font.bmp');
 
   // Load and setup sound samples

+ 5 - 12
Examples/Demos/movements/objmove/fObjmoveD.dfm

@@ -8,7 +8,6 @@ object FormObjmove: TFormObjmove
   ParentFont = True
   KeyPreview = True
   Position = poScreenCenter
-  WindowState = wsMaximized
   OnCreate = FormCreate
   OnKeyPress = FormKeyPress
   OnKeyUp = FormKeyUp
@@ -56,8 +55,7 @@ object FormObjmove: TFormObjmove
       Caption = 'Default movement is on the XY plane.'
       ShowAccelChar = False
       WordWrap = True
-      ExplicitTop = 60
-      ExplicitWidth = 159
+      ExplicitWidth = 163
     end
     object Label4: TLabel
       Left = 0
@@ -68,7 +66,6 @@ object FormObjmove: TFormObjmove
       Caption = 'Shift + Drag moves on the XZ plane.'
       ShowAccelChar = False
       WordWrap = True
-      ExplicitTop = 100
       ExplicitWidth = 153
     end
     object Button1: TButton
@@ -87,8 +84,6 @@ object FormObjmove: TFormObjmove
       Align = alTop
       Caption = 'Options'
       TabOrder = 1
-      ExplicitLeft = -6
-      ExplicitTop = 152
       object ShowAxes: TCheckBox
         Left = 5
         Top = 18
@@ -108,8 +103,6 @@ object FormObjmove: TFormObjmove
     Width = 1001
     Height = 18
     Panels = <>
-    ExplicitTop = 484
-    ExplicitWidth = 666
   end
   object GLScene1: TGLScene
     Left = 296
@@ -194,10 +187,10 @@ object FormObjmove: TFormObjmove
     end
     object TxtX: TGLSpaceText
       Direction.Coordinates = {F30435BFF30435BF0000000000000000}
-      Position.Coordinates = {CDCCCC3F000080BF000080BF0000803F}
+      Position.Coordinates = {0000C03F000080BF000080BF0000803F}
       Scale.Coordinates = {9A99993E9A99993E9A99993E00000000}
       Up.Coordinates = {00000000000000000000803F00000000}
-      Extrusion = 0.300000011920929000
+      Extrusion = 0.200000002980232200
       Font.Charset = DEFAULT_CHARSET
       Font.Color = clWindowText
       Font.Height = -11
@@ -212,7 +205,7 @@ object FormObjmove: TFormObjmove
       Position.Coordinates = {000080BF9A99D93F000080BF0000803F}
       Scale.Coordinates = {9A99993E9A99993E9A99993E00000000}
       Up.Coordinates = {00000000000000000000803F00000000}
-      Extrusion = 0.300000011920929000
+      Extrusion = 0.200000002980232200
       Font.Charset = DEFAULT_CHARSET
       Font.Color = clWindowText
       Font.Height = -11
@@ -224,7 +217,7 @@ object FormObjmove: TFormObjmove
     end
     object TxtZ: TGLSpaceText
       Direction.Coordinates = {F304353FF304353F0000000000000000}
-      Position.Coordinates = {000000C0000000C0000000000000803F}
+      Position.Coordinates = {000000C0000000C0CDCCCCBE0000803F}
       Scale.Coordinates = {9A99993E9A99993E9A99993E00000000}
       Up.Coordinates = {00000080000000000000803F00000000}
       Extrusion = 0.200000002980232200

+ 2 - 0
Examples/Demos/physics/OdeTerrain/fOdeTerrainC.cpp

@@ -45,6 +45,8 @@ void __fastcall TForm1::FormCreate(TObject *Sender)
    SPMoon->Material->Texture->Image->LoadFromFile("moon.bmp");
    SPSun->Material->Texture->Image->LoadFromFile("flare1.bmp");
    TerrainRenderer1->TilesPerTexture = (float)256/TerrainRenderer1->TileSize;
+   
+   SetCurrentDir(Path + "\\font");
    BitmapFont1->Glyphs->LoadFromFile("darkgold_font.bmp");
    GLSceneViewer1->Buffer->BackgroundColor = clWhite;
    GLNavigator1->TurnHorizontal(90);

+ 2 - 0
Examples/Demos/physics/OdeTerrain/fOdeTerrainD.pas

@@ -96,6 +96,8 @@ begin
    SPMoon.Material.Texture.Image.LoadFromFile('moon.bmp');
    SPSun.Material.Texture.Image.LoadFromFile('flare1.bmp');
    TerrainRenderer1.TilesPerTexture:=256/TerrainRenderer1.TileSize;
+   
+   SetCurrentDir(Path  + '\font');
    BitmapFont1.Glyphs.LoadFromFile('darkgold_font.bmp');
    GLSceneViewer1.Buffer.BackgroundColor:=clWhite;
    GLNavigator1.TurnHorizontal(90);

+ 87 - 88
Examples/Demos/sound/3DSound/fSoundAroundC.cpp

@@ -16,134 +16,133 @@
 #pragma link "Sounds.BASS"
 #pragma link "Sounds.FMOD"
 #pragma link "Sounds.OpenAL"
-#pragma link "GLS.Sound"
+#pragma link "GLS.SoundManager"
 #pragma link "GLS.SceneViewer"
 #pragma link "GLS.FileWAV"
 #pragma link "GLS.FileMP3"
 
 #pragma resource "*.dfm"
-TForm1 *Form1;
-int mx,my;
+TForm1* Form1;
+int mx, my;
 //---------------------------------------------------------------------------
-__fastcall TForm1::TForm1(TComponent* Owner)
-	: TForm(Owner)
-{
-}
+__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) {}
 //---------------------------------------------------------------------------
-void __fastcall TForm1::FormCreate(TObject *Sender)
+void __fastcall TForm1::FormCreate(TObject* Sender)
 {
-   TFileName Path = GetCurrentAssetPath();
-   // Load our sound sample
-   GLSoundLibrary->Samples->AddFile("drumloop.wav","drumloop.wav");
-   GLSoundLibrary->Samples->AddFile("chimes.wav","chimes.wav");
-   GLSoundLibrary->Samples->AddFile("howl.mp3","howl.mp3");
+    TFileName Path = GetCurrentAssetPath();
+    SetCurrentDir(Path + "\\audio");
 
+    // Load our sound samples
+    GLSoundLibrary->Samples->AddFile("drumloop.wav", "drumloop.wav");
+    GLSoundLibrary->Samples->AddFile("chimes.wav", "chimes.wav");
+    GLSoundLibrary->Samples->AddFile("howl.mp3", "howl.mp3");
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::SphereProgress(TObject *Sender, const double deltaTime, const double newTime)
+void __fastcall TForm1::SphereProgress(
+    TObject* Sender, const double deltaTime, const double newTime)
 
 {
-   Single alpha;
-   // Move the red sphere (sound source) along an elliptic path
-   alpha = 60*DegToRad(newTime);
-   ((TGLSphere *) Sender)->Position->SetPoint(sin(alpha)*2, 0.5, cos(alpha)*5);
-
+    Single alpha;
+    // Move the red sphere (sound source) along an elliptic path
+    alpha = 60 * DegToRad(newTime);
+    ((TGLSphere*)Sender)
+        ->Position->SetPoint(sin(alpha) * 2, 0.5, cos(alpha) * 5);
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::TrackBar1Change(TObject *Sender)
+void __fastcall TForm1::TrackBar1Change(TObject* Sender)
 {
-   // Move the listener forward/back
-   Mickey->Position->Z = TrackBar1->Position/10;
-   Application->ProcessMessages();
+    // Move the listener forward/back
+    Mickey->Position->Z = TrackBar1->Position / 10;
+    Application->ProcessMessages();
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::TrackBarChange(TObject *Sender)
+void __fastcall TForm1::TrackBarChange(TObject* Sender)
 {
-   // Rotate the listener around the vertical axis
-   DummyCube->TurnAngle = TrackBar->Position;
-   Application->ProcessMessages();
+    // Rotate the listener around the vertical axis
+    DummyCube->TurnAngle = TrackBar->Position;
+    Application->ProcessMessages();
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::Button1Click(TObject *Sender)
+void __fastcall TForm1::Button1Click(TObject* Sender)
 {
-  TGLBSoundEmitter *se = new TGLBSoundEmitter(Sphere->Behaviours);
-  se->Source->SoundLibrary = GLSoundLibrary;
-  se->Source->SoundName = "chimes.wav";
-  se->Playing = True;
+    TGLBSoundEmitter* se = new TGLBSoundEmitter(Sphere->Behaviours);
+    se->Source->SoundLibrary = GLSoundLibrary;
+    se->Source->SoundName = "chimes.wav";
+    se->Playing = True;
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::btnHowlClick(TObject *Sender)
+void __fastcall TForm1::btnHowlClick(TObject* Sender)
 {
-  TGLBSoundEmitter *se = new TGLBSoundEmitter(Sphere->Behaviours);
-  se->Source->SoundLibrary = GLSoundLibrary;
-  se->Source->SoundName = "howl.mp3";
-  se->Playing = True;
+    TGLBSoundEmitter* se = new TGLBSoundEmitter(Sphere->Behaviours);
+    se->Source->SoundLibrary = GLSoundLibrary;
+    se->Source->SoundName = "howl.mp3";
+    se->Playing = True;
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::TimerTimer(TObject *Sender)
+void __fastcall TForm1::TimerTimer(TObject* Sender)
 {
-  String mngName;
-  TGLSoundManager *sm;
-  sm = ActiveSoundManager();
+    String mngName;
+	TGLSoundManager* sm;
+    sm = ActiveSoundManager();
 
-  // some stats
-  if(dynamic_cast < TGLSMBASS * >(sm))
-	mngName = "BASS";
-  else if(dynamic_cast < TGLSMFMOD * >(sm))
-	mngName = "FMOD";
-  else if (dynamic_cast < TGLSMOpenAL * >(sm))
-	  mngName = "OpenAL";
-  else
-	mngName = "";
-  if(sm)
-	LabelFPS->Caption = Format("%.2f FPS, %s CPU use : %.2f%%",
-		 ARRAYOFCONST((GLSceneViewer->FramesPerSecond(), mngName,
-					   ActiveSoundManager()->CPUUsagePercent())));
-  else
-	LabelFPS->Caption = "No active sound manager.";
-  GLSceneViewer->ResetPerformanceMonitor();
+    // some stats
+    if (dynamic_cast<TGLSMBASS*>(sm))
+        mngName = "BASS";
+    else if (dynamic_cast<TGLSMFMOD*>(sm))
+        mngName = "FMOD";
+    else if (dynamic_cast<TGLSMOpenAL*>(sm))
+        mngName = "OpenAL";
+    else
+        mngName = "";
+    if (sm)
+        LabelFPS->Caption = Format("%.2f FPS, %s CPU use : %.2f%%",
+            ARRAYOFCONST((GLSceneViewer->FramesPerSecond(), mngName,
+                ActiveSoundManager()->CPUUsagePercent())));
+    else
+        LabelFPS->Caption = "No active sound manager.";
+    GLSceneViewer->ResetPerformanceMonitor();
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::RBFMODClick(TObject *Sender)
+void __fastcall TForm1::RBFMODClick(TObject* Sender)
 {
-  TGLSoundManager *newManager, *sm;
+    TGLSoundManager *newManager, *sm;
 
-  // This method switches managers. On a real world project, this would never
-  // happen: you would choose and API and then cling to it, but the GLSS
-  // completely wraps the underlying complexity and makes it a snap
-  if(RBFMOD->Checked)
-    newManager = GLSMFMOD;
-  else
-    newManager = GLSMBASS;
+    // This method switches managers. On a real world project, this would never
+    // happen: you would choose and API and then cling to it, but the GLSS
+    // completely wraps the underlying complexity and makes it a snap
+    if (RBFMOD->Checked)
+        newManager = GLSMFMOD;
+    else
+        newManager = GLSMBASS;
 
-  sm = ActiveSoundManager();
-  if(newManager != sm)
-  {
-    // shut down current one, and activate the new one
-    if(sm)
-    {
-      sm->Active = False;
-      newManager->Active = True;
-      // restart sound
-      GetOrCreateSoundEmitter(Sphere)->Playing = True;
+    sm = ActiveSoundManager();
+    if (newManager != sm) {
+        // shut down current one, and activate the new one
+        if (sm) {
+            sm->Active = False;
+            newManager->Active = True;
+            // restart sound
+            GetOrCreateSoundEmitter(Sphere)->Playing = True;
+        }
     }
-  }
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::GLSceneViewerMouseMove(TObject *Sender, TShiftState Shift,
-		  int X, int Y)
+void __fastcall TForm1::GLSceneViewerMouseMove(
+    TObject* Sender, TShiftState Shift, int X, int Y)
 {
-  if(Shift.Contains(ssLeft))
-	GLCamera1->MoveAroundTarget(my - Y, mx - X);
-  else if(Shift.Contains(ssRight))
-	GLCamera1->AdjustDistanceToTarget(1 + (my - Y) * 0.01);
-	mx = X;
-	my = Y;
+    if (Shift.Contains(ssLeft))
+        GLCamera1->MoveAroundTarget(my - Y, mx - X);
+    else if (Shift.Contains(ssRight))
+        GLCamera1->AdjustDistanceToTarget(1 + (my - Y) * 0.01);
+    mx = X;
+    my = Y;
 }
 //---------------------------------------------------------------------------
-void __fastcall TForm1::GLSceneViewerMouseDown(TObject *Sender, TMouseButton Button,
-		  TShiftState Shift, int X, int Y)
+void __fastcall TForm1::GLSceneViewerMouseDown(
+    TObject* Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
 {
- mx = X; my = Y;
+    mx = X;
+    my = Y;
 }
 //---------------------------------------------------------------------------
+

+ 48 - 96
Examples/Demos/sound/3DSound/fSoundAroundC.dfm

@@ -2,31 +2,26 @@ object Form1: TForm1
   Left = 0
   Top = 0
   Caption = 'Sound Around'
-  ClientHeight = 572
-  ClientWidth = 824
+  ClientHeight = 458
+  ClientWidth = 659
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
-  Font.Height = -14
+  Font.Height = -11
   Font.Name = 'Tahoma'
   Font.Style = []
   Position = poScreenCenter
   OnCreate = FormCreate
-  PixelsPerInch = 120
-  TextHeight = 17
+  TextHeight = 13
   object GLSceneViewer: TGLSceneViewer
     Left = 0
-    Top = 103
-    Width = 824
-    Height = 436
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
+    Top = 82
+    Width = 659
+    Height = 349
     Camera = GLCamera1
     Buffer.BackgroundColor = clBlack
     Buffer.AntiAliasing = aaNone
-    FieldOfView = 154.164367675781300000
+    FieldOfView = 148.022491455078100000
     PenAsTouch = False
     Align = alClient
     OnMouseDown = GLSceneViewerMouseDown
@@ -35,91 +30,64 @@ object Form1: TForm1
   end
   object TrackBar: TTrackBar
     Left = 0
-    Top = 539
-    Width = 824
-    Height = 33
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
+    Top = 431
+    Width = 659
+    Height = 27
     Align = alBottom
     Max = 180
     Min = -180
     PageSize = 45
     Frequency = 45
     TabOrder = 1
-    ThumbLength = 13
+    ThumbLength = 10
     TickMarks = tmBoth
     OnChange = TrackBarChange
-    ExplicitTop = 508
-    ExplicitWidth = 756
   end
   object TrackBar1: TTrackBar
     Left = 0
-    Top = 73
-    Width = 824
-    Height = 30
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
+    Top = 58
+    Width = 659
+    Height = 24
     Align = alTop
     Max = 50
     Min = -50
     PageSize = 45
     Frequency = 10
     TabOrder = 2
-    ThumbLength = 13
+    ThumbLength = 10
     TickMarks = tmBoth
     OnChange = TrackBar1Change
-    ExplicitTop = 51
   end
   object Panel1: TPanel
     Left = 0
     Top = 0
-    Width = 824
-    Height = 73
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
+    Width = 659
+    Height = 58
     Align = alTop
     BevelOuter = bvNone
     TabOrder = 3
     DesignSize = (
-      824
-      73)
+      659
+      58)
     object Label1: TLabel
-      Left = 13
-      Top = 10
-      Width = 105
-      Height = 17
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 10
+      Top = 8
+      Width = 82
+      Height = 13
       Caption = 'Sound Manager :'
     end
     object LabelFPS: TLabel
-      Left = 13
-      Top = 34
-      Width = 23
-      Height = 17
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 10
+      Top = 27
+      Width = 18
+      Height = 13
       Caption = 'FPS'
     end
     object RBBass: TRadioButton
-      Left = 123
-      Top = 8
-      Width = 71
-      Height = 21
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 98
+      Top = 6
+      Width = 57
+      Height = 17
       Caption = 'BASS'
       Checked = True
       TabOrder = 0
@@ -127,55 +95,39 @@ object Form1: TForm1
       OnClick = RBFMODClick
     end
     object RBFMOD: TRadioButton
-      Left = 201
-      Top = 8
-      Width = 72
-      Height = 21
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 161
+      Top = 6
+      Width = 57
+      Height = 17
       Caption = 'FMOD'
       TabOrder = 1
       OnClick = RBFMODClick
     end
     object Button1: TButton
-      Left = 551
-      Top = 28
-      Width = 103
-      Height = 31
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 441
+      Top = 22
+      Width = 82
+      Height = 25
       Anchors = [akTop, akRight]
       Caption = 'Chimes (WAV)'
       TabOrder = 2
       OnClick = Button1Click
     end
     object btnHowl: TButton
-      Left = 551
-      Top = 3
-      Width = 104
-      Height = 31
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 441
+      Top = 2
+      Width = 83
+      Height = 25
       Anchors = [akTop, akRight]
       Caption = 'Howl (MP3)'
       TabOrder = 3
       OnClick = btnHowlClick
     end
     object RBOpenAL: TRadioButton
-      Left = 280
-      Top = 8
-      Width = 81
-      Height = 21
-      Margins.Left = 4
-      Margins.Top = 4
-      Margins.Right = 4
-      Margins.Bottom = 4
+      Left = 224
+      Top = 6
+      Width = 65
+      Height = 17
       Caption = 'OpenAL'
       TabOrder = 4
       OnClick = RBFMODClick

+ 2 - 2
Examples/Demos/sound/3DSound/fSoundAroundC.h

@@ -18,14 +18,14 @@
 #include "GLS.Objects.hpp"
 #include "GLS.Scene.hpp"
 #include "Sounds.BASS.hpp"
+#include "Sounds.BASSImport.hpp"
 #include "Sounds.FMOD.hpp"
 #include "Sounds.OpenAL.hpp"
-#include "GLS.Sound.hpp"
 #include "GLS.SceneViewer.hpp"
 #include "GLS.Utils.hpp"
 #include "GLS.FileWAV.hpp"
 #include "GLS.FileMP3.hpp"
-#include "Sounds.BASSImport.hpp"
+#include "GLS.SoundManager.hpp"
 
 //---------------------------------------------------------------------------
 class TForm1 : public TForm

+ 20 - 24
Examples/Demos/sound/3DSound/fSoundAroundD.dfm

@@ -2,8 +2,8 @@ object FormSoundAround: TFormSoundAround
   Left = 209
   Top = 92
   Caption = 'Sound Around'
-  ClientHeight = 367
-  ClientWidth = 481
+  ClientHeight = 459
+  ClientWidth = 649
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
@@ -15,20 +15,20 @@ object FormSoundAround: TFormSoundAround
   object GLSceneViewer: TGLSceneViewer
     Left = 0
     Top = 73
-    Width = 481
-    Height = 267
+    Width = 649
+    Height = 359
     Camera = GLCamera1
     Buffer.BackgroundColor = clBlack
     Buffer.AntiAliasing = aaNone
-    FieldOfView = 138.934951782226600000
+    FieldOfView = 148.869476318359400000
     PenAsTouch = False
     Align = alClient
     TabOrder = 0
   end
   object TrackBar: TTrackBar
     Left = 0
-    Top = 340
-    Width = 481
+    Top = 432
+    Width = 649
     Height = 27
     Align = alBottom
     Max = 180
@@ -43,7 +43,7 @@ object FormSoundAround: TFormSoundAround
   object TrackBar1: TTrackBar
     Left = 0
     Top = 41
-    Width = 481
+    Width = 649
     Height = 32
     Align = alTop
     Max = 50
@@ -58,13 +58,13 @@ object FormSoundAround: TFormSoundAround
   object Panel1: TPanel
     Left = 0
     Top = 0
-    Width = 481
+    Width = 649
     Height = 41
     Align = alTop
     BevelOuter = bvNone
     TabOrder = 3
     DesignSize = (
-      481
+      649
       41)
     object Label1: TLabel
       Left = 10
@@ -101,7 +101,7 @@ object FormSoundAround: TFormSoundAround
       OnClick = RBFMODClick
     end
     object Button1: TButton
-      Left = 390
+      Left = 558
       Top = 2
       Width = 83
       Height = 25
@@ -111,7 +111,7 @@ object FormSoundAround: TFormSoundAround
       OnClick = Button1Click
     end
     object btnHowl: TButton
-      Left = 301
+      Left = 469
       Top = 2
       Width = 83
       Height = 25
@@ -143,15 +143,7 @@ object FormSoundAround: TFormSoundAround
     MaxChannels = 32
     MasterVolume = 1.000000000000000000
     Listener = Mickey
-    Sources = <
-      item
-        SoundLibrary = GLSoundLibrary
-        Volume = 1.000000000000000000
-        MinDistance = 1.000000000000000000
-        MaxDistance = 100.000000000000000000
-        InsideConeAngle = 360.000000000000000000
-        OutsideConeAngle = 360.000000000000000000
-      end>
+    Sources = <>
     Cadencer = GLCadencer1
     Left = 288
     Top = 80
@@ -167,9 +159,7 @@ object FormSoundAround: TFormSoundAround
     Top = 80
   end
   object GLSoundLibrary: TGLSoundLibrary
-    Samples = <
-      item
-      end>
+    Samples = <>
     Left = 216
     Top = 80
   end
@@ -236,6 +226,12 @@ object FormSoundAround: TFormSoundAround
       Radius = 0.500000000000000000
       Slices = 9
       Stacks = 9
+      BehavioursData = {
+        0458434F4C02010201061054474C42536F756E64456D69747465720200120000
+        00000200020002000200050000000000000080FF3F050000000000000080FF3F
+        0500000000000000C805400500000000000000B407400500000000000000B407
+        400500000000000000000000060E474C536F756E644C696272617279060C6472
+        756D6C6F6F702E7761760808020309}
       object Disk1: TGLDisk
         Direction.Coordinates = {000000000000803F2EBD3BB300000000}
         Position.Coordinates = {00000000000080BF000000000000803F}

+ 12 - 12
Examples/Demos/sound/3DSound/fSoundAroundD.pas

@@ -71,7 +71,7 @@ type
     procedure Button1Click(Sender: TObject);
     procedure btnHowlClick(Sender: TObject);
   private
-
+    Path: TFileName;
   public
 
   end;
@@ -85,7 +85,7 @@ implementation
 
 procedure TFormSoundAround.FormCreate(Sender: TObject);
 begin
-  var Path: TFileName := GetCurrentAssetPath();
+  Path := GetCurrentAssetPath();
   SetCurrentDir(Path  + '\audio');
   // Load our sound samples
   GLSoundLibrary.Samples.AddFile('drumloop.wav', 'drumloop.wav');
@@ -117,6 +117,16 @@ begin
   Application.ProcessMessages;
 end;
 
+procedure TFormSoundAround.Button1Click(Sender: TObject);
+begin
+  with TGLBSoundEmitter.Create(Sphere.Behaviours) do
+  begin
+    Source.SoundLibrary := GLSoundLibrary;
+    Source.SoundName := 'chimes.wav';
+    Playing := True;
+  end;
+end;
+
 procedure TFormSoundAround.TimerTimer(Sender: TObject);
 var
   mngName: String;
@@ -173,16 +183,6 @@ begin
   end;
 end;
 
-procedure TFormSoundAround.Button1Click(Sender: TObject);
-begin
-  with TGLBSoundEmitter.Create(Sphere.Behaviours) do
-  begin
-    Source.SoundLibrary := GLSoundLibrary;
-    Source.SoundName := 'chimes.wav';
-    Playing := True;
-  end;
-end;
-
 procedure TFormSoundAround.btnHowlClick(Sender: TObject);
 begin
   with TGLBSoundEmitter.Create(Sphere.Behaviours) do

+ 12 - 12
Examples/Demos/sound/3DSoundBASS/fSoundBASS.dfm

@@ -2,8 +2,8 @@ object FormSoundBASS: TFormSoundBASS
   Left = 209
   Top = 92
   Caption = 'Sound BASS'
-  ClientHeight = 407
-  ClientWidth = 536
+  ClientHeight = 411
+  ClientWidth = 639
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
@@ -16,20 +16,20 @@ object FormSoundBASS: TFormSoundBASS
   object GLSceneViewer: TGLSceneViewer
     Left = 0
     Top = 66
-    Width = 536
-    Height = 314
+    Width = 639
+    Height = 318
     Camera = GLCamera1
     Buffer.BackgroundColor = clBlack
     Buffer.AntiAliasing = aaNone
-    FieldOfView = 144.669631958007800000
+    FieldOfView = 145.086883544921900000
     PenAsTouch = False
     Align = alClient
     TabOrder = 0
   end
   object TrackBar: TTrackBar
     Left = 0
-    Top = 380
-    Width = 536
+    Top = 384
+    Width = 639
     Height = 27
     Align = alBottom
     Max = 180
@@ -44,7 +44,7 @@ object FormSoundBASS: TFormSoundBASS
   object TrackBar1: TTrackBar
     Left = 0
     Top = 33
-    Width = 536
+    Width = 639
     Height = 33
     Align = alTop
     Max = 50
@@ -59,13 +59,13 @@ object FormSoundBASS: TFormSoundBASS
   object Panel1: TPanel
     Left = 0
     Top = 0
-    Width = 536
+    Width = 639
     Height = 33
     Align = alTop
     BevelOuter = bvNone
     TabOrder = 3
     DesignSize = (
-      536
+      639
       33)
     object LabelFPS: TLabel
       Left = 24
@@ -75,7 +75,7 @@ object FormSoundBASS: TFormSoundBASS
       Caption = 'FPS'
     end
     object btnChimes: TButton
-      Left = 445
+      Left = 548
       Top = 4
       Width = 83
       Height = 25
@@ -85,7 +85,7 @@ object FormSoundBASS: TFormSoundBASS
       OnClick = btnChimesClick
     end
     object btnHowl: TButton
-      Left = 356
+      Left = 459
       Top = 2
       Width = 83
       Height = 25

+ 5 - 6
Examples/Demos/sound/3DSoundBASS/fSoundBASS.pas

@@ -61,7 +61,7 @@ type
     procedure btnChimesClick(Sender: TObject);
     procedure btnHowlClick(Sender: TObject);
   private
-
+    Path: TFileName;
   public
 
   end;
@@ -75,7 +75,7 @@ implementation
 
 procedure TFormSoundBASS.FormCreate(Sender: TObject);
 begin
-  var Path: TFileName := GetCurrentAssetPath();
+  Path := GetCurrentAssetPath();
   SetCurrentDir(Path  + '\audio');
   // Load our sound samples
   GLSoundLibrary.Samples.AddFile('drumloop.wav', 'drumloop.wav');
@@ -118,8 +118,7 @@ begin
     mngName := '';
   if ActiveSoundManager <> nil then
     LabelFPS.Caption := Format('%.2f FPS, %s CPU use : %.2f%%',
-      [GLSceneViewer.FramesPerSecond, mngName,
-      ActiveSoundManager.CPUUsagePercent])
+      [GLSceneViewer.FramesPerSecond, mngName, ActiveSoundManager.CPUUsagePercent])
   else
     LabelFPS.Caption := 'No active sound manager.';
   GLSceneViewer.ResetPerformanceMonitor;
@@ -127,7 +126,7 @@ end;
 
 procedure TFormSoundBASS.btnChimesClick(Sender: TObject);
 begin
-  with TGLBSoundEmitter.Create(Sphere.Behaviours) do
+  with TGLBSoundEmitter.Create(SphereSound.Behaviours) do
   begin
     Source.SoundLibrary := GLSoundLibrary;
     Source.SoundName := 'chimes.wav';
@@ -137,7 +136,7 @@ end;
 
 procedure TFormSoundBASS.btnHowlClick(Sender: TObject);
 begin
-  with TGLBSoundEmitter.Create(Sphere.Behaviours) do
+  with TGLBSoundEmitter.Create(SphereSound.Behaviours) do
   begin
     Source.SoundLibrary := GLSoundLibrary;
     Source.SoundName := 'howl.mp3';

+ 5 - 6
Examples/Demos/sound/3DSoundOpenAL/SoundOpenAL.dproj

@@ -101,10 +101,9 @@
         <VerInfo_Keys>CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName)</VerInfo_Keys>
         <Icon_MainIcon>$(BDS)\bin\delphi_PROJECTICON.ico</Icon_MainIcon>
         <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
-        <DCC_ExeOutput>.\$(Platform)\$(Config)</DCC_ExeOutput>
         <VerInfo_Locale>1033</VerInfo_Locale>
         <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
-        <DCC_DcuOutput>.\$(Platform)\$(Config)</DCC_DcuOutput>
+        <AppDPIAwarenessMode>none</AppDPIAwarenessMode>
         <BT_BuildType>Debug</BT_BuildType>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Cfg_2_Win64)'!=''">
@@ -146,10 +145,10 @@
                     <Source Name="MainSource">SoundOpenAL.dpr</Source>
                 </Source>
                 <Excluded_Packages>
-                    <Excluded_Packages Name="$(BDSBIN)\bcboffice2k240.bpl">Embarcadero C++Builder Office 2000 Servers Package</Excluded_Packages>
-                    <Excluded_Packages Name="$(BDSBIN)\bcbofficexp240.bpl">Embarcadero C++Builder Office XP Servers Package</Excluded_Packages>
-                    <Excluded_Packages Name="$(BDSBIN)\dcloffice2k240.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
-                    <Excluded_Packages Name="$(BDSBIN)\dclofficexp240.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\bcboffice2k280.bpl">Embarcadero C++Builder Office 2000 Servers Package</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\bcbofficexp280.bpl">Embarcadero C++Builder Office XP Servers Package</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\dcloffice2k280.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
+                    <Excluded_Packages Name="$(BDSBIN)\dclofficexp280.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
                 </Excluded_Packages>
             </Delphi.Personality>
             <Platforms>

+ 20 - 17
Examples/Demos/sound/3DSoundOpenAL/fSoundOpenAL.dfm

@@ -2,35 +2,33 @@ object Form1: TForm1
   Left = 209
   Top = 92
   Caption = 'Sound OpenAL'
-  ClientHeight = 347
-  ClientWidth = 475
+  ClientHeight = 407
+  ClientWidth = 638
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
   Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Style = []
-  OldCreateOrder = False
   OnCreate = FormCreate
-  PixelsPerInch = 96
   TextHeight = 13
   object GLSceneViewer: TGLSceneViewer
     Left = 0
     Top = 66
-    Width = 475
-    Height = 254
+    Width = 638
+    Height = 314
     Camera = GLCamera1
     Buffer.BackgroundColor = clBlack
     Buffer.AntiAliasing = aaNone
-    FieldOfView = 137.020797729492200000
+    FieldOfView = 144.669631958007800000
     PenAsTouch = False
     Align = alClient
     TabOrder = 0
   end
   object TrackBar: TTrackBar
     Left = 0
-    Top = 320
-    Width = 475
+    Top = 380
+    Width = 638
     Height = 27
     Align = alBottom
     Max = 180
@@ -45,7 +43,7 @@ object Form1: TForm1
   object TrackBar1: TTrackBar
     Left = 0
     Top = 33
-    Width = 475
+    Width = 638
     Height = 33
     Align = alTop
     Max = 50
@@ -60,13 +58,13 @@ object Form1: TForm1
   object Panel1: TPanel
     Left = 0
     Top = 0
-    Width = 475
+    Width = 638
     Height = 33
     Align = alTop
     BevelOuter = bvNone
     TabOrder = 3
     DesignSize = (
-      475
+      638
       33)
     object LabelFPS: TLabel
       Left = 8
@@ -75,24 +73,23 @@ object Form1: TForm1
       Height = 13
       Caption = 'FPS'
     end
-    object Button1: TButton
-      Left = 384
+    object btnChimes: TButton
+      Left = 547
       Top = 3
       Width = 83
       Height = 25
       Anchors = [akTop, akRight]
       Caption = 'Chimes (WAV)'
       TabOrder = 0
-      OnClick = Button1Click
+      OnClick = btnChimesClick
     end
     object btnHowl: TButton
-      Left = 295
+      Left = 458
       Top = 3
       Width = 83
       Height = 25
       Anchors = [akTop, akRight]
       Caption = 'Howl (MP3)'
-      Enabled = False
       TabOrder = 1
       OnClick = btnHowlClick
     end
@@ -137,6 +134,12 @@ object Form1: TForm1
         Radius = 0.500000000000000000
         Slices = 9
         Stacks = 9
+        BehavioursData = {
+          0458434F4C02010201061054474C42536F756E64456D69747465720200060D53
+          6F756E6420456D69747465720200020002000200050000000000000080FF3F05
+          0000000000000080FF3F0500000000000000C805400500000000000000B40740
+          0500000000000000B407400500000000000000000000060E474C536F756E644C
+          69627261727912000000000808020109}
         object Sphere2: TGLSphere
           Position.Coordinates = {CDCCCC3ECDCC4C3E000000000000803F}
           Radius = 0.300000011920929000

+ 49 - 48
Examples/Demos/sound/3DSoundOpenAL/fSoundOpenAL.pas

@@ -20,7 +20,9 @@ uses
   GLS.SceneViewer,
   GLS.GeomObjects,
   Sounds.OpenAL,
+  
 
+  GLS.VectorGeometry,
   GLS.Coordinates,
   GLS.BaseClasses,
   GLS.FileWAV,
@@ -33,13 +35,13 @@ type
     GLSceneViewer: TGLSceneViewer;
     GLCamera1: TGLCamera;
     DummyCube: TGLDummyCube;
-    Sphere: TGLSphere;
     GLLightSource: TGLLightSource;
     GLSMOpenAL: TGLSMOpenAL;
     GLSoundLibrary: TGLSoundLibrary;
     GLCadencer1: TGLCadencer;
     Timer: TTimer;
     Mickey: TGLSphere;
+    Sphere: TGLSphere;
     Sphere2: TGLSphere;
     Sphere3: TGLSphere;
     Cone1: TGLCone;
@@ -49,21 +51,20 @@ type
     Torus1: TGLTorus;
     TrackBar1: TTrackBar;
     Panel1: TPanel;
-    Button1: TButton;
+    btnChimes: TButton;
     btnHowl: TButton;
     LabelFPS: TLabel;
-    procedure SphereProgress(Sender: TObject; const deltaTime,
-      newTime: Double);
+    procedure SphereProgress(Sender: TObject; const deltaTime, newTime: Double);
     procedure TimerTimer(Sender: TObject);
     procedure TrackBarChange(Sender: TObject);
     procedure TrackBar1Change(Sender: TObject);
     procedure FormCreate(Sender: TObject);
-    procedure Button1Click(Sender: TObject);
+    procedure btnChimesClick(Sender: TObject);
     procedure btnHowlClick(Sender: TObject);
   private
-     
+    Path: TFileName;
   public
-     
+
   end;
 
 var
@@ -73,74 +74,74 @@ implementation
 
 {$R *.DFM}
 
-uses
-  GLS.VectorGeometry;
-
 procedure TForm1.FormCreate(Sender: TObject);
 begin
-  SetCurrentDirToAssets;
+  Path := GetCurrentAssetPath();
+  SetCurrentDir(Path + '\audio');
   // Load our sound sample
-  GLSoundLibrary.Samples.AddFile('drumloop.wav','drumloop.wav');
-  GLSoundLibrary.Samples.AddFile('chimes.wav','chimes.wav');
-  GLSoundLibrary.Samples.AddFile('howl.mp3','howl.mp3');
+  GLSoundLibrary.Samples.AddFile('drumloop.wav', 'drumloop.wav');
+  GLSoundLibrary.Samples.AddFile('chimes.wav', 'chimes.wav');
+  GLSoundLibrary.Samples.AddFile('howl.mp3', 'howl.mp3');
 end;
 
-procedure TForm1.SphereProgress(Sender: TObject; const deltaTime,
-  newTime: Double);
+procedure TForm1.SphereProgress(Sender: TObject; const deltaTime, newTime: Double);
 var
-   alpha : Single;
+  alpha: Single;
 begin
-   // Move the red sphere (sound source) along an elliptic path
-   alpha:=60*DegToRad(newTime);
-   TGLSphere(Sender).Position.SetPoint(sin(alpha)*2, 0.5, cos(alpha)*5);
+  // Move the red sphere (sound source) along an elliptic path
+  alpha := 60 * DegToRad(newTime);
+  TGLSphere(Sender).Position.SetPoint(sin(alpha) * 2, 0.5, cos(alpha) * 5);
 end;
 
 procedure TForm1.TrackBarChange(Sender: TObject);
 begin
-   // Rotate the listener around the vertical axis
-   DummyCube.TurnAngle:=TrackBar.Position;
-   Application.ProcessMessages;
+  // Rotate the listener around the vertical axis
+  DummyCube.TurnAngle := TrackBar.Position;
+  Application.ProcessMessages;
 end;
 
 procedure TForm1.TrackBar1Change(Sender: TObject);
 begin
-   // Move the listener forward/back
-   Mickey.Position.Z:=TrackBar1.Position/10;
-   Application.ProcessMessages;
+  // Move the listener forward/back
+  Mickey.Position.Z := TrackBar1.Position / 10;
+  Application.ProcessMessages;
 end;
 
 procedure TForm1.TimerTimer(Sender: TObject);
 var
-   mngName : String;
+  mngName: String;
 begin
-   // some stats
-   if ActiveSoundManager is TGLSMOpenAL then
-      mngName:='OpenAL'
-   else mngName:='';
-   if ActiveSoundManager<>nil then
-      LabelFPS.Caption:=Format('%.2f FPS, %s CPU use : %.2f%%',
-                      [GLSceneViewer.FramesPerSecond, mngName,
-                       ActiveSoundManager.CPUUsagePercent])
-   else LabelFPS.Caption:='No active sound manager.';
-   GLSceneViewer.ResetPerformanceMonitor;
+  // some stats
+  if ActiveSoundManager is TGLSMOpenAL then
+    mngName := 'OpenAL'
+  else
+    mngName := '';
+  if ActiveSoundManager <> nil then
+    LabelFPS.Caption := Format('%.2f FPS, %s CPU use : %.2f%%',
+      [GLSceneViewer.FramesPerSecond, mngName, ActiveSoundManager.CPUUsagePercent])
+  else
+    LabelFPS.Caption := 'No active sound manager.';
+  GLSceneViewer.ResetPerformanceMonitor;
 end;
 
-procedure TForm1.Button1Click(Sender: TObject);
+procedure TForm1.btnChimesClick(Sender: TObject);
 begin
-   with TGLBSoundEmitter.Create(Sphere.Behaviours) do begin
-      Source.SoundLibrary:=GLSoundLibrary;
-      Source.SoundName:='chimes.wav';
-      Playing:=True;
-   end;
+  with TGLBSoundEmitter.Create(Sphere.Behaviours) do
+  begin
+    Source.SoundLibrary := GLSoundLibrary;
+    Source.SoundName := 'chimes.wav';
+    Playing := True;
+  end;
 end;
 
 procedure TForm1.btnHowlClick(Sender: TObject);
 begin
-   with TGLBSoundEmitter.Create(Sphere.Behaviours) do begin
-      Source.SoundLibrary:=GLSoundLibrary;
-      Source.SoundName:='howl.mp3';
-      Playing:=True;
-   end;       
+  with TGLBSoundEmitter.Create(Sphere.Behaviours) do
+  begin
+    Source.SoundLibrary := GLSoundLibrary;
+    Source.SoundName := 'howl.mp3';
+    Playing := True;
+  end;
 end;
 
 end.

+ 20 - 14
Examples/Demos/sound/3DSoundWaveOut/fSoundWaveout.dfm

@@ -2,35 +2,35 @@ object FormSoundWaveout: TFormSoundWaveout
   Left = 209
   Top = 92
   Caption = 'Sound WaveOut'
-  ClientHeight = 347
-  ClientWidth = 475
+  ClientHeight = 424
+  ClientWidth = 596
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
   Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Style = []
-  OldCreateOrder = False
   OnCreate = FormCreate
-  PixelsPerInch = 96
   TextHeight = 13
   object GLSceneViewer: TGLSceneViewer
     Left = 0
     Top = 66
-    Width = 475
-    Height = 254
+    Width = 596
+    Height = 331
     Camera = GLCamera1
     Buffer.BackgroundColor = clBlack
     Buffer.AntiAliasing = aaNone
-    FieldOfView = 137.020797729492200000
+    FieldOfView = 146.379318237304700000
     PenAsTouch = False
     Align = alClient
     TabOrder = 0
+    ExplicitWidth = 550
+    ExplicitHeight = 296
   end
   object TrackBar: TTrackBar
     Left = 0
-    Top = 320
-    Width = 475
+    Top = 397
+    Width = 596
     Height = 27
     Align = alBottom
     Max = 180
@@ -41,11 +41,13 @@ object FormSoundWaveout: TFormSoundWaveout
     ThumbLength = 10
     TickMarks = tmBoth
     OnChange = TrackBarChange
+    ExplicitTop = 320
+    ExplicitWidth = 475
   end
   object TrackBar1: TTrackBar
     Left = 0
     Top = 33
-    Width = 475
+    Width = 596
     Height = 33
     Align = alTop
     Max = 50
@@ -56,17 +58,19 @@ object FormSoundWaveout: TFormSoundWaveout
     ThumbLength = 10
     TickMarks = tmBoth
     OnChange = TrackBar1Change
+    ExplicitWidth = 475
   end
   object Panel1: TPanel
     Left = 0
     Top = 0
-    Width = 475
+    Width = 596
     Height = 33
     Align = alTop
     BevelOuter = bvNone
     TabOrder = 3
+    ExplicitWidth = 475
     DesignSize = (
-      475
+      596
       33)
     object LabelFPS: TLabel
       Left = 8
@@ -76,7 +80,7 @@ object FormSoundWaveout: TFormSoundWaveout
       Caption = 'FPS'
     end
     object Button1: TButton
-      Left = 384
+      Left = 505
       Top = 4
       Width = 83
       Height = 25
@@ -84,9 +88,10 @@ object FormSoundWaveout: TFormSoundWaveout
       Caption = 'Chimes (WAV)'
       TabOrder = 0
       OnClick = Button1Click
+      ExplicitLeft = 384
     end
     object btnHowl: TButton
-      Left = 295
+      Left = 416
       Top = 2
       Width = 83
       Height = 25
@@ -94,6 +99,7 @@ object FormSoundWaveout: TFormSoundWaveout
       Caption = 'Howl (MP3)'
       TabOrder = 1
       OnClick = btnHowlClick
+      ExplicitLeft = 295
     end
   end
   object GLSMWaveOut: TGLSMWaveOut

+ 1 - 1
Readme.txt

@@ -8,5 +8,5 @@ TensorFlow, FNN and CIA for OpenAI on neural networks.
 The hierarchy of spatial smart objects with sense properties has been expanded. 
 Includes improvements in GPU parallel computing using CUDA/OpenCL components 
 for developing OpenGL applications for Win32/Win64.
----------------------------------------------------------------------------
+----------------------------------------------------------------------------------
 GLS Team

+ 0 - 1
Source/GLS.TilePlane.pas

@@ -644,7 +644,6 @@ end;
 
 // -------------------------------------------------------------
 initialization
-
 // -------------------------------------------------------------
 
 RegisterClasses([TGLTilePlane, TGLTiledAreaRow, TGLTiledArea]);

+ 7 - 7
Source/GLS.WindowsFont.pas

@@ -32,12 +32,12 @@ uses
 
 type
 
-  (* A bitmap font automatically built from a TFont. 
+  (* A bitmap font automatically built from a TFont.
      It works like a TGLBitmapfont, you set ranges and which chars are assigned
      to which indexes, however here you also set the Font property to any TFont
      available to the system and it renders in GLScene as close to that font
      as posible, on some font types this is 100% on some a slight difference
-     in spacing can occur at most 1 pixel per char on some char combinations. 
+     in spacing can occur at most 1 pixel per char on some char combinations.
      Ranges must be sorted in ascending ASCII order and should not overlap.
      As the font texture is automatically layed out, the Ranges StartGlyphIdx
      property is ignored and replaced appropriately. *)
@@ -224,7 +224,7 @@ procedure TGLWindowsBitmapFont.LoadWindowsFont;
 
 var
   bitmap: TBitmap;
-  ch: widechar;
+  ch: WideChar;
   i, cw, nbChars, n: Integer;
 begin
   InvalidateUsers;
@@ -264,15 +264,15 @@ begin
   for i := 0 to nbChars - 1 do
   begin
     ch := TileIndexToChar(i);
-    cw := GetTextSize(bitmap.canvas.Handle, @ch, 1).cx-HSpaceFix;
+    cw := GetTextSize(bitmap.Canvas.Handle, @ch, 1).cx-HSpaceFix;
     n  := n + cw + GlyphsIntervalX;
     SetCharWidths(i, cw);
   end;
   //try to make best guess...
   //~total pixels, including some waste (10%)
   n := n * (CharHeight + GlyphsIntervalY) * 11 div 10;
-  TextureWidth := min(512, RoundUpToPowerOf2( round(sqrt(n)) ));
-  TextureHeight := min(512, RoundUpToPowerOf2( n div TextureWidth));
+  TextureWidth := min(512, RoundUpToPowerOf2(Round(Sqrt(n))));
+  TextureHeight := min(512, RoundUpToPowerOf2(n div TextureWidth));
 
   bitmap.Width := TextureWidth;
 
@@ -358,7 +358,7 @@ var
   ACharList : TGLIntegerList;
 begin
   ACharList := TGLIntegerList.Create;
-  for i := 1 to length(s) do
+  for i := 1 to Length(s) do
       ACharList.Add(integer(s[i]));
   SetList(ACharList);
   ACharList.Free;

+ 0 - 86
_cleanfordelphi.cmd

@@ -1,86 +0,0 @@
-@echo off delete exe and xml docs
-del *.exe /s  
-del *.scr /s
-del *.xml /s
-
-@echo off delete delphi units and generated packages 
-del *.bpl /s
-del *.dcp /s
-del *.rsm /s
-del *.dcu /s
-del *.bak /s
-
-@echo off delete C++ includes and libs
-del *.hpp /s
-del *.bpi /s
-del *.lib /s
-
-@echo off delete debug files
-del *.ddp /s
-del *.ppu /s
-del *.o /s
-del *.~* /s
-del *.log /s
-del *.dsk /s
-del *.dof /s
-del *.bk? /s
-del *.mps /s
-del *.rst /s
-del *.s /s
-del *.a /s
-del *.map /s
-del *.drc /s
-del *.local /s
-
-@echo off delete more rad studio files
-
-del *.identcache /s
-del *.otares /s
-del *.tvsconfig /s
-del *.stat /s
-del *.db /s
-
-@echo off delete more cpp builder files
-
-del *.#00 /s
-del *.pch /s
-del *.tds /s
-del *.ilc /s
-del *.ild /s
-del *.ilf /s
-del *.ils /s
-del *.pdi /s
-del *.vlb /s
-
-echo ************************************************
-echo             Don't delete some files
-echo ************************************************
-
-attrib +R "AdvDemos/Q3Demo/Model/animation.cfg"
-rem del *.cfg /s - there are quake's animations
-attrib -R "AdvDemos/Q3Demo/Model/animation.cfg"
-
-rem del *.res /s  - some apps load/save resources in RES files
-rem del *.ico /s  - some projects have own icos
-rem del *.cur /s  - cursors
-rem del *.obj /s  - obj models in assets or resources for lazarus
-
-echo---------------------------------------------------------
-
-echo delete all .svn directories with subdirectories and files 
-for /r %1 %%R in (.svn) do if exist "%%R" (rd /s /q "%%R")
-echo delete all .git directories with subdirectories and files 
-for /r %1 %%R in (.git) do if exist "%%R" (rd /s /q "%%R")
-
-echo---------------------------------------------------------
-
-echo delete debug and Platform directories with all subdirectories and files 
-rem    for /r %1 %%R in (Win32) do if exist "%%R" (rd /s /q "%%R")
-rem    for /r %1 %%R in (Win64) do if exist "%%R" (rd /s /q "%%R")
-for /r %1 %%R in (Debug_Build) do if exist "%%R" (rd /s /q "%%R")
-for /r %1 %%R in (Debug) do if exist "%%R" (rd /s /q "%%R")
-for /r %1 %%R in (Release_Build) do if exist "%%R" (rd /s /q "%%R")
-for /r %1 %%R in (Release) do if exist "%%R" (rd /s /q "%%R")
-for /r %1 %%R in (__history) do if exist "%%R" (rd /s /q "%%R")
-for /r %1 %%R in (__recovery) do if exist "%%R" (rd /s /q "%%R")
-for /r %1 %%R in (__astcache) do if exist "%%R" (rd /s /q "%%R")

+ 0 - 0
_cleanforcpp.cmd → _cleanrelease.cmd


+ 1 - 1
include/Win32/GLS.TilePlane.hpp

@@ -100,7 +100,7 @@ public:
 	DYNAMIC void __fastcall WriteToFiler(Gls::Persistentclasses::TGLVirtualWriter* writer);
 	DYNAMIC void __fastcall ReadFromFiler(Gls::Persistentclasses::TGLVirtualReader* reader);
 	__property int Tile[int col][int row] = {read=GetTile, write=SetTile/*, default*/};
-	__property TGLTiledAreaRow* Row[int index] = {read=GetRow};
+	__property TGLTiledAreaRow* row[int index] = {read=GetRow};
 	__property int RowMin = {read=FRowMin, write=SetRowMin, nodefault};
 	__property int RowMax = {read=FRowMax, write=SetRowMax, nodefault};
 	void __fastcall Pack();

BIN
lib/Win32/GLScene_Physics_DT.bpi


BIN
lib/Win32/GLScene_Physics_RT.bpi


BIN
lib/Win32/GLScene_Physics_RT.lib


BIN
lib/Win32/GLScene_RT.bpi


BIN
lib/Win32/GLScene_RT.lib


BIN
lib/Win32/GLScene_Sounds_RT.lib