rodecomp/Source/Contents/Actors/Skill.cpp
ragnarok-clanker 05a8da6eee Decompile fn_24294 (CSkill::Render)
Batch #4643 by eAthena: 0 byte-identical, 1 confirmed by peer review.

- fn_24294 CSkill::Render: logic confirmed by peer review

Peer-reviewed-by: alisonrag, youko, Snow
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
Adds to the build: Source/Contents/Actors/Skill.cpp
2026-10-30 04:22:05 +00:00

27 lines
967 B
C++

#include "Contents/Actors/Skill.h"
#include "Render/Renderer.h"
#include "Render/SpriteGeometry.h"
// OFFSET: 0x00E503F0
// FUNCTION: fn_24294
void CSkill::Render(int argument) {
if (!this->render.enabled) {
this->UpdateTlvertex(reinterpret_cast<const float*>(argument));
return;
}
float x;
float y;
float reciprocalDepth;
g_renderer->ProjectViewport(&this->render.position.x, reinterpret_cast<const float*>(argument), &x, &y, &reciprocalDepth);
const float scale = g_renderer->ScaleDistance(reciprocalDepth) / g_heightScale;
this->render.unknown_005C = scale;
float bounds[5];
bounds[0] = x - (g_renderer->viewport.uiScaleX + g_renderer->viewport.uiScaleX) * scale;
bounds[1] = y - (g_renderer->viewport.uiScaleY + g_renderer->viewport.uiScaleY) * scale;
bounds[2] = (g_renderer->viewport.uiScaleX + g_renderer->viewport.uiScaleX) * scale + x;
bounds[3] = y;
bounds[4] = reciprocalDepth;
this->SetRenderInfo(bounds, x, y);
}