Commit Graph
93 Commits
Author SHA1 Message Date
Chris Thrasher b3a0ed815b Clean up implementation of sf<T>Rect_intersects 2024-09-01 12:56:29 -06:00
Chris Thrasher 54d28325b9 Run clang-format 2024-09-01 11:32:18 -06:00
Chris Thrasher 42aec92642 Add format target for running clang-format 2024-09-01 11:32:18 -06:00
Chris Thrasher 86d52f4712 Use vectors for pairs of scalar parameters 2024-08-31 12:03:21 -06:00
Chris Thrasher 10685c7d0d Stop leaving variables unused in release builds
In a Release build, macros like `CSFML_CHECK_RETURN` expand into
nothing more than a cast-to-void which is meant to silence compiler
warnings about unused variables.

By declaring a temporary inside the macro argument, we ensure that
debug builds behave the same as always but Release builds expand
these macros into truly no code thus ensuring these temporary
variables are never created in the first place so there is now
nothing that we have to cast to void.
2024-08-27 10:21:46 -06:00
Chris Thrasher 513a6c2fda Add missing apt package dependency 2024-08-27 07:00:13 +01:00
Chris Thrasher caabd98100 Add convenience functions for converting between SFML and CSFML types 2024-08-26 16:04:44 -06:00
Chris Thrasher 3316223629 Add tidy target for running clang-tidy 2024-08-25 14:18:36 -06:00
Chris Thrasher fe8d8a972c Fix typos in public documentation
Typos found with codespell tool
2024-08-25 12:09:04 -06:00
Chris Thrasher 55fe064af4 Remove unnecessary (void) parameters from C++ implementations 2024-08-25 12:07:01 -06:00
Chris Thrasher e2e5ef1d31 Use .hpp as file extension for C++ headers 2024-08-25 10:11:32 -06:00
Chris Thrasher c5158c77b4 Move CSFML source files to CSFML/ directory
This helps make it easier to distinguish SFML files from CSFML files.
This is especially important for CSFML private headers which are
often C++ code with .hpp file extensions. This change means SFML and
CSFML can use headers with the same name without conflict.
2024-08-24 14:05:06 -06:00
Chris Thrasher 458da959f5 Remove deprecated interfaces 2024-08-24 11:32:56 -06:00
Chris Thrasher 620fdbc530 Remove references to removed types 2024-08-24 08:28:50 -06:00
Chris Thrasher 3536aeafd6 Switch to #pragma once 2024-08-24 07:40:26 -06:00
Chris Thrasher db4d5e4815 Reenable some MSVC warnings 2024-08-23 14:29:06 -06:00
Chris Thrasher 41a269faa9 Update Catch2 2024-08-23 14:14:25 -06:00
Chris Thrasher 379e26ac99 Delay test discovery to ensure all DLLs get copied first 2024-08-23 12:48:47 -06:00
Chris Thrasher 82ac0503b5 Revert "Temporarily lock SFML revision used in CI"
This reverts commit 36a6e7c5a6.
2024-08-23 12:48:47 -06:00
Chris Thrasher b778f44681 Update to latest SFML 3 API 2024-08-09 13:22:43 -06:00
Chris Thrasher a9c35c8e85 Remove references to OpenAL 2024-06-27 19:35:10 +02:00
Chris Thrasher 9b96c2a797 Add sfJoystick tests
These are just copied from the SFML sf::Joystick tests with minor
changes to adhere to the CSFML API.
2024-06-24 20:50:07 -06:00
Chris Thrasher ed8babaf41 Update Catch2 2024-06-24 20:50:07 -06:00
Chris Thrasher 44380e7507 Fix API changes in SFML 3 2024-05-31 16:36:13 -06:00
Chris Thrasher 36a6e7c5a6 Temporarily lock SFML revision used in CI
The SFML 3 API is changing faster than I care to update in CSFML.
For now let's lock CSFML to a particular revision of SFML until
the SFML 3 API changes slow down and we can go back to tracking
the master branch.
2024-05-31 16:36:13 -06:00
Chris Thrasher 5fb7d4a0a1 Catch up with SFML 3 API changes 2024-05-18 23:35:57 +02:00
Chris Thrasher 330b423ee9 Add unit tests
Yay tests!
2024-04-15 15:24:51 -06:00
Chris Thrasher fce7450bbf Merge branch '2.6.x' into feature/backmerge 2024-03-30 20:44:49 -05:00
Chris Thrasher 671afabfc2 Use bash by default in all CI jobs 2024-03-30 12:41:28 +01:00
Chris Thrasher 5e3d87858f Set compiler warnings on a per-target basis 2024-03-29 09:58:28 -05:00
Chris Thrasher 65165dbc55 Remove $GITHUB_WORKSPACE where not needed 2024-03-29 09:58:13 -05:00
Chris Thrasher b71e8c1dfc Remove unused code 2024-02-19 16:35:08 -07:00
Chris Thrasher e67340f1c5 Remove trailing whitespace 2024-02-19 22:55:18 +00:00
Chris Thrasher 2493f13baa Update checkout action to fix deprecation warnings 2024-02-19 23:30:30 +01:00
Chris Thrasher d007025e0f Use = default 2024-02-19 23:30:30 +01:00
Chris Thrasher 683677b5aa Use override 2024-02-19 23:30:30 +01:00
Chris Thrasher 907b0ca6ee Use std::vector::data 2024-02-19 23:30:30 +01:00
Chris Thrasher 3446239371 Allow for using unexpected compilers 2024-02-19 23:30:30 +01:00
Chris Thrasher 00303b7165 Remove unused code 2024-02-19 23:30:30 +01:00
Chris Thrasher d54f8e839e Remove macOS 10.5 detection
This also gets rid of exec_program which has been deprecated in
CMake.
2024-02-19 23:30:30 +01:00
Chris Thrasher 9f1619520e Use list(APPEND to append to lists 2024-02-19 23:30:30 +01:00
Chris Thrasher bb347c2c8c Remove deprecated APIs 2024-02-19 23:30:30 +01:00
Chris Thrasher 0ad43bc7d2 Enable MSVC's strict standards conformance mode 2024-02-19 23:30:30 +01:00
Chris Thrasher c7ac60f312 Require C11
This required silencing C5105 which emits warnings about system
headers which we can't change.

https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/c5105?view=msvc-170
2024-02-19 23:30:30 +01:00
Chris Thrasher a51c22a7a3 Use C standard library utilities for booleans and fixed-width ints 2024-02-19 23:30:30 +01:00
Chris Thrasher 46bc9a7ed8 Remove C++11 compiler warning 2024-02-19 23:30:30 +01:00
Chris Thrasher 3401cade6e Use ranged-for loops 2024-02-19 23:30:30 +01:00
Chris Thrasher 7676dfd95e Use nullptr 2024-02-19 23:30:30 +01:00
Chris Thrasher 2273672415 Remove workarounds for old compilers 2024-02-19 23:30:30 +01:00
Chris Thrasher 942f23ca0b Require C++17 2024-02-19 23:30:30 +01:00
Chris Thrasher f9cf6b935a Increase CMake requirement 2024-02-19 23:30:30 +01:00
Chris Thrasher 5b446077e6 Update project version 2024-02-19 23:30:30 +01:00
Chris Thrasher 160e764c4c Use custom fixed width integer typedef in Vulkan.h 2024-01-28 20:16:05 +01:00
Chris Thrasher b1d02ce571 Use sf::err() for error logging 2023-12-29 12:32:02 -06:00
Chris Thrasher 5ccbbdf61b Remove unnecessary file install exclusion 2023-12-21 14:39:18 -06:00
Chris Thrasher 83b44e3feb Install contents of include/ instead of include/ itself 2023-12-21 14:39:18 -06:00
Chris Thrasher 1c4aba1d43 Always specify link visibility 2023-12-21 14:39:18 -06:00
Chris Thrasher 9a355d784b Remove trailing whitespace 2023-12-21 14:39:18 -06:00
Chris Thrasher 4f540b9cbb Replace tabs with spaces 2023-12-21 14:39:18 -06:00
Chris Thrasher b231c6c269 Disable warning about using a compiler extension 2023-12-20 17:22:04 -06:00
Chris Thrasher e92cc49459 Fix MSVC warning 2023-12-20 17:22:04 -06:00
Chris Thrasher 3e24bb1dc9 Enable manually running CI pipelines 2023-12-20 17:22:04 -06:00
Chris Thrasher b8a63eb73d Automatically disable stale pipelines 2023-12-20 17:22:04 -06:00
Chris Thrasher bba0bf3726 Test Debug and Release builds in CI 2023-12-20 17:22:04 -06:00
Chris Thrasher bf29112d56 Add example program 2023-12-20 15:33:35 -06:00
Chris Thrasher 843deb2f6b Use (void) for function prototypes with no parameters
This is required when compiling these headers as C code. These were
omitted becuase before the addition of examples these headers were
only compiled locally as C++ files where adding the void keyword is
not needed.
2023-12-20 15:33:35 -06:00
Chris Thrasher e2401417ef Add API for sf::WindowBase 2023-11-19 13:23:39 +01:00
Chris Thrasher d90cd6f5ee Use specific versions of CI images 2023-11-02 09:44:00 +01:00
Chris Thrasher 509d4f2cec Remove redundant option 2023-11-02 09:44:00 +01:00
Chris Thrasher 49310cd5a6 Use Ninja in more CI jobs 2023-11-02 09:44:00 +01:00
Chris Thrasher 3a1ea97cb4 Remove faulty MinGW job 2023-11-02 09:44:00 +01:00
Chris Thrasher 072a4680be Install Ninja and minimum CMake version in CI 2023-11-02 09:44:00 +01:00
Chris Thrasher 0eec0f8ec9 Revert "Disable faulty Windows Clang job"
This reverts commit 37b809b296.
2023-11-02 09:44:00 +01:00
Chris Thrasher 37b809b296 Disable faulty Windows Clang job
The problem is that the Windows CI image hasn't yet be updated to
Clang 16. See this PR for progress on fixing it

https://github.com/actions/runner-images/pull/8134

This has been merged but we still have to wait for the changes to
propogate to all runners.
2023-09-06 17:58:20 -06:00
Chris Thrasher a3657e112a Add Windows MinGW CI job 2023-07-08 16:08:01 -06:00
Chris Thrasher 7d7375556c Add Windows Clang CI job 2023-07-08 16:08:01 -06:00
Chris Thrasher c97c71951c Add Windows ClangCL CI job 2023-07-08 16:08:01 -06:00
Chris Thrasher 81c7fb1a26 Build as non-superuser on macOS 2023-07-08 16:08:01 -06:00
Chris Thrasher b63eddd4cd Fix potential string truncation error 2023-07-08 11:01:11 -06:00
Chris Thrasher d536b3d2cc Use SFML 2.6's set of compiler warnings
Some minor tweaks were made to remove Android-specific workarounds
that CSFML doesn't need and removing a few warnings that are not
feasible to fix at the moment.
2023-07-08 11:01:11 -06:00
Chris Thrasher 920ff4d072 Implement isSrgb()
https://github.com/SFML/SFML/pull/1757
2023-07-07 00:33:01 -06:00
Chris Thrasher 1d56c6ed0f Implement scancodes
https://github.com/SFML/SFML/pull/1235
2023-07-07 00:32:18 -06:00
Chris Thrasher 2a20bc7209 Implement sf::Vulkan functions
https://github.com/SFML/SFML/pull/1557
2023-07-06 15:57:23 -06:00
Chris Thrasher cc8c7fc4de Implement directional arrow resize cursors
https://github.com/SFML/SFML/pull/1688
2023-07-04 14:46:53 -06:00
Chris Thrasher 7e2f6d4af8 Document MP3 support 2023-07-04 14:46:44 -06:00
Chris Thrasher 4c15108233 Implement sf::Rect<T>::getPosition() and sf::Rect<T>::getSize() 2023-07-04 13:09:46 -06:00
Chris Thrasher 1667644e3d Implement min and max blend modes
https://github.com/SFML/SFML/pull/1756
2023-07-03 15:55:02 -06:00
Chris Thrasher 39d7c47f04 Ensure public header path gets propagated to downstream targets 2023-04-19 07:57:03 +02:00
Chris Thrasher be2714672b Require at least SFML 2.5.0 2023-02-21 00:00:23 +01:00
Chris Thrasher ccc159b3d9 Remove unused SFML_MSVC_VERSION variable 2023-02-21 00:00:23 +01:00
Chris Thrasher 3a88df2c38 Match SFML 2.6.0's CMake version requirement 2023-02-21 00:00:23 +01:00
Chris Thrasher fbf4b000ef Use built-in project version variables 2023-02-21 00:00:23 +01:00
Chris Thrasher 356eeb3ae6 Use SFML's .gitignore file 2023-02-21 00:00:23 +01:00