Commit Graph

316 Commits

Author SHA1 Message Date
Jérôme Leclercq 6c318b915f Tests/Utility: Add font loading test 2022-02-23 13:20:20 +01:00
Jérôme Leclercq 7ece44b4f4 Shader: Rename Optimize to ConstantPropagation 2022-02-22 13:28:01 +01:00
Jérôme Leclercq ad544a595d Core/MemoryPool: Add iterator 2022-02-21 20:45:25 +01:00
Jérôme Leclercq 29c798a683 Core/MemoryPool: Remake memory pool 2022-02-20 16:00:32 +01:00
Jérôme Leclercq 42c80143eb Try to fix unit tests 2022-02-18 19:57:41 +01:00
Jérôme Leclercq 402e16bd2b Shader: Handle type as expressions 2022-02-17 13:23:56 +01:00
Jérôme Leclercq b8e017aa25 Add utility tests 2022-02-10 14:12:44 +01:00
Jérôme Leclercq 979bf2cc80 UnitTests: Improve hash unit tests (add file test) 2022-02-10 11:56:35 +01:00
Jérôme Leclercq 97ee89afb7 Rework hashes (also fix Fletcher16 and CRC64) 2022-02-10 01:46:58 +01:00
Jérôme Leclercq 6c35b0be57 Minor fixes 2022-02-05 21:30:36 +01:00
Jérôme Leclercq 33dddf6d41 UnitTests: Try to fix leak 2022-02-05 16:24:05 +01:00
Jérôme Leclercq e6951d54a5 Shader: Switch type<subtype> to type[subtype] 2022-01-26 19:24:46 +01:00
Jérôme Leclercq 64efd81bf8 Shader: Handle matrix cast properly 2022-01-23 19:58:04 +01:00
Jérôme Leclercq 89e9e41357 Core/SparsePtr: Use template type for +/- and +=/-= 2022-01-23 13:27:39 +01:00
Jérôme Leclercq 3c308970a1 Minor fixes 2022-01-23 01:22:16 +01:00
Lynix 9f05a22db7 Build: Disable unit tests build (and requirements) by default 2022-01-18 06:25:33 +01:00
Jérôme Leclercq 22c99bfd1d XMake: Add options to disable tools/plugins and unit tests building 2022-01-18 06:15:51 +01:00
Lynix f30a1faeca Fix client unit tests 2022-01-11 17:32:16 +01:00
Jérôme Leclercq 756fd773a9 Shader: Add support for numerical fors 2022-01-06 20:38:55 +01:00
Jérôme Leclercq 2bdcc045cd Shader: Replace const for with [unroll] attribute 2022-01-03 20:21:09 +01:00
Jérôme Leclercq 4fe44339c5 Shader: Add support for for-each statements and improve arrays 2022-01-02 22:02:11 +01:00
Jérôme Leclercq 3a4e006106 UnitTests/Shader: Update scalar swizzle test 2021-12-28 20:09:26 +01:00
Jérôme Leclercq 101a3d70da Shader/AstOptimizer: Add swizzle optimization 2021-12-28 20:09:04 +01:00
Jérôme Leclercq 22651255df UnitTests/Shader: Add cond/const if tests 2021-12-28 13:36:11 +01:00
Jérôme Leclercq a8bb5291f2 Update Optimizations.cpp 2021-12-28 11:54:49 +01:00
Jérôme Leclercq 2f64e493de UnitTests/Shader: Add sanitization and optimizations unit tests 2021-12-28 11:49:53 +01:00
Jérôme Leclercq 47e2ec35e3 UnitTests/Shader: Improve GLSL handling (detect shader point type instead of assuming fragment) 2021-12-28 11:49:20 +01:00
Jérôme Leclercq a0f66d9e88 Shader/SPIRV: Fix multiple branch handling (by splitting) 2021-12-28 11:48:19 +01:00
Jérôme Leclercq e21b45946f Shader/SPIRV: Fix double termination of blocks when branching
Which could happen when using OpKill (discard) for example
2021-12-26 22:00:44 +01:00
Jérôme Leclercq b98fd65a01 Fix a lot of small bugs/warnings 2021-12-25 20:07:53 +01:00
Jérôme Leclercq b9642b0662 UnitTests: Add a lot of shader generation tests 2021-12-25 19:13:32 +01:00
Jérôme Leclercq f798901c23 UnitTests: Use glslang to validate GLSL shaders 2021-12-24 14:54:35 +01:00
Jérôme Leclercq 3e708cf5ed XMake: Use remove_files/remove_headerfiles 2021-12-24 11:06:44 +01:00
Jérôme Leclercq 1aa56b4db8 Tests: disable unity buildd 2021-12-23 18:26:00 +01:00
Jérôme Leclercq b53d2a0560 Rework shader module unit tests 2021-12-23 17:39:24 +01:00
Jérôme Leclercq e497faabaf Fix compilation 2021-12-21 14:45:53 +01:00
Jérôme Leclercq 04ee6f0fd1 Add support for xmake 2.5.9 (and unity build for unit tests) 2021-10-19 14:26:45 +02:00
Jérôme Leclercq 2f9e495739 Fix unit tests 2021-08-28 19:09:53 +02:00
Jérôme Leclercq 2b9d8becea Math: Rework Frustum class 2021-08-23 18:43:34 +02:00
Jérôme Leclercq 8db8533300 Fixes a lot of warnings and move math enums to enum classes 2021-08-19 20:27:20 +02:00
Jérôme Leclercq 9ab47edd11 Fix compilation 2021-07-08 12:27:18 +02:00
Jérôme Leclercq 5aa63831e8 Remove Nazara SDK 2021-07-07 22:56:50 +02:00
Jérôme Leclercq 1f6937ab1b Shader: Implement const if and const values 2021-07-07 22:38:24 +02:00
Jérôme Leclercq dfa46ebaa5 Fix shader generation unit tests 2021-06-16 16:50:00 +02:00
Jérôme Leclercq bd1f5214b8 Math: Replace M_PI defines with template constexpr constants 2021-06-05 16:35:15 +02:00
Jérôme Leclercq d72984380d Replace Catch header by a xmake package 2021-06-04 20:09:35 +02:00
Jérôme Leclercq 4b3b595a99 Minor fixes 2021-06-04 18:02:28 +02:00
Jérôme Leclercq 8fe11711a3 UnitTests: Rename .cpp (it was confusing the debugger) 2021-06-04 14:12:26 +02:00
Jérôme Leclercq 4d74cef034 Math: Remove NAZARA_MATH_ANGLE_RADIAN and functions using it 2021-06-01 17:37:40 +02:00
Jérôme Leclercq d0d65be35f Tests: Fix Shader/AccessMember
It turns out the Sanitizer AccessMember refactor also optimized the SPIRV output by merging the resulting AccessIndex
2021-06-01 17:00:55 +02:00
Jérôme Leclercq d5c27a756b Audio: Fix AudioFormat names (U16 -> I16) 2021-05-30 16:45:50 +02:00
Jérôme Leclercq 874fb3542e Convert all remaining enums to enum classes (!) 2021-05-25 10:40:07 +02:00
Jérôme Leclercq 8cdd0b51cb Upgrade Audio (part 2) 2021-05-25 10:40:07 +02:00
Jérôme Leclercq ac57b3fbf4 Shader/GlslWriter: Accepts mono-functions shader without specifying entry points 2021-05-25 10:40:07 +02:00
Jérôme Leclercq 7140e322c1 Commit missing files 2021-05-25 10:40:07 +02:00
Jérôme Leclercq ba7c56ddfa Upgrade Platform 2021-05-25 10:40:07 +02:00
Jérôme Leclercq 8b0b5295f7 Upgrade Physics2D and Physics3D 2021-05-25 10:40:07 +02:00
Jérôme Leclercq a52103a641 Rework ResourceLoader, ResourceManager and ObjectLibrary
They're no longer static
2021-05-25 10:40:07 +02:00
Jérôme Leclercq e716b44aa3 Add tests and SDK 2021-05-17 23:08:37 +02:00
Jérôme Leclercq 044195b209 Minor fixes 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 54c34869a4 Fix Shader unit tests 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 65337c6a38 Fix a lot of warnings and some errors 2020-09-26 11:44:09 +02:00
Jérôme Leclercq 267bd74a97 Merge branch 'master' into nazara-next 2020-09-26 10:49:32 +02:00
Jérôme Leclercq 2b6a463a45 Remove Nz::String and Nz::StringStream 2020-09-25 19:31:01 +02:00
Jérôme Leclercq 602de2e772 Update Ray.cpp 2020-09-22 17:40:57 +02:00
Jérôme Leclercq 98e20ecbb7 Last modules fixes 2020-09-17 18:54:33 +02:00
Jérôme Leclercq 7ea0b223ec Linux fixes 2020-09-01 19:18:27 +02:00
Jérôme Leclercq 2a875c8bdc Remove Graphics module and fix compilation 2020-08-27 19:43:31 +02:00
Jérôme Leclercq 8fb7bb78a5 Add a shader generation unit test 2020-08-27 19:26:59 +02:00
Jérôme Leclercq e0a3cab457 Fix UnitTest compilation 2020-08-27 19:26:27 +02:00
Lynix 68208f5426 Merge branch 'master' into vulkan 2020-05-27 19:48:22 +02:00
Jérôme Leclercq 1425f99edf Merge branch 'master' into SDL2 2020-05-27 11:11:21 +02:00
Lynix 43ee75b75f Replace #include <NDK/ by #include <NazaraSDK/ 2020-02-24 17:57:46 +01:00
Lynix eb8800f812 Remove Lua and Noise modules 2020-02-24 17:52:06 +01:00
Lynix 3d22321109 Big f***ing cleanup part 1 2020-02-23 00:42:22 +01:00
Lynix aee9a38f76 Tests/StackVector: Disable max_size() check when using std::vector 2019-09-30 18:41:06 +02:00
Lynix 4e6eda40fb Core/StackVector: Add unit tests 2019-09-30 18:35:24 +02:00
Lynix 489e3e0b5e StackVector: Test destruction
Before this commit, only clear() was checked, destructor was not
2019-09-25 16:29:48 +02:00
Lynix acc2c072ba Core/StackVector: Fix erase method (+ add tests) 2019-09-25 16:17:07 +02:00
Lynix f5dc27ba03 Fix unit test 2019-07-07 00:32:57 +02:00
Lynix ab5188c57d Add scancode and virtual key and fix some sdl stuff on Windows 2019-05-19 16:34:29 +02:00
Jérôme Leclercq b88c9b2cec Sdk/World: Fix entity kill and invalidation bug 2019-05-13 16:50:19 +02:00
Jérôme Leclercq 73c0dbbd30 Add vector test 2019-05-13 14:05:48 +02:00
Lynix 2f5e9e481b Fix unit tests 2019-04-03 22:15:53 +02:00
Lynix 5b48012dee Fix unit test 2019-03-28 00:02:22 +01:00
Lynix 1880f88e8f Fix unit tests 2019-03-26 20:33:29 +01:00
Lynix 00ca0248c6 Fix unit tests (WIP) 2019-03-26 19:05:41 +01:00
Jérôme Leclercq ed46c87781 Refactor the way resources are loaded (#191)
* WIP

* WIP

* Font works

* WIP: Only Music remains

* Looks like it's working

* Fix oopsie

* Core/ObjectRef: Add cast functions

* Update ChangeLog.md

* Audio/SoundStream: Make sound stream thread-safe
2018-10-28 01:53:11 +02:00
Lynix 3933d5007d Physics2D/RigidBody2D: AddTorque now takes a RadianAnglesf instead of a float 2018-10-11 00:08:26 +02:00
Lynix fb11fe1ecf Math/Angle: Rename angle field to value 2018-10-10 23:12:27 +02:00
Lynix 7613f50a6e Math/Angle: Rework ToDegrees/ToRadians
- Rename To[Degrees|Radians] to To[Degrees|Radians]Angle
- Add To[Degrees|Radians] methods which returns an angle value
2018-10-10 23:01:23 +02:00
Lynix 9cc83aafda Math/Angle: Add FromDegrees and FromRadians builders 2018-10-10 22:59:57 +02:00
Lynix dc6fbfc90f Replace floating point angle by Angle class instance 2018-10-09 23:20:53 +02:00
Lynix b631f3d3da Fix some units test 2018-09-05 22:42:34 +02:00
Lynix 1ee75f2699 Math/Angle: Adds conversion to euler angles and quaternions 2018-09-05 21:51:32 +02:00
Jérôme Leclercq 702b0cb7a4 Merge branch 'master' into 2d-angles 2018-09-05 15:58:44 +02:00
Jérôme Leclercq 97cdb110ae Unit test fixes 2018-09-05 15:15:26 +02:00
Jérôme Leclercq 9e0b61f30d Math/Angle: Add sine, cosine, tangent methods 2018-09-05 15:14:31 +02:00
Lynix f59810b68e Math: Add Angle class 2018-09-02 22:06:03 +02:00
Jérôme Leclercq 5e6204fad4 Fix compilation 2018-08-31 17:33:51 +02:00
Faymoon 0a5e9e040d Update PhysicsSystem2D (#179)
* Update

* Add: [Get/Set]AngularDaming for standardization

* Fix: Name error

* Add: [Get/Set][AngularDamping/MomentOfInertia] in PhysicsComponent2D

* Forgot in last commit

* Add: param coordSys in [PhysicsComponent2D/RigidBody2D]::SetMassCenter

* Add: Some forgotten inline

* Fix little error

* Fix: Indentation before case

* Move and Change GetCenterOfGravity

* Rename m_world into m_physWorld

* Rename GetWorld int GetPhysWorld

* Update: PhysicsSystem2D became an interface of PhysWorld2D

* Update Collison/PhysicsComponent because GetWorld was renamed

* Update tests

* Update: Make the interface usable with Entity instead of PhysicsComponent

* Update: Make GetPhysWorld private

* Update PhysicsSystem2D.hpp

* Update: indent

* Remove: useless blank line

* update order(?)

* Update PhysicsSystem2D.hpp
2018-08-07 19:08:01 +02:00
Jérôme Leclercq 46e3de90ed Fix units tests :derp: 2018-08-02 15:49:29 +02:00
Jérôme Leclercq 7b6cc47e03 Sdk/Entity: Add IsDying method 2018-07-17 10:51:35 +02:00
Jérôme Leclercq e4b67019cb Math/Vector[2|3]: Removed Distancef and made Distance templated 2018-07-02 18:13:14 +02:00
Jérôme Leclercq 7da0fffe07 Core: Add StackVector class 2018-07-02 17:56:27 +02:00
S6066 da044bd21c Make lua binding for std::vector (#164)
* Make LuaImplQueryArg impl for std::vector

* Fix shadowed argument

* Make unit tests

* Bugfix

* Bugfix, for real this time

* We didn't need these tests anyway

* Revert "We didn't need these tests anyway"

This reverts commit be88d4496a9cf62beb4d3ce1f30825589a4bacb2.

* Add change to changelog

* Update ChangeLog.md

* Bugfix & use CallOnExit to pop stack
2018-06-17 19:04:15 +02:00
Lynix 31fc8c9dad Try to fix units tests on Linux 2018-04-07 13:10:55 +02:00
Lynix 830dae1b27 Core/HandledObject: Fix move assignement operator behavior
It will now unregister all previous handles (notifying about object destruction) before stealing moving object handles
2018-04-06 21:14:09 +02:00
Lynix 31c272ab98 Core/HandledObject: Fix move assignement operator 2018-04-03 22:05:35 +02:00
Lynix 3036c32d9d Core/Bitset: 2018-03-06 20:25:29 +01:00
Lynix 0063ca9950 Math/VectorI: Remove array constructor 2018-02-18 18:57:30 +01:00
Lynix 9bfcd02730 Fix unit tests 2018-02-12 20:18:51 +01:00
Jérôme Leclercq 8bcd74ab04 Fix unit test compilation error 2018-02-08 16:31:01 +01:00
Jérôme Leclercq 7366d92818 Sdk/System: Fix time loss when using max update rate 2018-02-08 11:43:15 +01:00
Jérôme Leclercq fb3eb9443e Core/Clock: Restart now returns the elapsed time in milliseconds 2018-02-07 15:02:44 +01:00
Gawaboumga dfd28160a0 Lua tests (#158)
* Fix float comparison in tests

* Lua tests
2018-01-31 15:27:23 +01:00
Lynix 234aa90f51 Fix unit tests 2018-01-07 03:50:35 +01:00
Jérôme Leclercq 5ba0d0dba0 Add unit test for EntityOwner 2017-12-01 15:53:50 +01:00
Gawaboumga f991a9529e General bug fixes (#142)
* Core/Bitset: Fix TestAll method

* Fix documentation

* Fix color and their conversions

* Core/ByteStream: Fix return of Write

* Fix compiler warnings

* Math/Algorithm: Fix angle normalization

* Math/BoundingVolume: Fix lerp

* Math: Fix relation between Matrix4 and Quaternion

* More tests

* X11/Window: Fix mouse moved event generated when doing Mouse::SetPosition

* Update ChangeLog

* Should fix compilation on Windows

* Should fix compilation on Windows

Forgot to include array for Windows
2017-11-21 12:16:46 +01:00
Lynix 4fc076325c Sdk/StateMachine: Fix instantaneous state change 2017-11-19 17:09:56 +01:00
Lynix ee06fffd03 Fix StringStream tests 2017-10-15 14:54:28 +02:00
Lynix 333a7903ff Disable system clone unit test 2017-10-14 15:23:22 +02:00
Gawaboumga bbac0838dd Include-What-You-Use (#137)
* IWYU Core

* IWYU Noise

* IWYU Utility

* IWYU Audio

* IWYU Platform

* IWYU Lua

* IWYU Network

* IWYU Physics2D

* IWYU Physics3D

* IWYU Renderer

* IWYU Graphics

* IWYU NDKServer

* IWYU Fix

* Try to fix compilation

* Other fixes
2017-10-01 11:17:09 +02:00
Lynix bccbc0dbf1 Move warning fixes! 2017-09-30 15:23:05 +02:00
Lynix f95fc332f1 Sdk/BaseSystem: Fix udpate with max update rate + unit tests 2017-09-22 21:01:25 +02:00
Jérôme Leclercq 3153af485c Physics2D: Handle kinematic objects properly 2017-09-07 16:16:11 +02:00
Gawaboumga 5aa072cee3 New module: Platform - Split window management from Utility module (#128)
* New module: Platform - Split window management from Utility module

Final touch

* NDK/SDK: Bring back initialization of Utility
2017-08-30 10:22:50 +02:00
Gawaboumga 41a1b5d493 Physics2D tests (#129)
* Quaternion: Fix singularity on Z axis when converting to euler angles

* CollisionComponent2D: Add method to retrieve AABB

* Collider2D: Fix constructor for Box with Vector2

* Physics2D: Fix rotation (Chipmunk works with radian and Nazara degrees) and copy constructor of RigidBody2D

* Colider2D: Add New for convex and tests for the new classes
2017-08-20 21:47:23 +02:00
Gawaboumga 47a22c2785 Fix wrong aabb returned from PhysicsComponent2D (#127) 2017-06-20 06:53:39 +02:00
Jérôme Leclercq bc4a533b96 Core/ParameterList: Use double and long long instead of float and int 2017-05-29 19:55:02 +02:00
Lynix 999cb13f00 Fix test compilation 2017-05-16 09:19:37 +02:00
Lynix 7425993d2d SDK/World: Fix waiting entities not being cleared on time 2017-05-15 10:11:42 +02:00
Lynix dd4466081f Merge branch 'entitylist-refactor' 2017-05-11 20:35:09 +02:00
Lynix d8a2d08e27 UnitTest: Add some checks 2017-04-22 15:08:21 +02:00
Lynix c06db7d9c5 SDK: Fix unit tests 2017-04-22 12:58:14 +02:00
Gawaboumga eb70453574 State machine as a stack (#123)
* State machine as a stack

* Fix comments linked to code review

* I will think to compile, next time
2017-04-20 12:30:43 +02:00
Gawaboumga c2e4ccaf72 Various little fixes (#118)
* Add missing override qualifier

* Mostly shadowing, virtual destructor and other little things
2017-02-19 23:15:13 +01:00
Lynix 2d3c6010be UnitTest/Math: Fix Sphere test 2016-12-15 20:14:44 +01:00
Lynix f5f6c859d7 Math/Sphere: Remove SquaredDistance method 2016-12-15 18:32:58 +01:00
Lynix 8d86306933 Merge remote-tracking branch 'refs/remotes/origin/master' into culling 2016-11-23 14:07:52 +01:00
Lynix 5efa986ac1 Fix compilation warnings 2016-11-18 01:32:03 +01:00
Lynix 2ed65e60e1 Core/Bitset: Add Reverse() method 2016-11-18 01:09:05 +01:00
Lynix d9774f30a3 Core/Bitset: Add Read method and FromPointer static method 2016-11-17 22:57:54 +01:00
Lynix 43a3f15794 Core/Bitset: Add AppendBits function 2016-11-17 22:56:48 +01:00
Lynix 91010fffa6 UnitTests/Bitset: Test with different block size 2016-11-17 18:25:22 +01:00
Lynix 48f7a955f6 UnitTests: Fix compilation 2016-11-10 17:35:29 +01:00
Lynix 725dc6cdbc Merge remote-tracking branch 'refs/remotes/origin/master' into culling 2016-10-19 11:17:12 +02:00
Lynix d530ca22e0 Final pass of Clang warning fixes 2016-10-17 16:14:35 +02:00
Lynix 4c6f049e0d Fix another lot of warnings from Clang
Closes #90
Closes #91
Closes #92
Closes #93
2016-10-17 16:01:05 +02:00
Lynix be44a89a85 Sdk: Rename [Collision|Physics]Component to [Collision|Physics]Component3D 2016-10-13 08:23:25 +02:00