Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update 2.4 (Desktop) #290

Merged
merged 92 commits into from
Jan 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
c9620c6
add 50% transparency to the scroll to top button in order to permit v…
iTTou Nov 19, 2023
982b7d3
Add shell type to the main secondaries expander
iTTou Nov 19, 2023
3c49f31
fix delim distance not accounting for range modifiers
iTTou Nov 19, 2023
5784d60
remove transparency from scroll to top button
iTTou Nov 20, 2023
ffcdcd7
Add secondaries dispersion data
iTTou Nov 23, 2023
792a4c1
Add secondaries dispersion to shipComparison
iTTou Nov 23, 2023
a272e2a
Fix mudblazor breaking dataGrid sorting by list
iTTou Nov 23, 2023
22d91ee
fix tooltip style for ship comparison
floribe2000 Nov 23, 2023
3776aeb
disable warning for NoSortList.cs missing some implementations
iTTou Nov 23, 2023
74b1413
enable server prerendering
floribe2000 Nov 23, 2023
ec2774b
Add sticky tab header to charts page
iTTou Nov 23, 2023
a4e7151
improve ship stats tooltips
iTTou Nov 23, 2023
2d8ea54
move html layout from _Layout.cshtml to _Host.cshtml
floribe2000 Nov 24, 2023
943f2fb
Add ability to overwrite a saved build
iTTou Nov 25, 2023
33afb89
improve save and share buttons naming to better clearify their differ…
iTTou Nov 25, 2023
0b56a43
change search ship text field placeholder to highlight better the fun…
iTTou Nov 25, 2023
e6b22df
add localization debug mode for development
floribe2000 Nov 26, 2023
34451e6
add url parameter for secondary battery firing range in ship comparison
iTTou Nov 27, 2023
6c171e4
Revert "improve save and share buttons naming to better clearify thei…
floribe2000 Nov 27, 2023
808dbd9
update PropertyChangedSourceGenerator to group all properties of a cl…
floribe2000 Nov 27, 2023
62b43c3
fix ship comparison tier column sorting by tier string instead of tie…
iTTou Nov 28, 2023
44202bd
Implemented missing localization in ShipSelectionDialog.razor and upd…
iTTou Nov 29, 2023
6b25499
restore ability to change ship tab on small screens
iTTou Dec 2, 2023
ffcbdb4
replace outlined mudcard with muddivider in update build name dialog
iTTou Dec 2, 2023
39ebcbb
Add clipboard copy functionality to image render
iTTou Dec 3, 2023
1961aa5
Refactor build sharing features and improve user notifications.
iTTou Dec 3, 2023
23353f9
fix app crash happening when pressing cancel on the folder picker.
iTTou Dec 3, 2023
2677e7c
Update error message during build saving
iTTou Dec 3, 2023
a46aaa9
add ability to resize desktop window
iTTou Dec 14, 2023
b65c385
add footer for to desktop
iTTou Dec 14, 2023
7512cf9
change metadata to improve link previews
iTTou Dec 14, 2023
f7345a9
attempt to reposition link preview image
iTTou Dec 14, 2023
9ff85c0
fix typo in link preview description
iTTou Dec 14, 2023
1165cf4
increase BlazorWebView margin from 1 to 2 px to allow easier resizing
iTTou Dec 14, 2023
7aa4fdb
update to new processing. i'm gonna die now bye.
yesod30 Nov 24, 2023
f865897
various fixed for ConsumableDataContainer modifiers
yesod30 Nov 29, 2023
7cfdb6e
Various fixes for modifier handling
yesod30 Dec 1, 2023
bcbd142
update data structures, adapt code to changes caused by immutability …
floribe2000 Dec 13, 2023
6a7eb15
add processing for plane consumable reload and plane smoke generator …
floribe2000 Dec 13, 2023
8eeca0f
update data structures to next prerelease version
floribe2000 Dec 17, 2023
c11c20a
fix layout of long modifier descriptions in consumable selector
floribe2000 Dec 17, 2023
2b82545
update data structures to stable version
floribe2000 Dec 18, 2023
a143546
Merge pull request #284 from WoWs-Builder-Team/feature/immutable-data…
floribe2000 Dec 18, 2023
45cd287
Fix kitakami loaders parameter
iTTou Dec 20, 2023
3dacb65
improve data processing for loaders layout in ship comparison
iTTou Dec 20, 2023
5181585
fix possible null value for loaders parameter
iTTou Dec 22, 2023
675abd0
Fitting Tool style ship selector (#285)
iTTou Dec 23, 2023
f18d17c
repository cleanup
floribe2000 Dec 23, 2023
f4b95a3
fix dirs.proj
floribe2000 Dec 23, 2023
c99fc66
fix paths in dirs.proj
floribe2000 Dec 23, 2023
4c532d8
fix typos in english translation
floribe2000 Dec 24, 2023
d57e12e
remove unnecessary cast into SecondaryBatteryDataContainer.cs
iTTou Dec 25, 2023
0530a37
fix upgraded modules not being applied by default when passing ships …
iTTou Dec 25, 2023
3454b6d
improve build name display in ship comparison gird to better distinct…
iTTou Dec 25, 2023
5b62806
move searched ship list results to the left
iTTou Dec 26, 2023
3542529
fix all currently known wrong skill effects translations.
iTTou Dec 26, 2023
d9f6f7b
attempt to fix incorrect build image render when downloading from server
iTTou Dec 30, 2023
aed7eb4
revert previous change because it didnt solve the issue
iTTou Dec 30, 2023
85104e3
second attempt at fixing incorrect build image rendering when downloa…
iTTou Dec 30, 2023
1b62a60
revert previous changes because they didnt solve the issue
iTTou Dec 30, 2023
b4a3bd7
third attempt at fixing incorrect build image rendering when download…
iTTou Dec 30, 2023
d68e732
suppress wrong error notification
iTTou Dec 30, 2023
ee72933
split skill special icon build image render css class style
iTTou Dec 30, 2023
facc10d
remove unused svg path. move the special skill badge on the border of…
iTTou Dec 30, 2023
c76a22f
improve special skill icon rendering in the build image dialog
iTTou Dec 30, 2023
494d1e0
replace image rendering library
floribe2000 Dec 30, 2023
3b28ddb
add loading bar indication while build image is getting rendered
iTTou Dec 31, 2023
3019746
remove unused png logo and switch back to old svg logo (rendered better)
iTTou Jan 2, 2024
0a6f917
reformat FittingToolSelector.razor
floribe2000 Jan 2, 2024
1ecf1e3
fix wrong consumable names when saving builds
iTTou Jan 3, 2024
49c1817
change color of fitting tool style selector to less intrusive seconda…
floribe2000 Jan 3, 2024
d419869
update settings to unify look for boolean toggles
floribe2000 Jan 3, 2024
f379adb
extract build addition and update into a separate method
iTTou Jan 3, 2024
05b7be0
add copy to clipboard without downloading the build image
iTTou Jan 3, 2024
04c4db4
add delay to ensure the dom is properly updated before rendering the …
iTTou Jan 3, 2024
39d42d1
App pages browser (#287)
iTTou Jan 3, 2024
4d6c17d
add missing localization
iTTou Jan 3, 2024
4e26c4b
Parameterized localization (#288)
floribe2000 Jan 3, 2024
401caff
disable concurrent executions of sonarcloud code analysis
floribe2000 Jan 3, 2024
838d558
disable sonarcloud code analysis for PRs that only update localization
floribe2000 Jan 3, 2024
44f9a04
bump app version to 2.4 and update ReleaseNotes
floribe2000 Jan 3, 2024
7662c6c
fix executable path desktop release check
floribe2000 Jan 3, 2024
881fedc
fix typo in BuildImageRenderDialog.razor.js clipboard not available n…
iTTou Jan 4, 2024
6f6cf1c
add distinction between main and secondary shell modifiers for ShellD…
floribe2000 Jan 4, 2024
de1e88d
New Crowdin updates (#289)
yesod30 Jan 5, 2024
6bf98c2
update dependencies, remove unused dependencies
floribe2000 Jan 6, 2024
a6ecf1f
downgrade nunit for data generator tests
floribe2000 Jan 6, 2024
2f66532
Added ability to activate special abilities and burst artillery modif…
yesod30 Jan 9, 2024
22c6737
Removed unused imports
yesod30 Jan 9, 2024
aa43924
change special ability switch color from secondary to primary
iTTou Jan 9, 2024
0a282ee
Ship Comparison Pager (#292)
iTTou Jan 9, 2024
bf9553b
fix modifier processing for speedboost and support new upgrades from …
floribe2000 Jan 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,5 @@
**/secrets.dev.yaml
**/values.dev.yaml
LICENSE
README.md
README.md
**/appsettings.local.json
15 changes: 6 additions & 9 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ Please do not contact us for game issues, we are only responsible for issues dir

## Getting started

The project consists of three main components: The WoWs-ShipBuilder application itself, the DataConverter project used to convert extracted game data from Wargaming into a format we can use and the gameparam-extractor.
The main application and the data converter are written in C# with .NET 5 while the gameparam-extractor is written in Python.
The project consists of two main components: The WoWs-ShipBuilder application and the DataConverter project used to extract and convert game data from Wargaming into a format we can use.
Both projects are implemented in C# and currently use .NET 7 as target framework.

To start contributing to this repo (the main application), make sure you have a C# IDE and the .NET 5 SDK set up on your machine.
To start contributing to this repo (the main application), make sure you have a C# IDE and the .NET 7 SDK set up on your machine.
If you do not have any of this, it might be best to check out the docs from Microsoft on how to set up the .NET SDK.
Dependencies are managed using the nuget package manager.

Expand All @@ -48,7 +48,7 @@ When reporting a bug, please consider the following steps:

1. Check the list of existing issues and ensure that your bug has not been reported yet. If it was reported already, it might be better to comment on that issue instead of opening a new one.
2. Check whether you can reproduce the bug. What steps are necessary to trigger it?
3. Get your log files. The application writes logs to `%APPDATA%\WoWsShipBuilder\logs`.
3. Get your log files. The application writes logs to `%APPDATA%\WoWsShipBuilder\logs`.
In case of an application crash or an error message, please attach the corresponding log file or send us the log file using discord in a PM if you do not want it to be public.
You may also just search the section that is related to your issue, we will ask for additional details if necessary.
4. Report the bug using the correct issue template.
Expand All @@ -61,7 +61,7 @@ When proposing a new feature, please check the following list:

1. Does it provide additional value to users?
2. How does it impact the application's UI/UX and performance?
3. Does it fit to the application's profile? We do not want to show player statistics or create toxicity.
3. Does it fit to the application's profile? We do not want to show player statistics or create toxicity.
The application is meant to help evaluating and visualizing various ship and captain builds as well as provide utilities related to this.

### Code Contribution
Expand Down Expand Up @@ -109,14 +109,11 @@ If your IDE supports editorconfig files, make sure that feature is turned on. So
Other style rules:

- Try to avoid hardcoded references to specific instances of objects. You may use them as fallback but there should be a way to substitute the reference in unit tests.
- ViewModels must expose a parameterless constructor in order for the Avalonia XAML previewer to work.
- If you need custom constructor parameters, call that constructor from the parameterless one with default values that work with your code.
- For the ShipBuilder UI project, you can access the DataHelper class to retrieve example data. Modify that class if you need complex example data that cannot be created with a single method or constructor call.
- There is a "soft" line length limit of 160 characters. This limit is not enforced but it is preferred to add line breaks if it improves readability.
- For chained method calls, place each method call on a new line if you add a line break.

**The project uses C# 9 with the Nullable Reference Types feature enabled. Do not ignore warnings regarding this feature as they will cause the production build to fail.**

If you need additional nuget dependencies, please contact the repository maintainers first before adding them.
We want to keep the application as small as possible. If you add dependencies, ensure that they work in a trimmed release.
To test the release-compatibility of your local changes, run the local release test script `Tools\LocalReleaseTest.ps1`, specify a version (needs to be in format X.X.X) and install the created executable locally.
To test the release-compatibility of your local changes, run the local release test script `installer\Tools\SquirrelBuildAndRelease.ps1` and install the created executable locally.
2 changes: 1 addition & 1 deletion .github/workflows/deployment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
$certB64 = '${{ secrets.WOWSSB_CERT }}'
[IO.File]::WriteAllBytes(".\wowssb.pfx", [Convert]::FromBase64String([char[]]$certB64))
- name: Squirrel build and release
run: Tools\SquirrelBuildAndRelease.ps1 -signingCert wowssb.pfx -signingPassword '${{ secrets.WOWSSB_CERT_KEY }}'
run: installer\Tools\SquirrelBuildAndRelease.ps1 -signingCert wowssb.pfx -signingPassword '${{ secrets.WOWSSB_CERT_KEY }}'
shell: powershell
- name: Cleanup certificate
run: Remove-Item .\wowssb.pfx
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/desktop-release-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
with:
global-json-file: global.json
- name: Run SquirrelBuildAndRelease
run: Tools\SquirrelBuildAndRelease.ps1
run: installer\Tools\SquirrelBuildAndRelease.ps1
shell: powershell
- name: Upload artifact
uses: actions/upload-artifact@v2
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/sonar-code-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,11 @@ on:
- 'deployment/**/*.*'
pull_request:
types: [opened, synchronize, reopened]
workflow_dispatch:
paths-ignore:
- '**/Localization/Resources/Translation.*.resx'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
Expand Down
21 changes: 16 additions & 5 deletions ReleaseNotes.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Update 2.3
# Update 2.4

## Download and Install

Expand All @@ -12,13 +12,24 @@ Download [**WoWsShipBuilderSetup.exe**](https://github.com/WoWs-Builder-Team/WoW
<summary>Click to show release notes</summary>

### Additions
- Secondaries now show dispersion data on the ship stats page
- A ship selector in the style of fitting tool has been added. This feature's behaviour can be configured in the app settings
- Build images can be copied to the clipboard without downloading them as files first (not supported on Firefox by default due to browser limitations)
- Navigation within the app can now carry over ships and build configurations from one page to another. Note: This does not work when user the browser's backwards and forwards navigation

### Changes
- Theme Rework: A complete overhaul for the existing app theme with new accent colors and an improved color palette
- The new theme follows the [Material Design](https://material.io/design) guidelines
- Better contrast for text and icons
- New accent colors for the app, the app is no longer just grey
- Improve secondary data display on the ship stats page
- The app now uses server prerendering to improve loading times and previews
- Existing builds can now be overwritten by new ones instead of always creating new builds when saving
- The desktop app window can now be resized again
- Modifier processing has been reworked completely to simplify adapting to changes in future game updates
- various other improvements

### Bugfixes
- Ship Comparison crashed when trying to sort multi-value columns
- Ship Comparison sorting by tier now works as expected
- Kitakami should now show the correct loader configuration for her torpedoes
- Exported build images will now render all elements correctly
- various other bug fixes

</details>
224 changes: 0 additions & 224 deletions ResharperFileLayout.xml

This file was deleted.

Binary file removed SplashScreen_small.png
Binary file not shown.
Binary file removed Tools/Setup.exe
Binary file not shown.
Binary file removed Tools/StubExecutable.exe
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using FluentAssertions;
using System.Collections.Immutable;
using FluentAssertions;
using WoWsShipBuilder.DataStructures;
using WoWsShipBuilder.DataStructures.Ship;
using WoWsShipBuilder.Features.ShipStats.ViewModels;
Expand Down Expand Up @@ -33,20 +34,18 @@ public void LoadFromBuild_LoadExportedData_Success()

private static UpgradeInfo CreateBasicUpgradeInfo() => new()
{
ShipUpgrades = new()
{
ShipUpgrades = ImmutableList.Create<ShipUpgrade>(
new()
{
Components = new() { { ComponentType.Artillery, new[] { "A_Artillery" } } },
Components = new Dictionary<ComponentType, ImmutableArray<string>> { { ComponentType.Artillery, ImmutableArray.Create("A_Artillery") } }.ToImmutableDictionary(),
Name = FirstUpgradeName,
UcType = ComponentType.Artillery,
},
new()
{
Components = new() { { ComponentType.Artillery, new[] { "B_Artillery" } } },
Components = new Dictionary<ComponentType, ImmutableArray<string>> { { ComponentType.Artillery, ImmutableArray.Create("B_Artillery") } }.ToImmutableDictionary(),
Name = SecondUpgradeName,
UcType = ComponentType.Artillery,
},
},
}),
};
}
Loading
Loading