Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 74 additions & 0 deletions TextureMod/CustomSkin.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
#define CustomSkin
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using UnityEngine;

namespace TextureMod
{
#if CustomSkin
public class CustomSkin
{
public CustomSkin(int _index,Character _character, VariantType _variant, string _name, string _author, string _filePath)
{
index = _index;
FileLocation = _filePath;
SkinTexture = TextureHelper.LoadPNG(FileLocation);
Name = SkinTexture.name = _name;
Character = _character;
Variant = _variant;
Author = _author;
}

public int index { get; private set; }
public Character Character { get; private set; }
public VariantType Variant { get; private set; }
public Texture2D SkinTexture { get; private set; }
public List<Color> SkinColors { get; private set; }
public string Author { get; private set; }
public string Name { get; private set; }

private string FileLocation;

public Texture2D ReloadSkin()
{
Debug.Log($"Loading Texture at...\n {FileLocation}");
return SkinTexture = TextureHelper.LoadPNG(FileLocation);
}

public bool VariantMatch(CharacterVariant characterVariant)
{
switch (Variant)
{
case VariantType.Default:
return characterVariant < CharacterVariant.STATIC_ALT;
case VariantType.Alternative:
return characterVariant == CharacterVariant.MODEL_ALT || characterVariant == CharacterVariant.MODEL_ALT2;
case VariantType.DLC:
return characterVariant == CharacterVariant.MODEL_ALT3 || characterVariant == CharacterVariant.MODEL_ALT4;
default:
return false;
}
}

public string GetSkinLabel()
{
StringBuilder sBuilder = new StringBuilder(Name);
if (Author != "")
{
sBuilder.Append($" by {Author}");
}
return sBuilder.ToString();
}

public enum VariantType
{
None,
Default,
Alternative,
DLC,
}
}
#endif
}
3 changes: 2 additions & 1 deletion TextureMod/CustomStyle.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System.Collections.Generic;
using LLScreen;
using System.Collections.Generic;
using UnityEngine;

namespace TextureMod
Expand Down
124 changes: 63 additions & 61 deletions TextureMod/EffectChanger.cs
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
using System;
using System.Collections.Generic;
using GameplayEntities;
using System.Linq;
using UnityEngine;
using GameplayEntities;
using LLScreen;
using LLGUI;
using LLHandlers;


namespace TextureMod
Expand Down Expand Up @@ -43,6 +38,8 @@ public class EffectChanger : MonoBehaviour
byte parryThirdColorR = 0;
byte parryThirdColorG = 0;
byte parryThirdColorB = 0;

bool enableCustomParry;
#endregion


