Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
30 changes: 15 additions & 15 deletions .github/workflows/stable-compilation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,35 +30,34 @@ jobs:
image:
# version of: # CMake | g++ | SDL | support end #
# -------------------------------------------------------------
- debian:11 # 3.18.4 | 10.2.1 | 2.0.14 | oldstable (8/24) #
- ubuntu:22.04 # 3.22.1 | 11.2.0 | 2.0.20 | LTS (4/27) #
- debian:12 # 3.25.1 | 12.2.0 | 2.26.5 | stable (6/26) #
- ubuntu:24.04 # 3.28.3 | 13.2.0 | 2.30.0 | LTS (4/29) #
- ubuntu:22.04 # 3.22.1 | 11.2.0 | 2.0.20 | LTS (5/27) #
- debian:12 # 3.25.1 | 12.2.0 | 2.26.5 | LTS (6/28) #
- debian:13 # 3.31.6 | 14.2.0 | 2.32.4 | stable (8/28) #
- ubuntu:26.04 # 4.2.3 | 15.2.0 | 3.4.2 | stable (5/31) #
os:
- arch: x86_64
name: ubuntu-latest
- arch: arm64
name: ubuntu-24.04-arm
name: ubuntu-26.04-arm
exclude:
- os:
arch: arm64
image: debian:11
image: ubuntu:22.04 # too old, no arm images
- os:
arch: arm64
image: ubuntu:22.04
arch: x86_64
image: ubuntu:26.04 # recent enough to be tested in the wild

steps:
- name: Install dependencies
run: |
SDLPKG=$(grep -q "26.04" /etc/os-release && echo "libsdl3-dev" || echo "libsdl2-dev")
export DEBIAN_FRONTEND="noninteractive"
apt-get update
apt-get install -yqq --no-install-recommends --no-install-suggests \
ca-certificates build-essential cmake ninja-build git \
libicu-dev libexpat1-dev libinih-dev nlohmann-json3-dev \
libsdl2-dev libpng-dev libpixman-1-dev libfmt-dev \
libfreetype6-dev libharfbuzz-dev libmpg123-dev libsndfile-dev \
libvorbis-dev libopusfile-dev libspeexdsp-dev liblhasa-dev \
libdrm-dev libgbm-dev # only needed for sdl2 on debian 11
libicu-dev libexpat1-dev libinih-dev nlohmann-json3-dev libpng-dev libpixman-1-dev \
libfmt-dev libfreetype6-dev libharfbuzz-dev libmpg123-dev libsndfile-dev \
libvorbis-dev libopusfile-dev libspeexdsp-dev liblhasa-dev $SDLPKG

- name: Clone Repository
uses: actions/checkout@v7
Expand All @@ -74,11 +73,12 @@ jobs:

- name: Compile
run: |
VER="(GA, `date +%Y-%m-%d`)"
VER="(GA-`uname -m`, `date +%Y-%m-%d`)"
SDLTARGET=$(grep -q "26.04" /etc/os-release && echo "SDL3" || echo "SDL2")
cmake -G Ninja -B build . \
-DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_CXX_FLAGS="-Wall -Wextra -Wdeprecated -fsanitize=address,undefined" \
-DPLAYER_TARGET_PLATFORM=SDL2 \
-DPLAYER_TARGET_PLATFORM="$SDLTARGET" \
-DPLAYER_BUILD_LIBLCF=ON -DPLAYER_VERSION_APPEND="$VER"
cmake --build build

Expand Down
28 changes: 8 additions & 20 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.18...3.31 FATAL_ERROR)
cmake_minimum_required(VERSION 3.22...4.4 FATAL_ERROR)

project(EasyRPG_Player VERSION 0.8.1
DESCRIPTION "Interpreter for RPG Maker 2000/2003 games"
Expand Down Expand Up @@ -643,7 +643,7 @@ elseif(PLAYER_TARGET_PLATFORM STREQUAL "SDL1")
USE_SDL=1
EASYRPG_CONFIG_NAME="config_sdl1.ini")
elseif(PLAYER_TARGET_PLATFORM STREQUAL "libretro")
target_compile_definitions(${PROJECT_NAME} PUBLIC PLAYER_UI=LibretroUi USE_LIBRETRO=1)
target_compile_definitions(${PROJECT_NAME} PUBLIC PLAYER_UI=LibretroUi USE_LIBRETRO)
set(PLAYER_BUILD_EXECUTABLE OFF)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/builds/libretro)
target_link_libraries(${PROJECT_NAME} retro_common)
Expand Down Expand Up @@ -753,7 +753,7 @@ elseif(PLAYER_AUDIO_BACKEND STREQUAL "AESND")
target_sources(${PROJECT_NAME} PRIVATE
src/platform/wii/audio.cpp
src/platform/wii/audio.h)
target_compile_definitions(${PROJECT_NAME} PUBLIC AUDIO_AESND=1)
target_compile_definitions(${PROJECT_NAME} PUBLIC AUDIO_AESND)
elseif(PLAYER_AUDIO_BACKEND STREQUAL ${PLAYER_TARGET_PLATFORM})

