Commit Graph
100 Commits
Author SHA1 Message Date
Thai Pangsakulyanont 8bad512433 Fix performance issue: remove the slow assertion code.
GetDisplayedBeat and GetDisplayedSpeedPercent are called so many times in one frame
so they need to be as fast as possible.
2011-07-27 00:29:22 +07:00
Thai Pangsakulyanont e6be564be8 [timing] make sure the segments are sorted 2011-07-17 13:03:21 +07:00
Thai Pangsakulyanont de3916297e it runs, but scrolls stop working. 2011-07-17 12:30:09 +07:00
Thai Pangsakulyanont e97408f5ea [timing] it now builds, but it crashes upon starting (EXC_BAD_ACCESS) 2011-07-17 12:19:14 +07:00
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