Thai Pangsakulyanont
9a1a824f22
let SpeedSegment scale itself.
...
also fixes the bug where the segments outside of the scaling region are scaled too.
2011-07-01 22:40:57 +07:00
Thai Pangsakulyanont
68f95ce056
Refactor TimingData::ScaleRegion(), fixes 297.
2011-06-26 13:43:30 +07:00
Thai Pangsakulyanont
48262f9c3d
and another merge
2011-06-14 22:24:30 +07:00
Thai Pangsakulyanont
50ce0f8b81
merge
2011-06-14 22:23:20 +07:00
Thai Pangsakulyanont
5cd05670ab
NotesLoaderBMS: Fix loading BPM changes by putting all of them in a map first and then finally add the BPM segments.
...
As the BMS loader sorts the definitions by measure and channel, they are not sorted by time, so there are cases that this can happen:
#00103:7F
#00203:007F0000
#00208:01
#BPM01 63.5
In this case, the segment in the second line is parsed before the third line, and because of the BPM is the same as the segment before it (the first line), no BPM changes will be added, the segment in the third line will then set the BPM of the rest of the song, which is wrong. To fix this the BPM needs to be sorted.
2011-06-13 10:54:18 +07:00
Thai Pangsakulyanont
bc074180da
merge
2011-06-12 13:27:58 +07:00
Thai Pangsakulyanont
c057b23ab3
progress bar for Linux partially done: no indeterminate progress bar yet.
2011-06-12 13:24:39 +07:00
Thai Pangsakulyanont
3df6a5e82c
[loading window] fixes for mac os x progress bar
2011-06-06 10:53:45 +07:00
Thai Pangsakulyanont
6f624538ce
display progress for song loading
2011-06-05 12:45:28 +07:00
Thai Pangsakulyanont
bce2fcbe2a
the progress now displays on a mac. Needs some visual adjustments though.
2011-06-05 12:18:20 +07:00
Thai Pangsakulyanont
ac928c7faa
[default -> loading window] merge
2011-06-05 11:41:08 +07:00
Thai Pangsakulyanont
b458f4ef6b
we need a unique product name and version number here:
...
if only "png" is used, then on some systems with other png versions (me), the linker
will link with to the wrong path (/usr/local/lib/libpng14.14.dylib in my case).
if you don't like the version number (I don't know so I put 1.5.1sm0.1) please change it
to something else, just keep it unique.
2011-06-05 11:32:04 +07:00
Thai Pangsakulyanont
687affa1e5
merge.
...
I seem to get an EXC_BAD_ACCESS error about libpng on app starting, so I don't know if the merge succeeded at all :<
2011-06-04 19:18:55 +07:00
Thai Pangsakulyanont
49042c4878
try to improve performance with scroll segments:
...
- optimize GetDisplayedBeat (seems to be a bottleneck here).
- make sure that fFirstBeatToDraw <= fBeat <= fLastBeatToDraw in IS_ON_SCREEN.
2011-06-04 19:02:45 +07:00
Thai Pangsakulyanont
a1681faa06
skip recalculating radar values and last beat when loading from cache. loading songs from the cache is now 5x faster.
...
fyi: it took 1:40 minutes to load my library, now it's only 20 seconds.
2011-06-04 17:28:20 +07:00
Thai Pangsakulyanont
6ca0cd1e70
optimizations to NoteDataUtil::CalculateRadarValues, results in 3x faster loading.
2011-06-01 16:01:14 +07:00
Thai Pangsakulyanont
6f83556da7
fix the template mess! it now builds on windows but not sure if it works or if it will build on other platforms.
2011-06-01 14:21:57 +07:00
Thai Pangsakulyanont
1d2dd19ab1
Yeah, BPM segments, big one :D
2011-05-31 23:41:39 +07:00
Thai Pangsakulyanont
860f6c76f0
I forgot to remove the unused operator== functions from TimingSegments.h
2011-05-31 22:05:04 +07:00
Thai Pangsakulyanont
26ecddfc9d
beat should be private
2011-05-31 21:14:36 +07:00
Thai Pangsakulyanont
f7e849f045
further refactorization of TimingSegments (use more templates!)
2011-05-31 19:39:28 +07:00
Thai Pangsakulyanont
f29e63d2b7
fix a crash on a course editor by renaming ambiguous class
2011-05-31 00:01:39 +07:00
Thai Pangsakulyanont
b1f990c0f1
move glew.c inside stepmania (now builds!)
2011-05-30 10:39:50 +07:00
Thai Pangsakulyanont
8164ddeafb
probably that's where it's hidden.
2011-05-30 09:52:49 +07:00
Thai Pangsakulyanont
2a3bdec433
and another merge
2011-05-29 23:44:16 +07:00
Thai Pangsakulyanont
8ad9ada0da
merge
2011-05-29 23:42:29 +07:00
Thai Pangsakulyanont
bb1d829d38
make cancel do nothing.
2011-05-29 23:42:14 +07:00
Thai Pangsakulyanont
b1cd93963d
[scroll] merge
2011-05-26 01:14:27 +07:00
Thai Pangsakulyanont
7f4d517861
revert en.ini (to avoid merge conflicts)
2011-05-26 01:14:04 +07:00
Thai Pangsakulyanont
372540e3a4
Bringing Thai's fix in for Warps and Delays.
2011-05-26 01:12:41 +07:00
Thai Pangsakulyanont
8b159a9df7
make GetClosestNote and GetClosestNonEmptyRow seconds based, and not time-based.
2011-05-26 01:12:41 +07:00
Thai Pangsakulyanont
8f35c048b8
[scroll] mergefix
2011-05-25 23:48:34 +07:00
Thai Pangsakulyanont
d9f936190a
[default -> scroll] merge
2011-05-25 22:56:26 +07:00
Thai Pangsakulyanont
5e88041b5e
strings
2011-05-25 22:54:57 +07:00
Thai Pangsakulyanont
fe9573975c
[scroll] 90% of scroll segments
2011-05-25 22:44:41 +07:00
Thai Pangsakulyanont
ccc66ccaeb
disable editing wait and mode on a row without a speed segment. enabling it is no-op anyway.
2011-05-24 13:30:21 +07:00
Thai Pangsakulyanont
ddbecd5de4
add a comment about behavior of stops and delays in warpsadd a comment about behavior of stops and delays in warpsadd a comment about behavior of stops and delays in warpsadd a comment about behavior of stops and delays in warpsadd a comment about behavior of stops and delays in warpsadd a comment about behavior of stops and delays in warpsadd a comment about behavior of stops and delays in warpsadd a comment about behavior of stops and delays in warpsadd a comment about behavior of stops and delays in warps
2011-05-24 13:07:59 +07:00
Thai Pangsakulyanont
51229ad086
limit searching to 16 beats
2011-05-24 12:44:48 +07:00
Thai Pangsakulyanont
0533e742c5
a const is need on TimingData.cpp too
2011-05-24 12:29:55 +07:00
Thai Pangsakulyanont
5cde717547
GetDisplayedSpeedPercent should be const
2011-05-24 12:27:03 +07:00
Thai Pangsakulyanont
aa0eb7f5d7
GetSpeedMultiplier in ArrowEffects becomes TimingData::GetDisplayedSpeedPercent.
...
We might need to use it later in other parts (NoteField).
2011-05-24 11:43:08 +07:00
Thai Pangsakulyanont
0994bd64bc
fix crash in NotesLoaderBMS
2011-05-24 11:12:47 +07:00
Thai Pangsakulyanont
e7df4edbe1
what? I don't really know what I'm doing here.
2011-05-24 10:47:16 +07:00
Thai Pangsakulyanont
631bc3753d
Revert "An attempt to make the arrows flash with the steps' timing. If it works then we can expand it to..... I don't know, lifebars?"
...
This reverts commit ab178b1e65 .
2011-05-24 10:41:07 +07:00
Thai Pangsakulyanont
aa706d34d7
Revert "Fix a typo (that makes building fail)."
...
This reverts commit 9130e2b6ec .
2011-05-24 10:40:22 +07:00
Thai Pangsakulyanont
1d88598eaf
Revert "finally got it to work with a another hack inside that hack."
...
This reverts commit 73459aae38 .
2011-05-24 10:40:04 +07:00
Thai Pangsakulyanont
49a32ae552
this should be an i.
2011-05-24 01:00:27 +07:00
Thai Pangsakulyanont
6bbb43bb91
show song BPM on BMS file (based on main steps type) instead of defaulting to 60.
2011-05-21 14:55:01 +07:00
Thai Pangsakulyanont
bc35a75672
merge
2011-05-20 22:15:27 +07:00
Thai Pangsakulyanont
73459aae38
finally got it to work with a another hack inside that hack.
2011-05-20 22:15:01 +07:00
Thai Pangsakulyanont
9130e2b6ec
Fix a typo (that makes building fail).
2011-05-20 21:35:26 +07:00
Thai Pangsakulyanont
ab178b1e65
An attempt to make the arrows flash with the steps' timing. If it works then we can expand it to..... I don't know, lifebars?
2011-05-20 21:33:42 +07:00
Thai Pangsakulyanont
2e5b929135
[splittiming] merge
2011-05-17 00:02:39 +07:00
Thai Pangsakulyanont
5deed76e37
[splittiming] add a special case for lengthed speed change at beat 0.
2011-05-17 00:02:15 +07:00
Thai Pangsakulyanont
c16c524ca5
[splittiming] merge
2011-05-16 23:36:22 +07:00
Thai Pangsakulyanont
e73824cad9
[splittiming] it works (by swapping arguments)
2011-05-16 23:35:40 +07:00
Thai Pangsakulyanont
a933492f8a
[splittiming] allow entering both numerator and denominator of time signature at the same time (not working)
2011-05-16 23:05:51 +07:00
Thai Pangsakulyanont
b67927a0d4
[splittiming] merge
2011-05-16 22:45:26 +07:00
Thai Pangsakulyanont
1fd19c62a7
[splittiming] input fixes
2011-05-16 22:44:56 +07:00
Thai Pangsakulyanont
ae673c9823
[splittiming] merge
2011-05-16 22:39:25 +07:00
Thai Pangsakulyanont
cb71d0a4c5
[splittiming] allow b, B, beat, basically anything that begins with a 'b' to be recognized as beats here.
2011-05-16 22:39:02 +07:00
Thai Pangsakulyanont
b40bae924e
[timingdata] merge!
2011-05-16 22:09:02 +07:00
Thai Pangsakulyanont
c11c8db883
[splittiming] it builds! time to merge.
2011-05-16 22:06:07 +07:00
Thai Pangsakulyanont
d064547985
[splittiming] fix TimingData.cpp
2011-05-16 22:05:23 +07:00
Thai Pangsakulyanont
b7dc611048
[splittiming] rename m_fEndBeat to m_fLengthBeats. let's see how many build errors we have.
2011-05-16 21:55:32 +07:00
Thai Pangsakulyanont
0904892202
[splittiming] make setting beat0offset in ScreenEdit's edit timing data menu work.
2011-05-16 12:32:23 +07:00
Thai Pangsakulyanont
f8f47c002b
[splittiming] speed segment changes:
...
- allow first speed segment to take effect
- make speed segments take effect before delays
- make speed segments not affect cmods
2011-05-16 12:17:54 +07:00
Thai Pangsakulyanont
fb0fb41ac2
initialize m_bIsEditorStepTiming with true, to be sure.
2011-05-14 21:35:43 +07:00
Thai Pangsakulyanont
1c4b21b181
[splittiming] ok, now it displays properly.
2011-05-13 15:19:42 +07:00
Thai Pangsakulyanont
2116525e24
[splittiming] display song timing in song timing editing mode (buggy)
2011-05-13 14:14:57 +07:00
Thai Pangsakulyanont
83c5b67647
[splittiming]
...
- #include "global.h" in SongPosition.cpp to make it build in MSVC.
- Add SongPosition.cpp to VC2008 project.
2011-05-12 23:34:57 +07:00
Thai Pangsakulyanont
1501924780
[default -> splittiming] merge
2011-05-12 23:28:55 +07:00
Thai Pangsakulyanont
469edbc73c
Merge
2011-05-12 23:25:54 +07:00
Thai Pangsakulyanont
b22bd332f5
Disable the use of precompiled headers for libpng.
2011-05-12 23:23:15 +07:00
Thai Pangsakulyanont
a09e3d51c2
[splittiming]
...
- calculate m_fFirstBeat and m_fLastBeat correctly
- fix a crash caused by calculating by tidying the timing first.
- make editor go back to right place after playing (the editor should be fairly working now!)
2011-05-12 19:07:41 +07:00
Thai Pangsakulyanont
6847ef9087
[splittiming] Now that we have split timing, Compress/Expand in ScreenEdit no longer need to affect any other notes anymore.
2011-05-12 17:11:54 +07:00
Thai Pangsakulyanont
e9ba0103b6
[default -> splittiming] and another merge
2011-05-12 16:56:41 +07:00
Thai Pangsakulyanont
2507cf7c0a
[splittiming] merge
2011-05-12 16:56:15 +07:00
Thai Pangsakulyanont
eda727ddf9
[splittiming]
...
- load split timing from BMS files
- fix a crash because autogen'd steps don't inherit the timing from parent
- be more verbose in UpdateSongPosition
2011-05-12 16:44:24 +07:00
Thai Pangsakulyanont
a478308345
[splittiming] Fix crash. I don't know what caused it and how it was caused, but this fixed it.
2011-05-11 22:57:55 +07:00
Thai Pangsakulyanont
c625f19fee
[splittiming] marge
2011-05-11 22:09:12 +07:00
Thai Pangsakulyanont
a8f2d0094f
[splittiming] I accidently hardcoded PLAYER_1 in NoteField
2011-05-11 22:08:38 +07:00
Thai Pangsakulyanont
378b438389
[splittiming] screenedit now behaves (just moving around, charting process not tested)
...
some work need to be done on snapping and transitioning between editing and playing.
2011-05-11 21:22:18 +07:00
Thai Pangsakulyanont
1bf99bd528
[splittiming] make screenedit work with the steps' timing.
2011-05-11 20:53:40 +07:00
Thai Pangsakulyanont
2c87c34899
[splittiming] ArrowEffects, BPMDisplay, Inventory, MeterDisplay
2011-05-10 21:44:25 +07:00
Thai Pangsakulyanont
5209585cdc
[splittiming] merge (81)
2011-05-10 21:24:34 +07:00
Thai Pangsakulyanont
b8a4521f9c
Move the reset code to SongPosition.
2011-05-10 21:22:01 +07:00
Thai Pangsakulyanont
722d22dffc
[splittiming] temporary fix for ScreenEdit. It uses song position for now. (82)
...
So once it builds we have to test it extensively to see where it could be wrong.
2011-05-10 21:21:23 +07:00
Thai Pangsakulyanont
ab8b76b3b8
[splittiming] NoteDisplay, NoteField, Player, PlayerState (182)
2011-05-10 20:27:12 +07:00
Thai Pangsakulyanont
38a4852180
[splittiming] Fix Player.cpp (198)
2011-05-10 20:18:17 +07:00
Thai Pangsakulyanont
8c8ba93006
[default -> splittiming] and another merge.
2011-05-10 20:05:33 +07:00
Thai Pangsakulyanont
990b6cb125
[splittiming] and a merge
2011-05-10 20:04:47 +07:00
Thai Pangsakulyanont
e1e605b736
[splittiming] move bogus variables back to GameState (210)
2011-05-10 20:03:51 +07:00
Thai Pangsakulyanont
241738c18b
[splittiming] Let's break things again! (222)
...
We introduced a new class, called "SongPosition", that replaces some instance variables in the GameState class. (GameState::m_Position).
Then, you also have it in PlayerState class which keeps track of the position based on their steps. (PlayerState::m_Position).
Fixing the build errors:
- GAMESTATE->m_fSomething should now be:
- GAMESTATE->m_Position.m_fSomething
- pPlayerState->m_Position.m_fSomething (or m_pPlayerState for some instance!)
2011-05-10 19:54:05 +07:00
Thai Pangsakulyanont
ce91d1a431
[splittiming] load split timing from ssc files
2011-05-10 17:44:12 +07:00
Thai Pangsakulyanont
d0e9e58030
[splittiming] make ScreenEdit edit the Steps's timing data only.
...
NOTES: now, newly created songs will have the default timing data (60bpm throughout the song) and
NoteFields currently doesn't work yet.
2011-05-10 16:55:00 +07:00
Thai Pangsakulyanont
b634639e8e
Write timing tags for SSC files.
...
WARN: This does not work with ScreenEdit, yet!
2011-05-10 16:00:47 +07:00
Thai Pangsakulyanont
285f227851
[splittiming] tie Step's TimingData to player.
2011-05-10 13:27:35 +07:00
Thai Pangsakulyanont
e3df0d49be
[default -> splittiming] forgot to push my merge. ouch
2011-05-10 12:57:54 +07:00
Thai Pangsakulyanont
1e2be7d389
[default -> splittiming] occasional merge.
...
again, we have notes about this branch here: http://sync.in/splittiming
2011-05-09 23:37:27 +07:00