浏览代码

Included fonts in assets

GLScene 2 年之前
父节点
当前提交
bb35409437
共有 43 个文件被更改,包括 402 次插入511 次删除
  1. 0 0
      Assets/Font/darkgold_font.bmp
  2. 二进制
      Assets/Font/lat20cyr_font.bmp
  3. 二进制
      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. 二进制
      lib/Win32/GLScene_Physics_DT.bpi
  39. 二进制
      lib/Win32/GLScene_Physics_RT.bpi
  40. 二进制
      lib/Win32/GLScene_Physics_RT.lib
  41. 二进制
      lib/Win32/GLScene_RT.bpi
  42. 二进制
      lib/Win32/GLScene_RT.lib
  43. 二进制
      lib/Win32/GLScene_Sounds_RT.lib

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


二进制
Assets/Font/lat20cyr_font.bmp


二进制
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)'!=''">
     <PropertyGroup Condition="'$(Base)'!=''">
         <SanitizedProjectName>FxyC</SanitizedProjectName>
         <SanitizedProjectName>FxyC</SanitizedProjectName>
         <Icon_MainIcon>$(BDS)\bin\cbuilder_PROJECTICON.ico</Icon_MainIcon>
         <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>
         <ProjectType>CppVCLApplication</ProjectType>
         <Multithreaded>true</Multithreaded>
         <Multithreaded>true</Multithreaded>
         <_TCHARMapping>wchar_t</_TCHARMapping>
         <_TCHARMapping>wchar_t</_TCHARMapping>
@@ -122,7 +122,7 @@
         <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
         <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
         <ILINK_LibraryPath>$(BDSCOMMONDIR)\Dcp;$(BDSLIB)\$(PLATFORM)$(CC_SUFFIX)\debug;$(ILINK_LibraryPath)</ILINK_LibraryPath>
         <ILINK_LibraryPath>$(BDSCOMMONDIR)\Dcp;$(BDSLIB)\$(PLATFORM)$(CC_SUFFIX)\debug;$(ILINK_LibraryPath)</ILINK_LibraryPath>
         <Defines>_DEBUG;$(Defines)</Defines>
         <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_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
         <VerInfo_Locale>1033</VerInfo_Locale>
         <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>
         <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
   Left = 192
   Top = 121
   Top = 121
   Caption = 'Fxy '
   Caption = 'Fxy '
-  ClientHeight = 670
-  ClientWidth = 846
+  ClientHeight = 536
+  ClientWidth = 677
   Color = clBtnFace
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
   Font.Color = clWindowText
-  Font.Height = -14
+  Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Name = 'MS Sans Serif'
   Font.Style = []
   Font.Style = []
   WindowState = wsMaximized
   WindowState = wsMaximized
   OnCreate = FormCreate
   OnCreate = FormCreate
   OnMouseWheel = FormMouseWheel
   OnMouseWheel = FormMouseWheel
-  PixelsPerInch = 120
-  TextHeight = 16
+  TextHeight = 13
   object Viewer: TGLSceneViewer
   object Viewer: TGLSceneViewer
     Left = 0
     Left = 0
     Top = 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
     Camera = Camera
     Buffer.BackgroundColor = clTeal
     Buffer.BackgroundColor = clTeal
     Buffer.AntiAliasing = aa4xHQ
     Buffer.AntiAliasing = aa4xHQ
-    FieldOfView = 132.487487792968800000
+    FieldOfView = 122.320289611816400000
     PenAsTouch = False
     PenAsTouch = False
     Align = alClient
     Align = alClient
     OnMouseDown = ViewerMouseDown
     OnMouseDown = ViewerMouseDown
@@ -31,74 +34,83 @@ object Form1: TForm1
     TabOrder = 0
     TabOrder = 0
   end
   end
   object Panel1: TPanel
   object Panel1: TPanel
-    Left = 568
+    Left = 454
     Top = 0
     Top = 0
-    Width = 278
-    Height = 670
-    Margins.Left = 4
-    Margins.Top = 4
-    Margins.Right = 4
-    Margins.Bottom = 4
+    Width = 223
+    Height = 536
     Align = alRight
     Align = alRight
     TabOrder = 1
     TabOrder = 1
     object Label1: TLabel
     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'
       Caption = 'XYZ grid position'
     end
     end
     object TrackBar1: TTrackBar
     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
       Min = -10
       Orientation = trVertical
       Orientation = trVertical
       TabOrder = 0
       TabOrder = 0
-      ThumbLength = 25
       OnChange = TrackBar1Change
       OnChange = TrackBar1Change
     end
     end
     object TrackBar2: TTrackBar
     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
       Min = -10
       Orientation = trVertical
       Orientation = trVertical
       TabOrder = 1
       TabOrder = 1
-      ThumbLength = 25
       OnChange = TrackBar2Change
       OnChange = TrackBar2Change
     end
     end
     object TrackBar3: TTrackBar
     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
       Min = -10
       Orientation = trVertical
       Orientation = trVertical
       TabOrder = 2
       TabOrder = 2
