rodecomp/Source/Contents/Actors/SpriteDrawingPolicy.h
ragnarok-clanker 2130f5d17f Decompile fn_10109 (SpriteDrawingPolicy::DrawShadow)
Batch #2549 by youko: 0 byte-identical, 1 confirmed by peer review.

- fn_10109 SpriteDrawingPolicy::DrawShadow: logic confirmed by peer review

Peer-reviewed-by: eAthena, meitogi, bigodeira, superintelligence
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/SpriteShadow.cpp
2026-10-29 20:23:06 +00:00

47 lines
1.4 KiB
C++

#ifndef RAGNAROK_SOURCE_CONTENTS_ACTORS_SPRITEDRAWINGPOLICY_H
#define RAGNAROK_SOURCE_CONTENTS_ACTORS_SPRITEDRAWINGPOLICY_H
class LuaScript;
struct RenderPrimitive;
struct SpriteCellQuad;
struct SpriteColor;
struct SpriteFrameCell;
struct SpriteRleImage;
struct tagRECT;
struct vector3d;
struct AccessoryLayerDepth {
const int& bottomAccessory;
const int& topAccessory;
const int& middleAccessory;
void OffsetLayerDepth(int layer, SpriteCellQuad& quad, float bottomDepth, float topDepth) const;
};
struct SpriteDrawingPolicy {
LuaScript& script;
const unsigned char& newDrawOnTop;
int& argument00BC;
const int& argument0018;
const int& argument0010;
const int& argument0040;
const int& argument0044;
bool& helmRobe;
const vector3d& position;
const unsigned char& riding;
const float& offsetX;
const float& offsetY;
const int& shiftX;
const int& shiftY;
bool DrawOnTop() const;
bool SetRobe(int robe);
bool ProjectCell(
int unused, int layer, float scale, const SpriteFrameCell& cell, float x, float y, const float* position, float shift, float& bottomDepth,
float& topDepth, const SpriteRleImage& image, SpriteCellQuad& quad, tagRECT& bounds, SpriteColor& color, int offsetX, int offsetY, int flags
) const;
void OffsetLayerDepth(int layer, SpriteCellQuad& quad, float bottomDepth, float topDepth) const;
RenderPrimitive* DrawShadow(const float* matrix, float scale) const;
};
#endif