Merge remote-tracking branch 'upstream/master' into more-love-lab-stuff

This commit is contained in:
wookywok 2024-05-08 13:34:57 -05:00
commit 5868344ad2
28 changed files with 2107 additions and 115 deletions

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: bcbc46590d08f424792fb2fbb6ff48f0
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View file

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: 5001c1cad8515ad4799f21e3902c54df
AudioImporter:
externalObjects: {}
serializedVersion: 6
defaultSettings:
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
preloadAudioData: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View file

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: 5d365840c1c0a2c499b90e74f8c44f9a
AudioImporter:
externalObjects: {}
serializedVersion: 6
defaultSettings:
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
preloadAudioData: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,498 @@
{
"id": "loveLab",
"name": "Love Lab",
"series": "ds",
"objects": [
{
"type": "cue",
"id": "*/shakeUp",
"name": "shake - up",
"deprecatedIDs": [
"loveLab/shake1"
],
"subtext": "",
"duration": 0.25,
"responseIDs": [
"*/shakeUp"
]
},
{
"type": "cue",
"id": "*/shakeDown",
"name": "shake - down",
"deprecatedIDs": [
"loveLab/shake2"
],
"subtext": "",
"duration": 0.25,
"responseIDs": [
"*/shakeDown"
]
},
{
"type": "cue",
"id": "*/leftCatch",
"name": "left - catch",
"deprecatedIDs": [],
"subtext": "",
"duration": 0.5,
"responseIDs": [
"*/rightCatch"
]
},
{
"type": "cue",
"id": "*/leftThrow",
"name": "left - throw",
"deprecatedIDs": [],
"subtext": "",
"duration": 0.5,
"responseIDs": [
"*/rightThrow"
]
},
{
"type": "cue",
"id": "*/rightCatch",
"name": "right - catch",
"deprecatedIDs": [],
"subtext": "",
"duration": 0.5
},
{
"type": "cue",
"id": "*/rightThrow",
"name": "right - throw",
"deprecatedIDs": [],
"subtext": "",
"duration": 0.5
},
{
"type": "cue",
"id": "*/rightThrowNoShake",
"name": "right - throw - no shake",
"deprecatedIDs": [],
"subtext": "",
"duration": 0.5
},
{
"type": "cue",
"id": "*/heartsCombine",
"name": "hearts - combine",
"deprecatedIDs": [
"loveLab/heartCombine"
],
"subtext": "",
"duration": 1.0
},
{
"type": "cue",
"id": "*/bagHeart",
"name": "bag - heart",
"deprecatedIDs": [
"loveLab/heartBag"
],
"subtext": "",
"duration": 0.0625,
"repitchable": true
},
{
"type": "cue",
"id": "*/bagHeartLast",
"name": "bag - last heart",
"deprecatedIDs": [
"loveLab/heartBagLong"
],
"subtext": "",
"duration": 0.0625,
"repitchable": true
},
{
"type": "pattern",
"id": "*_1heart",
"name": "1 heart pattern",
"deprecatedIDs": [],
"cues": [
{
"id": "*/leftCatch",
"beat": 0.0
},
{
"id": "*/leftThrow",
"beat": 1.0
},
{
"id": "*/rightCatch",
"beat": 2.0
},
{
"id": "*/rightThrow",
"beat": 3.0
},
{
"id": "*/heartsCombine",
"beat": 4.0
},
{
"id": "*/bagHeartLast",
"beat": 5.25
}
],
"subtext": ""
},
{
"type": "pattern",
"id": "*_1heartOffbeat",
"name": "1 heart offbeat pattern",
"deprecatedIDs": [],
"cues": [
{
"id": "*/leftCatch",
"beat": 0.0
},
{
"id": "*/leftThrow",
"beat": 0.5
},
{
"id": "*/rightCatch",
"beat": 2.0
},
{
"id": "*/rightThrow",
"beat": 2.5
},
{
"id": "*/heartsCombine",
"beat": 3.5
},
{
"id": "*/bagHeartLast",
"beat": 4.75
}
],
"subtext": ""
},
{
"type": "pattern",
"id": "*_2heart",
"name": "2 heart pattern",
"deprecatedIDs": [],
"cues": [
{
"id": "*/leftCatch",
"beat": 0.0
},
{
"id": "*/shakeUp",
"beat": 0.5
},
{
"id": "*/shakeDown",
"beat": 0.75
},
{
"id": "*/leftThrow",
"beat": 1.0
},
{
"id": "*/rightCatch",
"beat": 2.0
},
{
"id": "*/shakeUp",
"beat": 2.5
},
{
"id": "*/shakeDown",
"beat": 2.75
},
{
"id": "*/rightThrow",
"beat": 3.0
},
{
"id": "*/heartsCombine",
"beat": 4.0
},
{
"id": "*_heartPour2",
"beat": 5.25
}
],
"subtext": ""
},
{
"type": "pattern",
"id": "*_3heart",
"name": "3 heart pattern",
"deprecatedIDs": [],
"cues": [
{
"id": "*/leftCatch",
"beat": 0.0
},
{
"id": "*/shakeUp",
"beat": 1.0
},
{
"id": "*/shakeDown",
"beat": 1.25
},
{
"id": "*/shakeUp",
"beat": 1.5
},
{
"id": "*/shakeDown",
"beat": 1.75
},
{
"id": "*/leftThrow",
"beat": 2.0
},
{
"id": "*/rightCatch",
"beat": 4.0
},
{
"id": "*/shakeUp",
"beat": 5.0
},
{
"id": "*/shakeDown",
"beat": 5.25
},
{
"id": "*/shakeUp",
"beat": 5.5
},
{
"id": "*/shakeDown",
"beat": 5.75
},
{
"id": "*/rightThrow",
"beat": 6.0
},
{
"id": "*/heartsCombine",
"beat": 7.0
},
{
"id": "*_heartPour3",
"beat": 8.25
}
],
"subtext": ""
},
{
"type": "pattern",
"id": "*_5heart",
"name": "5 heart pattern",
"deprecatedIDs": [],
"cues": [
{
"id": "*/leftCatch",
"beat": 0.0
},
{
"id": "*/shakeUp",
"beat": 0.5
},
{
"id": "*/shakeDown",
"beat": 0.75
},
{
"id": "*/shakeUp",
"beat": 1.0
},
{
"id": "*/shakeDown",
"beat": 1.25
},
{
"id": "*/shakeUp",
"beat": 2.0
},
{
"id": "*/shakeDown",
"beat": 2.25
},
{
"id": "*/shakeUp",
"beat": 2.5
},
{
"id": "*/shakeDown",
"beat": 2.75
},
{
"id": "*/leftThrow",
"beat": 3.0
},
{
"id": "*/rightCatch",
"beat": 4.0
},
{
"id": "*/shakeUp",
"beat": 4.5
},
{
"id": "*/shakeDown",
"beat": 4.75
},
{
"id": "*/shakeUp",
"beat": 5.0
},
{
"id": "*/shakeDown",
"beat": 5.25
},
{
"id": "*/shakeUp",
"beat": 6.0
},
{
"id": "*/shakeDown",
"beat": 6.25
},
{
"id": "*/shakeUp",
"beat": 6.5
},
{
"id": "*/shakeDown",
"beat": 6.75
},
{
"id": "*/rightThrow",
"beat": 7.0
},
{
"id": "*/heartsCombine",
"beat": 8.0
},
{
"id": "*_heartPour5",
"beat": 9.25
}
],
"subtext": ""
},
{
"type": "pattern",
"id": "*_heartPour2",
"name": "bag - 2 hearts",
"deprecatedIDs": [
"loveLab/heartPour2"
],
"cues": [
{
"id": "*/bagHeart",
"beat": 0.0
},
{
"id": "*/bagHeartLast",
"beat": 0.0625,
"semitone": 2
}
],
"subtext": ""
},
{
"type": "pattern",
"id": "*_heartPour3",
"name": "bag - 3 hearts",
"deprecatedIDs": [
"loveLab/heartPour3"
],
"cues": [
{
"id": "*/bagHeart",
"beat": 0.0
},
{
"id": "*/bagHeart",
"beat": 0.0625,
"semitone": 2
},
{
"id": "*/bagHeartLast",
"beat": 0.125,
"semitone": 4
}
],
"subtext": ""
},
{
"type": "pattern",
"id": "*_heartPour4",
"name": "bag - 4 hearts",
"deprecatedIDs": [
"loveLab/heartPour4"
],
"cues": [
{
"id": "*/bagHeart",
"beat": 0.0
},
{
"id": "*/bagHeart",
"beat": 0.0625,
"semitone": 2
},
{
"id": "*/bagHeart",
"beat": 0.125,
"semitone": 4
},
{
"id": "*/bagHeartLast",
"beat": 0.1875,
"semitone": 7
}
],
"subtext": ""
},
{
"type": "pattern",
"id": "*_heartPour5",
"name": "bag - 5 hearts",
"deprecatedIDs": [
"loveLab/heartPour5"
],
"cues": [
{
"id": "*/bagHeart",
"beat": 0.0
},
{
"id": "*/bagHeart",
"beat": 0.0625,
"semitone": 2
},
{
"id": "*/bagHeart",
"beat": 0.125,
"semitone": 4
},
{
"id": "*/bagHeart",
"beat": 0.1875,
"semitone": 7
},
{
"id": "*/bagHeartLast",
"beat": 0.25,
"semitone": 8
}
],
"subtext": ""
}
]
}

