Commit Graph
97 Commits
Author SHA1 Message Date
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
Thai Pangsakulyanont 265c511a60 Better BPM loading! 2011-03-01 16:52:28 +07:00
Thai Pangsakulyanont 43313b76f2 roll notes volume 2011-02-26 12:39:30 +07:00
Thai Pangsakulyanont 37384c9f2f THIS IS MERGE 2011-02-26 01:19:54 +07:00
Thai Pangsakulyanont 686869f0a3 lol break 2011-02-25 20:43:35 +07:00
Thai Pangsakulyanont 1aa51dca15 Autokeysound transformation! 2011-02-25 20:42:50 +07:00
Thai Pangsakulyanont 69ff65b9a7 Changed hold notes timing. 2011-02-24 13:54:56 +07:00
Thai Pangsakulyanont e942c4b3d4 improvements on keysounds logic for hold notes 2011-02-24 09:47:57 +07:00
Thai Pangsakulyanont 253049f0a4 hg merge 2011-02-23 21:45:26 +07:00
Thai Pangsakulyanont a1f425291d took me a couple of hours to figure out that NotesLoaderSSC is the one
that prevents BMS files from loaded: it didn't check for #NOTES2

also added an entry to .hgignore so that it stops bugging me about the Songs folder.
2011-02-23 21:43:07 +07:00
Thai Pangsakulyanont 22845e473e hg merge from 24a15ba 2011-02-14 21:42:27 +07:00
Thai Pangsakulyanont a5a23fe963 hg merge: add my own code 2010-12-19 17:44:39 +07:00
Thai Pangsakulyanont fa7037a0fa hg merge 2010-10-15 18:04:36 +07:00
Thai Pangsakulyanont 63ebda8a8a Something changed in project file. Don't know what/where. 2010-10-15 18:04:17 +07:00
Thai Pangsakulyanont f5cf4ef4ce Should not have killed the head. Make it tap note.
Just like uBMplay.
2010-09-30 16:36:20 +07:00
Thai Pangsakulyanont 853101b6f0 Merge with BMS code 2010-09-30 16:06:59 +07:00
Thai Pangsakulyanont 87d6c4b376 Moved the hold note handling code to below the reading loop because the note data needs to be sorted and in the reading loop, the notes aren't really sorted. 2010-09-29 18:59:24 +07:00