-      ThumbLength = 25
       OnChange = TrackBar3Change
       OnChange = TrackBar3Change
     end
     end
     object CheckBox1: TCheckBox
     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'
       Caption = 'Centered Grids'
       TabOrder = 3
       TabOrder = 3
       OnClick = CheckBox1Click
       OnClick = CheckBox1Click
     end
     end
     object RadioGroup1: TRadioGroup
     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'
       Caption = 'Formula'
       ItemIndex = 3
       ItemIndex = 3
       Items.Strings = (
       Items.Strings = (
@@ -110,6 +122,14 @@ object Form1: TForm1
       OnClick = RadioGroup1Click
       OnClick = RadioGroup1Click
     end
     end
   end
   end
+  object Edit1: TEdit
+    Left = 112
+    Top = 72
+    Width = 121
+    Height = 21
+    TabOrder = 2
+    Text = 'Edit1'
+  end
   object GLScene1: TGLScene
   object GLScene1: TGLScene
     Left = 80
     Left = 80
     Top = 48
     Top = 48

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

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

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

@@ -3,7 +3,7 @@ object Form1: TForm1
   Top = 0
   Top = 0
   Caption = 'Windows Font'
   Caption = 'Windows Font'
   ClientHeight = 387
   ClientHeight = 387
-  ClientWidth = 531
+  ClientWidth = 747
   Color = clBtnFace
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
   Font.Color = clWindowText
@@ -11,12 +11,13 @@ object Form1: TForm1
   Font.Name = 'Tahoma'
   Font.Name = 'Tahoma'
   Font.Style = []
   Font.Style = []
   Menu = MainMenu1
   Menu = MainMenu1
+  Position = poScreenCenter
   OnCreate = FormCreate
   OnCreate = FormCreate
   TextHeight = 13
   TextHeight = 13
   object GLSceneViewer1: TGLSceneViewer
   object GLSceneViewer1: TGLSceneViewer
     Left = 0
     Left = 0
     Top = 0
     Top = 0
-    Width = 531
+    Width = 747
     Height = 387
     Height = 387
     Camera = GLCamera1
     Camera = GLCamera1
     Buffer.BackgroundColor = clBackground
     Buffer.BackgroundColor = clBackground
@@ -25,6 +26,7 @@ object Form1: TForm1
     Align = alClient
     Align = alClient
     OnClick = GLSceneViewer1Click
     OnClick = GLSceneViewer1Click
     TabOrder = 0
     TabOrder = 0
+    ExplicitWidth = 657
   end
   end
   object GLScene1: TGLScene
   object GLScene1: TGLScene
     ObjectsSorting = osNone
     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
    // Load the font bitmap from media dir
    TFileName Path = GetCurrentAssetPath();
    TFileName Path = GetCurrentAssetPath();
-   SetCurrentDir(Path  + "\\texture");
+   SetCurrentDir(Path  + "\\font");
    BitmapFont1->Glyphs->LoadFromFile("darkgold_font.bmp");
    BitmapFont1->Glyphs->LoadFromFile("darkgold_font.bmp");
    // sorry, couldn't resist...
    // sorry, couldn't resist...
 
 

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

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

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

@@ -60,7 +60,7 @@ procedure TFormBmpFont.FormCreate(Sender: TObject);
 begin
 begin
   // Load the font bitmap from asset dir
   // Load the font bitmap from asset dir
   var Path: TFileName := GetCurrentAssetPath();
   var Path: TFileName := GetCurrentAssetPath();
-  SetCurrentDir(Path  + '\texture');
+  SetCurrentDir(Path  + '\font');
   BitmapFont1.Glyphs.LoadFromFile('darkgold_font.bmp');
   BitmapFont1.Glyphs.LoadFromFile('darkgold_font.bmp');
   // sorry, couldn't resist...
   // sorry, couldn't resist...
   {$IFDEF WIN32}
   {$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)
 void __fastcall TForm1::FormCreate(TObject *Sender)
 {
 {
    TFileName Path = GetCurrentAssetPath();
    TFileName Path = GetCurrentAssetPath();
+   SetCurrentDir(Path  + "\\font");
    BitmapFont->Glyphs->LoadFromFile("toonfont.bmp");
    BitmapFont->Glyphs->LoadFromFile("toonfont.bmp");
 }
 }
 //---------------------------------------------------------------------------
 //---------------------------------------------------------------------------
 void __fastcall TForm1::GLTimeEventsMGR1Events0Event(TTimeEvent *event)
 void __fastcall TForm1::GLTimeEventsMGR1Events0Event(TTimeEvent *event)
 {
 {
    if (FadeOutCount < 0) exit;
    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--;
    FadeOutCount--;
 }
 }
 //---------------------------------------------------------------------------
 //---------------------------------------------------------------------------
@@ -48,10 +49,10 @@ void __fastcall TForm1::GLTimeEventsMGR1Events1Event(TTimeEvent *event)
    FadeOutCount = FadeOutMax;
    FadeOutCount = FadeOutMax;
    FadeInCount = 0;
    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)
 void __fastcall TForm1::GLTimeEventsMGR1Events2Event(TTimeEvent *event)
@@ -61,7 +62,7 @@ void __fastcall TForm1::GLTimeEventsMGR1Events2Event(TTimeEvent *event)
 
 
    NewColor = VectorScale(OriginalColor, FadeInCount/FadeInMax);
    NewColor = VectorScale(OriginalColor, FadeInCount/FadeInMax);
 
 
-   HUDText2->ModulateColor->Color = NewColor;
+   HUDTextTheEnd->ModulateColor->Color = NewColor;
    FadeInCount++;
    FadeInCount++;
 }
 }
 //---------------------------------------------------------------------------
 //---------------------------------------------------------------------------

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

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

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

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

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

