HD textures and half of an SFX overhaul

HD textures speak for themselves, comedians and bubbles are beeg now. SFX are currently halfway through a rework and very broken :(
This commit is contained in:
ThePurpleAnon 2024-01-20 19:57:27 -06:00
parent ec19a46b40
commit 47a661d88b
8 changed files with 624 additions and 602 deletions

View file

@ -366,6 +366,10 @@ MonoBehaviour:
m_LigatureGlyphID: 8031 m_LigatureGlyphID: 8031
- m_ComponentGlyphIDs: 2c0000002c000000 - m_ComponentGlyphIDs: 2c0000002c000000
m_LigatureGlyphID: 7611 m_LigatureGlyphID: 7611
- m_ComponentGlyphIDs: 19000000100000001200000012000000
m_LigatureGlyphID: 9817
- m_ComponentGlyphIDs: 19000000100000001a000000
m_LigatureGlyphID: 9805
m_GlyphPairAdjustmentRecords: m_GlyphPairAdjustmentRecords:
- m_FirstAdjustmentRecord: - m_FirstAdjustmentRecord:
m_GlyphIndex: 79 m_GlyphIndex: 79

View file

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

View file

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 205 KiB

View file

@ -47,7 +47,7 @@ TextureImporter:
spriteMeshType: 1 spriteMeshType: 1
alignment: 0 alignment: 0
spritePivot: {x: 0.5, y: 0.5} spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100 spritePixelsToUnits: 800
spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1 spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1 alphaUsage: 1
@ -67,7 +67,7 @@ TextureImporter:
platformSettings: platformSettings:
- serializedVersion: 3 - serializedVersion: 3
buildTarget: DefaultTexturePlatform buildTarget: DefaultTexturePlatform
maxTextureSize: 2048 maxTextureSize: 4096
resizeAlgorithm: 0 resizeAlgorithm: 0
textureFormat: -1 textureFormat: -1
textureCompression: 1 textureCompression: 1
@ -108,18 +108,18 @@ TextureImporter:
name: Bubbles_0 name: Bubbles_0
rect: rect:
serializedVersion: 2 serializedVersion: 2
x: 16 x: 117
y: 289 y: 2301
width: 257 width: 2078
height: 206 height: 1670
alignment: 0 alignment: 0
pivot: {x: 0.5, y: 0.5} pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0} border: {x: 0, y: 0, z: 0, w: 0}
outline: [] outline: []
physicsShape: [] physicsShape: []
tessellationDetail: 0 tessellationDetail: -1
bones: [] bones: []
spriteID: fbc023b2ff48f6146a53377004b93853 spriteID: 2f328a7bffffffff0800000000000000
internalID: -1213717518 internalID: -1213717518
vertices: [] vertices: []
indices: indices:
@ -129,18 +129,18 @@ TextureImporter:
name: Bubbles_1 name: Bubbles_1
rect: rect:
serializedVersion: 2 serializedVersion: 2
x: 306 x: 2437
y: 238 y: 1893
width: 189 width: 1534
height: 216 height: 1750
alignment: 0 alignment: 0
pivot: {x: 0.5, y: 0.5} pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0} border: {x: 0, y: 0, z: 0, w: 0}
outline: [] outline: []
physicsShape: [] physicsShape: []
tessellationDetail: 0 tessellationDetail: -1
bones: [] bones: []
spriteID: 042246aabdf86f6409e03a9b966627c0 spriteID: a63e64abffffffff0800000000000000
internalID: -1169759382 internalID: -1169759382
vertices: [] vertices: []
indices: indices:
@ -150,18 +150,18 @@ TextureImporter:
name: Bubbles_17 name: Bubbles_17
rect: rect:
serializedVersion: 2 serializedVersion: 2
x: 214 x: 1701
y: 11 y: 77
width: 295 width: 2382
height: 49 height: 414
alignment: 0 alignment: 0
pivot: {x: 0.5, y: 0.5} pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0} border: {x: 0, y: 0, z: 0, w: 0}
outline: [] outline: []
physicsShape: [] physicsShape: []
tessellationDetail: 0 tessellationDetail: -1
bones: [] bones: []
spriteID: 8949c57335c9516469595966b98548cc spriteID: eb839009ffffffff0800000000000000
internalID: -1878443842 internalID: -1878443842
vertices: [] vertices: []
indices: indices:
@ -171,18 +171,18 @@ TextureImporter:
name: Bubbles_18 name: Bubbles_18
rect: rect:
serializedVersion: 2 serializedVersion: 2
x: 390 x: 3109
y: 83 y: 653
width: 110 width: 902
height: 50 height: 422
alignment: 0 alignment: 0
pivot: {x: 0.5, y: 0.5} pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0} border: {x: 0, y: 0, z: 0, w: 0}
outline: [] outline: []
physicsShape: [] physicsShape: []
tessellationDetail: 0 tessellationDetail: -1
bones: [] bones: []
spriteID: 4b0be578f96d65a4b8068f8ba3fa672d spriteID: ed6dfc97000000000800000000000000
internalID: 2043664094 internalID: 2043664094
vertices: [] vertices: []
indices: indices:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 KiB

After

Width:  |  Height:  |  Size: 748 KiB

File diff suppressed because it is too large Load diff

View file

@ -33,7 +33,7 @@ namespace HeavenStudio.Games.Loaders
{ {
preFunction = delegate { preFunction = delegate {
var e = eventCaller.currentEntity; var e = eventCaller.currentEntity;
Manzai.PunSFX(e.beat, e["pun"], e["pitch"]); }, Manzai.PunSFX(e.beat, e["pun"], e["pitch"], e["boing"]); },
function = delegate { function = delegate {
var e = eventCaller.currentEntity; var e = eventCaller.currentEntity;
@ -53,23 +53,24 @@ namespace HeavenStudio.Games.Loaders
new Param("pitch", true, "Pitch Voiceline", "Will the pun pitch with the tempo?"), new Param("pitch", true, "Pitch Voiceline", "Will the pun pitch with the tempo?"),
} }
}, },
new GameAction("customBoing", "Custom Boing") /* new GameAction("customBoing", "Custom Boing")
{ {
function = delegate { Manzai.instance.CustomBoing(eventCaller.currentEntity.beat); }, function = delegate { Manzai.instance.CustomBoing(eventCaller.currentEntity.beat); },
defaultLength = 0.5f, defaultLength = 0.5f,
}, }, */
new GameAction("slide", "Birds Slide") new GameAction("slide", "Birds Slide")
{ {
function = delegate { function = delegate {
var e = eventCaller.currentEntity; var e = eventCaller.currentEntity;
Manzai.instance.BirdsSlide(e.beat, e.length, e["goToSide"], e["ease"]); Manzai.instance.BirdsSlide(e.beat, e.length, e["goToSide"], e["ease"], e["animation"]);
}, },
defaultLength = 1f, defaultLength = 0.5f,
resizable = true, resizable = true,
parameters = new List<Param>() parameters = new List<Param>()
{ {
new Param("goToSide", Manzai.WhichSide.Inside, "Go to Which Side?", "Which side of the stage the birds will move to?"), new Param("goToSide", Manzai.WhichSide.Outside, "Go to Which Side?", "Which side of the stage the birds will move to?"),
new Param("ease", EasingFunction.Ease.Linear, "Ease", "Which ease should the movement have?"), new Param("ease", EasingFunction.Ease.EaseOutQuad, "Ease", "Which ease should the movement have?"),
new Param("animation", true, "Play Animation?", "Whether the birds will use the slide animation"),
}, },
}, },
}); });
@ -82,22 +83,21 @@ namespace HeavenStudio.Games
//using Scripts_DogNinja; //using Scripts_DogNinja;
public class Manzai : Minigame public class Manzai : Minigame
{ {
struct SfxDef /* struct SfxDef
{ {
public string sfx; public string sfx;
public double[] timings; public float boingLength;
public SfxDef (string sfx, double[] timings) public SfxDef (string sfx, float boingLength = 2.0f)
{ {
this.sfx = sfx; this.sfx = sfx;
this.timings = timings; this.boingLength = boingLength;
} }
} }
static readonly List<SfxDef> sfxDefs = new() static readonly List<SfxDef> sfxDefs = new()
{ {
new("futongaFuttonda", new double[] {}), new("futongaFuttonda", 0.75),
new("futongaFuttondaBoing", new double[] {}), }; */
};
[SerializeField] Animator VultureAnim; [SerializeField] Animator VultureAnim;
@ -132,42 +132,55 @@ namespace HeavenStudio.Games
public enum Puns public enum Puns
{ {
// AichiniAichinna, AichiniAichinna,
// AmmeteAmena, AmmeteAmena,
// ChainaniNichaina, ChainaniNichaina,
// DenwariDenwa, //short animation DenwariDenwa, //short animation
FutongaFuttonda, FutongaFuttonda,
// HiromegaHirameida, HiromegaHirameida,
// IkagariKatta, IkagariKatta,
// IkugawaIkura, //short animation (boing unused) IkugawaIkura, //short animation (boing unused)
// KaeruBurikaeru, KaeruBurikaeru,
// KarewaKare, KarewaKare,
// KouchagaKouchou, KouchagaKouchou,
// KusagaKusai, //short animation (boing unused) KusagaKusai, //short animation (boing unused)
// MegaminiwaMegane, MegaminiwaMegane,
MikangaMikannai, MikangaMikannai,
// NekogaNekoronda, NekogaNekoronda,
OkanewaOkkane, OkanewaOkkane,
// OkurezeKitteOkure, OkurezeKitteOkure,
// OmochinoKimochi, OmochinoKimochi,
// OmoinoHokaOmoi, OmoinoHokaOmoi,
// PuringaTappurin, PuringaTappurin,
// RakudawaRakugana, RakudawaRakugana,
// RoukadaKatarouka, RoukadaKatarouka,
// SaiyoMinasai, SaiyoMinasai,
// SakanaKanaMasakana, SakanaKanaMasakana,
// SarugaSaru, //short animation (boing unused) SarugaSaru, //short animation (boing unused)
// ShaiinniNanariNashain_Unused, //fully unused ShaiinniNanariNashain_Unused, //fully unused
// SuikawaYasuika, SuikawaYasuika,
// TaigaTabetaina, TaigaTabetaina,
// TaininiKittai, TaininiKittai,
// TaiyoGamiTaiyou, TaiyoGamiTaiyou,
// ToiletNiIttoire, ToiletNiIttoire,
// TonakaiyoOtonokoi, TonakaiyoOtonokoi,
// TorinikugaTorininkui, TorinikugaTorininkui,
// UmetteUmena, UmetteUmena,
} }
static readonly Dictionary<string, int> boingLengths = new() {
{ "IkaggariKatta", 3 },
{ "KusagaKusai", 3 },
{ "MegaminiwaMegane", 5 },
{ "OmoinoHokaOmoi", 6 },
{ "SakanaKanaMasakana", 5 },
{ "SarugaSaru", 3 },
{ "ShaiinniNanariNashain_Unused", 5 },
{ "TaiyoGamiTaiyou", 5 },
{ "TonakaiyoOtonokoi", 5 },
{ "TorinikugaTorininkui", 5 },
};
public enum WhichSide public enum WhichSide
{ {
Inside, Inside,
@ -230,23 +243,23 @@ namespace HeavenStudio.Games
//Debug.Log(punOrBoing); //Debug.Log(punOrBoing);
} }
public static void PunSFX(double beat, int whichPun, bool isPitched) public static void PunSFX(double beat, int whichPun, bool isPitched, int isBoing)
{ {
var punName= Enum.GetName(typeof(Puns), whichPun); var punName= Enum.GetName(typeof(Puns), whichPun);
float pitch = isPitched ? Conductor.instance.songBpm/98 : 1; float pitch = isPitched ? Conductor.instance.songBpm/98 : 1;
var sounds = new List<MultiSound.Sound>();
int boing = isBoing;
MultiSound.Play(new MultiSound.Sound[] { Debug.Log(boingLengths[punName]);
new MultiSound.Sound($"manzai/{punName}1", beat + 0.00f, pitch, offset: 0.05),
new MultiSound.Sound($"manzai/{punName}2", beat + 0.25f, pitch), for (int i = 0; i < (boing == 1 ? 9 : (boingLengths[punName])); i++) {
new MultiSound.Sound($"manzai/{punName}3", beat + 0.50f, pitch), sounds.Add(new MultiSound.Sound($"manzai/{punName}{i + 1}", beat + (i * 0.25), pitch, offset: i == 0 ? 0.05 : 0));
new MultiSound.Sound($"manzai/{punName}4", beat + 0.75f, pitch), Debug.Log(punName + i);
new MultiSound.Sound($"manzai/{punName}5", beat + 1.00f, pitch), }
new MultiSound.Sound($"manzai/{punName}6", beat + 1.25f, pitch),
new MultiSound.Sound($"manzai/{punName}7", beat + 1.50f, pitch), sounds.Add(new MultiSound.Sound("manzai/boing", boingLengths[punName] == 6 ? beat + 1.50 : beat + 1.25 , pitch));
new MultiSound.Sound($"manzai/{punName}8", beat + 1.75f, pitch),
new MultiSound.Sound($"manzai/{punName}9", beat + 2.00f, pitch), MultiSound.Play(sounds.ToArray(), forcePlay: true);
}, forcePlay: true);
} }
public void DoPunHai(double beat) public void DoPunHai(double beat)
@ -342,8 +355,13 @@ namespace HeavenStudio.Games
} }
public void BirdsSlide(double beat, double length, int goToSide, int ease) public void BirdsSlide(double beat, double length, int goToSide, int ease, bool animation)
{ {
if (animation)
{
RavenAnim.DoScaledAnimationAsync("Move", 0.5f);
VultureAnim.DoScaledAnimationAsync("Move", 0.5f);
}
movingStartBeat = beat; movingStartBeat = beat;
movingLength = length; movingLength = length;
moveAnim = (goToSide == 0 ? "SlideIn" : "SlideOut"); moveAnim = (goToSide == 0 ? "SlideIn" : "SlideOut");