Steve Checkoway
14b91aea37
Don't add random entries (pSong = NULL) to vSongs. Assert that pSong is never NULL.
2006-07-02 22:02:59 +00:00
Steve Checkoway
a2dca95d01
Use native endian. Now Alsa works for powerpc linux.
2006-06-29 03:22:29 +00:00
Steve Checkoway
7e3622464a
Missed commit.
2006-06-29 01:11:10 +00:00
Steve Checkoway
cc10b4f368
Fix crash when canceling (probably closing the dialog box or something).
2006-06-27 18:27:51 +00:00
Steve Checkoway
1eeb14cd5a
Do not dereference if later = fLifeRecord.end().
2006-06-27 15:49:37 +00:00
Steve Checkoway
d43538bcc3
People keep trying to use newer versions of ffmpeg and it is failing either to compile (in which case they just patch our code to get it to compile) or it crashes when trying to play movies. Check for two things. First, check that the version and build numbers reported in the headers match those returned by the library which should prevent any header/lib mismatch crashes. Second, check for exactly the version/build numbers that we know work are are used in both windows and OS X and worked correctly for ppc linux. If a large number of reports come in with header/lib mismatches, I'll consider removing the check for exactly the version/build numbers.
2006-06-26 23:29:54 +00:00
Steve Checkoway
80698277cf
Don't use rand()%n. The function specified by the ANSI committee is a terrible linear congruential generator. In fact, it's so bad that the low order bit alternates. The algorithm implemented as RandomFloat() seems to be Park and Miller's "minimum standard" generator which is better (but not great). [See Knuth for more information.]
...
Any place where you would use rand()%n, use RandomInt(0, n) instead.
2006-06-26 12:14:30 +00:00
Steve Checkoway
d2d24ceb4b
Cleanup.
2006-06-26 11:36:10 +00:00
Steve Checkoway
4524010d56
Apply RemoveSimultaneousNotes to each part of a composite NoteData.
2006-06-26 11:35:52 +00:00
Steve Checkoway
78eb52a75c
Add missing header.
2006-06-26 10:57:26 +00:00
Steve Checkoway
0279fd908f
CombineCompositeNoteData(). This will not let you place a note inside a hold note that already exists. Use this when loading from a string as well.
2006-06-26 10:57:10 +00:00
Steve Checkoway
4240ac6393
Update release script.
2006-06-26 10:42:47 +00:00
Steve Checkoway
8129d943ba
It's hard to maintain this information when using begin() and end() so rather than wrapping the iterators, just check each time IsComposite() is called since it doesn't happen _that_ often. Just don't call IsComposite() often.
2006-06-26 09:33:11 +00:00
Steve Checkoway
477a2c99b3
I do not have time to fix these tests since they do not compile, but libresample is no longer in the repository.
2006-06-25 05:12:06 +00:00
Steve Checkoway
5b6028c73e
No more libresample thanks to Glenn's Herculean effort to rewrite that code.
2006-06-25 04:57:35 +00:00
Steve Checkoway
1e7852ed1f
Don't crash if we're not editing a course entry.
2006-06-24 07:46:17 +00:00
Steve Checkoway
08146691e7
Cleanup.
2006-06-24 04:42:49 +00:00
Steve Checkoway
dcea3319ca
Add files.
2006-06-24 04:24:21 +00:00
Steve Checkoway
fa76d771f3
Shared.
2006-06-24 04:21:13 +00:00
Steve Checkoway
e1f9e558df
Map between PlayerNumber and PlayerInfo. Most subclasses use a one to one mapping so that's what ScreenGameplay's version will do. If you need other behavior, implement this member function.
2006-06-24 04:19:00 +00:00
Steve Checkoway
d008b0aa8b
Use doubles track spacing and revert m_iInputColumn.
2006-06-24 04:02:43 +00:00
Steve Checkoway
3c590a2433
If the player is using both sides, look at both controllers.
2006-06-24 04:01:18 +00:00
Steve Checkoway
a49787da67
Shared players will only be using the master player's NoteData, Check that the track actually exists before attempting to use it.
2006-06-24 03:31:16 +00:00
Steve Checkoway
8f441235a3
Add Lua binding for current StyleType.
2006-06-24 03:29:56 +00:00
Steve Checkoway
ae4e5ba9e5
More Sprite debugging.
2006-06-24 01:33:17 +00:00
Steve Checkoway
9a5374e23f
Use AbortRetryIgnore, don't just Throw.
2006-06-24 00:58:38 +00:00
Steve Checkoway
c5f4baa121
Remove ShowEvaluationOnFail, add PlayerP[12]TwoPlayersSharedSidesX.
2006-06-24 00:22:58 +00:00
Steve Checkoway
d2db559fb3
Cleanup.
2006-06-24 00:22:13 +00:00
Steve Checkoway
190fa9d8de
Fix inputs.
2006-06-24 00:11:01 +00:00
Steve Checkoway
6b38a1bea5
TWO_PLAYERS_SHARED_SIDES.
2006-06-24 00:09:50 +00:00
Steve Checkoway
fc104372cf
Unused.
2006-06-24 00:07:25 +00:00
Steve Checkoway
aa2c86ce35
Cleanup.
2006-06-24 00:06:57 +00:00
Steve Checkoway
da87f6d956
Use safe macros.
2006-06-24 00:05:08 +00:00
Steve Checkoway
f16e921945
Fix bugs 1509452 (failing extra stage causes game over) and 1508308 (setting ShowEvaluationOnFail=1 is ignored).
2006-06-22 11:36:42 +00:00
Steve Checkoway
96a173d753
Empty string for old behavior.
2006-06-22 09:43:18 +00:00
Steve Checkoway
7469032de4
If CreateNewScreen is empty, use old behavior, otherwise set the screen named.
2006-06-22 09:43:07 +00:00
Steve Checkoway
5c37cb873d
Write composite NoteDatas.
2006-06-20 15:27:45 +00:00
Steve Checkoway
d2a550a532
Cleanup.
2006-06-20 14:41:51 +00:00
Steve Checkoway
96e3f211b8
Split the given composite NoteData into it's constituent parts. If the given NoteData is not composite, just copy it.
2006-06-20 14:32:09 +00:00
Steve Checkoway
fff087a76b
Split out LoadFromSMNoteDataStringWithPlayer(). This fills out the NoteData without making any copies of sSMNoteData. Previously, this portion of the code copied the full string twice, once when splitting for measures and once when splitting for lines.
...
Only make a single copy of the string in LoadFromSMNoteDataString() when stripping out comments. Previously, the string was copied as many times as there were comments. Now, the whole loading can happen with a single copy of the data.
2006-06-20 13:34:28 +00:00
Steve Checkoway
3ee5991c25
Set composite.
2006-06-20 13:21:18 +00:00
Steve Checkoway
91f1329653
Composite NoteData for when one NoteData represents multiple NoteDatas.
2006-06-20 13:20:45 +00:00
Steve Checkoway
4a9cfcb11a
Cleanup.
2006-06-20 13:19:12 +00:00
Steve Checkoway
9075356511
Simplify.
2006-06-20 09:31:51 +00:00
Steve Checkoway
3a9bdc1646
Move MakeLoader to NotesLoader. It doesn't make sense for it to be a member function of Song.
2006-06-20 07:12:52 +00:00
Steve Checkoway
5e7ac2deed
Cleanup.
2006-06-20 06:48:30 +00:00
Steve Checkoway
8bef98e7b6
Spelling.
2006-06-20 06:34:16 +00:00
Steve Checkoway
6516e6fceb
Cleanup.
2006-06-20 06:28:57 +00:00
Steve Checkoway
72b2e1f2b6
Add option --with-static-ffmpeg-prefix. If you have installed the static libraries (and their associated headers) at /foo/bar, then pass --with-static-ffmpeg-prefix=/foo/bar and /foo/bar/lib/libavcodec.a and /foo/bar/lib/libavformat.a will be passed to the linker and -I/foo/bar/include will be added to CXXFLAGS. If doing this for other libraries would be helpful for releases, we could just use a --with-static-prefix option instead and look there for static libs.
2006-06-20 03:50:21 +00:00
Steve Checkoway
8d82bdfb82
Do not allocate or deallocate memory in the mixing thread. Doing so can block that thread which is possibly a realtime thread. Distinguish between STOPPED and AVAILABLE. In the STOPPED state, the memory for the sound is still around. It will be deallocated in Update() at which time the state will change to AVAILABLE.
...
The BUFFERING state is to keep all other threads from accessing the sound while StartMixing() is prebuffering. It corresponds to the old state STOPPED with available set to false.
2006-06-19 06:43:43 +00:00
Steve Checkoway
7c8b1903e4
The sse version works correctly and is implemented portable. The only problem is that at least for linux, memory allocated on the heap isn't guaranteed to be 16 byte aligned and FastSoundRead() depends on both dest and src being 16 byte aligned. This could easily be overcome in the same way as FastSoundWrite.
2006-06-19 05:24:41 +00:00
Steve Checkoway
7dce2e2825
Fix the (unused) float version for sse.
2006-06-19 05:21:10 +00:00
Steve Checkoway
b8e1db595a
Fix the (unused) float version for altivec.
2006-06-19 04:04:10 +00:00
Steve Checkoway
7ba8eefebf
Apparently we want data1 before data2. (Tested.)
2006-06-19 03:21:25 +00:00
Steve Checkoway
7dbdc89b8c
Fix misaligned load/store. Also, these are little endian so merge the low order bytes first. Since this code _is_ portable, I can test it on x86 linux.
2006-06-19 02:53:14 +00:00
Steve Checkoway
128115b779
Add files.
2006-06-18 19:06:24 +00:00
Steve Checkoway
78d055dfad
Beginning of a sound driver that uses AUHAL instead of dealing with the HAL itself. Apple engineers claim it's easier to use (although, I note there's almost zero documentation) and it correctly handles things like device format changing. It currently works, for the most part (on 10.4 and above).
2006-06-18 19:05:40 +00:00
Steve Checkoway
8d9c59287d
Handle JackChanged getting called when the device is stopped.
2006-06-18 18:55:48 +00:00
Steve Checkoway
36f6042ef0
Cleanup.
2006-06-18 18:49:23 +00:00
Steve Checkoway
de4a22d9e0
Reuse variables. (I'm hope gcc was smart enough to reuse the registers on its own, but I didn't actually check. This way we should be using fewer than 32.)
2006-06-18 18:41:22 +00:00
Steve Checkoway
66dfad63b0
Be careful not to read past the end of the data. With aligned loads (which are every load in altivec), it is always okay to load a vector if you can access any element of that vector. It is not always okay to load the next vector.
2006-06-18 18:30:28 +00:00
Steve Checkoway
acf04db9f9
Implement with SSE but don't enable since I can't test it. It should be portable since I used Intel's intrinsics.
2006-06-18 18:10:14 +00:00
Steve Checkoway
2572b8c5ea
That last commit was a bit more than I intended. Oh well. It (and this one) simplify the property listener code and add more listeners.
2006-06-18 09:40:56 +00:00
Steve Checkoway
1f72db5efc
Fix parameter order.
2006-06-18 08:28:18 +00:00
Steve Checkoway
ecde561c03
Fix crash in Actor::BeginTweening. Is there a reason for that ASSERT? The next line clamps to 0.
2006-06-18 05:05:06 +00:00
Steve Checkoway
0c0609f46a
Tracking down crash.
2006-06-18 04:16:17 +00:00
Steve Checkoway
c50a28e434
Spacing cleanup.
2006-06-18 04:14:31 +00:00
Steve Checkoway
6e6808008e
Simplify. (This changes it from a cubic time operation to a quadratic. Also handles the case where a comment begins on the last line and that line isn't terminated with a newline.)
2006-06-18 00:36:58 +00:00
Steve Checkoway
3045dda9fc
Draw arrows in the skin of the player matching the PlayerNumber of the TapNote.
2006-06-17 04:07:40 +00:00
Steve Checkoway
66ca81893f
add missing metric.
2006-06-17 03:44:42 +00:00
Steve Checkoway
57ffea9e7d
Add dance-routine steps/style.
2006-06-16 23:46:36 +00:00
Steve Checkoway
b9d514c76c
Add PlayerNumber to TapNote.
2006-06-16 23:43:17 +00:00
Steve Checkoway
4deb8b8237
Spacing cleanup.
2006-06-16 23:01:38 +00:00
Steve Checkoway
f4639fb139
Spacing cleanup. Ugh, this file is long.
2006-06-16 22:51:12 +00:00
Steve Checkoway
d8824e36a4
Spacing cleanup.
2006-06-16 22:09:39 +00:00
Steve Checkoway
4d24288f82
Spacing cleanup.
2006-06-16 21:55:57 +00:00
Steve Checkoway
12153607f4
Comment.
2006-06-16 21:39:53 +00:00
Steve Checkoway
cf9447e2b5
Save the Theme preference when changing themes.
2006-06-16 21:36:17 +00:00
Steve Checkoway
2426abc7d1
v.begin()-1 is not a valid iterator. Increment the iterator before calling GetNext*Player*() and do not increment inside the function.
2006-06-16 20:23:02 +00:00
Steve Checkoway
9df559af08
Fall back if PREFSMAN->m_sTheme.GetDefault() is not selectable.
2006-06-16 08:51:15 +00:00
Steve Checkoway
aef9e00016
Implement IsDebuggerPresent() and DebugBreak() in OS X. This uses an unstable api so it will only be in debug builds.
2006-06-16 07:18:39 +00:00
Steve Checkoway
87e571a528
Define DEBUG in debug builds.
2006-06-16 07:07:13 +00:00
Steve Checkoway
8e6f2f6f5c
Fix warning in debug build.
2006-06-16 07:06:39 +00:00
Steve Checkoway
3553ab755e
Trying to track down a crash.
2006-06-14 21:38:10 +00:00
Steve Checkoway
83cf9d8b67
Nudge course names over a bit to make room for the memory card icon.
2006-06-14 10:25:33 +00:00
Steve Checkoway
ffd790a834
Remove superfluous check--StringToFloat does it already. Ensure 0 < low meter <= high meter. Do not throw if we cannot read the course file, merely note it in the log.
2006-06-14 09:59:58 +00:00
Steve Checkoway
288d9c70e5
Fix crash caused by loading edit courses from profiles.
2006-06-14 05:43:50 +00:00
Steve Checkoway
0bd653a607
Comment.
2006-06-14 04:13:28 +00:00
Steve Checkoway
5b2b0b4611
Show memory card icon for course edits.
2006-06-14 04:12:20 +00:00
Steve Checkoway
8bc4afd5fe
Better assert message.
2006-06-14 04:10:24 +00:00
Steve Checkoway
db89c9fe37
revert. This was already there.
2006-06-14 01:12:21 +00:00
Steve Checkoway
14068e1369
This does not belong here but it is needed to link so we have to put it somewhere.
2006-06-14 01:07:43 +00:00
Steve Checkoway
439a6f54f6
Fix script.
2006-06-14 00:56:02 +00:00
Steve Checkoway
c6a49f62aa
Fix script.
2006-06-14 00:34:18 +00:00
Steve Checkoway
b9c12fbd86
It wants the version in the format major.minor.bug with any of them empty.
2006-06-13 23:26:11 +00:00
Steve Checkoway
2f93a9fa9b
Don't have "StepMania CVS 4.0 CVS".
2006-06-13 23:09:51 +00:00
Steve Checkoway
af5f6f4edb
Cleanup.
2006-06-13 12:41:40 +00:00
Steve Checkoway
b7c1412a70
Re-enable vector code. FastSoundWrite can now handle a dest that is not 16 byte aligned although it will be fastest if dest is 16 byte aligned and size is a multiple of 8.
2006-06-13 12:30:51 +00:00
Steve Checkoway
f30c1d797e
Disable vector code for now until I fix the case where dest is unaligned.
2006-06-13 07:58:58 +00:00
Steve Checkoway
db3a540585
Fix warning (gcc was erroneously saying that it was reaching the end of a nonvoid function) and remove goto.
2006-06-13 06:25:49 +00:00