Commit Graph

386 Commits

Author SHA1 Message Date
Lynix dc3f3eb344 Fixed some of the pull request code in order to merge it
Former-commit-id: d8a9734fc622cb57f98b3b6abd2579922d562aa0
2014-06-22 15:12:52 +02:00
Lynix eceabcd241 Fixed some of the pull request code in order to merge it
Former-commit-id: 76d71f15b335535e7dfcaf986440a00e85e45c1b
2014-06-15 01:55:07 +02:00
Gawaboumga 676ed6c9d8 Correction of mathematical functions.
BoundingVolume: Add of constructor and setter OrientedBox. Extend is now
up to date.
Box: Use of <T>. Return this
Frustrum: Use of <T>
Matrix: Use of <T>
OrientedBox: m_corners is up to date
Rect: Add of operators /= and /. Return this
Sphere: Add of Intersect and Contains with box. Little corrections.
Vector2: Return

TaskSchedulerImpl: Add of include header cstdlib to compile because of
std::div
HardwareInfo/main: use of accentAigu

Former-commit-id: a5a7f8e8c45448e5683eb13bff453d6f67478d03
2014-06-14 22:10:37 +02:00
Lynix 15e62110cf Added fastpath for operator==(const String&, const String&)
Former-commit-id: 2f0c5dff353ba9225ff5888fe35c744790bb1f95
2014-05-28 00:28:50 +02:00
Lynix 8f4b304df1 Renamed Directory::SetDirectory to Directory::SetPath
Added Directory::GetPath


Former-commit-id: 0d2918557962b05ea7c9a16c82e6afc961db32a8
2014-05-26 02:00:46 +02:00
Lynix a3f877daf1 Added MemoryManager::GetAllocationCount()
Former-commit-id: 32f4f0780fdd32ac72a7e94732958bdd688844c6
2014-04-24 21:20:14 +02:00
Lynix c606599e19 Updated MemoryManager
Renamed MemoryLeakTracker[.hpp|.cpp] to MemoryManager[.hpp|.cpp]
Added MemoryManager::GetAllocatedBlockCount()
Added MemoryManager::GetAllocatedSize()
Optimized MemoryManager (no longer allocates a time buffer)


Former-commit-id: 0e9c720cbb48fbed7006db3bd1000ebbc22c9583
2014-04-21 22:13:31 +02:00
Lynix 77fc34ee7d Added some CPU vendors
Former-commit-id: 0eb96633fe6bdd3f6f8649f766620f4e89bc2224
2014-04-21 11:02:17 +02:00
Lynix 55fe71ee21 Fixed cpuid reported supported on unsupported compilers
Former-commit-id: 4f5fc2251882ae04d9131242d0f9d7f8a3a3e6dc
2014-04-21 10:43:46 +02:00
Lynix 531fa2ce84 Fixed PluginManager initialization
Former-commit-id: 5125e58bc5c73ed36088f52356728687db23e494
2014-04-21 10:42:20 +02:00
Lynix 082015fe5a PluginManager::AddDirectory no longer returns bool
Former-commit-id: a5994918636765a52ca1fc79617d12eefec2c914
2014-04-20 23:52:54 +02:00
Lynix 361e2a31ee Improved submodules
PluginManager is now a submodule


Former-commit-id: 2e147317ab07447e134d15790386bd6d3494b9d1
2014-04-20 23:50:55 +02:00
Lynix fc970c503a Added File::Open(path, mode)
Former-commit-id: 7bd80f04e5f902e9752b1f5091ac55cdf2bc432a
2014-04-20 13:13:49 +02:00
Lynix b30d325ca5 Made Submodules initialized when used
Former-commit-id: 203a4a3b07e18301ce003129bb6af22e0478d07a
2014-04-12 14:19:29 +02:00
Lynix 945c6514a9 Added Resource modification notification
Former-commit-id: b2fafa22ddf125ef2f1cbc0cd473ae06eb99bcd3
2014-04-08 10:21:50 +02:00
Lynix e36c42900d Fixed String::Resize not always setting the EOS character
Former-commit-id: 975fe786e70d760549a65b52bdf5cf6d945dd209
2014-04-08 10:18:36 +02:00
Lynix a09fbe6a9d Oops
Former-commit-id: cb32d05b5e59329860fea64aaf8bfee024621109
2014-04-04 19:27:11 +02:00
Lynix 3b48e556aa Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine
Former-commit-id: 52c67ad3c3e137e1a7239775ae0c5eab899249d4
2014-04-04 11:39:12 +02:00
Lynix 04b9a13397 Fixed String::IsNumber with base > 10
Former-commit-id: 18feb64e18e2b0a5360d9ae2b6dfea169ede4365
2014-04-04 11:37:48 +02:00
Lynix 103f80ca2a POSIX: Fixed DynLib implementation header
Former-commit-id: 381cfd9021f972662f1fc8c67536e884e58cb65c
2014-04-01 22:41:53 +02:00
Lynix 485b35684d Added comments and optimized TaskScheduler
Former-commit-id: 863338b4599fdee38cfebec7e9dff47b571ba203
2014-03-30 19:18:42 +02:00
Lynix b212f7c890 Added parameters to Clock class
It is now possible to build a Clock object in a paused state, or to give
it an "already elapsed time" value


Former-commit-id: 20e9c55de8a12a9220f81dc7759a4113a794648f
2014-03-20 23:06:22 +01:00
Lynix 2ea87a601a Fixed Clock::Get[*] still running when clock is paused
Former-commit-id: f2063a94251fc27da492d0d37bd42355125a1a24
2014-03-20 23:00:54 +01:00
Lynix 970c0c8ef8 Optimized String usage
It will no longer initialize the buffer if not necessary


Former-commit-id: b8c910268ed3db6affb8f88b45d043d1dc021aa7
2014-03-15 00:26:29 +01:00
Lynix 67951074b1 Improved File class source code
Made use of smart pointers to be exception-safe
Made use of StringStream (again)