@@ -69,7 +69,7 @@ var
 procedure TFormFontColor.FormCreate(Sender: TObject);
 procedure TFormFontColor.FormCreate(Sender: TObject);
 begin
 begin
    var Path: TFileName := GetCurrentAssetPath();
    var Path: TFileName := GetCurrentAssetPath();
-   SetCurrentDir(Path  + '\texture');
+   SetCurrentDir(Path  + '\font');
    BitmapFont.Glyphs.LoadFromFile('toonfont.bmp');
    BitmapFont.Glyphs.LoadFromFile('toonfont.bmp');
 end;
 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)
     // apply texture map scale (our heightmap size is 256)
     TerrainRenderer1->TilesPerTexture = 256.0 / TerrainRenderer1->TileSize;
     TerrainRenderer1->TilesPerTexture = 256.0 / TerrainRenderer1->TileSize;
     // Load Bitmap Font
     // Load Bitmap Font
+	SetCurrentDir(Path + "\\font");
     BitmapFont1->Glyphs->LoadFromFile("darkgold_font.bmp");
     BitmapFont1->Glyphs->LoadFromFile("darkgold_font.bmp");
 
 
     // Load and setup sound samples
     // 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)
   // apply texture map scale (our heightmap size is 256)
   TerrainRenderer1.TilesPerTexture := 256 / TerrainRenderer1.TileSize;
   TerrainRenderer1.TilesPerTexture := 256 / TerrainRenderer1.TileSize;
   // Load Bitmap Font
   // Load Bitmap Font
+  SetCurrentDir(Path  + '\font');
   BitmapFont1.Glyphs.LoadFromFile('darkgold_font.bmp');
   BitmapFont1.Glyphs.LoadFromFile('darkgold_font.bmp');
 
 
   // Load and setup sound samples
   // Load and setup sound samples

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

@@ -8,7 +8,6 @@ object FormObjmove: TFormObjmove
   ParentFont = True
   ParentFont = True
   KeyPreview = True
   KeyPreview = True
   Position = poScreenCenter
   Position = poScreenCenter
-  WindowState = wsMaximized
   OnCreate = FormCreate
   OnCreate = FormCreate
   OnKeyPress = FormKeyPress
   OnKeyPress = FormKeyPress
   OnKeyUp = FormKeyUp
   OnKeyUp = FormKeyUp
@@ -56,8 +55,7 @@ object FormObjmove: TFormObjmove
       Caption = 'Default movement is on the XY plane.'
       Caption = 'Default movement is on the XY plane.'
       ShowAccelChar = False
       ShowAccelChar = False
       WordWrap = True
       WordWrap = True
-      ExplicitTop = 60
-      ExplicitWidth = 159
+      ExplicitWidth = 163
     end
     end
     object Label4: TLabel
     object Label4: TLabel
       Left = 0
       Left = 0
@@ -68,7 +66,6 @@ object FormObjmove: TFormObjmove
       Caption = 'Shift + Drag moves on the XZ plane.'
       Caption = 'Shift + Drag moves on the XZ plane.'
       ShowAccelChar = False
       ShowAccelChar = False
       WordWrap = True
       WordWrap = True
-      ExplicitTop = 100
       ExplicitWidth = 153
       ExplicitWidth = 153
     end
     end
     object Button1: TButton
     object Button1: TButton
@@ -87,8 +84,6 @@ object FormObjmove: TFormObjmove
       Align = alTop
       Align = alTop
       Caption = 'Options'
       Caption = 'Options'
       TabOrder = 1
       TabOrder = 1
-      ExplicitLeft = -6
-      ExplicitTop = 152
       object ShowAxes: TCheckBox
       object ShowAxes: TCheckBox
         Left = 5
         Left = 5
         Top = 18
         Top = 18
@@ -108,8 +103,6 @@ object FormObjmove: TFormObjmove
     Width = 1001
     Width = 1001
     Height = 18
     Height = 18
     Panels = <>
     Panels = <>
-    ExplicitTop = 484
-    ExplicitWidth = 666
   end
   end
   object GLScene1: TGLScene
   object GLScene1: TGLScene
     Left = 296
     Left = 296
@@ -194,10 +187,10 @@ object FormObjmove: TFormObjmove
     end
     end
     object TxtX: TGLSpaceText
     object TxtX: TGLSpaceText
       Direction.Coordinates = {F30435BFF30435BF0000000000000000}
       Direction.Coordinates = {F30435BFF30435BF0000000000000000}
-      Position.Coordinates = {CDCCCC3F000080BF000080BF0000803F}
+      Position.Coordinates = {0000C03F000080BF000080BF0000803F}
       Scale.Coordinates = {9A99993E9A99993E9A99993E00000000}
       Scale.Coordinates = {9A99993E9A99993E9A99993E00000000}
       Up.Coordinates = {00000000000000000000803F00000000}
       Up.Coordinates = {00000000000000000000803F00000000}
