From b37bbf2d059ac6c1785c45de1d60dfe82ecf0739 Mon Sep 17 00:00:00 2001 From: Duion Date: Wed, 13 Jan 2016 02:27:42 +0100 Subject: [PATCH] Dedicated server fixes I think --- .../source/platformSDL/menus/menuBarSDL.cpp | 20 +++++++------ Tools/CMake/modules/module_dedicated.cmake | 29 +++++++++++++++++++ Tools/CMake/torque3d.cmake | 1 - 3 files changed, 40 insertions(+), 10 deletions(-) create mode 100644 Tools/CMake/modules/module_dedicated.cmake diff --git a/Engine/source/platformSDL/menus/menuBarSDL.cpp b/Engine/source/platformSDL/menus/menuBarSDL.cpp index 211f7bb07..4ea5a4ddf 100644 --- a/Engine/source/platformSDL/menus/menuBarSDL.cpp +++ b/Engine/source/platformSDL/menus/menuBarSDL.cpp @@ -39,7 +39,7 @@ // class PlatformMenuBarData // { -// +// // }; Map PlatformPopupMenuData::mMenuMap; @@ -91,8 +91,8 @@ GuiPlatformGenericMenuBar* _FindMenuBarCtrl() GuiControl* control; Sim::findObject("PlatformGenericMenubar", control); AssertFatal(control, ""); - if( !control ) - return NULL; + if( !control ) + return NULL; GuiPlatformGenericMenuBar* menuBar; menuBar = dynamic_cast( control->findObjectByInternalName( StringTable->insert("menubar"), true) ); @@ -104,7 +104,7 @@ GuiPlatformGenericMenuBar* _FindMenuBarCtrl() void MenuBar::updateMenuBar(PopupMenu *popupMenu /* = NULL */) { //if(! isAttachedToCanvas()) - // return; + // return; if(!popupMenu) return; @@ -156,7 +156,7 @@ void MenuBar::attachToCanvas(GuiCanvas *owner, S32 pos) mCanvas = owner; PlatformWindowSDL *pWindow = dynamic_cast(owner->getPlatformWindow()); - if(pWindow == NULL) + if(pWindow == NULL) return; // Setup the native menu bar @@ -168,15 +168,15 @@ void MenuBar::attachToCanvas(GuiCanvas *owner, S32 pos) { pWindow->setMenuHandle( hWindowMenu ); GuiControl *base = hWindowMenu->getParent(); - + while( base->getParent() ) { base = base->getParent(); - } + } mCanvas->setMenuBar( base ); } - +#ifndef TORQUE_DEDICATED for (S32 i = 0; i < size(); ++i) { PopupMenu *mnu = dynamic_cast(at(i)); @@ -191,7 +191,7 @@ void MenuBar::attachToCanvas(GuiCanvas *owner, S32 pos) mnu->attachToMenuBar(owner, pos + i); } - +#endif } void MenuBar::removeFromCanvas() @@ -201,6 +201,7 @@ void MenuBar::removeFromCanvas() //_FindMenuBarCtrl()->clearMenus(); +#ifndef TORQUE_DEDICATED // Add the items for (S32 i = 0; i < size(); ++i) { @@ -215,6 +216,7 @@ void MenuBar::removeFromCanvas() } mCanvas->setMenuBar(NULL); +#endif mCanvas = NULL; } diff --git a/Tools/CMake/modules/module_dedicated.cmake b/Tools/CMake/modules/module_dedicated.cmake new file mode 100644 index 000000000..1c2a99d5f --- /dev/null +++ b/Tools/CMake/modules/module_dedicated.cmake @@ -0,0 +1,29 @@ +# ----------------------------------------------------------------------------- +# Copyright (c) 2014 GarageGames, LLC +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# ----------------------------------------------------------------------------- + +option(TORQUE_DEDICATED "Dedicated Server" OFF) +mark_as_advanced(TORQUE_DEDICATED) + +if(TORQUE_DEDICATED) + # Project defines + addDef( "TORQUE_DEDICATED" ) +endif() diff --git a/Tools/CMake/torque3d.cmake b/Tools/CMake/torque3d.cmake index 14d4873b1..341550e23 100644 --- a/Tools/CMake/torque3d.cmake +++ b/Tools/CMake/torque3d.cmake @@ -80,7 +80,6 @@ if(WIN32) #mark_as_advanced(TORQUE_OPENGL) else() set(TORQUE_OPENGL ON) # we need OpenGL to render on Linux/Mac - option(TORQUE_DEDICATED "Torque dedicated" OFF) endif() ###############################################################################