rendered paste bodyIndex: cl_le.c
===================================================================
--- cl_le.c (revision 15707)
+++ cl_le.c (working copy)
@@ -862,6 +862,9 @@
switch (le->type) {
case ET_ROTATING:
case ET_DOOR:
+ VectorCopy(ent->mins, le->mins);
+ VectorCopy(ent->maxs, le->maxs);
+ VectorCopy(ent->origin, le->origin);
break;
case ET_BREAKABLE:
break;
@@ -1042,6 +1045,10 @@
break;
}
+ if (le->type == ET_DOOR) {
+ VectorCopy(le->origin, ent.origin);
+ VectorCopy(le->origin, ent.oldorigin);
+ }
/**
* Offset the model to be inside the cursor box
Index: cl_parse.c
===================================================================
--- cl_parse.c (revision 15707)
+++ cl_parse.c (working copy)
@@ -769,6 +769,8 @@
le->levelflags = levelflags;
le->addFunc = LE_BrushModelAction;
le->think = LET_BrushModel;
+ /* The origin is REQUIRED for tdoors to work! */
+ VectorCopy(origin, le->origin);
Com_sprintf(le->inlineModelName, sizeof(le->inlineModelName), "*%i", le->modelnum1);
model = cl.model_clip[le->modelnum1];
@@ -798,6 +800,7 @@
ent->alpha = 1.0;
VectorCopy(le->mins, ent->mins);
VectorCopy(le->maxs, ent->maxs);
+ VectorCopy(le->origin, ent->origin);
return qtrue;
}