pull from Release 1 branch (#466)

* Integration of Jukebox Library (#451)

* add Jukebox library

todo:
- saving / loading of new format
- inferrence of unknown data like past versions
- move the temporary float casts to proper use of double
- make sound related functions take double for timing
- inform people that the Jukebox sound player was renamed to SoundByte lol

* make sound, input scheduling, and super curve use double precision

* successfully load charts

* editor works again

v1 riqs can be saved and loaded

* first tempo and volume markers are unmovable

fix loading of charts' easing values

* use gsync / freesync

* update Jukebox refs to SoundByte

* game events use double part 1

Air Rally - Glee Club converted

* don't load song if chart load fails

* finish conversion of all minigames

* remove editor waveform toggle

* timeline now respects added song offset length

clear cache files on app close
prepped notes for dsp sync

* update timeline length when offset changed

* update to latest Jukebox

* make error panel object in global game manager

* improve conductor music scheduling

* added error message box

fix first game events sometimes not playing

* editor fixes (#459)

* ditch loading dialog

doesn't show up when it's supposed to

* format song offset in editor

* remove VorbisPlugin

* Update Editor.cs

* make base datamodels for special entity reading (#463)

* make base datamodels for special entity reading

* fix crop stomp breaking when no game switch or remix end is set

* fix save shortcut

fix loading charts with no music

* don't infer track when importing a v0 riq from another program
This commit is contained in:
minenice55 2023-06-11 15:56:06 -04:00 committed by GitHub
parent ce3e6f2d91
commit ee17412dd2

View file

@ -166,6 +166,13 @@ namespace HeavenStudio
var parameters = new List<Minigames.Param>(); var parameters = new List<Minigames.Param>();
foreach (var item in e.dynamicData) foreach (var item in e.dynamicData)
{ {
Debug.Log($"k: {item.Key}, v: {item.Value}");
if (item.Key == "track")
continue;
if (item.Value == null)
{
e[item.Key] = 0;
}
var value = item.Value; var value = item.Value;
if (value.GetType() == typeof(long)) if (value.GetType() == typeof(long))
value = new EntityTypes.Integer(int.MinValue, int.MaxValue, (int)value); value = new EntityTypes.Integer(int.MinValue, int.MaxValue, (int)value);
@ -245,6 +252,10 @@ namespace HeavenStudio
{ {
PreProcessSpecialEntity(tempo, tempoChangeModel); PreProcessSpecialEntity(tempo, tempoChangeModel);
} }
if (data.tempoChanges[0]["tempo"] <= 0)
{
data.tempoChanges[0]["tempo"] = 120;
}
foreach (var vol in data.volumeChanges) foreach (var vol in data.volumeChanges)
{ {