From 2d963a851c32b7e228420ead1cf78196fee8e49d Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Sun, 8 May 2011 21:28:28 -0400 Subject: [PATCH] Added MOJODDS_isDDS(). --- mojodds.c | 7 +++++++ mojodds.h | 1 + 2 files changed, 8 insertions(+) diff --git a/mojodds.c b/mojodds.c index 9b45031..f67842e 100644 --- a/mojodds.c +++ b/mojodds.c @@ -173,6 +173,13 @@ static int parse_dds(MOJODDS_Header *header, const uint8 **ptr, size_t *len) // !!! FIXME: improve the crap out of this API later. +int MOJODDS_isDDS(const void *_ptr, const unsigned long _len) +{ + size_t len = (size_t) _len; + const uint8 *ptr = (const uint8 *) _ptr; + return (readui32(&ptr, &len) == DDS_MAGIC); +} + int MOJODDS_getTexture(const void *_ptr, const unsigned long _len, const void **_tex, unsigned long *_texlen, int *_dxtver, unsigned int *_w, unsigned int *_h) diff --git a/mojodds.h b/mojodds.h index 47fde53..f666886 100644 --- a/mojodds.h +++ b/mojodds.h @@ -3,6 +3,7 @@ /* !!! FIXME: flesh this file out. */ +int MOJODDS_isDDS(const void *_ptr, const unsigned long _len); int MOJODDS_getTexture(const void *_ptr, const unsigned long _len, const void **_tex, unsigned long *_texlen, int *_dxtver, unsigned int *_w, unsigned int *_h);