mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-04-22 02:01:04 +00:00
Add per-texture offset and scale fields and parsing to side_t.
This commit is contained in:
parent
3d9d9d74f6
commit
1fa8acd70f
2 changed files with 33 additions and 0 deletions
|
@ -1116,6 +1116,9 @@ static void P_LoadSidedefs(UINT8 *data)
|
|||
}
|
||||
sd->rowoffset = SHORT(msd->rowoffset)<<FRACBITS;
|
||||
|
||||
sd->topscale.x = sd->topscale.y = sd->midscale.x = sd->midscale.y = sd->botscale.x = sd->botscale.y = FRACUNIT;
|
||||
sd->topoffset.x = sd->topoffset.y = sd->midoffset.x = sd->midoffset.y = sd->botoffset.x = sd->botoffset.y = 0;
|
||||
|
||||
P_SetSidedefSector(i, SHORT(msd->sector));
|
||||
|
||||
// Special info stored in texture fields!
|
||||
|
@ -1489,6 +1492,30 @@ static void ParseTextmapSidedefParameter(UINT32 i, char *param, char *val)
|
|||
P_SetSidedefSector(i, atol(val));
|
||||
else if (fastcmp(param, "repeatcnt"))
|
||||
sides[i].repeatcnt = atol(val);
|
||||
else if (fastcmp(param, "scalex_top"))
|
||||
sides[i].topscale.x = FLOAT_TO_FIXED(atof(val));
|
||||
else if (fastcmp(param, "scaley_top"))
|
||||
sides[i].topscale.y = FLOAT_TO_FIXED(atof(val));
|
||||
else if (fastcmp(param, "scalex_mid"))
|
||||
sides[i].midscale.x = FLOAT_TO_FIXED(atof(val));
|
||||
else if (fastcmp(param, "scaley_mid"))
|
||||
sides[i].midscale.y = FLOAT_TO_FIXED(atof(val));
|
||||
else if (fastcmp(param, "scalex_bottom"))
|
||||
sides[i].botscale.x = FLOAT_TO_FIXED(atof(val));
|
||||
else if (fastcmp(param, "scaley_bottom"))
|
||||
sides[i].botscale.y = FLOAT_TO_FIXED(atof(val));
|
||||
else if (fastcmp(param, "offsetx_top"))
|
||||
sides[i].topoffset.x = FLOAT_TO_FIXED(atof(val));
|
||||
else if (fastcmp(param, "offsety_top"))
|
||||
sides[i].topoffset.y = FLOAT_TO_FIXED(atof(val));
|
||||
else if (fastcmp(param, "offsetx_mid"))
|
||||
sides[i].midoffset.x = FLOAT_TO_FIXED(atof(val));
|
||||
else if (fastcmp(param, "offsety_mid"))
|
||||
sides[i].midoffset.y = FLOAT_TO_FIXED(atof(val));
|
||||
else if (fastcmp(param, "offsetx_bottom"))
|
||||
sides[i].botoffset.x = FLOAT_TO_FIXED(atof(val));
|
||||
else if (fastcmp(param, "offsety_bottom"))
|
||||
sides[i].botoffset.y = FLOAT_TO_FIXED(atof(val));
|
||||
}
|
||||
|
||||
static void ParseTextmapLinedefParameter(UINT32 i, char *param, char *val)
|
||||
|
@ -1767,6 +1794,9 @@ static void P_LoadTextmap(void)
|
|||
sd->sector = NULL;
|
||||
sd->repeatcnt = 0;
|
||||
|
||||
sd->topscale.x = sd->topscale.y = sd->midscale.x = sd->midscale.y = sd->botscale.x = sd->botscale.y = FRACUNIT;
|
||||
sd->topoffset.x = sd->topoffset.y = sd->midoffset.x = sd->midoffset.y = sd->botoffset.x = sd->botoffset.y = 0;
|
||||
|
||||
TextmapParse(sidesPos[i], i, ParseTextmapSidedefParameter);
|
||||
|
||||
if (!sd->sector)
|
||||
|
|
|
@ -447,6 +447,9 @@ typedef struct
|
|||
// add this to the calculated texture top
|
||||
fixed_t rowoffset;
|
||||
|
||||
vector2_t topscale, botscale, midscale;
|
||||
vector2_t topoffset, botoffset, midoffset;
|
||||
|
||||
// Texture indices.
|
||||
// We do not maintain names here.
|
||||
INT32 toptexture, bottomtexture, midtexture;
|
||||
|
|
Loading…
Reference in a new issue