mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-25 03:00:46 +00:00
Get rid of neartag* global variables. LunaCON: fix 'operate'.
git-svn-id: https://svn.eduke32.com/eduke32@4284 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
aa547e8c16
commit
6d4f56c643
6 changed files with 27 additions and 21 deletions
|
@ -39,9 +39,6 @@ typedef int32_t ofstype;
|
||||||
extern char *ScriptQuotes[MAXQUOTES+1], *ScriptQuoteRedefinitions[MAXQUOTES+1];
|
extern char *ScriptQuotes[MAXQUOTES+1], *ScriptQuoteRedefinitions[MAXQUOTES+1];
|
||||||
extern int32_t g_numQuoteRedefinitions;
|
extern int32_t g_numQuoteRedefinitions;
|
||||||
|
|
||||||
//extern int16_t neartagsector, neartagwall, neartagsprite;
|
|
||||||
//extern int32_t neartaghitdist;
|
|
||||||
|
|
||||||
extern int32_t VM_Execute(int32_t once);
|
extern int32_t VM_Execute(int32_t once);
|
||||||
extern void VM_OnEvent(register int32_t iEventID, register int32_t iActor);
|
extern void VM_OnEvent(register int32_t iEventID, register int32_t iActor);
|
||||||
|
|
||||||
|
|
|
@ -12707,8 +12707,9 @@ restart_grand:
|
||||||
//
|
//
|
||||||
// neartag
|
// neartag
|
||||||
//
|
//
|
||||||
void neartag(int32_t xs, int32_t ys, int32_t zs, int16_t sectnum, int16_t ange, int16_t *neartagsector, int16_t *neartagwall,
|
void neartag(int32_t xs, int32_t ys, int32_t zs, int16_t sectnum, int16_t ange,
|
||||||
int16_t *neartagsprite, int32_t *neartaghitdist, int32_t neartagrange, uint8_t tagsearch,
|
int16_t *neartagsector, int16_t *neartagwall, int16_t *neartagsprite, int32_t *neartaghitdist, /* out */
|
||||||
|
int32_t neartagrange, uint8_t tagsearch,
|
||||||
int32_t (*blacklist_sprite_func)(int32_t))
|
int32_t (*blacklist_sprite_func)(int32_t))
|
||||||
{
|
{
|
||||||
int16_t tempshortcnt, tempshortnum;
|
int16_t tempshortcnt, tempshortnum;
|
||||||
|
|
|
@ -3064,6 +3064,9 @@ nullquote:
|
||||||
int32_t neartagsectorvar=*insptr++, neartagwallvar=*insptr++, neartagspritevar=*insptr++, neartaghitdistvar=*insptr++;
|
int32_t neartagsectorvar=*insptr++, neartagwallvar=*insptr++, neartagspritevar=*insptr++, neartaghitdistvar=*insptr++;
|
||||||
int32_t neartagrange=Gv_GetVarX(*insptr++), tagsearch=Gv_GetVarX(*insptr++);
|
int32_t neartagrange=Gv_GetVarX(*insptr++), tagsearch=Gv_GetVarX(*insptr++);
|
||||||
|
|
||||||
|
int16_t neartagsector, neartagwall, neartagsprite;
|
||||||
|
int32_t neartaghitdist;
|
||||||
|
|
||||||
if ((unsigned)sectnum >= (unsigned)numsectors)
|
if ((unsigned)sectnum >= (unsigned)numsectors)
|
||||||
{
|
{
|
||||||
CON_ERRPRINTF("Invalid sector %d\n", sectnum);
|
CON_ERRPRINTF("Invalid sector %d\n", sectnum);
|
||||||
|
@ -3548,24 +3551,25 @@ nullquote:
|
||||||
insptr++;
|
insptr++;
|
||||||
if (sector[vm.g_sp->sectnum].lotag == 0)
|
if (sector[vm.g_sp->sectnum].lotag == 0)
|
||||||
{
|
{
|
||||||
|
int16_t neartagsector, neartagwall, neartagsprite;
|
||||||
|
int32_t neartaghitdist;
|
||||||
|
|
||||||
neartag(vm.g_sp->x,vm.g_sp->y,vm.g_sp->z-(32<<8),vm.g_sp->sectnum,vm.g_sp->ang,
|
neartag(vm.g_sp->x,vm.g_sp->y,vm.g_sp->z-(32<<8),vm.g_sp->sectnum,vm.g_sp->ang,
|
||||||
&neartagsector,&neartagwall,&neartagsprite,&neartaghitdist, 768, 4+1, NULL);
|
&neartagsector,&neartagwall,&neartagsprite,&neartaghitdist, 768, 4+1, NULL);
|
||||||
|
|
||||||
if (neartagsector >= 0 && isanearoperator(sector[neartagsector].lotag))
|
if (neartagsector >= 0 && isanearoperator(sector[neartagsector].lotag))
|
||||||
if ((sector[neartagsector].lotag&0xff) == ST_23_SWINGING_DOOR || sector[neartagsector].floorz == sector[neartagsector].ceilingz)
|
if ((sector[neartagsector].lotag&0xff) == ST_23_SWINGING_DOOR || sector[neartagsector].floorz == sector[neartagsector].ceilingz)
|
||||||
if ((sector[neartagsector].lotag&16384) == 0)
|
if ((sector[neartagsector].lotag&(16384|32768)) == 0)
|
||||||
if ((sector[neartagsector].lotag&32768) == 0)
|
{
|
||||||
{
|
int32_t j;
|
||||||
int32_t j = headspritesect[neartagsector];
|
|
||||||
while (j >= 0)
|
for (SPRITES_OF_SECT(neartagsector, j))
|
||||||
{
|
if (sprite[j].picnum == ACTIVATOR)
|
||||||
if (sprite[j].picnum == ACTIVATOR)
|
break;
|
||||||
break;
|
|
||||||
j = nextspritesect[j];
|
if (j == -1)
|
||||||
}
|
G_OperateSectors(neartagsector,vm.g_i);
|
||||||
if (j == -1)
|
}
|
||||||
G_OperateSectors(neartagsector,vm.g_i);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
|
|
@ -82,7 +82,6 @@ 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[128],cloudx[128],cloudy[128];
|
||||||
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 int16_t neartagsector,neartagwall,neartagsprite; // XXX: these ought to be globals?
|
|
||||||
G_EXTERN int32_t *animateptr[MAXANIMATES];
|
G_EXTERN int32_t *animateptr[MAXANIMATES];
|
||||||
G_EXTERN int32_t animategoal[MAXANIMATES],animatevel[MAXANIMATES],g_animateCount;
|
G_EXTERN int32_t animategoal[MAXANIMATES],animatevel[MAXANIMATES],g_animateCount;
|
||||||
G_EXTERN int32_t cloudtotalclock;
|
G_EXTERN int32_t cloudtotalclock;
|
||||||
|
|
|
@ -1281,8 +1281,10 @@ function _operate(spritenum)
|
||||||
if (tag.sector >= 0) then
|
if (tag.sector >= 0) then
|
||||||
local sect = sector[tag.sector]
|
local sect = sector[tag.sector]
|
||||||
local lotag = sect.lotag
|
local lotag = sect.lotag
|
||||||
if (NEAROP[band(lotag, 0xff)]) then
|
local lotag_lo = band(lotag, 0xff)
|
||||||
if (lotag==23 or sect.floorz==sect.ceilingz) then
|
|
||||||
|
if (NEAROP[lotag_lo]) then
|
||||||
|
if (lotag_lo == 23 or sect.floorz == sect.ceilingz) then
|
||||||
if (band(lotag, 32768+16384) == 0) then
|
if (band(lotag, 32768+16384) == 0) then
|
||||||
for j in spritesofsect(tag.sector) do
|
for j in spritesofsect(tag.sector) do
|
||||||
if (ispic(sprite[j].picnum, "ACTIVATOR")) then
|
if (ispic(sprite[j].picnum, "ACTIVATOR")) then
|
||||||
|
|
|
@ -2993,6 +2993,9 @@ void P_CheckSectors(int32_t snum)
|
||||||
{
|
{
|
||||||
int16_t hitscanwall;
|
int16_t hitscanwall;
|
||||||
|
|
||||||
|
int16_t neartagsector, neartagwall, neartagsprite;
|
||||||
|
int32_t neartaghitdist;
|
||||||
|
|
||||||
if (TEST_SYNC_KEY(g_player[snum].sync->bits, SK_ESCAPE))
|
if (TEST_SYNC_KEY(g_player[snum].sync->bits, SK_ESCAPE))
|
||||||
{
|
{
|
||||||
if (p->newowner >= 0)
|
if (p->newowner >= 0)
|
||||||
|
|
Loading…
Reference in a new issue