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

Merge XPEvo fixed/changes into main repository #317

Open
wants to merge 39 commits into
base: master
Choose a base branch
from

Conversation

Chris92de
Copy link
Member

@Chris92de Chris92de commented Oct 22, 2024

This pull request includes all the changes that were made to the XPEvo branch of EvoSC#, without the additions of ContactAdminModule, ToornamentModule and ServerSyncModule.
Changes to the required dependencies (namely NATS and toornamentapi) have been reverted.

New modules: RoundRankingModule
Updated modules: ScoreboardModule, GameModeUiModule

Full list of changes compared to master branch can be seen here: master...EvoEsports:EvoSC-sharp-XPEvo:master - keep in mind that some of these changes already have been merged into master branch here and were merged into the forked repository after the fact.

Abbreviated list of changes since August 20th:

  • Updated design for CurrentMapModule by @araszka
  • Updated design and functionality for SpectatorTargetInfoModule by @araszka
  • Added SpectatorCamModeModule by @araszka - replaces Nadeo's default Spec Cam Mode switcher in the bottom right
  • Rename Scoreboard to ScoreboardModule
  • Updated design and functionality for ScoreboardModule (incl. themability, nickname support, showing current/max rounds, etc)
  • Added RoundRankingModule by @araszka - similar functionality as SmallScoresTable in TMWT/Teams_Matchmaking modes
  • Added default settings to GameModeUiModule for SmallScoresTable UILayer
  • Few changes to the Dockerfile to make sure EvoSC runs as user id 9999 instead of root.

@Chris92de Chris92de requested review from snixtho and araszka October 22, 2024 14:12
@Chris92de Chris92de linked an issue Oct 22, 2024 that may be closed by this pull request
Copy link

github-actions bot commented Oct 22, 2024

Qodana for .NET

16 new problems were found

Inspection name Severity Problems
Cannot convert null literal to non-nullable reference type. 🔶 Warning 11
Unused local variable 🔶 Warning 2
Conditional access qualifier expression is not null according to nullable reference types' annotations 🔶 Warning 1
Invalid XML documentation comment 🔶 Warning 1
Virtual member call in constructor 🔶 Warning 1

💡 Qodana analysis was run in the pull request mode: only the changed files were checked
☁️ View the detailed Qodana report

Detected 116 dependencies

Third-party software list

This page lists the third-party software dependencies used in EvoSC

Dependency Version Licenses
Castle.Core 5.0.0 Apache-2.0
ColorMinePortable 2.0.4 MIT
Config.Net 5.1.5 Apache-2.0
FluentMigrator.Abstractions 3.3.2 Apache-2.0
FluentMigrator.Extensions.Oracle 3.3.2 Apache-2.0
FluentMigrator.Extensions.Postgres 3.3.2 Apache-2.0
FluentMigrator.Extensions.SqlAnywhere 3.3.2 Apache-2.0
FluentMigrator.Extensions.SqlServer 3.3.2 Apache-2.0
FluentMigrator.Runner.Core 3.3.2 Apache-2.0
FluentMigrator.Runner.Db2 3.3.2 Apache-2.0
FluentMigrator.Runner.Firebird 3.3.2 Apache-2.0
FluentMigrator.Runner.Hana 3.3.2 Apache-2.0
FluentMigrator.Runner.MySql 3.3.2 Apache-2.0
FluentMigrator.Runner.Oracle 3.3.2 Apache-2.0
FluentMigrator.Runner.Postgres 3.3.2 Apache-2.0
FluentMigrator.Runner.Redshift 3.3.2 Apache-2.0
FluentMigrator.Runner.SQLite 3.3.2 Apache-2.0
FluentMigrator.Runner.SqlAnywhere 3.3.2 Apache-2.0
FluentMigrator.Runner.SqlServer 3.3.2 Apache-2.0
FluentMigrator.Runner.SqlServerCe 3.3.2 Apache-2.0
FluentMigrator.Runner 3.3.2 Apache-2.0
FluentMigrator 3.3.2 Apache-2.0
Flurl.Http 3.2.4 MIT
Flurl 3.0.7 MIT
GBX.NET.LZO 1.0.4 GPL-3.0-only
GBX.NET 1.2.6 MIT
GbxRemote.Net 5.0.0 Apache-2.0
Google.Protobuf 3.21.9 BSD-3-Clause
Hawf 2.0.0 Apache-2.0
Humanizer.Core 2.14.1 MIT
ISO3166 1.0.4 MIT
K4os.Compression.LZ4.Streams 1.3.5 MIT
K4os.Compression.LZ4 1.3.5 MIT
K4os.Hash.xxHash 1.0.8 MIT
ManiaExchange.ApiClient 1.0.2 Apache-2.0
Microsoft.CSharp 4.5.0 MIT
Microsoft.CSharp 4.7.0 MIT
Microsoft.CodeAnalysis.Analyzers 3.3.3 MIT
Microsoft.CodeAnalysis.Analyzers 3.3.4 MIT
Microsoft.CodeAnalysis.CSharp.Scripting 4.4.0 MIT
Microsoft.CodeAnalysis.CSharp 4.4.0 MIT
Microsoft.CodeAnalysis.CSharp 4.8.0 MIT
Microsoft.CodeAnalysis.Common 4.4.0 MIT
Microsoft.CodeAnalysis.Common 4.8.0 MIT
Microsoft.CodeAnalysis.Scripting.Common 4.4.0 MIT
Microsoft.Data.SqlClient.SNI.runtime 2.1.1 MS-NET-LIBRARY-2019-06
Microsoft.Data.SqlClient 2.1.2 MIT
Microsoft.Extensions.Configuration.Abstractions 8.0.0 MIT
Microsoft.Extensions.Configuration.Binder 8.0.0 MIT
Microsoft.Extensions.Configuration 8.0.0 MIT
Microsoft.Extensions.DependencyInjection.Abstractions 8.0.0 MIT
Microsoft.Extensions.DependencyInjection 8.0.0 MIT
Microsoft.Extensions.Logging.Abstractions 8.0.0 MIT
Microsoft.Extensions.Logging.Configuration 8.0.0 MIT
Microsoft.Extensions.Logging.Console 8.0.0 MIT
Microsoft.Extensions.Logging 8.0.0 MIT
Microsoft.Extensions.Options.ConfigurationExtensions 8.0.0 MIT
Microsoft.Extensions.Options 8.0.0 MIT
Microsoft.Extensions.Primitives 8.0.0 MIT
Microsoft.Identity.Client 4.21.1 MIT
Microsoft.IdentityModel.JsonWebTokens 6.8.0 MIT
Microsoft.IdentityModel.Logging 6.8.0 MIT
Microsoft.IdentityModel.Protocols.OpenIdConnect 6.8.0 MIT
Microsoft.IdentityModel.Protocols 6.8.0 MIT
Microsoft.IdentityModel.Tokens 6.8.0 MIT
Microsoft.NETCore.Platforms 1.1.0 MIT
Microsoft.NETCore.Platforms 3.1.0 MIT
Microsoft.NETCore.Targets 1.1.0 MIT
Microsoft.Win32.Registry 4.7.0 MIT
Microsoft.Win32.SystemEvents 6.0.0 MIT
Mono.TextTemplating 2.3.1 MIT
MySql.Data 8.1.0 GPL-2.0-or-later
MySqlConnector 2.3.1 MIT
Newtonsoft.Json 13.0.3 MIT
Npgsql 7.0.6 PostgreSQL
Samboy063.Tomlet 5.2.0 MIT
SimpleInjector 5.4.2 MIT
SonarAnalyzer.CSharp 9.15.0.81779 GPL-3.0-only
LGPL-3.0-only
System.Buffers 4.5.1 MIT
System.CodeDom 5.0.0 MIT
System.Collections.Immutable 6.0.0 MIT
System.Collections.Immutable 7.0.0 MIT
System.ComponentModel.Annotations 4.4.1 MIT
System.ComponentModel 4.0.1 MIT
System.Configuration.ConfigurationManager 6.0.0 MIT
System.Diagnostics.DiagnosticSource 7.0.2 MIT
System.Diagnostics.EventLog 6.0.0 MIT
System.Drawing.Common 6.0.0 MIT
System.IO.Hashing 8.0.0 MIT
System.IO.Pipelines 6.0.3 MIT
System.IdentityModel.Tokens.Jwt 6.8.0 MIT
System.Memory 4.5.5 MIT
System.Numerics.Vectors 4.4.0 MIT
System.Reflection.Metadata 5.0.0 MIT
System.Reflection.Metadata 7.0.0 MIT
System.Runtime.Caching 4.7.0 MIT
System.Runtime.CompilerServices.Unsafe 6.0.0 MIT
System.Security.AccessControl 6.0.0 MIT
System.Security.Cryptography.Cng 4.5.0 MIT
System.Security.Cryptography.ProtectedData 6.0.0 MIT
System.Security.Permissions 6.0.0 MIT
System.Security.Principal.Windows 4.7.0 MIT
System.Text.Encoding.CodePages 4.7.0 MIT
System.Text.Encoding.CodePages 6.0.0 MIT
System.Text.Encoding.CodePages 7.0.0 MIT
System.Text.Encodings.Web 8.0.0 MIT
System.Text.Json 8.0.0 MIT
System.Threading.Tasks.Extensions 4.5.4 MIT
System.ValueTuple 4.4.0 MIT
System.Windows.Extensions 6.0.0 MIT
TmEssentials 2.4.0 MIT
ZstdSharp.Port 0.7.1 MIT
linq2db.MySql 5.3.2 MIT
linq2db.PostgreSQL 5.3.2 MIT
linq2db.SQLite 5.3.2 MIT
linq2db 5.3.2 MIT
Contact Qodana team

