- removed STACK_ARGS.

The only reason this even existed was that ZDoom's original VC projects used __fastcall. The CMake generated project do not, they stick to __cdecl.
Since no performance gain can be seen by using __fastcall the best course of action is to just remove all traces of it from the source and forget that it ever existed.
This commit is contained in:
Christoph Oelckers 2016-04-11 10:46:30 +02:00
commit db86385cf6
58 changed files with 232 additions and 211 deletions

View file

@ -231,7 +231,7 @@ int FTraceInfo::EnterLinePortal(line_t *li, double frac)
frac += 1 / MaxDist;
double enterdist = MaxDist / frac;
DVector2 enter = newtrace.Start + enterdist * Vec;
DVector3 enter = newtrace.Start + enterdist * Vec;
newtrace.ActorMask = ActorMask;
newtrace.WallMask = WallMask;
@ -253,6 +253,18 @@ int FTraceInfo::EnterLinePortal(line_t *li, double frac)
newtrace.lastfloorportalheight = newtrace.lastceilingportalheight = newtrace.limitz;
newtrace.sectorsel = 0;
Results->unlinked = true;
if ((TraceFlags & TRACE_ReportPortals) && TraceCallback != NULL)
{
Results->HitType = TRACE_CrossingPortal;
Results->HitPos = enter;
P_TranslatePortalXY(li, enter.X, enter.Y);
P_TranslatePortalZ(li, enter.Z);
Results->SrcFromTarget = enter;
Results->HitVector = newtrace.Vec;
TraceCallback(*Results, TraceCallbackData);
}
return newtrace.TraceTraverse(ActorMask ? PT_ADDLINES | PT_ADDTHINGS | PT_COMPATIBLE : PT_ADDLINES);
}
@ -455,8 +467,11 @@ bool FTraceInfo::LineCheck(intercept_t *in)
lastfloorportalheight = fc;
if (TraceCallback != NULL)
{
// Todo: calculate the intersection point.
Results->HitType = TRACE_CrossingPortal;
double hitz = CurSector->SkyBoxes[sector_t::floor]->specialf1;
Results->HitPos = Start + Vec * (hitz - Start.Z) / Vec.Z;
Results->SrcFromTarget = Results->HitPos + CurSector->SkyBoxes[sector_t::floor]->Scale;
Results->HitVector = Vec;
TraceCallback(*Results, TraceCallbackData);
}
}
@ -483,8 +498,11 @@ bool FTraceInfo::LineCheck(intercept_t *in)
lastceilingportalheight = fc;
if (TraceCallback != NULL)
{
// Todo: calculate the intersection point.
Results->HitType = TRACE_CrossingPortal;
double hitz = CurSector->SkyBoxes[sector_t::ceiling]->specialf1;
Results->HitPos = Start + Vec * (hitz - Start.Z) / Vec.Z;
Results->SrcFromTarget = Results->HitPos + CurSector->SkyBoxes[sector_t::ceiling]->Scale;
Results->HitVector = Vec;
TraceCallback(*Results, TraceCallbackData);
}
}