- removed memcpy workarounds from GLWall, GLFlat and GLSprite after making sure that all 3 are trivially copyable.

This commit is contained in:
Christoph Oelckers 2018-10-31 11:51:52 +01:00
parent fdf324cce5
commit 3a6f186aa0

View file

@ -271,19 +271,6 @@ public:
void DrawDecalsForMirror(HWDrawInfo *di, FRenderState &state, TArray<GLDecal *> &decals); void DrawDecalsForMirror(HWDrawInfo *di, FRenderState &state, TArray<GLDecal *> &decals);
public: public:
GLWall() {}
GLWall(const GLWall &other)
{
memcpy(this, &other, sizeof(GLWall));
}
GLWall & operator=(const GLWall &other)
{
memcpy(this, &other, sizeof(GLWall));
return *this;
}
void Process(HWDrawInfo *di, seg_t *seg, sector_t *frontsector, sector_t *backsector); void Process(HWDrawInfo *di, seg_t *seg, sector_t *frontsector, sector_t *backsector);
void ProcessLowerMiniseg(HWDrawInfo *di, seg_t *seg, sector_t *frontsector, sector_t *backsector); void ProcessLowerMiniseg(HWDrawInfo *di, seg_t *seg, sector_t *frontsector, sector_t *backsector);
@ -334,20 +321,6 @@ public:
void DrawSubsectors(HWDrawInfo *di, FRenderState &state); void DrawSubsectors(HWDrawInfo *di, FRenderState &state);
void DrawFlat(HWDrawInfo *di, FRenderState &state, bool translucent); void DrawFlat(HWDrawInfo *di, FRenderState &state, bool translucent);
GLFlat() {}
GLFlat(const GLFlat &other)
{
memcpy(this, &other, sizeof(GLFlat));
}
GLFlat & operator=(const GLFlat &other)
{
memcpy(this, &other, sizeof(GLFlat));
return *this;
}
}; };
//========================================================================== //==========================================================================
@ -401,25 +374,12 @@ public:
public: public:
GLSprite() = default;
void CreateVertices(HWDrawInfo *di); void CreateVertices(HWDrawInfo *di);
void PutSprite(HWDrawInfo *di, bool translucent); void PutSprite(HWDrawInfo *di, bool translucent);
void Process(HWDrawInfo *di, AActor* thing,sector_t * sector, area_t in_area, int thruportal = false); void Process(HWDrawInfo *di, AActor* thing,sector_t * sector, area_t in_area, int thruportal = false);
void ProcessParticle (HWDrawInfo *di, particle_t *particle, sector_t *sector);//, int shade, int fakeside) void ProcessParticle (HWDrawInfo *di, particle_t *particle, sector_t *sector);//, int shade, int fakeside)
void DrawSprite(HWDrawInfo *di, FRenderState &state, bool translucent); void DrawSprite(HWDrawInfo *di, FRenderState &state, bool translucent);
GLSprite(const GLSprite &other)
{
memcpy(this, &other, sizeof(GLSprite));
}
GLSprite & operator=(const GLSprite &other)
{
memcpy(this, &other, sizeof(GLSprite));
return *this;
}
}; };