From e531c5d4e37acfa517e100e4d22726d8958801a3 Mon Sep 17 00:00:00 2001 From: Lactozilla Date: Wed, 29 Jan 2025 23:14:24 -0300 Subject: [PATCH] Rename XPivot and YPivot to RotationXPivot and RotationYPivot XPivot and YPivot have been kept for backwards compatibility. --- src/r_picformats.c | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/r_picformats.c b/src/r_picformats.c index 5e9035359..94452e20e 100644 --- a/src/r_picformats.c +++ b/src/r_picformats.c @@ -1583,6 +1583,8 @@ static void R_ParseSpriteInfoFrame(struct ParseSpriteInfoState *parser, boolean UINT16 frameID = 0; UINT16 frameEndID = UINT16_MAX; + boolean usingDeprecatedPivot = false; + struct ParsedSpriteInfoFrame frame = { .pivotX = INT32_MAX, .pivotY = INT32_MAX @@ -1673,17 +1675,33 @@ static void R_ParseSpriteInfoFrame(struct ParseSpriteInfoState *parser, boolean } while (strcmp(sprinfoToken,"}")!=0) { - if (stricmp(sprinfoToken, "XPIVOT")==0) + if (stricmp(sprinfoToken, "ROTATIONXPIVOT")==0) { Z_Free(sprinfoToken); sprinfoToken = M_GetToken(NULL); frame.pivotX = atoi(sprinfoToken); } + else if (stricmp(sprinfoToken, "ROTATIONYPIVOT")==0) + { + Z_Free(sprinfoToken); + sprinfoToken = M_GetToken(NULL); + frame.pivotY = atoi(sprinfoToken); + } + // TODO: 2.3: Delete + else if (stricmp(sprinfoToken, "XPIVOT")==0) + { + Z_Free(sprinfoToken); + sprinfoToken = M_GetToken(NULL); + frame.pivotX = atoi(sprinfoToken); + usingDeprecatedPivot = true; + } + // TODO: 2.3: Delete else if (stricmp(sprinfoToken, "YPIVOT")==0) { Z_Free(sprinfoToken); sprinfoToken = M_GetToken(NULL); frame.pivotY = atoi(sprinfoToken); + usingDeprecatedPivot = true; } // TODO: 2.3: Delete else if (stricmp(sprinfoToken, "ROTAXIS")==0) @@ -1722,6 +1740,13 @@ static void R_ParseSpriteInfoFrame(struct ParseSpriteInfoState *parser, boolean } } + // TODO: 2.3: Delete + if (usingDeprecatedPivot) + { + parser->info->frames[SPRINFO_DEFAULT_FRAME].pivot.available = true; + set_bit_array(parser->info->available, SPRINFO_DEFAULT_FRAME); + } + if (parser->spr2) { INT32 i;