mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-22 04:21:23 +00:00
Merge branch 'master' into fix-sprite-clip-warning
This commit is contained in:
commit
1590f2a6f8
16 changed files with 594 additions and 134 deletions
|
@ -1,9 +1,9 @@
|
||||||
version: 2
|
version: 2
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
working_directory: /root/SRB2
|
working_directory: /home/circleci/SRB2
|
||||||
docker:
|
docker:
|
||||||
- image: debian:stretch
|
- image: cimg/base:current
|
||||||
environment:
|
environment:
|
||||||
CC: ccache gcc -m32
|
CC: ccache gcc -m32
|
||||||
PKG_CONFIG_LIBDIR: /usr/lib/i386-linux-gnu/pkgconfig
|
PKG_CONFIG_LIBDIR: /usr/lib/i386-linux-gnu/pkgconfig
|
||||||
|
@ -11,7 +11,7 @@ jobs:
|
||||||
LIBGME_LDFLAGS: -lgme
|
LIBGME_LDFLAGS: -lgme
|
||||||
CCACHE_COMPRESS: true
|
CCACHE_COMPRESS: true
|
||||||
WFLAGS: -Wno-unsuffixed-float-constants
|
WFLAGS: -Wno-unsuffixed-float-constants
|
||||||
GCC49: true
|
GCC81: true
|
||||||
#- image: ubuntu:trusty
|
#- image: ubuntu:trusty
|
||||||
# environment:
|
# environment:
|
||||||
# CC: ccache gcc -m32
|
# CC: ccache gcc -m32
|
||||||
|
@ -25,39 +25,42 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- run:
|
- run:
|
||||||
name: Add i386 arch
|
name: Add i386 arch
|
||||||
command: dpkg --add-architecture i386
|
command: sudo dpkg --add-architecture i386
|
||||||
- run:
|
- run:
|
||||||
name: Add STJr PPA
|
name: Add STJr PPA
|
||||||
command: |
|
command: |
|
||||||
apt-get -qq update
|
sudo apt-get -qq update
|
||||||
apt-get -qq -y install dirmngr
|
sudo apt-get -qq -y install dirmngr
|
||||||
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0B1702D71499D9C25F986507F240F4449D3B0EC6
|
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0B1702D71499D9C25F986507F240F4449D3B0EC6
|
||||||
echo "deb http://ppa.launchpad.net/stjr/srb2/ubuntu trusty main" >> /etc/apt/sources.list
|
echo "deb http://ppa.launchpad.net/stjr/srb2/ubuntu trusty main" | sudo tee -a /etc/apt/sources.list
|
||||||
- run:
|
- run:
|
||||||
name: Make APT cache folder
|
name: Make APT cache folder
|
||||||
command: mkdir -p /root/.cache/apt/archives/partial
|
command: mkdir -p /home/circleci/.cache/apt/archives/partial
|
||||||
- run:
|
- run:
|
||||||
name: Make APT cache usage by _apt
|
name: Make APT cache usage by _apt
|
||||||
command: chown -Rv _apt:root /root/.cache/apt/archives/partial
|
command: sudo chown -Rv _apt:root /home/circleci/.cache/apt/archives/partial
|
||||||
- run:
|
- run:
|
||||||
name: Update APT listing
|
name: Update APT listing
|
||||||
command: apt-get -qq update
|
command: sudo apt-get -qq update
|
||||||
- run:
|
- run:
|
||||||
name: Support S3 upload
|
name: Support S3 upload
|
||||||
command: apt-get -qq -y install ca-certificates
|
command: sudo apt-get -qq -y install ca-certificates
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- v1-SRB2-APT
|
- v1-SRB2-APT
|
||||||
- run:
|
- run:
|
||||||
name: Install SDK
|
name: Uninstall amd64 SDK
|
||||||
command: apt-get -o Dir::Cache="/root/.cache/apt" -qq -y --no-install-recommends install git build-essential libpng-dev:i386 libsdl2-mixer-dev:i386 libgme-dev:i386 libcurl4-openssl-dev:i386 libopenmpt-dev:i386 gettext ccache wget gcc-multilib upx openssh-client
|
command: sudo apt-get -o Dir::Cache="/home/circleci/.cache/apt" -qq -y --no-install-recommends remove libcurl4-openssl-dev:amd64
|
||||||
|
- run:
|
||||||
|
name: Install i386 SDK
|
||||||
|
command: sudo apt-get -o Dir::Cache="/home/circleci/.cache/apt" -qq -y --no-install-recommends install git build-essential libpng-dev:i386 libsdl2-mixer-dev:i386 libgme-dev:i386 libcurl4-openssl-dev:i386 libopenmpt-dev:i386 gettext ccache wget gcc-multilib upx openssh-client
|
||||||
- run:
|
- run:
|
||||||
name: make md5sum
|
name: make md5sum
|
||||||
command: find /root/.cache/apt/archives -type f -print0 | sort -z | xargs -r0 md5sum > /root/.cache/apt_archives.md5
|
command: sudo find /home/circleci/.cache/apt/archives -type f -print0 | sort -z | sudo xargs -r0 md5sum > /home/circleci/.cache/apt_archives.md5
|
||||||
- save_cache:
|
- save_cache:
|
||||||
key: v1-SRB2-APT-{{ checksum "/root/.cache/apt_archives.md5" }}
|
key: v1-SRB2-APT-{{ checksum "/home/circleci/.cache/apt_archives.md5" }}
|
||||||
paths:
|
paths:
|
||||||
- /root/.cache/apt
|
- /home/circleci/.cache/apt
|
||||||
- checkout
|
- checkout
|
||||||
- run:
|
- run:
|
||||||
name: Compile without network support
|
name: Compile without network support
|
||||||
|
@ -78,9 +81,9 @@ jobs:
|
||||||
name: Compile
|
name: Compile
|
||||||
command: make -C src LINUX=1 ERRORMODE=1 -k -j4
|
command: make -C src LINUX=1 ERRORMODE=1 -k -j4
|
||||||
- store_artifacts:
|
- store_artifacts:
|
||||||
path: /root/SRB2/bin/
|
path: /home/circleci/SRB2/bin/
|
||||||
destination: bin
|
destination: bin
|
||||||
- save_cache:
|
- save_cache:
|
||||||
key: v1-SRB2-{{ .Branch }}-{{ checksum "make/linux/SDL.deps" }}
|
key: v1-SRB2-{{ .Branch }}-{{ checksum "make/linux/SDL.deps" }}
|
||||||
paths:
|
paths:
|
||||||
- /root/.ccache
|
- /home/circleci/.ccache
|
||||||
|
|
4
.gitattributes
vendored
4
.gitattributes
vendored
|
@ -1,15 +1,17 @@
|
||||||
#Source code
|
#Source code
|
||||||
|
/Makefile text=auto
|
||||||
/src/*.c text=auto
|
/src/*.c text=auto
|
||||||
/src/*.h text=auto
|
/src/*.h text=auto
|
||||||
/src/*.s text=auto
|
/src/*.s text=auto
|
||||||
/src/*.m text=auto
|
/src/*.m text=auto
|
||||||
/src/*.xpm text=auto
|
/src/*.xpm text=auto
|
||||||
/src/Makefile text=auto
|
/src/Makefile text=auto
|
||||||
|
/tools/Makefile text=auto
|
||||||
/src/Make*.cfg text=auto
|
/src/Make*.cfg text=auto
|
||||||
/src/CMakeLists.txt text=auto
|
/src/CMakeLists.txt text=auto
|
||||||
|
*.mk -whitespace text=auto
|
||||||
# Windows EOL
|
# Windows EOL
|
||||||
*.cs -crlf -whitespace
|
*.cs -crlf -whitespace
|
||||||
*.mk -crlf -whitespace
|
|
||||||
*.bat -crlf -whitespace
|
*.bat -crlf -whitespace
|
||||||
*.dev -crlf -whitespace
|
*.dev -crlf -whitespace
|
||||||
*.dsp -crlf -whitespace
|
*.dsp -crlf -whitespace
|
||||||
|
|
434
.gitlab-ci.yml
Normal file
434
.gitlab-ci.yml
Normal file
|
@ -0,0 +1,434 @@
|
||||||
|
variables:
|
||||||
|
GIT_STRATEGY: clone
|
||||||
|
GIT_CLONE_PATH: $CI_BUILDS_DIR/$CI_CONCURRENT_ID/$CI_PROJECT_PATH
|
||||||
|
|
||||||
|
default:
|
||||||
|
image: debian:stable-slim
|
||||||
|
|
||||||
|
cache:
|
||||||
|
- key: ccache-$CI_PROJECT_PATH_SLUG-$CI_JOB_NAME_SLUG
|
||||||
|
fallback_keys:
|
||||||
|
- cache-$CI_PROJECT_PATH_SLUG-$CI_DEFAULT_BRANCH
|
||||||
|
- cache-$CI_PROJECT_PATH_SLUG-default
|
||||||
|
paths:
|
||||||
|
- ccache
|
||||||
|
- ccache_statslog
|
||||||
|
|
||||||
|
- key: apt-$CI_JOB_IMAGE
|
||||||
|
paths:
|
||||||
|
- apt-cache
|
||||||
|
unprotect: true
|
||||||
|
|
||||||
|
before_script:
|
||||||
|
- - |
|
||||||
|
# debconf
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:debconf[collapsed=true]\r\e[0KSetup debconf's environment"
|
||||||
|
- export DEBIAN_FRONTEND="noninteractive"
|
||||||
|
- export DEBIAN_PRIORITY="low"
|
||||||
|
- export DEBCONF_NONINTERACTIVE_SEEN="true"
|
||||||
|
- |
|
||||||
|
# debconf
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:debconf\r\e[0K"
|
||||||
|
- - |
|
||||||
|
# dpkg_aa
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:dpkg_aa[collapsed=true]\r\e[0KAdding architectures to dpkg"
|
||||||
|
- dpkg --add-architecture i386
|
||||||
|
- dpkg --add-architecture amd64
|
||||||
|
- dpkg --add-architecture arm64
|
||||||
|
- |
|
||||||
|
# dpkg_aa
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:dpkg_aa\r\e[0K"
|
||||||
|
- - |
|
||||||
|
# apt_conf
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:apt_conf[collapsed=true]\r\e[0KSetting up APT conf"
|
||||||
|
- export APT_CACHE_DIR=`pwd`/apt-cache
|
||||||
|
- mkdir --parents --verbose $APT_CACHE_DIR/partial/
|
||||||
|
- touch /etc/apt/apt.conf.d/99build
|
||||||
|
- |
|
||||||
|
# apt.conf
|
||||||
|
echo Adding options to apt.conf':'
|
||||||
|
- |
|
||||||
|
# APT::Install-Recommends
|
||||||
|
echo APT::Install-Recommends "false"\; | tee --append /etc/apt/apt.conf.d/99build
|
||||||
|
- |
|
||||||
|
# quit
|
||||||
|
echo quiet "1"\; | tee --append /etc/apt/apt.conf.d/99build
|
||||||
|
- |
|
||||||
|
# APT::Get::Assume-Yes
|
||||||
|
echo APT::Get::Assume-Yes "true"\; | tee --append /etc/apt/apt.conf.d/99build
|
||||||
|
- |
|
||||||
|
# Dir::Cache::Archives
|
||||||
|
echo Dir::Cache::Archives "$APT_CACHE_DIR"\; | tee --append /etc/apt/apt.conf.d/99build
|
||||||
|
- |
|
||||||
|
# apt_conf
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:apt_conf\r\e[0K"
|
||||||
|
- - |
|
||||||
|
# apt_update
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:apt_update[collapsed=true]\r\e[0KUpdating APT listing"
|
||||||
|
- apt-get update
|
||||||
|
- |
|
||||||
|
# apt_update
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:apt_update\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# apt_pre
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:apt_pre[collapsed=true]\r\e[0KInstalling pre packages"
|
||||||
|
- apt-get install apt-utils
|
||||||
|
- |
|
||||||
|
# apt_pre
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:apt_pre\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# apt_upgrade
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:apt_upgrade[collapsed=true]\r\e[0KUpdating existing packages"
|
||||||
|
- apt-get upgrade
|
||||||
|
- |
|
||||||
|
# apt_update
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:apt_upgrade\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# apt_common
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:apt_common[collapsed=true]\r\e[0KInstalling common packages"
|
||||||
|
- apt-get install make git ccache nasm
|
||||||
|
- |
|
||||||
|
# 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 --verbose
|
||||||
|
- ccache --show-log-stats --verbose
|
||||||
|
- |
|
||||||
|
# ccahe_stats
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:ccache_stats\r\e[0K"
|
||||||
|
|
||||||
|
stages:
|
||||||
|
- build
|
||||||
|
|
||||||
|
Debian testing GCC:
|
||||||
|
stage: build
|
||||||
|
image: debian:testing-slim
|
||||||
|
|
||||||
|
allow_failure: true
|
||||||
|
|
||||||
|
artifacts:
|
||||||
|
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
|
||||||
|
- |
|
||||||
|
# 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
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
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
|
||||||
|
- |
|
||||||
|
# apt_development
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# make
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
||||||
|
- make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX64=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX64=1
|
||||||
|
- |
|
||||||
|
# make
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
||||||
|
|
||||||
|
Debian stable:i386:
|
||||||
|
stage: build
|
||||||
|
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- "bin/"
|
||||||
|
- "src/comptime.h"
|
||||||
|
expose_as: "Debian i386"
|
||||||
|
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-i686"
|
||||||
|
|
||||||
|
variables:
|
||||||
|
CC: i686-linux-gnu-gcc
|
||||||
|
OBJCOPY: i686-linux-gnu-objcopy
|
||||||
|
OBJDUMP: i686-linux-gnu-objdump
|
||||||
|
PKG_CONFIG_PATH: /usr/lib/i386-linux-gnu/pkgconfig
|
||||||
|
|
||||||
|
script:
|
||||||
|
- - |
|
||||||
|
# apt_toolchain
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
|
||||||
|
- apt-get install gcc-i686-linux-gnu || apt-get install gcc
|
||||||
|
- |
|
||||||
|
# apt_toolchain
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# apt_development
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:apt_development[collapsed=true]\r\e[0KInstalling development packages"
|
||||||
|
- apt-get install libsdl2-mixer-dev:i386 libpng-dev:i386 libcurl4-openssl-dev:i386 libgme-dev:i386 libopenmpt-dev:i386
|
||||||
|
- |
|
||||||
|
# apt_development
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# make
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
||||||
|
- make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX=1
|
||||||
|
- |
|
||||||
|
# make
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
||||||
|
|
||||||
|
Debian stable:arm64:
|
||||||
|
stage: build
|
||||||
|
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- "bin/"
|
||||||
|
- "src/comptime.h"
|
||||||
|
expose_as: "Debian arm64"
|
||||||
|
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-aarch64"
|
||||||
|
|
||||||
|
variables:
|
||||||
|
CC: aarch64-linux-gnu-gcc
|
||||||
|
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
|
||||||
|
- |
|
||||||
|
# apt_development
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# make
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
||||||
|
- make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX64=1 ERRORMODE=1 NONX86=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX64=1 NONX86=1
|
||||||
|
- |
|
||||||
|
# make
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
||||||
|
|
||||||
|
Windows x64:
|
||||||
|
stage: build
|
||||||
|
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- "bin/"
|
||||||
|
- "src/comptime.h"
|
||||||
|
expose_as: "Win64"
|
||||||
|
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-Win64"
|
||||||
|
|
||||||
|
variables:
|
||||||
|
PREFIX: x86_64-w64-mingw32
|
||||||
|
|
||||||
|
script:
|
||||||
|
- - |
|
||||||
|
# apt_toolchain
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
|
||||||
|
- apt-get install gcc-mingw-w64-x86-64-win32
|
||||||
|
- |
|
||||||
|
# apt_toolchain
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# make
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
||||||
|
- make --directory=src --keep-going CCACHE=1 ERRORMODE=1 MINGW64=1 SDL=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 MINGW64=1 SDL=1
|
||||||
|
- |
|
||||||
|
# make
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
||||||
|
|
||||||
|
Debian stable Clang:
|
||||||
|
stage: build
|
||||||
|
|
||||||
|
allow_failure: true
|
||||||
|
|
||||||
|
artifacts:
|
||||||
|
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-clang"
|
||||||
|
|
||||||
|
variables:
|
||||||
|
CC: clang
|
||||||
|
WFLAGS: -Wno-cast-align
|
||||||
|
CFLAGS: -Wno-cast-align
|
||||||
|
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
|
||||||
|
- |
|
||||||
|
# apt_development
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
|
||||||
|
|
||||||
|
- - |
|
||||||
|
# make
|
||||||
|
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
|
||||||
|
- make --directory=src --keep-going CCACHE=1 ERRORMODE=1 NONX86=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 NONX86=1
|
||||||
|
- |
|
||||||
|
# make
|
||||||
|
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
|
||||||
|
|
||||||
|
Debian testing Clang:
|
||||||
|
extends: Debian stable Clang
|
||||||
|
|
||||||
|
image: debian:testing-slim
|
||||||
|
|
||||||
|
artifacts:
|
||||||
|
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-testing-clang"
|
||||||
|
|
||||||
|
variables:
|
||||||
|
CC: clang
|
||||||
|
WFLAGS: -Wno-cast-align -Wno-deprecated-non-prototype
|
||||||
|
CFLAGS: -Wno-cast-align -Wno-deprecated-non-prototype
|
||||||
|
LDFLAGS: -Wl,-fuse-ld=gold
|
|
@ -3,12 +3,12 @@ ifdef ComSpec
|
||||||
COMSPEC=$(ComSpec)
|
COMSPEC=$(ComSpec)
|
||||||
endif
|
endif
|
||||||
ifdef COMSPEC
|
ifdef COMSPEC
|
||||||
OBJCOPY=objcopy.exe
|
OBJCOPY?=objcopy.exe
|
||||||
OBJDUMP=objdump.exe
|
OBJDUMP?=objdump.exe
|
||||||
GZIP?=gzip.exe
|
GZIP?=gzip.exe
|
||||||
else
|
else
|
||||||
OBJCOPY=objcopy
|
OBJCOPY?=objcopy
|
||||||
OBJDUMP=objdump
|
OBJDUMP?=objdump
|
||||||
GZIP?=gzip
|
GZIP?=gzip
|
||||||
endif
|
endif
|
||||||
DBGNAME=$(BIN).debug
|
DBGNAME=$(BIN).debug
|
||||||
|
|
|
@ -141,9 +141,9 @@ endif
|
||||||
|
|
||||||
OBJDUMP_OPTS?=--wide --source --line-numbers
|
OBJDUMP_OPTS?=--wide --source --line-numbers
|
||||||
|
|
||||||
OBJCOPY:=$(call Prefix,objcopy)
|
OBJCOPY?=$(call Prefix,objcopy)
|
||||||
OBJDUMP:=$(call Prefix,objdump)
|
OBJDUMP?=$(call Prefix,objdump)
|
||||||
WINDRES:=$(call Prefix,windres)
|
WINDRES?=$(call Prefix,windres)
|
||||||
|
|
||||||
GZIP?=gzip
|
GZIP?=gzip
|
||||||
GZIP_OPTS?=-9 -f -n
|
GZIP_OPTS?=-9 -f -n
|
||||||
|
|
|
@ -56,15 +56,18 @@ endif
|
||||||
|
|
||||||
# This must have high to low order.
|
# This must have high to low order.
|
||||||
gcc_versions:=\
|
gcc_versions:=\
|
||||||
102 101\
|
132 131 130\
|
||||||
93 92 91\
|
123 122 121 120\
|
||||||
84 83 82 81\
|
114 113 112 111 110\
|
||||||
75 74 73 72 71\
|
105 104 103 102 101 100\
|
||||||
64 63 62 61\
|
95 94 93 92 91 90\
|
||||||
55 54 53 52 51\
|
85 84 83 82 81 80\
|
||||||
|
75 74 73 72 71 70\
|
||||||
|
64 63 62 61 60\
|
||||||
|
55 54 53 52 51 50\
|
||||||
49 48 47 46 45 44 43 42 41 40
|
49 48 47 46 45 44 43 42 41 40
|
||||||
|
|
||||||
latest_gcc_version:=10.2
|
latest_gcc_version:=13.2
|
||||||
|
|
||||||
# Automatically set version flag, but not if one was
|
# Automatically set version flag, but not if one was
|
||||||
# manually set. And don't bother if this is a clean only
|
# manually set. And don't bother if this is a clean only
|
||||||
|
@ -74,13 +77,18 @@ ifeq (,$(call Wildvar,GCC% destructive))
|
||||||
# can't use $(CC) --version here since that uses argv[0] to display the name
|
# can't use $(CC) --version here since that uses argv[0] to display the name
|
||||||
# also gcc outputs the information to stderr, so I had to do 2>&1
|
# also gcc outputs the information to stderr, so I had to do 2>&1
|
||||||
# this program really doesn't like identifying itself
|
# this program really doesn't like identifying itself
|
||||||
version:=$(shell $(CC) -v 2>&1)
|
shellversion:=$(shell $(CC) -v 2>&1)
|
||||||
|
# Try to remove "-win32"
|
||||||
|
version:=$(subst -win32,.0,$(shellversion))
|
||||||
|
|
||||||
# check if this is in fact GCC
|
# check if this is in fact GCC
|
||||||
ifneq (,$(findstring gcc version,$(version)))
|
ifneq (,$(findstring gcc version,$(version)))
|
||||||
|
|
||||||
# in stark contrast to the name, gcc will give me a nicely formatted version number for free
|
# in stark contrast to the name, gcc will give me a nicely formatted version number for free
|
||||||
version:=$(shell $(CC) -dumpfullversion)
|
shellversion:=$(shell $(CC) -dumpfullversion)
|
||||||
|
|
||||||
|
# Try to remove "-win32"
|
||||||
|
version:=$(subst -win32,.0,$(shellversion))
|
||||||
|
|
||||||
# Turn version into words of major, minor
|
# Turn version into words of major, minor
|
||||||
v:=$(subst ., ,$(version))
|
v:=$(subst ., ,$(version))
|
||||||
|
|
|
@ -1,68 +1,72 @@
|
||||||
#
|
#
|
||||||
# Makefile for feature flags.
|
# Makefile for feature flags.
|
||||||
#
|
#
|
||||||
|
|
||||||
passthru_opts+=\
|
passthru_opts+=\
|
||||||
NONET NO_IPV6 NOHW NOMD5 NOPOSTPROCESSING\
|
NONET NO_IPV6 NOHW NOMD5 NOPOSTPROCESSING\
|
||||||
MOBJCONSISTANCY PACKETDROP ZDEBUG\
|
MOBJCONSISTANCY PACKETDROP ZDEBUG\
|
||||||
HAVE_MINIUPNPC\
|
HAVE_MINIUPNPC\
|
||||||
|
|
||||||
# build with debugging information
|
# build with debugging information
|
||||||
ifdef DEBUGMODE
|
ifdef DEBUGMODE
|
||||||
PACKETDROP=1
|
PACKETDROP=1
|
||||||
opts+=-DPARANOIA -DRANGECHECK
|
opts+=-DPARANOIA -DRANGECHECK
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifndef NOHW
|
ifndef NOHW
|
||||||
opts+=-DHWRENDER
|
opts+=-DHWRENDER
|
||||||
sources+=$(call List,hardware/Sourcefile)
|
sources+=$(call List,hardware/Sourcefile)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifndef NOMD5
|
ifdef NONET
|
||||||
sources+=md5.c
|
NOCURL=1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifndef NOZLIB
|
ifndef NOMD5
|
||||||
ifndef NOPNG
|
sources+=md5.c
|
||||||
ifdef PNG_PKGCONFIG
|
endif
|
||||||
$(eval $(call Use_pkg_config,PNG_PKGCONFIG))
|
|
||||||
else
|
ifndef NOZLIB
|
||||||
PNG_CONFIG?=$(call Prefix,libpng-config)
|
ifndef NOPNG
|
||||||
$(eval $(call Configure,PNG,$(PNG_CONFIG) \
|
ifdef PNG_PKGCONFIG
|
||||||
$(if $(PNG_STATIC),--static),,--ldflags))
|
$(eval $(call Use_pkg_config,PNG_PKGCONFIG))
|
||||||
endif
|
else
|
||||||
ifdef LINUX
|
PNG_CONFIG?=$(call Prefix,libpng-config)
|
||||||
opts+=-D_LARGEFILE64_SOURCE
|
$(eval $(call Configure,PNG,$(PNG_CONFIG) \
|
||||||
endif
|
$(if $(PNG_STATIC),--static),,--ldflags))
|
||||||
opts+=-DHAVE_PNG
|
endif
|
||||||
sources+=apng.c
|
ifdef LINUX
|
||||||
endif
|
opts+=-D_LARGEFILE64_SOURCE
|
||||||
endif
|
endif
|
||||||
|
opts+=-DHAVE_PNG
|
||||||
ifndef NONET
|
sources+=apng.c
|
||||||
ifndef NOCURL
|
endif
|
||||||
CURLCONFIG?=curl-config
|
endif
|
||||||
$(eval $(call Configure,CURL,$(CURLCONFIG)))
|
|
||||||
opts+=-DHAVE_CURL
|
ifndef NONET
|
||||||
endif
|
ifndef NOCURL
|
||||||
endif
|
CURLCONFIG?=curl-config
|
||||||
|
$(eval $(call Configure,CURL,$(CURLCONFIG)))
|
||||||
ifdef HAVE_MINIUPNPC
|
opts+=-DHAVE_CURL
|
||||||
libs+=-lminiupnpc
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# (Valgrind is a memory debugger.)
|
ifdef HAVE_MINIUPNPC
|
||||||
ifdef VALGRIND
|
libs+=-lminiupnpc
|
||||||
VALGRIND_PKGCONFIG?=valgrind
|
endif
|
||||||
$(eval $(call Use_pkg_config,VALGRIND))
|
|
||||||
ZDEBUG=1
|
# (Valgrind is a memory debugger.)
|
||||||
opts+=-DHAVE_VALGRIND
|
ifdef VALGRIND
|
||||||
endif
|
VALGRIND_PKGCONFIG?=valgrind
|
||||||
|
$(eval $(call Use_pkg_config,VALGRIND))
|
||||||
default_packages:=\
|
ZDEBUG=1
|
||||||
GME/libgme/LIBGME\
|
opts+=-DHAVE_VALGRIND
|
||||||
OPENMPT/libopenmpt/LIBOPENMPT\
|
endif
|
||||||
ZLIB/zlib\
|
|
||||||
|
default_packages:=\
|
||||||
$(foreach p,$(default_packages),\
|
GME/libgme/LIBGME\
|
||||||
$(eval $(call Check_pkg_config,$(p))))
|
OPENMPT/libopenmpt/LIBOPENMPT\
|
||||||
|
ZLIB/zlib\
|
||||||
|
|
||||||
|
$(foreach p,$(default_packages),\
|
||||||
|
$(eval $(call Check_pkg_config,$(p))))
|
||||||
|
|
|
@ -2743,7 +2743,6 @@ static void Command_ClearBans(void)
|
||||||
static void Ban_Load_File(boolean warning)
|
static void Ban_Load_File(boolean warning)
|
||||||
{
|
{
|
||||||
FILE *f;
|
FILE *f;
|
||||||
size_t i;
|
|
||||||
const char *address, *mask;
|
const char *address, *mask;
|
||||||
char buffer[MAX_WADPATH];
|
char buffer[MAX_WADPATH];
|
||||||
|
|
||||||
|
@ -2761,7 +2760,7 @@ static void Ban_Load_File(boolean warning)
|
||||||
|
|
||||||
Ban_Clear();
|
Ban_Clear();
|
||||||
|
|
||||||
for (i=0; fgets(buffer, (int)sizeof(buffer), f); i++)
|
for (; fgets(buffer, (int)sizeof(buffer), f);)
|
||||||
{
|
{
|
||||||
address = strtok(buffer, " \t\r\n");
|
address = strtok(buffer, " \t\r\n");
|
||||||
mask = strtok(NULL, " \t\r\n");
|
mask = strtok(NULL, " \t\r\n");
|
||||||
|
|
|
@ -14,13 +14,18 @@ size_t I_GetFreeMem(size_t *total)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void I_Sleep(UINT32 ms){}
|
void I_Sleep(UINT32 ms)
|
||||||
|
{
|
||||||
|
(void)ms;
|
||||||
|
}
|
||||||
|
|
||||||
precise_t I_GetPreciseTime(void) {
|
precise_t I_GetPreciseTime(void)
|
||||||
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
UINT64 I_GetPrecisePrecision(void) {
|
UINT64 I_GetPrecisePrecision(void)
|
||||||
|
{
|
||||||
return 1000000;
|
return 1000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -182,10 +187,12 @@ const char *I_ClipboardPaste(void)
|
||||||
|
|
||||||
size_t I_GetRandomBytes(char *destination, size_t amount)
|
size_t I_GetRandomBytes(char *destination, size_t amount)
|
||||||
{
|
{
|
||||||
|
(void)destination;
|
||||||
|
(void)amount;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void I_RegisterSysCommands(void) {}
|
void I_RegisterSysCommands(void){}
|
||||||
|
|
||||||
void I_GetCursorPosition(INT32 *x, INT32 *y)
|
void I_GetCursorPosition(INT32 *x, INT32 *y)
|
||||||
{
|
{
|
||||||
|
|
|
@ -42,10 +42,10 @@ int unsortedVertexArrayAllocSize = 65536;
|
||||||
// Call HWR_RenderBatches to render all the collected geometry.
|
// Call HWR_RenderBatches to render all the collected geometry.
|
||||||
void HWR_StartBatching(void)
|
void HWR_StartBatching(void)
|
||||||
{
|
{
|
||||||
if (currently_batching)
|
if (currently_batching)
|
||||||
I_Error("Repeat call to HWR_StartBatching without HWR_RenderBatches");
|
I_Error("Repeat call to HWR_StartBatching without HWR_RenderBatches");
|
||||||
|
|
||||||
// init arrays if that has not been done yet
|
// init arrays if that has not been done yet
|
||||||
if (!finalVertexArray)
|
if (!finalVertexArray)
|
||||||
{
|
{
|
||||||
finalVertexArray = malloc(finalVertexArrayAllocSize * sizeof(FOutVector));
|
finalVertexArray = malloc(finalVertexArrayAllocSize * sizeof(FOutVector));
|
||||||
|
@ -55,7 +55,7 @@ void HWR_StartBatching(void)
|
||||||
unsortedVertexArray = malloc(unsortedVertexArrayAllocSize * sizeof(FOutVector));
|
unsortedVertexArray = malloc(unsortedVertexArrayAllocSize * sizeof(FOutVector));
|
||||||
}
|
}
|
||||||
|
|
||||||
currently_batching = true;
|
currently_batching = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This replaces the direct calls to pfnSetTexture in cases where batching is available.
|
// This replaces the direct calls to pfnSetTexture in cases where batching is available.
|
||||||
|
|
|
@ -4141,14 +4141,11 @@ static void HWR_DrawSprite(gl_vissprite_t *spr)
|
||||||
float xscale, yscale;
|
float xscale, yscale;
|
||||||
float xoffset, yoffset;
|
float xoffset, yoffset;
|
||||||
float leftoffset, topoffset;
|
float leftoffset, topoffset;
|
||||||
float scale = spr->scale;
|
|
||||||
float zoffset = (P_MobjFlip(spr->mobj) * 0.05f);
|
float zoffset = (P_MobjFlip(spr->mobj) * 0.05f);
|
||||||
pslope_t *splatslope = NULL;
|
pslope_t *splatslope = NULL;
|
||||||
INT32 i;
|
INT32 i;
|
||||||
|
|
||||||
renderflags_t renderflags = spr->renderflags;
|
renderflags_t renderflags = spr->renderflags;
|
||||||
if (renderflags & RF_SHADOWEFFECTS)
|
|
||||||
scale *= spr->shadowscale;
|
|
||||||
|
|
||||||
if (spr->rotateflags & SRF_3D || renderflags & RF_NOSPLATBILLBOARD)
|
if (spr->rotateflags & SRF_3D || renderflags & RF_NOSPLATBILLBOARD)
|
||||||
angle = spr->mobj->angle;
|
angle = spr->mobj->angle;
|
||||||
|
|
|
@ -486,7 +486,7 @@ void HWR_InitModels(void)
|
||||||
size_t i;
|
size_t i;
|
||||||
INT32 s;
|
INT32 s;
|
||||||
FILE *f;
|
FILE *f;
|
||||||
char name[24], filename[32];
|
char name[26], filename[32];
|
||||||
float scale, offset;
|
float scale, offset;
|
||||||
size_t prefixlen;
|
size_t prefixlen;
|
||||||
|
|
||||||
|
@ -585,7 +585,7 @@ modelfound:
|
||||||
void HWR_AddPlayerModel(int skin) // For skins that were added after startup
|
void HWR_AddPlayerModel(int skin) // For skins that were added after startup
|
||||||
{
|
{
|
||||||
FILE *f;
|
FILE *f;
|
||||||
char name[24], filename[32];
|
char name[26], filename[32];
|
||||||
float scale, offset;
|
float scale, offset;
|
||||||
size_t prefixlen;
|
size_t prefixlen;
|
||||||
|
|
||||||
|
@ -644,7 +644,7 @@ void HWR_AddSpriteModel(size_t spritenum) // For sprites that were added after s
|
||||||
// name[24] is used to check for names in the models.dat file that match with sprites or player skins
|
// name[24] is used to check for names in the models.dat file that match with sprites or player skins
|
||||||
// sprite names are always 4 characters long, and names is for player skins can be up to 19 characters long
|
// sprite names are always 4 characters long, and names is for player skins can be up to 19 characters long
|
||||||
// PLAYERMODELPREFIX is 6 characters long
|
// PLAYERMODELPREFIX is 6 characters long
|
||||||
char name[24], filename[32];
|
char name[26], filename[32];
|
||||||
float scale, offset;
|
float scale, offset;
|
||||||
|
|
||||||
if (nomd2s)
|
if (nomd2s)
|
||||||
|
|
|
@ -672,6 +672,9 @@ void GeneratePolygonNormals(model_t *model, int ztag)
|
||||||
|
|
||||||
for (k = 0; k < mesh->numTriangles; k++)
|
for (k = 0; k < mesh->numTriangles; k++)
|
||||||
{
|
{
|
||||||
|
/// TODO: normalize vectors
|
||||||
|
(void)vertices;
|
||||||
|
(void)polyNormals;
|
||||||
// Vector::Normal(vertices, polyNormals);
|
// Vector::Normal(vertices, polyNormals);
|
||||||
vertices += 3 * 3;
|
vertices += 3 * 3;
|
||||||
polyNormals++;
|
polyNormals++;
|
||||||
|
|
|
@ -3544,7 +3544,7 @@ static int lib_gAddGametype(lua_State *L)
|
||||||
// Partly lifted from Got_AddPlayer
|
// Partly lifted from Got_AddPlayer
|
||||||
static int lib_gAddPlayer(lua_State *L)
|
static int lib_gAddPlayer(lua_State *L)
|
||||||
{
|
{
|
||||||
INT16 i, newplayernum, botcount = 1;
|
INT16 i, newplayernum;
|
||||||
player_t *newplayer;
|
player_t *newplayer;
|
||||||
SINT8 skinnum = 0, bot;
|
SINT8 skinnum = 0, bot;
|
||||||
|
|
||||||
|
@ -3552,10 +3552,8 @@ static int lib_gAddPlayer(lua_State *L)
|
||||||
{
|
{
|
||||||
if (!playeringame[i])
|
if (!playeringame[i])
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (players[i].bot)
|
|
||||||
botcount++; // How many of us are there already?
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i >= MAXPLAYERS)
|
if (i >= MAXPLAYERS)
|
||||||
{
|
{
|
||||||
lua_pushnil(L);
|
lua_pushnil(L);
|
||||||
|
|
|
@ -3730,7 +3730,9 @@ void P_SlideMove(mobj_t *mo)
|
||||||
|
|
||||||
boolean papercol = false;
|
boolean papercol = false;
|
||||||
vertex_t v1, v2; // fake vertexes
|
vertex_t v1, v2; // fake vertexes
|
||||||
line_t junk; // fake linedef
|
static line_t junk; // fake linedef
|
||||||
|
|
||||||
|
memset(&junk, 0x00, sizeof(junk));
|
||||||
|
|
||||||
if (tmhitthing && mo->z + mo->height > tmhitthing->z && mo->z < tmhitthing->z + tmhitthing->height)
|
if (tmhitthing && mo->z + mo->height > tmhitthing->z && mo->z < tmhitthing->z + tmhitthing->height)
|
||||||
{
|
{
|
||||||
|
|
|
@ -259,10 +259,10 @@ UINT8 keyboard_started = false;
|
||||||
|
|
||||||
#ifdef UNIXBACKTRACE
|
#ifdef UNIXBACKTRACE
|
||||||
#define STDERR_WRITE(string) if (fd != -1) I_OutputMsg("%s", string)
|
#define STDERR_WRITE(string) if (fd != -1) I_OutputMsg("%s", string)
|
||||||
#define CRASHLOG_WRITE(string) if (fd != -1) write(fd, string, strlen(string))
|
#define CRASHLOG_WRITE(string) if (fd != -1) junk = write(fd, string, strlen(string))
|
||||||
#define CRASHLOG_STDERR_WRITE(string) \
|
#define CRASHLOG_STDERR_WRITE(string) \
|
||||||
if (fd != -1)\
|
if (fd != -1)\
|
||||||
write(fd, string, strlen(string));\
|
junk = write(fd, string, strlen(string));\
|
||||||
I_OutputMsg("%s", string)
|
I_OutputMsg("%s", string)
|
||||||
|
|
||||||
static void write_backtrace(INT32 signal)
|
static void write_backtrace(INT32 signal)
|
||||||
|
@ -271,6 +271,7 @@ static void write_backtrace(INT32 signal)
|
||||||
size_t size;
|
size_t size;
|
||||||
time_t rawtime;
|
time_t rawtime;
|
||||||
struct tm timeinfo;
|
struct tm timeinfo;
|
||||||
|
ssize_t junk;
|
||||||
|
|
||||||
enum { BT_SIZE = 1024, STR_SIZE = 32 };
|
enum { BT_SIZE = 1024, STR_SIZE = 32 };
|
||||||
void *array[BT_SIZE];
|
void *array[BT_SIZE];
|
||||||
|
@ -314,7 +315,7 @@ static void write_backtrace(INT32 signal)
|
||||||
backtrace_symbols_fd(array, size, STDERR_FILENO);
|
backtrace_symbols_fd(array, size, STDERR_FILENO);
|
||||||
|
|
||||||
CRASHLOG_WRITE("\n"); // Write another newline to the log so it looks nice :)
|
CRASHLOG_WRITE("\n"); // Write another newline to the log so it looks nice :)
|
||||||
|
(void)junk;
|
||||||
close(fd);
|
close(fd);
|
||||||
}
|
}
|
||||||
#undef STDERR_WRITE
|
#undef STDERR_WRITE
|
||||||
|
@ -405,8 +406,10 @@ static void I_ReportSignal(int num, int coredumped)
|
||||||
|
|
||||||
SDL_ShowMessageBox(&messageboxdata, &buttonid);
|
SDL_ShowMessageBox(&messageboxdata, &buttonid);
|
||||||
|
|
||||||
|
#if SDL_VERSION_ATLEAST(2,0,14)
|
||||||
if (buttonid == 1)
|
if (buttonid == 1)
|
||||||
SDL_OpenURL("https://www.srb2.org/discord");
|
SDL_OpenURL("https://www.srb2.org/discord");
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef NEWSIGNALHANDLER
|
#ifndef NEWSIGNALHANDLER
|
||||||
|
@ -2262,7 +2265,7 @@ void I_Sleep(UINT32 ms)
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef NEWSIGNALHANDLER
|
#ifdef NEWSIGNALHANDLER
|
||||||
static void newsignalhandler_Warn(const char *pr)
|
ATTRNORETURN static FUNCNORETURN void newsignalhandler_Warn(const char *pr)
|
||||||
{
|
{
|
||||||
char text[128];
|
char text[128];
|
||||||
|
|
||||||
|
@ -3035,11 +3038,11 @@ size_t I_GetFreeMem(size_t *total)
|
||||||
#ifdef FREEBSD
|
#ifdef FREEBSD
|
||||||
u_int v_free_count, v_page_size, v_page_count;
|
u_int v_free_count, v_page_size, v_page_count;
|
||||||
size_t size = sizeof(v_free_count);
|
size_t size = sizeof(v_free_count);
|
||||||
sysctlbyname("vm.stat.vm.v_free_count", &v_free_count, &size, NULL, 0);
|
sysctlbyname("vm.stats.vm.v_free_count", &v_free_count, &size, NULL, 0);
|
||||||
size_t size = sizeof(v_page_size);
|
size = sizeof(v_page_size);
|
||||||
sysctlbyname("vm.stat.vm.v_page_size", &v_page_size, &size, NULL, 0);
|
sysctlbyname("vm.stats.vm.v_page_size", &v_page_size, &size, NULL, 0);
|
||||||
size_t size = sizeof(v_page_count);
|
size = sizeof(v_page_count);
|
||||||
sysctlbyname("vm.stat.vm.v_page_count", &v_page_count, &size, NULL, 0);
|
sysctlbyname("vm.stats.vm.v_page_count", &v_page_count, &size, NULL, 0);
|
||||||
|
|
||||||
if (total)
|
if (total)
|
||||||
*total = v_page_count * v_page_size;
|
*total = v_page_count * v_page_size;
|
||||||
|
|
Loading…
Reference in a new issue