Skip to content

Conversation

MahBoiDeveloper
Copy link
Contributor

@MahBoiDeveloper MahBoiDeveloper commented Sep 23, 2025

PR opens #774 that previously was blocked by ClientCore's dependency on XNAUI.

@MahBoiDeveloper MahBoiDeveloper force-pushed the feature/remove-xnaui-from-clientcore branch from c7d9347 to 4e0595f Compare September 23, 2025 17:16
@MahBoiDeveloper MahBoiDeveloper force-pushed the feature/remove-xnaui-from-clientcore branch from 4e0595f to 3b3ba7c Compare September 23, 2025 17:21
Copy link

Nightly build for this pull request:

  • artifacts.zip
    This comment is automatic and is meant to allow guests to get latest automatic builds without registering. It is updated on every successful build.

@SadPencil SadPencil requested a review from Copilot September 25, 2025 03:21
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR removes the XNAUI dependency from the ClientCore project and refactors the DTAConfig project by moving its functionality into the main client application. The changes consolidate the architecture by eliminating a separate configuration project and integrating its components directly into DXMainClient and ClientGUI.

Key changes:

  • Removes the entire DTAConfig project and integrates its functionality into DXMainClient and ClientGUI
  • Moves CnCNet-related classes from ClientCore.CnCNet5 namespace to DTAClient.Domain.Multiplayer.CnCNet
  • Relocates embedded resource references from ClientCore.Resources to DTAClient.Icons

Reviewed Changes

Copilot reviewed 48 out of 62 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
Directory.Build.props Removes DTAConfig from the target frameworks condition
DXClient.sln Removes the DTAConfig project from the solution
DTAConfig/DTAConfig.csproj Deletes the entire DTAConfig project file
ClientCore/ClientCore.csproj Removes XNAUI package references and embedded resources
ClientGUI/ClientGUI.csproj Adds XNAUI package references moved from ClientCore
DXMainClient/DXMainClient.csproj Updates project references and adds embedded resource configuration
Multiple .cs files Updates namespace references from ClientCore.CnCNet5 to DTAClient.Domain.Multiplayer.CnCNet and moves settings classes to ClientGUI.Settings
Comments suppressed due to low confidence (1)

DXMainClient/DXGUI/Generic/ManualUpdateQueryWindow.cs:1

  • Duplicate using ClientCore; statement should be removed.
using System;

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment on lines +1 to 4
using ClientCore.I18N;
using Rampastring.Tools;
using Rampastring.XNAUI;
using Rampastring.XNAUI.XNAControls;
Copy link
Preview

Copilot AI Sep 25, 2025

Choose a reason for hiding this comment

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

The removed using ClientCore.Extensions; import may be needed if extension methods are used elsewhere in this file. Verify that all functionality still works without this import.

Copilot uses AI. Check for mistakes.

@SadPencil
Copy link
Member

ClientGUI.Settings? In my opinion the setting stuffs should be merged in DXMainClient project. CC @Metadorius

@SadPencil SadPencil changed the title Remove XNAUI dependecy from ClientCore project and refactoring DTAConfig Remove XNAUI dependency from ClientCore project and remove DTAConfig Sep 25, 2025
@MahBoiDeveloper
Copy link
Contributor Author

ClientGUI.Settings? In my opinion the setting stuffs should be merged in DXMainClient project. CC @Metadorius

They are generic UI elements extending functionality of XNAUI, so they moved to ClientGUI, but currently used by OptionsWindow only.

@Metadorius
Copy link
Member

@SadPencil Per my understanding ClientGUI should host separate client-related controls and components, and DXMainClient is a project where the final client is assembled together, so I instructed @MahBoiDeveloper to do the same in his PR.

@SadPencil
Copy link
Member

Okay, after checking the codes again, indeed, the remaining ones are generic. I have also noticed that DTAConfig.OptionPanels have finally been merged into DXMainClient, which is great.

@SadPencil SadPencil added this to the 2.13.0 milestone Sep 26, 2025
@Metadorius Metadorius merged commit 1283a39 into CnCNet:develop Sep 26, 2025
1 check passed
@MahBoiDeveloper MahBoiDeveloper deleted the feature/remove-xnaui-from-clientcore branch September 26, 2025 16:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants