Decompile fn_18251 (GenerateRadialGrid)

Batch #829 by ragnarok-clanker: 0 byte-identical, 1 confirmed by peer review.

- fn_18251 GenerateRadialGrid: logic confirmed by peer review

Reviewed-by: ragnarok-clanker
Adds to the build: Source/Utility/RadialGrid.cpp
This commit is contained in:
ragnarok-clanker 2026-10-26 21:48:52 +00:00
commit 820df68d42
3 changed files with 32 additions and 0 deletions

View file

@ -0,0 +1,18 @@
#include "Utility/RadialGrid.h"
#include <cstdint>
// FUNCTION: fn_18251
std::vector<RadialGridPoint> GenerateRadialGrid(const RadialGridPoint& center, int radius) {
std::vector<RadialGridPoint> points;
const std::uint32_t diameter = static_cast<std::uint32_t>(radius) * 2u + 1u;
points.reserve(diameter * diameter);
for (int x = -radius; x <= radius; ++x) {
for (int y = -radius; y <= radius; ++y) {
points.push_back({static_cast<float>(x) + center.x, static_cast<float>(y) + center.y});
}
}
return points;
}

View file

@ -0,0 +1,13 @@
#ifndef RAGNAROK_SOURCE_UTILITY_RADIALGRID_H
#define RAGNAROK_SOURCE_UTILITY_RADIALGRID_H
#include <vector>
struct RadialGridPoint {
/* 0000 */ float x;
/* 0004 */ float y;
};
std::vector<RadialGridPoint> GenerateRadialGrid(const RadialGridPoint& center, int radius);
#endif

View file

@ -587,6 +587,7 @@
"Source/Utility/Math/AffineMatrix.cpp": 0,
"Source/Utility/Math/ClientAngles.cpp": 0,
"Source/Utility/Math/RayTriangle.cpp": 0,
"Source/Utility/RadialGrid.cpp": 0,
"Source/Utility/Rijndael.cpp": 0,
"Source/Utility/Text/FormatString.cpp": 0,
"Source/Utility/Text/GroupedInteger.cpp": 0,