From 8b67219f7de2971114a81c5476dae578ac29e989 Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Thu, 30 Sep 2010 14:24:23 +0000 Subject: Correct r_restart bug where models didn't get reloaded as it should --- src/core/entity.cc | 3 +-- src/render/draw.cc | 5 +++++ 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/core/entity.cc b/src/core/entity.cc index 1494438..ba79424 100644 --- a/src/core/entity.cc +++ b/src/core/entity.cc @@ -266,12 +266,11 @@ void Entity::set_zone(Zone *zone) void Entity::set_model(model::Model *model) { + // server-side property should not clear modelname entity_model = model; if (entity_model) { entity_radius = entity_model->radius(); entity_modelname.assign(entity_model->name()); - } else { - entity_modelname.clear(); } if (entity_info) { diff --git a/src/render/draw.cc b/src/render/draw.cc index 42b7d8c..f5978f7 100644 --- a/src/render/draw.cc +++ b/src/render/draw.cc @@ -125,6 +125,11 @@ void pass_prepare(float seconds) has_zone_light = true; } + } else { + // this reloads entity models if required by r_restart + if (!entity->model() && entity->modelname().size()) { + entity->set_model(model::Model::load(entity->modelname())); + } } } } -- cgit v1.2.3