diff --git a/CHANGELOG.md b/CHANGELOG.md index 066146e5d..20579e51c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,13 +1,15 @@ -## [Unreleased](https://github.com/LostArtefacts/TR-Rando/compare/V1.8.4...master) - xxxx-xx-xx +## [Unreleased](https://github.com/LostArtefacts/TR-Rando/compare/V1.9.0...master) - xxxx-xx-xx + +## [V1.9.0](https://github.com/LostArtefacts/TR-Rando/compare/V1.8.4...V1.9.0) - 2024-06-22 - added support for TR1X V4 (#626) - added support for TR I-III Remastered (#614) -- added Lara's assault course outfit in TR2 for outfit randomization (#672) -- added gun holsters to Lara's robe outfit in TR2 (#672) -- added an option to stack rewards with secrets in TR1 and TR3, rather than using reward rooms (#687) -- added separate secret audio for TR1 and TR3 when not using reward rooms (#687) - added an option to shuffle items rather than randomize their types and locations in each level (#625) - added an option to control weapon allocation in item randomization (#690) - added an option to move enemies such as eels, whose placement can lead to forced damage or difficulty in passing (#311) +- added an option to stack rewards with secrets in TR1 and TR3, rather than using reward rooms (#687) +- added Lara's assault course outfit in TR2 for outfit randomization (#672) +- added gun holsters to Lara's robe outfit in TR2 (#672) +- added separate secret audio for TR1 and TR3 when not using reward rooms (#687) - added Finnish, Portuguese, and Swedish translations to TR1 and added all supported language translations to TRUB (#701) - fixed several potential key item softlocks in TR2 (#691) - fixed a key item softlock in Crash Site (#662) diff --git a/Deps/TRGE.Coord.dll b/Deps/TRGE.Coord.dll index c58baea0f..15df017f9 100644 Binary files a/Deps/TRGE.Coord.dll and b/Deps/TRGE.Coord.dll differ diff --git a/Deps/TRGE.Core.dll b/Deps/TRGE.Core.dll index a145f0b89..89e7c6486 100644 Binary files a/Deps/TRGE.Core.dll and b/Deps/TRGE.Core.dll differ diff --git a/README.md b/README.md index 3982ed79b..9a0dcc025 100644 --- a/README.md +++ b/README.md @@ -2,14 +2,9 @@ TR Rando

-TR Rando is a randomizer tool for the classic Tomb Raider series (TR 1-3 and Unfinished Business). It allows you to change many aspects of the +TR Rando is a randomizer tool for the classic Tomb Raider series (TR 1-3 and Unfinished Business) and Tomb Raider I-III Remastered. It allows you to change many aspects of the original levels, such as item pickups, secrets, enemies, Lara's appearance, level order, text...[and so much more](#features). -> ## Tomb Raider I-III Remastered -> The current release of the randomizer *does not work* with the remasters. Testing is currently underway on supporting these games; for the time being, support remains only for the _original_ games as detailed in [USING.md](USING.md). -> ->

Rando Team
2024-06-01

