├── .appveyor.yml ├── .gitignore ├── .gitmodules ├── Borderlands 2.sln ├── LICENSE.txt ├── README.md ├── README.txt ├── dist └── Gibbed.Borderlands2.SaveEdit.exe.config ├── other ├── MiniLZO.dll └── wpf │ ├── Caliburn.Micro.Contrib.dll │ ├── Caliburn.Micro.Contrib.pdb │ ├── DesignTimeProperties.WPF.dll │ └── DesignTimeProperties.WPF.pdb └── projects ├── Gibbed.Borderlands2.FileFormats ├── AssetLibraryManagerHelpers.cs ├── CompressionScheme.cs ├── Gibbed.Borderlands2.FileFormats.csproj ├── Items │ ├── BackpackDataHelper.cs │ ├── BackpackItem.cs │ ├── BackpackWeapon.cs │ ├── BaseDataHelper.cs │ ├── BaseItem.cs │ ├── BaseWeapon.cs │ ├── IBackpackSlot.cs │ ├── IPackableItem.cs │ ├── IPackableSlot.cs │ ├── IPackableWeapon.cs │ ├── IPackedSlot.cs │ ├── PackedAssetReference.cs │ ├── PackedDataHelper.cs │ ├── PackedItem.cs │ └── PackedWeapon.cs ├── LICENSE.txt ├── PlatformHelpers.cs ├── PlayerStats.cs ├── SaveCorruptionException.cs ├── SaveExpansion.cs ├── SaveFile.cs └── SaveFormatException.cs ├── Gibbed.Borderlands2.GameInfo ├── AssetGroup.cs ├── AssetLibraryConfiguration.cs ├── AssetLibraryDefinition.cs ├── AssetLibraryManager.cs ├── AssetLibrarySet.cs ├── AssetSublibraryDefinition.cs ├── CustomizationDefinition.cs ├── CustomizationType.cs ├── CustomizationUsage.cs ├── DownloadableContentDefinition.cs ├── DownloadableContentType.cs ├── DownloadablePackageDefinition.cs ├── Experience.cs ├── FastTravelStationDefinition.cs ├── FastTravelStationOrdering.cs ├── Gibbed.Borderlands2.GameInfo.csproj ├── InfoDictionary.cs ├── InfoLoadException.cs ├── InfoManager.cs ├── ItemBalanceDefinition.cs ├── ItemBalancePartCollection.cs ├── ItemDefinition.cs ├── ItemNamePartDefinition.cs ├── ItemType.cs ├── LICENSE.txt ├── LevelTravelStationDefinition.cs ├── Loaders │ ├── AssetLibraryManagerLoader.cs │ ├── CustomizationDefinitionLoader.cs │ ├── DownloadableContentDefinitionLoader.cs │ ├── DownloadablePackageDefinitionLoader.cs │ ├── FastTravelStationOrderingLoader.cs │ ├── ItemBalanceDefinitionLoader.cs │ ├── ItemDefinitionLoader.cs │ ├── ItemNamePartDefinitionLoader.cs │ ├── LoaderHelper.cs │ ├── PlatformConfigurationLoader.cs │ ├── PlayerClassDefinitionLoader.cs │ ├── TravelStationDefinitionLoader.cs │ ├── TypeNameSerializationBinder.cs │ ├── WeaponBalanceDefinitionLoader.cs │ ├── WeaponNamePartDefinitionLoader.cs │ └── WeaponTypeDefinitionLoader.cs ├── MissionStatus.cs ├── MissionStatusData.cs ├── ObjectiveDependencyStatus.cs ├── PartReplacementMode.cs ├── Platform.cs ├── PlatformAssetLibraryConfiguration.cs ├── PlatformAssetLibrarySet.cs ├── PlatformConfiguration.cs ├── PlayerClassDefinition.cs ├── Raw │ ├── AssetLibraryConfiguration.cs │ ├── AssetLibraryDefinition.cs │ ├── AssetLibraryManager.cs │ ├── AssetLibrarySet.cs │ ├── AssetSublibraryDefinition.cs │ ├── CustomizationDefinition.cs │ ├── DownloadableContentDefinition.cs │ ├── DownloadablePackage.cs │ ├── FastTravelStationDefinition.cs │ ├── FastTravelStationOrdering.cs │ ├── ItemBalanceDefinition.cs │ ├── ItemBalancePartCollection.cs │ ├── ItemDefinition.cs │ ├── ItemNamePartDefinition.cs │ ├── LevelTravelStationDefinition.cs │ ├── MissionStatusData.cs │ ├── PlatformAssetLibraryConfiguration.cs │ ├── PlatformAssetLibrarySet.cs │ ├── PlatformConfiguration.cs │ ├── PlayerClassDefinition.cs │ ├── TravelStationDefinition.cs │ ├── WeaponBalanceDefinition.cs │ ├── WeaponBalancePartCollection.cs │ ├── WeaponNamePartDefinition.cs │ └── WeaponTypeDefinition.cs ├── ResourceNotFoundException.cs ├── Resources │ ├── Downloadable Package Display Name Overrides.json │ └── Platform Configurations.json ├── TravelStationDefinition.cs ├── WeaponBalanceDefinition.cs ├── WeaponBalancePartCollection.cs ├── WeaponNamePartDefinition.cs ├── WeaponType.cs ├── WeaponTypeDefinition.cs └── todo.txt ├── Gibbed.Borderlands2.ProtoBufFormats ├── Gibbed.Borderlands2.ProtoBufFormats.csproj ├── GlobalSuppressions.cs ├── LICENSE.txt └── WillowTwoSave │ ├── BankSlot.cs │ ├── ChallengeData.cs │ ├── ChosenVehicleCustomization.cs │ ├── Color.cs │ ├── DLCExpansionData.cs │ ├── GUID.cs │ ├── GoldenKeys.cs │ ├── InventorySlotData.cs │ ├── ItemData.cs │ ├── ItemMemento.cs │ ├── LockoutData.cs │ ├── MissionData.cs │ ├── MissionPlaythroughData.cs │ ├── MissionStatus.cs │ ├── OneOffLevelChallengeData.cs │ ├── PackedItemData.cs │ ├── PackedItemDataOptional.cs │ ├── PackedWeaponData.cs │ ├── PackedWeaponDataOptional.cs │ ├── PendingMissionRewards.cs │ ├── PlayerMark.cs │ ├── QuickWeaponSlot.cs │ ├── RegionGameStageData.cs │ ├── ResourceData.cs │ ├── SkillData.cs │ ├── UIPreferencesData.cs │ ├── WeaponData.cs │ ├── WeaponMemento.cs │ ├── WillowTwoPlayerSaveGame.cs │ └── WorldDiscoveryData.cs ├── Gibbed.Borderlands2.SaveEdit ├── AccessiblePropertyGrid.xaml ├── App.xaml ├── App.xaml.cs ├── AppBootstrapper.cs ├── AppWindowManager.cs ├── Gibbed.Borderlands2.SaveEdit.csproj ├── Gibbed.Borderlands2.SaveEdit.csproj.DotSettings ├── Helpers │ ├── AssetCache.cs │ ├── AssetDisplay.cs │ ├── Blacklisting.cs │ ├── EnumerableComparer.cs │ ├── GearCalculatorView.xaml │ ├── GearCalculatorView.xaml.cs │ └── GearCalculatorViewModel.cs ├── Items │ ├── BackpackItemView.xaml │ ├── BackpackItemView.xaml.cs │ ├── BackpackItemViewModel.cs │ ├── BackpackWeaponView.xaml │ ├── BackpackWeaponView.xaml.cs │ ├── BackpackWeaponViewModel.cs │ ├── BaseItemView.xaml │ ├── BaseItemView.xaml.cs │ ├── BaseItemViewModel.cs │ ├── BaseWeaponView.xaml │ ├── BaseWeaponView.xaml.cs │ ├── BaseWeaponViewModel.cs │ ├── IBackpackSlotViewModel.cs │ ├── IBaseSlotViewModel.cs │ └── ItemTypeFilter.cs ├── LICENSE.txt ├── Resources │ ├── Handsome Jack.ico │ ├── Handsome Jack.png │ ├── Xceed.Wpf.Toolkit │ │ └── PropertyGrid │ │ │ └── Images │ │ │ ├── AdvancedProperties11.png │ │ │ ├── Categorize16.png │ │ │ ├── ClearFilter16.png │ │ │ ├── Database11.png │ │ │ ├── Inheritance11.png │ │ │ ├── Local11.png │ │ │ ├── Resource11.png │ │ │ ├── SortAscending16.png │ │ │ └── Style11.png │ ├── assaultrifle.png │ ├── backpack.png │ ├── bank.png │ ├── credits cropped.png │ ├── credits.png │ ├── eridium.png │ ├── exclamation mark.png │ ├── fast travel.png │ ├── fugue │ │ ├── computer.png │ │ ├── control-090.png │ │ ├── control-double-090.png │ │ ├── disk-rename.png │ │ ├── disk.png │ │ ├── document-binary.png │ │ ├── document-copy.png │ │ ├── document-delete.png │ │ ├── document.png │ │ ├── exclamation.png │ │ ├── folder-open-document.png │ │ ├── luggage.png │ │ ├── piggy-bank.png │ │ ├── printer.png │ │ ├── scanner.png │ │ ├── television-image.png │ │ └── television-test.png │ ├── green vault symbol.png │ ├── pink seraph crystal.png │ ├── question mark.png │ ├── red skull.png │ ├── scooter.png │ ├── seraph crystal.png │ ├── shield.png │ ├── stash.png │ ├── torgue token.png │ └── wheel.png ├── SaveLoad.cs ├── ShellView.xaml ├── ShellView.xaml.cs ├── ShellViewModel.cs ├── Startup.cs ├── Tabs │ ├── AboutView.xaml │ ├── AboutView.xaml.cs │ ├── AboutViewModel.cs │ ├── BackpackView.xaml │ ├── BackpackView.xaml.cs │ ├── BackpackViewModel.cs │ ├── BankView.xaml │ ├── BankView.xaml.cs │ ├── BankViewModel.cs │ ├── CharacterView.xaml │ ├── CharacterView.xaml.cs │ ├── CharacterViewModel.cs │ ├── CurrencyOnHandView.xaml │ ├── CurrencyOnHandView.xaml.cs │ ├── CurrencyOnHandViewModel.cs │ ├── FastTravelView.xaml │ ├── FastTravelView.xaml.cs │ ├── FastTravelViewModel.cs │ ├── GeneralView.xaml │ ├── GeneralView.xaml.cs │ ├── GeneralViewModel.cs │ ├── VehicleView.xaml │ ├── VehicleView.xaml.cs │ └── VehicleViewModel.cs ├── Validators │ ├── AssetLibrarySetIdValidationRule.cs │ ├── AssetValidationRule.cs │ ├── BalanceValidationRule.cs │ ├── ItemPartValidationRule.cs │ ├── ItemValidationRule.cs │ ├── ManufacturerValidationRule.cs │ ├── WeaponPartValidationRule.cs │ └── WeaponTypeValidationRule.cs ├── VersionInfo.cs └── app.config ├── Gibbed.Borderlands2.SparkTmsPack ├── Gibbed.Borderlands2.SparkTmsPack.csproj ├── LICENSE.txt └── Program.cs ├── Gibbed.Borderlands2.SparkTmsUnpack ├── Gibbed.Borderlands2.SparkTmsUnpack.csproj ├── LICENSE.txt └── Program.cs └── VerifySaves ├── LICENSE.txt ├── Program.cs └── VerifySaves.csproj /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "projects/Gibbed.IO"] 2 | path = projects/Gibbed.IO 3 | url = https://github.com/gibbed/Gibbed.IO.git 4 | branch = vs2017 5 | [submodule "projects/NDesk.Options"] 6 | path = projects/NDesk.Options 7 | url = https://github.com/gibbed/NDesk.Options.git 8 | branch = vs2017 9 | [submodule "projects/Gibbed.Borderlands2.GameInfo/Resources/Dumps"] 10 | path = projects/Gibbed.Borderlands2.GameInfo/Resources/Dumps 11 | url = https://github.com/gibbed/Borderlands2Dumps.git 12 | [submodule "projects/Gearbox"] 13 | path = projects/Gearbox 14 | url = https://github.com/gibbed/Gibbed.Gearbox.git 15 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | zlib License 2 | 3 | Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would 16 | be appreciated but is not required. 17 | 18 | 2. Altered source versions must be plainly marked as such, and must not 19 | be misrepresented as being the original software. 20 | 21 | 3. This notice may not be removed or altered from any source 22 | distribution. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Gibbed's Borderlands 2 Tools 2 | 3 | Tools for modding Borderlands 2. 4 | 5 | **Like what I've done?** 6 | **Consider supporting me on [Patreon](https://patreon.com/gibbed), [Ko-fi](https://ko-fi.com/gibbed), [PayPal](https://paypal.me/gibbed), or by using the Epic Support-A-Creator Tag "GIBBED".** 7 | 8 | [![Build status](https://ci.appveyor.com/api/projects/status/003bq7d3qyhxit93/branch/master?svg=true)](https://ci.appveyor.com/project/gibbed/gibbed-borderlands2/branch/master) 9 | 10 | ## Save Editor 11 | 12 | To download, [go to the current release](https://github.com/gibbed/Gibbed.Borderlands2/releases/latest) and download `bl2_saveedit_1.0.x.zip`. 13 | 14 | ### Community Resources 15 | 16 | TODO. 17 | 18 | ## SparkTmsPack/SparkTmsUnpack 19 | 20 | These tools are used for unpacking Spark TMS data, which is downloaded by Borderlands 2 upon launching. 21 | 22 | ## Building from source code 23 | 24 | Intended to be built with [Visual Studio 2019](https://visualstudio.microsoft.com/vs/). You'll need minimum [.NET Core 3.0](https://dotnet.microsoft.com/download/dotnet-core/3.0) as well. 25 | -------------------------------------------------------------------------------- /README.txt: -------------------------------------------------------------------------------- 1 | SaveEdit requires the full .NET Framework 4, which can be downloaded from 2 | http://www.microsoft.com/download/en/details.aspx?id=17851 3 | 4 | Most UI interface icons are courtesy of Fugue Icons available at 5 | http://p.yusukekamiyamane.com/ 6 | -------------------------------------------------------------------------------- /dist/Gibbed.Borderlands2.SaveEdit.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /other/MiniLZO.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/other/MiniLZO.dll -------------------------------------------------------------------------------- /other/wpf/Caliburn.Micro.Contrib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/other/wpf/Caliburn.Micro.Contrib.dll -------------------------------------------------------------------------------- /other/wpf/Caliburn.Micro.Contrib.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/other/wpf/Caliburn.Micro.Contrib.pdb -------------------------------------------------------------------------------- /other/wpf/DesignTimeProperties.WPF.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/other/wpf/DesignTimeProperties.WPF.dll -------------------------------------------------------------------------------- /other/wpf/DesignTimeProperties.WPF.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/other/wpf/DesignTimeProperties.WPF.pdb -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.FileFormats/CompressionScheme.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.FileFormats 24 | { 25 | internal enum CompressionScheme 26 | { 27 | None = 0, 28 | LZO = 1, 29 | Zlib = 2, 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.FileFormats/Gibbed.Borderlands2.FileFormats.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | net40 4 | Gibbed 5 | Gibbed 6 | http://gib.me/ 7 | Copyright © Gibbed 2019 8 | 1.0.0 9 | 1.0.0.0 10 | 1.0.0.0 11 | https://github.com/gibbed/Gibbed.Borderlands2/ 12 | Git 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | ..\..\other\MiniLZO.dll 27 | 28 | 29 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.FileFormats/Items/BackpackDataHelper.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.FileFormats.Items 24 | { 25 | public abstract class BackpackDataHelper : PackedDataHelper 26 | { 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.FileFormats/Items/BaseDataHelper.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.FileFormats.Items 24 | { 25 | public abstract class BaseDataHelper : PackedDataHelper 26 | { 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.FileFormats/Items/IBackpackSlot.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.FileFormats.Items 24 | { 25 | public interface IBackpackSlot : IPackableSlot 26 | { 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.FileFormats/Items/IPackableItem.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using Gibbed.Borderlands2.GameInfo; 24 | 25 | namespace Gibbed.Borderlands2.FileFormats.Items 26 | { 27 | public interface IPackableItem : IPackableSlot 28 | { 29 | void Unpack(PackedItem packed, Platform platform); 30 | PackedItem Pack(Platform platform); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.FileFormats/Items/IPackableSlot.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using System; 24 | 25 | namespace Gibbed.Borderlands2.FileFormats.Items 26 | { 27 | public interface IPackableSlot : ICloneable 28 | { 29 | int UniqueId { get; set; } 30 | int AssetLibrarySetId { get; set; } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.FileFormats/Items/IPackableWeapon.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using Gibbed.Borderlands2.GameInfo; 24 | 25 | namespace Gibbed.Borderlands2.FileFormats.Items 26 | { 27 | public interface IPackableWeapon : IPackableSlot 28 | { 29 | void Unpack(PackedWeapon packed, Platform platform); 30 | PackedWeapon Pack(Platform platform); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.FileFormats/Items/IPackedSlot.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using System; 24 | using Gibbed.Borderlands2.GameInfo; 25 | using Gibbed.Gearbox.Common; 26 | 27 | namespace Gibbed.Borderlands2.FileFormats.Items 28 | { 29 | internal interface IPackedSlot : ICloneable 30 | { 31 | void Read(BitReader reader, Platform platform); 32 | void Write(BitWriter writer, Platform platform); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.FileFormats/LICENSE.txt: -------------------------------------------------------------------------------- 1 | zlib License 2 | 3 | Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would 16 | be appreciated but is not required. 17 | 18 | 2. Altered source versions must be plainly marked as such, and must not 19 | be misrepresented as being the original software. 20 | 21 | 3. This notice may not be removed or altered from any source 22 | distribution. -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.FileFormats/SaveCorruptionException.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using System; 24 | 25 | namespace Gibbed.Borderlands2.FileFormats 26 | { 27 | public class SaveCorruptionException : Exception 28 | { 29 | public SaveCorruptionException() 30 | { 31 | } 32 | 33 | public SaveCorruptionException(string message) 34 | : base(message) 35 | { 36 | } 37 | 38 | public SaveCorruptionException(string message, Exception innerException) 39 | : base(message, innerException) 40 | { 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.FileFormats/SaveFormatException.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using System; 24 | 25 | namespace Gibbed.Borderlands2.FileFormats 26 | { 27 | public class SaveFormatException : Exception 28 | { 29 | public SaveFormatException() 30 | { 31 | } 32 | 33 | public SaveFormatException(string message) 34 | : base(message) 35 | { 36 | } 37 | 38 | public SaveFormatException(string message, Exception innerException) 39 | : base(message, innerException) 40 | { 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/AssetGroup.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.GameInfo 24 | { 25 | public enum AssetGroup 26 | { 27 | WeaponTypes, 28 | WeaponParts, 29 | ItemTypes, 30 | ItemParts, 31 | Manufacturers, 32 | BalanceDefs, 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/AssetLibraryConfiguration.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.GameInfo 24 | { 25 | public sealed class AssetLibraryConfiguration 26 | { 27 | internal AssetLibraryConfiguration() 28 | { 29 | } 30 | 31 | public AssetGroup Group { get; internal set; } 32 | 33 | /// 34 | /// The Native/UnrealScript type of assets in the library. 35 | /// 36 | public string Type { get; internal set; } 37 | 38 | /// 39 | /// The number of bits required to represent the sublibrary index. 40 | /// 41 | public int SublibraryBits { get; internal set; } 42 | 43 | /// 44 | /// The number of bits required to represent the sublibrary assets index. 45 | /// 46 | public int AssetBits { get; internal set; } 47 | 48 | public uint NoneIndex 49 | { 50 | get { return (1u << this.SublibraryBits + this.AssetBits) - 1; } 51 | } 52 | 53 | public uint SublibraryMask 54 | { 55 | get { return (1u << this.SublibraryBits - 1) - 1; } 56 | } 57 | 58 | public uint UseSetIdMask 59 | { 60 | get { return (1u << this.SublibraryBits - 1); } 61 | } 62 | 63 | public uint AssetMask 64 | { 65 | get { return (1u << this.AssetBits) - 1; } 66 | } 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/AssetLibraryDefinition.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using System.Collections.Generic; 24 | using System.Linq; 25 | 26 | namespace Gibbed.Borderlands2.GameInfo 27 | { 28 | public sealed class AssetLibraryDefinition 29 | { 30 | internal AssetLibraryDefinition() 31 | { 32 | } 33 | 34 | public AssetGroup Group { get; internal set; } 35 | 36 | /// 37 | /// The Native/UnrealScript type of assets in the library. 38 | /// 39 | public string Type { get; internal set; } 40 | 41 | public int MostAssets 42 | { 43 | get { return this.Sublibraries.Max(sl => sl.Assets.Count); } 44 | } 45 | 46 | public List Sublibraries { get; internal set; } 47 | 48 | public string[] GetAssets() 49 | { 50 | return new[] 51 | { 52 | "None" 53 | }.Concat( 54 | this.Sublibraries 55 | .SelectMany(sl => sl.Assets.Select(a => sl.Package + "." + a)) 56 | .Distinct() 57 | .OrderBy(a => a)) 58 | .ToArray(); 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/AssetLibraryManager.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using System.Collections.Generic; 24 | using System.Linq; 25 | 26 | namespace Gibbed.Borderlands2.GameInfo 27 | { 28 | public sealed class AssetLibraryManager 29 | { 30 | internal AssetLibraryManager() 31 | { 32 | } 33 | 34 | public int Version { get; internal set; } 35 | public Dictionary Configurations { get; internal set; } 36 | public List Sets { get; internal set; } 37 | 38 | public AssetLibrarySet GetSet(int id) 39 | { 40 | return this.Sets.SingleOrDefault(s => s.Id == id); 41 | } 42 | 43 | public bool TryGetSet(int id, out AssetLibrarySet set) 44 | { 45 | set = this.Sets.SingleOrDefault(s => s.Id == id); 46 | return set != null; 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/AssetLibrarySet.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using System.Collections.Generic; 24 | 25 | namespace Gibbed.Borderlands2.GameInfo 26 | { 27 | public sealed class AssetLibrarySet 28 | { 29 | internal AssetLibrarySet() 30 | { 31 | } 32 | 33 | public int Id { get; internal set; } 34 | public Dictionary Libraries { get; internal set; } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/AssetSublibraryDefinition.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using System; 24 | using System.Collections.Generic; 25 | 26 | namespace Gibbed.Borderlands2.GameInfo 27 | { 28 | public sealed class AssetSublibraryDefinition 29 | { 30 | internal AssetSublibraryDefinition() 31 | { 32 | } 33 | 34 | public string Description { get; internal set; } 35 | 36 | /// 37 | /// The UnrealEngine package that contains the assets. 38 | /// 39 | public string Package { get; internal set; } 40 | 41 | /// 42 | /// Paths of assets within the package. 43 | /// 44 | public List Assets { get; internal set; } 45 | 46 | public string GetAsset(int index) 47 | { 48 | if (index < 0 || index >= this.Assets.Count) 49 | { 50 | throw new ArgumentOutOfRangeException($"invalid asset index {index} in sublibrary {this.Package}"); 51 | } 52 | 53 | return this.Package + "." + this.Assets[index]; 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/CustomizationDefinition.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using System.Collections.Generic; 24 | 25 | namespace Gibbed.Borderlands2.GameInfo 26 | { 27 | public sealed class CustomizationDefinition 28 | { 29 | internal CustomizationDefinition() 30 | { 31 | } 32 | 33 | public string ResourcePath { get; internal set; } 34 | public string Name { get; internal set; } 35 | public CustomizationType Type { get; internal set; } 36 | public List Usage { get; internal set; } 37 | public DownloadableContentDefinition DLC { get; internal set; } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/CustomizationType.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.GameInfo 24 | { 25 | public enum CustomizationType 26 | { 27 | Head, 28 | Skin, 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/CustomizationUsage.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.GameInfo 24 | { 25 | public enum CustomizationUsage 26 | { 27 | Unknown = 0, 28 | Soldier, 29 | Assassin, 30 | Siren, 31 | Mercenary, 32 | Mechromancer, 33 | Psycho, 34 | Runner, 35 | BanditTech, 36 | Hovercraft, 37 | FanBoat, 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/DownloadableContentDefinition.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.GameInfo 24 | { 25 | public sealed class DownloadableContentDefinition 26 | { 27 | internal DownloadableContentDefinition() 28 | { 29 | } 30 | 31 | public string ResourcePath { get; internal set; } 32 | public int Id { get; internal set; } 33 | public string Name { get; internal set; } 34 | public DownloadablePackageDefinition Package { get; internal set; } 35 | public DownloadableContentType Type { get; internal set; } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/DownloadableContentType.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.GameInfo 24 | { 25 | public enum DownloadableContentType 26 | { 27 | BalanceModifier, 28 | Character, 29 | CustomizationSet, 30 | Expansion, 31 | ItemSet, 32 | Vehicle, 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/DownloadablePackageDefinition.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.GameInfo 24 | { 25 | public sealed class DownloadablePackageDefinition 26 | { 27 | internal DownloadablePackageDefinition() 28 | { 29 | } 30 | 31 | public string ResourcePath { get; internal set; } 32 | public int Id { get; internal set; } 33 | public string DLCName { get; internal set; } 34 | public string DisplayName { get; internal set; } 35 | 36 | public static readonly DownloadablePackageDefinition Default; 37 | 38 | static DownloadablePackageDefinition() 39 | { 40 | Default = new DownloadablePackageDefinition() 41 | { 42 | ResourcePath = null, 43 | Id = 0, 44 | DLCName = null, 45 | DisplayName = "Base Game", 46 | }; 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/FastTravelStationDefinition.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.GameInfo 24 | { 25 | public sealed class FastTravelStationDefinition : TravelStationDefinition 26 | { 27 | internal FastTravelStationDefinition() 28 | { 29 | } 30 | 31 | public bool InitiallyActive { get; set; } 32 | public bool SendOnly { get; set; } 33 | public string Description { get; set; } 34 | public string Sign { get; set; } 35 | public string InaccessibleObjective { get; set; } 36 | public string AccessibleObjective { get; set; } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/FastTravelStationOrdering.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using System.Collections.Generic; 24 | 25 | namespace Gibbed.Borderlands2.GameInfo 26 | { 27 | public sealed class FastTravelStationOrdering 28 | { 29 | internal FastTravelStationOrdering() 30 | { 31 | } 32 | 33 | public string ResourcePath { get; internal set; } 34 | public List Stations { get; internal set; } 35 | public DownloadableContentDefinition DLCExpansion { get; internal set; } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/Gibbed.Borderlands2.GameInfo.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | net40 4 | Gibbed 5 | Gibbed 6 | http://gib.me/ 7 | Copyright © Gibbed 2019 8 | 1.0.0 9 | 1.0.0.0 10 | 1.0.0.0 11 | https://github.com/gibbed/Gibbed.Borderlands2/ 12 | Git 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/InfoLoadException.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using System; 24 | 25 | namespace Gibbed.Borderlands2.GameInfo 26 | { 27 | [Serializable] 28 | public sealed class InfoLoadException : Exception 29 | { 30 | public InfoLoadException() 31 | { 32 | } 33 | 34 | public InfoLoadException(string message) 35 | : base(message) 36 | { 37 | } 38 | 39 | public InfoLoadException(string message, Exception innerException) 40 | : base(message, innerException) 41 | { 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/ItemBalancePartCollection.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using System.Collections.Generic; 24 | 25 | namespace Gibbed.Borderlands2.GameInfo 26 | { 27 | public sealed class ItemBalancePartCollection 28 | { 29 | internal ItemBalancePartCollection() 30 | { 31 | } 32 | 33 | public ItemDefinition Item { get; internal set; } 34 | public PartReplacementMode Mode { get; internal set; } 35 | public List AlphaParts { get; internal set; } 36 | public List BetaParts { get; internal set; } 37 | public List GammaParts { get; internal set; } 38 | public List DeltaParts { get; internal set; } 39 | public List EpsilonParts { get; internal set; } 40 | public List ZetaParts { get; internal set; } 41 | public List EtaParts { get; internal set; } 42 | public List ThetaParts { get; internal set; } 43 | public List MaterialParts { get; internal set; } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/ItemDefinition.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using System.Collections.Generic; 24 | 25 | namespace Gibbed.Borderlands2.GameInfo 26 | { 27 | public sealed class ItemDefinition 28 | { 29 | internal ItemDefinition() 30 | { 31 | } 32 | 33 | public string ResourcePath { get; internal set; } 34 | public ItemType Type { get; internal set; } 35 | public string Name { get; internal set; } 36 | public bool HasFullName { get; internal set; } 37 | public List Titles { get; internal set; } 38 | public List Prefixes { get; internal set; } 39 | public List AlphaParts { get; internal set; } 40 | public List BetaParts { get; internal set; } 41 | public List GammaParts { get; internal set; } 42 | public List DeltaParts { get; internal set; } 43 | public List EpsilonParts { get; internal set; } 44 | public List ZetaParts { get; internal set; } 45 | public List EtaParts { get; internal set; } 46 | public List ThetaParts { get; internal set; } 47 | public List MaterialParts { get; internal set; } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/ItemNamePartDefinition.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.GameInfo 24 | { 25 | public sealed class ItemNamePartDefinition 26 | { 27 | internal ItemNamePartDefinition() 28 | { 29 | } 30 | 31 | public string ResourcePath { get; internal set; } 32 | public bool Unique { get; internal set; } 33 | public string Name { get; internal set; } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/ItemType.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.GameInfo 24 | { 25 | public enum ItemType 26 | { 27 | Unknown = 0, 28 | Artifact, 29 | ClassMod, 30 | GrenadeMod, 31 | MissionItem, 32 | Shield, 33 | UsableCustomizationItem, 34 | UsableItem, 35 | CrossDLCClassMod, 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/LICENSE.txt: -------------------------------------------------------------------------------- 1 | zlib License 2 | 3 | Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would 16 | be appreciated but is not required. 17 | 18 | 2. Altered source versions must be plainly marked as such, and must not 19 | be misrepresented as being the original software. 20 | 21 | 3. This notice may not be removed or altered from any source 22 | distribution. -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/LevelTravelStationDefinition.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.GameInfo 24 | { 25 | public sealed class LevelTravelStationDefinition : TravelStationDefinition 26 | { 27 | internal LevelTravelStationDefinition() 28 | { 29 | } 30 | 31 | public string DisplayName { get; internal set; } 32 | public LevelTravelStationDefinition DestinationStation { get; internal set; } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/Loaders/ItemNamePartDefinitionLoader.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using System; 24 | using System.Collections.Generic; 25 | using System.Linq; 26 | 27 | namespace Gibbed.Borderlands2.GameInfo.Loaders 28 | { 29 | internal static class ItemNamePartDefinitionLoader 30 | { 31 | public static InfoDictionary Load() 32 | { 33 | try 34 | { 35 | var raws = LoaderHelper.DeserializeDump>( 36 | "Item Name Parts"); 37 | return new InfoDictionary( 38 | raws.ToDictionary(kv => kv.Key, CreateItemNamePart)); 39 | } 40 | catch (Exception e) 41 | { 42 | throw new InfoLoadException("failed to load item name parts", e); 43 | } 44 | } 45 | 46 | private static ItemNamePartDefinition CreateItemNamePart( 47 | KeyValuePair kv) 48 | { 49 | var raw = kv.Value; 50 | return new ItemNamePartDefinition() 51 | { 52 | ResourcePath = kv.Key, 53 | Unique = raw.Unique, 54 | Name = raw.Name, 55 | }; 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/Loaders/TypeNameSerializationBinder.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using System; 24 | using System.Globalization; 25 | using Newtonsoft.Json.Serialization; 26 | 27 | namespace Gibbed.Borderlands2.GameInfo.Loaders 28 | { 29 | internal class TypeNameSerializationBinder : ISerializationBinder 30 | { 31 | public string TypeFormat { get; private set; } 32 | 33 | public TypeNameSerializationBinder(string typeFormat) 34 | { 35 | this.TypeFormat = typeFormat; 36 | } 37 | 38 | public Type BindToType(string assemblyName, string typeName) 39 | { 40 | var resolvedTypeName = string.Format(CultureInfo.InvariantCulture, TypeFormat, typeName); 41 | return Type.GetType(resolvedTypeName, true); 42 | } 43 | 44 | public void BindToName(Type serializedType, out string assemblyName, out string typeName) 45 | { 46 | assemblyName = null; 47 | typeName = serializedType.Name; 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/Loaders/WeaponNamePartDefinitionLoader.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using System; 24 | using System.Collections.Generic; 25 | using System.Linq; 26 | 27 | namespace Gibbed.Borderlands2.GameInfo.Loaders 28 | { 29 | internal static class WeaponNamePartDefinitionLoader 30 | { 31 | public static InfoDictionary Load() 32 | { 33 | try 34 | { 35 | var raws = LoaderHelper.DeserializeDump>( 36 | "Weapon Name Parts"); 37 | return new InfoDictionary( 38 | raws.ToDictionary(kv => kv.Key, CreateWeaponNamePart)); 39 | } 40 | catch (Exception e) 41 | { 42 | throw new InfoLoadException("failed to load weapon name parts", e); 43 | } 44 | } 45 | 46 | private static WeaponNamePartDefinition CreateWeaponNamePart( 47 | KeyValuePair kv) 48 | { 49 | var raw = kv.Value; 50 | return new WeaponNamePartDefinition() 51 | { 52 | ResourcePath = kv.Key, 53 | Unique = raw.Unique, 54 | Name = raw.Name, 55 | }; 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/MissionStatus.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.GameInfo 24 | { 25 | public enum MissionStatus 26 | { 27 | NotStarted = 0, 28 | Active = 1, 29 | RequiredObjectivesComplete = 2, 30 | ReadyToTurnIn = 3, 31 | Complete = 4, 32 | Failed = 5, 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/MissionStatusData.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.GameInfo 24 | { 25 | public sealed class MissionStatusData 26 | { 27 | internal MissionStatusData() 28 | { 29 | } 30 | 31 | public string MissionDefinition { get; set; } 32 | public MissionStatus MissionStatus { get; set; } 33 | public bool IsObjectiveSpecific { get; set; } 34 | public string ObjectiveDefinition { get; set; } 35 | public ObjectiveDependencyStatus ObjectiveStatus { get; set; } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/ObjectiveDependencyStatus.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.GameInfo 24 | { 25 | public enum ObjectiveDependencyStatus 26 | { 27 | Complete = 0, 28 | Active = 1, 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/PartReplacementMode.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.GameInfo 24 | { 25 | public enum PartReplacementMode 26 | { 27 | Unknown = 0, 28 | Additive, 29 | Selective, 30 | Complete, 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/Platform.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.GameInfo 24 | { 25 | public enum Platform 26 | { 27 | // ReSharper disable InconsistentNaming 28 | Invalid = 0, 29 | PC, 30 | X360, 31 | PS3, 32 | PSVita, 33 | Shield, 34 | Switch, 35 | // ReSharper restore InconsistentNaming 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/PlatformAssetLibraryConfiguration.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using System.Collections.Generic; 24 | 25 | namespace Gibbed.Borderlands2.GameInfo 26 | { 27 | public sealed class PlatformAssetLibraryConfiguration 28 | { 29 | internal PlatformAssetLibraryConfiguration() 30 | { 31 | } 32 | 33 | public AssetGroup Group { get; internal set; } 34 | 35 | public Dictionary SublibraryRemappingAtoB { get; internal set; } 36 | public Dictionary SublibraryRemappingBtoA { get; internal set; } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/PlatformAssetLibrarySet.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using System.Collections.Generic; 24 | 25 | namespace Gibbed.Borderlands2.GameInfo 26 | { 27 | public sealed class PlatformAssetLibrarySet 28 | { 29 | internal PlatformAssetLibrarySet() 30 | { 31 | } 32 | 33 | public int Id { get; internal set; } 34 | public Dictionary Libraries { get; internal set; } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/PlatformConfiguration.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using System.Collections.Generic; 24 | using System.Linq; 25 | 26 | namespace Gibbed.Borderlands2.GameInfo 27 | { 28 | public sealed class PlatformConfiguration 29 | { 30 | internal PlatformConfiguration() 31 | { 32 | } 33 | 34 | public Platform Platform { get; internal set; } 35 | public List AssetLibrarySets { get; internal set; } 36 | 37 | public PlatformAssetLibrarySet GetSet(int id) 38 | { 39 | return this.AssetLibrarySets.SingleOrDefault(s => s.Id == id); 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/PlayerClassDefinition.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.GameInfo 24 | { 25 | public sealed class PlayerClassDefinition 26 | { 27 | internal PlayerClassDefinition() 28 | { 29 | } 30 | 31 | public string ResourcePath { get; internal set; } 32 | public string Name { get; internal set; } 33 | public string Class { get; internal set; } 34 | public int SortOrder { get; internal set; } 35 | public DownloadableContentDefinition DLC { get; internal set; } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/Raw/AssetLibraryConfiguration.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | #pragma warning disable 649 24 | 25 | using Newtonsoft.Json; 26 | 27 | namespace Gibbed.Borderlands2.GameInfo.Raw 28 | { 29 | [JsonObject(MemberSerialization.OptIn)] 30 | internal sealed class AssetLibraryConfiguration 31 | { 32 | [JsonProperty(PropertyName = "type", Required = Required.Always)] 33 | public string Type { get; set; } 34 | 35 | [JsonProperty(PropertyName = "sublibrary_bits", Required = Required.Always)] 36 | public int SublibraryBits { get; set; } 37 | 38 | [JsonProperty(PropertyName = "asset_bits", Required = Required.Always)] 39 | public int AssetBits { get; set; } 40 | } 41 | } 42 | 43 | #pragma warning restore 649 44 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/Raw/AssetLibraryDefinition.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | #pragma warning disable 649 24 | 25 | using System.Collections.Generic; 26 | using Newtonsoft.Json; 27 | 28 | namespace Gibbed.Borderlands2.GameInfo.Raw 29 | { 30 | [JsonObject(MemberSerialization.OptIn)] 31 | internal sealed class AssetLibraryDefinition 32 | { 33 | public AssetLibraryDefinition() 34 | { 35 | this.Sublibraries = new List(); 36 | } 37 | 38 | [JsonProperty(PropertyName = "type")] 39 | public string Type { get; set; } 40 | 41 | [JsonProperty(PropertyName = "sublibraries")] 42 | public List Sublibraries { get; set; } 43 | } 44 | } 45 | 46 | #pragma warning restore 649 47 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/Raw/AssetLibraryManager.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | #pragma warning disable 649 24 | 25 | using System.Collections.Generic; 26 | using Newtonsoft.Json; 27 | 28 | namespace Gibbed.Borderlands2.GameInfo.Raw 29 | { 30 | [JsonObject(MemberSerialization.OptIn)] 31 | internal sealed class AssetLibraryManager 32 | { 33 | public AssetLibraryManager() 34 | { 35 | this.Configurations = new Dictionary(); 36 | this.Sets = new List(); 37 | } 38 | 39 | [JsonProperty(PropertyName = "version", Required = Required.Always)] 40 | public int Version { get; set; } 41 | 42 | [JsonProperty(PropertyName = "configs")] 43 | public Dictionary Configurations { get; set; } 44 | 45 | [JsonProperty(PropertyName = "sets")] 46 | public List Sets { get; set; } 47 | } 48 | } 49 | 50 | #pragma warning restore 649 51 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/Raw/AssetLibrarySet.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | #pragma warning disable 649 24 | 25 | using System.Collections.Generic; 26 | using Newtonsoft.Json; 27 | 28 | namespace Gibbed.Borderlands2.GameInfo.Raw 29 | { 30 | [JsonObject(MemberSerialization.OptIn)] 31 | internal sealed class AssetLibrarySet 32 | { 33 | public AssetLibrarySet() 34 | { 35 | this.Libraries = new Dictionary(); 36 | } 37 | 38 | [JsonProperty(PropertyName = "id", Required = Required.Always)] 39 | public int Id { get; set; } 40 | 41 | [JsonProperty(PropertyName = "libraries", Required = Required.Always)] 42 | public Dictionary Libraries { get; set; } 43 | } 44 | } 45 | 46 | #pragma warning restore 649 47 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/Raw/AssetSublibraryDefinition.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | #pragma warning disable 649 24 | 25 | using System.Collections.Generic; 26 | using Newtonsoft.Json; 27 | 28 | namespace Gibbed.Borderlands2.GameInfo.Raw 29 | { 30 | [JsonObject(MemberSerialization.OptIn)] 31 | internal sealed class AssetSublibraryDefinition 32 | { 33 | public AssetSublibraryDefinition() 34 | { 35 | this.Assets = new List(); 36 | } 37 | 38 | [JsonProperty(PropertyName = "description")] 39 | public string Description { get; set; } 40 | 41 | [JsonProperty(PropertyName = "package")] 42 | public string Package { get; set; } 43 | 44 | [JsonProperty(PropertyName = "assets")] 45 | public List Assets { get; set; } 46 | } 47 | } 48 | 49 | #pragma warning restore 649 50 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/Raw/CustomizationDefinition.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | #pragma warning disable 649 24 | 25 | using System.Collections.Generic; 26 | using Newtonsoft.Json; 27 | 28 | namespace Gibbed.Borderlands2.GameInfo.Raw 29 | { 30 | [JsonObject(MemberSerialization.OptIn)] 31 | internal sealed class CustomizationDefinition 32 | { 33 | [JsonProperty(PropertyName = "name", Required = Required.Always)] 34 | public string Name { get; set; } 35 | 36 | [JsonProperty(PropertyName = "type", Required = Required.Always)] 37 | public CustomizationType Type { get; set; } 38 | 39 | [JsonProperty(PropertyName = "usage", Required = Required.Always)] 40 | public List Usage { get; set; } 41 | 42 | [JsonProperty(PropertyName = "dlc")] 43 | public string DLC { get; set; } 44 | } 45 | } 46 | 47 | #pragma warning restore 649 48 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/Raw/DownloadableContentDefinition.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | #pragma warning disable 649 24 | 25 | using Newtonsoft.Json; 26 | 27 | namespace Gibbed.Borderlands2.GameInfo.Raw 28 | { 29 | [JsonObject(MemberSerialization.OptIn)] 30 | internal sealed class DownloadableContentDefinition 31 | { 32 | [JsonProperty(PropertyName = "id", Required = Required.Always)] 33 | public int Id { get; set; } 34 | 35 | [JsonProperty(PropertyName = "name", Required = Required.Always)] 36 | public string Name { get; set; } 37 | 38 | [JsonProperty(PropertyName = "package")] 39 | public string Package { get; set; } 40 | 41 | [JsonProperty(PropertyName = "type")] 42 | public DownloadableContentType Type { get; set; } 43 | } 44 | } 45 | 46 | #pragma warning restore 649 47 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/Raw/DownloadablePackage.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | #pragma warning disable 649 24 | 25 | using Newtonsoft.Json; 26 | 27 | namespace Gibbed.Borderlands2.GameInfo.Raw 28 | { 29 | [JsonObject(MemberSerialization.OptIn)] 30 | internal sealed class DownloadablePackage 31 | { 32 | [JsonProperty(PropertyName = "id", Required = Required.Always)] 33 | public int Id { get; set; } 34 | 35 | [JsonProperty(PropertyName = "dlc_name", Required = Required.Always)] 36 | public string DLCName { get; set; } 37 | 38 | [JsonProperty(PropertyName = "display_name", Required = Required.Always)] 39 | public string DisplayName { get; set; } 40 | } 41 | } 42 | 43 | #pragma warning restore 649 44 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/Raw/FastTravelStationDefinition.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | #pragma warning disable 649 24 | 25 | using Newtonsoft.Json; 26 | 27 | namespace Gibbed.Borderlands2.GameInfo.Raw 28 | { 29 | [JsonObject(MemberSerialization.OptIn)] 30 | internal sealed class FastTravelStationDefinition : TravelStationDefinition 31 | { 32 | [JsonProperty(PropertyName = "initially_active")] 33 | public bool InitiallyActive { get; set; } 34 | 35 | [JsonProperty(PropertyName = "send_only")] 36 | public bool SendOnly { get; set; } 37 | 38 | [JsonProperty(PropertyName = "description")] 39 | public string Description { get; set; } 40 | 41 | [JsonProperty(PropertyName = "sign")] 42 | public string Sign { get; set; } 43 | 44 | [JsonProperty(PropertyName = "inaccessible_objective")] 45 | public string InaccessibleObjective { get; set; } 46 | 47 | [JsonProperty(PropertyName = "accessible_objective")] 48 | public string AccessibleObjective { get; set; } 49 | } 50 | } 51 | 52 | #pragma warning restore 649 53 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/Raw/FastTravelStationOrdering.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | #pragma warning disable 649 24 | 25 | using System.Collections.Generic; 26 | using Newtonsoft.Json; 27 | 28 | namespace Gibbed.Borderlands2.GameInfo.Raw 29 | { 30 | [JsonObject(MemberSerialization.OptIn)] 31 | internal sealed class FastTravelStationOrdering 32 | { 33 | [JsonProperty(PropertyName = "stations")] 34 | public List Stations { get; set; } 35 | 36 | [JsonProperty(PropertyName = "dlc_expansion")] 37 | public string DLCExpansion { get; set; } 38 | } 39 | } 40 | 41 | #pragma warning restore 649 42 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/Raw/ItemBalanceDefinition.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | #pragma warning disable 649 24 | 25 | using System.Collections.Generic; 26 | using Newtonsoft.Json; 27 | 28 | namespace Gibbed.Borderlands2.GameInfo.Raw 29 | { 30 | [JsonObject(MemberSerialization.OptIn)] 31 | internal sealed class ItemBalanceDefinition 32 | { 33 | public ItemBalanceDefinition() 34 | { 35 | this.Items = null; 36 | this.Base = null; 37 | this.Manufacturers = null; 38 | this.Parts = null; 39 | } 40 | 41 | [JsonProperty(PropertyName = "item")] 42 | public string Item { get; set; } 43 | 44 | [JsonProperty(PropertyName = "items")] 45 | public List Items { get; set; } 46 | 47 | [JsonProperty(PropertyName = "base")] 48 | public string Base { get; set; } 49 | 50 | [JsonProperty(PropertyName = "manufacturers")] 51 | public List Manufacturers { get; set; } 52 | 53 | [JsonProperty(PropertyName = "parts")] 54 | public string Parts { get; set; } 55 | } 56 | } 57 | 58 | #pragma warning restore 649 59 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/Raw/ItemBalancePartCollection.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | #pragma warning disable 649 24 | 25 | using System.Collections.Generic; 26 | using Newtonsoft.Json; 27 | 28 | namespace Gibbed.Borderlands2.GameInfo.Raw 29 | { 30 | [JsonObject(MemberSerialization.OptIn)] 31 | internal sealed class ItemBalancePartCollection 32 | { 33 | [JsonProperty(PropertyName = "item")] 34 | public string Item { get; set; } 35 | 36 | [JsonProperty(PropertyName = "mode")] 37 | public PartReplacementMode Mode { get; set; } 38 | 39 | [JsonProperty(PropertyName = "alpha")] 40 | public List AlphaParts { get; set; } 41 | 42 | [JsonProperty(PropertyName = "beta")] 43 | public List BetaParts { get; set; } 44 | 45 | [JsonProperty(PropertyName = "gamma")] 46 | public List GammaParts { get; set; } 47 | 48 | [JsonProperty(PropertyName = "delta")] 49 | public List DeltaParts { get; set; } 50 | 51 | [JsonProperty(PropertyName = "epsilon")] 52 | public List EpsilonParts { get; set; } 53 | 54 | [JsonProperty(PropertyName = "zeta")] 55 | public List ZetaParts { get; set; } 56 | 57 | [JsonProperty(PropertyName = "eta")] 58 | public List EtaParts { get; set; } 59 | 60 | [JsonProperty(PropertyName = "theta")] 61 | public List ThetaParts { get; set; } 62 | 63 | [JsonProperty(PropertyName = "material")] 64 | public List MaterialParts { get; set; } 65 | } 66 | } 67 | 68 | #pragma warning restore 649 69 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/Raw/ItemNamePartDefinition.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | #pragma warning disable 649 24 | 25 | using Newtonsoft.Json; 26 | 27 | namespace Gibbed.Borderlands2.GameInfo.Raw 28 | { 29 | [JsonObject(MemberSerialization.OptIn)] 30 | internal sealed class ItemNamePartDefinition 31 | { 32 | [JsonProperty(PropertyName = "unique")] 33 | public bool Unique { get; set; } 34 | 35 | [JsonProperty(PropertyName = "name")] 36 | public string Name { get; set; } 37 | } 38 | } 39 | 40 | #pragma warning restore 649 41 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/Raw/LevelTravelStationDefinition.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | #pragma warning disable 649 24 | 25 | using Newtonsoft.Json; 26 | 27 | namespace Gibbed.Borderlands2.GameInfo.Raw 28 | { 29 | [JsonObject(MemberSerialization.OptIn)] 30 | internal sealed class LevelTravelStationDefinition : TravelStationDefinition 31 | { 32 | [JsonProperty(PropertyName = "display_name")] 33 | public string DisplayName { get; set; } 34 | 35 | [JsonProperty(PropertyName = "destination_station")] 36 | public string DestinationStation { get; set; } 37 | } 38 | } 39 | 40 | #pragma warning restore 649 41 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/Raw/MissionStatusData.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | #pragma warning disable 649 24 | 25 | using Newtonsoft.Json; 26 | 27 | namespace Gibbed.Borderlands2.GameInfo.Raw 28 | { 29 | [JsonObject(MemberSerialization.OptIn)] 30 | internal sealed class MissionStatusData 31 | { 32 | [JsonProperty(PropertyName = "mission_definition")] 33 | public string MissionDefinition { get; set; } 34 | 35 | [JsonProperty(PropertyName = "mission_status")] 36 | public MissionStatus MissionStatus { get; set; } 37 | 38 | [JsonProperty(PropertyName = "is_objective_specific")] 39 | public bool IsObjectiveSpecific { get; set; } 40 | 41 | [JsonProperty(PropertyName = "objective_definition")] 42 | public string ObjectiveDefinition { get; set; } 43 | 44 | [JsonProperty(PropertyName = "objective_status")] 45 | public ObjectiveDependencyStatus ObjectiveStatus { get; set; } 46 | } 47 | } 48 | 49 | #pragma warning restore 649 50 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/Raw/PlatformAssetLibraryConfiguration.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | #pragma warning disable 649 24 | 25 | using System.Collections.Generic; 26 | using Newtonsoft.Json; 27 | 28 | namespace Gibbed.Borderlands2.GameInfo.Raw 29 | { 30 | [JsonObject(MemberSerialization.OptIn)] 31 | internal sealed class PlatformAssetLibraryConfiguration 32 | { 33 | public PlatformAssetLibraryConfiguration() 34 | { 35 | this.SublibraryRemapping = new Dictionary(); 36 | } 37 | 38 | [JsonProperty(PropertyName = "sublibrary_remapping")] 39 | public Dictionary SublibraryRemapping { get; set; } 40 | } 41 | } 42 | 43 | #pragma warning restore 649 44 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/Raw/PlatformAssetLibrarySet.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | #pragma warning disable 649 24 | 25 | using System.Collections.Generic; 26 | using Newtonsoft.Json; 27 | 28 | namespace Gibbed.Borderlands2.GameInfo.Raw 29 | { 30 | [JsonObject(MemberSerialization.OptIn)] 31 | internal sealed class PlatformAssetLibrarySet 32 | { 33 | public PlatformAssetLibrarySet() 34 | { 35 | this.Libraries = new Dictionary(); 36 | } 37 | 38 | [JsonProperty(PropertyName = "id", Required = Required.Always)] 39 | public int Id { get; set; } 40 | 41 | [JsonProperty(PropertyName = "libraries", Required = Required.Always)] 42 | public Dictionary Libraries { get; set; } 43 | } 44 | } 45 | 46 | #pragma warning restore 649 47 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/Raw/PlatformConfiguration.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | #pragma warning disable 649 24 | 25 | using System.Collections.Generic; 26 | using Newtonsoft.Json; 27 | 28 | namespace Gibbed.Borderlands2.GameInfo.Raw 29 | { 30 | [JsonObject(MemberSerialization.OptIn)] 31 | internal sealed class PlatformConfiguration 32 | { 33 | public PlatformConfiguration() 34 | { 35 | this.AssetLibrarySets = new List(); 36 | } 37 | 38 | [JsonProperty(PropertyName = "asset_library_sets")] 39 | public List AssetLibrarySets { get; set; } 40 | } 41 | } 42 | 43 | #pragma warning restore 649 44 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/Raw/PlayerClassDefinition.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | #pragma warning disable 649 24 | 25 | using Newtonsoft.Json; 26 | 27 | namespace Gibbed.Borderlands2.GameInfo.Raw 28 | { 29 | [JsonObject(MemberSerialization.OptIn)] 30 | internal sealed class PlayerClassDefinition 31 | { 32 | [JsonProperty(PropertyName = "name", Required = Required.Always)] 33 | public string Name { get; set; } 34 | 35 | [JsonProperty(PropertyName = "class", Required = Required.Always)] 36 | public string Class { get; set; } 37 | 38 | [JsonProperty(PropertyName = "sort_order")] 39 | public int SortOrder { get; set; } 40 | 41 | [JsonProperty(PropertyName = "dlc")] 42 | public string DLC { get; set; } 43 | } 44 | } 45 | 46 | #pragma warning restore 649 47 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/Raw/TravelStationDefinition.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | #pragma warning disable 649 24 | 25 | using System.Collections.Generic; 26 | using Newtonsoft.Json; 27 | 28 | namespace Gibbed.Borderlands2.GameInfo.Raw 29 | { 30 | [JsonObject(MemberSerialization.OptIn)] 31 | internal abstract class TravelStationDefinition 32 | { 33 | protected TravelStationDefinition() 34 | { 35 | this.MissionDependencies = new List(); 36 | } 37 | 38 | [JsonProperty(PropertyName = "resource_name", Required = Required.Always)] 39 | public string ResourceName { get; set; } 40 | 41 | [JsonProperty(PropertyName = "level_name")] 42 | public string LevelName { get; set; } 43 | 44 | [JsonProperty(PropertyName = "dlc_expansion")] 45 | public string DLCExpansion { get; set; } 46 | 47 | [JsonProperty(PropertyName = "previous_station")] 48 | public string PreviousStation { get; set; } 49 | 50 | [JsonProperty(PropertyName = "station_display_name")] 51 | public string StationDisplayName { get; set; } 52 | 53 | [JsonProperty(PropertyName = "mission_dependencies")] 54 | public List MissionDependencies { get; set; } 55 | } 56 | } 57 | 58 | #pragma warning restore 649 59 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/Raw/WeaponBalanceDefinition.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | #pragma warning disable 649 24 | 25 | using System.Collections.Generic; 26 | using Newtonsoft.Json; 27 | 28 | namespace Gibbed.Borderlands2.GameInfo.Raw 29 | { 30 | [JsonObject(MemberSerialization.OptIn)] 31 | internal sealed class WeaponBalanceDefinition 32 | { 33 | internal WeaponBalanceDefinition() 34 | { 35 | this.Manufacturers = null; 36 | this.Parts = null; 37 | } 38 | 39 | [JsonProperty(PropertyName = "weapon_type")] 40 | public string WeaponType { get; set; } 41 | 42 | [JsonProperty(PropertyName = "base")] 43 | public string Base { get; set; } 44 | 45 | [JsonProperty(PropertyName = "manufacturers")] 46 | public List Manufacturers { get; set; } 47 | 48 | [JsonProperty(PropertyName = "parts")] 49 | public string Parts { get; set; } 50 | } 51 | } 52 | 53 | #pragma warning restore 649 54 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/Raw/WeaponNamePartDefinition.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | #pragma warning disable 649 24 | 25 | using Newtonsoft.Json; 26 | 27 | namespace Gibbed.Borderlands2.GameInfo.Raw 28 | { 29 | [JsonObject(MemberSerialization.OptIn)] 30 | internal sealed class WeaponNamePartDefinition 31 | { 32 | [JsonProperty(PropertyName = "unique")] 33 | public bool Unique { get; set; } 34 | 35 | [JsonProperty(PropertyName = "name")] 36 | public string Name { get; set; } 37 | } 38 | } 39 | 40 | #pragma warning restore 649 41 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/Resources/Downloadable Package Display Name Overrides.json: -------------------------------------------------------------------------------- 1 | { 2 | "GD_OrchidPackageDef.PackageDef_Orchid": "Captain Scarlett and Her Pirate's Booty", 3 | "GD_TulipPackageDef.PackageDef_Tulip": "Mechromancer Pack", 4 | "GD_IrisPackageDef.PackageDef_Iris": "Mr. Torgue's Campaign of Carnage", 5 | "GD_SagePackageDef.PackageDef_Sage": "Sir Hammerlock's Big Game Hunt", 6 | "GD_FlaxPackageDef.PackageDef_Flax": "Headhunter 1: T.K. Baha's Bloody Harvest", 7 | "GD_Gardenia01PackageDef.PackageDef_Gardenia01": "Costume Packs #1", 8 | "GD_GladiolusPackageDef.PackageDef_Gladiolus": "Ultimate Vault Hunter Upgrade Pack", 9 | "GD_AsterPackageDef.PackageDef_Aster": "Tiny Tina's Assault on Dragon Keep", 10 | "GD_LobeliaPackageDef.PackageDef_Lobelia": "Ultimate Vault Hunter Upgrade Pack Two: Digistruct Peak Challenge", 11 | "GD_PN2PackageDef.PackageDef_PN2": "Poker Night at the Inventory 2 Promotion", 12 | "GD_LootChest2PackageDef.PackageDef_LootChest2": "Diamond Plate Loot Chest Promotion", 13 | "GD_Gardenia04PackageDef.PackageDef_Gardenia04": "Costume Packs #2", 14 | "GD_Gardenia05PackageDef.PackageDef_Gardenia05": "Costume Packs #3", 15 | "GD_CommDay2013PackageDef.PackageDef_CommDay2013": "Community Day 2013 Promotion", 16 | "GD_AlliumPackageDef.PackageDef_Allium": "Headhunter 2 & 3: Wattle Gobbler & Mercenary Day", 17 | "GD_NasturtiumPackageDef.PackageDef_Nasturtium": "Headhunter 4 & 5: Wedding Day Massacre & Son of Crawmerax", 18 | "GD_PeonyPackageDef.PackageDef_Peony": "The Pre-Sequel Promotion", 19 | "GD_AnemonePackageDef.PackageDef_Anemone": "Commander Lilith & the Fight for Sanctuary", 20 | "GD_MancanaPackageDef.PackageDef_Mancana": null, 21 | "GD_AnecanaPackageDef.PackageDef_Anecana": null, 22 | } -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/Resources/Platform Configurations.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.GameInfo/Resources/Platform Configurations.json -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/TravelStationDefinition.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using System.Collections.Generic; 24 | 25 | namespace Gibbed.Borderlands2.GameInfo 26 | { 27 | public abstract class TravelStationDefinition 28 | { 29 | internal TravelStationDefinition() 30 | { 31 | } 32 | 33 | public string ResourcePath { get; internal set; } 34 | public string ResourceName { get; internal set; } 35 | public string LevelName { get; internal set; } 36 | public DownloadableContentDefinition DLCExpansion { get; internal set; } 37 | public TravelStationDefinition PreviousStation { get; set; } 38 | public string StationDisplayName { get; set; } 39 | public List MissionDependencies { get; set; } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/WeaponBalancePartCollection.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using System.Collections.Generic; 24 | 25 | namespace Gibbed.Borderlands2.GameInfo 26 | { 27 | public sealed class WeaponBalancePartCollection 28 | { 29 | internal WeaponBalancePartCollection() 30 | { 31 | } 32 | 33 | public WeaponTypeDefinition WeaponType { get; internal set; } 34 | public PartReplacementMode Mode { get; internal set; } 35 | public List BodyParts { get; internal set; } 36 | public List GripParts { get; internal set; } 37 | public List BarrelParts { get; internal set; } 38 | public List SightParts { get; internal set; } 39 | public List StockParts { get; internal set; } 40 | public List ElementalParts { get; internal set; } 41 | public List Accessory1Parts { get; internal set; } 42 | public List Accessory2Parts { get; internal set; } 43 | public List MaterialParts { get; internal set; } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/WeaponNamePartDefinition.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.GameInfo 24 | { 25 | public sealed class WeaponNamePartDefinition 26 | { 27 | internal WeaponNamePartDefinition() 28 | { 29 | } 30 | 31 | public string ResourcePath { get; internal set; } 32 | public bool Unique { get; internal set; } 33 | public string Name { get; internal set; } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/WeaponType.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.GameInfo 24 | { 25 | public enum WeaponType 26 | { 27 | // ReSharper disable InconsistentNaming 28 | Unknown = 0, 29 | Pistol, 30 | Shotgun, 31 | SMG, 32 | SniperRifle, 33 | AssaultRifle, 34 | RocketLauncher, 35 | // ReSharper restore InconsistentNaming 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/WeaponTypeDefinition.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using System.Collections.Generic; 24 | 25 | namespace Gibbed.Borderlands2.GameInfo 26 | { 27 | public sealed class WeaponTypeDefinition 28 | { 29 | internal WeaponTypeDefinition() 30 | { 31 | } 32 | 33 | public string ResourcePath { get; internal set; } 34 | public WeaponType Type { get; internal set; } 35 | public string Name { get; internal set; } 36 | public List Titles { get; internal set; } 37 | public List Prefixes { get; internal set; } 38 | public List BodyParts { get; internal set; } 39 | public List GripParts { get; internal set; } 40 | public List BarrelParts { get; internal set; } 41 | public List SightParts { get; internal set; } 42 | public List StockParts { get; internal set; } 43 | public List ElementalParts { get; internal set; } 44 | public List Accessory1Parts { get; internal set; } 45 | public List Accessory2Parts { get; internal set; } 46 | public List MaterialParts { get; internal set; } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.GameInfo/todo.txt: -------------------------------------------------------------------------------- 1 | - Title, Prefix info (for namegen in SaveEdit). Will need info for 2 | non-title/prefix parts too, since Title/Prefix can be None. 3 | 4 | - Would name generation for weapons and items be appropriate here? 5 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.ProtoBufFormats/Gibbed.Borderlands2.ProtoBufFormats.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | net40 4 | Gibbed 5 | Gibbed 6 | http://gib.me/ 7 | Copyright © Gibbed 2019 8 | 1.0.0 9 | 1.0.0.0 10 | 1.0.0.0 11 | https://github.com/gibbed/Gibbed.Borderlands2/ 12 | Git 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.ProtoBufFormats/GlobalSuppressions.cs: -------------------------------------------------------------------------------- 1 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Code Quality", "IDE0051:Remove unused private members", Justification = "", Scope = "member", Target = "~M:Gibbed.Borderlands2.ProtoBufFormats.WillowTwoSave.ChosenVehicleCustomization.OnDeserialization")] 2 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Code Quality", "IDE0051:Remove unused private members", Justification = "", Scope = "member", Target = "~M:Gibbed.Borderlands2.ProtoBufFormats.WillowTwoSave.MissionData.OnDeserialization")] 3 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Code Quality", "IDE0051:Remove unused private members", Justification = "", Scope = "member", Target = "~M:Gibbed.Borderlands2.ProtoBufFormats.WillowTwoSave.MissionPlaythroughData.OnDeserialization")] 4 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Code Quality", "IDE0051:Remove unused private members", Justification = "", Scope = "member", Target = "~M:Gibbed.Borderlands2.ProtoBufFormats.WillowTwoSave.OneOffLevelChallengeData.OnDeserialization")] 5 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Code Quality", "IDE0051:Remove unused private members", Justification = "", Scope = "member", Target = "~M:Gibbed.Borderlands2.ProtoBufFormats.WillowTwoSave.PendingMissionRewards.OnDeserialization")] 6 | [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Code Quality", "IDE0051:Remove unused private members", Justification = "", Scope = "member", Target = "~M:Gibbed.Borderlands2.ProtoBufFormats.WillowTwoSave.WillowTwoPlayerSaveGame.OnDeserialization")] 7 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.ProtoBufFormats/LICENSE.txt: -------------------------------------------------------------------------------- 1 | zlib License 2 | 3 | Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would 16 | be appreciated but is not required. 17 | 18 | 2. Altered source versions must be plainly marked as such, and must not 19 | be misrepresented as being the original software. 20 | 21 | 3. This notice may not be removed or altered from any source 22 | distribution. -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.ProtoBufFormats/WillowTwoSave/BankSlot.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using System.ComponentModel; 24 | using ProtoBuf; 25 | 26 | namespace Gibbed.Borderlands2.ProtoBufFormats.WillowTwoSave 27 | { 28 | [ProtoContract] 29 | public class BankSlot : INotifyPropertyChanged 30 | { 31 | #region Fields 32 | private byte[] _InventorySerialNumber; 33 | #endregion 34 | 35 | #region Properties 36 | [ProtoMember(1, IsRequired = true)] 37 | public byte[] InventorySerialNumber 38 | { 39 | get { return this._InventorySerialNumber; } 40 | set 41 | { 42 | if (value != this._InventorySerialNumber) 43 | { 44 | this._InventorySerialNumber = value; 45 | this.NotifyOfPropertyChange(nameof(InventorySerialNumber)); 46 | } 47 | } 48 | } 49 | #endregion 50 | 51 | #region INotifyPropertyChanged Members 52 | public event PropertyChangedEventHandler PropertyChanged; 53 | 54 | private void NotifyOfPropertyChange(string propertyName) 55 | { 56 | this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); 57 | } 58 | #endregion 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.ProtoBufFormats/WillowTwoSave/MissionStatus.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.ProtoBufFormats.WillowTwoSave 24 | { 25 | public enum MissionStatus : byte 26 | { 27 | NotStarted = 0, 28 | Active = 1, 29 | RequiredObjectivesComplete = 2, 30 | ReadyToTurnIn = 3, 31 | Complete = 4, 32 | Failed = 5, 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.ProtoBufFormats/WillowTwoSave/PlayerMark.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.ProtoBufFormats.WillowTwoSave 24 | { 25 | public enum PlayerMark : int 26 | { 27 | Trash = 0, 28 | Standard = 1, 29 | Favorite = 2, 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.ProtoBufFormats/WillowTwoSave/QuickWeaponSlot.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.ProtoBufFormats.WillowTwoSave 24 | { 25 | public enum QuickWeaponSlot : int 26 | { 27 | None = 0, 28 | Up = 1, 29 | Down = 2, 30 | Left = 3, 31 | Right = 4, 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/App.xaml: -------------------------------------------------------------------------------- 1 |  24 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/App.xaml.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.SaveEdit 24 | { 25 | public partial class App 26 | { 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Gibbed.Borderlands2.SaveEdit.csproj.DotSettings: -------------------------------------------------------------------------------- 1 |  2 | True 3 | True 4 | True -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Helpers/AssetDisplay.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.SaveEdit 24 | { 25 | internal class AssetDisplay 26 | { 27 | public string Name { get; private set; } 28 | public string Path { get; private set; } 29 | public string Group { get; private set; } 30 | public bool Custom { get; private set; } 31 | 32 | public AssetDisplay(string name, string path) 33 | { 34 | this.Name = name; 35 | this.Path = path; 36 | } 37 | 38 | public AssetDisplay(string name, string path, string group) 39 | { 40 | this.Name = name; 41 | this.Path = path; 42 | this.Group = group; 43 | } 44 | 45 | public AssetDisplay(string name, string path, bool custom) 46 | { 47 | this.Name = name; 48 | this.Path = path; 49 | this.Custom = custom; 50 | } 51 | 52 | public AssetDisplay(string name, string path, string group, bool custom) 53 | { 54 | this.Name = name; 55 | this.Path = path; 56 | this.Group = group; 57 | this.Custom = custom; 58 | } 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Helpers/Blacklisting.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.SaveEdit 24 | { 25 | internal static class Blacklisting 26 | { 27 | public static bool IsBlacklistedBalance(string path) 28 | { 29 | if (string.IsNullOrEmpty(path) == true) 30 | { 31 | return false; 32 | } 33 | 34 | switch (path.Trim().ToLowerInvariant()) 35 | { 36 | case "gd_weap_scorpio.a_weapon.weapbalance_scorpio": 37 | { 38 | return true; 39 | } 40 | } 41 | 42 | return false; 43 | } 44 | 45 | public static bool IsBlacklistedType(string path) 46 | { 47 | if (string.IsNullOrEmpty(path) == true) 48 | { 49 | return false; 50 | } 51 | 52 | switch (path.Trim().ToLowerInvariant()) 53 | { 54 | case "gd_weap_scorpio.a_weapon.weapontype_scorpio_weapon": 55 | { 56 | return true; 57 | } 58 | } 59 | 60 | return false; 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Helpers/GearCalculatorView.xaml: -------------------------------------------------------------------------------- 1 |  8 | 9 | 10 | duncanfogg's Gear Calculator (Thread) 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Helpers/GearCalculatorView.xaml.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.SaveEdit 24 | { 25 | public partial class GearCalculatorView 26 | { 27 | public GearCalculatorView() 28 | { 29 | this.InitializeComponent(); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Helpers/GearCalculatorViewModel.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using Caliburn.Micro; 24 | 25 | namespace Gibbed.Borderlands2.SaveEdit 26 | { 27 | internal class GearCalculatorViewModel : PropertyChangedBase 28 | { 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Items/BackpackItemView.xaml.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.SaveEdit 24 | { 25 | public partial class BackpackItemView 26 | { 27 | public BackpackItemView() 28 | { 29 | this.InitializeComponent(); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Items/BackpackWeaponView.xaml.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.SaveEdit 24 | { 25 | public partial class BackpackWeaponView 26 | { 27 | public BackpackWeaponView() 28 | { 29 | this.InitializeComponent(); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Items/BaseItemView.xaml.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.SaveEdit 24 | { 25 | public partial class BaseItemView 26 | { 27 | public BaseItemView() 28 | { 29 | this.InitializeComponent(); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Items/BaseWeaponView.xaml.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.SaveEdit 24 | { 25 | public partial class BaseWeaponView 26 | { 27 | public BaseWeaponView() 28 | { 29 | this.InitializeComponent(); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Items/IBackpackSlotViewModel.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using Gibbed.Borderlands2.FileFormats.Items; 24 | 25 | namespace Gibbed.Borderlands2.SaveEdit 26 | { 27 | internal interface IBackpackSlotViewModel 28 | { 29 | IBackpackSlot BackpackSlot { get; } 30 | string DisplayName { get; } 31 | string DisplayGroup { get; } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Items/IBaseSlotViewModel.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using Gibbed.Borderlands2.FileFormats.Items; 24 | 25 | namespace Gibbed.Borderlands2.SaveEdit 26 | { 27 | internal interface IBaseSlotViewModel 28 | { 29 | IPackableSlot BaseSlot { get; } 30 | string DisplayName { get; } 31 | string DisplayGroup { get; } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Items/ItemTypeFilter.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.SaveEdit 24 | { 25 | public class ItemTypeFilter 26 | { 27 | private readonly string _DisplayName; 28 | private readonly GameInfo.ItemType _Value; 29 | private readonly GameInfo.ItemType _SecondValue; 30 | 31 | public ItemTypeFilter(string displayName, GameInfo.ItemType value) 32 | : this(displayName, value, GameInfo.ItemType.Unknown) 33 | { 34 | } 35 | 36 | public ItemTypeFilter(string displayName, GameInfo.ItemType value, GameInfo.ItemType secondValue) 37 | { 38 | this._DisplayName = displayName; 39 | this._Value = value; 40 | this._SecondValue = secondValue; 41 | } 42 | 43 | public string DisplayName 44 | { 45 | get { return this._DisplayName; } 46 | } 47 | 48 | public GameInfo.ItemType Value 49 | { 50 | get { return this._Value; } 51 | } 52 | 53 | public GameInfo.ItemType SecondValue 54 | { 55 | get { return this._SecondValue; } 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/LICENSE.txt: -------------------------------------------------------------------------------- 1 | zlib License 2 | 3 | Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would 16 | be appreciated but is not required. 17 | 18 | 2. Altered source versions must be plainly marked as such, and must not 19 | be misrepresented as being the original software. 20 | 21 | 3. This notice may not be removed or altered from any source 22 | distribution. -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/Handsome Jack.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/Handsome Jack.ico -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/Handsome Jack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/Handsome Jack.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/Xceed.Wpf.Toolkit/PropertyGrid/Images/AdvancedProperties11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/Xceed.Wpf.Toolkit/PropertyGrid/Images/AdvancedProperties11.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/Xceed.Wpf.Toolkit/PropertyGrid/Images/Categorize16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/Xceed.Wpf.Toolkit/PropertyGrid/Images/Categorize16.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/Xceed.Wpf.Toolkit/PropertyGrid/Images/ClearFilter16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/Xceed.Wpf.Toolkit/PropertyGrid/Images/ClearFilter16.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/Xceed.Wpf.Toolkit/PropertyGrid/Images/Database11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/Xceed.Wpf.Toolkit/PropertyGrid/Images/Database11.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/Xceed.Wpf.Toolkit/PropertyGrid/Images/Inheritance11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/Xceed.Wpf.Toolkit/PropertyGrid/Images/Inheritance11.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/Xceed.Wpf.Toolkit/PropertyGrid/Images/Local11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/Xceed.Wpf.Toolkit/PropertyGrid/Images/Local11.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/Xceed.Wpf.Toolkit/PropertyGrid/Images/Resource11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/Xceed.Wpf.Toolkit/PropertyGrid/Images/Resource11.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/Xceed.Wpf.Toolkit/PropertyGrid/Images/SortAscending16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/Xceed.Wpf.Toolkit/PropertyGrid/Images/SortAscending16.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/Xceed.Wpf.Toolkit/PropertyGrid/Images/Style11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/Xceed.Wpf.Toolkit/PropertyGrid/Images/Style11.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/assaultrifle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/assaultrifle.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/backpack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/backpack.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/bank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/bank.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/credits cropped.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/credits cropped.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/credits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/credits.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/eridium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/eridium.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/exclamation mark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/exclamation mark.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/fast travel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/fast travel.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/computer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/computer.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/control-090.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/control-090.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/control-double-090.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/control-double-090.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/disk-rename.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/disk-rename.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/disk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/disk.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/document-binary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/document-binary.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/document-copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/document-copy.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/document-delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/document-delete.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/document.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/document.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/exclamation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/exclamation.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/folder-open-document.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/folder-open-document.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/luggage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/luggage.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/piggy-bank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/piggy-bank.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/printer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/printer.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/scanner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/scanner.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/television-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/television-image.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/television-test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/fugue/television-test.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/green vault symbol.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/green vault symbol.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/pink seraph crystal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/pink seraph crystal.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/question mark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/question mark.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/red skull.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/red skull.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/scooter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/scooter.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/seraph crystal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/seraph crystal.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/shield.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/shield.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/stash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/stash.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/torgue token.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/torgue token.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Resources/wheel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gibbed/Gibbed.Borderlands2/e7afdaf45265024725d55d9d19dfee5ce077ff2b/projects/Gibbed.Borderlands2.SaveEdit/Resources/wheel.png -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/ShellView.xaml.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.SaveEdit 24 | { 25 | public partial class ShellView 26 | { 27 | public ShellView() 28 | { 29 | this.InitializeComponent(); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Tabs/AboutView.xaml.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.SaveEdit 24 | { 25 | public partial class AboutView 26 | { 27 | public AboutView() 28 | { 29 | this.InitializeComponent(); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Tabs/AboutViewModel.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using System.ComponentModel.Composition; 24 | using Caliburn.Micro; 25 | 26 | namespace Gibbed.Borderlands2.SaveEdit 27 | { 28 | [Export(typeof(AboutViewModel))] 29 | internal class AboutViewModel : PropertyChangedBase 30 | { 31 | [ImportingConstructor] 32 | public AboutViewModel() 33 | { 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Tabs/BackpackView.xaml.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using System.Windows.Input; 24 | 25 | namespace Gibbed.Borderlands2.SaveEdit 26 | { 27 | public partial class BackpackView 28 | { 29 | public BackpackView() 30 | { 31 | this.InitializeComponent(); 32 | } 33 | 34 | public static class Commands 35 | { 36 | public static readonly RoutedUICommand Duplicate; 37 | public static readonly RoutedUICommand Bank; 38 | public static readonly RoutedUICommand CopyCode; 39 | public static readonly RoutedUICommand Delete; 40 | 41 | static Commands() 42 | { 43 | Duplicate = new RoutedUICommand("Duplicate", "Duplicate", typeof(BackpackView)); 44 | Bank = new RoutedUICommand("Bank", "Bank", typeof(BackpackView)); 45 | CopyCode = new RoutedUICommand("Copy Code", "CopyCode", typeof(BackpackView)); 46 | Delete = new RoutedUICommand("Delete", "Delete", typeof(BackpackView)); 47 | } 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Tabs/BankView.xaml.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.SaveEdit 24 | { 25 | public partial class BankView 26 | { 27 | public BankView() 28 | { 29 | this.InitializeComponent(); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Tabs/CharacterView.xaml.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.SaveEdit 24 | { 25 | public partial class CharacterView 26 | { 27 | public CharacterView() 28 | { 29 | this.InitializeComponent(); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Tabs/CurrencyOnHandView.xaml.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.SaveEdit 24 | { 25 | public partial class CurrencyOnHandView 26 | { 27 | public CurrencyOnHandView() 28 | { 29 | this.InitializeComponent(); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Tabs/FastTravelView.xaml.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.SaveEdit 24 | { 25 | public partial class FastTravelView 26 | { 27 | public FastTravelView() 28 | { 29 | this.InitializeComponent(); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Tabs/GeneralView.xaml.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.SaveEdit 24 | { 25 | public partial class GeneralView 26 | { 27 | public GeneralView() 28 | { 29 | this.InitializeComponent(); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Tabs/VehicleView.xaml.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | namespace Gibbed.Borderlands2.SaveEdit 24 | { 25 | public partial class VehicleView 26 | { 27 | public VehicleView() 28 | { 29 | this.InitializeComponent(); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Validators/AssetLibrarySetIdValidationRule.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using System.Globalization; 24 | using System.Windows.Controls; 25 | using Gibbed.Borderlands2.GameInfo; 26 | 27 | namespace Gibbed.Borderlands2.SaveEdit.Validators 28 | { 29 | internal class AssetLibrarySetIdValidationRule : ValidationRule 30 | { 31 | public override ValidationResult Validate(object value, CultureInfo ultureInfo) 32 | { 33 | if (value == null || 34 | (value is int) == false || 35 | InfoManager.AssetLibraryManager.GetSet((int)value) == null) 36 | { 37 | return new ValidationResult(false, "The value is not a valid asset library set"); 38 | } 39 | 40 | return new ValidationResult(true, null); 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Validators/BalanceValidationRule.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using Gibbed.Borderlands2.GameInfo; 24 | 25 | namespace Gibbed.Borderlands2.SaveEdit.Validators 26 | { 27 | internal class BalanceValidationRule : AssetValidationRule 28 | { 29 | public BalanceValidationRule() 30 | : base(AssetGroup.BalanceDefs) 31 | { 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Validators/ItemPartValidationRule.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using Gibbed.Borderlands2.GameInfo; 24 | 25 | namespace Gibbed.Borderlands2.SaveEdit.Validators 26 | { 27 | internal class ItemPartValidationRule : AssetValidationRule 28 | { 29 | public ItemPartValidationRule() 30 | : base(AssetGroup.ItemParts) 31 | { 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Validators/ItemValidationRule.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using Gibbed.Borderlands2.GameInfo; 24 | 25 | namespace Gibbed.Borderlands2.SaveEdit.Validators 26 | { 27 | internal class ItemValidationRule : AssetValidationRule 28 | { 29 | public ItemValidationRule() 30 | : base(AssetGroup.ItemTypes) 31 | { 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Validators/ManufacturerValidationRule.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using Gibbed.Borderlands2.GameInfo; 24 | 25 | namespace Gibbed.Borderlands2.SaveEdit.Validators 26 | { 27 | internal class ManufacturerValidationRule : AssetValidationRule 28 | { 29 | public ManufacturerValidationRule() 30 | : base(AssetGroup.Manufacturers) 31 | { 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Validators/WeaponPartValidationRule.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using Gibbed.Borderlands2.GameInfo; 24 | 25 | namespace Gibbed.Borderlands2.SaveEdit.Validators 26 | { 27 | internal class WeaponPartValidationRule : AssetValidationRule 28 | { 29 | public WeaponPartValidationRule() 30 | : base(AssetGroup.WeaponParts) 31 | { 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/Validators/WeaponTypeValidationRule.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using Gibbed.Borderlands2.GameInfo; 24 | 25 | namespace Gibbed.Borderlands2.SaveEdit.Validators 26 | { 27 | internal class WeaponTypeValidationRule : AssetValidationRule 28 | { 29 | public WeaponTypeValidationRule() 30 | : base(AssetGroup.WeaponTypes) 31 | { 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/VersionInfo.cs: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 2 | * 3 | * This software is provided 'as-is', without any express or implied 4 | * warranty. In no event will the authors be held liable for any damages 5 | * arising from the use of this software. 6 | * 7 | * Permission is granted to anyone to use this software for any purpose, 8 | * including commercial applications, and to alter it and redistribute it 9 | * freely, subject to the following restrictions: 10 | * 11 | * 1. The origin of this software must not be misrepresented; you must not 12 | * claim that you wrote the original software. If you use this software 13 | * in a product, an acknowledgment in the product documentation would 14 | * be appreciated but is not required. 15 | * 16 | * 2. Altered source versions must be plainly marked as such, and must not 17 | * be misrepresented as being the original software. 18 | * 19 | * 3. This notice may not be removed or altered from any source 20 | * distribution. 21 | */ 22 | 23 | using System; 24 | 25 | namespace Gibbed.Borderlands2.SaveEdit 26 | { 27 | internal static class VersionInfo 28 | { 29 | public const string Configuration = null; 30 | public static readonly Version Version = null; 31 | public const string Commit = null; 32 | public const string Timestamp = null; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SaveEdit/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SparkTmsPack/Gibbed.Borderlands2.SparkTmsPack.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Exe 4 | net40 5 | Gibbed 6 | Gibbed 7 | http://gib.me/ 8 | Copyright © Gibbed 2019 9 | false 10 | 11 | 12 | ..\..\bin\ 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | ..\..\other\MiniLZO.dll 22 | False 23 | 24 | 25 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SparkTmsPack/LICENSE.txt: -------------------------------------------------------------------------------- 1 | zlib License 2 | 3 | Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would 16 | be appreciated but is not required. 17 | 18 | 2. Altered source versions must be plainly marked as such, and must not 19 | be misrepresented as being the original software. 20 | 21 | 3. This notice may not be removed or altered from any source 22 | distribution. -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SparkTmsUnpack/Gibbed.Borderlands2.SparkTmsUnpack.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Exe 4 | net40 5 | Gibbed 6 | Gibbed 7 | http://gib.me/ 8 | Copyright © Gibbed 2019 9 | false 10 | 11 | 12 | ..\..\bin\ 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | ..\..\other\MiniLZO.dll 25 | False 26 | 27 | 28 | -------------------------------------------------------------------------------- /projects/Gibbed.Borderlands2.SparkTmsUnpack/LICENSE.txt: -------------------------------------------------------------------------------- 1 | zlib License 2 | 3 | Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would 16 | be appreciated but is not required. 17 | 18 | 2. Altered source versions must be plainly marked as such, and must not 19 | be misrepresented as being the original software. 20 | 21 | 3. This notice may not be removed or altered from any source 22 | distribution. -------------------------------------------------------------------------------- /projects/VerifySaves/LICENSE.txt: -------------------------------------------------------------------------------- 1 | zlib License 2 | 3 | Copyright (c) 2019 Rick (rick 'at' gibbed 'dot' us) 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would 16 | be appreciated but is not required. 17 | 18 | 2. Altered source versions must be plainly marked as such, and must not 19 | be misrepresented as being the original software. 20 | 21 | 3. This notice may not be removed or altered from any source 22 | distribution. -------------------------------------------------------------------------------- /projects/VerifySaves/VerifySaves.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Exe 4 | net40 5 | Gibbed 6 | Gibbed 7 | http://gib.me/ 8 | Copyright © Gibbed 2019 9 | false 10 | 11 | 12 | ..\..\bin_test\ 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | ..\..\other\MiniLZO.dll 26 | 27 | 28 | --------------------------------------------------------------------------------