elseif(PLAYER_AUDIO_BACKEND STREQUAL "OFF")
Expand Down Expand Up @@ -870,16 +870,8 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
endif()

# Endianess check
if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.20)
if(CMAKE_CXX_BYTE_ORDER STREQUAL "BIG_ENDIAN")
target_compile_definitions(${PROJECT_NAME} PRIVATE WORDS_BIGENDIAN=1)
endif()
else()
include(TestBigEndian)
test_big_endian(WORDS_BIGENDIAN)
if(WORDS_BIGENDIAN)
target_compile_definitions(${PROJECT_NAME} PRIVATE WORDS_BIGENDIAN=1)
endif()
if(CMAKE_CXX_BYTE_ORDER STREQUAL "BIG_ENDIAN")
target_compile_definitions(${PROJECT_NAME} PRIVATE WORDS_BIGENDIAN)
endif()

# App Icon (for macOS)
Expand Down Expand Up @@ -1064,18 +1056,14 @@ if(PLAYER_HAS_AUDIO)
set(PLAYER_AUDIO_RESAMPLER "Auto" CACHE STRING "Audio resampler to use. Options: Auto speexdsp samplerate OFF")
set_property(CACHE PLAYER_AUDIO_RESAMPLER PROPERTY STRINGS Auto speexdsp samplerate OFF)

if(PLAYER_AUDIO_RESAMPLER STREQUAL "Auto")
set(PLAYER_AUDIO_RESAMPLER_IS_AUTO ON)
endif()

cmake_dependent_option(PLAYER_WITH_SPEEXDSP
"Use speexdsp as resampler when available." ON
"PLAYER_HAS_AUDIO;PLAYER_AUDIO_RESAMPLER_IS_AUTO" OFF)
[[PLAYER_AUDIO_RESAMPLER STREQUAL "Auto"]] OFF)
cmake_dependent_option(PLAYER_WITH_SAMPLERATE
"Use libsamplerate as resampler when available." ON
"PLAYER_HAS_AUDIO;PLAYER_AUDIO_RESAMPLER_IS_AUTO" OFF)
[[PLAYER_AUDIO_RESAMPLER STREQUAL "Auto"]] OFF)

if(PLAYER_AUDIO_RESAMPLER_IS_AUTO)
if(PLAYER_AUDIO_RESAMPLER STREQUAL "Auto")
player_find_package(NAME speexdsp
CONDITION PLAYER_WITH_SPEEXDSP
DEFINITION HAVE_LIBSPEEXDSP
Expand Down
6 changes: 0 additions & 6 deletions src/platform/sdl/sdl2_ui.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -571,7 +571,6 @@ void Sdl2Ui::ToggleStretch() {
}

void Sdl2Ui::ToggleVsync() {
#if SDL_VERSION_ATLEAST(2, 0, 18)
// Modifying vsync requires recreating the renderer
vcfg.vsync.Toggle();

Expand All @@ -581,9 +580,6 @@ void Sdl2Ui::ToggleVsync() {
} else {
Output::Warning("Unable to toggle vsync. This is likely a problem with your system configuration.");
}
#else
Output::Warning("Cannot toogle vsync: SDL2 version too old (must be 2.0.18)");
#endif
}

void Sdl2Ui::SetScreenScale(int scale) {
Expand Down Expand Up @@ -1285,9 +1281,7 @@ void Sdl2Ui::vGetConfig(Game_ConfigVideo& cfg) const {
cfg.renderer.Lock("SDL2 (Software)");
#endif

#if SDL_VERSION_ATLEAST(2, 0, 18)
cfg.vsync.SetOptionVisible(true);
#endif
cfg.fullscreen.SetOptionVisible(true);
cfg.fps_limit.SetOptionVisible(true);
#if defined(SUPPORT_ZOOM) && !defined(__ANDROID__)
Expand Down
Loading