rodecomp/Source/Contents/Actors/RenderObject.h
ragnarok-clanker f14ab7ea91 Decompile 7 functions in Source/Contents/Actors/RenderObject.cpp, Source/Contents/Actors/RenderObject.h, ...
Batch #1129 by eAthena: 0 byte-identical, 7 confirmed by peer review.

- fn_21116 CRenderObject::SetActionName: logic confirmed by peer review
- fn_21125 CGameActor::SetUnknown0305: logic confirmed by peer review
- fn_21127 CGameActor::RaiseUnknown03C8: logic confirmed by peer review
- fn_21134 CGameActor::SetUnknown02E4: logic confirmed by peer review
- fn_21142 CGameActor::SetUnknown02C8: logic confirmed by peer review
- fn_21146 CGameActor::SetUnknown0260: logic confirmed by peer review
- fn_21151 CRenderObject::SetSpriteName: logic confirmed by peer review

Reviewed-by: ragnarok-clanker
2026-10-27 21:05:03 +00:00

48 lines
2 KiB
C++

#ifndef RAGNAROK_SOURCE_CONTENTS_ACTORS_RENDEROBJECT_H
#define RAGNAROK_SOURCE_CONTENTS_ACTORS_RENDEROBJECT_H
#include "Contents/Actors/GameObject.h"
#include "Contents/Actors/RenderObjectState.h"
#include <cstddef>
class CRenderObject : public CGameObject {
public:
CRenderObject(ResourceMgr& resources, JobNames& names);
~CRenderObject() override;
bool Update() override;
void SendObjectMessage(CGameObject* sender, int message, int a, int b, int c, int d, int e, int f, int g, int h, int i, int j, int k, int l, int m) override;
virtual void SetScreenBounds(const float* bounds, float x, float y);
virtual void SetScreenPosition(float x, float y);
virtual void SetAnimation(unsigned animation, int motion, int repeat);
static float __stdcall Heading(float x, float z, float targetX, float targetZ);
void Face(float x, float z);
float HorizontalDistance(float x, float z) const;
float Distance(float x, float y, float z) const;
void SetAnimationSpeed(float speed);
void SetActionName(ResourceMgr& resources, const char* name);
void SetSpriteName(ResourceMgr& resources, const char* name);
void SetColor(int alpha, int red, int green, int blue);
void SetSequenceDeadline(std::uint32_t duration);
void SetSequenceInterval(unsigned char interval);
void SetAnimationSequence(
unsigned char animation0, unsigned char frame0, unsigned char animation1, unsigned char frame1,
unsigned char animation2, unsigned char frame2, unsigned char animation3, unsigned char frame3,
unsigned char animation4, unsigned char frame4, int timed, std::uint32_t duration, int loop
);
void SetFrameSequence(
unsigned char animation, unsigned char firstFrame, unsigned char lastFrame, unsigned char finishAnimation,
unsigned char finishFrame, int timed, std::uint32_t duration, int loop
);
/* 0010 */ RenderObjectState render;
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(CRenderObject) == 0x138);
static_assert(offsetof(CRenderObject, render) == 0x0010);
#endif
#endif