MCPcopy Create free account
hub / github.com/OpenRCT2/OpenRCT2 / PaintSessionAddPSToQuadrant

Function PaintSessionAddPSToQuadrant

src/openrct2/paint/Paint.cpp:94–107  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

92}
93
94static void PaintSessionAddPSToQuadrant(PaintSession& session, PaintStruct* ps)
95{
96 const auto positionHash = RemapPositionToQuadrant(*ps, session.CurrentRotation);
97
98 // Values below zero or above MaxPaintQuadrants are void, corners also share the same quadrant as void.
99 const uint32_t paintQuadrantIndex = std::clamp(positionHash / kCoordsXYStep, 0, MaxPaintQuadrants - 1);
100
101 ps->QuadrantIndex = paintQuadrantIndex;
102 ps->NextQuadrantEntry = session.Quadrants[paintQuadrantIndex];
103 session.Quadrants[paintQuadrantIndex] = ps;
104
105 session.QuadrantBackIndex = std::min(session.QuadrantBackIndex, paintQuadrantIndex);
106 session.QuadrantFrontIndex = std::max(session.QuadrantFrontIndex, paintQuadrantIndex);
107}
108
109static constexpr bool imageWithinRT(const ScreenCoordsXY& imagePos, const G1Element& g1, const RenderTarget& rt)
110{

Callers 2

PaintAddImageAsParentFunction · 0.85

Calls 1

RemapPositionToQuadrantFunction · 0.85

Tested by

no test coverage detected