undid the screen tiling junk i left over

This commit is contained in:
Firerise9402 2023-12-05 11:36:27 -05:00
parent be4c3233f3
commit eb5fd497b7
2 changed files with 0 additions and 209 deletions

View file

@ -840,40 +840,6 @@ namespace HeavenStudio
new Param("valB", new EntityTypes.Float(0, 10, 1), "Vertical Intensity")
}
),
/* kinda broken idk if its useful but its here
new GameAction("scale letterbox", "Scale Letterbox", 1f, true, new List<Param>()
{
new Param("valA", new EntityTypes.Integer(0, 200, 100), "Scale Letterbox X"),
new Param("valB", new EntityTypes.Integer(0, 200, 100), "Scale Letterbox Y"),
new Param("ease", Util.EasingFunction.Ease.Linear, "Ease Type"),
new Param("axis", StaticCamera.ViewAxis.All, "Axis", "The axis to scale the letterbox in")
}
),*/
new GameAction("fit to screen", "Fit Game To Screen", 0.5f, false, new List<Param>()
{
new Param("toggle", false, "Toggle", "Toggle the game fitting to the screen.")
},
delegate
{
StaticCamera.instance.UpdateFitToScreen(eventCaller.currentEntity["toggle"]);
}
),
new GameAction("tile screen", "Tile Screen", 1f, true, new List<Param>()
{
new Param("valA", new EntityTypes.Float(1, 50, 1), "Tile Screen X"),
new Param("valB", new EntityTypes.Float(1, 50, 1), "Tile Screen Y"),
new Param("ease", Util.EasingFunction.Ease.Linear, "Ease Type"),
new Param("axis", StaticCamera.ViewAxis.All, "Axis", "The axis to tile the screen in")
}
),
new GameAction("pan tiles", "Pan Tiles", 1f, true, new List<Param>()
{
new Param("valA", new EntityTypes.Float(-50, 50, 0), "Pan Tiles X"),
new Param("valB", new EntityTypes.Float(-50, 50, 0), "Pan Tiles Y"),
new Param("ease", Util.EasingFunction.Ease.Linear, "Ease Type"),
new Param("axis", StaticCamera.ViewAxis.All, "Axis", "The axis to pan the tiles in")
}
),
new GameAction("pan window", "Move Window", 1f, true, new List<Param>()
{
new Param("valA", new EntityTypes.Float(-100, 200, 0), "Window X", "The Window's destination X coordinate. Can go off screen. Measured in percent from bottom left of screen."),

View file

@ -41,28 +41,14 @@ namespace HeavenStudio
private List<RiqEntity> panEvents = new();
private List<RiqEntity> scaleEvents = new();
private List<RiqEntity> rotationEvents = new();
private List<RiqEntity> letterboxEvents = new();
private List<RiqEntity> panTileEvents = new();
private List<RiqEntity> tileScreenEvents = new();
private List<RiqEntity> fitToScreenEvents = new();
static Vector3 defaultPan = new Vector3(0, 0, 0);
static Vector3 defaultScale = new Vector3(1, 1, 1);
static float defaultRotation = 0;
static Vector3 defaultLetterbox = new Vector3(1, 1, 1);
static Vector3 defaultTilePan = new Vector3(0, 0, 0);
static Vector3 defaultScreenTile = new Vector3(1, 1, 1);
static bool defaultFitToScreen = false;
private static Vector3 pan;
private static Vector3 scale;
private static float rotation;
private static Vector3 letterbox;
private static Vector3 panInv;
private static Vector3 scaleInv;
private static Vector3 tilePan;
private static Vector3 screenTile;
private static bool fitToScreen;
private static Vector3 panLast;
private static Vector3 scaleLast;
@ -85,12 +71,8 @@ namespace HeavenStudio
Reset();
panLast = defaultPan;
letterboxLast = defaultLetterbox;
scaleLast = defaultScale;
rotationLast = defaultRotation;
tilePanLast = defaultTilePan;
screenTileLast = defaultScreenTile;
fitToScreen = defaultFitToScreen;
ToggleLetterboxBg(PersistentDataManager.gameSettings.letterboxBgEnable);
ToggleLetterboxGlow(PersistentDataManager.gameSettings.letterboxFxEnable);
@ -103,51 +85,26 @@ namespace HeavenStudio
panEvents = EventCaller.GetAllInGameManagerList("vfx", new string[] { "pan view" });
scaleEvents = EventCaller.GetAllInGameManagerList("vfx", new string[] { "scale view" });
rotationEvents = EventCaller.GetAllInGameManagerList("vfx", new string[] { "rotate view" });
letterboxEvents = EventCaller.GetAllInGameManagerList("vfx", new string[] { "scale letterbox" });
fitToScreenEvents = EventCaller.GetAllInGameManagerList("vfx", new string[] { "fit to screen" });
panTileEvents = EventCaller.GetAllInGameManagerList("vfx", new string[] { "pan tiles"});
tileScreenEvents = EventCaller.GetAllInGameManagerList("vfx", new string[] { "tile screen" });
panLast = defaultPan;
letterboxLast = defaultLetterbox;
scaleLast = defaultScale;
rotationLast = defaultRotation;
tilePanLast = defaultTilePan;
screenTileLast = defaultScreenTile;
fitToScreen = defaultFitToScreen;
UpdatePan();
UpdateRotation();
UpdateScale();
UpdateLetterbox();
UpdateTilePan();
UpdateScreenTile();
}
// Update is called once per frame
void Update()
{
UpdateLetterbox();
UpdatePan();
UpdateRotation();
UpdateScale();
UpdateTilePan();
UpdateScreenTile();
canvas.localPosition = pan;
canvas.eulerAngles = new Vector3(0, 0, rotation);
if(fitToScreen)
{
letterboxMask.localScale = new Vector3(parentView.sizeDelta.x/16, parentView.sizeDelta.y/9, 1);
overlayCanvas.localScale = new Vector3(parentView.sizeDelta.x/16, parentView.sizeDelta.y/9, 1);
}
else
{
letterboxMask.localScale = new Vector3(1, 1, 1);
overlayCanvas.localScale = new Vector3(1, 1, 1);
}
canvas.localScale = scale;
viewportTexture.uvRect = new Rect(tilePan.x, tilePan.y, screenTile.x, screenTile.y);
}
private void UpdatePan()
@ -249,143 +206,11 @@ namespace HeavenStudio
}
}
private void UpdateLetterbox()
{
foreach (var e in letterboxEvents)
{
float prog = Conductor.instance.GetPositionFromBeat(e.beat, e.length);
if (prog >= 0f)
{
Util.EasingFunction.Function func = Util.EasingFunction.GetEasingFunction((Util.EasingFunction.Ease) e["ease"]);
switch (e["axis"])
{
case (int) ViewAxis.X:
letterbox.x = func(letterboxLast.x, e["valA"] * .01f * parentView.localScale.x, Mathf.Min(prog, 1f)) * AspectRatioWidth;
break;
case (int) ViewAxis.Y:
letterbox.y = func(letterboxLast.y, e["valB"] * .01f * parentView.localScale.y, Mathf.Min(prog, 1f)) * AspectRatioHeight;
break;
default:
float dx = func(letterboxLast.x, e["valA"] * .01f * parentView.localScale.x, Mathf.Min(prog, 1f)) * AspectRatioWidth;
float dy = func(letterboxLast.y, e["valB"] * .01f * parentView.localScale.y, Mathf.Min(prog, 1f)) * AspectRatioHeight;
letterbox = new Vector3(dx, dy, 1);
break;
}
}
if (prog > 1f)
{
switch (e["axis"])
{
case (int) ViewAxis.X:
letterboxLast.x = e["valA"] * .01f * parentView.localScale.x * AspectRatioWidth;
break;
case (int) ViewAxis.Y:
letterboxLast.y = e["valB"] * .01f * parentView.localScale.y * AspectRatioHeight;
break;
default:
letterboxLast = new Vector3(e["valA"] * .01f * parentView.localScale.x * AspectRatioWidth, e["valB"] * .01f * canvas.localScale.y * AspectRatioHeight, 1);
break;
}
}
}
}
private void UpdateTilePan()
{
foreach (var e in panTileEvents)
{
float prog = Conductor.instance.GetPositionFromBeat(e.beat, e.length);
if (prog >= 0f)
{
Util.EasingFunction.Function func = Util.EasingFunction.GetEasingFunction((Util.EasingFunction.Ease) e["ease"]);
switch (e["axis"])
{
case (int) ViewAxis.X:
tilePan.x = func(tilePanLast.x, e["valA"], Mathf.Min(prog, 1f));
break;
case (int) ViewAxis.Y:
tilePan.y = func(tilePan.y, e["valB"], Mathf.Min(prog, 1f));
break;
default:
float dx = func(tilePanLast.x, e["valA"], Mathf.Min(prog, 1f));
float dy = func(tilePanLast.y, e["valB"], Mathf.Min(prog, 1f));
tilePan = new Vector3(dx, dy, 0);
break;
}
}
if (prog > 1f)
{
switch (e["axis"])
{
case (int) ViewAxis.X:
tilePanLast.x = e["valA"];
break;
case (int) ViewAxis.Y:
tilePanLast.y = e["valB"];
break;
default:
tilePanLast = new Vector3(e["valA"], e["valB"], 0);
break;
}
}
}
}
private void UpdateScreenTile()
{
foreach (var e in tileScreenEvents)
{
float prog = Conductor.instance.GetPositionFromBeat(e.beat, e.length);
if (prog >= 0f)
{
Util.EasingFunction.Function func = Util.EasingFunction.GetEasingFunction((Util.EasingFunction.Ease) e["ease"]);
switch (e["axis"])
{
case (int) ViewAxis.X:
screenTile.x = func(screenTileLast.x, e["valA"] * canvas.localScale.x, Mathf.Min(prog, 1f)) * AspectRatioWidth;
break;
case (int) ViewAxis.Y:
screenTile.y = func(screenTileLast.y, e["valB"] * canvas.localScale.y, Mathf.Min(prog, 1f)) * AspectRatioHeight;
break;
default:
float dx = func(screenTileLast.x, e["valA"] * canvas.localScale.x, Mathf.Min(prog, 1f)) * AspectRatioWidth;
float dy = func(screenTileLast.y, e["valB"] * canvas.localScale.y, Mathf.Min(prog, 1f)) * AspectRatioHeight;
screenTile = new Vector3(dx, dy, 1);
break;
}
}
if (prog > 1f)
{
switch (e["axis"])
{
case (int) ViewAxis.X:
screenTileLast.x = e["valA"] * canvas.localScale.x * AspectRatioWidth;
break;
case (int) ViewAxis.Y:
screenTileLast.y = e["valB"] * canvas.localScale.y * AspectRatioHeight;
break;
default:
screenTileLast = new Vector3(e["valA"] * canvas.localScale.x * AspectRatioWidth, e["valB"] * canvas.localScale.y * AspectRatioHeight, 1);
break;
}
}
}
}
public void UpdateFitToScreen(bool toggle)
{
fitToScreen = toggle;
}
public static void Reset()
{
pan = defaultPan;
scale = defaultScale;
rotation = defaultRotation;
letterbox = defaultLetterbox;
tilePan = defaultTilePan;
screenTile = defaultScreenTile;
fitToScreen = defaultFitToScreen;
}
public void ToggleOverlayView(bool toggle)