Commit Graph

104 Commits

Author SHA1 Message Date
Jace 3bc7dceca5 Made EntityWrapper hashable 2016-01-18 14:55:49 +01:00
Jace e2357b8625 Fixed absolute position not taking scale into account 2016-01-17 06:23:13 +01:00
Jace 6ec2258758 Added UniformScale component which keeps an entity's scale at a uniform value relative to the screen. 2016-01-17 06:22:35 +01:00
Jace 9f447afbdb Added EntityWrapper::Valid and bool overload to be check if an entity is valid and still exists in the world more easily 2016-01-17 06:20:27 +01:00
Jace f281d220de Working Spawner, SpawnPoint, PlayerSpawn and Team components, along with their systems. 2016-01-17 01:00:48 +01:00
Jace 9ec32464bc Added enum support to entity file format, see "Team" component for an example. Use ComponentInfo::Enum to convert enum string keys to its corresponding integer representation at runtime. 2016-01-16 23:12:24 +01:00
Jace f65ac65e30 Updated component defaults files to match component schema and made schema validation strict. 2016-01-16 17:03:57 +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
Jace 8bd5a428b9 EntityFileParser now ignores component fields not present in component definition instead of crashing. 2016-01-15 20:25:48 +01:00
Jace db1b972cd1 Spawner, SpawnPoint and PlayerSpawn components, and base work on their systems 2016-01-15 18:32:47 +01:00
Jace 97e12ff550 Made EntityFileParser::MergeEntities return the base entity that was created, and also take an optional parent entity to create it under. 2016-01-15 18:31:32 +01:00
William Moberg c09fe4ae55 Added a bool option to disable threads in in the configfile regarding resource loading. 2016-01-15 16:18:39 +01:00
William Moberg f5ea4d513c ResourceManager::Load never returns null, throws exceptions instead. 2016-01-15 15:25:01 +01:00
William Moberg 76f90ab031 The main thread is not mutex blocked while child threads load anymore. 2016-01-15 11:29:46 +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 567173c565 Merge branch 'master' into PlayerMovement
# Conflicts:
#	src/Engine/Rendering/RenderSystem.cpp
#	src/Game/Game.cpp
2016-01-14 18:24:34 +01:00
Jace 627108c6ee Fixes for #30
# Conflicts:
#	src/Game/Game.cpp
2016-01-14 18:15:38 +01:00
Jace 99406c32cf Better error handling for EntityFilePreprocessor 2016-01-14 17:01:39 +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 28392def79 Made string passing in World a little more effective 2016-01-14 15:42:55 +01:00
William Moberg 9f185a1e35 Wrecked the last commit. Async loading works now. 2016-01-13 18:51:45 +01:00
Jace d6ef527f25 Basic collisions using Octree. Seems buggy over octree boundaries. 2016-01-13 15:34:43 +01:00
Jace 311475cbb6 Renamed all OctTree to Octree (More OCD) 2016-01-13 12:15:36 +01:00
Jace 8164a955d6 Renamed OctTree files to Octree (OCD to the max) 2016-01-13 12:15:09 +01:00
William Moberg a58cc33ed0 WIP, multithreaded loading based on exceptions, very slow probably. 2016-01-13 10:58:31 +01:00
Jocke 236230d12c Packets now dynamically allocates more memory when they need it.
Increased local receive buffer for Client and Server() and removed the magic number that was used
In Server.h and Client.h
(char readBuffer[INPUTSIZE] = { 0 }).
Packets start size has now been increased to 512 bytes.
Changed ComponentInfo::FieldsInOrder to store strings instead of pointers.
Removed HasEntity() and are now using ValidEntity() instead.
2016-01-12 12:00:19 +01:00
Jocke b37ffc7449 WIP Model component not working. 2016-01-11 14:58:49 +01:00
Jace 4a516a4d86 Added ComponentInfo::FieldsInOrder to be able to loop through component fields in a consistent order based on the component XSD definition 2016-01-11 14:56:53 +01:00
Jace 21aea6f31d Added World::ValidEntity for checking if an entity exists or not 2016-01-11 14:35:41 +01:00
Jace 297a3fb493 Support for "name" attribute on entities 2016-01-11 14:35:41 +01:00
Jace e8e93587e9 Fixed weird behavior when components would register multiple times (Hint: It should never happen in the first place) 2016-01-11 14:35:41 +01:00
Jace 39dd27726d MAJOR BREAKING CHANGE: EntityID 0 is now a valid entity. Use EntityID_Invalid as sentry for checks!
Also contains inseparable editor changes.
2016-01-11 14:35:41 +01:00
Jace 6adc98eea5 Now writes entities to file instead of stdout... 2016-01-11 14:35:41 +01:00
Jace 11d547cde8 Entity 0 is now a real entity in the world, created by the first entity read while importing. This makes the difference between map files and entity files automatic, since consecutive entity file loads should automatically get the world as parent, as long as the world entity has been created earlier. 2016-01-11 14:35:41 +01:00
Jace 24b9e951c2 Added stride information to ComponentInfo, refactored FieldOffsets and FieldTypes into new struct Field_t Fields while I was at it. 2016-01-11 14:35:41 +01:00
Jace 81024b4a1d First work on EntityFileWriter for saving levels 2016-01-11 14:35:41 +01:00
Jace 23e78c4947 Cleaned up code 2016-01-11 14:35:15 +01:00
Jace 0bcbcda8b8 EntityFilePreprocessor
WIP

WIP

EntityFilePreprocessor
2016-01-11 14:35:15 +01:00
verysecrethero f67f22c82d Added Healthrelated events and start of HealthSystem, also reverted the crash "fix" 2016-01-07 14:53:31 +01:00
Jace 49884d7e60 Fix for crash when unsubscription during event processing (untested) 2016-01-06 13:47:02 +01:00
William Moberg a26c8f2a24 Merge branch 'master' into OctTree 2015-12-17 17:30:44 +01:00
William Moberg 0f59b863ee Renamed IF_DEBUG_IS to DEBUG_IF, slightly different behavior and added some safety checking for auto creating AABBs from models. 2015-12-17 17:08:47 +01:00
William Moberg 46ae2d39af Merge branch 'master' into OctTree
# Conflicts:
#	src/Game/Game.cpp
2015-12-17 16:44:01 +01:00
Jace c1b9404e52 Created a FileDropped event for when a file is dropped onto the client by the OS 2015-12-17 15:30:43 +01:00
William Moberg 5160a45b44 Made Ray into a class with checks so the direction will always be normalized. 2015-12-17 13:41:34 +01:00
William Moberg 03d5f0dd67 Added an macro IF_DEBUG_IS(x) that executes if run in debug mode, AABB has a check so max and min corners are set properly in debug mode. 2015-12-17 13:31:54 +01:00
Jace dbbbb7b4e7 Working rotations and translations relative to global and local space for children 2015-12-16 17:20:56 +01:00
William Moberg a23d69af9a Removed old relics from OctTree testing in OctTree. 2015-12-16 17:08:55 +01:00
William Moberg 99b76d7ae1 Fixed returning address to temporary in functions. AABB also constructible from glm::vec4s. 2015-12-16 12:19:43 +01:00