From abcc43222ae57f839d29482c8538aa9b62667ab4 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Wed, 19 Jan 2011 23:25:58 +1300 Subject: [PATCH] Add missing files. --- OpenRA.Launcher.Mac/main.h | 10 ++ .../Widgets/Delegates/RAInitDelegate.cs | 96 ++++++++++++++++++ mods/ra/bits/cursor.pal | Bin 0 -> 768 bytes mods/ra/bits/mouse.shp | Bin 0 -> 38287 bytes 4 files changed, 106 insertions(+) create mode 100644 OpenRA.Launcher.Mac/main.h create mode 100755 OpenRA.Mods.RA/Widgets/Delegates/RAInitDelegate.cs create mode 100644 mods/ra/bits/cursor.pal create mode 100644 mods/ra/bits/mouse.shp diff --git a/OpenRA.Launcher.Mac/main.h b/OpenRA.Launcher.Mac/main.h new file mode 100644 index 0000000000..e278eacfd0 --- /dev/null +++ b/OpenRA.Launcher.Mac/main.h @@ -0,0 +1,10 @@ +/* + * main.h + * OpenRA + * + * Created by Paul Chote on 19/01/11. + * Copyright 2011 OpenRA. All rights reserved. + * + */ + +void hide_menubar_if_necessary(); \ No newline at end of file diff --git a/OpenRA.Mods.RA/Widgets/Delegates/RAInitDelegate.cs b/OpenRA.Mods.RA/Widgets/Delegates/RAInitDelegate.cs new file mode 100755 index 0000000000..71fcb23732 --- /dev/null +++ b/OpenRA.Mods.RA/Widgets/Delegates/RAInitDelegate.cs @@ -0,0 +1,96 @@ +#region Copyright & License Information +/* + * Copyright 2007-2010 The OpenRA Developers (see AUTHORS) + * This file is part of OpenRA, which is free software. It is made + * available to you under the terms of the GNU General Public License + * as published by the Free Software Foundation. For more information, + * see LICENSE. + */ +#endregion + +using System.Collections.Generic; +using OpenRA.FileFormats; +using OpenRA.Network; +using OpenRA.Server; +using OpenRA.Widgets; +using System.Diagnostics; +using System; + +namespace OpenRA.Mods.RA.Widgets.Delegates +{ + public class RAInitDelegate : IWidgetDelegate + { + [ObjectCreator.UseCtor] + public RAInitDelegate([ObjectCreator.Param] Widget widget) + { + Game.ConnectionStateChanged += orderManager => + { + Widget.CloseWindow(); + switch( orderManager.Connection.ConnectionState ) + { + case ConnectionState.PreConnecting: + Widget.OpenWindow("MAINMENU_BG"); + break; + case ConnectionState.Connecting: + Widget.OpenWindow( "CONNECTING_BG", + new Dictionary { { "host", orderManager.Host }, { "port", orderManager.Port } } ); + break; + case ConnectionState.NotConnected: + Widget.OpenWindow( "CONNECTION_FAILED_BG", + new Dictionary { { "orderManager", orderManager } } ); + break; + case ConnectionState.Connected: + var lobby = Game.OpenWindow(orderManager.world, "SERVER_LOBBY"); + lobby.GetWidget("CHAT_DISPLAY").ClearChat(); + lobby.GetWidget("CHANGEMAP_BUTTON").Visible = true; + lobby.GetWidget("LOCKTEAMS_CHECKBOX").Visible = true; + lobby.GetWidget("DISCONNECT_BUTTON").Visible = true; + //r.GetWidget("INGAME_ROOT").GetWidget("CHAT_DISPLAY").ClearChat(); + break; + } + }; + + if (FileSystem.Exists("fake.mix")) + ContinueLoading(); + else + { + widget.GetWidget("INIT_DOWNLOAD").OnMouseUp = mi => + { + ContinueLoading(); + return true; + }; + + widget.GetWidget("INIT_FROMCD").OnMouseUp = mi => + { + SelectDisk(path => System.Console.WriteLine(path)); + return true; + }; + + widget.GetWidget("INIT_QUIT").OnMouseUp = mi => { Game.Exit(); return true; }; + } + } + + + void SelectDisk(Action withPath) + { + Process p = new Process(); + p.StartInfo.FileName = "OpenRA.Launcher.Mac/build/Release/OpenRA.app/Contents/MacOS/OpenRA"; + p.StartInfo.Arguments = "--filepicker --title \"Select CD\" --message \"Select the Red Alert CD\" --require-directory --button-text \"Select\""; + p.StartInfo.UseShellExecute = false; + p.StartInfo.CreateNoWindow = true; + p.EnableRaisingEvents = true; + p.Exited += (_,e) => + { + withPath(p.StandardOutput.ReadToEnd()); + }; + p.Start(); + } + + void ContinueLoading() + { + Game.modData.LoadPackages(); + Game.LoadShellMap(); + Widget.OpenWindow("MAINMENU_BG"); + } + } +} diff --git a/mods/ra/bits/cursor.pal b/mods/ra/bits/cursor.pal new file mode 100644 index 0000000000000000000000000000000000000000..bb63fcdd50490a6ace83199cf15196a1e551c57e GIT binary patch literal 768 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