Dedicated server fixes I think

This commit is contained in:
Duion 2016-01-13 02:27:42 +01:00
parent aa6d9b8ec2
commit b37bbf2d05
3 changed files with 40 additions and 10 deletions

View file

@ -39,7 +39,7 @@
// class PlatformMenuBarData // class PlatformMenuBarData
// { // {
// //
// }; // };
Map<GuiMenuBar::Menu*, PopupMenu*> PlatformPopupMenuData::mMenuMap; Map<GuiMenuBar::Menu*, PopupMenu*> PlatformPopupMenuData::mMenuMap;
@ -91,8 +91,8 @@ GuiPlatformGenericMenuBar* _FindMenuBarCtrl()
GuiControl* control; GuiControl* control;
Sim::findObject("PlatformGenericMenubar", control); Sim::findObject("PlatformGenericMenubar", control);
AssertFatal(control, ""); AssertFatal(control, "");
if( !control ) if( !control )
return NULL; return NULL;
GuiPlatformGenericMenuBar* menuBar; GuiPlatformGenericMenuBar* menuBar;
menuBar = dynamic_cast<GuiPlatformGenericMenuBar*>( control->findObjectByInternalName( StringTable->insert("menubar"), true) ); menuBar = dynamic_cast<GuiPlatformGenericMenuBar*>( control->findObjectByInternalName( StringTable->insert("menubar"), true) );
@ -104,7 +104,7 @@ GuiPlatformGenericMenuBar* _FindMenuBarCtrl()
void MenuBar::updateMenuBar(PopupMenu *popupMenu /* = NULL */) void MenuBar::updateMenuBar(PopupMenu *popupMenu /* = NULL */)
{ {
//if(! isAttachedToCanvas()) //if(! isAttachedToCanvas())
// return; // return;
if(!popupMenu) if(!popupMenu)
return; return;
@ -156,7 +156,7 @@ void MenuBar::attachToCanvas(GuiCanvas *owner, S32 pos)
mCanvas = owner; mCanvas = owner;
PlatformWindowSDL *pWindow = dynamic_cast<PlatformWindowSDL*>(owner->getPlatformWindow()); PlatformWindowSDL *pWindow = dynamic_cast<PlatformWindowSDL*>(owner->getPlatformWindow());
if(pWindow == NULL) if(pWindow == NULL)
return; return;
// Setup the native menu bar // Setup the native menu bar
@ -168,15 +168,15 @@ void MenuBar::attachToCanvas(GuiCanvas *owner, S32 pos)
{ {
pWindow->setMenuHandle( hWindowMenu ); pWindow->setMenuHandle( hWindowMenu );
GuiControl *base = hWindowMenu->getParent(); GuiControl *base = hWindowMenu->getParent();
while( base->getParent() ) while( base->getParent() )
{ {
base = base->getParent(); base = base->getParent();
} }
mCanvas->setMenuBar( base ); mCanvas->setMenuBar( base );
} }
#ifndef TORQUE_DEDICATED
for (S32 i = 0; i < size(); ++i) for (S32 i = 0; i < size(); ++i)
{ {
PopupMenu *mnu = dynamic_cast<PopupMenu *>(at(i)); PopupMenu *mnu = dynamic_cast<PopupMenu *>(at(i));
@ -191,7 +191,7 @@ void MenuBar::attachToCanvas(GuiCanvas *owner, S32 pos)
mnu->attachToMenuBar(owner, pos + i); mnu->attachToMenuBar(owner, pos + i);
} }
#endif
} }
void MenuBar::removeFromCanvas() void MenuBar::removeFromCanvas()
@ -201,6 +201,7 @@ void MenuBar::removeFromCanvas()
//_FindMenuBarCtrl()->clearMenus(); //_FindMenuBarCtrl()->clearMenus();
#ifndef TORQUE_DEDICATED
// Add the items // Add the items
for (S32 i = 0; i < size(); ++i) for (S32 i = 0; i < size(); ++i)
{ {
@ -215,6 +216,7 @@ void MenuBar::removeFromCanvas()
} }
mCanvas->setMenuBar(NULL); mCanvas->setMenuBar(NULL);
#endif
mCanvas = NULL; mCanvas = NULL;
} }

View file

@ -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()

View file

@ -80,7 +80,6 @@ if(WIN32)
#mark_as_advanced(TORQUE_OPENGL) #mark_as_advanced(TORQUE_OPENGL)
else() else()
set(TORQUE_OPENGL ON) # we need OpenGL to render on Linux/Mac set(TORQUE_OPENGL ON) # we need OpenGL to render on Linux/Mac
option(TORQUE_DEDICATED "Torque dedicated" OFF)
endif() endif()
############################################################################### ###############################################################################