Commit Graph
100 Commits
Author SHA1 Message Date
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
Thai Pangsakulyanont 6162fe519b [splittiming] ArrowEffects and ScreenGameplay (222) 2011-05-09 23:00:29 +07:00
Thai Pangsakulyanont 31848e79c4 [splittiming] replace new Steps with [song].CreateSteps() (224 build errors) 2011-05-09 22:47:47 +07:00
Thai Pangsakulyanont 0d42b00621 [splittiming] Fix NotesLoaderDWI, NotesLoaderSM, NotesWriterSWI, NotesWriterSM by replace occurences of m_Timing with m_SongTiming. (224 build errors) 2011-05-09 22:41:49 +07:00
Thai Pangsakulyanont 9384f82ccd [splittiming] a function to create steps for the song (259 build errors) 2011-05-09 22:37:15 +07:00
Thai Pangsakulyanont 40651800f0 [splittiming] temporarily rename these functions to make sure that we don't call the wrong one.
after it's settled we can rename it back.
2011-05-08 01:20:58 +07:00
Thai Pangsakulyanont 0e1843ff80 [splittiming] 919 errors => 236 errors 2011-05-08 01:15:25 +07:00
Thai Pangsakulyanont 94f112e923 [timingdata] Let's break things! (for now) 2011-05-08 00:58:03 +07:00
Thai Pangsakulyanont b687c859bb this might work for the offsynced keysounds issue. 2011-04-17 16:55:01 +07:00
Thai Pangsakulyanont 77c4768313 merge 2011-04-09 15:47:30 +07:00
Thai Pangsakulyanont c2e89cb63c [sm130futures] judge first, then update the rolling numbers. 2011-04-09 15:45:55 +07:00
Thai Pangsakulyanont 20b3d682ac merge 2011-04-07 06:39:13 +07:00
Thai Pangsakulyanont 2875a6ff00 make keysounds on hold notes work on pump mode. 2011-04-07 06:37:47 +07:00
Thai Pangsakulyanont 11a163a395 added NoOffset.
I believe that this should probably fix the global offset
offsyncing problem on Windows: http://www.youtube.com/watch?v=6egnvovtfHw
2011-04-01 00:34:09 +07:00
Thai Pangsakulyanont a9cde864fa merge with stops fix 2011-03-31 23:31:29 +07:00
Thai Pangsakulyanont 22e2c8f625 fix stops bug
on stops longer than 1 seconds, iStepSearchRows is 0.
the fix is to look backwards in addition to looking forwards.
2011-03-31 23:31:13 +07:00
Thai Pangsakulyanont c0acb4e336 fix: stops in warps are judged, but not delays 2011-03-27 15:56:40 +07:00
Thai Pangsakulyanont 42893d2dc2 name changes 2011-03-27 15:11:27 +07:00
Thai Pangsakulyanont ac336215bd [warps] allow stops inside warps and convert high bpm to warps
+ sometimes there are delays/stops in high BPM sections,
  they have to be handled inside a warp to be able to convert
  it easily.
+ on the stopped / delayed rows with warps, judging become
  enabled for that row.

Issues:

+ the bpm threshould is hardcoded (right now it's 400000.0).
  someone change it please.
+ slight off-sync from conversion. haven't figured out how to
  work around it yet.
2011-03-26 22:07:24 +07:00
Thai Pangsakulyanont bfd7e9c914 [warps] merge 2011-03-26 14:53:27 +07:00
Thai Pangsakulyanont ff739605ec [warps] Some simfiles change BPM after the warp, so should keep the positive BPM changes. Example simfile: Tsusurvivorgamush. 2011-03-26 14:51:30 +07:00
Thai Pangsakulyanont eed0be6fe0 [warps] ScaleRegion, InsertRows, DeleteRows to make it point warps to the right place. 2011-03-26 14:21:06 +07:00
Thai Pangsakulyanont 15fd68a7f0 merge 2011-03-26 13:43:53 +07:00
Thai Pangsakulyanont e66b0cbf39 [warps] judgement fix
+ iStepSearchRows is now seconds-based.
+ GetClosestNonEmptyRowDirectional and GetClosestNoteDirectional no longer return row in warps.
2011-03-26 13:42:41 +07:00
Thai Pangsakulyanont f4ecfd08f9 [warps] Fix IsWarpAtRow. 2011-03-25 23:40:03 +07:00
Thai Pangsakulyanont 4316579e89 [warps] my attempt at making warps work. see commit message.
+ TimingData: rewrote GetBeatAndBPSFromElapsedTimeNoOffset and GetBeatFromElapsedTimeNoOffset
  to make it simpler and compute times correctly, by going through 3 arrays at the same time.
+ TimingData: added TimingData::IsWarpAtRow(int) just in case.
+ The skipping part is now handled by TimingData.

Current issues:

+ the rewritten function does not check if the vectors are sorted.
+ if you press the notes after the skip before the skip is reached, the notes in the warp
  range got hit instead because m_iWarpBeginRow was not set before the warp is reached.
+ the notes after the skipped part are not judged if hit before the warp is reached and
  the warp is big enough.
2011-03-25 23:19:31 +07:00
Thai Pangsakulyanont da20a87814 delete m_pTextSectionCount in destructor. 2011-03-25 13:22:49 +07:00
Thai Pangsakulyanont 6f504f6317 merge with "[ " stripping code 2011-03-23 12:06:04 +07:00
Thai Pangsakulyanont aab30fbfa1 Remove trailing " [" from common substring when loading BMS files. 2011-03-23 09:59:39 +07:00
Thai Pangsakulyanont a044bf149e Merge with PMS loading code. Though the notes load now, the samples are in Microsoft ADPCM which can't be loaded correctly at this time. 2011-03-21 01:51:04 +07:00
Thai Pangsakulyanont 255b3444aa Add the Pop'n #PLAYER 3 cases to BmsLoader too. 2011-03-20 09:25:45 +07:00
Thai Pangsakulyanont fb56c8762d some PMS files have #PLAYER set to 3 2011-03-20 09:24:47 +07:00
Thai Pangsakulyanont 31f7b16f47 Add *.bml to BMSLoader::GetApplicableFiles. BML stands for Be-Music Longnote.
Because it is an extension to BMS, so most apps save them with bms extension anyway,
there exist some convertors that output to .bml files however.
2011-03-19 20:57:38 +07:00
Thai Pangsakulyanont 8d80ddedf2 Compress/Expand shall not break apart hold notes that overlaps the start/end marker. 2011-03-19 19:38:45 +07:00
Thai Pangsakulyanont a9af35d94e Make compress/expand preserve timing data by also adjusting BPM changes between start and end marker. The adjusting part is at TimingData::ScaleRegion. 2011-03-19 18:58:44 +07:00
Thai Pangsakulyanont dc1be26231 Added my changes to the changelog. Put it on 20110316 because I pushed to sm-ssc on that day. 2011-03-18 22:32:00 +07:00
Thai Pangsakulyanont f044f15444 commit 2011-03-18 12:28:31 +07:00
Thai Pangsakulyanont c2fe12120c fixed missing autokeysounds when they are inserted on the tail of a hold note (they are removed) 2011-03-18 12:25:20 +07:00
Thai Pangsakulyanont af425e798b merge 2011-03-18 01:21:37 +07:00
Thai Pangsakulyanont 87109a1a66 + make it support o2mania-style notecharts when playing on beat_single7
+ comments cleanup
2011-03-18 01:19:06 +07:00
Thai Pangsakulyanont e3aa689b7d Make it play the right keysound on press. Improvements on hold notes. 2011-03-16 23:50:53 +07:00
Thai Pangsakulyanont f1d5a13df8 merge 2011-03-16 18:03:17 +07:00
Thai Pangsakulyanont b21487b8fa fix some misaligned charts by making it ignore time signatures before notes.
for full explanation see the diff.
2011-03-16 17:44:54 +07:00
Thai Pangsakulyanont b26867a52c remove unused variables from PlaceAutoKeysound (5=>3) 2011-03-16 17:02:05 +07:00
Thai Pangsakulyanont 606e6ffce3 sData->nData in one more place 2011-03-16 10:56:51 +07:00
Thai Pangsakulyanont 52c2629868 merge+fix NotesLoaderBMS.cpp 2011-03-15 21:57:04 +07:00
Thai Pangsakulyanont 742304fb73 fix crash 2011-03-10 00:36:23 +07:00
Thai Pangsakulyanont c1f4967f1c merge
+ support o2mania style BMS (7 keys)
+ move notes to autokeysound when reducing tracks
2011-03-09 19:24:15 +07:00
Thai Pangsakulyanont 0575e73b1e It wasn't there! I modified the wrong place! 2011-03-01 16:52:59 +07:00