Commit Graph

3913 Commits

Author SHA1 Message Date
SweetId 8cc1719d1b [Serialization] Make JsonSerializationContext FilesystemAppComponent-compatible 2024-03-11 19:08:10 -04:00
SweetId cc2c36c75d Update Music to use correct Resource API 2024-03-11 17:15:27 -04:00
SweetId 6a6ffb6779 [Serialization] Add Json serializer 2024-03-10 17:04:35 -04:00
SweetId 8c3e8956ca [Serialization] Add support for more types 2024-03-10 16:39:16 -04:00
SweetId e9f95d4d0f add enum serialization 2024-03-10 16:33:25 -04:00
SweetId a0f2b128d7 Rework Serialization functions
add name and handle more types
2024-03-05 17:26:07 -05:00
SirLynix 055634e77c Physics3D/RigidBody3D: Fix collisions after setting null collider 2024-02-25 18:27:47 +01:00
SirLynix 9f26fb00ad Network/ENetPeer: Fix crash when sending fragments 2024-02-24 22:29:15 +01:00
SirLynix edac2e4af5 Network: Fix some warnings 2024-02-24 18:27:14 +01:00
SirLynix 7956e1552b Network: Remove NetPacket class
It was badly designed
2024-02-24 18:03:36 +01:00
SirLynix 45019a0f97 Fix warning 2024-02-23 22:40:20 +01:00
SirLynix 23ea1989ef Core/ApplicationBase: Replace component indices with hashes
Fixes usage of components across DLL
2024-02-23 22:40:13 +01:00
SirLynix f71d149785 Network/ENetPacket: Fix acknowledge callback on fragmented packets 2024-02-22 20:12:34 +01:00
SirLynix 62702ec481 Network/ENetPacket: Add OnAcknowledged signal 2024-02-22 19:38:25 +01:00
SirLynix b08897628c Network/ENetPacket: Turn ENetPacketFlag into enum class 2024-02-22 19:12:20 +01:00
SirLynix f121f32873 Core/Animation: Move Sequence and SequenceJoint to Animation 2024-02-19 22:45:55 +01:00
SirLynix 5130a2ff84 Remove Config.hpp options and refactor headers
- Rename Config.hpp to Export.hpp
- Remove Debug.hpp and DebugOff.hpp (not used anymore)
2024-02-19 15:11:34 +01:00
SirLynix 3c7e2a1685 Core/Animation: Remove loop-point interpolation boolean 2024-02-19 11:00:04 +01:00
SirLynix d9ad489820 Core/Animation: Fix RemoveSequence not shifting indices and deleting name 2024-02-19 10:59:47 +01:00
SirLynix 62a165126e Core/Node: Remove initial position/rotation/scale 2024-02-19 09:44:01 +01:00
SirLynix 63c526cecc Core/Node: Refactor interface
- Removed overloads taking multiple scalars
- Removed CoordSys parameter (functions exists in two sets, local and global)
2024-02-19 09:44:01 +01:00
SirLynix 194dba5002 Core/Animation: Improve performance of AnimateSkeleton 2024-02-18 16:55:23 +01:00
SirLynix 0cb376a161 Update check-files 2024-02-15 11:19:31 +01:00
Lynix 7e1c38435c Core/File: Improve implementation 2024-02-13 18:07:46 +01:00
Lynix 67904abd29 Replace Warning string concatenation by WarningFmt 2024-02-13 17:17:04 +01:00
Lynix ad5336eff7 Physics2D: Rename Physics2DSystem source file 2024-02-12 14:36:18 +01:00
SirLynix 66e3734942 Core/Node: Make destructor lighter 2024-02-11 22:50:20 +01:00
SirLynix e4c339293b Renderer: Fix warning and comment 2024-02-11 22:49:48 +01:00
SirLynix e64c2b036e Remove Utility module and move its content to Core and TextRenderer modules 2024-02-11 22:48:38 +01:00
SirLynix 965a00182c Physics3D: Rename Physiscs3DStepListener to PhysWorld3DStepListener 2024-02-10 14:23:01 +01:00
SirLynix 8c41ac30c9 Physics3D: Rename Physics3DBody to PhysBody3D 2024-02-10 14:20:47 +01:00
SirLynix 9e3ca2472b Fix compilation 2024-02-10 13:50:10 +01:00
SirLynix 57ad486c01 Minor fixes 2024-02-10 13:42:19 +01:00
Lynix e336c8a514 Rename ChipmunkPhysics2D and JoltPhysics3D to Physics[2D|3D] 2024-02-09 22:24:15 +01:00
Lynix 139bed2b0a Remove BulletPhysics3D module
Having two physics engine seems redundant, Bullet3 development seems to have halted and JoltPhysics seems to be a better fit to Nazara
2024-02-09 22:24:15 +01:00
SirLynix 23645fc398 Widgets: Add SimpleLabelWidget
A simpler alternative to LabelWidget
2024-02-08 00:24:31 +01:00
SirLynix 18b6d14670 Graphics/Model: Add mesh callback parameter
It allows to query/save/update the mesh before it's used to create a GraphicalMesh and disposed of
2024-02-07 15:56:16 +01:00
SirLynix 5a46ebda36 Graphics/PropertyHandler: Warn if an option if set but doesn't exist in material 2024-02-07 15:55:14 +01:00
SirLynix 37e90ecea9 Graphics/Materials: Fix normal maps for PhongMaterial 2024-02-07 15:53:09 +01:00
SirLynix b889c992ea VulkanRenderer/Loader: Don't rely on std::filesystem::path constructor taking a const char* 2024-02-06 17:06:39 +01:00
SirLynix d3f7e20473 Widgets/TextAreaWidget: Fix clipboard paste cursor with non-ascii chars 2024-02-06 13:28:08 +01:00
SirLynix 99952db736 Core/TaskScheduler: Fix shutdown data-race 2024-02-06 13:27:39 +01:00
SirLynix bcd64a0ad0 Core/TaskScheduler: Remove tsan workaround 2024-02-05 16:53:00 +01:00
SirLynix a4827a99a0 Core/TaskScheduler: Make implementation private 2024-02-05 15:59:45 +01:00
SirLynix 3eae055d3a Core/TaskScheduler: Replace atomic queue from wsq to concurrentqueue
This is because wsq makes stealing work by stealing from the opposite end of the queue which will be a problem in the long term
2024-02-05 15:08:36 +01:00
SirLynix a30f64ef49 Core/TaskScheduler: Increase shutdown performance
Tell all threads to exit and join them all at once instead of one by one
2024-02-04 13:46:06 +01:00
SirLynix b69c0bb444 Core/TaskScheduler: Fix deadlock when exiting
If a worker was not given a task, it could happen to ignore the exit signal (for example if it's set before the worker started, causing it to clear the notifier boolean and test it again before checking m_running)
2024-02-04 13:43:55 +01:00
SirLynix 44617bd14d Core/TaskScheduler: Another try to remove race condition 2024-02-04 13:04:29 +01:00
SirLynix e3ad9be759 Core/TaskScheduler: Fix work ending condition
Use remaining task count instead of idle worker count, this avoids a race condition where a worker signals idle after being tasked with a new job
2024-02-03 22:40:12 +01:00
SirLynix 8b9b47ba59 Core/TaskScheduler: Fix WaitForTasks returning before all tasks are executed
This could happen because a worker only counts as active when starting a job, but after acquiring one.

So one possibility was that :
1. All workers except W1 and W2 are idle
2. W1 is about to notify as idle, as W2 got a task (but did not notify as active yet)
3. W1 notifies as idle, idle count == worker count -> wake main thread
4. W2 didn't run its task yet
2024-02-03 14:41:10 +01:00