mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-09 06:27:43 +00:00
zeus constexpr refactor and thermal visor fixes
This commit is contained in:
@@ -333,10 +333,10 @@ void CFluidPlane::RenderPatch(const CFluidPlaneRender::SPatchInfo& info,
|
||||
}
|
||||
case CFluidPlaneRender::NormalMode::NoNormals: {
|
||||
size_t start = vOut.size();
|
||||
vOut.emplace_back(zeus::CVector3f(xMin, yMin, 0.f), zeus::CColor::skBlack);
|
||||
vOut.emplace_back(zeus::CVector3f(xMin, yMax, 0.f), zeus::CColor::skBlack);
|
||||
vOut.emplace_back(zeus::CVector3f(xMax, yMin, 0.f), zeus::CColor::skBlack);
|
||||
vOut.emplace_back(zeus::CVector3f(xMax, yMax, 0.f), zeus::CColor::skBlack);
|
||||
vOut.emplace_back(zeus::CVector3f(xMin, yMin, 0.f), zeus::skBlack);
|
||||
vOut.emplace_back(zeus::CVector3f(xMin, yMax, 0.f), zeus::skBlack);
|
||||
vOut.emplace_back(zeus::CVector3f(xMax, yMin, 0.f), zeus::skBlack);
|
||||
vOut.emplace_back(zeus::CVector3f(xMax, yMax, 0.f), zeus::skBlack);
|
||||
CGraphics::DrawArray(start, 4);
|
||||
break;
|
||||
}
|
||||
@@ -356,36 +356,36 @@ void CFluidPlane::RenderPatch(const CFluidPlaneRender::SPatchInfo& info,
|
||||
|
||||
toStrip.EmplaceVert(
|
||||
zeus::CVector3f(xMax + 0.5f * info.x14_tileSize, yMax + 0.5f * info.x14_tileSize, 0.f),
|
||||
zeus::CVector3f::skUp, zeus::CColor::skBlack);
|
||||
zeus::skUp, zeus::skBlack);
|
||||
|
||||
float tmp = xMax;
|
||||
for (int v = 0; v < ((curYTile == 1) ? CFluidPlaneRender::numSubdivisionsInTile : 1); ++v) {
|
||||
toStrip.EmplaceVert(zeus::CVector3f(tmp, yMax + info.x14_tileSize, 0.f), zeus::CVector3f::skUp,
|
||||
zeus::CColor::skBlack);
|
||||
toStrip.EmplaceVert(zeus::CVector3f(tmp, yMax + info.x14_tileSize, 0.f), zeus::skUp,
|
||||
zeus::skBlack);
|
||||
tmp += info.x18_rippleResolution;
|
||||
}
|
||||
|
||||
tmp = yMax + info.x14_tileSize;
|
||||
for (int v = 0; v < ((xTiles - 1 == curXTile) ? CFluidPlaneRender::numSubdivisionsInTile : 1); ++v) {
|
||||
toStrip.EmplaceVert(zeus::CVector3f(xMax + info.x14_tileSize, tmp, 0.f), zeus::CVector3f::skUp,
|
||||
zeus::CColor::skBlack);
|
||||
toStrip.EmplaceVert(zeus::CVector3f(xMax + info.x14_tileSize, tmp, 0.f), zeus::skUp,
|
||||
zeus::skBlack);
|
||||
tmp -= info.x18_rippleResolution;
|
||||
}
|
||||
|
||||
tmp = xMax + info.x14_tileSize;
|
||||
for (int v = 0; v < ((curYTile == yTiles) ? CFluidPlaneRender::numSubdivisionsInTile : 1); ++v) {
|
||||
toStrip.EmplaceVert(zeus::CVector3f(tmp, yMax, 0.f), zeus::CVector3f::skUp, zeus::CColor::skBlack);
|
||||
toStrip.EmplaceVert(zeus::CVector3f(tmp, yMax, 0.f), zeus::skUp, zeus::skBlack);
|
||||
tmp -= info.x18_rippleResolution;
|
||||
}
|
||||
|
||||
tmp = yMax;
|
||||
for (int v = 0; v < ((curXTile == 0) ? CFluidPlaneRender::numSubdivisionsInTile : 1); ++v) {
|
||||
toStrip.EmplaceVert(zeus::CVector3f(xMax, tmp, 0.f), zeus::CVector3f::skUp, zeus::CColor::skBlack);
|
||||
toStrip.EmplaceVert(zeus::CVector3f(xMax, tmp, 0.f), zeus::skUp, zeus::skBlack);
|
||||
tmp += info.x18_rippleResolution;
|
||||
}
|
||||
|
||||
toStrip.EmplaceVert(zeus::CVector3f(xMax, yMax + info.x14_tileSize, 0.f), zeus::CVector3f::skUp,
|
||||
zeus::CColor::skBlack);
|
||||
toStrip.EmplaceVert(zeus::CVector3f(xMax, yMax + info.x14_tileSize, 0.f), zeus::skUp,
|
||||
zeus::skBlack);
|
||||
|
||||
toStrip.Draw();
|
||||
|
||||
@@ -398,9 +398,9 @@ void CFluidPlane::RenderPatch(const CFluidPlaneRender::SPatchInfo& info,
|
||||
|
||||
size_t start = vOut.size();
|
||||
for (int v = 0; v < nextXTile - curXTile + 1; ++v) {
|
||||
vOut.emplace_back(zeus::CVector3f(xMax, yMax, 0.f), zeus::CVector3f::skUp, zeus::CColor::skBlack);
|
||||
vOut.emplace_back(zeus::CVector3f(xMax, yMax + info.x14_tileSize, 0.f), zeus::CVector3f::skUp,
|
||||
zeus::CColor::skBlack);
|
||||
vOut.emplace_back(zeus::CVector3f(xMax, yMax, 0.f), zeus::skUp, zeus::skBlack);
|
||||
vOut.emplace_back(zeus::CVector3f(xMax, yMax + info.x14_tileSize, 0.f), zeus::skUp,
|
||||
zeus::skBlack);
|
||||
xMax += info.x14_tileSize;
|
||||
}
|
||||
CGraphics::DrawArray(start, vOut.size() - start);
|
||||
@@ -426,14 +426,14 @@ void CFluidPlane::RenderPatch(const CFluidPlaneRender::SPatchInfo& info,
|
||||
case CFluidPlaneRender::NormalMode::NBT: {
|
||||
if (flagIs1 || !info.x30_gridFlags) {
|
||||
size_t start = vOut.size();
|
||||
vOut.emplace_back(zeus::CVector3f(xMin, yMin, 0.f), zeus::CVector3f::skUp, zeus::CVector3f::skForward,
|
||||
zeus::CVector3f::skRight, zeus::CColor::skBlack);
|
||||
vOut.emplace_back(zeus::CVector3f(xMin, yMax, 0.f), zeus::CVector3f::skUp, zeus::CVector3f::skForward,
|
||||
zeus::CVector3f::skRight, zeus::CColor::skBlack);
|
||||
vOut.emplace_back(zeus::CVector3f(xMax, yMin, 0.f), zeus::CVector3f::skUp, zeus::CVector3f::skForward,
|
||||
zeus::CVector3f::skRight, zeus::CColor::skBlack);
|
||||
vOut.emplace_back(zeus::CVector3f(xMax, yMax, 0.f), zeus::CVector3f::skUp, zeus::CVector3f::skForward,
|
||||
zeus::CVector3f::skRight, zeus::CColor::skBlack);
|
||||
vOut.emplace_back(zeus::CVector3f(xMin, yMin, 0.f), zeus::skUp, zeus::skForward,
|
||||
zeus::skRight, zeus::skBlack);
|
||||
vOut.emplace_back(zeus::CVector3f(xMin, yMax, 0.f), zeus::skUp, zeus::skForward,
|
||||
zeus::skRight, zeus::skBlack);
|
||||
vOut.emplace_back(zeus::CVector3f(xMax, yMin, 0.f), zeus::skUp, zeus::skForward,
|
||||
zeus::skRight, zeus::skBlack);
|
||||
vOut.emplace_back(zeus::CVector3f(xMax, yMax, 0.f), zeus::skUp, zeus::skForward,
|
||||
zeus::skRight, zeus::skBlack);
|
||||
CGraphics::DrawArray(start, 4);
|
||||
} else {
|
||||
int xTiles = (info.x0_xSubdivs - 3) / CFluidPlaneRender::numSubdivisionsInTile + 1;
|
||||
@@ -453,10 +453,10 @@ void CFluidPlane::RenderPatch(const CFluidPlaneRender::SPatchInfo& info,
|
||||
|
||||
size_t start = vOut.size();
|
||||
for (int v = 0; v < nextXTile - curXTile + 1; ++v) {
|
||||
vOut.emplace_back(zeus::CVector3f(xMax, yMin, 0.f), zeus::CVector3f::skUp, zeus::CVector3f::skForward,
|
||||
zeus::CVector3f::skRight, zeus::CColor::skBlack);
|
||||
vOut.emplace_back(zeus::CVector3f(xMax, yMin + info.x14_tileSize, 0.f), zeus::CVector3f::skUp,
|
||||
zeus::CVector3f::skForward, zeus::CVector3f::skRight, zeus::CColor::skBlack);
|
||||
vOut.emplace_back(zeus::CVector3f(xMax, yMin, 0.f), zeus::skUp, zeus::skForward,
|
||||
zeus::skRight, zeus::skBlack);
|
||||
vOut.emplace_back(zeus::CVector3f(xMax, yMin + info.x14_tileSize, 0.f), zeus::skUp,
|
||||
zeus::skForward, zeus::skRight, zeus::skBlack);
|
||||
xMax += info.x14_tileSize;
|
||||
}
|
||||
CGraphics::DrawArray(start, vOut.size() - start);
|
||||
|
||||
Reference in New Issue
Block a user