rodecomp/Source/Resource/Resource.h
ragnarok-clanker 5ec8920fd4 Maintenance: Add mandatory field offset markers /* XXXX */ and assertions to Resource headers
Batch #1067 by ragnarok-clanker: no function's compiled code changes; checked with 83 compiled unit(s), including every includer of Source/Resource/Audio/WaveResource.h, Source/Resource/BinkRuntime.h, Source/Resource/Bitmap/BitmapResource.h, Source/Resource/Bitmap/IJL15Runtime.h, Source/Resource/Models/ModelResource.h, Source/Resource/Resource.h, Source/Resource/ResourceAliases.h, Source/Resource/Sprites/ActionResource.h, Source/Resource/World/WorldResource.h.
2026-10-27 14:00:13 +00:00

44 lines
1 KiB
C++

#ifndef RAGNAROK_SOURCE_RESOURCE_RESOURCE_H
#define RAGNAROK_SOURCE_RESOURCE_RESOURCE_H
#include "Archive/PakName.h"
#include <cstddef>
#include <cstdint>
class CRenderSystemBase;
struct ResourceName {
/* 0000 */ std::uint32_t hash;
/* 0004 */ char text[252];
explicit ResourceName(const char* name = "");
void Assign(const char* name);
};
static_assert(sizeof(ResourceName) == 256);
class CRes {
public:
CRes();
virtual ~CRes();
virtual bool Slot01(int argument1, int argument2, int argument3);
virtual void Slot02();
virtual bool IsTransient();
virtual CRes* Create() = 0;
virtual bool Load(const char* name) = 0;
virtual void Unload();
virtual void MissingFile(CRenderSystemBase* system, const char* name);
std::uint32_t AddRef();
void Release();
/* 0004 */ std::uint32_t references;
/* 0008 */ std::uint32_t lastUse;
/* 000C */ int type;
/* 0010 */ ResourceName name;
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(CRes) == 272);
static_assert(offsetof(ResourceName, text) == 0x04);
#endif
#endif