diff --git a/.gitattributes b/.gitattributes index ef775b912..d45620912 100644 --- a/.gitattributes +++ b/.gitattributes @@ -13,22 +13,6 @@ *.manifest -crlf -whitespace # Patches /tools/SDL-1.2.14-gc/SDL-1.2.14-gc.patch -whitespace -# LibPNG -/libs/libpng-src/CMakeLists.txt -whitespace -/libs/libpng-src/libpng-1.2.*.txt -whitespace -/libs/libpng-src/libpng.3 -whitespace -/libs/libpng-src/*.c -whitespace -# Zlib -/libs/zlib/contrib/amd64/amd64-match.S -whitespace -/libs/zlib/contrib/delphi/zlibd32.mak -crlf -whitespace -/libs/zlib/contrib/gcc_gvmat64/gvmat64.S -whitespace -/libs/zlib/contrib/minizip/MiniZip64_Changes.txt -whitespace -/libs/zlib/contrib/minizip/MiniZip64_info.txt -whitespace -/libs/zlib/contrib/pascal/zlibd32.mak -whitespace -/libs/zlib/nintendods/Makefile -whitespace -/libs/zlib/nintendods/README -whitespace -/libs/zlib/watcom/watcom_f.mak -crlf -whitespace -/libs/zlib/watcom/watcom_l.mak -crlf -whitespace #Appveyor /appveyor.yml -crlf -whitespace # Other diff --git a/.gitignore b/.gitignore index 567fecd83..7b2304ec0 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,8 @@ Win32_LIB_ASM_Release *.dgb *.debug *.debug.txt +/bin/VC10/ +/objs/VC10/ +*.user +*.db +*.opendb diff --git a/.travis.yml b/.travis.yml index c652584f8..e5dbb58e4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,14 +2,200 @@ language: c sudo: required dist: trusty -env: -- CFLAGS=-Wno-absolute-value -Werror - -compiler: - - gcc - - clang +matrix: + include: + - os: linux + addons: + apt: + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - gcc-4.4 + compiler: gcc-4.4 + #gcc-4.4 (Ubuntu/Linaro 4.4.7-8ubuntu1) 4.4.7 + - os: linux + addons: + apt: + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - gcc-4.6 + compiler: gcc-4.6 + #gcc-4.6 (Ubuntu/Linaro 4.6.4-6ubuntu2) 4.6.4 + - os: linux + addons: + apt: + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - gcc-4.7 + compiler: gcc-4.7 + #gcc-4.7 + - os: linux + compiler: gcc + #gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4 + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - gcc-4.8 + compiler: gcc-4.8 + #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5 + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - gcc-4.9 + compiler: gcc-4.9 + #gcc-4.9 (Ubuntu 4.9.3-8ubuntu2~14.04) 4.9.3 + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - gcc-5 + compiler: gcc-5 + #gcc-5 (Ubuntu 5.3.0-3ubuntu1~14.04) 5.3.0 20151204 + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - gcc-6 + compiler: gcc-6 + env: WFLAGS="-Wno-tautological-compare" + #gcc-6 (Ubuntu 6.1.1-3ubuntu11~14.04.1) 6.1.1 20160511 + - os: linux + compiler: clang + #clang version 3.5.0 (tags/RELEASE_350/final) + - os: linux + addons: + apt: + sources: + - llvm-toolchain-precise-3.5 + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - clang-3.5 + compiler: clang-3.5 + #Ubuntu clang version 3.5.0-4ubuntu2~trusty2 (tags/RELEASE_350/final) (based on LLVM 3.5.0) + - os: linux + addons: + apt: + sources: + - llvm-toolchain-precise-3.6 + - ubuntu-toolchain-r-test + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - clang-3.6 + compiler: clang-3.6 + #Ubuntu clang version 3.6.2-svn240577-1~exp1 (branches/release_36) (based on LLVM 3.6.2) + - os: linux + addons: + apt: + sources: + - llvm-toolchain-precise-3.7 + - ubuntu-toolchain-r-test + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - clang-3.7 + compiler: clang-3.7 + #Ubuntu clang version 3.7.1-svn253571-1~exp1 (branches/release_37) (based on LLVM 3.7.1) + - os: linux + addons: + apt: + sources: + - llvm-toolchain-precise-3.8 + - ubuntu-toolchain-r-test + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - clang-3.8 + compiler: clang-3.8 + #clang version 3.8.1-svn271127-1~exp1 (branches/release_38) +# - os: osx +# osx_image: beta-xcode6.1 +# #Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn) +# - os: osx +# osx_image: beta-xcode6.2 +# compiler: gcc +# #Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn) +## - os: osx +## osx_image: beta-xcode6.3 +## #I think xcode.6.3 VM is broken, it does not boot +# - os: osx +# osx_image: xcode6.4 +# #Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn) +# - os: osx +# osx_image: xcode7 +# #Apple LLVM version 7.0.0 (clang-700.0.72) +# - os: osx +# osx_image: xcode7.1 +# #Apple LLVM version 7.0.0 (clang-700.1.76) +# - os: osx +# osx_image: xcode7.2 +# #Apple LLVM version 7.0.2 (clang-700.1.81) + - os: osx + osx_image: xcode7.3 + #Apple LLVM version 7.3.0 (clang-703.0.31) + allow_failures: + - compiler: clang-3.5 + - compiler: clang-3.6 + - compiler: clang-3.7 + - compiler: clang-3.8 cache: + apt: true + ccache: true directories: - $HOME/srb2_cache @@ -23,11 +209,20 @@ addons: - p7zip-full before_script: - - mkdir -p $HOME/srb2_cache - - wget --verbose --server-response -c http://rosenthalcastle.org/srb2/SRB2-v2114-assets.7z -O $HOME/srb2_cache/SRB2-v2114-assets.7z - - 7z x $HOME/srb2_cache/SRB2-v2114-assets.7z -oassets + - wget --verbose --server-response -c http://rosenthalcastle.org/srb2/SRB2-v2115-assets-2.7z -O $HOME/srb2_cache/SRB2-v2115-assets-2.7z + - 7z x $HOME/srb2_cache/SRB2-v2115-assets-2.7z -oassets - mkdir build - cd build - - cmake .. + - export CFLAGS="-Wall -W -Werror $WFLAGS" + - export CCACHE_COMPRESS=true + - cmake .. -DCMAKE_BUILD_TYPE=Release -script: make +before_install: + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install sdl2_mixer game-music-emu p7zip; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install cmake||true; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -O -L https://www.libsdl.org/release/SDL2-2.0.4.dmg; hdiutil attach SDL2-2.0.4.dmg; sudo cp -a /Volumes/SDL2/SDL2.framework /Library/Frameworks/; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -O -L https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.1.dmg; hdiutil attach SDL2_mixer-2.0.1.dmg; sudo cp -a /Volumes/SDL2_mixer/SDL2_mixer.framework /Library/Frameworks/; fi + - mkdir -p $HOME/srb2_cache + +script: make -k diff --git a/README.md b/README.md new file mode 100644 index 000000000..eb06156b4 --- /dev/null +++ b/README.md @@ -0,0 +1,22 @@ +# Sonic Robo Blast 2 + +[![Build status](https://ci.appveyor.com/api/projects/status/399d4hcw9yy7hg2y?svg=true)](https://ci.appveyor.com/project/STJr/srb2) +[![Build status](https://travis-ci.org/STJr/SRB2.svg?branch=master)](https://travis-ci.org/STJr/SRB2) + +[Sonic Robo Blast 2](https://srb2.org/) is a 3D Sonic the Hedgehog fangame based on a modified version of [Doom Legacy](http://doomlegacy.sourceforge.net/). + +## Dependencies +- NASM (x86 builds only) +- SDL2 (Linux/OS X only) +- SDL2-Mixer (Linux/OS X only) +- libupnp (Linux/OS X only) +- libgme (Linux/OS X only) + +Warning: 64-bit builds are not netgame compatible with 32-bit builds. Use at your own risk. + +## Compiling + +See [SRB2 Wiki/Source code compiling](http://wiki.srb2.org/wiki/Source_code_compiling) + +## Disclaimer +Sonic Team Junior is in no way affiliated with SEGA or Sonic Team. We do not claim ownership of any of SEGA's intellectual property used in SRB2. diff --git a/SRB2.cbp b/SRB2.cbp index 5a03955b8..99a712264 100644 --- a/SRB2.cbp +++ b/SRB2.cbp @@ -2815,6 +2815,39 @@ HW3SOUND for 3D hardware sound support