mirror of
https://github.com/ZDoom/raze-gles.git
synced 2025-01-13 11:30:44 +00:00
- addressed more type casting issues in SW.
This should cover everything with coordinates.
This commit is contained in:
parent
39b67b4086
commit
06a069750f
9 changed files with 23 additions and 23 deletions
|
@ -346,7 +346,7 @@ void InitLevel(MapRecord *maprec)
|
||||||
}
|
}
|
||||||
|
|
||||||
int16_t ang;
|
int16_t ang;
|
||||||
engineLoadBoard(maprec->fileName, SW_SHAREWARE ? 1 : 0, (vec3_t*)&Player[0], &ang, &Player[0].cursectnum);
|
engineLoadBoard(maprec->fileName, SW_SHAREWARE ? 1 : 0, &Player[0].pos, &ang, &Player[0].cursectnum);
|
||||||
currentLevel = maprec;
|
currentLevel = maprec;
|
||||||
|
|
||||||
if (!maprec->labelName.CompareNoCase("$outpost") && !maprec->name.CompareNoCase("$TXTS_MAP09"))
|
if (!maprec->labelName.CompareNoCase("$outpost") && !maprec->name.CompareNoCase("$TXTS_MAP09"))
|
||||||
|
|
|
@ -1730,8 +1730,13 @@ struct SECTOR_OBJECTstruct
|
||||||
|
|
||||||
SPRITEp sp_child; // child sprite that holds info for the sector object
|
SPRITEp sp_child; // child sprite that holds info for the sector object
|
||||||
|
|
||||||
int xmid,ymid,zmid, // midpoints of the sector object
|
union
|
||||||
vel, // velocity
|
{
|
||||||
|
struct { int xmid, ymid, zmid; }; // midpoints of the sector object
|
||||||
|
vec3_t pmid;
|
||||||
|
};
|
||||||
|
|
||||||
|
int vel, // velocity
|
||||||
vel_tgt, // target velocity
|
vel_tgt, // target velocity
|
||||||
player_xoff, // player x offset from the xmid
|
player_xoff, // player x offset from the xmid
|
||||||
player_yoff, // player y offset from the ymid
|
player_yoff, // player y offset from the ymid
|
||||||
|
|
|
@ -289,7 +289,7 @@ short RectClipTurn(PLAYERp pp, short new_ang, int *qx, int *qy, int *ox, int *oy
|
||||||
vec2_t const p = { ox[i], oy[i] };
|
vec2_t const p = { ox[i], oy[i] };
|
||||||
rotatepoint(pp->pos.vec2, p, rot_ang, &xy[i]);
|
rotatepoint(pp->pos.vec2, p, rot_ang, &xy[i]);
|
||||||
// cannot use sop->xmid and ymid because the SO is off the map at this point
|
// cannot use sop->xmid and ymid because the SO is off the map at this point
|
||||||
//rotatepoint(*(vec2_t *)&sop->xmid, p, rot_ang, &xy[i]);
|
//rotatepoint(&sop->xmid, p, rot_ang, &xy[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Given the 4 points: x[4], y[4]
|
//Given the 4 points: x[4], y[4]
|
||||||
|
|
|
@ -1344,7 +1344,7 @@ DoSpawnTeleporterEffect(SPRITEp sp)
|
||||||
|
|
||||||
ep = &sprite[effect];
|
ep = &sprite[effect];
|
||||||
|
|
||||||
setspritez(effect, (vec3_t *)ep);
|
setspritez(effect, &ep->pos);
|
||||||
|
|
||||||
ep->shade = -40;
|
ep->shade = -40;
|
||||||
ep->xrepeat = ep->yrepeat = 42;
|
ep->xrepeat = ep->yrepeat = 42;
|
||||||
|
@ -1368,7 +1368,7 @@ DoSpawnTeleporterEffectPlace(SPRITEp sp)
|
||||||
|
|
||||||
ep = &sprite[effect];
|
ep = &sprite[effect];
|
||||||
|
|
||||||
setspritez(effect, (vec3_t *)ep);
|
setspritez(effect, &ep->pos);
|
||||||
|
|
||||||
ep->shade = -40;
|
ep->shade = -40;
|
||||||
ep->xrepeat = ep->yrepeat = 42;
|
ep->xrepeat = ep->yrepeat = 42;
|
||||||
|
|
|
@ -417,7 +417,7 @@ int DoRotatorMove(short SpriteNum)
|
||||||
for (w = startwall, ndx = 0; w <= endwall; w++)
|
for (w = startwall, ndx = 0; w <= endwall; w++)
|
||||||
{
|
{
|
||||||
vec2_t const orig = { r->origx[ndx], r->origy[ndx] };
|
vec2_t const orig = { r->origx[ndx], r->origy[ndx] };
|
||||||
rotatepoint(*(vec2_t *)&pivot->x, orig, r->pos, &nxy);
|
rotatepoint(pivot->pos.vec2, orig, r->pos, &nxy);
|
||||||
|
|
||||||
dragpoint(w, nxy.x, nxy.y, 0);
|
dragpoint(w, nxy.x, nxy.y, 0);
|
||||||
ndx++;
|
ndx++;
|
||||||
|
|
|
@ -522,7 +522,7 @@ void SWSoundEngine::CalcPosVel(int type, const void* source, const float pt[3],
|
||||||
if (pos != nullptr)
|
if (pos != nullptr)
|
||||||
{
|
{
|
||||||
PLAYERp pp = Player + screenpeek;
|
PLAYERp pp = Player + screenpeek;
|
||||||
FVector3 campos = GetSoundPos((vec3_t*)pp);
|
FVector3 campos = GetSoundPos(&pp->pos);
|
||||||
vec3_t *vpos = nullptr;
|
vec3_t *vpos = nullptr;
|
||||||
|
|
||||||
if (vel) vel->Zero();
|
if (vel) vel->Zero();
|
||||||
|
@ -535,7 +535,7 @@ void SWSoundEngine::CalcPosVel(int type, const void* source, const float pt[3],
|
||||||
}
|
}
|
||||||
else if (type == SOURCE_Actor || type == SOURCE_Player)
|
else if (type == SOURCE_Actor || type == SOURCE_Player)
|
||||||
{
|
{
|
||||||
vpos = type == SOURCE_Actor ? &((SPRITEp)source)->pos : (vec3_t*)&((PLAYERp)source)->posx;
|
vpos = type == SOURCE_Actor ? &((SPRITEp)source)->pos : &((PLAYERp)source)->pos;
|
||||||
FVector3 npos = GetSoundPos(vpos);
|
FVector3 npos = GetSoundPos(vpos);
|
||||||
|
|
||||||
*pos = npos;
|
*pos = npos;
|
||||||
|
|
|
@ -7066,7 +7066,7 @@ move_sprite(short spritenum, int xchange, int ychange, int zchange, int ceildist
|
||||||
|
|
||||||
// extra processing for Stacks and warping
|
// extra processing for Stacks and warping
|
||||||
if (FAF_ConnectArea(spr->sectnum))
|
if (FAF_ConnectArea(spr->sectnum))
|
||||||
setspritez(spritenum, (vec3_t *)spr);
|
setspritez(spritenum, &spr->pos);
|
||||||
|
|
||||||
if (TEST(sector[spr->sectnum].extra, SECTFX_WARP_SECTOR))
|
if (TEST(sector[spr->sectnum].extra, SECTFX_WARP_SECTOR))
|
||||||
{
|
{
|
||||||
|
|
|
@ -1676,7 +1676,7 @@ MovePlayer(PLAYERp pp, SECTOR_OBJECTp sop, int nx, int ny)
|
||||||
// increment Players delta angle
|
// increment Players delta angle
|
||||||
pp->RevolveDeltaAng = NORM_ANGLE(pp->RevolveDeltaAng + GlobSpeedSO);
|
pp->RevolveDeltaAng = NORM_ANGLE(pp->RevolveDeltaAng + GlobSpeedSO);
|
||||||
|
|
||||||
rotatepoint(*(vec2_t *)&sop->xmid, *(vec2_t *)&pp->RevolveX, pp->RevolveDeltaAng, (vec2_t *)&pp->posx);
|
rotatepoint(sop->pmid.vec2, *(vec2_t *)&pp->RevolveX, pp->RevolveDeltaAng, &pp->pos.vec2);
|
||||||
|
|
||||||
// THIS WAS CAUSING PROLEMS!!!!
|
// THIS WAS CAUSING PROLEMS!!!!
|
||||||
// Sectors are still being manipulated so you can end up in a void (-1) sector
|
// Sectors are still being manipulated so you can end up in a void (-1) sector
|
||||||
|
@ -1759,7 +1759,7 @@ MovePoints(SECTOR_OBJECTp sop, short delta_ang, int nx, int ny)
|
||||||
if (TEST(wp->extra, WALLFX_LOOP_SPIN_4X))
|
if (TEST(wp->extra, WALLFX_LOOP_SPIN_4X))
|
||||||
rot_ang = NORM_ANGLE(rot_ang * 4);
|
rot_ang = NORM_ANGLE(rot_ang * 4);
|
||||||
|
|
||||||
rotatepoint(*(vec2_t *)&sop->xmid, *(vec2_t *)&wp->x, rot_ang, &rxy);
|
rotatepoint(sop->pmid.vec2, wp->pos, rot_ang, &rxy);
|
||||||
|
|
||||||
if (wp->extra && TEST(wp->extra, WALLFX_LOOP_OUTER))
|
if (wp->extra && TEST(wp->extra, WALLFX_LOOP_OUTER))
|
||||||
{
|
{
|
||||||
|
@ -1859,12 +1859,12 @@ PlayerPart:
|
||||||
|
|
||||||
if (TEST(wall[sector[sp->sectnum].wallptr].extra, WALLFX_LOOP_REVERSE_SPIN))
|
if (TEST(wall[sector[sp->sectnum].wallptr].extra, WALLFX_LOOP_REVERSE_SPIN))
|
||||||
{
|
{
|
||||||
rotatepoint(*(vec2_t *)&sop->xmid, *(vec2_t *)&sp->x, -delta_ang, (vec2_t *)&sp->x);
|
rotatepoint(sop->pmid.vec2, sp->pos.vec2, -delta_ang, &sp->pos.vec2);
|
||||||
sp->ang = NORM_ANGLE(sp->ang - delta_ang);
|
sp->ang = NORM_ANGLE(sp->ang - delta_ang);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
rotatepoint(*(vec2_t *)&sop->xmid, *(vec2_t *)&sp->x, delta_ang, (vec2_t *)&sp->x);
|
rotatepoint(sop->pmid.vec2, sp->pos.vec2, -delta_ang, &sp->pos.vec2);
|
||||||
sp->ang = NORM_ANGLE(sp->ang + delta_ang);
|
sp->ang = NORM_ANGLE(sp->ang + delta_ang);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1874,7 +1874,7 @@ PlayerPart:
|
||||||
if (!TEST(sop->flags, SOBJ_DONT_ROTATE))
|
if (!TEST(sop->flags, SOBJ_DONT_ROTATE))
|
||||||
{
|
{
|
||||||
// NOT part of a sector - independant of any sector
|
// NOT part of a sector - independant of any sector
|
||||||
rotatepoint(*(vec2_t *)&sop->xmid, *(vec2_t *)&sp->x, delta_ang, (vec2_t *)&sp->x);
|
rotatepoint(sop->pmid.vec2, sp->pos.vec2, -delta_ang, &sp->pos.vec2);
|
||||||
sp->ang = NORM_ANGLE(sp->ang + delta_ang);
|
sp->ang = NORM_ANGLE(sp->ang + delta_ang);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4347,7 +4347,6 @@ SpawnBlood(short SpriteNum, short Weapon, short hit_ang, int hit_x, int hit_y, i
|
||||||
nu->jump_speed += RANDOM_RANGE(p->max_jspeed - p->min_jspeed);
|
nu->jump_speed += RANDOM_RANGE(p->max_jspeed - p->min_jspeed);
|
||||||
nu->jump_speed = -nu->jump_speed;
|
nu->jump_speed = -nu->jump_speed;
|
||||||
|
|
||||||
//setspritez(New, (vec3_t *)np);
|
|
||||||
nu->xchange = MOVEx(np->xvel, np->ang);
|
nu->xchange = MOVEx(np->xvel, np->ang);
|
||||||
nu->ychange = MOVEy(np->xvel, np->ang);
|
nu->ychange = MOVEy(np->xvel, np->ang);
|
||||||
|
|
||||||
|
@ -8638,7 +8637,7 @@ DoPlasmaFountain(int16_t Weapon)
|
||||||
ap = &sprite[u->Attach];
|
ap = &sprite[u->Attach];
|
||||||
|
|
||||||
// move with sprite
|
// move with sprite
|
||||||
setspritez(Weapon, (vec3_t *)ap);
|
setspritez(Weapon, &ap->pos);
|
||||||
sp->ang = ap->ang;
|
sp->ang = ap->ang;
|
||||||
|
|
||||||
u->Counter++;
|
u->Counter++;
|
||||||
|
@ -10364,7 +10363,7 @@ DoMicro(int16_t Weapon)
|
||||||
// last smoke
|
// last smoke
|
||||||
if ((u->WaitTics -= MISSILEMOVETICS) <= 0)
|
if ((u->WaitTics -= MISSILEMOVETICS) <= 0)
|
||||||
{
|
{
|
||||||
setspritez(New, (vec3_t *)np);
|
setspritez(New, &np->pos);
|
||||||
NewStateGroup(Weapon, &sg_MicroMini[0]);
|
NewStateGroup(Weapon, &sg_MicroMini[0]);
|
||||||
sp->xrepeat = sp->yrepeat = 10;
|
sp->xrepeat = sp->yrepeat = 10;
|
||||||
RESET(sp->cstat, CSTAT_SPRITE_INVISIBLE);
|
RESET(sp->cstat, CSTAT_SPRITE_INVISIBLE);
|
||||||
|
@ -14613,10 +14612,6 @@ InitStar(PLAYERp pp)
|
||||||
wp = &sprite[w];
|
wp = &sprite[w];
|
||||||
wu = User[w];
|
wu = User[w];
|
||||||
|
|
||||||
// Attach sound to moving shuriken (* Screw off, yucky sound! *)
|
|
||||||
// PlaySound(DIGI_STARWIZ, &wp->x, &wp->y, &wp->z, v3df_follow);
|
|
||||||
// Set3DSoundOwner(w);
|
|
||||||
|
|
||||||
//SET(wp->cstat, CSTAT_SPRITE_ALIGNMENT_WALL);
|
//SET(wp->cstat, CSTAT_SPRITE_ALIGNMENT_WALL);
|
||||||
SetOwner(pp->PlayerSprite, w);
|
SetOwner(pp->PlayerSprite, w);
|
||||||
wp->yrepeat = wp->xrepeat = STAR_REPEAT;
|
wp->yrepeat = wp->xrepeat = STAR_REPEAT;
|
||||||
|
@ -18940,7 +18935,7 @@ InitTurretMgun(SECTOR_OBJECTp sop)
|
||||||
SPRITEp sp;
|
SPRITEp sp;
|
||||||
int xvect,yvect,zvect;
|
int xvect,yvect,zvect;
|
||||||
|
|
||||||
PlaySound(DIGI_BOATFIRE, (vec3_t*)sop, v3df_dontpan|v3df_doppler);
|
PlaySound(DIGI_BOATFIRE, &sop->pmid, v3df_dontpan|v3df_doppler);
|
||||||
|
|
||||||
for (i = 0; sop->sp_num[i] != -1; i++)
|
for (i = 0; sop->sp_num[i] != -1; i++)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue