Commit Graph

66 Commits

Author SHA1 Message Date
Jace 3f9866b334 Crudely caching model matrix calculations, work in progress. 2016-03-11 01:28:22 +01:00
William Moberg 4c87ca10b9 Merge branch 'master' into BoxModelCollision 2016-02-19 14:17:17 +01:00
William Moberg 22664848dc You should not be able to fall through ground or dash thru walls. Very thin objects may still be possible to go through, e.g. the grid border walls in GameMap.xml. 2016-02-19 14:16:22 +01:00
William Moberg 72db672dbf Ray will not hit objects in octree if they are transparent or invisible. 2016-02-17 16:06:35 +01:00
William Moberg 23bb1a6405 Cannot respawn inside other players, unless all are blocked. 2016-02-17 14:54:59 +01:00
Jace 5e05e51309 Fixed EntityFirstHitByRay not returning outDistance properly 2016-02-11 20:01:23 +01:00
William Moberg 73f59b89cc Added method EntityFirstHitByRay, takes an Octree or a vector of sorted entities and outputs the frist entity hit by a ray. 2016-02-11 00:11:37 +01:00
William Moberg 27cdccac75 Frustrum octree should only get AABBs derived from Model now. 2016-02-10 16:10:41 +01:00
William Moberg b2d35c80f7 Merge branch 'master' into FrustumCulling
# Conflicts:
#	src/Engine/Collision/Collision.cpp
2016-02-10 15:08:40 +01:00
William Moberg f3a76eb13e Explosion effects should get a proper sized AABB. 2016-02-10 15:00:13 +01:00
viktorljung 08328a781c Merge remote-tracking branch 'origin/master' into Animations
# Conflicts:
#	assets
#	include/Engine/Rendering/Model.h
#	src/Engine/Collision/Collision.cpp
2016-02-10 14:13:08 +01:00
viktorljung afebf879a0 Merge fixes 2016-02-10 13:44:47 +01:00
viktorljung 49e6252ee1 Merge remote-tracking branch 'origin/master' into Animations
# Conflicts:
#	include/Engine/Rendering/DrawFinalPass.h
#	resources/Schema/Components.xsd
#	resources/Schema/Entities/CollisionTestLevel.xml
#	resources/Schema/Types/Entity.xsd
#	src/Engine/Collision/Collision.cpp
#	src/Engine/Rendering/DrawFinalPass.cpp
#	src/Engine/Rendering/RenderSystem.cpp
2016-02-10 11:33:45 +01:00
William Moberg ecfacee587 Undo debug test code. 2016-02-09 19:33:28 +01:00
William Moberg a93ccecfeb Debug test code. 2016-02-09 19:23:12 +01:00
William Moberg 7140b740b5 Models/Collideables/etc. won't need a AABB component anymore, if it has a Model component. In addition, they should take rotation into account, i.e it doesn't have to be axis-aligned. 2016-02-09 19:20:04 +01:00
William Moberg 93c6f3c0a3 AABBs are auto attached when adding Trigger/Collideable/etc, also added AttachComponent method to ComponentWrapper. 2016-02-08 14:34:37 +01:00
William Moberg 428dca003d Tiny bug fix. 2016-02-05 14:40:50 +01:00
William Moberg 4fe9e4f1c3 Debug cleanup and some bug fixes. 2016-02-05 14:38:08 +01:00
William Moberg d61e605093 Can walk up "stair-steps". Cleanup WIP.
Better performance in RectanglevsTriangle check.
Added IsOnGround flag and VerticalStepHeight in Physics.
Lotsa commented code saved for historical reasons, remove later.
2016-02-05 10:56:34 +01:00
William Moberg 214dad2afc Removed commented code. 2016-02-02 17:25:59 +01:00
William Moberg affcc5305b Collision affects velocity correctly, no wierd ice cream sliding along walls. 2016-02-02 17:19:59 +01:00
Teejoon 4357759715 Merge branch 'Importer' of https://github.com/teamfisk/TacticalZ into Importer 2016-02-02 17:18:54 +01:00
Teejoon bb4a65a1db Non-skined mesh WIP 2016-02-02 17:18:42 +01:00
William Moberg 30b1dab764 More efficient collision resolution case + comments. 2016-02-01 18:06:28 +01:00
William Moberg 5a45f778e6 Fixed so players don't teleport to (NaN, NaN, NaN) on spawning. 2016-02-01 17:01:58 +01:00
William Moberg d7b02e79c8 Merge branch 'master' into BoxModelCollision
# Conflicts:
#	include/Engine/Collision/CollisionSystem.h
#	src/Engine/Collision/CollisionSystem.cpp
2016-02-01 13:48:05 +01:00
William Moberg 76274c326e Fixed going through flat large triangles. Velocity affected by collision. 2016-02-01 13:34:39 +01:00
Jace 788407b709 Made CollisionSystem aware of entities 2016-01-27 15:42:50 +01:00
Jace 5fcd26cd3e Made TriggerSystem make use of Octree 2016-01-27 13:35:16 +01:00
William Moberg 6ea490e215 Tried a horrible recursive method, extreme framedrop. 2016-01-27 10:34:26 +01:00
William Moberg 3389b965eb Test on game level v1. 2016-01-25 10:55:05 +01:00
William Moberg f1343e2f82 Collision may be working, kind of. 2016-01-24 21:08:42 +01:00
William Moberg 910b3d10e4 WIP (false collisions), collision method expanded, not working. 2016-01-24 15:32:10 +01:00
William Moberg e6224a4e96 WIP (not working), attempt at separating axis theorem stuff. 2016-01-23 18:31:27 +01:00
William Moberg 6eeb3ea524 WIP, Bug fix + nitpicks + optimizations. 2016-01-23 17:50:35 +01:00
William Moberg 71404c8828 Special case for collision vs ground (upward facing) triangles. 2016-01-23 14:01:54 +01:00
William Moberg 3974c649ab WIP on ModelBoxCollision. Octree works in Release mode. 2016-01-23 10:45:50 +01:00
William Moberg 1670fb4e48 Moved triangle vs ray code to method. 2016-01-22 14:45:50 +01:00
William Moberg 3955e1d60c Can resolve collision when AABB corners cut through triangle.
At least two more cases left to resolve.
2016-01-22 13:46:09 +01:00
William Moberg 52765cc85b TriangleVsBox detection seems to work in all cases, but cannot resolve all cases yet.
Also added default ctor for Ray and removed compilation errors in CollisionSystem.
2016-01-22 11:22:56 +01:00
William Moberg de7c8e9234 WIP, collision detects too much, no resolving for most cases. 2016-01-21 17:10:36 +01:00
William Moberg 4d5b835352 WIP triangles vs. AABB. 2016-01-20 16:43:09 +01:00
Jace b2213dbe9a Merge remote-tracking branch 'origin/master' into PlayerMovement
# Conflicts:
#	include/Engine/Collision/Collision.h
#	include/Engine/Collision/CollisionSystem.h
#	include/Engine/Collision/TriggerSystem.h
#	resources/Schema/Components.xsd
#	resources/Schema/Entities/CollisionTestLevel.xml
#	resources/Schema/Types/Entity.xsd
#	src/Engine/Collision/Collision.cpp
#	src/Game/Game.cpp
2016-01-15 20:28:43 +01:00
William Moberg f5ea4d513c ResourceManager::Load never returns null, throws exceptions instead. 2016-01-15 15:25:01 +01:00
William Moberg 4cf6dcfc14 Merge branch 'master' into AsyncResourceLoad
# Conflicts:
#	include/Engine/Rendering/RawModel.h
#	src/Engine/Rendering/RenderQueueFactory.cpp
2016-01-15 10:10:57 +01:00
Jace 5e721325a4 Merge fixes 2016-01-14 18:20:51 +01:00
William Moberg 71047b08ec Async load works, using exceptions for special resources. 2016-01-14 16:27:45 +01:00
Jace d34470256b EntityWrapper to uniquely identify entities and make using them a little easier 2016-01-14 15:43:19 +01:00
Jace 71d936f8d1 Start of a movement system with collisions against AABBs 2016-01-14 14:54:12 +01:00