Contact us at [email protected]

@snixtho
Copy link
Member

snixtho commented Nov 2, 2024

Because commit history seems to be lost, please create a list of changes in the description.

@Chris92de
Copy link
Member Author

Because commit history seems to be lost, please create a list of changes in the description.

As requested, I've updated the description of the pull request with an abbreviated list of changes and also added a link to compare the fork to the current master branch.

@Chris92de
Copy link
Member Author

The last commit resolves the comment by @AtomicLiquid about the docker-compose.yml file not including a build parameter.

Dockerfile Outdated Show resolved Hide resolved

namespace EvoSC.Modules.Official.RoundRankingModule.Models;

public class CheckpointData
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing doc comments


public class CheckpointsRepository : Dictionary<string, CheckpointData>
{
public List<CheckpointData> GetSortedData()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missing doc comment

@@ -0,0 +1,23 @@
namespace EvoSC.Modules.Official.RoundRankingModule.Models;

public class PointsRepartition : List<int>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missing doc comments

pos="{{ rowInnerHeight * 3.0 + columnSpacing * 2.0 }} 0"
size="{{ w / 3.0 }} {{ rowHeight }}"
valign="center2"
textsize="{{ Theme.UI_FontSize*2 }}"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use the text-xl utility class instead and for the others too.

Ref:

  • text-xs: Theme.UI_FontSize*0.8
  • text-normal: Theme.UI_FontSize (or text-primary for default colors + normal size)
  • text-md: Theme.UI_FontSize*1.2
  • text-lg: Theme.UI_FontSize*1.5
  • text-xl: Theme.UI_FontSize*2
  • text-2xl: Theme.UI_FontSize*4
  • text-3xl: Theme.UI_FontSize*6
  • text-4xl: Theme.UI_FontSize*8

</template>

<script once="true">
<!--
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

move script into its own file

valign="center"
halign="center"
text="{{ Icons.VideoCamera }}"
textsize="{{ Theme.UI_FontSize*2 }}"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use text-xl class

pos='{{ (width-(Theme.ScoreboardModule_PositionBox_ShowAccent=="True" ? accentBarWidth : 0)) / 2.0 + (Theme.ScoreboardModule_PositionBox_ShowAccent=="True" ? accentBarWidth : 0) }} {{ height / -2.0 + 0.25 }}'
valign="center"
halign="center"
textsize="{{ Theme.UI_FontSize*2 }}"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use text-xl class

</template>

<script>
<!--
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

move script into its own file

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Merge XPEvo fixes into main repository
4 participants