git-svn-id: https://svn.eduke32.com/eduke32@571 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
terminx 2007-09-03 00:37:13 +00:00
parent 92ef761289
commit bfa60e6851

View file

@ -5978,15 +5978,15 @@ int sameside(_equation* eq, _point2d* p1, _point2d* p2)
void drawpeel(int peel) void drawpeel(int peel)
{ {
bglBindTexture(GL_TEXTURE_RECTANGLE, peels[peel]); bglBindTexture(GL_TEXTURE_RECTANGLE, peels[peel]);
bglBegin(GL_QUADS); bglBegin(GL_QUADS);
bglTexCoord2f(0.0f, 0.0f); bglTexCoord2f(0.0f, 0.0f);
bglVertex2f(-1.0f, -1.0f); bglVertex2f(-1.0f, -1.0f);
bglTexCoord2f(xdim, 0.0f); bglTexCoord2f(xdim, 0.0f);
bglVertex2f(1.0f, -1.0f); bglVertex2f(1.0f, -1.0f);
bglTexCoord2f(xdim, ydim); bglTexCoord2f(xdim, ydim);
bglVertex2f(1.0f, 1.0f); bglVertex2f(1.0f, 1.0f);
bglTexCoord2f(0.0f, ydim); bglTexCoord2f(0.0f, ydim);
bglVertex2f(-1.0f, 1.0f); bglVertex2f(-1.0f, 1.0f);
bglEnd(); bglEnd();
} }
#endif #endif
@ -6218,7 +6218,7 @@ else
if (i == (r_peelscount - 1)) if (i == (r_peelscount - 1))
bglEnable(GL_BLEND); bglEnable(GL_BLEND);
bglBindFramebufferEXT(GL_FRAMEBUFFER_EXT, peelfbos[i]); bglBindFramebufferEXT(GL_FRAMEBUFFER_EXT, peelfbos[i]);
bglPushAttrib(GL_VIEWPORT_BIT); bglPushAttrib(GL_VIEWPORT_BIT);
bglViewport(0, 0, xdim, ydim); bglViewport(0, 0, xdim, ydim);
@ -7301,9 +7301,12 @@ long saveboard(char *filename, long *daposx, long *daposy, long *daposz,
{ {
short fil, i, j, numsprites, ts; short fil, i, j, numsprites, ts;
long tl; long tl;
sectortype tsect; sectortype tsect[MAXSECTORS];
walltype twall; walltype twall[MAXWALLS];
spritetype tspri; spritetype tspri[MAXSPRITES];
sectortype *sec;
walltype *wal;
spritetype *spri;
if ((fil = Bopen(filename,BO_BINARY|BO_TRUNC|BO_CREAT|BO_WRONLY,BS_IREAD|BS_IWRITE)) == -1) if ((fil = Bopen(filename,BO_BINARY|BO_TRUNC|BO_CREAT|BO_WRONLY,BS_IREAD|BS_IWRITE)) == -1)
return(-1); return(-1);
@ -7333,66 +7336,72 @@ long saveboard(char *filename, long *daposx, long *daposy, long *daposz,
ts = B_LITTLE16(numsectors); Bwrite(fil,&ts,2); ts = B_LITTLE16(numsectors); Bwrite(fil,&ts,2);
for (i=0; i<numsectors; i++) { for (i=0; i<numsectors; i++) {
tsect = sector[i]; Bmemcpy(&tsect[i], &sector[i], sizeof(sectortype));
tsect.wallptr = B_LITTLE16(tsect.wallptr); sec = &tsect[i];
tsect.wallnum = B_LITTLE16(tsect.wallnum); sec->wallptr = B_LITTLE16(sec->wallptr);
tsect.ceilingz = B_LITTLE32(tsect.ceilingz); sec->wallnum = B_LITTLE16(sec->wallnum);
tsect.floorz = B_LITTLE32(tsect.floorz); sec->ceilingz = B_LITTLE32(sec->ceilingz);
tsect.ceilingstat = B_LITTLE16(tsect.ceilingstat); sec->floorz = B_LITTLE32(sec->floorz);
tsect.floorstat = B_LITTLE16(tsect.floorstat); sec->ceilingstat = B_LITTLE16(sec->ceilingstat);
tsect.ceilingpicnum = B_LITTLE16(tsect.ceilingpicnum); sec->floorstat = B_LITTLE16(sec->floorstat);
tsect.ceilingheinum = B_LITTLE16(tsect.ceilingheinum); sec->ceilingpicnum = B_LITTLE16(sec->ceilingpicnum);
tsect.floorpicnum = B_LITTLE16(tsect.floorpicnum); sec->ceilingheinum = B_LITTLE16(sec->ceilingheinum);
tsect.floorheinum = B_LITTLE16(tsect.floorheinum); sec->floorpicnum = B_LITTLE16(sec->floorpicnum);
tsect.lotag = B_LITTLE16(tsect.lotag); sec->floorheinum = B_LITTLE16(sec->floorheinum);
tsect.hitag = B_LITTLE16(tsect.hitag); sec->lotag = B_LITTLE16(sec->lotag);
tsect.extra = B_LITTLE16(tsect.extra); sec->hitag = B_LITTLE16(sec->hitag);
Bwrite(fil,&tsect,sizeof(sectortype)); sec->extra = B_LITTLE16(sec->extra);
} }
Bwrite(fil,&tsect[0],sizeof(sectortype) * numsectors);
ts = B_LITTLE16(numwalls); Bwrite(fil,&ts,2); ts = B_LITTLE16(numwalls); Bwrite(fil,&ts,2);
for (i=0; i<numwalls; i++) { for (i=0; i<numwalls; i++) {
twall = wall[i]; Bmemcpy(&twall[i], &wall[i], sizeof(walltype));
twall.x = B_LITTLE32(twall.x); wal = &twall[i];
twall.y = B_LITTLE32(twall.y); wal->x = B_LITTLE32(wal->x);
twall.point2 = B_LITTLE16(twall.point2); wal->y = B_LITTLE32(wal->y);
twall.nextwall = B_LITTLE16(twall.nextwall); wal->point2 = B_LITTLE16(wal->point2);
twall.nextsector = B_LITTLE16(twall.nextsector); wal->nextwall = B_LITTLE16(wal->nextwall);
twall.cstat = B_LITTLE16(twall.cstat); wal->nextsector = B_LITTLE16(wal->nextsector);
twall.picnum = B_LITTLE16(twall.picnum); wal->cstat = B_LITTLE16(wal->cstat);
twall.overpicnum = B_LITTLE16(twall.overpicnum); wal->picnum = B_LITTLE16(wal->picnum);
twall.lotag = B_LITTLE16(twall.lotag); wal->overpicnum = B_LITTLE16(wal->overpicnum);
twall.hitag = B_LITTLE16(twall.hitag); wal->lotag = B_LITTLE16(wal->lotag);
twall.extra = B_LITTLE16(twall.extra); wal->hitag = B_LITTLE16(wal->hitag);
Bwrite(fil,&twall,sizeof(walltype)); wal->extra = B_LITTLE16(wal->extra);
} }
Bwrite(fil,&twall[0],sizeof(walltype) * numwalls);
ts = B_LITTLE16(numsprites); Bwrite(fil,&ts,2); ts = B_LITTLE16(numsprites); Bwrite(fil,&ts,2);
for (j=0;j<MAXSPRITES;j++) for (j=0;j<MAXSPRITES;j++)
{ {
if (sprite[j].statnum != MAXSTATUS) if (sprite[j].statnum != MAXSTATUS)
{ {
tspri = sprite[j]; Bmemcpy(&tspri[j], &sprite[j], sizeof(spritetype));
tspri.x = B_LITTLE32(tspri.x); spri = &tspri[j];
tspri.y = B_LITTLE32(tspri.y); spri->x = B_LITTLE32(spri->x);
tspri.z = B_LITTLE32(tspri.z); spri->y = B_LITTLE32(spri->y);
tspri.cstat = B_LITTLE16(tspri.cstat); spri->z = B_LITTLE32(spri->z);
tspri.picnum = B_LITTLE16(tspri.picnum); spri->cstat = B_LITTLE16(spri->cstat);
tspri.sectnum = B_LITTLE16(tspri.sectnum); spri->picnum = B_LITTLE16(spri->picnum);
tspri.statnum = B_LITTLE16(tspri.statnum); spri->sectnum = B_LITTLE16(spri->sectnum);
tspri.ang = B_LITTLE16(tspri.ang); spri->statnum = B_LITTLE16(spri->statnum);
tspri.owner = B_LITTLE16(tspri.owner); spri->ang = B_LITTLE16(spri->ang);
tspri.xvel = B_LITTLE16(tspri.xvel); spri->owner = B_LITTLE16(spri->owner);
tspri.yvel = B_LITTLE16(tspri.yvel); spri->xvel = B_LITTLE16(spri->xvel);
tspri.zvel = B_LITTLE16(tspri.zvel); spri->yvel = B_LITTLE16(spri->yvel);
tspri.lotag = B_LITTLE16(tspri.lotag); spri->zvel = B_LITTLE16(spri->zvel);
tspri.hitag = B_LITTLE16(tspri.hitag); spri->lotag = B_LITTLE16(spri->lotag);
tspri.extra = B_LITTLE16(tspri.extra); spri->hitag = B_LITTLE16(spri->hitag);
Bwrite(fil,&tspri,sizeof(spritetype)); spri->extra = B_LITTLE16(spri->extra);
} }
} }
Bwrite(fil,&tspri[0],sizeof(spritetype) * numsprites);
Bclose(fil); Bclose(fil);
return(0); return(0);
} }