aboutsummaryrefslogtreecommitdiffstats
path: root/Game/Code/Classes (follow)
Commit message (Collapse)AuthorAgeFilesLines
* bugfix: ResetSingTemp prevented a song from being played twice ("File not ↵tobigun2008-02-051-0/+2
| | | | | | | | | | | found" error). The error is due the change of TSong from a record to a class. This is because CurrentSong = CatSongs.Song[index] won't copy the whole data anymore but just a pointer. So the paths of CatSongs.Song[index] will be set to '' too what is not desired. Jay: Please revise this. If i remember correctly you wanted to set CurrentSong to nil instead of setting the paths to an empty string. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@830 b956fd51-792f-4845-bead-9b4dfca2ff2c
* General:tobigun2008-02-0511-2966/+3003
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - cleanup and adaption of SingDrawOscilloscope Portaudio/SDL audio output: - stuttering in portaudio output has been fixed (SDL_MixBuffers cannot be used without initializing the SDL audio stuff first, so it is not usable with portaudio. Now SDL is used for audio-output instead of portaudio (although the file-name is UAudioPlayback_Portaudio.pas at the moment). - cleaner file closing - volume adjustment UMusic: - cleanup of the audio-interfaces - introduced TNoteType = (ntFreestyle, ntNormal, ntGolden) - some bug-fixes - introduced TSoundLibrary. This is library for all in-game sounds used by USDX. Instead of calling AudioPlayer.PlaySwoosh you should call AudioPlayer.PlaySound(SoundLib.Swoosh) now. You might call SoundLib.Swoosh.Play too, but this is not recommended at the moment because SoundLib.Swoosh could be nil if the file was not found. The SoundLibrary approach is much cleaner than the previous one. The AudioPlayer does not have to specify a Play... and Stop... method for every available sound anymore. In addition it is not an AudioPlayers responsibility to init the in-game sounds. URecord: - polish to english translation of some variables - CaptureSoundLeft/Right is CaptureChannel[0/1] now - TSoundCardInput -> TAudioInputDeviceSource - TGenericSoundCard.Input -> TGenericSoundCard.Source - autocorrelation algorithm more readable now - Clean-up of the audio-input interface - moved cloned code of the input-classes to one base class (TAudioInputBase) - Cleaner finalization - Start-/StopCapture will not crash anymore in the recording-options menu - Fixed several bugs in the autocorrelation stuff (e.g. wrong usage of $10000) - SzczytJest (now ToneValid) was not used correctly. ToneValid is set to true if a valid tone was found (= the sound was louder than the threshold -> no background noise). If i remember correctly the sound was accepted although the tone was invalid. So the old data was used although noone was singing. This resulted in some sort of ghost-singer effect. UIni: - moved TIni.Card to TScreenOptionsRecord.Card because it is not stored in the ini-file and will not be in the future. - TIni.CardList ist now TIni.InputDeviceConfig. The name cardlist was misleading because it just specifies input- but no output-devices. In addition a soundcard can have multiple input-devices (at least in linux). - bugfix on InputDeviceConfig (formerly CardList) usage. USDX expected that the indices of the corresponding elements in TIni.InputDeviceConfig[] and TAudioInputProcessor.Device[] were the same. This is wrong. If device 2 was defined at first place in the ini and device 1 at the second, the indices of the two arrays didn't match (they were swapped) erroneously. To fix this and to support the item listed below the index to TIni.InputDeviceConfig[] is now stored in TAudioInputDevice.CfgIndex. NOTE: InputDeviceConfig[] contains configurations of non-available (unplugged) devices. Iterate over TAudioInputProcessor.Device[] for available devices. - configurations of external devices that are not plugged in will not be deleted anymore. - multiple definitions of one device in the ini-file will not crash USDX anymore - CardList[I].ChannelL/R now are InputDeviceConfig[I].ChannelToPlayerMap[0/1]. I think the new name is more intuitive because it maps a channel to a player number. Now the both vars are joint to one array. Now it is possible to use loops to process them and we might support more than two input channels on one device in the future (if such devices exist) git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@827 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Added a SafeWriteLn()-function to support thread-safe console-output.tobigun2008-02-051-278/+364
| | | | | | | | This is used in all Log...-Methods now (not for file-output yet). Don't use WriteLn anymore from external threads (for example in SDL or Portaudio Callbacks), otherwise FPC will crash. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@826 b956fd51-792f-4845-bead-9b4dfca2ff2c
* updated to use the new UConfig.pastobigun2008-02-051-20/+22
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@825 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Changed Delphi-define to MSWINDOWS (works in FPC too)tobigun2008-02-051-1/+1
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@824 b956fd51-792f-4845-bead-9b4dfca2ff2c
* - DirWatch-support with FPC (windows only)tobigun2008-02-053-738/+845
| | | | | | - added UAudioCore_Bass.pas git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@823 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Removed the FPC_V220 define. Now the build-in FPC_VERSION, FPC_RELEASE and ↵tobigun2008-02-051-7/+13
| | | | | | FPC_PATCH macros are used. So no need to define the version in a config-file anymore (especially in windows). git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@816 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Removed the "use nil instead of 0" warningstobigun2008-02-051-2/+2
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@815 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Update of the ffmpeg headers to their current trunk versions.tobigun2008-02-052-7/+8
| | | | | | | | IMPORTANT: parameter of av_free_packet is a pointer now procedure av_free_packet (pkt: PAVPacket); as it is with av_free() and av_freep() git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@814 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Introduction of config-file mechanism.tobigun2008-02-051-0/+164
| | | | | | For now just the windows version. Linux and MacOSX later. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@813 b956fd51-792f-4845-bead-9b4dfca2ff2c
* replaced Recording with AudioInputProcessor to conform to the new interface.tobigun2008-02-051-11/+11
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@812 b956fd51-792f-4845-bead-9b4dfca2ff2c
* small changes to check linux compilation.jaybinks2008-02-041-5/+6
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@808 b956fd51-792f-4845-bead-9b4dfca2ff2c
* TTexture.Z was never initialized (TTextureUnit.LoadTexture). In FPC (not in ↵tobigun2008-01-281-1144/+1145
| | | | | | delphi) this resulted in a floating-point error when calling glVertex3f(x1, y1, z) in DrawTexture (UDrawTexture.pas) git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@807 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Bugfix: In glTextWidth() "text := pchar(Copy(text, 2, Length(text)-1))" does ↵tobigun2008-01-271-559/+562
| | | | | | | | not work with FPC, probably because a part of text is assigned to itself. Note: Why is the string copied so many times just to get the current character? I just simplified this method to use Text[index] instead. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@806 b956fd51-792f-4845-bead-9b4dfca2ff2c
* - Added missing "override" for TSongs.destroy().tobigun2008-01-271-897/+888
| | | | | | | | | | - Bugfix: Fixed a severe Race-Condition that crashed USDX on startup from time to time. The race-condition was due to unsuspended thread-creation in the constructor TSongs.create(). If a class is inherited from TThread and calls "inherited create(false)" in its constructor the thread will immediately start its Execute() method, although the overridden constructor is not finished yet and the members may not be initialized (in this case a TList has not been created). NOTE: If you inherit from TThread always create the thread in suspended mode ("inherited create(true)") and call "Resume()" at the end of the constructor. Don't do this if the class is subject to be overriden, otherwise you may get a race-condition in the child-classes then. In this case it would be better if Resume() was called by the creator of the object. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@805 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Bugfix: some inherited functions were missing.tobigun2008-01-251-6/+33
| | | | | | Jay please check for correctness (did you forget to check your file in?)! git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@804 b956fd51-792f-4845-bead-9b4dfca2ff2c
* reenabled TLog.LogError(Log1, Log2: string).tobigun2008-01-251-1/+1
| | | | | | | | Some severe errors have not been displayed because this function was disabled. If this function should be deprecated then mark it as deprecated instead of just emptying the body of the function. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@803 b956fd51-792f-4845-bead-9b4dfca2ff2c
* git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@802 ↵eddie-08152008-01-201-4/+10
| | | | b956fd51-792f-4845-bead-9b4dfca2ff2c
* Fixed song loading on OS X (UTF8 filenames). Added switches.inc.eddie-08152008-01-201-41/+66
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@800 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Fixed compilation on the mac. At the moment the project doesn't link on the mac.eddie-08152008-01-201-13/+35
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@798 b956fd51-792f-4845-bead-9b4dfca2ff2c
* added blindy's swscale support. It can be enabled with {$DEFINE UseSWScale}.tobigun2008-01-181-0/+32
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@795 b956fd51-792f-4845-bead-9b4dfca2ff2c
* tidy up sing mode, to be an enum now.jaybinks2008-01-142-2/+7
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@794 b956fd51-792f-4845-bead-9b4dfca2ff2c
* oops sorry I forgot this one ..jaybinks2008-01-131-0/+706
| | | | | | bugger ! git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@792 b956fd51-792f-4845-bead-9b4dfca2ff2c
* oops... :)jaybinks2008-01-121-7/+6
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@791 b956fd51-792f-4845-bead-9b4dfca2ff2c
* removed big ugly commented out code..jaybinks2008-01-121-327/+1
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@790 b956fd51-792f-4845-bead-9b4dfca2ff2c
* bunch of smaller changes...jaybinks2008-01-1215-640/+375
| | | | | | | | | | some changes to song loading... Record global changed to singleton object started implementing mic volume display in Settings-Record hope this dosnt break anything.. :P git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@789 b956fd51-792f-4845-bead-9b4dfca2ff2c
* SDL_Init(SDL_INIT_AUDIO) prevents Portaudio from acquiring the soundcard (no ↵tobigun2008-01-111-1/+1
| | | | | | | | sound). Use SDL_Init_Subsystem(SDL_INIT_AUDIO) if SDL is used instead of Portaudio for audio output. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@787 b956fd51-792f-4845-bead-9b4dfca2ff2c
* changed from ffmpeg-free (audio) to ffmpeg-enabled (if turned on in ↵tobigun2008-01-117-2170/+117
| | | | | | | | switches.inc) version. BASS is used by default. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@786 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Updated to the new audio-interfacetobigun2008-01-111-16/+70
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@785 b956fd51-792f-4845-bead-9b4dfca2ff2c
* FPC compatible FFMPEG versioning support. Version-numbers are in the form ↵tobigun2008-01-112-981/+1
| | | | | | AAIISS now instead of AA.IISS (which is not supported by fpc) git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@783 b956fd51-792f-4845-bead-9b4dfca2ff2c
* do not initialize sdl_audio at this placetobigun2008-01-111-1/+1
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@781 b956fd51-792f-4845-bead-9b4dfca2ff2c
* some minor changestobigun2008-01-112-3/+13
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@780 b956fd51-792f-4845-bead-9b4dfca2ff2c
* partial seeking and mixing supporttobigun2008-01-102-121/+275
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@775 b956fd51-792f-4845-bead-9b4dfca2ff2c
* git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@770 ↵eddie-08152008-01-092-6/+4
| | | | b956fd51-792f-4845-bead-9b4dfca2ff2c
* Changed the GamePath. Now the GamePath is loaded from Platform.GetGameUserPath.eddie-08152008-01-091-1/+2
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@769 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Added UTF8-Conversion for values read out of the txt file. This must be done ↵eddie-08152008-01-091-1/+11
| | | | | | only on OS X. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@768 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Changed BrowsePos from Cardinal to Integer, because of range check errors at ↵eddie-08152008-01-091-1/+1
| | | | | | runtime. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@765 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Added the new GetxxxxPath functions for OS X.eddie-08152008-01-091-2/+19
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@764 b956fd51-792f-4845-bead-9b4dfca2ff2c
* The constant NAN causes a range check error on OS X. I've set LastDrawBeat ↵eddie-08152008-01-091-0/+10
| | | | | | to 0 - would this be OK for all Platforms? git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@763 b956fd51-792f-4845-bead-9b4dfca2ff2c
* experimental positioning support addedtobigun2007-12-281-2/+15
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@753 b956fd51-792f-4845-bead-9b4dfca2ff2c
* New class-structure seperates decoders/input and playback.tobigun2007-12-285-0/+2430
| | | | | | | The files aren't used in usdx until they are stable so they will not conflict with the old structure. The older files (UAudio_Bass etc.) will be replaced then. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@752 b956fd51-792f-4845-bead-9b4dfca2ff2c
* FileErrorO is set to true to early. Even if FileError couldn't be opened it ↵tobigun2007-12-271-1/+1
| | | | | | will be set to true and hence usdx tries to close and unopened fileerror-stream later which results in a segmentation fault git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@750 b956fd51-792f-4845-bead-9b4dfca2ff2c
* Added missing return-values (always true) to InitCore and LoadCore.tobigun2007-12-271-0/+3
| | | | | | Whiteshark: Please change this to the appropriate values. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@749 b956fd51-792f-4845-bead-9b4dfca2ff2c
* bug-fix: Tex_ScoreBG bounds were changed from [0..5] to [1..6] but ↵tobigun2007-12-271-789/+789
| | | | | | | | Tex_ScoreBG[0] was used at several places in the code. This corrupted Tex_SingLineBonusBack[8].Name and caused a segmentation fault. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@745 b956fd51-792f-4845-bead-9b4dfca2ff2c
* fixed screenshot problemb1indy2007-12-221-1/+1
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@743 b956fd51-792f-4845-bead-9b4dfca2ff2c
* fixed a "typo"b1indy2007-12-221-1/+1
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@740 b956fd51-792f-4845-bead-9b4dfca2ff2c
* removed a bunch of debugging from usdx startup.jaybinks2007-12-204-25/+17
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@738 b956fd51-792f-4845-bead-9b4dfca2ff2c
* added -localpaths command line switchjaybinks2007-12-202-4/+17
| | | | | | | so we dont always have to use the packaged locations. ( profox ) git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@737 b956fd51-792f-4845-bead-9b4dfca2ff2c
* removed hard-coded lazarus_v0924 define (why is it in there?)tobigun2007-12-201-2/+0
| | | | git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@736 b956fd51-792f-4845-bead-9b4dfca2ff2c
* made USDX function when file paths differ from previous expectations..jaybinks2007-12-208-1075/+1178
| | | | | | | | ( most of the software was still using hard coded paths ) also added ability to have multiple song directories. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@735 b956fd51-792f-4845-bead-9b4dfca2ff2c