Skip to content

Commit

Permalink
Quick match
Browse files Browse the repository at this point in the history
  • Loading branch information
devo1929 committed Sep 19, 2022
1 parent 2c7f7a1 commit 16693e6
Show file tree
Hide file tree
Showing 58 changed files with 2,411 additions and 166 deletions.
2 changes: 2 additions & 0 deletions BuildScripts/CopyCompiled.bat
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ copy Newtonsoft.Json.dll %commonBinaries%Newtonsoft.Json.dll
copy DiscordRPC.dll %commonBinaries%DiscordRPC.dll
copy lzo.net.dll %commonBinaries%lzo.net.dll
copy OpenMcdf.dll %commonBinaries%OpenMcdf.dll
copy JWT.dll %commonBinaries%JWT.dll
copy System.Net.Http.dll %commonBinaries%System.Net.Http.dll

echo Windows
copy DTAClient.exe %cr%clientdx.exe
Expand Down
2 changes: 2 additions & 0 deletions ClientCore/ClientConfiguration.cs
Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,8 @@ public string GetThemePath(string themeName)

public string MPMapsIniPath => clientDefinitionsIni.GetStringValue(SETTINGS, "MPMapsPath", "INI/MPMaps.ini");

public string QuickMatchPath => clientDefinitionsIni.GetStringValue(SETTINGS, "QuickMatchPath", "INI/QuickMatch.ini");

public string KeyboardINI => clientDefinitionsIni.GetStringValue(SETTINGS, "KeyboardINI", "Keyboard.ini");

public int MinimumIngameWidth => clientDefinitionsIni.GetIntValue(SETTINGS, "MinimumIngameWidth", 640);
Expand Down
16 changes: 9 additions & 7 deletions ClientCore/ClientCore.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
<DefineConstants>TRACE;DEBUG;XNA</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|XNAFramework' ">
Expand All @@ -65,7 +65,7 @@
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'AresRelease|SharpDX' ">
Expand All @@ -83,7 +83,7 @@
<DefineConstants>TRACE;ARES YR</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'AresRelease|WindowsGL' ">
Expand All @@ -109,7 +109,7 @@
<DefineConstants>TRACE;YR</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'YRRelease|WindowsGL' ">
Expand Down Expand Up @@ -145,7 +145,7 @@
<OutputPath>bin\XNAFramework\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;ARES YR</DefineConstants>
<DebugType>full</DebugType>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<PlatformTarget>x86</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
Expand Down Expand Up @@ -176,7 +176,7 @@
<OutputPath>bin\XNAFramework\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;YR</DefineConstants>
<DebugType>full</DebugType>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<PlatformTarget>x86</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
Expand Down Expand Up @@ -254,6 +254,8 @@
<Compile Include="CnCNet5\NameValidator.cs" />
<Compile Include="Enums\AllowPrivateMessagesFromEnum.cs" />
<Compile Include="Enums\SortDirection.cs" />
<Compile Include="Exceptions\ClientException.cs" />
<Compile Include="Exceptions\ClientRequestException.cs" />
<Compile Include="Extensions\EnumExtensions.cs" />
<Compile Include="Extensions\StringExtensions.cs" />
<Compile Include="INIProcessing\IniPreprocessInfoStore.cs" />
Expand Down Expand Up @@ -323,4 +325,4 @@
<Target Name="AfterBuild">
</Target>
-->
</Project>
</Project>
11 changes: 11 additions & 0 deletions ClientCore/Exceptions/ClientException.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
using System;

namespace ClientCore.Exceptions
{
public class ClientException : Exception
{
public ClientException(string message, Exception innerException = null) : base(message, innerException)
{
}
}
}
14 changes: 14 additions & 0 deletions ClientCore/Exceptions/ClientRequestException.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
using System.Net;

namespace ClientCore.Exceptions
{
public class ClientRequestException : ClientException
{
public HttpStatusCode? StatusCode { get; }

public ClientRequestException(string message, HttpStatusCode? statusCode = null) : base(message)
{
StatusCode = statusCode;
}
}
}
6 changes: 3 additions & 3 deletions ClientGUI/ClientGUI.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@
<DefineConstants>TRACE;DEBUG;XNA</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|XNAFramework' ">
<PlatformTarget>x86</PlatformTarget>
Expand All @@ -69,7 +69,7 @@
<DefineConstants>TRACE;XNA</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
</PropertyGroup>
<Choose>
<When Condition="'$(Platform)' != 'XNAFramework'">
Expand Down Expand Up @@ -187,4 +187,4 @@
<Target Name="AfterBuild">
</Target>
-->
</Project>
</Project>
8 changes: 5 additions & 3 deletions ClientGUI/Parser.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
using Rampastring.XNAUI.XNAControls;
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;

