Integration of Jukebox Library (#451) (#457)

* 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
This commit is contained in:
minenice55
2023-06-10 15:17:06 -04:00
committed by GitHub
parent b7afd697ce
commit b1fab52ad9
176 changed files with 4868 additions and 3013 deletions

View File

@ -19,14 +19,14 @@ namespace HeavenStudio.Games.Scripts_PajamaParty
public int row;
public int col;
float startJumpTime = Single.MinValue;
double startJumpTime = double.MinValue;
float jumpLength = 1f;
float jumpHeight = 4f;
int jumpAlt;
private bool hasJumped = false;
float startThrowTime = Single.MinValue;
double startThrowTime = double.MinValue;
float throwLength = 4f;
float throwHeight = 12f;
private bool hasThrown = false;
@ -73,7 +73,7 @@ namespace HeavenStudio.Games.Scripts_PajamaParty
Monkey.transform.rotation = Quaternion.Euler(0, 0, 0);
jumpAlt = 0;
}
startJumpTime = Single.MinValue;
startJumpTime = double.MinValue;
Monkey.transform.localPosition = new Vector3(0, 0);
Shadow.transform.localScale = new Vector3(1.2f, 0.8f, 1f);
}
@ -90,7 +90,7 @@ namespace HeavenStudio.Games.Scripts_PajamaParty
}
else
{
startThrowTime = Single.MinValue;
startThrowTime = double.MinValue;
if (hasThrown)
{
Projectile.transform.localPosition = new Vector3(0, 0);
@ -102,7 +102,7 @@ namespace HeavenStudio.Games.Scripts_PajamaParty
}
}
public void Jump(float beat, int alt = 1)
public void Jump(double beat, int alt = 1)
{
startJumpTime = beat;
jumpAlt = 0;
@ -112,22 +112,22 @@ namespace HeavenStudio.Games.Scripts_PajamaParty
}
}
public void Charge(float beat)
public void Charge(double beat)
{
anim.DoUnscaledAnimation("MonkeyReady");
}
public void Throw(float beat)
public void Throw(double beat)
{
anim.DoUnscaledAnimation("MonkeyThrow");
startThrowTime = beat;
Projectile.SetActive(true);
}
public void ReadySleep(float beat, int action)
public void ReadySleep(double beat, int action)
{
var cond = Conductor.instance;
startThrowTime = Single.MinValue;
startThrowTime = double.MinValue;
Projectile.transform.localPosition = new Vector3(0, 0);
Projectile.transform.rotation = Quaternion.Euler(0, 0, 0);
if (hasThrown)
@ -136,7 +136,7 @@ namespace HeavenStudio.Games.Scripts_PajamaParty
hasThrown = false;
}
startJumpTime = Single.MinValue;
startJumpTime = double.MinValue;
Monkey.transform.localPosition = new Vector3(0, 0);
Shadow.transform.localScale = new Vector3(1.2f, 0.8f, 1f);