diff --git a/.travis.yml b/.travis.yml index c630ffbf..b526d9ac 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,16 +1,42 @@ -# http://docs.travis-ci.com/user/build-configuration/ +# https://docs.travis-ci.com/user/customizing-the-build/ language: cpp +sudo: required + +os: + - linux + - osx + compiler: - gcc - clang +env: + - GCC_VERSION="5" + - GCC_VERSION="native" + - LLVM_VERSION="3.7" + - LLVM_VERSION="native" + matrix: - #include: - # - compiler: gcc - # - compiler: clang - allow_failures: + exclude: + - compiler: gcc + env: LLVM_VERSION="3.7" + - compiler: gcc + env: LLVM_VERSION="native" - compiler: clang + env: GCC_VERSION="5" + - compiler: clang + env: GCC_VERSION="native" + - os: linux + compiler: clang + env: LLVM_VERSION="native" # broken compiler + - os: osx + compiler: gcc # unsupported compiler + - os: osx + compiler: clang + env: LLVM_VERSION="3.7" # missing compiler by brew + #allow_failures: + # - os: osx git: submodules: false @@ -20,15 +46,30 @@ git: # - master before_install: - - sudo apt-get update -qq # UPDATE REPOS - #- sudo apt-get upgrade -qq # UPGRADE SYSTEM TO LATEST PATCH LEVEL - - sudo apt-get install -y -qq - - sudo ./.travis-before_install.sh - - sudo mk/linux/setupBuildDeps.sh --quiet # INSTALL OUR DEPENDENCIES + - if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$GCC_VERSION" != "native" ]; then sudo add-apt-repository --yes ppa:ubuntu-toolchain-r/test; fi + # https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test + - if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$CXX" == "clang++" ] && [ "$LLVM_VERSION" != "native" ]; then sudo add-apt-repository --yes 'deb http://llvm.org/apt/precise/ llvm-toolchain-precise main'; fi + - if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$CXX" == "clang++" ] && [ "$LLVM_VERSION" != "native" ]; then sudo add-apt-repository --yes "deb http://llvm.org/apt/precise/ llvm-toolchain-precise-${LLVM_VERSION} main"; fi + # http://llvm.org/apt/ + - if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$CXX" == "clang++" ] && [ "$LLVM_VERSION" != "native" ]; then wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -; fi + - if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get update -qq; fi # UPDATE REPOS + - if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew update; fi + #- if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get upgrade -qq; fi # UPGRADE SYSTEM TO LATEST PATCH LEVEL + - if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get install -y -qq; fi + - if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$CXX" = "g++" ] && [ "$GCC_VERSION" != "native" ]; then sudo apt-get install -qq gcc-${GCC_VERSION} g++-${GCC_VERSION}; fi + - if [ "$CXX" = "g++" ] && [ "$GCC_VERSION" != "native" ]; then export CXX="g++-${GCC_VERSION}" CC="gcc-${GCC_VERSION}"; fi + - if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$CXX" == "clang++" ] && [ "$LLVM_VERSION" != "native" ]; then sudo apt-get --allow-unauthenticated -qq install clang-${LLVM_VERSION}; fi + - if [ "$CXX" == "clang++" ] && [ "$LLVM_VERSION" != "native" ]; then export CXX="clang++-${LLVM_VERSION}" CC="clang-${LLVM_VERSION}"; fi + - if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo mk/linux/setupBuildDeps.sh --quiet; fi # INSTALL OUR DEPENDENCIES + - if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew install sdl2 lua freetype ftgl libogg glew libvorbis cppunit glib fribidi miniupnpc wxmac; fi + - $CXX --version + - cmake --version + - if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo ./.travis-before_install.sh; fi script: # ALL THE BUILD COMMANDS HERE - - mk/linux/build-mg.sh -c 4 + - if [ "$TRAVIS_OS_NAME" = "linux" ]; then mk/linux/build-mg.sh -c 4; fi + - if [ "$TRAVIS_OS_NAME" = "osx" ]; then mk/macosx/build-mg.sh -c 4; fi notifications: irc: diff --git a/mk/linux/git_update.sh b/mk/linux/git_update.sh new file mode 100755 index 00000000..281981c4 --- /dev/null +++ b/mk/linux/git_update.sh @@ -0,0 +1,28 @@ +#!/bin/bash +LANG=en_US.utf-8 + +cd "$(dirname $(readlink -f $0))" + +echo STAGE 1/3 - GIT PULL +echo +echo Entering ../.. +git pull +echo +git submodule foreach 'git pull; echo' + +echo +echo +echo STAGE 2/3 - GIT BRANCH +echo +echo Entering ../.. +git branch +echo +git submodule foreach 'git branch; echo' + +echo +echo STAGE 3/3 - GIT STATUS +echo +echo Entering ../.. +git status +echo +git submodule foreach 'git status; echo' diff --git a/mk/linux/mg_git.sh b/mk/linux/mg_git.sh index 3ed8271a..d59e3d31 100755 --- a/mk/linux/mg_git.sh +++ b/mk/linux/mg_git.sh @@ -12,7 +12,7 @@ usage() { case $1 in - pull ) + pull|status|branch ) echo '==> Running "git '"$1"'" on main repository...' cd $(dirname $0) git $1 diff --git a/source/glest_game/network/network_interface.cpp b/source/glest_game/network/network_interface.cpp index 36fd7b90..561e2af8 100644 --- a/source/glest_game/network/network_interface.cpp +++ b/source/glest_game/network/network_interface.cpp @@ -32,7 +32,7 @@ namespace Glest{ namespace Game{ // class NetworkInterface // ===================================================== -const int NetworkInterface::readyWaitTimeout= 180000; // 3 minutes +const int NetworkInterface::readyWaitTimeout= 99000; // 99 seconds to 0 looks good on the screen bool NetworkInterface::allowGameDataSynchCheck = false; bool NetworkInterface::allowDownloadDataSynch = false; @@ -168,19 +168,19 @@ NetworkMessageType NetworkInterface::getNextMessageType(int waitMilliseconds) { ((waitMilliseconds <= 0 && socket->hasDataToRead() == true) || (waitMilliseconds > 0 && socket->hasDataToReadWithWait(waitMilliseconds) == true))) { //peek message type - int dataSize = socket->getDataToRead(); - if(dataSize >= (int)sizeof(messageType)) { - if(SystemFlags::getSystemSettingType(SystemFlags::debugNetwork).enabled) SystemFlags::OutputDebug(SystemFlags::debugNetwork,"In [%s::%s Line: %d] socket->getDataToRead() dataSize = %d\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__,dataSize); + //int dataSize = socket->getDataToRead(); + //if(dataSize >= (int)sizeof(messageType)) { + // if(SystemFlags::getSystemSettingType(SystemFlags::debugNetwork).enabled) SystemFlags::OutputDebug(SystemFlags::debugNetwork,"In [%s::%s Line: %d] socket->getDataToRead() dataSize = %d\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__,dataSize); //int iPeek = socket->peek(&messageType, sizeof(messageType)); //if(SystemFlags::getSystemSettingType(SystemFlags::debugNetwork).enabled) SystemFlags::OutputDebug(SystemFlags::debugNetwork,"In [%s::%s Line: %d] socket->getDataToRead() iPeek = %d, messageType = %d [size = %d]\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__,iPeek,messageType,sizeof(messageType)); int bytesReceived = socket->receive(&messageType, sizeof(messageType), true); if(SystemFlags::getSystemSettingType(SystemFlags::debugNetwork).enabled) SystemFlags::OutputDebug(SystemFlags::debugNetwork,"In [%s::%s Line: %d] socket->getDataToRead() iPeek = %d, messageType = %d [size = %d]\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__,bytesReceived,messageType,sizeof(messageType)); - } - else { - if(SystemFlags::getSystemSettingType(SystemFlags::debugNetwork).enabled) SystemFlags::OutputDebug(SystemFlags::debugNetwork,"In [%s::%s Line: %d] PEEK WARNING, socket->getDataToRead() messageType = %d [size = %d], dataSize = %d\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__,messageType,sizeof(messageType),dataSize); - } + //} + //else { + // if(SystemFlags::getSystemSettingType(SystemFlags::debugNetwork).enabled) SystemFlags::OutputDebug(SystemFlags::debugNetwork,"In [%s::%s Line: %d] PEEK WARNING, socket->getDataToRead() messageType = %d [size = %d], dataSize = %d\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__,messageType,sizeof(messageType),dataSize); + //} //sanity check new message type if(messageType < 0 || messageType >= nmtCount) {