diff --git a/CMakeLists.txt b/CMakeLists.txt index 3272dcdf..30fe1c22 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,3 +3,8 @@ add_subdirectory(common) add_subdirectory(servatrice) add_subdirectory(cockatrice) add_subdirectory(oracle) + +FILE(GLOB sounds "${CMAKE_CURRENT_SOURCE_DIR}/sounds/*.raw") +INSTALL(FILES ${sounds} DESTINATION share/cockatrice/sounds) +FILE(GLOB zonebg "${CMAKE_CURRENT_SOURCE_DIR}/zonebg/*.*") +INSTALL(FILES ${zonebg} DESTINATION share/cockatrice/zonebg) \ No newline at end of file diff --git a/cockatrice/CMakeLists.txt b/cockatrice/CMakeLists.txt index 215f61fd..1fe34d7f 100644 --- a/cockatrice/CMakeLists.txt +++ b/cockatrice/CMakeLists.txt @@ -188,5 +188,7 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}/../common) INCLUDE_DIRECTORIES(${QT_MOBILITY_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${QT_MOBILITY_MULTIMEDIAKIT_INCLUDE_DIR}) -ADD_EXECUTABLE(cockatrice ${cockatrice_SOURCES} ${cockatrice_QM} ${cockatrice_RESOURCES_RCC} ${cockatrice_HEADERS_MOC}) +ADD_EXECUTABLE(cockatrice WIN32 MACOSX_BUNDLE ${cockatrice_SOURCES} ${cockatrice_QM} ${cockatrice_RESOURCES_RCC} ${cockatrice_HEADERS_MOC}) TARGET_LINK_LIBRARIES(cockatrice cockatrice_common ${QT_LIBRARIES} ${QT_MOBILITY_MULTIMEDIAKIT_LIBRARY} ${PROTOBUF_LIBRARIES}) + +INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/cockatrice DESTINATION bin) diff --git a/common/server_player.cpp b/common/server_player.cpp index aee0a8ea..a745f4f6 100644 --- a/common/server_player.cpp +++ b/common/server_player.cpp @@ -16,6 +16,7 @@ #include "pb/event_move_card.pb.h" #include "pb/event_set_card_attr.pb.h" #include "pb/context_move_card.pb.h" +#include "pb/context_undo_draw.pb.h" #include Server_Player::Server_Player(Server_Game *_game, int _playerId, const ServerInfo_User &_userInfo, bool _spectator, Server_ProtocolHandler *_handler) @@ -422,7 +423,6 @@ Response::ResponseCode Server_Player::moveCard(GameEventStorage &ges, Server_Car Event_DestroyCard event; event.set_zone_name(startzone->getName().toStdString()); event.set_card_id(card->getId()); - ges.setGameEventContext(Context_MoveCard()); ges.enqueueGameEvent(event, playerId); card->deleteLater(); @@ -510,6 +510,11 @@ Response::ResponseCode Server_Player::moveCard(GameEventStorage &ges, Server_Car setCardAttrHelper(ges, targetzone->getName(), card->getId(), AttrPT, ptString); } } + if (undoingDraw) + ges.setGameEventContext(Context_UndoDraw()); + else + ges.setGameEventContext(Context_MoveCard()); + if (startzone->hasCoords() && fixFreeSpaces) startzone->fixFreeSpaces(ges); diff --git a/oracle/CMakeLists.txt b/oracle/CMakeLists.txt index c56ab205..6bedd694 100644 --- a/oracle/CMakeLists.txt +++ b/oracle/CMakeLists.txt @@ -15,5 +15,7 @@ QT4_WRAP_CPP(oracle_HEADERS_MOC ${oracle_HEADERS}) INCLUDE(${QT_USE_FILE}) INCLUDE_DIRECTORIES(../cockatrice/src) -ADD_EXECUTABLE(oracle ${oracle_SOURCES} ${oracle_HEADERS_MOC}) +ADD_EXECUTABLE(oracle WIN32 MACOSX_BUNDLE ${oracle_SOURCES} ${oracle_HEADERS_MOC}) TARGET_LINK_LIBRARIES(oracle ${QT_LIBRARIES}) + +INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/oracle DESTINATION bin) diff --git a/servatrice/src/server_logger.cpp b/servatrice/src/server_logger.cpp index ae073a9c..d3e49a15 100644 --- a/servatrice/src/server_logger.cpp +++ b/servatrice/src/server_logger.cpp @@ -68,18 +68,20 @@ void ServerLogger::flushBuffer() } } -#ifdef Q_OS_UNIX void ServerLogger::hupSignalHandler(int /*unused*/) { +#ifdef Q_OS_UNIX if (!logFile) return; char a = 1; ::write(sigHupFD[0], &a, sizeof(a)); +#endif } void ServerLogger::handleSigHup() { +#ifdef Q_OS_UNIX if (!logFile) return; @@ -91,8 +93,8 @@ void ServerLogger::handleSigHup() logFile->open(QIODevice::Append); snHup->setEnabled(true); -} #endif +} QFile *ServerLogger::logFile; int ServerLogger::sigHupFD[2]; diff --git a/servatrice/src/server_logger.h b/servatrice/src/server_logger.h index 77c7f12d..95bbba8d 100644 --- a/servatrice/src/server_logger.h +++ b/servatrice/src/server_logger.h @@ -20,9 +20,7 @@ public: public slots: void logMessage(QString message, ServerSocketInterface *ssi = 0); private slots: -#ifdef Q_OS_UNIX void handleSigHup(); -#endif void flushBuffer(); signals: void sigFlushBuffer();