View file

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 96fc052bc6321d6468b281f578a38615
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View file

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: 6ad78a65458497e4bbf5e014b13cd4aa
AudioImporter:
externalObjects: {}
serializedVersion: 6
defaultSettings:
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
preloadAudioData: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 473 B

View file

@ -0,0 +1,123 @@
fileFormatVersion: 2
guid: d4088c23eec591647aef842b5d2338e7
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View file

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: f5c958dfd94eed64499ffdd58f22bec1
AudioImporter:
externalObjects: {}
serializedVersion: 6
defaultSettings:
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
preloadAudioData: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View file

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: 3df8bda7d85675940b2a63118ff3a8a0
AudioImporter:
externalObjects: {}
serializedVersion: 6
defaultSettings:
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
preloadAudioData: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View file

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: 8fe1b51137560cd4c945c63b54dbbe8e
AudioImporter:
externalObjects: {}
serializedVersion: 6
defaultSettings:
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
preloadAudioData: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View file

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: 5ce08fb206f01ee45aa9a7f56901cead
AudioImporter:
externalObjects: {}
serializedVersion: 6
defaultSettings:
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
preloadAudioData: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: 543cd551a7aa7da4d853683ae285c548
AudioImporter:
externalObjects: {}
serializedVersion: 6
defaultSettings:
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
preloadAudioData: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View file

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: 418d00ec2fb656046a2e60e19bf03221
AudioImporter:
externalObjects: {}
serializedVersion: 6
defaultSettings:
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
preloadAudioData: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View file

