// Copyright (C) 2023 Jérôme "Lynix" Leclercq (lynix680@gmail.com) // This file is part of the "Nazara Engine - Utility module" // For conditions of distribution and use, see copyright notice in Config.hpp #include #include #include namespace Nz { bool Unserialize(SerializationContext& context, DDSHeader* header) { if (!Unserialize(context, &header->size)) return false; if (!Unserialize(context, &header->flags)) return false; if (!Unserialize(context, &header->height)) return false; if (!Unserialize(context, &header->width)) return false; if (!Unserialize(context, &header->pitch)) return false; if (!Unserialize(context, &header->depth)) return false; if (!Unserialize(context, &header->levelCount)) return false; for (unsigned int i = 0; i < CountOf(header->reserved1); ++i) { if (!Unserialize(context, &header->reserved1[i])) return false; } if (!Unserialize(context, &header->format)) return false; for (unsigned int i = 0; i < CountOf(header->ddsCaps); ++i) { if (!Unserialize(context, &header->ddsCaps[i])) return false; } if (!Unserialize(context, &header->reserved2)) return false; return true; } bool Unserialize(SerializationContext& context, DDSHeaderDX10Ext* header) { UInt32 enumValue; if (!Unserialize(context, &enumValue)) return false; header->dxgiFormat = static_cast(enumValue); if (!Unserialize(context, &enumValue)) return false; header->resourceDimension = static_cast(enumValue); if (!Unserialize(context, &header->miscFlag)) return false; if (!Unserialize(context, &header->arraySize)) return false; if (!Unserialize(context, &header->reserved)) return false; return true; } bool Unserialize(SerializationContext& context, DDSPixelFormat* pixelFormat) { if (!Unserialize(context, &pixelFormat->size)) return false; if (!Unserialize(context, &pixelFormat->flags)) return false; if (!Unserialize(context, &pixelFormat->fourCC)) return false; if (!Unserialize(context, &pixelFormat->bpp)) return false; if (!Unserialize(context, &pixelFormat->redMask)) return false; if (!Unserialize(context, &pixelFormat->greenMask)) return false; if (!Unserialize(context, &pixelFormat->blueMask)) return false; if (!Unserialize(context, &pixelFormat->alphaMask)) return false; return true; } }