- ## Installation 1. Download the [latest version](https://github.com/LostArtefacts/TR-Rando/releases/latest), making sure to select the `TRRando` zip and not the source code. diff --git a/Resources/UI.png b/Resources/UI.png index eab2b6e52..6bddd5aad 100644 Binary files a/Resources/UI.png and b/Resources/UI.png differ diff --git a/Resources/Using/confirmdelete.png b/Resources/Using/confirmdelete.png index a956a1836..58aac923a 100644 Binary files a/Resources/Using/confirmdelete.png and b/Resources/Using/confirmdelete.png differ diff --git a/Resources/Using/deletebackup.png b/Resources/Using/deletebackup.png index b91d6e521..c0dbf61e3 100644 Binary files a/Resources/Using/deletebackup.png and b/Resources/Using/deletebackup.png differ diff --git a/Resources/Using/finalizing.png b/Resources/Using/finalizing.png new file mode 100644 index 000000000..0f407e594 Binary files /dev/null and b/Resources/Using/finalizing.png differ diff --git a/Resources/Using/firstwindow.png b/Resources/Using/firstwindow.png index b99b2538b..6738db0ff 100644 Binary files a/Resources/Using/firstwindow.png and b/Resources/Using/firstwindow.png differ diff --git a/Resources/Using/integrity.png b/Resources/Using/integrity.png index 7e8cc4f88..cbd71d046 100644 Binary files a/Resources/Using/integrity.png and b/Resources/Using/integrity.png differ diff --git a/Resources/Using/randofolder.png b/Resources/Using/randofolder.png index be354bcac..a2dc11b56 100644 Binary files a/Resources/Using/randofolder.png and b/Resources/Using/randofolder.png differ diff --git a/Resources/Using/randomizing.png b/Resources/Using/randomizing.png index d28ff0986..d510bc191 100644 Binary files a/Resources/Using/randomizing.png and b/Resources/Using/randomizing.png differ diff --git a/Resources/Using/recentfolder.png b/Resources/Using/recentfolder.png index e949384cb..403709c23 100644 Binary files a/Resources/Using/recentfolder.png and b/Resources/Using/recentfolder.png differ diff --git a/Resources/Using/restore.png b/Resources/Using/restore.png index 5f91b2d73..61bdd0af2 100644 Binary files a/Resources/Using/restore.png and b/Resources/Using/restore.png differ diff --git a/Resources/randomizerlogo.png b/Resources/randomizerlogo.png index a018d29c9..de1c3bf88 100644 Binary files a/Resources/randomizerlogo.png and b/Resources/randomizerlogo.png differ diff --git a/TRImageControl/TRImage.cs b/TRImageControl/TRImage.cs index d0aa65304..9f869fe9f 100644 --- a/TRImageControl/TRImage.cs +++ b/TRImageControl/TRImage.cs @@ -435,7 +435,7 @@ public void Overlay(TRImage image) { if (image.Size.Width > Size.Width || image.Size.Height > Size.Height) { - throw new InvalidOperationException(); + image = image.Export(new(0, 0, Math.Min(image.Size.Width, Size.Width), Math.Min(image.Size.Height, Size.Height))); } Import(image, new(0, 0), true); } diff --git a/TRRandomizerCore/Randomizers/TR1/Remastered/TR1REnemyRandomizer.cs b/TRRandomizerCore/Randomizers/TR1/Remastered/TR1REnemyRandomizer.cs index 92735c9f0..cc8ad1e6d 100644 --- a/TRRandomizerCore/Randomizers/TR1/Remastered/TR1REnemyRandomizer.cs +++ b/TRRandomizerCore/Randomizers/TR1/Remastered/TR1REnemyRandomizer.cs @@ -1,6 +1,5 @@ using TRDataControl; using TRGE.Core; -using TRLevelControl; using TRLevelControl.Helpers; using TRLevelControl.Model; using TRRandomizerCore.Helpers; diff --git a/TRRandomizerCore/Randomizers/TR2/Classic/TR2OutfitRandomizer.cs b/TRRandomizerCore/Randomizers/TR2/Classic/TR2OutfitRandomizer.cs index 7fa033cae..37ce0a895 100644 --- a/TRRandomizerCore/Randomizers/TR2/Classic/TR2OutfitRandomizer.cs +++ b/TRRandomizerCore/Randomizers/TR2/Classic/TR2OutfitRandomizer.cs @@ -278,7 +278,7 @@ private bool Import(TR2CombinedLevel level, TR2Type lara) if (lara == TR2TypeUtilities.GetAliasForLevel(level.Name, TR2Type.Lara)) { // In case a previous attempt failed, we need to restore default texture mapping - _outer.TextureMonitor.GetMonitor(level.Name)?.RemovedTextures?.Remove(TR2Type.Lara); + _outer.TextureMonitor.GetMonitor(level.Name)?.RemovedTextures?.RemoveAll(t => t == TR2Type.Lara); } if (level.IsCutScene) diff --git a/TRRandomizerCore/Resources/Shared/Graphics/tr1badge-large.png b/TRRandomizerCore/Resources/Shared/Graphics/tr1badge-large.png index c51d31e0a..cd0d50d75 100644 Binary files a/TRRandomizerCore/Resources/Shared/Graphics/tr1badge-large.png and b/TRRandomizerCore/Resources/Shared/Graphics/tr1badge-large.png differ diff --git a/TRRandomizerCore/Resources/Shared/Graphics/tr1badge-small.png b/TRRandomizerCore/Resources/Shared/Graphics/tr1badge-small.png index 37fe6afad..483debf0f 100644 Binary files a/TRRandomizerCore/Resources/Shared/Graphics/tr1badge-small.png and b/TRRandomizerCore/Resources/Shared/Graphics/tr1badge-small.png differ diff --git a/TRRandomizerCore/Resources/Shared/Graphics/tr2badge-small.png b/TRRandomizerCore/Resources/Shared/Graphics/tr2badge-small.png index 3ee9ef0a0..d7609f81a 100644 Binary files a/TRRandomizerCore/Resources/Shared/Graphics/tr2badge-small.png and b/TRRandomizerCore/Resources/Shared/Graphics/tr2badge-small.png differ diff --git a/TRRandomizerCore/Resources/Shared/Graphics/tr3badge-small.png b/TRRandomizerCore/Resources/Shared/Graphics/tr3badge-small.png index f24c250af..14e3c1979 100644 Binary files a/TRRandomizerCore/Resources/Shared/Graphics/tr3badge-small.png and b/TRRandomizerCore/Resources/Shared/Graphics/tr3badge-small.png differ diff --git a/TRRandomizerCore/Resources/TR1/Environment/LEVEL5.PHD-Environment.json b/TRRandomizerCore/Resources/TR1/Environment/LEVEL5.PHD-Environment.json index 9fbf59806..92dffd9db 100644 --- a/TRRandomizerCore/Resources/TR1/Environment/LEVEL5.PHD-Environment.json +++ b/TRRandomizerCore/Resources/TR1/Environment/LEVEL5.PHD-Environment.json @@ -65,77 +65,6 @@ "Room": 2 }, "IfLandCreature": true - }, - { - "Comments": "Make a ramp.", - "EMType": 7, - "Location": { - "X": 67072, - "Y": -2304, - "Z": 55808, - "Room": 2 - }, - "FloorClicks": -1, - "SlantType": 2, - "XSlant": -1 - }, - { - "Comments": "Move some faces to fit the ramp.", - "EMType": 23, - "Modifications": [ - { - "RoomNumber": 2, - "FaceIndex": 81, - "VertexChanges": { - "2": { - "Y": -256 - } - } - }, - { - "RoomNumber": 2, - "FaceIndex": 79, - "VertexChanges": { - "0": { - "Y": -256 - }, - "3": { - "Y": -256 - } - } - } - ] - }, - { - "Comments": "Patch gaps.", - "EMType": 26, - "Quads": { - "2": [ - { - "Type": 4, - "Vertices": [ - 177, - 178, - 92, - 93 - ], - "Texture": 13 - } - ] - }, - "Triangles": { - "2": [ - { - "Type": 3, - "Vertices": [ - 93, - 107, - 177 - ], - "Texture": 15 - } - ] - } } ], [ diff --git a/TRRandomizerCore/Resources/TR2/Environment/FLOATING.TR2-Environment.json b/TRRandomizerCore/Resources/TR2/Environment/FLOATING.TR2-Environment.json index c78ca2b3c..24e787827 100644 --- a/TRRandomizerCore/Resources/TR2/Environment/FLOATING.TR2-Environment.json +++ b/TRRandomizerCore/Resources/TR2/Environment/FLOATING.TR2-Environment.json @@ -88,23 +88,9 @@ "Z": 55891, "Room": 152 }, - "Clicks": -4, - "FloorTexture": 65535, - "SideTexture": 1688, - "Flags": 7 - }, - { - "Comments": "Put another on top.", - "EMType": 1, - "Location": { - "X": 83440, - "Y": -9216, - "Z": 55891, - "Room": 152 - }, - "Clicks": -2, + "Clicks": -6, "FloorTexture": 1709, - "SideTexture": 1863, + "SideTexture": 1688, "Flags": 7 } ], diff --git a/TRRandomizerCore/Resources/TR2/Textures/Mapping/HOUSE.TR2-Textures.json b/TRRandomizerCore/Resources/TR2/Textures/Mapping/HOUSE.TR2-Textures.json index 611d9f392..7b360e31d 100644 --- a/TRRandomizerCore/Resources/TR2/Textures/Mapping/HOUSE.TR2-Textures.json +++ b/TRRandomizerCore/Resources/TR2/Textures/Mapping/HOUSE.TR2-Textures.json @@ -69,7 +69,7 @@ "Segment": 8, "Tile": 9, "X": 96, - "Y": 96 + "Y": 56 }, { "Segment": 9, diff --git a/TRRandomizerView/App.xaml.cs b/TRRandomizerView/App.xaml.cs index 45233524b..ea1b51dfb 100644 --- a/TRRandomizerView/App.xaml.cs +++ b/TRRandomizerView/App.xaml.cs @@ -21,7 +21,6 @@ static App() } public string Title { get; private set; } - public string Description { get; private set; } public string Version { get; private set; } public string TaggedVersion { get; private set; } public string Copyright { get; private set; } @@ -32,20 +31,14 @@ public App() Assembly assembly = Assembly.GetExecutingAssembly(); - object[] attributes = assembly.GetCustomAttributes(typeof(AssemblyTitleAttribute), false); + object[] attributes = assembly.GetCustomAttributes(typeof(AssemblyProductAttribute), false); if (attributes.Length > 0) { - Title = ((AssemblyTitleAttribute)attributes[0]).Title; + Title = ((AssemblyProductAttribute)attributes[0]).Product; } else { - Title = "TRRandomizer"; - } - - attributes = assembly.GetCustomAttributes(typeof(AssemblyProductAttribute), false); - if (attributes.Length > 0) - { - Description = ((AssemblyProductAttribute)attributes[0]).Product; + Title = "Tomb Raider Randomizer"; } attributes = assembly.GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false); diff --git a/TRRandomizerView/Controls/FolderLoadControl.xaml b/TRRandomizerView/Controls/FolderLoadControl.xaml index 71ea158d7..313a5990a 100644 --- a/TRRandomizerView/Controls/FolderLoadControl.xaml +++ b/TRRandomizerView/Controls/FolderLoadControl.xaml @@ -47,15 +47,20 @@ - - + + Margin="10,0,0,2"> + + + + + + + + +