diff --git a/Assets/Resources/Games/sumoBrothers.prefab b/Assets/Resources/Games/sumoBrothers.prefab
index a57b383c5..26bac2c9e 100644
--- a/Assets/Resources/Games/sumoBrothers.prefab
+++ b/Assets/Resources/Games/sumoBrothers.prefab
@@ -2483,6 +2483,9 @@ MonoBehaviour:
dust: {fileID: 0}
bgMove: {fileID: 907213061987012567}
bgStatic: {fileID: 8786252013339787948}
+ backgroundMaterial: {fileID: 2100000, guid: bfba1d80bcdd5cb4895bdfd74075769a, type: 2}
+ bgTop: {fileID: 953444361880115960}
+ bgBtm: {fileID: 7755206070316719315}
camera: {fileID: 7621216590368296269}
cameraX: 0
cameraXNew: 0
@@ -3692,7 +3695,7 @@ SpriteRenderer:
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 2100000, guid: bfba1d80bcdd5cb4895bdfd74075769a, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
@@ -3713,7 +3716,7 @@ SpriteRenderer:
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: -1000
- m_Sprite: {fileID: -8551528264012278953, guid: 3eeab378f5f7af04e9c1a69ca8659fd0, type: 3}
+ m_Sprite: {fileID: 1292925404, guid: 86723ca01743bb142b521de7fb5727ba, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
@@ -9709,7 +9712,7 @@ SpriteRenderer:
m_Size: {x: 5.12, y: 5.12}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
- m_WasSpriteAssigned: 1
+ m_WasSpriteAssigned: 0
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &4837859304220241771
@@ -11262,7 +11265,7 @@ SpriteRenderer:
m_Size: {x: 8.53, y: 4.8}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
- m_WasSpriteAssigned: 1
+ m_WasSpriteAssigned: 0
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &6081795588540371572
@@ -11347,7 +11350,7 @@ SpriteRenderer:
m_Size: {x: 8.53, y: 4.8}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
- m_WasSpriteAssigned: 1
+ m_WasSpriteAssigned: 0
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &6181681341935747238
@@ -12813,7 +12816,7 @@ SpriteRenderer:
m_Size: {x: 5.12, y: 5.12}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
- m_WasSpriteAssigned: 1
+ m_WasSpriteAssigned: 0
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &8505794553771142455
@@ -13609,7 +13612,7 @@ SpriteRenderer:
m_Size: {x: 4, y: 4.8}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
- m_WasSpriteAssigned: 1
+ m_WasSpriteAssigned: 0
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &9081158673666972172
diff --git a/Assets/Resources/Sprites/Games/SumoBrothers/BGColor.mat b/Assets/Resources/Sprites/Games/SumoBrothers/BGColor.mat
new file mode 100644
index 000000000..de93c1c61
--- /dev/null
+++ b/Assets/Resources/Sprites/Games/SumoBrothers/BGColor.mat
@@ -0,0 +1,80 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: BGColor
+ m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Resources/Sprites/Games/SumoBrothers/BGColor.mat.meta b/Assets/Resources/Sprites/Games/SumoBrothers/BGColor.mat.meta
new file mode 100644
index 000000000..16f6da1c5
--- /dev/null
+++ b/Assets/Resources/Sprites/Games/SumoBrothers/BGColor.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: bfba1d80bcdd5cb4895bdfd74075769a
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sprites/Games/SumoBrothers/sumou_bg.png.meta b/Assets/Resources/Sprites/Games/SumoBrothers/sumou_bg.png.meta
index bfc97bf29..27ab82560 100644
--- a/Assets/Resources/Sprites/Games/SumoBrothers/sumou_bg.png.meta
+++ b/Assets/Resources/Sprites/Games/SumoBrothers/sumou_bg.png.meta
@@ -147,7 +147,7 @@ TextureImporter:
serializedVersion: 2
sprites:
- serializedVersion: 2
- name: background
+ name: backgroundold
rect:
serializedVersion: 2
x: 88
@@ -512,7 +512,7 @@ TextureImporter:
width: 2048
height: 140
alignment: 0
- pivot: {x: 0, y: 0}
+ pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
@@ -535,8 +535,8 @@ TextureImporter:
weights: []
secondaryTextures: []
nameFileIdTable:
- background: -8551528264012278953
backgroundGlow: -2768974374605152282
+ backgroundold: -8551528264012278953
bgGreatWave: 1525428153
bgOtaniOniji: -1998133883
ground: 4054221790298107953
diff --git a/Assets/Resources/Sprites/Games/SumoBrothers/sumou_bg_alt.png b/Assets/Resources/Sprites/Games/SumoBrothers/sumou_bg_alt.png
index dd26e6ba1..ae1ebf809 100644
Binary files a/Assets/Resources/Sprites/Games/SumoBrothers/sumou_bg_alt.png and b/Assets/Resources/Sprites/Games/SumoBrothers/sumou_bg_alt.png differ
diff --git a/Assets/Resources/Sprites/Games/SumoBrothers/sumou_bg_alt.png.meta b/Assets/Resources/Sprites/Games/SumoBrothers/sumou_bg_alt.png.meta
index 8845e9b92..985bb7c18 100644
--- a/Assets/Resources/Sprites/Games/SumoBrothers/sumou_bg_alt.png.meta
+++ b/Assets/Resources/Sprites/Games/SumoBrothers/sumou_bg_alt.png.meta
@@ -146,6 +146,27 @@ TextureImporter:
indices:
edges: []
weights: []
+ - serializedVersion: 2
+ name: background
+ rect:
+ serializedVersion: 2
+ x: 88
+ y: 80
+ width: 128
+ height: 1060
+ alignment: 0
+ pivot: {x: 0, y: 0}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 5db9ab8958cda124b81170cef5b71a7d
+ internalID: 1292925404
+ vertices: []
+ indices:
+ edges: []
+ weights: []
outline: []
physicsShape: []
bones: []
@@ -157,6 +178,7 @@ TextureImporter:
weights: []
secondaryTextures: []
nameFileIdTable:
+ background: 1292925404
bgGreatWaveAlt: -777139864
bgOtaniOnijiAlt: 1714080886
spritePackingTag:
diff --git a/Assets/Scripts/Games/SumoBrothers/SumoBrothers.cs b/Assets/Scripts/Games/SumoBrothers/SumoBrothers.cs
index 979a6fd87..44408726f 100644
--- a/Assets/Scripts/Games/SumoBrothers/SumoBrothers.cs
+++ b/Assets/Scripts/Games/SumoBrothers/SumoBrothers.cs
@@ -30,6 +30,7 @@ using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
+using DG.Tweening;
namespace HeavenStudio.Games.Loaders
{
@@ -77,7 +78,7 @@ namespace HeavenStudio.Games.Loaders
new Param("direction", SumoBrothers.StompDirection.Automatic, "Stomp Direction", "Which direction the Sumo Brothers will begin stomping in."),
},
inactiveFunction = delegate { var e = eventCaller.currentEntity; if (!e["mute"]) { SumoBrothers.StompSignalSound(e.beat);} },
- defaultLength = 4f,
+ defaultLength = 4f,
priority = 4
},
@@ -117,6 +118,22 @@ namespace HeavenStudio.Games.Loaders
priority = 2
},
+ new GameAction("background color", "Background Appearance")
+ {
+ function = delegate { var e = eventCaller.currentEntity; SumoBrothers.instance.BackgroundColor(e.beat, e.length, e["colorFrom"], e["colorTo"], e["colorFrom2"], e["colorTo2"], e["ease"]); },
+ defaultLength = 0.5f,
+ resizable = true,
+ parameters = new List()
+ {
+ new Param("colorFrom", SumoBrothers.defaultBgTopColor, "Color A Start", "Set the top-most color of the background gradient at the start of the event."),
+ new Param("colorTo", SumoBrothers.defaultBgTopColor, "Color A End", "Set the top-most color of the background gradient at the end of the event."),
+ new Param("colorFrom2", SumoBrothers.defaultBgBtmColor, "Color B Start", "Set the bottom-most color of the background gradient at the start of the event."),
+ new Param("colorTo2", SumoBrothers.defaultBgBtmColor, "Color B End", "Set the bottom-most color of the background gradient at the end of the event."),
+ new Param("ease", Util.EasingFunction.Ease.Linear, "Ease", "Set the easing of the action.")
+
+ },
+ },
+
new GameAction("look", "Look at Camera")
{
function = delegate { var e = eventCaller.currentEntity; SumoBrothers.instance.LookAtCamera(e.beat, e.length); },
@@ -143,6 +160,26 @@ namespace HeavenStudio.Games
// using Scripts_SumoBrothers;
public class SumoBrothers : Minigame
{
+ private static Color _defaultBgTopColor;
+ public static Color defaultBgTopColor
+ {
+ get
+ {
+ ColorUtility.TryParseHtmlString("#FFFF02", out _defaultBgTopColor);
+ return _defaultBgTopColor;
+ }
+ }
+
+ private static Color _defaultBgBtmColor;
+ public static Color defaultBgBtmColor
+ {
+ get
+ {
+ ColorUtility.TryParseHtmlString("#FFFF73", out _defaultBgBtmColor);
+ return _defaultBgBtmColor;
+ }
+ }
+
[Header("Animators")]
[SerializeField] Animator inuSensei;
[SerializeField] Animator sumoBrotherP;
@@ -155,6 +192,26 @@ namespace HeavenStudio.Games
[SerializeField] Animator bgMove;
[SerializeField] Animator bgStatic;
+ [Header("Background Colors")]
+ public Material backgroundMaterial;
+ public SpriteRenderer bgTop;
+ public SpriteRenderer bgBtm;
+
+ // copypasted my stolen code from clap trap lmao
+
+ // i stole these from rhythm tweezers lol
+ private double colorStartBeat = -1;
+ private float colorLength = 0f;
+ private Color colorTopStart; //obviously put to the default color of the game
+ private Color colorBtmStart;
+ private Color colorTopEnd;
+ private Color colorBtmEnd;
+ private Util.EasingFunction.Ease colorEase; //putting Util in case this game is using jukebox
+ Tween bgColorTween;
+
+ private SpriteRenderer backgroundTopColor;
+ private SpriteRenderer backgroundBtmColor;
+
[Header("Properties")]
/*static List queuedInputs = new List();
public struct queuedSumoInputs
@@ -278,7 +335,17 @@ namespace HeavenStudio.Games
var beat = Conductor.instance.songPositionInBeatsAsDouble;
-
+ backgroundMaterial.SetColor("_ColorAlpha", defaultBgTopColor);
+ backgroundMaterial.SetColor("_ColorDelta", defaultBgBtmColor);
+
+ bgTop.color = defaultBgTopColor;
+ bgBtm.color = defaultBgBtmColor;
+
+ colorTopStart = defaultBgTopColor;
+ colorTopEnd = defaultBgTopColor;
+
+ colorBtmStart = defaultBgBtmColor;
+ colorBtmEnd = defaultBgBtmColor;
}
void OnDestroy()
@@ -330,10 +397,13 @@ namespace HeavenStudio.Games
}
StompShake();
+ BackgroundColorUpdate();
}
public override void OnGameSwitch(double beat) // stole code from manzai
{
+ FindNextGameswitchBeat(beat);
+
foreach(var entity in GameManager.instance.Beatmap.Entities)
{
if(entity.beat > beat) //the list is sorted based on the beat of the entity, so this should work fine.
@@ -345,11 +415,9 @@ namespace HeavenStudio.Games
continue;
}
bool isOnGameSwitchBeat = entity.beat == beat;
- if(entity.datamodel == "sumoBrothers/stompSignal") {StompSignal(entity.beat, true, true, entity["look"], entity["StompDirection"]);}
+ if(entity.datamodel == "sumoBrothers/stompSignal") {StompSignal(entity.beat, true, true, entity["look"], entity["direction"]);}
if(entity.datamodel == "sumoBrothers/slapSignal") {SlapSignal(entity.beat, true, true);}
}
-
- FindNextGameswitchBeat(beat);
}
public override void OnPlay(double beat)
@@ -1067,7 +1135,43 @@ namespace HeavenStudio.Games
camera.position = new Vector3(newPosX, 0, 0);
//print("cX: " + cameraX + " cXN: " + cameraXNew + "nPX: " + newPosX + "sSL: " + stompShakeLength);
//print("cX: " + cameraX + " cXN: " + cameraXNew + " jSB: " + justStompBeat + " sST: " + stompShakeTimings + " sSV: " + stompShakeValues);
+ } else {
+ camera.position = new Vector3(0, 0, 0);
}
+ print(camera.position);
+ }
+
+ public void BackgroundColor(double beat, float length, Color startTop, Color endTop, Color startBtm, Color endBtm, int ease)
+ {
+ colorStartBeat = beat;
+ colorLength = length;
+ colorTopStart = startTop;
+ colorTopEnd = endTop;
+ colorBtmStart = startBtm;
+ colorBtmEnd = endBtm;
+ colorEase = (Util.EasingFunction.Ease)ease;
+ }
+
+ // more stolen code that i took from clap trap lmao
+
+ private void BackgroundColorUpdate() // stolen from tweezers too lol
+ {
+ float normalizedBeat = Mathf.Clamp01(Conductor.instance.GetPositionFromBeat(colorStartBeat, colorLength));
+
+ var func = Util.EasingFunction.GetEasingFunction(colorEase);
+
+ float newRT = func(colorTopStart.r, colorTopEnd.r, normalizedBeat);
+ float newGT = func(colorTopStart.g, colorTopEnd.g, normalizedBeat);
+ float newBT = func(colorTopStart.b, colorTopEnd.b, normalizedBeat);
+
+ float newRB = func(colorBtmStart.r, colorBtmEnd.r, normalizedBeat);
+ float newGB = func(colorBtmStart.g, colorBtmEnd.g, normalizedBeat);
+ float newBB = func(colorBtmStart.b, colorBtmEnd.b, normalizedBeat);
+
+ bgTop.color = new Color(newRT, newGT, newBT);
+ bgBtm.color = new Color(newRB, newGB, newBB);
+ backgroundMaterial.SetColor("_ColorAlpha", new Color(newRT, newGT, newBT));
+ backgroundMaterial.SetColor("_ColorDelta", new Color(newRB, newGB, newBB));
}