@ -0,0 +1,22 @@
fileFormatVersion: 2
guid: 9788272175a86d247b7748c46fb739a1
AudioImporter:
externalObjects: {}
serializedVersion: 6
defaultSettings:
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
preloadAudioData: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load diff

View file

@ -243,7 +243,7 @@ namespace HeavenStudio.Editor.Track
if (create) if (create)
{ {
RiqEntity sectionC = GameManager.instance.Beatmap.AddNewSectionMarker(Timeline.instance.MousePos2BeatSnap, "New Section"); RiqEntity sectionC = GameManager.instance.Beatmap.AddNewSectionMarker(Timeline.instance.MousePos2BeatSnap, "");
sectionC.CreateProperty("startPerfect", false); sectionC.CreateProperty("startPerfect", false);
sectionC.CreateProperty("weight", 1f); sectionC.CreateProperty("weight", 1f);

View file

@ -51,7 +51,7 @@ public class TempoDialog : Dialog
deleteButton.gameObject.SetActive(!tempoObj.first); deleteButton.gameObject.SetActive(!tempoObj.first);
tempoInput.text = tempoObj.chartEntity["tempo"].ToString("F"); tempoInput.text = tempoObj.chartEntity["tempo"].ToString("F");
swingInput.text = (tempoObj.chartEntity["swing"] * 400).ToString("F"); swingInput.text = (tempoObj.chartEntity["swing"] * 100 + 50).ToString("F");
swingSlider.value = tempoObj.chartEntity["swing"]; swingSlider.value = tempoObj.chartEntity["swing"];
swingDivisionToggle.isOn = tempoObj.chartEntity["swingDivision"] != 1f; swingDivisionToggle.isOn = tempoObj.chartEntity["swingDivision"] != 1f;
@ -97,24 +97,81 @@ public class TempoDialog : Dialog
} }
} }
public void RefreshSwingUI()
{
swingInput.text = (tempoObj.chartEntity["swing"] * 100 + 50).ToString("F");
swingSlider.value = tempoObj.chartEntity["swing"];
}
public void SwingSliderUpdate() public void SwingSliderUpdate()
{ {
if (tempoObj != null) if (tempoObj != null)
{ {
tempoObj.SetSwing(System.MathF.Round(swingSlider.value, 4)); tempoObj.SetSwing(System.MathF.Round(swingSlider.value, 4));
swingInput.text = (tempoObj.chartEntity["swing"] * 400).ToString("F"); RefreshSwingUI();
swingSlider.value = tempoObj.chartEntity["swing"];
} }
} }
public void SetSwing() public void SwingManualUpdate()
{ {
if (tempoObj != null) if (tempoObj != null)
{ {
float swing = float.Parse(swingInput.text); float swing = float.Parse(swingInput.text);
tempoObj.SetSwing(swing * 0.25f / 100f); tempoObj.SetSwing(swing / 100f - 0.5f);
swingInput.text = (tempoObj.chartEntity["swing"] * 400).ToString("F"); RefreshSwingUI();
swingSlider.value = tempoObj.chartEntity["swing"]; }
}
/*
a note for future reference:
all stored swing values (like ones in remix.json) are the SWING RATIO - 0.5
for example, a swing ratio of 50% would be 0.5 - 0.5 = 0
and a ratio of 66.67% would be 0.6667 - 0.5 = 0.1667
you put that final value into tempoObj.SetSwing() to set it,
hence why the above functions use that weird formula and the below functions set it directly
in addition, you can get the swing ratio (as a percentage) from this value by
multiplying the value by 100, then adding 50
this is really stupid lol
minenice why didnt you write any of this down lmao - zeo
*/
public void SetStraightSwing()
{
if (tempoObj != null)
{
tempoObj.SetSwing(0f);
RefreshSwingUI();
}
}
public void SetLightSwing()
{
if (tempoObj != null)
{
tempoObj.SetSwing(0.1f);
RefreshSwingUI();
}
}
public void SetNormalSwing()
{
if (tempoObj != null)
{
tempoObj.SetSwing(0.1667f);
RefreshSwingUI();
}
}
public void SetHeavySwing()
{
if (tempoObj != null)
{
tempoObj.SetSwing(0.25f);
RefreshSwingUI();
} }
} }