forked from Mirrors/openclonk
Linux: Add CMake support
CMake produces a config.h which defines the macros as empty strings instead of 1, so some #ifs have to be adapted.stable-5.2
parent
cc34bdc07c
commit
fc7d8425ba
117
CMakeLists.txt
117
CMakeLists.txt
|
@ -1,7 +1,11 @@
|
|||
cmake_minimum_required (VERSION 2.6)
|
||||
project (clonk CXX C)
|
||||
|
||||
add_executable(clonk
|
||||
if(WIN32)
|
||||
SET(additional_clonk_sources engine/src/C4FileClasses.cpp engine/res/engine.rc engine/res/resource.h)
|
||||
endif()
|
||||
add_executable(clonk WIN32 MACOSX_BUNDLE
|
||||
${additional_clonk_sources}
|
||||
engine/src/C4AList.cpp
|
||||
engine/src/C4Action.cpp
|
||||
engine/src/C4Application.cpp
|
||||
|
@ -318,10 +322,6 @@ add_executable(clonk
|
|||
engine/res/Play.h
|
||||
engine/res/Rect.h
|
||||
engine/res/Static.h
|
||||
|
||||
engine/src/C4FileClasses.cpp
|
||||
engine/res/engine.rc
|
||||
engine/res/resource.h
|
||||
)
|
||||
|
||||
add_executable(c4group
|
||||
|
@ -348,7 +348,33 @@ add_executable(c4group
|
|||
standard/zlib/zutil.h
|
||||
)
|
||||
|
||||
if(WIN32)
|
||||
SET(additional_system_sources
|
||||
standard/src/StdWindow.cpp
|
||||
standard/src/StdJoystick.cpp
|
||||
standard/inc/StdJoystick.h
|
||||
)
|
||||
elseif(USE_SDL)
|
||||
SET(additional_system_sources
|
||||
standard/src/StdSDLApp.cpp
|
||||
standard/src/StdSDLWindow.cpp
|
||||
)
|
||||
elseif(USE_X11)
|
||||
SET(additional_system_sources
|
||||
standard/src/StdXApp.cpp
|
||||
standard/src/StdXWindow.cpp
|
||||
standard/src/StdXPrivate.h
|
||||
)
|
||||
endif()
|
||||
if(USE_GTK)
|
||||
SET(additional_system_sources
|
||||
${additional_system_sources}
|
||||
standard/src/StdGtkWindow.cpp
|
||||
standard/inc/StdGtkWindow.h
|
||||
)
|
||||
endif()
|
||||
add_library(standard STATIC
|
||||
${additional_system_sources}
|
||||
standard/src/Bitmap256.cpp
|
||||
standard/src/CStdFile.cpp
|
||||
standard/src/Fixed.cpp
|
||||
|
@ -412,10 +438,6 @@ add_library(standard STATIC
|
|||
standard/inc/StdWindow.h
|
||||
standard/zlib/gzio.c
|
||||
standard/zlib/zutil.h
|
||||
|
||||
standard/src/StdWindow.cpp
|
||||
standard/src/StdJoystick.cpp
|
||||
standard/inc/StdJoystick.h
|
||||
)
|
||||
|
||||
include_directories(
|
||||
|
@ -424,6 +446,7 @@ include_directories(
|
|||
${CMAKE_CURRENT_SOURCE_DIR}/standard/inc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/engine/inc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/engine/sec
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/engine
|
||||
)
|
||||
target_link_libraries(clonk standard)
|
||||
|
||||
|
@ -439,14 +462,44 @@ CHECK_INCLUDE_FILE_CXX(stdint.h HAVE_STDINT_H)
|
|||
CHECK_INCLUDE_FILE_CXX(sys/stat.h HAVE_SYS_STAT_H)
|
||||
CHECK_INCLUDE_FILE_CXX(sys/types.h HAVE_SYS_TYPES_H)
|
||||
CHECK_INCLUDE_FILE_CXX(unistd.h HAVE_UNISTD_H)
|
||||
CHECK_INCLUDE_FILE_CXX(execinfo.h HAVE_EXECINFO_H)
|
||||
CHECK_INCLUDE_FILE_CXX(langinfo.h HAVE_LANGINFO_H)
|
||||
CHECK_INCLUDE_FILE_CXX(poll.h HAVE_POLL_H)
|
||||
CHECK_INCLUDE_FILE_CXX(sys/inotify.h HAVE_SYS_INOTIFY_H)
|
||||
CHECK_INCLUDE_FILE_CXX(sys/socket.h HAVE_SYS_SOCKET_H)
|
||||
CHECK_INCLUDE_FILE_CXX(X11/extensions/xf86vmode.h HAVE_X11_EXTENSIONS_XF86VMODE_H)
|
||||
CHECK_INCLUDE_FILE_CXX(X11/extensions/Xrandr.h HAVE_X11_EXTENSIONS_XRANDR_H)
|
||||
CHECK_INCLUDE_FILE_CXX(X11/keysym.h HAVE_X11_KEYSYM_H)
|
||||
CHECK_INCLUDE_FILE_CXX(X11/xpm.h HAVE_X11_XPM_H)
|
||||
CHECK_INCLUDE_FILE_CXX(iconv.h HAVE_ICONV)
|
||||
|
||||
if(HAVE_ICONV)
|
||||
SET(ICONV_CONST ON)
|
||||
endif()
|
||||
|
||||
include(CheckFunctionExists)
|
||||
CHECK_FUNCTION_EXISTS(vasprintf HAVE_VASPRINTF)
|
||||
|
||||
# User selectable options
|
||||
option(USE_GL "Enable OpenGL support" ON)
|
||||
if(APPLE)
|
||||
SET(INITIAL_USE_SDL_VALUE ON)
|
||||
else()
|
||||
SET(INITIAL_USE_SDL_VALUE OFF)
|
||||
endif()
|
||||
option(USE_SDL "Use SDL to create windows etc." ${INITIAL_USE_SDL_VALUE})
|
||||
if(WIN32)
|
||||
option(USE_DIRECTX "Enable DirectX support" ON)
|
||||
else()
|
||||
SET(USE_DIRECTX OFF)
|
||||
endif()
|
||||
if(UNIX)
|
||||
option(USE_X11 "Use X11 to create windows etc." ON)
|
||||
option(USE_GTK "Use GTK for the developer mode" ON)
|
||||
else()
|
||||
SET(USE_X11 OFF)
|
||||
SET(USE_GTK OFF)
|
||||
endif()
|
||||
if(NOT USE_GL AND NOT USE_DIRECTX)
|
||||
message(STATUS "No graphics display enabled; building dedicated server")
|
||||
SET(USE_CONSOLE ON CACHE INTERNAL "Build dedicated server")
|
||||
|
@ -457,11 +510,13 @@ include(FindJPEG)
|
|||
include(FindPNG)
|
||||
include(FindZLIB)
|
||||
|
||||
include(FindThreads)
|
||||
SET(HAVE_PTHREAD ${CMAKE_USE_PTHREADS_INIT})
|
||||
|
||||
# isilkor 09-05-29: FindFreetype only checks for no-ver and 219
|
||||
find_library(FREETYPE_LIBRARY NAMES freetype239)
|
||||
include(FindFreetype)
|
||||
include_directories(${FREETYPE_INCLUDE_DIRS})
|
||||
|
||||
SET(HAVE_FREETYPE ${FREETYPE_FOUND} CACHE INTERNAL "Rename of FREETYPE_FOUND for config.h")
|
||||
|
||||
# FINDLIB works the same as find_library, but also marks the resulting var as
|
||||
|
@ -470,9 +525,6 @@ macro(FINDLIB lib)
|
|||
find_library(${ARGV})
|
||||
mark_as_advanced(${lib})
|
||||
endmacro(FINDLIB)
|
||||
FINDLIB(VFW vfw32)
|
||||
FINDLIB(WS2 ws2_32)
|
||||
FINDLIB(WINMM winmm)
|
||||
# isilkor 09-05-29: Don't use FindOpenSSL, because that wants to link to ssleay
|
||||
FINDLIB(OPENSSL NAMES crypto libeay32)
|
||||
|
||||
|
@ -485,6 +537,38 @@ if(USE_DIRECTX)
|
|||
FINDLIB(DIRECT3D d3d9)
|
||||
FINDLIB(DIRECT3DX d3dx9)
|
||||
endif()
|
||||
if(USE_GTK)
|
||||
include(FindPkgConfig)
|
||||
if (PKG_CONFIG_FOUND)
|
||||
pkg_check_modules(GTK glib-2.0>=2.4 gtk+-2.0>=2.4)
|
||||
endif()
|
||||
if(GTK_FOUND)
|
||||
include_directories(${GTK_INCLUDE_DIRS})
|
||||
link_directories(${GTK_LIBRARY_DIRS})
|
||||
SET(WITH_DEVELOPER_MODE ${GTK_FOUND})
|
||||
SET(WITH_GLIB ${GTK_FOUND})
|
||||
endif()
|
||||
endif()
|
||||
if(USE_X11)
|
||||
FINDLIB(X11 X11)
|
||||
FINDLIB(XPM Xpm)
|
||||
FINDLIB(XXF86VM Xxf86vm)
|
||||
FINDLIB(XRANDR Xrandr)
|
||||
endif()
|
||||
if (WIN32)
|
||||
FINDLIB(VFW vfw32)
|
||||
FINDLIB(WS2 ws2_32)
|
||||
FINDLIB(WINMM winmm)
|
||||
endif()
|
||||
if (UNIX)
|
||||
include(FindSDL)
|
||||
SET(HAVE_SDL ${SDL_FOUND})
|
||||
if(SDL_FOUND)
|
||||
include_directories(${SDL_INCLUDE_DIR})
|
||||
FINDLIB(SDLMIXER SDL_mixer)
|
||||
SET(HAVE_LIBSDL_MIXER ${SDLMIXER})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
target_link_libraries(clonk
|
||||
${FREETYPE_LIBRARIES}
|
||||
|
@ -498,6 +582,13 @@ target_link_libraries(clonk
|
|||
${PNG_LIBRARIES}
|
||||
${JPEG_LIBRARIES}
|
||||
${OPENSSL}
|
||||
${GTK_LIBRARIES}
|
||||
${X11}
|
||||
${XPM}
|
||||
${XXF86VM}
|
||||
${XRANDR}
|
||||
${SDL_LIBRARY}
|
||||
${SDLMIXER}
|
||||
)
|
||||
target_link_libraries(c4group
|
||||
${ZLIB_LIBRARIES}
|
||||
|
|
|
@ -19,6 +19,8 @@
|
|||
#ifndef INC_C4KeyboardInput
|
||||
#define INC_C4KeyboardInput
|
||||
|
||||
#include <cctype>
|
||||
|
||||
// key context classifications
|
||||
enum C4KeyScope
|
||||
{
|
||||
|
|
|
@ -49,11 +49,7 @@ namespace {
|
|||
#endif
|
||||
#endif // _WIN32
|
||||
|
||||
#ifndef WITH_DEVELOPER_MODE
|
||||
#define WITH_DEVELOPER_MODE 0
|
||||
#endif
|
||||
|
||||
#if WITH_DEVELOPER_MODE
|
||||
#ifdef WITH_DEVELOPER_MODE
|
||||
# include <gdk/gdkcursor.h>
|
||||
# include <gdk/gdkx.h>
|
||||
# include <gtk/gtkstock.h>
|
||||
|
@ -126,7 +122,7 @@ C4Console::C4Console()
|
|||
hbmPlay2=NULL;
|
||||
hbmHalt=NULL;
|
||||
hbmHalt2=NULL;
|
||||
#elif WITH_DEVELOPER_MODE
|
||||
#elif defined(WITH_DEVELOPER_MODE)
|
||||
cursorDefault = NULL;
|
||||
cursorWait = NULL;
|
||||
itemNet = NULL;
|
||||
|
@ -153,7 +149,7 @@ C4Console::~C4Console()
|
|||
if (hbmPlay2) DeleteObject(hbmPlay2);
|
||||
if (hbmHalt) DeleteObject(hbmHalt);
|
||||
if (hbmHalt2) DeleteObject(hbmHalt2);
|
||||
#elif WITH_DEVELOPER_MODE
|
||||
#elif defined(WITH_DEVELOPER_MODE)
|
||||
if(cursorDefault) gdk_cursor_unref(cursorDefault);
|
||||
if(cursorWait) gdk_cursor_unref(cursorWait);
|
||||
#endif // WITH_DEVELOPER_MODE / _WIN32
|
||||
|
@ -295,7 +291,7 @@ BOOL CALLBACK ConsoleDlgProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam)
|
|||
|
||||
return FALSE;
|
||||
}
|
||||
#elif defined(USE_X11) && !WITH_DEVELOPER_MODE
|
||||
#elif defined(USE_X11) && !defined(WITH_DEVELOPER_MODE)
|
||||
void C4Console::HandleMessage (XEvent & e)
|
||||
{
|
||||
// Parent handling
|
||||
|
@ -368,7 +364,7 @@ CStdWindow * C4Console::Init(CStdApp * pApp)
|
|||
ShowCursor(TRUE);
|
||||
// Success
|
||||
return this;
|
||||
#elif WITH_DEVELOPER_MODE
|
||||
#elif defined(WITH_DEVELOPER_MODE)
|
||||
cursorWait = gdk_cursor_new(GDK_WATCH);
|
||||
cursorDefault = gdk_cursor_new(GDK_ARROW);
|
||||
|
||||
|
@ -383,7 +379,7 @@ CStdWindow * C4Console::Init(CStdApp * pApp)
|
|||
#endif // WITH_DEVELOPER_MODE / _WIN32
|
||||
}
|
||||
|
||||
#if WITH_DEVELOPER_MODE
|
||||
#ifdef WITH_DEVELOPER_MODE
|
||||
GtkWidget* C4Console::InitGUI()
|
||||
{
|
||||
// ------------ Play/Pause and Mode ---------------------
|
||||
|
@ -628,7 +624,7 @@ bool C4Console::Out(const char *szText)
|
|||
lines = SendDlgItemMessage(hWindow,IDC_EDITOUTPUT,EM_GETLINECOUNT,(WPARAM)0,(LPARAM)0);
|
||||
SendDlgItemMessage(hWindow,IDC_EDITOUTPUT,EM_LINESCROLL,(WPARAM)0,(LPARAM)lines);
|
||||
UpdateWindow(hWindow);
|
||||
#elif WITH_DEVELOPER_MODE
|
||||
#elif defined(WITH_DEVELOPER_MODE)
|
||||
// Append text to log
|
||||
if(!window) return true;
|
||||
|
||||
|
@ -654,7 +650,7 @@ bool C4Console::ClearLog()
|
|||
SetDlgItemText(hWindow,IDC_EDITOUTPUT,"");
|
||||
SendDlgItemMessage(hWindow,IDC_EDITOUTPUT,EM_LINESCROLL,(WPARAM)0,0);
|
||||
UpdateWindow(hWindow);
|
||||
#elif WITH_DEVELOPER_MODE
|
||||
#elif defined(WITH_DEVELOPER_MODE)
|
||||
gtk_text_buffer_set_text(gtk_text_view_get_buffer(GTK_TEXT_VIEW(txtLog)), "", 0);
|
||||
#endif // WITH_DEVELOPER_MODE / _WIN32
|
||||
return true;
|
||||
|
@ -687,7 +683,7 @@ bool C4Console::UpdateStatusBars()
|
|||
#ifdef _WIN32
|
||||
SetDlgItemText(hWindow,IDC_STATICFRAME,str.getData());
|
||||
UpdateWindow(GetDlgItem(hWindow,IDC_STATICFRAME));
|
||||
#elif WITH_DEVELOPER_MODE
|
||||
#elif defined(WITH_DEVELOPER_MODE)
|
||||
gtk_label_set_label(GTK_LABEL(lblFrame), str.getData());
|
||||
#endif // WITH_DEVELOPER_MODE / _WIN32
|
||||
}
|
||||
|
@ -700,7 +696,7 @@ bool C4Console::UpdateStatusBars()
|
|||
#ifdef _WIN32
|
||||
SetDlgItemText(hWindow,IDC_STATICSCRIPT,str.getData());
|
||||
UpdateWindow(GetDlgItem(hWindow,IDC_STATICSCRIPT));
|
||||
#elif WITH_DEVELOPER_MODE
|
||||
#elif defined(WITH_DEVELOPER_MODE)
|
||||
gtk_label_set_label(GTK_LABEL(lblScript), str.getData());
|
||||
#endif // WITH_DEVELOPER_MODE / _WIN32
|
||||
}
|
||||
|
@ -714,7 +710,7 @@ bool C4Console::UpdateStatusBars()
|
|||
#ifdef _WIN32
|
||||
SetDlgItemText(hWindow,IDC_STATICTIME,str.getData());
|
||||
UpdateWindow(GetDlgItem(hWindow,IDC_STATICTIME));
|
||||
#elif WITH_DEVELOPER_MODE
|
||||
#elif defined(WITH_DEVELOPER_MODE)
|
||||
gtk_label_set_label(GTK_LABEL(lblTime), str.getData());
|
||||
#endif // WITH_DEVELOPER_MODE
|
||||
}
|
||||
|
@ -729,7 +725,7 @@ bool C4Console::UpdateHaltCtrls(bool fHalt)
|
|||
UpdateWindow(GetDlgItem(hWindow,IDC_BUTTONPLAY));
|
||||
SendDlgItemMessage(hWindow,IDC_BUTTONHALT,BM_SETSTATE,fHalt,0);
|
||||
UpdateWindow(GetDlgItem(hWindow,IDC_BUTTONHALT));
|
||||
#elif WITH_DEVELOPER_MODE
|
||||
#elif defined(WITH_DEVELOPER_MODE)
|
||||
// Prevents recursion
|
||||
g_signal_handler_block(btnPlay, handlerPlay);
|
||||
g_signal_handler_block(btnHalt, handlerHalt);
|
||||
|
@ -767,7 +763,7 @@ BOOL C4Console::SaveGame(BOOL fSaveGame)
|
|||
BOOL fOkay=TRUE;
|
||||
#ifdef _WIN32
|
||||
SetCursor(LoadCursor(0,IDC_WAIT));
|
||||
#elif WITH_DEVELOPER_MODE
|
||||
#elif defined(WITH_DEVELOPER_MODE)
|
||||
// Seems not to work. Don't know why...
|
||||
gdk_window_set_cursor(window->window, cursorWait);
|
||||
#endif
|
||||
|
@ -789,7 +785,7 @@ BOOL C4Console::SaveGame(BOOL fSaveGame)
|
|||
|
||||
#ifdef _WIN32
|
||||
SetCursor(LoadCursor(0,IDC_ARROW));
|
||||
#elif WITH_DEVELOPER_MODE
|
||||
#elif defined(WITH_DEVELOPER_MODE)
|
||||
gdk_window_set_cursor(window->window, NULL);
|
||||
#endif
|
||||
|
||||
|
@ -857,7 +853,7 @@ bool C4Console::Message(const char *szMessage, bool fQuery)
|
|||
if (!Active) return FALSE;
|
||||
#ifdef _WIN32
|
||||
return (IDOK==MessageBox(hWindow,szMessage,C4ENGINECAPTION,fQuery ? (MB_OKCANCEL | MB_ICONEXCLAMATION) : MB_ICONEXCLAMATION));
|
||||
#elif WITH_DEVELOPER_MODE
|
||||
#elif defined(WITH_DEVELOPER_MODE)
|
||||
GtkWidget* dialog = gtk_message_dialog_new(GTK_WINDOW(window), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, fQuery ? (GTK_BUTTONS_OK_CANCEL) : (GTK_BUTTONS_OK), "%s", szMessage);
|
||||
int response = gtk_dialog_run(GTK_DIALOG(dialog));
|
||||
gtk_widget_destroy(dialog);
|
||||
|
@ -914,7 +910,7 @@ void C4Console::EnableControls(bool fEnable)
|
|||
// Player & viewport menu
|
||||
EnableMenuItem(GetMenu(hWindow),IDM_PLAYER_JOIN, MF_BYCOMMAND | ((fEnable && Editing) ? MF_ENABLED : MF_GRAYED));
|
||||
EnableMenuItem(GetMenu(hWindow),IDM_VIEWPORT_NEW, MF_BYCOMMAND | (fEnable ? MF_ENABLED : MF_GRAYED));
|
||||
#elif WITH_DEVELOPER_MODE
|
||||
#elif defined(WITH_DEVELOPER_MODE)
|
||||
// Halt controls
|
||||
gtk_widget_set_sensitive(btnPlay, Game.Network.isLobbyActive() || fEnable);
|
||||
gtk_widget_set_sensitive(btnHalt, Game.Network.isLobbyActive() || fEnable);
|
||||
|
@ -1029,7 +1025,7 @@ BOOL C4Console::FileSelect(char *sFilename, int iSize, const char * szFilter, DW
|
|||
// Reset working directory to exe path as Windows file dialog might have changed it
|
||||
SetCurrentDirectory(Config.General.ExePath);
|
||||
return fResult;
|
||||
#elif WITH_DEVELOPER_MODE
|
||||
#elif defined(WITH_DEVELOPER_MODE)
|
||||
GtkWidget* dialog = gtk_file_chooser_dialog_new(fSave ? "Save file..." : "Load file...", GTK_WINDOW(window), fSave ? GTK_FILE_CHOOSER_ACTION_SAVE : GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, fSave ? GTK_STOCK_SAVE : GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL);
|
||||
|
||||
// TODO: Set dialog modal?
|
||||
|
@ -1161,7 +1157,7 @@ BOOL C4Console::FileRecord()
|
|||
// disable menuitem
|
||||
#ifdef _WIN32
|
||||
EnableMenuItem(GetMenu(hWindow),IDM_FILE_RECORD, MF_BYCOMMAND | MF_GRAYED);
|
||||
#elif WITH_DEVELOPER_MODE
|
||||
#elif defined(WITH_DEVELOPER_MODE)
|
||||
gtk_widget_set_sensitive(fileRecord, false);
|
||||
#endif
|
||||
return TRUE;
|
||||
|
@ -1184,7 +1180,7 @@ void C4Console::Clear()
|
|||
{
|
||||
C4ConsoleBase::Clear();
|
||||
|
||||
#if WITH_DEVELOPER_MODE
|
||||
#ifdef WITH_DEVELOPER_MODE
|
||||
// txtLog = NULL;
|
||||
// txtScript = NULL;
|
||||
// btnPlay = NULL;
|
||||
|
@ -1219,7 +1215,7 @@ void C4Console::HelpAbout()
|
|||
#ifdef _WIN32
|
||||
StdStrBuf strMessage; strMessage.Format("%s %s\n\n%s", C4ENGINECAPTION, C4VERSION, strCopyright.getData());
|
||||
MessageBox(NULL, strMessage.getData(), C4ENGINECAPTION, MB_ICONINFORMATION | MB_TASKMODAL);
|
||||
#elif WITH_DEVELOPER_MODE
|
||||
#elif defined(WITH_DEVELOPER_MODE)
|
||||
gtk_show_about_dialog(GTK_WINDOW(window), "name", C4ENGINECAPTION, "version", C4VERSION, "copyright", strCopyright.getData(), NULL);
|
||||
#endif // WITH_DEVELOPER_MODE / _WIN32
|
||||
}
|
||||
|
@ -1236,7 +1232,7 @@ bool C4Console::UpdateCursorBar(const char *szCursor)
|
|||
// Cursor
|
||||
SetDlgItemText(hWindow,IDC_STATICCURSOR,szCursor);
|
||||
UpdateWindow(GetDlgItem(hWindow,IDC_STATICCURSOR));
|
||||
#elif WITH_DEVELOPER_MODE
|
||||
#elif defined(WITH_DEVELOPER_MODE)
|
||||
gtk_label_set_label(GTK_LABEL(lblCursor), Languages.IconvUtf8(szCursor).getData());
|
||||
#endif
|
||||
return TRUE;
|
||||
|
@ -1255,7 +1251,7 @@ bool C4Console::UpdateViewportMenu()
|
|||
sText.Format(LoadResStr("IDS_CNS_NEWPLRVIEWPORT"),pPlr->GetName());
|
||||
#ifdef _WIN32
|
||||
AddMenuItem(hMenu,IDM_VIEWPORT_NEW1+pPlr->Number,sText.getData());
|
||||
#elif WITH_DEVELOPER_MODE
|
||||
#elif defined(WITH_DEVELOPER_MODE)
|
||||
GtkWidget* menuItem = gtk_menu_item_new_with_label(Languages.IconvUtf8(sText.getData()).getData());
|
||||
gtk_menu_shell_append(GTK_MENU_SHELL(menuViewport), menuItem);
|
||||
g_signal_connect(G_OBJECT(menuItem), "activate", G_CALLBACK(OnViewNewPlr), GINT_TO_POINTER(pPlr->Number));
|
||||
|
@ -1271,7 +1267,7 @@ void C4Console::ClearViewportMenu()
|
|||
#ifdef _WIN32
|
||||
HMENU hMenu = GetSubMenu(GetMenu(hWindow),MenuIndexViewport);
|
||||
while (DeleteMenu(hMenu,1,MF_BYPOSITION));
|
||||
#elif WITH_DEVELOPER_MODE
|
||||
#elif defined(WITH_DEVELOPER_MODE)
|
||||
GList* children = gtk_container_get_children(GTK_CONTAINER(menuViewport));
|
||||
for(GList* item = children; item != NULL; item = item->next)
|
||||
{
|
||||
|
@ -1310,7 +1306,7 @@ bool C4Console::UpdateModeCtrls(int iMode)
|
|||
UpdateWindow(GetDlgItem(hWindow,IDC_BUTTONMODEEDIT));
|
||||
SendDlgItemMessage(hWindow,IDC_BUTTONMODEDRAW,BM_SETSTATE,(iMode==C4CNS_ModeDraw),0);
|
||||
UpdateWindow(GetDlgItem(hWindow,IDC_BUTTONMODEDRAW));
|
||||
#elif WITH_DEVELOPER_MODE
|
||||
#elif defined(WITH_DEVELOPER_MODE)
|
||||
// Prevents recursion
|
||||
g_signal_handler_block(btnModePlay, handlerModePlay);
|
||||
g_signal_handler_block(btnModeEdit, handlerModeEdit);
|
||||
|
@ -1359,7 +1355,7 @@ void C4Console::UpdateInputCtrl()
|
|||
HWND hCombo = GetDlgItem(hWindow,IDC_COMBOINPUT);
|
||||
// Clear
|
||||
SendMessage(hCombo,CB_RESETCONTENT,0,0);
|
||||
#elif WITH_DEVELOPER_MODE
|
||||
#elif defined(WITH_DEVELOPER_MODE)
|
||||
GtkEntryCompletion* completion = gtk_entry_get_completion(GTK_ENTRY(txtScript));
|
||||
if(!completion)
|
||||
{
|
||||
|
@ -1384,7 +1380,7 @@ void C4Console::UpdateInputCtrl()
|
|||
#ifdef _WIN32
|
||||
SendMessage(hCombo,CB_ADDSTRING,0,(LPARAM)pFn->Name);
|
||||
#else
|
||||
#if WITH_DEVELOPER_MODE
|
||||
#ifdef WITH_DEVELOPER_MODE
|
||||
gtk_list_store_append(store, &iter);
|
||||
gtk_list_store_set(store, &iter, 0, pFn->Name, -1);
|
||||
#endif
|
||||
|
@ -1399,7 +1395,7 @@ void C4Console::UpdateInputCtrl()
|
|||
{
|
||||
#ifdef _WIN32
|
||||
SendMessage(hCombo,CB_INSERTSTRING,0,(LPARAM)pRef->Name);
|
||||
#elif WITH_DEVELOPER_MODE
|
||||
#elif defined(WITH_DEVELOPER_MODE)
|
||||
gtk_list_store_append(store, &iter);
|
||||
gtk_list_store_set(store, &iter, 0, pRef->Name, -1);
|
||||
#endif
|
||||
|
@ -1422,7 +1418,7 @@ bool C4Console::UpdatePlayerMenu()
|
|||
sText.Format(LoadResStr("IDS_CNS_PLRQUIT"),pPlr->GetName());
|
||||
#ifdef _WIN32
|
||||
AddMenuItem(hMenu,IDM_PLAYER_QUIT1+pPlr->Number,sText.getData(),(!Game.Network.isEnabled() || Game.Network.isHost()) && Editing);
|
||||
#elif WITH_DEVELOPER_MODE
|
||||
#elif defined(WITH_DEVELOPER_MODE)
|
||||
// TODO: Implement AddMenuItem...
|
||||
GtkWidget* menuItem = gtk_menu_item_new_with_label(Languages.IconvUtf8(sText.getData()).getData());
|
||||
gtk_menu_shell_append(GTK_MENU_SHELL(menuPlayer), menuItem);
|
||||
|
@ -1441,7 +1437,7 @@ void C4Console::ClearPlayerMenu()
|
|||
#ifdef _WIN32
|
||||
HMENU hMenu = GetSubMenu(GetMenu(hWindow),MenuIndexPlayer);
|
||||
while (DeleteMenu(hMenu,1,MF_BYPOSITION));
|
||||
#elif WITH_DEVELOPER_MODE
|
||||
#elif defined(WITH_DEVELOPER_MODE)
|
||||
GList* children = gtk_container_get_children(GTK_CONTAINER(menuPlayer));
|
||||
for(GList* item = children; item != NULL; item = item->next)
|
||||
{
|
||||
|
@ -1548,7 +1544,7 @@ void C4Console::UpdateNetMenu()
|
|||
// Insert menu
|
||||
#ifdef _WIN32
|
||||
if (!InsertMenu(GetMenu(hWindow),MenuIndexHelp,MF_BYPOSITION | MF_POPUP,(UINT)CreateMenu(),LoadResStr("IDS_MNU_NET"))) return;
|
||||
#elif WITH_DEVELOPER_MODE
|
||||
#elif defined(WITH_DEVELOPER_MODE)
|
||||
itemNet = gtk_menu_item_new_with_label(LoadResStrUtf8I("IDS_MNU_NET"));
|
||||
GtkWidget* menuNet = gtk_menu_new();
|
||||
gtk_menu_item_set_submenu(GTK_MENU_ITEM(itemNet), menuNet);
|
||||
|
@ -1568,7 +1564,7 @@ void C4Console::UpdateNetMenu()
|
|||
str.Format(LoadResStr("IDS_MNU_NETHOST"),Game.Clients.getLocalName(),Game.Clients.getLocalID());
|
||||
#ifdef _WIN32
|
||||
AddMenuItem(hMenu,IDM_NET_CLIENT1+Game.Clients.getLocalID(),str.getData());
|
||||
#elif WITH_DEVELOPER_MODE
|
||||
#elif defined(WITH_DEVELOPER_MODE)
|
||||
GtkWidget* item = gtk_menu_item_new_with_label(str.getData());
|
||||
gtk_menu_shell_append(GTK_MENU_SHELL(menuNet), item);
|
||||
g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(OnNetClient), GINT_TO_POINTER(Game.Clients.getLocalID()));
|
||||
|
@ -1580,13 +1576,13 @@ void C4Console::UpdateNetMenu()
|
|||
pClient->getName(), pClient->getID());
|
||||
#ifdef _WIN32
|
||||
AddMenuItem(hMenu,IDM_NET_CLIENT1+pClient->getID(), str.getData());
|
||||
#elif WITH_DEVELOPER_MODE
|
||||
#elif defined(WITH_DEVELOPER_MODE)
|
||||
item = gtk_menu_item_new_with_label(str.getData());
|
||||
gtk_menu_shell_append(GTK_MENU_SHELL(menuNet), item);
|
||||
g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(OnNetClient), GINT_TO_POINTER(pClient->getID()));
|
||||
#endif
|
||||
}
|
||||
#if WITH_DEVELOPER_MODE
|
||||
#ifdef WITH_DEVELOPER_MODE
|
||||
gtk_widget_show_all(itemNet);
|
||||
#endif
|
||||
return;
|
||||
|
@ -1598,7 +1594,7 @@ void C4Console::ClearNetMenu()
|
|||
if (MenuIndexNet<0) return;
|
||||
#ifdef _WIN32
|
||||
DeleteMenu(GetMenu(hWindow),MenuIndexNet,MF_BYPOSITION);
|
||||
#elif WITH_DEVELOPER_MODE
|
||||
#elif defined(WITH_DEVELOPER_MODE)
|
||||
gtk_container_remove(GTK_CONTAINER(menuBar), itemNet);
|
||||
itemNet = NULL;
|
||||
#endif
|
||||
|
@ -1686,7 +1682,7 @@ bool C4Console::TogglePause()
|
|||
}
|
||||
|
||||
// GTK+ callbacks
|
||||
#if WITH_DEVELOPER_MODE
|
||||
#ifdef WITH_DEVELOPER_MODE
|
||||
void C4Console::OnScriptEntry(GtkWidget* entry, gpointer data)
|
||||
{
|
||||
C4Console* console = static_cast<C4Console*>(data);
|
||||
|
|
|
@ -390,7 +390,7 @@ void C4PropertyDlg::UpdateInputCtrl(C4Object *pObj)
|
|||
#ifdef _WIN32
|
||||
// Restore old text
|
||||
SetWindowText(hCombo,szLastText);
|
||||
#elif WITH_DEVELOPER_MODE
|
||||
#elif defined(WITH_DEVELOPER_MODE)
|
||||
// Reassociate list store with completion
|
||||
gtk_entry_completion_set_model(completion, GTK_TREE_MODEL(store));
|
||||
#endif
|
||||
|
|
|
@ -208,7 +208,7 @@ private:
|
|||
bool fThread;
|
||||
#ifdef HAVE_WINTHREAD
|
||||
unsigned long iThread;
|
||||
#elif HAVE_PTHREAD
|
||||
#elif defined(HAVE_PTHREAD)
|
||||
pthread_t Thread;
|
||||
#endif
|
||||
|
||||
|
@ -241,7 +241,7 @@ private:
|
|||
|
||||
#ifdef HAVE_WINTHREAD
|
||||
unsigned long iThread;
|
||||
#elif HAVE_PTHREAD
|
||||
#elif defined(HAVE_PTHREAD)
|
||||
pthread_t Thread;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -357,7 +357,7 @@ bool StdSchedulerThread::Start()
|
|||
#ifdef HAVE_WINTHREAD
|
||||
iThread = _beginthread(_ThreadFunc, 0, this);
|
||||
fThread = (iThread != -1);
|
||||
#elif HAVE_PTHREAD
|
||||
#elif defined(HAVE_PTHREAD)
|
||||
fThread = !pthread_create(&Thread, NULL, _ThreadFunc, this);
|
||||
#endif
|
||||
// success?
|
||||
|
@ -378,7 +378,7 @@ void StdSchedulerThread::Stop()
|
|||
if(WaitForSingleObject(hThread, 10000) == WAIT_TIMEOUT)
|
||||
// ... or kill it in case it refuses to do so
|
||||
TerminateThread(hThread, -1);
|
||||
#elif HAVE_PTHREAD
|
||||
#elif defined(HAVE_PTHREAD)
|
||||
// wait for thread to terminate itself
|
||||
// (without security - let's trust these unwashed hackers for once)
|
||||
pthread_join(Thread, NULL);
|
||||
|
@ -394,7 +394,7 @@ void __cdecl StdSchedulerThread::_ThreadFunc(void *pPar)
|
|||
StdSchedulerThread *pThread = reinterpret_cast<StdSchedulerThread *>(pPar);
|
||||
_endthreadex(pThread->ThreadFunc());
|
||||
}
|
||||
#elif HAVE_PTHREAD
|
||||
#elif defined(HAVE_PTHREAD)
|
||||
void *StdSchedulerThread::_ThreadFunc(void *pPar)
|
||||
{
|
||||
StdSchedulerThread *pThread = reinterpret_cast<StdSchedulerThread *>(pPar);
|
||||
|
@ -426,7 +426,7 @@ bool StdThread::Start()
|
|||
#ifdef HAVE_WINTHREAD
|
||||
iThread = _beginthread(_ThreadFunc, 0, this);
|
||||
fStarted = (iThread != -1);
|
||||
#elif HAVE_PTHREAD
|
||||
#elif defined(HAVE_PTHREAD)
|
||||
fStarted = !pthread_create(&Thread, NULL, _ThreadFunc, this);
|
||||
#endif
|
||||
// success?
|
||||
|
@ -453,7 +453,7 @@ void StdThread::Stop()
|
|||
if(WaitForSingleObject(hThread, 10000) == WAIT_TIMEOUT)
|
||||
// ... or kill him in case he refuses to do so
|
||||
TerminateThread(hThread, -1);
|
||||
#elif HAVE_PTHREAD
|
||||
#elif defined(HAVE_PTHREAD)
|
||||
// wait for thread to terminate itself
|
||||
// (whithout security - let's trust these unwashed hackers for once)
|
||||
pthread_join(Thread, NULL);
|
||||
|
@ -469,7 +469,7 @@ void __cdecl StdThread::_ThreadFunc(void *pPar)
|
|||
StdThread *pThread = reinterpret_cast<StdThread *>(pPar);
|
||||
_endthreadex(pThread->ThreadFunc());
|
||||
}
|
||||
#elif HAVE_PTHREAD
|
||||
#elif defined(HAVE_PTHREAD)
|
||||
void *StdThread::_ThreadFunc(void *pPar)
|
||||
{
|
||||
StdThread *pThread = reinterpret_cast<StdThread *>(pPar);
|
||||
|
|
Loading…
Reference in New Issue