aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbrunzelchen <brunzelchen@b956fd51-792f-4845-bead-9b4dfca2ff2c>2010-08-15 16:44:17 +0000
committerbrunzelchen <brunzelchen@b956fd51-792f-4845-bead-9b4dfca2ff2c>2010-08-15 16:44:17 +0000
commit22581815288ed2462063a8ac36e3818f95adfda2 (patch)
tree009f7178ec3502f5f38126fdb8ce84eade34f19f
parentb313d7ec423dc118e7195e2f5873d9cbfa2d2411 (diff)
downloadusdx-22581815288ed2462063a8ac36e3818f95adfda2.tar.gz
usdx-22581815288ed2462063a8ac36e3818f95adfda2.tar.xz
usdx-22581815288ed2462063a8ac36e3818f95adfda2.zip
added check popup at startup if LoadFaultySongs=Off and if there are some defective songs. the user has now the ability to load them anyway.
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/1.0.1 Challenge MOD@2611 b956fd51-792f-4845-bead-9b4dfca2ff2c
-rw-r--r--Game/Code/Classes/UFiles.pas10
-rw-r--r--Game/Code/Classes/USongs.pas6
-rw-r--r--Game/Code/Screens/UScreenMain.pas7
-rw-r--r--Game/Code/Screens/UScreenPopup.pas24
-rw-r--r--Game/Output/Languages/Dutch.ini1
-rw-r--r--Game/Output/Languages/English.ini3
-rw-r--r--Game/Output/Languages/German.ini9
-rw-r--r--Game/Output/Languages/Italian.ini1
-rw-r--r--Game/Output/Languages/Languages.xlsbin204800 -> 205312 bytes
9 files changed, 49 insertions, 12 deletions
diff --git a/Game/Code/Classes/UFiles.pas b/Game/Code/Classes/UFiles.pas
index a8fa8076..16ff7c63 100644
--- a/Game/Code/Classes/UFiles.pas
+++ b/Game/Code/Classes/UFiles.pas
@@ -49,8 +49,10 @@ var
// variables available for all procedures
Base: array[0..1] of integer;
Rel: array[0..1] of integer;
- Mult: integer = 1;
- MultBPM: integer = 4;
+ Mult: integer = 1;
+ MultBPM: integer = 4;
+
+ CheckOK: boolean;
implementation
uses TextGL, UIni, UMain;
@@ -805,6 +807,7 @@ var
isNewSentence: boolean;
begin
Result := false;
+ CheckOK := true;
if not FileExists(Name) then begin
Log.LogError('File not found: "' + Name + '"', 'LoadSong');
@@ -1028,7 +1031,8 @@ begin
exit;
end;
- Result := CheckSong;
+ CheckOK := CheckSong;
+ Result := CheckOK;
end;
//--------------------
diff --git a/Game/Code/Classes/USongs.pas b/Game/Code/Classes/USongs.pas
index d622f2f2..5a579474 100644
--- a/Game/Code/Classes/USongs.pas
+++ b/Game/Code/Classes/USongs.pas
@@ -92,6 +92,7 @@ type
Song: array of TSong; // array of songs
SongSort: array of TSong;
Selected: integer; // selected song index
+ NumFaultySongs: integer;
procedure LoadSongList; // load all songs
procedure BrowseDir(Dir: string); // should return number of songs in the future
procedure Sort(Order: integer);
@@ -135,6 +136,7 @@ begin
// clear
Setlength(Song, 50);
+ NumFaultySongs := 0;
BrowsePos := 0;
// browse directories
@@ -179,9 +181,13 @@ begin
AktSong := Song[SLen];
res := LoadSong(Song[SLen].Path + Song[SLen].FileName, SONG_LOAD_NOTES); //TODO Hash?
+ if not CheckOK then
+ inc(NumFaultySongs);
+
if res then
begin
Song[SLen]:=AktSong;
+
//Medley and Duet - is it possible? Perhaps later...
if not AktSong.isDuet then
FindRefrainStart(Song[SLen])
diff --git a/Game/Code/Screens/UScreenMain.pas b/Game/Code/Screens/UScreenMain.pas
index 156901e2..b92e59a2 100644
--- a/Game/Code/Screens/UScreenMain.pas
+++ b/Game/Code/Screens/UScreenMain.pas
@@ -261,7 +261,7 @@ begin
AddButton(Theme.Main.ButtonExit);
Interaction := 0;
- ShowNumErrors := false;
+ ShowNumErrors := true;
end;
procedure TScreenMain.onShow;
@@ -274,10 +274,9 @@ begin
if not Help.SetHelpID(ID) then
Log.LogError('No Entry for Help-ID ' + ID + ' (ScreenMain)');
- if ShowNumErrors then
+ if (Ini.LoadFaultySongs=0) and ShowNumErrors and (Songs.NumFaultySongs>0) then
begin
- ShowNumErrors := false;
- ScreenPopupError.ShowPopup(IntToStr(Log.NumErrors) + ' errors on loading, see Error.log for details');
+ ScreenPopupCheck.ShowPopup(Format(Language.Translate('MSG_ERROR_SONGLOADING'), [Songs.NumFaultySongs]));
end;
end;
diff --git a/Game/Code/Screens/UScreenPopup.pas b/Game/Code/Screens/UScreenPopup.pas
index e7d6ce00..aaed32ed 100644
--- a/Game/Code/Screens/UScreenPopup.pas
+++ b/Game/Code/Screens/UScreenPopup.pas
@@ -85,7 +85,7 @@ var
implementation
-uses Classes, TextGL, UGraphic, UMain, UIni, UTexture, ULanguage, UParty, UPlaylist, UDisplay;
+uses Classes, TextGL, UGraphic, USongs, UMain, UIni, UTexture, ULanguage, UParty, UPlaylist, UDisplay;
function TScreenPopupCheck.ParseInput(PressedKey: Cardinal; ScanCode: byte; PressedDown: Boolean): Boolean;
begin
@@ -121,11 +121,31 @@ begin
ScreenSingModi.Finish;
end;
- Display.CheckOK:=True;
+ //Hack to load faulty songs in main screen
+ if (Display.NextScreenWithCheck = NIL) then
+ begin
+ if (Display.ActualScreen = @ScreenMain) and (ScreenMain.ShowNumErrors) then
+ begin
+ Ini.LoadFaultySongs := 1;
+ Songs.LoadSongList();
+ UGraphic.UnLoadScreens();
+ UGraphic.LoadScreens( true );
+ ScreenSong.Refresh(true);
+ PlaylistMan.LoadPlayLists;
+ Ini.LoadFaultySongs := 0;
+ ScreenMain.ShowNumErrors := false;
+ FadeTo(@ScreenMain);
+ end else
+ Display.CheckOK:=True;
+ end else
+ Display.CheckOK:=True;
end;
1: begin
Display.CheckOK:=False;
Display.NextScreenWithCheck:=NIL;
+
+ if (Display.ActualScreen = @ScreenMain) and (ScreenMain.ShowNumErrors) then
+ ScreenMain.ShowNumErrors := false;
end;
end;
Visible:=False;
diff --git a/Game/Output/Languages/Dutch.ini b/Game/Output/Languages/Dutch.ini
index 24177e9c..74def31d 100644
--- a/Game/Output/Languages/Dutch.ini
+++ b/Game/Output/Languages/Dutch.ini
@@ -11,6 +11,7 @@ IMPLODE_GLUE2 = en
INFO_FILE_SAVED = Bestand Opgeslagen
MSG_END_PARTY = Party modus afsluiten?
MSG_ERROR_TITLE = FOUT!
+MSG_ERROR_SONGLOADING = Found %0:d defective songs! Load them anyway? Details on Error.log
MSG_HELP_KEYMAP = Sneltoetsen
MSG_HELP_TITLE = Help-Systeem
MSG_QUESTION_TITLE = Vraag
diff --git a/Game/Output/Languages/English.ini b/Game/Output/Languages/English.ini
index 117852c0..fede3397 100644
--- a/Game/Output/Languages/English.ini
+++ b/Game/Output/Languages/English.ini
@@ -11,6 +11,7 @@ IMPLODE_GLUE2 = and
INFO_FILE_SAVED = File saved
MSG_END_PARTY = Are you sure you want to leave party mode?
MSG_ERROR_TITLE = Error:
+MSG_ERROR_SONGLOADING = Found %0:d defective songs! Load them anyway? Details on Error.log
MSG_HELP_KEYMAP = Key Mapping
MSG_HELP_TITLE = Help
MSG_QUESTION_TITLE = Question:
@@ -1413,3 +1414,5 @@ PAGEDOWN = Decrease song volume
#-------------------------------------------------------#
# ID_034: ScreenSongMenu Medley #
#-------------------------------------------------------#
+
+
diff --git a/Game/Output/Languages/German.ini b/Game/Output/Languages/German.ini
index 8268297f..e6b3d11d 100644
--- a/Game/Output/Languages/German.ini
+++ b/Game/Output/Languages/German.ini
@@ -11,6 +11,7 @@ IMPLODE_GLUE2 = und
INFO_FILE_SAVED = Datei gespeichert
MSG_END_PARTY = Party-Modus beenden?
MSG_ERROR_TITLE = Fehler
+MSG_ERROR_SONGLOADING = %0:d fehlerhafte Songs gefunden! Diese trotzdem laden? Details siehe Error.log
MSG_HELP_KEYMAP = Tastenbelegung
MSG_HELP_TITLE = Hilfe-System
MSG_QUESTION_TITLE = Frage
@@ -1233,8 +1234,8 @@ SEC_001 = Allgemein
RETURN = Aktuelles Lied singen
TAB = Hilfe öffnen/schließen
PRINT = Screenshot erstellen
-BACKSPACE =
-ESC =
+BACKSPACE = zurück
+ESC = zurück
Q = UltraStar Deluxe beenden
#-------------------------------------------------------#
SEC_010 = Songauswahl
@@ -1412,4 +1413,6 @@ PAGEUP = MP3-Lautstärke erhöhen
PAGEDOWN = MP3-Lautstärke reduzieren
#-------------------------------------------------------#
# ID_034: ScreenSongMenu Medley #
-#-------------------------------------------------------# \ No newline at end of file
+#-------------------------------------------------------#
+
+
diff --git a/Game/Output/Languages/Italian.ini b/Game/Output/Languages/Italian.ini
index a4a36fdd..b304b4a0 100644
--- a/Game/Output/Languages/Italian.ini
+++ b/Game/Output/Languages/Italian.ini
@@ -11,6 +11,7 @@ IMPLODE_GLUE2 = e
INFO_FILE_SAVED = File salvato
MSG_END_PARTY = Vuoi davvero uscire dal Party?
MSG_ERROR_TITLE = Errore
+MSG_ERROR_SONGLOADING = Found %0:d defective songs! Load them anyway? Details on Error.log
MSG_HELP_KEYMAP = Key mapping
MSG_HELP_TITLE = Help-System
MSG_QUESTION_TITLE = Domanda
diff --git a/Game/Output/Languages/Languages.xls b/Game/Output/Languages/Languages.xls
index 2b193059..7dc60d29 100644
--- a/Game/Output/Languages/Languages.xls
+++ b/Game/Output/Languages/Languages.xls
Binary files differ