-      Extrusion = 0.300000011920929000
+      Extrusion = 0.200000002980232200
       Font.Charset = DEFAULT_CHARSET
       Font.Charset = DEFAULT_CHARSET
       Font.Color = clWindowText
       Font.Color = clWindowText
       Font.Height = -11
       Font.Height = -11
@@ -212,7 +205,7 @@ object FormObjmove: TFormObjmove
       Position.Coordinates = {000080BF9A99D93F000080BF0000803F}
       Position.Coordinates = {000080BF9A99D93F000080BF0000803F}
       Scale.Coordinates = {9A99993E9A99993E9A99993E00000000}
       Scale.Coordinates = {9A99993E9A99993E9A99993E00000000}
       Up.Coordinates = {00000000000000000000803F00000000}
       Up.Coordinates = {00000000000000000000803F00000000}
-      Extrusion = 0.300000011920929000
+      Extrusion = 0.200000002980232200
       Font.Charset = DEFAULT_CHARSET
       Font.Charset = DEFAULT_CHARSET
       Font.Color = clWindowText
       Font.Color = clWindowText
       Font.Height = -11
       Font.Height = -11
@@ -224,7 +217,7 @@ object FormObjmove: TFormObjmove
     end
     end
     object TxtZ: TGLSpaceText
     object TxtZ: TGLSpaceText
       Direction.Coordinates = {F304353FF304353F0000000000000000}
       Direction.Coordinates = {F304353FF304353F0000000000000000}
-      Position.Coordinates = {000000C0000000C0000000000000803F}
+      Position.Coordinates = {000000C0000000C0CDCCCCBE0000803F}
       Scale.Coordinates = {9A99993E9A99993E9A99993E00000000}
       Scale.Coordinates = {9A99993E9A99993E9A99993E00000000}
       Up.Coordinates = {00000080000000000000803F00000000}
       Up.Coordinates = {00000080000000000000803F00000000}
       Extrusion = 0.200000002980232200
       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");
    SPMoon->Material->Texture->Image->LoadFromFile("moon.bmp");
    SPSun->Material->Texture->Image->LoadFromFile("flare1.bmp");
    SPSun->Material->Texture->Image->LoadFromFile("flare1.bmp");
    TerrainRenderer1->TilesPerTexture = (float)256/TerrainRenderer1->TileSize;
    TerrainRenderer1->TilesPerTexture = (float)256/TerrainRenderer1->TileSize;
+   
+   SetCurrentDir(Path + "\\font");
    BitmapFont1->Glyphs->LoadFromFile("darkgold_font.bmp");
    BitmapFont1->Glyphs->LoadFromFile("darkgold_font.bmp");
    GLSceneViewer1->Buffer->BackgroundColor = clWhite;
    GLSceneViewer1->Buffer->BackgroundColor = clWhite;
    GLNavigator1->TurnHorizontal(90);
    GLNavigator1->TurnHorizontal(90);

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

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

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

@@ -16,134 +16,133 @@
 #pragma link "Sounds.BASS"
 #pragma link "Sounds.BASS"
 #pragma link "Sounds.FMOD"
 #pragma link "Sounds.FMOD"
 #pragma link "Sounds.OpenAL"
 #pragma link "Sounds.OpenAL"
-#pragma link "GLS.Sound"
+#pragma link "GLS.SoundManager"
 #pragma link "GLS.SceneViewer"
 #pragma link "GLS.SceneViewer"
 #pragma link "GLS.FileWAV"
 #pragma link "GLS.FileWAV"
 #pragma link "GLS.FileMP3"
 #pragma link "GLS.FileMP3"
 
 
 #pragma resource "*.dfm"
 #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
   Left = 0
   Top = 0
   Top = 0
   Caption = 'Sound Around'
   Caption = 'Sound Around'
-  ClientHeight = 572
-  ClientWidth = 824
+  ClientHeight = 458
+  ClientWidth = 659
   Color = clBtnFace
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
   Font.Color = clWindowText
-  Font.Height = -14
+  Font.Height = -11
   Font.Name = 'Tahoma'
   Font.Name = 'Tahoma'
   Font.Style = []
   Font.Style = []
   Position = poScreenCenter
   Position = poScreenCenter
   OnCreate = FormCreate
   OnCreate = FormCreate
-  PixelsPerInch = 120
-  TextHeight = 17
+  TextHeight = 13
   object GLSceneViewer: TGLSceneViewer
   object GLSceneViewer: TGLSceneViewer
     Left = 0
     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
     Camera = GLCamera1
     Buffer.BackgroundColor = clBlack
     Buffer.BackgroundColor = clBlack
     Buffer.AntiAliasing = aaNone
     Buffer.AntiAliasing = aaNone
-    FieldOfView = 154.164367675781300000
+    FieldOfView = 148.022491455078100000
     PenAsTouch = False
     PenAsTouch = False
     Align = alClient
     Align = alClient
     OnMouseDown = GLSceneViewerMouseDown
     OnMouseDown = GLSceneViewerMouseDown
