Commit Graph

795 Commits

Author SHA1 Message Date
SirLynix d2e2c075b4 Update copyright year 2024-01-02 12:02:14 +01:00
Jérôme Leclercq 79ec135af7
Optimize out a lot of std::string construction and allocations (#415)
Update CommandLineParameters.hpp

Update CommandLineParametersTests.cpp

Update WebContext.hpp

xmake check-files -f

Fix MaterialPassRegistry
2023-12-30 14:50:57 +01:00
Lynix 7cd1b32e95 Core/File: Add DecodeOpenMode 2023-12-25 19:51:19 +01:00
Lynix 4065fbfb1a Core/OpenMode: Rename ReadOnly/WriteOnly to Read/Write 2023-12-25 19:49:03 +01:00
SirLynix f2201404f3 Core/Clock: Add Tick method 2023-12-18 12:15:08 +01:00
SirLynix 87bf4563f2 Update auto-gen files 2023-12-17 16:00:44 +01:00
SirLynix f2ab31cc4b Core/Error: Remove starting / from file log 2023-12-07 16:42:44 +01:00
SirLynix 62d5e611f1 Core/Error: Make error log only the filename where the error occurred 2023-12-04 18:22:40 +01:00
Lynix 76404f5e0e Core/Modules: Fix env var override when no parameter is passed 2023-12-02 13:56:24 +01:00
Lynix 4ee4092bba Cleanup includes 2023-12-02 13:56:24 +01:00
Lynix 5472514f4b Core: Add EnvironmentVariables 2023-12-02 13:56:23 +01:00
SirLynix 72182327dd Core/PrimitiveList: Rework and inline the class 2023-11-26 21:27:24 +01:00
SirLynix e8eebc1dfc Core/ParameterList: Take advantage of movement 2023-11-26 14:01:23 +01:00
SirLynix f2e77fb8a5 Rename Nz::Functor to Nz::AbstractFunctor 2023-11-17 13:19:21 +01:00
SirLynix ddc8cc6797 Core: Rework ParameterFile
Improve parsing and usage
2023-11-17 11:57:05 +01:00
SirLynix 5e643bca7b Fix MinGW compilation 2023-11-15 08:06:50 +01:00
Lynix e5789d1749 Switch Nazara to C++20 2023-11-14 14:24:28 +01:00
Lynix 592780562e Try to fix MinGW compilation error
It shouldn't make a difference since static constexpr already implies inline but we're talking about MinGW
2023-11-12 22:31:01 +01:00
SirLynix f0fd3b232c Core: Add generic ParameterConfig
This still needs to be improved
2023-11-12 12:54:34 +01:00
SirLynix 86e26008b3 Minor fixes 2023-11-12 12:51:56 +01:00
SirLynix 886991f86d Graphics: Add PipelinePassList loader (able to load from a file)
Fix compilation
2023-11-06 21:30:49 +01:00
SirLynix 4749e6ec80 Core: Fix NazaraAssert in release mode 2023-11-02 15:49:51 +01:00
SirLynix 4b8a475bbd Split error macro into two versions (format vs non-formating) to allow format checking at compile-time 2023-11-02 15:18:03 +01:00
SirLynix 8fb53f467b Core/ResourceLoader: Fix format error 2023-11-02 08:27:37 +01:00
SirLynix 041be74b9d Color: Add sRGB <=> Linear conversion methods 2023-10-13 19:56:07 +02:00
SirLynix e1ccb3187d Core/Color: Add ApproxEqual and make equality exact 2023-09-10 14:43:57 +02:00
SirLynix 21680171a2 Replace GetPlatformEndianness() by PlatformEndianness constexpr
from nazarautils
2023-09-08 09:13:04 +02:00
SirLynix 1009b296a1 Update for latest nazarautils 2023-09-08 09:10:22 +02:00
SirLynix ad738a2803 Core/StringExt: Add IterateOnCodepoints to remove std::u32string allocations 2023-08-24 08:42:25 +02:00
SirLynix bd53245f42 Core/StringExt: Don't pass string_view by ref
https://quuxplusone.github.io/blog/2021/11/09/pass-string-view-by-value/
2023-08-24 08:23:14 +02:00
SirLynix f2fc02cbd4 Core/ErrorFlags: Turn this class into an inline class 2023-08-16 18:11:18 +02:00
SirLynix ab8bac2575 Use fmt store instead of ToString fallback
Thanks to @jonathanpoelen for the idea
2023-08-15 01:10:01 +02:00
SirLynix a741672a51 Allow error message to be formatted 2023-08-15 01:10:01 +02:00
SirLynix e2808192aa Minor fixes 2023-07-30 19:46:01 +02:00
SirLynix 816d9d1174 Allow to setup/override module configuration from commandline 2023-07-30 12:44:43 +02:00
SirLynix 218b75558a Core: Add CommandLineParameters 2023-07-30 11:46:55 +02:00
SirLynix 651261d28a Minor fixes 2023-07-30 10:56:28 +02:00
SirLynix 3d18052e45 Core/StateMachine: Add Disable and Enable methods 2023-07-27 19:34:59 +02:00
SirLynix d7cc1a8151 Core/EnttWorld: Add GetAliveEntityCount method 2023-07-27 15:09:51 +02:00
SirLynix a101f7c71f Core/EnttWorld: Add RemoveSystem method 2023-07-27 15:09:15 +02:00
SirLynix cbe055d412 Core/AppFilesystemComponent: Use hash as key for resource parameters 2023-07-17 19:07:45 +02:00
SirLynix f2bc1bff7a Update for latest nazarautils update 2023-07-17 19:05:15 +02:00
SirLynix 62663dc8e1 Vulkan 2023-07-14 14:18:04 +02:00
SirLynix 1bb4b8fa0d Core/AppFilesystemComponent: Add GetDirectory 2023-07-14 14:16:57 +02:00
SirLynix 602361e8e1 Core/Time: Add support for AsSeconds<integer> 2023-06-28 07:04:20 +02:00
SirLynix 96618cbb5b Fix some warnings 2023-06-27 19:31:24 +02:00
SirLynix 504c0f771b Minor fixes 2023-06-09 09:24:03 +02:00
SirLynix 40bb69bc60 Core: Add SignalHandlerAppComponent 2023-06-07 22:28:55 +02:00
SirLynix bf0d7674c7 Core: Add thread extension functions 2023-06-07 13:35:40 +02:00
SirLynix 6520f48d94 Add missing include 2023-06-06 18:00:14 +02:00
SirLynix caf8446707 Math: Remove Algorithm file and move string functions to StringExt 2023-06-06 08:59:58 +02:00
SirLynix 401bfa3324 Core/Enums: Improve OpenMode comments 2023-06-02 17:49:23 +02:00
SirLynix 2886a2e0c0 Rename EnumMap to EnumArray after nazarautils update 2023-05-30 13:49:19 +02:00
SirLynix dfe6b2ddcf Make use of the new EnumMap class 2023-05-30 12:32:37 +02:00
SirLynix 580b3c8804 Core/ApplicationBase: GetComponent can no longer fail 2023-05-20 21:35:10 +02:00
SirLynix 35c498bf21 Core/ResourceLoader: Use stream path extension if possible to dismiss loaders 2023-05-20 21:34:34 +02:00
SirLynix 34b8bb5d65 Core/Resource: Pass filePath by value and move to prevent useless copy 2023-05-15 08:31:42 +02:00
SirLynix bbbd3f88c1 Core: Add DisabledComponent (to temporary disable an entity) 2023-05-07 22:43:48 +02:00
SirLynix c69397707e Core: Add StateMachine
Backported from legacy Nazara
2023-05-07 22:42:54 +02:00
SirLynix 24e546a808 Core/ApplicationBase: Fix GetComponent 2023-05-07 22:41:03 +02:00
SirLynix 9aeaaa9495 Core/Application: Fix updater elapsed time 2023-05-06 15:44:52 +02:00
SirLynix 97f1c2c56c Refactor xmake.lua and make some warnings as errors 2023-04-30 21:11:30 +02:00
SirLynix 445ed93fbb Core/ApplicationBase: Fix compilation with Apple Clang 2023-04-24 10:58:16 +02:00
SirLynix de5e7bd8a8 Core/ApplicationBase: Add support for updaters with intervals 2023-04-23 19:45:33 +02:00
SirLynix ec1efb5e56 Fix previous commit 2023-04-06 19:08:27 +02:00
SirLynix c7b1c8b155 Core/AppFilesystemComponent: Fix Open with physical files 2023-04-06 19:01:07 +02:00
SirLynix 44aec8d5a5 Allow to load image and textures cubemap/arrays from file using the AppFilesystemComponent
Renames LoadCubemap and LoadArray to Load with additional parameters and allows AppFilesystemComponent to pass additional parameters to them
2023-04-04 08:24:52 +02:00
SirLynix 9b4d297c04 Update includes for new NazaraUtils version 2023-03-19 13:01:56 +01:00
SirLynix 506d3939a8 Minor improvements 2023-03-17 19:24:33 +01:00
SirLynix 99c8027fd0 Remove .inl inclusion of their .hpp files
It has no real purpose and is breaking Clang parsing
2023-03-10 13:33:10 +01:00
SirLynix c67e290b51 Core/ResourceParameters: Add virtual destructor (fix render device destruction) 2023-03-09 17:48:52 +01:00
SirLynix d7dda716fe Warning fixes 2023-03-05 18:01:20 +01:00
SirLynix f2197800bc Core/VirtualDirectory: Fix inner resolving 2023-03-05 18:01:14 +01:00
SirLynix 36dd245564 Core: Rework VirtualDirectory to allow custom directory resolving 2023-03-03 13:21:48 +01:00
SirLynix 0494a72849 Core/Stream: Add HashAppend overload 2023-03-03 13:19:12 +01:00
SirLynix 34abeeb7bd Core/Stream: Add MemoryMapped stream options (allowing for direct memory access) 2023-03-03 13:18:51 +01:00
SirLynix 3000345eab Core: Add OwnedMemoryStream class 2023-03-03 13:16:33 +01:00
SirLynix 93ff30f53a Core/ByteArray: Add constructor taking the container by value
Allowing to move the content
2023-03-03 13:15:51 +01:00
SirLynix 6bf4304817 Core/File: Add OpenMode::Defer 2023-03-03 13:14:28 +01:00
SirLynix b38f9dc79b Core/Log: Pass string_view by value instead of ref 2023-02-22 19:04:07 +01:00
SirLynix dd97832430 Core/AppFilesystemComponent: Add MountDefaultDirectories 2023-02-08 12:19:01 +01:00
SirLynix 292ca60592 WIP 2023-02-02 20:34:25 +01:00
REMqb f172330aaf ~ WIP port emscripen (WebGL) 2023-02-02 20:34:25 +01:00
SirLynix 304bf35c08 Core/AppFilesystemComponent: Add Open method 2023-02-02 18:30:36 +01:00
SirLynix 3d2aa94ac4 Core/AppFilesystemComponent: Rename GetOrLoad to Load 2023-02-02 18:30:24 +01:00
SirLynix 35172f5028 Fix some warnings 2023-02-02 13:28:36 +01:00
SirLynix eb74c6ed07 Restore plugin prefix 2023-01-29 21:59:24 +01:00
SirLynix 8bc953240d Core/FilesystemComponent: Add a way to fix indices accross DLL boundaries 2023-01-29 18:13:35 +01:00
SirLynix 97fa4d98be Rework EnTT integration
- Update EnTT to 3.11.1
- Moved EnTT wrapper to EnTTWorld, inheriting EntityWorld
- AppEntitySystemComponent can now handles multiple EntityWorld
- Headers relying on EnTT are now automatically included if NAZARA_ENTT is defined
- Renamed SystemGraph to EnttSystemGraph (as it depends on it for now)
2023-01-28 19:28:43 +01:00
SirLynix d27ca55943 Core/AppFilesystemComponent: Add support for default resource parameters 2023-01-28 11:27:49 +01:00
SirLynix ca0c4a5db7 Core: Add AppFilesystemComponent 2023-01-22 18:00:26 +01:00
SirLynix f98cbcd00a Copyright year update 2023-01-22 17:41:18 +01:00
SirLynix 2b7ff9274c Core/Application: Add updaters 2023-01-22 12:37:58 +01:00
SirLynix a71d4885f9 Core/Application: Accept module configuration 2023-01-22 12:37:58 +01:00
SirLynix da9eb14ebe Handle windows and EnTT with application components 2023-01-22 12:37:58 +01:00
Lynix 8db1c04568 Make Application template and responsible for modules init 2023-01-22 12:37:58 +01:00
SirLynix 04bfa97579 Add Application base classes (WIP) 2023-01-22 12:37:58 +01:00
Jérôme Leclercq dd421a6385
Replace float/UInt64 durations by a more precise Time class (#388)
Improve Clock class with atomic RestartIfOver method and allows to choose required precision
2022-12-29 21:31:46 +01:00
SirLynix 2243d0b1a7 Move free operator overloads inside Nz namespace 2022-12-29 12:15:22 +01:00
SirLynix 763bef3fdd Core: Make Uuid constexpr 2022-12-29 12:13:18 +01:00