Skip to content

Commit

Permalink
Merge branch 'master' into d3d9ex
Browse files Browse the repository at this point in the history
  • Loading branch information
Squall-Leonhart committed Mar 6, 2024
2 parents 8a890fa + 215e3c5 commit acb774a
Show file tree
Hide file tree
Showing 183 changed files with 13,424 additions and 347,003 deletions.
20 changes: 12 additions & 8 deletions .github/workflows/macos-build.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,27 @@
name: macOS Latest Build
on: [push, pull_request]
#on: workflow_dispatch

jobs:
build:
strategy:
matrix:
cmake_build: ['-DCMAKE_BUILD_TYPE=Release', '-DCMAKE_BUILD_TYPE=Debug']
cmake_options: ['', '-DENABLE_LINK=OFF', '-DENABLE_SDL=ON']
runs-on: macos-latest

steps:
- name: Checkout the code
uses: actions/checkout@v2
with:
submodules: recursive

- name: Install Dependencies
run: >-
bash installdeps
- name: Install nix
uses: cachix/install-nix-action@v22
with:
nix_path: nixpkgs=channel:nixos-unstable
- name: Configure
run: >-
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug
nix-shell --command 'cmake -B build -G Ninja ${{ matrix.cmake_build }} ${{ matrix.cmake_options }}'
- name: Build
run: ninja -C build
run: >-
nix-shell --command 'ninja -C build'
78 changes: 37 additions & 41 deletions .github/workflows/msys2-build.yml
Original file line number Diff line number Diff line change
@@ -1,41 +1,37 @@
name: MSYS2 Build
on: [push, pull_request]

jobs:
build:
runs-on: windows-latest
env:
MSYSTEM: CLANG64
defaults:
run:
shell: msys2 {0}

steps:
- name: Checkout the code
uses: actions/checkout@v2
with:
submodules: recursive
- name: Setup msys2
uses: msys2/setup-msys2@v2
with:
msystem: CLANG64
update: true
install: >-
mingw-w64-clang-x86_64-toolchain
mingw-w64-clang-x86_64-pkgconf
mingw-w64-clang-x86_64-ffmpeg
mingw-w64-clang-x86_64-FAudio
mingw-w64-clang-x86_64-cmake
mingw-w64-clang-x86_64-ninja
mingw-w64-clang-x86_64-wxWidgets3.2
mingw-w64-clang-x86_64-sfml
mingw-w64-clang-x86_64-SDL2
zip
- name: Configure
run: >-
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug -DVBAM_STATIC=ON -DENABLE_SSP=ON -DENABLE_ONLINEUPDATES=OFF
- name: Build
run: ninja -C build

- name: Install
run: ninja -C build install
name: MSYS2 Build
on: [push, pull_request]

jobs:
build:
strategy:
matrix:
cmake_build: ['-DCMAKE_BUILD_TYPE=Release', '-DCMAKE_BUILD_TYPE=Debug']
cmake_options: ['', '-DENABLE_LINK=OFF', '-DENABLE_SDL=ON']
runs-on: windows-latest
env:
MSYSTEM: CLANG64
defaults:
run:
shell: msys2 {0}

steps:
- name: Checkout the code
uses: actions/checkout@v2
with:
submodules: recursive
- name: Setup msys2
uses: msys2/setup-msys2@v2
with:
msystem: CLANG64
update: true
- name: Install deps
run: >-
bash installdeps
- name: Configure
run: >-
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug ${{ matrix.cmake_build }} ${{ matrix.cmake_options }}
- name: Build
run: ninja -C build

- name: Install
run: ninja -C build install
10 changes: 7 additions & 3 deletions .github/workflows/ubuntu-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,12 @@ on: [push, pull_request]

jobs:
build:
strategy:
matrix:
cmake_compiler: ['-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++', '-DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++']
cmake_build: ['-DCMAKE_BUILD_TYPE=Release', '-DCMAKE_BUILD_TYPE=Debug']
cmake_options: ['', '-DENABLE_LINK=OFF', '-DENABLE_SDL=ON']
runs-on: ubuntu-latest