@@ -35,91 +30,64 @@ object Form1: TForm1
   end
   end
   object TrackBar: TTrackBar
   object TrackBar: TTrackBar
     Left = 0
     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
     Align = alBottom
     Max = 180
     Max = 180
     Min = -180
     Min = -180
     PageSize = 45
     PageSize = 45
     Frequency = 45
     Frequency = 45
     TabOrder = 1
     TabOrder = 1
-    ThumbLength = 13
+    ThumbLength = 10
     TickMarks = tmBoth
     TickMarks = tmBoth
     OnChange = TrackBarChange
     OnChange = TrackBarChange
-    ExplicitTop = 508
-    ExplicitWidth = 756
   end
   end
   object TrackBar1: TTrackBar
   object TrackBar1: TTrackBar
     Left = 0
     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
     Align = alTop
     Max = 50
     Max = 50
     Min = -50
     Min = -50
     PageSize = 45
     PageSize = 45
     Frequency = 10
     Frequency = 10
     TabOrder = 2
     TabOrder = 2
-    ThumbLength = 13
+    ThumbLength = 10
     TickMarks = tmBoth
     TickMarks = tmBoth
     OnChange = TrackBar1Change
     OnChange = TrackBar1Change
-    ExplicitTop = 51
   end
   end
   object Panel1: TPanel
   object Panel1: TPanel
     Left = 0
     Left = 0
     Top = 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
     Align = alTop
     BevelOuter = bvNone
     BevelOuter = bvNone
     TabOrder = 3
     TabOrder = 3
     DesignSize = (
     DesignSize = (
-      824
-      73)
+      659
+      58)
     object Label1: TLabel
     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 :'
       Caption = 'Sound Manager :'
     end
     end
     object LabelFPS: TLabel
     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'
       Caption = 'FPS'
     end
     end
     object RBBass: TRadioButton
     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'
       Caption = 'BASS'
       Checked = True
       Checked = True
       TabOrder = 0
       TabOrder = 0
@@ -127,55 +95,39 @@ object Form1: TForm1
       OnClick = RBFMODClick
       OnClick = RBFMODClick
     end
     end
     object RBFMOD: TRadioButton
     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'
       Caption = 'FMOD'
       TabOrder = 1
       TabOrder = 1
       OnClick = RBFMODClick
       OnClick = RBFMODClick
     end
     end
     object Button1: TButton
     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]
       Anchors = [akTop, akRight]
       Caption = 'Chimes (WAV)'
       Caption = 'Chimes (WAV)'
       TabOrder = 2
       TabOrder = 2
       OnClick = Button1Click
       OnClick = Button1Click
     end
     end
     object btnHowl: TButton
     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]
       Anchors = [akTop, akRight]
       Caption = 'Howl (MP3)'
       Caption = 'Howl (MP3)'
       TabOrder = 3
       TabOrder = 3
       OnClick = btnHowlClick
       OnClick = btnHowlClick
     end
     end
     object RBOpenAL: TRadioButton
     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'
       Caption = 'OpenAL'
       TabOrder = 4
       TabOrder = 4
       OnClick = RBFMODClick
       OnClick = RBFMODClick

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

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

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

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

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

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

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

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

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

@@ -61,7 +61,7 @@ type
     procedure btnChimesClick(Sender: TObject);
     procedure btnChimesClick(Sender: TObject);
     procedure btnHowlClick(Sender: TObject);
     procedure btnHowlClick(Sender: TObject);
   private
   private
-
+    Path: TFileName;
   public
   public
 
 
   end;
   end;
@@ -75,7 +75,7 @@ implementation
 
 
 procedure TFormSoundBASS.FormCreate(Sender: TObject);
 procedure TFormSoundBASS.FormCreate(Sender: TObject);
 begin
 begin
-  var Path: TFileName := GetCurrentAssetPath();
+  Path := GetCurrentAssetPath();
   SetCurrentDir(Path  + '\audio');
   SetCurrentDir(Path  + '\audio');
   // Load our sound samples
   // Load our sound samples
   GLSoundLibrary.Samples.AddFile('drumloop.wav', 'drumloop.wav');
   GLSoundLibrary.Samples.AddFile('drumloop.wav', 'drumloop.wav');
@@ -118,8 +118,7 @@ begin
     mngName := '';
     mngName := '';
   if ActiveSoundManager <> nil then
   if ActiveSoundManager <> nil then
     LabelFPS.Caption := Format('%.2f FPS, %s CPU use : %.2f%%',
     LabelFPS.Caption := Format('%.2f FPS, %s CPU use : %.2f%%',
-      [GLSceneViewer.FramesPerSecond, mngName,
-      ActiveSoundManager.CPUUsagePercent])
+      [GLSceneViewer.FramesPerSecond, mngName, ActiveSoundManager.CPUUsagePercent])
   else
   else
     LabelFPS.Caption := 'No active sound manager.';
     LabelFPS.Caption := 'No active sound manager.';
   GLSceneViewer.ResetPerformanceMonitor;
   GLSceneViewer.ResetPerformanceMonitor;
@@ -127,7 +126,7 @@ end;
 
 
 procedure TFormSoundBASS.btnChimesClick(Sender: TObject);
 procedure TFormSoundBASS.btnChimesClick(Sender: TObject);
 begin
 begin
