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