Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
2c3e95f
Added POPLIB_VERSION holding the current version of the framework (ac…
Electr0Gunner Jun 21, 2025
2763a73
Readded SEHCatcher (Window Exception Manager), moved bass.h into exte…
Electr0Gunner Jun 22, 2025
cf34605
Made SEHCatcher print the current version of PopLib in the log.
Electr0Gunner Jun 22, 2025
d2b3a6c
Fixed linux.
Electr0Gunner Jun 22, 2025
3074ca1
fix sehcatcher on linux, cleanup
ThePixelMoon Jun 22, 2025
dc0bfcb
fixed sehcatcher on windows
Electr0Gunner Jun 22, 2025
a2e4da0
fix linux again
ThePixelMoon Jun 22, 2025
6143561
add chipmunk physics
ThePixelMoon Jun 22, 2025
672ac03
update NOTICE
ThePixelMoon Jun 22, 2025
7c7bb1d
replace appbase parenting to popapp
ThePixelMoon Jun 22, 2025
ad01167
Reimplemented GetProductVersion() on Windows (the only platform where…
Electr0Gunner Jun 22, 2025
71b43f4
stuff
ThePixelMoon Jun 23, 2025
01c1b5c
add stuff
ThePixelMoon Jun 23, 2025
d63ef1f
removed a debug if statement
Electr0Gunner Jun 23, 2025
24440db
fix warnings
ThePixelMoon Jun 24, 2025
74f5569
replaced xml parser with the original one, some random fixes
Electr0Gunner Jun 24, 2025
e6d60de
updated tetris abit
Electr0Gunner Jun 24, 2025
0edc279
added w.i.p. renderer abstraction (not implemented)
Electr0Gunner Jun 24, 2025
e305c2f
Revert "added w.i.p. renderer abstraction (not implemented)"
Electr0Gunner Jun 27, 2025
d7a6cfa
renderer abstraction
ThePixelMoon Jun 28, 2025
9829c77
huh??
ThePixelMoon Jun 28, 2025
41ecd41
WTF??
ThePixelMoon Jun 28, 2025
a99df43
formatting
ThePixelMoon Jun 28, 2025
d3cf2b1
renamed interfaces to renderers (cause thats what they are), added AP…
Electr0Gunner Jun 28, 2025
b5b4ec6
moved cursor handling to AppBase, instead of SDLRenderer
Electr0Gunner Jun 28, 2025
076c900
Replaced submodules with FetchContent
Electr0Gunner Jul 27, 2025
9108bf3
Added GLRenderer (replaces SDLRenderer)
Electr0Gunner Jul 31, 2025
94d8dc5
included the dll copy function
Electr0Gunner Jul 31, 2025
c52b80f
added a cmd argument for changing the renderer to SDLRenderer, update…
Electr0Gunner Jul 31, 2025
14b6059
add partial macos support, fix linux
ThePixelMoon Aug 7, 2025
788561e
update build workflow
ThePixelMoon Aug 8, 2025
29e698c
small refactoring
ThePixelMoon Aug 8, 2025
572ca7a
update workflow
ThePixelMoon Aug 8, 2025
b4d7fa7
hacky hacks..
ThePixelMoon Aug 8, 2025
c1afc13
hacky hacks 2..
ThePixelMoon Aug 8, 2025
3ba4033
stuff
ThePixelMoon Aug 8, 2025
1a7c203
change VERSION to VERSION.pz
ThePixelMoon Aug 8, 2025
87e1f74
change VERSION to VERSION.pz 2
ThePixelMoon Aug 8, 2025
9e1ae75
cleanup
ThePixelMoon Aug 8, 2025
9ac0b81
cleanup 2
ThePixelMoon Aug 8, 2025
35e7f64
add steam api support
ThePixelMoon Aug 8, 2025
5df16a5
fix default compilation
ThePixelMoon Aug 9, 2025
2dccad1
(wip) replace bass with libopenmpt
ThePixelMoon Aug 9, 2025
e42832e
hopefully fix macos build
ThePixelMoon Aug 9, 2025
64faae0
update workflow
ThePixelMoon Aug 9, 2025
942346f
define _DEBUG for both linux and macos if building in debug
ThePixelMoon Aug 9, 2025
69f4b4f
fix windows ig
ThePixelMoon Aug 9, 2025
efbd815
fix windows ig 2
ThePixelMoon Aug 9, 2025
06255ff
fix windows ig 3
ThePixelMoon Aug 9, 2025
f27ddff
update teris
ThePixelMoon Aug 10, 2025
2aceaa6
replaced debug.hpp with memmgr.cpp and log.hpp + log.cpp
Electr0Gunner Aug 14, 2025
a6c8d75
stuff
ThePixelMoon Sep 3, 2025
84c9a44
i had a stroke fixing merge conflicts
ThePixelMoon Sep 3, 2025
93d3924
change some enums to be enum class
ThePixelMoon Oct 7, 2025
6cfa626
fix crash log copying in sehcatcher
ThePixelMoon Oct 7, 2025
26be837
set font for mDemoButton in v14 demo
ThePixelMoon Oct 7, 2025
c054016
add renderer api suffix in game title
ThePixelMoon Oct 7, 2025
11a28c0
Begin adding Lua scripting
ThePixelMoon Oct 21, 2025
e2f2549
Add more Lua bindings of classes
ThePixelMoon Oct 21, 2025
3ff50b2
Get Lua compiling statically and with no tests
ThePixelMoon Oct 21, 2025
fec73bc
Initial todlib port
ThePixelMoon Oct 23, 2025
ceea95b
Revert "Initial todlib port"
ThePixelMoon Nov 20, 2025
d5b3cbe
Rearrange RGBA struct and rename ToRGBA method ToBGRA
YalekW5435 Dec 19, 2025
2b9cfed
Change ToRGBA to ToBGRA, and ToInt to proper values.
YalekW5435 Dec 19, 2025
9e73cc9
Fix BGRA conversion by swapping red and blue channels
YalekW5435 Dec 19, 2025
dc5afad
Add YUV color struct and conversion methods
YalekW5435 Dec 19, 2025
c47c550
Add YUV conversion and rename ToInt to ToRGBAInt
YalekW5435 Dec 19, 2025
e9f4756
Revert ToRGBAInt method to ToInt
YalekW5435 Dec 20, 2025
4aab05d
Revert ToRGBAInt to ToInt in Color class
YalekW5435 Dec 20, 2025
669c2de
Change RGBA struct to ARGB and update methods
YalekW5435 Jan 10, 2026
4c0efec
Refactor Color class to use ARGB formats
YalekW5435 Jan 10, 2026
30bf88e
add a bunch of example colors instead of black and white
YalekW5435 Jan 10, 2026
bb9bca5
Add new color definitions to Color class
YalekW5435 Jan 10, 2026
0990c4c
Fix syntax error in Gray color definition
YalekW5435 Jan 10, 2026
a14148c
Fix comments for color conversion functions
YalekW5435 Jan 10, 2026
e2288fe
Remove ToRGBA function from color class
YalekW5435 Jan 10, 2026
61a9c5e
fixed a wrong variable name on line 36
YalekW5435 Jan 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
88 changes: 73 additions & 15 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:

- name: Read VERSION
id: extract
run: echo "version=$(cat VERSION)" >> $GITHUB_OUTPUT
run: echo "version=$(cat VERSION.pz)" >> $GITHUB_OUTPUT

build:
needs: version
Expand All @@ -42,13 +42,44 @@ jobs:
- os: windows-2025
arch: x64
cmake_arch: x64
build_type: Release
generator: "Visual Studio 17 2022"
- os: windows-2025
arch: x64
cmake_arch: x64
build_type: Debug
generator: "Visual Studio 17 2022"
- os: windows-2025
arch: x86
cmake_arch: Win32
build_type: Release
generator: "Visual Studio 17 2022"
- os: windows-2025
arch: x86
cmake_arch: Win32
build_type: Debug
generator: "Visual Studio 17 2022"
- os: ubuntu-latest
arch: x64
cmake_arch: native
build_type: Release
generator: "Ninja"
- os: ubuntu-latest
arch: x64
cmake_arch: native
name: Build ${{ matrix.arch }} on ${{ matrix.os }}
build_type: Debug
generator: "Ninja"
- os: macos-latest
arch: arm64
cmake_arch: native
build_type: Release
generator: "Ninja"
- os: macos-latest
arch: arm64
cmake_arch: native
build_type: Debug
generator: "Ninja"
name: Build ${{ matrix.build_type }} ${{ matrix.arch }} on ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v4.2.2
Expand All @@ -60,50 +91,77 @@ jobs:
with:
cmakeVersion: latest

- name: Install Ninja (non-Windows)
if: matrix.generator == 'Ninja'
run: |
if [[ "$RUNNER_OS" == "Linux" ]]; then
sudo apt-get update
sudo apt-get install -y ninja-build
elif [[ "$RUNNER_OS" == "macOS" ]]; then
brew install ninja
fi
shell: bash

- name: Install dependencies (Linux)
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y \
build-essential libx11-dev libxcursor-dev libxi-dev \
libxrandr-dev libxext-dev libdrm-dev libgbm-dev \
libwayland-dev libegl1-mesa-dev libfreetype6-dev libharfbuzz-dev
libwayland-dev libegl1-mesa-dev libfreetype6-dev libharfbuzz-dev \
libopenmpt-dev
shell: bash

- name: Install dependencies (macOS)
if: matrix.os == 'macos-latest'
run: |
brew install freetype harfbuzz openal-soft libopenmpt
shell: bash

- name: Configure
run: |
if [[ "$RUNNER_OS" == "Windows" ]]; then
cmake -S . -B build_${{ matrix.arch }} -G "Visual Studio 17 2022" -DCMAKE_BUILD_TYPE=Release -A ${{ matrix.cmake_arch }}
else
cmake -S . -B build_${{ matrix.arch }} -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release
fi
cmake -S . -B build_${{ matrix.arch }}_${{ matrix.build_type }} \
-G "${{ matrix.generator }}" \
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
${{ matrix.os == 'windows-2025' && format('-A {0}', matrix.cmake_arch) || '' }} \
-DCMAKE_INSTALL_PREFIX=$PWD/dist/install
shell: bash

- name: Build
run: cmake --build build_${{ matrix.arch }} --config Release
run: cmake --build build_${{ matrix.arch }}_${{ matrix.build_type }} --config ${{ matrix.build_type }}
shell: bash

- name: Install
run: cmake --install build_${{ matrix.arch }} --config Release
run: cmake --install build_${{ matrix.arch }}_${{ matrix.build_type }} --config ${{ matrix.build_type }}
shell: bash

- name: Organize output
shell: bash
run: |
mkdir -p dist/examples dist/tools
cp VERSION dist/
cp VERSION.pz dist/

if [[ -d examples/bin ]]; then
cp -r examples/bin/. dist/examples/
cp -r examples/bin/. dist/examples/
else
echo "warning: examples/bin does not exist."
echo "warning: examples/bin does not exist."
fi

if [[ "$RUNNER_OS" == "Windows" && -d tools ]]; then
cp -r tools/*.exe dist/tools/ || echo "tools not found"
elif [[ "$RUNNER_OS" == "macOS" && -d tools ]]; then
cp -r tools/* dist/tools/ || echo "tools not found"
fi
shell: bash

- name: Remove install folder
run: rm -rf dist/install
shell: bash

- name: Upload dist directory
uses: actions/upload-artifact@v4
with:
name: PopLib-${{ needs.version.outputs.version }}-${{ matrix.os }}-${{ matrix.arch }}
name: PopLib-${{ needs.version.outputs.version }}-${{ matrix.os }}-${{ matrix.arch }}-${{ matrix.build_type }}
path: dist/

release:
Expand Down
17 changes: 17 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ examples/bin/*
!examples/bin/*.*
!examples/bin/**/

crash.txt
mem_leaks.txt
temp/

examples/bin/*.exe
examples/bin/*.dll
examples/bin/*.pdb
Expand All @@ -39,6 +43,19 @@ examples/bin/screenshots/*
docs/doxygen/
imgui.ini

# IMPORTANT
private/steam/sdk
libsteam_api.so
libsteam_api.dylib
steam_api.dll
steam_api64.dll
steam_appid.txt
examples/bin/libopenmpt.dll
examples/bin/openmpt-mpg123.dll
examples/bin/openmpt-ogg.dll
examples/bin/openmpt-vorbis.dll
examples/bin/openmpt-zlib.dll

# tools
PopPak.exe
PopPakPWE.exe
30 changes: 0 additions & 30 deletions .gitmodules

This file was deleted.

Loading
Loading