steps:
- name: Checkout the code
uses: actions/checkout@v2
Expand All @@ -13,11 +17,11 @@ jobs:

- name: Install Dependencies
run: >-
bash installdeps
bash installdeps; if [ "${{ matrix.compiler }}" = clang ]; then sudo apt -y install clang; fi
- name: Configure
run: >-
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug
cmake -B build -G Ninja ${{ matrix.cmake_compiler }} ${{ matrix.cmake_build }} ${{ matrix.cmake_options }}
- name: Build
run: ninja -C build
Expand Down
36 changes: 36 additions & 0 deletions .github/workflows/visual-studio-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Visual Studio Build
on: [push, pull_request]

jobs:
build:
strategy:
matrix:
msvc_arch: ['x64', 'x64_x86']
cmake_generator: ['Ninja']
# cmake_generator: ['Ninja', '"Visual Studio 17 2022"']
cmake_build: ['-DCMAKE_BUILD_TYPE=Release', '-DCMAKE_BUILD_TYPE=Debug']
cmake_options: ['', '-DENABLE_LINK=OFF', '-DENABLE_SDL=ON']
runs-on: windows-latest
steps:
- name: Checkout the code
uses: actions/checkout@v2
with:
submodules: recursive

- name: Prepare Visual Studio environment
uses: ilammy/[email protected]
with:
arch: ${{ matrix.msvc_arch }}

- name: Configure (x64)
if: matrix.msvc_arch == 'x64'
run: >-
cmake -B build -G ${{ matrix.cmake_generator }} -DVCPKG_TARGET_TRIPLET=x64-windows-static ${{ matrix.cmake_build }} ${{ matrix.cmake_options }}
- name: Configure (x86)
if: matrix.msvc_arch == 'x64_x86'
run: >-
cmake -B build -G ${{ matrix.cmake_generator }} -DVCPKG_TARGET_TRIPLET=x86-windows-static ${{ matrix.cmake_build }} ${{ matrix.cmake_options }}
- name: Build
run: cmake --build build
32 changes: 31 additions & 1 deletion .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,19 @@ include:
# PlayStation Vita
- project: 'libretro-infrastructure/ci-templates'
file: '/vita-static.yml'


# Nintendo GameCube
- project: 'libretro-infrastructure/ci-templates'
file: '/ngc-static.yml'

# Nintendo Wii
- project: 'libretro-infrastructure/ci-templates'
file: '/wii-static.yml'

# Nintendo WiiU
- project: 'libretro-infrastructure/ci-templates'
file: '/wiiu-static.yml'

# Nintendo Switch
- project: 'libretro-infrastructure/ci-templates'
file: '/libnx-static.yml'
Expand Down Expand Up @@ -164,6 +176,24 @@ libretro-build-vita:
- .libretro-vita-static-retroarch-master
- .core-defs

# Nintendo GameCube
libretro-build-ngc:
extends:
- .libretro-ngc-static-retroarch-master
- .core-defs

# Nintendo Wii
libretro-build-wii:
extends:
- .libretro-wii-static-retroarch-master
- .core-defs

# Nintendo WiiU
libretro-build-wiiu:
extends:
- .libretro-wiiu-static-retroarch-master
- .core-defs

# Nintendo Switch
libretro-build-libnx-aarch64:
extends:
Expand Down
63 changes: 63 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,69 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## [2.1.9] - 2024-02-03
=======================
* 84b0a3e3 - Remove SDL sound driver [rkitover]
* 2ad7dd1a - Fix wav audio recording [40356555+Aikku93]
* 23ef8ef0 - Dialog appearance improvements + link warning [zachbacon]
* a0452701 - build: don't fseeko64()/ftello64() on musl libc [rkitover]
* 9e9fe812 - visualboyadvance-m.metainfo.xml: add screenshots to the metainfo [zachbacon]

## [2.1.8] - 2023-12-13

========================
* beab0881 - Store the PC register at the appropriate offset [steelskin]
* bf2452aa - Resize GameArea after MainFrame initialization [steelskin]
* 71ca0fb2 - Properly hide the status bar at startup [steelskin]
* 7e1afcd3 - Fix reading joystick hat config values [rkitover]
* 32581966 - Link: Fix menu not refreshing correctly [74248064+nuive]

