cleanup broken/old stuff
TODO: fix cmake
This commit is contained in:
1 parent
3c8bdd7862
commit
4a5449905b
36 files changed
-11453
No files matched your search
-436
@@ -1,436 +0,0 @@
|
|||||||
default:
|
|
||||||
image: debian:stable-slim
|
|
||||||
|
|
||||||
stages: # List of stages for jobs, and their order of execution
|
|
||||||
- build
|
|
||||||
|
|
||||||
variables:
|
|
||||||
GIT_STRATEGY: clone
|
|
||||||
GIT_CLONE_PATH: $CI_BUILDS_DIR/$CI_CONCURRENT_ID/$CI_PROJECT_PATH
|
|
||||||
|
|
||||||
.job_template: &job_build # This job runs in the build stage, which runs first.
|
|
||||||
|
|
||||||
stage: build
|
|
||||||
|
|
||||||
cache:
|
|
||||||
- key: ccache-$CI_PROJECT_PATH_SLUG-$CI_JOB_NAME_SLUG
|
|
||||||
fallback_keys:
|
|
||||||
- cache-$CI_PROJECT_PATH_SLUG-$CI_DEFAULT_BRANCH
|
|
||||||
- cache-$CI_PROJECT_PATH_SLUG-default
|
|
||||||
paths:
|
|
||||||
- ccache
|
|
||||||
- ccache_statslog
|
|
||||||
|
|
||||||
- key: apt-$CI_JOB_IMAGE
|
|
||||||
paths:
|
|
||||||
- apt-cache
|
|
||||||
unprotect: true
|
|
||||||
|
|
||||||
before_script:
|
|
||||||
- - |
|
|
||||||
# debconf
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:debconf[collapsed=true]\r\e[0KSetup debconf's environment"
|
|
||||||
- export DEBIAN_FRONTEND="noninteractive"
|
|
||||||
- export DEBIAN_PRIORITY="low"
|
|
||||||
- export DEBCONF_NONINTERACTIVE_SEEN="true"
|
|
||||||
- |
|
|
||||||
# debconf
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:debconf\r\e[0K"
|
|
||||||
- - |
|
|
||||||
# dpkg_aa
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:dpkg_aa[collapsed=true]\r\e[0KAdding architectures to dpkg"
|
|
||||||
- dpkg --add-architecture i386
|
|
||||||
- dpkg --add-architecture amd64
|
|
||||||
- dpkg --add-architecture arm64
|
|
||||||
- |
|
|
||||||
# dpkg_aa
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:dpkg_aa\r\e[0K"
|
|
||||||
- - |
|
|
||||||
# apt_conf
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:apt_conf[collapsed=true]\r\e[0KSetting up APT conf"
|
|
||||||
- export APT_CACHE_DIR=`pwd`/apt-cache
|
|
||||||
- mkdir --parents --verbose $APT_CACHE_DIR/partial/
|
|
||||||
- touch /etc/apt/apt.conf.d/99build
|
|
||||||
- |
|
|
||||||
# apt.conf
|
|
||||||
echo Adding options to apt.conf':'
|
|
||||||
- |
|
|
||||||
# APT::Install-Recommends
|
|
||||||
echo APT::Install-Recommends "false"\; | tee --append /etc/apt/apt.conf.d/99build
|
|
||||||
- |
|
|
||||||
# quit
|
|
||||||
echo quiet "1"\; | tee --append /etc/apt/apt.conf.d/99build
|
|
||||||
- |
|
|
||||||
# APT::Get::Assume-Yes
|
|
||||||
echo APT::Get::Assume-Yes "true"\; | tee --append /etc/apt/apt.conf.d/99build
|
|
||||||
- |
|
|
||||||
# Dir::Cache::Archives
|
|
||||||
echo Dir::Cache::Archives "$APT_CACHE_DIR"\; | tee --append /etc/apt/apt.conf.d/99build
|
|
||||||
- |
|
|
||||||
# apt_conf
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:apt_conf\r\e[0K"
|
|
||||||
- - |
|
|
||||||
# apt_update
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:apt_update[collapsed=true]\r\e[0KUpdating APT listing"
|
|
||||||
- apt-get update
|
|
||||||
- |
|
|
||||||
# apt_update
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:apt_update\r\e[0K"
|
|
||||||
|
|
||||||
- - |
|
|
||||||
# apt_pre
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:apt_pre[collapsed=true]\r\e[0KInstalling pre packages"
|
|
||||||
- apt-get install apt-utils
|
|
||||||
- |
|
|
||||||
# apt_pre
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:apt_pre\r\e[0K"
|
|
||||||
|
|
||||||
- - |
|
|
||||||
# apt_upgrade
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:apt_upgrade[collapsed=true]\r\e[0KUpdating existing packages"
|
|
||||||
- apt-get upgrade
|
|
||||||
- |
|
|
||||||
# apt_update
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:apt_upgrade\r\e[0K"
|
|
||||||
|
|
||||||
- - |
|
|
||||||
# apt_common
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:apt_common[collapsed=true]\r\e[0KInstalling common packages"
|
|
||||||
- apt-get install make git ccache
|
|
||||||
- |
|
|
||||||
# apt_common
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:apt_common\r\e[0K"
|
|
||||||
|
|
||||||
- - |
|
|
||||||
# ccache_config
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:ccache_config[collapsed=true]\r\e[0KSetting up ccache config"
|
|
||||||
- mkdir --parents --verbose ~/.ccache/
|
|
||||||
- touch ~/.ccache/ccache.conf
|
|
||||||
- |
|
|
||||||
# cache.conf
|
|
||||||
echo Adding ccache configution option
|
|
||||||
- |
|
|
||||||
# base_dir
|
|
||||||
echo base_dir = $PWD | tee --append ~/.ccache/ccache.conf
|
|
||||||
- |
|
|
||||||
# cache_dir
|
|
||||||
echo cache_dir = $PWD/ccache | tee --append ~/.ccache/ccache.conf
|
|
||||||
- |
|
|
||||||
# compiler_check
|
|
||||||
echo compiler_check = content | tee --append ~/.ccache/ccache.conf
|
|
||||||
- |
|
|
||||||
# stats_log
|
|
||||||
echo stats_log = $PWD/ccache_statslog | tee --append ~/.ccache/ccache.conf
|
|
||||||
- |
|
|
||||||
# max_size
|
|
||||||
echo max_size = 50M | tee --append ~/.ccache/ccache.conf
|
|
||||||
- |
|
|
||||||
# ccache_config
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:ccache_config\r\e[0K"
|
|
||||||
|
|
||||||
- - |
|
|
||||||
# cache_reset
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:ccache_reset[collapsed=true]\r\e[0KResetting ccache statistics"
|
|
||||||
- ccache --zero-stats
|
|
||||||
- ccache --show-stats
|
|
||||||
- |
|
|
||||||
# ccache_reset
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:ccache_reset\r\e[0K"
|
|
||||||
|
|
||||||
after_script:
|
|
||||||
- - |
|
|
||||||
# apt_clean
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:apt_clean[collapsed=true]\r\e[0KCleaning of unneeded APT packages"
|
|
||||||
- apt-get autoclean
|
|
||||||
- |
|
|
||||||
# apt_clean
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:apt_clean\r\e[0K"
|
|
||||||
|
|
||||||
- - |
|
|
||||||
# ccache_stats
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:ccache_stats[collapsed=true]\r\e[0Kccache statistics:"
|
|
||||||
- ccache --show-stats --verbose
|
|
||||||
- ccache --show-log-stats --verbose
|
|
||||||
- |
|
|
||||||
# ccahe_stats
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:ccache_stats\r\e[0K"
|
|
||||||
|
|
||||||
Debian testing GCC:
|
|
||||||
<<: *job_build
|
|
||||||
image: debian:testing-slim
|
|
||||||
|
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- "bin/"
|
|
||||||
- "src/comptime.h"
|
|
||||||
expose_as: "Debian GCC testing"
|
|
||||||
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-testing-gcc"
|
|
||||||
|
|
||||||
variables:
|
|
||||||
CC: gcc
|
|
||||||
|
|
||||||
script:
|
|
||||||
- - |
|
|
||||||
# apt_toolchain
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
|
|
||||||
- apt-get install gcc
|
|
||||||
- |
|
|
||||||
# apt_toolchain
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
|
|
||||||
|
|
||||||
- - |
|
|
||||||
# apt_development
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:apt_development[collapsed=true]\r\e[0KInstalling development packages"
|
|
||||||
- apt-get install libsdl2-mixer-dev libpng-dev libcurl4-openssl-dev libgme-dev libopenmpt-dev
|
|
||||||
- |
|
|
||||||
# apt_development
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
|
|
||||||
|
|
||||||
- - |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
|
||||||
- make --directory=src --keep-going CCACHE=1 ERRORMODE=1 NONX86=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 NONX86=1
|
|
||||||
- |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
|
||||||
|
|
||||||
Windows x86:
|
|
||||||
<<: *job_build
|
|
||||||
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- "bin/"
|
|
||||||
- "src/comptime.h"
|
|
||||||
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-Win32"
|
|
||||||
|
|
||||||
variables:
|
|
||||||
PREFIX: i686-w64-mingw32
|
|
||||||
|
|
||||||
script:
|
|
||||||
- - |
|
|
||||||
# apt_toolchain
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
|
|
||||||
- apt-get install gcc-mingw-w64-i686-win32
|
|
||||||
- |
|
|
||||||
# apt_toolchain
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
|
|
||||||
|
|
||||||
- - |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
|
||||||
- make --directory=src --keep-going CCACHE=1 ERRORMODE=1 MINGW=1 SDL=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 MINGW=1 SDL=1
|
|
||||||
- |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
|
||||||
|
|
||||||
Debian stable:amd64:
|
|
||||||
<<: *job_build
|
|
||||||
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- "bin/"
|
|
||||||
- "src/comptime.h"
|
|
||||||
expose_as: "Debian amd64"
|
|
||||||
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-x86-64"
|
|
||||||
|
|
||||||
variables:
|
|
||||||
CC: x86_64-linux-gnu-gcc
|
|
||||||
OBJCOPY: x86_64-linux-gnu-objcopy
|
|
||||||
OBJDUMP: x86_64-linux-gnu-objdump
|
|
||||||
PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig
|
|
||||||
|
|
||||||
script:
|
|
||||||
- - |
|
|
||||||
# apt_toolchain
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
|
|
||||||
- apt-get install gcc-x86-64-linux-gnu || apt-get install gcc
|
|
||||||
- |
|
|
||||||
# apt_toolchain
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
|
|
||||||
|
|
||||||
- - |
|
|
||||||
# apt_development
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:apt_development[collapsed=true]\r\e[0KInstalling development packages"
|
|
||||||
- apt-get install libsdl2-mixer-dev:amd64 libpng-dev:amd64 libcurl4-openssl-dev:amd64 libgme-dev:amd64 libopenmpt-dev:amd64
|
|
||||||
- |
|
|
||||||
# apt_development
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
|
|
||||||
|
|
||||||
- - |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
|
||||||
- make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX64=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX64=1
|
|
||||||
- |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
|
||||||
|
|
||||||
Debian stable:i386:
|
|
||||||
<<: *job_build
|
|
||||||
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- "bin/"
|
|
||||||
- "src/comptime.h"
|
|
||||||
expose_as: "Debian i386"
|
|
||||||
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-i686"
|
|
||||||
|
|
||||||
variables:
|
|
||||||
CC: i686-linux-gnu-gcc
|
|
||||||
OBJCOPY: i686-linux-gnu-objcopy
|
|
||||||
OBJDUMP: i686-linux-gnu-objdump
|
|
||||||
PKG_CONFIG_PATH: /usr/lib/i386-linux-gnu/pkgconfig
|
|
||||||
|
|
||||||
script:
|
|
||||||
- - |
|
|
||||||
# apt_toolchain
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
|
|
||||||
- apt-get install gcc-i686-linux-gnu || apt-get install gcc
|
|
||||||
- |
|
|
||||||
# apt_toolchain
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
|
|
||||||
|
|
||||||
- - |
|
|
||||||
# apt_development
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:apt_development[collapsed=true]\r\e[0KInstalling development packages"
|
|
||||||
- apt-get install libsdl2-mixer-dev:i386 libpng-dev:i386 libcurl4-openssl-dev:i386 libgme-dev:i386 libopenmpt-dev:i386
|
|
||||||
- |
|
|
||||||
# apt_development
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
|
|
||||||
|
|
||||||
- - |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
|
||||||
- make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX=1
|
|
||||||
- |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
|
||||||
|
|
||||||
Debian stable:arm64:
|
|
||||||
<<: *job_build
|
|
||||||
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- "bin/"
|
|
||||||
- "src/comptime.h"
|
|
||||||
expose_as: "Debian arm64"
|
|
||||||
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-aarch64"
|
|
||||||
|
|
||||||
variables:
|
|
||||||
CC: aarch64-linux-gnu-gcc
|
|
||||||
OBJCOPY: aarch64-linux-gnu-objcopy
|
|
||||||
OBJDUMP: aarch64-linux-gnu-objdump
|
|
||||||
PKG_CONFIG_PATH: /usr/lib/aarch64-linux-gnu/pkgconfig
|
|
||||||
|
|
||||||
script:
|
|
||||||
- - |
|
|
||||||
# apt_toolchain
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
|
|
||||||
- apt-get install gcc-aarch64-linux-gnu || apt-get install gcc
|
|
||||||
- |
|
|
||||||
# apt_toolchain
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
|
|
||||||
|
|
||||||
- - |
|
|
||||||
# apt_development
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:apt_development[collapsed=true]\r\e[0KInstalling development packages"
|
|
||||||
- apt-get install libsdl2-mixer-dev:arm64 libpng-dev:arm64 libcurl4-openssl-dev:arm64 libgme-dev:arm64 libopenmpt-dev:arm64
|
|
||||||
- |
|
|
||||||
# apt_development
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
|
|
||||||
|
|
||||||
- - |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
|
||||||
- make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX64=1 ERRORMODE=1 NONX86=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX64=1 NONX86=1
|
|
||||||
- |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
|
||||||
|
|
||||||
Windows x64:
|
|
||||||
<<: *job_build
|
|
||||||
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- "bin/"
|
|
||||||
- "src/comptime.h"
|
|
||||||
expose_as: "Win64"
|
|
||||||
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-Win64"
|
|
||||||
|
|
||||||
variables:
|
|
||||||
PREFIX: x86_64-w64-mingw32
|
|
||||||
|
|
||||||
script:
|
|
||||||
- - |
|
|
||||||
# apt_toolchain
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
|
|
||||||
- apt-get install gcc-mingw-w64-x86-64-win32
|
|
||||||
- |
|
|
||||||
# apt_toolchain
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
|
|
||||||
|
|
||||||
- - |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
|
||||||
- make --directory=src --keep-going CCACHE=1 ERRORMODE=1 MINGW64=1 SDL=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 MINGW64=1 SDL=1
|
|
||||||
- |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
|
||||||
|
|
||||||
Debian stable Clang:
|
|
||||||
<<: *job_build
|
|
||||||
|
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- "bin/"
|
|
||||||
- "src/comptime.h"
|
|
||||||
expose_as: "Debian Clang"
|
|
||||||
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-clang"
|
|
||||||
|
|
||||||
variables:
|
|
||||||
CC: clang
|
|
||||||
WFLAGS: -Wno-cast-align
|
|
||||||
|
|
||||||
script:
|
|
||||||
- - |
|
|
||||||
# apt_toolchain
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
|
|
||||||
- apt-get install clang
|
|
||||||
- |
|
|
||||||
# apt_toolchain
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
|
|
||||||
|
|
||||||
- - |
|
|
||||||
# apt_development
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:apt_development[collapsed=true]\r\e[0KInstalling development packages"
|
|
||||||
- apt-get install libsdl2-mixer-dev libpng-dev libcurl4-openssl-dev libgme-dev libopenmpt-dev
|
|
||||||
- |
|
|
||||||
# apt_development
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
|
|
||||||
|
|
||||||
- - |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
|
||||||
- make --directory=src --keep-going CCACHE=1 ERRORMODE=1 NONX86=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 NONX86=1
|
|
||||||
- |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
|
||||||
|
|
||||||
Debian testing Clang:
|
|
||||||
extends: Debian stable Clang
|
|
||||||
|
|
||||||
image: debian:testing-slim
|
|
||||||
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- "bin/"
|
|
||||||
- "src/comptime.h"
|
|
||||||
expose_as: "Debina Clang testing"
|
|
||||||
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-testing-clang"
|
|
||||||
|
|
||||||
variables:
|
|
||||||
CC: clang
|
|
||||||
WFLAGS: -Wno-cast-align -Wno-deprecated-non-prototype
|
|
||||||
-712
@@ -1,712 +0,0 @@
|
|||||||
# Travis-CI Config
|
|
||||||
#
|
|
||||||
# You may use the Deployer to upload packages and builds to external servers.
|
|
||||||
# See deployer/travis/deployer_defaults.sh for environment variables to configure.
|
|
||||||
|
|
||||||
language: c
|
|
||||||
sudo: required
|
|
||||||
dist: trusty
|
|
||||||
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
################################
|
|
||||||
# Test Buildbots
|
|
||||||
# Deployer does not operate on these. See Deployer Buildbots, below.
|
|
||||||
# These bots are disabled when a deployment is triggered by 'deployer' branch name AND DPL_TERMINATE_TESTS=1.
|
|
||||||
# These bots remain enabled when a deployment is triggered by release tag.
|
|
||||||
################################
|
|
||||||
- os: linux
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
packages:
|
|
||||||
- libsdl2-mixer-dev
|
|
||||||
- libpng-dev
|
|
||||||
- libgl1-mesa-dev
|
|
||||||
- libgme-dev
|
|
||||||
- libcurl4-openssl-dev
|
|
||||||
- p7zip-full
|
|
||||||
- gcc-4.4
|
|
||||||
compiler: gcc-4.4
|
|
||||||
env: GCC44=1
|
|
||||||
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
|
||||||
#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
|
|
||||||
- libcurl4-openssl-dev
|
|
||||||
- p7zip-full
|
|
||||||
- gcc-4.6
|
|
||||||
compiler: gcc-4.6
|
|
||||||
env: GCC46=1
|
|
||||||
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
|
||||||
#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
|
|
||||||
- libcurl4-openssl-dev
|
|
||||||
- p7zip-full
|
|
||||||
- gcc-4.7
|
|
||||||
compiler: gcc-4.7
|
|
||||||
env: GCC47=1
|
|
||||||
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
|
||||||
#gcc-4.7
|
|
||||||
- os: linux
|
|
||||||
compiler: gcc
|
|
||||||
env: GCC48=1
|
|
||||||
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
|
||||||
#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
|
|
||||||
- libcurl4-openssl-dev
|
|
||||||
- p7zip-full
|
|
||||||
- gcc-4.8
|
|
||||||
compiler: gcc-4.8
|
|
||||||
env: GCC48=1
|
|
||||||
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
|
||||||
#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
|
|
||||||
- libcurl4-openssl-dev
|
|
||||||
- p7zip-full
|
|
||||||
- gcc-7
|
|
||||||
compiler: gcc-7
|
|
||||||
env: WFLAGS="-Wno-tautological-compare -Wno-error=implicit-fallthrough -Wno-implicit-fallthrough" GCC72=1
|
|
||||||
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
|
||||||
#gcc-7 (Ubuntu 7.2.0-1ubuntu1~14.04) 7.2.0 20170802
|
|
||||||
- os: linux
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
sources:
|
|
||||||
- ubuntu-toolchain-r-test
|
|
||||||
packages:
|
|
||||||
- libsdl2-mixer-dev
|
|
||||||
- libpng-dev
|
|
||||||
- libgl1-mesa-dev
|
|
||||||
- libgme-dev
|
|
||||||
- libcurl4-openssl-dev
|
|
||||||
- p7zip-full
|
|
||||||
- gcc-8
|
|
||||||
compiler: gcc-8
|
|
||||||
env: WFLAGS="-Wno-tautological-compare -Wno-error=implicit-fallthrough -Wno-implicit-fallthrough -Wno-error=format-overflow -Wno-error=format-truncation" GCC81=1
|
|
||||||
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
|
||||||
#gcc-8 (Ubuntu 7.2.0-1ubuntu1~14.04) 8.1.0
|
|
||||||
- os: linux
|
|
||||||
compiler: clang
|
|
||||||
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
|
||||||
#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
|
|
||||||
- libcurl4-openssl-dev
|
|
||||||
- p7zip-full
|
|
||||||
- clang-3.5
|
|
||||||
compiler: clang-3.5
|
|
||||||
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
|
||||||
#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
|
|
||||||
- libcurl4-openssl-dev
|
|
||||||
- p7zip-full
|
|
||||||
- clang-3.6
|
|
||||||
compiler: clang-3.6
|
|
||||||
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
|
||||||
#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
|
|
||||||
- libcurl4-openssl-dev
|
|
||||||
- p7zip-full
|
|
||||||
- clang-3.7
|
|
||||||
compiler: clang-3.7
|
|
||||||
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
|
||||||
#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
|
|
||||||
- libcurl4-openssl-dev
|
|
||||||
- p7zip-full
|
|
||||||
- clang-3.8
|
|
||||||
compiler: clang-3.8
|
|
||||||
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
|
||||||
#clang version 3.8.1-svn271127-1~exp1 (branches/release_38)
|
|
||||||
- os: linux
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
sources:
|
|
||||||
- llvm-toolchain-precise-3.9
|
|
||||||
- ubuntu-toolchain-r-test
|
|
||||||
packages:
|
|
||||||
- libsdl2-mixer-dev
|
|
||||||
- libpng-dev
|
|
||||||
- libgl1-mesa-dev
|
|
||||||
- libgme-dev
|
|
||||||
- libcurl4-openssl-dev
|
|
||||||
- p7zip-full
|
|
||||||
- clang-3.9
|
|
||||||
compiler: clang-3.9
|
|
||||||
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
|
||||||
#clang version 3.9.X
|
|
||||||
# - os: linux
|
|
||||||
# addons:
|
|
||||||
# apt:
|
|
||||||
# sources:
|
|
||||||
# - llvm-toolchain-precise-4.0
|
|
||||||
# - ubuntu-toolchain-r-test
|
|
||||||
# packages:
|
|
||||||
# - libsdl2-mixer-dev
|
|
||||||
# - libpng-dev
|
|
||||||
# - libgl1-mesa-dev
|
|
||||||
# - libgme-dev
|
|
||||||
# - p7zip-full
|
|
||||||
# - clang-4.0
|
|
||||||
# compiler: clang-4.0
|
|
||||||
# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
|
||||||
# #clang version 4.0.X
|
|
||||||
# - os: linux
|
|
||||||
# addons:
|
|
||||||
# apt:
|
|
||||||
# sources:
|
|
||||||
# - llvm-toolchain-precise-5.0
|
|
||||||
# - ubuntu-toolchain-r-test
|
|
||||||
# packages:
|
|
||||||
# - libsdl2-mixer-dev
|
|
||||||
# - libpng-dev
|
|
||||||
# - libgl1-mesa-dev
|
|
||||||
# - libgme-dev
|
|
||||||
# - p7zip-full
|
|
||||||
# - clang-5.0
|
|
||||||
# compiler: clang-5.0
|
|
||||||
# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
|
||||||
# #clang version 5.0.X
|
|
||||||
# - os: osx
|
|
||||||
# osx_image: beta-xcode6.1
|
|
||||||
# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
|
||||||
# #Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn)
|
|
||||||
# - os: osx
|
|
||||||
# osx_image: beta-xcode6.2
|
|
||||||
# compiler: gcc
|
|
||||||
# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
|
||||||
# #Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
|
|
||||||
## - os: osx
|
|
||||||
## osx_image: beta-xcode6.3
|
|
||||||
## if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
|
||||||
## #I think xcode.6.3 VM is broken, it does not boot
|
|
||||||
# - os: osx
|
|
||||||
# osx_image: xcode6.4
|
|
||||||
# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
|
||||||
# #Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
|
|
||||||
# - os: osx
|
|
||||||
# osx_image: xcode7
|
|
||||||
# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
|
||||||
# #Apple LLVM version 7.0.0 (clang-700.0.72)
|
|
||||||
# - os: osx
|
|
||||||
# osx_image: xcode7.1
|
|
||||||
# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
|
||||||
# #Apple LLVM version 7.0.0 (clang-700.1.76)
|
|
||||||
# - os: osx
|
|
||||||
# osx_image: xcode7.2
|
|
||||||
# if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
|
||||||
# #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)
|
|
||||||
# - os: osx
|
|
||||||
# osx_image: xcode7.3
|
|
||||||
# #Apple LLVM version 7.3.0 (clang-703.0.31)
|
|
||||||
- os: osx
|
|
||||||
if: env(DPL_ENABLED) != "1" OR env(DPL_TERMINATE_TESTS) != "1" OR NOT branch =~ /^.*deployer.*$/
|
|
||||||
#Default: macOS 10.13 and Xcode 9.4.1
|
|
||||||
|
|
||||||
|
|
||||||
################################
|
|
||||||
# Deployer Buildbots - OSX
|
|
||||||
################################
|
|
||||||
- os: osx
|
|
||||||
if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
|
|
||||||
AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
|
|
||||||
AND env(DPL_TERMINATE_MAIN) != "1"
|
|
||||||
env:
|
|
||||||
- _DPL_JOB_ENABLED=1
|
|
||||||
- _DPL_JOB_NAME=osx
|
|
||||||
- _DPL_FTP_TARGET=1
|
|
||||||
- _DPL_PACKAGE_BINARY=1
|
|
||||||
#Apple LLVM version 7.3.0 (clang-703.0.31)
|
|
||||||
|
|
||||||
|
|
||||||
################################
|
|
||||||
# Deployer Buildbots - Linux assets
|
|
||||||
# Set DPL_TERMINATE_ASSETS to disable all of these
|
|
||||||
# List Ubuntu LTS next, newest to oldest
|
|
||||||
# Then list non-LTS, newest to oldest
|
|
||||||
################################
|
|
||||||
- os: linux
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
packages:
|
|
||||||
- libsdl2-mixer-dev
|
|
||||||
- libpng-dev
|
|
||||||
- libgl1-mesa-dev
|
|
||||||
- libgme-dev
|
|
||||||
- libcurl4-openssl-dev
|
|
||||||
- p7zip-full
|
|
||||||
- gcc-4.8
|
|
||||||
compiler: gcc-4.8
|
|
||||||
dist: xenial
|
|
||||||
if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
|
|
||||||
AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
|
|
||||||
AND env(DPL_TERMINATE_ASSETS) != "1"
|
|
||||||
env:
|
|
||||||
- _DPL_JOB_ENABLED=1
|
|
||||||
- _DPL_JOB_NAME=bionic-asset
|
|
||||||
- _DPL_DPUT_TARGET=1
|
|
||||||
- _DPL_PACKAGE_SOURCE=1
|
|
||||||
- _DPL_PACKAGE_MAIN=0
|
|
||||||
- _DPL_PACKAGE_ASSET=1
|
|
||||||
- PACKAGE_DISTRO=bionic
|
|
||||||
#- PACKAGE_SUBVERSION=~18.04bionic
|
|
||||||
#gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
|
|
||||||
|
|
||||||
################################
|
|
||||||
# The below asset bots produce packages that occupy too much space.
|
|
||||||
# It would be nice if the asset files were not included in the source package itself,
|
|
||||||
# so these can deploy to each Ubuntu target without manual intervention.
|
|
||||||
#
|
|
||||||
# Currently, to get around Launchpad's space limitation,
|
|
||||||
# copy the packages from *one* bot and the space usage is not increased.
|
|
||||||
################################
|
|
||||||
# - os: linux
|
|
||||||
# addons:
|
|
||||||
# apt:
|
|
||||||
# packages:
|
|
||||||
# - libsdl2-mixer-dev
|
|
||||||
# - libpng-dev
|
|
||||||
# - libgl1-mesa-dev
|
|
||||||
# - libgme-dev
|
|
||||||
# - p7zip-full
|
|
||||||
# - gcc-4.8
|
|
||||||
# compiler: gcc-4.8
|
|
||||||
# dist: trusty
|
|
||||||
# if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
|
|
||||||
# AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
|
|
||||||
# AND env(DPL_TERMINATE_ASSETS) != "1"
|
|
||||||
# env:
|
|
||||||
# - _DPL_JOB_ENABLED=1
|
|
||||||
# - _DPL_JOB_NAME=trusty-asset
|
|
||||||
# - _DPL_DPUT_TARGET=1
|
|
||||||
# - _DPL_PACKAGE_SOURCE=1
|
|
||||||
# - _DPL_PACKAGE_MAIN=0
|
|
||||||
# - _DPL_PACKAGE_ASSET=1
|
|
||||||
# - PACKAGE_DISTRO=trusty
|
|
||||||
# #- PACKAGE_SUBVERSION=~14.04trusty
|
|
||||||
# #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
|
|
||||||
# - os: linux
|
|
||||||
# addons:
|
|
||||||
# apt:
|
|
||||||
# packages:
|
|
||||||
# - libsdl2-mixer-dev
|
|
||||||
# - libpng-dev
|
|
||||||
# - libgl1-mesa-dev
|
|
||||||
# - libgme-dev
|
|
||||||
# - p7zip-full
|
|
||||||
# - gcc-4.8
|
|
||||||
# compiler: gcc-4.8
|
|
||||||
# dist: xenial
|
|
||||||
# if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
|
|
||||||
# AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
|
|
||||||
# AND env(DPL_TERMINATE_ASSETS) != "1"
|
|
||||||
# env:
|
|
||||||
# - _DPL_JOB_ENABLED=1
|
|
||||||
# - _DPL_JOB_NAME=disco-asset
|
|
||||||
# - _DPL_DPUT_TARGET=1
|
|
||||||
# - _DPL_PACKAGE_SOURCE=1
|
|
||||||
# - _DPL_PACKAGE_MAIN=0
|
|
||||||
# - _DPL_PACKAGE_ASSET=1
|
|
||||||
# - PACKAGE_DISTRO=disco
|
|
||||||
# #- PACKAGE_SUBVERSION=~19.04disco
|
|
||||||
# #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
|
|
||||||
# - os: linux
|
|
||||||
# addons:
|
|
||||||
# apt:
|
|
||||||
# packages:
|
|
||||||
# - libsdl2-mixer-dev
|
|
||||||
# - libpng-dev
|
|
||||||
# - libgl1-mesa-dev
|
|
||||||
# - libgme-dev
|
|
||||||
# - p7zip-full
|
|
||||||
# - gcc-4.8
|
|
||||||
# compiler: gcc-4.8
|
|
||||||
# dist: xenial
|
|
||||||
# if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
|
|
||||||
# AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
|
|
||||||
# AND env(DPL_TERMINATE_ASSETS) != "1"
|
|
||||||
# env:
|
|
||||||
# - _DPL_JOB_ENABLED=1
|
|
||||||
# - _DPL_JOB_NAME=cosmic-asset
|
|
||||||
# - _DPL_DPUT_TARGET=1
|
|
||||||
# - _DPL_PACKAGE_SOURCE=1
|
|
||||||
# - _DPL_PACKAGE_MAIN=0
|
|
||||||
# - _DPL_PACKAGE_ASSET=1
|
|
||||||
# - PACKAGE_DISTRO=cosmic
|
|
||||||
# #- PACKAGE_SUBVERSION=~18.10cosmic
|
|
||||||
# #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
|
|
||||||
# - os: linux
|
|
||||||
# addons:
|
|
||||||
# apt:
|
|
||||||
# packages:
|
|
||||||
# - libsdl2-mixer-dev
|
|
||||||
# - libpng-dev
|
|
||||||
# - libgl1-mesa-dev
|
|
||||||
# - libgme-dev
|
|
||||||
# - p7zip-full
|
|
||||||
# - gcc-4.8
|
|
||||||
# compiler: gcc-4.8
|
|
||||||
# dist: xenial
|
|
||||||
# if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
|
|
||||||
# AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
|
|
||||||
# AND env(DPL_TERMINATE_ASSETS) != "1"
|
|
||||||
# env:
|
|
||||||
# - _DPL_JOB_ENABLED=1
|
|
||||||
# - _DPL_JOB_NAME=xenial-asset
|
|
||||||
# - _DPL_DPUT_TARGET=1
|
|
||||||
# - _DPL_PACKAGE_SOURCE=1
|
|
||||||
# - _DPL_PACKAGE_MAIN=0
|
|
||||||
# - _DPL_PACKAGE_ASSET=1
|
|
||||||
# - PACKAGE_DISTRO=xenial
|
|
||||||
# #- PACKAGE_SUBVERSION=~16.04xenial
|
|
||||||
# #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
|
|
||||||
|
|
||||||
|
|
||||||
################################
|
|
||||||
# Deployer Buildbots - Linux binaries
|
|
||||||
# List Ubuntu LTS, newest to oldest
|
|
||||||
# Then list non-LTS, newest to oldest
|
|
||||||
################################
|
|
||||||
- os: linux
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
packages:
|
|
||||||
- libsdl2-mixer-dev
|
|
||||||
- libpng-dev
|
|
||||||
- libgl1-mesa-dev
|
|
||||||
- libgme-dev
|
|
||||||
- libcurl4-openssl-dev
|
|
||||||
- p7zip-full
|
|
||||||
- gcc-4.8
|
|
||||||
compiler: gcc-4.8
|
|
||||||
dist: xenial
|
|
||||||
if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
|
|
||||||
AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
|
|
||||||
AND env(DPL_TERMINATE_MAIN) != "1"
|
|
||||||
env:
|
|
||||||
- _DPL_JOB_ENABLED=1
|
|
||||||
- _DPL_JOB_NAME=focal
|
|
||||||
- _DPL_DPUT_TARGET=1
|
|
||||||
- _DPL_PACKAGE_SOURCE=1
|
|
||||||
- PACKAGE_DISTRO=focal
|
|
||||||
- PACKAGE_SUBVERSION=~20.04focal
|
|
||||||
#gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
|
|
||||||
- os: linux
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
packages:
|
|
||||||
- libsdl2-mixer-dev
|
|
||||||
- libpng-dev
|
|
||||||
- libgl1-mesa-dev
|
|
||||||
- libgme-dev
|
|
||||||
- libcurl4-openssl-dev
|
|
||||||
- p7zip-full
|
|
||||||
- gcc-4.8
|
|
||||||
compiler: gcc-4.8
|
|
||||||
dist: xenial
|
|
||||||
if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
|
|
||||||
AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
|
|
||||||
AND env(DPL_TERMINATE_MAIN) != "1"
|
|
||||||
env:
|
|
||||||
- _DPL_JOB_ENABLED=1
|
|
||||||
- _DPL_JOB_NAME=bionic
|
|
||||||
- _DPL_DPUT_TARGET=1
|
|
||||||
- _DPL_PACKAGE_SOURCE=1
|
|
||||||
- PACKAGE_DISTRO=bionic
|
|
||||||
- PACKAGE_SUBVERSION=~18.04bionic
|
|
||||||
#gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
|
|
||||||
- os: linux
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
packages:
|
|
||||||
- libsdl2-mixer-dev
|
|
||||||
- libpng-dev
|
|
||||||
- libgl1-mesa-dev
|
|
||||||
- libgme-dev
|
|
||||||
- libcurl4-openssl-dev
|
|
||||||
- p7zip-full
|
|
||||||
- gcc-4.8
|
|
||||||
compiler: gcc-4.8
|
|
||||||
dist: xenial
|
|
||||||
if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
|
|
||||||
AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
|
|
||||||
AND env(DPL_TERMINATE_MAIN) != "1"
|
|
||||||
env:
|
|
||||||
- _DPL_JOB_ENABLED=1
|
|
||||||
- _DPL_JOB_NAME=xenial
|
|
||||||
- _DPL_DPUT_TARGET=1
|
|
||||||
- _DPL_PACKAGE_SOURCE=1
|
|
||||||
- PACKAGE_DISTRO=xenial
|
|
||||||
- PACKAGE_SUBVERSION=~16.04xenial
|
|
||||||
#gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
|
|
||||||
- os: linux
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
packages:
|
|
||||||
- libsdl2-mixer-dev
|
|
||||||
- libpng-dev
|
|
||||||
- libgl1-mesa-dev
|
|
||||||
- libgme-dev
|
|
||||||
- libcurl4-openssl-dev
|
|
||||||
- p7zip-full
|
|
||||||
- gcc-4.8
|
|
||||||
compiler: gcc-4.8
|
|
||||||
dist: trusty
|
|
||||||
if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
|
|
||||||
AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
|
|
||||||
AND env(DPL_TERMINATE_MAIN) != "1"
|
|
||||||
env:
|
|
||||||
- _DPL_JOB_ENABLED=1
|
|
||||||
- _DPL_JOB_NAME=trusty
|
|
||||||
- _DPL_DPUT_TARGET=1
|
|
||||||
- _DPL_PACKAGE_SOURCE=1
|
|
||||||
- PACKAGE_DISTRO=trusty
|
|
||||||
- PACKAGE_SUBVERSION=~14.04trusty
|
|
||||||
#gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
|
|
||||||
- os: linux
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
packages:
|
|
||||||
- libsdl2-mixer-dev
|
|
||||||
- libpng-dev
|
|
||||||
- libgl1-mesa-dev
|
|
||||||
- libgme-dev
|
|
||||||
- libcurl4-openssl-dev
|
|
||||||
- p7zip-full
|
|
||||||
- gcc-4.8
|
|
||||||
compiler: gcc-4.8
|
|
||||||
dist: xenial
|
|
||||||
if: env(DPL_ENABLED) = "1" AND (env(_DPL_JOB_ENABLED) = "1" OR env(DPL_JOB_ENABLE_ALL) = "1")
|
|
||||||
AND (branch =~ /^.*deployer.*$/ OR (tag IS present AND env(DPL_TAG_ENABLED) = "1"))
|
|
||||||
AND env(DPL_TERMINATE_MAIN) != "1"
|
|
||||||
env:
|
|
||||||
- _DPL_JOB_ENABLED=1
|
|
||||||
- _DPL_JOB_NAME=eoan
|
|
||||||
- _DPL_DPUT_TARGET=1
|
|
||||||
- _DPL_PACKAGE_SOURCE=1
|
|
||||||
- PACKAGE_DISTRO=eoan
|
|
||||||
- PACKAGE_SUBVERSION=~19.10eoan
|
|
||||||
#gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5
|
|
||||||
allow_failures:
|
|
||||||
- compiler: clang-3.5
|
|
||||||
- compiler: clang-3.6
|
|
||||||
- compiler: clang-3.7
|
|
||||||
- compiler: clang-3.8
|
|
||||||
- compiler: clang-3.9
|
|
||||||
- compiler: clang-4.0
|
|
||||||
- compiler: clang-5.0
|
|
||||||
|
|
||||||
|
|
||||||
cache:
|
|
||||||
apt: true
|
|
||||||
ccache: true
|
|
||||||
directories:
|
|
||||||
- $HOME/srb2_cache
|
|
||||||
|
|
||||||
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
packages:
|
|
||||||
- libsdl2-mixer-dev
|
|
||||||
- libpng-dev
|
|
||||||
- libgl1-mesa-dev
|
|
||||||
- libgme-dev
|
|
||||||
- zlib1g-dev
|
|
||||||
- libcurl4-openssl-dev
|
|
||||||
- p7zip-full
|
|
||||||
homebrew:
|
|
||||||
taps:
|
|
||||||
- mazmazz/srb2
|
|
||||||
packages:
|
|
||||||
- sdl2_mixer
|
|
||||||
- game-music-emu
|
|
||||||
- p7zip
|
|
||||||
- cmake
|
|
||||||
- curl
|
|
||||||
update: true
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
before_install:
|
|
||||||
# Initialize Deployer defaults
|
|
||||||
- . ./deployer/travis/deployer_defaults.sh
|
|
||||||
|
|
||||||
# Initialize Deployer; check if Deployer is enabled
|
|
||||||
# This needs to be run in the current shell so that $__DPL_ACTIVE is set for this session
|
|
||||||
- . ./deployer/travis/deployer.sh
|
|
||||||
|
|
||||||
# Also check if we should now terminate -- see `deployer.sh` for conditions.
|
|
||||||
# This should never happen on non-release buildbots when Deployer is not triggered.
|
|
||||||
- if [[ "$__DPL_TRY_TERMINATE_EARLY" == "1" ]]; then
|
|
||||||
if [[ "$__DPL_ACTIVE" != "1" ]]; then
|
|
||||||
echo "Exiting early because this job is not deploying.";
|
|
||||||
exit;
|
|
||||||
fi;
|
|
||||||
fi
|
|
||||||
|
|
||||||
# If we're triggered by release tag, force ASSET_FILES_OPTIONAL_GET=1
|
|
||||||
- if [[ "$__DPL_TAG_ELIGIBLE" = "1" ]]; then
|
|
||||||
ASSET_FILES_OPTIONAL_GET=1;
|
|
||||||
fi;
|
|
||||||
|
|
||||||
|
|
||||||
install:
|
|
||||||
# Install OS X library dependencies via Homebrew
|
|
||||||
# Do this differently for release buildbots:
|
|
||||||
# * `brew install --build-bottle` builds libraries for x86_64's lowest common denominator CPU, core2
|
|
||||||
# * `sdl2_mixer` requires options from the formula tap https://github.com/mazmazz/homebrew-srb2
|
|
||||||
# * `brew postinstall` runs post-install scripts after building a bottle
|
|
||||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
|
||||||
if [[ "$__DPL_ACTIVE" == "1" ]]; then
|
|
||||||
brew install --build-bottle sdl2 game-music-emu;
|
|
||||||
brew install --build-bottle mazmazz/srb2/sdl2_mixer --with-flac --with-mpg123;
|
|
||||||
brew postinstall sdl2 game-music-emu mazmazz/srb2/sdl2_mixer;
|
|
||||||
fi;
|
|
||||||
fi
|
|
||||||
- mkdir -p $HOME/srb2_cache
|
|
||||||
|
|
||||||
|
|
||||||
before_script:
|
|
||||||
# OLDPWD is root repo folder
|
|
||||||
- OLDPWD=$PWD
|
|
||||||
- __ASSET_DIRECTORY="$OLDPWD/assets/installer"
|
|
||||||
- mkdir -p "$__ASSET_DIRECTORY"
|
|
||||||
- cd "$HOME/srb2_cache"
|
|
||||||
|
|
||||||
# Get stat command so we know what the cached archive date is.
|
|
||||||
# stat is different for OSX
|
|
||||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
|
||||||
STATCMD="stat -f %m";
|
|
||||||
else
|
|
||||||
STATCMD="stat -c %y";
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Get asset files (required for MD5)
|
|
||||||
# See `deployer_defaults.sh` for asset download path
|
|
||||||
- if [[ "$ASSET_ARCHIVE_PATH" != "" ]]; then
|
|
||||||
if [ -f "$(basename $ASSET_ARCHIVE_PATH)" ]; then
|
|
||||||
echo "$(basename $ASSET_ARCHIVE_PATH) cache date -- $($STATCMD $(basename $ASSET_ARCHIVE_PATH))";
|
|
||||||
fi;
|
|
||||||
wget --verbose --server-response -N "$ASSET_ARCHIVE_PATH";
|
|
||||||
7z x "$(basename $ASSET_ARCHIVE_PATH)" -o"$__ASSET_DIRECTORY" -aos;
|
|
||||||
fi;
|
|
||||||
|
|
||||||
# Get optional files too
|
|
||||||
- if [[ "$__DPL_ACTIVE" == "1" ]] && [[ "$ASSET_FILES_OPTIONAL_GET" == "1" ]] && [[ "$ASSET_ARCHIVE_OPTIONAL_PATH" != "" ]]; then
|
|
||||||
if [ -f "$(basename $ASSET_ARCHIVE_OPTIONAL_PATH)" ]; then
|
|
||||||
echo "$(basename $ASSET_ARCHIVE_OPTIONAL_PATH) cache date -- $($STATCMD $(basename $ASSET_ARCHIVE_OPTIONAL_PATH))";
|
|
||||||
fi;
|
|
||||||
wget --verbose --server-response -N "$ASSET_ARCHIVE_OPTIONAL_PATH";
|
|
||||||
7z x "$(basename $ASSET_ARCHIVE_OPTIONAL_PATH)" -o"$__ASSET_DIRECTORY" -aos;
|
|
||||||
fi;
|
|
||||||
|
|
||||||
# Go back to root repo folder
|
|
||||||
- cd "$OLDPWD"
|
|
||||||
|
|
||||||
# Prepare CMake asset lists
|
|
||||||
- SRB2_ASSET_HASHED=$(echo ${ASSET_FILES_HASHED// /\;})
|
|
||||||
- SRB2_ASSET_DOCS=$(echo ${ASSET_FILES_DOCS// /\;})
|
|
||||||
- SRB2_ASSET_DIRECTORY="$__ASSET_DIRECTORY"
|
|
||||||
|
|
||||||
# Prepare CMake
|
|
||||||
- mkdir build
|
|
||||||
- cd build
|
|
||||||
- mkdir package
|
|
||||||
- export CFLAGS="-Wall -W -Werror $WFLAGS"
|
|
||||||
- export CCACHE_COMPRESS=true
|
|
||||||
# If OS X, set -march=core2 to build compatible binaries with old Macs
|
|
||||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
|
||||||
export CFLAGS="${CFLAGS} -march=core2";
|
|
||||||
fi;
|
|
||||||
- cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PWD/bin -DCPACK_PACKAGE_DIRECTORY=$PWD/package
|
|
||||||
-DSRB2_ASSET_HASHED="${SRB2_ASSET_HASHED}" -DSRB2_ASSET_DOCS="${SRB2_ASSET_DOCS}"
|
|
||||||
-DSRB2_ASSET_DIRECTORY="${SRB2_ASSET_DIRECTORY}"
|
|
||||||
-DCPACK_PACKAGE_DESCRIPTION_SUMMARY="${PROGRAM_NAME}"
|
|
||||||
-DCPACK_PACKAGE_VENDOR="${PROGRAM_VENDOR}"
|
|
||||||
-DSRB2_SDL2_EXE_NAME="${PROGRAM_FILENAME}"
|
|
||||||
|
|
||||||
script:
|
|
||||||
# Build our Makefile from Cmake!
|
|
||||||
- if [[ "$__DPL_ACTIVE" == "1" ]]; then
|
|
||||||
. ../deployer/travis/deployer_build.sh;
|
|
||||||
else
|
|
||||||
make -k;
|
|
||||||
fi;
|
|
||||||
|
|
||||||
after_success:
|
|
||||||
# Run the upload scripts
|
|
||||||
# These do nothing if Deployer is not triggered
|
|
||||||
- . ../deployer/travis/deployer_ftp.sh
|
|
||||||
- . ../deployer/travis/deployer_dput.sh
|
|
||||||
@@ -1,269 +0,0 @@
|
|||||||
# Doxyfile 1.4.3
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Project related configuration options
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
PROJECT_NAME = SRB2
|
|
||||||
PROJECT_NUMBER = 1.09
|
|
||||||
OUTPUT_DIRECTORY = ./doc/SRB2
|
|
||||||
CREATE_SUBDIRS = YES
|
|
||||||
OUTPUT_LANGUAGE = English
|
|
||||||
USE_WINDOWS_ENCODING = YES
|
|
||||||
BRIEF_MEMBER_DESC = YES
|
|
||||||
REPEAT_BRIEF = YES
|
|
||||||
ABBREVIATE_BRIEF = "The $name class" \
|
|
||||||
"The $name widget" \
|
|
||||||
"The $name file" \
|
|
||||||
is \
|
|
||||||
provides \
|
|
||||||
specifies \
|
|
||||||
contains \
|
|
||||||
represents \
|
|
||||||
a \
|
|
||||||
an \
|
|
||||||
the
|
|
||||||
ALWAYS_DETAILED_SEC = NO
|
|
||||||
INLINE_INHERITED_MEMB = NO
|
|
||||||
FULL_PATH_NAMES = YES
|
|
||||||
STRIP_FROM_PATH =
|
|
||||||
STRIP_FROM_INC_PATH =
|
|
||||||
SHORT_NAMES = NO
|
|
||||||
JAVADOC_AUTOBRIEF = NO
|
|
||||||
MULTILINE_CPP_IS_BRIEF = NO
|
|
||||||
DETAILS_AT_TOP = NO
|
|
||||||
INHERIT_DOCS = YES
|
|
||||||
DISTRIBUTE_GROUP_DOC = NO
|
|
||||||
SEPARATE_MEMBER_PAGES = NO
|
|
||||||
TAB_SIZE = 8
|
|
||||||
ALIASES =
|
|
||||||
OPTIMIZE_OUTPUT_FOR_C = YES
|
|
||||||
OPTIMIZE_OUTPUT_JAVA = NO
|
|
||||||
SUBGROUPING = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Build related configuration options
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
EXTRACT_ALL = YES
|
|
||||||
EXTRACT_PRIVATE = YES
|
|
||||||
EXTRACT_STATIC = YES
|
|
||||||
EXTRACT_LOCAL_CLASSES = YES
|
|
||||||
EXTRACT_LOCAL_METHODS = NO
|
|
||||||
HIDE_UNDOC_MEMBERS = NO
|
|
||||||
HIDE_UNDOC_CLASSES = NO
|
|
||||||
HIDE_FRIEND_COMPOUNDS = NO
|
|
||||||
HIDE_IN_BODY_DOCS = NO
|
|
||||||
INTERNAL_DOCS = NO
|
|
||||||
CASE_SENSE_NAMES = NO
|
|
||||||
HIDE_SCOPE_NAMES = NO
|
|
||||||
SHOW_INCLUDE_FILES = YES
|
|
||||||
INLINE_INFO = YES
|
|
||||||
SORT_MEMBER_DOCS = YES
|
|
||||||
SORT_BRIEF_DOCS = NO
|
|
||||||
SORT_BY_SCOPE_NAME = NO
|
|
||||||
GENERATE_TODOLIST = YES
|
|
||||||
GENERATE_TESTLIST = YES
|
|
||||||
GENERATE_BUGLIST = YES
|
|
||||||
GENERATE_DEPRECATEDLIST= YES
|
|
||||||
ENABLED_SECTIONS =
|
|
||||||
MAX_INITIALIZER_LINES = 30
|
|
||||||
SHOW_USED_FILES = YES
|
|
||||||
SHOW_DIRECTORIES = YES
|
|
||||||
FILE_VERSION_FILTER =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to warning and progress messages
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
QUIET = NO
|
|
||||||
WARNINGS = YES
|
|
||||||
WARN_IF_UNDOCUMENTED = YES
|
|
||||||
WARN_IF_DOC_ERROR = YES
|
|
||||||
WARN_NO_PARAMDOC = NO
|
|
||||||
WARN_FORMAT = "$file:$line: $text"
|
|
||||||
WARN_LOGFILE =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the input files
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
INPUT = ./src
|
|
||||||
FILE_PATTERNS = *.c \
|
|
||||||
*.cc \
|
|
||||||
*.cxx \
|
|
||||||
*.cpp \
|
|
||||||
*.c++ \
|
|
||||||
*.d \
|
|
||||||
*.java \
|
|
||||||
*.ii \
|
|
||||||
*.ixx \
|
|
||||||
*.ipp \
|
|
||||||
*.i++ \
|
|
||||||
*.inl \
|
|
||||||
*.h \
|
|
||||||
*.hh \
|
|
||||||
*.hxx \
|
|
||||||
*.hpp \
|
|
||||||
*.h++ \
|
|
||||||
*.idl \
|
|
||||||
*.odl \
|
|
||||||
*.cs \
|
|
||||||
*.php \
|
|
||||||
*.php3 \
|
|
||||||
*.inc \
|
|
||||||
*.m \
|
|
||||||
*.mm \
|
|
||||||
*.dox
|
|
||||||
RECURSIVE = YES
|
|
||||||
EXCLUDE = ./src/sdl/IMG_xpm.c \
|
|
||||||
./src/sdl/SRB2DC/scramble.c
|
|
||||||
EXCLUDE_SYMLINKS = NO
|
|
||||||
EXCLUDE_PATTERNS = */src/hardware/*/* \
|
|
||||||
*/src/sdl/SDL_main/* \
|
|
||||||
*/src/*/*_private.h \
|
|
||||||
*/src/sdl/*/*help.? \
|
|
||||||
*/src/md5.? \
|
|
||||||
*/src/sdl/filter/*
|
|
||||||
EXAMPLE_PATH =
|
|
||||||
EXAMPLE_PATTERNS = *
|
|
||||||
EXAMPLE_RECURSIVE = NO
|
|
||||||
IMAGE_PATH =
|
|
||||||
INPUT_FILTER =
|
|
||||||
FILTER_PATTERNS =
|
|
||||||
FILTER_SOURCE_FILES = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to source browsing
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
SOURCE_BROWSER = NO
|
|
||||||
INLINE_SOURCES = NO
|
|
||||||
STRIP_CODE_COMMENTS = YES
|
|
||||||
REFERENCED_BY_RELATION = NO
|
|
||||||
REFERENCES_RELATION = NO
|
|
||||||
#USE_HTAGS = NO
|
|
||||||
VERBATIM_HEADERS = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the alphabetical class index
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
ALPHABETICAL_INDEX = NO
|
|
||||||
COLS_IN_ALPHA_INDEX = 5
|
|
||||||
IGNORE_PREFIX =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the HTML output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_HTML = YES
|
|
||||||
HTML_OUTPUT = html
|
|
||||||
HTML_FILE_EXTENSION = .html
|
|
||||||
HTML_HEADER =
|
|
||||||
HTML_FOOTER =
|
|
||||||
HTML_STYLESHEET =
|
|
||||||
HTML_ALIGN_MEMBERS = YES
|
|
||||||
GENERATE_HTMLHELP = NO
|
|
||||||
CHM_FILE =
|
|
||||||
HHC_LOCATION =
|
|
||||||
GENERATE_CHI = NO
|
|
||||||
BINARY_TOC = NO
|
|
||||||
TOC_EXPAND = NO
|
|
||||||
DISABLE_INDEX = NO
|
|
||||||
ENUM_VALUES_PER_LINE = 4
|
|
||||||
GENERATE_TREEVIEW = YES
|
|
||||||
TREEVIEW_WIDTH = 250
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the LaTeX output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_LATEX = NO
|
|
||||||
LATEX_OUTPUT = latex
|
|
||||||
LATEX_CMD_NAME = latex
|
|
||||||
MAKEINDEX_CMD_NAME = makeindex
|
|
||||||
COMPACT_LATEX = NO
|
|
||||||
PAPER_TYPE = a4wide
|
|
||||||
EXTRA_PACKAGES =
|
|
||||||
LATEX_HEADER =
|
|
||||||
PDF_HYPERLINKS = NO
|
|
||||||
USE_PDFLATEX = NO
|
|
||||||
LATEX_BATCHMODE = NO
|
|
||||||
LATEX_HIDE_INDICES = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the RTF output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_RTF = NO
|
|
||||||
RTF_OUTPUT = rtf
|
|
||||||
COMPACT_RTF = NO
|
|
||||||
RTF_HYPERLINKS = NO
|
|
||||||
RTF_STYLESHEET_FILE =
|
|
||||||
RTF_EXTENSIONS_FILE =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the man page output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_MAN = NO
|
|
||||||
MAN_OUTPUT = man
|
|
||||||
MAN_EXTENSION = .3
|
|
||||||
MAN_LINKS = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the XML output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_XML = NO
|
|
||||||
XML_OUTPUT = xml
|
|
||||||
XML_SCHEMA =
|
|
||||||
XML_DTD =
|
|
||||||
XML_PROGRAMLISTING = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options for the AutoGen Definitions output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_AUTOGEN_DEF = NO
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# configuration options related to the Perl module output
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
GENERATE_PERLMOD = NO
|
|
||||||
PERLMOD_LATEX = NO
|
|
||||||
PERLMOD_PRETTY = YES
|
|
||||||
PERLMOD_MAKEVAR_PREFIX =
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options related to the preprocessor
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
ENABLE_PREPROCESSING = YES
|
|
||||||
MACRO_EXPANSION = NO
|
|
||||||
EXPAND_ONLY_PREDEF = NO
|
|
||||||
SEARCH_INCLUDES = YES
|
|
||||||
INCLUDE_PATH =
|
|
||||||
INCLUDE_FILE_PATTERNS =
|
|
||||||
PREDEFINED = DOXYGEN \
|
|
||||||
HWRENDER \
|
|
||||||
DIRECTFULLSCREEN \
|
|
||||||
HW3SOUND \
|
|
||||||
LOGMESSAGES \
|
|
||||||
WALLSPLATS \
|
|
||||||
FLOORSPLATS
|
|
||||||
EXPAND_AS_DEFINED =
|
|
||||||
SKIP_FUNCTION_MACROS = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration::additions related to external references
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
TAGFILES =
|
|
||||||
GENERATE_TAGFILE =
|
|
||||||
ALLEXTERNALS = NO
|
|
||||||
EXTERNAL_GROUPS = YES
|
|
||||||
PERL_PATH = /usr/bin/perl
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration options related to the dot tool
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
CLASS_DIAGRAMS = YES
|
|
||||||
HIDE_UNDOC_RELATIONS = YES
|
|
||||||
HAVE_DOT = NO
|
|
||||||
CLASS_GRAPH = YES
|
|
||||||
COLLABORATION_GRAPH = YES
|
|
||||||
GROUP_GRAPHS = YES
|
|
||||||
UML_LOOK = NO
|
|
||||||
TEMPLATE_RELATIONS = NO
|
|
||||||
INCLUDE_GRAPH = YES
|
|
||||||
INCLUDED_BY_GRAPH = YES
|
|
||||||
CALL_GRAPH = NO
|
|
||||||
GRAPHICAL_HIERARCHY = YES
|
|
||||||
DIRECTORY_GRAPH = YES
|
|
||||||
DOT_IMAGE_FORMAT = png
|
|
||||||
DOT_PATH =
|
|
||||||
DOTFILE_DIRS =
|
|
||||||
MAX_DOT_GRAPH_WIDTH = 1024
|
|
||||||
MAX_DOT_GRAPH_HEIGHT = 1024
|
|
||||||
MAX_DOT_GRAPH_DEPTH = 1000
|
|
||||||
DOT_TRANSPARENT = NO
|
|
||||||
DOT_MULTI_TARGETS = NO
|
|
||||||
GENERATE_LEGEND = YES
|
|
||||||
DOT_CLEANUP = YES
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
# Configuration::additions related to the search engine
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
SEARCHENGINE = NO
|
|
||||||
-133
@@ -1,133 +0,0 @@
|
|||||||
version: 1.3.{branch}-{build}
|
|
||||||
os: MinGW
|
|
||||||
|
|
||||||
environment:
|
|
||||||
CC: ccache
|
|
||||||
CCACHE_CC: i686-w64-mingw32-gcc
|
|
||||||
CCACHE_CC_64: x86_64-w64-mingw32-gcc
|
|
||||||
WINDRES: windres
|
|
||||||
# c:\mingw-w64 i686 has gcc 6.3.0, so use c:\msys64 7.3.0 instead
|
|
||||||
MINGW_SDK: c:\msys64\mingw32
|
|
||||||
# c:\msys64 x86_64 has gcc 8.2.0, so use c:\mingw-w64 7.3.0 instead
|
|
||||||
MINGW_SDK_64: C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64
|
|
||||||
CFLAGS: -Wall -W -Werror -Wno-error=implicit-fallthrough -Wimplicit-fallthrough=3 -Wno-tautological-compare -Wno-error=suggest-attribute=noreturn
|
|
||||||
UPX_ZIP: upx391w
|
|
||||||
UPX_URL: http://upx.sourceforge.net/download/upx391w.zip
|
|
||||||
CCACHE_EXE: ccache.exe
|
|
||||||
CCACHE_URL: http://alam.srb2.org/ccache.exe
|
|
||||||
CCACHE_COMPRESS: true
|
|
||||||
CCACHE_DIR: C:\Users\appveyor\.ccache
|
|
||||||
# Disable UPX by default. The user can override this in their Appveyor project settings
|
|
||||||
NOUPX: 1
|
|
||||||
##############################
|
|
||||||
# DEPLOYER VARIABLES
|
|
||||||
# DPL_ENABLED=1 builds installers for branch names starting with `deployer`.
|
|
||||||
# DPL_TAG_ENABLED=1 will also build installers for release tags. DPL_ENABLED=1 must also be set.
|
|
||||||
# Set these in the Appveyor project settings
|
|
||||||
##############################
|
|
||||||
DPL_ENABLED: 0
|
|
||||||
DPL_TAG_ENABLED: 0
|
|
||||||
DPL_INSTALLER_NAME: srb2kart-v13
|
|
||||||
# Asset handling is barebones vs. Travis Deployer. We operate on 7z only.
|
|
||||||
# Include the README files and the OpenGL batch in the main and patch archives.
|
|
||||||
# The x86/x64 archives contain the DLL binaries.
|
|
||||||
ASSET_ARCHIVE_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-assets.7z
|
|
||||||
ASSET_ARCHIVE_PATCH_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-patch-assets.7z
|
|
||||||
ASSET_ARCHIVE_X86_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-x86-assets.7z
|
|
||||||
ASSET_ARCHIVE_X64_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-x64-assets.7z
|
|
||||||
ASSET_ARCHIVE_OPTIONAL_PATH: https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-optional-assets.7z
|
|
||||||
# This is overridden to 1 for release tag builds
|
|
||||||
ASSET_FILES_OPTIONAL_GET: 0
|
|
||||||
# For patches, also include the X86/X64 DLLs.
|
|
||||||
PACKAGE_PATCH_DLL_GET: 0
|
|
||||||
# Delete all asset downloads so they can be redownloaded
|
|
||||||
ASSET_CLEAN: 0
|
|
||||||
|
|
||||||
cache:
|
|
||||||
- upx391w.zip
|
|
||||||
- ccache.exe
|
|
||||||
- C:\Users\appveyor\.ccache
|
|
||||||
- C:\Users\appveyor\srb2_cache
|
|
||||||
|
|
||||||
install:
|
|
||||||
- if [%CONFIGURATION%] == [SDL64] ( set "X86_64=1" )
|
|
||||||
- if [%CONFIGURATION%] == [SDL64] ( set "CONFIGURATION=SDL" )
|
|
||||||
- if [%X86_64%] == [1] ( set "MINGW_SDK=%MINGW_SDK_64%" )
|
|
||||||
- if [%X86_64%] == [1] ( set "CCACHE_CC=%CCACHE_CC_64%" )
|
|
||||||
|
|
||||||
- if not exist "%UPX_ZIP%.zip" appveyor DownloadFile "%UPX_URL%" -FileName "%UPX_ZIP%.zip"
|
|
||||||
- 7z x -y "%UPX_ZIP%.zip" -o%TMP% >null
|
|
||||||
- robocopy /S /xx /ns /nc /nfl /ndl /np /njh /njs "%TMP%\%UPX_ZIP%" "%MINGW_SDK%\bin" upx.exe || exit 0
|
|
||||||
|
|
||||||
- if not exist "%CCACHE_EXE%" appveyor DownloadFile "%CCACHE_URL%" -FileName "%CCACHE_EXE%"
|
|
||||||
- ccache -M 99M
|
|
||||||
- xcopy /Y /V /I ccache.exe "%MINGW_SDK%\bin"
|
|
||||||
|
|
||||||
configuration:
|
|
||||||
- SDL
|
|
||||||
#- SDL64
|
|
||||||
|
|
||||||
before_build:
|
|
||||||
- set "Path=%MINGW_SDK%\bin;%Path%"
|
|
||||||
- if [%X86_64%] == [1] ( x86_64-w64-mingw32-gcc --version ) else ( i686-w64-mingw32-gcc --version )
|
|
||||||
- mingw32-make --version
|
|
||||||
- if not [%NOUPX%] == [1] ( upx -V )
|
|
||||||
- ccache -V
|
|
||||||
- ccache -s
|
|
||||||
- if [%NOUPX%] == [1] ( set "NOUPX=NOUPX=1" ) else ( set "NOUPX=" )
|
|
||||||
- if defined [%APPVEYOR_PULL_REQUEST_HEAD_COMMIT%] ( set "COMMIT=%APPVEYOR_PULL_REQUEST_HEAD_COMMIT%" ) else ( set "COMMIT=%APPVEYOR_REPO_COMMIT%" )
|
|
||||||
- cmd: git rev-parse --short %COMMIT%>%TMP%/gitshort.txt
|
|
||||||
- cmd: set /P GITSHORT=<%TMP%/gitshort.txt
|
|
||||||
# for pull requests, take the owner's name only, if this isn't the same repo of course
|
|
||||||
- set "REPO=%APPVEYOR_REPO_BRANCH%"
|
|
||||||
- if not [%APPVEYOR_PULL_REQUEST_HEAD_REPO_NAME%] == [] ( if not [%APPVEYOR_PULL_REQUEST_HEAD_REPO_NAME%] == [%APPVEYOR_REPO_NAME%] ( for /f "delims=/" %%a in ("%APPVEYOR_PULL_REQUEST_HEAD_REPO_NAME%") do set "REPO=%%a-%APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH%" ) )
|
|
||||||
- set "EXENAME=EXENAME=srb2win-%REPO%-%GITSHORT%.exe"
|
|
||||||
- set "SRB2_MFLAGS=-C src WARNINGMODE=1 CCACHE=1 NOOBJDUMP=1 %NOUPX% %EXENAME%"
|
|
||||||
- if [%X86_64%] == [1] ( set "MINGW_FLAGS=MINGW64=1 X86_64=1 GCC81=1" ) else ( set "MINGW_FLAGS=MINGW=1 GCC91=1" )
|
|
||||||
- set "SRB2_MFLAGS=%SRB2_MFLAGS% %MINGW_FLAGS% %CONFIGURATION%=1"
|
|
||||||
|
|
||||||
build_script:
|
|
||||||
- cmd: mingw32-make.exe %SRB2_MFLAGS% clean
|
|
||||||
- cmd: mingw32-make.exe %SRB2_MFLAGS% ERRORMODE=1 -k
|
|
||||||
|
|
||||||
after_build:
|
|
||||||
- if [%X86_64%] == [1] (
|
|
||||||
set "BUILD_PATH=bin\Mingw64\Release"
|
|
||||||
) else (
|
|
||||||
set "BUILD_PATH=bin\Mingw\Release"
|
|
||||||
)
|
|
||||||
- if [%X86_64%] == [1] ( set "CONFIGURATION=%CONFIGURATION%64" )
|
|
||||||
- ccache -s
|
|
||||||
- set BUILD_ARCHIVE=%REPO%-%GITSHORT%-%CONFIGURATION%.7z
|
|
||||||
- set BUILDSARCHIVE=%REPO%-%CONFIGURATION%.7z
|
|
||||||
- cmd: 7z a %BUILD_ARCHIVE% %BUILD_PATH% -xr!.gitignore
|
|
||||||
- appveyor PushArtifact %BUILD_ARCHIVE%
|
|
||||||
- cmd: copy %BUILD_ARCHIVE% %BUILDSARCHIVE%
|
|
||||||
- appveyor PushArtifact %BUILDSARCHIVE%
|
|
||||||
##############################
|
|
||||||
# DEPLOYER SCRIPT
|
|
||||||
##############################
|
|
||||||
- if [%DPL_ENABLED%] == [1] ( call "deployer\appveyor\deployer.bat" )
|
|
||||||
|
|
||||||
test: off
|
|
||||||
|
|
||||||
#deploy:
|
|
||||||
# - provider: FTP
|
|
||||||
# protocol: ftps
|
|
||||||
# host:
|
|
||||||
# secure: NsLJEPIBvmwCOj8Tg8RoRQ==
|
|
||||||
# username:
|
|
||||||
# secure: ejxi5mvk7oLYu7QtbYojajEPigMy0mokaKhuEVuDZcA=
|
|
||||||
# password:
|
|
||||||
# secure: Hbn6Uy3lT0YZ88yFJ3aW4w==
|
|
||||||
# folder: appveyor
|
|
||||||
# application:
|
|
||||||
# active_mode: false
|
|
||||||
# on:
|
|
||||||
# branch: master
|
|
||||||
# appveyor_repo_tag: true
|
|
||||||
|
|
||||||
|
|
||||||
on_finish:
|
|
||||||
#- cmd: echo xfreerdp /u:appveyor /cert-ignore +clipboard /v:<ip>:<port>
|
|
||||||
#- ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
|
|
||||||
@@ -1,70 +0,0 @@
|
|||||||
srb2 for Debian
|
|
||||||
---------------
|
|
||||||
|
|
||||||
SRB2 Debian package!
|
|
||||||
Hi there, to rebuild these packages just use debuild in the root source directory (not /src!).
|
|
||||||
You can build these with or without a key if you want, but if you want to put these on a repo,
|
|
||||||
generate your own GnuPG key as per the https://help.ubuntu.com/community/GnuPrivacyGuardHowto
|
|
||||||
instructions and pass the -k<keyid> command to debuild. Make sure you export the key footprint
|
|
||||||
and give them to your users to install with apt-key add. Thanks!
|
|
||||||
|
|
||||||
-- Callum Dickinson <gcfreak_ag20@hotmail.com> Fri, 26 Nov 2010 18:25:31 +1300
|
|
||||||
|
|
||||||
---------------
|
|
||||||
|
|
||||||
|
|
||||||
Templating
|
|
||||||
|
|
||||||
Note that you MUST run [repo-root]/debian_template.sh before running debuild
|
|
||||||
on these scripts! debian_template.sh fills these template files with working values.
|
|
||||||
|
|
||||||
You should also set PACKAGE_NAME_EMAIL="John Doe <jdoe@example.com>" to match
|
|
||||||
the identity of the key you will use to sign the package.
|
|
||||||
|
|
||||||
|
|
||||||
Building for Launchpad PPA
|
|
||||||
|
|
||||||
Use these steps to prepare building a source package for Launchpad:
|
|
||||||
|
|
||||||
1. cd [repo-root]
|
|
||||||
2. git reset --hard; git clean -fd; git clean -fx;
|
|
||||||
* Resets your repo folder to a committed state and removes untracked files
|
|
||||||
* If you built srb2-data in the assets/ folder, MAKE SURE THAT FOLDER DOES NOT HAVE ASSETS,
|
|
||||||
OR THEY MAY BE INCLUDED IN THE MAIN SOURCE PACKAGE!
|
|
||||||
|
|
||||||
Build the source package:
|
|
||||||
|
|
||||||
1. source [repo-root]/debian_template.sh
|
|
||||||
* Initializes defaults for the package variables and fills in templates.
|
|
||||||
2. debuild -S (builds the source package for Launchpad)
|
|
||||||
|
|
||||||
|
|
||||||
Signing for Launchpad PPA
|
|
||||||
|
|
||||||
First, follow Callum's instructions to generate a GnuPG key with your identity. You will need
|
|
||||||
to publish the fingerprint of that key to Ubuntu's key server.
|
|
||||||
|
|
||||||
https://help.ubuntu.com/community/GnuPrivacyGuardHowto#Uploading_the_key_to_Ubuntu_keyserver
|
|
||||||
|
|
||||||
Next, you will have to add that key fingerprint to your Launchpad account. Go to your Launchpad
|
|
||||||
profile and click the yellow Edit button next to "OpenPGP keys". Once you add the key, you can
|
|
||||||
upload signed source packages and publish them onto your PPA.
|
|
||||||
|
|
||||||
IF YOU UPLOAD A PACKAGE and Launchpad does NOT send you a confirmation or rejection email, that
|
|
||||||
means your key is not set up correctly with your Launchpad account.
|
|
||||||
|
|
||||||
Finally, if your packages have not already been signed, follow these steps:
|
|
||||||
|
|
||||||
1. cd ..
|
|
||||||
* Packages are located in the parent folder of where debuild was called
|
|
||||||
2. debsign "srb2_[version]_source.changes"
|
|
||||||
* You may need to specify -k [key-fingerprint]
|
|
||||||
|
|
||||||
|
|
||||||
Uploading for Launchpad PPA
|
|
||||||
|
|
||||||
Follow the instructions at <https://help.launchpad.net/Packaging/PPA/Uploading> to upload
|
|
||||||
to your PPA and have Launchpad build your binary deb packages.
|
|
||||||
|
|
||||||
|
|
||||||
-- Marco Zafra <marco.a.zafra@gmail.com> Mon, 26 Nov 2018 21:13:00 -0500
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
srb2 for Debian
|
|
||||||
---------------
|
|
||||||
|
|
||||||
Here it is! SRB2 v2.1.2 source code!
|
|
||||||
|
|
||||||
GNU/Linux
|
|
||||||
~~~
|
|
||||||
|
|
||||||
Dependencies:
|
|
||||||
SDL 1.2.7 or better (from libsdl.org)
|
|
||||||
SDL_Mixer 1.2.2(.7 for file-less music playback) (from libsdl.org)
|
|
||||||
Nasm (use NOASM=1 if you don't have it or have an non-i386 system, I think)
|
|
||||||
libPNG 1.2.7
|
|
||||||
Zlib 1.2.3
|
|
||||||
The Xiph.org libogg and libvorbis libraries
|
|
||||||
The OpenGL headers (from Mesa, usually shipped with your X.org or XFree
|
|
||||||
installation, so you needn't worry, most likely)
|
|
||||||
GCC 3.x toolchain and binutils
|
|
||||||
GNU Make
|
|
||||||
|
|
||||||
Build instructions:
|
|
||||||
|
|
||||||
make -C src LINUX=1
|
|
||||||
|
|
||||||
Build instructions for non-X86 devices (such as X64):
|
|
||||||
|
|
||||||
make -C src LINUX=1 NONX86=1
|
|
||||||
|
|
||||||
Build instructions to build for Wii Linux/SRB2Wii on a PowerPC system,
|
|
||||||
follow cross-compiling instructions for cross-compiling on a x86 system:
|
|
||||||
|
|
||||||
make -C src LINUX=1 WIILINUX=1
|
|
||||||
|
|
||||||
Build instructions to build for Pandora (Linux) on a ARM system,
|
|
||||||
follow cross-compiling instructions for cross-compiling on a x86 system:
|
|
||||||
|
|
||||||
make -C src PANDORA=1
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
binaries will turn in up in bin/
|
|
||||||
|
|
||||||
note: read the src/makefile for more options
|
|
||||||
|
|
||||||
- Sonic Team Junior
|
|
||||||
http://www.srb2.org
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
${PACKAGE_NAME} (${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION}) ${PACKAGE_DISTRO}; urgency=${PACKAGE_URGENCY}
|
|
||||||
|
|
||||||
* ${PROGRAM_NAME} v${PROGRAM_VERSION} program build
|
|
||||||
|
|
||||||
-- ${PACKAGE_NAME_EMAIL} ${__PACKAGE_DATETIME}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
7
|
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
# SRB2 Debian package control file.
|
|
||||||
|
|
||||||
Source: ${PACKAGE_NAME}
|
|
||||||
Section: games
|
|
||||||
Priority: extra
|
|
||||||
Maintainer: ${PACKAGE_GROUP_NAME_EMAIL}
|
|
||||||
Build-Depends: debhelper (>= 7.0.50~),
|
|
||||||
libsdl2-dev,
|
|
||||||
libsdl2-mixer-dev,
|
|
||||||
libpng-dev | libpng16-dev | libpng12-dev (>= 1.2.7),
|
|
||||||
zlib1g-dev,
|
|
||||||
libgme-dev,
|
|
||||||
libcurl4-openssl-dev,
|
|
||||||
libglu1-dev | libglu-dev,
|
|
||||||
libosmesa6-dev | libgl-dev,
|
|
||||||
nasm [i386]
|
|
||||||
Standards-Version: 3.8.4
|
|
||||||
Homepage: ${PACKAGE_WEBSITE}
|
|
||||||
|
|
||||||
Package: ${PACKAGE_NAME}
|
|
||||||
Architecture: any
|
|
||||||
Depends: ${SHLIBS_DEPENDS}, ${MISC_DEPENDS},
|
|
||||||
${PACKAGE_NAME}-data (>> ${PACKAGE_ASSET_MINVERSION}), ${PACKAGE_NAME}-data (<< ${PACKAGE_ASSET_MAXVERSION}),
|
|
||||||
libsdl2-2.0-0,
|
|
||||||
libsdl2-mixer-2.0-0,
|
|
||||||
zlib1g,
|
|
||||||
libgme0,
|
|
||||||
libcurl4,
|
|
||||||
libpng | libpng16-16 | libpng12-0
|
|
||||||
Description: A cross-platform 3D Sonic fangame
|
|
||||||
Sonic Robo Blast 2 is a 3D open-source Sonic the Hedgehog
|
|
||||||
fangame built using a modified version of the Doom Legacy
|
|
||||||
port of Doom. SRB2 is closely inspired by the original
|
|
||||||
Sonic games from the Sega Genesis, and attempts to recreate
|
|
||||||
the design in 3D. It features tons of levels, enemies, speed,
|
|
||||||
and quite a lot of the fun that the original Sonic games provided.
|
|
||||||
|
|
||||||
|
|
||||||
Package: ${PACKAGE_NAME}-dbg
|
|
||||||
Architecture: any
|
|
||||||
# FIXME: should be Depends: ${SHLIBS_DEPENDS}, ${MISC_DEPENDS}, srb2-data (= 2.1.14), srb2 but dh_shlibdeps is being an asshat
|
|
||||||
Depends: libc6, ${MISC_DEPENDS}, ${PACKAGE_NAME}-data (>> ${PACKAGE_ASSET_MINVERSION}), ${PACKAGE_NAME}-data (<< ${PACKAGE_ASSET_MAXVERSION}), ${PACKAGE_NAME}
|
|
||||||
Description: A cross-platform 3D Sonic fangame
|
|
||||||
Sonic Robo Blast 2 is a 3D open-source Sonic the Hedgehog
|
|
||||||
fangame built using a modified version of the Doom Legacy
|
|
||||||
port of Doom. SRB2 is closely inspired by the original
|
|
||||||
Sonic games from the Sega Genesis, and attempts to recreate
|
|
||||||
the design in 3D. It features tons of levels, enemies, speed,
|
|
||||||
and quite a lot of the fun that the original Sonic games provided.
|
|
||||||
This is a debug binary; its symbols will be loaded by gdb
|
|
||||||
when the user starts the game with gdb for debugging.
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
This work was packaged for Debian by:
|
|
||||||
|
|
||||||
${PACKAGE_NAME_EMAIL} ${__PACKAGE_DATETIME}
|
|
||||||
|
|
||||||
It was downloaded from:
|
|
||||||
|
|
||||||
${PACKAGE_WEBSITE}
|
|
||||||
|
|
||||||
Upstream Author(s):
|
|
||||||
|
|
||||||
${PACKAGE_GROUP_NAME_EMAIL}
|
|
||||||
|
|
||||||
Copyright:
|
|
||||||
|
|
||||||
Copyright (C) 1998-2018 by Sonic Team Junior
|
|
||||||
|
|
||||||
License:
|
|
||||||
|
|
||||||
GNU General Public License, version 2
|
|
||||||
|
|
||||||
The Debian packaging is:
|
|
||||||
|
|
||||||
Copyright (C) 2010 Callum Dickinson <gcfreak_ag20@hotmail.com>
|
|
||||||
Copyright (C) 2010-2018 by Sonic Team Junior <stjr@srb2.org>
|
|
||||||
|
|
||||||
and is licensed under the GPL version 2,
|
|
||||||
see "/usr/share/common-licenses/GPL-2".
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
README.md
|
|
||||||
assets/README.txt
|
|
||||||
assets/LICENSE.txt
|
|
||||||
assets/LICENSE-3RD-PARTY.txt
|
|
||||||
@@ -1,172 +0,0 @@
|
|||||||
#!/usr/bin/make -f
|
|
||||||
# -*- makefile -*-
|
|
||||||
|
|
||||||
#############################################################################
|
|
||||||
#
|
|
||||||
# GNU Make Debian package makefile for SRB2
|
|
||||||
#
|
|
||||||
# Copyright (C) 1998-2010 by Callum Dickinson
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# This file most likely will not need to be modified to make
|
|
||||||
# branches of SRB2 capable of making their own Debian packages,
|
|
||||||
# instead look at the /debian/control file for configuration.
|
|
||||||
#
|
|
||||||
#############################################################################
|
|
||||||
|
|
||||||
#############################################################################
|
|
||||||
#
|
|
||||||
# !!!!!!!!!! DEPLOYER NOTE !!!!!!!!!!
|
|
||||||
#
|
|
||||||
# Variables to be templated are curly-braced ${PACKAGE_INSTALL_PATH}
|
|
||||||
# Variables used by the rules script are parenthese'd $(PKGDIR)
|
|
||||||
# See [repo-root]/debian_template.sh
|
|
||||||
#
|
|
||||||
#############################################################################
|
|
||||||
|
|
||||||
# Uncomment this to turn on verbose mode.
|
|
||||||
#export DH_VERBOSE=1
|
|
||||||
|
|
||||||
# user/group of to-be-installed files
|
|
||||||
ROOT_USER := 0
|
|
||||||
ROOT_GROUP := 0
|
|
||||||
|
|
||||||
# determine cross-compile (may need some work)
|
|
||||||
CROSS_COMPILE_BUILD := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
|
|
||||||
CROSS_COMPILE_HOST := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
|
|
||||||
CROSS_COMPILE := $(shell test "$(CROSS_COMPILE_BUILD)" != "$(CROSS_COMPILE_HOST)" && echo "$(CROSS_COMPILE_HOST)")
|
|
||||||
|
|
||||||
MKDIR = mkdir -p
|
|
||||||
MAKE = make
|
|
||||||
INSTALL = install -o $(ROOT_USER) -g $(ROOT_GROUP) -m 644
|
|
||||||
MV = mv
|
|
||||||
RM = rm -rf
|
|
||||||
STRIPARGS = --strip-unneeded
|
|
||||||
ifdef CROSS_COMPILE
|
|
||||||
STRIP = $(CROSS_COMPILE_HOST)-strip $(STRIPARGS)
|
|
||||||
else
|
|
||||||
STRIP = strip $(STRIPARGS)
|
|
||||||
endif
|
|
||||||
DIR := $(shell pwd)
|
|
||||||
|
|
||||||
# FIXME: hate hate hate head/tail hack :(
|
|
||||||
CONTROLF = $(DIR)/debian/control
|
|
||||||
PACKAGE = ${PACKAGE_NAME}
|
|
||||||
DBGPKG = ${PACKAGE}-dbg
|
|
||||||
TITLE = ${PROGRAM_NAME}
|
|
||||||
SECTION = Games/Action
|
|
||||||
EXENAME = ${PROGRAM_FILENAME}
|
|
||||||
DBGNAME = debug/$(EXENAME)
|
|
||||||
|
|
||||||
PKGDIR = $(shell echo "${PACKAGE_INSTALL_PATH}" | sed -e 's/^\///')
|
|
||||||
DBGDIR = usr/lib/debug/$(PKGDIR)
|
|
||||||
LINKDIR = $(shell echo "${PACKAGE_LINK_PATH}" | sed -e 's/^\///')
|
|
||||||
PIXMAPS_DIR = usr/share/pixmaps
|
|
||||||
DESKTOP_DIR = usr/share/applications
|
|
||||||
PREFIX = $(shell test "$(CROSS_COMPILE_BUILD)" != "$(CROSS_COMPILE_HOST)" && echo "PREFIX=$(CROSS_COMPILE_HOST)")
|
|
||||||
OS = LINUX=1
|
|
||||||
NONX86 = $(shell test "`echo $(CROSS_COMPILE_HOST) | grep 'i[3-6]86'`" || echo "NONX86=1")
|
|
||||||
MAKEARGS = $(OS) $(NONX86) $(PREFIX) EXENAME=$(EXENAME) DBGNAME=$(DBGNAME) NOOBJDUMP=1 # SDL_PKGCONFIG=sdl2 PNG_PKGCONFIG=libpng
|
|
||||||
MENUFILE1 = ?package($(PACKAGE)):needs="X11" section="$(SECTION)"
|
|
||||||
MENUFILE2 = title="$(TITLE)" command="/$(PKGDIR)/$(PACKAGE)"
|
|
||||||
BINDIR := $(DIR)/bin/Linux/Release
|
|
||||||
|
|
||||||
# FIXME pkg-config dir hacks
|
|
||||||
# Launchpad doesn't need this; it actually makes i386 builds fail due to cross-compile
|
|
||||||
# export PKG_CONFIG_LIBDIR = /usr/lib/$(CROSS_COMPILE_HOST)/pkgconfig
|
|
||||||
LDFLAGS += "-Wl,-rpath=/usr/lib/$(CROSS_COMPILE_HOST)"
|
|
||||||
|
|
||||||
# Some libgme-dev packages don't use pkg-config yet, so include the linker flag ourselves
|
|
||||||
PKG_CONFIG?=pkg-config
|
|
||||||
LIBGME_PKGCONFIG?=libgme
|
|
||||||
LIBGME_LDFLAGS?=$(shell $(PKG_CONFIG) $(LIBGME_PKGCONFIG) --libs)
|
|
||||||
|
|
||||||
ifeq ($(LIBGME_LDFLAGS),)
|
|
||||||
MAKEARGS += LIBGME_LDFLAGS=-lgme
|
|
||||||
endif
|
|
||||||
|
|
||||||
build:
|
|
||||||
$(MKDIR) $(BINDIR)/debug
|
|
||||||
$(MAKE) -C $(DIR)/src $(MAKEARGS)
|
|
||||||
$(STRIP) $(BINDIR)/$(EXENAME)
|
|
||||||
|
|
||||||
binary-indep:
|
|
||||||
# only here to kill Lintian warning
|
|
||||||
echo "no need to do any arch-independent stuff"
|
|
||||||
|
|
||||||
binary-arch:
|
|
||||||
# create ddirs
|
|
||||||
$(MKDIR) $(DIR)/debian/tmp/$(PKGDIR) $(DIR)/debian/tmp/$(DBGDIR)
|
|
||||||
$(MKDIR) $(DIR)/debian/tmp/$(PKGDIR) $(DIR)/debian/tmp/$(DESKTOP_DIR)
|
|
||||||
$(MKDIR) $(DIR)/debian/tmp/$(PKGDIR) $(DIR)/debian/tmp/$(PIXMAPS_DIR)
|
|
||||||
# install main binaries
|
|
||||||
$(INSTALL) $(BINDIR)/$(EXENAME) $(DIR)/debian/tmp/$(PKGDIR)/$(PACKAGE)
|
|
||||||
$(INSTALL) $(BINDIR)/$(DBGNAME) $(DIR)/debian/tmp/$(DBGDIR)/$(PACKAGE)
|
|
||||||
# Install desktop file and banner image
|
|
||||||
$(INSTALL) $(DIR)/srb2.png $(DIR)/debian/tmp/usr/share/pixmaps/${PROGRAM_FILENAME}.png
|
|
||||||
$(INSTALL) $(DIR)/debian/srb2.desktop $(DIR)/debian/tmp/usr/share/applications/${PROGRAM_FILENAME}.desktop
|
|
||||||
# add compiled binaries to include-binaries
|
|
||||||
echo $(BINDIR)/$(EXENAME) >> $(DIR)/debian/source/include-binaries
|
|
||||||
echo $(BINDIR)/$(EXENAME) >> $(DIR)/debian/source/include-binaries
|
|
||||||
# Generate install folder files
|
|
||||||
echo $(PKGDIR) > $(DIR)/debian/$(PACKAGE).install
|
|
||||||
echo $(DESKTOP_DIR) >> $(DIR)/debian/$(PACKAGE).install
|
|
||||||
echo $(PIXMAPS_DIR) >> $(DIR)/debian/$(PACKAGE).install
|
|
||||||
echo $(DBGDIR) > $(DIR)/debian/$(DBGPKG).install
|
|
||||||
# Launchpad only calls binary-arch, so just move everything up
|
|
||||||
#binary: binary-arch
|
|
||||||
# Generate .desktop specifications
|
|
||||||
echo "`echo '$(MENUFILE1)\\'`" > $(DIR)/debian/menu
|
|
||||||
echo " `echo '$(MENUFILE2)'`" >> $(DIR)/debian/menu
|
|
||||||
dh_testdir
|
|
||||||
dh_testroot
|
|
||||||
dh_installchangelogs
|
|
||||||
dh_installdocs
|
|
||||||
# dh_installexamples
|
|
||||||
dh_install --sourcedir=$(DIR)/debian/tmp
|
|
||||||
dh_installmenu
|
|
||||||
# dh_installdebconf
|
|
||||||
# dh_installlogrotate
|
|
||||||
# dh_installemacsen
|
|
||||||
# dh_installpam
|
|
||||||
# dh_installmime
|
|
||||||
# dh_python
|
|
||||||
# dh_installinit
|
|
||||||
# dh_installcron
|
|
||||||
# dh_installinfo
|
|
||||||
# dh_installman
|
|
||||||
dh_link $(PKGDIR)/$(EXENAME) $(LINKDIR)/$(EXENAME)
|
|
||||||
dh_compress
|
|
||||||
dh_fixperms
|
|
||||||
# dh_perl
|
|
||||||
# dh_makeshlibs
|
|
||||||
dh_installdeb
|
|
||||||
-dh_shlibdeps
|
|
||||||
dh_gencontrol
|
|
||||||
dh_md5sums
|
|
||||||
dh_builddeb
|
|
||||||
|
|
||||||
binary: binary-arch
|
|
||||||
|
|
||||||
clean:
|
|
||||||
$(MAKE) -C $(DIR)/src $(MAKEARGS) clean cleandep
|
|
||||||
$(RM) $(BINDIR)/*
|
|
||||||
$(RM) $(DIR)/debian/$(PACKAGE)/*
|
|
||||||
$(RM) $(DIR)/debian/$(DBGPKG)/*
|
|
||||||
$(RM) $(DIR)/debian/tmp/*
|
|
||||||
$(RM) $(DIR)/debian/$(PACKAGE).install
|
|
||||||
$(RM) $(DIR)/debian/$(DBGPKG).install
|
|
||||||
$(RM) $(DIR)/debian/menu
|
|
||||||
$(RM) $(DIR)/debian/files
|
|
||||||
$(RM) $(DIR)/debian/source/include-binaries
|
|
||||||
|
|
||||||
.PHONY: all clean binary binary-indep build
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
3.0 (native)
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
tar-ignore = "assets/*.srb"
|
|
||||||
tar-ignore = "assets/*.pk3"
|
|
||||||
tar-ignore = "assets/*.dta"
|
|
||||||
tar-ignore = "assets/*.wad"
|
|
||||||
tar-ignore = "assets/*.kart"
|
|
||||||
tar-ignore = "assets/debian/${PACKAGE_NAME}-data/*"
|
|
||||||
tar-ignore = "assets/debian/tmp/*"
|
|
||||||
tar-ignore = "*.obj"
|
|
||||||
tar-ignore = "*.dep"
|
|
||||||
tar-ignore = ".git/*"
|
|
||||||
tar-ignore = ".git*"
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
[Desktop Entry]
|
|
||||||
Name=${PROGRAM_NAME}
|
|
||||||
Comment=${PROGRAM_DESCRIPTION}
|
|
||||||
Encoding=UTF-8
|
|
||||||
Exec=${PACKAGE_INSTALL_PATH}/${PROGRAM_FILENAME}
|
|
||||||
Icon=/usr/share/pixmaps/${PROGRAM_FILENAME}.png
|
|
||||||
Terminal=false
|
|
||||||
Type=Application
|
|
||||||
StartupNotify=false
|
|
||||||
Categories=Application;Game;
|
|
||||||
@@ -1,166 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Deployer for Travis-CI
|
|
||||||
# Debian package templating
|
|
||||||
#
|
|
||||||
# Call this script BEFORE running debuild!
|
|
||||||
# source ./debian_template.sh [clean] [main/asset]
|
|
||||||
#
|
|
||||||
# Before running this script,
|
|
||||||
# you should also set PACKAGE_NAME_EMAIL="John Doe <jdoe@example.com>" to match
|
|
||||||
# the identity of the key you will use to sign the package.
|
|
||||||
#
|
|
||||||
|
|
||||||
# Get script's actual path
|
|
||||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
|
|
||||||
|
|
||||||
# Recursive function for directory crawling
|
|
||||||
# $1 = Directory root to crawl
|
|
||||||
# $2 = Code to eval on file
|
|
||||||
# $3 = Code to eval on directory
|
|
||||||
# Exposes $dirtails, $dirlevel, and $dirtailname
|
|
||||||
dirlevel=0 # initialize
|
|
||||||
dirtails=()
|
|
||||||
|
|
||||||
# Utility function to make dira/dirb/dirc string
|
|
||||||
makedirtailname () {
|
|
||||||
dirtailname=""
|
|
||||||
for tail in $dirtails; do
|
|
||||||
if [[ "$dirtailname" == "" ]]; then
|
|
||||||
dirtailname="/$tail";
|
|
||||||
else
|
|
||||||
dirtailname="$dirtailname/$tail";
|
|
||||||
fi;
|
|
||||||
done;
|
|
||||||
}
|
|
||||||
|
|
||||||
evaldirectory () {
|
|
||||||
if [ -d "$1" ]; then
|
|
||||||
# Set contextual variables
|
|
||||||
# dirtails is an array of directory basenames after the crawl root
|
|
||||||
if (( $dirlevel > 0 )); then
|
|
||||||
dirtails+=( "$(basename $1)" );
|
|
||||||
else
|
|
||||||
dirtails=();
|
|
||||||
fi;
|
|
||||||
dirlevel=$((dirlevel+1));
|
|
||||||
|
|
||||||
# Generate directory path after the crawl root
|
|
||||||
makedirtailname;
|
|
||||||
|
|
||||||
# Eval our directory with the latest contextual info
|
|
||||||
# Don't eval on root
|
|
||||||
if (( $dirlevel > 1 )) && [[ "$3" != "" ]]; then
|
|
||||||
eval "$3";
|
|
||||||
fi;
|
|
||||||
|
|
||||||
# Iterate entries
|
|
||||||
for name in $1/*; do
|
|
||||||
if [ -d "$name" ]; then
|
|
||||||
# Name is a directory, but don't eval yet
|
|
||||||
# Recurse so our vars are updated
|
|
||||||
evaldirectory "$name" "$2" "$3";
|
|
||||||
|
|
||||||
# Decrement our directory level and remove a dirtail
|
|
||||||
unset 'dirtails[ ${#dirtails[@]}-1 ]';
|
|
||||||
dirlevel=$((dirlevel-1));
|
|
||||||
makedirtailname;
|
|
||||||
else
|
|
||||||
# Name is a file
|
|
||||||
if [ -f "$name" ] && [[ "$2" != "" ]]; then
|
|
||||||
eval "$2";
|
|
||||||
fi;
|
|
||||||
fi;
|
|
||||||
done;
|
|
||||||
|
|
||||||
# Reset our variables; we're done iterating
|
|
||||||
if (( $dirlevel == 1 )); then
|
|
||||||
dirlevel=0;
|
|
||||||
fi;
|
|
||||||
fi;
|
|
||||||
}
|
|
||||||
|
|
||||||
#
|
|
||||||
# Initialize package parameter defaults
|
|
||||||
#
|
|
||||||
if [[ "$__DEBIAN_PARAMETERS_INITIALIZED" != "1" ]]; then
|
|
||||||
. ${DIR}/deployer/travis/deployer_defaults.sh;
|
|
||||||
fi;
|
|
||||||
|
|
||||||
# Clean up after ourselves; we only expect to run this script once
|
|
||||||
# during buildboting
|
|
||||||
__DEBIAN_PARAMETERS_INITIALIZED=0
|
|
||||||
|
|
||||||
# for envsubst
|
|
||||||
export __PACKAGE_DATETIME="$(date '+%a, %d %b %Y %H:%M:%S %z')"
|
|
||||||
export __PACKAGE_DATETIME_DIGIT="$(date -u '+%Y%m%d%H%M%S')"
|
|
||||||
|
|
||||||
if [[ "$PACKAGE_REVISION" == "" ]]; then
|
|
||||||
PACKAGE_REVISION="-$__PACKAGE_DATETIME_DIGIT";
|
|
||||||
__PACKAGE_REVISION_BY_DATE=1;
|
|
||||||
export PACKAGE_REVISION=${PACKAGE_REVISION}; # for envsubst
|
|
||||||
fi;
|
|
||||||
|
|
||||||
#
|
|
||||||
# Clean the old debian/ directories
|
|
||||||
#
|
|
||||||
if [[ "$1" == "clean" ]]; then
|
|
||||||
toclean=$2;
|
|
||||||
else
|
|
||||||
toclean=$1;
|
|
||||||
fi;
|
|
||||||
|
|
||||||
if [[ "$toclean" == "" ]] || [[ "$toclean" == "main" ]]; then
|
|
||||||
echo "Cleaning main package scripts";
|
|
||||||
if [[ ! -f ${DIR}/debian ]]; then
|
|
||||||
rm -rf ${DIR}/debian;
|
|
||||||
fi;
|
|
||||||
fi;
|
|
||||||
if [[ "$toclean" == "" ]] || [[ "$toclean" == "asset" ]]; then
|
|
||||||
echo "Cleaning asset package scripts";
|
|
||||||
if [[ ! -f ${DIR}/assets/debian ]]; then
|
|
||||||
rm -rf ${DIR}/assets/debian;
|
|
||||||
fi;
|
|
||||||
fi;
|
|
||||||
|
|
||||||
#
|
|
||||||
# Make new templates
|
|
||||||
#
|
|
||||||
if [[ "$1" != "clean" ]]; then
|
|
||||||
totemplate=$1;
|
|
||||||
|
|
||||||
# HACK: ${shlibs:Depends} in the templates make the templating fail
|
|
||||||
# So just define replacemment variables
|
|
||||||
export SHLIBS_DEPENDS=${SHLIBS_DEPENDS};
|
|
||||||
export MISC_DEPENDS=${MISC_DEPENDS};
|
|
||||||
export DEBFILEVAR='$$file'; # used in assets/debian/rules
|
|
||||||
|
|
||||||
# Package parameters are exported for envsubst in deployer_defaults.sh
|
|
||||||
|
|
||||||
if [[ "$totemplate" == "" ]] || [[ "$totemplate" == "main" ]]; then
|
|
||||||
echo "Generating main package scripts";
|
|
||||||
fromroot=${DIR}/debian-template;
|
|
||||||
toroot=${DIR}/debian;
|
|
||||||
mkdir ${toroot};
|
|
||||||
|
|
||||||
evaldirectory ${fromroot} \
|
|
||||||
"cat \$name | envsubst > ${toroot}\${dirtailname}/\$( basename \$name )" \
|
|
||||||
"mkdir \"${toroot}\${dirtailname}\"";
|
|
||||||
fi;
|
|
||||||
|
|
||||||
if [[ "$totemplate" == "" ]] || [[ "$totemplate" == "asset" ]]; then
|
|
||||||
echo "Generating asset package scripts";
|
|
||||||
fromroot=${DIR}/assets/debian-template;
|
|
||||||
toroot=${DIR}/assets/debian;
|
|
||||||
mkdir ${toroot};
|
|
||||||
|
|
||||||
# Root dir to crawl; file eval; directory eval
|
|
||||||
evaldirectory ${fromroot} \
|
|
||||||
"cat \$name | envsubst > ${toroot}\${dirtailname}/\$( basename \$name )" \
|
|
||||||
"mkdir \"${toroot}\${dirtailname}\"";
|
|
||||||
fi;
|
|
||||||
fi;
|
|
||||||
|
|
||||||
if [[ "$__DPL_ACTIVE" != "1" ]] && [[ "$__PACKAGE_REVISION_BY_DATE" == "1" ]]; then
|
|
||||||
unset PACKAGE_REVISION; # so we can reset the date on subsequent runs
|
|
||||||
fi;
|
|
||||||
@@ -1,195 +0,0 @@
|
|||||||
@setlocal enableextensions enabledelayedexpansion
|
|
||||||
|
|
||||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
||||||
: Appveyor Deployer
|
|
||||||
: See appveyor.yml for default variables
|
|
||||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
||||||
|
|
||||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
||||||
: Evaluate whether we should be deploying
|
|
||||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
||||||
|
|
||||||
if not [%DPL_ENABLED%] == [1] (
|
|
||||||
echo Deployer is not enabled...
|
|
||||||
exit /b
|
|
||||||
)
|
|
||||||
|
|
||||||
: Don't do DD installs because fmodex DLL handling is not implemented.
|
|
||||||
if [%CONFIGURATION%] == [DD] (
|
|
||||||
echo Deployer does not support DD builds...
|
|
||||||
exit /b
|
|
||||||
)
|
|
||||||
|
|
||||||
if [%CONFIGURATION%] == [DD64] (
|
|
||||||
echo Deployer does not support DD builds...
|
|
||||||
exit /b
|
|
||||||
)
|
|
||||||
|
|
||||||
: Substring match from https://stackoverflow.com/questions/7005951/batch-file-find-if-substring-is-in-string-not-in-a-file
|
|
||||||
: The below line says "if deployer is NOT in string"
|
|
||||||
: Note that APPVEYOR_REPO_BRANCH for pull request builds is the BASE branch that PR is merging INTO
|
|
||||||
if x%APPVEYOR_REPO_BRANCH:deployer=%==x%APPVEYOR_REPO_BRANCH% (
|
|
||||||
if not [%APPVEYOR_REPO_TAG%] == [true] (
|
|
||||||
echo Deployer is enabled but we are not in a release tag or a 'deployer' branch...
|
|
||||||
exit /b
|
|
||||||
) else (
|
|
||||||
if not [%DPL_TAG_ENABLED%] == [1] (
|
|
||||||
echo Deployer is not enabled for release tags...
|
|
||||||
exit /b
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
: Release tags always get optional assets (music.dta)
|
|
||||||
if [%APPVEYOR_REPO_TAG%] == [true] (
|
|
||||||
set "ASSET_FILES_OPTIONAL_GET=1"
|
|
||||||
)
|
|
||||||
|
|
||||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
||||||
: Get asset archives
|
|
||||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
||||||
|
|
||||||
if exist "C:\Users\appveyor\srb2_cache\archives\" (
|
|
||||||
if [%ASSET_CLEAN%] == [1] (
|
|
||||||
echo Cleaning asset archives...
|
|
||||||
rmdir /s /q "C:\Users\appveyor\srb2_cache\archives"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
if not exist "C:\Users\appveyor\srb2_cache\archives\" mkdir "C:\Users\appveyor\srb2_cache\archives"
|
|
||||||
|
|
||||||
goto EXTRACT_ARCHIVES
|
|
||||||
|
|
||||||
::::::::::::::::::::::::::::::::
|
|
||||||
: ARCHIVE_NAME_PARTS
|
|
||||||
: Call this like a function. %archivepath% is the path to extract parts from.
|
|
||||||
::::::::::::::::::::::::::::::::
|
|
||||||
|
|
||||||
for %%a in (%archivepath%) do (
|
|
||||||
set "file=%%~fa"
|
|
||||||
set "filepath=%%~dpa"
|
|
||||||
set "filename=%%~nxa"
|
|
||||||
)
|
|
||||||
|
|
||||||
set "localarchivepath=C:\Users\appveyor\srb2_cache\archives\%filename%"
|
|
||||||
|
|
||||||
goto EOF
|
|
||||||
|
|
||||||
::::::::::::::::::::::::::::::::
|
|
||||||
: EXTRACT_ARCHIVES
|
|
||||||
::::::::::::::::::::::::::::::::
|
|
||||||
|
|
||||||
set "archivepath=%ASSET_ARCHIVE_PATH%"
|
|
||||||
call :ARCHIVE_NAME_PARTS
|
|
||||||
set "ASSET_ARCHIVE_PATH_LOCAL=%localarchivepath%"
|
|
||||||
if not exist "%localarchivepath%" appveyor DownloadFile "%ASSET_ARCHIVE_PATH%" -FileName "%localarchivepath%"
|
|
||||||
|
|
||||||
set "archivepath=%ASSET_ARCHIVE_PATCH_PATH%"
|
|
||||||
call :ARCHIVE_NAME_PARTS
|
|
||||||
set "ASSET_ARCHIVE_PATCH_PATH_LOCAL=%localarchivepath%"
|
|
||||||
if not exist "%localarchivepath%" appveyor DownloadFile "%ASSET_ARCHIVE_PATCH_PATH%" -FileName "%localarchivepath%"
|
|
||||||
|
|
||||||
if not [%X86_64%] == [1] (
|
|
||||||
set "archivepath=%ASSET_ARCHIVE_X86_PATH%"
|
|
||||||
call :ARCHIVE_NAME_PARTS
|
|
||||||
set "ASSET_ARCHIVE_X86_PATH_LOCAL=!localarchivepath!"
|
|
||||||
if not exist "!localarchivepath!" appveyor DownloadFile "%ASSET_ARCHIVE_X86_PATH%" -FileName "!localarchivepath!"
|
|
||||||
)
|
|
||||||
|
|
||||||
if [%X86_64%] == [1] (
|
|
||||||
set "archivepath=%ASSET_ARCHIVE_X64_PATH%"
|
|
||||||
call :ARCHIVE_NAME_PARTS
|
|
||||||
set "ASSET_ARCHIVE_X64_PATH_LOCAL=!localarchivepath!"
|
|
||||||
if not exist "!localarchivepath!" appveyor DownloadFile "%ASSET_ARCHIVE_X64_PATH%" -FileName "!localarchivepath!"
|
|
||||||
)
|
|
||||||
|
|
||||||
if [%ASSET_FILES_OPTIONAL_GET%] == [1] (
|
|
||||||
set "archivepath=%ASSET_ARCHIVE_OPTIONAL_PATH%"
|
|
||||||
call :ARCHIVE_NAME_PARTS
|
|
||||||
set "ASSET_ARCHIVE_OPTIONAL_PATH_LOCAL=!localarchivepath!"
|
|
||||||
if not exist "!localarchivepath!" appveyor DownloadFile "%ASSET_ARCHIVE_OPTIONAL_PATH%" -FileName "!localarchivepath!"
|
|
||||||
)
|
|
||||||
|
|
||||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
||||||
: Build the installers
|
|
||||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
||||||
|
|
||||||
mkdir "assets\installer"
|
|
||||||
mkdir "assets\patch"
|
|
||||||
|
|
||||||
7z x -y "%ASSET_ARCHIVE_PATH_LOCAL%" -o"assets\installer" >null
|
|
||||||
7z x -y "%ASSET_ARCHIVE_PATCH_PATH_LOCAL%" -o"assets\patch" >null
|
|
||||||
|
|
||||||
: Copy optional files to full installer (music.dta)
|
|
||||||
if [%ASSET_FILES_OPTIONAL_GET%] == [1] (
|
|
||||||
7z x -y "%ASSET_ARCHIVE_OPTIONAL_PATH_LOCAL%" -o"assets\installer" >null
|
|
||||||
)
|
|
||||||
|
|
||||||
: Copy EXE -- BUILD_PATH is from appveyor.yml
|
|
||||||
robocopy /S /ns /nc /nfl /ndl /np /njh /njs "%BUILD_PATH%" "assets\installer" /XF "*.debug" ".gitignore"
|
|
||||||
robocopy /S /ns /nc /nfl /ndl /np /njh /njs "%BUILD_PATH%" "assets\patch" /XF "*.debug" ".gitignore"
|
|
||||||
|
|
||||||
: Are we building DD? (we were supposed to exit earlier!)
|
|
||||||
if [%CONFIGURATION%] == [DD] ( set "DPL_INSTALLER_NAME=%DPL_INSTALLER_NAME%-DD" )
|
|
||||||
if [%CONFIGURATION%] == [DD64] ( set "DPL_INSTALLER_NAME=%DPL_INSTALLER_NAME%-DD" )
|
|
||||||
|
|
||||||
: If we are not a release tag, suffix the filename
|
|
||||||
if not [%APPVEYOR_REPO_TAG%] == [true] (
|
|
||||||
set "INSTALLER_SUFFIX=-%APPVEYOR_REPO_BRANCH%-%GITSHORT%-%CONFIGURATION%"
|
|
||||||
) else (
|
|
||||||
set "INSTALLER_SUFFIX="
|
|
||||||
)
|
|
||||||
|
|
||||||
if not [%X86_64%] == [1] ( goto X86_INSTALL )
|
|
||||||
|
|
||||||
::::::::::::::::::::::::::::::::
|
|
||||||
: X64_INSTALL
|
|
||||||
::::::::::::::::::::::::::::::::
|
|
||||||
|
|
||||||
: Extract DLL binaries
|
|
||||||
7z x -y "%ASSET_ARCHIVE_X64_PATH_LOCAL%" -o"assets\installer" >null
|
|
||||||
if [%PACKAGE_PATCH_DLL_GET%] == [1] (
|
|
||||||
7z x -y "!ASSET_ARCHIVE_X64_PATH_LOCAL!" -o"assets\patch" >null
|
|
||||||
)
|
|
||||||
|
|
||||||
: Build the installer
|
|
||||||
7z a -sfx7z.sfx "%DPL_INSTALLER_NAME%-x64-Installer%INSTALLER_SUFFIX%.exe" .\assets\installer\*
|
|
||||||
|
|
||||||
: Build the patch
|
|
||||||
7z a "%DPL_INSTALLER_NAME%-x64-Patch%INSTALLER_SUFFIX%.zip" .\assets\patch\*
|
|
||||||
|
|
||||||
: Upload artifacts
|
|
||||||
appveyor PushArtifact "%DPL_INSTALLER_NAME%-x64-Installer%INSTALLER_SUFFIX%.exe"
|
|
||||||
appveyor PushArtifact "%DPL_INSTALLER_NAME%-x64-Patch%INSTALLER_SUFFIX%.zip"
|
|
||||||
|
|
||||||
: We only do x86 OR x64, one at a time, so exit now.
|
|
||||||
goto EOF
|
|
||||||
|
|
||||||
::::::::::::::::::::::::::::::::
|
|
||||||
: X86_INSTALL
|
|
||||||
::::::::::::::::::::::::::::::::
|
|
||||||
|
|
||||||
: Extract DLL binaries
|
|
||||||
7z x -y "%ASSET_ARCHIVE_X86_PATH_LOCAL%" -o"assets\installer" >null
|
|
||||||
if [%PACKAGE_PATCH_DLL_GET%] == [1] (
|
|
||||||
7z x -y "!ASSET_ARCHIVE_X86_PATH_LOCAL!" -o"assets\patch" >null
|
|
||||||
)
|
|
||||||
|
|
||||||
: Build the installer
|
|
||||||
7z a -sfx7z.sfx "%DPL_INSTALLER_NAME%-Installer%INSTALLER_SUFFIX%.exe" .\assets\installer\*
|
|
||||||
|
|
||||||
: Build the patch
|
|
||||||
7z a "%DPL_INSTALLER_NAME%-Patch%INSTALLER_SUFFIX%.zip" .\assets\patch\*
|
|
||||||
|
|
||||||
: Upload artifacts
|
|
||||||
appveyor PushArtifact "%DPL_INSTALLER_NAME%-Installer%INSTALLER_SUFFIX%.exe"
|
|
||||||
appveyor PushArtifact "%DPL_INSTALLER_NAME%-Patch%INSTALLER_SUFFIX%.zip"
|
|
||||||
|
|
||||||
: We only do x86 OR x64, one at a time, so exit now
|
|
||||||
goto EOF
|
|
||||||
|
|
||||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
||||||
: EOF
|
|
||||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
|
||||||
|
|
||||||
endlocal
|
|
||||||
@@ -1,157 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Deployer for Travis-CI
|
|
||||||
# Initialization
|
|
||||||
#
|
|
||||||
# Performs validity checks to ensure that Deployer is allowed to run
|
|
||||||
# e.g., is an FTP hostname specified? Are we whitelisted by OSNAMES and BRANCHES?
|
|
||||||
#
|
|
||||||
# Set these environment variables in your Travis-CI settings, where they are stored securely.
|
|
||||||
# See other shell scripts for more options.
|
|
||||||
#
|
|
||||||
# DPL_ENABLED = 1 (leave blank to disable)
|
|
||||||
# DPL_TAG_ENABLED = 1 (run Deployer on all tags)
|
|
||||||
# DPL_JOB_ENABLE_ALL = 1 (run Deployer on all jobs; leave blank to act on specific jobs, see below)
|
|
||||||
# DPL_JOBNAMES = name1,name2 (whitelist of job names to allow uploading; leave blank to upload from all jobs)
|
|
||||||
# DPL_OSNAMES = osx (whitelist of OS names to allow uploading; leave blank to upload from all OSes)
|
|
||||||
# DPL_BRANCHES = master,branch1,branch2 (whitelist of branches to upload; leave blank to upload all branches)
|
|
||||||
#
|
|
||||||
# To enable Deployer on specific jobs, set _DPL_JOB_ENABLED=1 for that job. Example:
|
|
||||||
# - matrix:
|
|
||||||
# - os: osx
|
|
||||||
# env:
|
|
||||||
# - _DPL_JOB_ENABLED=1
|
|
||||||
#
|
|
||||||
# DO NOT set __DPL_ACTIVE, because that would bypass these validity checks.
|
|
||||||
|
|
||||||
# Validate Deployer state
|
|
||||||
if [[ "$DPL_ENABLED" == "1" ]] && [[ "$TRAVIS_PULL_REQUEST" == "false" ]]; then
|
|
||||||
# Test for base eligibility:
|
|
||||||
# Are we in a deployer branch? Or
|
|
||||||
# Are we in a release tag AND DPL_TAG_ENABLED=1?
|
|
||||||
if [[ $TRAVIS_BRANCH == *"deployer"* ]]; then
|
|
||||||
__DPL_BASE_ELIGIBLE=1;
|
|
||||||
__DPL_TERMINATE_EARLY_ELIGIBLE=1;
|
|
||||||
fi;
|
|
||||||
|
|
||||||
if [[ "$TRAVIS_TAG" != "" ]] && [[ "$DPL_TAG_ENABLED" == "1" ]]; then
|
|
||||||
__DPL_BASE_ELIGIBLE=1;
|
|
||||||
__DPL_TAG_ELIGIBLE=1;
|
|
||||||
__DPL_TERMINATE_EARLY_ELIGIBLE=1;
|
|
||||||
fi;
|
|
||||||
|
|
||||||
# Logging message for trigger word
|
|
||||||
if [[ "$__DPL_TAG_ELIGIBLE" != "1" ]] && [[ "$DPL_TRIGGER" != "" ]]; then
|
|
||||||
echo "Testing for trigger $DPL_TRIGGER, commit message: $TRAVIS_COMMIT_MESSAGE";
|
|
||||||
echo "[${DPL_TRIGGER}]";
|
|
||||||
echo "[${DPL_TRIGGER}-${_DPL_JOB_NAME}]";
|
|
||||||
echo "[${DPL_TRIGGER}-${TRAVIS_OS_NAME}]";
|
|
||||||
fi;
|
|
||||||
|
|
||||||
#
|
|
||||||
# Search for the trigger word
|
|
||||||
# Force enable if release tags are eligible
|
|
||||||
#
|
|
||||||
if [[ "$__DPL_TAG_ELIGIBLE" == "1" ]] || [[ "$DPL_TRIGGER" == "" ]] \
|
|
||||||
|| [[ $TRAVIS_COMMIT_MESSAGE == *"[$DPL_TRIGGER]"* ]] \
|
|
||||||
|| [[ $TRAVIS_COMMIT_MESSAGE == *"[${DPL_TRIGGER}-${_DPL_JOB_NAME}]"* ]] \
|
|
||||||
|| [[ $TRAVIS_COMMIT_MESSAGE == *"[${DPL_TRIGGER}-${TRAVIS_OS_NAME}]"* ]]; then
|
|
||||||
#
|
|
||||||
# Whitelist by branch name
|
|
||||||
# Force enable if release tags are eligible
|
|
||||||
#
|
|
||||||
if [[ "$__DPL_TAG_ELIGIBLE" == "1" ]] || [[ "$DPL_BRANCHES" == "" ]] || [[ $DPL_BRANCHES == *"$TRAVIS_BRANCH"* ]]; then
|
|
||||||
# Set this so we only early-terminate builds when we are specifically deploying
|
|
||||||
# Trigger string and branch are encompassing conditions; the rest are job-specific
|
|
||||||
# This check only matters for deployer branches and when DPL_TERMINATE_TESTS=1,
|
|
||||||
# because we're filtering non-deployer jobs.
|
|
||||||
#
|
|
||||||
# __DPL_TRY_TERMINATE_EARLY is invalidated in .travis.yml if __DPL_ACTIVE=1
|
|
||||||
if [[ "$__DPL_TERMINATE_EARLY_ELIGIBLE" == "1" ]] && [[ "$DPL_TERMINATE_TESTS" == "1" ]]; then
|
|
||||||
__DPL_TRY_TERMINATE_EARLY=1;
|
|
||||||
fi;
|
|
||||||
|
|
||||||
#
|
|
||||||
# Is the job enabled for deployment?
|
|
||||||
#
|
|
||||||
if [[ "$DPL_JOB_ENABLE_ALL" == "1" ]] || [[ "$_DPL_JOB_ENABLED" == "1" ]]; then
|
|
||||||
#
|
|
||||||
# Whitelist by job names
|
|
||||||
#
|
|
||||||
if [[ "$DPL_JOBNAMES" == "" ]] || [[ "$_DPL_JOB_NAME" == "" ]] || [[ $DPL_JOBNAMES == *"$_DPL_JOB_NAME"* ]]; then
|
|
||||||
#
|
|
||||||
# Whitelist by OS names
|
|
||||||
#
|
|
||||||
if [[ "$DPL_OSNAMES" == "" ]] || [[ $DPL_OSNAMES == *"$TRAVIS_OS_NAME"* ]]; then
|
|
||||||
# Base Deployer is eligible for becoming active
|
|
||||||
|
|
||||||
# Are we building for Linux?
|
|
||||||
if [[ "$_DPL_PACKAGE_BINARY" == "1" ]] || [[ "$_DPL_PACKAGE_SOURCE" == "1" ]]; then
|
|
||||||
if [[ "$_DPL_PACKAGE_MAIN" == "1" ]] || [[ "$_DPL_PACKAGE_ASSET" == "1" ]]; then
|
|
||||||
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
|
|
||||||
__DPL_DEBIAN_ACTIVE=1;
|
|
||||||
fi;
|
|
||||||
fi;
|
|
||||||
fi;
|
|
||||||
|
|
||||||
# Now check for deployment targets
|
|
||||||
if [[ "$_DPL_FTP_TARGET" == "1" ]] && [[ "$DPL_FTP_HOSTNAME" != "" ]]; then
|
|
||||||
if [[ "$TRAVIS_OS_HOST" == "linux" ]] && [[ "$DPL_FTP_PROTOCOL" == "ftp" ]]; then
|
|
||||||
echo "Non-secure FTP will not work on Linux Travis-CI jobs!";
|
|
||||||
echo "Try SFTP or another target. Details:";
|
|
||||||
echo "https://blog.travis-ci.com/2018-07-23-the-tale-of-ftp-at-travis-ci";
|
|
||||||
else
|
|
||||||
if [[ "$__DPL_DEBIAN_ACTIVE" == "1" ]] || [[ "$_DPL_PACKAGE_BINARY" == "1" ]] || [[ "$_DPL_BINARY" == "1" ]]; then
|
|
||||||
echo "Deployer FTP target is enabled";
|
|
||||||
__DPL_FTP_ACTIVE=1;
|
|
||||||
else
|
|
||||||
echo "Deployer FTP target cannot be enabled: You must specify _DPL_PACKAGE_BINARY=1,";
|
|
||||||
echo "and/or _DPL_BINARY=1 in your job's environment variables.";
|
|
||||||
fi;
|
|
||||||
fi;
|
|
||||||
fi;
|
|
||||||
|
|
||||||
if [[ "$_DPL_DPUT_TARGET" == "1" ]] && [[ "$__DPL_DEBIAN_ACTIVE" == "1" ]] \
|
|
||||||
&& [[ "$DPL_DPUT_INCOMING" != "" ]]; then
|
|
||||||
if [[ "$DPL_DPUT_METHOD" == "ftp" ]]; then
|
|
||||||
echo "DPUT will not work with non-secure FTP on Linux Travis-CI jobs!";
|
|
||||||
echo "Try SFTP or another method for DPUT. Details:";
|
|
||||||
echo "https://blog.travis-ci.com/2018-07-23-the-tale-of-ftp-at-travis-ci";
|
|
||||||
else
|
|
||||||
echo "Deployer DPUT target is enabled";
|
|
||||||
__DPL_DPUT_ACTIVE=1;
|
|
||||||
fi;
|
|
||||||
fi;
|
|
||||||
|
|
||||||
# If any deployment targets are active, then so is the Deployer at large
|
|
||||||
if [[ "$__DPL_FTP_ACTIVE" == "1" ]] || [[ "$__DPL_DPUT_ACTIVE" == "1" ]]; then
|
|
||||||
__DPL_ACTIVE=1;
|
|
||||||
fi;
|
|
||||||
fi;
|
|
||||||
fi;
|
|
||||||
fi;
|
|
||||||
fi;
|
|
||||||
else
|
|
||||||
if [[ "$DPL_TRIGGER" != "" ]]; then
|
|
||||||
echo "Testing for global trigger [$DPL_TRIGGER, commit message: $TRAVIS_COMMIT_MESSAGE";
|
|
||||||
fi;
|
|
||||||
if [[ "$DPL_TRIGGER" != "" ]] && [[ $TRAVIS_COMMIT_MESSAGE == *"[$DPL_TRIGGER"* ]]; then
|
|
||||||
if [[ "$__DPL_TAG_ELIGIBLE" == "1" ]] || [[ "$DPL_BRANCHES" == "" ]] || [[ $DPL_BRANCHES == *"$TRAVIS_BRANCH"* ]]; then
|
|
||||||
# This check only matters for deployer branches and when DPL_TERMINATE_TESTS=1,
|
|
||||||
# because we're filtering non-deployer jobs.
|
|
||||||
if [[ "$__DPL_TERMINATE_EARLY_ELIGIBLE" == "1" ]] && [[ "$DPL_TERMINATE_TESTS" == "1" ]]; then
|
|
||||||
# Assume that some job received the trigger, so mark this for early termination
|
|
||||||
__DPL_TRY_TERMINATE_EARLY=1;
|
|
||||||
fi;
|
|
||||||
fi;
|
|
||||||
fi;
|
|
||||||
fi;
|
|
||||||
fi;
|
|
||||||
|
|
||||||
if [[ "$__DPL_TRY_TERMINATE_EARLY" == "1" ]] && [[ "$__DPL_ACTIVE" != "1" ]]; then
|
|
||||||
echo "Deployer is active in another job";
|
|
||||||
fi;
|
|
||||||
|
|
||||||
if [[ "$__DPL_TRY_TERMINATE_EARLY" != "1" ]] && [[ "$__DPL_ACTIVE" != "1" ]]; then
|
|
||||||
echo "Deployer is not active";
|
|
||||||
fi;
|
|
||||||
@@ -1,190 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Deployer for Travis-CI
|
|
||||||
# Build Script
|
|
||||||
#
|
|
||||||
# Builds the required targets depending on which sub-modules are enabled
|
|
||||||
|
|
||||||
if [[ "$__DPL_FTP_ACTIVE" == "1" ]] || [[ "$__DPL_DPUT_ACTIVE" == "1" ]]; then
|
|
||||||
if [[ "$__DPL_DEBIAN_ACTIVE" == "1" ]]; then
|
|
||||||
echo "Building Debian package(s)"
|
|
||||||
|
|
||||||
sudo apt-get install devscripts debhelper fakeroot secure-delete expect;
|
|
||||||
|
|
||||||
# Build source packages first, since they zip up the entire source folder,
|
|
||||||
# binaries and all
|
|
||||||
if [[ "$_DPL_PACKAGE_MAIN" == "1" ]]; then
|
|
||||||
. ../debian_template.sh main;
|
|
||||||
OLDPWD=$PWD; # [repo]/build
|
|
||||||
cd ..; # repo root
|
|
||||||
|
|
||||||
if [[ "$_DPL_PACKAGE_SOURCE" == "1" ]]; then
|
|
||||||
echo "Building main source Debian package";
|
|
||||||
expect <(cat <<EOD
|
|
||||||
spawn debuild -S -us -uc;
|
|
||||||
expect "continue anyway? (y/n)"
|
|
||||||
send "y\r"
|
|
||||||
interact
|
|
||||||
EOD
|
|
||||||
);
|
|
||||||
fi;
|
|
||||||
|
|
||||||
if [[ "$_DPL_PACKAGE_BINARY" == "1" ]]; then
|
|
||||||
echo "Building main binary Debian package";
|
|
||||||
expect <(cat <<EOD
|
|
||||||
spawn debuild -us -uc;
|
|
||||||
expect "continue anyway? (y/n)"
|
|
||||||
send "y\r"
|
|
||||||
interact
|
|
||||||
EOD
|
|
||||||
);
|
|
||||||
fi;
|
|
||||||
|
|
||||||
cd $OLDPWD;
|
|
||||||
fi;
|
|
||||||
|
|
||||||
# Also an asset package
|
|
||||||
if [[ "$_DPL_PACKAGE_ASSET" == "1" ]]; then
|
|
||||||
. ../debian_template.sh asset;
|
|
||||||
OLDPWD=$PWD; # [repo]/build
|
|
||||||
cd ../assets;
|
|
||||||
|
|
||||||
# make sure the asset files exist, download them if they don't
|
|
||||||
#echo "Checking asset files for asset Debian package";
|
|
||||||
#debuild -T build;
|
|
||||||
|
|
||||||
if [[ "$_DPL_PACKAGE_SOURCE" == "1" ]]; then
|
|
||||||
echo "Building asset source Debian package";
|
|
||||||
expect <(cat <<EOD
|
|
||||||
spawn debuild -S -us -uc;
|
|
||||||
expect "continue anyway? (y/n)"
|
|
||||||
send "y\r"
|
|
||||||
interact
|
|
||||||
EOD
|
|
||||||
);
|
|
||||||
fi;
|
|
||||||
|
|
||||||
if [[ "$_DPL_PACKAGE_BINARY" == "1" ]]; then
|
|
||||||
echo "Building asset binary Debian package";
|
|
||||||
expect <(cat <<EOD
|
|
||||||
spawn debuild -us -uc;
|
|
||||||
expect "continue anyway? (y/n)"
|
|
||||||
send "y\r"
|
|
||||||
interact
|
|
||||||
EOD
|
|
||||||
);
|
|
||||||
fi;
|
|
||||||
|
|
||||||
cd $OLDPWD;
|
|
||||||
fi;
|
|
||||||
|
|
||||||
# Now sign our packages
|
|
||||||
if [[ "$DPL_PGP_KEY_PRIVATE" != "" ]] && [[ "$DPL_PGP_KEY_PASSPHRASE" != "" ]]; then
|
|
||||||
# Get the key to sign
|
|
||||||
# Do this AFTER debuild so that we can specify the passphrase in command line
|
|
||||||
echo "$DPL_PGP_KEY_PRIVATE" | base64 --decode > key.asc;
|
|
||||||
echo "$DPL_PGP_KEY_PASSPHRASE" > phrase.txt;
|
|
||||||
gpg --import key.asc;
|
|
||||||
|
|
||||||
if [[ "$_DPL_PACKAGE_MAIN" == "1" ]]; then
|
|
||||||
echo "Signing main package(s)";
|
|
||||||
|
|
||||||
PACKAGEFILENAME=${PACKAGE_NAME}_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
PACKAGEDBGFILENAME=${PACKAGE_NAME}-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
#PACKAGENIGHTLYFILENAME=${PACKAGE_NAME}-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
#PACKAGENIGHTLYDBGFILENAME=${PACKAGE_NAME}-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
#PACKAGEPATCHFILENAME=${PACKAGE_NAME}-patch_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
#PACKAGEPATCHDBGFILENAME=${PACKAGE_NAME}-patch-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
#PACKAGEPATCHNIGHTLYFILENAME=${PACKAGE_NAME}-patch-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
#PACKAGEPATCHNIGHTLYDBGFILENAME=${PACKAGE_NAME}-patch-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
|
|
||||||
PACKAGEFILENAMES=(
|
|
||||||
$PACKAGEFILENAME
|
|
||||||
$PACKAGEDBGFILENAME
|
|
||||||
#$PACKAGENIGHTLYFILENAME
|
|
||||||
#$PACKAGENIGHTLYDBGFILENAME
|
|
||||||
#$PACKAGEPATCHFILENAME
|
|
||||||
#$PACKAGEPATCHDBGFILENAME
|
|
||||||
#$PACKAGEPATCHNIGHTLYFILENAME
|
|
||||||
#$PACKAGEPATCHNIGHTLYDBGFILENAME
|
|
||||||
);
|
|
||||||
|
|
||||||
# Main packages are in parent of root repo folder
|
|
||||||
OLDPWD=$PWD; # [repo]/build
|
|
||||||
cd ../..; # parent of repo root
|
|
||||||
|
|
||||||
for n in ${PACKAGEFILENAMES}; do
|
|
||||||
for f in ./$n*.changes; do
|
|
||||||
debsign --no-re-sign -p"gpg --passphrase-file $OLDPWD/phrase.txt --batch" "$f";
|
|
||||||
done;
|
|
||||||
done;
|
|
||||||
|
|
||||||
cd $OLDPWD;
|
|
||||||
fi;
|
|
||||||
|
|
||||||
if [[ "$_DPL_PACKAGE_ASSET" == "1" ]]; then
|
|
||||||
echo "Signing asset package(s)";
|
|
||||||
|
|
||||||
PACKAGEFILENAME=${PACKAGE_NAME}-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
#PACKAGENIGHTLYFILENAME=${PACKAGE_NAME}-nightly-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
#PACKAGEPATCHFILENAME=${PACKAGE_NAME}-patch-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
#PACKAGEPATCHNIGHTLYFILENAME=${PACKAGE_NAME}-patch-nightly-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
|
|
||||||
PACKAGEFILENAMES=(
|
|
||||||
$PACKAGEFILENAME
|
|
||||||
#$PACKAGENIGHTLYFILENAME
|
|
||||||
#$PACKAGEPATCHFILENAME
|
|
||||||
#$PACKAGEPATCHNIGHTLYFILENAME
|
|
||||||
)
|
|
||||||
|
|
||||||
# Asset packages are in root repo folder
|
|
||||||
OLDPWD=$PWD; # [repo]/build
|
|
||||||
cd ..; # repo root
|
|
||||||
|
|
||||||
for n in ${PACKAGEFILENAMES}; do
|
|
||||||
for f in ./$n*.changes; do
|
|
||||||
debsign --no-re-sign -p"gpg --passphrase-file $OLDPWD/phrase.txt --batch" "$f";
|
|
||||||
done;
|
|
||||||
done;
|
|
||||||
|
|
||||||
cd $OLDPWD;
|
|
||||||
fi;
|
|
||||||
|
|
||||||
# Delete the keys :eyes:
|
|
||||||
srm key.asc;
|
|
||||||
srm phrase.txt;
|
|
||||||
fi;
|
|
||||||
fi;
|
|
||||||
|
|
||||||
# all other OSes
|
|
||||||
if [[ "$TRAVIS_OS_NAME" != "linux" ]]; then
|
|
||||||
#
|
|
||||||
# Check for binary building
|
|
||||||
#
|
|
||||||
if [[ "$_DPL_BINARY" == "1" ]]; then
|
|
||||||
echo "Building a Binary";
|
|
||||||
make -k;
|
|
||||||
fi;
|
|
||||||
|
|
||||||
#
|
|
||||||
# Check for package building
|
|
||||||
#
|
|
||||||
if [[ "$_DPL_PACKAGE_BINARY" == "1" ]]; then
|
|
||||||
echo "Building a Package";
|
|
||||||
|
|
||||||
# Make an OSX package; superuser is required for library bundling
|
|
||||||
#
|
|
||||||
# HACK: OSX packaging can't write libraries to .app package unless we're superuser
|
|
||||||
# because the original library files don't have WRITE permission
|
|
||||||
# Bug may be sidestepped by using CHMOD_BUNDLE_ITEMS=TRUE
|
|
||||||
# But I don't know where this is set. Not `cmake -D...` because this var is ignored.
|
|
||||||
# https://cmake.org/Bug/view.php?id=9284
|
|
||||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
|
||||||
sudo make -k package;
|
|
||||||
else
|
|
||||||
# Some day, when Windows is supported, we'll just make a standard package
|
|
||||||
make -k package;
|
|
||||||
fi;
|
|
||||||
fi;
|
|
||||||
fi;
|
|
||||||
fi;
|
|
||||||
@@ -1,105 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Deployer for Travis-CI
|
|
||||||
# Default Variables
|
|
||||||
#
|
|
||||||
# Here are all of the user-set variables used by Deployer.
|
|
||||||
# See the "Cross-platform deployment" page on SRB2 Wiki for documentation.
|
|
||||||
|
|
||||||
# Core Parameters
|
|
||||||
: ${DPL_ENABLED} # Enable Deployer behavior; must be set for any deployment activity
|
|
||||||
: ${DPL_TAG_ENABLED} # Trigger Deployer for all tag releases
|
|
||||||
: ${DPL_JOB_ENABLE_ALL} # Enable all jobs for deployment
|
|
||||||
: ${DPL_TERMINATE_TESTS} # Terminate all build test jobs (used in .travis.yml)
|
|
||||||
: ${DPL_TRIGGER} # Use a [word] in the commit message to trigger Deployer
|
|
||||||
: ${DPL_JOBNAMES} # Trigger Deployer by job name
|
|
||||||
: ${DPL_OSNAMES} # Trigger Deployer by OS name (osx,linux)
|
|
||||||
: ${DPL_BRANCHES} # Trigger Deployer by git branch name
|
|
||||||
|
|
||||||
# Job Parameters
|
|
||||||
: ${_DPL_JOB_ENABLED} # Enable Deployer for this specific job. DPL_ENABLED must be set too.
|
|
||||||
: ${_DPL_JOB_NAME} # Identifier for the job, used for logging and trigger word matching
|
|
||||||
: ${_DPL_FTP_TARGET} # Deploy to FTP
|
|
||||||
: ${_DPL_DPUT_TARGET} # Deploy to DPUT
|
|
||||||
: ${_DPL_PACKAGE_SOURCE} # Build packages into a Source distribution. Linux only.
|
|
||||||
: ${_DPL_PACKAGE_BINARY} # Build packages into a Binary distribution.
|
|
||||||
: ${_DPL_PACKAGE_MAIN:=1} # Build main installation package. Linux only; OS X assumes this.
|
|
||||||
: ${_DPL_PACKAGE_ASSET} # Build asset installation package. Linux only.
|
|
||||||
|
|
||||||
# Asset File Parameters
|
|
||||||
: ${ASSET_ARCHIVE_PATH:=https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-assets.7z}
|
|
||||||
: ${ASSET_ARCHIVE_OPTIONAL_PATH:=https://github.com/mazmazz/Kart-Public/releases/download/kart_assets/srb2kart-v102-optional-assets.7z}
|
|
||||||
: ${ASSET_FILES_HASHED:=srb2.srb patch.kart gfx.kart textures.kart chars.kart maps.kart}
|
|
||||||
: ${ASSET_FILES_DOCS:=README.txt HISTORY.txt LICENSE.txt LICENSE-3RD-PARTY.txt}
|
|
||||||
: ${ASSET_FILES_OPTIONAL_GET:=0}
|
|
||||||
|
|
||||||
# FTP Parameters
|
|
||||||
: ${DPL_FTP_PROTOCOL}
|
|
||||||
: ${DPL_FTP_USER}
|
|
||||||
: ${DPL_FTP_PASS}
|
|
||||||
: ${DPL_FTP_HOSTNAME}
|
|
||||||
: ${DPL_FTP_PORT}
|
|
||||||
: ${DPL_FTP_PATH}
|
|
||||||
|
|
||||||
# DPUT Parameters
|
|
||||||
: ${DPL_DPUT_DOMAIN:=ppa.launchpad.net}
|
|
||||||
: ${DPL_DPUT_METHOD:=sftp}
|
|
||||||
: ${DPL_DPUT_INCOMING}
|
|
||||||
: ${DPL_DPUT_LOGIN:=anonymous}
|
|
||||||
: ${DPL_SSH_KEY_PRIVATE} # Base64-encoded private key file. Used to sign repository uploads
|
|
||||||
: ${DPL_SSH_KEY_PASSPHRASE} # Decodes the private key file.
|
|
||||||
|
|
||||||
# Package Parameters
|
|
||||||
: ${PACKAGE_NAME:=srb2kart}
|
|
||||||
: ${PACKAGE_VERSION:=1.0.2}
|
|
||||||
: ${PACKAGE_SUBVERSION} # Highly recommended to set this to reflect the distro series target (e.g., ~18.04bionic)
|
|
||||||
: ${PACKAGE_REVISION} # Defaults to UTC timestamp
|
|
||||||
: ${PACKAGE_INSTALL_PATH:=/usr/games/SRB2Kart}
|
|
||||||
: ${PACKAGE_LINK_PATH:=/usr/games}
|
|
||||||
: ${PACKAGE_DISTRO:=trusty}
|
|
||||||
: ${PACKAGE_URGENCY:=high}
|
|
||||||
: ${PACKAGE_NAME_EMAIL:=Kart Krew <stjr@srb2.org>}
|
|
||||||
: ${PACKAGE_GROUP_NAME_EMAIL:=Kart Krew <stjr@srb2.org>}
|
|
||||||
: ${PACKAGE_WEBSITE:=<https://mb.srb2.org/showthread.php?p=802695>}
|
|
||||||
|
|
||||||
: ${PACKAGE_ASSET_MINVERSION:=1.0.1} # Number this the version BEFORE the actual required version, because we do a > check
|
|
||||||
: ${PACKAGE_ASSET_MAXVERSION:=1.0.3} # Number this the version AFTER the actual required version, because we do a < check
|
|
||||||
|
|
||||||
: ${PROGRAM_NAME:=Sonic Robo Blast 2 Kart}
|
|
||||||
: ${PROGRAM_VENDOR:=Kart Krew}
|
|
||||||
: ${PROGRAM_VERSION:=1.0.2}
|
|
||||||
: ${PROGRAM_DESCRIPTION:=A kart racing mod based on the 3D Sonic the Hedgehog fangame Sonic Robo Blast 2.}
|
|
||||||
: ${PROGRAM_FILENAME:=srb2kart}
|
|
||||||
|
|
||||||
: ${DPL_PGP_KEY_PRIVATE} # Base64-encoded private key file. Used to sign Debian packages
|
|
||||||
: ${DPL_PGP_KEY_PASSPHRASE} # Decodes the private key file.
|
|
||||||
|
|
||||||
# Export Asset and Package Parameters for envsubst templating
|
|
||||||
|
|
||||||
export ASSET_ARCHIVE_PATH="${ASSET_ARCHIVE_PATH}"
|
|
||||||
export ASSET_ARCHIVE_OPTIONAL_PATH="${ASSET_ARCHIVE_OPTIONAL_PATH}"
|
|
||||||
export ASSET_FILES_HASHED="${ASSET_FILES_HASHED}"
|
|
||||||
export ASSET_FILES_DOCS="${ASSET_FILES_DOCS}"
|
|
||||||
export ASSET_FILES_OPTIONAL_GET="${ASSET_FILES_OPTIONAL_GET}"
|
|
||||||
|
|
||||||
export PACKAGE_NAME="${PACKAGE_NAME}"
|
|
||||||
export PACKAGE_VERSION="${PACKAGE_VERSION}"
|
|
||||||
export PACKAGE_SUBVERSION="${PACKAGE_SUBVERSION}" # in case we have this
|
|
||||||
export PACKAGE_REVISION="${PACKAGE_REVISION}"
|
|
||||||
export PACKAGE_ASSET_MINVERSION="${PACKAGE_ASSET_MINVERSION}"
|
|
||||||
export PACKAGE_ASSET_MAXVERSION="${PACKAGE_ASSET_MAXVERSION}"
|
|
||||||
export PACKAGE_INSTALL_PATH="${PACKAGE_INSTALL_PATH}"
|
|
||||||
export PACKAGE_LINK_PATH="${PACKAGE_LINK_PATH}"
|
|
||||||
export PACKAGE_DISTRO="${PACKAGE_DISTRO}"
|
|
||||||
export PACKAGE_URGENCY="${PACKAGE_URGENCY}"
|
|
||||||
export PACKAGE_NAME_EMAIL="${PACKAGE_NAME_EMAIL}"
|
|
||||||
export PACKAGE_GROUP_NAME_EMAIL="${PACKAGE_GROUP_NAME_EMAIL}"
|
|
||||||
export PACKAGE_WEBSITE="${PACKAGE_WEBSITE}"
|
|
||||||
|
|
||||||
export PROGRAM_NAME="${PROGRAM_NAME}"
|
|
||||||
export PROGRAM_VERSION="${PROGRAM_VERSION}"
|
|
||||||
export PROGRAM_DESCRIPTION="${PROGRAM_DESCRIPTION}"
|
|
||||||
export PROGRAM_FILENAME="${PROGRAM_FILENAME}"
|
|
||||||
|
|
||||||
# This file is called in debian_template.sh, so mark our completion so we don't run it again
|
|
||||||
__DEBIAN_PARAMETERS_INITIALIZED=1
|
|
||||||
@@ -1,133 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Deployer for Travis-CI
|
|
||||||
# DPUT uploader (e.g., Launchpad PPA)
|
|
||||||
#
|
|
||||||
|
|
||||||
if [[ "$__DPL_DPUT_ACTIVE" == "1" ]]; then
|
|
||||||
# Install APT dependencies
|
|
||||||
# paramiko required for ssh
|
|
||||||
sudo apt-get install python-paramiko expect dput; # python-pip
|
|
||||||
#pip install paramiko;
|
|
||||||
|
|
||||||
# Output the DPUT config
|
|
||||||
# Dput only works if you're using secure FTP, so that's what we default to.
|
|
||||||
cat > "./dput.cf" << EOM
|
|
||||||
[deployer]
|
|
||||||
fqdn = ${DPL_DPUT_DOMAIN}
|
|
||||||
method = ${DPL_DPUT_METHOD}
|
|
||||||
incoming = ${DPL_DPUT_INCOMING}
|
|
||||||
login = ${DPL_DPUT_LOGIN}
|
|
||||||
allow_unsigned_uploads = 0
|
|
||||||
EOM
|
|
||||||
|
|
||||||
# Output SSH config
|
|
||||||
# Don't let SSH prompt us for untrusted hosts
|
|
||||||
cat >> "./ssh_config" << EOM
|
|
||||||
|
|
||||||
Host *
|
|
||||||
StrictHostKeyChecking no
|
|
||||||
UserKnownHostsFile=/dev/null
|
|
||||||
PubKeyAuthentication yes
|
|
||||||
IdentityFile ${PWD}/key.private
|
|
||||||
IdentitiesOnly yes
|
|
||||||
EOM
|
|
||||||
sudo sh -c "cat < ${PWD}/ssh_config >> /etc/ssh/ssh_config";
|
|
||||||
|
|
||||||
# Get the private key
|
|
||||||
echo "$DPL_SSH_KEY_PRIVATE" | base64 --decode > key.private;
|
|
||||||
chmod 700 ./key.private;
|
|
||||||
|
|
||||||
if [[ "$_DPL_PACKAGE_MAIN" == "1" ]]; then
|
|
||||||
PACKAGEFILENAME=${PACKAGE_NAME}_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
PACKAGEDBGFILENAME=${PACKAGE_NAME}-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
#PACKAGENIGHTLYFILENAME=${PACKAGE_NAME}-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
#PACKAGENIGHTLYDBGFILENAME=${PACKAGE_NAME}-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
#PACKAGEPATCHFILENAME=${PACKAGE_NAME}-patch_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
#PACKAGEPATCHDBGFILENAME=${PACKAGE_NAME}-patch-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
#PACKAGEPATCHNIGHTLYFILENAME=${PACKAGE_NAME}-patch-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
#PACKAGEPATCHNIGHTLYDBGFILENAME=${PACKAGE_NAME}-patch-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
|
|
||||||
PACKAGEFILENAMES=(
|
|
||||||
$PACKAGEFILENAME
|
|
||||||
$PACKAGEDBGFILENAME
|
|
||||||
#$PACKAGENIGHTLYFILENAME
|
|
||||||
#$PACKAGENIGHTLYDBGFILENAME
|
|
||||||
#$PACKAGEPATCHFILENAME
|
|
||||||
#$PACKAGEPATCHDBGFILENAME
|
|
||||||
#$PACKAGEPATCHNIGHTLYFILENAME
|
|
||||||
#$PACKAGEPATCHNIGHTLYDBGFILENAME
|
|
||||||
);
|
|
||||||
|
|
||||||
# Main packages are in parent of root repo folder
|
|
||||||
OLDPWD=$PWD; # [repo]/build
|
|
||||||
cd ../..;
|
|
||||||
|
|
||||||
# Enter passphrase if required
|
|
||||||
for n in ${PACKAGEFILENAMES}; do
|
|
||||||
for f in $n*.changes; do
|
|
||||||
# Binary builds also generate source builds, so exclude the source
|
|
||||||
# builds if desired
|
|
||||||
if [[ "$_DPL_PACKAGE_SOURCE" != "1" ]]; then
|
|
||||||
if [[ "$f" == *"_source"* ]] || [[ "$f" == *".tar.xz"* ]]; then
|
|
||||||
continue;
|
|
||||||
fi;
|
|
||||||
fi;
|
|
||||||
|
|
||||||
expect <(cat <<EOD
|
|
||||||
spawn dput -c "${OLDPWD}/dput.cf" deployer "$f";
|
|
||||||
expect "Enter passphrase for key"
|
|
||||||
send "${DPL_SSH_KEY_PASSPHRASE}\r"
|
|
||||||
interact
|
|
||||||
EOD
|
|
||||||
);
|
|
||||||
done;
|
|
||||||
done;
|
|
||||||
|
|
||||||
# Go back to [repo]/build folder
|
|
||||||
cd $OLDPWD;
|
|
||||||
fi;
|
|
||||||
|
|
||||||
if [[ "$_DPL_PACKAGE_ASSET" == "1" ]]; then
|
|
||||||
PACKAGEFILENAME=${PACKAGE_NAME}-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
#PACKAGENIGHTLYFILENAME=${PACKAGE_NAME}-nightly-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
#PACKAGEPATCHFILENAME=${PACKAGE_NAME}-patch-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
#PACKAGEPATCHNIGHTLYFILENAME=${PACKAGE_NAME}-patch-nightly-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
|
|
||||||
PACKAGEFILENAMES=(
|
|
||||||
$PACKAGEFILENAME
|
|
||||||
#$PACKAGENIGHTLYFILENAME
|
|
||||||
#$PACKAGEPATCHFILENAME
|
|
||||||
#$PACKAGEPATCHNIGHTLYFILENAME
|
|
||||||
)
|
|
||||||
|
|
||||||
# Asset packages are in root repo folder
|
|
||||||
OLDPWD=$PWD; # [repo]/build
|
|
||||||
cd ..;
|
|
||||||
|
|
||||||
# Enter passphrase if required
|
|
||||||
for n in ${PACKAGEFILENAMES}; do
|
|
||||||
for f in $n*.changes; do
|
|
||||||
# Binary builds also generate source builds, so exclude the source
|
|
||||||
# builds if desired
|
|
||||||
if [[ "$_DPL_PACKAGE_SOURCE" != "1" ]]; then
|
|
||||||
if [[ "$f" == *"_source"* ]] || [[ "$f" == *".tar.xz"* ]]; then
|
|
||||||
continue;
|
|
||||||
fi;
|
|
||||||
fi;
|
|
||||||
expect <(cat <<EOD
|
|
||||||
spawn dput -c "${OLDPWD}/dput.cf" deployer "$f";
|
|
||||||
expect "Enter passphrase for key"
|
|
||||||
send "${DPL_SSH_KEY_PASSPHRASE}\r"
|
|
||||||
interact
|
|
||||||
EOD
|
|
||||||
);
|
|
||||||
done;
|
|
||||||
done;
|
|
||||||
|
|
||||||
# Go back to [repo]/build folder
|
|
||||||
cd $OLDPWD;
|
|
||||||
fi;
|
|
||||||
|
|
||||||
srm ./key.private;
|
|
||||||
fi;
|
|
||||||
@@ -1,137 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Deployer for Travis-CI
|
|
||||||
# FTP Uploader
|
|
||||||
#
|
|
||||||
# Package files are uploaded to, e.g., ftp://username:password@example.com:21/path/to/upload/STJr/SRB2/master/460873812-151.1
|
|
||||||
# With file `commit.txt` and folder(s) `bin` and `package`
|
|
||||||
#
|
|
||||||
# Set these environment variables in your Travis-CI settings, where they are stored securely.
|
|
||||||
# See other shell scripts for more options.
|
|
||||||
#
|
|
||||||
# DPL_FTP_PROTOCOL = ftp (ftp or sftp or ftps or however your FTP URI begins)
|
|
||||||
# DPL_FTP_USER = username
|
|
||||||
# DPL_FTP_PASS = password
|
|
||||||
# DPL_FTP_HOSTNAME = example.com
|
|
||||||
# DPL_FTP_PORT = 21
|
|
||||||
# DPL_FTP_PATH = path/to/upload (do not add trailing slash)
|
|
||||||
|
|
||||||
if [[ "$__DPL_FTP_ACTIVE" == "1" ]]; then
|
|
||||||
if [[ "$TRAVIS_JOB_NAME" != "" ]]; then
|
|
||||||
JOBNAME=$TRAVIS_JOB_NAME;
|
|
||||||
else
|
|
||||||
if [[ "$_DPL_JOB_NAME" != "" ]]; then
|
|
||||||
JOBNAME=$_DPL_JOB_NAME;
|
|
||||||
else
|
|
||||||
JOBNAME=$TRAVIS_OS_NAME;
|
|
||||||
fi;
|
|
||||||
fi;
|
|
||||||
|
|
||||||
# Generate commit.txt file
|
|
||||||
echo "Travis-CI Build $TRAVIS_OS_NAME - $TRAVIS_REPO_SLUG/$TRAVIS_BRANCH - $TRAVIS_JOB_NUMBER - $JOBNAME" > "commit.txt";
|
|
||||||
echo "Job ID $TRAVIS_JOB_ID" >> "commit.txt";
|
|
||||||
echo "" >> "commit.txt";
|
|
||||||
echo "Commit $TRAVIS_COMMIT" >> "commit.txt";
|
|
||||||
echo "$TRAVIS_COMMIT_MESSAGE" >> "commit.txt";
|
|
||||||
echo "" >> "commit.txt";
|
|
||||||
|
|
||||||
# Initialize FTP parameters
|
|
||||||
if [[ "$DPL_FTP_PORT" == "" ]]; then
|
|
||||||
DPL_FTP_PORT=21;
|
|
||||||
fi;
|
|
||||||
if [[ "$DPL_FTP_PROTOCOL" == "" ]]; then
|
|
||||||
DPL_FTP_PROTOCOL=ftp;
|
|
||||||
fi;
|
|
||||||
__DPL_FTP_LOCATION=$DPL_FTP_PROTOCOL://$DPL_FTP_HOSTNAME:$DPL_FTP_PORT/$DPL_FTP_PATH/$TRAVIS_REPO_SLUG/$TRAVIS_BRANCH/$TRAVIS_JOB_ID-$TRAVIS_JOB_NUMBER-$JOBNAME;
|
|
||||||
|
|
||||||
# Upload to FTP!
|
|
||||||
echo "Uploading to FTP...";
|
|
||||||
curl --ftp-create-dirs -T "commit.txt" -u $DPL_FTP_USER:$DPL_FTP_PASS "$__DPL_FTP_LOCATION/commit.txt";
|
|
||||||
|
|
||||||
if [[ "$__DPL_DEBIAN_ACTIVE" == "1" ]]; then
|
|
||||||
if [[ "$_DPL_PACKAGE_MAIN" == "1" ]]; then
|
|
||||||
PACKAGEFILENAME=${PACKAGE_NAME}_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
PACKAGEDBGFILENAME=${PACKAGE_NAME}-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
#PACKAGENIGHTLYFILENAME=${PACKAGE_NAME}-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
#PACKAGENIGHTLYDBGFILENAME=${PACKAGE_NAME}-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
#PACKAGEPATCHFILENAME=${PACKAGE_NAME}-patch_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
#PACKAGEPATCHDBGFILENAME=${PACKAGE_NAME}-patch-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
#PACKAGEPATCHNIGHTLYFILENAME=${PACKAGE_NAME}-patch-nightly_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
#PACKAGEPATCHNIGHTLYDBGFILENAME=${PACKAGE_NAME}-patch-nightly-dbg_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
|
|
||||||
PACKAGEFILENAMES=(
|
|
||||||
$PACKAGEFILENAME
|
|
||||||
$PACKAGEDBGFILENAME
|
|
||||||
#$PACKAGENIGHTLYFILENAME
|
|
||||||
#$PACKAGENIGHTLYDBGFILENAME
|
|
||||||
#$PACKAGEPATCHFILENAME
|
|
||||||
#$PACKAGEPATCHDBGFILENAME
|
|
||||||
#$PACKAGEPATCHNIGHTLYFILENAME
|
|
||||||
#$PACKAGEPATCHNIGHTLYDBGFILENAME
|
|
||||||
);
|
|
||||||
|
|
||||||
# Main packages are in parent of root repo folder
|
|
||||||
OLDPWD=$PWD; # [repo]/build
|
|
||||||
cd ../..;
|
|
||||||
|
|
||||||
for n in ${PACKAGEFILENAMES}; do
|
|
||||||
for f in ./$n*; do
|
|
||||||
# Binary builds also generate source builds, so exclude the source
|
|
||||||
# builds if desired
|
|
||||||
if [[ "$_DPL_PACKAGE_SOURCE" != "1" ]]; then
|
|
||||||
if [[ "$f" == *"_source"* ]] || [[ "$f" == *".tar.xz"* ]]; then
|
|
||||||
continue;
|
|
||||||
fi;
|
|
||||||
fi;
|
|
||||||
curl --ftp-create-dirs -T "$f" -u $DPL_FTP_USER:$DPL_FTP_PASS "$__DPL_FTP_LOCATION/package/main/$f";
|
|
||||||
done;
|
|
||||||
done;
|
|
||||||
|
|
||||||
# Go back to [repo]/build folder
|
|
||||||
cd $OLDPWD;
|
|
||||||
fi;
|
|
||||||
|
|
||||||
if [[ "$_DPL_PACKAGE_ASSET" == "1" ]]; then
|
|
||||||
PACKAGEFILENAME=${PACKAGE_NAME}-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
#PACKAGENIGHTLYFILENAME=${PACKAGE_NAME}-nightly-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
#PACKAGEPATCHFILENAME=${PACKAGE_NAME}-patch-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
#PACKAGEPATCHNIGHTLYFILENAME=${PACKAGE_NAME}-patch-nightly-data_${PACKAGE_VERSION}${PACKAGE_SUBVERSION}${PACKAGE_REVISION};
|
|
||||||
|
|
||||||
PACKAGEFILENAMES=(
|
|
||||||
$PACKAGEFILENAME
|
|
||||||
#$PACKAGENIGHTLYFILENAME
|
|
||||||
#$PACKAGEPATCHFILENAME
|
|
||||||
#$PACKAGEPATCHNIGHTLYFILENAME
|
|
||||||
)
|
|
||||||
|
|
||||||
# Asset packages are in root repo folder
|
|
||||||
OLDPWD=$PWD; # [repo]/build
|
|
||||||
cd ..;
|
|
||||||
|
|
||||||
for n in ${PACKAGEFILENAMES}; do
|
|
||||||
for f in ./$n*; do
|
|
||||||
# Binary builds also generate source builds, so exclude the source
|
|
||||||
# builds if desired
|
|
||||||
if [[ "$_DPL_PACKAGE_SOURCE" != "1" ]]; then
|
|
||||||
if [[ "$f" == *"_source"* ]] || [[ "$f" == *".tar.xz"* ]]; then
|
|
||||||
continue;
|
|
||||||
fi;
|
|
||||||
fi;
|
|
||||||
curl --ftp-create-dirs -T "$f" -u $DPL_FTP_USER:$DPL_FTP_PASS "$__DPL_FTP_LOCATION/package/asset/$f";
|
|
||||||
done;
|
|
||||||
done;
|
|
||||||
|
|
||||||
# Go back to [repo]/build folder
|
|
||||||
cd $OLDPWD;
|
|
||||||
fi;
|
|
||||||
else
|
|
||||||
if [[ "$_DPL_BINARY" == "1" ]]; then
|
|
||||||
find bin -type f -exec curl -u $DPL_FTP_USER:$DPL_FTP_PASS --ftp-create-dirs -T {} $__DPL_FTP_LOCATION/{} \;;
|
|
||||||
fi;
|
|
||||||
|
|
||||||
if [[ "$_DPL_PACKAGE_BINARY" == "1" ]]; then
|
|
||||||
sudo rm -r package/_CPack_Packages
|
|
||||||
find package -type f -exec curl -u $DPL_FTP_USER:$DPL_FTP_PASS --ftp-create-dirs -T {} $__DPL_FTP_LOCATION/{} \;;
|
|
||||||
fi;
|
|
||||||
fi;
|
|
||||||
fi
|
|
||||||
@@ -1,93 +0,0 @@
|
|||||||
================================================================
|
|
||||||
How to add Low-res modes to your XF86Config under Linux MANUALLY
|
|
||||||
================================================================
|
|
||||||
|
|
||||||
I TAKE NO RESPONSIBILITY FOR ANY DAMAGE DONE TO YOUR EQUIPMENT!!!
|
|
||||||
|
|
||||||
This document explains how to add low-res modes like 320x200 to your
|
|
||||||
X-Server configuration, because some new setup tools for the X-Server
|
|
||||||
do not support this. ONLY RECOMMENDED FOR USERS WHO KNOW WHAT THEY DO!
|
|
||||||
|
|
||||||
I do not take any responsibility for damage done to your monitor, your
|
|
||||||
videocard, your harddisk, your cat, your dog or anything else!!!
|
|
||||||
IMPORTANT IS, THAT YOUR "HorizSync" AND "VertRefresh" VALUES REALLY
|
|
||||||
MATCH YOUR MONITOR! OTHERWISE YOUR MONITOR CAN BLOW UP!!!
|
|
||||||
|
|
||||||
OK, if you have read up to here, you either know what you do or really
|
|
||||||
die-hard want those low-res modes. Here is what to do:
|
|
||||||
Look up your XF86Config. Is is either in /etc or in /etc/X11. Here is
|
|
||||||
what you have to add to the definition of your modeslines:
|
|
||||||
|
|
||||||
# Low-res Doublescan modes
|
|
||||||
# If your chipset does not support doublescan, you get a 'squashed'
|
|
||||||
# resolution like 320x400.
|
|
||||||
|
|
||||||
# 320x200 @ 70 Hz, 31.5 kHz hsync, 8:5 aspect ratio
|
|
||||||
Modeline "320x200" 12.588 320 336 384 400 200 204 205 225 Doublescan
|
|
||||||
# 320x240 @ 60 Hz, 31.5 kHz hsync, 4:3 aspect ratio
|
|
||||||
Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
|
|
||||||
# 320x240 @ 72 Hz, 36.5 kHz hsync
|
|
||||||
Modeline "320x240" 15.750 320 336 384 400 240 244 246 262 Doublescan
|
|
||||||
# 400x300 @ 56 Hz, 35.2 kHz hsync, 4:3 aspect ratio
|
|
||||||
ModeLine "400x300" 18 400 416 448 512 300 301 302 312 Doublescan
|
|
||||||
# 400x300 @ 60 Hz, 37.8 kHz hsync
|
|
||||||
Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
|
|
||||||
# 400x300 @ 72 Hz, 48.0 kHz hsync
|
|
||||||
Modeline "400x300" 25 400 424 488 520 300 319 322 333 Doublescan
|
|
||||||
|
|
||||||
If your video card only supports a specific set of discrete dotclocks
|
|
||||||
(RAMDAC) you may have to replace the dotclocks given here by one of the
|
|
||||||
specified (e.g in the first modeline the dotclock is 12.588 MHz). I believe
|
|
||||||
that nowadays all cards and monitors should work with these settings, but
|
|
||||||
if you have outdated hardware you better check the frequencies yourself. If
|
|
||||||
there is any uncertainty, please check the "XFree86 Video Timings HOWTO".
|
|
||||||
|
|
||||||
|
|
||||||
Then have a look at the section "Screen" with the appropriate driver
|
|
||||||
(usually either "svga" or "accel"). Under Subsection "Display" there
|
|
||||||
are modes for the given color depth. Add the desired modes. As an
|
|
||||||
example I give you my screens definition here with low-res modes in
|
|
||||||
16 bit color depth:
|
|
||||||
|
|
||||||
Section "Screen"
|
|
||||||
Driver "accel"
|
|
||||||
Device "3D Charger"
|
|
||||||
Monitor "Iiyama Pro 450"
|
|
||||||
DefaultColorDepth 16
|
|
||||||
|
|
||||||
Subsection "Display"
|
|
||||||
Depth 8
|
|
||||||
Modes "1280x1024" "1024x768" "800x600" "640x480"
|
|
||||||
ViewPort 0 0
|
|
||||||
Virtual 1280 1024
|
|
||||||
EndSubsection
|
|
||||||
Subsection "Display"
|
|
||||||
Depth 16
|
|
||||||
Modes "1152x864" "1024x768" "800x600" "640x480" "400x300" "320x200" <- THIS IS ACTUALLY WHAT YOU WANT!!!
|
|
||||||
ViewPort 0 0 ^^^^^^^^^^^^^^^^^^^
|
|
||||||
Virtual 1152 864
|
|
||||||
EndSubsection
|
|
||||||
Subsection "Display"
|
|
||||||
Depth 24
|
|
||||||
Modes "800x600" "640x480"
|
|
||||||
ViewPort 0 0
|
|
||||||
Virtual 800 600
|
|
||||||
EndSubsection
|
|
||||||
Subsection "Display"
|
|
||||||
Depth 32
|
|
||||||
Modes "800x600" "640x480"
|
|
||||||
ViewPort 0 0
|
|
||||||
Virtual 800 600
|
|
||||||
EndSubsection
|
|
||||||
EndSection
|
|
||||||
|
|
||||||
Once again: important is, that you edit the correct Screen section.
|
|
||||||
If you use the SVGA Server and edit the ACCEL Server, you might
|
|
||||||
wonder where your new modes have gone.
|
|
||||||
|
|
||||||
If everything went fine and you want to say thank you, just write
|
|
||||||
to "metzgermeister@users.sourceforge.net". If your monitor blew
|
|
||||||
up and you want to kill me, find me playing Legacy or Q3A on the net
|
|
||||||
and frag me (with your second monitor, hehe).
|
|
||||||
|
|
||||||
- metzgermeister
|
|
||||||
@@ -1,212 +0,0 @@
|
|||||||
1-99 : Player Starts
|
|
||||||
1 - Player 1 Start 1
|
|
||||||
2 - Player 2 Start 2
|
|
||||||
3 - Player 3 Start 3
|
|
||||||
4 - Player 4 Start 4
|
|
||||||
5 - Player 5 Start 4001
|
|
||||||
6 - Player 6 Start 4002
|
|
||||||
7 - Player 7 Start 4003
|
|
||||||
8 - Player 8 Start 4004
|
|
||||||
9 - Player 9 Start 4005
|
|
||||||
10 - Player 10 Start 4006
|
|
||||||
11 - Player 11 Start 4007
|
|
||||||
12 - Player 12 Start 4008
|
|
||||||
13 - Player 13 Start 4009
|
|
||||||
14 - Player 14 Start 4010
|
|
||||||
15 - Player 15 Start 4011
|
|
||||||
16 - Player 16 Start 4012
|
|
||||||
17 - Player 17 Start 4013
|
|
||||||
18 - Player 18 Start 4014
|
|
||||||
19 - Player 19 Start 4015
|
|
||||||
20 - Player 20 Start 4016
|
|
||||||
21 - Player 21 Start 4017
|
|
||||||
22 - Player 22 Start 4018
|
|
||||||
23 - Player 23 Start 4019
|
|
||||||
24 - Player 24 Start 4020
|
|
||||||
25 - Player 25 Start 4021
|
|
||||||
26 - Player 26 Start 4022
|
|
||||||
27 - Player 27 Start 4023
|
|
||||||
28 - Player 28 Start 4024
|
|
||||||
29 - Player 29 Start 4025
|
|
||||||
30 - Player 30 Start 4026
|
|
||||||
31 - Player 31 Start 4027
|
|
||||||
32 - Player 32 Start 4028
|
|
||||||
33 - Player Match Start 11
|
|
||||||
34 - Red Team Start 87
|
|
||||||
35 - Blue Team Start 89
|
|
||||||
36 - Tag start New
|
|
||||||
|
|
||||||
100 - 199 : Enemies
|
|
||||||
100 - Blue Crawla 3004
|
|
||||||
101 - Red Crawla 9
|
|
||||||
102 - GFZ Fish 58
|
|
||||||
103 - Gold Buzz 5005
|
|
||||||
104 - Red Buzz 5006
|
|
||||||
105 - Jetty-Syn Bomber 3005
|
|
||||||
106 - Jetty-Syn Gunner 22
|
|
||||||
107 - Crawla Commander 21
|
|
||||||
108 - Deton 71
|
|
||||||
109 - Skim 56
|
|
||||||
110 - THZ Turret 2004
|
|
||||||
111 - Pop-up Turret 42
|
|
||||||
|
|
||||||
200 - 299 : Bosses and their associated items (if any)
|
|
||||||
200 - Boss 1 16
|
|
||||||
201 - Boss 2 2008
|
|
||||||
290 - Boss Fly Point 17
|
|
||||||
291 - EggTrap Center 2049
|
|
||||||
|
|
||||||
300 - 399 : Collectibles
|
|
||||||
300 - Ring 2014
|
|
||||||
301 - Homing Ring 69
|
|
||||||
302 - Rail Ring 3003
|
|
||||||
303 - Infinity Ring 80
|
|
||||||
304 - Automatic Ring 26
|
|
||||||
305 - Explosion Ring 54
|
|
||||||
306 - Red CTF Flag 31
|
|
||||||
307 - Blue CTF Flag 34
|
|
||||||
308 - Special Stage Token 2013
|
|
||||||
309 - Emerald 1 420
|
|
||||||
310 - Emerald 2 421
|
|
||||||
311 - Emerald 3 422
|
|
||||||
312 - Emerald 4 423
|
|
||||||
313 - Emerald 5 424
|
|
||||||
314 - Emerald 6 425
|
|
||||||
315 - Emerald 7 426
|
|
||||||
316 - Hunting Emerald 1 64
|
|
||||||
317 - Hunting Emerald 2 3002
|
|
||||||
318 - Hunting Emerald 3 3001
|
|
||||||
|
|
||||||
400 - 499 : Boxes
|
|
||||||
400 - Super Ring Box 2011
|
|
||||||
401 - Grey Ring Box 2012
|
|
||||||
402 - Ring Shield Box 48
|
|
||||||
403 - Fire Shield Box 2002
|
|
||||||
404 - Bomb Shield Box 2018
|
|
||||||
405 - Jump Shield Box 35
|
|
||||||
406 - Water Shield Box 2028
|
|
||||||
407 - Sneaker Box 25
|
|
||||||
408 - Invincibility Box 2022
|
|
||||||
409 - 1-Up Box 41
|
|
||||||
410 - Eggman Box 2005
|
|
||||||
411 - Mixup Box 78
|
|
||||||
412 - Question Box 3000
|
|
||||||
|
|
||||||
500 - 599 : Interactive Objects (friendly or otherwise - includes springs)
|
|
||||||
500 - Bubble Patch 33
|
|
||||||
501 - Level End Sign 86
|
|
||||||
502 - Starpost 3006
|
|
||||||
520 - Spike Ball -1
|
|
||||||
521 - Special Stage Spike Ball 23
|
|
||||||
522 - Ceiling Spike 67
|
|
||||||
523 - Floor Spike 68
|
|
||||||
540 - Fan 32
|
|
||||||
541 - Steam Riser 30
|
|
||||||
550 - Yellow Spring 28
|
|
||||||
551 - Red Spring 79
|
|
||||||
552 - Blue Spring 5004
|
|
||||||
553 - Yellow Spring Down 65
|
|
||||||
554 - Red Spring Down 66
|
|
||||||
555 - Yellow Diagonal Spring 2015
|
|
||||||
556 - Red Diagonal Spring 38
|
|
||||||
557 - Yellow Diag Spring Down 20
|
|
||||||
558 - Red Diag Spring Down 39
|
|
||||||
|
|
||||||
600 - 699 : Special placement patterns
|
|
||||||
600 - Vertical Rigns - Stack of 5 (suitable for Yellow Spring) 84
|
|
||||||
601 - Vertical Rings - Stack of 5 (suitable for Red Spring) 44
|
|
||||||
602 - Diagonal rings (5) 76
|
|
||||||
603 - Diagonal rings (10) 77
|
|
||||||
604 - A ring of rings 47
|
|
||||||
605 - A BIGGER ring of rings 2007
|
|
||||||
606 - A ring of wing items 2048
|
|
||||||
607 - A BIGGER ring of wing items 2010
|
|
||||||
608 - A ring of rings and wings (alternating) 2046
|
|
||||||
609 - A BIGGER ring of rings and wings (alternating) 2047
|
|
||||||
|
|
||||||
700 - 799 : Powerup indicators/environmental effects/miscellany
|
|
||||||
700 - Ambient Water 1a (S) 2026
|
|
||||||
701 - Ambient Water 1b (S) 2024
|
|
||||||
702 - Ambient Water 2a (M) 2023
|
|
||||||
703 - Ambient Water 2b (M) 2045
|
|
||||||
704 - Ambient Water 3a (L) 83
|
|
||||||
705 - Ambient Water 3b (L) 2019
|
|
||||||
706 - Ambient Water 4a (XL) 2025
|
|
||||||
707 - Ambient Water 4b (XL) 27
|
|
||||||
708 - Random Ambient 1 14
|
|
||||||
709 - Random Ambient 2 43
|
|
||||||
750 - Chaos Spawner 8
|
|
||||||
751 - Teleport Point 5003
|
|
||||||
752 - Alternate View Point 5007
|
|
||||||
753 - Zoom Tube Waypoint 18
|
|
||||||
754 - Pusher 5001
|
|
||||||
755 - Puller 5002
|
|
||||||
756 - Street Light 2003
|
|
||||||
|
|
||||||
800 - 899 : Greenflower Scenery
|
|
||||||
800 - Flower 1 36
|
|
||||||
801 - Flower 2 70
|
|
||||||
802 - Flower 3 73
|
|
||||||
804 - Berry Bush 74
|
|
||||||
805 - Bush 75
|
|
||||||
|
|
||||||
900 - 999 : Techno Hill Scenery
|
|
||||||
900 - THZ Plant 2035
|
|
||||||
901 - Alarm 2006
|
|
||||||
|
|
||||||
1000 - 1099 : Deep Sea Scenery
|
|
||||||
1000 - Gargoyle 81
|
|
||||||
|
|
||||||
1100 - 1199 : Castle Eggman Scenery
|
|
||||||
1100 - Ceiling Chain 49
|
|
||||||
1101 - Torch Flame 24
|
|
||||||
1102 - Eggman Statue 52
|
|
||||||
1103 - CEZ Flower 2001
|
|
||||||
|
|
||||||
1200 - 1299 : Arid Canyon Scenery
|
|
||||||
1300 - 1399 : Red Volcano Scenery
|
|
||||||
1400 - 1499 : Dark City Scenery
|
|
||||||
1500 - 1599 : Doom Ship Scenery
|
|
||||||
1600 - 1699 : Egg Rock/Final Fight Scenery
|
|
||||||
1700 - 1799 : NiGHTS Items
|
|
||||||
1700 - Axis 72
|
|
||||||
1701 - Axis Transfer (Normal) 61
|
|
||||||
1702 - Axis Transfer (Line) 46
|
|
||||||
1703 - Nights Drone 60
|
|
||||||
1704 - Nights Bumper 82
|
|
||||||
1705 - Hoop 57
|
|
||||||
1706 - Nights Wing 37
|
|
||||||
1707 - Super Loop Powerup 3007
|
|
||||||
1708 - Drill Refill Powerup 3008
|
|
||||||
1709 - Helper Powerup 3009
|
|
||||||
1710 - Egg Capsule 40
|
|
||||||
|
|
||||||
1800 - 1849 : Mario Items
|
|
||||||
1800 - Coin 10005
|
|
||||||
1801 - Goomba 10000
|
|
||||||
1802 - Blue Goomba 10001
|
|
||||||
1803 - FireFlower 50
|
|
||||||
1804 - Shell 10
|
|
||||||
1805 - Puma 29
|
|
||||||
1806 - Koopa 19
|
|
||||||
1807 - Axe 12
|
|
||||||
1808 - Mario Bush 1 10002
|
|
||||||
1809 - Mario Bush 2 10003
|
|
||||||
1810 - Toad 10004
|
|
||||||
|
|
||||||
1850 - 1899 : Christmas Items
|
|
||||||
1850 - Xmas Pole 5
|
|
||||||
1851 - Candy Cane 13
|
|
||||||
1852 - Snowman 6
|
|
||||||
|
|
||||||
1900 - 1999 : Misc Scenery
|
|
||||||
1900 - Stalagmite 0
|
|
||||||
1901 - Stalagmite 1
|
|
||||||
1902 - Stalagmite 2
|
|
||||||
1903 - Stalagmite 3
|
|
||||||
1904 - Stalagmite 4
|
|
||||||
1905 - Stalagmite 5
|
|
||||||
1906 - Stalagmite 6
|
|
||||||
1907 - Stalagmite 7
|
|
||||||
1908 - Stalagmite 8
|
|
||||||
1909 - Stalagmite 9
|
|
||||||
@@ -1,223 +0,0 @@
|
|||||||
Description OldNum NewNum Description
|
|
||||||
Old Water 14 Removed
|
|
||||||
|
|
||||||
Level Parameters/Misc:
|
|
||||||
Per-Sector Gravity 64 1
|
|
||||||
Custom Exit 71 2
|
|
||||||
Zoom Tube Parameters 18 3
|
|
||||||
Speed Pad 65 4
|
|
||||||
Camera Scanner 63 5
|
|
||||||
Disable Linedef 73 6
|
|
||||||
Flat Alignment 66 7
|
|
||||||
Sector Special Parameters New 8
|
|
||||||
Mace Parameters New 9
|
|
||||||
Sprite Cull Height New 10
|
|
||||||
Rope Hang Parameters New 11
|
|
||||||
Rock Spawner Parameters New 12
|
|
||||||
|
|
||||||
PolyObjects
|
|
||||||
Marks first line in PolyObject New 20
|
|
||||||
Explicitly includes a PolyObject line New 21
|
|
||||||
PolyObject: Parameters New 22
|
|
||||||
PolyObject: Waving Flag New 31
|
|
||||||
|
|
||||||
Level-Load Effects:
|
|
||||||
Instant Floor Lower 26 50
|
|
||||||
Instant Ceiling Raise 24 51
|
|
||||||
Continuously Falling Sector 88 52
|
|
||||||
Continuous Floor/Ceiling Mover 2 53
|
|
||||||
Continuous Floor Mover 3 54
|
|
||||||
Continuous Ceiling Mover 4 55
|
|
||||||
Continuous Two-Speed Floor/Ceiling Mover 6 56
|
|
||||||
Continuous Two-Speed Floor Mover 7 57
|
|
||||||
Continuous Two-Speed Ceiling Mover 8 58
|
|
||||||
Activate Floating Platform 232 59
|
|
||||||
Activate Floating Platform (Adjustable Speed) 233 60
|
|
||||||
Crusher 1 (Ceiling to Floor) 43 61
|
|
||||||
Crusher 2 (Floor to Ceiling) 50 62
|
|
||||||
Fake Floor/Ceiling 242 63
|
|
||||||
Appearing/Disappearing FOF New 64
|
|
||||||
Bridge Thinker New 65
|
|
||||||
|
|
||||||
Floor Over Floors:
|
|
||||||
"Floor Over Floor: Solid, Opaque, Shadowcasting " 25 100
|
|
||||||
"Floor Over Floor: Solid, Opaque, Non-Shadowcasting " 33 101
|
|
||||||
"Floor Over Floor: Solid, Translucent " 44 102
|
|
||||||
"Floor Over Floor: Solid, Sides Only " 69 103
|
|
||||||
"Floor Over Floor: Solid, No Sides " 51 104
|
|
||||||
"Floor Over Floor: Solid, Invisible " 57 105
|
|
||||||
|
|
||||||
"Floor Over Floor: Water, Opaque " 48 120
|
|
||||||
"Floor Over Floor: Water, Translucent " 45 121
|
|
||||||
"Floor Over Floor: Water, Opaque, No Sides " 75 122
|
|
||||||
"Floor Over Floor: Water, Translucent, No Sides " 74 123
|
|
||||||
|
|
||||||
"Floor Over Floor: Platform, Opaque " 59 140
|
|
||||||
"Floor Over Floor: Platform, Translucent " 81 141
|
|
||||||
"Floor Over Floor: Platform, Translucent, No Sides " 77 142
|
|
||||||
|
|
||||||
Floor Over Floor: Bobbing (Air) 38 150
|
|
||||||
Floor Over Floor: Adjustable Bobbing (Air) 68 151
|
|
||||||
Floor Over Floor: Reverse Adjustable Bobbing (Air) 72 152
|
|
||||||
|
|
||||||
"Floor Over Floor: Floating, Bobbing " 34 160
|
|
||||||
|
|
||||||
Floor Over Floor: Crumbling (Respawn) 36 170
|
|
||||||
Floor Over Floor: Crumbling (No Respawn) 35 171
|
|
||||||
"Floor Over Floor: Crumbling (Respawn), Platform " 79 172
|
|
||||||
"Floor Over Floor: Crumbling (No Respawn), Platform " 80 173
|
|
||||||
"Floor Over Floor: Crumbling (Respawn), Platform, Translucent " 82 174
|
|
||||||
"Floor Over Floor: Crumbling (No Respawn), Platform, Translucent " 83 175
|
|
||||||
"Floor Over Floor: Crumbling (Respawn), Floating, Bobbing " 39 176
|
|
||||||
"Floor Over Floor: Crumbling (No Respawn), Floating, Bobbing " 1 177
|
|
||||||
"Floor Over Floor: Crumbling (Respawn), Floating " 37 178
|
|
||||||
"Floor Over Floor: Crumbling (No Respawn), Floating " 42 179
|
|
||||||
"Floor Over Floor: Crumbling (Respawn), Bobbing (Air) " 40 180
|
|
||||||
|
|
||||||
"Floor Over Floor: Rising Platform, Solid, Opaque, Shadowcasting " 89 190
|
|
||||||
"Floor Over Floor: Rising Platform, Solid, Opaque, Non-Shadowcasting " 90 191
|
|
||||||
"Floor Over Floor: Rising Platform, Solid, Translucent " 91 192
|
|
||||||
"Floor Over Floor: Rising Platform, Solid, Invisible " 94 193
|
|
||||||
"Floor Over Floor: Rising Platform, Platform, Opaque " 92 194
|
|
||||||
"Floor Over Floor: Rising Platform, Platform, Translucent " 93 195
|
|
||||||
|
|
||||||
Floor Over Floor: Light Block 49 200
|
|
||||||
Floor Over Floor: Half Light Block 47 201
|
|
||||||
Floor Over Floor: Fog Block 46 202
|
|
||||||
|
|
||||||
"Floor Over Floor: Intangible, Opaque " 62 220
|
|
||||||
"Floor Over Floor: Intangible, Translucent " 52 221
|
|
||||||
"Floor Over Floor: Intangible, Sides Only " 67 222
|
|
||||||
"Floor Over Floor: Intangible, Invisible " 58 223
|
|
||||||
|
|
||||||
Floor Over Floor: Mario Block 41 250
|
|
||||||
Floor Over Floor: Thwomp Block 54 251
|
|
||||||
Floor Over Floor: Shatter Block 76 252
|
|
||||||
"Floor Over Floor: Shatter Block, Translucent " 86 253
|
|
||||||
Floor Over Floor: Bustable Block 55 254
|
|
||||||
Floor Over Floor: Spin Bust Block 78 255
|
|
||||||
"Floor Over Floor: Spin Bust Block, Translucent " 84 256
|
|
||||||
Floor Over Floor: Quicksand Block 56 257
|
|
||||||
Floor Over Floor: Laser Block 53 258
|
|
||||||
Floor Over Floor: Custom 87 259
|
|
||||||
|
|
||||||
Linedef Executor Triggers:
|
|
||||||
Trigger Linedef Executor (Continuous) 96 300
|
|
||||||
Trigger Linedef Executor (Each Time) 97 301
|
|
||||||
Trigger Linedef Executor (Once) 98 302
|
|
||||||
Trigger Linedef Executor (Ring Count - Continuous) 95 303
|
|
||||||
Trigger Linedef Executor (Ring Count - Once) 99 304
|
|
||||||
Trigger Linedef Executor (Character Ability - Continuous) 19 305
|
|
||||||
Trigger Linedef Executor (Character Ability - Each Time) 20 306
|
|
||||||
Trigger Linedef Executor (Character Ability - Once) 21 307
|
|
||||||
"Trigger Linedef Executor (Race Only, Once) " 9 308
|
|
||||||
Trigger Linedef Executor (CTF Red Team - Continuous) 10 309
|
|
||||||
Trigger Linedef Executor (CTF Red Team - Each Time) 11 310
|
|
||||||
Trigger Linedef Executor (CTF Blue Team - Continuous) 12 311
|
|
||||||
Trigger Linedef Executor (CTF Blue Team - Each Time) 13 312
|
|
||||||
Trigger Linedef Executor (No More Enemies - Once) 15 313
|
|
||||||
Trigger Linedef Executor (# of Pushables - Continuous) New 314
|
|
||||||
Trigger Linedef Executor (# of Pushables - Once) New 315
|
|
||||||
Trigger Linedef Executors (PolyObject - Land On) New 316
|
|
||||||
Trigger Linedef Executor (Level Load) New 399
|
|
||||||
|
|
||||||
Linedef Executor Options:
|
|
||||||
Linedef Executor: Set Tagged Sector's Floor Height/Pic 101 400
|
|
||||||
Linedef Executor: Set Tagged Sector's Ceiling Height/Pic 102 401
|
|
||||||
Linedef Executor: Set Tagged Sector's Light Level 103 402
|
|
||||||
Linedef Executor: Move Tagged Sector's Floor 106 403
|
|
||||||
Linedef Executor: Move Tagged Sector's Ceiling 107 404
|
|
||||||
Linedef Executor: Lower Floor by Line 108 405
|
|
||||||
Linedef Executor: Raise Floor by Line 109 406
|
|
||||||
Linedef Executor: Lower Ceiling by Line 110 407
|
|
||||||
Linedef Executor: Raise Ceiling by Line 111 408
|
|
||||||
Linedef Executor: Change Calling Sector's Tag 112 409
|
|
||||||
Linedef Executor: Change Front Sector's Tag 114 410
|
|
||||||
Linedef Executor: Stop Plane Movement 116 411
|
|
||||||
Linedef Executor: Teleport Player to Tagged Sector 104 412
|
|
||||||
Linedef Executor: Change Music 105 413
|
|
||||||
Linedef Executor: Play SFX 115 414
|
|
||||||
Linedef Executor: Run Script 113 415
|
|
||||||
Linedef Executor: Start Adjustable Fire Flicker 119 416
|
|
||||||
Linedef Executor: Start Adjustable Glowing Light 120 417
|
|
||||||
Linedef Executor: Start Adjustable Strobe Flash (unsynchronized) New 418
|
|
||||||
Linedef Executor: Start Adjustable Strobe Flash (synchronized) New 419
|
|
||||||
Linedef Executor: Fade Light Level 117 420
|
|
||||||
Linedef Executor: Stop Lighting Effect 118 421
|
|
||||||
Linedef Executor: Cut-Away View 121 422
|
|
||||||
Linedef Executor: Change Sky 123 423
|
|
||||||
Linedef Executor: Change Weather 124 424
|
|
||||||
Linedef Executor: Change Object State 125 425
|
|
||||||
Linedef Executor: Stop Object 122 426
|
|
||||||
Linedef Executor: Award Score 126 427
|
|
||||||
Linedef Executor: Start Platform Movement 127 428
|
|
||||||
Linedef Executor: Crush Ceiling Once New 429
|
|
||||||
Linedef Executor: Crush Floor Once New 430
|
|
||||||
Linedef Executor: Crush Floor & Ceiling Once New 431
|
|
||||||
Linedef Executor: Enable 2D Mode New 432
|
|
||||||
Linedef Executor: Disable 2D Mode New 433
|
|
||||||
Linedef Executor: Award Custom Power New 434
|
|
||||||
Linedef Executor: Stop Conveyor New 435
|
|
||||||
Linedef Executor: Start Conveyor New 436
|
|
||||||
Linedef Executor: Disable Player Movement New 437
|
|
||||||
|
|
||||||
Linedef Executor: Execute Linedef Executor New 450
|
|
||||||
|
|
||||||
Linedef Executor: PolyObject: Door Slide New 480
|
|
||||||
Linedef Executor: PolyObject: Door Swing New 481
|
|
||||||
Linedef Executor: PolyObject: Move XY New 482
|
|
||||||
Linedef Executor: PolyObject: Move XY w/ override New 483
|
|
||||||
Linedef Executor: PolyObject: Rotate Right New 484
|
|
||||||
Linedef Executor: PolyObject: Rotate Right w/ override New 485
|
|
||||||
Linedef Executor: PolyObject: Rotate Left New 486
|
|
||||||
Linedef Executor: PolyObject: Rotate Left w/ override New 487
|
|
||||||
Linedef Executor: PolyObject: Start waypoint movement New 488
|
|
||||||
Linedef Executor: PolyObject: Make Invisible New 489
|
|
||||||
Linedef Executor: PolyObject: Make Visible New 490
|
|
||||||
|
|
||||||
Scrollers/Pushers:
|
|
||||||
Scroll Wall First Side Left 100 500
|
|
||||||
Scroll Wall First Side Opposite Direction 85 501
|
|
||||||
Scroll Wall According to Linedef 254 502
|
|
||||||
Acc Scroll Wall According to Linedef 218 503
|
|
||||||
Disp Scroll Wall According to Linedef 249 504
|
|
||||||
Scroll Texture by Offsets 255 505
|
|
||||||
|
|
||||||
Scroll Floor Texture 251 510
|
|
||||||
Acc Scroll Floor Texture 215 511
|
|
||||||
Disp Scroll Floor Texture 246 512
|
|
||||||
Scroll Ceiling Texture 250 513
|
|
||||||
Acc Scroll Ceiling Texture 214 514
|
|
||||||
Disp Scroll Ceiling Texture 245 515
|
|
||||||
|
|
||||||
Carry Objects on Floor (no scroll) 252 520
|
|
||||||
Acc Carry Objects on Floor 216 521
|
|
||||||
Disp Carry Objects on Floor 247 522
|
|
||||||
Carry Objects on Ceiling 203 523
|
|
||||||
Acc Carry Objects on Ceiling 205 524
|
|
||||||
Disp Carry Objects on Ceiling 201 525
|
|
||||||
|
|
||||||
Scroll Floor Texture and Carry Objects 253 530
|
|
||||||
Acc Scroll Floor Texture and Carry Objects 217 531
|
|
||||||
Disp Scroll Floor Texture and Carry Objects 248 532
|
|
||||||
Scroll Ceiling Texture and Carry Objects 202 533
|
|
||||||
Acc Scroll Ceiling Texture and Carry Objects 204 534
|
|
||||||
Disp Scroll Ceiling Texture and Carry Objects 200 535
|
|
||||||
|
|
||||||
Friction 223 540
|
|
||||||
Horizontal Wind 224 541
|
|
||||||
Upwards Wind 229 542
|
|
||||||
Downwards Wind 230 543
|
|
||||||
Horizontal Current 225 544
|
|
||||||
Upwards Current 227 545
|
|
||||||
Downwards Current 228 546
|
|
||||||
Boom Push/Pull Thing 226 547
|
|
||||||
|
|
||||||
Lighting:
|
|
||||||
Floor Lighting 213 600
|
|
||||||
Ceiling Lighting 5 601
|
|
||||||
Adjustable Pulsating Light 60 602
|
|
||||||
Adjustable Flickering Light 61 603
|
|
||||||
Adjustable Blinking Light (unsynchronized) New 604
|
|
||||||
Adjustable Blinking Light (synchronized) New 605
|
|
||||||
Colormap 16 606
|
|
||||||
Binary file not shown.
@@ -1,78 +0,0 @@
|
|||||||
Removed:
|
|
||||||
- Buttons 1-20 690-709
|
|
||||||
- Button 21 (THZ2 A/740 B/741 D/742 E/745 710
|
|
||||||
- Close Door Blazing (Tag 743) 711
|
|
||||||
- Raise Ceiling to Highest (Tag 744) 981
|
|
||||||
- THZ2 Slime Raise (B/712 W713 P714 D715 S716) 986
|
|
||||||
|
|
||||||
Stuff to Remove/Change:
|
|
||||||
- Light Blinks On Every 0.5 Seconds 2 Add Linedef Combine
|
|
||||||
- Light Blinks On Every 1 Second 3 Add Linedef Combine
|
|
||||||
- Light Pulses Smoothly 8 Remove
|
|
||||||
- Light Blinks On Every 0.5 Seconds (Sync) 12 Add Linedef Combine
|
|
||||||
- Lights Blinks On Every 1 Second (Sync) 13 Add Linedef Combine
|
|
||||||
- Light Flickers Like Fire 17 Remove
|
|
||||||
? - Damage (Fire) and Current 519 Remove (convert to combination)
|
|
||||||
? - Damage (Water) and Current 984 Remove (convert to combination)
|
|
||||||
|
|
||||||
Section 1:
|
|
||||||
1 - Damage (Generic) 11
|
|
||||||
2 - Damage (Water) 983
|
|
||||||
3 - Damage (Fire) 7
|
|
||||||
4 - Damage (Electrical) 18
|
|
||||||
5 - Spikes 4
|
|
||||||
6 - Death Pit (Camera Mod) 16
|
|
||||||
7 - Death Pit (No Camera Mod) 5
|
|
||||||
8 - Instant Kill 10
|
|
||||||
9 - Ring Drainer (Floor Touch) 978
|
|
||||||
10 - Ring Drainer (No Floor Touch) 980
|
|
||||||
11 - Special Stage Damage 9
|
|
||||||
12 - Space Countdown 6
|
|
||||||
13 - Ramp Sector (Increase step-up) 992
|
|
||||||
14 - Non-Ramp Sector (Don't step-down) 996
|
|
||||||
15 - Bouncy Sector (FOF Control Only) 14
|
|
||||||
|
|
||||||
Section 2: << 4
|
|
||||||
1 - Trigger Linedef Exec (Pushable Objects) 971
|
|
||||||
2 - Trigger LD Exec (Anywhere in Sec/All Pls) 972
|
|
||||||
3 - Trigger Linedef Exec (Floor Touch/All Pls) 973
|
|
||||||
4 - Trigger Linedef Exec (Anywhere in Sec) 974
|
|
||||||
5 - Trigger Linedef Exec (Floor Touch) 975
|
|
||||||
6 - Trigger Linedef Exec (Emerald Check) 967
|
|
||||||
7 - Trigger Linedef Exec (NiGHTS Mare) 968
|
|
||||||
8 - Check for linedef executor on FOFs (ANY) 970
|
|
||||||
9 - Egg Trap Capsule 666
|
|
||||||
10 - Special Stage Time/Rings, Par 990
|
|
||||||
11 - Custom Global Gravity 991
|
|
||||||
|
|
||||||
Section 3: << 8
|
|
||||||
1 - Ice/Sludge (required?!) 256
|
|
||||||
2 - Wind/Current (required?!) 512
|
|
||||||
3 - Ice/Sludge and Wind/Current 768
|
|
||||||
4 - Conveyor Belt 985
|
|
||||||
5 - Speed Pad (No Spin) 976
|
|
||||||
6 - Speed Pad (Spin) 977
|
|
||||||
7 - Bustable Block Sprite Parameter 1500-1515
|
|
||||||
8 - "
|
|
||||||
9 - "
|
|
||||||
10 - "
|
|
||||||
11 - "
|
|
||||||
12 - "
|
|
||||||
13 - "
|
|
||||||
14 - "
|
|
||||||
15 - "
|
|
||||||
|
|
||||||
Section 4: << 12
|
|
||||||
1 - Starpost Activator 993
|
|
||||||
2 - Special Stage Goal Combine 33
|
|
||||||
2 - Exit Sector Combine 982
|
|
||||||
2 - No Tag Zone Combine 987
|
|
||||||
2 - CTF: Flag Return Combine 995
|
|
||||||
3 - CTF: Red Team Base 988
|
|
||||||
4 - CTF: Blue Team Base 989
|
|
||||||
5 - Fan Sector 997
|
|
||||||
6 - Super Sonic Transform 969
|
|
||||||
7 - Spinner 979
|
|
||||||
8 - Zoom Tube Start 998
|
|
||||||
9 - Zoom Tube End 999
|
|
||||||
10 - Finish Line 994
|
|
||||||
-307
@@ -1,307 +0,0 @@
|
|||||||
SRB2
|
|
||||||
Release v1.09, ? 2005.
|
|
||||||
|
|
||||||
Last Updated: June 2005
|
|
||||||
|
|
||||||
Original game & sources by: Id Software.
|
|
||||||
Additions: (c)1998 by: Fabrice Denis & Boris Pereira
|
|
||||||
(c)1999 by: Fabrice Denis, Boris Pereira & Thierry Van Elsuwe
|
|
||||||
(c)2000 by: Boris Pereira & Thierry Van Elsuwe
|
|
||||||
(c)2004 By: AJ, Graue, Alam Arias, Logan Arias & Andrew Clunis
|
|
||||||
|
|
||||||
Special thanks to Steven McGranahan, Lee Killough, Robert Bäuml and Bell Kin for
|
|
||||||
their large contribution and to other DooM LEGACY & SRB2 Team members.
|
|
||||||
|
|
||||||
Web site: http://www.SRB2.org/
|
|
||||||
e-mail: none@none.com
|
|
||||||
|
|
||||||
OpenGL specific:
|
|
||||||
Web site: http://legacy.newdoom.com/gl
|
|
||||||
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
|
||||||
F.A.Q.
|
|
||||||
-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
If you have any trouble with SRB2, you might find a solution
|
|
||||||
here.
|
|
||||||
|
|
||||||
If you find a solution to a problem that was not listed here,
|
|
||||||
please tell us so that we can update the FAQ and help other people!
|
|
||||||
|
|
||||||
Mail your hardware/software problems to:
|
|
||||||
|
|
||||||
None@none.com subject: FAQ
|
|
||||||
|
|
||||||
|
|
||||||
--------
|
|
||||||
CONTENTS
|
|
||||||
--------
|
|
||||||
|
|
||||||
[0] Miscellaneous
|
|
||||||
[1] Mouse/Joystick/Keyboard
|
|
||||||
[2] Video
|
|
||||||
[3] Sound
|
|
||||||
[4] Network
|
|
||||||
[5] Troubleshooting
|
|
||||||
|
|
||||||
|
|
||||||
-----------------
|
|
||||||
[0] MISCELLANEOUS
|
|
||||||
-----------------
|
|
||||||
|
|
||||||
* under win95 or OS/2, I don't have enough memory. How can i handle with ?
|
|
||||||
|
|
||||||
Tell win95 to put more dpmi memory for your dos box.
|
|
||||||
Or use the -mb option.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
---------------------------
|
|
||||||
[1] MOUSE/JOYSTICK/KEYBOARD
|
|
||||||
---------------------------
|
|
||||||
|
|
||||||
* My mouse/joystick does not work in SRB2.
|
|
||||||
|
|
||||||
First, check that the mouse/joystick is activated : go at the
|
|
||||||
console and type either 'use_mouse' (or use the respective
|
|
||||||
menuitem) or 'use_joystick'.
|
|
||||||
|
|
||||||
If it tells '0' or off than the mouse/joystick is not used,
|
|
||||||
set the variable to 1. eg: 'use_mouse 1'.
|
|
||||||
|
|
||||||
For the joystick, different values will support different
|
|
||||||
types of joystick, check the console documentation for the
|
|
||||||
command 'use_joystick' for more.
|
|
||||||
|
|
||||||
Even if the mouse or joystick is activated, you have to
|
|
||||||
set up the contols into the Setup Controls menu. That is:
|
|
||||||
tell what use you will make of the mouse/joystick buttons.
|
|
||||||
|
|
||||||
|
|
||||||
---------
|
|
||||||
[2] VIDEO
|
|
||||||
---------
|
|
||||||
|
|
||||||
|
|
||||||
* Where are the other video modes ? I have only '320x200' in the
|
|
||||||
Video Modes menu.
|
|
||||||
|
|
||||||
DOS
|
|
||||||
---
|
|
||||||
|
|
||||||
SRB2 adds new video modes only if a VESA2 (or better) driver
|
|
||||||
is present. The VESA2 driver is a standard of 'talking' between a
|
|
||||||
program and the huge amount of different graphics cards
|
|
||||||
available today.
|
|
||||||
|
|
||||||
If you don't have a VESA2 driver, you can download UNIVBE, or
|
|
||||||
SMART DISPLAY DOCTOR from
|
|
||||||
|
|
||||||
http://www.scitechsoft.com/products/ent/free_titles.html
|
|
||||||
|
|
||||||
or if you have an S3 based card, you can download the free
|
|
||||||
software called 'S3VBE'.
|
|
||||||
|
|
||||||
ftp://ftp.externet.hu/pub/mirror/sac/graph/s3vbe318.zip
|
|
||||||
ftp://ftp.digsys.bg/pub/simtelnet/msdos/graphics/s3vbe318.zip
|
|
||||||
http://www.filesearching.com/cgi-bin/s?q=s3vbe318.zip
|
|
||||||
http://www.google.com/search?q=s3vbe318.zip
|
|
||||||
|
|
||||||
* The game doesn't restore the video mode I have chosen the last time
|
|
||||||
I played SRB2.
|
|
||||||
|
|
||||||
The current video mode has to be made the 'default' so that it is
|
|
||||||
saved to the config : press the key 'D' on the Video Options menu
|
|
||||||
to set the current video mode the default.
|
|
||||||
|
|
||||||
* I have some problems with OpenGL mode
|
|
||||||
|
|
||||||
Have a look at the FAQ for OpenGL on the glLegacy web site:
|
|
||||||
|
|
||||||
http://www.doomnation.com/gllegacy/faqe.htm
|
|
||||||
|
|
||||||
# Linux: I only have a 1024x768 (or 800x600, 1280x1024, ...) resolution
|
|
||||||
in fullscreen mode under X and SRB2 is really really slow. Can I
|
|
||||||
have lower resolutions like 320x200 in fullscreen mode as well?
|
|
||||||
|
|
||||||
Probably yes. SRB2 can only use the resolutions offered by the
|
|
||||||
X-Server. So if all fullscreen modes have a very high resolution you
|
|
||||||
have to modify /etc/XF86Config (or /etc/X11/XF86Config). Use XF86Setup
|
|
||||||
(or the appropriate tool coming with your distribution - sax,
|
|
||||||
xf86config, ...) to do this.
|
|
||||||
If you do not succeed there, you can enter them manually into your
|
|
||||||
XF86Config file. ONLY RECOMMENDED FOR USERS WHO KNOW WHAT THEY DO!
|
|
||||||
For a short guide on how to do this, have a look at the file
|
|
||||||
"Doublescan.txt".
|
|
||||||
In case of doubt consult the XFree86-HOWTO (or ask your system
|
|
||||||
administrator :).
|
|
||||||
|
|
||||||
# Linux: I cannot have any fullscreen modes at all!
|
|
||||||
|
|
||||||
You have only modes above 1024x768 in your XF86Config. Proceed as
|
|
||||||
described above.
|
|
||||||
|
|
||||||
# Linux: After a certain idle time my screensaver jams the display of
|
|
||||||
SRB2. I can still operate SRB2, but I do not see what's happening
|
|
||||||
and the screensaver won't go away.
|
|
||||||
|
|
||||||
You probably have KDE. The KDE screensaver does not obey the screensaver
|
|
||||||
rules (at least mine, version 1.1). The solution is to deactivate the
|
|
||||||
KDE screensaver and use another screensaver (like the xscreensaver,
|
|
||||||
e.g.). But the hell, when you started SRB2 you should have played it
|
|
||||||
as well and not left it alone!!!
|
|
||||||
|
|
||||||
---------
|
|
||||||
[3] SOUND
|
|
||||||
---------
|
|
||||||
|
|
||||||
+ DOS:I can't have CD audio music, why ?
|
|
||||||
|
|
||||||
Make sure that the MSCDEX driver version 2.0 or later is loaded.
|
|
||||||
If it says 'MSCDEX version xxx' at game startup, and you still
|
|
||||||
don't hear the cd music, then probably your card doesn't respond
|
|
||||||
when SRB2 tries to set the cd volume. If so, make sure your sound
|
|
||||||
card's mixer have the cd volume set up so that you can hear something.
|
|
||||||
|
|
||||||
+ When the CD plays, the game is very 'jerky'. It doesn't do that when
|
|
||||||
I type 'cd off' in the console.
|
|
||||||
|
|
||||||
You have an old/bad cd driver, that can take up to a second to
|
|
||||||
respond to cd driver commands. Either get the latest version of
|
|
||||||
your driver, or turn cd update off. Check 'cd_udpate' in the
|
|
||||||
console documentation for more.
|
|
||||||
|
|
||||||
* DOS:How can I *ALWAYS* disable the sounds or music of the game ?
|
|
||||||
|
|
||||||
Edit the allegro.cfg file and set digicard/midicard to 0 (none)
|
|
||||||
|
|
||||||
* DOS:My sterero sound is reversed, how can I set it the right way ?
|
|
||||||
|
|
||||||
Change the console variable 'stereoreverse' to either 1 or 0.
|
|
||||||
Or, you can edit the allegro.cfg file, and set the 'flip_pan' variable.
|
|
||||||
|
|
||||||
|
|
||||||
* DOS:The sounds are too 'slow', or 'low-pitched'
|
|
||||||
|
|
||||||
It seems to be a problem of the auto-detection of some 8bit sound
|
|
||||||
cards. You will have to set manually the 'sb_freq' value in the
|
|
||||||
allegro.cfg file to a lower value : 11906, 16129.
|
|
||||||
|
|
||||||
* DOS:SRB2 doesn't play any sound/music, but I have a sound
|
|
||||||
blaster genuine/compatible card.
|
|
||||||
|
|
||||||
If you have a genuine or compatible SoundBlaster card, it is very
|
|
||||||
important that you set the BLASTER environment variable.
|
|
||||||
|
|
||||||
If you are playing under DOS, and never installed your sound card
|
|
||||||
under DOS, run the setup of your sound card for DOS.
|
|
||||||
|
|
||||||
Check if the BLASTER variable was set: type 'SET' under dos
|
|
||||||
(or DOSbox)
|
|
||||||
|
|
||||||
Do you see something like 'BLASTER=A220 I5 D1 ...' ?
|
|
||||||
|
|
||||||
Yes? If you don't hear sounds/music, then tweak the settings in the
|
|
||||||
allegro.cfg file until you get something, first try changing the
|
|
||||||
type of the sound card, it is not always properly detected.
|
|
||||||
|
|
||||||
No? You have to set this variable in order that your sound card is
|
|
||||||
detected. Run the setup that was shipped with your sound card, and
|
|
||||||
make sure you run the setup for DOS too, it will usually add a
|
|
||||||
line of the type 'SET BLASTER=... ...' in the autoexec.bat file.
|
|
||||||
|
|
||||||
|
|
||||||
* DOS:How can I have better midi music on my 8bit sound card ?
|
|
||||||
|
|
||||||
Use the DIGMID driver, it is supported in SRB2.
|
|
||||||
|
|
||||||
What the hell is this? Well, the Gravis Ultrasound uses digital
|
|
||||||
samples to play midi music. On a simple 8bit card, you can use digital
|
|
||||||
samples too, which will sound usually better than what is output
|
|
||||||
by the poor fm synthesis chip of 8bit cards.
|
|
||||||
|
|
||||||
You will need to get a Gravis Ultrasound patch set, you can find
|
|
||||||
several ones for free on internet, it consists of a bunch of '.pat'
|
|
||||||
files which are the digital samples to play the midi instruments
|
|
||||||
(eg: piano, conga, guitar, ect.).
|
|
||||||
|
|
||||||
Check the Allegro homepage for some links to GUS patches:
|
|
||||||
http://alleg.sourceforge.net/digmid.html
|
|
||||||
http://alleg.sourceforge.net/
|
|
||||||
http://www.talula.demon.co.uk/allegro/digmid.html
|
|
||||||
http://www.talula.demon.co.uk/allegro/
|
|
||||||
|
|
||||||
Now to activate the DIGMID driver:
|
|
||||||
|
|
||||||
Set the 'midi_card' value to 8 (DIGMID) in the allegro.cfg file.
|
|
||||||
Make sure you leave the 'digi_voices' blank, or set it to a low
|
|
||||||
value, because the midi music will use digital voices.
|
|
||||||
At the end of the allegro.cfg file, set the 'patches' value
|
|
||||||
to the path, where you have installed a Gravis Ultrasound midi
|
|
||||||
patch set. eg: patches = d:\music\midipat\
|
|
||||||
|
|
||||||
# Linux: CD music does not work or only works when run as root.
|
|
||||||
|
|
||||||
We do not encourage you to run SRB2 as root (you never know
|
|
||||||
what SRB2 can do to your system - it's a mighty piece of code :).
|
|
||||||
There is a common problem with ATAPI CD-rom drives, which are
|
|
||||||
treated as harddisks. Usually there is a link /dev/cdrom pointing to
|
|
||||||
device hd[b,c,d]. As harddisks are not supposed to be read directly
|
|
||||||
via this device (especially not by a common user), there are no read
|
|
||||||
permissions for "all". For CD-roms you can savely set read permissions
|
|
||||||
unless you are very paranoid. Assuming your CD-rom drive is /dev/hdc,
|
|
||||||
set permissions with "chmod +r /dev/hdc" (as root). SCSI CD-rom drives
|
|
||||||
should not have this problem. But if they do, proceed as described
|
|
||||||
with ATAPI drives.
|
|
||||||
|
|
||||||
# Linux: The CD music volume is not set properly.
|
|
||||||
|
|
||||||
Go to the console and type "jigglecdvolume 1".
|
|
||||||
|
|
||||||
-----------
|
|
||||||
[4] NETWORK
|
|
||||||
-----------
|
|
||||||
|
|
||||||
* Where can I find Internet servers ?
|
|
||||||
|
|
||||||
For the moment there is one public server.
|
|
||||||
http://srb2.servegame.org/ Master server web page
|
|
||||||
srb2.servegame.org:28910 current Master Server
|
|
||||||
|
|
||||||
* When I start SRB2 with -server or -connect it say :
|
|
||||||
"BinToPort: Address already in use (EADDRINUSE)"
|
|
||||||
|
|
||||||
It appears only when SRB2 crashes or when you leave with ctrl-break.
|
|
||||||
use -udpport 12345 (or any other free slot) on both sides (client and
|
|
||||||
server).
|
|
||||||
|
|
||||||
This can also happens when there is already a SRB2 running on your
|
|
||||||
computer if you whant to try two SRB2 running on the same computer
|
|
||||||
use -clientport 12345 (or any other free slot). Then the second will
|
|
||||||
connect to the first one.
|
|
||||||
|
|
||||||
* Do you use the tcp protocol ?
|
|
||||||
|
|
||||||
No, we use the udp protocol which is faster, but don't worry udp is a
|
|
||||||
part of the internet protocol.
|
|
||||||
|
|
||||||
|
|
||||||
-------------------
|
|
||||||
[5] Troubleshooting
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
# Linux: SRB2 is hung in fullscreen mode and won´t let me leave.
|
|
||||||
What shall I do?
|
|
||||||
|
|
||||||
Some people press the reset button, but hey, we are not in the
|
|
||||||
stoneage of operating systems! There are two "proper" ways to
|
|
||||||
get out: kill your X-Server. You can usually do this by pressing
|
|
||||||
"CTRL-ALT-BACKSPACE". But if you have other open applications with
|
|
||||||
important data (probably hacked away on your diploma thesis for 3
|
|
||||||
weeks without saving once) you can also kill SRB2 directly. Press
|
|
||||||
"CTRL-ALT-F2" and you will get to a console. Log in, type
|
|
||||||
"killall llxSRB2" and switch back to the X-Server with "CTRL-ALT-F7".
|
|
||||||
Some X-Server crash on this procedure - blame the X-Server for the
|
|
||||||
loss of 3 weeks work on your diploma thesis :)
|
|
||||||
@@ -1,68 +0,0 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>
|
|
||||||
Sonic Robo Blast 2 Manual
|
|
||||||
</title>
|
|
||||||
<link rel="stylesheet" type="text/css" href="srb2manstyle.css">
|
|
||||||
<!-- Borrowed some javascript code so the height of the iframe is equal to the size of the document - Sonict -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
/* free code from dyn-web.com */
|
|
||||||
|
|
||||||
function getDocHeight(doc) {
|
|
||||||
doc = doc || document;
|
|
||||||
// from http://stackoverflow.com/questions/1145850/get-height-of-entire-document-with-javascript
|
|
||||||
var body = doc.body, html = doc.documentElement;
|
|
||||||
var height = Math.max( body.scrollHeight, body.offsetHeight,
|
|
||||||
html.clientHeight, html.scrollHeight, html.offsetHeight );
|
|
||||||
return height;
|
|
||||||
}
|
|
||||||
|
|
||||||
function setIframeHeight(id) {
|
|
||||||
var ifrm = document.getElementById(id);
|
|
||||||
var doc = ifrm.contentDocument? ifrm.contentDocument: ifrm.contentWindow.document;
|
|
||||||
ifrm.style.visibility = 'hidden';
|
|
||||||
ifrm.style.height = "10px"; // reset to minimal height in case going from longer to shorter doc
|
|
||||||
ifrm.style.height = getDocHeight( doc ) + "px";
|
|
||||||
ifrm.style.visibility = 'visible';
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<meta http-equiv="Content-type" content="text/html; charset=UTF-8">
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<p class="c1">
|
|
||||||
<img src="manual_img/sonicname2.png" alt="SONIC" width="136" height="36">
|
|
||||||
<br>
|
|
||||||
<img src="manual_img/srb2banner.png" alt="ROBO BLAST 2" width="224" height="43">
|
|
||||||
</p>
|
|
||||||
<p class="c1">
|
|
||||||
<big><big><strong>Manual</strong></big></big>
|
|
||||||
</p>
|
|
||||||
<table class="cf" align="center">
|
|
||||||
<tr><td class="c">
|
|
||||||
<ul class="hmenu">
|
|
||||||
<li class="hmenu"><a class="hmenu" href="intro.htm" target="ifrm">Main</a></li>
|
|
||||||
<li class="hmenu"><a class="hmenu" href="items.htm" target="ifrm">Items</a></li>
|
|
||||||
<li class="hmenu"><a class="hmenu" href="playerabilities.htm" target="ifrm">Player Abilities</a></li>
|
|
||||||
<li class="hmenu"><a class="hmenu" href="basicplay.htm" target="ifrm">Gameplay</a></li>
|
|
||||||
<li class="hmenu"><a class="hmenu" href="surroundings.htm" target="ifrm">Surroundings</a></li>
|
|
||||||
</ul>
|
|
||||||
</td></tr>
|
|
||||||
<tr><td class="c">
|
|
||||||
<ul class="hmenu">
|
|
||||||
<li class="hmenu"><a class="hmenu" href="multiplayer.htm" target="ifrm">Multiplayer</a></li>
|
|
||||||
<li class="hmenu"><a class="hmenu" href="zones.htm" target="ifrm">Zones</a></li>
|
|
||||||
<li class="hmenu"><a class="hmenu" href="controls.htm" target="ifrm">Controls</a></li>
|
|
||||||
<li class="hmenu"><a class="hmenu" href="consolecommands.htm" target="ifrm">Console Commands</a></li>
|
|
||||||
<li class="hmenu"><a class="hmenu" href="misc.htm" target="ifrm">Misc</a></li>
|
|
||||||
</ul>
|
|
||||||
</td></tr>
|
|
||||||
</table>
|
|
||||||
<hr>
|
|
||||||
<p class="c1">
|
|
||||||
<!-- The "onload" property of the iframe makes an error when validated through the W3C validation checker. -->
|
|
||||||
<!-- This will not be fixed as it isn't worth the time to fix it up properly. - Sonict -->
|
|
||||||
<iframe id="ifrm" name="ifrm" src="intro.htm" onload="setIframeHeight(this.id)"> </iframe>
|
|
||||||
</p>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
SVN-RULES
|
|
||||||
|
|
||||||
- As you can see, there is sub-directory in the repository, one for eatch
|
|
||||||
platform (djgpp (dos),win32,SDL) the root directory is for all platform,
|
|
||||||
so take care of the order we have put in.
|
|
||||||
- do not commit/upload tests of bugged code, try to fix a maximum of know
|
|
||||||
bugs and update know bugs list in source.txt. If you must commit your source
|
|
||||||
make your code in #ifdef so we can disable it
|
|
||||||
- SRB2 is a modification of doom/Doom Legacy source. We allow additionnal feature
|
|
||||||
and visual addition.
|
|
||||||
- Maximize communications between members, do not impose your changes, if your
|
|
||||||
are not sure about a feature/change, talk about it in irc://irc.esper.net/srb2 chat room.
|
|
||||||
|
|
||||||
CODE-RULES
|
|
||||||
|
|
||||||
- We use no tab, 4 space indent, and tab size 8 (in case some tab have filtred
|
|
||||||
and for makefile)
|
|
||||||
- Self documented code, variable and function must have a name that help
|
|
||||||
understand the code, so do not call variable and function a,b, a2, ...
|
|
||||||
- the usage of extern in a c file is prohibited, except for declaration of a
|
|
||||||
function with body (so it is like public keyword in c++)
|
|
||||||
Also function protos haren't allowed for external function, put it un the
|
|
||||||
corresponding h file.
|
|
||||||
- Try to minimize #ifdef usage for :
|
|
||||||
- code readability
|
|
||||||
- the main code is for all port so if something is good for a platform all
|
|
||||||
platform can benefit by this feature
|
|
||||||
- Take care of platform dependent code, we would like to have code that work
|
|
||||||
on Dos, Win32, SDL, ... little and big endian, software/Glide/OpenGl.
|
|
||||||
|
|
||||||
GOOD PRACTICE
|
|
||||||
|
|
||||||
- Try to put as mush static variable and function on module so it help to
|
|
||||||
understand the role of the varaible/function in the module also this
|
|
||||||
help the compiler to optimize
|
|
||||||
- minimise global variable
|
|
||||||
- make a log of your work, so you don't need to put a lot of comment in
|
|
||||||
the code, this will also help us to update the what's new section of doc
|
|
||||||
when doing final release
|
|
||||||
-240
@@ -1,240 +0,0 @@
|
|||||||
|
|
||||||
1. Compile SRB2
|
|
||||||
2. Explanation of the code
|
|
||||||
2.1 The memory model
|
|
||||||
2.2 Hardware Texture model
|
|
||||||
|
|
||||||
1. Compile SRB2
|
|
||||||
=================
|
|
||||||
|
|
||||||
DOS
|
|
||||||
---
|
|
||||||
|
|
||||||
need:
|
|
||||||
- djgpp 2.03 (http://www.delorie.com/djgpp/)
|
|
||||||
- allegro 3.12 (http://alleg.sourceforge.net/index.html)
|
|
||||||
(
|
|
||||||
- libsocket 0.7.4 (beta 4) or better
|
|
||||||
for use with Winsock 1.1 (example Windows 3.1)
|
|
||||||
(http://www.phekda.freeserve.co.uk/richdawe/lsck/lsck.htm)
|
|
||||||
OR
|
|
||||||
- Wattcp-32 v2.2 dev.rel 6 or better
|
|
||||||
For use with a packet driver
|
|
||||||
(http://www.bgnett.no/~giva/)
|
|
||||||
(http://groups.yahoo.com/group/watt-32/)
|
|
||||||
(http://groups.yahoo.com/group/watt-32/files/v2.2/)
|
|
||||||
)
|
|
||||||
- bcd 1.03 (inlcude in this package)
|
|
||||||
- gcc 2.95.2 is recommended
|
|
||||||
- nasm 0.98 (or better) (http://nasm.sourceforge.net/)
|
|
||||||
|
|
||||||
compile:
|
|
||||||
make
|
|
||||||
make WATTCP=1 (to make a Wattcp-32 version)
|
|
||||||
|
|
||||||
debug:
|
|
||||||
when craching SRB2 will return eip
|
|
||||||
type make asm, then you will have a 8 megs srb2.s (a assembler file)
|
|
||||||
the you can find the faulting instruction and function
|
|
||||||
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
|
|
||||||
Linux/SDL
|
|
||||||
-----
|
|
||||||
|
|
||||||
need:
|
|
||||||
- tested with gcc 2.95 and 3.X.
|
|
||||||
- SDL 1.2
|
|
||||||
- SDL_mixer 1.2
|
|
||||||
- ibogg and libvorbis (http://Xiph.org/)
|
|
||||||
- nasm 0.98 (or better)(http://nasm.sourceforge.net/) only with 2.95, else add CC30=1
|
|
||||||
|
|
||||||
compile
|
|
||||||
make LINUX=1
|
|
||||||
|
|
||||||
debug:
|
|
||||||
gdb ?
|
|
||||||
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
|
|
||||||
Win32
|
|
||||||
-----
|
|
||||||
|
|
||||||
need :
|
|
||||||
- glide 3.x sdk (optional) (http://www.3dfx.com)
|
|
||||||
- directx6 sdk (or higher) (http://www.micosoft.com/directx)
|
|
||||||
- nasm 0.98 (or better) (http://nasm.sourceforge.net/)
|
|
||||||
- use src\win32\wLegacy.dsp
|
|
||||||
- VC6 should also work with VC5, and VS.NET 200X
|
|
||||||
|
|
||||||
debug:
|
|
||||||
press on "step over" with the release version (there is some debug info
|
|
||||||
on it). Then change the eip in the regster window when you will type
|
|
||||||
enter the edi will go to the faulting instruction. don't forget that
|
|
||||||
you can follow the stack for calls.
|
|
||||||
You can also use trace with the debug version but add -win and -nomouse.
|
|
||||||
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
|
|
||||||
Win32/minGW/SDL
|
|
||||||
-----
|
|
||||||
|
|
||||||
need:
|
|
||||||
- tested with gcc 2.95 and 3.X.
|
|
||||||
- can also use Dev-C++ 5.0 beta 9 (4.9.9.0) from http://www.bloodshed.net/dev/devcpp.html
|
|
||||||
- SDL 1.2
|
|
||||||
- SDL_mixer 1.2
|
|
||||||
|
|
||||||
compile
|
|
||||||
make minGW=1 SDL=1
|
|
||||||
or use src\SDL\Win32SDL.dev with Dev-C++ 4.9.9.0 or later
|
|
||||||
|
|
||||||
debug:
|
|
||||||
gdb ?
|
|
||||||
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
|
|
||||||
WinCE/SDL WIP
|
|
||||||
-----
|
|
||||||
|
|
||||||
need:
|
|
||||||
- ActiveSync 3.8
|
|
||||||
http://www.microsoft.com/windowsmobile/downloads/activesync38.mspx
|
|
||||||
|
|
||||||
- ActiveSync 3.7.1, if 3.8 isn't available for your language
|
|
||||||
http://www.microsoft.com/windowsmobile/downloads/activesync37.mspx
|
|
||||||
|
|
||||||
- eMbedded Visual Tools 3.0 - 2002 Edition
|
|
||||||
http://www.microsoft.com/downloads/details.aspx?FamilyID=f663bf48-31ee-4cbe-aac5-0affd5fb27dd
|
|
||||||
|
|
||||||
- Pocket PC 2000 SDK
|
|
||||||
http://www.microsoft.com/downloads/details.aspx?FamilyID=bb3f4d7b-de2a-4e1a-a175-26a68c301ac4
|
|
||||||
|
|
||||||
- Pocket PC 2002 SDK (eMVT 3.0 2002 Ed. comes with this)
|
|
||||||
http://www.microsoft.com/downloads/details.aspx?FamilyID=2dbee84a-bd94-4167-b817-2b2e548b2e92
|
|
||||||
|
|
||||||
- Pocket PC 2002 SDK Emulator Images (eMVT 3.0 2002 Ed. comes with this)
|
|
||||||
http://www.microsoft.com/downloads/details.aspx?FamilyID=25f4de97-ae80-477a-9df1-496b85b3d3e3
|
|
||||||
|
|
||||||
- eMbedded Visual C++ 4.0
|
|
||||||
http://www.microsoft.com/downloads/details.aspx?familyid=1DACDB3D-50D1-41B2-A107-FA75AE960856
|
|
||||||
|
|
||||||
- eMbedded Visual C++ 4.0 SP3 (Win CE 4.0-4.2)
|
|
||||||
http://www.microsoft.com/downloads/details.aspx?FamilyID=5bb36f3e-5b3d-419a-9610-2fe53815ae3b
|
|
||||||
|
|
||||||
OR
|
|
||||||
|
|
||||||
- eMbedded Visual C++ 4.0 SP4 (No SH3 support,Win CE 4.0-5.0 support)
|
|
||||||
http://www.microsoft.com/downloads/details.aspx?FamilyID=4a4ed1f4-91d3-4dbe-986e-a812984318e5
|
|
||||||
|
|
||||||
- eMbedded Visual C++ 4.0 Update 5625 (SP4 only)
|
|
||||||
http://www.microsoft.com/downloads/details.aspx?FamilyID=aa282a6d-6f57-436d-8c10-0ec02d94f5b1
|
|
||||||
|
|
||||||
- Windows CE: Standard Software Development Kit
|
|
||||||
http://www.microsoft.com/downloads/details.aspx?familyid=a08f6991-16b0-4019-a174-0c40e6d25fe7
|
|
||||||
|
|
||||||
- SDK for Windows Mobile 2003-based Pocket PCs
|
|
||||||
http://www.microsoft.com/downloads/details.aspx?FamilyId=9996B314-0364-4623-9EDE-0B5FBB133652
|
|
||||||
|
|
||||||
- Emulator Images for Windows Mobile 2003 Second Edition software for Pocket PC
|
|
||||||
http://www.microsoft.com/downloads/details.aspx?familyid=5C53E3B5-F2A2-47D7-A41D-825FD68EBB6C
|
|
||||||
|
|
||||||
- Microsoft Device Emulator 1.0 Community Preview
|
|
||||||
http://beta.microsoft.com Use Guest ID "MSDEVICE" to access the Community Preview website
|
|
||||||
|
|
||||||
- Windows CE Utilities for Visual Studio .NET 2003 Add-on Pack 1.1
|
|
||||||
(if you also have VS 2003 installed, you need this to install Win CE 5.0 SDK, else no need)
|
|
||||||
http://www.microsoft.com/downloads/details.aspx?FamilyId=7EC99CA6-2095-4086-B0CC-7C6C39B28762
|
|
||||||
|
|
||||||
- Windows CE 5.0: Standard Software Development Kit (eMC++ 4 SP4 only)
|
|
||||||
http://www.microsoft.com/downloads/details.aspx?FamilyID=fa1a3d66-3f61-4ddc-9510-ae450e2318c3
|
|
||||||
|
|
||||||
- SDL 1.27 (use patch and zip in tools\SDL1.2.7_CE)
|
|
||||||
|
|
||||||
compile
|
|
||||||
use src\SDL\WinCE\SRB2CE.vcw
|
|
||||||
|
|
||||||
debug:
|
|
||||||
?
|
|
||||||
|
|
||||||
|
|
||||||
2. Explanation of the code
|
|
||||||
==========================
|
|
||||||
|
|
||||||
2.1 The memory model (original) (z_zone.c) (by BP)
|
|
||||||
--------------------
|
|
||||||
|
|
||||||
SRB2 allocate a heap of 6/32/48 megs at begining and provide a Z_Malloc function
|
|
||||||
to allocate in this heap.
|
|
||||||
|
|
||||||
Z_Malloc( int size,int tag,void* user )
|
|
||||||
|
|
||||||
size is the size in byte
|
|
||||||
tag can be : PU_STATIC allocated static (like malloc do)
|
|
||||||
call Z_Free to free it
|
|
||||||
PU_LEVEL same as static but the zone is "tagged" with the
|
|
||||||
tag PU_LEVEL, when calling
|
|
||||||
Z_FreeTag (PU_LEVEL, PU_LEVEL) all zone tagged
|
|
||||||
with PU_LEVEL are freed (at the end of the level)
|
|
||||||
PU_CACHE this one _can_ be freed automatiquely by one other
|
|
||||||
call to Z_Malloc. the *user point to a pointer
|
|
||||||
to this zone so when freed automatiquely the
|
|
||||||
pointer is set to NULL so eatch time you use it
|
|
||||||
you must check if the pointer is not NULL and
|
|
||||||
reload it.
|
|
||||||
|
|
||||||
(...)
|
|
||||||
|
|
||||||
2.2 Hardware Texture model (by BP)
|
|
||||||
--------------------------
|
|
||||||
|
|
||||||
Eatch texture/patch/flats/pic in SRB2 are converted to hardware texture at
|
|
||||||
runtime (the GlideMipmap_s structure (hw_data.h)). I will call hardware
|
|
||||||
texture a gr_texture so there is no confusion.
|
|
||||||
|
|
||||||
To remind you :
|
|
||||||
- Texture are set of patch and are associate to linedefs (walls) can be
|
|
||||||
upper, lower or middle texture. It can have hole on it.
|
|
||||||
- patch are sprites (the doom patch are run of vertical lines)
|
|
||||||
- flats are used for floors and ceiling of sectors and have size of 64x64
|
|
||||||
it can't have hole on it
|
|
||||||
- pic are new legacy format for picture, it can only handle plain texture
|
|
||||||
like flats it is now used for hud in full screen for the main picture
|
|
||||||
of legacy and for coronas (the format was extended to handle 32 bit color
|
|
||||||
or intensity + alpha, not all are implemented at this time)
|
|
||||||
|
|
||||||
Since patch, flat and pic are basic structure represented by only one lump in
|
|
||||||
the wad, the wad loader allocate for eatch lump a GlideMipmap_s (cache3Dfx)
|
|
||||||
and init data field to NULL. Since the data structure is allocated in
|
|
||||||
PU_3DFXCACHE (like PU_CACHE) the data will be initilised when needed
|
|
||||||
(hw_cache.c).
|
|
||||||
|
|
||||||
The GlideMipmap_s structures for textures are initialized on
|
|
||||||
HWR_PrepLevelCache (hw_cache.c) it is called in P_SetupLevel (load level)
|
|
||||||
the number of textures is computed with TEXTURE1, TEXTURE2 lumps since this
|
|
||||||
can be changed in runtime in SRB2 (load a wad while runing) it must be
|
|
||||||
reallocated. Well, at this time it is realloceted at eatch level start. We
|
|
||||||
can do better, since numtextures change only when a wad is loaded.
|
|
||||||
|
|
||||||
The 3dfx driver use glide3, it load gr_texture in gr_texture memory of the
|
|
||||||
card in fifo order when there is no more place it remove the first gr_texture,
|
|
||||||
the downloaded field of GlideMipmap_s go to false and when needed it is
|
|
||||||
reloaded in gr_texture memory. In OpenGl, since OpenGl keep texture in there
|
|
||||||
own memory and handle gr_texture memory of the card we no more need to
|
|
||||||
redownload it but if we not free time to time gr_texture memory in opengl,
|
|
||||||
it will get alot of memory, so the gr_texture memory is cleared at eatch
|
|
||||||
new level (same time of texture reallocation). Opengl and 3dfx link the
|
|
||||||
loaded gr_texture with the nextmipmap field of GlideMipmap_s so before clear
|
|
||||||
textures of the heap we MUST free gr_texture memory of OpenGl or 3dfx !
|
|
||||||
|
|
||||||
SRB2 can also draw patch with a differant colormap (thanks to Hurdler).
|
|
||||||
When needed it create the same gr_texture but just with a differant colormap.
|
|
||||||
This one is linked with the original in the GlideMipmap_s with the
|
|
||||||
nextcolormap field.
|
|
||||||
|
|
||||||
So when a polygone with a gr_texture must be drawn, first we check if the
|
|
||||||
gr_textures is not allready loaded in hadware memory (downloaded field) if
|
|
||||||
not then we check if gr_texture data is there (not grabbed by z_malloc
|
|
||||||
function) if not we must recompute it eatch type of gr_texture (texture,
|
|
||||||
patch, flat, pic have there own methode) the we can send the gr_texture
|
|
||||||
to 3dfx or OpenGl.
|
|
||||||
-1992
File diff suppressed because it is too large.
Load diff
Binary file not shown.
|
Before Width: | Height: | Size: 153 KiB |
@@ -108,7 +108,6 @@ extern char logfilename[1024];
|
|||||||
#define VERSIONSTRINGW L"Saturn v9"
|
#define VERSIONSTRINGW L"Saturn v9"
|
||||||
// Hey! If you change this, add 1 to the MODVERSION below! Otherwise we can't force updates!
|
// Hey! If you change this, add 1 to the MODVERSION below! Otherwise we can't force updates!
|
||||||
// And change CMakeLists.txt (not src/, but in root), for CMake users!
|
// And change CMakeLists.txt (not src/, but in root), for CMake users!
|
||||||
// AND appveyor.yml, for the build bots!
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Maintain compatibility with 1.0.x record attack replays?
|
// Maintain compatibility with 1.0.x record attack replays?
|
||||||
|
|||||||
Reference in new issue
Block a user