diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 6874539fd..21be5ac04 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -3071,9 +3071,9 @@ boolean HWR_CheckBBox(fixed_t *bspcoord) void HWR_AddPolyObjectSegs(void) { size_t i, j; - seg_t *gr_fakeline = Z_Calloc(sizeof(seg_t), PU_STATIC, NULL); - polyvertex_t *pv1 = Z_Calloc(sizeof(polyvertex_t), PU_STATIC, NULL); - polyvertex_t *pv2 = Z_Calloc(sizeof(polyvertex_t), PU_STATIC, NULL); + seg_t gr_fakeline; + polyvertex_t pv1; + polyvertex_t pv2; // Sort through all the polyobjects for (i = 0; i < numpolys; ++i) @@ -3082,25 +3082,20 @@ void HWR_AddPolyObjectSegs(void) for (j = 0; j < po_ptrs[i]->segCount; ++j) { // Copy the info of a polyobject's seg, then convert it to OpenGL floating point - M_Memcpy(gr_fakeline, po_ptrs[i]->segs[j], sizeof(seg_t)); + M_Memcpy(&gr_fakeline, po_ptrs[i]->segs[j], sizeof(seg_t)); // Now convert the line to float and add it to be rendered - pv1->x = FIXED_TO_FLOAT(gr_fakeline->v1->x); - pv1->y = FIXED_TO_FLOAT(gr_fakeline->v1->y); - pv2->x = FIXED_TO_FLOAT(gr_fakeline->v2->x); - pv2->y = FIXED_TO_FLOAT(gr_fakeline->v2->y); + pv1.x = FIXED_TO_FLOAT(gr_fakeline.v1->x); + pv1.y = FIXED_TO_FLOAT(gr_fakeline.v1->y); + pv2.x = FIXED_TO_FLOAT(gr_fakeline.v2->x); + pv2.y = FIXED_TO_FLOAT(gr_fakeline.v2->y); - gr_fakeline->pv1 = pv1; - gr_fakeline->pv2 = pv2; + gr_fakeline.pv1 = &pv1; + gr_fakeline.pv2 = &pv2; - HWR_AddLine(gr_fakeline); + HWR_AddLine(&gr_fakeline); } } - - // Free temporary data no longer needed - Z_Free(pv2); - Z_Free(pv1); - Z_Free(gr_fakeline); } #ifdef POLYOBJECTS_PLANES