namespace ClientGUI
{
Expand Down Expand Up @@ -69,6 +70,9 @@ private XNAControl GetControl(string controlName)
if (controlName == primaryControl.Name)
return primaryControl;

if (controlName == primaryControl.Parent.Name)
return primaryControl.Parent;

var control = Find(primaryControl.Children, controlName);
if (control == null)
throw new KeyNotFoundException($"Control '{controlName}' not found while parsing input '{Input}'");
Expand Down Expand Up @@ -104,7 +108,7 @@ public void SetPrimaryControl(XNAControl primaryControl)
public int GetExprValue(string input, XNAControl parsingControl)
{
this.parsingControl = parsingControl;
Input = input;
Input = Regex.Replace(input, @"\s", "");
tokenPlace = 0;
return GetExprValue();
}
Expand All @@ -115,8 +119,6 @@ private int GetExprValue()

while (true)
{
SkipWhitespace();

if (IsEndOfInput())
return value;

Expand Down
7 changes: 6 additions & 1 deletion ClientGUI/XNAMessageBox.cs
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,10 @@ private static void MsgBox_OKClicked(XNAMessageBox messageBox)
/// <param name="caption">The caption of the message box.</param>
/// <param name="description">The description in the message box.</param>
/// <returns>The XNAMessageBox instance that is created.</returns>
public static XNAMessageBox ShowYesNoDialog(WindowManager windowManager, string caption, string description)
public static XNAMessageBox ShowYesNoDialog(WindowManager windowManager, string caption, string description)
=> ShowYesNoDialog(windowManager, caption, description, null);

public static XNAMessageBox ShowYesNoDialog(WindowManager windowManager, string caption, string description, Action<XNAMessageBox> yesAction)
{
var panel = new DarkeningPanel(windowManager);
windowManager.AddAndInitializeControl(panel);
Expand All @@ -274,6 +277,8 @@ public static XNAMessageBox ShowYesNoDialog(WindowManager windowManager, string

panel.AddChild(msgBox);
msgBox.YesClickedAction = MsgBox_YesClicked;
if (yesAction != null)
msgBox.YesClickedAction += yesAction;
msgBox.NoClickedAction = MsgBox_NoClicked;

return msgBox;
Expand Down
12 changes: 6 additions & 6 deletions DTAConfig/DTAConfig.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
<DefineConstants>TRACE;DEBUG;XNA TS</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|XNAFramework' ">
Expand All @@ -67,7 +67,7 @@
<DefineConstants>TRACE;XNA</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'TSRelease|SharpDX' ">
Expand All @@ -87,7 +87,7 @@
<DefineConstants>TRACE;XNA TS</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'TSRelease|WindowsGL' ">
<PlatformTarget>AnyCPU</PlatformTarget>
Expand Down Expand Up @@ -115,7 +115,7 @@
<DefineConstants>TRACE;XNA ARES YR</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'AresRelease|WindowsGL' ">
<PlatformTarget>AnyCPU</PlatformTarget>
Expand Down Expand Up @@ -143,7 +143,7 @@
<DefineConstants>TRACE;XNA YR</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'YRRelease|WindowsGL' ">
<PlatformTarget>AnyCPU</PlatformTarget>
Expand Down Expand Up @@ -348,4 +348,4 @@
<Target Name="AfterBuild">
</Target>
-->
</Project>
</Project>
45 changes: 32 additions & 13 deletions DXMainClient/DXGUI/Generic/LoadingScreen.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,15 @@
using DTAClient.DXGUI.Multiplayer;
using DTAClient.DXGUI.Multiplayer.CnCNet;
using DTAClient.DXGUI.Multiplayer.GameLobby;
using DTAClient.DXGUI.Multiplayer.QuickMatch;
using DTAClient.Online;
using DTAConfig;
using Microsoft.Xna.Framework;
using Rampastring.XNAUI;
using System.Threading.Tasks;
using Rampastring.Tools;
using ClientUpdater;
using Rampastring.XNAUI.XNAControls;
using SkirmishLobby = DTAClient.DXGUI.Multiplayer.GameLobby.SkirmishLobby;

namespace DTAClient.DXGUI.Generic
Expand Down Expand Up @@ -79,26 +81,20 @@ private void LogGameClientVersion()

private void LoadMaps()
{
mapLoader = new MapLoader();
mapLoader = MapLoader.GetInstance();
mapLoader.LoadMaps();
}

private void Finish()
{
ProgramConstants.GAME_VERSION = ClientConfiguration.Instance.ModMode ?
ProgramConstants.GAME_VERSION = ClientConfiguration.Instance.ModMode ?
"N/A" : Updater.GameVersion;

DiscordHandler discordHandler = null;
if (!string.IsNullOrEmpty(ClientConfiguration.Instance.DiscordAppId))
discordHandler = new DiscordHandler(WindowManager);

ClientGUICreator.Instance.AddControl(typeof(GameLobbyCheckBox));
ClientGUICreator.Instance.AddControl(typeof(GameLobbyDropDown));
ClientGUICreator.Instance.AddControl(typeof(MapPreviewBox));
ClientGUICreator.Instance.AddControl(typeof(GameLaunchButton));
ClientGUICreator.Instance.AddControl(typeof(ChatListBox));
ClientGUICreator.Instance.AddControl(typeof(XNAChatTextBox));
ClientGUICreator.Instance.AddControl(typeof(PlayerExtraOptionsPanel));
DeclareCustomControls();

var gameCollection = new GameCollection();
gameCollection.Initialize(GraphicsDevice);
Expand All @@ -109,7 +105,7 @@ private void Finish()
var cncnetManager = new CnCNetManager(WindowManager, gameCollection, cncnetUserData);
var tunnelHandler = new TunnelHandler(WindowManager, cncnetManager);
var privateMessageHandler = new PrivateMessageHandler(cncnetManager, cncnetUserData);

var topBar = new TopBar(WindowManager, cncnetManager, privateMessageHandler);

var optionsWindow = new OptionsWindow(WindowManager, gameCollection, topBar);
Expand All @@ -120,23 +116,26 @@ private void Finish()

var cncnetGameLobby = new CnCNetGameLobby(WindowManager,
"MultiplayerGameLobby", topBar, cncnetManager, tunnelHandler, gameCollection, cncnetUserData, mapLoader, discordHandler, pmWindow);
var cncnetGameLoadingLobby = new CnCNetGameLoadingLobby(WindowManager,
var cncnetGameLoadingLobby = new CnCNetGameLoadingLobby(WindowManager,
topBar, cncnetManager, tunnelHandler, mapLoader.GameModes, gameCollection, discordHandler);
var cncnetLobby = new CnCNetLobby(WindowManager, cncnetManager,
var cncnetLobby = new CnCNetLobby(WindowManager, cncnetManager,
cncnetGameLobby, cncnetGameLoadingLobby, topBar, pmWindow, tunnelHandler,
gameCollection, cncnetUserData, optionsWindow);
var gipw = new GameInProgressWindow(WindowManager);

var skirmishLobby = new SkirmishLobby(WindowManager, topBar, mapLoader, discordHandler);
var quickMatchWindow = new QuickMatchWindow(WindowManager);

topBar.SetSecondarySwitch(cncnetLobby);

var mainMenu = new MainMenu(WindowManager, skirmishLobby, lanLobby,
var mainMenu = new MainMenu(WindowManager, skirmishLobby, quickMatchWindow, lanLobby,
topBar, optionsWindow, cncnetLobby, cncnetManager, discordHandler);
WindowManager.AddAndInitializeControl(mainMenu);

DarkeningPanel.AddAndInitializeWithControl(WindowManager, skirmishLobby);

DarkeningPanel.AddAndInitializeWithControl(WindowManager, quickMatchWindow);

DarkeningPanel.AddAndInitializeWithControl(WindowManager, cncnetGameLoadingLobby);

DarkeningPanel.AddAndInitializeWithControl(WindowManager, cncnetGameLobby);
Expand All @@ -152,9 +151,11 @@ private void Finish()

topBar.SetTertiarySwitch(pmWindow);
topBar.SetOptionsWindow(optionsWindow);
topBar.SetQuickMatchWindow(quickMatchWindow);

WindowManager.AddAndInitializeControl(gipw);
skirmishLobby.Disable();
quickMatchWindow.Disable();
cncnetLobby.Disable();
cncnetGameLobby.Disable();
cncnetGameLoadingLobby.Disable();
Expand Down Expand Up @@ -183,6 +184,24 @@ private void Finish()
Cursor.Visible = visibleSpriteCursor;
}

private static void DeclareCustomControls()
{
ClientGUICreator.Instance.AddControl(typeof(GameLobbyCheckBox));
ClientGUICreator.Instance.AddControl(typeof(GameLobbyDropDown));
ClientGUICreator.Instance.AddControl(typeof(MapPreviewBox));
ClientGUICreator.Instance.AddControl(typeof(GameLaunchButton));
ClientGUICreator.Instance.AddControl(typeof(ChatListBox));
ClientGUICreator.Instance.AddControl(typeof(XNAChatTextBox));
ClientGUICreator.Instance.AddControl(typeof(XNAScrollBar));
ClientGUICreator.Instance.AddControl(typeof(XNAPasswordBox));
ClientGUICreator.Instance.AddControl(typeof(PlayerExtraOptionsPanel));
ClientGUICreator.Instance.AddControl(typeof(QuickMatchLoginPanel));
ClientGUICreator.Instance.AddControl(typeof(QuickMatchLobbyPanel));
ClientGUICreator.Instance.AddControl(typeof(QuickMatchMapList));
ClientGUICreator.Instance.AddControl(typeof(QuickMatchStatusMessageWindow));
ClientGUICreator.Instance.AddControl(typeof(XNAClientTabControl));
}

public override void Update(GameTime gameTime)
{
base.Update(gameTime);
Expand Down
Loading

0 comments on commit 16693e6

Please sign in to comment.