Commit Graph

83 Commits

Author SHA1 Message Date
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
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
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
Jace bd6adcc157 Added SetParent to World 2015-12-16 12:05:37 +01:00
William Moberg 04a01104b5 Merge branch 'master' into OctTree
# Conflicts:
#	src/Engine/CMakeLists.txt
#	src/Game/Game.cpp
2015-12-15 17:11:11 +01:00
William Moberg 170610bcb1 Added a TriggerSystem, seems to work as intended. 2015-12-15 14:49:52 +01:00
William Moberg ae7d4b9097 Put Collision folder in CMakeLists.txt and altered paths. 2015-12-14 17:35:39 +01:00
William Moberg 59095c2ce5 Started on CollisionSystem and TriggerSystem. Moved collision code to Collision folder. 2015-12-14 17:08:00 +01:00
Jace ea239b19bd Fixed component type resolution order to prioritize custom types before native ones, since namespace information doesn't exist at that stage. 2015-12-14 16:12:20 +01:00
Jace 07c4744436 Added World DeleteEntity, HasComponent and GetEntityChildren 2015-12-14 13:58:27 +01:00
Jace 5f3c234819 Added DeleteComponent function to world 2015-12-14 13:57:54 +01:00
Jace 524af211e0 Made resource loading fail gracefully when a resource can't be loaded. Resources should now throw exceptions in their constuctor if the resource can't be loaded. This will result in ResourceManager::Load returning null. 2015-12-14 13:57:53 +01:00
Jace 91ace0d2a0 Fixed bug in ComponentPool::Delete. Wasn't taking EntityID into account when freeing memory. 2015-12-14 13:57:53 +01:00
Jace 2018ba27ae Added KnowsEntity function to ComponentPool to query whether an entity has a component attached 2015-12-14 13:57:52 +01:00
Jace af14d60493 Added MouseScroll event to input manager 2015-12-14 13:57:49 +01:00
Jace 653b4689b5 Added KeyboardChar event for keyboard text input 2015-12-14 13:56:24 +01:00
William Moberg 11e37ca898 Added functions to test ray vs triangle- and model-intersections. 2015-12-14 10:42:45 +01:00
Jace 784a04b8ad Fixed bug in config file overriding. Previously it was silently overwriting the whole default config and relied on hardcoded values for defaults. 2015-12-12 13:42:33 +01:00
William Moberg 55aad493ff Fixed warnings in OctTree. Cleaned unit tests. 2015-12-11 16:45:38 +01:00
William Moberg 81034420a9 Put back old version of OctTree for testing, made unit tests.
Tests shows the old version checks for collisions etc. faster, new version adds objects into tree faster, and doesn't give duplicated results.
2015-12-11 16:04:30 +01:00
William Moberg ce7b26ccac Merge branch 'master' into OctTree
# Conflicts:
#	include/Game/Game.h
#	include/Game/HardcodedTestWorld.h
#	src/Game/Game.cpp
2015-12-10 16:37:55 +01:00
William Moberg 0d8f7acb7e OctTree doesn't check the same object multiple times if it exists in multiple places in the tree. 2015-12-10 16:04:55 +01:00
William Moberg e580540143 Made some optimizations in OctTree and added a unit test for BoxesInSameRegion. 2015-12-09 17:16:11 +01:00
sippeangelo 90a79c702f Added crude absolute positioning when rendering 2015-12-09 15:26:49 +01:00