Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge upstream #1113

Merged
merged 34 commits into from
Nov 23, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
3ec6cf2
Introduce gamepad analog control
mikeday0 Oct 16, 2023
05200b0
Add analog control to non-Doom games
mikeday0 Oct 20, 2023
ee19f83
Add Strife PC speaker sound support
ceski-1 Oct 26, 2023
ed86fc6
win midi: Fall back to default midi device (#1624)
ceski-1 Oct 26, 2023
2a467d9
Correct misleading comment
ceski-1 Oct 30, 2023
4d8da39
Simplify disabled sound check
ceski-1 Oct 30, 2023
9c50831
Simplify lump check
ceski-1 Oct 30, 2023
23a4e8f
Allow analog control for any controller
mikeday0 Nov 2, 2023
7bd0290
joystick: sensitivity = 0 disables input
mikeday0 Nov 3, 2023
81ba5c3
Increase default heap size for 64-bit build (#1635)
rfomin Nov 7, 2023
034de7f
Update CI workflow
rfomin Oct 16, 2023
45d712f
Add workaround for occasional "Can’t get disk" (-1728) issues
rfomin Oct 16, 2023
866ca79
Run quickcheck
rfomin Oct 17, 2023
03f5254
Use latest checkout action
rfomin Oct 18, 2023
e7b54ad
fix buffer overflow when loading response files (#1636)
fabiangreffrath Nov 10, 2023
8350bb3
Remove unused global char arrays `wadfile` and `mapdir`
theStack Nov 12, 2023
4668897
Merge pull request #1632 from ceski-1/strife-pcs
fragglet Nov 12, 2023
7bbfa39
Merge pull request #1629 from mikeday0/analogstick
fabiangreffrath Nov 13, 2023
4de3985
win midi: Fix EMIDI events and designation
ceski-1 Nov 11, 2023
40e7e23
win midi: Improve thread synchronization
ceski-1 Nov 11, 2023
64a4cc8
Merge pull request #1637 from ceski-1/winmidi
fabiangreffrath Nov 16, 2023
cf5ff8a
Merge pull request #1638 from theStack/remove_unused_globals
fabiangreffrath Nov 17, 2023
19ab27d
Remove unused `leveljuststarted` globals
theStack Nov 17, 2023
2847238
Use dylibbundler
rfomin Nov 17, 2023
f186a42
Merge pull request #1640 from theStack/remove_unused_leveljuststarted…
fabiangreffrath Nov 17, 2023
b00157f
Merge pull request #1628 from rfomin/improve_ci
fabiangreffrath Nov 17, 2023
91d43bb
doom: remove unused `st_cursoron` global
theStack Nov 17, 2023
1a817e8
doom: remove unused `st_clock` global
theStack Nov 17, 2023
6507acd
doom, strife: remove unused `st_gamestate` globals and `st_stateenum_…
theStack Nov 17, 2023
548075f
doom, strife: remove unused `st_chatstate` global and `st_chatstateen…
theStack Nov 17, 2023
9889e02
doom: remove unused #defines in st_stuff.c
theStack Nov 17, 2023
f153e0f
Merge pull request #1641 from theStack/st_module_cleanups
fabiangreffrath Nov 18, 2023
6645395
win midi: Fix crash in the sound menu of the setup without config (#1…
rfomin Nov 20, 2023
6a6dc14
Merge remote-tracking branch 'upstream/master'
mikeday0 Nov 23, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
132 changes: 116 additions & 16 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: build
name: Continuous Integration

on:
push:
Expand All @@ -11,32 +11,132 @@ on:
- "master"
paths-ignore:
- "**.md"
- "**.yml"
workflow_dispatch:

jobs:
build:
runs-on: ${{ matrix.os }}

name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
defaults:
run:
shell: ${{ matrix.config.shell }}
strategy:
fail-fast: false
matrix:
compiler: [clang, gcc]
os: [ubuntu-latest]
config:
- name: Linux GCC
os: ubuntu-latest
compiler: gcc
shell: bash

- name: macOS Clang
os: macos-latest
compiler: clang
shell: bash

- name: MSYS2 UCRT64
os: windows-latest
compiler: gcc
shell: 'msys2 {0}'
msystem: ucrt64
msys-env: mingw-w64-ucrt-x86_64

- name: MSYS2 MINGW32
os: windows-latest
compiler: gcc
shell: 'msys2 {0}'
msystem: mingw32
msys-env: mingw-w64-i686

steps:
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install libfluidsynth-dev libpng-dev libsamplerate0-dev libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev ninja-build
- name: Install pandoc
if: runner.os == 'Windows'
shell: cmd
run: choco install pandoc

- name: Install dependencies (Linux)
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install \
libsdl2-dev \
libsdl2-mixer-dev \
libsdl2-net-dev \
libpng-dev \
libsamplerate0-dev \
libfluidsynth-dev

- name: Install dependencies (macOS)
if: runner.os == 'macOS'
run: |
brew install \
automake \
dylibbundler \
sdl2 \
sdl2_mixer \
sdl2_net \
libpng \
libsamplerate \
fluid-synth

- name: Install dependencies (MSYS2)
if: runner.os == 'Windows'
uses: msys2/setup-msys2@v2
with:
msystem: ${{ matrix.config.msystem }}
update: false
path-type: inherit
install: >-
autotools
zip
${{ matrix.config.msys-env }}-gcc
${{ matrix.config.msys-env }}-SDL2
${{ matrix.config.msys-env }}-SDL2_mixer
${{ matrix.config.msys-env }}-SDL2_net
${{ matrix.config.msys-env }}-libpng
${{ matrix.config.msys-env }}-libsamplerate
${{ matrix.config.msys-env }}-fluidsynth

- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
submodules: true

- name: CMake
- name: Configure
env:
CC: ${{ matrix.compiler }}
run: cmake -S . -B build -G Ninja && ninja -C build
CC: ${{ matrix.config.compiler }}
run: |
./autogen.sh

- name: Make
env:
CC: ${{ matrix.compiler }}
run: $GITHUB_WORKSPACE/.travis.sh
- name: Build
run: make -j4

- name: Test
run: |
PREFIX=`sed -n '/PROGRAM_PREFIX/p' ${PWD}/config.h | cut -d '"' -f 2`
make -j4 -C quickcheck check SOURCE_PORT=$PWD/src/${PREFIX}doom

- name: Package (macOS)
if: runner.os == 'macOS'
run: |
cd pkg/osx
make

- name: Package (MSYS2)
if: runner.os == 'Windows'
run: |
cd pkg/win32
make

- name: Upload artifacts (macOS)
if: runner.os == 'macOS'
uses: actions/upload-artifact@v3
with:
name: macOS
path: pkg/osx/*.dmg

- name: Upload artifacts (MSYS2)
if: runner.os == 'Windows'
uses: actions/upload-artifact@v3
with:
name: Win-${{ matrix.config.msystem }}
path: pkg/win32/*.zip
86 changes: 0 additions & 86 deletions .github/workflows/msys2.yml

This file was deleted.

26 changes: 21 additions & 5 deletions pkg/osx/GNUmakefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,17 @@ DMG=$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).dmg
TOPLEVEL=../..
TOPLEVEL_DOCS=$(patsubst %,../../%,$(DOC_FILES))

ifeq (, $(shell which dylibbundler))
CP=./cp-with-libs
else
CP=cp
endif

# DMG file containing package:

$(DMG) : tmp.dmg
rm -f $@
sleep 2 # pause to workaround occasional "Can’t get disk" (-1728) issues
./dmgfix "$(realpath tmp.dmg)" "$(PACKAGE_STRING)" "$(PACKAGE_NAME).app"
hdiutil convert -format UDBZ -o $@ tmp.dmg
rm -f tmp.dmg
Expand Down Expand Up @@ -62,17 +69,26 @@ $(STAGING_DIR): launcher $(TOPLEVEL_DOCS) app.icns wadfile.icns
cp launcher "$(APP_BIN_DIR)"
$(STRIP) "$(APP_BIN_DIR)/launcher"

./cp-with-libs $(TOPLEVEL)/src/$(PROGRAM_PREFIX)doom "$(APP_BIN_DIR)"
$(CP) $(TOPLEVEL)/src/$(PROGRAM_PREFIX)doom "$(APP_BIN_DIR)"
$(STRIP) "$(APP_BIN_DIR)/$(PROGRAM_PREFIX)doom"
./cp-with-libs $(TOPLEVEL)/src/$(PROGRAM_PREFIX)heretic "$(APP_BIN_DIR)"
$(CP) $(TOPLEVEL)/src/$(PROGRAM_PREFIX)heretic "$(APP_BIN_DIR)"
$(STRIP) "$(APP_BIN_DIR)/$(PROGRAM_PREFIX)heretic"
./cp-with-libs $(TOPLEVEL)/src/$(PROGRAM_PREFIX)hexen "$(APP_BIN_DIR)"
$(CP) $(TOPLEVEL)/src/$(PROGRAM_PREFIX)hexen "$(APP_BIN_DIR)"
$(STRIP) "$(APP_BIN_DIR)/$(PROGRAM_PREFIX)hexen"
./cp-with-libs $(TOPLEVEL)/src/$(PROGRAM_PREFIX)strife "$(APP_BIN_DIR)"
$(CP) $(TOPLEVEL)/src/$(PROGRAM_PREFIX)strife "$(APP_BIN_DIR)"
$(STRIP) "$(APP_BIN_DIR)/$(PROGRAM_PREFIX)strife"
./cp-with-libs $(TOPLEVEL)/src/$(PROGRAM_PREFIX)setup "$(APP_BIN_DIR)"
$(CP) $(TOPLEVEL)/src/$(PROGRAM_PREFIX)setup "$(APP_BIN_DIR)"
$(STRIP) "$(APP_BIN_DIR)/$(PROGRAM_PREFIX)setup"

-dylibbundler --bundle-deps --overwrite-files \
--install-path "@executable_path/" \
--dest-dir "$(APP_BIN_DIR)" \
--fix-file "$(APP_BIN_DIR)/$(PROGRAM_PREFIX)doom" \
--fix-file "$(APP_BIN_DIR)/$(PROGRAM_PREFIX)heretic" \
--fix-file "$(APP_BIN_DIR)/$(PROGRAM_PREFIX)hexen" \
--fix-file "$(APP_BIN_DIR)/$(PROGRAM_PREFIX)strife" \
--fix-file "$(APP_BIN_DIR)/$(PROGRAM_PREFIX)setup"

$(TOPLEVEL)/man/simplecpp -DPRECOMPILED -D__MACOSX__ \
-DDOOM -DHERETIC -DHEXEN -DSTRIFE \
< $(TOPLEVEL)/man/INSTALL.template \
Expand Down
4 changes: 0 additions & 4 deletions src/doom/am_map.c
Original file line number Diff line number Diff line change
Expand Up @@ -249,8 +249,6 @@ static mline_t square_mark[] = {
static int cheating = 0;
static int grid = 0;

static int leveljuststarted = 1; // kluge until AM_LevelInit() is called

boolean automapactive = false;
//static int finit_width = SCREENWIDTH;
//static int finit_height = SCREENHEIGHT - (ST_HEIGHT << crispy->hires);
Expand Down Expand Up @@ -630,8 +628,6 @@ void AM_LevelInit(boolean reinit)
// [crispy] Only need to precalculate color lookup tables once
static int precalc_once;

leveljuststarted = 0;

f_x = f_y = 0;
f_w = SCREENWIDTH;
f_h = SCREENHEIGHT - (ST_HEIGHT << crispy->hires);
Expand Down
5 changes: 1 addition & 4 deletions src/doom/d_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -124,9 +124,6 @@ boolean storedemo;
// If true, the main game loop has started.
boolean main_loop_started = false;

char wadfile[1024]; // primary wad file
char mapdir[1024]; // directory of development maps

int show_endoom = 0; // [crispy] disable
int show_diskicon = 1;

Expand Down Expand Up @@ -2111,7 +2108,7 @@ void D_DoomMain (void)
I_CheckIsScreensaver();
I_InitTimer();
I_InitJoystick();
I_InitSound(true);
I_InitSound(doom);
I_InitMusic();

// [crispy] check for SSG resources
Expand Down
Loading
Loading