Commit Graph

795 Commits

Author SHA1 Message Date
Lynix 0ec1480024 Add line wrapping 2019-07-05 23:12:12 +02:00
Lynix 296b5459c6 SDK/Console: Make use of ScrollAreaWidget 2019-07-05 22:26:22 +02:00
Lynix 42aa7ca355 SDK: Add ScrollAreaWidget (WIP) 2019-07-05 22:26:11 +02:00
Lynix 7c045a50db SDK/BaseWidget: Add Rendering rect 2019-07-05 22:25:45 +02:00
Lynix b214f48225 SDK/TextAreaWidget: Preferred size will now adjust to content 2019-07-05 22:24:49 +02:00
Lynix 2d4dd7a8ab SDK/Widgets: Fix Show overriding entity enabled state 2019-07-05 22:23:48 +02:00
Lynix 3bed2fb7fe SDK/BaseWidget: Add SetParent 2019-07-05 22:21:35 +02:00
Lynix c09b2d3747 SDK/Entity: Add OnEntity[Disabled|Enabled] signals 2019-07-05 22:21:06 +02:00
Lynix c4b7534ac1 SDK/TextAreaWidget: Fix clear not setting preferred size 2019-07-05 22:20:13 +02:00
Lynix 912b47cedf SDK/BaseWidget: Set preferred size no longer resize the widget 2019-07-05 22:19:53 +02:00
Lynix 5039bfbf1d SDK/BaseWidget: Add OnMouseWheelMoved event 2019-07-05 22:19:17 +02:00
Lynix 2c3bf482de Merge branch 'master' into console-widget 2019-07-03 22:31:17 +02:00
Lynix 6e7fd326db SDK/BaseWidget: Fix possible crash when disabling background 2019-06-13 19:06:09 +02:00
Lynix 29718db085 SDK/TextAreaWidget: Add TextOutline property 2019-06-13 19:05:25 +02:00
Lynix dcfd2ad8f9 Physics2D/PhysWorld2D: Add RaycastQuery and RegionQuery overloads taking a callback 2019-05-27 22:42:37 +02:00
Lynix ab5188c57d Add scancode and virtual key and fix some sdl stuff on Windows 2019-05-19 16:34:29 +02:00
Jérôme Leclercq b88c9b2cec Sdk/World: Fix entity kill and invalidation bug 2019-05-13 16:50:19 +02:00
Lynix 17236880d2 SDK/ImageWidget: Fixed sprite not following widget position 2019-04-16 01:46:49 +02:00
Lynix 79b0bd644c Add text outlines! 2019-04-16 01:46:26 +02:00
Lynix e61faae089 Physics2D/PhysWorld2D: Fix multiple calls to RegisterCallbacks with the same collision id 2019-04-15 16:25:40 +02:00
Lynix 0582cbfc26 Utility: Replace UInt32 by TextStyleFlags 2019-04-13 13:09:53 +02:00
Lynix 9d195c2750 Regenerate global headers 2019-04-07 21:36:16 +02:00
Lynix d234d2084d SDK/StateMachine: Fixed ignored transitiions 2019-04-07 21:36:08 +02:00
Lynix 793c5abfe3 SDK: Add LifetimeComponent and LifetimeSystem 2019-04-07 21:35:10 +02:00
Lynix ac49048679 Fix crash when debug drawing Collider2D with no CollisionComponent2D 2019-04-03 22:16:11 +02:00
REMqb 848f05a420 ~ Initial SDL2 implementation
Limitation
- Dependent projects need to set NAZARA_PLATFORM_SDL2 if nazara has been build with SDL2 since OpenGL.hpp (and maybe some other headers) exposes platform details
- SDL2 window doesn't supports async window since the API isn't fitting for now
- Contexts parameters can't be changed until we close all the SDL windows (SDL limitation)
2019-04-03 21:17:06 +02:00
Lynix 5e724b9c04 SDK/PhysicsSystem2D: Fix crash when raycast doesn't hit 2019-04-03 21:14:40 +02:00
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 54fb983f9e Sdk/PhysicsComponent2D: Add IsValid() method 2019-02-02 03:01:07 +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
Lynix 662ccbd5d0 Physics2D/RigidBody2D: Add possibility to setup a custom velocity function 2019-01-19 02:31:29 +01:00
Lynix 40cd8a7987 Physics2D/RigidBody2D: Add ForEachArbiter method 2019-01-19 02:29:27 +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
Lynix 9674d7373c SDK/PhysicsComponent2D: Add missing parameter to SetMass 2018-10-20 23:52:32 +02:00
Jérôme Leclercq 4c4822eef9 Core/ObjectHandle: Remade object handle system 2018-10-12 15:46:40 +02:00
Lynix 3933d5007d Physics2D/RigidBody2D: AddTorque now takes a RadianAnglesf instead of a float 2018-10-11 00:08:26 +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 30348525d7 Physics2D: Expose elasticity/friction/surface velocity 2018-10-09 23:22:28 +02:00
Lynix dc6fbfc90f Replace floating point angle by Angle class instance 2018-10-09 23:20:53 +02:00
Lynix f02f206aff SDK/PhysicsComponent2D: Allow massless bodies 2018-10-07 17:34:46 +02:00
Lynix 5108eb8906 Sdk/EntityOwner: Make Entity* constructor implicit 2018-10-01 23:14:02 +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
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
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 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
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 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
Lynix f2487bbcba Merge branch 'master' of https://github.com/DigitalPulseSoftware/NazaraEngine 2018-07-15 16:46:34 +02:00
Lynix a12c72186f Sdk/DebugSystem: Fix OBB drawing 2018-07-15 16:46:32 +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 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
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 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 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 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