From 84ccf18b76a4ac83be81977956075edc5c6b470e Mon Sep 17 00:00:00 2001 From: James R Date: Fri, 17 Dec 2021 04:50:40 -0800 Subject: [PATCH] Read PNG and patch header in one go for sprites --- src/r_things.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/r_things.c b/src/r_things.c index c370a2c67..224bbc1cc 100644 --- a/src/r_things.c +++ b/src/r_things.c @@ -284,14 +284,13 @@ boolean R_AddSingleSpriteDef(const char *sprname, spritedef_t *spritedef, UINT16 // store sprite info in lookup tables //FIXME : numspritelumps do not duplicate sprite replacements + W_ReadLumpHeaderPwad(wadnum, l, &patch, PNG_HEADER_SIZE, 0); + #ifndef NO_PNG_LUMPS { - UINT8 header[PNG_HEADER_SIZE]; size_t len = W_LumpLengthPwad(wadnum, l); - W_ReadLumpHeaderPwad(wadnum, l, header, sizeof header, 0); - - if (Picture_IsLumpPNG(header, len)) + if (Picture_IsLumpPNG((UINT8*)&patch, len)) { UINT8 *png = W_CacheLumpNumPwad(wadnum, l, PU_STATIC); Picture_PNGDimensions((UINT8 *)png, &width, &height, &topoffset, &leftoffset, len); @@ -303,7 +302,6 @@ boolean R_AddSingleSpriteDef(const char *sprname, spritedef_t *spritedef, UINT16 if (!isPNG) #endif { - W_ReadLumpHeaderPwad(wadnum, l, &patch, sizeof(INT16) * 4, 0); width = (INT32)(SHORT(patch.width)); height = (INT32)(SHORT(patch.height)); topoffset = (INT16)(SHORT(patch.topoffset));