Commit Graph

90 Commits

Author SHA1 Message Date
Michael Votaw c845205de5 Add a Lua method for forcing recalculation of GrooveStats hash. 2025-03-23 01:26:45 -07:00
Michael Votaw a70f1a015a Added missing header import and SetCachedGrooveStatsHash() method 2025-03-23 01:26:45 -07:00
Michael Votaw 1138b505f8 Set default value for m_bIsCachedGrooveStatsHashJustLoaded 2025-03-23 01:26:45 -07:00
Michael Votaw 25a3979975 Added methods for writing/loading #GROOVESTATSHASH to cache. When calling Lua GetGrooveStatsHash(), calculate it if it's not already been calculated. 2025-03-23 01:26:45 -07:00
Michael Votaw 632f456ea0 Added functions for generating GrooveStats hash for a given chart. 2025-03-23 01:26:45 -07:00
Michael Votaw bb6f55e8b9 Explicitly cache #PEAKNPS instead of deriving it from NPSPerMeasure. 2025-03-19 23:19:00 -07:00
Michael Votaw c0db6beb9c We don't need to set cached nps per player individually, just parse all of it and pass it to Steps 2025-03-03 21:24:17 -08:00
Michael Votaw 2625394ac0 Only store NotesPerMeasure and NpsPerMeasure values per-player if the steps type has different steps per player. 2025-03-03 21:24:17 -08:00
Michael Votaw fd790eb83e Replace #MEASUREINFO with two separate tags, #NPSPERMEASURE and #NOTESPERMEASURE. Stop storing MeasureInfo objects on Steps, and just directly store NpsPerMeasure, NotesPerMeasure, and peakNPS. 2025-03-03 21:24:17 -08:00
teejusb 49263f3c3e Mostly stylistic changes 2025-02-11 19:39:03 -08:00
Michael Votaw 212b99a4c5 Changed StageLayout into a struct and consolidated layout math functions into it.
Added convenience methods for determining if a given column is an up, down, or side arrow.
Added explicit tech counts for up footswitches and down footswitches
2025-02-11 19:39:03 -08:00
Michael Votaw ed2b5f8d5e Removing accidentally duplicated lua methods, un-needed SetGrooveStatsHash method (that's getting handled in a different PR) 2025-02-11 19:39:03 -08:00
Michael Votaw afa44ee4df Added methods for calculating and caching tech counts 2025-02-11 19:39:03 -08:00
Michael Votaw 429fab2fbc Added MeasureInfo calculations, and loader/writer for #MEASUREINFO cache 2025-02-11 19:39:03 -08:00
sukibaby e0b254968d std::size_t -> size_t
Removing std prefix from all size_t.
2024-10-01 01:46:26 -07:00
Michael Votaw f96ee75ccc Return the noteType for columnCues instead of isMine. 2024-08-11 09:43:54 -07:00
Michael Votaw 5db1a56d48 Add ColumnCues calculations, exposed to themes via Lua function on Steps object 2024-08-11 09:43:54 -07:00
Martin Natano bacecae1f7 Decouple <vector> 2023-04-21 22:13:41 +02:00
Martin Natano 78fb2e9fc3 Decouple <cstddef> 2023-04-20 11:21:29 +02:00
Michael Sundqvist 0cba3579de Remove global "using namespace std;" declarations, use "std::" prefixes on all std elements
Fix whitespace changes
2022-07-31 22:14:38 +02:00
x0rbl 50de3a1f2d Fix two disqualification bugs: C-mods and rate mods now properly disqualify (#1965) 2020-02-11 12:15:16 -08:00
teejusb 7e3789b131 Integrate C++11 branch into 5_1-new 2019-06-22 12:35:38 -07:00
Kyzentun 2aee27a276 Backport custom song support. Prefs are CustomSongsEnable, CustomSongsMaxCount, CustomSongsLoadTimeout, CustomSongsMaxSeconds, CustomSongsMaxMegabytes. Metrics are NumProfileSongGroupColors and the colors with it. Profile custom load function is passed PlayerNumber now. Stepmania must run as root to save USB profile scores. (#1470) 2017-06-06 05:30:06 -07:00
Nickito12 6225e114ad Online protocol improvements (#1393)
* Chartkey generation

* Simfile filehash generation

* Read filehash on NSCRSG. Add FLU packets and friendlist vectors. Add
getserverversion method. Send chartkey, filehash and rate on start request.

* Use filehash to find the selected song if it is not empty.

* Friendlist update broadcast.

* Send note row size if it's bigger than 1

* Used for chartkey generation

* Define the ReportScore function with numNotes when WITHOUT_NETWORKING is defined
2017-02-10 04:57:59 -08:00
Kyzentun 064aead73c Added autosave to edit mode. 2015-03-09 19:47:43 -06:00
Kyzentun 846f79879c Added MUSIC tag to note data to allow each chart in a simfile to use a different music file. 2015-03-02 18:44:01 -07:00
Kyzentun c69cf1ef4e Special case kickbox autogen added. GameState now has a member for passing args from the theme to the autogen, only used by kickbox for kick recovery time. 2015-01-26 19:43:15 -07:00
Kyzentun 1a51b06934 Fixed mistake that caused steps from non-ssc or non-sm files have blank StepsTypeStr. 2014-11-23 01:50:58 -07:00
Kyzentun c16f045cb4 Fixed UnknownStyleSupport. 2014-10-20 05:14:54 -06:00
Kyzentun af68d6cb14 Merge branch 'UnknownStyleSupport' of https://github.com/kyzentun/stepmania 2014-10-20 02:58:57 -06:00
Kyzentun 5ef72ab8b0 Set StepsTypeStr in Steps::CreateBlank. 2014-10-19 20:24:06 -06:00
Jason Felds 395107d3d5 Revert "Preserve Steps of unknown Style."
This reverts commit 8edd929e24.

This also updates the song cache.
2014-10-19 10:06:40 -04:00
Kyzentun 8edd929e24 Preserve Steps of unknown Style. 2014-10-01 17:12:01 -06:00
Colby Klein 6a691a1c4a Spaces -> Tabs in Steps.cpp (Jason, fix your editor) 2014-02-03 16:17:30 -08:00
Jason Felds e6125e6daa Attempt to allow getting radar values without PN. 2014-02-03 18:49:17 -05:00
Ben "root" Anderson a16a42cb02 Edit loading overhaul: Load edits from song folders; Allow a songfolder-style hierarchy in profile edit folders; Make the #SONG tag optional if we can infer the intended song from the directory hierarchy. 2013-11-14 13:29:00 -06:00
Jason Felds 28e5148dec The big NULL replacement party part 5.
Right. ' = NULL' would get a lot of these.
2013-05-03 23:39:52 -04:00
Jason Felds 9f24627bf9 The big NULL replacement party part 1.
This is meant to be a safer alternative since
NULL can often be 0. Let's not rely on that.

And yes, I know this is a lot of files. This is
a safer thing to do in big commits vs for loops.
2013-05-03 23:01:54 -04:00
Devin J. Pohly ce507b9800 use empty TimingData in Steps to signify fallback on Song timing.
This required using the new Steps::GetTimingData function and the allowEmpty
parameter to TimingData::TidyUpData when appropriate, as well as clearing the
TimingData to remove step timing rather than coping the song timing over it.

Fixes some odd editor behavior when changing song timing, and is overall a
slightly less hacky way of doing things.
2013-01-23 14:51:18 -05:00
Devin J. Pohly 4385b9242d Steps: add GetTimingData function that falls back on Song if necessary 2013-01-20 21:12:11 -05:00
Devin J. Pohly afaa382b84 Steps: set Song pointer to associated song when constructing 2013-01-20 19:23:28 -05:00
Devin J. Pohly 1327fa6356 Steps: add a pointer to the associated Song. not used yet. 2013-01-20 18:11:17 -05:00
Patrick McIlroy 1d5f4379bc Fix edgecases presented by bugzilla #740: fallback to .sm file if .ssc file in cache is missing 2012-07-21 00:39:18 -07:00
AJ Kelly dd82dc90fc [Steps] Modified HasSignificantTimingChanges; the following now disqualify when using a CMod: Stops, Delays, Warps, Speed Changes, Scroll Changes. Songs with a non-constant BPM will only disqualify if the High/Low difference is greater than 3.00. 2012-05-21 22:04:02 -05:00
Jason Felds 26f5e8d78c Replace Steps:UseSplitTiming.
Instead, use Song:IsStepsUsingDifferentTiming.
2012-04-08 23:56:28 -04:00
Jason Felds fd40fea9cb Remove PMSLoader.
The BPMSLoader now handles PMS files considering their
similarities.
2011-11-30 00:32:17 -05:00
Thai Pangsakulyanont 248504f275 escape # in first keysound entry, fixed ADPCM reader and make PMS load more correctly.
- [NoteField] fix build warnings, and change the maximum number of displayed notes
  after the receptor to 64.
- [Player] fix build warnings.
- [NotesLoaderSSC, NotesWriterSSC] The MSD file reader seems to treat # that comes
  directly after : as new tag, and as many PMS and BMS files has keysounds which filename
  starts with #, so it looks like this: #KEYSOUNDS:#bgm.wav,01.wav,02.wav,..
  The MSD parser will see it as 2 different tags. So I added a backslash in front of the
  # sign if it's at the start when saving and remove it when loading.
- [RageSoundReader_WAV] ADPCM now works very well and doesn't return error when
  end of file is reached anymore.
- [Steps] Use BMS loader when loading the note data.
2011-11-11 18:40:34 +07:00
Jason Felds d513d73bd2 Possible fix for bug 584:
Don't compress note data in the editor.

I need confirmation that this works as intended before
it goes into the changelog and whatnot.
2011-11-07 14:59:50 -05:00
Jason Felds 61000a1776 Better warning. This may help with debugging. 2011-11-07 02:04:25 -05:00
AJ Kelly 3484470e9f [Steps] Fix a bug where e.g. ".SM" ".DWI" ".Sm" ".sM" files wouldn't properly load since the code was expecting lowercase. 2011-10-12 18:51:36 -05:00