mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-28 20:40:47 +00:00
251 lines
6.1 KiB
C++
251 lines
6.1 KiB
C++
|
//-------------------------------------------------------------------------
|
||
|
/*
|
||
|
Copyright (C) 2016 EDuke32 developers and contributors
|
||
|
Copyright (C) 2020 Nuke.YKT
|
||
|
|
||
|
This file is part of EDuke32.
|
||
|
|
||
|
EDuke32 is free software; you can redistribute it and/or
|
||
|
modify it under the terms of the GNU General Public License version 2
|
||
|
as published by the Free Software Foundation.
|
||
|
|
||
|
This program is distributed in the hope that it will be useful,
|
||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||
|
|
||
|
See the GNU General Public License for more details.
|
||
|
|
||
|
You should have received a copy of the GNU General Public License
|
||
|
along with this program; if not, write to the Free Software
|
||
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||
|
*/
|
||
|
//-------------------------------------------------------------------------
|
||
|
|
||
|
#include "compat.h"
|
||
|
#include "baselayer.h"
|
||
|
#include "duke3d.h"
|
||
|
|
||
|
int rrdh_randseed = 1;
|
||
|
|
||
|
int rrdh_random(void)
|
||
|
{
|
||
|
static int seedinit = 0;
|
||
|
if (!seedinit)
|
||
|
{
|
||
|
rrdh_randseed = (int)timerGetPerformanceCounter();
|
||
|
seedinit = 1;
|
||
|
}
|
||
|
rrdh_randseed = (rrdh_randseed*1103515245)+12345;
|
||
|
return (rrdh_randseed>>16)&0x7fff;
|
||
|
}
|
||
|
|
||
|
|
||
|
int ghcons_isanimalescapewall(short w)
|
||
|
{
|
||
|
walltype *wl = &wall[w];
|
||
|
switch (wall[w].picnum)
|
||
|
{
|
||
|
case 1182:
|
||
|
case 1183:
|
||
|
case 1184:
|
||
|
case 1185:
|
||
|
case 2347:
|
||
|
case 3802:
|
||
|
case 3803:
|
||
|
case 7870:
|
||
|
case 7871:
|
||
|
case 7872:
|
||
|
return 1;
|
||
|
}
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
int ghcons_isanimalescapesect(short s)
|
||
|
{
|
||
|
sectortype *sc = §or[s];
|
||
|
return sector[s].hitag == 2001;
|
||
|
}
|
||
|
int ghcons_findnewspot(short a1)
|
||
|
{
|
||
|
// TODO
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
int ghsound_pmadecall(spritetype *a1, short a2)
|
||
|
{
|
||
|
switch (DYNAMICTILEMAP(a1->picnum))
|
||
|
{
|
||
|
case DOGRUN__STATICRR:
|
||
|
if (A_CheckSoundPlaying(-1, 41))
|
||
|
return 1;
|
||
|
case VIXEN__STATICRR:
|
||
|
if (A_CheckSoundPlaying(-1, 40))
|
||
|
return 1;
|
||
|
case PIG__STATICRR:
|
||
|
if (A_CheckSoundPlaying(-1, 42))
|
||
|
return 1;
|
||
|
case CHEER__STATICRR:
|
||
|
if (A_CheckSoundPlaying(-1, 43))
|
||
|
return 1;
|
||
|
}
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
int ghsound_pmadesound(spritetype *a1, short a2)
|
||
|
{
|
||
|
int d = klabs(g_player[a2].ps->pos.x - a1->x) + klabs(g_player[a2].ps->pos.y - a1->y);
|
||
|
if (A_CheckSoundPlaying(-1, 1) && d < 23040)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 2))
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 3) && d < 23040)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 4))
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 5) && d < 23040)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 6))
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 7) && d < 23040)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 8) && d < 23040)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 56) && d < 23040)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 57) && d < 23040)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 58) && d < 23040)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 59) && d < 23040)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 25) && d < 21504)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 11) && d < 10752)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 9) && d < 15360)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 10) && d < 30720)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 12) && d < 19968)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 15) && d < 10752)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 13) && d < 15360)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 14) && d < 30720)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 16) && d < 19968)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 19) && d < 10752)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 17) && d < 15360)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 18) && d < 30720)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 20) && d < 19968)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 23) && d < 10752)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 21) && d < 15360)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 22) && d < 30720)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 24) && d < 19968)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 81) && d < 15360)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 80) && d < 30720)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 41) && d < 23040)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 40) && d < 23040)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 42) && d < 23040)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 43) && d < 23040)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 88) && d < 10752)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 89) && d < 15360)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 90) && d < 23040)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 27) && d < 30720)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 36) && d < 30720)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 30) && d < 30720)
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 33) && d < 30720)
|
||
|
return 1;
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
int ghsound_pfiredgunnear(spritetype *a1, short a2)
|
||
|
{
|
||
|
if (A_CheckSoundPlaying(-1, 2))
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 4))
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 6))
|
||
|
return 1;
|
||
|
if (A_CheckSoundPlaying(-1, 8) && klabs(g_player[a2].ps->pos.x - a1->x) + klabs(g_player[a2].ps->pos.y - a1->y) < 23040)
|
||
|
return 1;
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
int dword_AA2F4;
|
||
|
|
||
|
void sub_535DC(void)
|
||
|
{
|
||
|
dword_AA2F4 ^= 1;
|
||
|
}
|
||
|
|
||
|
int sub_535EC(void)
|
||
|
{
|
||
|
return dword_AA2F4;
|
||
|
}
|
||
|
|
||
|
int dword_AA300;
|
||
|
|
||
|
struct struct2B80E0 {
|
||
|
short f_0;
|
||
|
short f_2;
|
||
|
int f_4;
|
||
|
int f_8;
|
||
|
int f_c;
|
||
|
int f_10;
|
||
|
};
|
||
|
|
||
|
struct2B80E0 f2B80E0[20];
|
||
|
|
||
|
int ghtrophy_isakill(short a1)
|
||
|
{
|
||
|
spritetype *spr = &sprite[a1];
|
||
|
for (int i = 0; i < dword_AA300; i++)
|
||
|
{
|
||
|
if (f2B80E0[i].f_0 == a1)
|
||
|
return 1;
|
||
|
}
|
||
|
return 0;
|
||
|
}
|
||
|
int ghtrax_isplrupwind(short a1, short a2)
|
||
|
{
|
||
|
// TODO
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
void ghtrax_leavetrax(short a1)
|
||
|
{
|
||
|
// TODO
|
||
|
}
|
||
|
void ghtrax_leavedroppings(short a1)
|
||
|
{
|
||
|
// TODO
|
||
|
}
|
||
|
|
||
|
void ghdeploy_bias(short a1)
|
||
|
{
|
||
|
// TODO
|
||
|
}
|