From 563375e18e4aeba0152a9761f1f84d66aaeb27d2 Mon Sep 17 00:00:00 2001
From: whiteshark0 <whiteshark0@b956fd51-792f-4845-bead-9b4dfca2ff2c>
Date: Fri, 30 Mar 2007 12:19:08 +0000
Subject: Finished Code for Plugin Sound PlayBack Removed Debug Message from
 ULanguage

git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@50 b956fd51-792f-4845-bead-9b4dfca2ff2c
---
 Game/Code/Classes/ULanguage.pas   |  4 +---
 Game/Code/Classes/UMusic.pas      | 11 +++++++++--
 Game/Code/Screens/UScreenSong.pas | 26 +++++++++++++++++++++++++-
 3 files changed, 35 insertions(+), 6 deletions(-)

diff --git a/Game/Code/Classes/ULanguage.pas b/Game/Code/Classes/ULanguage.pas
index afdac87c..b911b90a 100644
--- a/Game/Code/Classes/ULanguage.pas
+++ b/Game/Code/Classes/ULanguage.pas
@@ -52,7 +52,7 @@ begin
   Implode_Glue2 := ' and ';
 
   if (Length(List) = 0) then //No Language Files Loaded -> Abort Loading
-    Log.CriticalError('Could not load any Language Files');
+    Log.CriticalError('Could not load any Language File');
 
   //Standard Language (If a Language File is Incomplete)
   //Then use English Language
@@ -143,8 +143,6 @@ begin
   Result := Text;
   Text := Uppercase(Result);
 
-  Log.LogError('Text: "' + Text + '" L: ' + InttoStr(Length(Entry)));
-
   //Const Mod
   for E := 0 to high(CEntry) do
     if Text = CEntry[E].ID then
diff --git a/Game/Code/Classes/UMusic.pas b/Game/Code/Classes/UMusic.pas
index f7f0e20d..0e4e4ddd 100644
--- a/Game/Code/Classes/UMusic.pas
+++ b/Game/Code/Classes/UMusic.pas
@@ -731,11 +731,18 @@ begin
 end;
 
 function TMusic.LoadSoundFromFile(var hStream: hStream; Name: string): boolean;
+var
+  L: Integer;
 begin
   if FileExists(Name) then begin
     Log.LogStatus('Loading Sound: "' + Name + '"', 'LoadPlayerFromFile');
     try
       hStream := BASS_StreamCreateFile(False, pchar(Name), 0, 0, 0);
+      //Add CustomSound
+      L := High(CustomSounds) + 1;
+      SetLength (CustomSounds, L + 1);
+      CustomSounds[L].Filename := Name;
+      CustomSounds[L].Handle := hStream;
     except
       Log.LogError('Failed to open using BASS', 'LoadPlayerFromFile');
     end;
@@ -762,7 +769,7 @@ var
   F: String;
 begin
   //Search for Sound in already loaded Sounds
-  F := UpperCase(FileName);
+  F := UpperCase(SoundPath + FileName);
   For I := 0 to High(CustomSounds) do
   begin
     if (UpperCase(CustomSounds[I].Filename) = F) then
@@ -772,7 +779,7 @@ begin
     end;
   end;
 
-  if LoadSoundFromFile(S, Filename) then
+  if LoadSoundFromFile(S, SoundPath + Filename) then
     Result := High(CustomSounds)
   else
     Result := 0;
diff --git a/Game/Code/Screens/UScreenSong.pas b/Game/Code/Screens/UScreenSong.pas
index 9202717d..694ecc39 100644
--- a/Game/Code/Screens/UScreenSong.pas
+++ b/Game/Code/Screens/UScreenSong.pas
@@ -149,7 +149,7 @@ var I, I2: Integer;
     //showmessage(CatSongs.Song[Cat].Path + CatSongs.Song[Cat].Cover);
     //Static[StaticCat].Texture := Texture.GetTexture(Button[Cat].Texture.Name, 'Plain', true);
 
-    Static[StaticCat].Texture := Texture.GetTexture(CatSongs.Song[Cat].Path + CatSongs.Song[Cat].Cover, 'Plain', true);
+    Static[StaticCat].Texture := Texture.GetTexture(Button[Cat].Texture.Name, 'Plain', true);
     //Texture.GetTexture(Button[Cat].Texture.Name, 'Plain', false);
     //Button[Cat].
     //Cover
@@ -198,6 +198,30 @@ begin
     SDL_ModState := SDL_GetModState and (KMOD_LSHIFT + KMOD_RSHIFT
     + KMOD_LCTRL + KMOD_RCTRL + KMOD_LALT  + KMOD_RALT);
 
+    {//Jump To
+    if (SDL_ModState = KMOD_LALT) AND (PressedKey > SDLK_A) AND (PressedKey < SDLK_Z) then
+    begin
+      Letter := UpCase(Chr(ScanCode));
+      Log.LogError(Letter);
+      I2 := Length(CatSongs.Song);
+      For I := 1 to high(CatSongs.Song) do
+      begin
+        if (CatSongs.Song[(I + Interaction) mod I2].Visible) AND (Length(CatSongs.Song[(I + Interaction) mod I2].Title)>0) AND (UpCase(CatSongs.Song[(I + Interaction) mod I2].Title[1]) = Letter) then
+        begin
+          SkipTo(CatSongs.VisibleIndex((I + Interaction) mod I2));
+
+          Music.PlayChange;
+
+          ChangeMusic;
+          SetScroll4;
+          UpdateLCD;
+          //Break and Exit
+          Exit;
+        end;
+      end;
+      Exit;
+    end; }
+
     case PressedKey of
       SDLK_ESCAPE :
         begin
-- 
cgit v1.2.3