Skip to content

Commit

Permalink
Regenerate object cache (LostArtefacts#670)
Browse files Browse the repository at this point in the history
  • Loading branch information
lahm86 authored May 9, 2024
1 parent e7a4932 commit de16e49
Show file tree
Hide file tree
Showing 1,006 changed files with 220 additions and 2,713 deletions.
Binary file modified Deps/TRGE.Coord.dll
Binary file not shown.
18 changes: 12 additions & 6 deletions TRDataControl/Data/TR1DataProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ public TRBlobType GetBlobType(TR1Type type)
{
return TRBlobType.Sprite;
}
if (type >= TR1Type.SceneryBase && type < TR1Type.BandagedAtlantean)
if (type >= TR1Type.SceneryBase && type < TR1Type.SecretScion_M_H)
{
return TRBlobType.StaticMesh;
}
Expand Down Expand Up @@ -166,15 +166,15 @@ public IEnumerable<TR1SFX> GetHardcodedSounds(TR1Type type)
[TR1Type.ScionPiece_M_H]
= new() { TR1Type.ScionPiece2_S_P },
[TR1Type.SecretAnkh_M_H]
= new() { TR1Type.ScionPiece4_S_P },
= new() { TR1Type.SecretAnkh_S_P },
[TR1Type.SecretGoldBar_M_H]
= new() { TR1Type.ScionPiece4_S_P },
= new() { TR1Type.SecretGoldBar_S_P },
[TR1Type.SecretGoldIdol_M_H]
= new() { TR1Type.ScionPiece4_S_P },
= new() { TR1Type.SecretGoldIdol_S_P },
[TR1Type.SecretLeadBar_M_H]
= new() { TR1Type.ScionPiece4_S_P },
= new() { TR1Type.SecretLeadBar_S_P },
[TR1Type.SecretScion_M_H]
= new() { TR1Type.ScionPiece4_S_P },
= new() { TR1Type.SecretScion_S_P },
[TR1Type.ShootingAtlantean_N]
= new() { TR1Type.MeatyFlyer },
[TR1Type.SkateboardKid]
Expand Down Expand Up @@ -356,6 +356,12 @@ public IEnumerable<TR1SFX> GetHardcodedSounds(TR1Type type)
TR1Type.LavaParticles_S_H,
TR1Type.Flame_S_H,
TR1Type.FontGraphics_S_H,

TR1Type.SecretScion_S_P,
TR1Type.SecretGoldIdol_S_P,
TR1Type.SecretLeadBar_S_P,
TR1Type.SecretGoldBar_S_P,
TR1Type.SecretAnkh_S_P,
};

#endregion
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ public override void ApplyToLevel(TR1Level level)
{
Level = level,
TypesToImport = new(Models.Select(m => (TR1Type)m)),
DataFolder = @"Resources\TR1\Models",
DataFolder = @"Resources\TR1\Objects",
ForceCinematicOverwrite = ForceCinematicOverwrite
};

Expand All @@ -28,7 +28,7 @@ public override void ApplyToLevel(TR2Level level)
{
Level = level,
TypesToImport = new(Models.Select(m => (TR2Type)m)),
DataFolder = @"Resources\TR2\Models",
DataFolder = @"Resources\TR2\Objects",
ForceCinematicOverwrite = ForceCinematicOverwrite
};

Expand All @@ -42,7 +42,7 @@ public override void ApplyToLevel(TR3Level level)
{
Level = level,
TypesToImport = new(Models.Select(m => (TR3Type)m)),
DataFolder = @"Resources\TR3\Models",
DataFolder = @"Resources\TR3\Objects",
ForceCinematicOverwrite = ForceCinematicOverwrite
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ public override void ApplyToLevel(TR1Level level)
Level = level,
ClearUnusedSprites = false,
TypesToImport = new(data.Select(m => (TR1Type)m.ModelID)),
DataFolder = @"Resources\TR1\Models",
DataFolder = @"Resources\TR1\Objects",
IgnoreGraphics = true
};
importer.Import();
Expand All @@ -40,7 +40,7 @@ public override void ApplyToLevel(TR2Level level)
Level = level,
ClearUnusedSprites = false,
TypesToImport = new(data.Select(m => (TR2Type)m.ModelID)),
DataFolder = @"Resources\TR2\Models",
DataFolder = @"Resources\TR2\Objects",
IgnoreGraphics = true
};
importer.Import();
Expand All @@ -61,7 +61,7 @@ public override void ApplyToLevel(TR3Level level)
Level = level,
ClearUnusedSprites = false,
TypesToImport = new(data.Select(m => (TR3Type)m.ModelID)),
DataFolder = @"Resources\TR3\Models",
DataFolder = @"Resources\TR3\Objects",
IgnoreGraphics = true
};
importer.Import();
Expand Down
2 changes: 1 addition & 1 deletion TRDataControl/Transport/TR1/TR1DataImporter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ protected override bool IsMasterType(TR1Type type)
=> type == TR1Type.Lara;