-  with TGLBSoundEmitter.Create(Sphere.Behaviours) do
+  with TGLBSoundEmitter.Create(SphereSound.Behaviours) do
   begin
   begin
     Source.SoundLibrary := GLSoundLibrary;
     Source.SoundLibrary := GLSoundLibrary;
     Source.SoundName := 'chimes.wav';
     Source.SoundName := 'chimes.wav';
@@ -137,7 +136,7 @@ end;
 
 
 procedure TFormSoundBASS.btnHowlClick(Sender: TObject);
 procedure TFormSoundBASS.btnHowlClick(Sender: TObject);
 begin
 begin
-  with TGLBSoundEmitter.Create(Sphere.Behaviours) do
+  with TGLBSoundEmitter.Create(SphereSound.Behaviours) do
   begin
   begin
     Source.SoundLibrary := GLSoundLibrary;
     Source.SoundLibrary := GLSoundLibrary;
     Source.SoundName := 'howl.mp3';
     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>
         <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>
         <Icon_MainIcon>$(BDS)\bin\delphi_PROJECTICON.ico</Icon_MainIcon>
         <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
         <AppEnableRuntimeThemes>true</AppEnableRuntimeThemes>
-        <DCC_ExeOutput>.\$(Platform)\$(Config)</DCC_ExeOutput>
         <VerInfo_Locale>1033</VerInfo_Locale>
         <VerInfo_Locale>1033</VerInfo_Locale>
         <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
         <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
-        <DCC_DcuOutput>.\$(Platform)\$(Config)</DCC_DcuOutput>
+        <AppDPIAwarenessMode>none</AppDPIAwarenessMode>
         <BT_BuildType>Debug</BT_BuildType>
         <BT_BuildType>Debug</BT_BuildType>
     </PropertyGroup>
     </PropertyGroup>
     <PropertyGroup Condition="'$(Cfg_2_Win64)'!=''">
     <PropertyGroup Condition="'$(Cfg_2_Win64)'!=''">
@@ -146,10 +145,10 @@
                     <Source Name="MainSource">SoundOpenAL.dpr</Source>
                     <Source Name="MainSource">SoundOpenAL.dpr</Source>
                 </Source>
                 </Source>
                 <Excluded_Packages>
                 <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>
                 </Excluded_Packages>
             </Delphi.Personality>
             </Delphi.Personality>
             <Platforms>
             <Platforms>

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

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

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

@@ -20,7 +20,9 @@ uses
   GLS.SceneViewer,
   GLS.SceneViewer,
   GLS.GeomObjects,
   GLS.GeomObjects,
   Sounds.OpenAL,
   Sounds.OpenAL,
+  
 
 
+  GLS.VectorGeometry,
   GLS.Coordinates,
   GLS.Coordinates,
   GLS.BaseClasses,
   GLS.BaseClasses,
   GLS.FileWAV,
   GLS.FileWAV,
@@ -33,13 +35,13 @@ type
     GLSceneViewer: TGLSceneViewer;
     GLSceneViewer: TGLSceneViewer;
     GLCamera1: TGLCamera;
     GLCamera1: TGLCamera;
     DummyCube: TGLDummyCube;
     DummyCube: TGLDummyCube;
-    Sphere: TGLSphere;
     GLLightSource: TGLLightSource;
     GLLightSource: TGLLightSource;
     GLSMOpenAL: TGLSMOpenAL;
     GLSMOpenAL: TGLSMOpenAL;
     GLSoundLibrary: TGLSoundLibrary;
     GLSoundLibrary: TGLSoundLibrary;
     GLCadencer1: TGLCadencer;
     GLCadencer1: TGLCadencer;
     Timer: TTimer;
     Timer: TTimer;
     Mickey: TGLSphere;
     Mickey: TGLSphere;
+    Sphere: TGLSphere;
     Sphere2: TGLSphere;
     Sphere2: TGLSphere;
     Sphere3: TGLSphere;
     Sphere3: TGLSphere;
     Cone1: TGLCone;
     Cone1: TGLCone;
@@ -49,21 +51,20 @@ type
     Torus1: TGLTorus;
     Torus1: TGLTorus;
     TrackBar1: TTrackBar;
     TrackBar1: TTrackBar;
     Panel1: TPanel;
     Panel1: TPanel;
-    Button1: TButton;
+    btnChimes: TButton;
     btnHowl: TButton;
     btnHowl: TButton;
     LabelFPS: TLabel;
     LabelFPS: TLabel;
-    procedure SphereProgress(Sender: TObject; const deltaTime,
-      newTime: Double);
+    procedure SphereProgress(Sender: TObject; const deltaTime, newTime: Double);
     procedure TimerTimer(Sender: TObject);
     procedure TimerTimer(Sender: TObject);
     procedure TrackBarChange(Sender: TObject);
     procedure TrackBarChange(Sender: TObject);
     procedure TrackBar1Change(Sender: TObject);
     procedure TrackBar1Change(Sender: TObject);
     procedure FormCreate(Sender: TObject);
     procedure FormCreate(Sender: TObject);
-    procedure Button1Click(Sender: TObject);
+    procedure btnChimesClick(Sender: TObject);
     procedure btnHowlClick(Sender: TObject);
     procedure btnHowlClick(Sender: TObject);
   private
   private