## [2.1.7] - 11.09.2023

=========================
* aca206a7 - Launch on xwayland under Wayland if no EGL [rkitover]
* 93a24bee - Disable mirroring for ROMs > 32MB [rkitover]
* 0f4ec575 - [Build] Fix the NO_LINK build [steelskin]
* 803ab352 - [GB] Save MBC7 EEPROM data to `gbRam` [steelskin]
* 24b6ac5a - [GBA] Implement missing Thumb instruction [steelskin]
* 14a4b6f8 - [dialogs] Move JoypadConfig to its own class. [steelskin]

## [2.1.6] - 09.07.2023

=========================
* 7561ca97 - Fix Discord streaming for OpenGL [danialhorton]
* e26f8073 - [bios] Fix lz77 and add BIOS_SndDriverVsyncOn [steelskin]
* d1f65000 - Refactor accelerator / global shortcuts handling [steelskin]
* fda429fc - [GBA] Do not draw BG tiles from outside of BG VRAM [steelskin]
* 5aa3ea92 - Properly initialize wxAcceleratorTable [steelskin]
* 0e29be87 - Support multiple RAM sizes for MBC7 [steelskin]
* 75b79d91 - Change MBC7 reported RAM size to 512 bytes [steelskin]
* 36e88faf - Fix dsound looping when moving/resizing window [rkitover]
* 019fcda9 - Sanitize and improve the GB header parsing (#1109) [Steelskin]
* 7005b928 - Sanitize allocations in the Game Boy emulator (#1105) [Steelskin]
* 3cef52b7 - Fix pause/next-frame [rkitover]
* d3f8cc17 - Option to suspend the X11 screensaver when running [2306079+multiSnow]
* df819598 - builder: update macOS build to 10.10, Wx 3.2.2.1 [rkitover]
* 1ab46f70 - Update SIOCNT when the link driver is disconnected [steelskin]
* 1d7e8ae4 - build: fix build with new OpenAL [rkitover]
* a9284b3d - workaround for Stuart Little 2 crashing when set to none [danialhorton]
* 166299cd - Implements Read/Writes for HUC3 [danialhorton]
* 640ce453 - Change SOUND_CLOCK_TICKS to 280896 cycles - ~1074 samples per frame [reallibretroretroarch]
* f1d3f631 - Fix automatic dynamic frame skipping [steelskin]
* d756f671 - translations: fix some source strings [stanley.udr.kid]
* 91873254 - Add INI file versioning [steelskin]
* 7d9cb2b5 - Default GBA LCD filter to off. [rkitover]
* be1e5ca1 - Check for wx < 3.2.2 for EGL move fix backport [rkitover]
* 1fb18b32 - Rename appdata to metainfo [polynomial-c]
* ca7ae336 - Fix regression in bios, port DMA fix from libretro [danialhorton]
* b34448c9 - Fix record/play dialogs for native recordings [danialhorton]
* 6307348c - build: support MSVC arm64 cross build on x86 [rkitover]
* 87bdc93e - Revert "translations: use %% instead of percent" [rkitover]
* ab4ae96e - Clarify/set condition: wayland && !wayland_egl [rkitover]
* 8e4acfc9 - Fix build w/wxUSE_GLCANVAS_EGL=0, on Fedora [rkitover]
* 3c41b68d - Fix the Windows ARM64 build [steelskin]
* 22578d02 - Increase MAX_CART_SIZE from 32MiB to 128MiB [rkitover]

## [2.1.5] - 2022-12-15
=======================
* ea2a929f - Backport 800d6ed69b from wx to fix Wayland EGL pos [rkitover]
Expand Down
23 changes: 13 additions & 10 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ if(TAG_RELEASE)
include(MakeReleaseCommitAndTag)
endif()

set(VCPKG_DEPS pkgconf zlib sdl2 gettext wxwidgets)
set(VCPKG_DEPS pkgconf zlib "sdl2[samplerate]" gettext wxwidgets)

set(VCPKG_DEPS_OPTIONAL
sfml ENABLE_LINK
Expand Down Expand Up @@ -74,9 +74,11 @@ if(NOT CMAKE_CXX_COMPILER_LAUNCHER)
endif()
endif()

project(VBA-M C CXX)
cmake_minimum_required(VERSION 3.8.2)

set(CMAKE_CXX_STANDARD 17)

cmake_minimum_required(VERSION 2.8.12)
project(VBA-M C CXX)

if(NOT CMAKE_PREFIX_PATH AND (NOT ("$ENV{CMAKE_PREFIX_PATH}" STREQUAL "")))
set(CMAKE_PREFIX_PATH "$ENV{CMAKE_PREFIX_PATH}")
Expand Down Expand Up @@ -456,7 +458,7 @@ if(ENABLE_FFMPEG)
set(FFMPEG_LDFLAGS ${FFMPEG_LDFLAGS} -framework CoreText -framework ApplicationServices)

if(UPSTREAM_RELEASE)
set(FFMPEG_LDFLAGS ${FFMPEG_LDFLAGS} -lbz2 -lvo-amrwbenc -lopencore-amrnb -lopencore-amrwb -lmodplug -lbluray -lgsm -lmp3lame -ltiff -lopus -lsnappy -lsoxr -lspeex -ltheora -lvorbis -lvpx -lx264 -lx265 -lxavs -lxvidcore -lzmq -framework DiskArbitration -lfreetype -lfontconfig -llzma -logg -lvorbisenc -lxml2 -lharfbuzz)
set(FFMPEG_LDFLAGS ${FFMPEG_LDFLAGS} -lbz2 -ltiff -framework DiskArbitration -lfreetype -lfontconfig -llzma -lxml2 -lharfbuzz)
endif()
elseif(WIN32)
set(WIN32_MEDIA_FOUNDATION_LIBS dxva2 evr mf mfplat mfplay mfreadwrite mfuuid amstrmid)
Expand Down Expand Up @@ -494,8 +496,13 @@ add_definitions(-D__STDC_FORMAT_MACROS)

# For C++, default to nonstd::optional and nonstd::variant for now due to mac
# build issues.
add_definitions(-Doptional_CONFIG_SELECT_OPTIONAL=optional_OPTIONAL_NONSTD)
add_definitions(-Dvariant_CONFIG_SELECT_VARIANT=variant_VARIANT_NONSTD)
if(APPLE)
add_definitions(-Doptional_CONFIG_SELECT_OPTIONAL=optional_OPTIONAL_NONSTD)
add_definitions(-Dvariant_CONFIG_SELECT_VARIANT=variant_VARIANT_NONSTD)
else()
add_definitions(-Doptional_CONFIG_SELECT_OPTIONAL=optional_OPTIONAL_STD)
add_definitions(-Dvariant_CONFIG_SELECT_VARIANT=variant_VARIANT_STD)
endif()

if(ENABLE_LINK)
# IPC linking code needs sem_timedwait which can be either in librt or pthreads
Expand Down Expand Up @@ -1180,8 +1187,6 @@ if(NOT TRANSLATIONS_ONLY)
${HDR_STB_IMAGE}
)
add_dependencies(vbamcore generate)
set_property(TARGET vbamcore PROPERTY CXX_STANDARD 11)
set_property(TARGET vbamcore PROPERTY CXX_STANDARD_REQUIRED ON)
endif()

if((NOT TRANSLATIONS_ONLY) AND ENABLE_SDL)
Expand All @@ -1191,8 +1196,6 @@ if((NOT TRANSLATIONS_ONLY) AND ENABLE_SDL)
${SRC_SDL}
${HDR_SDL}
)
set_property(TARGET vbam PROPERTY CXX_STANDARD 11)
set_property(TARGET vbam PROPERTY CXX_STANDARD_REQUIRED ON)

if(WIN32)
set(WIN32_LIBRARIES wsock32 ws2_32 winmm version imm32)
Expand Down
Loading

0 comments on commit acb774a

Please sign in to comment.