Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
FriskTheFallenHuman committed Aug 23, 2024
2 parents 806aba1 + 0af6054 commit 1b83a5b
Show file tree
Hide file tree
Showing 5 changed files with 342 additions and 0 deletions.
31 changes: 31 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
name: Bug report
about: Report a problem with dhewm3
title: ''
labels: ''
assignees: ''

---

<!-- NOTE: Please check the existing bug reports first to find out if it has already been reported. In that case, just add a comment there with your additional information -->

**Describe the bug**
A short description of what the bug is.

**Your System**
- What **operating system** are you using, what CPU and GPU, which GPU driver version?
- What **version of dhewm3** are you using? (Also: Official download? Package from Linux distro? MacSourcePorts? Did you compile yourself?)

**To Reproduce**
Describe how to reproduce the bug
- if it happens while playing: What mod (base game, RoE, or some 3rd-party mod), which level, what do you do there to trigger the bug
- After opening the console (`Shift`+`Esc`) you can enter `map` to print the current map name and `where` to print the coordinates in the level
- if it happens in the menu or similar: describe the steps to trigger the bug

**Expected and actual behavior**
A clear and concise description of what you expected to happen and what happens instead

**Additional information**
If applicable, add screenshots or a video to help explain your problem.
Please attach [dhewm3log.txt](https://github.com/dhewm/dhewm3/wiki/FAQ#where-do-i-find-the-config-files-and-savegames-and-dhewm3logtxt)
A **savegame** also often helps to more quickly reproduce a bug
21 changes: 21 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
name: Feature request
about: Suggest an idea for dhewm3
title: ''
labels: enhancement
assignees: ''

---

<!-- NOTE: Please check the existing feature requests first to see if it has already been reported. In that case, just add a comment there with your additional information/ideas -->

**Describe the feature you want**
A clear and concise description of what the feature is supposed to do.
Add screenshots or illustrations or whatever if you think it helps explaining.

**What problem does it solve?**
Describe what problem the feature would solve, or how it would improve the game and,
if a similar feature already exists, why it's not sufficient.

**Additional information**
If you have ideas how it could be implemented, or what other open source projects to check out that already have the feature, or links with information about the feature or any other additional information, post it here.
68 changes: 68 additions & 0 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: Testbuild for Linux
run-name: testbuild_linux
on:
push:
branches:
- 'master'
pull_request:
types:
- edited
- opened
- synchronize
concurrency:
# Cancel concurrent workflows for the same PR or commit hash.
group: ${{github.workflow}}-${{github.event_name == 'pull_request' && github.head_ref || github.sha}}
cancel-in-progress: true
jobs:
build_ubuntu_x86_64:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
include:
- env: ubuntu
steps:
- name: Install build dependencies
run: |
sudo apt update
sudo apt install libgl1-mesa-dev libsdl2-dev libopenal-dev libcurl4-openssl-dev cmake ninja-build
- name: Check out repository code
uses: actions/checkout@v4
- name: Build
run: |
mkdir build
cd build
# -DFORCE_COLORED_OUTPUT=ON ? didn't seem to work, or at least not visible on website
cmake -G Ninja -DDEDICATED=ON ../neo/
ninja
- name: Create testbuild package
run: |
# Create release directory tree
export PKGDIR="dhewm3-linux-$(git rev-parse --short HEAD)"
echo "pkgname=$PKGDIR" >> $GITHUB_ENV
mkdir -p publish/$PKGDIR/base
mkdir publish/$PKGDIR/d3xp
# Copy release assets
cd build
cp dhewm3 dhewm3ded base.so d3xp.so ../publish/$PKGDIR/
cd ..
# Copy misc assets
cp base/gamepad.cfg publish/$PKGDIR/base/
cp base/gamepad-d3xp.cfg publish/$PKGDIR/d3xp/
cp COPYING.txt publish/$PKGDIR/
# TODO: prepend to README that executables must be set executable? (and maybe commit, build, arch etc)
echo "dhewm3 for 64bit (amd64 aka x86_64 aka x64) Linux, built $(date)" > publish/$PKGDIR/README.txt
echo -e "from ${{ github.ref_name }} commit ${{ github.sha }}\n" >> publish/$PKGDIR/README.txt
echo "!!! Note that you must set dhewm3(ded) executable !!!" >> publish/$PKGDIR/README.txt
echo "! In a Terminal, in this directory, run:" >> publish/$PKGDIR/README.txt
echo " chmod 755 dhewm3 dhewm3ded" >> publish/$PKGDIR/README.txt
echo -e "(this is because of limitations in Githubs Workflow Actions)\n" >> publish/$PKGDIR/README.txt
cat README.md >> publish/$PKGDIR/README.txt
cp Changelog.md publish/$PKGDIR/Changelog.txt
cp Configuration.md publish/$PKGDIR/Configuration.txt
- name: Upload testbuild package
uses: actions/upload-artifact@v4
with:
name: ${{ env.pkgname }}
path: publish/
if-no-files-found: error
63 changes: 63 additions & 0 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Testbuild for MacOS
run-name: testbuild_macos
on:
push:
branches:
- 'master'
pull_request:
types:
- edited
- opened
- synchronize
concurrency:
# Cancel concurrent workflows for the same PR or commit hash.
group: ${{github.workflow}}-${{github.event_name == 'pull_request' && github.head_ref || github.sha}}
cancel-in-progress: true
jobs:
build_macos_aarch64:
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
include:
- env: macos
steps:
- name: Install build dependencies
run: |
brew update
brew install sdl2 openal-soft
# not installing make and cmake, cmake is installed by default, make doesn't seem to be needed
# when using cmake --build
- name: Check out repository code
uses: actions/checkout@v4
- name: Build
run: |
mkdir build
# Note: not building dedicated server because it's not supported on Macs
cmake -DOPENAL_LIBRARY="/opt/homebrew/opt/openal-soft/lib/libopenal.dylib" -DOPENAL_INCLUDE_DIR="/opt/homebrew/opt/openal-soft/include" -S neo/ -B build
cmake --build build
- name: Create testbuild package
run: |
# Create release directory tree
export PKGDIR="dhewm3-macos-$(git rev-parse --short HEAD)"
echo "pkgname=$PKGDIR" >> $GITHUB_ENV
mkdir -p publish/$PKGDIR/base
mkdir publish/$PKGDIR/d3xp
# Copy release assets
cd build
cp -r dhewm3.app ../publish/$PKGDIR/
cp base.dylib d3xp.dylib ../publish/$PKGDIR/
cd ..
# Copy misc assets
cp base/gamepad.cfg publish/$PKGDIR/base/
cp base/gamepad-d3xp.cfg publish/$PKGDIR/d3xp/
cp COPYING.txt publish/$PKGDIR/
cp README.md publish/$PKGDIR/README.txt
cp Changelog.md publish/$PKGDIR/Changelog.txt
cp Configuration.md publish/$PKGDIR/Configuration.txt
- name: Upload testbuild package
uses: actions/upload-artifact@v4
with:
name: ${{ env.pkgname }}
path: publish/
if-no-files-found: error
159 changes: 159 additions & 0 deletions .github/workflows/win_msvc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
name: Testbuild for x86 and x86_64 Windows
run-name: testbuild_windows
on:
push:
branches:
- 'master'
pull_request:
types:
- edited
- opened
- synchronize
concurrency:
# Cancel concurrent workflows for the same PR or commit hash.
group: ${{github.workflow}}-${{github.event_name == 'pull_request' && github.head_ref || github.sha}}
cancel-in-progress: true
jobs:
build_win_x86_msvc:
runs-on: windows-latest
defaults:
run:
# use git bash for for all steps (unless specified otherwise per step)
shell: bash
strategy:
fail-fast: false
steps:
- name: Install build dependencies
run: |
# Download and extract dhewm3-libs
#echo $PWD # /d/a/dhewm3/dhewm3
# as the repo will be cloned into the directory we're currently in (O_o)
# go one directory up to D:\a\dhewm3\ and put the dhewm3libs there
cd ..
# https://github.com/dhewm/dhewm3-libs/archive/refs/heads/master.zip
# for some reason the following downloads an empty file, so use the other URL I got from
# "Copy Download Link" in Firefox (after downloading the file there) instead
#curl -o dhewm3libs.zip https://github.com/dhewm/dhewm3-libs/archive/refs/heads/master.zip
curl -o dhewm3libs.zip https://codeload.github.com/dhewm/dhewm3-libs/zip/refs/heads/master
# only unpack the stuff needed (no x86_64 stuff, no docs from share/)
unzip dhewm3libs.zip "dhewm3-libs-master/i686-w64-mingw32/**" -x "dhewm3-libs-master/i686-w64-mingw32/share/**"
- name: Check out repository code
uses: actions/checkout@v4
- name: Build
run: |
# build with cmake and visual studio
#echo $PWD # /d/a/dhewm3/dhewm3
# NOTE: not setting -G "Visual Studio 17 2022" so it just uses the default VS version it can find
cmake -A Win32 -DDHEWM3LIBS="../dhewm3-libs-master/i686-w64-mingw32/" -DDEDICATED=ON -DTOOLS=ON -S neo/ -B build
time cmake --build build/ --config RelWithDebInfo
- name: Create testbuild package
run: |
# Create release directory tree
export PKGDIR="dhewm3-win32-$(git rev-parse --short HEAD)"
echo "pkgname=$PKGDIR" >> $GITHUB_ENV
mkdir -p publish/$PKGDIR/base
mkdir publish/$PKGDIR/d3xp
# debug symbols (*.pdb) are put in a separate zip
mkdir -p debug-syms/$PKGDIR
# Copy release assets
cd build/RelWithDebInfo
cp dhewm3.exe dhewm3ded.exe base.dll d3xp.dll ../../publish/$PKGDIR/
cp -r *.pdb ../../debug-syms/$PKGDIR/
cd ../..
# Copy misc assets
cp base/gamepad.cfg publish/$PKGDIR/base/
cp base/gamepad-d3xp.cfg publish/$PKGDIR/d3xp/
cp COPYING.txt publish/$PKGDIR/
echo "dhewm3 for 32bit (x86) Windows, built $(date)" > publish/$PKGDIR/README.txt
echo -e "from ${{ github.ref_name }} commit ${{ github.sha }}\n" >> publish/$PKGDIR/README.txt
cat README.md >> publish/$PKGDIR/README.txt
cp Changelog.md publish/$PKGDIR/Changelog.txt
cp Configuration.md publish/$PKGDIR/Configuration.txt
# copy runtime libraries (SDL, OpenAL, cURL)
cd ../dhewm3-libs-master/i686-w64-mingw32/bin/
cp OpenAL32.dll SDL2.dll libcurl-4.dll ../../../dhewm3/publish/$PKGDIR/
cd -
- name: Upload testbuild package
uses: actions/upload-artifact@v4
with:
name: ${{ env.pkgname }}
path: publish/
if-no-files-found: error
- name: Upload testbuild debug symbols
uses: actions/upload-artifact@v4
with:
name: ${{ env.pkgname }}-debugsyms
path: debug-syms/
if-no-files-found: error
build_win_x86_64_msvc:
runs-on: windows-latest
defaults:
run:
# use git bash for for all steps (unless specified otherwise per step)
shell: bash
strategy:
fail-fast: false
steps:
- name: Install build dependencies
run: |
# Download and extract dhewm3-libs
#echo $PWD # /d/a/dhewm3/dhewm3
# as the repo will be cloned into the directory we're currently in (O_o)
# go one directory up to D:\a\dhewm3\ and put the dhewm3libs there
cd ..
# https://github.com/dhewm/dhewm3-libs/archive/refs/heads/master.zip
# for some reason the following downloads an empty file, so use the other URL I got from
# "Copy Download Link" in Firefox (after downloading the file there) instead
#curl -o dhewm3libs.zip https://github.com/dhewm/dhewm3-libs/archive/refs/heads/master.zip
curl -o dhewm3libs.zip https://codeload.github.com/dhewm/dhewm3-libs/zip/refs/heads/master
# only unpack the stuff needed (no i686 stuff, no docs from share/)
unzip dhewm3libs.zip "dhewm3-libs-master/x86_64-w64-mingw32/**" -x "dhewm3-libs-master/x86_64-w64-mingw32/share/**"
- name: Check out repository code
uses: actions/checkout@v4
- name: Build
run: |
# build with cmake and visual studio
#echo $PWD # /d/a/dhewm3/dhewm3
# NOTE: not setting -G "Visual Studio 17 2022" so it just uses the default VS version it can find
cmake -A x64 -DDHEWM3LIBS="../dhewm3-libs-master/x86_64-w64-mingw32/" -DDEDICATED=ON -DTOOLS=ON -S neo/ -B build
time cmake --build build/ --config RelWithDebInfo
- name: Create testbuild package
run: |
# Create release directory tree
export PKGDIR="dhewm3-win64-$(git rev-parse --short HEAD)"
echo "pkgname=$PKGDIR" >> $GITHUB_ENV
#echo "PKGDIR is $PKGDIR"
mkdir -p publish/$PKGDIR/base
mkdir publish/$PKGDIR/d3xp
# debug symbols (*.pdb) are put in a separate zip
mkdir -p debug-syms/$PKGDIR
# Copy release assets
cd build/RelWithDebInfo
cp dhewm3.exe dhewm3ded.exe base.dll d3xp.dll ../../publish/$PKGDIR/
cp -r *.pdb ../../debug-syms/$PKGDIR/
cd ../..
# Copy misc assets
cp base/gamepad.cfg publish/$PKGDIR/base/
cp base/gamepad-d3xp.cfg publish/$PKGDIR/d3xp/
cp COPYING.txt publish/$PKGDIR/
echo "dhewm3 for 64bit (amd64 aka x86_64 aka x64) Windows, built $(date)" > publish/$PKGDIR/README.txt
echo -e "from ${{ github.ref_name }} commit ${{ github.sha }}\n" >> publish/$PKGDIR/README.txt
cat README.md >> publish/$PKGDIR/README.txt
cp Changelog.md publish/$PKGDIR/Changelog.txt
cp Configuration.md publish/$PKGDIR/Configuration.txt
# copy runtime libraries (SDL, OpenAL, cURL)
cd ../dhewm3-libs-master/x86_64-w64-mingw32/bin/
cp OpenAL32.dll SDL2.dll libcurl-4.dll ../../../dhewm3/publish/$PKGDIR/
cd -
- name: Upload testbuild package
uses: actions/upload-artifact@v4
with:
name: ${{ env.pkgname }}
path: publish/
if-no-files-found: error
- name: Upload testbuild debug symbols
uses: actions/upload-artifact@v4
with:
name: ${{ env.pkgname }}-debugsyms
path: debug-syms/
if-no-files-found: error

0 comments on commit 1b83a5b

Please sign in to comment.