using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using CharredGym;
using MelonLoader;
using UnhollowerBaseLib;
using UnityEngine;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: MelonInfo(typeof(main), "CharredGym", "1.0.0", "UlvakSkillz", null)]
[assembly: MelonGame("Buckethead Entertainment", "RUMBLE")]
[assembly: AssemblyTitle("CharredGym")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("CharredGym")]
[assembly: AssemblyCopyright("Copyright © 2024")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("26416457-dd59-49f0-b7b3-074b6fef37a5")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace CharredGym;
public class main : MelonMod
{
private bool sceneChanged = false;
private string currentScene = "";
public override void OnSceneWasLoaded(int buildIndex, string sceneName)
{
currentScene = sceneName;
sceneChanged = true;
}
public override void OnFixedUpdate()
{
//IL_005e: Unknown result type (might be due to invalid IL or missing references)
//IL_0068: Expected O, but got Unknown
//IL_0307: Unknown result type (might be due to invalid IL or missing references)
//IL_0311: Expected O, but got Unknown
//IL_03b1: Unknown result type (might be due to invalid IL or missing references)
//IL_03bb: Expected O, but got Unknown
//IL_0473: Unknown result type (might be due to invalid IL or missing references)
//IL_047d: Expected O, but got Unknown
//IL_0813: Unknown result type (might be due to invalid IL or missing references)
//IL_088b: Unknown result type (might be due to invalid IL or missing references)
if (!sceneChanged)
{
return;
}
try
{
if (currentScene == "Gym")
{
Material material = ((Renderer)GameObject.Find("--------------SCENE--------------/Gym_Production/Sub static group(buildings)/Rumble_station/Root").GetComponent<MeshRenderer>()).material;
MeshRenderer component = GameObject.Find("--------------SCENE--------------/Gym_Production/Sub static group(buildings)/Rumble_station/Figh_res_floor").GetComponent<MeshRenderer>();
((Renderer)component).material.shader = new Shader(((Il2CppObjectBase)material.shader).Pointer);
MeshRenderer component2 = GameObject.Find("--------------SCENE--------------/Gym_Production/Sub static group(buildings)/Rumble_station/Industrial_1").GetComponent<MeshRenderer>();
ReskinMeshRenderer(component2, material);
MeshRenderer component3 = GameObject.Find("--------------SCENE--------------/Gym_Production/Main static group/Gymarena/Arena_metal_rim").GetComponent<MeshRenderer>();
((Renderer)component3).material = ((Renderer)component).material;
MeshRenderer component4 = GameObject.Find("--------------SCENE--------------/Gym_Production/Sub static group(buildings)/Rumble_station/Storage__1_").GetComponent<MeshRenderer>();
ReskinMeshRendererMaterials2(component4, ((Renderer)component).material);
ReskinMeshRendererMaterials0and1(component4, material);
MeshRenderer component5 = GameObject.Find("--------------SCENE--------------/Dynemic/Crate (8)").GetComponent<MeshRenderer>();
ReskinMeshRendererMaterials1(component5, ((Renderer)component).material);
MeshRenderer component6 = GameObject.Find("--------------SCENE--------------/Gym_Production/Sub static group(buildings)/Rumble_station/Rank_signs/RankSign__6_").GetComponent<MeshRenderer>();
ReskinMeshRenderer(component6, material);
MeshRenderer component7 = GameObject.Find("--------------SCENE--------------/Gym_Production/Sub static group(buildings)/Rumble_station/Measure_area__2_").GetComponent<MeshRenderer>();
ReskinMeshRenderer(component7, material);
MeshRenderer component8 = GameObject.Find("--------------SCENE--------------/Gym_Production/Sub static group(buildings)/Rumble_station/Wood/Bench/Woodset_large__1__1").GetComponent<MeshRenderer>();
((Renderer)component8).material = ((Renderer)component).material;
MeshRenderer component9 = GameObject.Find("--------------LOGIC--------------/Heinhouser products/Parkboard/Model").GetComponent<MeshRenderer>();
ReskinMeshRendererMaterials0(component9, ((Renderer)component).material);
MeshRenderer component10 = GameObject.Find("--------------LOGIC--------------/Heinhouser products/Parkboard/RotatingScreen").GetComponent<MeshRenderer>();
ReskinMeshRenderer(component10, ((Renderer)component).material);
GameObject val = GameObject.Find("--------------LOGIC--------------/Heinhouser products/Parkboard/Primary Display/Frame");
for (int i = 0; i < 4; i++)
{
((Renderer)((Component)val.transform.GetChild(i)).GetComponent<MeshRenderer>()).material = ((Renderer)component).material;
}
MeshRenderer component11 = GameObject.Find("--------------LOGIC--------------/Heinhouser products/Parkboard/Primary Display/ParkPlate/Woodset_small").GetComponent<MeshRenderer>();
((Renderer)component11).material = ((Renderer)component).material;
GameObject val2 = GameObject.Find("--------------LOGIC--------------/Heinhouser products/Leaderboard/Frame");
((Renderer)((Component)val2.transform.GetChild(0)).GetComponent<MeshRenderer>()).material = ((Renderer)component).material;
((Renderer)((Component)val2.transform.GetChild(2)).GetComponent<MeshRenderer>()).material = ((Renderer)component).material;
((Renderer)((Component)val2.transform.GetChild(3)).GetComponent<MeshRenderer>()).material = ((Renderer)component).material;
((Renderer)((Component)val2.transform.GetChild(4)).GetComponent<MeshRenderer>()).material = ((Renderer)component).material;
((Renderer)((Component)val2.transform.GetChild(5)).GetComponent<MeshRenderer>()).material = ((Renderer)component).material;
((Renderer)((Component)val2.transform.GetChild(11)).GetComponent<MeshRenderer>()).material = ((Renderer)component).material;
((Renderer)((Component)val2.transform.GetChild(12)).GetComponent<MeshRenderer>()).material = material;
MeshRenderer component12 = GameObject.Find("--------------SCENE--------------/Gym_Production/Sub static group(buildings)/Rumble_station/Wood/Woodset_large__1_").GetComponent<MeshRenderer>();
((Renderer)component12).material = ((Renderer)component).material;
MeshRenderer component13 = GameObject.Find("--------------SCENE--------------/Gym_Production/Main static group/Spawn_area/Path_to_school").GetComponent<MeshRenderer>();
((Il2CppArrayBase<Material>)(object)((Renderer)component13).materials)[1].shader = new Shader(((Il2CppObjectBase)material.shader).Pointer);
MeshRenderer component14 = GameObject.Find("--------------SCENE--------------/Gym_Production/Main static group/Spawn_area/Path_to_school").GetComponent<MeshRenderer>();
ReskinMeshRendererMaterials0and2(component14, material);
GameObject val3 = GameObject.Find("--------------SCENE--------------/Dynemic/Signs");
for (int j = 0; j < val3.transform.childCount; j++)
{
ReskinSignMeshRenderer(((Component)val3.transform.GetChild(j).GetChild(3)).gameObject.GetComponent<MeshRenderer>(), ((Renderer)component).material, material);
}
MeshRenderer component15 = GameObject.Find("--------------SCENE--------------/Gym_Production/Sub static group(buildings)/School/Woodset_plank").GetComponent<MeshRenderer>();
((Il2CppArrayBase<Material>)(object)((Renderer)component15).materials)[0].shader = new Shader(((Il2CppObjectBase)material.shader).Pointer);
MeshRenderer component16 = GameObject.Find("--------------SCENE--------------/Gym_Production/Sub static group(buildings)/School/Industrial").GetComponent<MeshRenderer>();
ReskinMeshRenderer(component16, material);
MeshRenderer component17 = GameObject.Find("--------------SCENE--------------/Gym_Production/Sub static group(buildings)/School/Roof").GetComponent<MeshRenderer>();
((Renderer)component17).material = ((Renderer)component).material;
GameObject val4 = GameObject.Find("--------------SCENE--------------/Gym_Production/Sub static group(buildings)/Rumble_station/Planks");
for (int k = 0; k < val4.transform.childCount; k++)
{
ReskinMeshRenderer(((Component)val4.transform.GetChild(k)).gameObject.GetComponent<MeshRenderer>(), ((Renderer)component).material);
}
MeshRenderer component18 = GameObject.Find("--------------SCENE--------------/Gym_Production/Main static group/Bridge/Bridge_mesh").GetComponent<MeshRenderer>();
((Il2CppArrayBase<Material>)(object)((Renderer)component18).materials)[0].shader = new Shader(((Il2CppObjectBase)material.shader).Pointer);
ReskinMeshRendererMaterials1(component18, material);
MeshRenderer component19 = GameObject.Find("--------------SCENE--------------/Gym_Production/Main static group/Gymarena/Arena_metal_rim").GetComponent<MeshRenderer>();
((Renderer)component19).material = material;
MeshRenderer component20 = GameObject.Find("--------------SCENE--------------/Gym_Production/Main static group/Gymarena/Stair_1").GetComponent<MeshRenderer>();
ReskinMeshRenderer(component20, material);
GameObject val5 = GameObject.Find("------------TUTORIAL------------/World tutorials/Combat Carvings");
for (int l = 0; l < val5.transform.childCount; l++)
{
ReskinPodiumMeshRenderer(((Component)val5.transform.GetChild(l).GetChild(0)).gameObject.GetComponent<MeshRenderer>(), ((Renderer)component).material, material);
}
MeshRenderer component21 = GameObject.Find("--------------SCENE--------------/Gym_Production/Sub static group(buildings)/Howard_s_place/Howard_track_stop").GetComponent<MeshRenderer>();
ReskinMeshRenderer(component21, material);
MeshRenderer component22 = GameObject.Find("--------------SCENE--------------/Gym_Production/Sub static group(buildings)/Howard_s_place/Station_floor").GetComponent<MeshRenderer>();
ReskinMeshRendererMaterials2(component22, ((Renderer)component).material);
ReskinMeshRendererMaterials0and1(component22, material);
MeshRenderer component23 = GameObject.Find("--------------SCENE--------------/Gym_Production/Sub static group(buildings)/Howard_s_place/Station_side_plint").GetComponent<MeshRenderer>();
ReskinMeshRenderer(component23, material);
MeshRenderer component24 = GameObject.Find("--------------SCENE--------------/Gym_Production/Sub static group(buildings)/Howard_s_place/Station_side_plint_001").GetComponent<MeshRenderer>();
ReskinMeshRendererMaterials1(component24, ((Renderer)component).material);
ReskinMeshRendererMaterials0(component24, material);
MeshRenderer component25 = GameObject.Find("--------------SCENE--------------/Gym_Production/Sub static group(buildings)/Howard_s_place/Station_studs").GetComponent<MeshRenderer>();
ReskinMeshRenderer(component25, material);
MeshRenderer component26 = GameObject.Find("--------------SCENE--------------/Gym_Production/Sub static group(buildings)/Howard_s_place/Station_wall").GetComponent<MeshRenderer>();
ReskinMeshRendererMaterials0(component26, ((Renderer)component).material);
ReskinMeshRendererMaterials1(component26, material);
MeshRenderer component27 = GameObject.Find("--------------SCENE--------------/Gym_Production/Sub static group(buildings)/Howard_s_place/Studs_and_strength").GetComponent<MeshRenderer>();
ReskinMeshRenderer(component27, material);
MeshRenderer component28 = GameObject.Find("--------------SCENE--------------/Gym_Production/Sub static group(buildings)/Howard_s_place/Track").GetComponent<MeshRenderer>();
ReskinMeshRendererMaterials1and2(component28, material);
MeshRenderer component29 = GameObject.Find("--------------SCENE--------------/Gym_Production/Sub static group(buildings)/Howard_s_place/Track_Pillars").GetComponent<MeshRenderer>();
ReskinMeshRenderer(component29, material);
MeshRenderer component30 = GameObject.Find("--------------SCENE--------------/Gym_Production/Sub static group(buildings)/Howard_s_place/Track_plint").GetComponent<MeshRenderer>();
ReskinMeshRenderer(component30, material);
MeshRenderer component31 = GameObject.Find("--------------SCENE--------------/Gym_Production/Sub static group(buildings)/Howard_s_place/Track_roof").GetComponent<MeshRenderer>();
ReskinMeshRendererMaterials0(component31, ((Renderer)component).material);
ReskinMeshRendererMaterials1(component31, material);
MeshRenderer component32 = GameObject.Find("--------------SCENE--------------/Gym_Production/Sub static group(buildings)/Howard_s_place/Track_wall").GetComponent<MeshRenderer>();
ReskinMeshRendererMaterials0(component32, ((Renderer)component).material);
ReskinMeshRendererMaterials1(component32, material);
GameObject val6 = GameObject.Find("--------------SCENE--------------/Gym_Production/Main static group/Woodset_1");
for (int m = 0; m < val6.transform.childCount; m++)
{
ReskinMeshRenderer(((Component)val6.transform.GetChild(m)).gameObject.GetComponent<MeshRenderer>(), ((Renderer)component).material);
}
GameObject val7 = GameObject.Find("--------------SCENE--------------/Gym_Production/Main static group/Woodstuff/Woodset_2");
for (int n = 0; n < val7.transform.childCount; n++)
{
ReskinMeshRenderer(((Component)val7.transform.GetChild(n)).gameObject.GetComponent<MeshRenderer>(), ((Renderer)component).material);
}
MeshRenderer component33 = GameObject.Find("--------------LOGIC--------------/Heinhouser products/Howard root/Props/Storage").GetComponent<MeshRenderer>();
ReskinMeshRenderer(component33, material);
GameObject val8 = GameObject.Find("--------------LOGIC--------------/Heinhouser products/Howard root/Props");
for (int num = 0; num < 5; num++)
{
ReskinMeshRendererMaterials1(((Component)val8.transform.GetChild(num + 1)).GetComponent<MeshRenderer>(), ((Renderer)component).material);
}
MeshRenderer component34 = GameObject.Find("--------------LOGIC--------------/Toys/Thetherball").GetComponent<MeshRenderer>();
ReskinMeshRenderer(component34, material);
ReskinMeshRendererMaterials2(component34, ((Renderer)component).material);
MeshRenderer component35 = GameObject.Find("--------------LOGIC--------------/Toys/Thetherball/Ball/Ballcage").GetComponent<MeshRenderer>();
((Renderer)GameObject.Find("--------------LOGIC--------------/Toys/Thetherball/Ball/Ballcage").GetComponent<MeshRenderer>()).material.color = new Color(0.5f, 0.25f, 0.3f, 1f);
ReskinMeshRendererMaterials1and2(component35, material);
MeshRenderer component36 = GameObject.Find("--------------LOGIC--------------/Toys/Thetherball (1)").GetComponent<MeshRenderer>();
ReskinMeshRenderer(component36, material);
ReskinMeshRendererMaterials2(component36, ((Renderer)component).material);
MeshRenderer component37 = GameObject.Find("--------------LOGIC--------------/Toys/Thetherball (1)/Ball/Ballcage").GetComponent<MeshRenderer>();
((Renderer)GameObject.Find("--------------LOGIC--------------/Toys/Thetherball (1)/Ball/Ballcage").GetComponent<MeshRenderer>()).material.color = new Color(0.5f, 0.25f, 0.3f, 1f);
ReskinMeshRendererMaterials1and2(component37, material);
MeshRenderer component38 = GameObject.Find("--------------LOGIC--------------/Heinhouser products/MoveLearning/MoveLearnSelector/PoseDisplaySelector/DucktapeModel/IndustrialSet_straight_HalfLength_Dubblewith").GetComponent<MeshRenderer>();
ReskinMeshRenderer(component38, material);
ReskinMeshRendererWithChildren(((Component)((Component)component38).gameObject.transform.parent.GetChild(1)).GetComponent<MeshRenderer>(), material);
ReskinMeshRendererWithChildren(((Component)((Component)component38).gameObject.transform.parent.GetChild(2)).GetComponent<MeshRenderer>(), material);
MeshRenderer component39 = GameObject.Find("--------------LOGIC--------------/Heinhouser products/MoveLearning/MoveLearnSelector/Page Selector/DucktapeModel/IndustrialSet_straight_HalfLength_Dubblewith").GetComponent<MeshRenderer>();
ReskinMeshRenderer(component39, material);
ReskinMeshRendererWithChildren(((Component)((Component)component39).gameObject.transform.parent.GetChild(1)).GetComponent<MeshRenderer>(), material);
ReskinMeshRendererWithChildren(((Component)((Component)component39).gameObject.transform.parent.GetChild(2)).GetComponent<MeshRenderer>(), material);
}
}
catch
{
return;
}
sceneChanged = false;
}
private void ReskinMeshRendererWithChildren(MeshRenderer meshRendererToBeReskinned, Material mat)
{
ReskinMeshRenderer(meshRendererToBeReskinned, mat);
for (int i = 0; i < ((Component)meshRendererToBeReskinned).transform.childCount; i++)
{
ReskinMeshRenderer(((Component)((Component)meshRendererToBeReskinned).transform.GetChild(i)).GetComponent<MeshRenderer>(), mat);
}
}
private void ReskinPodiumMeshRenderer(MeshRenderer meshRendererToBeReskinned, Material woodMaterial, Material metalMaterial)
{
((Renderer)meshRendererToBeReskinned).materials = Il2CppReferenceArray<Material>.op_Implicit((Material[])(object)new Material[5]
{
((Il2CppArrayBase<Material>)(object)((Renderer)meshRendererToBeReskinned).materials)[0],
woodMaterial,
metalMaterial,
metalMaterial,
metalMaterial
});
}
private void ReskinSignMeshRenderer(MeshRenderer meshRendererToBeReskinned, Material woodMaterial, Material metalMaterial)
{
((Renderer)meshRendererToBeReskinned).materials = Il2CppReferenceArray<Material>.op_Implicit((Material[])(object)new Material[6]
{
metalMaterial,
metalMaterial,
((Il2CppArrayBase<Material>)(object)((Renderer)meshRendererToBeReskinned).materials)[2],
((Il2CppArrayBase<Material>)(object)((Renderer)meshRendererToBeReskinned).materials)[3],
woodMaterial,
((Il2CppArrayBase<Material>)(object)((Renderer)meshRendererToBeReskinned).materials)[5]
});
}
private void ReskinMeshRenderer(MeshRenderer meshRendererToBeReskinned, Material mat)
{
Material[] array = (Material[])(object)new Material[((Il2CppArrayBase<Material>)(object)((Renderer)meshRendererToBeReskinned).materials).Length];
for (int i = 0; i < ((Il2CppArrayBase<Material>)(object)((Renderer)meshRendererToBeReskinned).materials).Length; i++)
{
array[i] = mat;
}
((Renderer)meshRendererToBeReskinned).materials = Il2CppReferenceArray<Material>.op_Implicit(array);
}
private void ReskinMeshRendererMaterials0and1(MeshRenderer meshRendererToBeReskinned, Material mat)
{
Material[] array = (Material[])(object)new Material[((Il2CppArrayBase<Material>)(object)((Renderer)meshRendererToBeReskinned).materials).Length];
for (int i = 0; i < ((Il2CppArrayBase<Material>)(object)((Renderer)meshRendererToBeReskinned).materials).Length; i++)
{
if (i != 0 && i != 1)
{
array[i] = ((Il2CppArrayBase<Material>)(object)((Renderer)meshRendererToBeReskinned).materials)[i];
}
else
{
array[i] = mat;
}
}
((Renderer)meshRendererToBeReskinned).materials = Il2CppReferenceArray<Material>.op_Implicit(array);
}
private void ReskinMeshRendererMaterials0and2(MeshRenderer meshRendererToBeReskinned, Material mat)
{
Material[] array = (Material[])(object)new Material[((Il2CppArrayBase<Material>)(object)((Renderer)meshRendererToBeReskinned).materials).Length];
for (int i = 0; i < ((Il2CppArrayBase<Material>)(object)((Renderer)meshRendererToBeReskinned).materials).Length; i++)
{
if (i != 0 && i != 2)
{
array[i] = ((Il2CppArrayBase<Material>)(object)((Renderer)meshRendererToBeReskinned).materials)[i];
}
else
{
array[i] = mat;
}
}
((Renderer)meshRendererToBeReskinned).materials = Il2CppReferenceArray<Material>.op_Implicit(array);
}
private void ReskinMeshRendererMaterials1and2(MeshRenderer meshRendererToBeReskinned, Material mat)
{
Material[] array = (Material[])(object)new Material[((Il2CppArrayBase<Material>)(object)((Renderer)meshRendererToBeReskinned).materials).Length];
for (int i = 0; i < ((Il2CppArrayBase<Material>)(object)((Renderer)meshRendererToBeReskinned).materials).Length; i++)
{
if (i != 1 && i != 2)
{
array[i] = ((Il2CppArrayBase<Material>)(object)((Renderer)meshRendererToBeReskinned).materials)[i];
}
else
{
array[i] = mat;
}
}
((Renderer)meshRendererToBeReskinned).materials = Il2CppReferenceArray<Material>.op_Implicit(array);
}
private void ReskinMeshRendererMaterials1(MeshRenderer meshRendererToBeReskinned, Material mat)
{
Material[] array = (Material[])(object)new Material[((Il2CppArrayBase<Material>)(object)((Renderer)meshRendererToBeReskinned).materials).Length];
for (int i = 0; i < ((Il2CppArrayBase<Material>)(object)((Renderer)meshRendererToBeReskinned).materials).Length; i++)
{
if (i != 1)
{
array[i] = ((Il2CppArrayBase<Material>)(object)((Renderer)meshRendererToBeReskinned).materials)[i];
}
else
{
array[i] = mat;
}
}
((Renderer)meshRendererToBeReskinned).materials = Il2CppReferenceArray<Material>.op_Implicit(array);
}
private void ReskinMeshRendererMaterials2(MeshRenderer meshRendererToBeReskinned, Material mat)
{
Material[] array = (Material[])(object)new Material[((Il2CppArrayBase<Material>)(object)((Renderer)meshRendererToBeReskinned).materials).Length];
for (int i = 0; i < ((Il2CppArrayBase<Material>)(object)((Renderer)meshRendererToBeReskinned).materials).Length; i++)
{
if (i != 2)
{
array[i] = ((Il2CppArrayBase<Material>)(object)((Renderer)meshRendererToBeReskinned).materials)[i];
}
else
{
array[i] = mat;
}
}
((Renderer)meshRendererToBeReskinned).materials = Il2CppReferenceArray<Material>.op_Implicit(array);
}
private void ReskinMeshRendererMaterials0(MeshRenderer meshRendererToBeReskinned, Material mat)
{
Material[] array = (Material[])(object)new Material[((Il2CppArrayBase<Material>)(object)((Renderer)meshRendererToBeReskinned).materials).Length];
for (int i = 0; i < ((Il2CppArrayBase<Material>)(object)((Renderer)meshRendererToBeReskinned).materials).Length; i++)
{
if (i != 0)
{
array[i] = ((Il2CppArrayBase<Material>)(object)((Renderer)meshRendererToBeReskinned).materials)[i];
}
else
{
array[i] = mat;
}
}
((Renderer)meshRendererToBeReskinned).materials = Il2CppReferenceArray<Material>.op_Implicit(array);
}
}