mirror of
https://github.com/ZDoom/Raze.git
synced 2024-11-15 17:01:28 +00:00
- floatified sprext.position_offset
This commit is contained in:
parent
2954603573
commit
c59e4f8a10
3 changed files with 10 additions and 9 deletions
|
@ -297,17 +297,17 @@ static int32_t LoadMapHack(const char *filename, SpawnSpriteDef& sprites)
|
||||||
else if (sc.Compare("mdposxoff") || sc.Compare("mdpositionxoff"))
|
else if (sc.Compare("mdposxoff") || sc.Compare("mdpositionxoff"))
|
||||||
{
|
{
|
||||||
if (sc.CheckNumber() && validateSprite())
|
if (sc.CheckNumber() && validateSprite())
|
||||||
sprites.sprext[currentsprite].position_offset.X = sc.Number;
|
sprites.sprext[currentsprite].position_offset.X = sc.Number * maptoworld;
|
||||||
}
|
}
|
||||||
else if (sc.Compare("mdposyoff") || sc.Compare("mdpositionyoff"))
|
else if (sc.Compare("mdposyoff") || sc.Compare("mdpositionyoff"))
|
||||||
{
|
{
|
||||||
if (sc.CheckNumber() && validateSprite())
|
if (sc.CheckNumber() && validateSprite())
|
||||||
sprites.sprext[currentsprite].position_offset.X = sc.Number;
|
sprites.sprext[currentsprite].position_offset.X = sc.Number * maptoworld;
|
||||||
}
|
}
|
||||||
else if (sc.Compare("mdposzoff") || sc.Compare("mdpositionzoff"))
|
else if (sc.Compare("mdposzoff") || sc.Compare("mdpositionzoff"))
|
||||||
{
|
{
|
||||||
if (sc.CheckNumber() && validateSprite())
|
if (sc.CheckNumber() && validateSprite())
|
||||||
sprites.sprext[currentsprite].position_offset.X = sc.Number;
|
sprites.sprext[currentsprite].position_offset.X = sc.Number * zmaptoworld;
|
||||||
}
|
}
|
||||||
else if (sc.Compare("away1"))
|
else if (sc.Compare("away1"))
|
||||||
{
|
{
|
||||||
|
|
|
@ -723,7 +723,8 @@ struct spriteext_t
|
||||||
uint32_t mdanimtims;
|
uint32_t mdanimtims;
|
||||||
int16_t mdanimcur;
|
int16_t mdanimcur;
|
||||||
int16_t angoff, pitch, roll;
|
int16_t angoff, pitch, roll;
|
||||||
vec3_t pivot_offset, position_offset;
|
vec3_t pivot_offset;
|
||||||
|
DVector3 position_offset;
|
||||||
uint8_t renderflags;
|
uint8_t renderflags;
|
||||||
float alpha;
|
float alpha;
|
||||||
};
|
};
|
||||||
|
|
|
@ -504,13 +504,13 @@ bool HWSprite::ProcessVoxel(HWDrawInfo* di, voxmodel_t* vox, tspritetype* spr, s
|
||||||
scalevec.Z *= sprzscale;
|
scalevec.Z *= sprzscale;
|
||||||
translatevec.Z *= sprzscale;
|
translatevec.Z *= sprzscale;
|
||||||
|
|
||||||
float zpos = (float)(spr->int_pos().Z + ownerActor->sprext.position_offset.Z);
|
float zpos = (float)(spr->pos.Z + ownerActor->sprext.position_offset.Z);
|
||||||
float zscale = ((spr->cstat & CSTAT_SPRITE_YFLIP) && (spr->ownerActor->spr.cstat & CSTAT_SPRITE_ALIGNMENT_MASK) != 0) ? -4.f : 4.f;
|
float zscale = ((spr->cstat & CSTAT_SPRITE_YFLIP) && (spr->ownerActor->spr.cstat & CSTAT_SPRITE_ALIGNMENT_MASK) != 0) ? -1.f/64.f : 1.f/64.f;
|
||||||
zpos -= (spr->yoffset * spr->yrepeat) * zscale * voxel->bscale;
|
zpos -= (spr->yoffset * spr->yrepeat) * zscale * voxel->bscale;
|
||||||
|
|
||||||
x = (spr->int_pos().X + ownerActor->sprext.position_offset.X) * (1 / 16.f);
|
x = (spr->pos.X + ownerActor->sprext.position_offset.X);
|
||||||
z = zpos * (1 / -256.f);
|
z = -zpos;
|
||||||
y = (spr->int_pos().Y + ownerActor->sprext.position_offset.Y) * (1 / -16.f);
|
y = -(spr->pos.Y + ownerActor->sprext.position_offset.Y);
|
||||||
|
|
||||||
float zoff = voxel->siz.Z * .5f;
|
float zoff = voxel->siz.Z * .5f;
|
||||||
if (!(spr->cstat & CSTAT_SPRITE_YCENTER))
|
if (!(spr->cstat & CSTAT_SPRITE_YCENTER))
|
||||||
|
|
Loading…
Reference in a new issue