diff --git a/TRLevelControl/Control/TR2LevelControl.cs b/TRLevelControl/Control/TR2LevelControl.cs index acc9bc88..b50e8f2b 100644 --- a/TRLevelControl/Control/TR2LevelControl.cs +++ b/TRLevelControl/Control/TR2LevelControl.cs @@ -322,7 +322,6 @@ private void ReadSoundEffects(TRLevelReader reader) { Volume = reader.ReadUInt16(), Chance = reader.ReadUInt16(), - Samples = new() }); sfx[i].SetFlags(reader.ReadUInt16()); @@ -331,14 +330,9 @@ private void ReadSoundEffects(TRLevelReader reader) uint numSampleIndices = reader.ReadUInt32(); uint[] sampleIndices = reader.ReadUInt32s(numSampleIndices); - foreach (int soundID in sampleMap.Keys) + foreach (var (soundID, samplePointer) in sampleMap) { - TR2SoundEffect effect = sfx[soundID]; - ushort baseIndex = sampleMap[soundID]; - for (int i = 0; i < effect.Samples.Capacity; i++) - { - effect.Samples.Add(sampleIndices[baseIndex + i]); - } + sfx[soundID].SampleID = sampleIndices[samplePointer]; } for (int i = 0; i < soundMap.Length; i++) @@ -354,33 +348,38 @@ private void ReadSoundEffects(TRLevelReader reader) private void WriteSoundEffects(TRLevelWriter writer) { - short detailsIndex = 0; - foreach (TR2SFX id in Enum.GetValues()) + List effects = new(_level.SoundEffects.Values); + List sampleIndices = effects.SelectMany(s => Enumerable.Range((int)s.SampleID, s.SampleCount)) + .Select(s => (uint)s) + .Distinct().ToList(); + + sampleIndices.Sort(); + + Dictionary sampleMap = new(); + foreach (TR2SoundEffect effect in effects) { - writer.Write(_level.SoundEffects.ContainsKey(id) ? detailsIndex++ : (short)-1); + sampleMap[effect] = (ushort)sampleIndices.IndexOf(effect.SampleID); } - List samplePointers = new(); - foreach (var (_, effect) in _level.SoundEffects) + effects.Sort((e1, e2) => sampleMap[e1].CompareTo(sampleMap[e2])); + + foreach (TR2SFX id in Enum.GetValues()) { - if (!samplePointers.Contains(effect.Samples.First())) - { - samplePointers.AddRange(effect.Samples); - } + writer.Write(_level.SoundEffects.ContainsKey(id) + ? (short)effects.IndexOf(_level.SoundEffects[id]) + : (short)-1); } - samplePointers.Sort(); writer.Write((uint)_level.SoundEffects.Count); - foreach (var (_, effect) in _level.SoundEffects) + foreach (TR2SoundEffect effect in effects) { - uint firstSample = effect.Samples.First(); - writer.Write((ushort)samplePointers.IndexOf(firstSample)); + writer.Write(sampleMap[effect]); writer.Write(effect.Volume); writer.Write(effect.Chance); writer.Write(effect.GetFlags()); } - writer.Write((uint)samplePointers.Count); - writer.Write(samplePointers); + writer.Write((uint)sampleIndices.Count); + writer.Write(sampleIndices); } } diff --git a/TRLevelControl/Control/TR3LevelControl.cs b/TRLevelControl/Control/TR3LevelControl.cs index 33b23de1..b979debb 100644 --- a/TRLevelControl/Control/TR3LevelControl.cs +++ b/TRLevelControl/Control/TR3LevelControl.cs @@ -324,7 +324,6 @@ private void ReadSoundEffects(TRLevelReader reader) Range = reader.ReadByte(), Chance = reader.ReadByte(), Pitch = reader.ReadByte(), - Samples = new() }); sfx[i].SetFlags(reader.ReadUInt16()); @@ -333,14 +332,9 @@ private void ReadSoundEffects(TRLevelReader reader) uint numSampleIndices = reader.ReadUInt32(); uint[] sampleIndices = reader.ReadUInt32s(numSampleIndices); - foreach (int soundID in sampleMap.Keys) + foreach (var (soundID, samplePointer) in sampleMap) { - TR3SoundEffect effect = sfx[soundID]; - ushort baseIndex = sampleMap[soundID]; - for (int i = 0; i < effect.Samples.Capacity; i++) - { - effect.Samples.Add(sampleIndices[baseIndex + i]); - } + sfx[soundID].SampleID = sampleIndices[samplePointer]; } for (int i = 0; i < soundMap.Length; i++) @@ -356,27 +350,32 @@ private void ReadSoundEffects(TRLevelReader reader) private void WriteSoundEffects(TRLevelWriter writer) { - short detailsIndex = 0; - foreach (TR3SFX id in Enum.GetValues()) + List effects = new(_level.SoundEffects.Values); + List sampleIndices = effects.SelectMany(s => Enumerable.Range((int)s.SampleID, s.SampleCount)) + .Select(s => (uint)s) + .Distinct().ToList(); + + sampleIndices.Sort(); + + Dictionary sampleMap = new(); + foreach (TR3SoundEffect effect in effects) { - writer.Write(_level.SoundEffects.ContainsKey(id) ? detailsIndex++ : (short)-1); + sampleMap[effect] = (ushort)sampleIndices.IndexOf(effect.SampleID); } - List samplePointers = new(); - foreach (var (_, effect) in _level.SoundEffects) + effects.Sort((e1, e2) => sampleMap[e1].CompareTo(sampleMap[e2])); + + foreach (TR3SFX id in Enum.GetValues()) { - if (!samplePointers.Contains(effect.Samples.First())) - { - samplePointers.AddRange(effect.Samples); - } + writer.Write(_level.SoundEffects.ContainsKey(id) + ? (short)effects.IndexOf(_level.SoundEffects[id]) + : (short)-1); } - samplePointers.Sort(); writer.Write((uint)_level.SoundEffects.Count); - foreach (var (_, effect) in _level.SoundEffects) + foreach (TR3SoundEffect effect in effects) { - uint firstSample = effect.Samples.First(); - writer.Write((ushort)samplePointers.IndexOf(firstSample)); + writer.Write(sampleMap[effect]); writer.Write(effect.Volume); writer.Write(effect.Range); writer.Write(effect.Chance); @@ -384,7 +383,7 @@ private void WriteSoundEffects(TRLevelWriter writer) writer.Write(effect.GetFlags()); } - writer.Write((uint)samplePointers.Count); - writer.Write(samplePointers); + writer.Write((uint)sampleIndices.Count); + writer.Write(sampleIndices); } } diff --git a/TRLevelControl/Model/TR2/TR2SoundEffect.cs b/TRLevelControl/Model/TR2/TR2SoundEffect.cs index 7e335822..05b34f52 100644 --- a/TRLevelControl/Model/TR2/TR2SoundEffect.cs +++ b/TRLevelControl/Model/TR2/TR2SoundEffect.cs @@ -4,11 +4,12 @@ public class TR2SoundEffect : TRSoundEffect { public ushort Volume { get; set; } public ushort Chance { get; set; } - public List Samples { get; set; } + public uint SampleID { get; set; } + public int SampleCount { get; set; } protected override void SetSampleCount(int count) - => Samples.Capacity = count; + => SampleCount = count; protected override int GetSampleCount() - => Samples.Count; + => SampleCount; } diff --git a/TRLevelControl/Model/TR3/TR3SoundEffect.cs b/TRLevelControl/Model/TR3/TR3SoundEffect.cs index 3f013dcd..e04184c8 100644 --- a/TRLevelControl/Model/TR3/TR3SoundEffect.cs +++ b/TRLevelControl/Model/TR3/TR3SoundEffect.cs @@ -6,11 +6,12 @@ public class TR3SoundEffect : TRSoundEffect public byte Chance { get; set; } public byte Range { get; set; } public byte Pitch { get; set; } - public List Samples { get; set; } + public uint SampleID { get; set; } + public int SampleCount { get; set; } protected override void SetSampleCount(int count) - => Samples.Capacity = count; + => SampleCount = count; protected override int GetSampleCount() - => Samples.Count; + => SampleCount; } diff --git a/TRRandomizerCore/Randomizers/TR2/TR2AudioRandomizer.cs b/TRRandomizerCore/Randomizers/TR2/TR2AudioRandomizer.cs index 4c1bd96b..fa3713f3 100644 --- a/TRRandomizerCore/Randomizers/TR2/TR2AudioRandomizer.cs +++ b/TRRandomizerCore/Randomizers/TR2/TR2AudioRandomizer.cs @@ -12,6 +12,8 @@ namespace TRRandomizerCore.Randomizers; public class TR2AudioRandomizer : BaseTR2Randomizer { + private const int _numSamples = 408; // Number of entries in MAIN.SFX + private AudioRandomizer _audioRandomizer; private List _soundEffects; @@ -142,12 +144,10 @@ private void RandomizeSecretTracks(TR2Level level) { entries.Add(new FDTriggerEntry { - Actions = new List + TrigType = FDTrigType.Pickup, + Actions = new() { - new() - { - Parameter = (short)entityIndex - }, + new() { Parameter = (short)entityIndex }, musicAction } }); @@ -208,20 +208,14 @@ private void RandomizeSoundEffects(TR2CombinedLevel level) if (IsUncontrolledLevel(level.Script)) { // Choose a random but unique pointer into MAIN.SFX for each sample. - int maxSample = Enum.GetValues().Length; HashSet indices = new(); - foreach (var (_, effect) in level.Data.SoundEffects) + foreach (TR2SoundEffect effect in level.Data.SoundEffects.Values) { - for (int i = 0; i < effect.Samples.Count; i++) + do { - uint sample; - do - { - sample = (uint)_generator.Next(0, maxSample + 1); - } - while (!indices.Add(sample)); - effect.Samples[i] = sample; + effect.SampleID = (uint)_generator.Next(0, _numSamples + 1 - Math.Max(effect.SampleCount, 1)); } + while (!indices.Add(effect.SampleID)); } } else diff --git a/TRRandomizerCore/Randomizers/TR2R/TR2RAudioRandomizer.cs b/TRRandomizerCore/Randomizers/TR2R/TR2RAudioRandomizer.cs index 7ab33474..508f24ca 100644 --- a/TRRandomizerCore/Randomizers/TR2R/TR2RAudioRandomizer.cs +++ b/TRRandomizerCore/Randomizers/TR2R/TR2RAudioRandomizer.cs @@ -12,6 +12,8 @@ namespace TRRandomizerCore.Randomizers; public class TR2RAudioRandomizer : BaseTR2RRandomizer { + private const int _numSamples = 412; + private AudioRandomizer _audioRandomizer; private List _soundEffects; @@ -129,12 +131,10 @@ private void RandomizeSecretTracks(TR2Level level) { entries.Add(new FDTriggerEntry { + TrigType = FDTrigType.Pickup, Actions = new() { - new() - { - Parameter = (short)entityIndex - }, + new() { Parameter = (short)entityIndex }, musicAction } }); @@ -188,20 +188,14 @@ private void RandomizeSoundEffects(TR2RCombinedLevel level) if (IsUncontrolledLevel(level.Script)) { - int maxSample = Enum.GetValues().Length; HashSet indices = new(); - foreach (var (_, effect) in level.Data.SoundEffects) + foreach (TR2SoundEffect effect in level.Data.SoundEffects.Values) { - for (int i = 0; i < effect.Samples.Count; i++) + do { - uint sample; - do - { - sample = (uint)_generator.Next(0, maxSample + 1); - } - while (!indices.Add(sample)); - effect.Samples[i] = sample; + effect.SampleID = (uint)_generator.Next(0, _numSamples + 1 - Math.Max(effect.SampleCount, 1)); } + while (!indices.Add(effect.SampleID)); } } else diff --git a/TRRandomizerCore/Randomizers/TR3/TR3AudioRandomizer.cs b/TRRandomizerCore/Randomizers/TR3/TR3AudioRandomizer.cs index 1eee5106..49df473a 100644 --- a/TRRandomizerCore/Randomizers/TR3/TR3AudioRandomizer.cs +++ b/TRRandomizerCore/Randomizers/TR3/TR3AudioRandomizer.cs @@ -13,6 +13,7 @@ namespace TRRandomizerCore.Randomizers; public class TR3AudioRandomizer : BaseTR3Randomizer { private const int _defaultSecretTrack = 122; + private const int _numSamples = 414; private AudioRandomizer _audioRandomizer; private TRAudioTrack _fixedSecretTrack; @@ -176,21 +177,15 @@ private void RandomizeSoundEffects(TR3CombinedLevel level) if (IsUncontrolledLevel(level.Script)) { - // Choose a random sample for each current entry and replace the entire index list. - int maxSample = Enum.GetValues().Length; + // Choose a random but unique pointer into MAIN.SFX for each sample. HashSet indices = new(); - foreach (var (_, effect) in level.Data.SoundEffects) + foreach (TR3SoundEffect effect in level.Data.SoundEffects.Values) { - for (int i = 0; i < effect.Samples.Count; i++) + do { - uint sample; - do - { - sample = (uint)_generator.Next(0, maxSample + 1); - } - while (!indices.Add(sample)); - effect.Samples[i] = sample; + effect.SampleID = (uint)_generator.Next(0, _numSamples + 1 - Math.Max(effect.SampleCount, 1)); } + while (!indices.Add(effect.SampleID)); } } else diff --git a/TRRandomizerCore/Randomizers/TR3R/TR3RAudioRandomizer.cs b/TRRandomizerCore/Randomizers/TR3R/TR3RAudioRandomizer.cs index 6e3b8ce3..4411f586 100644 --- a/TRRandomizerCore/Randomizers/TR3R/TR3RAudioRandomizer.cs +++ b/TRRandomizerCore/Randomizers/TR3R/TR3RAudioRandomizer.cs @@ -13,6 +13,7 @@ namespace TRRandomizerCore.Randomizers; public class TR3RAudioRandomizer : BaseTR3RRandomizer { private const int _defaultSecretTrack = 122; + private const int _numSamples = 414; private AudioRandomizer _audioRandomizer; @@ -151,20 +152,16 @@ private void RandomizeSoundEffects(TR3RCombinedLevel level) if (IsUncontrolledLevel(level.Script)) { - int maxSample = Enum.GetValues().Length; HashSet indices = new(); - foreach (var (_, effect) in level.Data.SoundEffects) + foreach (TR3SoundEffect effect in level.Data.SoundEffects.Values) { - for (int i = 0; i < effect.Samples.Count; i++) + uint sampleIndex; + do { - uint sample; - do - { - sample = (uint)_generator.Next(0, maxSample + 1); - } - while (!indices.Add(sample)); - effect.Samples[i] = sample; + sampleIndex = (uint)_generator.Next(0, _numSamples + 1 - Math.Max(effect.SampleCount, 1)); } + while (!indices.Add(sampleIndex)); + effect.SampleID = sampleIndex; } } else diff --git a/TRRandomizerCore/Resources/TR2/Objects/BENGALTIGER.TRB b/TRRandomizerCore/Resources/TR2/Objects/BENGALTIGER.TRB index b7271420..b655cb77 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/BENGALTIGER.TRB and b/TRRandomizerCore/Resources/TR2/Objects/BENGALTIGER.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/BIRDMONSTER.TRB b/TRRandomizerCore/Resources/TR2/Objects/BIRDMONSTER.TRB index 3b21f4bd..673cb060 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/BIRDMONSTER.TRB and b/TRRandomizerCore/Resources/TR2/Objects/BIRDMONSTER.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/BLACKMORAYEEL.TRB b/TRRandomizerCore/Resources/TR2/Objects/BLACKMORAYEEL.TRB index bc5fc656..73824667 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/BLACKMORAYEEL.TRB and b/TRRandomizerCore/Resources/TR2/Objects/BLACKMORAYEEL.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/BOAT.TRB b/TRRandomizerCore/Resources/TR2/Objects/BOAT.TRB index 2e5f9cc0..d28c5e9e 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/BOAT.TRB and b/TRRandomizerCore/Resources/TR2/Objects/BOAT.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/CROW.TRB b/TRRandomizerCore/Resources/TR2/Objects/CROW.TRB index f27b04b2..0ccf367c 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/CROW.TRB and b/TRRandomizerCore/Resources/TR2/Objects/CROW.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/DOBERMAN.TRB b/TRRandomizerCore/Resources/TR2/Objects/DOBERMAN.TRB index b80e452d..4f7c54cb 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/DOBERMAN.TRB and b/TRRandomizerCore/Resources/TR2/Objects/DOBERMAN.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/DRAGONEXPLOSION1_H.TRB b/TRRandomizerCore/Resources/TR2/Objects/DRAGONEXPLOSION1_H.TRB index d7b18f0c..c91caf43 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/DRAGONEXPLOSION1_H.TRB and b/TRRandomizerCore/Resources/TR2/Objects/DRAGONEXPLOSION1_H.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/DRAGONFRONT_H.TRB b/TRRandomizerCore/Resources/TR2/Objects/DRAGONFRONT_H.TRB index 5020a061..d7101899 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/DRAGONFRONT_H.TRB and b/TRRandomizerCore/Resources/TR2/Objects/DRAGONFRONT_H.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/EAGLE.TRB b/TRRandomizerCore/Resources/TR2/Objects/EAGLE.TRB index 70a16bac..17a56e7a 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/EAGLE.TRB and b/TRRandomizerCore/Resources/TR2/Objects/EAGLE.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/FLAMETHROWERGOONOG.TRB b/TRRandomizerCore/Resources/TR2/Objects/FLAMETHROWERGOONOG.TRB index f02d6030..4779aa69 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/FLAMETHROWERGOONOG.TRB and b/TRRandomizerCore/Resources/TR2/Objects/FLAMETHROWERGOONOG.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/FLAMETHROWERGOONTOPIXTOR.TRB b/TRRandomizerCore/Resources/TR2/Objects/FLAMETHROWERGOONTOPIXTOR.TRB index aa0dada6..d569c147 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/FLAMETHROWERGOONTOPIXTOR.TRB and b/TRRandomizerCore/Resources/TR2/Objects/FLAMETHROWERGOONTOPIXTOR.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/GIANTSPIDER.TRB b/TRRandomizerCore/Resources/TR2/Objects/GIANTSPIDER.TRB index 0060b5c0..bb88cc2e 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/GIANTSPIDER.TRB and b/TRRandomizerCore/Resources/TR2/Objects/GIANTSPIDER.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/GUNMAN1OG.TRB b/TRRandomizerCore/Resources/TR2/Objects/GUNMAN1OG.TRB index 1334bb9d..2e28dc48 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/GUNMAN1OG.TRB and b/TRRandomizerCore/Resources/TR2/Objects/GUNMAN1OG.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/GUNMAN1TOPIXTORCAC.TRB b/TRRandomizerCore/Resources/TR2/Objects/GUNMAN1TOPIXTORCAC.TRB index b2446433..2ec74508 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/GUNMAN1TOPIXTORCAC.TRB and b/TRRandomizerCore/Resources/TR2/Objects/GUNMAN1TOPIXTORCAC.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/GUNMAN1TOPIXTORORC.TRB b/TRRandomizerCore/Resources/TR2/Objects/GUNMAN1TOPIXTORORC.TRB index 1a34a352..898ccd70 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/GUNMAN1TOPIXTORORC.TRB and b/TRRandomizerCore/Resources/TR2/Objects/GUNMAN1TOPIXTORORC.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/GUNMAN2.TRB b/TRRandomizerCore/Resources/TR2/Objects/GUNMAN2.TRB index 59034daa..4276eab7 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/GUNMAN2.TRB and b/TRRandomizerCore/Resources/TR2/Objects/GUNMAN2.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/KNIFETHROWER.TRB b/TRRandomizerCore/Resources/TR2/Objects/KNIFETHROWER.TRB index 3a3b7545..610ae4c1 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/KNIFETHROWER.TRB and b/TRRandomizerCore/Resources/TR2/Objects/KNIFETHROWER.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/LARABOATANIM_H.TRB b/TRRandomizerCore/Resources/TR2/Objects/LARABOATANIM_H.TRB index 7fa6947b..b43e4813 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/LARABOATANIM_H.TRB and b/TRRandomizerCore/Resources/TR2/Objects/LARABOATANIM_H.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/LARAGRENADEANIM_H.TRB b/TRRandomizerCore/Resources/TR2/Objects/LARAGRENADEANIM_H.TRB index 3013a5f5..e9501dc7 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/LARAGRENADEANIM_H.TRB and b/TRRandomizerCore/Resources/TR2/Objects/LARAGRENADEANIM_H.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/LARAHARPOONANIM_H.TRB b/TRRandomizerCore/Resources/TR2/Objects/LARAHARPOONANIM_H.TRB index 4e1a799b..2f58dcd2 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/LARAHARPOONANIM_H.TRB and b/TRRandomizerCore/Resources/TR2/Objects/LARAHARPOONANIM_H.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/LARAHOME.TRB b/TRRandomizerCore/Resources/TR2/Objects/LARAHOME.TRB index f6461a62..97eac37a 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/LARAHOME.TRB and b/TRRandomizerCore/Resources/TR2/Objects/LARAHOME.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/LARAM16ANIM_H.TRB b/TRRandomizerCore/Resources/TR2/Objects/LARAM16ANIM_H.TRB index 9aaafff7..97676ec3 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/LARAM16ANIM_H.TRB and b/TRRandomizerCore/Resources/TR2/Objects/LARAM16ANIM_H.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/LARAMISCANIM_H_UNWATER.TRB b/TRRandomizerCore/Resources/TR2/Objects/LARAMISCANIM_H_UNWATER.TRB index e0fccce5..d6a19ff0 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/LARAMISCANIM_H_UNWATER.TRB and b/TRRandomizerCore/Resources/TR2/Objects/LARAMISCANIM_H_UNWATER.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/LARASHOTGUNANIM_H.TRB b/TRRandomizerCore/Resources/TR2/Objects/LARASHOTGUNANIM_H.TRB index 1f5d07e9..54dd7fb3 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/LARASHOTGUNANIM_H.TRB and b/TRRandomizerCore/Resources/TR2/Objects/LARASHOTGUNANIM_H.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/LARASNOW.TRB b/TRRandomizerCore/Resources/TR2/Objects/LARASNOW.TRB index 0da59f52..718454e2 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/LARASNOW.TRB and b/TRRandomizerCore/Resources/TR2/Objects/LARASNOW.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/LARASNOWMOBANIM_H.TRB b/TRRandomizerCore/Resources/TR2/Objects/LARASNOWMOBANIM_H.TRB index 7ddd2e59..febe7422 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/LARASNOWMOBANIM_H.TRB and b/TRRandomizerCore/Resources/TR2/Objects/LARASNOWMOBANIM_H.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/LARASUN.TRB b/TRRandomizerCore/Resources/TR2/Objects/LARASUN.TRB index e649c1bf..3a935d84 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/LARASUN.TRB and b/TRRandomizerCore/Resources/TR2/Objects/LARASUN.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/LARAUNWATER.TRB b/TRRandomizerCore/Resources/TR2/Objects/LARAUNWATER.TRB index 2648bb0b..4887958b 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/LARAUNWATER.TRB and b/TRRandomizerCore/Resources/TR2/Objects/LARAUNWATER.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/MASKEDGOON1.TRB b/TRRandomizerCore/Resources/TR2/Objects/MASKEDGOON1.TRB index 6447f511..0aecf7b6 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/MASKEDGOON1.TRB and b/TRRandomizerCore/Resources/TR2/Objects/MASKEDGOON1.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/MERCENARY1.TRB b/TRRandomizerCore/Resources/TR2/Objects/MERCENARY1.TRB index ab9d8ae4..a298e9a5 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/MERCENARY1.TRB and b/TRRandomizerCore/Resources/TR2/Objects/MERCENARY1.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/MERCENARY2.TRB b/TRRandomizerCore/Resources/TR2/Objects/MERCENARY2.TRB index 75477168..5258dafd 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/MERCENARY2.TRB and b/TRRandomizerCore/Resources/TR2/Objects/MERCENARY2.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/MERCSNOWMOBDRIVER.TRB b/TRRandomizerCore/Resources/TR2/Objects/MERCSNOWMOBDRIVER.TRB index 11c2d72c..b35ff672 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/MERCSNOWMOBDRIVER.TRB and b/TRRandomizerCore/Resources/TR2/Objects/MERCSNOWMOBDRIVER.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/MONKWITHKNIFESTICK.TRB b/TRRandomizerCore/Resources/TR2/Objects/MONKWITHKNIFESTICK.TRB index 014101c8..7166acee 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/MONKWITHKNIFESTICK.TRB and b/TRRandomizerCore/Resources/TR2/Objects/MONKWITHKNIFESTICK.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/MONKWITHLONGSTICK.TRB b/TRRandomizerCore/Resources/TR2/Objects/MONKWITHLONGSTICK.TRB index 10ced69b..9b1214ca 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/MONKWITHLONGSTICK.TRB and b/TRRandomizerCore/Resources/TR2/Objects/MONKWITHLONGSTICK.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/RAT.TRB b/TRRandomizerCore/Resources/TR2/Objects/RAT.TRB index 00140bea..94a9ffec 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/RAT.TRB and b/TRRandomizerCore/Resources/TR2/Objects/RAT.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/REDSNOWMOBILE.TRB b/TRRandomizerCore/Resources/TR2/Objects/REDSNOWMOBILE.TRB index 3a11d814..bd5b4476 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/REDSNOWMOBILE.TRB and b/TRRandomizerCore/Resources/TR2/Objects/REDSNOWMOBILE.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/SCUBADIVER.TRB b/TRRandomizerCore/Resources/TR2/Objects/SCUBADIVER.TRB index 345b2127..f86894e2 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/SCUBADIVER.TRB and b/TRRandomizerCore/Resources/TR2/Objects/SCUBADIVER.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/SHARK.TRB b/TRRandomizerCore/Resources/TR2/Objects/SHARK.TRB index 4cd6085b..4ff66c4c 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/SHARK.TRB and b/TRRandomizerCore/Resources/TR2/Objects/SHARK.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/SHOTGUNGOON.TRB b/TRRandomizerCore/Resources/TR2/Objects/SHOTGUNGOON.TRB index 6de07437..814cb3b8 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/SHOTGUNGOON.TRB and b/TRRandomizerCore/Resources/TR2/Objects/SHOTGUNGOON.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/SNOWLEOPARD.TRB b/TRRandomizerCore/Resources/TR2/Objects/SNOWLEOPARD.TRB index b61b4dfd..c8ab3abf 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/SNOWLEOPARD.TRB and b/TRRandomizerCore/Resources/TR2/Objects/SNOWLEOPARD.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/SPIDER.TRB b/TRRandomizerCore/Resources/TR2/Objects/SPIDER.TRB index bdacca73..acccaf9f 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/SPIDER.TRB and b/TRRandomizerCore/Resources/TR2/Objects/SPIDER.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/STICKWIELDINGGOON1BANDANA.TRB b/TRRandomizerCore/Resources/TR2/Objects/STICKWIELDINGGOON1BANDANA.TRB index 5c34066c..cec41d47 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/STICKWIELDINGGOON1BANDANA.TRB and b/TRRandomizerCore/Resources/TR2/Objects/STICKWIELDINGGOON1BANDANA.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/STICKWIELDINGGOON1BLACKJACKET.TRB b/TRRandomizerCore/Resources/TR2/Objects/STICKWIELDINGGOON1BLACKJACKET.TRB index b30ed1cc..c35e8aba 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/STICKWIELDINGGOON1BLACKJACKET.TRB and b/TRRandomizerCore/Resources/TR2/Objects/STICKWIELDINGGOON1BLACKJACKET.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/STICKWIELDINGGOON1BODYWARMER.TRB b/TRRandomizerCore/Resources/TR2/Objects/STICKWIELDINGGOON1BODYWARMER.TRB index 884bc2bf..306471c3 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/STICKWIELDINGGOON1BODYWARMER.TRB and b/TRRandomizerCore/Resources/TR2/Objects/STICKWIELDINGGOON1BODYWARMER.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/STICKWIELDINGGOON1GREENVEST.TRB b/TRRandomizerCore/Resources/TR2/Objects/STICKWIELDINGGOON1GREENVEST.TRB index d0f3d460..6df2c04a 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/STICKWIELDINGGOON1GREENVEST.TRB and b/TRRandomizerCore/Resources/TR2/Objects/STICKWIELDINGGOON1GREENVEST.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/STICKWIELDINGGOON1WHITEVEST.TRB b/TRRandomizerCore/Resources/TR2/Objects/STICKWIELDINGGOON1WHITEVEST.TRB index ee35ea5e..f961833e 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/STICKWIELDINGGOON1WHITEVEST.TRB and b/TRRandomizerCore/Resources/TR2/Objects/STICKWIELDINGGOON1WHITEVEST.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/STICKWIELDINGGOON2.TRB b/TRRandomizerCore/Resources/TR2/Objects/STICKWIELDINGGOON2.TRB index 3467c695..3598866e 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/STICKWIELDINGGOON2.TRB and b/TRRandomizerCore/Resources/TR2/Objects/STICKWIELDINGGOON2.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/TREX.TRB b/TRRandomizerCore/Resources/TR2/Objects/TREX.TRB index 94f506f2..c1ccf97f 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/TREX.TRB and b/TRRandomizerCore/Resources/TR2/Objects/TREX.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/WHITETIGER.TRB b/TRRandomizerCore/Resources/TR2/Objects/WHITETIGER.TRB index c53aa6d9..db1e5c85 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/WHITETIGER.TRB and b/TRRandomizerCore/Resources/TR2/Objects/WHITETIGER.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/WINSTON.TRB b/TRRandomizerCore/Resources/TR2/Objects/WINSTON.TRB index 2e389c11..f619bd13 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/WINSTON.TRB and b/TRRandomizerCore/Resources/TR2/Objects/WINSTON.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/XIANGUARDSPEAR.TRB b/TRRandomizerCore/Resources/TR2/Objects/XIANGUARDSPEAR.TRB index 3863bbe0..57f1da8b 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/XIANGUARDSPEAR.TRB and b/TRRandomizerCore/Resources/TR2/Objects/XIANGUARDSPEAR.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/XIANGUARDSWORD.TRB b/TRRandomizerCore/Resources/TR2/Objects/XIANGUARDSWORD.TRB index 71108844..9e13dbf9 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/XIANGUARDSWORD.TRB and b/TRRandomizerCore/Resources/TR2/Objects/XIANGUARDSWORD.TRB differ diff --git a/TRRandomizerCore/Resources/TR2/Objects/YETI.TRB b/TRRandomizerCore/Resources/TR2/Objects/YETI.TRB index 91201942..67dfc5f5 100644 Binary files a/TRRandomizerCore/Resources/TR2/Objects/YETI.TRB and b/TRRandomizerCore/Resources/TR2/Objects/YETI.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/BOAT.TRB b/TRRandomizerCore/Resources/TR3/Objects/BOAT.TRB index 9dafae55..6f058f6a 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/BOAT.TRB and b/TRRandomizerCore/Resources/TR3/Objects/BOAT.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/BRUTEMUTANT.TRB b/TRRandomizerCore/Resources/TR3/Objects/BRUTEMUTANT.TRB index 55bbaa2b..82960cf1 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/BRUTEMUTANT.TRB and b/TRRandomizerCore/Resources/TR3/Objects/BRUTEMUTANT.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/COBRAINDIA.TRB b/TRRandomizerCore/Resources/TR3/Objects/COBRAINDIA.TRB index 2d77e96b..ca1344be 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/COBRAINDIA.TRB and b/TRRandomizerCore/Resources/TR3/Objects/COBRAINDIA.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/COBRANEVADA.TRB b/TRRandomizerCore/Resources/TR3/Objects/COBRANEVADA.TRB index d2a7fd51..2f19f9d7 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/COBRANEVADA.TRB and b/TRRandomizerCore/Resources/TR3/Objects/COBRANEVADA.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/COMPSOGNATHUS.TRB b/TRRandomizerCore/Resources/TR3/Objects/COMPSOGNATHUS.TRB index 05e527f4..109e46b4 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/COMPSOGNATHUS.TRB and b/TRRandomizerCore/Resources/TR3/Objects/COMPSOGNATHUS.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/CRAWLER.TRB b/TRRandomizerCore/Resources/TR3/Objects/CRAWLER.TRB index 7d0dcf5c..00ab0f14 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/CRAWLER.TRB and b/TRRandomizerCore/Resources/TR3/Objects/CRAWLER.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/CRAWLERMUTANTINCLOSET.TRB b/TRRandomizerCore/Resources/TR3/Objects/CRAWLERMUTANTINCLOSET.TRB index eb9b1763..822fa883 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/CRAWLERMUTANTINCLOSET.TRB and b/TRRandomizerCore/Resources/TR3/Objects/CRAWLERMUTANTINCLOSET.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/CROC.TRB b/TRRandomizerCore/Resources/TR3/Objects/CROC.TRB index c43b83fa..b9787bd4 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/CROC.TRB and b/TRRandomizerCore/Resources/TR3/Objects/CROC.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/CROW.TRB b/TRRandomizerCore/Resources/TR3/Objects/CROW.TRB index 1e3ef575..ab126904 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/CROW.TRB and b/TRRandomizerCore/Resources/TR3/Objects/CROW.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/DAMGUARD.TRB b/TRRandomizerCore/Resources/TR3/Objects/DAMGUARD.TRB index 2a4fd266..5a81d5a7 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/DAMGUARD.TRB and b/TRRandomizerCore/Resources/TR3/Objects/DAMGUARD.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/DOGANTARC.TRB b/TRRandomizerCore/Resources/TR3/Objects/DOGANTARC.TRB index 4eb102bc..8f5de9f9 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/DOGANTARC.TRB and b/TRRandomizerCore/Resources/TR3/Objects/DOGANTARC.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/DOGLONDON.TRB b/TRRandomizerCore/Resources/TR3/Objects/DOGLONDON.TRB index fd4083ec..08bdd414 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/DOGLONDON.TRB and b/TRRandomizerCore/Resources/TR3/Objects/DOGLONDON.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/DOGNEVADA.TRB b/TRRandomizerCore/Resources/TR3/Objects/DOGNEVADA.TRB index 669413c7..72c1fb3e 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/DOGNEVADA.TRB and b/TRRandomizerCore/Resources/TR3/Objects/DOGNEVADA.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/DOOR1.TRB b/TRRandomizerCore/Resources/TR3/Objects/DOOR1.TRB index c4186222..65688dd8 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/DOOR1.TRB and b/TRRandomizerCore/Resources/TR3/Objects/DOOR1.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/DOOR4.TRB b/TRRandomizerCore/Resources/TR3/Objects/DOOR4.TRB index 57813224..7875daa2 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/DOOR4.TRB and b/TRRandomizerCore/Resources/TR3/Objects/DOOR4.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/KILLERWHALE.TRB b/TRRandomizerCore/Resources/TR3/Objects/KILLERWHALE.TRB index 015fdc49..11e610a2 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/KILLERWHALE.TRB and b/TRRandomizerCore/Resources/TR3/Objects/KILLERWHALE.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/LARAANTARC.TRB b/TRRandomizerCore/Resources/TR3/Objects/LARAANTARC.TRB index 13d26bcc..7a901d0f 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/LARAANTARC.TRB and b/TRRandomizerCore/Resources/TR3/Objects/LARAANTARC.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/LARACOASTAL.TRB b/TRRandomizerCore/Resources/TR3/Objects/LARACOASTAL.TRB index 2839e7f4..8dfb5a06 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/LARACOASTAL.TRB and b/TRRandomizerCore/Resources/TR3/Objects/LARACOASTAL.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/LARADEAGLEANIMATION_H_COASTAL.TRB b/TRRandomizerCore/Resources/TR3/Objects/LARADEAGLEANIMATION_H_COASTAL.TRB index 6dfe5837..c30e154d 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/LARADEAGLEANIMATION_H_COASTAL.TRB and b/TRRandomizerCore/Resources/TR3/Objects/LARADEAGLEANIMATION_H_COASTAL.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/LARADEAGLEANIMATION_H_INDIA.TRB b/TRRandomizerCore/Resources/TR3/Objects/LARADEAGLEANIMATION_H_INDIA.TRB index 237c77d9..47291567 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/LARADEAGLEANIMATION_H_INDIA.TRB and b/TRRandomizerCore/Resources/TR3/Objects/LARADEAGLEANIMATION_H_INDIA.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/LARADEAGLEANIMATION_H_NEVADA.TRB b/TRRandomizerCore/Resources/TR3/Objects/LARADEAGLEANIMATION_H_NEVADA.TRB index 69019055..5e48414b 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/LARADEAGLEANIMATION_H_NEVADA.TRB and b/TRRandomizerCore/Resources/TR3/Objects/LARADEAGLEANIMATION_H_NEVADA.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/LARAEXTRAANIMATION_H.TRB b/TRRandomizerCore/Resources/TR3/Objects/LARAEXTRAANIMATION_H.TRB index 189d42d8..b9318dc0 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/LARAEXTRAANIMATION_H.TRB and b/TRRandomizerCore/Resources/TR3/Objects/LARAEXTRAANIMATION_H.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/LARAHOME.TRB b/TRRandomizerCore/Resources/TR3/Objects/LARAHOME.TRB index 6d541e32..fd6f709c 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/LARAHOME.TRB and b/TRRandomizerCore/Resources/TR3/Objects/LARAHOME.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/LARAINDIA.TRB b/TRRandomizerCore/Resources/TR3/Objects/LARAINDIA.TRB index e0ef1ae6..77d867f6 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/LARAINDIA.TRB and b/TRRandomizerCore/Resources/TR3/Objects/LARAINDIA.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/LARALONDON.TRB b/TRRandomizerCore/Resources/TR3/Objects/LARALONDON.TRB index 7822760a..3eccd726 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/LARALONDON.TRB and b/TRRandomizerCore/Resources/TR3/Objects/LARALONDON.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/LARANEVADA.TRB b/TRRandomizerCore/Resources/TR3/Objects/LARANEVADA.TRB index 08eb7699..0500b8ee 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/LARANEVADA.TRB and b/TRRandomizerCore/Resources/TR3/Objects/LARANEVADA.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/LARAPISTOLANIMATION_H_HOME.TRB b/TRRandomizerCore/Resources/TR3/Objects/LARAPISTOLANIMATION_H_HOME.TRB index 0c9f16c2..16769281 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/LARAPISTOLANIMATION_H_HOME.TRB and b/TRRandomizerCore/Resources/TR3/Objects/LARAPISTOLANIMATION_H_HOME.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/LARAPISTOLANIMATION_H_NEVADA.TRB b/TRRandomizerCore/Resources/TR3/Objects/LARAPISTOLANIMATION_H_NEVADA.TRB index dc5e5c78..e80c614b 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/LARAPISTOLANIMATION_H_NEVADA.TRB and b/TRRandomizerCore/Resources/TR3/Objects/LARAPISTOLANIMATION_H_NEVADA.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/LARASKIN_H_HOME.TRB b/TRRandomizerCore/Resources/TR3/Objects/LARASKIN_H_HOME.TRB index 419f98e3..9b013c0a 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/LARASKIN_H_HOME.TRB and b/TRRandomizerCore/Resources/TR3/Objects/LARASKIN_H_HOME.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/LARASKIN_H_NEVADA.TRB b/TRRandomizerCore/Resources/TR3/Objects/LARASKIN_H_NEVADA.TRB index 036786c0..592a5d13 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/LARASKIN_H_NEVADA.TRB and b/TRRandomizerCore/Resources/TR3/Objects/LARASKIN_H_NEVADA.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/LARAUZIANIMATION_H_COASTAL.TRB b/TRRandomizerCore/Resources/TR3/Objects/LARAUZIANIMATION_H_COASTAL.TRB index 424ac233..fb42449e 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/LARAUZIANIMATION_H_COASTAL.TRB and b/TRRandomizerCore/Resources/TR3/Objects/LARAUZIANIMATION_H_COASTAL.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/LARAUZIANIMATION_H_INDIA.TRB b/TRRandomizerCore/Resources/TR3/Objects/LARAUZIANIMATION_H_INDIA.TRB index 33af4243..3e1c38ce 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/LARAUZIANIMATION_H_INDIA.TRB and b/TRRandomizerCore/Resources/TR3/Objects/LARAUZIANIMATION_H_INDIA.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/LARAVEHICLEANIMATION_H_BOAT.TRB b/TRRandomizerCore/Resources/TR3/Objects/LARAVEHICLEANIMATION_H_BOAT.TRB index ad3ac67e..c5847389 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/LARAVEHICLEANIMATION_H_BOAT.TRB and b/TRRandomizerCore/Resources/TR3/Objects/LARAVEHICLEANIMATION_H_BOAT.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/LARAVEHICLEANIMATION_H_KAYAK.TRB b/TRRandomizerCore/Resources/TR3/Objects/LARAVEHICLEANIMATION_H_KAYAK.TRB index a7032f9e..2f159b9d 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/LARAVEHICLEANIMATION_H_KAYAK.TRB and b/TRRandomizerCore/Resources/TR3/Objects/LARAVEHICLEANIMATION_H_KAYAK.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/LARAVEHICLEANIMATION_H_QUAD.TRB b/TRRandomizerCore/Resources/TR3/Objects/LARAVEHICLEANIMATION_H_QUAD.TRB index d360473a..e5fdb224 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/LARAVEHICLEANIMATION_H_QUAD.TRB and b/TRRandomizerCore/Resources/TR3/Objects/LARAVEHICLEANIMATION_H_QUAD.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/LIZARDMAN.TRB b/TRRandomizerCore/Resources/TR3/Objects/LIZARDMAN.TRB index 288eefaa..a8d0bc0a 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/LIZARDMAN.TRB and b/TRRandomizerCore/Resources/TR3/Objects/LIZARDMAN.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/LONDONGUARD.TRB b/TRRandomizerCore/Resources/TR3/Objects/LONDONGUARD.TRB index 4230ccc2..bde832cb 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/LONDONGUARD.TRB and b/TRRandomizerCore/Resources/TR3/Objects/LONDONGUARD.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/LONDONMERC.TRB b/TRRandomizerCore/Resources/TR3/Objects/LONDONMERC.TRB index 08c06a4f..b84892ef 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/LONDONMERC.TRB and b/TRRandomizerCore/Resources/TR3/Objects/LONDONMERC.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/MERCENARY.TRB b/TRRandomizerCore/Resources/TR3/Objects/MERCENARY.TRB index ed77e9f7..688975bb 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/MERCENARY.TRB and b/TRRandomizerCore/Resources/TR3/Objects/MERCENARY.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/MONKEY.TRB b/TRRandomizerCore/Resources/TR3/Objects/MONKEY.TRB index 6e2130dd..c32720f7 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/MONKEY.TRB and b/TRRandomizerCore/Resources/TR3/Objects/MONKEY.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/MPWITHGUN.TRB b/TRRandomizerCore/Resources/TR3/Objects/MPWITHGUN.TRB index e302c5f2..6620a007 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/MPWITHGUN.TRB and b/TRRandomizerCore/Resources/TR3/Objects/MPWITHGUN.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/MPWITHMP5.TRB b/TRRandomizerCore/Resources/TR3/Objects/MPWITHMP5.TRB index 64f9710f..6696ec7c 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/MPWITHMP5.TRB and b/TRRandomizerCore/Resources/TR3/Objects/MPWITHMP5.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/MPWITHSTICK.TRB b/TRRandomizerCore/Resources/TR3/Objects/MPWITHSTICK.TRB index 26dfac36..dede424c 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/MPWITHSTICK.TRB and b/TRRandomizerCore/Resources/TR3/Objects/MPWITHSTICK.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/PRISONER.TRB b/TRRandomizerCore/Resources/TR3/Objects/PRISONER.TRB index 1d5f232c..4e1897ad 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/PRISONER.TRB and b/TRRandomizerCore/Resources/TR3/Objects/PRISONER.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/PUNA.TRB b/TRRandomizerCore/Resources/TR3/Objects/PUNA.TRB index 32b1619a..47b503c8 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/PUNA.TRB and b/TRRandomizerCore/Resources/TR3/Objects/PUNA.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/PUNK.TRB b/TRRandomizerCore/Resources/TR3/Objects/PUNK.TRB index 2fd43283..5b0963aa 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/PUNK.TRB and b/TRRandomizerCore/Resources/TR3/Objects/PUNK.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/QUAD.TRB b/TRRandomizerCore/Resources/TR3/Objects/QUAD.TRB index f525a4d5..a02ce53b 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/QUAD.TRB and b/TRRandomizerCore/Resources/TR3/Objects/QUAD.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/RAPTOR.TRB b/TRRandomizerCore/Resources/TR3/Objects/RAPTOR.TRB index 144d66bc..dc6a62b2 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/RAPTOR.TRB and b/TRRandomizerCore/Resources/TR3/Objects/RAPTOR.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/RAT.TRB b/TRRandomizerCore/Resources/TR3/Objects/RAT.TRB index 17b38cb8..ff714ea5 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/RAT.TRB and b/TRRandomizerCore/Resources/TR3/Objects/RAT.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/RXGUNLAD.TRB b/TRRandomizerCore/Resources/TR3/Objects/RXGUNLAD.TRB index 06bd711f..5f3627a7 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/RXGUNLAD.TRB and b/TRRandomizerCore/Resources/TR3/Objects/RXGUNLAD.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/RXREDBOI.TRB b/TRRandomizerCore/Resources/TR3/Objects/RXREDBOI.TRB index 9f6b7a73..597ac26d 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/RXREDBOI.TRB and b/TRRandomizerCore/Resources/TR3/Objects/RXREDBOI.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/SCUBASTEVE.TRB b/TRRandomizerCore/Resources/TR3/Objects/SCUBASTEVE.TRB index cecde543..834fcd6c 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/SCUBASTEVE.TRB and b/TRRandomizerCore/Resources/TR3/Objects/SCUBASTEVE.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/SHIVA.TRB b/TRRandomizerCore/Resources/TR3/Objects/SHIVA.TRB index 1e822912..7da9d32d 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/SHIVA.TRB and b/TRRandomizerCore/Resources/TR3/Objects/SHIVA.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/SOPHIALEE.TRB b/TRRandomizerCore/Resources/TR3/Objects/SOPHIALEE.TRB index 29de8cb6..445788f0 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/SOPHIALEE.TRB and b/TRRandomizerCore/Resources/TR3/Objects/SOPHIALEE.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/TIGER.TRB b/TRRandomizerCore/Resources/TR3/Objects/TIGER.TRB index 2f86e9e9..d3baaa31 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/TIGER.TRB and b/TRRandomizerCore/Resources/TR3/Objects/TIGER.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/TINNOSMONSTER.TRB b/TRRandomizerCore/Resources/TR3/Objects/TINNOSMONSTER.TRB index cd20c57d..fd1c4f3a 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/TINNOSMONSTER.TRB and b/TRRandomizerCore/Resources/TR3/Objects/TINNOSMONSTER.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/TINNOSWASP.TRB b/TRRandomizerCore/Resources/TR3/Objects/TINNOSWASP.TRB index 878281a6..7f99bca3 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/TINNOSWASP.TRB and b/TRRandomizerCore/Resources/TR3/Objects/TINNOSWASP.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/TONYFIREHANDS.TRB b/TRRandomizerCore/Resources/TR3/Objects/TONYFIREHANDS.TRB index 475cdf3b..7d746861 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/TONYFIREHANDS.TRB and b/TRRandomizerCore/Resources/TR3/Objects/TONYFIREHANDS.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/TRIBESMANAXE.TRB b/TRRandomizerCore/Resources/TR3/Objects/TRIBESMANAXE.TRB index f5250ff3..a6d92c25 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/TRIBESMANAXE.TRB and b/TRRandomizerCore/Resources/TR3/Objects/TRIBESMANAXE.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/TRIBESMANDART.TRB b/TRRandomizerCore/Resources/TR3/Objects/TRIBESMANDART.TRB index 47a260e3..0e296a8e 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/TRIBESMANDART.TRB and b/TRRandomizerCore/Resources/TR3/Objects/TRIBESMANDART.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/TYRANNOSAUR.TRB b/TRRandomizerCore/Resources/TR3/Objects/TYRANNOSAUR.TRB index b6ed3feb..207763fe 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/TYRANNOSAUR.TRB and b/TRRandomizerCore/Resources/TR3/Objects/TYRANNOSAUR.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/UPV.TRB b/TRRandomizerCore/Resources/TR3/Objects/UPV.TRB index 60780207..dbabec30 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/UPV.TRB and b/TRRandomizerCore/Resources/TR3/Objects/UPV.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/VULTURE.TRB b/TRRandomizerCore/Resources/TR3/Objects/VULTURE.TRB index a64ae6a7..335b54da 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/VULTURE.TRB and b/TRRandomizerCore/Resources/TR3/Objects/VULTURE.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/WILLIE.TRB b/TRRandomizerCore/Resources/TR3/Objects/WILLIE.TRB index d2733ef7..462387f4 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/WILLIE.TRB and b/TRRandomizerCore/Resources/TR3/Objects/WILLIE.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/WINSTON.TRB b/TRRandomizerCore/Resources/TR3/Objects/WINSTON.TRB index 70704337..4f2baa3c 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/WINSTON.TRB and b/TRRandomizerCore/Resources/TR3/Objects/WINSTON.TRB differ diff --git a/TRRandomizerCore/Resources/TR3/Objects/WINSTONINCAMOSUIT.TRB b/TRRandomizerCore/Resources/TR3/Objects/WINSTONINCAMOSUIT.TRB index bc9151af..96e7df2d 100644 Binary files a/TRRandomizerCore/Resources/TR3/Objects/WINSTONINCAMOSUIT.TRB and b/TRRandomizerCore/Resources/TR3/Objects/WINSTONINCAMOSUIT.TRB differ