Former-commit-id: 9b139468e5045abf7ee4832c40bdec25a2a9af50
2014-03-06 09:53:03 +01:00
Lynix 42c10268d2 Fixed thread-safety
Fixed huge mistake in Clock code (Allocating a mutex everytime instead
of locking it)
HashDigest and StringStream class are no longer thread-safe (That was
stupid anyway)


Former-commit-id: d07a6859df27eac2c5171e75720b3963b6a5fbbb
2014-03-06 09:49:39 +01:00
Lynix ef9592a0fd Added repetition constructors
Former-commit-id: ee33ef8aa01ec14a89f47b3581f86cfe499299b8
2014-03-06 09:24:38 +01:00
Lynix 4ee2ceaef0 Fixed debug compilation
Former-commit-id: d2e8883f65ebc6a3025676d69211e54b6e115333
2014-02-21 11:43:54 +01:00
Lynix fd958fd9ac Updated the way module are initialized
It's safer and prevent a bug when initialisation fails


Former-commit-id: a04f18e18f2d9db11ec595a9b8096c2792b39641
2014-02-21 11:13:14 +01:00
Lynix 4df6c30a26 Fixed ParameterList placement new conflicting with MLT
Former-commit-id: 97ca15d16e20e42427fceeea4f96a2e6b857dc83
2014-02-18 00:52:23 +01:00
Lynix d05cc9ce0c Improved ParameterList interface
Made it easier to handle errors and use default value


Former-commit-id: 1891efa0b0196b2c6602e52631e5e6cefb529137
2014-01-19 12:02:59 +01:00
Lynix 47959eaaeb Added ParameterList class
Former-commit-id: c592d0a09c33aa23b5efe635734c52b726364085
2014-01-19 10:56:45 +01:00
Lynix 151a34b35b Added String::Set method
Also improved performances in some cases


Former-commit-id: f88dbd0685b8779715e316e9d85ec005ab72e1fb
2014-01-15 14:40:15 +01:00
Lynix c096756dab Happy thousandth commit Nazara
Updated copyright year (Yay, 515 file updated)
Regenerated global headers
Fixed some typo
Improved some shaders
-Blah blah blah-

Thank you all for supporting my project !
-Lynix


Former-commit-id: e4e741b318ba4f203da5ffd265bd5e516e7ffd7d
2014-01-12 20:16:21 +01:00
Lynix 9389e1ea05 Changed DynLib internal
Fixes the "Assimp32.dll not found" bug


