Wiesz czym jest tracing tak?
Między dwoma punktami leci wirtualny punkt lub bryła, a te dane opisują ścieżkę. Jeśli na drodze trafi się solidna przeszkoda (taka, która powstrzymałaby gracza przed przejściem) to test się kończy.
enum TraceResult
{
TR_AllSolid, // czy cała ścieżka zawiera solidne (zajęte) miejsca (1) czy nie (0)
TR_StartSolid, // czy w punkt startowy zawiera solidne (zajęte) miejsce (1) czy nie (0)
TR_InOpen, // czy ścieżka jest w wolnej przestrzeni (?)
TR_InWater, // czy ścieżka jest w wodzie (?)
TR_flFraction, // ułamek wskazujący przebytą przez obiekt drogę: nie było przeszkód 1.0, w połowie drogi była ściana: 0.5 itd
TR_vecEndPos, // punkt zatrzymania się obiektu (wyznacza zatem flFraction)
TR_flPlaneDist, // nie wiem
TR_vecPlaneNormal, // wektor prostopadły do płaszczyzny w endpos
TR_pHit, // id napotkanego bytu
TR_iHitgroup, // hitzone napotkanego bytu
};