+#define MAXVIEWMODELS 32
+extern int numviewmodels;
+extern entity_t *viewmodels[MAXVIEWMODELS];
+void V_LinkViewEntities(void)
+{
+ int i;
+ //float v[3];
+ entity_t *ent;
+ matrix4x4_t matrix, matrix2;
+
+ if (numviewmodels <= 0)
+ return;
+
+ //Matrix4x4_CreateRotate(&matrix, 1, 0, 0, r_refdef.viewangles[0]);
+ //Matrix4x4_CreateRotate(&matrix, 0, 1, 0, r_refdef.viewangles[0]);
+ //Matrix4x4_CreateRotate(&matrix, 0, 0, 1, r_refdef.viewangles[0]);
+ Matrix4x4_CreateFromQuakeEntity(&matrix, r_refdef.vieworg[0], r_refdef.vieworg[1], r_refdef.vieworg[2], r_refdef.viewangles[0], r_refdef.viewangles[1], r_refdef.viewangles[2], 0.3);
+ for (i = 0;i < numviewmodels && r_refdef.numentities < r_refdef.maxentities;i++)
+ {
+ ent = viewmodels[i];
+ r_refdef.entities[r_refdef.numentities++] = &ent->render;
+
+ //VectorCopy(ent->render.origin, v);
+ //ent->render.origin[0] = v[0] * vpn[0] + v[1] * vright[0] + v[2] * vup[0] + r_refdef.vieworg[0];
+ //ent->render.origin[1] = v[0] * vpn[1] + v[1] * vright[1] + v[2] * vup[1] + r_refdef.vieworg[1];
+ //ent->render.origin[2] = v[0] * vpn[2] + v[1] * vright[2] + v[2] * vup[2] + r_refdef.vieworg[2];
+ //ent->render.angles[0] = ent->render.angles[0] + r_refdef.viewangles[0];
+ //ent->render.angles[1] = ent->render.angles[1] + r_refdef.viewangles[1];
+ //ent->render.angles[2] = ent->render.angles[2] + r_refdef.viewangles[2];
+ //ent->render.scale *= 0.3;
+
+ //Matrix4x4_CreateFromQuakeEntity(&ent->render.matrix, ent->render.origin[0], ent->render.origin[1], ent->render.origin[2], ent->render.angles[0], ent->render.angles[1], ent->render.angles[2], ent->render.scale);
+ matrix2 = ent->render.matrix;
+ Matrix4x4_Concat(&ent->render.matrix, &matrix, &matrix2);
+ Matrix4x4_Invert_Simple(&ent->render.inversematrix, &ent->render.matrix);
+ CL_BoundingBoxForEntity(&ent->render);
+ }
+}