Skip to content

Commit 8226b2d

Browse files
committed
Merge remote-tracking branch 'origin/docs-070' into release-0.7.0
2 parents 17c2d09 + debf7fa commit 8226b2d

32 files changed

+759
-113
lines changed

CHANGELOG.md

+48
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,50 @@
1+
# v0.7.0 - 2024-11-XX
2+
3+
**Important: To update the app, you must completely uninstall the old version, including all mods.** [Why do I have to uninstall everything to update the app?](https://nexus-mods.github.io/NexusMods.App/users/faq/#why-do-i-have-to-uninstall-everything-to-update-the-app)
4+
5+
This release includes initial support for Mount & Blade II: Bannerlord, a basic implementation of REDmod load order for Cyberpunk 2077 and several UI refinements.
6+
7+
## Mount & Blade II: Bannerlord
8+
This version adds basic support for Bannerlord. All modules can be easily installed and managed. We've also added several advanced [Health Check diagnostics](https://nexus-mods.github.io/NexusMods.App/users/games/Bannerlord/#loadout-health-check) to allow players to understand common issues in their setup, with more planned for the future when we add load order support!
9+
10+
![An example of the "Missing Dependency" and "Incompatible Mods" diagnostics for Bannerlord.](https://staticdelivery.nexusmods.com/mods/2295/images/26/26-1732536855-1001051460.png)
11+
12+
A huge thank you to [Aragas](https://www.nexusmods.com/mountandblade2bannerlord/users/2355906) for all his help during development of this feature!
13+
14+
## Collections Download Page
15+
**Important: While we upgrade the Collections UI, some features that worked in earlier versions will be temporarily unavailable.**
16+
17+
We've further refined the Collections download page which unlocks the ability for non-Premium users to use the Collections feature and provides Premium users with the ability to see the list of mods included in a collection before downloading. As this page is still a work in progress, some of the UI buttons may not work as expected yet.
18+
19+
![The Collection Download Page showing a Stardew Valley collection.](https://staticdelivery.nexusmods.com/mods/2295/images/26/26-1732544476-32114395.png)
20+
21+
## EXPERIMENTAL - Cyberpunk 2077 REDmod Load Order
22+
Users can now manage the order of REDmods installed for Cyberpunk 2077 through the new "Load Orders (WIP)" page that can be accessed from the New Tab menu.
23+
24+
Please note, this page is currently very basic and has not yet been styled.
25+
26+
## Features
27+
* Baldur's Gate 3: Added [diagnostics](https://nexus-mods.github.io/NexusMods.App/users/games/BaldursGate3/#loadout-health-check) relating to BG3 Script Extender.
28+
* Updated the My Games page design to better showcase the games you have managed, detected and available in the app but not detected.
29+
* Updated the design of tabs in the Workspace system to make them more compact.
30+
* General polish to areas of the UI such as Health Check.
31+
32+
## Technical Changes
33+
* We've added a framework for data migrations which gets us a step closer to allowing users to update the app without resetting everything.
34+
* The app has been upgraded to use .NET 9. This allows us to take advantage of the latest performance improvements and security fixes.
35+
36+
## Bugfixes
37+
* Fixed an issue where the app would prompt the user to log in to Nexus Mods when starting up, even if they are already logged in.
38+
39+
## Known Issues
40+
* The Collections feature is able to download all required files but will not install them. Mods can be manually installed from the Library but this will not import the collection configuration options. This feature will be re-implemented in the future.
41+
* Any non-Nexus Mods file in a collection that requires the user to browse an external website can be installed into the library manually but will not be recognised as part of the collection.
42+
* The game version is not checked when adding a collection meaning you can install outdated mods without being warned.
43+
* Once a collection is added to the app, it cannot be removed.
44+
* The first row of the My Mods or Library tables will sometimes be misaligned with the headers. Scrolling or adjusting any column width will correct this.
45+
* The "Switch View" option does not persist in the Library/Installed Mods view.
46+
47+
148
# v0.6.3 - 2024-11-06
249

350
**Important: To update the app, you must completely uninstall the old version, including all mods.** [Why do I have to uninstall everything to update the app?](https://nexus-mods.github.io/NexusMods.App/users/faq/#why-do-i-have-to-uninstall-everything-to-update-the-app)
@@ -34,6 +81,7 @@ We are continuing to add features to support modding Baldur's Gate 3. In this up
3481
* The main window will now pop into focus when the user successfully logs in.
3582

3683
## Known Issues
84+
* The Library and Collections (WIP) pages are not filtered by game.
3785
* Installing a collection which includes mods where the user must browse an external website to obtain the file(s) will fail with no error message. This is not supported in the current build.
3886
* Trying to install a collection as a non-Premium user will fail with no error message. This is not supported in the current build.
3987
* The game version is not checked when adding a collection meaning you can install outdated mods without being warned.

docs/users/AddGames.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ In this guide, we'll cover adding and removing games in the app.
55
## Adding a Game
66
To get started, head to the home screen of the app by clicking the Nexus Mods logo at the top of the spine on the left. From here, click the "My Games" option in the left menu.
77

8-
![The My Games screen with Stardew Valley and Cyberpunk 2077 unmanaged.](./images/0.6.0/AddGame.webp)
8+
![The My Games screen with Stardew Valley, Cyberpunk 2077, Baldur's Gate 3 and Bannerlord unmanaged.](./images/0.7.0/AddGame.webp)
99

1010
This page shows a list of games that are currently supported and those that are managed by the app currently.
1111

@@ -23,8 +23,8 @@ Once the process is complete a new entry will be added to the spine menu on the
2323

2424
To stop managing a game with the app, click the home button at the top of the spine menu on the left, then select "My Games" in the left menu. This will open a screen with a list of both supported and managed games.
2525

26-
![The My Games screen with Stardew Valley and Cyberpunk 2077 managed.](./images/0.6.0/GameAdded.webp)
26+
![The My Games screen with Stardew Valley and Cyberpunk 2077 managed.](./images/0.7.0/GameAdded.webp)
2727

28-
Under the "Games Added" section, click on the :material-delete-forever: icon on the game you wish to remove. This process may take a few second as the game is reverted back to the state it was in before you started modding it. Your mods are not deleted and will still be available in the Library section next time you manage the game.
28+
Click on the :material-delete-forever: icon on the game you wish to remove. This process may take a few second as the game is reverted back to the state it was in before you started modding it. Your mods are not deleted and will still be available in the Library section next time you manage the game.
2929

3030
To completely remove the Nexus Mods app and all downloaded mods, please see [Uninstalling the app](./Uninstall.md).

docs/users/games/BaldursGate3.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,16 @@ In addition to basic mod management features, players also benefit from these de
88
Get information on potential issues in your loadout(s). [Learn more about Health Checks.](../features/HealthCheck.md)
99

1010
Diagnostics are shown in the following situations:
11+
1112
- A mod is installed and requires another mod which is not installed or enabled. This check uses the meta.lsx file inside the PAK.
13+
- A mod is installed which requires BG3 Script Extender but it is not installed.
14+
- On Linux, BG3 Script Extender is installed via WINE but the WINE DLL Override setting is not set to allow the correct DLL file to be used.
1215

1316
### Selective Game Backup
1417
When managing Baldur's Gate 3 the app will back up only the core game files (default) or the entire game folder. Backing up the whole game requires significantly more hard drive space. This option can be toggled in the :material-cog: Settings menu.
1518

1619

1720
## Compatibility
18-
!!! warning "Launch options for the GOG version"
19-
In 0.6.2 pressing the play button in the app will always launch the Vulkan version of the game. To play the DX11 version please launch the game through GOG Galaxy (Windows), Heroic Launcher (Linux) or via `bin\bg3_dx11.exe`.
20-
2121
This game can be managed via the app on the following operating systems and platforms. The application will automatically detect valid installations from supported game stores if possible.
2222

2323
|| :fontawesome-brands-windows: Windows | :fontawesome-brands-linux: Linux | :fontawesome-brands-apple: macOS |

docs/users/games/Bannerlord.md

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Mount & Blade II: Bannerlord
2+
3+
!!! example "We're working on it"
4+
Bannerlord support is currently in development. Get involved by joining us on [GitHub](https://github.com/Nexus-Mods/NexusMods.App/issues/new/choose), [Discord](https://discord.gg/ReWTxb93jS) or the [forums](https://forums.nexusmods.com/forum/9052-nexus-mods-app/)!
5+
6+
## Features
7+
In addition to basic mod management features, players also benefit from these dedicated features:
8+
9+
### Loadout Health Check
10+
Get information on potential issues in your loadout(s). [Learn more about Health Checks.](../features/HealthCheck.md)
11+
12+
![An example Health Check message prompting the installation of a missing mod.](../images/0.7.0/HealthCheckExampleBannerlord.webp)
13+
14+
Diagnostics are shown in the following situations and uses the SubModule.xml file included with mods to generate these messages:
15+
16+
- A mod is installed and requires another mod which is not installed or enabled.
17+
- A mod is installed and requires a specific version of another mod which is not installed or enabled.
18+
- Two mods are installed that are marked as incompatible or conflict with each other.
19+
- The SubModule.xml file in the mod contains errors.
20+
- The installed mods create a "circular dependency" meaning if you follow the dependencies for each mod you get into an infinite loop.
21+
- Load order items need attention. This could be that an entry should be loaded before or after another.
22+
23+
24+
### Selective Game Backup
25+
When managing Bannerlord the app will back up only the core game files (default) or the entire game folder. Backing up the whole game requires significantly more hard drive space. This option can be toggled in the :material-cog: Settings menu.
26+
27+
## Compatibility
28+
This game can be managed via the app on the following operating systems and platforms. The application will automatically detect valid installations from supported game stores if possible.
29+
30+
|| :fontawesome-brands-windows: Windows | :fontawesome-brands-linux: Linux | :fontawesome-brands-apple: macOS |
31+
|---|---|---|---|
32+
| :fontawesome-brands-steam: [Steam](https://store.steampowered.com/app/261550/Mount__Blade_II_Bannerlord/) | :material-check-circle: | :material-check-circle: | :material-close-thick: |
33+
| <img src="../../images/GOG.com_logo_white.svg" alt="GOG" width="14"/> [GOG](https://www.gog.com/en/game/mount_blade_ii_bannerlord) | :material-check-circle:[^1] | :material-close-thick: | :material-close-thick: |
34+
| <img src="../../images/epic-games.svg" alt="Epic Games Store" width="14"/> [Epic Games Store](https://store.epicgames.com/en-US/p/mount-and-blade-2) | :material-check-circle: | :material-close-thick: | :material-close-thick: |
35+
| :fontawesome-brands-xbox: [Xbox Game Pass (PC)](https://www.xbox.com/en-GB/games/store/mount-blade-ii-bannerlord/9pdhwz7x3p03) | :material-close-thick:[^2] | :material-close-thick: | :material-close-thick: |
36+
37+
[^1]: Offline backup installs from GOG.com cannot be detected automatically.
38+
[^2]: Xbox Game Pass for PC is not yet supported. <a href="https://github.com/Nexus-Mods/NexusMods.App/issues/1476">More.</a>

docs/users/games/Cyberpunk2077.md

+7
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,13 @@ Diagnostics are shown in the following situations:
2323
- [ArchiveXL](https://www.nexusmods.com/cyberpunk2077/mods/4198) - Detected by `.xl` files in the `archives` folder.
2424
- [Cyber Engine Tweaks](https://www.nexusmods.com/cyberpunk2077/mods/107) - Detected by `.lua` files in the `bin/x64/plugins/cyber_engine_tweaks` folder.
2525

26+
### REDmod Load Ordering
27+
Some mods for Cyberpunk 2077 make use of the official REDmod format for loading content. The Load Order page allows users to decide on the order in which the game will load content from REDmods. By default, the mods at the **top** of the list will win if they have conflicting changes with another REDmod lower down in the order.
28+
29+
You can learn more about the REDmod format on [community wiki](https://wiki.redmodding.org/cyberpunk-2077-modding/for-mod-users/users-modding-cyberpunk-2077/redmod/usage).
30+
31+
Changes in REDmods are always overwritten by similar changes inside archive mods.
32+
2633
### Automated deployment for REDmods
2734

2835
??? info "REDmod with Heroic Launcher (Linux)"

docs/users/games/index.md

+24-7
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,32 @@
22

33
The following games are currently supported. Click on the game icon to learn more.
44

5-
<a href="./StardewValley">
6-
<img src="https://github.com/Nexus-Mods/NexusMods.App/blob/main/src/Games/NexusMods.Games.StardewValley/Resources/icon.png?raw=true" style="max-width:150px" title="Stardew Valley" alt="Stardew Valley">
5+
<div>
6+
<a href="./StardewValley" title="Stardew Valley" alt="Stardew Valley">
7+
<object style="max-width:150px" data="https://github.com/Nexus-Mods/NexusMods.App/blob/main/src/Games/NexusMods.Games.StardewValley/Resources/icon.png?raw=true" type="image/png">
8+
<img src="../images/GameFallback.webp">
9+
</object>
710
</a>
8-
<a href="./Cyberpunk2077">
9-
<img src="https://github.com/Nexus-Mods/NexusMods.App/blob/main/src/Games/NexusMods.Games.RedEngine/Resources/Cyberpunk2077/icon.png?raw=true" style="max-width:150px" title="Cyberpunk 2077" alt="Cyberpunk 2077">
11+
<a href="./Cyberpunk2077" title="Cyberpunk 2077" alt="Cyberpunk 2077">
12+
<object style="max-width:150px" data="https://github.com/Nexus-Mods/NexusMods.App/blob/main/src/Games/NexusMods.Games.RedEngine/Resources/Cyberpunk2077/icon.png?raw=true" type="image/png">
13+
<img src="../images/GameFallback.webp">
14+
</object>
1015
</a>
11-
<a href="./BaldursGate3">
12-
<img src="https://github.com/Nexus-Mods/NexusMods.App/blob/main/src/Games/NexusMods.Games.Larian/Resources/BaldursGate3/icon.png?raw=true" style="max-width:150px" title="Baldur's Gate 3" alt="Baldur's Gate 3">
16+
<a href="./BaldursGate3" title="Baldur's Gate 3" alt="Baldur's Gate 3">
17+
<object style="max-width:150px" data="https://github.com/Nexus-Mods/NexusMods.App/blob/main/src/Games/NexusMods.Games.Larian/Resources/BaldursGate3/icon.png?raw=true" type="image/png">
18+
<img src="../images/GameFallback.webp">
19+
</object>
1320
</a>
14-
21+
<a href="./Bannerlord" title="Bannerlord" alt="Bannerlord">
22+
<object style="max-width:150px" data="https://github.com/Nexus-Mods/NexusMods.App/blob/main/src/Games/NexusMods.Games.MountAndBlade2Bannerlord/Resources/icon.png?raw=true" type="image/png">
23+
<img src="../images/GameFallback.webp">
24+
</object>
25+
</a>
26+
<!-- <a href="./SkyrimSE" title="Skyrim Special Edition" alt="Skyrim Special Edition">
27+
<object style="max-width:150px" data="https://github.com/Nexus-Mods/NexusMods.App/blob/main/src/Games/NexusMods.Games.Bethesda/SkyrimSE/Resources/icon.png?raw=true" type="image/png">
28+
<img src="../images/GameFallback.webp">
29+
</object>
30+
</a> -->
31+
</div>
1532

1633
To find out which games are going to be supported next, please see [the roadmap](https://trello.com/b/gPzMuIr3/nexus-mods-app-roadmap).

docs/users/images/0.6.0/AddGame.webp

-81.8 KB
Binary file not shown.
-84.2 KB
Binary file not shown.

docs/users/images/0.7.0/AddGame.webp

220 KB
Binary file not shown.
157 KB
Binary file not shown.
Binary file not shown.

docs/users/images/GameFallback.webp

900 Bytes
Binary file not shown.

mkdocs.yml

+1
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ nav:
7474
- Stardew Valley: users/games/StardewValley.md
7575
- Cyberpunk 2077: users/games/Cyberpunk2077.md
7676
- Baldur's Gate 3: users/games/BaldursGate3.md
77+
- Bannerlord: users/games/Bannerlord.md
7778
- Frequently Asked Questions:
7879
- users/faq/index.md
7980
- How to find the log files: users/faq/LogFiles.md

src/Games/NexusMods.Games.RedEngine/Cyberpunk2077/SortOrder/RedMod/RedModSortableItemProvider.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -378,7 +378,7 @@ private async Task PersistSortableEntries(List<RedModSortableItem> orderList)
378378

379379
private static bool RedModIsEnabled(RedModLoadoutGroup.ReadOnly grp)
380380
{
381-
return !grp.AsLoadoutItemGroup().AsLoadoutItem().GetThisAndParents().Any(f => f.Contains(LoadoutItem.Disabled));
381+
return grp.AsLoadoutItemGroup().AsLoadoutItem().IsEnabled();
382382
}
383383

384384
private static RelativePath RedModFolder(RedModLoadoutGroup.ReadOnly group)

src/NexusMods.App.UI/NexusMods.App.UI.csproj

+9
Original file line numberDiff line numberDiff line change
@@ -710,6 +710,15 @@
710710
<Compile Update="Pages\Sorting\SortingSelection\SortingSelectionViewModel.cs">
711711
<DependentUpon>ISortingSelectionViewModel.cs</DependentUpon>
712712
</Compile>
713+
<Compile Update="Pages\Sorting\LoadOrder\LoadOrderViewDesignViewModel.cs">
714+
<DependentUpon>ILoadOrderViewModel.cs</DependentUpon>
715+
</Compile>
716+
<Compile Update="Pages\Sorting\SortingSelection\SortingSelectionDesignViewModel.cs">
717+
<DependentUpon>ISortingSelectionViewModel.cs</DependentUpon>
718+
</Compile>
719+
<Compile Update="Pages\Sorting\LoadOrder\LoadOrderItemDesignModel.cs">
720+
<DependentUpon>ILoadOrderItemModel.cs</DependentUpon>
721+
</Compile>
713722
</ItemGroup>
714723

715724
<ItemGroup>

src/NexusMods.App.UI/Pages/Sorting/LoadOrder/ILoadOrderItemModel.cs

-2
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
using System.Reactive;
2-
using NexusMods.Abstractions.Games;
32
using NexusMods.App.UI.Controls;
43
using ReactiveUI;
54

65
namespace NexusMods.App.UI.Pages.Sorting;
76

87
public interface ILoadOrderItemModel : ITreeDataGridItemModel<ILoadOrderItemModel, Guid>
98
{
10-
public ISortableItem InnerItem { get; }
119
public ReactiveCommand<Unit, Unit> MoveUp { get; }
1210
public ReactiveCommand<Unit, Unit> MoveDown { get; }
1311
public int SortIndex { get; }

src/NexusMods.App.UI/Pages/Sorting/LoadOrder/ILoadOrderViewModel.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System.ComponentModel;
22
using System.Reactive;
33
using NexusMods.Abstractions.UI;
4+
using NexusMods.App.UI.Controls;
45
using ReactiveUI;
56

67
namespace NexusMods.App.UI.Pages.Sorting;
@@ -10,7 +11,7 @@ public interface ILoadOrderViewModel : IViewModelInterface
1011
/// <summary>
1112
/// TreeDataGridAdapter for the Load Order, for setting up the TreeDataGrid
1213
/// </summary>
13-
LoadOrderTreeDataGridAdapter Adapter { get; }
14+
TreeDataGridAdapter<ILoadOrderItemModel, Guid> Adapter { get; }
1415

1516
/// <summary>
1617
/// Name of this sort order type
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
using System.Reactive;
2+
using NexusMods.Abstractions.Games;
3+
using NexusMods.App.UI.Controls;
4+
using ReactiveUI;
5+
6+
namespace NexusMods.App.UI.Pages.Sorting;
7+
8+
public class LoadOrderItemDesignModel : TreeDataGridItemModel<ILoadOrderItemModel, Guid>, ILoadOrderItemModel
9+
{
10+
public ReactiveCommand<Unit, Unit> MoveUp { get; } = ReactiveCommand.Create(() => { });
11+
public ReactiveCommand<Unit, Unit> MoveDown { get; } = ReactiveCommand.Create(() => { });
12+
public int SortIndex { get; set; }
13+
public string DisplayName { get; set; } = "Display Name";
14+
public string ModName { get; set; } = "Mod Name";
15+
public bool IsActive { get; set; }
16+
public Guid Guid { get; set; }
17+
}

0 commit comments

Comments
 (0)