workaround sneaky spirits pause jank

make BeatAction also wait for conductor DSP to start
remove leftover logic from old conductor sync
fix #630
fix #632
fix #633
This commit is contained in:
minenice55 2024-01-17 18:43:26 -05:00
parent 902b8c2aaa
commit da5a57e9d9
24 changed files with 1320 additions and 140 deletions

View file

@ -0,0 +1,501 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &-9022938225433809117
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: buttonIcons Material
m_Shader: {fileID: 4800000, guid: cf81c85f95fe47e1a27f6ae460cf182c, type: 3}
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _MainTex:
m_Texture: {fileID: 2800000, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _ColorMask: 15
- _CullMode: 0
- _Stencil: 0
- _StencilComp: 8
- _StencilOp: 0
- _StencilReadMask: 255
- _StencilWriteMask: 255
- _UseUIAlphaClip: 0
m_Colors:
- _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767}
- _Color: {r: 1, g: 1, b: 1, a: 1}
m_BuildTextureStacks: []
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 84a92b25f83d49b9bc132d206b370281, type: 3}
m_Name: Buttons
m_EditorClassIdentifier:
m_Version: 1.1.0
m_FaceInfo:
m_FaceIndex: 0
m_FamilyName:
m_StyleName:
m_PointSize: 0
m_Scale: 0
m_UnitsPerEM: 0
m_LineHeight: 0
m_AscentLine: 0
m_CapLine: 0
m_MeanLine: 0
m_Baseline: 0
m_DescentLine: 0
m_SuperscriptOffset: 0
m_SuperscriptSize: 0
m_SubscriptOffset: 0
m_SubscriptSize: 0
m_UnderlineOffset: 0
m_UnderlineThickness: 0
m_StrikethroughOffset: 0
m_StrikethroughThickness: 0
m_TabWidth: 0
m_Material: {fileID: 2100000, guid: 0035f9ee73a3659488de4969ea48d035, type: 2}
spriteSheet: {fileID: 2800000, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
m_SpriteCharacterTable:
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 0
m_Scale: 1
m_Name: ButtonOn
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 1
m_Scale: 1
m_Name: ShoulderLeftOn
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 2
m_Scale: 1
m_Name: ShoulderRightOn
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 3
m_Scale: 1
m_Name: ShouldersOn
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 4
m_Scale: 1
m_Name: ShouldersRightOn
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 5
m_Scale: 1
m_Name: Pad
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 6
m_Scale: 1
m_Name: Face
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 7
m_Scale: 1
m_Name: ButtonOff
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 8
m_Scale: 1
m_Name: EastOn
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 9
m_Scale: 1
m_Name: SouthOn
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 10
m_Scale: 1
m_Name: NorthOn
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 11
m_Scale: 1
m_Name: WestOn
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 12
m_Scale: 1
m_Name: ShoulderLeftOff
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 13
m_Scale: 1
m_Name: ShoulderRightOff
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 14
m_Scale: 1
m_Name: ShouldersOff
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 15
m_Scale: 1
m_Name: ShouldersLeftOn
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 16
m_Scale: 1
m_Name: RightOn
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 17
m_Scale: 1
m_Name: DownOn
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 18
m_Scale: 1
m_Name: LeftOn
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 19
m_Scale: 1
m_Name: UpOn
m_GlyphTable:
- m_Index: 0
m_Metrics:
m_Width: 38
m_Height: 38
m_HorizontalBearingX: 0
m_HorizontalBearingY: 68
m_HorizontalAdvance: 80
m_GlyphRect:
m_X: 151
m_Y: 984
m_Width: 38
m_Height: 38
m_Scale: 1.25
m_AtlasIndex: 0
m_ClassDefinitionType: 0
sprite: {fileID: -6506423922138132652, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
- m_Index: 1
m_Metrics:
m_Width: 38
m_Height: 38
m_HorizontalBearingX: 0
m_HorizontalBearingY: 68
m_HorizontalAdvance: 80
m_GlyphRect:
m_X: 511
m_Y: 984
m_Width: 38
m_Height: 38
m_Scale: 1.25
m_AtlasIndex: 0
m_ClassDefinitionType: 0
sprite: {fileID: -598839719690993186, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
- m_Index: 2
m_Metrics:
m_Width: 38
m_Height: 38
m_HorizontalBearingX: 0
m_HorizontalBearingY: 68
m_HorizontalAdvance: 80
m_GlyphRect:
m_X: 551
m_Y: 984
m_Width: 38
m_Height: 38
m_Scale: 1.25
m_AtlasIndex: 0
m_ClassDefinitionType: 0
sprite: {fileID: 7882489078324362733, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
- m_Index: 3
m_Metrics:
m_Width: 78
m_Height: 38
m_HorizontalBearingX: 0
m_HorizontalBearingY: 68
m_HorizontalAdvance: 80
m_GlyphRect:
m_X: 591
m_Y: 984
m_Width: 78
m_Height: 38
m_Scale: 1.25
m_AtlasIndex: 0
m_ClassDefinitionType: 0
sprite: {fileID: -7444272823696498285, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
- m_Index: 4
m_Metrics:
m_Width: 78
m_Height: 38
m_HorizontalBearingX: 0
m_HorizontalBearingY: 68
m_HorizontalAdvance: 80
m_GlyphRect:
m_X: 671
m_Y: 984
m_Width: 78
m_Height: 38
m_Scale: 1.25
m_AtlasIndex: 0
m_ClassDefinitionType: 0
sprite: {fileID: 5518843884416884346, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
- m_Index: 5
m_Metrics:
m_Width: 67
m_Height: 67
m_HorizontalBearingX: 0
m_HorizontalBearingY: 68
m_HorizontalAdvance: 80
m_GlyphRect:
m_X: 2
m_Y: 955
m_Width: 67
m_Height: 67
m_Scale: 1.25
m_AtlasIndex: 0
m_ClassDefinitionType: 0
sprite: {fileID: 6719230046462009688, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
- m_Index: 6
m_Metrics:
m_Width: 78
m_Height: 78
m_HorizontalBearingX: 0
m_HorizontalBearingY: 68
m_HorizontalAdvance: 80
m_GlyphRect:
m_X: 71
m_Y: 944
m_Width: 78
m_Height: 78
m_Scale: 1.25
m_AtlasIndex: 0
m_ClassDefinitionType: 0
sprite: {fileID: 3826735276939671808, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
- m_Index: 7
m_Metrics:
m_Width: 38
m_Height: 38
m_HorizontalBearingX: 0
m_HorizontalBearingY: 68
m_HorizontalAdvance: 80
m_GlyphRect:
m_X: 151
m_Y: 944
m_Width: 38
m_Height: 38
m_Scale: 1.25
m_AtlasIndex: 0
m_ClassDefinitionType: 0
sprite: {fileID: -7319796363159512643, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
- m_Index: 8
m_Metrics:
m_Width: 78
m_Height: 78
m_HorizontalBearingX: 0
m_HorizontalBearingY: 68
m_HorizontalAdvance: 80
m_GlyphRect:
m_X: 191
m_Y: 944
m_Width: 78
m_Height: 78
m_Scale: 1.25
m_AtlasIndex: 0
m_ClassDefinitionType: 0
sprite: {fileID: 8406874011085310447, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
- m_Index: 9
m_Metrics:
m_Width: 78
m_Height: 78
m_HorizontalBearingX: 0
m_HorizontalBearingY: 68
m_HorizontalAdvance: 80
m_GlyphRect:
m_X: 271
m_Y: 944
m_Width: 78
m_Height: 78
m_Scale: 1.25
m_AtlasIndex: 0
m_ClassDefinitionType: 0
sprite: {fileID: 111238229322356548, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
- m_Index: 10
m_Metrics:
m_Width: 78
m_Height: 78
m_HorizontalBearingX: 0
m_HorizontalBearingY: 68
m_HorizontalAdvance: 80
m_GlyphRect:
m_X: 351
m_Y: 944
m_Width: 78
m_Height: 78
m_Scale: 1.25
m_AtlasIndex: 0
m_ClassDefinitionType: 0
sprite: {fileID: 8017398019882363653, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
- m_Index: 11
m_Metrics:
m_Width: 78
m_Height: 78
m_HorizontalBearingX: 0
m_HorizontalBearingY: 68
m_HorizontalAdvance: 80
m_GlyphRect:
m_X: 431
m_Y: 944
m_Width: 78
m_Height: 78
m_Scale: 1.25
m_AtlasIndex: 0
m_ClassDefinitionType: 0
sprite: {fileID: -8397132687541991269, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
- m_Index: 12
m_Metrics:
m_Width: 38
m_Height: 38
m_HorizontalBearingX: 0
m_HorizontalBearingY: 68
m_HorizontalAdvance: 80
m_GlyphRect:
m_X: 511
m_Y: 944
m_Width: 38
m_Height: 38
m_Scale: 1.25
m_AtlasIndex: 0
m_ClassDefinitionType: 0
sprite: {fileID: -1348493139139215224, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
- m_Index: 13
m_Metrics:
m_Width: 38
m_Height: 38
m_HorizontalBearingX: 0
m_HorizontalBearingY: 68
m_HorizontalAdvance: 80
m_GlyphRect:
m_X: 551
m_Y: 944
m_Width: 38
m_Height: 38
m_Scale: 1.25
m_AtlasIndex: 0
m_ClassDefinitionType: 0
sprite: {fileID: 6499095914430324874, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
- m_Index: 14
m_Metrics:
m_Width: 78
m_Height: 38
m_HorizontalBearingX: 0
m_HorizontalBearingY: 68
m_HorizontalAdvance: 80
m_GlyphRect:
m_X: 591
m_Y: 944
m_Width: 78
m_Height: 38
m_Scale: 1.25
m_AtlasIndex: 0
m_ClassDefinitionType: 0
sprite: {fileID: -5368843543446870761, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
- m_Index: 15
m_Metrics:
m_Width: 78
m_Height: 38
m_HorizontalBearingX: 0
m_HorizontalBearingY: 68
m_HorizontalAdvance: 80
m_GlyphRect:
m_X: 671
m_Y: 944
m_Width: 78
m_Height: 38
m_Scale: 1.25
m_AtlasIndex: 0
m_ClassDefinitionType: 0
sprite: {fileID: 3724681018647327355, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
- m_Index: 16
m_Metrics:
m_Width: 67
m_Height: 67
m_HorizontalBearingX: 0
m_HorizontalBearingY: 68
m_HorizontalAdvance: 80
m_GlyphRect:
m_X: 2
m_Y: 886
m_Width: 67
m_Height: 67
m_Scale: 1.25
m_AtlasIndex: 0
m_ClassDefinitionType: 0
sprite: {fileID: -4789233240444048905, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
- m_Index: 17
m_Metrics:
m_Width: 67
m_Height: 67
m_HorizontalBearingX: 0
m_HorizontalBearingY: 68
m_HorizontalAdvance: 80
m_GlyphRect:
m_X: 71
m_Y: 875
m_Width: 67
m_Height: 67
m_Scale: 1.25
m_AtlasIndex: 0
m_ClassDefinitionType: 0
sprite: {fileID: 4213091988662033815, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
- m_Index: 18
m_Metrics:
m_Width: 67
m_Height: 67
m_HorizontalBearingX: 0
m_HorizontalBearingY: 68
m_HorizontalAdvance: 80
m_GlyphRect:
m_X: 140
m_Y: 875
m_Width: 67
m_Height: 67
m_Scale: 1.25
m_AtlasIndex: 0
m_ClassDefinitionType: 0
sprite: {fileID: 6847377428827266393, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
- m_Index: 19
m_Metrics:
m_Width: 67
m_Height: 67
m_HorizontalBearingX: 0
m_HorizontalBearingY: 68
m_HorizontalAdvance: 80
m_GlyphRect:
m_X: 209
m_Y: 875
m_Width: 67
m_Height: 67
m_Scale: 1.25
m_AtlasIndex: 0
m_ClassDefinitionType: 0
sprite: {fileID: -5863448563183388835, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
spriteInfoList: []
fallbackSpriteAssets: []

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 0c43f0788bfc33b43abc93c58f2307b5
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View file

@ -48,7 +48,7 @@ MonoBehaviour:
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 84a92b25f83d49b9bc132d206b370281, type: 3}
m_Name: hsEmoji
m_Name: HeavenEmoji
m_EditorClassIdentifier:
m_Version: 1.1.0
m_FaceInfo:

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -844,7 +844,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 2100000, guid: d03b08a4c5ce7cb47b288ad638c7ca9f, type: 2}
m_Color: {r: 1, g: 1, b: 1, a: 0.78431374}
m_Color: {r: 1, g: 1, b: 1, a: 0.8627451}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
@ -1228,7 +1228,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 2100000, guid: b40da75f6d2bafa47ad85e579ee00993, type: 2}
m_Color: {r: 1, g: 1, b: 1, a: 0.78431374}
m_Color: {r: 1, g: 1, b: 1, a: 0.8627451}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 0
@ -1721,7 +1721,7 @@ MonoBehaviour:
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_ActiveFontFeatures: 00000000
m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
@ -2279,7 +2279,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 2100000, guid: d6ea70fa47396b640ab6ae551b0114f8, type: 2}
m_Color: {r: 1, g: 1, b: 1, a: 0.78431374}
m_Color: {r: 1, g: 1, b: 1, a: 0.9019608}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 0
@ -4191,7 +4191,6 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
SoundSequences: []
EligibleHits: []
scheduledInputs: []
alien: {fileID: 1725356918350344904}
translator: {fileID: 2669316826032871973}

View file

@ -8052,8 +8052,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 951.5, y: 0}
m_SizeDelta: {x: 1863, y: 0}
m_AnchoredPosition: {x: 723, y: 0}
m_SizeDelta: {x: 1406, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3918594456218978261
CanvasRenderer:

View file

@ -14,8 +14,8 @@ RenderTexture:
m_DownscaleFallback: 0
m_IsAlphaChannelOptional: 0
serializedVersion: 5
m_Width: 3840
m_Height: 2160
m_Width: 2238
m_Height: 1258
m_AntiAliasing: 2
m_MipCount: -1
m_DepthStencilFormat: 92

View file

@ -14,8 +14,8 @@ RenderTexture:
m_DownscaleFallback: 0
m_IsAlphaChannelOptional: 0
serializedVersion: 5
m_Width: 3840
m_Height: 2160
m_Width: 3357
m_Height: 1887
m_AntiAliasing: 1
m_MipCount: -1
m_DepthStencilFormat: 92

View file

@ -2,14 +2,16 @@
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: AlienTextboxMaterial
m_Shader: {fileID: 4800000, guid: 777678d31f953e04e8f15812003b9c27, type: 3}
m_ShaderKeywords: UNITY_UI_ALPHACLIP
m_ValidKeywords:
- UNITY_UI_ALPHACLIP
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
@ -55,6 +57,7 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _ColorMask: 15
@ -84,7 +87,7 @@ Material:
- _UseUIAlphaClip: 1
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.3137255, g: 0.45490196, b: 0.2509804, a: 1}
- _Color: {r: 0.39607844, g: 0.4745098, b: 0.023529412, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _OutColor: {r: 0.38823533, g: 0, b: 0.6, a: 1}
- _OutColor: {r: 0.43529412, g: 0.02745098, b: 0.67058825, a: 1}
m_BuildTextureStacks: []

View file

@ -2,14 +2,16 @@
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: TranslatedTextboxMaterial
m_Shader: {fileID: 4800000, guid: 777678d31f953e04e8f15812003b9c27, type: 3}
m_ShaderKeywords: UNITY_UI_ALPHACLIP
m_ValidKeywords:
- UNITY_UI_ALPHACLIP
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
@ -55,6 +57,7 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _ColorMask: 15
@ -84,7 +87,7 @@ Material:
- _UseUIAlphaClip: 1
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 0.8392157, g: 0.8392157, b: 0.92941177, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _OutColor: {r: 0.07528239, g: 0, b: 0.3529412, a: 1}
- _OutColor: {r: 0.09803922, g: 0.12941177, b: 0.34509805, a: 1}
m_BuildTextureStacks: []

View file

@ -2,14 +2,16 @@
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: TranslatedTextboxMaterialFX
m_Shader: {fileID: 4800000, guid: 777678d31f953e04e8f15812003b9c27, type: 3}
m_ShaderKeywords: UNITY_UI_ALPHACLIP
m_ValidKeywords:
- UNITY_UI_ALPHACLIP
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
@ -55,6 +57,7 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _ColorMask: 15
@ -84,7 +87,7 @@ Material:
- _UseUIAlphaClip: 1
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.07450981, g: 0, b: 0.3529412, a: 1}
- _Color: {r: 0.09803922, g: 0.12941177, b: 0.34509805, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _OutColor: {r: 0.07450981, g: 0, b: 0.3529412, a: 1}
- _OutColor: {r: 0.09803922, g: 0.12941177, b: 0.34509805, a: 1}
m_BuildTextureStacks: []

View file

@ -161,6 +161,18 @@ TextureImporter:
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 1024
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:

View file

@ -551,9 +551,9 @@ RectTransform:
m_Father: {fileID: 574002313}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 0, y: -21}
m_SizeDelta: {x: 32, y: 32}
m_Pivot: {x: 0, y: 0.5}
--- !u!114 &9435782
@ -4172,9 +4172,9 @@ RectTransform:
m_Father: {fileID: 539838476}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 32, y: -21}
m_SizeDelta: {x: 32, y: 32}
m_Pivot: {x: 1, y: 0.5}
--- !u!114 &121871281
@ -4396,9 +4396,9 @@ RectTransform:
m_Father: {fileID: 539838476}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 72, y: -21}
m_SizeDelta: {x: 32, y: 32}
m_Pivot: {x: 1, y: 0.5}
--- !u!114 &129013734
@ -4532,9 +4532,9 @@ RectTransform:
m_Father: {fileID: 539838476}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 112, y: -21}
m_SizeDelta: {x: 32, y: 32}
m_Pivot: {x: 1, y: 0.5}
--- !u!114 &151246938
@ -14029,7 +14029,7 @@ MonoBehaviour:
m_TargetGraphic: {fileID: 171581557}
m_HandleRect: {fileID: 171581556}
m_Direction: 2
m_Value: 0
m_Value: 1
m_Size: 1
m_NumberOfSteps: 0
m_OnValueChanged:
@ -16661,7 +16661,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: -50}
m_AnchoredPosition: {x: 0, y: -50.000015}
m_SizeDelta: {x: -48, y: -148}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &572765323
@ -26851,7 +26851,7 @@ MonoBehaviour:
m_HandleRect: {fileID: 1589389271}
m_Direction: 2
m_Value: 1
m_Size: 0.9999814
m_Size: 1
m_NumberOfSteps: 0
m_OnValueChanged:
m_PersistentCalls:
@ -32707,7 +32707,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: 0, y: 171.91833}
m_AnchoredPosition: {x: 0, y: 146.61183}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 1}
--- !u!222 &1154875945
@ -37250,9 +37250,9 @@ RectTransform:
m_Father: {fileID: 574002313}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 40, y: -21}
m_SizeDelta: {x: 32, y: 32}
m_Pivot: {x: 0, y: 0.5}
--- !u!114 &1345846031
@ -43455,8 +43455,8 @@ MonoBehaviour:
m_TargetGraphic: {fileID: 1220118245}
m_HandleRect: {fileID: 1220118244}
m_Direction: 2
m_Value: 1
m_Size: 1
m_Value: 1.000001
m_Size: 0.81650156
m_NumberOfSteps: 0
m_OnValueChanged:
m_PersistentCalls:
@ -46876,9 +46876,9 @@ RectTransform:
m_Father: {fileID: 574002313}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 80, y: -21}
m_SizeDelta: {x: 32, y: 32}
m_Pivot: {x: 0, y: 0.5}
--- !u!114 &1783491359

View file

@ -46,7 +46,7 @@ namespace HeavenStudio
// Current time of the song
private double time;
double dspTime;
double absTime, absTimeAdjust;
double absTime, absTimeAdjust, lastAbsTime;
double dspSizeSeconds;
double dspMargin = 128 / 44100.0;
bool deferTimeKeeping = false;
@ -56,7 +56,7 @@ namespace HeavenStudio
private double dspStart;
private float dspStartTime => (float)dspStart;
public double dspStartTimeAsDouble => dspStart;
DateTime startTime;
DateTime startTime, lastMixTime;
//the beat we started at
private double startPos;
@ -98,38 +98,33 @@ namespace HeavenStudio
public void SetTimelinePitch(float pitch)
{
if (isPaused) return;
if (pitch != 0 && pitch * minigamePitch != SongPitch)
if (pitch != 0 && pitch != timelinePitch)
{
Debug.Log("added pitch change " + pitch * minigamePitch + " at" + absTime);
addedPitchChanges.Add(new AddedPitchChange { time = absTime, pitch = pitch * minigamePitch });
}
timelinePitch = pitch;
musicSource.pitch = SongPitch;
if (musicSource != null && musicSource.clip != null)
{
musicSource.pitch = SongPitch;
}
}
public void SetMinigamePitch(float pitch)
{
if (pitch != 0 && pitch * timelinePitch != SongPitch)
if (isPaused || !isPlaying) return;
if (pitch != 0 && pitch != minigamePitch)
{
Debug.Log("added pitch change " + pitch * timelinePitch + " at" + absTime);
addedPitchChanges.Add(new AddedPitchChange { time = absTime, pitch = pitch * timelinePitch });
}
minigamePitch = pitch;
musicSource.pitch = SongPitch;
}
public void SetMinigamePitch(float pitch, double beat)
{
BeatAction.New(this,
new List<BeatAction.Action> {
new BeatAction.Action(beat, delegate {
SetMinigamePitch(pitch);
}),
}
);
if (musicSource != null && musicSource.clip != null)
{
musicSource.pitch = SongPitch;
}
}
void Awake()
@ -173,6 +168,9 @@ namespace HeavenStudio
public void Play(double beat)
{
if (isPlaying) return;
addedPitchChanges.Clear();
addedPitchChanges.Add(new AddedPitchChange { time = 0, pitch = timelinePitch });
minigamePitch = 1f;
if (isPaused)
{
@ -184,8 +182,6 @@ namespace HeavenStudio
dspSizeSeconds = config.dspBufferSize / (double)config.sampleRate;
Debug.Log($"dsp size: {dspSizeSeconds}");
dspMargin = 2 * dspSizeSeconds;
addedPitchChanges.Clear();
addedPitchChanges.Add(new AddedPitchChange { time = 0, pitch = SongPitch });
SetMinigameVolume(1f);
}
@ -204,7 +200,7 @@ namespace HeavenStudio
double musicStartDelay = -offset - startPos;
if (musicStartDelay > 0)
{
musicScheduledTime = dspTime + (musicStartDelay / SongPitch) + 2*dspSizeSeconds;
musicScheduledTime = dspTime + (musicStartDelay / timelinePitch) + 2*dspSizeSeconds;
dspStart = dspTime + 2*dspSizeSeconds;
}
else
@ -212,8 +208,9 @@ namespace HeavenStudio
musicScheduledTime = dspTime + 2*dspSizeSeconds;
dspStart = dspTime + 2*dspSizeSeconds;
}
musicScheduledPitch = SongPitch;
musicSource.PlayScheduled(musicScheduledTime);
musicScheduledPitch = timelinePitch;
musicSource.pitch = timelinePitch;
Debug.Log($"playback scheduled for dsptime {dspStart}");
}
if (musicSource.clip == null)
@ -227,6 +224,7 @@ namespace HeavenStudio
startTime = DateTime.Now;
absTimeAdjust = 0;
lastAbsTime = 0;
deferTimeKeeping = musicSource.clip != null;
isPlaying = true;
@ -235,11 +233,11 @@ namespace HeavenStudio
void OnAudioFilterRead(float[] data, int channels)
{
if (!deferTimeKeeping) return;
// don't actually do anything with the data
// wait until we get a dsp update before starting to keep time
double dsp = AudioSettings.dspTime;
if (dsp >= dspStart - dspSizeSeconds)
if (deferTimeKeeping && dsp >= dspStart - dspSizeSeconds)
{
deferTimeKeeping = false;
Debug.Log($"dsptime: {dsp}, deferred timekeeping for {DateTime.Now - startTime} seconds (delta dsp {dsp - dspStart})");
@ -247,6 +245,7 @@ namespace HeavenStudio
absTimeAdjust = 0;
dspStart = dsp;
}
lastMixTime = DateTime.Now;
}
public void Pause()
@ -255,6 +254,7 @@ namespace HeavenStudio
isPlaying = false;
isPaused = true;
deferTimeKeeping = false;
SetMinigamePitch(1f);
musicSource.Stop();
Util.SoundByte.PauseOneShots();
@ -276,6 +276,7 @@ namespace HeavenStudio
isPlaying = false;
isPaused = false;
deferTimeKeeping = false;
SetMinigamePitch(1f);
musicSource.Stop();
}
@ -377,48 +378,29 @@ namespace HeavenStudio
public void Update()
{
if (isPlaying)
double dsp = AudioSettings.dspTime;
if (isPlaying && !(isPaused || deferTimeKeeping))
{
double dsp = AudioSettings.dspTime;
if (dsp < musicScheduledTime && musicScheduledPitch != SongPitch)
{
if (SongPitch == 0f)
{
musicSource.Pause();
}
else
{
if (musicScheduledPitch == 0f)
musicSource.UnPause();
musicScheduledPitch = SongPitch;
//dspTime to sync with audio thread in case of drift
dspTime = dsp - dspStart;
musicScheduledTime = (dsp + (-GameManager.instance.Beatmap.data.offset - songPositionAsDouble) / (double)SongPitch);
musicSource.SetScheduledStartTime(musicScheduledTime);
absTime = (DateTime.Now - startTime).TotalSeconds;
if (Math.Abs(absTime + absTimeAdjust - dspTime) > dspMargin)
{
int i = 0;
while (Math.Abs(absTime + absTimeAdjust - dspTime) > dspMargin)
{
i++;
absTimeAdjust = (dspTime - absTime + absTimeAdjust) * 0.5;
if (i > 8) break;
}
}
if (!deferTimeKeeping)
{
absTime = (DateTime.Now - startTime).TotalSeconds;
time = MapTimeToPitchChanges(absTime + absTimeAdjust);
//dspTime to sync with audio thread in case of drift
dspTime = dsp - dspStart;
if (Math.Abs(absTime + absTimeAdjust - dspTime) > dspMargin)
{
int i = 0;
while (Math.Abs(absTime + absTimeAdjust - dspTime) > dspMargin)
{
i++;
absTimeAdjust = (dspTime - absTime + absTimeAdjust) * 0.5;
if (i > 8) break;
}
}
time = MapTimeToPitchChanges(absTime + absTimeAdjust);
songPos = startPos + time;
songPosBeat = GetBeatFromSongPos(songPos);
}
songPos = startPos + time;
songPosBeat = GetBeatFromSongPos(songPos);
}
}
@ -655,7 +637,7 @@ namespace HeavenStudio
public bool NotStopped()
{
return Conductor.instance.isPlaying == true || Conductor.instance.isPaused == true;
return Conductor.instance.isPlaying || Conductor.instance.isPaused;
}
}
}

View file

@ -81,6 +81,7 @@ namespace HeavenStudio.Games.Scripts_RhythmTweezers
pullSound.Stop();
pluckState = -1;
game.ScoreMiss();
}
private void StartJust(PlayerActionEvent caller, float state)

View file

@ -95,16 +95,20 @@ namespace HeavenStudio.Games
void OnDestroy()
{
Conductor.instance.SetMinigamePitch(1f);
foreach (var evt in scheduledInputs)
{
evt.Disable();
}
if (Conductor.instance.isPlaying)
{
Conductor.instance.SetMinigamePitch(1f);
}
}
public override void OnGameSwitch(double beat)
{
InitGhosts(beat);
Conductor.instance.SetMinigamePitch(1f);
}
private void InitGhosts(double beat)
@ -127,7 +131,6 @@ namespace HeavenStudio.Games
void Awake()
{
instance = this;
Conductor.instance.SetMinigamePitch(1f);
}
void Update()
@ -165,10 +168,6 @@ namespace HeavenStudio.Games
}
}
}
else if (!cond.isPlaying)
{
Conductor.instance.SetMinigamePitch(1f);
}
}
public void ForceReload()
@ -347,7 +346,6 @@ namespace HeavenStudio.Games
slowTree.SetActive(true);
normalTree.SetActive(false);
Conductor.instance.SetMinigamePitch(0.25f);
Conductor.instance.SetMinigamePitch(1f, caller.startBeat + caller.timer + 1f);
}
doorAnim.DoScaledAnimationAsync("DoorOpen", 0.5f);
@ -355,6 +353,7 @@ namespace HeavenStudio.Games
{
new BeatAction.Action(caller.startBeat + caller.timer + 1f, delegate
{
Conductor.instance.SetMinigamePitch(1f);
doorAnim.DoScaledAnimationAsync("DoorClose", 0.5f);
slowRain.SetActive(false);
normalRain.SetActive(true);

View file

@ -61,6 +61,7 @@ namespace HeavenStudio.InputSystem.Loaders
{
joyshock.CleanUp();
}
JslSetCallback(null);
JslDisconnectAndDisposeAll();
}

View file

@ -30,7 +30,7 @@ namespace HeavenStudio.Common
GlobalGameManager.DEFAULT_SCREEN_SIZES[1].height,
0.8f,
512,
44100,
48000,
true,
true,
PerfectChallengeType.On,

View file

@ -49,12 +49,13 @@ namespace HeavenStudio.Util
static async UniTask BeatActionAsync(MonoBehaviour behaviour, List<Action> actions, CancellationToken token)
{
Conductor conductor = Conductor.instance;
int idx = 0;
while (idx < actions.Count)
{
await UniTask.WaitUntil(() => Conductor.instance.songPositionInBeatsAsDouble >= actions[idx].beat || !(Conductor.instance.isPlaying || Conductor.instance.isPaused) || behaviour == null, cancellationToken: token);
await UniTask.WaitUntil(() => (conductor.songPositionInBeatsAsDouble >= actions[idx].beat && !conductor.WaitingForDsp) || !(conductor.isPlaying || conductor.isPaused) || behaviour == null, cancellationToken: token);
if (behaviour == null || !(Conductor.instance.isPlaying || Conductor.instance.isPaused))
if (behaviour == null || !(conductor.isPlaying || conductor.isPaused))
return;
actions[idx].function.Invoke();

View file

@ -37,7 +37,7 @@ MonoBehaviour:
m_matchMaterialPreset: 1
m_HideSubTextObjects: 0
m_defaultSpriteAsset: {fileID: 11400000, guid: e2ad0e9127347de4f8d59ad9f502e2eb, type: 2}
m_defaultSpriteAssetPath: Sprites/UI/Common/Textbox/TextboxExtras/
m_defaultSpriteAssetPath: Fonts/
m_enableEmojiSupport: 1
m_MissingCharacterSpriteUnicode: 0
m_EmojiFallbackTextAssets: []