Skip to content

Commit

Permalink
Quick match
Browse files Browse the repository at this point in the history
  • Loading branch information
devo1929 committed May 11, 2022
1 parent 620d8a6 commit f3fc843
Show file tree
Hide file tree
Showing 42 changed files with 1,534 additions and 39 deletions.
15 changes: 8 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 @@ -248,6 +248,7 @@
</ItemGroup>
<ItemGroup>
<Compile Include="CCIniFile.cs" />
<Compile Include="ClientException.cs" />
<Compile Include="CnCNet5\CnCNetGame.cs" />
<Compile Include="CnCNet5\GameCollection.cs" />
<Compile Include="ClientConfiguration.cs" />
Expand Down Expand Up @@ -323,4 +324,4 @@
<Target Name="AfterBuild">
</Target>
-->
</Project>
</Project>
11 changes: 11 additions & 0 deletions ClientCore/ClientException.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
using System;

namespace ClientCore
{
public class ClientException : Exception
{
public ClientException(string message) : base(message)
{
}
}
}
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 @@ -345,4 +345,4 @@
<Target Name="AfterBuild">
</Target>
-->
</Project>
</Project>
35 changes: 26 additions & 9 deletions DXMainClient/DXGUI/Generic/LoadingScreen.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,13 @@
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.XNAUI.XNAControls;
using Updater;
using SkirmishLobby = DTAClient.DXGUI.Multiplayer.GameLobby.SkirmishLobby;

Expand Down Expand Up @@ -71,7 +73,7 @@ private void InitUpdater()

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

Expand All @@ -84,13 +86,7 @@ private void Finish()
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 Down Expand Up @@ -120,15 +116,18 @@ private void Finish()
var gipw = new GameInProgressWindow(WindowManager);

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

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 @@ -144,9 +143,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 @@ -175,6 +176,22 @@ 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(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));
}

public override void Update(GameTime gameTime)
{
base.Update(gameTime);
Expand Down
26 changes: 23 additions & 3 deletions DXMainClient/DXGUI/Generic/MainMenu.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
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 Localization;
Expand Down Expand Up @@ -36,12 +37,20 @@ class MainMenu : XNAWindow, ISwitchable
/// <summary>
/// Creates a new instance of the main menu.
/// </summary>
public MainMenu(WindowManager windowManager, SkirmishLobby skirmishLobby,
LANLobby lanLobby, TopBar topBar, OptionsWindow optionsWindow,
public MainMenu(
WindowManager windowManager,
SkirmishLobby skirmishLobby,
QuickMatchWindow quickMatchWindow,
LANLobby lanLobby,
TopBar topBar,
OptionsWindow optionsWindow,
CnCNetLobby cncnetLobby,
CnCNetManager connectionManager, DiscordHandler discordHandler) : base(windowManager)
CnCNetManager connectionManager,
DiscordHandler discordHandler
) : base(windowManager)
{
this.skirmishLobby = skirmishLobby;
this.quickMatchWindow = quickMatchWindow;
this.lanLobby = lanLobby;
this.topBar = topBar;
this.connectionManager = connectionManager;
Expand All @@ -62,6 +71,8 @@ public MainMenu(WindowManager windowManager, SkirmishLobby skirmishLobby,

private SkirmishLobby skirmishLobby;

private QuickMatchWindow quickMatchWindow;

private LANLobby lanLobby;

private CnCNetManager connectionManager;
Expand Down Expand Up @@ -106,6 +117,7 @@ private bool UpdateInProgress
private XNAClientButton btnLoadGame;
private XNAClientButton btnSkirmish;
private XNAClientButton btnCnCNet;
private XNAClientButton btnQuickmatch;
private XNAClientButton btnLan;
private XNAClientButton btnOptions;
private XNAClientButton btnMapEditor;
Expand Down Expand Up @@ -154,6 +166,11 @@ public override void Initialize()
btnCnCNet.HoverSoundEffect = new EnhancedSoundEffect("MainMenu/button.wav");
btnCnCNet.LeftClick += BtnCnCNet_LeftClick;

btnQuickmatch = new XNAClientButton(WindowManager);
btnQuickmatch.Name = nameof(btnQuickmatch);
btnQuickmatch.LeftClick += BtnQuickmatch_LeftClick;
btnQuickmatch.Disable();

btnLan = new XNAClientButton(WindowManager);
btnLan.Name = nameof(btnLan);
btnLan.IdleTexture = AssetLoader.LoadTexture("MainMenu/lan.png");
Expand Down Expand Up @@ -225,6 +242,7 @@ public override void Initialize()
AddChild(btnLoadGame);
AddChild(btnSkirmish);
AddChild(btnCnCNet);
AddChild(btnQuickmatch);
AddChild(btnLan);
AddChild(btnOptions);
AddChild(btnMapEditor);
Expand Down Expand Up @@ -753,6 +771,8 @@ private void BtnLan_LeftClick(object sender, EventArgs e)

private void BtnCnCNet_LeftClick(object sender, EventArgs e) => topBar.SwitchToSecondary();

private void BtnQuickmatch_LeftClick(object sender, EventArgs e) => quickMatchWindow.Enable();

private void BtnSkirmish_LeftClick(object sender, EventArgs e)
{
skirmishLobby.Open();
Expand Down
Loading

0 comments on commit f3fc843

Please sign in to comment.