Expand Down Expand Up @@ -70,6 +67,8 @@ private void FixedUpdate()
if (MMI == null) MMI = TextureMod.Instance.MMI;
if (TextureMod.Instance.tc.InMenu())
{
enableCustomParry = MMI.GetTrueFalse(MMI.configBools["(bool)enableCustomParryAndClash"]);

parryFirstColorR = (byte)MMI.GetSliderValue("(slider)parryFirstColorR");
parryFirstColorG = (byte)MMI.GetSliderValue("(slider)parryFirstColorG");
parryFirstColorB = (byte)MMI.GetSliderValue("(slider)parryFirstColorB");
Expand All @@ -86,38 +85,19 @@ private void FixedUpdate()

private void Update()
{
MeshRenderer[] mrs = FindObjectsOfType<MeshRenderer>();
foreach (MeshRenderer mr in mrs)
{
if (mr.name == "parryVisual")
{
mr.material.mainTexture = parryActiveBG;
Material m1 = mr.material;
Material m2 = new Material(mr.material.shader);
Material m3 = new Material(mr.material.shader);
m2.mainTexture = parryActiveMG;
m3.mainTexture = parryActiveFG;
Material[] mArray = new Material[] { m1, m2, m3 };
mr.materials = mArray;
mr.materials[0].color = new Color32(parryFirstColorR, parryFirstColorG, parryFirstColorB, 255);
mr.materials[1].color = new Color32(parrySecondColorR, parrySecondColorG, parrySecondColorB, 255);
mr.materials[2].color = new Color32(parryThirdColorR, parryThirdColorG, parryThirdColorB, 255);
}
}

VisualEntity[] ves = FindObjectsOfType<VisualEntity>();
foreach(VisualEntity ve in ves)
if (enableCustomParry == true)
{
if (ve.name == "parryEnd")
MeshRenderer[] mrs = FindObjectsOfType<MeshRenderer>();
foreach (MeshRenderer mr in mrs)
{
foreach (Renderer mr in ve.GetComponentsInChildren<Renderer>())
if (mr.name == "parryVisual")
{
mr.material.mainTexture = parryEndBG;
mr.material.mainTexture = parryActiveBG;
Material m1 = mr.material;
Material m2 = new Material(mr.material.shader);
Material m3 = new Material(mr.material.shader);
m2.mainTexture = parryEndMG;
m3.mainTexture = parryEndFG;
m2.mainTexture = parryActiveMG;
m3.mainTexture = parryActiveFG;
Material[] mArray = new Material[] { m1, m2, m3 };
mr.materials = mArray;
mr.materials[0].color = new Color32(parryFirstColorR, parryFirstColorG, parryFirstColorB, 255);
Expand All @@ -126,37 +106,59 @@ private void Update()
}
}


if (ve.name == "parrySuccess")
VisualEntity[] ves = FindObjectsOfType<VisualEntity>();
foreach (VisualEntity ve in ves)
{
Renderer mr = ve.GetComponentsInChildren<Renderer>().First();
mr.material.mainTexture = parrySuccessBG;
Material m1 = mr.material;
Material m2 = new Material(mr.material.shader);
Material m3 = new Material(mr.material.shader);
m2.CopyPropertiesFromMaterial(m1);
m3.CopyPropertiesFromMaterial(m1);
m2.mainTexture = parrySuccessMG;
m3.mainTexture = parrySuccessFG;
Material[] mArray = new Material[] { m1, m2, m3 };
mr.materials = mArray;
mr.materials[0].color = new Color32(parryFirstColorR, parryFirstColorG, parryFirstColorB, 255);
mr.materials[1].color = new Color32(parrySecondColorR, parrySecondColorG, parrySecondColorB, 255);
mr.materials[2].color = new Color32(parryThirdColorR, parryThirdColorG, parryThirdColorB, 255);
}
if (ve.name == "parryEnd")
{
foreach (Renderer mr in ve.GetComponentsInChildren<Renderer>())
{
mr.material.mainTexture = parryEndBG;
Material m1 = mr.material;
Material m2 = new Material(mr.material.shader);
Material m3 = new Material(mr.material.shader);
m2.mainTexture = parryEndMG;
m3.mainTexture = parryEndFG;
Material[] mArray = new Material[] { m1, m2, m3 };
mr.materials = mArray;
mr.materials[0].color = new Color32(parryFirstColorR, parryFirstColorG, parryFirstColorB, 255);
mr.materials[1].color = new Color32(parrySecondColorR, parrySecondColorG, parrySecondColorB, 255);
mr.materials[2].color = new Color32(parryThirdColorR, parryThirdColorG, parryThirdColorB, 255);
}
}

if (ve.name == "clashEffect")
{
Renderer mr = ve.GetComponentsInChildren<Renderer>().First();
mr.material.mainTexture = clashBG;
Material m1 = mr.material;
Material m2 = new Material(mr.material.shader);
m2.CopyPropertiesFromMaterial(m1);
m2.mainTexture = clashFG;
Material[] mArray = new Material[] { m1, m2 };
mr.materials = mArray;
mr.materials[0].color = new Color32(parryFirstColorR, parryFirstColorG, parryFirstColorB, 255);
mr.materials[1].color = new Color32(parryThirdColorR, parryThirdColorG, parryThirdColorB, 255);

if (ve.name == "parrySuccess")
{
Renderer mr = ve.GetComponentsInChildren<Renderer>().First();
mr.material.mainTexture = parrySuccessBG;
Material m1 = mr.material;
Material m2 = new Material(mr.material.shader);
Material m3 = new Material(mr.material.shader);
m2.CopyPropertiesFromMaterial(m1);
m3.CopyPropertiesFromMaterial(m1);
m2.mainTexture = parrySuccessMG;
m3.mainTexture = parrySuccessFG;
Material[] mArray = new Material[] { m1, m2, m3 };
mr.materials = mArray;
mr.materials[0].color = new Color32(parryFirstColorR, parryFirstColorG, parryFirstColorB, 255);
mr.materials[1].color = new Color32(parrySecondColorR, parrySecondColorG, parrySecondColorB, 255);
mr.materials[2].color = new Color32(parryThirdColorR, parryThirdColorG, parryThirdColorB, 255);
}

if (ve.name == "clashEffect")
{
Renderer mr = ve.GetComponentsInChildren<Renderer>().First();
mr.material.mainTexture = clashBG;
Material m1 = mr.material;
Material m2 = new Material(mr.material.shader);
m2.CopyPropertiesFromMaterial(m1);
m2.mainTexture = clashFG;
Material[] mArray = new Material[] { m1, m2 };
mr.materials = mArray;
mr.materials[0].color = new Color32(parryFirstColorR, parryFirstColorG, parryFirstColorB, 255);
mr.materials[1].color = new Color32(parryThirdColorR, parryThirdColorG, parryThirdColorB, 255);
}
}
}
}
Expand Down
1 change: 0 additions & 1 deletion TextureMod/ModDebugging.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UnityEngine;

namespace TextureMod
Expand Down
1 change: 1 addition & 0 deletions TextureMod/ModMenuIntegration.cs
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ private void InitConfig()
AddToWriteQueue("(bool)showDebugInfo", "false");
AddToWriteQueue("(gap)3", "2");
AddToWriteQueue("(header)h4", "Parry Color:");
AddToWriteQueue("(bool)enableCustomParryAndClash", "true");
AddToWriteQueue("(slider)parryFirstColorR", "2|0|255");
AddToWriteQueue("(slider)parryFirstColorG", "205|0|255");
AddToWriteQueue("(slider)parryFirstColorB", "239|0|255");
Expand Down
Loading