summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/entities.cpp5
-rw-r--r--src/entities.hpp2
-rw-r--r--src/game.cpp2
3 files changed, 4 insertions, 5 deletions
diff --git a/src/entities.cpp b/src/entities.cpp
index fa0cdf9..be0286c 100644
--- a/src/entities.cpp
+++ b/src/entities.cpp
@@ -38,11 +38,10 @@ EntityType *EntityType_Create() {
return &entityType;
}
-Entity_Base *EntityType_CreateGenericInstance(EntityType *et, CompInstance *srcInstance, InstPos *instPos) {
+Entity_Base *EntityType_CreateGenericInstance(EntityType *et, Entity_Base *levelEnt, CompInstance *srcInstance, InstPos *instPos) {
assert(et != nullptr);
Entity_Base *genericEntity = ECS_CreateGenericEntity();
- auto *level = PkeLevel_Get(pkeSettings.rt.activeLevel);
- ECS_CreateEntity(genericEntity, level);
+ ECS_CreateEntity(genericEntity, levelEnt);
for (size_t i = 0; i < et->detailsCount; ++i) {
auto &etd = et->details[i];
diff --git a/src/entities.hpp b/src/entities.hpp
index 743029d..9907ab6 100644
--- a/src/entities.hpp
+++ b/src/entities.hpp
@@ -48,7 +48,7 @@ void EntityType_Init();
EntityType *EntityType_FindByTypeCode(const char *typeCode);
EntityType *EntityType_FindByEntityHandle(EntityHandle handle);
EntityType *EntityType_Create();
-Entity_Base *EntityType_CreateGenericInstance(EntityType *et, CompInstance *srcInstance = nullptr, InstPos *instPos = nullptr);
+Entity_Base *EntityType_CreateGenericInstance(EntityType *et, Entity_Base *levelEnt, CompInstance *srcInstance = nullptr, InstPos *instPos = nullptr);
void EntityType_Load(EntityType &et);
void EntityType_Tick(double delta);
void EntityType_Tick_Late(double delta);
diff --git a/src/game.cpp b/src/game.cpp
index 5c43042..00e7edc 100644
--- a/src/game.cpp
+++ b/src/game.cpp
@@ -262,7 +262,7 @@ void ParseInstance(Entity_Base *parentEntity, std::ifstream &stream) {
if (etPtr->createInstanceCallback.func != nullptr) {
reinterpret_cast<void(*)()>(etPtr->createInstanceCallback.func)();
} else {
- EntityType_CreateGenericInstance(etPtr, &comp, &instPos);
+ EntityType_CreateGenericInstance(etPtr, parentEntity, &comp, &instPos);
fprintf(stdout ,"[Game::ParseInstance] No callback func to create instance.");
}
break;