| Commit message (Collapse) | Author | Files | Lines |
|
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1259 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1258 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
now instead of the proprietary covers.cache.
- covers are cached faster (-> start-up on first run will be considerably faster now if many covers exist).
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1256 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1254 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
TIniFile.ReadFloat will not work in windows.
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1253 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
will be corrupted.
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1248 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
of /var/logs so we do not need special permissions on the log directory.
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1242 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1241 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1239 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1238 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1236 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1235 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1234 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1231 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
- GetStats returns a TList of TStatResult now
- Free the result-list with FreeStats
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1230 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
- Version-number for database-file added
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1229 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
- Replaced TSQLiteTable with the new TSQLiteUniTable. The ..UniTable-version does not retrieve data at once (this feature is not needed/wanted in most cases). The major advantage of this version is a better handling of datatypes. TSQLiteTable does not handle datatypes correctly (and even crashes) if the field-types are not one of the SQLite types (e.g. an INT(12) field will crash if it accessed by FieldAsInteger, the same applies to "integer" but the upper-case version "INTEGER" works). With TSQLiteUniTable those crashes should not occur.
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1228 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1227 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
- better error/exception handling
- Strings (PlayerName, Artist, Title) are stored as UTF8
- TSQLiteTable objects returned by GetTable() are freed now. Memory was not released before causing memory leaks.
- replaced `` with []. Both are not ANSI SQL compatible, `` is used in MySQL, [] in MSSQL. In contrast to `` SQLite states that [] is supported. "" is not used as it is interpreted as a string if an identifier with this name does not exist. This will make debugging mor difficult as SQLite does not return an error code if an identifier was misspelled.
- cleanup
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1226 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
NOT use them in USDX code. They are just by the DirWatch and Midi... libs in FPC (Windows).
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1224 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1223 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1222 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1220 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1218 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
more than 5 score entrys per song/difficulty
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1216 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1215 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1214 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1213 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1212 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
- pixeled/transparent fonts bug
- some lines were erroneously marked active or disabled
- state was not initialized correctly
- negative gap problem (TLyricLine.Start was of type cardinal)
- some more lyrics bugs
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1211 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
- clean-up
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1210 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1208 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
- TPlatform now implements common behaviour
- added TPlatform.Init()
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1207 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
editor only. This might be replaced by ULyrics.pas later.
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1204 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
Support/UltraStarDeluxe/Resources
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1201 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1195 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1194 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1193 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
- Added GetLowerLine/GetUpperLine.
- cleanup
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1192 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
not use this as the stored width is not correct. Use TLyricsEngine.GetUpperLine().Width instead.
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1191 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
- fading works now, it was broken because RenderW/H was not defined when SwapBuffers() was called for the first time. This caused glOrtho() to set the OpenGL error state. When fading was initialized in UDisplay this error-state was checked to see if glGenTextures failed. Although it didn't the error state was set because of the older error in glOrtho (Note: errors aren't reset after a successful OpenGL call), so it was wrongly assumed that no texture could be allocated.
This problem was fixed by defining RenderW/H before the first call of SwapBuffers and resetting OpenGL's error state before calling an OpenGL function whose error state is to be checked.
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1188 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1187 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
interface
{$IFDEF FPC}
{$MODE Delphi}
{$ENDIF}
{$I switches.inc}
uses
UMenu,
SDL,
SysUtils,
UDisplay,
UMusic,
UIni,
UThemes;
type
TScreenStatMain = class(TMenu)
private
//Some Stat Value that don't need to be calculated 2 times
SongswithVid: Cardinal;
public
TextOverview: integer;
constructor Create; override;
function ParseInput(PressedKey: Cardinal; CharCode: WideChar; PressedDown: Boolean): Boolean; override;
procedure onShow; override;
procedure SetAnimationProgress(Progress: real); override;
procedure SetOverview;
end;
implementation
uses UGraphic,
UDataBase,
USongs,
USong,
ULanguage,
UCommon,
{$IFDEF win32}
windows,
{$ELSE}
sysconst,
{$ENDIF}
ULog;
function TScreenStatMain.ParseInput(PressedKey: Cardinal; CharCode: WideChar; PressedDown: Boolean): Boolean;
begin
Result := true;
If (PressedDown) Then
begin // Key Down
// check normal keys
case WideCharUpperCase(CharCode)[1] of
'Q':
begin
Result := false;
Exit;
end;
end;
// check special keys
case PressedKey of
SDLK_ESCAPE,
SDLK_BACKSPACE :
begin
Ini.Save;
AudioPlayback.PlaySound(SoundLib.Back);
FadeTo(@ScreenMain);
end;
SDLK_RETURN:
begin
//Exit Button Pressed
if Interaction = 4 then
begin
AudioPlayback.PlaySound(SoundLib.Back);
FadeTo(@ScreenMain);
end
else //One of the Stats Buttons Pressed
begin
AudioPlayback.PlaySound(SoundLib.Back);
ScreenStatDetail.Typ := Interaction;
FadeTo(@ScreenStatDetail);
end;
end;
SDLK_LEFT:
begin
InteractPrev;
end;
SDLK_RIGHT:
begin
InteractNext;
end;
SDLK_UP:
begin
InteractPrev;
end;
SDLK_DOWN:
begin
InteractNext;
end;
end;
end;
end;
constructor TScreenStatMain.Create;
var
I: integer;
begin
inherited Create;
TextOverview := AddText(Theme.StatMain.TextOverview);
LoadFromTheme(Theme.StatMain);
AddButton(Theme.StatMain.ButtonScores);
if (Length(Button[0].Text)=0) then
AddButtonText(14, 20, Theme.StatDetail.Description[0]);
AddButton(Theme.StatMain.ButtonSingers);
if (Length(Button[1].Text)=0) then
AddButtonText(14, 20, Theme.StatDetail.Description[1]);
AddButton(Theme.StatMain.ButtonSongs);
if (Length(Button[2].Text)=0) then
AddButtonText(14, 20, Theme.StatDetail.Description[2]);
AddButton(Theme.StatMain.ButtonBands);
if (Length(Button[3].Text)=0) then
AddButtonText(14, 20, Theme.StatDetail.Description[3]);
AddButton(Theme.StatMain.ButtonExit);
if (Length(Button[4].Text)=0) then
AddButtonText(14, 20, Theme.Options.Description[4]);
Interaction := 0;
//Set Songs with Vid
SongswithVid := 0;
For I := 0 to Songs.SongList.Count -1 do
if (TSong(Songs.SongList[I]).Video <> '') then
Inc(SongswithVid);
end;
procedure TScreenStatMain.onShow;
begin
inherited;
//Set Overview Text:
SetOverview;
end;
procedure TScreenStatMain.SetOverview;
type
TwSystemTime = record
wYear,
wMonth,
wDayOfWeek,
wDay,
wHour,
wMinute,
wSecond,
wMilliseconds: Word;
end;
var
Overview, Formatstr: String;
I: Integer;
//Some Vars to Save Attributes to
A1, A2, A3: Integer;
A4, A5: String;
Result1, Result2: AStatResult;
ResetTime: TSystemTime;
begin
//Song Overview
//Introduction
Formatstr := Language.Translate ('STAT_OVERVIEW_INTRO');
(*Format:
%0:d Ultrastar Version
%1:d Day of Reset (A1)
%2:d Month of Reset (A2)
%3:d Year of Reset (A3)*)
DateTimeToSystemTime(Database.GetStatReset, ResetTime);
// ResetTime := GetFileCreation(Database.Filename);
{$IFDEF MSWINDOWS}
A1 := ResetTime.wDay;
A2 := ResetTime.wMonth;
A3 := ResetTime.wYear;
{$ELSE}
A1 := ResetTime.Day;
A2 := ResetTime.Month;
A3 := ResetTime.Year;
{$ENDIF}
try
Overview := Format(Formatstr, [Language.Translate('US_VERSION'), A1, A2, A3]);
except
on E: EConvertError do
Log.LogError('Error Parsing FormatString "STAT_OVERVIEW_INTRO": ' + E.Message);
end;
Formatstr := Language.Translate ('STAT_OVERVIEW_SONG');
{Format:
%0:d Count Songs (A1)
%1:d Count of Sung Songs (A2)
%2:d Count of UnSung Songs
%3:d Count of Songs with Video (A3)
%4:s Name of the most popular Song}
A1 := Songs.SongList.Count;
A2 := Database.GetTotalEntrys(2);
A3 := SongswithVid;
SetLength(Result1, 1);
Database.GetStats(Result1, 2, 1, 0, False);
A4 := Result1[0].Artist;
A5 := Result1[0].Title;
try
Overview := Overview + '\n \n' + Format(Formatstr, [A1, A2, A1-A2, A3, A4, A5]);
except
on E: EConvertError do
Log.LogError('Error Parsing FormatString "STAT_OVERVIEW_SONG": ' + E.Message);
end;
//Player Overview
Formatstr := Language.Translate ('STAT_OVERVIEW_PLAYER');
{Format:
%0:d Count Players (A1)
%1:s Best Player (Result)
%2:d Best Players Score
%3:s Best Score Player (Result2)
%4:d Best Score}
A1 := Database.GetTotalEntrys(1);
SetLength(Result1, 1);
Database.GetStats(Result1, 1, 1, 0, False);
SetLength(Result2, 1);
Database.GetStats(Result2, 0, 1, 0, False);
try
Overview := Overview + '\n \n' + Format(Formatstr, [A1, Result1[0].Player, Result1[0].AverageScore, Result2[0].Singer, Result2[0].Score]);
except
on E: EConvertError do
Log.LogError('Error Parsing FormatString "STAT_OVERVIEW_PLAYER": ' + E.Message);
end;
Text[0].Text := Overview;
end;
procedure TScreenStatMain.SetAnimationProgress(Progress: real);
var I: Integer;
begin
For I := 0 to high(Button) do
Button[I].Texture.ScaleW := Progress;
end;
end.
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1186 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
Selects on the options have been exchanged for SelectSlides (OptionsScreens are looking less broken (more to come))
Solmization has been banned from the options (it's still available via config.ini and is working)
Uncommented poc ttf code
[Back] button in OptionsRecord is skineable again
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1183 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1162 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1158 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
- lyrics<->audio synchronisation (TSyncSource)
- better resampling (optional support for libsamplerate)
- cleaner termination of audio/video streams/devices
- improved decoders and decoder infrastructure
- many other improvements/cleanups
Currently just for testing (not enabled by default):
- Background music
- Voice-Passthrough (hear what you sing)
- Video VSync
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1157 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
SDL_SetVideoMode creates a new OpenGL RC (all textures are invalidated) so we have to reload all texture data (-> whitescreen bug or scrambled screen). Only Linux is able to handle screen-switching this way.
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1156 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
- "in"-operator does not work with WideChar operands, e.g. "mychar in ['a..z']
- FPC_VERSION/RELEASE/PATCH (e.g. {$IF FPC_VERSION > 2}) must be defined as constants because delphi 7 does not care about {$IFDEF FPC} sections and complains about undefined constant expressions.
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1150 b956fd51-792f-4845-bead-9b4dfca2ff2c
|
|
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1149 b956fd51-792f-4845-bead-9b4dfca2ff2c
|