From e38ccdc48e89142647b60b5ab6a1e5986ddba8df Mon Sep 17 00:00:00 2001 From: gromchek Date: Sat, 27 Sep 2025 16:18:34 +0300 Subject: [PATCH] feat(profile): CMapRenderChunk struct --- profile/3.3.5a-windows-386/include/main.h | 1 + .../3.3.5a-windows-386/include/map/CMapArea.h | 4 +- .../include/map/CMapRenderChunk.h | 57 +++++++++++++++++++ 3 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 profile/3.3.5a-windows-386/include/map/CMapRenderChunk.h diff --git a/profile/3.3.5a-windows-386/include/main.h b/profile/3.3.5a-windows-386/include/main.h index 79ffb79..dc238a9 100644 --- a/profile/3.3.5a-windows-386/include/main.h +++ b/profile/3.3.5a-windows-386/include/main.h @@ -84,6 +84,7 @@ #include "map/CMapObj.h" #include "map/CChunkLiquid.h" #include "map/CDetailDoodadInst.h" +#include "map/CMapRenderChunk.h" #include "net/message.h" diff --git a/profile/3.3.5a-windows-386/include/map/CMapArea.h b/profile/3.3.5a-windows-386/include/map/CMapArea.h index 97f9777..efddac1 100644 --- a/profile/3.3.5a-windows-386/include/map/CMapArea.h +++ b/profile/3.3.5a-windows-386/include/map/CMapArea.h @@ -99,8 +99,8 @@ struct CMapChunk float distToCamera; CAaBox bbox2; - void* detailDoodadInstPtr; - void* renderChunkPtr; + void* detailDoodadInst; + void* renderChunk; int32_t unk_AC; int32_t areaId; diff --git a/profile/3.3.5a-windows-386/include/map/CMapRenderChunk.h b/profile/3.3.5a-windows-386/include/map/CMapRenderChunk.h new file mode 100644 index 0000000..cbd29bb --- /dev/null +++ b/profile/3.3.5a-windows-386/include/map/CMapRenderChunk.h @@ -0,0 +1,57 @@ +#ifndef CMAPRENDERCHUNK_H +#define CMAPRENDERCHUNK_H + +DECLARE_STRUCT(CMapRenderChunkLayer); +DECLARE_STRUCT(CMapRenderChunk); + +#include "system/types.h" +#include "texture/texture.h" +#include "tempest/vector.h" +#include "gx/buffer.h" + +struct CMapChunk; + +struct CMapRenderChunkLayer +{ + int16_t flags; + int16_t layerIndex; + CTexture* texture; + int32_t unkIndex; + int32_t unkValue; + CMapRenderChunk* owner; +}; + +struct CMapRenderChunk +{ + CMapRenderChunk* renderChunkPtr1; + CMapRenderChunk* renderChunkPtr2; + uint8_t unkFlags; + uint8_t layersCount; + int16_t unk_0A; + int32_t unk_0C; + + CMapChunk* mapChunkPtr1; + CMapChunk* mapChunkPtr2; + + C3Vector vec1; + C3Vector vec2; + float radius; + + CMapRenderChunkLayer layers[4]; + + CTexture* terrainBlendTexture; + CTexture* shadowTexture; + + CGxBuf* vertexBuf; + CGxBuf* indicesBuf; + + int32_t unk_94; + int32_t unk_98; + int16_t unk_9C; + int16_t unk_9E; + int32_t unk_A0; + int32_t unk_A4; +}; + + +#endif \ No newline at end of file