rodecomp/Source/Render/Primitives/RenderQueues.h
ragnarok-clanker cbbf28e4de Maintenance: Add mandatory field offset markers /* XXXX */ and assertions to Render headers (DX7, DX9, Primitives, Text, Textures)
Batch #1060 by ragnarok-clanker: no function's compiled code changes; checked with 188 compiled unit(s), including every includer of Source/Render/DX7/DeviceOwnerDX7.h, Source/Render/DX7/DirectDrawEnumeration.h, Source/Render/DX7/RenderSystemDX7.h, Source/Render/DX7/RendererFogDX7.h, Source/Render/DX7/SurfaceDX7.h, Source/Render/DX9/DeviceOwnerDX9.h, Source/Render/DX9/DeviceStateDX9.h, Source/Render/DX9/RendererFogDX9.h, Source/Render/DeviceContext/DCSurface.h, Source/Render/DisplayMode.h, Source/Render/Primitives/LightmappedPrimitive.h, Source/Render/Primitives/RenderCommandPool.h, Source/Render/Primitives/RenderPrimitive.h, Source/Render/Primitives/RenderPrimitivePool.h, Source/Render/Primitives/RenderQueues.h, Source/Render/Primitives/RenderVertexPool.h, Source/Render/Projection/RendererViewport.h, Source/Render/RenderAdapter.h, Source/Render/Renderer.h, Source/Render/RendererBackBuffer.h, Source/Render/Text/TextContext.h, Source/Render/Textures/BitmapTextureCache.h, Source/Render/Textures/SpriteAtlas.h, Source/Render/Textures/Surface.h.
2026-10-27 13:48:11 +00:00

49 lines
2 KiB
C++

#ifndef RAGNAROK_SOURCE_RENDER_PRIMITIVES_RENDERQUEUES_H
#define RAGNAROK_SOURCE_RENDER_PRIMITIVES_RENDERQUEUES_H
#include "Render/Primitives/LightmappedPrimitive.h"
#include "Render/Primitives/RenderPrimitive.h"
#include <vector>
struct DepthPrimitive {
/* 0000 */ float depth;
/* 0004 */ RenderCommand* primitive;
};
struct RenderQueues {
/* 015C */ std::vector<RenderCommand*> queue_015C;
/* 0168 */ std::vector<RenderCommand*> queue_0168;
/* 0174 */ std::vector<RenderCommand*> queue_0174;
/* 0180 */ std::vector<DepthPrimitive> queue_0180;
/* 018C */ std::vector<DepthPrimitive> queue_018C;
/* 0198 */ std::vector<DepthPrimitive> queue_0198;
/* 01A4 */ std::vector<DepthPrimitive> queue_01A4;
/* 01B0 */ std::vector<RenderCommand*> queue_01B0;
/* 01BC */ std::vector<DepthPrimitive> queue_01BC;
/* 01C8 */ std::vector<DepthPrimitive> queue_01C8;
/* 01D4 */ std::vector<DepthPrimitive> queue_01D4;
/* 01E0 */ std::vector<DepthPrimitive> queue_01E0;
/* 01EC */ std::vector<RenderCommand*> queue_01EC;
/* 01F8 */ LightmappedQueues lightmapped;
/* 0210 */ std::vector<RenderCommand*> queue_0210;
/* 021C */ std::vector<DepthPrimitive> queue_021C;
/* 0228 */ std::vector<DepthPrimitive> queue_0228;
/* 0234 */ std::vector<DepthPrimitive> queue_0234;
/* 0240 */ std::vector<LightmappedPrimitive*> queue_0240;
RenderQueues();
void Submit(RenderCommand* primitive, std::uint16_t flags, bool depthAlpha, float depthStart, float depthEnd);
void SubmitTriangle(RenderTriangle& triangle, std::uint16_t flags, class RenderCommandPool& pool, bool depthAlpha, float depthStart, float depthEnd);
void Clear();
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(DepthPrimitive) == 8);
static_assert(sizeof(RenderQueues) == 240);
static_assert(offsetof(DepthPrimitive, primitive) == 0x0004);
static_assert(offsetof(RenderQueues, lightmapped) + 0x015C == 0x01F8);
static_assert(offsetof(RenderQueues, queue_0240) + 0x015C == 0x0240);
#endif
#endif