mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-21 12:01:05 +00:00
Merge branch 'next' into clipmidtex
This commit is contained in:
commit
d842b41940
36 changed files with 1083 additions and 1036 deletions
853
.gitlab-ci.yml
853
.gitlab-ci.yml
|
@ -1,848 +1,19 @@
|
||||||
|
include:
|
||||||
|
- '.gitlab/ci/templates/*.yml'
|
||||||
|
- '.gitlab/ci/jobs/*.yml'
|
||||||
|
|
||||||
|
workflow:
|
||||||
|
auto_cancel:
|
||||||
|
on_new_commit: interruptible
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
GIT_STRATEGY: clone
|
|
||||||
GIT_CLONE_PATH: $CI_BUILDS_DIR/$CI_CONCURRENT_ID/$CI_PROJECT_PATH
|
GIT_CLONE_PATH: $CI_BUILDS_DIR/$CI_CONCURRENT_ID/$CI_PROJECT_PATH
|
||||||
|
GIT_DEPTH: 20
|
||||||
default:
|
|
||||||
image: git.do.srb2.org:5050/stjr/srb2ci/srb2ci:stable
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
- key: apk-$CI_JOB_IMAGE
|
|
||||||
paths:
|
|
||||||
- apk-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 nasm cmake ca-certificates
|
|
||||||
- |
|
|
||||||
# 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"
|
|
||||||
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- "bin/"
|
|
||||||
- "src/comptime.h"
|
|
||||||
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-$CI_JOB_NAME_SLUG"
|
|
||||||
|
|
||||||
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
|
|
||||||
- ccache --show-log-stats || true
|
|
||||||
- |
|
|
||||||
# ccahe_stats
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:ccache_stats\r\e[0K"
|
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- build
|
- build
|
||||||
|
|
||||||
Debian testing GCC:
|
default:
|
||||||
stage: build
|
interruptible: true
|
||||||
|
|
||||||
when: manual
|
|
||||||
|
|
||||||
image: debian:testing-slim
|
|
||||||
|
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
expire_in: 1 day
|
||||||
- "bin/"
|
|
||||||
- "src/comptime.h"
|
|
||||||
expose_as: "testing-gcc"
|
|
||||||
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-testing-gcc"
|
|
||||||
|
|
||||||
variables:
|
|
||||||
CC: gcc
|
|
||||||
LDFLAGS: -Wl,-fuse-ld=gold
|
|
||||||
|
|
||||||
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 libminiupnpc-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:
|
|
||||||
stage: build
|
|
||||||
|
|
||||||
when: on_success
|
|
||||||
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- "bin/"
|
|
||||||
- "src/comptime.h"
|
|
||||||
expose_as: "Win32"
|
|
||||||
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:
|
|
||||||
stage: build
|
|
||||||
|
|
||||||
when: on_success
|
|
||||||
|
|
||||||
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
|
|
||||||
LDFLAGS: -Wl,-fuse-ld=gold
|
|
||||||
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 libminiupnpc-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 oldstable:amd64:
|
|
||||||
extends: Debian stable:amd64
|
|
||||||
|
|
||||||
when: manual
|
|
||||||
|
|
||||||
image: git.do.srb2.org:5050/stjr/srb2ci/srb2ci:oldstable
|
|
||||||
|
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- "bin/"
|
|
||||||
- "src/comptime.h"
|
|
||||||
expose_as: "Debian old amd64"
|
|
||||||
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-old-x86-64"
|
|
||||||
|
|
||||||
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 libopenmpt-dev:amd64 libminiupnpc-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 NOGME=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX64=1 NOGME=1
|
|
||||||
- |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
|
||||||
|
|
||||||
Debian stable:i386:
|
|
||||||
stage: build
|
|
||||||
|
|
||||||
when: manual
|
|
||||||
|
|
||||||
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 libminiupnpc-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:
|
|
||||||
stage: build
|
|
||||||
|
|
||||||
when: manual
|
|
||||||
|
|
||||||
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
|
|
||||||
LDFLAGS: -Wl,-fuse-ld=gold
|
|
||||||
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 libminiupnpc-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 ARM64=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX64=1 NONX86=1 ARM64=1
|
|
||||||
- |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
|
||||||
|
|
||||||
Debian oldstable:arm64:
|
|
||||||
extends: Debian stable:arm64
|
|
||||||
|
|
||||||
when: manual
|
|
||||||
|
|
||||||
image: git.do.srb2.org:5050/stjr/srb2ci/srb2ci:oldstable
|
|
||||||
|
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- "bin/"
|
|
||||||
- "src/comptime.h"
|
|
||||||
expose_as: "Debian old arm64"
|
|
||||||
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-old-aarch64"
|
|
||||||
|
|
||||||
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 libopenmpt-dev:arm64 libminiupnpc-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 ARM64=1 NOGME=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX64=1 NONX86=1 ARM64=1 NOGME=1
|
|
||||||
- |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
|
||||||
|
|
||||||
batocera:arm64:
|
|
||||||
extends: Debian stable:arm64
|
|
||||||
|
|
||||||
when: manual
|
|
||||||
|
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- "bin/"
|
|
||||||
- "src/comptime.h"
|
|
||||||
expose_as: "Debian old arm64"
|
|
||||||
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-batocera-aarch64"
|
|
||||||
|
|
||||||
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 libopenmpt-dev:arm64 libminiupnpc-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 ARM64=1 NOGME=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX64=1 NONX86=1 ARM64=1 NOGME=1
|
|
||||||
- |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
|
||||||
|
|
||||||
Windows x64:
|
|
||||||
stage: build
|
|
||||||
|
|
||||||
when: manual
|
|
||||||
|
|
||||||
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:
|
|
||||||
stage: build
|
|
||||||
|
|
||||||
when: on_success
|
|
||||||
|
|
||||||
allow_failure: false
|
|
||||||
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- "build.clang/bin/"
|
|
||||||
- "build.clang/src/config.h"
|
|
||||||
expose_as: "clang"
|
|
||||||
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-clang"
|
|
||||||
|
|
||||||
variables:
|
|
||||||
CC: clang
|
|
||||||
CXX: clang
|
|
||||||
WFLAGS: -Wno-cast-align -Wno-implicit-const-int-float-conversion -Werror
|
|
||||||
CFLAGS: -Wno-cast-align -Wno-implicit-const-int-float-conversion -Werror
|
|
||||||
LDFLAGS: -Wl,-fuse-ld=gold
|
|
||||||
|
|
||||||
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 libminiupnpc-dev
|
|
||||||
- |
|
|
||||||
# apt_development
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
|
|
||||||
|
|
||||||
- - |
|
|
||||||
# cmake
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
|
||||||
- cmake -B build.clang -DCPM_USE_LOCAL_PACKAGES:BOOL=ON -DSRB2_CONFIG_ENABLE_TESTS:BOOL=OFF -DSRB2_CONFIG_SYSTEM_LIBRARIES:BOOL=ON -DSRB2_USE_LIBGME:BOOL=OFF -G "Unix Makefiles"
|
|
||||||
- |
|
|
||||||
# cmake
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:cmake\r\e[0K"
|
|
||||||
|
|
||||||
- - |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
|
||||||
- make --directory=build.clang --keep-going || make --directory=build.clang --keep-going
|
|
||||||
- |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
|
||||||
|
|
||||||
Debian testing Clang:
|
|
||||||
extends: Debian stable Clang
|
|
||||||
|
|
||||||
when: manual
|
|
||||||
|
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
image: debian:testing-slim
|
|
||||||
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- "build.clang/bin/"
|
|
||||||
- "build.clang/src/config.h"
|
|
||||||
expose_as: "testing-clang"
|
|
||||||
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-testing-clang"
|
|
||||||
|
|
||||||
variables:
|
|
||||||
CC: clang
|
|
||||||
CXX: clang
|
|
||||||
WFLAGS: -Wno-cast-align -Wno-implicit-const-int-float-conversion -Werror -Wno-deprecated-non-prototype -Wno-single-bit-bitfield-constant-conversion
|
|
||||||
CFLAGS: -Wno-cast-align -Wno-implicit-const-int-float-conversion -Werror -Wno-deprecated-non-prototype -Wno-single-bit-bitfield-constant-conversion
|
|
||||||
LDFLAGS: -Wl,-fuse-ld=gold
|
|
||||||
|
|
||||||
Alpine 3 GCC:
|
|
||||||
stage: build
|
|
||||||
|
|
||||||
when: on_success
|
|
||||||
|
|
||||||
image: alpine:3
|
|
||||||
|
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- "bin/"
|
|
||||||
- "src/comptime.h"
|
|
||||||
expose_as: "Apline-3"
|
|
||||||
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-Apline-3"
|
|
||||||
|
|
||||||
before_script:
|
|
||||||
- - |
|
|
||||||
# apk_cache
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:apk_cache[collapsed=true]\r\e[0KUpdating APK listing"
|
|
||||||
- export APK_CACHE_DIR=`pwd`/apk-cache
|
|
||||||
- mkdir --parents --verbose $APK_CACHE_DIR/
|
|
||||||
- ln -sf /etc/apk/cache $APK_CACHE_DIR
|
|
||||||
- |
|
|
||||||
# apk_cache
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:apk_cache\r\e[0K"
|
|
||||||
|
|
||||||
- - |
|
|
||||||
# apk_update
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:apk_update[collapsed=true]\r\e[0KUpdating APK listing"
|
|
||||||
- apk update
|
|
||||||
- |
|
|
||||||
# apk_update
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:apk_update\r\e[0K"
|
|
||||||
|
|
||||||
- - |
|
|
||||||
# apk_upgrade
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:apk_upgrade[collapsed=true]\r\e[0KUpdating existing packages"
|
|
||||||
- apk upgrade
|
|
||||||
- |
|
|
||||||
# apk_update
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:apk_upgrade\r\e[0K"
|
|
||||||
|
|
||||||
- - |
|
|
||||||
# apk_common
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:apk_common[collapsed=true]\r\e[0KInstalling common packages"
|
|
||||||
- apk add make git ccache nasm
|
|
||||||
- |
|
|
||||||
# apk_common
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:apk_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 -a ~/.ccache/ccache.conf
|
|
||||||
- |
|
|
||||||
# cache_dir
|
|
||||||
echo cache_dir = $PWD/ccache | tee -a ~/.ccache/ccache.conf
|
|
||||||
- |
|
|
||||||
# compiler_check
|
|
||||||
echo compiler_check = content | tee -a ~/.ccache/ccache.conf
|
|
||||||
- |
|
|
||||||
# stats_log
|
|
||||||
echo stats_log = $PWD/ccache_statslog | tee -a ~/.ccache/ccache.conf
|
|
||||||
- |
|
|
||||||
# max_size
|
|
||||||
echo max_size = 50M | tee -a ~/.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"
|
|
||||||
|
|
||||||
script:
|
|
||||||
- - |
|
|
||||||
# apk_toolchain
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:apk_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
|
|
||||||
- apk add gcc
|
|
||||||
- |
|
|
||||||
# apk_toolchain
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:apk_toolchain\r\e[0K"
|
|
||||||
|
|
||||||
- - |
|
|
||||||
# apk_development
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:apk_development[collapsed=true]\r\e[0KInstalling development packages"
|
|
||||||
- apk add musl-dev sdl2_mixer-dev libpng-dev curl-dev libgme-dev libopenmpt-dev miniupnpc-dev
|
|
||||||
- |
|
|
||||||
# apk_development
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:apk_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 NOEXECINFO=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 NONX86=1 NOEXECINFO=1
|
|
||||||
- |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
|
||||||
|
|
||||||
after_script:
|
|
||||||
- - |
|
|
||||||
# apk_clean
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:apk_clean[collapsed=true]\r\e[0KCleaning of unneeded APK packages"
|
|
||||||
- apk cache clean
|
|
||||||
- |
|
|
||||||
# apk_clean
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:apk_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"
|
|
||||||
|
|
||||||
Alpine 3 GCC Dedicated:
|
|
||||||
extends: Alpine 3 GCC
|
|
||||||
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- "bin/"
|
|
||||||
- "src/comptime.h"
|
|
||||||
expose_as: "Apline-3-Dedicated"
|
|
||||||
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-Apline-3-Dedicated"
|
|
||||||
|
|
||||||
script:
|
|
||||||
- - |
|
|
||||||
# apk_toolchain
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:apk_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
|
|
||||||
- apk add gcc
|
|
||||||
- |
|
|
||||||
# apk_toolchain
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:apk_toolchain\r\e[0K"
|
|
||||||
|
|
||||||
- - |
|
|
||||||
# apk_development
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:apk_development[collapsed=true]\r\e[0KInstalling development packages"
|
|
||||||
- apk add musl-dev libpng-dev curl-dev
|
|
||||||
- |
|
|
||||||
# apk_development
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:apk_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 NOEXECINFO=1 DEDICATED=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 NONX86=1 NOEXECINFO=1 DEDICATED=1
|
|
||||||
- |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
|
||||||
|
|
||||||
osxcross x86_64:
|
|
||||||
stage: build
|
|
||||||
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- "build.osxcross/bin/"
|
|
||||||
- "build.osxcross/src/config.h"
|
|
||||||
expose_as: "Mac x86_64"
|
|
||||||
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-clang"
|
|
||||||
|
|
||||||
variables:
|
|
||||||
OSXCROSS_HOST: x86_64-apple-darwin21.4
|
|
||||||
LD: x86_64-apple-darwin21.4-ld
|
|
||||||
|
|
||||||
script:
|
|
||||||
- - |
|
|
||||||
# apt_development
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:macports_development[collapsed=true]\r\e[0KInstalling development packages"
|
|
||||||
- osxcross-macports install curl libopenmpt libsdl2_mixer
|
|
||||||
- |
|
|
||||||
# apt_development
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:macports_development\r\e[0K"
|
|
||||||
|
|
||||||
- - |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KBuilding Makefiles"
|
|
||||||
- cmake -B build.osxcross --toolchain /osxcross/toolchain.cmake -DCPM_USE_LOCAL_PACKAGES:BOOL=ON -DOPENMPT_INCLUDE_DIR:PATH="/osxcross/macports/pkgs/opt/local/include" -DSDL2_INCLUDE_DIR:PATH="/osxcross/macports/pkgs/opt/local/lib" -DSRB2_CONFIG_ENABLE_TESTS:BOOL=OFF -DSRB2_CONFIG_SYSTEM_LIBRARIES:BOOL=ON -DSRB2_CONFIG_USE_GME:BOOL=OFF -G "Unix Makefiles"
|
|
||||||
- |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
|
||||||
|
|
||||||
- - |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
|
||||||
- make --directory=build.osxcross --keep-going || make --directory=build.osxcross --keep-going
|
|
||||||
- |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
|
||||||
|
|
||||||
osxcross arm64:
|
|
||||||
stage: build
|
|
||||||
|
|
||||||
when: manual
|
|
||||||
|
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- "build.osxcross/bin/"
|
|
||||||
- "build.osxcross/src/config.h"
|
|
||||||
expose_as: "Mac arm64"
|
|
||||||
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-clang"
|
|
||||||
|
|
||||||
variables:
|
|
||||||
OSXCROSS_HOST: arm64-apple-darwin21.4
|
|
||||||
LD: arm64-apple-darwin21.4-ld
|
|
||||||
|
|
||||||
script:
|
|
||||||
- - |
|
|
||||||
# apt_development
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:macports_development[collapsed=true]\r\e[0KInstalling development packages"
|
|
||||||
- osxcross-macports install --arm64 curl libopenmpt libsdl2_mixer
|
|
||||||
- |
|
|
||||||
# apt_development
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:macports_development\r\e[0K"
|
|
||||||
|
|
||||||
- - |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KBuilding Makefiles"
|
|
||||||
- cmake -B build.osxcross --toolchain /osxcross/toolchain.cmake -DCPM_USE_LOCAL_PACKAGES:BOOL=ON -DOPENMPT_INCLUDE_DIR:PATH="/osxcross/macports/pkgs/opt/local/include" -DSDL2_INCLUDE_DIR:PATH="/osxcross/macports/pkgs/opt/local/lib" -DSRB2_CONFIG_ENABLE_TESTS:BOOL=OFF -DSRB2_CONFIG_SYSTEM_LIBRARIES:BOOL=ON -DSRB2_CONFIG_USE_GME:BOOL=OFF -G "Unix Makefiles"
|
|
||||||
- |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
|
||||||
|
|
||||||
- - |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
|
||||||
- make --directory=build.osxcross --keep-going || make --directory=build.osxcross --keep-going
|
|
||||||
- |
|
|
||||||
# make
|
|
||||||
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
|
||||||
|
|
34
.gitlab/ci/jobs/alpine-3-gcc-dedicated.yml
Normal file
34
.gitlab/ci/jobs/alpine-3-gcc-dedicated.yml
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
Alpine 3 GCC Dedicated:
|
||||||
|
extends: Alpine 3 GCC
|
||||||
|
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- "bin/"
|
||||||
|
- "src/comptime.h"
|
||||||
|
expose_as: "Apline-3-Dedicated"
|
||||||
|
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-Apline-3-Dedicated"
|
||||||
|
|
||||||
|
script:
|
||||||
|
- - |
|
||||||
|
# apk_toolchain
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:apk_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
|
||||||
|
- apk add gcc
|
||||||
|
- |
|
||||||
|
# apk_toolchain
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:apk_toolchain\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# apk_development
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:apk_development[collapsed=true]\r\e[0KInstalling development packages"
|
||||||
|
- apk add musl-dev libpng-dev curl-dev
|
||||||
|
- |
|
||||||
|
# apk_development
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:apk_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 NOEXECINFO=1 DEDICATED=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 NONX86=1 NOEXECINFO=1 DEDICATED=1
|
||||||
|
- |
|
||||||
|
# make
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
135
.gitlab/ci/jobs/alpine-3-gcc.yml
Normal file
135
.gitlab/ci/jobs/alpine-3-gcc.yml
Normal file
|
@ -0,0 +1,135 @@
|
||||||
|
Alpine 3 GCC:
|
||||||
|
stage: build
|
||||||
|
|
||||||
|
when: manual
|
||||||
|
|
||||||
|
image: alpine:3
|
||||||
|
|
||||||
|
allow_failure: true
|
||||||
|
|
||||||
|
cache:
|
||||||
|
- key: apk-$CI_JOB_IMAGE
|
||||||
|
paths:
|
||||||
|
- apk-cache
|
||||||
|
unprotect: true
|
||||||
|
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- "bin/"
|
||||||
|
- "src/comptime.h"
|
||||||
|
expose_as: "Apline-3"
|
||||||
|
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-Apline-3"
|
||||||
|
|
||||||
|
before_script:
|
||||||
|
- - |
|
||||||
|
# apk_cache
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:apk_cache[collapsed=true]\r\e[0KUpdating APK listing"
|
||||||
|
- export APK_CACHE_DIR=`pwd`/apk-cache
|
||||||
|
- mkdir --parents --verbose $APK_CACHE_DIR/
|
||||||
|
- ln -sf /etc/apk/cache $APK_CACHE_DIR
|
||||||
|
- |
|
||||||
|
# apk_cache
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:apk_cache\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# apk_update
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:apk_update[collapsed=true]\r\e[0KUpdating APK listing"
|
||||||
|
- apk update
|
||||||
|
- |
|
||||||
|
# apk_update
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:apk_update\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# apk_upgrade
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:apk_upgrade[collapsed=true]\r\e[0KUpdating existing packages"
|
||||||
|
- apk upgrade
|
||||||
|
- |
|
||||||
|
# apk_update
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:apk_upgrade\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# apk_common
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:apk_common[collapsed=true]\r\e[0KInstalling common packages"
|
||||||
|
- apk add make git ccache nasm
|
||||||
|
- |
|
||||||
|
# apk_common
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:apk_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 -a ~/.ccache/ccache.conf
|
||||||
|
- |
|
||||||
|
# cache_dir
|
||||||
|
echo cache_dir = $PWD/ccache | tee -a ~/.ccache/ccache.conf
|
||||||
|
- |
|
||||||
|
# compiler_check
|
||||||
|
echo compiler_check = content | tee -a ~/.ccache/ccache.conf
|
||||||
|
- |
|
||||||
|
# stats_log
|
||||||
|
echo stats_log = $PWD/ccache_statslog | tee -a ~/.ccache/ccache.conf
|
||||||
|
- |
|
||||||
|
# max_size
|
||||||
|
echo max_size = 50M | tee -a ~/.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"
|
||||||
|
|
||||||
|
script:
|
||||||
|
- - |
|
||||||
|
# apk_toolchain
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:apk_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
|
||||||
|
- apk add gcc
|
||||||
|
- |
|
||||||
|
# apk_toolchain
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:apk_toolchain\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# apk_development
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:apk_development[collapsed=true]\r\e[0KInstalling development packages"
|
||||||
|
- apk add musl-dev sdl2_mixer-dev libpng-dev curl-dev libgme-dev libopenmpt-dev miniupnpc-dev
|
||||||
|
- |
|
||||||
|
# apk_development
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:apk_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 NOEXECINFO=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 NONX86=1 NOEXECINFO=1
|
||||||
|
- |
|
||||||
|
# make
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
||||||
|
|
||||||
|
after_script:
|
||||||
|
- - |
|
||||||
|
# apk_clean
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:apk_clean[collapsed=true]\r\e[0KCleaning of unneeded APK packages"
|
||||||
|
- apk cache clean
|
||||||
|
- |
|
||||||
|
# apk_clean
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:apk_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"
|
38
.gitlab/ci/jobs/batocera-arm64.yml
Normal file
38
.gitlab/ci/jobs/batocera-arm64.yml
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
batocera:arm64:
|
||||||
|
extends: Debian stable:arm64
|
||||||
|
|
||||||
|
when: manual
|
||||||
|
|
||||||
|
allow_failure: true
|
||||||
|
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- "bin/"
|
||||||
|
- "src/comptime.h"
|
||||||
|
expose_as: "Debian old arm64"
|
||||||
|
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-batocera-aarch64"
|
||||||
|
|
||||||
|
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 libopenmpt-dev:arm64 libminiupnpc-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 ARM64=1 NOGME=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX64=1 NONX86=1 ARM64=1 NOGME=1
|
||||||
|
- |
|
||||||
|
# make
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
40
.gitlab/ci/jobs/debian-oldstable-amd64.yml
Normal file
40
.gitlab/ci/jobs/debian-oldstable-amd64.yml
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
Debian oldstable:amd64:
|
||||||
|
extends: Debian stable:amd64
|
||||||
|
|
||||||
|
when: manual
|
||||||
|
|
||||||
|
image: git.do.srb2.org:5050/stjr/srb2ci/srb2ci:oldstable
|
||||||
|
|
||||||
|
allow_failure: true
|
||||||
|
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- "bin/"
|
||||||
|
- "src/comptime.h"
|
||||||
|
expose_as: "Debian old amd64"
|
||||||
|
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-old-x86-64"
|
||||||
|
|
||||||
|
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 libopenmpt-dev:amd64 libminiupnpc-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 NOGME=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX64=1 NOGME=1
|
||||||
|
- |
|
||||||
|
# make
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
40
.gitlab/ci/jobs/debian-oldstable-arm64.yml
Normal file
40
.gitlab/ci/jobs/debian-oldstable-arm64.yml
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
Debian oldstable:arm64:
|
||||||
|
extends: Debian stable:arm64
|
||||||
|
|
||||||
|
when: manual
|
||||||
|
|
||||||
|
image: git.do.srb2.org:5050/stjr/srb2ci/srb2ci:oldstable
|
||||||
|
|
||||||
|
allow_failure: true
|
||||||
|
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- "bin/"
|
||||||
|
- "src/comptime.h"
|
||||||
|
expose_as: "Debian old arm64"
|
||||||
|
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-old-aarch64"
|
||||||
|
|
||||||
|
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 libopenmpt-dev:arm64 libminiupnpc-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 ARM64=1 NOGME=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX64=1 NONX86=1 ARM64=1 NOGME=1
|
||||||
|
- |
|
||||||
|
# make
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
45
.gitlab/ci/jobs/debian-stable-amd64.yml
Normal file
45
.gitlab/ci/jobs/debian-stable-amd64.yml
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
Debian stable:amd64:
|
||||||
|
extends: .srb2ci
|
||||||
|
|
||||||
|
stage: 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
|
||||||
|
LDFLAGS: -Wl,-fuse-ld=gold
|
||||||
|
OBJCOPY: x86_64-linux-gnu-objcopy
|
||||||
|
OBJDUMP: x86_64-linux-gnu-objdump
|
||||||
|
PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig
|
||||||
|
|
||||||
|
when: on_success
|
||||||
|
|
||||||
|
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 libminiupnpc-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"
|
45
.gitlab/ci/jobs/debian-stable-arm64.yml
Normal file
45
.gitlab/ci/jobs/debian-stable-arm64.yml
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
Debian stable:arm64:
|
||||||
|
extends: .srb2ci
|
||||||
|
|
||||||
|
stage: build
|
||||||
|
|
||||||
|
when: manual
|
||||||
|
|
||||||
|
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
|
||||||
|
LDFLAGS: -Wl,-fuse-ld=gold
|
||||||
|
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 libminiupnpc-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 ARM64=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX64=1 NONX86=1 ARM64=1
|
||||||
|
- |
|
||||||
|
# make
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
55
.gitlab/ci/jobs/debian-stable-clang-amd64.yml
Normal file
55
.gitlab/ci/jobs/debian-stable-clang-amd64.yml
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
Debian stable Clang:
|
||||||
|
extends: .srb2ci
|
||||||
|
|
||||||
|
stage: build
|
||||||
|
|
||||||
|
when: on_success
|
||||||
|
|
||||||
|
allow_failure: false
|
||||||
|
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- "build.clang/bin/"
|
||||||
|
- "build.clang/src/config.h"
|
||||||
|
expose_as: "clang"
|
||||||
|
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-clang"
|
||||||
|
|
||||||
|
variables:
|
||||||
|
CC: clang
|
||||||
|
CXX: clang
|
||||||
|
WFLAGS: -Wno-cast-align -Wno-implicit-const-int-float-conversion -Werror
|
||||||
|
CFLAGS: -Wno-cast-align -Wno-implicit-const-int-float-conversion -Werror
|
||||||
|
LDFLAGS: -Wl,-fuse-ld=gold
|
||||||
|
|
||||||
|
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 libminiupnpc-dev
|
||||||
|
- |
|
||||||
|
# apt_development
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# cmake
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
||||||
|
- cmake -B build.clang -DCPM_USE_LOCAL_PACKAGES:BOOL=ON -DSRB2_CONFIG_ENABLE_TESTS:BOOL=OFF -DSRB2_CONFIG_SYSTEM_LIBRARIES:BOOL=ON -DSRB2_USE_LIBGME:BOOL=OFF -G "Unix Makefiles"
|
||||||
|
- |
|
||||||
|
# cmake
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:cmake\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# make
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
||||||
|
- make --directory=build.clang --keep-going || make --directory=build.clang --keep-going
|
||||||
|
- |
|
||||||
|
# make
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
44
.gitlab/ci/jobs/debian-stable-i386.yml
Normal file
44
.gitlab/ci/jobs/debian-stable-i386.yml
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
Debian stable:i386:
|
||||||
|
extends: .srb2ci
|
||||||
|
|
||||||
|
stage: build
|
||||||
|
|
||||||
|
when: manual
|
||||||
|
|
||||||
|
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 libminiupnpc-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"
|
22
.gitlab/ci/jobs/debian-testing-clang-amd64.yml
Normal file
22
.gitlab/ci/jobs/debian-testing-clang-amd64.yml
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
Debian testing Clang:
|
||||||
|
extends: Debian stable Clang
|
||||||
|
|
||||||
|
when: manual
|
||||||
|
|
||||||
|
allow_failure: true
|
||||||
|
|
||||||
|
image: debian:testing-slim
|
||||||
|
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- "build.clang/bin/"
|
||||||
|
- "build.clang/src/config.h"
|
||||||
|
expose_as: "testing-clang"
|
||||||
|
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-testing-clang"
|
||||||
|
|
||||||
|
variables:
|
||||||
|
CC: clang
|
||||||
|
CXX: clang
|
||||||
|
WFLAGS: -Wno-cast-align -Wno-implicit-const-int-float-conversion -Werror -Wno-deprecated-non-prototype -Wno-single-bit-bitfield-constant-conversion
|
||||||
|
CFLAGS: -Wno-cast-align -Wno-implicit-const-int-float-conversion -Werror -Wno-deprecated-non-prototype -Wno-single-bit-bitfield-constant-conversion
|
||||||
|
LDFLAGS: -Wl,-fuse-ld=gold
|
46
.gitlab/ci/jobs/debian-testing-gcc-amd64.yml
Normal file
46
.gitlab/ci/jobs/debian-testing-gcc-amd64.yml
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
Debian testing GCC:
|
||||||
|
extends: .srb2ci
|
||||||
|
|
||||||
|
stage: build
|
||||||
|
|
||||||
|
when: manual
|
||||||
|
|
||||||
|
image: debian:testing-slim
|
||||||
|
|
||||||
|
allow_failure: true
|
||||||
|
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- "bin/"
|
||||||
|
- "src/comptime.h"
|
||||||
|
expose_as: "testing-gcc"
|
||||||
|
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-testing-gcc"
|
||||||
|
|
||||||
|
variables:
|
||||||
|
CC: gcc
|
||||||
|
LDFLAGS: -Wl,-fuse-ld=gold
|
||||||
|
|
||||||
|
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 libminiupnpc-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"
|
44
.gitlab/ci/jobs/macos-arm64.yml
Normal file
44
.gitlab/ci/jobs/macos-arm64.yml
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
osxcross arm64:
|
||||||
|
extends: .srb2ci
|
||||||
|
|
||||||
|
stage: build
|
||||||
|
|
||||||
|
when: manual
|
||||||
|
|
||||||
|
allow_failure: true
|
||||||
|
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- "build.osxcross/bin/"
|
||||||
|
- "build.osxcross/src/config.h"
|
||||||
|
expose_as: "Mac arm64"
|
||||||
|
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-clang"
|
||||||
|
|
||||||
|
variables:
|
||||||
|
OSXCROSS_HOST: arm64-apple-darwin21.4
|
||||||
|
LD: arm64-apple-darwin21.4-ld
|
||||||
|
|
||||||
|
script:
|
||||||
|
- - |
|
||||||
|
# apt_development
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:macports_development[collapsed=true]\r\e[0KInstalling development packages"
|
||||||
|
- osxcross-macports install --arm64 curl libopenmpt libsdl2_mixer
|
||||||
|
- |
|
||||||
|
# apt_development
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:macports_development\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# cmake
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
||||||
|
- cmake -B build.osxcross --toolchain /osxcross/toolchain.cmake -DCPM_USE_LOCAL_PACKAGES:BOOL=ON -DOPENMPT_INCLUDE_DIR:PATH="/osxcross/macports/pkgs/opt/local/include" -DSDL2_INCLUDE_DIR:PATH="/osxcross/macports/pkgs/opt/local/lib" -DSRB2_CONFIG_ENABLE_TESTS:BOOL=OFF -DSRB2_CONFIG_SYSTEM_LIBRARIES:BOOL=ON -DSRB2_CONFIG_USE_GME:BOOL=OFF -G "Unix Makefiles"
|
||||||
|
- |
|
||||||
|
# make
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# make
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
||||||
|
- make --directory=build.osxcross --keep-going || make --directory=build.osxcross --keep-going
|
||||||
|
- |
|
||||||
|
# make
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
40
.gitlab/ci/jobs/macos-x86_64.yml
Normal file
40
.gitlab/ci/jobs/macos-x86_64.yml
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
osxcross x86_64:
|
||||||
|
extends: .srb2ci
|
||||||
|
|
||||||
|
stage: build
|
||||||
|
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- "build.osxcross/bin/"
|
||||||
|
- "build.osxcross/src/config.h"
|
||||||
|
expose_as: "Mac x86_64"
|
||||||
|
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-clang"
|
||||||
|
|
||||||
|
variables:
|
||||||
|
OSXCROSS_HOST: x86_64-apple-darwin21.4
|
||||||
|
LD: x86_64-apple-darwin21.4-ld
|
||||||
|
|
||||||
|
script:
|
||||||
|
- - |
|
||||||
|
# apt_development
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:macports_development[collapsed=true]\r\e[0KInstalling development packages"
|
||||||
|
- osxcross-macports install curl libopenmpt libsdl2_mixer
|
||||||
|
- |
|
||||||
|
# apt_development
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:macports_development\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# cmake
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:cmake[collapsed=false]\r\e[0KBuilding Makefiles"
|
||||||
|
- cmake -B build.osxcross --toolchain /osxcross/toolchain.cmake -DCPM_USE_LOCAL_PACKAGES:BOOL=ON -DOPENMPT_INCLUDE_DIR:PATH="/osxcross/macports/pkgs/opt/local/include" -DSDL2_INCLUDE_DIR:PATH="/osxcross/macports/pkgs/opt/local/lib" -DSRB2_CONFIG_ENABLE_TESTS:BOOL=OFF -DSRB2_CONFIG_SYSTEM_LIBRARIES:BOOL=ON -DSRB2_CONFIG_USE_GME:BOOL=OFF -G "Unix Makefiles"
|
||||||
|
- |
|
||||||
|
# make
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# make
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
||||||
|
- make --directory=build.osxcross --keep-going || make --directory=build.osxcross --keep-going
|
||||||
|
- |
|
||||||
|
# make
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
35
.gitlab/ci/jobs/windows-x64.yml
Normal file
35
.gitlab/ci/jobs/windows-x64.yml
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
Windows x64:
|
||||||
|
extends: .srb2ci
|
||||||
|
|
||||||
|
stage: build
|
||||||
|
|
||||||
|
when: manual
|
||||||
|
|
||||||
|
allow_failure: true
|
||||||
|
|
||||||
|
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"
|
35
.gitlab/ci/jobs/windows-x86.yml
Normal file
35
.gitlab/ci/jobs/windows-x86.yml
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
Windows x86:
|
||||||
|
extends: .srb2ci
|
||||||
|
|
||||||
|
stage: build
|
||||||
|
|
||||||
|
when: on_success
|
||||||
|
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- "bin/"
|
||||||
|
- "src/comptime.h"
|
||||||
|
expose_as: "Win32"
|
||||||
|
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-Win32"
|
||||||
|
|
||||||
|
variables:
|
||||||
|
PREFIX: i686-w64-mingw32
|
||||||
|
CC: /usr/bin/i686-w64-mingw32-gcc-posix
|
||||||
|
CXX: /usr/bin/i686-w64-mingw32-g++-posix
|
||||||
|
|
||||||
|
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"
|
145
.gitlab/ci/templates/srb2ci.yml
Normal file
145
.gitlab/ci/templates/srb2ci.yml
Normal file
|
@ -0,0 +1,145 @@
|
||||||
|
.srb2ci:
|
||||||
|
image: git.do.srb2.org:5050/stjr/srb2ci/srb2ci:stable
|
||||||
|
|
||||||
|
cache:
|
||||||
|
- key: ccache-$CI_JOB_NAME_SLUG-$CI_COMMIT_REF_SLUG
|
||||||
|
fallback_keys:
|
||||||
|
- ccache-$CI_JOB_NAME_SLUG-$CI_DEFAULT_BRANCH
|
||||||
|
- ccache-$CI_JOB_NAME_SLUG-master
|
||||||
|
paths:
|
||||||
|
- build/ccache
|
||||||
|
- build/ccache_statslog
|
||||||
|
|
||||||
|
- key: apt-$CI_JOB_IMAGE
|
||||||
|
paths:
|
||||||
|
- build/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=$CI_PROJECT_DIR/build/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 nasm cmake ca-certificates
|
||||||
|
- |
|
||||||
|
# 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 = $CI_PROJECT_DIR | tee --append ~/.ccache/ccache.conf
|
||||||
|
- |
|
||||||
|
# cache_dir
|
||||||
|
echo cache_dir = $CI_PROJECT_DIR/build/ccache | tee --append ~/.ccache/ccache.conf
|
||||||
|
- |
|
||||||
|
# compiler_check
|
||||||
|
echo compiler_check = content | tee --append ~/.ccache/ccache.conf
|
||||||
|
- |
|
||||||
|
# stats_log
|
||||||
|
echo stats_log = $CI_PROJECT_DIR/build/ccache_statslog | tee --append ~/.ccache/ccache.conf
|
||||||
|
- |
|
||||||
|
# max_size
|
||||||
|
echo max_size = 300M | 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
|
||||||
|
- ccache --show-log-stats || true
|
||||||
|
- |
|
||||||
|
# ccahe_stats
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:ccache_stats\r\e[0K"
|
|
@ -39,6 +39,7 @@ common
|
||||||
defaulttexturescale = 1.0f;
|
defaulttexturescale = 1.0f;
|
||||||
defaultflatscale = 1.0f;
|
defaultflatscale = 1.0f;
|
||||||
scaledtextureoffsets = true;
|
scaledtextureoffsets = true;
|
||||||
|
scaledflatoffsets = true;
|
||||||
|
|
||||||
// Colormap/fade related options
|
// Colormap/fade related options
|
||||||
maxcolormapalpha = 25;
|
maxcolormapalpha = 25;
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -590,6 +590,12 @@ universalfields
|
||||||
type = 3;
|
type = 3;
|
||||||
default = false;
|
default = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
triggertag
|
||||||
|
{
|
||||||
|
type = 0;
|
||||||
|
default = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3938,6 +3938,7 @@ udmf
|
||||||
width = 30;
|
width = 30;
|
||||||
height = 32;
|
height = 32;
|
||||||
color = 17;
|
color = 17;
|
||||||
|
hangs = 1;
|
||||||
arg0
|
arg0
|
||||||
{
|
{
|
||||||
title = "Initial delay";
|
title = "Initial delay";
|
||||||
|
|
|
@ -922,8 +922,6 @@ static void CON_InputDelChar(void)
|
||||||
//
|
//
|
||||||
boolean CON_Responder(event_t *ev)
|
boolean CON_Responder(event_t *ev)
|
||||||
{
|
{
|
||||||
static UINT8 consdown = false; // console is treated differently due to rare usage
|
|
||||||
|
|
||||||
// sequential completions a la 4dos
|
// sequential completions a la 4dos
|
||||||
static char completioncmd[80 + sizeof("find ")] = "find ";
|
static char completioncmd[80 + sizeof("find ")] = "find ";
|
||||||
static char *completion = &completioncmd[sizeof("find ")-1];
|
static char *completion = &completioncmd[sizeof("find ")-1];
|
||||||
|
@ -943,32 +941,28 @@ boolean CON_Responder(event_t *ev)
|
||||||
// let go keyup events, don't eat them
|
// let go keyup events, don't eat them
|
||||||
if (ev->type != ev_keydown && ev->type != ev_text && ev->type != ev_console)
|
if (ev->type != ev_keydown && ev->type != ev_text && ev->type != ev_console)
|
||||||
{
|
{
|
||||||
if (ev->key == gamecontrol[GC_CONSOLE][0] || ev->key == gamecontrol[GC_CONSOLE][1])
|
|
||||||
consdown = false;
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
key = ev->key;
|
key = ev->key;
|
||||||
|
|
||||||
// check for console toggle key
|
// check for console toggle key
|
||||||
if (ev->type != ev_console)
|
if (ev->type == ev_keydown)
|
||||||
{
|
{
|
||||||
if (modeattacking || metalrecording || marathonmode)
|
if (modeattacking || metalrecording || marathonmode)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (ev->type == ev_keydown && ((key == gamecontrol[GC_CONSOLE][0] || key == gamecontrol[GC_CONSOLE][1]) && !shiftdown))
|
if ((key == gamecontrol[GC_CONSOLE][0] || key == gamecontrol[GC_CONSOLE][1]) && !shiftdown)
|
||||||
{
|
{
|
||||||
if (consdown) // ignore repeat
|
I_SetTextInputMode(con_destlines == 0); // inverse, since this is changed next tic.
|
||||||
return true;
|
|
||||||
consoletoggle = true;
|
consoletoggle = true;
|
||||||
consdown = true;
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// check other keys only if console prompt is active
|
// check other keys only if console prompt is active
|
||||||
if (!consoleready && key < NUMINPUTS) // metzgermeister: boundary check!!
|
if (!consoleready && key < NUMINPUTS) // metzgermeister: boundary check!!
|
||||||
{
|
{
|
||||||
if (ev->type == ev_keydown && !menuactive && bindtable[key])
|
if (!menuactive && bindtable[key])
|
||||||
{
|
{
|
||||||
COM_BufAddText(bindtable[key]);
|
COM_BufAddText(bindtable[key]);
|
||||||
COM_BufAddText("\n");
|
COM_BufAddText("\n");
|
||||||
|
@ -980,14 +974,14 @@ boolean CON_Responder(event_t *ev)
|
||||||
// escape key toggle off console
|
// escape key toggle off console
|
||||||
if (key == KEY_ESCAPE)
|
if (key == KEY_ESCAPE)
|
||||||
{
|
{
|
||||||
|
I_SetTextInputMode(false);
|
||||||
consoletoggle = true;
|
consoletoggle = true;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (ev->type == ev_text)
|
||||||
if (ev->type == ev_text)
|
|
||||||
{
|
{
|
||||||
if (!consoletoggle)
|
if (!consoletoggle && consoleready)
|
||||||
CON_InputAddChar(key);
|
CON_InputAddChar(key);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -1036,7 +1030,7 @@ boolean CON_Responder(event_t *ev)
|
||||||
}
|
}
|
||||||
else if (key == KEY_BACKSPACE)
|
else if (key == KEY_BACKSPACE)
|
||||||
{
|
{
|
||||||
if (ctrldown)
|
if (ctrldown && input_cur != 0)
|
||||||
{
|
{
|
||||||
input_sel = M_JumpWordReverse(inputlines[inputline], input_cur);
|
input_sel = M_JumpWordReverse(inputlines[inputline], input_cur);
|
||||||
CON_InputDelSelection();
|
CON_InputDelSelection();
|
||||||
|
@ -1094,7 +1088,9 @@ boolean CON_Responder(event_t *ev)
|
||||||
|
|
||||||
if (key == 'x' || key == 'X')
|
if (key == 'x' || key == 'X')
|
||||||
{
|
{
|
||||||
if (input_sel > input_cur)
|
if (input_sel == input_cur) // Don't replace the clipboard without a text selection
|
||||||
|
return true;
|
||||||
|
else if (input_sel > input_cur)
|
||||||
I_ClipboardCopy(&inputlines[inputline][input_cur], input_sel-input_cur);
|
I_ClipboardCopy(&inputlines[inputline][input_cur], input_sel-input_cur);
|
||||||
else
|
else
|
||||||
I_ClipboardCopy(&inputlines[inputline][input_sel], input_cur-input_sel);
|
I_ClipboardCopy(&inputlines[inputline][input_sel], input_cur-input_sel);
|
||||||
|
@ -1104,7 +1100,9 @@ boolean CON_Responder(event_t *ev)
|
||||||
}
|
}
|
||||||
else if (key == 'c' || key == 'C')
|
else if (key == 'c' || key == 'C')
|
||||||
{
|
{
|
||||||
if (input_sel > input_cur)
|
if (input_sel == input_cur) // Don't replace the clipboard without a text selection
|
||||||
|
return true;
|
||||||
|
else if (input_sel > input_cur)
|
||||||
I_ClipboardCopy(&inputlines[inputline][input_cur], input_sel-input_cur);
|
I_ClipboardCopy(&inputlines[inputline][input_cur], input_sel-input_cur);
|
||||||
else
|
else
|
||||||
I_ClipboardCopy(&inputlines[inputline][input_sel], input_cur-input_sel);
|
I_ClipboardCopy(&inputlines[inputline][input_sel], input_cur-input_sel);
|
||||||
|
|
|
@ -1585,5 +1585,15 @@ void I_GetCursorPosition(INT32 *x, INT32 *y)
|
||||||
(void)y;
|
(void)y;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void I_SetTextInputMode(boolean active)
|
||||||
|
{
|
||||||
|
(void)active;
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean I_GetTextInputMode(void)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
#include "../sdl/dosstr.c"
|
#include "../sdl/dosstr.c"
|
||||||
|
|
||||||
|
|
|
@ -211,5 +211,15 @@ const char *I_GetSysName(void)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void I_SetTextInputMode(boolean active)
|
||||||
|
{
|
||||||
|
(void)active;
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean I_GetTextInputMode(void)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
#include "../sdl/dosstr.c"
|
#include "../sdl/dosstr.c"
|
||||||
|
|
||||||
|
|
|
@ -999,6 +999,7 @@ static void HU_sendChatMessage(void)
|
||||||
void HU_clearChatChars(void)
|
void HU_clearChatChars(void)
|
||||||
{
|
{
|
||||||
memset(w_chat, '\0', sizeof(w_chat));
|
memset(w_chat, '\0', sizeof(w_chat));
|
||||||
|
I_SetTextInputMode(false);
|
||||||
chat_on = false;
|
chat_on = false;
|
||||||
c_input = 0;
|
c_input = 0;
|
||||||
|
|
||||||
|
@ -1048,6 +1049,7 @@ boolean HU_Responder(event_t *ev)
|
||||||
if ((ev->key == gamecontrol[GC_TALKKEY][0] || ev->key == gamecontrol[GC_TALKKEY][1])
|
if ((ev->key == gamecontrol[GC_TALKKEY][0] || ev->key == gamecontrol[GC_TALKKEY][1])
|
||||||
&& netgame && !OLD_MUTE) // check for old chat mute, still let the players open the chat incase they want to scroll otherwise.
|
&& netgame && !OLD_MUTE) // check for old chat mute, still let the players open the chat incase they want to scroll otherwise.
|
||||||
{
|
{
|
||||||
|
I_SetTextInputMode(true);
|
||||||
chat_on = true;
|
chat_on = true;
|
||||||
chat_on_first_event = false;
|
chat_on_first_event = false;
|
||||||
w_chat[0] = 0;
|
w_chat[0] = 0;
|
||||||
|
@ -1059,6 +1061,7 @@ boolean HU_Responder(event_t *ev)
|
||||||
if ((ev->key == gamecontrol[GC_TEAMKEY][0] || ev->key == gamecontrol[GC_TEAMKEY][1])
|
if ((ev->key == gamecontrol[GC_TEAMKEY][0] || ev->key == gamecontrol[GC_TEAMKEY][1])
|
||||||
&& netgame && !OLD_MUTE)
|
&& netgame && !OLD_MUTE)
|
||||||
{
|
{
|
||||||
|
I_SetTextInputMode(true);
|
||||||
chat_on = true;
|
chat_on = true;
|
||||||
chat_on_first_event = false;
|
chat_on_first_event = false;
|
||||||
w_chat[0] = 0;
|
w_chat[0] = 0;
|
||||||
|
@ -1133,6 +1136,7 @@ boolean HU_Responder(event_t *ev)
|
||||||
if (!CHAT_MUTE)
|
if (!CHAT_MUTE)
|
||||||
HU_sendChatMessage();
|
HU_sendChatMessage();
|
||||||
|
|
||||||
|
I_SetTextInputMode(false);
|
||||||
chat_on = false;
|
chat_on = false;
|
||||||
c_input = 0; // reset input cursor
|
c_input = 0; // reset input cursor
|
||||||
chat_scrollmedown = true; // you hit enter, so you might wanna autoscroll to see what you just sent. :)
|
chat_scrollmedown = true; // you hit enter, so you might wanna autoscroll to see what you just sent. :)
|
||||||
|
@ -1143,6 +1147,7 @@ boolean HU_Responder(event_t *ev)
|
||||||
|| c == gamecontrol[GC_TEAMKEY][0] || c == gamecontrol[GC_TEAMKEY][1])
|
|| c == gamecontrol[GC_TEAMKEY][0] || c == gamecontrol[GC_TEAMKEY][1])
|
||||||
&& c >= KEY_MOUSE1)) // If it's not a keyboard key, then the chat button is used as a toggle.
|
&& c >= KEY_MOUSE1)) // If it's not a keyboard key, then the chat button is used as a toggle.
|
||||||
{
|
{
|
||||||
|
I_SetTextInputMode(false);
|
||||||
chat_on = false;
|
chat_on = false;
|
||||||
c_input = 0; // reset input cursor
|
c_input = 0; // reset input cursor
|
||||||
I_UpdateMouseGrab();
|
I_UpdateMouseGrab();
|
||||||
|
|
|
@ -339,4 +339,12 @@ void I_SetMouseGrab(boolean grab);
|
||||||
*/
|
*/
|
||||||
const char *I_GetSysName(void);
|
const char *I_GetSysName(void);
|
||||||
|
|
||||||
|
/** \brief Sets text input mode. When enabled, keyboard inputs will respect dead keys.
|
||||||
|
*/
|
||||||
|
void I_SetTextInputMode(boolean active);
|
||||||
|
|
||||||
|
/** \brief Retrieves current text input mode.
|
||||||
|
*/
|
||||||
|
boolean I_GetTextInputMode(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
12
src/info.c
12
src/info.c
|
@ -761,12 +761,12 @@ state_t states[NUMSTATES] =
|
||||||
{SPR_PLAY, SPR2_MLEL, 35, {NULL}, 0, 0, S_PLAY_WALK, 0}, // S_PLAY_MELEE_LANDING
|
{SPR_PLAY, SPR2_MLEL, 35, {NULL}, 0, 0, S_PLAY_WALK, 0}, // S_PLAY_MELEE_LANDING
|
||||||
|
|
||||||
// SF_SUPER
|
// SF_SUPER
|
||||||
{SPR_PLAY, SPR2_TRNS|FF_SPR2SUPER|FF_ANIMATE, 7, {NULL}, 0, 4, S_PLAY_SUPER_TRANS2, 0}, // S_PLAY_SUPER_TRANS1
|
{SPR_PLAY, SPR2_TRNS|SPR2F_SUPER|FF_ANIMATE, 7, {NULL}, 0, 4, S_PLAY_SUPER_TRANS2, 0}, // S_PLAY_SUPER_TRANS1
|
||||||
{SPR_PLAY, SPR2_TRNS|FF_SPR2SUPER, 3, {NULL}, 0, 0, S_PLAY_SUPER_TRANS3, 0}, // S_PLAY_SUPER_TRANS2
|
{SPR_PLAY, SPR2_TRNS|SPR2F_SUPER, 3, {NULL}, 0, 0, S_PLAY_SUPER_TRANS3, 0}, // S_PLAY_SUPER_TRANS2
|
||||||
{SPR_PLAY, SPR2_TRNS|FF_SPR2SUPER|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_PLAY_SUPER_TRANS4, 0}, // S_PLAY_SUPER_TRANS3
|
{SPR_PLAY, SPR2_TRNS|SPR2F_SUPER|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_PLAY_SUPER_TRANS4, 0}, // S_PLAY_SUPER_TRANS3
|
||||||
{SPR_PLAY, SPR2_TRNS|FF_SPR2SUPER|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_PLAY_SUPER_TRANS5, 0}, // S_PLAY_SUPER_TRANS4
|
{SPR_PLAY, SPR2_TRNS|SPR2F_SUPER|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_PLAY_SUPER_TRANS5, 0}, // S_PLAY_SUPER_TRANS4
|
||||||
{SPR_PLAY, SPR2_TRNS|FF_SPR2SUPER|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_PLAY_SUPER_TRANS6, 0}, // S_PLAY_SUPER_TRANS5
|
{SPR_PLAY, SPR2_TRNS|SPR2F_SUPER|FF_FULLBRIGHT, 2, {NULL}, 0, 0, S_PLAY_SUPER_TRANS6, 0}, // S_PLAY_SUPER_TRANS5
|
||||||
{SPR_PLAY, SPR2_TRNS|FF_SPR2SUPER|FF_FULLBRIGHT, 19, {A_FadeOverlay}, 0, 0, S_PLAY_FALL, 0}, // S_PLAY_SUPER_TRANS6
|
{SPR_PLAY, SPR2_TRNS|SPR2F_SUPER|FF_FULLBRIGHT, 19, {A_FadeOverlay}, 0, 0, S_PLAY_FALL, 0}, // S_PLAY_SUPER_TRANS6
|
||||||
|
|
||||||
{SPR_NULL, 0, -1, {NULL}, 0, 0, S_OBJPLACE_DUMMY, 0}, //S_OBJPLACE_DUMMY
|
{SPR_NULL, 0, -1, {NULL}, 0, 0, S_OBJPLACE_DUMMY, 0}, //S_OBJPLACE_DUMMY
|
||||||
|
|
||||||
|
|
53
src/m_menu.c
53
src/m_menu.c
|
@ -2102,6 +2102,12 @@ menu_t OP_PlaystyleDef = {
|
||||||
0, 0, 0, NULL
|
0, 0, 0, NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static void M_UpdateItemOn(void)
|
||||||
|
{
|
||||||
|
I_SetTextInputMode((currentMenu->menuitems[itemOn].status & IT_CVARTYPE) == IT_CV_STRING ||
|
||||||
|
(currentMenu->menuitems[itemOn].status & IT_TYPE) == IT_KEYHANDLER);
|
||||||
|
}
|
||||||
|
|
||||||
static void M_VideoOptions(INT32 choice)
|
static void M_VideoOptions(INT32 choice)
|
||||||
{
|
{
|
||||||
(void)choice;
|
(void)choice;
|
||||||
|
@ -2329,6 +2335,7 @@ void Nextmap_OnChange(void)
|
||||||
{
|
{
|
||||||
currentMenu->lastOn = itemOn;
|
currentMenu->lastOn = itemOn;
|
||||||
itemOn = nastart;
|
itemOn = nastart;
|
||||||
|
M_UpdateItemOn();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (currentMenu == &SP_TimeAttackDef)
|
else if (currentMenu == &SP_TimeAttackDef)
|
||||||
|
@ -2378,6 +2385,7 @@ void Nextmap_OnChange(void)
|
||||||
{
|
{
|
||||||
currentMenu->lastOn = itemOn;
|
currentMenu->lastOn = itemOn;
|
||||||
itemOn = tastart;
|
itemOn = tastart;
|
||||||
|
M_UpdateItemOn();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mapheaderinfo[cv_nextmap.value-1] && mapheaderinfo[cv_nextmap.value-1]->forcecharacter[0] != '\0')
|
if (mapheaderinfo[cv_nextmap.value-1] && mapheaderinfo[cv_nextmap.value-1]->forcecharacter[0] != '\0')
|
||||||
|
@ -3128,6 +3136,7 @@ static void M_NextOpt(void)
|
||||||
else
|
else
|
||||||
itemOn++;
|
itemOn++;
|
||||||
} while (oldItemOn != itemOn && ( (currentMenu->menuitems[itemOn].status & IT_TYPE) & IT_SPACE ));
|
} while (oldItemOn != itemOn && ( (currentMenu->menuitems[itemOn].status & IT_TYPE) & IT_SPACE ));
|
||||||
|
M_UpdateItemOn();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void M_PrevOpt(void)
|
static void M_PrevOpt(void)
|
||||||
|
@ -3140,6 +3149,7 @@ static void M_PrevOpt(void)
|
||||||
else
|
else
|
||||||
itemOn--;
|
itemOn--;
|
||||||
} while (oldItemOn != itemOn && ( (currentMenu->menuitems[itemOn].status & IT_TYPE) & IT_SPACE ));
|
} while (oldItemOn != itemOn && ( (currentMenu->menuitems[itemOn].status & IT_TYPE) & IT_SPACE ));
|
||||||
|
M_UpdateItemOn();
|
||||||
}
|
}
|
||||||
|
|
||||||
// lock out further input in a tic when important buttons are pressed
|
// lock out further input in a tic when important buttons are pressed
|
||||||
|
@ -3651,12 +3661,14 @@ void M_StartControlPanel(void)
|
||||||
|
|
||||||
currentMenu = &MainDef;
|
currentMenu = &MainDef;
|
||||||
itemOn = singleplr;
|
itemOn = singleplr;
|
||||||
|
M_UpdateItemOn();
|
||||||
}
|
}
|
||||||
else if (modeattacking)
|
else if (modeattacking)
|
||||||
{
|
{
|
||||||
currentMenu = &MAPauseDef;
|
currentMenu = &MAPauseDef;
|
||||||
MAPauseMenu[mapause_hints].status = (M_SecretUnlocked(SECRET_EMBLEMHINTS, clientGamedata)) ? (IT_STRING | IT_CALL) : (IT_DISABLED);
|
MAPauseMenu[mapause_hints].status = (M_SecretUnlocked(SECRET_EMBLEMHINTS, clientGamedata)) ? (IT_STRING | IT_CALL) : (IT_DISABLED);
|
||||||
itemOn = mapause_continue;
|
itemOn = mapause_continue;
|
||||||
|
M_UpdateItemOn();
|
||||||
}
|
}
|
||||||
else if (!(netgame || multiplayer)) // Single Player
|
else if (!(netgame || multiplayer)) // Single Player
|
||||||
{
|
{
|
||||||
|
@ -3703,6 +3715,7 @@ void M_StartControlPanel(void)
|
||||||
|
|
||||||
currentMenu = &SPauseDef;
|
currentMenu = &SPauseDef;
|
||||||
itemOn = spause_continue;
|
itemOn = spause_continue;
|
||||||
|
M_UpdateItemOn();
|
||||||
}
|
}
|
||||||
else // multiplayer
|
else // multiplayer
|
||||||
{
|
{
|
||||||
|
@ -3744,6 +3757,7 @@ void M_StartControlPanel(void)
|
||||||
|
|
||||||
currentMenu = &MPauseDef;
|
currentMenu = &MPauseDef;
|
||||||
itemOn = mpause_continue;
|
itemOn = mpause_continue;
|
||||||
|
M_UpdateItemOn();
|
||||||
}
|
}
|
||||||
|
|
||||||
CON_ToggleOff(); // move away console
|
CON_ToggleOff(); // move away console
|
||||||
|
@ -3837,6 +3851,7 @@ void M_SetupNextMenu(menu_t *menudef)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
M_UpdateItemOn();
|
||||||
|
|
||||||
hidetitlemap = false;
|
hidetitlemap = false;
|
||||||
}
|
}
|
||||||
|
@ -6109,6 +6124,7 @@ void M_StartMessage(const char *string, void *routine, menumessagetype_t itemtyp
|
||||||
|
|
||||||
currentMenu = &MessageDef;
|
currentMenu = &MessageDef;
|
||||||
itemOn = 0;
|
itemOn = 0;
|
||||||
|
M_UpdateItemOn();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void M_DrawMessageMenu(void)
|
static void M_DrawMessageMenu(void)
|
||||||
|
@ -6183,6 +6199,7 @@ static void M_HandleImageDef(INT32 choice)
|
||||||
if (itemOn >= (INT16)(currentMenu->numitems-1))
|
if (itemOn >= (INT16)(currentMenu->numitems-1))
|
||||||
itemOn = 0;
|
itemOn = 0;
|
||||||
else itemOn++;
|
else itemOn++;
|
||||||
|
M_UpdateItemOn();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case KEY_LEFTARROW:
|
case KEY_LEFTARROW:
|
||||||
|
@ -6193,6 +6210,7 @@ static void M_HandleImageDef(INT32 choice)
|
||||||
if (!itemOn)
|
if (!itemOn)
|
||||||
itemOn = currentMenu->numitems - 1;
|
itemOn = currentMenu->numitems - 1;
|
||||||
else itemOn--;
|
else itemOn--;
|
||||||
|
M_UpdateItemOn();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case KEY_ESCAPE:
|
case KEY_ESCAPE:
|
||||||
|
@ -7389,6 +7407,7 @@ static void M_EmblemHints(INT32 choice)
|
||||||
SR_EmblemHintDef.prevMenu = currentMenu;
|
SR_EmblemHintDef.prevMenu = currentMenu;
|
||||||
M_SetupNextMenu(&SR_EmblemHintDef);
|
M_SetupNextMenu(&SR_EmblemHintDef);
|
||||||
itemOn = 2; // always start on back.
|
itemOn = 2; // always start on back.
|
||||||
|
M_UpdateItemOn();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void M_DrawEmblemHints(void)
|
static void M_DrawEmblemHints(void)
|
||||||
|
@ -10050,6 +10069,7 @@ static void M_TimeAttack(INT32 choice)
|
||||||
Nextmap_OnChange();
|
Nextmap_OnChange();
|
||||||
|
|
||||||
itemOn = tastart; // "Start" is selected.
|
itemOn = tastart; // "Start" is selected.
|
||||||
|
M_UpdateItemOn();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Drawing function for Nights Attack
|
// Drawing function for Nights Attack
|
||||||
|
@ -10288,6 +10308,7 @@ static void M_NightsAttack(INT32 choice)
|
||||||
Nextmap_OnChange();
|
Nextmap_OnChange();
|
||||||
|
|
||||||
itemOn = nastart; // "Start" is selected.
|
itemOn = nastart; // "Start" is selected.
|
||||||
|
M_UpdateItemOn();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Player has selected the "START" from the nights attack screen
|
// Player has selected the "START" from the nights attack screen
|
||||||
|
@ -10607,6 +10628,7 @@ static void M_ModeAttackEndGame(INT32 choice)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
itemOn = currentMenu->lastOn;
|
itemOn = currentMenu->lastOn;
|
||||||
|
M_UpdateItemOn();
|
||||||
G_SetGamestate(GS_TIMEATTACK);
|
G_SetGamestate(GS_TIMEATTACK);
|
||||||
modeattacking = ATTACKING_NONE;
|
modeattacking = ATTACKING_NONE;
|
||||||
M_ChangeMenuMusic("_title", true);
|
M_ChangeMenuMusic("_title", true);
|
||||||
|
@ -10688,6 +10710,7 @@ static void M_Marathon(INT32 choice)
|
||||||
titlemapinaction = TITLEMAP_OFF; // Nope don't give us HOMs please
|
titlemapinaction = TITLEMAP_OFF; // Nope don't give us HOMs please
|
||||||
M_SetupNextMenu(&SP_MarathonDef);
|
M_SetupNextMenu(&SP_MarathonDef);
|
||||||
itemOn = marathonstart; // "Start" is selected.
|
itemOn = marathonstart; // "Start" is selected.
|
||||||
|
M_UpdateItemOn();
|
||||||
recatkdrawtimer = (50-8) * FRACUNIT;
|
recatkdrawtimer = (50-8) * FRACUNIT;
|
||||||
char_scroll = 0;
|
char_scroll = 0;
|
||||||
}
|
}
|
||||||
|
@ -11401,6 +11424,7 @@ static void M_ConnectMenu(INT32 choice)
|
||||||
else
|
else
|
||||||
M_SetupNextMenu(&MP_ConnectDef);
|
M_SetupNextMenu(&MP_ConnectDef);
|
||||||
itemOn = 0;
|
itemOn = 0;
|
||||||
|
M_UpdateItemOn();
|
||||||
M_Refresh(0);
|
M_Refresh(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11660,6 +11684,7 @@ static void M_StartServerMenu(INT32 choice)
|
||||||
Newgametype_OnChange();
|
Newgametype_OnChange();
|
||||||
M_SetupNextMenu(&MP_ServerDef);
|
M_SetupNextMenu(&MP_ServerDef);
|
||||||
itemOn = 1;
|
itemOn = 1;
|
||||||
|
M_UpdateItemOn();
|
||||||
}
|
}
|
||||||
|
|
||||||
// ==============
|
// ==============
|
||||||
|
@ -11842,15 +11867,21 @@ static void M_HandleConnectIP(INT32 choice)
|
||||||
case KEY_INS:
|
case KEY_INS:
|
||||||
case 'c':
|
case 'c':
|
||||||
case 'C': // ctrl+c, ctrl+insert, copying
|
case 'C': // ctrl+c, ctrl+insert, copying
|
||||||
I_ClipboardCopy(setupm_ip, l);
|
if (l != 0) // Don't replace the clipboard without any text
|
||||||
S_StartSound(NULL,sfx_menu1); // Tails
|
{
|
||||||
|
I_ClipboardCopy(setupm_ip, l);
|
||||||
|
S_StartSound(NULL,sfx_menu1); // Tails
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'x':
|
case 'x':
|
||||||
case 'X': // ctrl+x, cutting
|
case 'X': // ctrl+x, cutting
|
||||||
I_ClipboardCopy(setupm_ip, l);
|
if (l != 0) // Don't replace the clipboard without any text
|
||||||
S_StartSound(NULL,sfx_menu1); // Tails
|
{
|
||||||
setupm_ip[0] = 0;
|
I_ClipboardCopy(setupm_ip, l);
|
||||||
|
S_StartSound(NULL,sfx_menu1); // Tails
|
||||||
|
setupm_ip[0] = 0;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default: // otherwise do nothing
|
default: // otherwise do nothing
|
||||||
|
@ -11874,9 +11905,12 @@ static void M_HandleConnectIP(INT32 choice)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case KEY_DEL: // shift+delete, cutting
|
case KEY_DEL: // shift+delete, cutting
|
||||||
I_ClipboardCopy(setupm_ip, l);
|
if (l != 0) // Don't replace the clipboard without any text
|
||||||
S_StartSound(NULL,sfx_menu1); // Tails
|
{
|
||||||
setupm_ip[0] = 0;
|
I_ClipboardCopy(setupm_ip, l);
|
||||||
|
S_StartSound(NULL,sfx_menu1); // Tails
|
||||||
|
setupm_ip[0] = 0;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default: // otherwise do nothing.
|
default: // otherwise do nothing.
|
||||||
break;
|
break;
|
||||||
|
@ -13071,7 +13105,10 @@ static void M_SetupScreenshotMenu(void)
|
||||||
{
|
{
|
||||||
item->status = IT_GRAYEDOUT;
|
item->status = IT_GRAYEDOUT;
|
||||||
if ((currentMenu == &OP_ScreenshotOptionsDef) && (itemOn == op_screenshot_colorprofile)) // Can't select that
|
if ((currentMenu == &OP_ScreenshotOptionsDef) && (itemOn == op_screenshot_colorprofile)) // Can't select that
|
||||||
|
{
|
||||||
itemOn = op_screenshot_storagelocation;
|
itemOn = op_screenshot_storagelocation;
|
||||||
|
M_UpdateItemOn();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -2208,6 +2208,8 @@ int M_JumpWordReverse(const char *line, int offset)
|
||||||
{
|
{
|
||||||
int (*is)(int);
|
int (*is)(int);
|
||||||
int c;
|
int c;
|
||||||
|
if (offset == 0) // Don't let "--offset" later result in a negative value
|
||||||
|
return 0;
|
||||||
c = line[--offset];
|
c = line[--offset];
|
||||||
if (isspace(c))
|
if (isspace(c))
|
||||||
is = isspace;
|
is = isspace;
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
#define FF_FRAMEMASK 0xff
|
#define FF_FRAMEMASK 0xff
|
||||||
|
|
||||||
/// \brief Frame flags - SPR2: Super sprite2
|
/// \brief Frame flags - SPR2: Super sprite2
|
||||||
#define FF_SPR2SUPER 0x80
|
#define FF_SPR2SUPER SPR2F_SUPER //TODO: 2.3: remove this backwards compat hack
|
||||||
/// \brief Frame flags - SPR2: A change of state at the end of Sprite2 animation
|
/// \brief Frame flags - SPR2: A change of state at the end of Sprite2 animation
|
||||||
#define FF_SPR2ENDSTATE 0x100
|
#define FF_SPR2ENDSTATE 0x100
|
||||||
/// \brief Frame flags - SPR2: 50% of starting in middle of Sprite2 animation
|
/// \brief Frame flags - SPR2: 50% of starting in middle of Sprite2 animation
|
||||||
|
|
|
@ -3684,7 +3684,7 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec)
|
||||||
|
|
||||||
case 466: // Set level failure state
|
case 466: // Set level failure state
|
||||||
{
|
{
|
||||||
if (line->args[1])
|
if (line->args[0])
|
||||||
{
|
{
|
||||||
stagefailed = false;
|
stagefailed = false;
|
||||||
CONS_Debug(DBG_GAMELOGIC, "Stage can be completed successfully!\n");
|
CONS_Debug(DBG_GAMELOGIC, "Stage can be completed successfully!\n");
|
||||||
|
|
|
@ -43,10 +43,9 @@ UINT16 P_GetStateSprite2(state_t *state)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Transform the state frame into an animation ID
|
// Transform the state frame into an animation ID
|
||||||
UINT32 stateframe = state->frame & FF_FRAMEMASK;
|
UINT16 spr2 = state->frame & FF_FRAMEMASK;
|
||||||
UINT16 spr2 = stateframe & ~FF_SPR2SUPER;
|
|
||||||
|
|
||||||
if (stateframe & FF_SPR2SUPER)
|
if (state->frame & SPR2F_SUPER)
|
||||||
spr2 |= SPR2F_SUPER;
|
spr2 |= SPR2F_SUPER;
|
||||||
|
|
||||||
return spr2;
|
return spr2;
|
||||||
|
@ -70,7 +69,7 @@ boolean P_IsStateSprite2Super(state_t *state)
|
||||||
if (state->sprite2 & SPR2F_SUPER)
|
if (state->sprite2 & SPR2F_SUPER)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (state->frame & FF_SPR2SUPER)
|
else if (state->frame & SPR2F_SUPER)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|
102
src/r_textures.c
102
src/r_textures.c
|
@ -821,8 +821,8 @@ Rloadflats (INT32 i, INT32 w)
|
||||||
UINT8 *flatlump = W_CacheLumpNumPwad(wadnum, lumpnum, PU_CACHE);
|
UINT8 *flatlump = W_CacheLumpNumPwad(wadnum, lumpnum, PU_CACHE);
|
||||||
if (Picture_PNGDimensions((UINT8 *)flatlump, &texw, &texh, NULL, NULL, lumplength))
|
if (Picture_PNGDimensions((UINT8 *)flatlump, &texw, &texh, NULL, NULL, lumplength))
|
||||||
{
|
{
|
||||||
width = (INT16)width;
|
width = (INT16)texw;
|
||||||
height = (INT16)height;
|
height = (INT16)texh;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1068,6 +1068,98 @@ void R_LoadTexturesPwad(UINT16 wadnum)
|
||||||
R_FinishLoadingTextures(newtextures);
|
R_FinishLoadingTextures(newtextures);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static lumpnum_t W_GetTexPatchLumpNum(const char *name)
|
||||||
|
{
|
||||||
|
// Flats as a texture patch crashes horribly, and flats
|
||||||
|
// can share the same name as textures.
|
||||||
|
|
||||||
|
// But even if they worked, we want to prioritize:
|
||||||
|
// Patches -> Textures -> anything else
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
USE_PATCHES,
|
||||||
|
USE_TEXTURES,
|
||||||
|
USE__MAX,
|
||||||
|
};
|
||||||
|
|
||||||
|
lumpnum_t lump = LUMPERROR;
|
||||||
|
INT32 lump_type_it;
|
||||||
|
|
||||||
|
|
||||||
|
for (lump_type_it = 0; lump_type_it < USE__MAX; lump_type_it++)
|
||||||
|
{
|
||||||
|
INT32 i;
|
||||||
|
|
||||||
|
for (i = numwadfiles - 1; i >= 0; i--) // Scan wad files backwards so patched lumps take precedent
|
||||||
|
{
|
||||||
|
lumpnum_t start = LUMPERROR;
|
||||||
|
lumpnum_t end = LUMPERROR;
|
||||||
|
|
||||||
|
switch (wadfiles[i]->type)
|
||||||
|
{
|
||||||
|
case RET_WAD:
|
||||||
|
if (lump_type_it == USE_PATCHES)
|
||||||
|
{
|
||||||
|
if ((start = W_CheckNumForMarkerStartPwad("P_START", (UINT16)i, 0)) == INT16_MAX)
|
||||||
|
continue;
|
||||||
|
else if ((end = W_CheckNumForNamePwad("P_END", (UINT16)i, start)) == INT16_MAX)
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else if (lump_type_it == USE_TEXTURES)
|
||||||
|
{
|
||||||
|
if ((start = W_CheckNumForMarkerStartPwad("TX_START", (UINT16)i, 0)) == INT16_MAX)
|
||||||
|
continue;
|
||||||
|
else if ((end = W_CheckNumForNamePwad("TX_END", (UINT16)i, start)) == INT16_MAX)
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case RET_PK3:
|
||||||
|
case RET_FOLDER:
|
||||||
|
if (lump_type_it == USE_PATCHES)
|
||||||
|
{
|
||||||
|
if ((start = W_CheckNumForFolderStartPK3("Patches/", i, 0)) == INT16_MAX)
|
||||||
|
continue;
|
||||||
|
if ((end = W_CheckNumForFolderEndPK3("Patches/", i, start)) == INT16_MAX)
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else if (lump_type_it == USE_TEXTURES)
|
||||||
|
{
|
||||||
|
if ((start = W_CheckNumForFolderStartPK3("Textures/", i, 0)) == INT16_MAX)
|
||||||
|
continue;
|
||||||
|
if ((end = W_CheckNumForFolderEndPK3("Textures/", i, start)) == INT16_MAX)
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Now find lump with specified name in that range.
|
||||||
|
lump = W_CheckNumForNamePwad(name, (UINT16)i, start);
|
||||||
|
if (lump < end)
|
||||||
|
{
|
||||||
|
lump += (i<<16); // found it, in our constraints
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
lump = LUMPERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (lump != LUMPERROR)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (lump == LUMPERROR)
|
||||||
|
{
|
||||||
|
// Use whatever else you can find.
|
||||||
|
return W_GetNumForName(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
return lump;
|
||||||
|
}
|
||||||
|
|
||||||
static texpatch_t *R_ParsePatch(boolean actuallyLoadPatch)
|
static texpatch_t *R_ParsePatch(boolean actuallyLoadPatch)
|
||||||
{
|
{
|
||||||
char *texturesToken;
|
char *texturesToken;
|
||||||
|
@ -1240,13 +1332,13 @@ static texpatch_t *R_ParsePatch(boolean actuallyLoadPatch)
|
||||||
if (actuallyLoadPatch == true)
|
if (actuallyLoadPatch == true)
|
||||||
{
|
{
|
||||||
// Check lump exists
|
// Check lump exists
|
||||||
patchLumpNum = W_GetNumForName(patchName);
|
patchLumpNum = W_GetTexPatchLumpNum(patchName);
|
||||||
// If so, allocate memory for texpatch_t and fill 'er up
|
// If so, allocate memory for texpatch_t and fill 'er up
|
||||||
resultPatch = (texpatch_t *)Z_Malloc(sizeof(texpatch_t),PU_STATIC,NULL);
|
resultPatch = (texpatch_t *)Z_Malloc(sizeof(texpatch_t),PU_STATIC,NULL);
|
||||||
resultPatch->originx = patchXPos;
|
resultPatch->originx = patchXPos;
|
||||||
resultPatch->originy = patchYPos;
|
resultPatch->originy = patchYPos;
|
||||||
resultPatch->lump = patchLumpNum & 65535;
|
resultPatch->lump = LUMPNUM(patchLumpNum);
|
||||||
resultPatch->wad = patchLumpNum>>16;
|
resultPatch->wad = WADFILENUM(patchLumpNum);
|
||||||
resultPatch->flip = flip;
|
resultPatch->flip = flip;
|
||||||
resultPatch->alpha = alpha;
|
resultPatch->alpha = alpha;
|
||||||
resultPatch->style = style;
|
resultPatch->style = style;
|
||||||
|
|
|
@ -2256,9 +2256,9 @@ void S_ChangeMusicEx(const char *mmusic, UINT16 mflags, boolean looping, UINT32
|
||||||
return;
|
return;
|
||||||
|
|
||||||
strncpy(newmusic, mmusic, sizeof(newmusic)-1);
|
strncpy(newmusic, mmusic, sizeof(newmusic)-1);
|
||||||
|
newmusic[6] = 0;
|
||||||
if (LUA_HookMusicChange(music_name, &hook_param))
|
if (LUA_HookMusicChange(music_name, &hook_param))
|
||||||
return;
|
return;
|
||||||
newmusic[6] = 0;
|
|
||||||
|
|
||||||
// No Music (empty string)
|
// No Music (empty string)
|
||||||
if (newmusic[0] == 0)
|
if (newmusic[0] == 0)
|
||||||
|
|
|
@ -186,6 +186,9 @@ int main(int argc, char **argv)
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// disable text input right off the bat, since we don't need it at the start.
|
||||||
|
I_SetTextInputMode(false);
|
||||||
|
|
||||||
#ifdef LOGMESSAGES
|
#ifdef LOGMESSAGES
|
||||||
if (!M_CheckParm("-nolog"))
|
if (!M_CheckParm("-nolog"))
|
||||||
InitLogging();
|
InitLogging();
|
||||||
|
|
|
@ -3275,4 +3275,18 @@ const char *I_GetSysName(void)
|
||||||
return SDL_GetPlatform();
|
return SDL_GetPlatform();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void I_SetTextInputMode(boolean active)
|
||||||
|
{
|
||||||
|
if (active)
|
||||||
|
SDL_StartTextInput();
|
||||||
|
else
|
||||||
|
SDL_StopTextInput();
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean I_GetTextInputMode(void)
|
||||||
|
{
|
||||||
|
return SDL_IsTextInputActive();
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue