mirror of
https://github.com/ZDoom/raze-gles.git
synced 2025-01-16 04:30:38 +00:00
- separated Duke and RR implementations because the more complex functions would become too messy otherwise.
This commit is contained in:
parent
bda3374f9b
commit
63f45f57d8
10 changed files with 1100 additions and 7064 deletions
File diff suppressed because it is too large
Load diff
|
@ -367,6 +367,43 @@ inline int wakeup(int sn, int pn)
|
||||||
return G_WakeUp(&sprite[sn], pn);
|
return G_WakeUp(&sprite[sn], pn);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// shared functions
|
||||||
|
void movecrane(int i, int crane);
|
||||||
|
void movefountain(int i, int fountain);
|
||||||
|
void moveflammable(int i, int tire, int box, int pool);
|
||||||
|
void detonate(int i, int explosion);
|
||||||
|
void movemasterswitch(int i, int spectype1, int spectype2);
|
||||||
|
void movetrash(int i);
|
||||||
|
void movewaterdrip(int i, int drip);
|
||||||
|
void movedoorshock(int i);
|
||||||
|
void movetouchplate(int i, int plate);
|
||||||
|
void movecanwithsomething(int i);
|
||||||
|
void bounce(int i);
|
||||||
|
void movetongue(int i, int tongue, int jaw);
|
||||||
|
void moveooz(int i, int seenine, int seeninedead, int ooz, int explosion);
|
||||||
|
void lotsofstuff(spritetype* s, short n, int spawntype);
|
||||||
|
void respawn_rrra(int i, int j);
|
||||||
|
|
||||||
|
void hitradius(short i, int r, int hp1, int hp2, int hp3, int hp4);
|
||||||
|
int ifhitbyweapon(int sn);
|
||||||
|
int movesprite(short spritenum, int xchange, int ychange, int zchange, unsigned int cliptype);
|
||||||
|
|
||||||
|
// tile names which are identical for all games.
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
SECTOREFFECTOR = 1,
|
||||||
|
ACTIVATOR = 2,
|
||||||
|
TOUCHPLATE = 3,
|
||||||
|
ACTIVATORLOCKED = 4,
|
||||||
|
MUSICANDSFX = 5,
|
||||||
|
LOCATORS = 6,
|
||||||
|
CYCLER = 7,
|
||||||
|
MASTERSWITCH = 8,
|
||||||
|
RESPAWN = 9,
|
||||||
|
GPSPEED = 10,
|
||||||
|
FOF = 13,
|
||||||
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
END_DUKE_NS
|
END_DUKE_NS
|
||||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -353,7 +353,6 @@ int G_WakeUp(spritetype *const pSprite, int const playerNum)
|
||||||
|
|
||||||
|
|
||||||
// sleeping monsters, etc
|
// sleeping monsters, etc
|
||||||
void movefta(void);
|
|
||||||
|
|
||||||
// stupid name, but it's what the function does.
|
// stupid name, but it's what the function does.
|
||||||
int ifhitsectors(int sectnum);
|
int ifhitsectors(int sectnum);
|
||||||
|
@ -375,12 +374,6 @@ static int P_Submerge(int, int, DukePlayer_t *, int, int);
|
||||||
static int P_Emerge(int, int, DukePlayer_t *, int, int);
|
static int P_Emerge(int, int, DukePlayer_t *, int, int);
|
||||||
static void P_FinishWaterChange(int, DukePlayer_t *, int, int, int);
|
static void P_FinishWaterChange(int, DukePlayer_t *, int, int, int);
|
||||||
|
|
||||||
void moveplayers();
|
|
||||||
void movefx();
|
|
||||||
void movefallers();
|
|
||||||
void movestandables();
|
|
||||||
void moveweapons();
|
|
||||||
|
|
||||||
ACTOR_STATIC void A_DoProjectileBounce(int const spriteNum)
|
ACTOR_STATIC void A_DoProjectileBounce(int const spriteNum)
|
||||||
{
|
{
|
||||||
spritetype * const pSprite = &sprite[spriteNum];
|
spritetype * const pSprite = &sprite[spriteNum];
|
||||||
|
@ -7534,20 +7527,64 @@ void G_RefreshLights(void)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void G_MoveWorld(void)
|
void movefta_d(void);
|
||||||
|
void movefallers_d();
|
||||||
|
void movestandables_d();
|
||||||
|
void moveweapons_d();
|
||||||
|
|
||||||
|
void movefta_r(void);
|
||||||
|
void moveplayers();
|
||||||
|
void movefx();
|
||||||
|
void movefallers_r();
|
||||||
|
void movestandables_r();
|
||||||
|
void moveweapons_r();
|
||||||
|
|
||||||
|
void G_MoveWorld_d(void)
|
||||||
|
{
|
||||||
|
extern double g_moveActorsTime, g_moveWorldTime;
|
||||||
|
const double worldTime = timerGetHiTicks();
|
||||||
|
|
||||||
|
movefta_d(); //ST 2
|
||||||
|
moveweapons_d(); //ST 4
|
||||||
|
G_MoveTransports(); //ST 9
|
||||||
|
|
||||||
|
moveplayers(); //ST 10
|
||||||
|
movefallers_d(); //ST 12
|
||||||
|
G_MoveMisc(); //ST 5
|
||||||
|
|
||||||
|
const double actorsTime = timerGetHiTicks();
|
||||||
|
|
||||||
|
G_MoveActors(); //ST 1
|
||||||
|
|
||||||
|
g_moveActorsTime = (1-0.033)*g_moveActorsTime + 0.033*(timerGetHiTicks()-actorsTime);
|
||||||
|
|
||||||
|
// XXX: Has to be before effectors, in particular movers?
|
||||||
|
// TODO: lights in moving sectors ought to be interpolated
|
||||||
|
G_DoEffectorLights();
|
||||||
|
G_MoveEffectors(); //ST 3
|
||||||
|
movestandables_d(); //ST 6
|
||||||
|
|
||||||
|
G_RefreshLights();
|
||||||
|
G_DoSectorAnimations();
|
||||||
|
movefx(); //ST 11
|
||||||
|
|
||||||
|
g_moveWorldTime = (1-0.033)*g_moveWorldTime + 0.033*(timerGetHiTicks()-worldTime);
|
||||||
|
}
|
||||||
|
|
||||||
|
void G_MoveWorld_r(void)
|
||||||
{
|
{
|
||||||
extern double g_moveActorsTime, g_moveWorldTime;
|
extern double g_moveActorsTime, g_moveWorldTime;
|
||||||
const double worldTime = timerGetHiTicks();
|
const double worldTime = timerGetHiTicks();
|
||||||
|
|
||||||
if (!DEER)
|
if (!DEER)
|
||||||
{
|
{
|
||||||
movefta(); //ST 2
|
movefta_r(); //ST 2
|
||||||
G_MoveWeapons(); //ST 4
|
G_MoveWeapons(); //ST 4
|
||||||
G_MoveTransports(); //ST 9
|
G_MoveTransports(); //ST 9
|
||||||
}
|
}
|
||||||
|
|
||||||
moveplayers(); //ST 10
|
moveplayers(); //ST 10
|
||||||
movefallers(); //ST 12
|
movefallers_r(); //ST 12
|
||||||
if (!DEER)
|
if (!DEER)
|
||||||
G_MoveMisc(); //ST 5
|
G_MoveMisc(); //ST 5
|
||||||
|
|
||||||
|
@ -7573,7 +7610,7 @@ void G_MoveWorld(void)
|
||||||
if (!DEER)
|
if (!DEER)
|
||||||
{
|
{
|
||||||
G_MoveEffectors(); //ST 3
|
G_MoveEffectors(); //ST 3
|
||||||
movestandables(); //ST 6
|
movestandables_r(); //ST 6
|
||||||
}
|
}
|
||||||
|
|
||||||
G_RefreshLights();
|
G_RefreshLights();
|
||||||
|
@ -7587,5 +7624,11 @@ void G_MoveWorld(void)
|
||||||
g_moveWorldTime = (1 - 0.033) * g_moveWorldTime + 0.033 * (timerGetHiTicks() - worldTime);
|
g_moveWorldTime = (1 - 0.033) * g_moveWorldTime + 0.033 * (timerGetHiTicks() - worldTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void G_MoveWorld(void)
|
||||||
|
{
|
||||||
|
if (!isRR()) G_MoveWorld_d();
|
||||||
|
else G_MoveWorld_r();
|
||||||
|
}
|
||||||
|
|
||||||
END_DUKE_NS
|
END_DUKE_NS
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
#define EDUKE32_MACROS_H_
|
#define EDUKE32_MACROS_H_
|
||||||
|
|
||||||
#include "mmulti.h"
|
#include "mmulti.h"
|
||||||
#include "names.h"
|
|
||||||
|
|
||||||
BEGIN_DUKE_NS
|
BEGIN_DUKE_NS
|
||||||
|
|
||||||
|
@ -64,10 +63,7 @@ static FORCE_INLINE int32_t krand2(void)
|
||||||
|
|
||||||
inline bool AFLAMABLE(int X)
|
inline bool AFLAMABLE(int X)
|
||||||
{
|
{
|
||||||
if (!(g_gameType & GAMEFLAG_RRALL))
|
return (X == TILE_BOX || X == TILE_TREE1 || X == TILE_TREE2 || X == TILE_TIRE || X == TILE_CONE);
|
||||||
return (X == BOX || X == TREE1 || X == TREE2 || X == TIRE || X == CONE);
|
|
||||||
else
|
|
||||||
return (X == RR_AFLAM1191 || X == RR_AFLAM1193 || X == RR_TIRE || X == RR_AFLAM3062);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#define rnd(X) ((krand2()>>8)>=(255-(X)))
|
#define rnd(X) ((krand2()>>8)>=(255-(X)))
|
||||||
|
|
|
@ -29,17 +29,6 @@ BEGIN_DUKE_NS
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
SECTOREFFECTOR = 1,
|
|
||||||
ACTIVATOR = 2,
|
|
||||||
TOUCHPLATE = 3,
|
|
||||||
ACTIVATORLOCKED = 4,
|
|
||||||
MUSICANDSFX = 5,
|
|
||||||
LOCATORS = 6,
|
|
||||||
CYCLER = 7,
|
|
||||||
MASTERSWITCH = 8,
|
|
||||||
RESPAWN = 9,
|
|
||||||
GPSPEED = 10,
|
|
||||||
FOF = 13,
|
|
||||||
ARROW = 20,
|
ARROW = 20,
|
||||||
FIRSTGUNSPRITE = 21,
|
FIRSTGUNSPRITE = 21,
|
||||||
CHAINGUNSPRITE = 22,
|
CHAINGUNSPRITE = 22,
|
||||||
|
|
|
@ -32,19 +32,8 @@ BEGIN_DUKE_NS
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
SECTOREFFECTOR = 1,
|
|
||||||
ACTIVATOR = 2,
|
|
||||||
TOUCHPLATE = 3,
|
|
||||||
ACTIVATORLOCKED = 4,
|
|
||||||
MUSICANDSFX = 5,
|
|
||||||
LOCATORS = 6,
|
|
||||||
CYCLER = 7,
|
|
||||||
MASTERSWITCH = 8,
|
|
||||||
RESPAWN = 9,
|
|
||||||
GPSPEED = 10,
|
|
||||||
RRTILE11 = 11,
|
RRTILE11 = 11,
|
||||||
PLEASEWAIT = 12,
|
PLEASEWAIT = 12,
|
||||||
FOF = 13,
|
|
||||||
//WEATHERWARN = 14,
|
//WEATHERWARN = 14,
|
||||||
RPG2SPRITE = 14,
|
RPG2SPRITE = 14,
|
||||||
DUKETAG = 15,
|
DUKETAG = 15,
|
||||||
|
@ -306,7 +295,7 @@ enum
|
||||||
PIPE2B = 1126,
|
PIPE2B = 1126,
|
||||||
BOLT1 = 1127,
|
BOLT1 = 1127,
|
||||||
PIPE3B = 1132,
|
PIPE3B = 1132,
|
||||||
CAMERA1 = 1134,
|
RR_CAMERA1 = 1134,
|
||||||
BRICK = 1139,
|
BRICK = 1139,
|
||||||
VACUUM = 1141,
|
VACUUM = 1141,
|
||||||
JURYGUY = 1142,
|
JURYGUY = 1142,
|
||||||
|
@ -980,7 +969,7 @@ enum
|
||||||
RRTILE3827 = 3827,
|
RRTILE3827 = 3827,
|
||||||
RRTILE3837 = 3837,
|
RRTILE3837 = 3837,
|
||||||
APLAYERTOP = 3840,
|
APLAYERTOP = 3840,
|
||||||
APLAYER = 3845,
|
RR_APLAYER = 3845,
|
||||||
PLAYERONWATER = 3860,
|
PLAYERONWATER = 3860,
|
||||||
DUKELYINGDEAD = 3998,
|
DUKELYINGDEAD = 3998,
|
||||||
DUKEGUN = 4041,
|
DUKEGUN = 4041,
|
||||||
|
@ -1246,7 +1235,7 @@ enum
|
||||||
RRTILE8594 = 8594,
|
RRTILE8594 = 8594,
|
||||||
RRTILE8595 = 8595,
|
RRTILE8595 = 8595,
|
||||||
RRTILE8596 = 8596,
|
RRTILE8596 = 8596,
|
||||||
RRTILE8598 = 8598 = ,
|
RRTILE8598 = 8598,
|
||||||
RRTILE8605 = 8605,
|
RRTILE8605 = 8605,
|
||||||
RRTILE8608 = 8608,
|
RRTILE8608 = 8608,
|
||||||
RRTILE8609 = 8609,
|
RRTILE8609 = 8609,
|
||||||
|
@ -1267,15 +1256,12 @@ enum
|
||||||
RRTILE8682 = 8682,
|
RRTILE8682 = 8682,
|
||||||
RRTILE8683 = 8683,
|
RRTILE8683 = 8683,
|
||||||
RRTILE8704 = 8704,
|
RRTILE8704 = 8704,
|
||||||
,
|
|
||||||
,
|
|
||||||
// = RR = bad = guys,
|
// = RR = bad = guys,
|
||||||
BOSS1 = 4477,
|
BOSS1 = 4477,
|
||||||
BOSS2 = 4557,
|
BOSS2 = 4557,
|
||||||
BOSS3 = 4607,
|
BOSS3 = 4607,
|
||||||
BOSS4 = 4221,
|
BOSS4 = 4221,
|
||||||
,
|
|
||||||
,
|
|
||||||
BOULDER = 256,
|
BOULDER = 256,
|
||||||
BOULDER1 = 264,
|
BOULDER1 = 264,
|
||||||
TORNADO = 1930,
|
TORNADO = 1930,
|
||||||
|
@ -1335,13 +1321,8 @@ enum
|
||||||
SBDIP = 5085,
|
SBDIP = 5085,
|
||||||
MINION = 5120,
|
MINION = 5120,
|
||||||
MINIONSTAYPUT = 5121,
|
MINIONSTAYPUT = 5121,
|
||||||
,
|
UFO1_RR = 5260,
|
||||||
#ifdef = RRRA,
|
UFO1_RRRA = 5270,
|
||||||
# = define = UFO1 = 5260,
|
|
||||||
#else,
|
|
||||||
# = define = UFO1 = 5270,
|
|
||||||
#endif,
|
|
||||||
,
|
|
||||||
UFO2 = 5274,
|
UFO2 = 5274,
|
||||||
UFO3 = 5278,
|
UFO3 = 5278,
|
||||||
UFO4 = 5282,
|
UFO4 = 5282,
|
||||||
|
@ -1407,3 +1388,7 @@ enum
|
||||||
MAMAJIBA = 8890,
|
MAMAJIBA = 8890,
|
||||||
MAMAJIBB = 8895,
|
MAMAJIBB = 8895,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
extern int APLAYER;
|
||||||
|
extern int CAMERA1;
|
||||||
|
END_DUKE_NS
|
||||||
|
|
|
@ -2928,8 +2928,9 @@ void G_InitDynamicTiles(void)
|
||||||
{
|
{
|
||||||
int32_t i;
|
int32_t i;
|
||||||
|
|
||||||
APLAYER = (g_gameType & GAMEFLAG_RRALL) ? RR_APLAYER : DUKE_APLAYER;
|
// this cannot include the constant headers so it has to use literal numbers
|
||||||
CAMERA1 = (g_gameType & GAMEFLAG_RRALL) ? RR_CAMERA1 : DUKE_CAMERA1;
|
APLAYER = (g_gameType & GAMEFLAG_RRALL) ? 3845 : 1405;
|
||||||
|
CAMERA1 = (g_gameType & GAMEFLAG_RRALL) ? 1134 : 621;
|
||||||
|
|
||||||
Bmemset(DynamicTileMap, 0, sizeof(DynamicTileMap));
|
Bmemset(DynamicTileMap, 0, sizeof(DynamicTileMap));
|
||||||
|
|
||||||
|
|
|
@ -3612,6 +3612,7 @@ enum redneck_weapon_t
|
||||||
RATE_WEAPON = 15,
|
RATE_WEAPON = 15,
|
||||||
CHICKENBOW_WEAPON = 16
|
CHICKENBOW_WEAPON = 16
|
||||||
};
|
};
|
||||||
|
extern int APLAYER, CAMERA1;
|
||||||
|
|
||||||
#define DYNAMICWEAPONMAP(Weaponnum) Weaponnum
|
#define DYNAMICWEAPONMAP(Weaponnum) Weaponnum
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue