mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
Merge branch 'dev' into nomaiText
This commit is contained in:
commit
4af49e6972
@ -92,20 +92,29 @@ namespace NewHorizons.Builder.Atmosphere
|
||||
cloudsBottomGO.transform.localScale = Vector3.one * (atmo.Size * 0.9f);
|
||||
|
||||
TessellatedSphereRenderer bottomTSR = cloudsBottomGO.AddComponent<TessellatedSphereRenderer>();
|
||||
bottomTSR.tessellationMeshGroup = GameObject.Find("CloudsBottomLayer_GD").GetComponent<TessellatedSphereRenderer>().tessellationMeshGroup;
|
||||
bottomTSR.tessellationMeshGroup = GameObject.Find("CloudsBottomLayer_QM").GetComponent<TessellatedSphereRenderer>().tessellationMeshGroup;
|
||||
var bottomTSRMaterials = GameObject.Find("CloudsBottomLayer_QM").GetComponent<TessellatedSphereRenderer>().sharedMaterials;
|
||||
var bottomTSRTempArray = new Material[bottomTSRMaterials.Length];
|
||||
|
||||
// It's a bit too green
|
||||
var bottomColor = atmo.CloudTint.ToColor32();
|
||||
bottomColor.g = (byte)(bottomColor.g * 0.5f);
|
||||
for (int i = 0; i < bottomTSRMaterials.Length; i++)
|
||||
|
||||
// If they set a colour apply it to all the materials else keep the default QM one
|
||||
if (atmo.CloudTint != null)
|
||||
{
|
||||
bottomTSRTempArray[i] = new Material(bottomTSRMaterials[i]);
|
||||
bottomTSRTempArray[i].SetColor("_Color", bottomColor);
|
||||
bottomTSRTempArray[i].SetColor("_TintColor", bottomColor);
|
||||
var bottomColor = atmo.CloudTint.ToColor32();
|
||||
|
||||
var bottomTSRTempArray = new Material[2];
|
||||
|
||||
bottomTSRTempArray[0] = new Material(bottomTSRMaterials[0]);
|
||||
bottomTSRTempArray[0].SetColor("_Color", bottomColor);
|
||||
bottomTSRTempArray[0].SetColor("_TintColor", bottomColor);
|
||||
|
||||
bottomTSRTempArray[1] = new Material(bottomTSRMaterials[1]);
|
||||
|
||||
bottomTSR.sharedMaterials = bottomTSRTempArray;
|
||||
}
|
||||
bottomTSR.sharedMaterials = bottomTSRTempArray;
|
||||
else
|
||||
{
|
||||
bottomTSR.sharedMaterials = bottomTSRMaterials;
|
||||
}
|
||||
|
||||
bottomTSR.maxLOD = 6;
|
||||
bottomTSR.LODBias = 0;
|
||||
bottomTSR.LODRadius = 1f;
|
||||
|
||||
@ -135,6 +135,17 @@ namespace NewHorizons.Builder.Props
|
||||
Logger.LogError($"Couldn't update AnglerFish chase speed: {e.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
// Fix slide reel
|
||||
if(component is SlideCollectionContainer)
|
||||
{
|
||||
sector.OnOccupantEnterSector.AddListener((_) => (component as SlideCollectionContainer).LoadStreamingTextures());
|
||||
}
|
||||
|
||||
if(component is OWItemSocket)
|
||||
{
|
||||
(component as OWItemSocket)._sector = sector;
|
||||
}
|
||||
}
|
||||
|
||||
prop.transform.position = position == null ? go.transform.position : go.transform.TransformPoint((Vector3)position);
|
||||
|
||||
198
NewHorizons/Builder/Props/ProjectionBuilder.cs
Normal file
198
NewHorizons/Builder/Props/ProjectionBuilder.cs
Normal file
@ -0,0 +1,198 @@
|
||||
using NewHorizons.External;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using UnityEngine;
|
||||
using NewHorizons.Utility;
|
||||
using OWML.ModHelper;
|
||||
using OWML.Common;
|
||||
using NewHorizons.Handlers;
|
||||
using Logger = NewHorizons.Utility.Logger;
|
||||
|
||||
namespace NewHorizons.Builder.Props
|
||||
{
|
||||
public static class ProjectionBuilder
|
||||
{
|
||||
private static GameObject _slideReelPrefab;
|
||||
private static GameObject _autoPrefab;
|
||||
public static void Make(GameObject go, Sector sector, PropModule.ProjectionInfo info, IModBehaviour mod)
|
||||
{
|
||||
if (info.type == "autoProjector") MakeAutoProjector(go, sector, info, mod);
|
||||
else if (info.type == "slideReel") MakeSlideReel(go, sector, info, mod);
|
||||
else Logger.LogError($"Invalid projection type {info.type}");
|
||||
}
|
||||
|
||||
private static void MakeSlideReel(GameObject go, Sector sector, PropModule.ProjectionInfo info, IModBehaviour mod)
|
||||
{
|
||||
if (_slideReelPrefab == null)
|
||||
{
|
||||
_slideReelPrefab = GameObject.Find("RingWorld_Body/Sector_RingInterior/Sector_Zone1/Sector_SlideBurningRoom_Zone1/Interactables_SlideBurningRoom_Zone1/Prefab_IP_SecretAlcove/RotationPivot/SlideReelSocket/Prefab_IP_Reel_1_LibraryPath").gameObject.InstantiateInactive();
|
||||
_slideReelPrefab.name = "Prefab_IP_Reel";
|
||||
}
|
||||
|
||||
var slideReelObj = _slideReelPrefab.InstantiateInactive();
|
||||
slideReelObj.name = $"Prefab_IP_Reel_{mod.ModHelper.Manifest.Name}";
|
||||
|
||||
var slideReel = slideReelObj.GetComponent<SlideReelItem>();
|
||||
slideReel.SetSector(sector);
|
||||
slideReel.SetVisible(true);
|
||||
|
||||
var slideCollectionContainer = slideReelObj.GetRequiredComponent<SlideCollectionContainer>();
|
||||
|
||||
foreach(var renderer in slideReelObj.GetComponentsInChildren<Renderer>())
|
||||
{
|
||||
renderer.enabled = true;
|
||||
}
|
||||
|
||||
slideReelObj.transform.parent = sector?.transform ?? go.transform;
|
||||
slideReelObj.transform.localPosition = (Vector3)(info.position ?? Vector3.zero);
|
||||
slideReelObj.transform.localRotation = Quaternion.Euler((Vector3)(info.rotation ?? Vector3.zero));
|
||||
|
||||
// Now we replace the slides
|
||||
int slidesCount = info.slides.Length;
|
||||
var slideCollection = new SlideCollection(slidesCount);
|
||||
|
||||
// The base game ones only have 15 slides max
|
||||
var textures = new Texture2D[slidesCount >= 15 ? 15 : slidesCount];
|
||||
|
||||
for(int i = 0; i < slidesCount; i++)
|
||||
{
|
||||
var slide = new Slide();
|
||||
var slideInfo = info.slides[i];
|
||||
|
||||
var texture = ImageUtilities.GetTexture(mod, slideInfo.imagePath);
|
||||
slide.textureOverride = ImageUtilities.Invert(texture);
|
||||
|
||||
// Track the first 15 to put on the slide reel object
|
||||
if(i < 15) textures[i] = texture;
|
||||
|
||||
AddModules(slideInfo, ref slide);
|
||||
|
||||
slideCollection.slides[i] = slide;
|
||||
}
|
||||
|
||||
// Else when you put them down you can't pick them back up
|
||||
slideReelObj.GetComponent<OWCollider>()._physicsRemoved = false;
|
||||
|
||||
slideCollectionContainer.slideCollection = slideCollection;
|
||||
|
||||
// Idk why but it wants reveals to be comma delimited not a list
|
||||
if (info.reveals != null) slideCollectionContainer._shipLogOnComplete = string.Join(",", info.reveals);
|
||||
|
||||
OWAssetHandler.LoadObject(slideReelObj);
|
||||
sector.OnOccupantEnterSector.AddListener((x) => OWAssetHandler.LoadObject(slideReelObj));
|
||||
|
||||
var slidesBack = slideReelObj.transform.Find("Props_IP_SlideReel_7/Slides_Back").GetComponent<MeshRenderer>();
|
||||
var slidesFront = slideReelObj.transform.Find("Props_IP_SlideReel_7/Slides_Front").GetComponent<MeshRenderer>();
|
||||
|
||||
// Now put together the textures into a 4x4 thing for the materials
|
||||
var reelTexture = ImageUtilities.MakeReelTexture(textures);
|
||||
slidesBack.material.mainTexture = reelTexture;
|
||||
slidesBack.material.SetTexture("_EmissionMap", reelTexture);
|
||||
slidesFront.material.mainTexture = reelTexture;
|
||||
slidesFront.material.SetTexture("_EmissionMap", reelTexture);
|
||||
|
||||
slideReelObj.SetActive(true);
|
||||
}
|
||||
|
||||
public static void MakeAutoProjector(GameObject go, Sector sector, PropModule.ProjectionInfo info, IModBehaviour mod)
|
||||
{
|
||||
if (_autoPrefab == null)
|
||||
{
|
||||
_autoPrefab = GameObject.Find("RingWorld_Body/Sector_RingInterior/Sector_Zone4/Sector_BlightedShore/Sector_JammingControlRoom_Zone4/Interactables_JammingControlRoom_Zone4/AutoProjector_SignalJammer/Prefab_IP_AutoProjector_SignalJammer").gameObject.InstantiateInactive();
|
||||
_autoPrefab.name = "Prefab_IP_AutoProjector";
|
||||
}
|
||||
|
||||
var projectorObj = _autoPrefab.InstantiateInactive();
|
||||
projectorObj.name = $"Prefab_IP_AutoProjector_{mod.ModHelper.Manifest.Name}";
|
||||
|
||||
var autoProjector = projectorObj.GetComponent<AutoSlideProjector>();
|
||||
autoProjector._sector = sector;
|
||||
|
||||
var slideCollectionContainer = autoProjector.GetRequiredComponent<SlideCollectionContainer>();
|
||||
|
||||
autoProjector.transform.parent = sector?.transform ?? go.transform;
|
||||
autoProjector.transform.localPosition = (Vector3)(info.position ?? Vector3.zero);
|
||||
autoProjector.transform.localRotation = Quaternion.Euler((Vector3)(info.rotation ?? Vector3.zero));
|
||||
|
||||
// Now we replace the slides
|
||||
int slidesCount = info.slides.Length;
|
||||
var slideCollection = new SlideCollection(slidesCount);
|
||||
|
||||
for (int i = 0; i < slidesCount; i++)
|
||||
{
|
||||
var slide = new Slide();
|
||||
var slideInfo = info.slides[i];
|
||||
|
||||
var texture = ImageUtilities.GetTexture(mod, slideInfo.imagePath);
|
||||
slide.textureOverride = ImageUtilities.Invert(texture);
|
||||
|
||||
AddModules(slideInfo, ref slide);
|
||||
|
||||
slideCollection.slides[i] = slide;
|
||||
}
|
||||
|
||||
slideCollectionContainer.slideCollection = slideCollection;
|
||||
|
||||
OWAssetHandler.LoadObject(projectorObj);
|
||||
sector.OnOccupantEnterSector.AddListener((x) => OWAssetHandler.LoadObject(projectorObj));
|
||||
|
||||
// Change the picture on the lens
|
||||
var lens = projectorObj.transform.Find("Spotlight/Prop_IP_SingleSlideProjector/Projector_Lens").GetComponent<MeshRenderer>();
|
||||
lens.materials[1].mainTexture = slideCollection.slides[0]._textureOverride;
|
||||
lens.materials[1].SetTexture("_EmissionMap", slideCollection.slides[0]._textureOverride);
|
||||
|
||||
projectorObj.SetActive(true);
|
||||
}
|
||||
|
||||
private static void AddModules(PropModule.SlideInfo slideInfo, ref Slide slide)
|
||||
{
|
||||
var modules = new List<SlideFunctionModule>();
|
||||
if (!String.IsNullOrEmpty(slideInfo.beatAudio))
|
||||
{
|
||||
var audioBeat = new SlideBeatAudioModule();
|
||||
audioBeat._audioType = (AudioType)Enum.Parse(typeof(AudioType), slideInfo.beatAudio);
|
||||
audioBeat._delay = slideInfo.beatDelay;
|
||||
modules.Add(audioBeat);
|
||||
}
|
||||
if (!String.IsNullOrEmpty(slideInfo.backdropAudio))
|
||||
{
|
||||
var audioBackdrop = new SlideBackdropAudioModule();
|
||||
audioBackdrop._audioType = (AudioType)Enum.Parse(typeof(AudioType), slideInfo.backdropAudio);
|
||||
audioBackdrop._fadeTime = slideInfo.backdropFadeTime;
|
||||
modules.Add(audioBackdrop);
|
||||
}
|
||||
if (slideInfo.ambientLightIntensity > 0)
|
||||
{
|
||||
var ambientLight = new SlideAmbientLightModule();
|
||||
ambientLight._intensity = slideInfo.ambientLightIntensity;
|
||||
ambientLight._range = slideInfo.ambientLightRange;
|
||||
ambientLight._color = slideInfo.ambientLightColor.ToColor();
|
||||
ambientLight._spotIntensityMod = slideInfo.spotIntensityMod;
|
||||
modules.Add(ambientLight);
|
||||
}
|
||||
if (slideInfo.playTimeDuration != 0)
|
||||
{
|
||||
var playTime = new SlidePlayTimeModule();
|
||||
playTime._duration = slideInfo.playTimeDuration;
|
||||
modules.Add(playTime);
|
||||
}
|
||||
if (slideInfo.blackFrameDuration != 0)
|
||||
{
|
||||
var blackFrame = new SlideBlackFrameModule();
|
||||
blackFrame._duration = slideInfo.blackFrameDuration;
|
||||
modules.Add(blackFrame);
|
||||
}
|
||||
if (!String.IsNullOrEmpty(slideInfo.reveal))
|
||||
{
|
||||
var shipLogEntry = new SlideShipLogEntryModule();
|
||||
shipLogEntry._entryKey = slideInfo.reveal;
|
||||
modules.Add(shipLogEntry);
|
||||
}
|
||||
|
||||
Slide.WriteModules(modules, ref slide._modulesList, ref slide._modulesData, ref slide.lengths);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -83,6 +83,13 @@ namespace NewHorizons.Builder.Props
|
||||
foreach(var nomaiTextInfo in config.Props.NomaiText)
|
||||
{
|
||||
NomaiTextBuilder.Make(go, sector, nomaiTextInfo, mod);
|
||||
}
|
||||
}
|
||||
if(config.Props.SlideShows != null)
|
||||
{
|
||||
foreach (var slideReelInfo in config.Props.SlideShows)
|
||||
{
|
||||
ProjectionBuilder.Make(go, sector, slideReelInfo, mod);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -20,7 +20,7 @@ namespace NewHorizons.Builder.ShipLog
|
||||
GameObject entryLocationGameObject = new GameObject("Entry Location (" + info.id + ")");
|
||||
entryLocationGameObject.SetActive(false);
|
||||
entryLocationGameObject.transform.parent = sector?.transform ?? go.transform;
|
||||
entryLocationGameObject.transform.localPosition = info.position;
|
||||
entryLocationGameObject.transform.localPosition = info.position ?? Vector3.zero;
|
||||
ShipLogEntryLocation newLocation = entryLocationGameObject.AddComponent<ShipLogEntryLocation>();
|
||||
newLocation._entryID = info.id;
|
||||
newLocation._isWithinCloakField = info.cloaked;
|
||||
|
||||
@ -49,7 +49,7 @@ namespace NewHorizons.Builder.ShipLog
|
||||
GameObject revealTriggerVolume = new GameObject("Reveal Volume (" + info.revealOn + ")");
|
||||
revealTriggerVolume.SetActive(false);
|
||||
revealTriggerVolume.transform.parent = sector?.transform ?? go.transform;
|
||||
revealTriggerVolume.transform.localPosition = info.position;
|
||||
revealTriggerVolume.transform.localPosition = info.position ?? Vector3.zero;
|
||||
return revealTriggerVolume;
|
||||
}
|
||||
|
||||
|
||||
41
NewHorizons/External/PropModule.cs
vendored
41
NewHorizons/External/PropModule.cs
vendored
@ -19,6 +19,7 @@ namespace NewHorizons.External
|
||||
public RevealInfo[] Reveal;
|
||||
public EntryLocationInfo[] EntryLocation;
|
||||
public NomaiTextInfo[] NomaiText;
|
||||
public ProjectionInfo[] SlideShows;
|
||||
|
||||
public class ScatterInfo
|
||||
{
|
||||
@ -89,7 +90,7 @@ namespace NewHorizons.External
|
||||
{
|
||||
public string revealOn = "enter";
|
||||
public string[] reveals;
|
||||
public MVector3 position = new MVector3(0, 0, 0);
|
||||
public MVector3 position;
|
||||
public float radius = 1f;
|
||||
public float maxDistance = -1f; // Snapshot & Observe Only
|
||||
public float maxAngle = 180f; // Observe Only
|
||||
@ -101,10 +102,48 @@ namespace NewHorizons.External
|
||||
public bool cloaked;
|
||||
public MVector3 position;
|
||||
}
|
||||
|
||||
public class NomaiTextInfo
|
||||
{
|
||||
public MVector3 position;
|
||||
public string xmlFile;
|
||||
}
|
||||
|
||||
public class ProjectionInfo
|
||||
{
|
||||
public MVector3 position;
|
||||
public MVector3 rotation;
|
||||
public string[] reveals;
|
||||
public SlideInfo[] slides;
|
||||
public string type = "SlideReel";
|
||||
}
|
||||
|
||||
public class SlideInfo
|
||||
{
|
||||
public string imagePath;
|
||||
|
||||
// SlideBeatAudioModule
|
||||
public string beatAudio;
|
||||
public float beatDelay;
|
||||
|
||||
// SlideBackdropAudioModule
|
||||
public string backdropAudio;
|
||||
public float backdropFadeTime;
|
||||
|
||||
// SlideAmbientLightModule
|
||||
public float ambientLightIntensity;
|
||||
public float ambientLightRange;
|
||||
public MColor ambientLightColor;
|
||||
public float spotIntensityMod;
|
||||
|
||||
// SlidePlayTimeModule
|
||||
public float playTimeDuration;
|
||||
|
||||
// SlideBlackFrameModule
|
||||
public float blackFrameDuration;
|
||||
|
||||
// SlideShipLogEntryModule
|
||||
public string reveal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -227,31 +227,56 @@ namespace NewHorizons
|
||||
#region Load
|
||||
public void LoadConfigs(IModBehaviour mod)
|
||||
{
|
||||
if (_firstLoad)
|
||||
try
|
||||
{
|
||||
MountedAddons.Add(mod);
|
||||
}
|
||||
var folder = mod.ModHelper.Manifest.ModFolderPath;
|
||||
if(Directory.Exists(folder + "planets"))
|
||||
{
|
||||
foreach (var file in Directory.GetFiles(folder + @"planets\", "*.json", SearchOption.AllDirectories))
|
||||
if (_firstLoad)
|
||||
{
|
||||
var relativeDirectory = file.Replace(folder, "");
|
||||
var body = LoadConfig(mod, relativeDirectory);
|
||||
MountedAddons.Add(mod);
|
||||
}
|
||||
var folder = mod.ModHelper.Manifest.ModFolderPath;
|
||||
|
||||
if (body != null)
|
||||
// Load systems first so that when we load bodies later we can check for missing ones
|
||||
if (Directory.Exists(folder + @"systems\"))
|
||||
{
|
||||
foreach (var file in Directory.GetFiles(folder + @"systems\", "*.json", SearchOption.AllDirectories))
|
||||
{
|
||||
// Wanna track the spawn point of each system
|
||||
if (body.Config.Spawn != null) SystemDict[body.Config.StarSystem].Spawn = body.Config.Spawn;
|
||||
var name = Path.GetFileNameWithoutExtension(file);
|
||||
|
||||
// Add the new planet to the planet dictionary
|
||||
BodyDict[body.Config.StarSystem].Add(body);
|
||||
Logger.Log($"Loading system {name}");
|
||||
|
||||
var relativePath = file.Replace(folder, "");
|
||||
var starSystemConfig = mod.ModHelper.Storage.Load<StarSystemConfig>(relativePath);
|
||||
|
||||
var system = new NewHorizonsSystem(name, starSystemConfig, mod);
|
||||
SystemDict[name] = system;
|
||||
}
|
||||
}
|
||||
if (Directory.Exists(folder + "planets"))
|
||||
{
|
||||
foreach (var file in Directory.GetFiles(folder + @"planets\", "*.json", SearchOption.AllDirectories))
|
||||
{
|
||||
var relativeDirectory = file.Replace(folder, "");
|
||||
var body = LoadConfig(mod, relativeDirectory);
|
||||
|
||||
if (body != null)
|
||||
{
|
||||
// Wanna track the spawn point of each system
|
||||
if (body.Config.Spawn != null) SystemDict[body.Config.StarSystem].Spawn = body.Config.Spawn;
|
||||
|
||||
// Add the new planet to the planet dictionary
|
||||
if (!BodyDict.ContainsKey(body.Config.StarSystem)) BodyDict[body.Config.StarSystem] = new List<NewHorizonsBody>();
|
||||
BodyDict[body.Config.StarSystem].Add(body);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (Directory.Exists(folder + @"translations\"))
|
||||
{
|
||||
LoadTranslations(folder, mod);
|
||||
}
|
||||
}
|
||||
if(Directory.Exists(folder + @"translations\"))
|
||||
catch(Exception ex)
|
||||
{
|
||||
LoadTranslations(folder, mod);
|
||||
Logger.LogError($"{ex.Message}, {ex.StackTrace}");
|
||||
}
|
||||
}
|
||||
|
||||
@ -420,7 +445,15 @@ namespace NewHorizons
|
||||
|
||||
public string[] GetInstalledAddons()
|
||||
{
|
||||
return Main.MountedAddons.Select(x => x.ModHelper.Manifest.UniqueName).ToArray();
|
||||
try
|
||||
{
|
||||
return Main.MountedAddons.Select(x => x?.ModHelper?.Manifest?.UniqueName).ToArray();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.LogError($"Couldn't get installed addons {ex.Message}, {ex.StackTrace}");
|
||||
return new string[] { };
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion API
|
||||
|
||||
@ -48,6 +48,94 @@ namespace NewHorizons.Utility
|
||||
_generatedTextures.Clear();
|
||||
}
|
||||
|
||||
public static Texture2D Invert(Texture2D texture)
|
||||
{
|
||||
var pixels = texture.GetPixels();
|
||||
for (int i = 0; i < pixels.Length; i++)
|
||||
{
|
||||
var x = i % texture.width;
|
||||
var y = (int)Mathf.Floor(i / texture.height);
|
||||
|
||||
// Needs a black border
|
||||
if(x == 0 || y == 0 || x == texture.width-1 || y == texture.height-1)
|
||||
{
|
||||
pixels[i].r = 1;
|
||||
pixels[i].g = 1;
|
||||
pixels[i].b = 1;
|
||||
pixels[i].a = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
pixels[i].r = 1f - pixels[i].r;
|
||||
pixels[i].g = 1f - pixels[i].g;
|
||||
pixels[i].b = 1f - pixels[i].b;
|
||||
}
|
||||
}
|
||||
|
||||
var newTexture = new Texture2D(texture.width, texture.height);
|
||||
newTexture.name = texture.name + "Inverted";
|
||||
newTexture.SetPixels(pixels);
|
||||
newTexture.Apply();
|
||||
|
||||
newTexture.wrapMode = TextureWrapMode.Clamp;
|
||||
|
||||
_generatedTextures.Add(newTexture);
|
||||
|
||||
return newTexture;
|
||||
}
|
||||
|
||||
public static Texture2D MakeReelTexture(Texture2D[] textures)
|
||||
{
|
||||
var size = 256;
|
||||
|
||||
var texture = (new Texture2D(size * 4, size * 4, TextureFormat.ARGB32, false));
|
||||
texture.name = "SlideReelAtlas";
|
||||
|
||||
Color[] fillPixels = new Color[size * size * 4 * 4];
|
||||
for(int xIndex = 0; xIndex < 4; xIndex++)
|
||||
{
|
||||
for(int yIndex = 0; yIndex < 4; yIndex++)
|
||||
{
|
||||
int index = yIndex * 4 + xIndex;
|
||||
var srcTexture = index < textures.Length ? textures[index] : null;
|
||||
|
||||
for(int i = 0; i < size; i++)
|
||||
{
|
||||
for(int j = 0; j < size; j++)
|
||||
{
|
||||
var colour = Color.black;
|
||||
|
||||
if(srcTexture)
|
||||
{
|
||||
var srcX = i * srcTexture.width / (float)size;
|
||||
var srcY = j * srcTexture.height / (float)size;
|
||||
if (srcX >= 0 && srcX < srcTexture.width && srcY >= 0 && srcY < srcTexture.height)
|
||||
{
|
||||
colour = srcTexture.GetPixel((int)srcX, (int)srcY);
|
||||
}
|
||||
}
|
||||
|
||||
var x = xIndex * size + i;
|
||||
// Want it to start from the first row from the bottom then go down then modulo around idk
|
||||
// 5 because no pos mod idk
|
||||
var y = ((5 - yIndex)%4) * size + j;
|
||||
|
||||
var pixelIndex = x + y * (size * 4);
|
||||
|
||||
if(pixelIndex < fillPixels.Length && pixelIndex >= 0) fillPixels[pixelIndex] = colour;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
texture.SetPixels(fillPixels);
|
||||
texture.Apply();
|
||||
|
||||
_generatedTextures.Add(texture);
|
||||
|
||||
return texture;
|
||||
}
|
||||
|
||||
public static Texture2D MakeOutline(Texture2D texture, Color color, int thickness)
|
||||
{
|
||||
var outline = new Texture2D(texture.width, texture.height, TextureFormat.ARGB32, false);
|
||||
@ -162,7 +250,13 @@ namespace NewHorizons.Utility
|
||||
{
|
||||
for(int j = 0; j < tex.height; j++)
|
||||
{
|
||||
fillPixels[i + j * tex.width] = src.GetPixel(i, j);
|
||||
var x = i + (src.width - width) / 2;
|
||||
var y = j + (src.height - height) / 2;
|
||||
|
||||
var colour = Color.black;
|
||||
if (x < src.width && y < src.height) colour = src.GetPixel(i, j);
|
||||
|
||||
fillPixels[i + j * tex.width] = colour;
|
||||
}
|
||||
}
|
||||
tex.SetPixels(fillPixels);
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
"author": "xen, Bwc9876, & Book",
|
||||
"name": "New Horizons",
|
||||
"uniqueName": "xen.NewHorizons",
|
||||
"version": "0.11.0",
|
||||
"version": "0.11.1",
|
||||
"owmlVersion": "2.1.0",
|
||||
"dependencies": [ "PacificEngine.OW_CommonResources" ],
|
||||
"conflicts": [ "Raicuparta.QuantumSpaceBuddies", "Vesper.OuterWildsMMO", "Vesper.AutoResume" ],
|
||||
|
||||
@ -794,6 +794,98 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"slideShows": {
|
||||
"type": "array",
|
||||
"description": "For creating custom auto projectors or slide reels from the DLC",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"position": {
|
||||
"$ref": "#/$defs/vector3",
|
||||
"description": "The position of this object."
|
||||
},
|
||||
"rotation": {
|
||||
"$ref": "#/$defs/vector3",
|
||||
"description": "The euler angle rotation of this object."
|
||||
},
|
||||
"reveals": {
|
||||
"type": "array",
|
||||
"description": "The ship log entries revealed after finishing this slide reel.",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"slides": {
|
||||
"type": "array",
|
||||
"description": "The list of slides for this object.",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"imagePath": {
|
||||
"type": "string",
|
||||
"description": "The path to the image file for this slide."
|
||||
},
|
||||
"beatAudio": {
|
||||
"type": "string",
|
||||
"description": "The name of the AudioClip for a one-shot sound when opening the slide."
|
||||
},
|
||||
"beatDelay": {
|
||||
"type": "number",
|
||||
"description": "The time delay until the one-shot audio"
|
||||
},
|
||||
"backdropAudio": {
|
||||
"type": "string",
|
||||
"description": "The name of the AudioClip that will continuously play while watching these slides"
|
||||
},
|
||||
"backdropFadeTime": {
|
||||
"type": "number",
|
||||
"description": "The time to fade into the backdrop audio"
|
||||
},
|
||||
"ambientLightIntensity": {
|
||||
"type": "number",
|
||||
"description": "Ambient light intensity when viewing this slide."
|
||||
},
|
||||
"ambientLightRange": {
|
||||
"type": "number",
|
||||
"description": "Ambient light range when viewing this slide."
|
||||
},
|
||||
"ambientLightColor": {
|
||||
"$ref": "#/$defs/color",
|
||||
"description": "Ambient light colour when viewing this slide."
|
||||
},
|
||||
"spotIntensityMod": {
|
||||
"type": "number",
|
||||
"description": "Spotlight intensity modifier when viewing this slide."
|
||||
},
|
||||
"playTimeDuration": {
|
||||
"type": "number",
|
||||
"description": "Play-time duration for auto-projector slides."
|
||||
},
|
||||
"blackFrameDuration": {
|
||||
"type": "number",
|
||||
"description": "Before viewing this slide, there will be a black frame for this many seconds."
|
||||
},
|
||||
"reveal": {
|
||||
"type": "string",
|
||||
"description": "Ship log entry revealed when viewing this slide."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"type": {
|
||||
"type": "string",
|
||||
"description": "The type of object this is. Must be either SlideReel or AutoProjector",
|
||||
"enum": [
|
||||
"slideReel",
|
||||
"autoProjector"
|
||||
],
|
||||
"default": "slideReel"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
12
README.md
12
README.md
@ -40,7 +40,7 @@ Check the ship's log for how to use your warp drive to travel between star syste
|
||||
- Signalscope signals and custom frequencies
|
||||
- Surface scatter: rocks, trees, etc, using in-game models, or custom ones
|
||||
- Black hole / white hole pairs
|
||||
- Custom dialogue and custom ship log entries for rumour mode and map mode
|
||||
- Custom dialogue, slide-reel projections, and custom ship log entries for rumour mode and map mode
|
||||
- Funnels and variable surface height (can be made of sand/water/lava/star)
|
||||
|
||||
## Roadmap
|
||||
@ -49,10 +49,9 @@ Check the ship's log for how to use your warp drive to travel between star syste
|
||||
- Better terrain and water LOD
|
||||
- Edit existing planet orbits (started)
|
||||
- Implement all planet features:
|
||||
- Tornados + floating islands
|
||||
- Let any star go supernova
|
||||
- Pocket dimensions
|
||||
- Timed position/velocity changes
|
||||
- Tornados
|
||||
- Supernovae
|
||||
- Bramble dimensions
|
||||
- Implement custom Nomai scrolls
|
||||
- Implement custom translatable writing
|
||||
|
||||
@ -73,7 +72,8 @@ Main authors:
|
||||
New Horizons was made with help from:
|
||||
- [Nageld](https://github.com/Nageld): Set up xml reading for custom dialogue in v0.8.0
|
||||
- [jtsalomo](https://github.com/jtsalomo): Implemented [OW_CommonResources](https://github.com/PacificEngine/OW_CommonResources) support introduced in v0.5.0
|
||||
- [Raicuparta](https://github.com/Raicuparta): Integrated the [New Horizons Template](https://github.com/xen-42/ow-new-horizons-config-template) into the Outer Wilds Mods website
|
||||
- [Raicuparta](https://github.com/Raicuparta)
|
||||
- [MegaPiggy](https://github.com/MegaPiggy)
|
||||
|
||||
Translation credits:
|
||||
- Russian: GrayFix and Tlya
|
||||
|
||||
760
docs/content/pages/audio_enum.md
Normal file
760
docs/content/pages/audio_enum.md
Normal file
@ -0,0 +1,760 @@
|
||||
Title: Audio Values
|
||||
Description: Numbers for audio values for slide reels
|
||||
Hide_In_Nav: True
|
||||
Render_TOC: False
|
||||
|
||||
# The List
|
||||
|
||||
None = 0,
|
||||
Menu_RebindKey = 1,
|
||||
Menu_ResetDefaults = 2,
|
||||
Menu_UpDown = 3,
|
||||
Menu_LeftRight = 4,
|
||||
Menu_ChangeTab = 5,
|
||||
Menu_Pause = 6,
|
||||
Menu_Unpause = 7,
|
||||
Menu_SliderIncrement = 8,
|
||||
ToolScopeEquip = 100,
|
||||
ToolScopeUnequip = 101,
|
||||
ToolScopeSwitchFreq = 104,
|
||||
ToolScopeStatic = 105,
|
||||
ToolScopeHideAndSeekSignal = 106,
|
||||
ToolScopeZoomAdjust = 107,
|
||||
ToolScopeIdentifySignal = 108,
|
||||
ToolItemScrollPickUp = 200,
|
||||
ToolItemScrollDrop = 201,
|
||||
ToolItemScrollInsert = 202,
|
||||
ToolItemScrollRemove = 203,
|
||||
ToolItemWarpCorePickUp = 204,
|
||||
ToolItemWarpCoreDrop = 205,
|
||||
ToolItemWarpCoreInsert = 206,
|
||||
ToolItemWarpCoreRemove = 207,
|
||||
ToolItemSharedStonePickUp = 208,
|
||||
ToolItemSharedStoneDrop = 209,
|
||||
ToolItemSharedStoneInsert = 210,
|
||||
ToolItemSharedStoneRemove = 211,
|
||||
ToolRepairing_LP = 300,
|
||||
ToolRepairComplete = 301,
|
||||
ToolTranslatorEquip = 400,
|
||||
ToolTranslatorUnequip = 401,
|
||||
ToolTranslateText_LP = 402,
|
||||
ToolFlashlightOn = 500,
|
||||
ToolFlashlightOff = 501,
|
||||
ToolFlashlightFlicker = 502,
|
||||
ToolProbeEquip = 600,
|
||||
ToolProbeUnequip = 601,
|
||||
ToolProbeLaunch = 602,
|
||||
ToolProbeLaunchUnderwater = 603,
|
||||
ToolProbeTakePhoto = 604,
|
||||
ToolProbeTakeReversePhoto = 605,
|
||||
ToolProbeRetrieve = 606,
|
||||
ToolProbeFlight_LP = 607,
|
||||
ToolProbeAttach = 608,
|
||||
ToolProbeChangeMode = 609,
|
||||
ToolMarshmallowEquip = 700,
|
||||
ToolMarshmallowReplace = 701,
|
||||
ToolMarshmallowIgnite = 702,
|
||||
ToolMarshmallowBlowOut = 703,
|
||||
ToolMarshmallowEat = 704,
|
||||
ToolMarshmallowEatBurnt = 705,
|
||||
ToolMarshmallowToss = 706,
|
||||
PlayerSuitWearSuit = 800,
|
||||
PlayerSuitRemoveSuit = 801,
|
||||
PlayerSuitWearHelmet = 802,
|
||||
PlayerSuitRemoveHelmet = 803,
|
||||
PlayerSuitOxygenRefill = 804,
|
||||
PlayerSuitOxygenLeak_In = 805,
|
||||
PlayerSuitOxygenLeak_LP = 806,
|
||||
PlayerSuitOxygenLeak_Out = 807,
|
||||
PlayerSuitLockOn = 808,
|
||||
PlayerSuitLockOff = 809,
|
||||
PlayerSuitWarning = 810,
|
||||
PlayerSuitCriticalWarning = 811,
|
||||
PlayerSuitJetpackThrustTranslational_LP = 812,
|
||||
PlayerSuitJetpackThrustRotational = 813,
|
||||
PlayerSuitJetpackBoost = 814,
|
||||
PlayerSuitJetpackThrustRotationalUnderwater_LP = 816,
|
||||
PlayerSuitJetpackThrustUnderwater_LP = 817,
|
||||
PlayerSuitRainOnHelmet = 818,
|
||||
PlayerSuitNotificationTextScroll_In = 820,
|
||||
PlayerSuitNotificationTextScroll_LP = 821,
|
||||
PlayerSuitHelmetCrack = 822,
|
||||
PlayerSuitOxygenRefill_Short = 823,
|
||||
PlayerSuitPatchPuncture = 824,
|
||||
PlayerSuitJetpackOxygenPropellant_LP = 825,
|
||||
PlayerBreathing_LP = 850,
|
||||
PlayerBreathing_LowOxygen_LP = 851,
|
||||
PlayerGasp_Light = 852,
|
||||
PlayerGasp_Medium = 853,
|
||||
PlayerGasp_Heavy = 854,
|
||||
Asphyxiate_Start_Suit = 855,
|
||||
Asphyxiate_Start_NoSuit = 856,
|
||||
Asphyxiate_End_Suit = 857,
|
||||
Asphyxiate_End_NoSuit = 858,
|
||||
Drowning_Start = 859,
|
||||
Drowing_End = 860,
|
||||
PlayerGasp_StopSuffocating = 861,
|
||||
PlayerGasp_StopSuffocating_Suit = 862,
|
||||
EnterVolumeDamageHeat_LP = 900,
|
||||
EnterVolumeDamageGhostfire_LP = 901,
|
||||
EnterVolumeDamageLava_LP = 902,
|
||||
EnterVolumeDamageFire_LP = 903,
|
||||
HazardFirstContactDamage = 904,
|
||||
ElectricShock = 905,
|
||||
Splash_GhostMatter = 950,
|
||||
Splash_Lava = 951,
|
||||
Submerge_Player = 952,
|
||||
Submerge_Ship = 953,
|
||||
Splash_Water_Probe = 954,
|
||||
Splash_Water_Player = 955,
|
||||
Splash_Water_Ship = 956,
|
||||
NonDiaMapActivation = 1000,
|
||||
DialogueEnter = 1001,
|
||||
DialogueAdvance = 1002,
|
||||
DialogueExit = 1003,
|
||||
NonDiaUIAffirmativeSFX = 1004,
|
||||
NonDiaUINegativeSFX = 1005,
|
||||
TapeRecorder_Start = 1006,
|
||||
TapeRecorder_LP = 1007,
|
||||
TapeRecorder_Stop = 1008,
|
||||
PlayerTurbulence_LP = 1050,
|
||||
ShipTurbulence_LP = 1051,
|
||||
ShipRattle_LP = 1052,
|
||||
ShipReentryBurn_LP = 1053,
|
||||
PLACEHOLDER = 1100,
|
||||
LandingGrass = 1102,
|
||||
LandingDirt = 1103,
|
||||
LandingStone = 1104,
|
||||
LandingMetal = 1105,
|
||||
LandingNomaiMetal = 1106,
|
||||
LandingSand = 1107,
|
||||
LandingIce = 1108,
|
||||
LandingWater = 1109,
|
||||
ImpactUnderwater = 1110,
|
||||
ImpactLowSpeed = 1111,
|
||||
ImpactMediumSpeed = 1112,
|
||||
ImpactHighSpeed = 1113,
|
||||
MovementFootstep = 1114,
|
||||
MovementRunningStep = 1115,
|
||||
MovementGrassFootstep = 1116,
|
||||
MovementDirtFootstep = 1117,
|
||||
MovementStoneFootstep = 1118,
|
||||
MovementMetalFootstep = 1119,
|
||||
MovementNomaiMetalFootstep = 1120,
|
||||
MovementSandFootstep = 1121,
|
||||
MovementIceFootstep = 1122,
|
||||
MovementShallowWaterFootstep = 1123,
|
||||
MovementJump = 1124,
|
||||
MovementWoodCreakFootstep = 1134,
|
||||
MovementWoodCreakLanding = 1135,
|
||||
MovementWoodFootstep = 1136,
|
||||
MovementWoodLanding = 1137,
|
||||
MovementSnowFootstep = 1138,
|
||||
MovementSnowLanding = 1139,
|
||||
MovementIceLSiding = 1140,
|
||||
MovementGlassFootsteps = 1141,
|
||||
MovementGlassLanding = 1142,
|
||||
MovementPassingBushes = 1143,
|
||||
MovementLeavesFootsteps = 1144,
|
||||
MovementLeavesLanding = 1145,
|
||||
MovementGravelFootsteps = 1146,
|
||||
MovementGravelLanding = 1147,
|
||||
KnockOverCairn = 1150,
|
||||
DefaultPropImpact = 1151,
|
||||
NomaiShuttleImpact = 1152,
|
||||
ModelShipImpact = 1153,
|
||||
ShipCockpitScopeActivate = 1200,
|
||||
ShipCockpitScopeDeactivate = 1201,
|
||||
ShipCockpitScopeZoomIn = 1202,
|
||||
ShipCockpitScopeZoomOut = 1203,
|
||||
ShipCockpitScopeSwitchFreq = 1204,
|
||||
ShipCockpitScopeScreenSlide_LP = 1205,
|
||||
ShipCockpitScopeScreenKachunk = 1206,
|
||||
ShipCockpitMasterAlarm_LP = 1207,
|
||||
ShipCockpitAutopilotActivate = 1208,
|
||||
ShipCockpitAutopilotDeactivate = 1209,
|
||||
ShipCockpitBuckleUp = 1210,
|
||||
ShipCockpitUnbuckle = 1211,
|
||||
ShipCockpitConsoleReadout_In = 1212,
|
||||
ShipCockpitConsoleReadout_LP = 1213,
|
||||
ShipCockpitHeadlightsOn = 1214,
|
||||
ShipCockpitHeadlightsOff = 1215,
|
||||
ShipCockpitLandingCamActivate = 1216,
|
||||
ShipCockpitLandingCamDeactivate = 1217,
|
||||
ShipCockpitLandingCamStatic_LP = 1218,
|
||||
ShipCockpitProbeCameraScreenRotation = 1219,
|
||||
ShipCockpitProbeActivate = 1220,
|
||||
ShipCockpitProbeDeactivate = 1221,
|
||||
ShipCockpitProbeLaunch = 1222,
|
||||
ShipCockpitProbeLaunchUnderwater = 1223,
|
||||
ShipCockpitProbeTakePhoto = 1224,
|
||||
ShipCockpitProbeRetrieve = 1225,
|
||||
ShipCockpitLandingCamAmbient_LP = 1226,
|
||||
ShipCockpitEject = 1227,
|
||||
ShipCabinUseMedkit = 1300,
|
||||
ShipCabinUseRefueller = 1301,
|
||||
ShipCabinComputerActivate = 1302,
|
||||
ShipCabinComputerAmbient_LP = 1303,
|
||||
ShipHatchOpen = 1304,
|
||||
ShipHatchClose = 1305,
|
||||
ShipHullGroan = 1309,
|
||||
ShipCabinAmbience = 1310,
|
||||
ShipEatenGroan = 1311,
|
||||
ShipLogBootUp = 1350,
|
||||
ShipLogAmbience_LP = 1351,
|
||||
ShipLogEnterDetectiveMode = 1355,
|
||||
ShipLogEnterMapMode = 1356,
|
||||
ShipLogNavigate_LP = 1357,
|
||||
ShipLogSelectPlanet = 1360,
|
||||
ShipLogDeselectPlanet = 1361,
|
||||
ShipLogMoveBetweenPlanets = 1362,
|
||||
ShipLogMoveBetweenEntries = 1363,
|
||||
ShipLogRevealEntry = 1365,
|
||||
ShipLogHighlightEntry = 1366,
|
||||
ShipLogSelectEntry = 1367,
|
||||
ShipLogDeselectEntry = 1368,
|
||||
ShipLogTextReveal_LP = 1370,
|
||||
ShipLogMarkLocation = 1390,
|
||||
ShipLogUnmarkLocation = 1391,
|
||||
ShipDamageExternalTankLeak_LP = 1400,
|
||||
ShipDamageElectricSparking_LP = 1401,
|
||||
ShipDamageCockpitGlassCrack = 1402,
|
||||
ShipDamageShipExplosion = 1403,
|
||||
ShipDamageSingleElectricSpark = 1404,
|
||||
ShipDamageFuelLeak_LP = 1405,
|
||||
ShipDamageOxygenLeak_LP = 1406,
|
||||
ShipDamageElectricalFailure = 1407,
|
||||
ShipImpact_NoDamage = 1420,
|
||||
ShipImpact_LightDamage = 1421,
|
||||
ShipImpact_MediumDamage = 1422,
|
||||
ShipImpact_HeavyDamage = 1423,
|
||||
Ship_LandingPad_Soft = 1424,
|
||||
Ship_LandingPad_Hard = 1425,
|
||||
ShipThrustIgnition = 1500,
|
||||
ShipThrustRotational = 1501,
|
||||
ShipThrustRotationalUnderwater = 1502,
|
||||
ShipThrustTranslational_LP = 1503,
|
||||
ShipThrustTranslationalUnderwater_LP = 1504,
|
||||
ShipThrustAfterburn_LP = 1505,
|
||||
NomaiHologram_LP = 1550,
|
||||
NomaiHologramActivate = 1551,
|
||||
NomaiHologramDeactivate = 1552,
|
||||
NomaiRemoteCameraAmbient_LP = 1553,
|
||||
NomaiRemoteCameraEntry = 1554,
|
||||
NomaiRemoteCameraExit = 1555,
|
||||
NomaiComputerAmbient = 1600,
|
||||
NomaiComputerRingActivate = 1601,
|
||||
NomaiComputerRingDeactivate = 1602,
|
||||
NomaiOrbStartDrag = 1603,
|
||||
NomaiOrbDragging_LP = 1604,
|
||||
NomaiOrbRolling_LP = 1605,
|
||||
NomaiOrbSlotActivated = 1606,
|
||||
NomaiGravCrystalAmbient_LP = 1609,
|
||||
NomaiGravCrystalFlickerAmbient_LP = 1610,
|
||||
NomaiGravityCannonAmbient_LP = 1611,
|
||||
NomaiGravityCannonActivate = 1612,
|
||||
NomaiGravityCannonDeactivate = 1613,
|
||||
NomaiTractorBeamActivate = 1614,
|
||||
NomaiTractorBeamDeactivate = 1615,
|
||||
NomaiTractorBeamAmbient_LP = 1616,
|
||||
NomaiRecorderAmbient_LP = 1617,
|
||||
NomaiEscapePodDistressSignal_LP = 1618,
|
||||
NomaiTextReveal_LP = 1619,
|
||||
NomaiDataStream_LP = 1620,
|
||||
NomaiPowerOn = 1621,
|
||||
NomaiPowerOff = 1622,
|
||||
NomaiLightsOn = 1623,
|
||||
NomaiLightsOff = 1624,
|
||||
NomaiAirLockAirPourIn = 1625,
|
||||
NomaiAirLockAirPourOut = 1626,
|
||||
NomaiDoorAirLockOpen = 1627,
|
||||
NomaiDoorStart = 1628,
|
||||
NomaiDoorStop = 1629,
|
||||
NomaiDoorSlide_LP = 1630,
|
||||
NomaiDoorStartBig = 1631,
|
||||
NomaiDoorStopBig = 1632,
|
||||
NomaiDoorSlideBig_LP = 1633,
|
||||
NomaiHeadStatueRotate_LP = 1634,
|
||||
NomaiPedestalSlide_LP = 1635,
|
||||
NomaiPedestalContact = 1636,
|
||||
NomaiEscapePodHatch = 1645,
|
||||
NomaiTimeLoopOpen = 1646,
|
||||
NomaiTimeLoopClose = 1647,
|
||||
NomaiVesselPowerUp = 1648,
|
||||
NomaiPillarRaiseLower_LP = 1649,
|
||||
NomaiPillarRotate = 1650,
|
||||
NomaiAirlockSlide_LP = 1651,
|
||||
NomaiAirlockWaterPourOut = 1652,
|
||||
NomaiAirlockWaterPourIn = 1653,
|
||||
HT_SurfaceAmbience_LP = 1700,
|
||||
HT_CaveAmbientBig_LP = 1702,
|
||||
HT_CaveAmbientSmall_LP = 1703,
|
||||
HT_SandColumnEnd_LP = 1705,
|
||||
HT_SandColumnStart_LP = 1706,
|
||||
HT_SandfallSmallBottom_LP = 1707,
|
||||
HT_SandRiver_LP = 1708,
|
||||
HT_InsideSandfall_Suit_LP = 1709,
|
||||
HT_InsideSandfall_Ship_LP = 1710,
|
||||
TH_ModelShipCrash = 1800,
|
||||
TH_SatelliteSnapshot = 1801,
|
||||
TH_RetrieveModelShip = 1803,
|
||||
TH_ZeroGTrainingAllRepaired = 1804,
|
||||
TH_CanyonAmbienceDay_LP = 1807,
|
||||
TH_CanyonAmbienceNight_LP = 1808,
|
||||
TH_HiAltitudeAmbienceDay_LP = 1809,
|
||||
TH_HiAltitudeAmbienceNight_LP = 1810,
|
||||
TH_ZeroGCaveAmbient_LP = 1811,
|
||||
TH_UnderwaterCurrent_LP = 1812,
|
||||
TH_UnderwaterAmbience_LP = 1813,
|
||||
TH_MuseumAmbience_LP = 1814,
|
||||
TH_BridgeCreaking_LP = 1819,
|
||||
TH_Campfire_LP = 1820,
|
||||
TH_FlagFlapping_LP = 1821,
|
||||
TH_GeyserEnd = 1822,
|
||||
TH_Geyser_LP = 1823,
|
||||
TH_GeyserStart = 1824,
|
||||
TH_Insects_LP = 1825,
|
||||
TH_LiftActivate = 1826,
|
||||
TH_LiftArrives = 1827,
|
||||
TH_Lift_LP = 1828,
|
||||
TH_ProjectorActivate = 1829,
|
||||
TH_ProjectorRun_LP = 1830,
|
||||
TH_ProjectorStop = 1831,
|
||||
TH_RiverWaterFlow_LP = 1832,
|
||||
TH_Waterfall_LP = 1833,
|
||||
TH_WaterWheel_LP = 1834,
|
||||
TH_ModelRocketThrustRotational = 1835,
|
||||
TH_ModelRocketThrustTranslational_LP = 1836,
|
||||
TH_Campfire_Ignite = 1837,
|
||||
TH_RockingChair = 1838,
|
||||
TH_BanjoTuning = 1839,
|
||||
TH_PickaxeImpact = 1840,
|
||||
TH_WoodCarving = 1841,
|
||||
TH_RadioSignal_LP = 1842,
|
||||
BH_BreakawayFragment = 1900,
|
||||
BH_VolcanicMoonSurface_LP = 1901,
|
||||
BH_BreakawayPlatform = 1902,
|
||||
BH_MeteorImpact = 1903,
|
||||
BH_BlackHoleEmission = 1904,
|
||||
BH_SurfaceAmbience_LP = 1905,
|
||||
BH_SubsurfaceAmbience_LP = 1906,
|
||||
WHS_StationActivation = 1907,
|
||||
BH_ForgeMoving_LP = 1908,
|
||||
BH_MeteorLaunch = 1909,
|
||||
GD_OceanSurface_LP = 2000,
|
||||
GD_UnderwaterAmbient_LP = 2002,
|
||||
GD_CoreAmbient_LP = 2004,
|
||||
GD_ElectricBarrier_LP = 2005,
|
||||
GD_Tornado_LP = 2006,
|
||||
GD_Lightning = 2007,
|
||||
GD_RainAmbient_LP = 2008,
|
||||
GD_IslandSplash = 2009,
|
||||
GD_IslandFalling = 2010,
|
||||
GD_IslandLiftedByTornado = 2011,
|
||||
GD_WavesBeach_LP = 2012,
|
||||
GD_WavesRock_LP = 2013,
|
||||
GD_CaveAmbience_LP = 2014,
|
||||
GD_UnderwaterCurrent_LP = 2015,
|
||||
DBAnglerfishLurking_LP = 2100,
|
||||
DBAnglerfishChasing_LP = 2101,
|
||||
DBAnglerfishDetectDisturbance = 2102,
|
||||
DBAnglerfishDetectTarget = 2103,
|
||||
DBAnglerfishBite = 2104,
|
||||
DBAnglerfishChomp = 2105,
|
||||
DBAnglerfishOpeningMouth = 2106,
|
||||
DB_Ambience_LP = 2107,
|
||||
DB_VineImpact = 2108,
|
||||
CometAmbience_LP = 2200,
|
||||
CometIceMelting_LP = 2201,
|
||||
SolanumStaffContact = 2210,
|
||||
SolanumStomp = 2211,
|
||||
SolanumCairnAssembly = 2212,
|
||||
SolanumCairnSettle = 2213,
|
||||
SolanumSymbolReveal = 2214,
|
||||
SolanumEnterWriting = 2215,
|
||||
SolanumExitWriting = 2216,
|
||||
SolanumEnterIcon = 2217,
|
||||
SolanumExitIcon = 2218,
|
||||
SolanumEnterRaiseCairn = 2219,
|
||||
SolanumExitRaiseCairn = 2220,
|
||||
EyeAmbience_LP = 2250,
|
||||
EyeLightning = 2251,
|
||||
EyeVortex_LP = 2252,
|
||||
VesselAmbience_LP = 2253,
|
||||
EyeVortexEntry = 2254,
|
||||
EyeVortexExit = 2255,
|
||||
EyeGalaxyZoom = 2260,
|
||||
EyeGalaxyBlowAway = 2261,
|
||||
EyeBigGalaxyBurn = 2262,
|
||||
EyeShuttleFlight = 2270,
|
||||
EyeShuttleIntoLight = 2271,
|
||||
EyeSmokeSpherePulse = 2280,
|
||||
EyeSmokeSphereCollapse = 2281,
|
||||
EyeCosmicInflation = 2282,
|
||||
EyeBigBang = 2283,
|
||||
EyeBigBangWall_LP = 2284,
|
||||
EyeSmokeSphereEntry = 2285,
|
||||
EyeSphereInflation = 2286,
|
||||
TravelerEsker = 2300,
|
||||
TravelerChert = 2301,
|
||||
TravelerRiebeck = 2302,
|
||||
TravelerGabbro = 2303,
|
||||
TravelerFeldspar = 2304,
|
||||
TravelerNomai = 2305,
|
||||
TravelerEnd_All = 2306,
|
||||
TravelerEnd_NoPiano = 2307,
|
||||
SingularityCreate = 2400,
|
||||
SingularityCollapse = 2401,
|
||||
SingularityOnPlayerEnterExit = 2402,
|
||||
SingularityOnObjectEnter = 2403,
|
||||
SingularityOnObjectExit = 2404,
|
||||
Singularity_BlackHole_LP = 2405,
|
||||
Singularity_WhiteHole_LP = 2406,
|
||||
VesselSingularityCreate = 2407,
|
||||
VesselSingularityCollapse = 2408,
|
||||
Sun_Ambience_LP = 2412,
|
||||
Sun_Explosion = 2413,
|
||||
Sun_SupernovaWall_LP = 2414,
|
||||
Sun_Collapse = 2415,
|
||||
QuantumAmbience_LP = 2424,
|
||||
WhiteHoleAmbience_LP = 2425,
|
||||
BlackHoleAmbience_LP = 2426,
|
||||
TimelineEndEffect_Shadow = 2427,
|
||||
TimelineEndEffect_Cracks = 2428,
|
||||
TimelineEndEffect_Shatter = 2429,
|
||||
FigBackerVideo = 2440,
|
||||
CometPurr = 2441,
|
||||
Death_Instant = 2450,
|
||||
Death_Crushed = 2451,
|
||||
Death_Energy = 2452,
|
||||
Death_Digestion = 2453,
|
||||
Death_TimeLoop = 2454,
|
||||
Death_Self = 2455,
|
||||
Death_BigBang = 2456,
|
||||
Death_Lava = 2457,
|
||||
Death_CrushedByElevator = 2458,
|
||||
MemoryUplink_Start = 2460,
|
||||
MemoryUplink_End = 2461,
|
||||
MemoryUplink_LP = 2462,
|
||||
MemoryUplink_Overlay_LP = 2463,
|
||||
Flashback_End = 2465,
|
||||
Flashback_Base_LP = 2466,
|
||||
Flashback_Overlay_1_LP = 2467,
|
||||
Flashback_Overlay_2_LP = 2468,
|
||||
NomaiRuinsBaseTrack = 2500,
|
||||
NomaiRuinsBaseScaryTrack = 2501,
|
||||
NomaiRuinsOverlayTracks = 2502,
|
||||
HT_City = 2503,
|
||||
TH_Observatory = 2504,
|
||||
TH_Village = 2505,
|
||||
BH_Observatory = 2506,
|
||||
GD_UnderwaterExploration = 2507,
|
||||
QM_Ambient = 2508,
|
||||
DB_Ambient = 2509,
|
||||
TimeLoopDevice_Ambient = 2510,
|
||||
EndOfTime = 2511,
|
||||
EndOfTime_DBFinal = 2512,
|
||||
EndOfTime_Final = 2513,
|
||||
Travel_Theme = 2514,
|
||||
SunStation = 2515,
|
||||
SadNomaiTheme = 2516,
|
||||
DB_VesselDiscovery = 2517,
|
||||
EYE_ForestOfGalaxies = 2518,
|
||||
EndOfTime_Final_LP = 2519,
|
||||
EYE_QuantumFoamApproach = 2520,
|
||||
EYE_EndOfGame = 2521,
|
||||
MainMenuTheme = 2522,
|
||||
FinalCredits = 2523,
|
||||
PostCredits = 2524,
|
||||
KazooTheme = 2525,
|
||||
Raft_Impact_Light = 2550,
|
||||
Raft_Impact_Medium = 2551,
|
||||
Raft_Impact_Heavy = 2552,
|
||||
Raft_Push = 2553,
|
||||
Raft_Reel_Start = 2554,
|
||||
Raft_Reel_Loop = 2555,
|
||||
Raft_Reel_End = 2556,
|
||||
Raft_Socket = 2557,
|
||||
Raft_Release = 2558,
|
||||
Raft_RunAground = 2559,
|
||||
Raft_Move_Start = 2560,
|
||||
Raft_Move_Loop = 2561,
|
||||
Raft_Move_End = 2562,
|
||||
Raft_Impact_Player = 2563,
|
||||
Raft_DW_Turbo = 2564,
|
||||
Door_SensorSliding_Loop = 2570,
|
||||
Door_Loop = 2571,
|
||||
Door_Loop_Creaking = 2572,
|
||||
Door_OpenStart = 2573,
|
||||
Door_OpenStop = 2574,
|
||||
Door_CloseStart = 2575,
|
||||
Door_CloseStop = 2576,
|
||||
Door_Metal_OpenStart = 2577,
|
||||
Door_Metal_OpenStop = 2578,
|
||||
Door_Metal_CloseStart = 2579,
|
||||
Door_Metal_CloseStop = 2580,
|
||||
Door_Small_OpenStart = 2581,
|
||||
Door_Small_OpenStop = 2582,
|
||||
Door_Small_CloseStart = 2583,
|
||||
Door_Small_CloseStop = 2584,
|
||||
SecretPassage_Start = 2590,
|
||||
SecretPassage_Loop = 2591,
|
||||
SecretPassage_Stop = 2592,
|
||||
Airlock_Open = 2593,
|
||||
Airlock_Loop = 2594,
|
||||
Airlock_Close = 2595,
|
||||
Airlock_Pressurize = 2596,
|
||||
Airlock_Depressurize = 2597,
|
||||
AirRushingOut = 2598,
|
||||
SlideReel_Pickup = 2600,
|
||||
SlideReel_Drop = 2601,
|
||||
SlideReel_Insert = 2602,
|
||||
SlideReel_Remove = 2603,
|
||||
Lantern_Pickup = 2604,
|
||||
Lantern_Drop = 2605,
|
||||
Lantern_Insert = 2606,
|
||||
Lantern_Remove = 2607,
|
||||
Lantern_ShortOut = 2608,
|
||||
Artifact_Pickup = 2609,
|
||||
Artifact_Drop = 2610,
|
||||
Artifact_Light = 2611,
|
||||
Artifact_Extinguish = 2612,
|
||||
Artifact_Conceal = 2613,
|
||||
Artifact_Unconceal = 2614,
|
||||
Artifact_Focus = 2615,
|
||||
Artifact_Unfocus = 2616,
|
||||
Artifact_Crackling_Loop = 2617,
|
||||
Artifact_Insert = 2618,
|
||||
Artifact_Remove = 2619,
|
||||
VisionTorch_ProjectionOn = 2620,
|
||||
VisionTorch_ProjectionOff = 2621,
|
||||
VisionTorch_EnterVision = 2622,
|
||||
VisionTorch_ExitVision = 2623,
|
||||
VisionTorch_NextSlide = 2624,
|
||||
VisionTorch_Scanning_Loop = 2625,
|
||||
VisionTorch_Crackling_Loop = 2626,
|
||||
VisionTorch_Give = 2627,
|
||||
VisionTorch_Take = 2628,
|
||||
DamBreak_RW_Base = 2650,
|
||||
DamBreak_DW_Base = 2651,
|
||||
DamBreak_RW_Water = 2652,
|
||||
DamCrack = 2653,
|
||||
DamCrack_Loop = 2654,
|
||||
WaterSpray_Small = 2660,
|
||||
WaterSpray_Large = 2661,
|
||||
Splash_Medium = 2662,
|
||||
Splash_Large = 2663,
|
||||
WoodDebris = 2670,
|
||||
WoodImpact_Small = 2671,
|
||||
WoodImpact_Large = 2672,
|
||||
HouseCollapse_Zone3 = 2673,
|
||||
GeneralDestruction = 2674,
|
||||
HouseDestruction = 2675,
|
||||
StiltDestruction = 2676,
|
||||
Tower_RW_Tilt = 2680,
|
||||
Tower_RW_Fall_1 = 2681,
|
||||
Tower_RW_Fall_2 = 2682,
|
||||
Tower_DW_Tilt = 2683,
|
||||
Tower_DW_Fall_1 = 2684,
|
||||
Tower_DW_Fall_2 = 2685,
|
||||
Tower_RW_Splash = 2686,
|
||||
SolarSail_RW_Start = 2690,
|
||||
SolarSail_RW_End = 2691,
|
||||
SolarSail_RW_Loop = 2692,
|
||||
SolarSail_DW_Start = 2693,
|
||||
SolarSail_DW_End = 2694,
|
||||
SolarSail_DW_Loop = 2695,
|
||||
StationFlicker_RW = 2696,
|
||||
StationFlicker_DW = 2697,
|
||||
StationShudder_RW = 2698,
|
||||
StationShudder_DW = 2699,
|
||||
River_DW_Base = 2700,
|
||||
FloodWave_DW_Loop = 2701,
|
||||
River_DW_Lake = 2703,
|
||||
Candle_Light_Big = 2719,
|
||||
Candle_Light_Small = 2720,
|
||||
Candle_Extinguish = 2721,
|
||||
DreamFire_Crackling_Loop = 2722,
|
||||
DreamFire_Extinguish = 2723,
|
||||
DreamFire_Explosion = 2724,
|
||||
LodgeFire_Crackling_Loop = 2725,
|
||||
ProjectorTotem_Pulse = 2729,
|
||||
ProjectorTotem_Light = 2730,
|
||||
ProjectorTotem_Extinguish = 2731,
|
||||
ProjectorTotem_Blow = 2732,
|
||||
GrappleTotem_Zoom = 2733,
|
||||
GrappleTotem_RetroZoom = 2734,
|
||||
Simulation_Enter = 2739,
|
||||
Simulation_Exit = 2740,
|
||||
IllusoryWall_Enter = 2741,
|
||||
IllusoryWall_Exit = 2742,
|
||||
LoadingZone_Enter = 2743,
|
||||
LoadingZone_Exit = 2744,
|
||||
LoadingZone_GlitchOut = 2745,
|
||||
LoadingZone_Loop = 2746,
|
||||
Glitch_Loop = 2747,
|
||||
Sarcophagus_OpenFail = 2760,
|
||||
Sarcophagus_Open = 2761,
|
||||
Sarcophagus_SomethingIsComing = 2762,
|
||||
Sarcophagus_TunnelAmbience = 2763,
|
||||
Sarcophagus_LightsOnAmbience = 2764,
|
||||
Ambience_DW_Base = 2775,
|
||||
Ambience_DW_LightsOut = 2776,
|
||||
Ambience_DW_Hotel = 2777,
|
||||
Ambience_DW_Nature = 2778,
|
||||
Ambience_DW_Forest = 2781,
|
||||
Ambience_DW_Simulation = 2782,
|
||||
Ambience_DW_Underground = 2784,
|
||||
Ambience_DW_FireRoom = 2787,
|
||||
PointSounds_DW_TreeCreak = 2790,
|
||||
PointSounds_DW_Creature_1 = 2791,
|
||||
PointSounds_DW_Creature_2 = 2792,
|
||||
PointSounds_DW_Hotel_2 = 2795,
|
||||
AlarmChime_RW = 2798,
|
||||
AlarmChime_DW = 2799,
|
||||
LightSensor_On = 2800,
|
||||
LightSensor_Off = 2801,
|
||||
LightSensor_Loop = 2802,
|
||||
Projector_Prev = 2803,
|
||||
Projector_Next = 2804,
|
||||
Cloak_Entry = 2805,
|
||||
Cloak_Exit = 2806,
|
||||
GearRotate_Light = 2807,
|
||||
GearRotate_Heavy = 2808,
|
||||
GearRotate_Fail = 2809,
|
||||
CodeTotem_Horizontal = 2810,
|
||||
CodeTotem_Vertical = 2811,
|
||||
CageElevator_Start = 2817,
|
||||
CageElevator_Loop_Winch = 2818,
|
||||
CageElevator_End = 2819,
|
||||
CageElevator_Loop_Rattle = 2820,
|
||||
Ambience_RW_Lab = 2873,
|
||||
Ambience_RW_Tunnel = 2874,
|
||||
Ambience_RW_FireRoom = 2875,
|
||||
Ambience_RW_Base = 2876,
|
||||
Ambience_RW_Cave = 2877,
|
||||
Ambience_RW_Indoor = 2878,
|
||||
River_RW_Base = 2879,
|
||||
River_Underwater = 2880,
|
||||
River_Reservoir = 2881,
|
||||
River_Rapids = 2882,
|
||||
River_Underwater_Rapids = 2883,
|
||||
FloodWave_RW_Loop = 2884,
|
||||
River_RW_Small = 2885,
|
||||
River_RW_Stream = 2886,
|
||||
PostCredit_RuinReveal = 2887,
|
||||
PostCredit_LanternLight = 2889,
|
||||
RaftTravel_River = 2890,
|
||||
RaftTravel_Reservoir = 2891,
|
||||
GhostSequence_ReducedFrights = 2895,
|
||||
GhostSequence_Suspense = 2896,
|
||||
GhostSequence_Dread = 2897,
|
||||
GhostSequence_Fear = 2898,
|
||||
GhostSequence_Fear_Slam = 2899,
|
||||
EndOfTime_Dream = 2900,
|
||||
StationDiscovery = 2901,
|
||||
DreamFireRoom = 2902,
|
||||
EyeTemple_Stinger = 2903,
|
||||
EyeTemple_Basement = 2904,
|
||||
SlideBurningRoom = 2905,
|
||||
SubmergedStructure = 2906,
|
||||
SecretLibrary = 2907,
|
||||
DreamRuinsOverlayTracks = 2908,
|
||||
DreamRuinsBaseTrack = 2909,
|
||||
TravelerPrisoner = 2910,
|
||||
TravelerEnd_All_Prisoner = 2911,
|
||||
TravelerEnd_NoPiano_Prisoner = 2912,
|
||||
Prisoner_Elevator = 2913,
|
||||
Prisoner_Reveal = 2914,
|
||||
Prisoner_Catharsis = 2915,
|
||||
SecretPortrait = 2916,
|
||||
SecretKorok = 2917,
|
||||
PartyHouse_Traveler = 2920,
|
||||
PartyHouse_Vocals = 2921,
|
||||
PartyHouse_Drone = 2922,
|
||||
PartyHouse_Bass = 2923,
|
||||
Reel_Secret_Backdrop_A = 2924,
|
||||
Reel_Secret_Backdrop_B = 2925,
|
||||
Reel_Secret_Beat_Peephole_A = 2926,
|
||||
Reel_Secret_Beat_Peephole_B = 2927,
|
||||
Reel_Secret_Beat_Tower_A = 2928,
|
||||
Reel_Secret_Beat_Tower_B = 2929,
|
||||
Reel_Secret_Beat_Lantern = 2930,
|
||||
Reel_Lab_Backdrop_Fail = 2933,
|
||||
Reel_Lab_Backdrop_Success = 2934,
|
||||
Reel_Lab_Backdrop_Testing = 2935,
|
||||
Reel_Backdrop_Burnt = 2938,
|
||||
Reel_1_Backdrop_A = 2940,
|
||||
Reel_1_Beat_A = 2945,
|
||||
Reel_1_Beat_B = 2946,
|
||||
Reel_1_Beat_C = 2947,
|
||||
Reel_2_Backdrop_A = 2950,
|
||||
Reel_2_Backdrop_B = 2951,
|
||||
Reel_2_Beat_A = 2955,
|
||||
Reel_2_Beat_B = 2956,
|
||||
Reel_2_Beat_C = 2957,
|
||||
Reel_2_Beat_D = 2958,
|
||||
Reel_3_Backdrop_A = 2960,
|
||||
Reel_3_Backdrop_B = 2961,
|
||||
Reel_3_Backdrop_C = 2962,
|
||||
Reel_3_Beat_A = 2965,
|
||||
Reel_3_Beat_B = 2966,
|
||||
Reel_3_Beat_C = 2967,
|
||||
Reel_3_Beat_D = 2968,
|
||||
Reel_4_Backdrop_A = 2970,
|
||||
Reel_4_Beat_A = 2975,
|
||||
Reel_4_Beat_B = 2976,
|
||||
Reel_4_Beat_C = 2977,
|
||||
Reel_4_Beat_D = 2978,
|
||||
Reel_5_Long = 2980,
|
||||
Reel_5_Short = 2981,
|
||||
Reel_Farewell = 2985,
|
||||
Reel_Rule_Beat_DarkDiscovery = 2986,
|
||||
Reel_Rule_Backdrop_Discovery = 2987,
|
||||
Reel_Rule_Beat_Discovery = 2988,
|
||||
Reel_Rule_Backdrop_Dream = 2989,
|
||||
Reel_Rule_Backdrop_Normal = 2990,
|
||||
Reel_Rule_Backdrop_Glitch = 2991,
|
||||
Reel_LibraryPath_Backdrop = 2992,
|
||||
Reel_Rule2a_Beat_A = 2993,
|
||||
Reel_Seal_Backdrop = 2994,
|
||||
Reel_Burning_Backdrop_A = 2995,
|
||||
Reel_Burning_Backdrop_B = 2996,
|
||||
Reel_Burning_Beat_A = 2997,
|
||||
Reel_Burning_Beat_B = 2998,
|
||||
Reel_Burning_Beat_C = 2999,
|
||||
Ghost_DeathGroup = 3000,
|
||||
Ghost_DeathSingle = 3001,
|
||||
Ghost_Grab_Swish = 3002,
|
||||
Ghost_Grab_Contact = 3003,
|
||||
Ghost_BlowOut_Charge = 3004,
|
||||
Ghost_BlowOut_Extinguish = 3005,
|
||||
Ghost_NeckSnap = 3006,
|
||||
Ghost_Identify_Curious = 3010,
|
||||
Ghost_Identify_Irritated = 3011,
|
||||
Ghost_Identify_Fail = 3012,
|
||||
Ghost_Chase = 3013,
|
||||
Ghost_Stalk = 3014,
|
||||
Ghost_Hunt = 3015,
|
||||
Ghost_HuntFail = 3016,
|
||||
Ghost_Grab_Scream = 3017,
|
||||
Ghost_Stalk_Fast = 3018,
|
||||
Ghost_Grab_Shout = 3019,
|
||||
Ghost_SomeoneIsInHereHowl = 3020,
|
||||
Ghost_IntruderConfirmed = 3021,
|
||||
Ghost_IntruderConfirmedResponse = 3022,
|
||||
Ghost_CallForHelp = 3023,
|
||||
Ghost_CallForHelpResponse = 3024,
|
||||
Ghost_Laugh = 3025,
|
||||
Ghost_Footstep_Wood = 3030,
|
||||
Ghost_Footstep_Wood_Running = 3031,
|
||||
Ghost_Footstep_Forest = 3032,
|
||||
Ghost_Footstep_Forest_Running = 3033,
|
||||
Ghost_Footstep_Gravel = 3034,
|
||||
Ghost_Footstep_Wood_Stompy = 3035,
|
||||
Prisoner_ReactToVision_Vocals = 3050,
|
||||
Prisoner_RevealToStand_Vocals_1 = 3051,
|
||||
Prisoner_RevealToStand_Vocals_2 = 3052,
|
||||
Prisoner_PickUpArtifact = 3053,
|
||||
Prisoner_PickUpTorch = 3054,
|
||||
Prisoner_ClothFoley = 3055
|
||||
Loading…
x
Reference in New Issue
Block a user