From 9a36ddf60248b9fabe61d21f7237c5cd187c4c7a Mon Sep 17 00:00:00 2001 From: jaybinks Date: Tue, 4 Mar 2008 11:16:38 +0000 Subject: removed overuse of DecimalSeperator and re-implemented changes from changset#905 git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@906 b956fd51-792f-4845-bead-9b4dfca2ff2c --- Game/Code/Classes/UMain.pas | 2 +- Game/Code/Classes/UPliki.pas | 7 +++---- Game/Code/Classes/USong.pas | 33 ++++++++++++--------------------- Game/Code/Classes/UThemes.pas | 30 ------------------------------ 4 files changed, 16 insertions(+), 56 deletions(-) (limited to 'Game/Code') diff --git a/Game/Code/Classes/UMain.pas b/Game/Code/Classes/UMain.pas index 66c8efe9..2d744a4f 100644 --- a/Game/Code/Classes/UMain.pas +++ b/Game/Code/Classes/UMain.pas @@ -1143,7 +1143,7 @@ begin initialize_path( CoversPath , Platform.GetGameSharedPath + 'Covers' + PathDelim ); initialize_path( PlaylistPath , Platform.GetGameSharedPath + 'Playlists' + PathDelim ); - DecimalSeparator := ','; + DecimalSeparator := '.'; end; end. diff --git a/Game/Code/Classes/UPliki.pas b/Game/Code/Classes/UPliki.pas index f4e8ff97..81fdf5bf 100644 --- a/Game/Code/Classes/UPliki.pas +++ b/Game/Code/Classes/UPliki.pas @@ -37,6 +37,7 @@ var MultBPM: integer; implementation + uses TextGL, UIni, UMain, math; procedure InitializePaths; @@ -49,12 +50,10 @@ begin ScreenshotsPath := GamePath + 'Screenshots\'; CoversPath := GamePath + 'Covers\'; LanguagesPath := GamePath + 'Languages\'; - //Modi Loader - PluginPath := GamePath + 'Plugins\'; + //Modi Loader + PluginPath := GamePath + 'Plugins\'; PlaylistPath := GamePath + 'Playlists\'; - - DecimalSeparator := ','; end; function ReadHeader(var Song: TSong): boolean; diff --git a/Game/Code/Classes/USong.pas b/Game/Code/Classes/USong.pas index cf75509a..6b4a2f09 100644 --- a/Game/Code/Classes/USong.pas +++ b/Game/Code/Classes/USong.pas @@ -334,26 +334,17 @@ end; function TSong.ReadTXTHeader(const aFileName : WideString): boolean; - function Replace_Decimal_Separator( aValue : String ) : String; + function song_StrtoFloat( aValue : String ) : Extended; var - lReplaceChar : char; - lDecSep : char; + lValue : String; + lOldDecimalSeparator : Char; begin - result := aValue; - - {$IFDEF FPC} - lDecSep := DefaultFormatSettings.DecimalSeparator; - {$ELSE} - lDecSep := DecimalSeparator; - {$ENDIF} - - if lDecSep = '.' then - lReplaceChar := ',' - else - lReplaceChar := '.'; + lValue := aValue; + + if (Pos(',', lValue) <> 0) then + lValue[Pos(',', lValue)] := '.'; - if (Pos(lReplaceChar, result) <> 0) then - result[Pos(lReplaceChar, result)] := lDecSep; + Result := StrToFloatDef(lValue, 0); end; var @@ -436,7 +427,7 @@ begin SetLength(self.BPM, 1); self.BPM[0].StartBeat := 0; - self.BPM[0].BPM := StrtoFloatDef(Replace_Decimal_Separator( Value ), 0) * Mult * MultBPM; + self.BPM[0].BPM := song_StrtoFloat( Value ) * Mult * MultBPM; if self.BPM[0].BPM <> 0 then begin @@ -451,7 +442,7 @@ begin // Video Gap else if (Identifier = 'GAP') then - self.GAP := StrtoFloatDef ( Replace_Decimal_Separator( Value ), 0) + self.GAP := song_StrtoFloat( Value ) //Cover Picture else if (Identifier = 'COVER') then @@ -472,7 +463,7 @@ begin // Video Gap else if (Identifier = 'VIDEOGAP') then - self.VideoGAP := StrtoFloatDef ( Replace_Decimal_Separator( Value ), 0) + self.VideoGAP := song_StrtoFloat( Value ) //Genre Sorting else if (Identifier = 'GENRE') then @@ -492,7 +483,7 @@ begin // Song Start else if (Identifier = 'START') then - self.Start := StrtoFloatDef( Replace_Decimal_Separator( Value ), 0) + self.Start := song_StrtoFloat( Value ) // Song Ending else if (Identifier = 'END') then diff --git a/Game/Code/Classes/UThemes.pas b/Game/Code/Classes/UThemes.pas index dc56020d..f47fbc0f 100644 --- a/Game/Code/Classes/UThemes.pas +++ b/Game/Code/Classes/UThemes.pas @@ -1448,8 +1448,6 @@ procedure TTheme.ThemeLoadText(var ThemeText: TThemeText; Name: string); var C: integer; begin - DecimalSeparator := '.'; - ThemeText.X := ThemeIni.ReadInteger(Name, 'X', 0); ThemeText.Y := ThemeIni.ReadInteger(Name, 'Y', 0); ThemeText.W := ThemeIni.ReadInteger(Name, 'W', 0); @@ -1471,8 +1469,6 @@ begin ThemeText.ColG := Color[C].RGB.G; ThemeText.ColB := Color[C].RGB.B; end; - - DecimalSeparator := ','; end; procedure TTheme.ThemeLoadTexts(var ThemeText: AThemeText; Name: string); @@ -1491,8 +1487,6 @@ procedure TTheme.ThemeLoadStatic(var ThemeStatic: TThemeStatic; Name: string); var C: integer; begin - DecimalSeparator := '.'; - ThemeStatic.Tex := ThemeIni.ReadString(Name, 'Tex', ''); ThemeStatic.X := ThemeIni.ReadInteger(Name, 'X', 0); @@ -1519,8 +1513,6 @@ begin //Reflection Mod ThemeStatic.Reflection := (ThemeIni.ReadInteger(Name, 'Reflection', 0) = 1); ThemeStatic.ReflectionSpacing := ThemeIni.ReadFloat(Name, 'ReflectionSpacing', 15); - - DecimalSeparator := ','; end; procedure TTheme.ThemeLoadStatics(var ThemeStatic: AThemeStatic; Name: string); @@ -1575,7 +1567,6 @@ begin ThemeButton.Visible := False; exit; end; - DecimalSeparator := '.'; ThemeButton.Tex := ThemeIni.ReadString(Name, 'Tex', ''); ThemeButton.X := ThemeIni.ReadInteger (Name, 'X', 0); ThemeButton.Y := ThemeIni.ReadInteger (Name, 'Y', 0); @@ -1653,16 +1644,12 @@ begin SetLength(ThemeButton.Text, TLen); for T := 1 to TLen do ThemeLoadText(ThemeButton.Text[T-1], Name + 'Text' + IntToStr(T)); - - DecimalSeparator := ','; end; procedure TTheme.ThemeLoadSelect(var ThemeSelect: TThemeSelect; Name: string); var C: integer; begin - DecimalSeparator := '.'; - //{$IFDEF TRANSLATE} ThemeSelect.Text := Language.Translate(ThemeIni.ReadString(Name, 'Text', '')); //{$ELSE}{ @@ -1698,17 +1685,12 @@ begin ThemeSelect.STInt := ThemeIni.ReadFloat(Name, 'STInt', 1); LoadColor(ThemeSelect.STDColR, ThemeSelect.STDColG, ThemeSelect.STDColB, ThemeIni.ReadString(Name, 'STDColor', '')); ThemeSelect.STDInt := ThemeIni.ReadFloat(Name, 'STDInt', 1); - - - DecimalSeparator := ','; end; procedure TTheme.ThemeLoadSelectSlide(var ThemeSelectS: TThemeSelectSlide; Name: string); var C: integer; begin - DecimalSeparator := '.'; - //{{$IFDEF TRANSLATE} ThemeSelectS.Text := Language.Translate(ThemeIni.ReadString(Name, 'Text', '')); //{{$ELSE}{ @@ -1750,9 +1732,6 @@ begin ThemeSelectS.STInt := ThemeIni.ReadFloat(Name, 'STInt', 1); LoadColor(ThemeSelectS.STDColR, ThemeSelectS.STDColG, ThemeSelectS.STDColB, ThemeIni.ReadString(Name, 'STDColor', '')); ThemeSelectS.STDInt := ThemeIni.ReadFloat(Name, 'STDInt', 1); - - - DecimalSeparator := ','; end; procedure TTheme.LoadColors; @@ -2119,7 +2098,6 @@ end; procedure TTheme.ThemeSaveStatic(ThemeStatic: TThemeStatic; Name: string); begin - DecimalSeparator := '.'; ThemeIni.WriteInteger(Name, 'X', ThemeStatic.X); ThemeIni.WriteInteger(Name, 'Y', ThemeStatic.Y); ThemeIni.WriteInteger(Name, 'W', ThemeStatic.W); @@ -2133,8 +2111,6 @@ begin ThemeIni.WriteFloat(Name, 'TexY1', ThemeStatic.TexY1); ThemeIni.WriteFloat(Name, 'TexX2', ThemeStatic.TexX2); ThemeIni.WriteFloat(Name, 'TexY2', ThemeStatic.TexY2); - - DecimalSeparator := ','; end; procedure TTheme.ThemeSaveStatics(ThemeStatic: AThemeStatic; Name: string); @@ -2149,7 +2125,6 @@ end; procedure TTheme.ThemeSaveText(ThemeText: TThemeText; Name: string); begin - DecimalSeparator := '.'; ThemeIni.WriteInteger(Name, 'X', ThemeText.X); ThemeIni.WriteInteger(Name, 'Y', ThemeText.Y); @@ -2159,8 +2134,6 @@ begin ThemeIni.WriteString(Name, 'Text', ThemeText.Text); ThemeIni.WriteString(Name, 'Color', ThemeText.Color); - - DecimalSeparator := ','; end; procedure TTheme.ThemeSaveTexts(ThemeText: AThemeText; Name: string); @@ -2177,7 +2150,6 @@ procedure TTheme.ThemeSaveButton(ThemeButton: TThemeButton; Name: string); var T: integer; begin - DecimalSeparator := '.'; ThemeIni.WriteString(Name, 'Tex', ThemeButton.Tex); ThemeIni.WriteInteger(Name, 'X', ThemeButton.X); ThemeIni.WriteInteger(Name, 'Y', ThemeButton.Y); @@ -2214,8 +2186,6 @@ begin for T := 0 to High(ThemeButton.Text) do ThemeSaveText(ThemeButton.Text[T], Name + 'Text' + IntToStr(T+1)); - - DecimalSeparator := ','; end; procedure TTheme.create_theme_objects(); -- cgit v1.2.3