-     
+    Path: TFileName;
   public
   public
-     
+
   end;
   end;
 
 
 var
 var
@@ -73,74 +74,74 @@ implementation
 
 
 {$R *.DFM}
 {$R *.DFM}
 
 
-uses
-  GLS.VectorGeometry;
-
 procedure TForm1.FormCreate(Sender: TObject);
 procedure TForm1.FormCreate(Sender: TObject);
 begin
 begin
-  SetCurrentDirToAssets;
+  Path := GetCurrentAssetPath();
+  SetCurrentDir(Path + '\audio');
   // Load our sound sample
   // 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;
 end;
 
 
-procedure TForm1.SphereProgress(Sender: TObject; const deltaTime,
-  newTime: Double);
+procedure TForm1.SphereProgress(Sender: TObject; const deltaTime, newTime: Double);
 var
 var
-   alpha : Single;
+  alpha: Single;
 begin
 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;
 end;
 
 
 procedure TForm1.TrackBarChange(Sender: TObject);
 procedure TForm1.TrackBarChange(Sender: TObject);
 begin
 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;
 end;
 
 
 procedure TForm1.TrackBar1Change(Sender: TObject);
 procedure TForm1.TrackBar1Change(Sender: TObject);
 begin
 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;
 end;
 
 
 procedure TForm1.TimerTimer(Sender: TObject);
 procedure TForm1.TimerTimer(Sender: TObject);
 var
 var
-   mngName : String;
+  mngName: String;
 begin
 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;
 end;
 
 
-procedure TForm1.Button1Click(Sender: TObject);
+procedure TForm1.btnChimesClick(Sender: TObject);
 begin
 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;
 end;
 
 
 procedure TForm1.btnHowlClick(Sender: TObject);
 procedure TForm1.btnHowlClick(Sender: TObject);
 begin
 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;
 
 
 end.
 end.

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

@@ -2,35 +2,35 @@ object FormSoundWaveout: TFormSoundWaveout
   Left = 209
   Left = 209
   Top = 92
   Top = 92
   Caption = 'Sound WaveOut'
   Caption = 'Sound WaveOut'
-  ClientHeight = 347
-  ClientWidth = 475
+  ClientHeight = 424
+  ClientWidth = 596
   Color = clBtnFace
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
   Font.Color = clWindowText
   Font.Height = -11
   Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Name = 'MS Sans Serif'
   Font.Style = []
   Font.Style = []
-  OldCreateOrder = False
   OnCreate = FormCreate
   OnCreate = FormCreate
-  PixelsPerInch = 96
   TextHeight = 13
   TextHeight = 13
   object GLSceneViewer: TGLSceneViewer
   object GLSceneViewer: TGLSceneViewer
     Left = 0
     Left = 0
     Top = 66
     Top = 66
-    Width = 475
-    Height = 254
+    Width = 596
+    Height = 331
     Camera = GLCamera1
     Camera = GLCamera1
     Buffer.BackgroundColor = clBlack
     Buffer.BackgroundColor = clBlack
     Buffer.AntiAliasing = aaNone
     Buffer.AntiAliasing = aaNone
-    FieldOfView = 137.020797729492200000
+    FieldOfView = 146.379318237304700000
     PenAsTouch = False
     PenAsTouch = False
     Align = alClient
     Align = alClient
     TabOrder = 0
     TabOrder = 0
+    ExplicitWidth = 550
+    ExplicitHeight = 296
   end
   end
   object TrackBar: TTrackBar
   object TrackBar: TTrackBar
     Left = 0
     Left = 0
-    Top = 320
-    Width = 475
+    Top = 397
+    Width = 596
     Height = 27
     Height = 27
     Align = alBottom
     Align = alBottom
     Max = 180
     Max = 180
@@ -41,11 +41,13 @@ object FormSoundWaveout: TFormSoundWaveout
     ThumbLength = 10
     ThumbLength = 10
     TickMarks = tmBoth
     TickMarks = tmBoth
     OnChange = TrackBarChange
     OnChange = TrackBarChange
+    ExplicitTop = 320
+    ExplicitWidth = 475
   end
   end
   object TrackBar1: TTrackBar
   object TrackBar1: TTrackBar
     Left = 0
     Left = 0
     Top = 33
     Top = 33
-    Width = 475
+    Width = 596
     Height = 33
     Height = 33
     Align = alTop
     Align = alTop
     Max = 50
     Max = 50
@@ -56,17 +58,19 @@ object FormSoundWaveout: TFormSoundWaveout
     ThumbLength = 10
     ThumbLength = 10
     TickMarks = tmBoth
     TickMarks = tmBoth
     OnChange = TrackBar1Change
     OnChange = TrackBar1Change
+    ExplicitWidth = 475
   end
   end
   object Panel1: TPanel
   object Panel1: TPanel
     Left = 0
     Left = 0
     Top = 0
     Top = 0
-    Width = 475
+    Width = 596
     Height = 33
     Height = 33
     Align = alTop
     Align = alTop
     BevelOuter = bvNone
     BevelOuter = bvNone
     TabOrder = 3
     TabOrder = 3
