diff --git a/src/materialsystem/cmaterialglue.h b/src/materialsystem/cmaterialglue.h index cbdcd971..5cb176f6 100644 --- a/src/materialsystem/cmaterialglue.h +++ b/src/materialsystem/cmaterialglue.h @@ -33,8 +33,8 @@ public: CShaderGlue* shaderset; //0x0058 - TextureHeader_t** textureHandles; //0x0060 - TextureHeader_t** streamingTextureHandles; //0x0068 + TextureAsset_s** textureHandles; //0x0060 + TextureAsset_s** streamingTextureHandles; //0x0068 int16_t numStreamingTextureHandles; //0x0070 diff --git a/src/materialsystem/texturestreaming.h b/src/materialsystem/texturestreaming.h index 21e2f1d3..28671ba5 100644 --- a/src/materialsystem/texturestreaming.h +++ b/src/materialsystem/texturestreaming.h @@ -15,7 +15,7 @@ struct TextureStreamMgr_Task_s { - TextureAsset_t* textureAsset; + TextureAsset_s* textureAsset; // The mip level count to load or drop. uint8 mipLevelCount; @@ -87,7 +87,7 @@ struct TextureStreamMgr_s Vector3D streamBspCameraPos; float streamBspHalfFovX; float streamBspViewWidth; - TextureAsset_t* streamableTextures[4]; + TextureAsset_s* streamableTextures[4]; }; inline void(*v_StreamDB_Init)(const char* const pszLevelName); diff --git a/src/public/rendersystem/schema/texture.g.h b/src/public/rendersystem/schema/texture.g.h index 4226368e..6db1b3af 100644 --- a/src/public/rendersystem/schema/texture.g.h +++ b/src/public/rendersystem/schema/texture.g.h @@ -4,111 +4,111 @@ //----------------------------------------------------------------------------- // Structure definitions //----------------------------------------------------------------------------- -/*schema*/ struct TextureDesc_t +/*schema*/ struct TextureDesc_s { - uint64_t m_AssetGuid; - const char* m_pDebugName; - uint16 m_nWidth; - uint16 m_nHeight; - uint16 m_nDepth; - uint16_t m_nImageFormat; + uint64 m_AssetGuid; + const char* m_pDebugName; + uint16 m_nWidth; + uint16 m_nHeight; + uint16 m_nDepth; + uint16 m_nImageFormat; }; -/*schema*/ struct TextureHeader_t : public TextureDesc_t +/*schema*/ struct TextureAsset_s : public TextureDesc_s { - uint32_t m_nDataLength; - uint8_t unknown_2; - uint8_t m_nOptStreamedMipCount; - uint8_t m_nArraySize; - uint8_t m_nLayerCount; - uint8_t m_nCPUAccessFlag; // [ PIXIE ]: In RTech::CreateDXBuffer textureDescription Usage is determined by the CPU Access Flag so I assume it's the same case here. - uint8_t m_nPermanentMipCount; - uint8_t m_nStreamedMipCount; - uint8_t unknown_4[13]; + uint32 m_nDataLength; + uint8 unknown_2; + uint8 m_nOptStreamedMipCount; + uint8 m_nArraySize; + uint8 m_nLayerCount; + uint8 m_nCPUAccessFlag; // [ PIXIE ]: In RTech::CreateDXBuffer textureDescription Usage is determined by the CPU Access Flag so I assume it's the same case here. + uint8 m_nPermanentMipCount; + uint8 m_nStreamedMipCount; + uint8 unknown_4[13]; __int64 m_nPixelCount; - uint8_t unknown_5[3]; - uint8_t m_nTotalStreamedMipCount; // Does not get set until after RTech::CreateDXTexture. - uint8_t unk4[228]; - uint8_t unk5[57]; + uint8 unknown_5[3]; + uint8 m_nTotalStreamedMipCount; // Does not get set until after RTech::CreateDXTexture. + uint8 unk4[228]; + uint8 unk5[57]; ID3D11Texture2D* m_ppTexture; ID3D11ShaderResourceView* m_ppShaderResourceView; - uint8_t m_nTextureMipLevels; - uint8_t m_nTextureMipLevelsStreamedOpt; + uint8 m_nTextureMipLevels; + uint8 m_nTextureMipLevelsStreamedOpt; }; -struct TextureBytesPerPixel_t +struct TextureBytesPerPixel_s { - uint8_t x; - uint8_t y; + uint8 x; + uint8 y; }; //----------------------------------------------------------------------------- // Table definitions //----------------------------------------------------------------------------- -static inline const TextureBytesPerPixel_t s_pBytesPerPixel[] = +static inline const TextureBytesPerPixel_s s_pBytesPerPixel[] = { - { uint8_t(8u), uint8_t(4u) }, - { uint8_t(8u), uint8_t(4u) }, - { uint8_t(16u), uint8_t(4u) }, - { uint8_t(16u), uint8_t(4u) }, - { uint8_t(16u), uint8_t(4u) }, - { uint8_t(16u), uint8_t(4u) }, - { uint8_t(8u), uint8_t(4u) }, - { uint8_t(8u), uint8_t(4u) }, - { uint8_t(16u), uint8_t(4u) }, - { uint8_t(16u), uint8_t(4u) }, - { uint8_t(16u), uint8_t(4u) }, - { uint8_t(16u), uint8_t(4u) }, - { uint8_t(16u), uint8_t(4u) }, - { uint8_t(16u), uint8_t(4u) }, - { uint8_t(16u), uint8_t(1u) }, - { uint8_t(16u), uint8_t(1u) }, - { uint8_t(16u), uint8_t(1u) }, - { uint8_t(12u), uint8_t(1u) }, - { uint8_t(12u), uint8_t(1u) }, - { uint8_t(12u), uint8_t(1u) }, - { uint8_t(8u), uint8_t(1u) }, - { uint8_t(8u), uint8_t(1u) }, - { uint8_t(8u), uint8_t(1u) }, - { uint8_t(8u), uint8_t(1u) }, - { uint8_t(8u), uint8_t(1u) }, - { uint8_t(8u), uint8_t(1u) }, - { uint8_t(8u), uint8_t(1u) }, - { uint8_t(8u), uint8_t(1u) }, - { uint8_t(4u), uint8_t(1u) }, - { uint8_t(4u), uint8_t(1u) }, - { uint8_t(4u), uint8_t(1u) }, - { uint8_t(4u), uint8_t(1u) }, - { uint8_t(4u), uint8_t(1u) }, - { uint8_t(4u), uint8_t(1u) }, - { uint8_t(4u), uint8_t(1u) }, - { uint8_t(4u), uint8_t(1u) }, - { uint8_t(4u), uint8_t(1u) }, - { uint8_t(4u), uint8_t(1u) }, - { uint8_t(4u), uint8_t(1u) }, - { uint8_t(4u), uint8_t(1u) }, - { uint8_t(4u), uint8_t(1u) }, - { uint8_t(4u), uint8_t(1u) }, - { uint8_t(4u), uint8_t(1u) }, - { uint8_t(4u), uint8_t(1u) }, - { uint8_t(2u), uint8_t(1u) }, - { uint8_t(2u), uint8_t(1u) }, - { uint8_t(2u), uint8_t(1u) }, - { uint8_t(2u), uint8_t(1u) }, - { uint8_t(2u), uint8_t(1u) }, - { uint8_t(2u), uint8_t(1u) }, - { uint8_t(2u), uint8_t(1u) }, - { uint8_t(2u), uint8_t(1u) }, - { uint8_t(2u), uint8_t(1u) }, - { uint8_t(1u), uint8_t(1u) }, - { uint8_t(1u), uint8_t(1u) }, - { uint8_t(1u), uint8_t(1u) }, - { uint8_t(1u), uint8_t(1u) }, - { uint8_t(1u), uint8_t(1u) }, - { uint8_t(4u), uint8_t(1u) }, - { uint8_t(4u), uint8_t(1u) }, - { uint8_t(4u), uint8_t(1u) }, - { uint8_t(2u), uint8_t(1u) }, + { u8(8u), u8(4u) }, + { u8(8u), u8(4u) }, + { u8(16u), u8(4u) }, + { u8(16u), u8(4u) }, + { u8(16u), u8(4u) }, + { u8(16u), u8(4u) }, + { u8(8u), u8(4u) }, + { u8(8u), u8(4u) }, + { u8(16u), u8(4u) }, + { u8(16u), u8(4u) }, + { u8(16u), u8(4u) }, + { u8(16u), u8(4u) }, + { u8(16u), u8(4u) }, + { u8(16u), u8(4u) }, + { u8(16u), u8(1u) }, + { u8(16u), u8(1u) }, + { u8(16u), u8(1u) }, + { u8(12u), u8(1u) }, + { u8(12u), u8(1u) }, + { u8(12u), u8(1u) }, + { u8(8u), u8(1u) }, + { u8(8u), u8(1u) }, + { u8(8u), u8(1u) }, + { u8(8u), u8(1u) }, + { u8(8u), u8(1u) }, + { u8(8u), u8(1u) }, + { u8(8u), u8(1u) }, + { u8(8u), u8(1u) }, + { u8(4u), u8(1u) }, + { u8(4u), u8(1u) }, + { u8(4u), u8(1u) }, + { u8(4u), u8(1u) }, + { u8(4u), u8(1u) }, + { u8(4u), u8(1u) }, + { u8(4u), u8(1u) }, + { u8(4u), u8(1u) }, + { u8(4u), u8(1u) }, + { u8(4u), u8(1u) }, + { u8(4u), u8(1u) }, + { u8(4u), u8(1u) }, + { u8(4u), u8(1u) }, + { u8(4u), u8(1u) }, + { u8(4u), u8(1u) }, + { u8(4u), u8(1u) }, + { u8(2u), u8(1u) }, + { u8(2u), u8(1u) }, + { u8(2u), u8(1u) }, + { u8(2u), u8(1u) }, + { u8(2u), u8(1u) }, + { u8(2u), u8(1u) }, + { u8(2u), u8(1u) }, + { u8(2u), u8(1u) }, + { u8(2u), u8(1u) }, + { u8(1u), u8(1u) }, + { u8(1u), u8(1u) }, + { u8(1u), u8(1u) }, + { u8(1u), u8(1u) }, + { u8(1u), u8(1u) }, + { u8(4u), u8(1u) }, + { u8(4u), u8(1u) }, + { u8(4u), u8(1u) }, + { u8(2u), u8(1u) }, }; // Map dxgi format to txtr asset format diff --git a/src/public/rtech/istreamdb.h b/src/public/rtech/istreamdb.h index 7eb6dd63..8be4a6a1 100644 --- a/src/public/rtech/istreamdb.h +++ b/src/public/rtech/istreamdb.h @@ -11,7 +11,7 @@ #define STBSP_NOMINAL_TEX_RES 4096 struct MaterialGlue_t; -struct TextureAsset_t; +struct TextureAsset_s; struct StreamDBLump_s { diff --git a/src/windows/id3dx.cpp b/src/windows/id3dx.cpp index be1b34ba..afa21c61 100644 --- a/src/windows/id3dx.cpp +++ b/src/windows/id3dx.cpp @@ -116,9 +116,9 @@ HRESULT __stdcall ResizeBuffers(IDXGISwapChain* pSwapChain, UINT nBufferCount, U // Disable stack warning, tells us to move more data to the heap instead. Not really possible with 'initialData' here. Since its parallel processed. // Also disable 6378, complains that there is no control path where it would use 'nullptr', if that happens 'Error' will be called though. #pragma warning( disable : 6262 6387) -void(*v_CreateTextureResource)(TextureHeader_t*, INT_PTR); +void(*v_CreateTextureResource)(TextureAsset_s*, INT_PTR); constexpr uint32_t ALIGNMENT_SIZE = 15; // Creates 2D texture and shader resource from textureHeader and imageData. -void CreateTextureResource(TextureHeader_t* textureHeader, INT_PTR imageData) +void CreateTextureResource(TextureAsset_s* textureHeader, INT_PTR imageData) { if (textureHeader->m_nDepth && !textureHeader->m_nHeight) // Return never gets hit. Maybe its some debug check? return; @@ -143,7 +143,7 @@ void CreateTextureResource(TextureHeader_t* textureHeader, INT_PTR imageData) if (textureHeader->m_nHeight >> mipLevel > 1) mipHeight = (textureHeader->m_nHeight >> mipLevel) - 1; - const TextureBytesPerPixel_t& perPixel = s_pBytesPerPixel[textureHeader->m_nImageFormat]; + const TextureBytesPerPixel_s& perPixel = s_pBytesPerPixel[textureHeader->m_nImageFormat]; const u8 x = perPixel.x; const u8 y = perPixel.y;