Commit Graph

536 Commits

Author SHA1 Message Date
Lynix 4ff43f2f72 Sdk/DebugSystem: Fix collision 2D offset 2019-03-27 23:10:37 +01:00
Lynix 4821eb14a7 Physics2D: Fix some last stuffs 2019-03-26 22:01:10 +01:00
Lynix ae20ad6b65 Sdk/DebugSystem: Take position offset into account 2019-03-26 21:02:50 +01:00
Lynix 59dffe1a7b CollisionComponent2D: Rename Align to Center (and make it take a vector) 2019-03-26 21:02:31 +01:00
Lynix 23887cc519 Merge branch 'master' into physics2d-position-offset 2019-03-26 20:33:40 +01:00
Lynix e00d0baa00 SDK/DebugSystem: Add support for Collider2D 2019-03-26 19:05:25 +01:00
Lynix 3beeeebc1d Physics2D/RigidBody: Add position offset 2019-03-26 18:59:18 +01:00
Lynix 097d16f664 SDK/GraphicsComponent: Fix material update not invalidating culling 2019-03-10 15:13:16 +01:00
Lynix 2873a60775 SDK/GraphicsComponent: Fix AABB miscalculation
(may occur with 2D objects when depth is zero)
2019-02-02 03:00:48 +01:00
Faymoon fc86d098c3 Update Velocity[System/Component] to add CoordSys_Local support (#193) 2019-01-11 09:29:37 +01:00
Lynix 1c0a234d04 Merge branch 'master' into console-widget 2018-10-31 18:39:14 +01:00
Lynix 400e8e92aa Merge branch 'master' into console-widget 2018-10-29 22:20:58 +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 fa7cbc21e5 SDK/PhysicsSystem2D: Fix initial position/rotation 2018-10-24 20:54:11 +02:00
Lynix 2c0c8ef0a0 SDK/PhysicsComponent2D: Add node synchronization 2018-10-24 20:38:20 +02:00
S6066 56922001ba Widgets Fixes (#190)
* CheckboxWidget: Check

* ImageWidget: Check

* LabelWidget: Delete uselessly overridden Layout

* ProgressBarWidget: Check
2018-10-09 23:23:22 +02:00
Lynix dc6fbfc90f Replace floating point angle by Angle class instance 2018-10-09 23:20:53 +02:00
Lynix f6b0405f9b Sdk/RenderSystem: Resolve skinning before rendering 2018-09-30 18:08:17 +02:00
Jérôme Leclercq 53aa9ea170 Layouts (#189)
* Layout WIP

* Widgets/BoxLayout: Fix layout algorithm

* Widgets/BoxLayout: Fix box layout algorithm for good

* SDK/Widgets: Remove padding

* Sdk/Widgets: Make use of minimum/preferred size

* Sdk/TextAreaWidget: Add Minimum/PreferredSize to TextArea

* Sdk/Widgets: Add height/width variants of get/set fixed, maximum, minimum and preferred size methods

* Sdk/BoxLayout: Remove useless code

* Sdk/TextAreaWidget: Fix compilation

* Widgets/TextAreaWidget: Fix cursor position
2018-09-11 21:03:44 +02:00
Jérôme Leclercq 02383b1c0b Sdk/GraphicsComponent: Invalidates culling when adding/removing renderables 2018-09-07 13:34:55 +02:00
Jérôme Leclercq b019fc4f6d Sdk/GraphicsComponent: Fix generated AABB 2018-09-07 13:26:14 +02:00
Lynix 566e5b4dcf Sdk/DebugSystem: Increase line width to 2 2018-08-31 22:01:21 +02:00
Lynix a5c2a433f8 Sdk/DebugSystem: Draw global AABB in orange 2018-08-31 22:01:06 +02:00
Lynix 8ce8eafb88 Sdk/DebugSystem: Fix AABB/OBB debug draw 2018-08-31 21:45:57 +02:00
Lynix b739965b1d Graphics/RenderSystem: Add supports for partial culling 2018-08-31 21:45:35 +02:00
Jérôme Leclercq e42ff5b18a Sdk/GraphicsComponent: Remake bounding volume handling
GraphicsComponent now only have an AABB but their instanced renderable now have individual BoundingVolume
2018-08-31 17:32:48 +02:00
Jérôme Leclercq 7bb6c84752 Graphics/CullingList: Improve culling list
- Now supports box culling
- Removed branch
- Removed complex hash combination and replaced it with a much faster algorithm
- It now supports partial visibility
2018-08-31 17:26:50 +02:00
Lynix 78faacf03f PhysicsSystem2D: Fix RegisterCallbacks for good
Allowing move instead of forcing copy
Fixing RegisterCallbacks overload
2018-08-28 22:05:15 +02:00
Lynix cd0647008c SDK/PhysicsSystem2D: Fix temporary taken by reference 2018-08-28 21:56:32 +02:00
Lynix fd9db1b639 Graphics/CullingList: Add forceInvalidation parameter 2018-08-25 22:41:34 +02:00
Faymoon 2db5273d36 Fix (#184) 2018-08-23 17:29:02 +02:00
S6066 d83c12c2d3 TextAreaWidget: Make Tab writable (#175)
* TextAreaWidget: Make Tab writable

* Implement Tab ena/disabling, disable it by default

* Log change

* Rename Tab Enabling function

* Add useful Write/Delete functions

* Finished!

* whoops

* Fix everything

* whoops

* I don't know why but it works

* whoops

* I'M PUSHING.
2018-08-14 20:53:26 +02:00
Faymoon beca6e7dd5 little fixes (#183)
* 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

* Add calls to GetPhysWorld to attempt a nullptr value

* update include

* little fix

* add some missing inline
2018-08-14 18:44:41 +02:00
Lynix 8ffe7f14ba Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine 2018-08-08 10:34:32 +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
Lynix 5bb16ab016 Revert "Sdk/DebugSystem: Fix OBB drawing"
This reverts commit a12c72186f.
2018-08-05 15:09:26 +02:00
Lynix 602992609f Sdk/RenderSystem: Add EnableCulling method 2018-08-04 15:38:05 +02:00
S6066 cf24b8abe4 TextAreaWidget: Implement movement with Ctrl key (#176)
* TextAreaWidget: Implement movement with Ctrl key

* whoops, remove useless comments

* Fixies
2018-08-03 08:45:42 +02:00
S6066 05f277deeb Ndk/TextAreaWidget: Add possibility to write only one specific character category (#174)
* Ndk/TextAreaWidget: Add possibility to write only one specific character category

* Add support for multiple categories

* Use a predicate instead of an enum

* Log change

*  String::FindLast/FindWord: Fix bug where index wouldn't be used (#177)

* String::FindLast/FindWord: Fix bug where index wouldn't be used

* Log change

* Update Physics2D Component and Body (#178)

* 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

* Physics2D: Add Arbiter2D

* Fix deprecation warning

* Fix units tests :derp:

* Fixies
2018-08-03 08:43:48 +02:00
Jérôme Leclercq 7b6cc47e03 Sdk/Entity: Add IsDying method 2018-07-17 10:51:35 +02:00
Lynix a12c72186f Sdk/DebugSystem: Fix OBB drawing 2018-07-15 16:46:32 +02:00
Jérôme Leclercq 56b23a2f27 Network/SocketPoller: Wait() now returns the number of active sockets, and optionally the last error
It will also ignore the EINTR error on Linux
2018-06-12 14:31:49 +02:00
Lynix bc2f6f67cc Graphics/InstancedRenderable: Add Clone method 2018-06-06 19:36:46 +02:00
Jérôme Leclercq adab3cbc93 Sdk/DebugSystem: Fix OBB not taking offset in account 2018-05-03 13:33:29 +02:00
Jérôme Leclercq d94baf133b Utility/Mesh: Refactor Mesh & Submeshes 2018-05-03 13:32:17 +02:00
Lynix 97067cb566 Sdk/Entity: Fix movement
Fixes OnEntityDestruction not being moved
2018-04-22 12:46:41 +02:00
Lynix 2147156df9 RenderSystem: Temporary fix for lights not changing positions 2018-04-21 00:30:21 +02:00
Lynix 9f74b71bd6 DebugSystem: Fix crash when asked to show collision mesh but entity has no collidercomponent 2018-04-21 00:27:46 +02:00
Lynix d234d66120 Fix compilation 2018-04-15 03:31:01 +02:00
Lynix 65c6996ccd SDK/TextAreaWidget: Add support for line selection 2018-04-15 02:39:19 +02:00
Lynix d253ec1adc Sdk/GraphicsComponent: Fix bounding volume when using a local matrix 2018-04-15 02:30:36 +02:00
Lynix 3362a4f160 Sdk/DebugSystem: Fix some warnings 2018-04-14 00:09:07 +02:00
Lynix 251b8af03a SDK: Add DebugComponent
@gawaboumga @gawaboumga @gawaboumga @gawaboumga @gawaboumga @gawaboumga @gawaboumga @gawaboumga @gawaboumga @gawaboumga
2018-04-13 22:09:19 +02:00
Jérôme Leclercq 42b4759680 Sdk/Application: Give/clear console focus when enabling/disabling it 2018-04-12 13:42:54 +02:00
Jérôme Leclercq 26f0a9fec9 Sdk/Console: Add ClearFocus/SetFocus methods
Theses should be virtuals
2018-04-12 13:42:36 +02:00
Jérôme Leclercq 6fb44796a0 Sdk/Console: Fix SetCharacterSize not updating character size 2018-04-12 13:41:48 +02:00
Jérôme Leclercq 7cc94d0617 Sdk/Console: Fix merge issue 2018-04-12 13:41:30 +02:00
Jérôme Leclercq 583cfb5f71 Fix console size 2018-04-12 13:40:03 +02:00
Jérôme Leclercq 16014d3f37 Merge branch 'master' into console-widget 2018-04-12 12:47:17 +02:00
Jérôme Leclercq 2da086b7df New Render queues (#161)
* Add new render queues proof of concept + scissoring support (WIP)

* Graphics: Adapt basic sprites rendering to new render queue system

* Graphics: Fix layers when rendering sprites

* Graphics/RenderQueue: Fix sprite default overlay

* Graphics: Enable scissor test by default

* SDK/Widgets: Enable scissoring on widgets

* Graphics: Handle almost everything with the new renderqueues system

Todo:
- Billboard rendering
- Proper model rendering

* Graphics/RenderQueue: Billboard drawing now works (WIP)

At 1/4 of previous code performances due to individually process of billboards

* Add new render queues proof of concept + scissoring support (WIP)

* Graphics: Adapt basic sprites rendering to new render queue system

* Graphics: Fix layers when rendering sprites

* Graphics/RenderQueue: Fix sprite default overlay

* Graphics: Enable scissor test by default

* SDK/Widgets: Enable scissoring on widgets

* Graphics: Handle almost everything with the new renderqueues system

Todo:
- Billboard rendering
- Proper model rendering

* Graphics/RenderQueue: Billboard drawing now works (WIP)

At 1/4 of previous code performances due to individually process of billboards

* Graphics/RenderQueues: Add full support for billboards

* Graphics/RenderQueue: Cleanup and improve billboard rendering

* Graphics/RenderQueue: Fix model drawing

* Examples/Particles: Fix lighting on space station

* Graphics: Cleanup forward render queue/technique

* Fix compilation under Linux

* Graphics/ForwardRenderTechnique: Fix case when scissoring is enabled on material but disabled on element

* Add support for Deferred Shading

* SDK/Widgets: Fix widget rendering

* Graphics: Remove legacy code from render queues

* Graphics: Fix some objects sometimes not showing up due to broken scissor box

* Fix compilation error

* Sdk/GraphicsGraphics: Fix bounding volume

* SDK/World: Fix self-assignation

* Update changelog for render queues
2018-04-11 19:36:52 +02:00
Lynix ae2fd0069a SDK/ListenerSystem: Handle velocity in a generic way (no longer require a VelocityComponent) 2018-04-08 17:52:12 +02:00
Lynix 166ecffc32 Sdk/[Collision|Physics]Component2D: Set internal rigidbody userdata to the entity id 2018-02-17 14:22:25 +01:00
Lynix af12c5ed92 Merge branch 'master' into physics3d-material 2018-02-11 14:39:14 +01:00
Jérôme Leclercq 34fe5dd466 Fix refresh Lua binding and comments 2018-02-08 16:25:52 +01:00
Jérôme Leclercq a9364ab7e2 Sdk/World: Add profiler 2018-02-08 16:25:27 +01:00
Jérôme Leclercq 6161b1a751 Sdk/World: Use a Bitset to store free entity id 2018-02-08 15:15:56 +01:00
Jérôme Leclercq 555817e3ee World: Rename Update() to Refresh()
Also updated comment block
2018-02-08 14:32:53 +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
Lynix c592acfd5f Merge branch 'master' into physics3d-material 2018-01-20 14:21:01 +01:00
Lynix 5380b6a41b Lua/LuaInstance: Move library initializations to LoadLibraries 2018-01-20 14:20:46 +01:00
Lynix c1cebe1425 Merge branch 'master' into physics3d-material 2018-01-17 18:25:57 +01:00
Lynix 19580c859f Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine 2018-01-16 21:30:21 +01:00
germinolegrand 1e55c4d9e9 Prerequisites instead of Prerequesites (typo) #152 (#153) 2018-01-16 12:23:01 +01:00
Lynix 76043e4f2e Merge branch 'master' into physics3d-material 2018-01-14 18:05:44 +01:00
Lynix 78c2e06b58 Sdk/PhysicsSystem3D: Fix CollisionComponent3D teleportating causing velocity increase in physical objects 2018-01-14 18:05:29 +01:00
Lynix 4cb598c32b Merge branch 'master' into physics3d-material 2018-01-14 14:40:57 +01:00
Faymoon 4f6bf30f24 Constraint 2D (#147)
* Rename all Constraint by [name]Constraint3D

* Create Refs and Libraries for Constraint2D

* Remove ref to PhysWorld in Constraints ctors

* Update Constraint2d ctor to have RigiBodies first

* Add New static function for all constraints and fix an oopsie

* Add Contraint Library and remove all library useless aliases

* Add ConstraintComponent2D

* remove useless definition of Constraint2D library

* Fix : getting the world of the constraint before having created it

* Make the GetStaticBody function return a ref

* Remove : Useless AddJoint Fonction and Update CreateJoint function

* Update PhysicsSystem3D because GetStaticBody return now a ref

* Oops

* Having done something with the 3D and i was needing 2D

* Add ConstraintComponent as friend of Collision and PhysicsComponent

* Update all the Get[Static/Rigid]Body function so they return a pointer

* fix the bugs caused by the commit before

* update : CreateConstraint lambda for the nullptr case

* remove the useless  use of const pointer

* Update : CreateConstraint function

* Update ChangeLog.md
2018-01-13 11:03:03 +01:00
Lynix fd8306f17f Core/String: Replace implicit operator std::string by ToStd::String 2017-12-14 19:50:06 +01:00
Lynix e302667c21 Merge branch 'master' into physics3d-material 2017-12-14 18:15:35 +01:00
Lynix 5aab9b248d Sdk/PhysicsComponent3D: Fix cloning by preserving physics states 2017-12-13 22:17:50 +01:00
Jérôme Leclercq 4eb3520be8 Sdk/PhysicsComponent3D: Add node synchronization control 2017-12-13 10:36:27 +01:00
Lynix afa874de26 WIP on materials 2017-12-10 22:17:41 +01:00
Lynix f1b84bfc9e Sdk/Physics3D: Handle properly disabled physics entity 2017-12-10 14:07:18 +01:00
Lynix 498bd77d8a Sdk/BaseComponent: Add OnEntityDisabled and OnEntityEnabled callbacks 2017-12-10 14:06:43 +01:00
Lynix 0df70dcb16 Physics3D/RigidBody3D: Rename [Get|Set]Velocity to [Get|Set]LinearVelocity 2017-12-10 12:09:36 +01:00
Lynix 6d09abbc2c Physics3D/RigidBody3D: Add [Get|Set][Angular|Linear]Damping 2017-11-30 12:04:33 +01:00
Lynix 9eaf995b21 Sdk/CollisionComponent2D: C++14 cleanup 2017-11-28 23:21:32 +01:00
Jérôme Leclercq 377dd992b9 Sdk/Canvas: Implement tab/shift-tab to switch to next/previous widget 2017-11-23 14:48:59 +01:00
Jérôme Leclercq 4116984f9f Sdk/Canvas: Rename widgetbox to widgetentry 2017-11-23 13:54:58 +01:00
Jérôme Leclercq 3cff3fbadc Sdk/TextAreaWidget: Fix cursor showing up on readonly text area 2017-11-23 13:24:13 +01:00
Jérôme Leclercq 1601849a00 Sdk/BaseWidget: Add HasFocus method 2017-11-23 13:23:11 +01:00
Jérôme Leclercq b83a9b60e7 Sdk/World: Fix destruction retrieval while world clear 2017-11-22 10:26:33 +01:00
Faymoon 06ac8cf904 Add AddImpulse for PhysicsComponent2D (#141)
* Update PhysicsComponent2D.hpp

* Update LuaBinding_SDK.hpp

* Update LuaBinding_SDK.cpp

* Update LuaBinding_SDK.cpp

* Add : AddImpulse

* Add : AddImpulse

* Add : binding of PhysicsComponent2D

* add : handle

* fix alphabetical order

* complete PhysicsComponent2D binding

* Update LuaBinding_SDK.cpp

* Update LuaBinding_SDK.hpp

* Update PhysicsComponent2D.hpp

* Update PhysicsComponent2D.inl

* forgot : use namespace Nz and open namespace Ndk

* Update PhysicsComponent2D.hpp

* Add Addimpulse

* Update PhysicsComponent3D.hpp
2017-11-21 12:17:11 +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
Jérôme Leclercq 16d4a6ac1c Sdk/BaseWidget: Fix compilation, for real 2017-11-15 10:48:30 +01:00
Lynix 14924f0e74 Sdk/BaseWidget: Fix compilation on Linux 2017-11-15 01:25:33 +01:00
Lynix 55bbc282db Sdk/TextAreaWidget: Fix compilation 2017-11-11 18:53:51 +01:00
Lynix 0487b282d7 Sdk/TextAreaWidget: Show cursor as long as focus is active 2017-11-11 18:42:30 +01:00
Lynix f136530a74 BaseWidget: Renamed GrabKeyboard to SetFocus, added ClearFocus and focus virtual methods 2017-11-11 18:38:11 +01:00
Lynix f5b639ec0f Sdk/TextAreaWidget: Fix detail about cursor
When moving cursor to the left when already at the beginning of a line, make it move to the upper line
2017-11-11 18:19:44 +01:00