+    ExplicitWidth = 475
     DesignSize = (
     DesignSize = (
-      475
+      596
       33)
       33)
     object LabelFPS: TLabel
     object LabelFPS: TLabel
       Left = 8
       Left = 8
@@ -76,7 +80,7 @@ object FormSoundWaveout: TFormSoundWaveout
       Caption = 'FPS'
       Caption = 'FPS'
     end
     end
     object Button1: TButton
     object Button1: TButton
-      Left = 384
+      Left = 505
       Top = 4
       Top = 4
       Width = 83
       Width = 83
       Height = 25
       Height = 25
@@ -84,9 +88,10 @@ object FormSoundWaveout: TFormSoundWaveout
       Caption = 'Chimes (WAV)'
       Caption = 'Chimes (WAV)'
       TabOrder = 0
       TabOrder = 0
       OnClick = Button1Click
       OnClick = Button1Click
+      ExplicitLeft = 384
     end
     end
     object btnHowl: TButton
     object btnHowl: TButton
-      Left = 295
+      Left = 416
       Top = 2
       Top = 2
       Width = 83
       Width = 83
       Height = 25
       Height = 25
@@ -94,6 +99,7 @@ object FormSoundWaveout: TFormSoundWaveout
       Caption = 'Howl (MP3)'
       Caption = 'Howl (MP3)'
       TabOrder = 1
       TabOrder = 1
       OnClick = btnHowlClick
       OnClick = btnHowlClick
+      ExplicitLeft = 295
     end
     end
   end
   end
   object GLSMWaveOut: TGLSMWaveOut
   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. 
 The hierarchy of spatial smart objects with sense properties has been expanded. 
 Includes improvements in GPU parallel computing using CUDA/OpenCL components 
 Includes improvements in GPU parallel computing using CUDA/OpenCL components 
 for developing OpenGL applications for Win32/Win64.
 for developing OpenGL applications for Win32/Win64.
----------------------------------------------------------------------------
+----------------------------------------------------------------------------------
 GLS Team
 GLS Team

+ 0 - 1
Source/GLS.TilePlane.pas

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

+ 7 - 7
Source/GLS.WindowsFont.pas

@@ -32,12 +32,12 @@ uses
 
 
 type
 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
      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
      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
      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
      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.
      Ranges must be sorted in ascending ASCII order and should not overlap.
      As the font texture is automatically layed out, the Ranges StartGlyphIdx
      As the font texture is automatically layed out, the Ranges StartGlyphIdx
      property is ignored and replaced appropriately. *)
      property is ignored and replaced appropriately. *)
@@ -224,7 +224,7 @@ procedure TGLWindowsBitmapFont.LoadWindowsFont;
 
 
 var
 var
   bitmap: TBitmap;
   bitmap: TBitmap;
-  ch: widechar;
+  ch: WideChar;
   i, cw, nbChars, n: Integer;
   i, cw, nbChars, n: Integer;
 begin
 begin
   InvalidateUsers;
   InvalidateUsers;
@@ -264,15 +264,15 @@ begin
   for i := 0 to nbChars - 1 do
   for i := 0 to nbChars - 1 do
   begin
   begin
     ch := TileIndexToChar(i);
     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;
     n  := n + cw + GlyphsIntervalX;
     SetCharWidths(i, cw);
     SetCharWidths(i, cw);
   end;
   end;
   //try to make best guess...
   //try to make best guess...
   //~total pixels, including some waste (10%)
   //~total pixels, including some waste (10%)
   n := n * (CharHeight + GlyphsIntervalY) * 11 div 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;
   bitmap.Width := TextureWidth;
 
 
@@ -358,7 +358,7 @@ var
   ACharList : TGLIntegerList;
   ACharList : TGLIntegerList;
 begin
 begin
   ACharList := TGLIntegerList.Create;
   ACharList := TGLIntegerList.Create;
-  for i := 1 to length(s) do
+  for i := 1 to Length(s) do
       ACharList.Add(integer(s[i]));
       ACharList.Add(integer(s[i]));
   SetList(ACharList);
   SetList(ACharList);
   ACharList.Free;
   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 WriteToFiler(Gls::Persistentclasses::TGLVirtualWriter* writer);
 	DYNAMIC void __fastcall ReadFromFiler(Gls::Persistentclasses::TGLVirtualReader* reader);
 	DYNAMIC void __fastcall ReadFromFiler(Gls::Persistentclasses::TGLVirtualReader* reader);
 	__property int Tile[int col][int row] = {read=GetTile, write=SetTile/*, default*/};
 	__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 RowMin = {read=FRowMin, write=SetRowMin, nodefault};
 	__property int RowMax = {read=FRowMax, write=SetRowMax, nodefault};
 	__property int RowMax = {read=FRowMax, write=SetRowMax, nodefault};
 	void __fastcall Pack();
 	void __fastcall Pack();

二进制
lib/Win32/GLScene_Physics_DT.bpi


二进制
lib/Win32/GLScene_Physics_RT.bpi


二进制
lib/Win32/GLScene_Physics_RT.lib


二进制
lib/Win32/GLScene_RT.bpi


二进制
lib/Win32/GLScene_RT.lib


二进制
lib/Win32/GLScene_Sounds_RT.lib