mirror of
https://github.com/DrBeef/Raze.git
synced 2024-11-15 08:52:00 +00:00
Double the size of clouds[] (holding sectors with CLOUDYSKIES ceilings).
Also, make cloudx[] and cloudy[] scalars, as the per-sector values were always identical. In prelevel(), warn if some CLOUDYSKIES-ceiling sectors could not be set up due to reaching the new 256 sector limit. git-svn-id: https://svn.eduke32.com/eduke32@5156 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
cf7de5b43a
commit
474efef336
7 changed files with 27 additions and 17 deletions
|
@ -55,10 +55,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
// increase by 3, because atomic GRP adds 1, and Shareware adds 2
|
// increase by 3, because atomic GRP adds 1, and Shareware adds 2
|
||||||
#ifdef LUNATIC
|
#ifdef LUNATIC
|
||||||
// Lunatic
|
// Lunatic
|
||||||
# define BYTEVERSION_JF 300
|
# define BYTEVERSION_JF 303
|
||||||
#else
|
#else
|
||||||
// Non-Lua build
|
// Non-Lua build
|
||||||
# define BYTEVERSION_JF 300
|
# define BYTEVERSION_JF 303
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define BYTEVERSION_13 27
|
//#define BYTEVERSION_13 27
|
||||||
|
|
|
@ -3020,13 +3020,13 @@ static inline void G_MoveClouds(void)
|
||||||
|
|
||||||
cloudtotalclock = totalclock+6;
|
cloudtotalclock = totalclock+6;
|
||||||
|
|
||||||
|
cloudx += sintable[(g_player[screenpeek].ps->ang+512)&2047]>>9;
|
||||||
|
cloudy += sintable[g_player[screenpeek].ps->ang&2047]>>9;
|
||||||
|
|
||||||
for (i=g_numClouds-1; i>=0; i--)
|
for (i=g_numClouds-1; i>=0; i--)
|
||||||
{
|
{
|
||||||
cloudx[i] += (sintable[(g_player[screenpeek].ps->ang+512)&2047]>>9);
|
sector[clouds[i]].ceilingxpanning = cloudx>>6;
|
||||||
cloudy[i] += (sintable[g_player[screenpeek].ps->ang&2047]>>9);
|
sector[clouds[i]].ceilingypanning = cloudy>>6;
|
||||||
|
|
||||||
sector[clouds[i]].ceilingxpanning = cloudx[i]>>6;
|
|
||||||
sector[clouds[i]].ceilingypanning = cloudy[i]>>6;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5643,8 +5643,8 @@ void G_SaveMapState(void)
|
||||||
Bmemcpy(&save->show2dsector[0],&show2dsector[0],sizeof(show2dsector));
|
Bmemcpy(&save->show2dsector[0],&show2dsector[0],sizeof(show2dsector));
|
||||||
Bmemcpy(&save->g_numClouds,&g_numClouds,sizeof(g_numClouds));
|
Bmemcpy(&save->g_numClouds,&g_numClouds,sizeof(g_numClouds));
|
||||||
Bmemcpy(&save->clouds[0],&clouds[0],sizeof(clouds));
|
Bmemcpy(&save->clouds[0],&clouds[0],sizeof(clouds));
|
||||||
Bmemcpy(&save->cloudx[0],&cloudx[0],sizeof(cloudx));
|
Bmemcpy(&save->cloudx,&cloudx,sizeof(cloudx));
|
||||||
Bmemcpy(&save->cloudy[0],&cloudy[0],sizeof(cloudy));
|
Bmemcpy(&save->cloudy,&cloudy,sizeof(cloudy));
|
||||||
Bmemcpy(&save->pskyidx,&g_pskyidx,sizeof(g_pskyidx));
|
Bmemcpy(&save->pskyidx,&g_pskyidx,sizeof(g_pskyidx));
|
||||||
Bmemcpy(&save->animategoal[0],&animategoal[0],sizeof(animategoal));
|
Bmemcpy(&save->animategoal[0],&animategoal[0],sizeof(animategoal));
|
||||||
Bmemcpy(&save->animatevel[0],&animatevel[0],sizeof(animatevel));
|
Bmemcpy(&save->animatevel[0],&animatevel[0],sizeof(animatevel));
|
||||||
|
@ -5767,8 +5767,8 @@ void G_RestoreMapState(void)
|
||||||
Bmemcpy(&show2dsector[0],&save->show2dsector[0],sizeof(show2dsector));
|
Bmemcpy(&show2dsector[0],&save->show2dsector[0],sizeof(show2dsector));
|
||||||
Bmemcpy(&g_numClouds,&save->g_numClouds,sizeof(g_numClouds));
|
Bmemcpy(&g_numClouds,&save->g_numClouds,sizeof(g_numClouds));
|
||||||
Bmemcpy(&clouds[0],&save->clouds[0],sizeof(clouds));
|
Bmemcpy(&clouds[0],&save->clouds[0],sizeof(clouds));
|
||||||
Bmemcpy(&cloudx[0],&save->cloudx[0],sizeof(cloudx));
|
Bmemcpy(&cloudx,&save->cloudx,sizeof(cloudx));
|
||||||
Bmemcpy(&cloudy[0],&save->cloudy[0],sizeof(cloudy));
|
Bmemcpy(&cloudy,&save->cloudy,sizeof(cloudy));
|
||||||
Bmemcpy(&g_pskyidx,&save->pskyidx,sizeof(g_pskyidx));
|
Bmemcpy(&g_pskyidx,&save->pskyidx,sizeof(g_pskyidx));
|
||||||
Bmemcpy(&animategoal[0],&save->animategoal[0],sizeof(animategoal));
|
Bmemcpy(&animategoal[0],&save->animategoal[0],sizeof(animategoal));
|
||||||
Bmemcpy(&animatevel[0],&save->animatevel[0],sizeof(animatevel));
|
Bmemcpy(&animatevel[0],&save->animatevel[0],sizeof(animatevel));
|
||||||
|
|
|
@ -83,7 +83,7 @@ G_EXTERN int16_t cyclers[MAXCYCLERS][6],g_numCyclers;
|
||||||
G_EXTERN int16_t g_globalRandom;
|
G_EXTERN int16_t g_globalRandom;
|
||||||
G_EXTERN int16_t g_mirrorWall[64],g_mirrorSector[64],g_mirrorCount;
|
G_EXTERN int16_t g_mirrorWall[64],g_mirrorSector[64],g_mirrorCount;
|
||||||
G_EXTERN int16_t g_numAnimWalls;
|
G_EXTERN int16_t g_numAnimWalls;
|
||||||
G_EXTERN int16_t g_numClouds,clouds[128],cloudx[128],cloudy[128];
|
G_EXTERN int16_t g_numClouds,clouds[256],cloudx,cloudy;
|
||||||
G_EXTERN int16_t myang,omyang,mycursectnum,myjumpingcounter;
|
G_EXTERN int16_t myang,omyang,mycursectnum,myjumpingcounter;
|
||||||
G_EXTERN int16_t myhoriz,omyhoriz,myhorizoff,omyhorizoff;
|
G_EXTERN int16_t myhoriz,omyhoriz,myhorizoff,omyhorizoff;
|
||||||
G_EXTERN int32_t *animateptr[MAXANIMATES];
|
G_EXTERN int32_t *animateptr[MAXANIMATES];
|
||||||
|
|
|
@ -1043,6 +1043,8 @@ static void prelevel(char g)
|
||||||
|
|
||||||
VM_OnEvent(EVENT_PRELEVEL, -1, -1);
|
VM_OnEvent(EVENT_PRELEVEL, -1, -1);
|
||||||
|
|
||||||
|
int missedCloudSectors = 0;
|
||||||
|
|
||||||
for (i=0; i<numsectors; i++)
|
for (i=0; i<numsectors; i++)
|
||||||
{
|
{
|
||||||
sector[i].extra = 256;
|
sector[i].extra = 256;
|
||||||
|
@ -1065,8 +1067,13 @@ static void prelevel(char g)
|
||||||
tloadtile(sector[i].ceilingpicnum+j, 0);
|
tloadtile(sector[i].ceilingpicnum+j, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sector[i].ceilingpicnum == CLOUDYSKIES && g_numClouds < 127)
|
if (sector[i].ceilingpicnum == CLOUDYSKIES)
|
||||||
clouds[g_numClouds++] = i;
|
{
|
||||||
|
if (g_numClouds < ARRAY_SSIZE(clouds))
|
||||||
|
clouds[g_numClouds++] = i;
|
||||||
|
else
|
||||||
|
missedCloudSectors++;
|
||||||
|
}
|
||||||
|
|
||||||
if (g_player[0].ps->one_parallax_sectnum == -1)
|
if (g_player[0].ps->one_parallax_sectnum == -1)
|
||||||
g_player[0].ps->one_parallax_sectnum = i;
|
g_player[0].ps->one_parallax_sectnum = i;
|
||||||
|
@ -1086,6 +1093,9 @@ static void prelevel(char g)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (missedCloudSectors > 0)
|
||||||
|
OSD_Printf(OSDTEXT_RED "Map warning: have %d unhandled CLOUDYSKIES ceilings.\n", missedCloudSectors);
|
||||||
|
|
||||||
// NOTE: must be safe loop because callbacks could delete sprites.
|
// NOTE: must be safe loop because callbacks could delete sprites.
|
||||||
for (SPRITES_OF_STAT_SAFE(STAT_DEFAULT, i, nexti))
|
for (SPRITES_OF_STAT_SAFE(STAT_DEFAULT, i, nexti))
|
||||||
{
|
{
|
||||||
|
|
|
@ -1128,8 +1128,8 @@ static const dataspec_t svgm_anmisc[] =
|
||||||
{ 0, &show2dsector[0], sizeof(uint8_t), MAXSECTORS>>3 },
|
{ 0, &show2dsector[0], sizeof(uint8_t), MAXSECTORS>>3 },
|
||||||
{ DS_NOCHK, &g_numClouds, sizeof(g_numClouds), 1 },
|
{ DS_NOCHK, &g_numClouds, sizeof(g_numClouds), 1 },
|
||||||
{ 0, &clouds[0], sizeof(clouds), 1 },
|
{ 0, &clouds[0], sizeof(clouds), 1 },
|
||||||
{ 0, &cloudx[0], sizeof(cloudx), 1 },
|
{ 0, &cloudx, sizeof(cloudx), 1 },
|
||||||
{ 0, &cloudy[0], sizeof(cloudy), 1 },
|
{ 0, &cloudy, sizeof(cloudy), 1 },
|
||||||
{ 0, &g_pskyidx, sizeof(g_pskyidx), 1 }, // DS_NOCHK?
|
{ 0, &g_pskyidx, sizeof(g_pskyidx), 1 }, // DS_NOCHK?
|
||||||
{ 0, &g_earthquakeTime, sizeof(g_earthquakeTime), 1 },
|
{ 0, &g_earthquakeTime, sizeof(g_earthquakeTime), 1 },
|
||||||
|
|
||||||
|
|
|
@ -57,7 +57,7 @@ typedef struct {
|
||||||
int16_t cyclers[MAXCYCLERS][6];
|
int16_t cyclers[MAXCYCLERS][6];
|
||||||
int16_t g_mirrorWall[64], g_mirrorSector[64], g_mirrorCount;
|
int16_t g_mirrorWall[64], g_mirrorSector[64], g_mirrorCount;
|
||||||
int16_t g_numAnimWalls;
|
int16_t g_numAnimWalls;
|
||||||
int16_t g_numClouds,clouds[128],cloudx[128],cloudy[128];
|
int16_t g_numClouds,clouds[256],cloudx,cloudy;
|
||||||
int16_t g_numCyclers;
|
int16_t g_numCyclers;
|
||||||
|
|
||||||
int32_t numsprites;
|
int32_t numsprites;
|
||||||
|
|
Loading…
Reference in a new issue