Former-commit-id: 662adba33c5d9cfbd23c8b0af0670626070baaa9
2014-01-12 10:33:03 +01:00
Lynix bcfe357be7 Fixed String constructor (Close #24)
Former-commit-id: 4be4b713375ab4285776ec22b598117e3ede418a
2014-01-12 08:42:48 +01:00
Lynix 5132ada030 Fixed DynLib::Load not emitting error on failure
Former-commit-id: 73d792ccaf18533a04f834f6cefcd2eb844c2100
2014-01-08 11:25:37 +01:00
Lynix b85a5bd5d5 Some changes in DynLib internals
Former-commit-id: cfd8cbbdf30e2b0a6faa3a283c860001b07ae6de
2014-01-08 11:12:34 +01:00
Lynix 9ac4df3c6c Added move constructor/operator to DynLib
Former-commit-id: af6c6b2ad7803a9ae6d7106188a0b69e341835c0
2014-01-08 10:48:23 +01:00
Lynix d72486d400 Modified PluginInterface internal
-No more warning when adding a non-existing directory


Former-commit-id: 778ebe57678288293556616fd66d3cdee9d09c79
2014-01-05 15:31:56 +01:00
Lynix 3dd8b8fce1 Modified DynLib/PluginManager interface
Former-commit-id: 2dae56cad852a46c9bac828cc7775a4da42c96cf
2014-01-05 15:30:27 +01:00
Lynix bed3cc570b Fixed memory leak
Former-commit-id: 1cbf2fbe929dc3b210ce0c8ca0e4e5edfe4165b4
2013-12-20 19:41:36 +01:00
Lynix a9af5523ee Added cone primitive generation
Lacks normal/tangents/uv


Former-commit-id: 682bb7ea926361bfb10807f6addf98f8fd4e7d75
2013-12-09 14:15:34 +01:00
Lynix f7990e4521 Warnings no longer throw exceptions
Former-commit-id: 49545105cb8d5a56e493b5eb63ed745aeb02d2f6
2013-12-07 23:47:07 +01:00
Lynix 0af23c11f5 Fixed TaskSchduler not releasing memory and handles
Former-commit-id: 4bf70d2ffdaaaea6b8ee122bb4589b3d8c68884f
2013-11-30 16:13:54 +01:00
Lynix ca76c4dfb3 Added some asserts
Former-commit-id: 703f3982d7fec1ac4ec46c185fbbdf2668e8a848
2013-11-30 13:48:12 +01:00
Lynix 55aed0ec68 Rewrote Task Scheduler
Better and faster implementation


Former-commit-id: d765415ca0576cd843480292e30c2d7bafa7f66a
2013-11-30 13:48:01 +01:00
Lynix 3c337c0191 Optimized ConditionVariable Windows implementation
Former-commit-id: 4f2e582d64e8f3a1f83cea2bd0f7220987aa4332
2013-11-30 12:29:39 +01:00
Lynix c647b61904 Fixed MemoryStream::Read crash when just skipping (null buffer)
Former-commit-id: 46072c0ebd093bcfa1e7f54d11deb034cbc55dae
2013-11-06 23:56:20 +01:00
Lynix f722d83955 PluginLoad now return an int instead of a bool
Since it's C-exported


Former-commit-id: 77ac90bd7151b086c555ffed50066991910e3cd8
2013-11-06 23:55:44 +01:00
Lynix 2489f46fb7 Changed default plugin directory
Former-commit-id: e730d1bfcdc339f8279084f3305488bf0aff5d3c
2013-11-06 23:55:10 +01:00
Lynix 7f7e8d8567 Fixed ErrorFlag not being exported
Former-commit-id: 0b24f1beb68333806bb6b29786e1ea05a0802638
2013-11-06 23:53:55 +01:00
Lynix cb007b48fd Fixed compilation error on POSIX
Former-commit-id: 92c425519f250d15f4fe71d2e08e987b965dac70
2013-10-19 18:28:05 +02:00
Lynix a410e8856a Improved Error system
Former-commit-id: ddd08841d30575713f4a28ac02566f92791e5539
2013-10-09 10:14:09 +02:00
Lynix 3167531b39 Fixed some VS warnings
Thanks to Fraggy again !


Former-commit-id: bd0eea66714701b065892d8b69d576e7b3615dd2
2013-09-21 00:10:10 +02:00
Lynix 75de88066b Fixed crash
Former-commit-id: 4388600646138181546d59d6602b1e1cacaf59ec
2013-08-26 12:27:27 +02:00
Lynix 72a57fbf4c Fixed crash when resources in use by the Renderer are released
Former-commit-id: 98eedb556f0387f0a5c1cafde2fc74645d1d0457
2013-08-26 00:40:45 +02:00
Lynix bf4b762a5d Renamed CORE_DUPLICATE_TO_COUT to CORE_DUPLICATE_LOG_TO_COUT
Former-commit-id: fc877ab4467261e052f167e39471bc8b3b0b6c5e
2013-08-24 21:59:21 +02:00
Lynix 09e3027129 Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine
Former-commit-id: ea9e193d2cd3a4dca31c570037ea7b6c12edb826
2013-08-12 00:54:21 +02:00
Lynix 5085e0b43f Fixed crash caused by String class
Former-commit-id: 642c9f06e81e00dbd65a149e4fd72d2d90848f77
2013-08-12 00:53:27 +02:00
= 244c4d96e9 [POSIX] Fix ConditionVariableImpl.cpp compilation errors.
Former-commit-id: d6cd13392acfa62329bf0efe9957d553bbc5657a
2013-08-11 19:44:26 +02:00
Lynix dbbbde0575 Fixed POSIX support for NazaraCore (Close #15)
Former-commit-id: 7fee4f65f1306698a8e399a7d4b0593b68929d33
2013-08-11 15:53:53 +02:00
Lynix d4cff9946e Improved ResourceListeners
Former-commit-id: 8016c23cb75aab94762a1e2838dbbcac2093119b
2013-08-09 16:28:07 +02:00
Lynix b969c24060 Disabled thread_local keyword on directory current path (Close #14)
Still buggy


Former-commit-id: 2daf33fe93dbac37ff3deccf0ff8df60ac21e9a9
2013-08-08 23:12:32 +02:00
Lynix 1ebaf4749c Added static assertions to secure code
Former-commit-id: 207f1135b3b40cee74fbf8ba98e6fb7379ba8c33
2013-08-03 20:58:50 +02:00
Lynix 19e02a900b Added Directory::Exists
Former-commit-id: 51e6b909b323074401b0200747db35f2e4b1c42a
2013-08-03 20:20:30 +02:00
Lynix f47ecfe414 Added unsigned int constructor to ByteArray/String classes
Former-commit-id: 2b52c0dabcd6fbf4ad33b31ef3cb84e668edcd54
2013-08-03 20:18:12 +02:00
Lynix ce028e497a Made current file relative to engine directory
Former-commit-id: 7a664df265a1d1b7f9b3594e34418163cc023eda
2013-08-03 17:35:08 +02:00
Lynix 8f593d56f4 Made current directory thread local
Former-commit-id: 6d4f42b6ca5102404b543a5b4e6bedee1aa291f1
2013-08-03 17:32:03 +02:00
Lynix ae53b01ca1 Added File::Write(ByteArray)
Former-commit-id: 7f064cc17d940b5d2e3229264598cb0f1c778c80
2013-08-03 17:13:34 +02:00
Lynix ccb3adfc1c Cleaned ByteArray class
Former-commit-id: a155b789634cb1e7d875be2f4d1ba6cc896b4212
2013-08-03 17:13:16 +02:00
Lynix 29ee943871 Made non-filling version of ByteArray::Resize
Former-commit-id: 0fec6b5749a786fc1999b9fc718a481d47c52895
2013-08-01 23:14:49 +02:00
Lynix 5b730f1d4c ResourceListener no longer add a resource reference
Former-commit-id: b249d472b4140b85e4e286552323fde6b9b66bd7
2013-07-09 01:06:11 +02:00
Lynix b035852576 Optimisations
Former-commit-id: 81d277a49b57f061a6339678bd953054e434c613
2013-07-03 01:17:22 +02:00
Lynix 4abefc3e93 Reworked IndexBuffer, Vertex[Buffer|Declaration|Structs]
Former-commit-id: e3f637f2680afda57a444f73b8f7ad681bb1b8a5
2013-07-01 16:14:29 +02:00
Lynix b7c4d607ce Improved interface of Primitive
Former-commit-id: bcd4f2eb247c8f7fb59d864884e6ecda5f60afb1
2013-06-25 14:06:04 +02:00
Lynix 3609f31708 Added std::hash for String, made use of unordered_map
Former-commit-id: 20f3d12bc3222873706949f0a7d0a131e237a247
2013-06-23 16:53:37 +02:00
Lynix 17c9461610 Optimized String::GetWord (2x faster)
Former-commit-id: 9257614bff0d2a38d089f8073ce7f7de2fa51467
2013-06-19 14:59:02 +02:00
Lynix 3f9faa3a5a Fixed stack corruption
Former-commit-id: 0ec71c8cc8f69d3dbf3b8ffda6556a9eebfeac1e
2013-06-19 14:33:06 +02:00
Lynix b0c46b2384 Revised String class
Renamed String::Substr to SubString


Former-commit-id: 6aa925799e71af6916f7808368a3faa26efbe1bc
2013-06-19 02:25:19 +02:00
Lynix c1e57c829c Added experimental implementation of ByteArrays
Former-commit-id: c95729bb45059c199344471a61042d98090034c8
2013-06-18 21:07:53 +02:00
Lynix 880c2aa32c Plane primitives no longer rely on normal vector
Former-commit-id: 66e1e2a83799055ad773f7b145e569469f68279a
2013-06-18 16:39:46 +02:00
Lynix 8595a110a4 Fixed compilation warning (C-style cast)
Former-commit-id: 063414bfd23047ce05010546f3cfe5188bd8e9b7
2013-06-15 16:11:37 +02:00
Lynix c76c419867 Cleaned interface
And fixed some VS warnings


Former-commit-id: 8c89fa1d4dc92a362053e4cdeabe20537fcec2a6
2013-06-09 11:25:17 +02:00
Lynix b1d7770570 Fixed compilation error when building for vista
Former-commit-id: e6a1948da62dd5837293a9febc706f52c93c60e4
2013-06-07 11:53:29 +02:00
Lynix fbc0d7404e Improved code
Former-commit-id: 33082b8f9d55c7a3b9550c788eb27fc613c08032
2013-06-05 13:24:33 +02:00
Lynix 9239ff8881 Box primitives now uses vec3 lengths parameter
Instead of a Box parameter


Former-commit-id: 6c433e883252c6db8eba3b791d1e9364ce5d3b1e
2013-06-03 17:14:09 +02:00
Lynix fb839de33e Renamed (Oriented)Cube to (Oriented)Box
Also renamed BoundingBox to BoundingVolume


Former-commit-id: 795c70c265ba17f6b96fc30799e89f140c52852b
2013-06-03 14:18:31 +02:00
Lynix 65c08442ce Added Primitive(List)
Former-commit-id: 3080a1846616fb2dac25e6d341c8a9220f406de4
2013-05-30 13:22:10 +02:00
Lynix e0229ab390 Cleaned Thread class code
Former-commit-id: d8c918c7a3c50ed3ed2f225303540d3860863d4e
2013-05-30 02:59:08 +02:00
Lynix 738788b4c3 Made use of smart pointers :)
Former-commit-id: 5380752e0da3f4b958a944e41fcde38722e3c4c2
2013-05-23 02:14:41 +02:00
Lynix 3ff5761703 Fixed missing headers
Former-commit-id: 85c27f12d393c087a455433b2bf7298a25f13b44
2013-05-21 14:00:23 +02:00
Lynix 8f09eea340 Renamed XImpl to AbstractX (More consistent)
Where * is Buffer, Hash and Shader


Former-commit-id: a99681ab1d515c9b39e6ba5f447c9000ef1092b8
2013-05-21 13:54:10 +02:00
Lynix a6cbc5c872 Fixed missing debug tools include
Former-commit-id: b9a53f96e603c057f08e11e17a38d5a8322820c9
2013-05-11 20:15:08 +02:00
Lynix ad2c66bbb3 Improved Windows ClockGetMicroseconds precision
Former-commit-id: 601157e2116bc4f3ecd22ec89a285f62e4b36c11
2013-05-11 14:04:08 +02:00
Lynix 991d841d57 Made String(char) explicit
Former-commit-id: 02f5ead8fe60b825464f956d9fc6ea4689bda44b
2013-05-11 13:51:56 +02:00
Lynix 459c7a4d07 Made use of atomic variables
In order to replace mutex-protected integer values (Performance
improvement)


Former-commit-id: d40ed2444111f00dab372f2371fe91cfd9cd2472
2013-05-03 23:12:58 +02:00
Lynix 44f1309836 Fixed warning on 64 bits (Yep, again)
Former-commit-id: 303f3592124dfbd9b15fbaf04ba371cdfe20209a
2013-05-03 11:48:59 +02:00
Lynix 5aeb9d63b8 Fixed SHA(384|512) not resetting SHA context
Former-commit-id: 0bfc4e206b7203a179bf18f6fa16c64fbbfbf169
2013-05-03 02:52:07 +02:00
Lynix f694c3be40 Fixed warning on 64bits
Former-commit-id: eb4c1fb88cc0aec38507c3100650d45deeb4e64a
2013-05-03 02:50:06 +02:00
Lynix dd7025eae2 Fixed operator+(char, NzString)
Former-commit-id: ccd06c224bc95e292d0d276af69354f9e5e8d803
2013-04-04 14:06:27 +02:00
Lynix 8694f71c2a X::Initialize no longer takes arguments
Former-commit-id: a8233235e89112630f2d31c637723443bd0829a4
2013-04-03 16:41:57 +02:00
Lynix ce6902d37c Fixed String::GetWordPosition
Former-commit-id: df701345b94a899f91d4f67d270b2da20c23e904
2013-03-29 23:02:58 +01:00
Lynix 36cb681adc Greatly optimized file-based streams
Former-commit-id: 3adef66ec27b9e423667d2d17b914a3a6c71a4ca
2013-03-26 01:01:17 +01:00
Lynix ddc900185d Added String::Append(str, length);
Former-commit-id: a1c16d5966221cffe1f28b20f099922078360818
2013-03-26 01:00:29 +01:00
Lynix a65a6f14b5 Fixed and improved String::IsNumber
Former-commit-id: 5b3dbfb349b64d227670cb891e2c7ef43606a56a
2013-03-21 17:32:13 +01:00
Lynix 6c2fb1eb89 Added ResourceRef (Automatic resource reference)
Former-commit-id: 97a0b2732f4dc443b8e1676e68b33b1b53ddf4fb
2013-03-15 03:09:58 +01:00
Lynix 6b2690ef30 Fixed files encoding not being UTF-8
Also updated copyright texts for some files forgotten in the last commit


Former-commit-id: 79f158a7943c32f76a9a1e80fba109f15a3b7346
2013-03-14 00:14:16 +01:00
Lynix 32b1d02cec Updated copyright texts
Former-commit-id: 81483f7a94935c925e53b7f450e42635b1357833
2013-03-13 23:23:41 +01:00
Lynix eca2ec3115 Stabilized TaskScheduler (Still buggy)
Former-commit-id: a604c6616065342b21d2c11c27974ec11935a852
2013-03-02 00:26:48 +01:00
Lynix 3a4fb198e8 Fixed TaskScheduler leak
Former-commit-id: 3c8a5217fdd89f4ad7acad86a184420a6abf9e2f
2013-02-15 13:41:52 +01:00
Lynix 8134704d88 Refactored HardwareInfo code
Former-commit-id: feafd33838718cc37843a599049af419e554951a
2013-02-13 01:34:20 +01:00
Lynix 9ce7903b63 Fixed core not initialized
Former-commit-id: 8eaaeae007e92d419fa9ee4e84bcf94c2aa30492
2013-02-09 17:12:03 +01:00
Lynix 00d636fb1c Changed module initialisation behavior
Former-commit-id: f3901c7785ab89b113afd961d7a51b609db2e314
2013-01-29 01:57:51 +01:00
Lynix 85ccf53557 Fixed PluginManager::AddDirectory
Was not adding absolute path


Former-commit-id: 9eb89a3302fc82ced5c8c962f1cbb4cf41ffb072
2013-01-24 00:17:53 +01:00
Lynix 07f8f5d029 Added experimental PluginManager
Former-commit-id: 717e0a6b8a729a4c7c3bf0f377a93028543a1e2d
2013-01-15 16:54:41 +01:00
Lynix f338cc3609 Added Resource::GetResourceReferenceCount()
Former-commit-id: 1e07449a9a28887f2fd6fbc211590b360ec16dc1
2013-01-12 18:53:44 +01:00
Lynix d177971810 Merged changes
Former-commit-id: 3431062688bcc29574e7611391d8cd356d484e9b
2013-01-06 00:21:49 +01:00
Lynix 62d238d236 Fixed spaces
Former-commit-id: 2045fa2b37d3f0cbcd9d9d9cdcadb962ea07ecd0
2013-01-05 19:51:40 +01:00
Alexandre Janniaux c2e197bda5 Fix compilation errors for POSIX files and make premake4-linux executable.
Former-commit-id: bb094585a678b983e25b55c4fab00665e66f64c5
2013-01-05 01:53:54 +01:00
Lynix dba9470baf Fixed POSIX DynLib implementation
Former-commit-id: 17142fc657e5f6332f980ab9180c071e9de20280
2013-01-04 23:23:32 +01:00
Lynix e00779ebe0 [Core] Added POSIX support (Experimental)
Thanks to Danman
I don't think it actually compile although tried my best to correct
code.


Former-commit-id: c3366c2c924f7392f4d46824dafca63ecf7f1fea
2013-01-04 22:01:06 +01:00
Lynix 7785516f85 Fixed POSIX build
Former-commit-id: 51c9eec6b1bff341d0e80971da26c05f4224ac60
2013-01-04 18:35:24 +01:00
Lynix 1a4400facf Fixed module initialisation failure bug
If a module initialisation failed, then it resources may or may not be
freed.
This is fixed.


Former-commit-id: 029e0844e392685a31b3afc02c5bf772e015a372
2012-12-25 01:56:49 +01:00
Lynix dc30b918a1 Fixed HashDigest::ToHex() result being of size 1
Former-commit-id: 698d263f6af00bdc1c622bd0575ac263b621f7a7
2012-12-15 22:17:09 +01:00
Lynix abb2db1c7d Fixed Nazara compilation on 64bits compiler
Former-commit-id: 5b9d8208691c34e30f4184c6a35f82a690c221f5
2012-12-14 23:23:56 +01:00
Lynix 73cb237925 Added HardwareInfo::IsInitialized()
Former-commit-id: ef668ac6d2e92a05730b56c892a693a21c7d651e
2012-12-13 19:57:05 +01:00
Lynix 4827711c89 (HardwareInfo) Fixed GetProcessorVendorName
Former-commit-id: b18ee100b3949f9ba982b81db9b5de2a234f191f
2012-12-13 17:44:03 +01:00
Lynix 1d6e6bc8cf Fixed core failed to initialize if cpuid failed
Former-commit-id: c95487666c09206720db795c41ae12ca0e22f7dc
2012-12-13 17:35:18 +01:00
Lynix 7820a3096b Refactored HardwareInfo
-Can now return processor brand string
-Can now return processor vendor name
-64 bits is now a processor capability


Former-commit-id: 02d0ded16911a88643f4c6799b234a7b18eebefc
2012-12-13 17:32:04 +01:00
Lynix 5c3be23a21 Fixed type inconsistency
Former-commit-id: a809c19cc4ad496c4f191ef3f9238ea2576ecbb4
2012-12-13 17:07:30 +01:00
Lynix 8376fb38cf Module can now initialize optionnal classes
Former-commit-id: 899007b7879451d15d0808a03b8dfea0cd3413a4
2012-12-08 22:21:20 +01:00
Lynix 4dc1d88f7b Fixed TaskScheduler not resetting impl pointer
Former-commit-id: fdd46cdbce5b876fbb286439ccfc96f1f98ac4fe
2012-12-08 21:52:50 +01:00
Lynix dc9f202155 Fixed calling Uninitialize when not Initialized
Former-commit-id: 1d0bb01f881be76e163a5ac27c91d7fb6a873bb7
2012-12-08 21:51:43 +01:00
Lynix f72210e728 Removed useless code
Former-commit-id: bcd32832d5a3a9fc91a28dd4a76643f391c5ad2d
2012-12-06 01:02:04 +01:00
Lynix 6f495c654a Added TaskScheduler::GetWorkerCount()
Former-commit-id: db4bf747441a13f2d824410aa5be264b300e95d4
2012-12-06 01:01:26 +01:00
Lynix 9839e36171 Removed blanks
Former-commit-id: e3bcf84a1fcb36e52f953c5f18ca51aa9499ed61
2012-12-04 10:35:34 +01:00
Lynix ef567bd223 Added Task Scheduler
Former-commit-id: ac37f749ae78f364db3d3edfabc8221802579989
2012-12-03 01:30:04 +01:00
Lynix 73466a5c07 Fixed File::SetOpenMode when used with File::Text
Former-commit-id: c4cf25bba883d636366399346589768115bc6520
2012-11-29 17:46:40 +01:00
Lynix cbc98ce3f0 Made NzThread interface mimic std::thread one
Hopefully fixed the threaded window bug


Former-commit-id: 6dc3ca2a8bee1da591a9b97d202d4b73b10be8eb
2012-11-29 16:51:01 +01:00
Lynix 0a2e19fa22 Merge remote-tracking branch 'origin/3D-Engine'
Former-commit-id: 1781615fc780accbe6c11d55fd896038d97ffec9
2012-11-29 10:11:30 +01:00
Lynix 64601a72e7 Fixed ResourceLoader bad stream pos after recover
Former-commit-id: d7c7bb33e055ca44ca5690294b504d6ccb644dde
2012-11-27 21:36:04 +01:00
Lynix 4fbe508960 Removed debug error when copying a matrix
Former-commit-id: 60c57643b5a520abe96fdca83f2d0c28f3bc1f11
2012-11-27 20:25:14 +01:00
Lynix 18baa6b8c1 Fixed typo
Former-commit-id: 4254892b447457b57cf9657f87ecf32a1ec899fe
2012-11-25 16:12:57 +01:00
Lynix 9cec8c3a4b Fixed typo
Former-commit-id: 3de64e02311033aa54524e33d7d136c9c405d3f7
2012-11-23 17:58:22 +01:00
Lynix a132b0a4e1 Fixed some files encoding (Were not UTF-8)
Former-commit-id: a7ceb40bf03381e69ee968f79b732584268493dd
2012-11-23 17:51:03 +01:00
Lynix 158fdbf62b Made inline-assembly more readable
Former-commit-id: 82d94d3c7f314d7d8396c0a73a53d2ffea7b4d3c
2012-11-23 17:48:58 +01:00
Lynix faee0b93b5 Added HardwareInfo class
Former-commit-id: 3db2f8f11d58b4b71b85f749ce2a12dcfff986bc
2012-11-22 11:07:02 +01:00
Lynix 70ef422950 Big skeletal animation update
Added MeshInfos demo
Added MD5Mesh/MD5Anim loader support
Added Node class
Fixed ResourceParams not being exported
Added support for skeletal animation
(Animation/Mesh/Joint/SkeletalMesh/Skeleton)
Meshes are now only stored with VertexStruct_XYZ_Normal_UV_Tangent type
Moved Sequence declaration to Sequence.hpp

-Animation:
Renamed Create to Create[Keyframe|Skeletal]

-AxisAlignedBox:
Added Contains method
Added GetCorner method
Added GetCube method
Added Transform method

-Cube/Rect:
Added GetPosition method
Added GetSize method
(Almost) Fixed ExtendTo method
Fixed GetCenter method

-File:
Added GetDirectory static function
Added GetPath method
Renamed GetDirectoryPath method to GetDirectory

-Math module:
Fixed constructor/methods taking a non-const array
GetNormal/Normalize methods now takes an optionnal integer pointer
(returning length)
Made all classes default constructor trivial
Inverse, MakeIdentity, MakeZero, Normalize, Set methods now returns
reference to object

-Matrix4:
Modified methods to avoid copies
Removed COW (Too much overhead)
Removed Concatenate[Affine] static function

-Mesh:
Renamed Create to Create[Keyframe|Skeletal|Static]
Renamed Skin to Material

-MeshParams:
No longer takes declaration argument
Renamed loadAnimations to animated
Storage default to BufferStorage_Hardware if supported and
BufferStorage_Software otherwise

-OpenGL:
Added glGetBooleanv function
Added glIsEnabled function

-Quaternion:
Added ComputeW method
Added Conjugate method

-Renderer:
Added IsEnabled static function
Fixed GetLineWidth function not being static
Removed SetVertexDeclaration

-RenderWindow:
Made CopyTo[Image|Texture] method constant

-Resource
Fixed RemoveResourceListener crash

-ResourceLoader:
Loaders are now used in a LIFO context

-Stream:
Renamed GetLine method to ReadLine

-String:
Fixed Simplified

-Utility module
Added configuration define for strict resource parsing

-VertexBuffer
Now takes a VertexDeclaration pointer

-VertexDeclaration
No longer throw an error when getting a non-existing element


Former-commit-id: f7358c1231d6af48b799d2f24f077a001e16785b
2012-11-21 19:20:32 +01:00
Jérôme Leclercq 7cc520be95 Random changes without any meaning
Former-commit-id: bcae279b389ea9c33afc27ac7f6eded6305fa134
2012-11-08 14:24:00 +01:00
Jérôme Leclercq 6c2bc910d2 Fixed log duplicating to stderr instead of stdout
Former-commit-id: 4eca34d28cd215d5d9a33435375fe9ae90071fb1
2012-11-08 14:22:12 +01:00
Jérôme Leclercq 1b61c97c8d Fixed NzFile::Text not being applied to stream
Former-commit-id: 59416a8ca8d86e9ef41945a168a9cc1e104efe4d
2012-11-08 14:21:40 +01:00
Lynix d5416fb139 Fixed cast
Former-commit-id: 2cbcf9c10c0d2bfd2cf441528ddf712bee80d7bd
2012-10-30 19:24:05 +01:00
Lynix 1d217837cf Added compiler tests and fixed MinGW warnings
Former-commit-id: 550d467e0997065943dc0b18a36d1be0edbb8114
2012-10-30 18:52:38 +01:00
Lynix f1eb859707 Fixed fprintf specifiers
Thanks to Quentin Huot-Marchand


Former-commit-id: 07bb2a1c2a0baaebac42f1664487624f8d39e16c
2012-10-30 17:37:17 +01:00
Lynix fcacaba7ca Cleaned code
Former-commit-id: a61b8bf3470036cd8a61199e78609206d959966f
2012-10-04 23:39:10 +02:00
Lynix 41bfaf6941 Fixed String::Simplified()
Former-commit-id: 6193b710728d0ff1ab0387428d65f0ce5bebd115
2012-10-04 09:34:29 +02:00
Lynix 7bab3d9443 Cleaned code
Former-commit-id: 65b235b0c8326e060ec7032bb2a153e22518a25a
2012-10-04 09:32:55 +02:00
Lynix 07e949404c Added NzStream and stream options
Former-commit-id: d2c69b12f34fffff4d412111e7af7cc4dbb638a8
2012-10-01 00:57:32 +02:00
Lynix a73cd1374a Normalized line ending
Former-commit-id: bd061c48bdc8f0d26159dac3b41017defef5ae1e
2012-09-21 14:24:48 +02:00
Jérôme Leclercq cc6f2a6fc9 Added InputStream::GetLine(size);
Former-commit-id: 4c5afc038877bfa9865285d044663df3f7932d58
2012-09-21 12:39:40 +02:00
Jérôme Leclercq 2ea37a1877 Added InputStream::EndOfStream()
Former-commit-id: d8618fbb677a73cb6890d913af66adb22e6c2a39
2012-09-21 12:07:13 +02:00
Jérôme Leclercq cd5a1b7a5e Added RenderTextures (And many others things)
-Added Forward, left and up vector (Vector3)
-Added Matrix4::ConcatenateAffine shortcut
-Added Quaternion::GetInverse() and Quaternion::Inverse()
-Added Resource listeners
-Added Depth and stencil pixel formats
-All enums now have an ending "max" entry
-Animation/Mesh::Add[Sequence/Skin/SubMesh] now returns a boolean
-Contexts are now resources
-Enhanced AnimatedMesh demo
-Fixed MD2 facing
-Fixed Vector3::CrossProduct
-Made Resource thread-safe
-Made OpenGL translation table global
-Many bugfixes
-MLT will now write malloc failure to the log
-Most of the strcpy were replaced with faster memcpy
-Occlusion queries availability is now always tested
-OpenGL-related includes now requires NAZARA_RENDERER_OPENGL to be
defined to have any effect
-Pixel formats now have a type
-Renamed RenderTarget::IsValid to IsRenderable
-Renamed Quaternion::GetNormalized() to GetNormal()
-Renamed Texture::Bind() to Prepare()
-Renamed VectorX::Make[Ceil|Floor] to Maximize/Minimize
-Removed MATH_MATRIX_COLUMN_MAJOR option (all matrices are column-major)
-Removed RENDERER_ACTIVATE_RENDERWINDOW_ON_CREATION option (Render
windows are active upon their creation)


Former-commit-id: 0d1da1e32c156a958221edf04a5315c75b354450
2012-09-20 22:07:30 +02:00
Lynix 15afde86c8 Rewritted ResourceLoader and moved it to core
Added creation constructor to NzImage
Added member function functor
Added option to build Nazara as one library (instead of many)
Fixed some 2011 copyrights
Made use of "using def = T" C++11 feature instead of some illigible
typedefs
Removed unused premake file
2012-08-18 01:46:01 +02:00
Lynix 5619ddb0b1 Changed all the files encoding to UTF-8
Named modules in licence informations
2012-08-10 03:21:37 +02:00
Lynix b442ab0bd2 Refactored mathematics module
Added AABBs
Added code examples
Added experimental support for texture arrays (1D/2D)
Added initialisers (new way of initialising modules)
Added global headers (Plus a global header generator script)
Added pattern support for directory
Added support for spinlocks critical section on Windows
Added NzRenderWindow::SetFramerateLimit
Core project now includes Mathematics files
Fixed color implementation using double
Fixed declaration needing renderer include
Fixed MLT not clearing nextFree(File/Line) after Free
Fixed move operators not being noexcept
Fixed thread-safety (Now working correctly - If I'm lucky)
Moved Resource to core
New interface for modules
New interface for the renderer
Put some global functions to anonymous namespace
Removed empty modules
Renamed ThreadCondition to ConditionVariable
Replaced redirect to cerr log option by duplicate to cout
Setting mouse position relative to a window will make this window ignore
the event
Shaders sending methods no longer takes the uniform variable name (it's
using ID instead)
Using new OpenGL 4.3 header
2012-08-08 04:44:17 +02:00
Lynix 06eda4eba9 Added Meshes and Animations (And many more)
Added NzTexture::IsMipmappingSupported
Color::(FromTo)HSV now takes hue and saturation in degrees
Fixed Context::EnsureContext
Fixed COW thread-safety (String, Image, Matrix4)
Fixed Quatenion<T>::operator*(const Vector3<T>&)
Fixed ResourceLoader
Fixed String::Resize with a size of 0
Fixed Texture mipmapping crash
Fixed per-class thread-safety
IndexBuffer and VertexBuffer are now resources
It is now possible to use more than 8 texcoords per shader
Moved all enumerations into separate files (Core/Enums.hpp,
Utility/Enums.hpp, ..)
Removed NzContextParameters::defaultWindow
VertexDeclaration has been rewritten (New interface/COW)
2012-07-13 15:22:14 +02:00
Lynix ee8a6fda3b Fixed last commit 2012-07-01 02:06:40 +02:00
Lynix 7ed9e16664 NzString::Clear now takes an optional argument
Fixed NzString::ToDouble rejecting legal strings
NzString::Clear can now keep the internal buffer to improve performances
NzStringToNumber now takes an optional argument to check if the
conversion went well
Optimized NzString::ToInteger
2012-07-01 00:44:53 +02:00
Lynix be0a5d2819 Fixed many bugs
Added NzOpenGL::GetEntry
Activated preprocessor error if not compiling with a C++11 compliant
compiler
Cube can now be constructed with a Rect
Desactived utility option "threaded window" (bugged)
Epured Image interface (No more UpdateFace, use Update with z = the face
you are targetting)
Fixed compilation errors (Thanks to RafBill)
Fixed predefined colors not exported
Fixed uplading pixels not aligned by 4 bytes
Fixed Thumbs.db files not ignored by git
NzImage now supports Filling and Flipping (Horizontally and vertically)
NzImage::Get(Const)Pixels now support pixel location
NzVector(2/3) can now return floatting distance/length with all types
NzVector(2/3/4) can now be constructed by a vector of smaller dimension
Premake now set "-std=c++11" build option for GCC
Renamed NzImage::(Get/Set)Pixel to (Get/Set)PixelColor
Updated new([])/delete([]) in the leaks tracker to the new C++11
signatures
2012-06-15 11:03:43 +02:00
Lynix e2a38b3790 First part of render texture commit
Added NzContext::EnsureContext and NzContext::GetThreadContext
Added NzCube
Added NzRect::GetCenter
Added methods to send vectors to shaders
Added NzRenderer::SetViewport
Fixed NzRect::ExtendTo calculations
Fixed NzImage::Update checks with level > 0
No longer use glTexStorage when creating a texture to prevent a bug
NzBuffer's Lock and Unlock operations renamed to Map and Unmap
NzVector2/3/4 can now cast implicitly to a pointer
Optimized compilation time of String.hpp
Optimized normalisaton of quaternions
Optimized passing uniforms to shaders
Quaternion now automaticaly Normalize h
Removed macro definition of NAZARA_RENDERER_OPENGL from Renderer
Removed implicit cast from NzVector2/3/4 to NzString
Renamed nzBufferLock to nzBufferAccess
Renamed NzRenderTarget::CanActivate to IsValid
2012-06-13 07:40:31 +02:00
Lynix dd4cb97a37 Added support for OpenGL debug mode
When NzContextParameters.debugMode is true, Nazara will receive OpenGL's
debug message and send them to Nazara's log
NzString::Pointer now have the "0x" prefix
Added support for ARB_texture_storage extension
Nazara now try to load core texture 3D before trying to load
EXT_texture3D
Added NazaraNotice macro, writing raw text into Nazara's log
Added NzContext::Destroy (called in Create)
2012-05-31 23:33:47 +02:00
Lynix b220e00c88 NzImage now handles mipmaps
Added NzRenderer::SetClearColor(const Color&)
Added describe comment for pixel formats
Fixed NzPixelFormat conversion for RGBA4 and RGB5A1 types
Fixed NzRenderer::Clear prototype
Renamed NzLock to NzLockGuard
ResourceLoader's loaders are now tested from newest to oldest
2012-05-30 18:10:17 +02:00
Lynix f39e2f7d36 NzString::Trim(med) can now take a limit flag
Fixed NzString::Simplified removing non-separator character with
HandleUtf8 flag
2012-05-28 16:21:27 +02:00
Lynix 96ea5fdaa7 Added NzImage::Get/SetPixel(Face)
NzImage::Update(const nzUInt8* pixels, const NzRectui& rect) now takes a
third argument to specify the layer of the 3D image (if a 3D image),
default to 0
Optimized NzPixelFormat conversion from RGBA4
Added NzColor
2012-05-27 11:57:34 +02:00
Lynix b243d15c74 Added formats conversion
Functor, NonCopyable, Tuple are now parts of NazaraCore (NazaraCore no
longer needs NazaraUtility)
Added loadFormat image parameter (ask loader to load image in specific
format)
Fixed utility project building
It is now possible to convert, get validity or get name of pixel formats
Changed endianness macros' name
Removed useless NazaraEndianness macro
Removed unused files
2012-05-24 18:55:48 +02:00
Lynix 506ad84def Experimental fix of FileImpl::EndOfFile on Windows 2012-05-22 11:36:34 +02:00
Lynix 9b3f4e794a Added Image
Added pixel format support
Added MemoryStream
Added Rect
Added ResourceLoader
Added generic loader (bmp, gif, hdr, jpg, jpeg, pic, png, psd, tga)
Added PCX loader
Added utility module initializer
Fixed Config.hpp include
Prerequesites.hpp now overwrites _WIN32_WINNT when defined
version is less than requiered version
Renderer's initialisation will implicitly initialize utility module
Removed RENDERER_SINGLETON option
Shaders are now resources
2012-05-21 21:54:13 +02:00
Lynix cef402c8a5 Added NzInputStream
Added NzFile::Read(buffer, size)
NzFile::Read(nullptr, size) now acts as a skip function (ex: SetCursorPos(GetCursorPos() + size)
2012-05-15 13:26:35 +02:00
Lynix 68b238fc74 Added SHA-1, SHA-224, SHA-256, SHA-384 and SHA-512 support 2012-05-10 00:53:36 +02:00
Lynix 997b6637d4 Fixed errors line number 2012-05-09 06:59:58 +02:00
Lynix e91cde657b Fixed per-class thread safety 2012-05-08 08:20:57 +02:00
Lynix 45f3fc4e28 Implemented COW into NzMatrix4; Optimized NzString COW 2012-05-07 13:02:07 +02:00
Lynix 5eee4acb74 Made MLT thread-safe 2012-05-02 16:58:48 +02:00
Lynix 7d117ce97c Laid the basis for rendering 2012-05-02 16:45:44 +02:00
Lynix 71b4262c51 First commit 2012-05-01 16:43:48 +02:00