Chris Thrasher
ef5ee38576
Refactor ternary into early-returning conditionals
...
A complex ternary expression here doesn't buy us anything. This
refactor more clearly expresses what is going on in this function.
2024-01-17 19:14:27 -07:00
Chris Thrasher
30a986e632
Use CMake-standard <PackageName>_ROOT variable to locating config module
...
https://cmake.org/cmake/help/v3.22/command/find_package.html
https://cmake.org/cmake/help/v3.22/variable/PackageName_ROOT.html#variable:%3CPackageName%3E_ROOT
SFML_DIR predates the existence of <PackageName>_ROOT which is now
the preferred way to specify where to find a given package's config
module. User reports have shown that SFML_DIR may be broken at least
in certain circumstances so lets stop mentioning it.
2024-01-16 13:10:58 -07:00
Chris Thrasher
a2c003b2b7
Add sf::State
for specifying fullscreen or floating windows
2024-01-15 23:08:33 -07:00
Chris Thrasher
2fe58c66a7
Delete unnecessary destructor
2023-12-26 22:14:57 -06:00
Chris Thrasher
36e7a18881
Fix clang-tidy errors
2023-12-23 10:41:02 -06:00
Chris Thrasher
a1c3aa14cb
Remove redundant link libraries
...
This is the warning I got when building this locally
ld: warning: ignoring duplicate libraries: 'lib/libsfml-graphics-s-d.a', 'lib/libsfml-system-s-d.a', 'lib/libsfml-window-s-d.a'
2023-12-22 23:16:45 -06:00
Chris Thrasher
f5497b2db6
Use more in-class member initializers
2023-12-22 21:55:51 -06:00
Chris Thrasher
3d4ea00135
Use sf::Vector2<T>
conversion constructor
2023-12-22 20:32:08 -06:00
kimci86
39da2b829c
Make Keyboard::Key a scoped enumeration
2023-12-22 10:47:30 -06:00
Chris Thrasher
2bc4e15043
Fix typos
2023-12-17 15:48:19 -07:00
Chris Thrasher
c3f69e5d64
Remove leading newlines
2023-11-29 15:54:38 -07:00
Chris Thrasher
2fcdec5153
Remove unnecessary reinterpret_cast
s
2023-11-26 18:08:02 -05:00
Chris Thrasher
27acbab3d9
Use sf::Rect<T>::getCenter()
in more places
2023-11-20 16:01:36 -07:00
Bruno Van de Velde
0da4382d6c
Android example no longer needs to search Audio and Network modules as they are no longer being linked
2023-11-15 17:29:42 -07:00
Bruno Van de Velde
025a9ddc53
Removed sfml-activity which is no longer needed to bootstrap Android applications
2023-11-15 17:29:42 -07:00
Bruno Van de Velde
4d65844978
Modernized android example
...
- Replaced ndk-build with CMake
- Updated Groovy DSL (.gradle files) to Kotlin DSL (.gradle.kts files)
- Updated Android Gradle plugin from 3.0 to 7.4
- Config file now targets a more recent Android SDK (and NDK)
- Remove deprecated settings from AndroidManifest
2023-11-14 16:04:30 -07:00
Chris Thrasher
b16114fa23
Replace std::memcpy
with a more expressive alternative
2023-11-10 00:24:51 -07:00
Chris Thrasher
133bcda6cb
Add more readability-identifier-naming
rules
2023-11-05 15:05:25 -07:00
Chris Thrasher
7c8d1b5332
Use more sf::Vector
operations
...
When dealing with calculations that are fundamentally two dimensional
it's helpful to use a 2D data type as much as possible rather than
decomposing the calculations into x and y components. The more we use
vector operations the better chance we have of easiliy reasoning about
what the code is doing.
2023-10-31 19:45:13 -06:00
Chris Thrasher
bb1a465e50
Add cppcoreguidelines-pro-type-member-init
clang-tidy check
...
This marks another good step towards systematically rooting out
undefined behavior in the form of reading uninitialized memory.
2023-10-17 21:41:36 -05:00
Chris Thrasher
d6c18af926
Use cross-platform threading library target
2023-09-24 20:57:33 -06:00
Chris Thrasher
9dc2e541e8
Add clang-tidy modernize-return-braced-init-list
check
2023-09-17 15:47:33 -06:00
Chris Thrasher
b68482754b
Use std::filesystem::path
for paths
2023-07-27 11:13:45 -06:00
Chris Thrasher
ddfb7f6cb0
Use modern name for macOS
...
In a few places I left references to the old name where appropriate.
There are also many CMake references to "OSX" that we have to keep
using since CMake does not offer alternative names for those variables
and target properties.
2023-07-24 21:25:26 -06:00
Chris Thrasher
98df0fe4c9
Add doc strings to remaining assertions
2023-07-10 15:03:01 -06:00
Chris Thrasher
d131beb0fd
Fix misspellings
...
I used the Python tool codespell to find these
2023-05-21 14:37:46 -06:00
Chris Thrasher
fe2ca0b82e
Fix clang-tidy-16 failures
2023-05-21 11:59:52 -06:00
Chris Thrasher
27249d42ed
Add sf::WindowBase::set{Min|Max}imumSize()
...
Co-authored-by: Shane Whitmire <dogunbound5@gmail.com>
Co-authored-by: michael.david.howard@outlook.com <michael.david.howard@outlook.com>
2023-05-12 14:36:06 -06:00
Chris Thrasher
fb1cfdc48d
Add misc-const-correctness
clang-tidy check
2023-05-04 16:22:03 -06:00
Chris Thrasher
29863b14a5
Remove default sf::Sprite
constructor
2023-05-03 13:33:42 -06:00
vittorioromeo
cbfa9cbb65
Reorder includes hierarchically
2023-04-25 17:25:33 +02:00
Chris Thrasher
97c00d42ad
Enable clang-tidy modernize-pass-by-value
check
2023-04-24 15:12:53 +02:00
Chris Thrasher
2c99b3343a
Remove default sf::Text
constructor
2023-04-05 09:54:56 -06:00
Chris Thrasher
57a40c531f
Be explicit about when new keys are added to the map
2023-04-05 09:54:56 -06:00
Chris Thrasher
f3aac01744
Use structured bindings
2023-04-05 09:44:10 -06:00
Jonny
741fe219da
Use built-in CMake support for iOS
...
* Use built-in iOS support for cmake and expand tests to cover more configurations
* Adjust CI builds
* Update examples version
---------
Co-authored-by: Chris Thrasher <chrisjthrasher@gmail.com>
2023-04-03 23:36:33 +02:00
Chris Thrasher
a100f847d5
Replace std::rand
with <random>
2023-03-07 13:23:12 -07:00
Chris Thrasher
eb162df723
Use X11's find module
...
Added in CMake 3.14 so this wasn't accessible in prior versions of
SFML
2023-02-06 15:12:58 -07:00
Thibaut PONCHON
642d981acf
Replace std::strcmp by std::string_view::operator==
...
clang-format validation pass
Remove unecessary cstring include
2023-01-29 12:10:34 -07:00
Shiv
ca5ca65004
Removed return EXIT_SUCCESS and cstdlib
2023-01-23 10:00:48 +01:00
Norm Evangelista
144b336c17
Added readability-redundant-*, readability-simplify-* checks
...
Fixed CI complaints
Restored comment for clarity
2023-01-20 08:31:25 -07:00
Norm Evangelista
6ef8e487cc
Added readability-qualified-auto, -redundant-access-specifiers
...
Fixed clang-format escapes
Fixed OSX clang-tidy issues
Collapsed extraneous lines
Fixed clang-format escape
2023-01-19 15:53:40 -07:00
Chris Thrasher
8a5b206bb8
Add clang-tidy modernize-use-default-member-init check
2023-01-18 08:03:10 -07:00
Norm Evangelista
3745ea2336
Added readability-container-size-empty, readability-isolate-declaration
...
FIxed Windows escapes for readability-* checks
Fixed Linux DRM readability-isolate-declaration escape
Fixed typo in fix :-|
Fixed clang-format issue
2023-01-16 21:45:33 +01:00
Norm Evangelista
a4bca20567
Added modernize-use-equals-default, modernize-use-equals-delete
...
Fixed formatting issues per review
Implemented copy constructor since operator= is implemented
Reverted operator=, add NOLINT for copy constructor per review
Fixed clang-tidy escape in examples
Fixed OSX clang-tidy escapes
2023-01-14 18:12:18 -07:00
Chris Thrasher
f0119145c2
Fix Windows clang-tidy errors
2023-01-14 15:13:02 -07:00
Nikita
1f0167192b
Update to year 2023
2023-01-12 11:38:41 +01:00
Norm Evangelista
39dd630f07
Added modernize-use-nullptr check
...
Addressed review comments
Fixed Vulkan.cpp clang-tidy issues
Used default-constructed objects instead of 0
More fun with OSX clang-tidy
Try casting a nullptr to see if clang-tidy can live with it
Revert "Try casting a nullptr to see if clang-tidy can live with it"
This reverts commit e217a1d8be45e3fd27dc73e1c7043be921d3830b.
Restored deleted line
2023-01-11 17:36:16 -07:00
Jim-Marsden
b2009e2fca
Changed from std::scoped_lock to std::lock_guard
2023-01-11 15:07:29 -07:00
Shiv
9bdf207818
Use std::clamp
2022-12-27 17:58:49 -06:00
Jim-Marsden
7884efc49e
Replaced Header Guards with Pragma Once
2022-12-27 20:08:11 +01:00
Chris Thrasher
3b6db4d18c
Enforce variable case
2022-12-12 16:10:03 -07:00
Jonny
510068d501
Use enum class instead of plain enum for PrimitiveType ( #2286 )
...
Co-authored-by: Jean Tampon <jean.tampon@gmail.com>
2022-11-27 12:17:27 -07:00
Chris Thrasher
a5dbe59f07
Merge branch '2.6.x'
2022-10-13 14:33:11 -06:00
Chris Thrasher
7a5b862fd0
Consolidate redundant gl.h headers
2022-10-09 13:04:24 +02:00
Vittorio Romeo
753644a5bd
Fix CMake formatting inconsistencies
2022-10-06 20:33:40 +02:00
kimci86
d0cf86d516
Fix minor inconsistency in type cast in voip example
...
because m_samples is a vector of Int16 values.
2022-10-01 19:51:48 +02:00
Chris Thrasher
34ee40c835
Use scoped enumerations in Network module
2022-09-27 17:30:13 +02:00
Jonny Paton
e01e4760e9
Fix cocoa example - some absolute paths needed in cmake, and float conversion to sf::Angle
2022-09-26 23:50:26 +02:00
Chris Thrasher
3a3935d005
Replace sf::Uint64
with std::uint64_t
2022-09-13 11:15:03 -06:00
Chris Thrasher
05690b963d
Replace sf::Int64
with std::int64_t
2022-09-13 11:15:03 -06:00
Chris Thrasher
e294090c8e
Replace sf::Uint32
with std::uint32_t
2022-09-12 15:36:55 -06:00
Chris Thrasher
056f66a2b8
Replace sf::Int32
with std::int32_t
2022-09-12 15:36:55 -06:00
Chris Thrasher
ff9c9131b3
Replace sf::Uint16
with std::uint16_t
2022-09-12 21:36:13 +03:00
Chris Thrasher
e21ae3204e
Replace sf::Int16
with std::int16_t
2022-09-12 21:36:13 +03:00
Chris Thrasher
e2528de20a
Replace sf::Uint8
with std::uint8_t
2022-09-09 10:28:53 +02:00
Chris Thrasher
82b48a7520
Use std::size_t
2022-09-07 22:23:22 +02:00
Chris Thrasher
72d88033e2
Use relative paths for resource files
2022-08-22 11:26:57 +08:00
Chris Thrasher
a71d60a0c9
Simplify how warnings are ignored on Apple platforms
...
Within files that are only compiled on Apple platforms, we don't
need that redundant check for __APPLE__ so that got removed. Further,
Clang will recognize GCC pragmas so we don't need both Clang AND GCC
pragmas so I removed the Clang pragmas.
Currently GCC fails to compile this code but if one day in the future
that gets fixed, the deprecation warnings will continue to get ignored.
2022-08-03 23:41:01 +02:00
friendlyanon
e691033954
Require CMake 3.16 for ObjC and ObjC++ sources
...
Both languages gained native CMake support in 3.16:
https://cmake.org/cmake/help/latest/release/3.16.html#languages
2022-08-03 23:38:17 +02:00
Chris Thrasher
55a1a2a4c4
Format .m files
2022-07-14 21:47:49 +02:00
Chris Thrasher
4f52793f7d
Run clang-format
2022-07-11 20:04:56 +02:00
metaquarx
88e9f82bee
Add '.clang-format' file, CI integration, and formatting exceptions
...
Co-authored-by: Vittorio Romeo <vittorio.romeo@outlook.com>
Co-authored-by: Chris Thrasher <chrisjthrasher@gmail.com>
Co-authored-by: kimci86 <kimci86@hotmail.fr>
2022-07-11 20:04:56 +02:00
Vittorio Romeo
8c8d97c6c9
IpAddress is always valid
2022-06-28 00:31:12 +02:00
Chris Thrasher
0812054e02
Remove trailing whitespace
2022-06-25 21:32:55 +02:00
Chris Thrasher
757cb36d30
Use <random>
header
2022-06-16 23:56:39 +02:00
Chris Thrasher
65fef85b30
Simplify how examples are built
...
CMake doesn't require absolute paths so we can safely remove
SRCROOT and let implicit relative pathing achieve the same result
with less work on our part.
2022-06-16 23:56:39 +02:00
Chris Thrasher
539483d329
Use std::array
2022-06-16 23:56:39 +02:00
Chris Thrasher
dbac180db5
Limit the scope of event object
2022-06-08 13:16:40 +02:00
Chris Thrasher
88515b2fca
Add polar coordinates constructor for sf::Vector2<T>
2022-05-17 20:30:02 +02:00
Chris Thrasher
0785093ebc
Use sf::Vector2<T>
for numeric parameter pairs
2022-05-17 08:33:11 +02:00
Lukas Dürrenberger
9a6142bd22
Merge branch '2.6.x'
2022-04-27 08:12:25 +02:00
Radek Dutkiewicz
b6ca47e128
DRM Implementation
...
Ported sfml-pi DRM/KMS backend written by @mickelson
Port co-authored by @substring
Co-authored-by: Andrew Mickelson <andrew.mickelson@gmail.com>
Co-authored-by: Gil Delescluse <frog2wah@gmail.com>
2022-04-26 07:44:14 +02:00
Chris Thrasher
a302a9829e
Ensure files end with newline character
2022-04-12 08:13:48 +02:00
kimci86
e0d03ec6a8
Fix success condition for sending end-of-stream packet in voip example
2022-04-06 12:01:42 +02:00
Chris Thrasher
c5f3aeca72
Use std::quoted
2022-04-05 22:45:22 +02:00
Chris Thrasher
33a7c4d2a8
Clean up filesystem path usage in examples
2022-03-15 15:21:45 +01:00
Chris Thrasher
5f2c7bb898
Use std::filesystem::path
2022-02-17 00:40:29 +00:00
Vittorio Romeo
a3b27b4a6d
Use pre-increment when post-increment is not necessary
2022-02-17 00:39:35 +00:00
Vittorio Romeo
b069f88127
Avoid overuse of 'std::endl'
2022-02-16 16:28:39 +00:00
Jan Haller
eb321b3040
Update year to 2022 (master branch)
2022-02-16 13:52:31 +00:00
binary1248
359fe9088c
Fixed warnings reported by LGTM and Coverity Scan.
2022-02-16 08:26:17 +01:00
Jan Haller
9d28bf7eb2
Update year to 2022 (amended)
2022-02-12 19:29:09 +01:00
Chris Thrasher
28f273b9c9
Add sf::Angle
...
Similar to sf::Time, sf::Angle provides a typesafe API for working
with angles and provides named functions for converting to and from
degrees and radians.
2022-02-08 22:52:37 +00:00
Chris Thrasher
4586db91a9
Add SFML:: namespace to targets
...
This removes the sfml- prefixed targets from the export set. The sfml-
prefixed targets are still available within the build tree but not to
downstream users thus making this an API breaking change when compared
to the 2.x releases. To keep things consistent, usage of the sfml-
targets were replaced with their namespaced counterparts.
This has a number of benefits:
1. It's more idiomatic. Modern CMake libraries are expected to
have namespaced targets.
2. Namespaced targets are less likely to collide with user-defined
targets. No one will accidentally define a SFML:: target.
3. If a namespaced target is not found by CMake, configuration
will immediately stop.
2022-01-11 22:27:39 +01:00
Chris Thrasher
70e0ad28d4
Only build Cocoa example when using Xcode
2022-01-08 19:46:19 +01:00
Chris Thrasher
79c2aadbcc
Remove redundant 4-param sf::Rect<T> constructor
2022-01-06 20:04:03 +01:00
Chris Thrasher
7d47e740bb
Only build Cocoa example when using Xcode
2022-01-04 23:05:23 +01:00
Vittorio Romeo
7364d5b578
Fix broken OpenGL example
2021-12-21 20:41:44 +01:00
Vittorio Romeo
f6de7eca40
Use smart pointers to manage memory
2021-12-21 19:54:25 +01:00