Commit Graph

497 Commits

Author SHA1 Message Date
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
Faymoon 7c5b0df96c Make all component inherits of HandledObject (#185)
* 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

* Fix

* Make all component inherits of HandledObject

* fix: compilation error

* Add Handle alias for all Components

* forgot in last commit
2018-09-08 10:28:25 +02:00
Jérôme Leclercq 02383b1c0b Sdk/GraphicsComponent: Invalidates culling when adding/removing renderables 2018-09-07 13:34:55 +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
Lynix 109e6a89ca Sdk/PhysicsSystem2D: Removed copy constructor 2018-08-28 22:05:31 +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
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
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 602992609f Sdk/RenderSystem: Add EnableCulling method 2018-08-04 15:38:05 +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 6ab4a676c2 Fix deprecation warning 2018-08-02 15:43:18 +02:00
Faymoon 2f3f02b2fc 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
2018-08-02 11:25:57 +02:00
S6066 d91c48ab50 Widgets: Force parent parameter to be present (#172) 2018-07-31 13:24:28 +02:00
Jérôme Leclercq 7b6cc47e03 Sdk/Entity: Add IsDying method 2018-07-17 10:51:35 +02:00
S6066 49d33bea55 Implement LuaImpl* for Vector[2|3]<int> (#170)
* Implement LuaImplQueryArg for Vector[2|3]i

* Implement LuaImplReplyVal for Vector[2|3]i

* Edit changelog

* Fix previous commit crash

* Network/ENetPeer: Fix reliable sequence number wrap error

* Edit changelog

* what have I done to changelog
2018-07-10 14:48:23 +02:00
Lynix 6390da95d3 Fix previous commit crash 2018-07-07 14:35:11 +02:00
Jérôme Leclercq cb6885d6a9 Graphics/CullingList: Fix compilation errors on MSVC with /permissive- 2018-07-06 15:24:30 +02:00
S6066 858d0da5f2 Fix Sprite & GraphicsComponent copy constructors leaving some members uninitialized (#166)
* Fix Sprite copy constructor (corner colors)

* Also add change to changelog

* [GraphicsComponent] Bugfix: Initialize m_scissorRect in copy ctor

* Add change to changelog

* Move GraphicsComponent fix change to correct section in Changelog

* Use default copy constructor for Sprite
2018-06-17 18:54:02 +02:00
Jérôme Leclercq b2185f2138 Physics2D/RigidBody2D: Add ClosestPointQuery method 2018-06-12 15:11:16 +02:00
Jérôme Leclercq 15f84dc712 Noexcept all the things! 2018-06-12 11:37:44 +02:00
Lynix 0bea301a48 Fixed some uninitialized variables 2018-06-09 13:59:35 +02:00
Lynix 056bd0efdd SDK/GraphicsComponent: Add ForEachRenderable method 2018-06-06 19:37:58 +02:00
Lynix 4a6d9dba51 Sdk/EntityOwner: Fix move assignement operator 2018-04-24 21:55:55 +02:00
Lynix 97067cb566 Sdk/Entity: Fix movement
Fixes OnEntityDestruction not being moved
2018-04-22 12:46:41 +02:00
Lynix 65c6996ccd SDK/TextAreaWidget: Add support for line selection 2018-04-15 02:39:19 +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 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
Jérôme Leclercq e299e1f03e Sdk/World: Add ForEachSystem method 2018-04-09 12:37:58 +02:00
Jérôme Leclercq e99d34f195 Sdk/World: Add const getters for systems 2018-04-09 12:34:37 +02:00
Jérôme Leclercq 2d56911e82 Sdk/EntityList: Fix copy assignation 2018-03-12 09:19:46 +01:00
Jérôme Leclercq 464419db73 SDK/EntityList: Fix movement 2018-03-06 17:33:33 +01:00
Jérôme Leclercq 242e154f09 Sdk/World: Fix world movement not moving profiler status 2018-02-27 16:31:23 +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 7366d92818 Sdk/System: Fix time loss when using max update rate 2018-02-08 11:43:15 +01:00
Lynix 1e88e23854 Merge branch 'master' into physics3d-material 2018-01-28 14:28:44 +01:00
Faymoon 4911aff64f Fix assert message error : NodeComponent instead of ParticleEmitterComponent (#156) 2018-01-22 14:22:18 +01:00
Lynix c592acfd5f Merge branch 'master' into physics3d-material 2018-01-20 14:21:01 +01:00
germinolegrand 6d11e8d2ed Prerequisites instead of Prerequesites (typo) #152 Header Guard (#154)
For an unknown readon, this correction didn't get to the pull-request (?)
2018-01-19 14:25:33 +01:00
Jérôme Leclercq d267354fdf Sdk/World: Fix uninitialize value found by valgrind 2018-01-18 10:38:17 +01:00
Lynix c1cebe1425 Merge branch 'master' into physics3d-material 2018-01-17 18:25:57 +01:00
germinolegrand 1e55c4d9e9 Prerequisites instead of Prerequesites (typo) #152 (#153) 2018-01-16 12:23:01 +01:00
Lynix 4cb598c32b Merge branch 'master' into physics3d-material 2018-01-14 14:40:57 +01:00