SHA256
Add NonTile Mode Prototype
This commit is contained in:
4 files changed
+89
-2
No files matched your search
@@ -2,6 +2,7 @@ using System.IO;
|
||||
using ADOFAIRenderer.Core;
|
||||
using ADOFAIRenderer.Util;
|
||||
using HarmonyLib;
|
||||
using MelonLoader;
|
||||
using UnityEngine;
|
||||
|
||||
namespace ADOFAIRenderer.Patch.Game
|
||||
@@ -10,6 +11,54 @@ namespace ADOFAIRenderer.Patch.Game
|
||||
// ReSharper disable once InconsistentNaming
|
||||
public static class scnGamePatch
|
||||
{
|
||||
[HarmonyPostfix]
|
||||
[HarmonyPatch("Play")]
|
||||
public static void ProcessFloors()
|
||||
{
|
||||
var nonTile = RenderManager.Instance.OverrideLoading &&
|
||||
RenderManager.Instance.Configuration.AdvancedConfig.NonTile;
|
||||
|
||||
if (!nonTile) return;
|
||||
foreach (var floor in ADOBase.lm.listFloors)
|
||||
{
|
||||
DisableRenderers(
|
||||
floor.floorRenderer.renderer, floor.legacyFloorSpriteRenderer,
|
||||
floor.iconsprite, floor.outlineSprite,
|
||||
floor.topGlow, floor.bottomGlow,
|
||||
floor.multiplanetLine
|
||||
);
|
||||
|
||||
if (floor.holdRenderer) DisableRenderer(floor.holdRenderer.m_meshRenderer);
|
||||
|
||||
if (floor.dummyPlanets == null) continue;
|
||||
foreach (var planet in floor.dummyPlanets)
|
||||
DisablePlanetRenderer(planet);
|
||||
}
|
||||
|
||||
Melon<RenderMod>.Logger.Msg("Tile Hide");
|
||||
return;
|
||||
|
||||
void DisablePlanetRenderer(PlanetRenderer planet)
|
||||
{
|
||||
if (planet.sprite) DisableRenderer(planet.sprite.meshRenderer);
|
||||
DisableRenderers(
|
||||
planet.coreParticles.GetRenderer(), planet.tailParticles.GetRenderer(),
|
||||
planet.tailParticlesCoop.GetRenderer(), planet.sparks.GetRenderer(), planet.ring, planet.glow,
|
||||
planet.faceSprite, planet.faceDetails, planet.samuraiSprite
|
||||
);
|
||||
}
|
||||
|
||||
void DisableRenderers(params Renderer?[] renderers)
|
||||
{
|
||||
foreach (var renderer in renderers) DisableRenderer(renderer);
|
||||
}
|
||||
|
||||
void DisableRenderer(Renderer? renderer)
|
||||
{
|
||||
if (renderer) renderer.enabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
[HarmonyPrefix]
|
||||
[HarmonyPatch("UpdateVideo")]
|
||||
// ReSharper disable once InconsistentNaming
|
||||
|
||||
@@ -1,7 +1,19 @@
|
||||
using ADOFAIRenderer.Core;
|
||||
using HarmonyLib;
|
||||
|
||||
namespace ADOFAIRenderer.Patch.Game
|
||||
{
|
||||
[HarmonyPatch(typeof(scrFloor))]
|
||||
// ReSharper disable once InconsistentNaming
|
||||
public class scrFloorPatch
|
||||
{
|
||||
|
||||
[HarmonyPrefix]
|
||||
[HarmonyPatch("SpawnPortalParticles")]
|
||||
public static bool SkipPortalSpawn()
|
||||
{
|
||||
var nonTile = RenderManager.Instance.OverrideLoading &&
|
||||
RenderManager.Instance.Configuration.AdvancedConfig.NonTile;
|
||||
return !nonTile;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user