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
SirLynix
653e56f8ce
Network/ENetHost: Remove unused mt19937_64
2024-02-03 14:31:52 +01:00
SirLynix
d2b3b93646
Fix compilation
2024-02-02 23:48:35 +01:00
SirLynix
c303bf9283
Core/TaskScheduler: Use WorkStealingQueue::pop
...
steal() can incorrectly return nullptr even if the list is not empty in case of concurrent access, but push and pop are not threadsafe so we use a spinlock to prevent concurrent uses
2024-02-02 23:19:29 +01:00
SirLynix
e3fa6fed89
Core/TaskScheduler: Fix TSan false-positive and remove std::optional
2024-02-02 21:19:17 +01:00
SirLynix
06a42b4ecb
Cleanup code
2024-02-02 17:31:12 +01:00
SirLynix
fa73e463a6
Core/TaskScheduler: Fix race conditions when calling AddTask while workers are not idle
...
Update TaskScheduler.cpp
2024-02-02 16:23:00 +01:00
SirLynix
7f1ef0fe41
Core/TaskScheduler: Rework using atomics and WorkStealingQueue
2024-02-02 14:27:18 +01:00
SirLynix
5db0c4ed09
Core/Time: Fix operator<< with negative values not using units
2024-02-01 12:57:29 +01:00
SirLynix
369f273894
Core/TaskScheduler: Fix AddTask
2024-02-01 09:53:17 +01:00
SirLynix
5d6a094bfe
Core/TaskScheduler: Add std::hardware_destructive_interference_size fallback
...
It was implemented in GCC 12.1 which is not yet available on the CI
2024-01-31 22:16:35 +01:00
SirLynix
9db333fa80
Core/TaskScheduler: Remove jthread and stop_token
...
jthread/stop_token are not yet implemented in libc++ and on Apple Clang
2024-01-31 21:04:42 +01:00