protected override TRMesh GetDummyMesh()
=> Level.Models[TR1Type.Lara].Meshes[0];
=> Level.Models.First().Value.Meshes[0];

protected override TRTexturePacker CreatePacker()
=> new TR1TexturePacker(Level, Data.TextureTileLimit)
Expand Down
3 changes: 2 additions & 1 deletion TRDataControl/Transport/TRDataExporter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,13 @@ public abstract class TRDataExporter<L, T, S, B> : TRDataTransport<L, T, S, B>
{
public string BaseLevelDirectory { get; set; }

public B Export(L level, T type, TRBlobType blobType)
public B Export(L level, T type)
{
Level = level;

CreateRemapper(Level)?.Remap();

TRBlobType blobType = Data.GetBlobType(type);
PreCreation(level, type, blobType);

B blob = CreateBlob(level, type, blobType);
Expand Down
5 changes: 5 additions & 0 deletions TRDataControl/Transport/TRDataImporter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -305,6 +305,11 @@ protected void RemoveData()

protected void ImportTextures(List<B> blobs)
{
if (IgnoreGraphics)
{
return;
}

List<TRTextileRegion> importRegions = new();

foreach (B blob in blobs)
Expand Down
2 changes: 1 addition & 1 deletion TRDataControl/Transport/TRMassExporter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ private void Export(string levelPath, T type)
return;

L level = ReadLevel(levelPath);
B blob = _exporter.Export(level, type, _exporter.Data.GetBlobType(type));
B blob = _exporter.Export(level, type);
_processedTypes.Add(type);

foreach (T dependency in blob.Dependencies)
Expand Down
20 changes: 10 additions & 10 deletions TRDataControlTests/IO/ExportTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public void TestTR1ExportProperties()
{
TR1Level level = GetTR1TestLevel();
TR1DataExporter exporter = new();
TR1Blob blob = exporter.Export(level, TR1Type.Bear, TRBlobType.Model);
TR1Blob blob = exporter.Export(level, TR1Type.Bear);

Assert.AreEqual(TR1Type.Bear, blob.ID);
Assert.AreEqual(TR1Type.Bear, blob.Alias);
Expand Down Expand Up @@ -43,7 +43,7 @@ public void TestTR1ExportIO()
{
DataFolder = @"Objects\TR1"
};
TR1Blob blob1 = exporter.Export(level, TR1Type.Bear, TRBlobType.Model);
TR1Blob blob1 = exporter.Export(level, TR1Type.Bear);
exporter.StoreBlob(blob1);

TR1Blob blob2 = exporter.LoadBlob(TR1Type.Bear);
Expand All @@ -60,7 +60,7 @@ public void TestTR2ExportProperties()
{
TR2Level level = GetTR2TestLevel();
TR2DataExporter exporter = new();
TR2Blob blob = exporter.Export(level, TR2Type.BengalTiger, TRBlobType.Model);
TR2Blob blob = exporter.Export(level, TR2Type.BengalTiger);

Assert.AreEqual(TR2Type.TigerOrSnowLeopard, blob.ID);
Assert.AreEqual(TR2Type.BengalTiger, blob.Alias);
Expand Down Expand Up @@ -91,7 +91,7 @@ public void TestTR2ExportIO()
{
DataFolder = @"Objects\TR2"
};
TR2Blob blob1 = exporter.Export(level, TR2Type.BengalTiger, TRBlobType.Model);
TR2Blob blob1 = exporter.Export(level, TR2Type.BengalTiger);
exporter.StoreBlob(blob1);

TR2Blob blob2 = exporter.LoadBlob(TR2Type.BengalTiger);
Expand All @@ -108,7 +108,7 @@ public void TestTR3ExportProperties()
{
TR3Level level = GetTR3TestLevel();
TR3DataExporter exporter = new();
TR3Blob blob = exporter.Export(level, TR3Type.Monkey, TRBlobType.Model);
TR3Blob blob = exporter.Export(level, TR3Type.Monkey);

Assert.AreEqual(TR3Type.Monkey, blob.ID);
Assert.AreEqual(TR3Type.Monkey, blob.Alias);
Expand Down Expand Up @@ -139,7 +139,7 @@ public void TestTR3ExportIO()
{
DataFolder = @"Objects\TR3"
};
TR3Blob blob1 = exporter.Export(level, TR3Type.Monkey, TRBlobType.Model);
TR3Blob blob1 = exporter.Export(level, TR3Type.Monkey);
exporter.StoreBlob(blob1);

TR3Blob blob2 = exporter.LoadBlob(TR3Type.Monkey);
Expand All @@ -156,7 +156,7 @@ public void TestTR4ExportProperties()
{
TR4Level level = GetTR4TestLevel();
TR4DataExporter exporter = new();
TR4Blob blob = exporter.Export(level, TR4Type.Dog, TRBlobType.Model);
TR4Blob blob = exporter.Export(level, TR4Type.Dog);

Assert.AreEqual(TR4Type.Dog, blob.ID);
Assert.AreEqual(TR4Type.Dog, blob.Alias);
Expand All @@ -181,7 +181,7 @@ public void TestTR4ExportIO()
{
DataFolder = @"Objects\TR4"
};
TR4Blob blob1 = exporter.Export(level, TR4Type.Dog, TRBlobType.Model);
TR4Blob blob1 = exporter.Export(level, TR4Type.Dog);
exporter.StoreBlob(blob1);

TR4Blob blob2 = exporter.LoadBlob(TR4Type.Dog);
Expand All @@ -198,7 +198,7 @@ public void TestTR5ExportProperties()
{
TR5Level level = GetTR5TestLevel();
TR5DataExporter exporter = new();
TR5Blob blob = exporter.Export(level, TR5Type.Huskie, TRBlobType.Model);
TR5Blob blob = exporter.Export(level, TR5Type.Huskie);

Assert.AreEqual(TR5Type.Huskie, blob.ID);
Assert.AreEqual(TR5Type.Huskie, blob.Alias);
Expand All @@ -224,7 +224,7 @@ public void TestTR5ExportIO()
{
DataFolder = @"Objects\TR5"
};
TR5Blob blob1 = exporter.Export(level, TR5Type.Huskie, TRBlobType.Model);
TR5Blob blob1 = exporter.Export(level, TR5Type.Huskie);
exporter.StoreBlob(blob1);

TR5Blob blob2 = exporter.LoadBlob(TR5Type.Huskie);
Expand Down
40 changes: 20 additions & 20 deletions TRDataControlTests/IO/ImportTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ public class ImportTests : TestBase
[Description("Test importing a TR1 model.")]
public void TestTR1Import()
{
ExportTR1Model(TR1Type.Bear, TRBlobType.Model);
ExportTR1Model(TR1Type.Bear);

TR1Level level = GetTR1AltTestLevel();
Assert.IsFalse(level.Models.ContainsKey(TR1Type.Bear));
Expand All @@ -32,7 +32,7 @@ public void TestTR1Import()
[Description("Test importing a TR2 model.")]
public void TestTR2Import()
{
ExportTR2Model(TR2Type.BengalTiger, TRBlobType.Model);
ExportTR2Model(TR2Type.BengalTiger);

TR2Level level = GetTR2AltTestLevel();
Assert.IsFalse(level.Models.ContainsKey(TR2Type.TigerOrSnowLeopard));
Expand All @@ -52,7 +52,7 @@ public void TestTR2Import()
[Description("Test importing a TR3 model.")]
public void TestTR3Import()
{
ExportTR3Model(TR3Type.Monkey, TRBlobType.Model);
ExportTR3Model(TR3Type.Monkey);

TR3Level level = GetTR3AltTestLevel();
Assert.IsFalse(level.Models.ContainsKey(TR3Type.Monkey));
Expand All @@ -72,7 +72,7 @@ public void TestTR3Import()
[Description("Test importing a TR4 model.")]
public void TestTR4Import()
{
ExportTR4Model(TR4Type.Dog, TRBlobType.Model);
ExportTR4Model(TR4Type.Dog);

TR4Level level = GetTR4AltTestLevel();
Assert.IsFalse(level.Models.ContainsKey(TR4Type.Dog));
Expand All @@ -92,7 +92,7 @@ public void TestTR4Import()
[Description("Test importing a TR5 model.")]
public void TestTR5Import()
{
ExportTR5Model(TR5Type.Huskie, TRBlobType.Model);
ExportTR5Model(TR5Type.Huskie);

TR5Level level = GetTR5AltTestLevel();
Assert.IsFalse(level.Models.ContainsKey(TR5Type.Huskie));
Expand Down Expand Up @@ -126,83 +126,83 @@ public void TestAliasImport()
catch (TransportException) { }
}

private static void ExportTR1Model(TR1Type type, TRBlobType blobType)
private static void ExportTR1Model(TR1Type type)
{
TR1Level level = GetTR1TestLevel();
TR1DataExporter exporter = new()
{
DataFolder = @"Objects\TR1"
};
TR1Blob blob = exporter.Export(level, type, blobType);
TR1Blob blob = exporter.Export(level, type);
exporter.StoreBlob(blob);

foreach (TR1Type dependency in blob.Dependencies)
{
ExportTR1Model(dependency, exporter.Data.GetBlobType(dependency));
ExportTR1Model(dependency);
}
}

private static void ExportTR2Model(TR2Type type, TRBlobType blobType)
private static void ExportTR2Model(TR2Type type)
{
TR2Level level = GetTR2TestLevel();
TR2DataExporter exporter = new()
{
DataFolder = @"Objects\TR2"
};
TR2Blob blob = exporter.Export(level, type, blobType);
TR2Blob blob = exporter.Export(level, type);
exporter.StoreBlob(blob);

foreach (TR2Type dependency in blob.Dependencies)
{
ExportTR2Model(dependency, exporter.Data.GetBlobType(dependency));
ExportTR2Model(dependency);
}
}

private static void ExportTR3Model(TR3Type type, TRBlobType blobType)
private static void ExportTR3Model(TR3Type type)
{
TR3Level level = GetTR3TestLevel();
TR3DataExporter exporter = new()
{
DataFolder = @"Objects\TR3"
};
TR3Blob blob = exporter.Export(level, type, blobType);
TR3Blob blob = exporter.Export(level, type);
exporter.StoreBlob(blob);

foreach (TR3Type dependency in blob.Dependencies)
{
ExportTR3Model(dependency, exporter.Data.GetBlobType(dependency));
ExportTR3Model(dependency);
}
}

private static void ExportTR4Model(TR4Type type, TRBlobType blobType)
private static void ExportTR4Model(TR4Type type)
{
TR4Level level = GetTR4TestLevel();
TR4DataExporter exporter = new()
{
DataFolder = @"Objects\TR4"
};
TR4Blob blob = exporter.Export(level, type, blobType);
TR4Blob blob = exporter.Export(level, type);
exporter.StoreBlob(blob);

foreach (TR4Type dependency in blob.Dependencies)
{
ExportTR4Model(dependency, exporter.Data.GetBlobType(dependency));
ExportTR4Model(dependency);
}
}

private static void ExportTR5Model(TR5Type type, TRBlobType blobType)
private static void ExportTR5Model(TR5Type type)
{
TR5Level level = GetTR5TestLevel();
TR5DataExporter exporter = new()
{
DataFolder = @"Objects\TR5"
};
TR5Blob blob = exporter.Export(level, type, blobType);
TR5Blob blob = exporter.Export(level, type);
exporter.StoreBlob(blob);

foreach (TR5Type dependency in blob.Dependencies)
{
ExportTR5Model(dependency, exporter.Data.GetBlobType(dependency));
ExportTR5Model(dependency);
}
}
}
2 changes: 1 addition & 1 deletion TRImageControl/TRImage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -351,7 +351,7 @@ public void Fill(Rectangle bounds, Color colour)

public void Overlay(TRImage image)
{
if (image.Size != Size)
if (image.Size.Width > Size.Width || image.Size.Height > Size.Height)
{
throw new InvalidOperationException();
}
Expand Down
Loading

0 comments on commit de16e49

Please sign in to comment.