From 4ec8eae5229e26b8ee648f5168d9b9c7f4e154eb Mon Sep 17 00:00:00 2001 From: brunzelchen Date: Sun, 28 Feb 2010 21:09:28 +0000 Subject: load song with "note length"-error anyway; added option "LoadFaultySongs" (for song devs) git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/1.0.1 Challenge MOD@2163 b956fd51-792f-4845-bead-9b4dfca2ff2c --- Game/Code/Classes/UFiles.pas | 20 +++++++++++++------- Game/Code/Classes/UIni.pas | 11 +++++++++++ Game/Code/UltraStar.dpr | 2 +- 3 files changed, 25 insertions(+), 8 deletions(-) diff --git a/Game/Code/Classes/UFiles.pas b/Game/Code/Classes/UFiles.pas index b3b6e3fd..6e552f40 100644 --- a/Game/Code/Classes/UFiles.pas +++ b/Game/Code/Classes/UFiles.pas @@ -663,7 +663,8 @@ begin if(numLines=0) then begin Log.LogError('Song ' + AktSong.Path + AktSong.Filename + ' has no lines?'); - Exit; + if (Ini.LoadFaultySongs=0) then + Exit; end; for line := 0 to numLines - 1 do @@ -673,14 +674,16 @@ begin if(numNotes=0) then begin Log.LogError('Sentence ' + IntToStr(line+1) + ' in song ' + AktSong.Path + AktSong.Filename + ' has no notes?'); - Exit; + if (Ini.LoadFaultySongs=0) then + Exit; end; if(bt>Czesci[p].Czesc[line].Start) then begin Log.LogError('Beat error in sentence ' + IntToStr(line+1) + ', on beat ' + IntToStr(Czesci[p].Czesc[line].Start) + ' in song ' + AktSong.Path + AktSong.Filename); - Exit; + if (Ini.LoadFaultySongs=0) then + Exit; end; bt := Czesci[p].Czesc[line].Start; @@ -690,7 +693,8 @@ begin begin Log.LogError('Beat error in sentence ' + IntToStr(line+1) + ', on beat ' + IntToStr(Czesci[p].Czesc[line].Nuta[note].Start) + ' in song ' + AktSong.Path + AktSong.Filename); - Exit; + if (Ini.LoadFaultySongs=0) then + Exit; end; bt := Czesci[p].Czesc[line].Nuta[note].Start; @@ -705,7 +709,7 @@ begin begin Log.LogError('Note length error in sentence ' + IntToStr(line+1) + ', on beat ' + IntToStr(Czesci[p].Czesc[line].Nuta[note].Start) + ' in song ' + AktSong.Path + AktSong.Filename); - Exit; + //Exit; end; if(medley) then @@ -722,11 +726,13 @@ begin if(medley and not foundMedleyStart) then begin Log.LogError('Error MedleyStartBeat: no corresponding note start (beat) in song ' + AktSong.Path + AktSong.Filename); - Exit; + if (Ini.LoadFaultySongs=0) then + Exit; end else if(medley and not foundMedleyEnd) then begin Log.LogError('Error MedleyEndBeat: no corresponding note start+length in song ' + AktSong.Path + AktSong.Filename); - Exit; + if (Ini.LoadFaultySongs=0) then + Exit; end; Result := true; end; diff --git a/Game/Code/Classes/UIni.pas b/Game/Code/Classes/UIni.pas index 9007744c..02b9c5ef 100644 --- a/Game/Code/Classes/UIni.pas +++ b/Game/Code/Classes/UIni.pas @@ -22,6 +22,7 @@ type Tabs_at_startup:integer; //Tabs at Startup fix Sorting: integer; Debug: integer; + LoadFaultySongs:integer; // Graphics Screens: integer; @@ -118,6 +119,7 @@ const sArtist2 = 7; IDebug: array[0..1] of string = ('Off', 'On'); + ILoadFaultySongs: array[0..1] of string = ('Off', 'On'); IScreens: array[0..1] of string = ('1', '2'); IFullScreen: array[0..1] of string = ('Off', 'On'); @@ -246,6 +248,11 @@ begin for Pet := 0 to High(IDebug) do if Tekst = IDebug[Pet] then Ini.Debug := Pet; + // Load faulty songs + Tekst := IniFile.ReadString('Game', 'LoadFaultySongs', ILoadFaultySongs[0]); + for Pet := 0 to High(IDebug) do + if Tekst = IDebug[Pet] then Ini.LoadFaultySongs := Pet; + //if Ini.Debug = 1 then SongPath := 'E:\UltraStar 03\Songs\'; // Screens @@ -621,6 +628,10 @@ begin Tekst := IDebug[Ini.Debug]; IniFile.WriteString('Game', 'Debug', Tekst); + // Load faulty songs + Tekst := IDebug[Ini.Debug]; + IniFile.WriteString('Game', 'LoadFaultySongs', Tekst); + // Screens Tekst := IScreens[Ini.Screens]; IniFile.WriteString('Graphics', 'Screens', Tekst); diff --git a/Game/Code/UltraStar.dpr b/Game/Code/UltraStar.dpr index 437578d8..8a0c2a8e 100644 --- a/Game/Code/UltraStar.dpr +++ b/Game/Code/UltraStar.dpr @@ -124,7 +124,7 @@ uses acinerella in 'lib\acinerella\acinerella.pas'; const - Version = 'UltraStar Deluxe v1.0.1a Challenge-MOD r7 beta 1 2010-02-28'; + Version = 'UltraStar Deluxe v1.0.1a Challenge-MOD r7 beta 2 2010-02-28'; var WndTitle: string; -- cgit v1.2.3