Commit Graph

48 Commits

Author SHA1 Message Date
Thai Pangsakulyanont 18b2ff07b3 fix a bug when the BMS file has a keysounded note, but the
#WAV entry points to a file with invalid name, or points to
a nonexistant file, for example

#WAVAA NoSuchFile.wav
#00101:AA

In which case, the note will be assigned the first valid
keysound, instead of not being assigned keysound at all.
This is a very silly bug with a simple fix, but didn't
manage to fix it before SM5P4 comes out. Sorry for that.
2011-10-09 18:33:45 +07:00
Thai Pangsakulyanont fc0ee6543b insert notes first, then add autokeysounds thereafter. 2011-09-10 17:11:46 +07:00
Thai Pangsakulyanont afd64f3ed9 fix the comment. 2011-09-10 15:14:04 +07:00
AJ Kelly 5c7e13af14 comment this out because it's breaking the build and I'm not sure how to fix it. 2011-09-10 02:05:28 -05:00
AJ Kelly ae8bf617a3 slight cleanup 2011-09-10 02:05:12 -05:00
Thai Pangsakulyanont b26dc2b3bd major rewrite of NotesLoaderBMS. now it needs a lot of testing.
- handles BPM changes correctly
- songs should load faster
- auto-adjusts time signature changes (not sure how well will it perform.)
- add some code to differentiate between beat_single5 and popn_five, fixes bug 430
- also, bug 500 seems to be fixed after the rewrite, after some other attempts fail

what's not supported yet:
- #LNOBJ long note parsing
- #LNTYPE 2 long note parsing [http://nvyu.net/rdm/ex.php]
2011-09-10 01:08:04 +07:00
Thai Pangsakulyanont 6b6f9bba35 Send the actual song file to LoadFromBMSFile in BMSLoader::LoadNoteDataFromSimfile
instead of the dummy one, because the keysounds are in the song.

Also recreate the intermediate data structure that is required by LoadFromBMSFile.

This fixes the wrong sound issue, but the code still looks messy.
2011-08-08 00:29:32 +07:00
Jason Felds b6fe8a0de0 [timing] Notes* mostly covered. 2011-07-27 22:33:50 -04:00
Jason Felds dbdab4759e [Xcode4] May as well fix switch warnings.
Still need some assistance for the linker error.
2011-07-20 11:11:04 -04:00
Jason Felds 48226f2027 No longer store #NOTES in cache.
Use the #STEPFILENAME tag to access the files
as appropriate.

To the betting pool fans: file cache version is 192.
2011-07-17 16:06:40 -04:00
Jason Felds 199af25f31 Get inserts working via passing TimingSegments.
Unsure if this is the right way:
code review may be needed.
2011-07-14 19:01:12 -04:00
Jason Felds 4b32d9ecac Spelling. 2011-06-20 19:03:29 -04:00
Jason Felds 7d79762076 Better error message on failure. 2011-06-20 19:02:44 -04:00
Jason Felds 0498ad5f70 Ensure all BM* files have a BGM track. 2011-06-20 19:00:22 -04: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
Jason Felds df6a00b53e Stops (and Delays) now templated.
This is all of them at this present time.

At some point in the future, we should make
DelaySegments separate from StopSegments.
2011-06-01 09:50:34 -04:00
Jason Felds e99178c02d Signed vs unsigned warning. 2011-05-25 15:09:10 -04:00
Thai Pangsakulyanont 0994bd64bc fix crash in NotesLoaderBMS 2011-05-24 11:12:47 +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 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
Jason Felds 8de6ddb7e3 [default -> splittiming] Cleanliness. 2011-05-11 17:07:20 -04:00
Jason Felds da51e26d07 Standardize conversion processes.
Too many arguments for or against the many methods:
stick to one inside a common function.

This commit will force recompilation of many files.
2011-05-11 15:58:31 -04:00
Jason Felds 71bf72e964 [splittiming] More error fixes. (153)
Nothing has been tied to the steps yet.
2011-05-09 20:48:23 -04:00
Thai Pangsakulyanont 31848e79c4 [splittiming] replace new Steps with [song].CreateSteps() (224 build errors) 2011-05-09 22:47:47 +07:00
Thai Pangsakulyanont aab30fbfa1 Remove trailing " [" from common substring when loading BMS files. 2011-03-23 09:59:39 +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 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 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 87109a1a66 + make it support o2mania-style notecharts when playing on beat_single7
+ comments cleanup
2011-03-18 01:19:06 +07:00
Jason Felds a085d0d1da Line endings...be normalized! 2011-03-17 01:47:30 -04: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 606e6ffce3 sData->nData in one more place 2011-03-16 10:56:51 +07:00
Jason Felds 0d80450230 Figures I'd miss one of these.
Thanks to @dtinth for catching it.
2011-03-15 12:05:35 -04:00
Thai Pangsakulyanont 52c2629868 merge+fix NotesLoaderBMS.cpp 2011-03-15 21:57:04 +07:00
Jason Felds d855d8c7e8 Bring light into the shadow...variables.
Yeah, yeah, can't make a good joke at 2:30 AM.
2011-03-14 02:36:48 -04: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 265c511a60 Better BPM loading! 2011-03-01 16:52:28 +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 f5cf4ef4ce Should not have killed the head. Make it tap note.
Just like uBMplay.
2010-09-30 16:36:20 +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
AJ Kelly 662e8659fe just some cleanup 2010-08-04 11:17:46 -05:00
AJ Kelly 5d06f50cbd just some cleanup. 2010-07-22 11:12:38 -05:00
AJ Kelly 3e51544930 Initial commit. 2010-01-26 21:00:30 -06:00
Devin J. Pohly 80057f53cd smsvn -> ssc-hg glue: rearrange directory structure 2013-06-10 15:38:43 -04:00