forked from nikita/muzika-gromche
Compare commits
No commits in common. "work/r/beats" and "master" have entirely different histories.
work/r/bea
...
master
BIN
Assets/ChereshnyaLoop.ogg (Stored with Git LFS)
BIN
Assets/ChereshnyaLoop.ogg (Stored with Git LFS)
Binary file not shown.
BIN
Assets/ChereshnyaStart.ogg (Stored with Git LFS)
BIN
Assets/ChereshnyaStart.ogg (Stored with Git LFS)
Binary file not shown.
Binary file not shown.
BIN
Assets/DeployDestroyLoop.ogg (Stored with Git LFS)
BIN
Assets/DeployDestroyLoop.ogg (Stored with Git LFS)
Binary file not shown.
Binary file not shown.
BIN
Assets/DeployDestroyStart.ogg (Stored with Git LFS)
BIN
Assets/DeployDestroyStart.ogg (Stored with Git LFS)
Binary file not shown.
Binary file not shown.
BIN
Assets/DurochkaLoop.ogg (Stored with Git LFS)
BIN
Assets/DurochkaLoop.ogg (Stored with Git LFS)
Binary file not shown.
Binary file not shown.
BIN
Assets/DurochkaStart.ogg (Stored with Git LFS)
BIN
Assets/DurochkaStart.ogg (Stored with Git LFS)
Binary file not shown.
BIN
Assets/GodModeLoop.ogg (Stored with Git LFS)
BIN
Assets/GodModeLoop.ogg (Stored with Git LFS)
Binary file not shown.
BIN
Assets/GodModeStart.ogg (Stored with Git LFS)
BIN
Assets/GodModeStart.ogg (Stored with Git LFS)
Binary file not shown.
Binary file not shown.
BIN
Assets/GorgorodLoop.ogg (Stored with Git LFS)
BIN
Assets/GorgorodLoop.ogg (Stored with Git LFS)
Binary file not shown.
Binary file not shown.
BIN
Assets/GorgorodStart.ogg (Stored with Git LFS)
BIN
Assets/GorgorodStart.ogg (Stored with Git LFS)
Binary file not shown.
BIN
Assets/KachLoop.ogg (Stored with Git LFS)
BIN
Assets/KachLoop.ogg (Stored with Git LFS)
Binary file not shown.
BIN
Assets/KachStart.ogg (Stored with Git LFS)
BIN
Assets/KachStart.ogg (Stored with Git LFS)
Binary file not shown.
Binary file not shown.
BIN
Assets/MoyaZhittyaLoop.ogg (Stored with Git LFS)
BIN
Assets/MoyaZhittyaLoop.ogg (Stored with Git LFS)
Binary file not shown.
Binary file not shown.
BIN
Assets/MoyaZhittyaStart.ogg (Stored with Git LFS)
BIN
Assets/MoyaZhittyaStart.ogg (Stored with Git LFS)
Binary file not shown.
Binary file not shown.
BIN
Assets/MuzikaGromcheLoop.ogg (Stored with Git LFS)
BIN
Assets/MuzikaGromcheLoop.ogg (Stored with Git LFS)
Binary file not shown.
Binary file not shown.
BIN
Assets/MuzikaGromcheStart.ogg (Stored with Git LFS)
BIN
Assets/MuzikaGromcheStart.ogg (Stored with Git LFS)
Binary file not shown.
BIN
Assets/PWNEDLoop.ogg (Stored with Git LFS)
BIN
Assets/PWNEDLoop.ogg (Stored with Git LFS)
Binary file not shown.
BIN
Assets/PWNEDStart.ogg (Stored with Git LFS)
BIN
Assets/PWNEDStart.ogg (Stored with Git LFS)
Binary file not shown.
BIN
Assets/PeretasovkaLoop.ogg (Stored with Git LFS)
BIN
Assets/PeretasovkaLoop.ogg (Stored with Git LFS)
Binary file not shown.
BIN
Assets/PeretasovkaStart.ogg (Stored with Git LFS)
BIN
Assets/PeretasovkaStart.ogg (Stored with Git LFS)
Binary file not shown.
BIN
Assets/RiseAndShineLoop.ogg (Stored with Git LFS)
BIN
Assets/RiseAndShineLoop.ogg (Stored with Git LFS)
Binary file not shown.
BIN
Assets/RiseAndShineStart.ogg (Stored with Git LFS)
BIN
Assets/RiseAndShineStart.ogg (Stored with Git LFS)
Binary file not shown.
BIN
Assets/Song2Loop.ogg (Stored with Git LFS)
BIN
Assets/Song2Loop.ogg (Stored with Git LFS)
Binary file not shown.
BIN
Assets/Song2Start.ogg (Stored with Git LFS)
BIN
Assets/Song2Start.ogg (Stored with Git LFS)
Binary file not shown.
Binary file not shown.
BIN
Assets/VseVZaleLoop.ogg (Stored with Git LFS)
BIN
Assets/VseVZaleLoop.ogg (Stored with Git LFS)
Binary file not shown.
Binary file not shown.
BIN
Assets/VseVZaleStart.ogg (Stored with Git LFS)
BIN
Assets/VseVZaleStart.ogg (Stored with Git LFS)
Binary file not shown.
BIN
Assets/YalgaarLoop.ogg (Stored with Git LFS)
BIN
Assets/YalgaarLoop.ogg (Stored with Git LFS)
Binary file not shown.
BIN
Assets/YalgaarStart.ogg (Stored with Git LFS)
BIN
Assets/YalgaarStart.ogg (Stored with Git LFS)
Binary file not shown.
BIN
Assets/ZmeiGorynichLoop.ogg (Stored with Git LFS)
BIN
Assets/ZmeiGorynichLoop.ogg (Stored with Git LFS)
Binary file not shown.
BIN
Assets/ZmeiGorynichStart.ogg (Stored with Git LFS)
BIN
Assets/ZmeiGorynichStart.ogg (Stored with Git LFS)
Binary file not shown.
|
@ -2,13 +2,9 @@
|
|||
<Project>
|
||||
<PropertyGroup>
|
||||
<!-- Copy this file to MuzikaGromche.props.user and uncomment one of two paths below: -->
|
||||
|
||||
<!-- On Linux: -->
|
||||
<!-- <LethalCompanyDir>$(HOME)/.local/share/Steam/steamapps/common/Lethal Company/</LethalCompanyDir> -->
|
||||
<!-- <WavExportDir>\home\ratijas\Music\SFX\Export</WavExportDir> -->
|
||||
|
||||
<!-- On Windows: -->
|
||||
<!-- <LethalCompanyDir>C:/Program Files (x86)/Steam/steamapps/common/Lethal Company/</LethalCompanyDir> -->
|
||||
<!-- <WavExportDir>D:\Code\MuzikaGromcheAudio\Export</WavExportDir> -->
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
|
@ -1,90 +0,0 @@
|
|||
using DunGen;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using UnityEngine;
|
||||
|
||||
namespace MuzikaGromche
|
||||
{
|
||||
public class DiscoBallManager : MonoBehaviour
|
||||
{
|
||||
// A struct holding a disco ball container object and the name of a tile for which it was designed.
|
||||
public readonly record struct Data(string TileName, GameObject DiscoBallContainer)
|
||||
{
|
||||
// We are specifically looking for cloned tiles, not the original prototypes.
|
||||
public readonly string TileCloneName = $"{TileName}(Clone)";
|
||||
}
|
||||
|
||||
public static readonly List<Data> Containers = [];
|
||||
private static readonly List<GameObject> InstantiatedContainers = [];
|
||||
|
||||
public static void Initialize()
|
||||
{
|
||||
string assetdir = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "muzikagromche");
|
||||
var bundle = AssetBundle.LoadFromFile(assetdir);
|
||||
|
||||
foreach ((string prefabPath, string tileName) in new[] {
|
||||
("Assets/LethalCompany/Mods/MuzikaGromche/DiscoBallContainerManor.prefab", "ManorStartRoomSmall"),
|
||||
("Assets/LethalCompany/Mods/MuzikaGromche/DiscoBallContainerFactory.prefab", "StartRoom"),
|
||||
("Assets/LethalCompany/Mods/MuzikaGromche/DiscoBallContainerMineShaft.prefab", "MineshaftStartTile"),
|
||||
("Assets/LethalCompany/Mods/MuzikaGromche/DiscoBallContainerLargeForkTileB.prefab", "LargeForkTileB"),
|
||||
("Assets/LethalCompany/Mods/MuzikaGromche/DiscoBallContainerBirthdayRoomTile.prefab", "BirthdayRoomTile"),
|
||||
})
|
||||
{
|
||||
var container = bundle.LoadAsset<GameObject>(prefabPath);
|
||||
Containers.Add(new(tileName, container));
|
||||
}
|
||||
}
|
||||
|
||||
public static void Enable()
|
||||
{
|
||||
// Just in case
|
||||
Disable();
|
||||
|
||||
var query = from tile in Resources.FindObjectsOfTypeAll<Tile>()
|
||||
join container in Containers
|
||||
on tile.gameObject.name equals container.TileCloneName
|
||||
select (tile, container);
|
||||
|
||||
foreach (var (tile, container) in query)
|
||||
{
|
||||
Enable(tile, container);
|
||||
}
|
||||
}
|
||||
|
||||
private static readonly string[] animatorNames = [
|
||||
"DiscoBallProp/AnimContainer",
|
||||
"DiscoBallProp1/AnimContainer",
|
||||
"DiscoBallProp2/AnimContainer",
|
||||
"DiscoBallProp3/AnimContainer",
|
||||
"DiscoBallProp4/AnimContainer",
|
||||
"DiscoBallProp5/AnimContainer",
|
||||
];
|
||||
|
||||
private static void Enable(Tile tile, Data container)
|
||||
{
|
||||
Debug.Log($"{nameof(MuzikaGromche)} {nameof(DiscoBallManager)} Enabling at '{tile.gameObject.name}'");
|
||||
var discoBall = Instantiate(container.DiscoBallContainer, tile.transform);
|
||||
InstantiatedContainers.Add(discoBall);
|
||||
|
||||
foreach (var animatorName in animatorNames)
|
||||
{
|
||||
if (discoBall.transform.Find(animatorName)?.gameObject is GameObject animator)
|
||||
{
|
||||
animator.GetComponent<Animator>().SetBool("on", true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void Disable()
|
||||
{
|
||||
foreach (var discoBall in InstantiatedContainers)
|
||||
{
|
||||
Debug.Log($"{nameof(MuzikaGromche)} {nameof(DiscoBallManager)}: Disabling {discoBall.name}");
|
||||
Destroy(discoBall);
|
||||
}
|
||||
InstantiatedContainers.Clear();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -4,7 +4,7 @@
|
|||
<TargetFramework>netstandard2.1</TargetFramework>
|
||||
<AssemblyName>MuzikaGromche</AssemblyName>
|
||||
<Description>Opa che tut u nas</Description>
|
||||
<Version>13.37.420</Version>
|
||||
<Version>13.37.6</Version>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<LangVersion>latest</LangVersion>
|
||||
</PropertyGroup>
|
||||
|
@ -49,7 +49,6 @@
|
|||
<PackagedResources Include="$(SolutionDir)README.md" />
|
||||
<PackagedResources Include="$(SolutionDir)icon.png" />
|
||||
<PackagedResources Include="$(SolutionDir)manifest.json" />
|
||||
<PackagedResources Include="$(ProjectDir)UnityAssets\muzikagromche" />
|
||||
<PackagedResources Include="$(TargetDir)MuzikaGromche.dll" />
|
||||
</ItemGroup>
|
||||
|
||||
|
@ -74,18 +73,4 @@
|
|||
DestinationFolder="$(SolutionDir)dist\"
|
||||
/>
|
||||
</Target>
|
||||
|
||||
<!--
|
||||
Usage:
|
||||
Set WavExportDir in props.user file.
|
||||
Run
|
||||
> dotnet msbuild /t:wav2ogg /p:TrackName=GodMode
|
||||
-->
|
||||
<Target Name="wav2ogg">
|
||||
<ItemGroup>
|
||||
<TrackNames Include="$(TrackName)Start" />
|
||||
<TrackNames Include="$(TrackName)Loop" />
|
||||
</ItemGroup>
|
||||
<Exec Command="ffmpeg -bitexact -y -i $(WavExportDir)%(TrackNames.Identity).wav $(SolutionDir)Assets\%(TrackNames.Identity).ogg"/>
|
||||
</Target>
|
||||
</Project>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
24
README.md
24
README.md
|
@ -1,23 +1 @@
|
|||
# Muzika Gromche!
|
||||
|
||||
Add some content to your reverse teleport experience on Titan!
|
||||
This mod's name literally means "cranck music louder".
|
||||
To keep it a surprise, it is adviced that you do not read the detailed description below.
|
||||
|
||||
## Configuration
|
||||
|
||||
Configuration integrates with [LethalConfig](https://thunderstore.io/c/lethal-company/p/AinaVT/LethalConfig/) mod.
|
||||
|
||||
Track selection options are only configurable by host player and only while orbiting.
|
||||
|
||||
Any player can change their personal preferences locally.
|
||||
- If you experience severe lags, try disabling color animations in config.
|
||||
- If you are playing with a Bluetooth headset, adjust Audio Offset to -0.2 seconds.
|
||||
- Display Lyrics toggle: show lyrics in a popup whenever player hears music.
|
||||
|
||||
## Authors & Special Thanks
|
||||
|
||||
- Oflor: Original author, wrote the code and sliced the first tracks.
|
||||
- [@ratijas](https://t.me/ratijas): Rewrote the code to sync the lights to the beat, added configuration options and many features, fixed gaps in existing tracks and sliced many new ones.
|
||||
- [@REALJUSTNOTHING](https://t.me/REALJUSTNOTHING): Graphics designer; contributed palettes, timings and animation curves.
|
||||
- [WaterGun](https://www.youtube.com/channel/UCCxCFfmrnqkFZ8i9FsXBJVA): Created [V70PoweredLights_Fix](https://thunderstore.io/c/lethal-company/p/WaterGun/V70PoweredLights_Fix/) mod, patched certain tiles with amazing lightshow.
|
||||
Adds some content to your reverse teleports on Titan
|
|
@ -1,13 +1,12 @@
|
|||
{
|
||||
"name": "MuzikaGromche",
|
||||
"version_number": "13.37.420",
|
||||
"version_number": "13.37.6",
|
||||
"author": "Oflor",
|
||||
"description": "Glaza zakryvaj",
|
||||
"website_url": "https://git.vilunov.me/nikita/muzika-gromche",
|
||||
"dependencies": [
|
||||
"BepInEx-BepInExPack-5.4.2100",
|
||||
"Sigurd-CSync-5.0.1",
|
||||
"AinaVT-LethalConfig-1.4.6",
|
||||
"WaterGun-V70PoweredLights_Fix-1.0.0"
|
||||
"ainavt.lc.lethalconfig-1.4.6"
|
||||
]
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue