mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-29 04:50:42 +00:00
- doincrements
# Conflicts: # source/games/duke/src/zz_sbar.cpp
This commit is contained in:
parent
cb14555ef6
commit
dbbc5e0790
11 changed files with 576 additions and 48 deletions
|
@ -4399,7 +4399,7 @@ void fakebubbaspawn(int g_i, int g_p)
|
|||
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// special checks in fi.fall that only apply to RR.
|
||||
// special checks in fall that only apply to RR.
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -99,6 +99,9 @@ void shoot_d(int i, int atwith);
|
|||
void shoot_r(int i, int atwith);
|
||||
void selectweapon_d(int snum, int j);
|
||||
void selectweapon_r(int snum, int j);
|
||||
int doincrements_d(struct player_struct* p);
|
||||
int doincrements_r(struct player_struct* p);
|
||||
|
||||
|
||||
|
||||
Dispatcher fi;
|
||||
|
@ -144,6 +147,7 @@ void SetDispatcher()
|
|||
incur_damage_d,
|
||||
shoot_d,
|
||||
selectweapon_d,
|
||||
doincrements_d,
|
||||
};
|
||||
}
|
||||
else
|
||||
|
@ -184,7 +188,8 @@ void SetDispatcher()
|
|||
|
||||
incur_damage_r,
|
||||
shoot_r,
|
||||
selectweapon_r
|
||||
selectweapon_r,
|
||||
doincrements_r,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -529,6 +529,7 @@ struct Dispatcher
|
|||
void (*incur_damage)(struct player_struct* p);
|
||||
void (*shoot)(int, int);
|
||||
void (*selectweapon)(int snum, int j);
|
||||
int (*doincrements)(struct player_struct* p);
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -166,7 +166,7 @@ G_EXTERN int32_t *labeltype;
|
|||
G_EXTERN ClockTicks lockclock;
|
||||
G_EXTERN ClockTicks ototalclock;
|
||||
|
||||
G_EXTERN int32_t g_wupass;
|
||||
G_EXTERN int32_t wupass;
|
||||
G_EXTERN int32_t g_chickenPlant;
|
||||
#define chickenplant g_chickenPlant
|
||||
G_EXTERN int32_t g_thunderOn;
|
||||
|
@ -231,9 +231,11 @@ G_EXTERN int16_t fakebubba_spawn, mamaspawn_count, banjosound, g_bellTime, g_bel
|
|||
#define BellTime g_bellTime
|
||||
#define word_119BE0 g_bellSprite
|
||||
G_EXTERN uint8_t g_spriteExtra[MAXSPRITES], g_sectorExtra[MAXSECTORS]; // move these back into the base structs!
|
||||
G_EXTERN uint8_t enemysizecheat, ufospawnsminion, pistonsound, g_chickenWeaponTimer, RRRA_ExitedLevel, RRRA_EndEpisode, fogactive;
|
||||
G_EXTERN uint8_t enemysizecheat, ufospawnsminion, pistonsound, chickenphase, RRRA_ExitedLevel, RRRA_EndEpisode, fogactive;
|
||||
G_EXTERN int32_t g_cdTrack;
|
||||
#define raat607 enemysizecheat // only as a reminder
|
||||
#define raat605 chickenphase
|
||||
#define at59d yeehaa_timer
|
||||
|
||||
// XXX: I think this pragma pack is meaningless here.
|
||||
// MSDN (https://msdn.microsoft.com/en-us/library/2e70t5y1%28VS.80%29.aspx) says:
|
||||
|
|
|
@ -242,14 +242,14 @@ typedef struct player_struct {
|
|||
|
||||
int16_t recoil;
|
||||
int32_t stairs;
|
||||
int32_t hbomb_offset;
|
||||
int16_t hbomb_time;
|
||||
int32_t detonate_count;
|
||||
int16_t detonate_time;
|
||||
uint8_t shotgun_state[2];
|
||||
uint8_t make_noise;
|
||||
int32_t noise_x, noise_y, noise_radius;
|
||||
uint8_t keys[5];
|
||||
int16_t yehaa_timer;
|
||||
int16_t drink_amt, eat, drink_ang, eat_ang;
|
||||
int16_t drink_amt, eat, drunkang, eatang;
|
||||
int32_t drink_timer, eat_timer;
|
||||
int16_t MamaEnd;
|
||||
int16_t MotoSpeed, tilt_status, moto_drink;
|
||||
|
@ -282,7 +282,10 @@ typedef struct player_struct {
|
|||
#define shield_amount inv_amount[GET_SHIELD]
|
||||
#define raat609 MamaEnd
|
||||
#define raat5dd sea_sick_stat
|
||||
|
||||
#define at57e detonate_offset
|
||||
#define at57c detonate_time
|
||||
#define at58e drink_timer
|
||||
#define at592 eat_timer
|
||||
|
||||
// KEEPINSYNC lunatic/_defs_game.lua
|
||||
typedef struct
|
||||
|
|
|
@ -38,6 +38,7 @@ source as it is released.
|
|||
#include "gamevar.h"
|
||||
#include "player.h"
|
||||
#include "names.h"
|
||||
#include "macros.h"
|
||||
|
||||
BEGIN_DUKE_NS
|
||||
|
||||
|
@ -1307,4 +1308,197 @@ void selectweapon_d(int snum, int j) // playernum, weaponnum
|
|||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
int doincrements_d(struct player_struct* p)
|
||||
{
|
||||
int snum;
|
||||
|
||||
snum = sprite[p->i].yvel;
|
||||
// j = sync[snum].avel;
|
||||
// p->weapon_ang = -(j/5);
|
||||
|
||||
p->player_par++;
|
||||
|
||||
if (p->invdisptime > 0)
|
||||
p->invdisptime--;
|
||||
|
||||
if (p->tipincs > 0) p->tipincs--;
|
||||
|
||||
if (p->last_pissed_time > 0)
|
||||
{
|
||||
p->last_pissed_time--;
|
||||
|
||||
if (p->last_pissed_time == (26 * 219))
|
||||
{
|
||||
spritesound(FLUSH_TOILET, p->i);
|
||||
if (snum == screenpeek || ud.coop == 1)
|
||||
spritesound(DUKE_PISSRELIEF, p->i);
|
||||
}
|
||||
|
||||
if (p->last_pissed_time == (26 * 218))
|
||||
{
|
||||
p->holster_weapon = 0;
|
||||
p->weapon_pos = 10;
|
||||
}
|
||||
}
|
||||
|
||||
if (p->crack_time > 0)
|
||||
{
|
||||
p->crack_time--;
|
||||
if (p->crack_time == 0)
|
||||
{
|
||||
p->knuckle_incs = 1;
|
||||
p->crack_time = 777;
|
||||
}
|
||||
}
|
||||
|
||||
if (p->steroids_amount > 0 && p->steroids_amount < 400)
|
||||
{
|
||||
p->steroids_amount--;
|
||||
if (p->steroids_amount == 0)
|
||||
checkavailinven(p);
|
||||
if (!(p->steroids_amount & 7))
|
||||
if (snum == screenpeek || ud.coop == 1)
|
||||
spritesound(DUKE_HARTBEAT, p->i);
|
||||
}
|
||||
|
||||
if (p->heat_on && p->heat_amount > 0)
|
||||
{
|
||||
p->heat_amount--;
|
||||
if (p->heat_amount == 0)
|
||||
{
|
||||
p->heat_on = 0;
|
||||
checkavailinven(p);
|
||||
spritesound(NITEVISION_ONOFF, p->i);
|
||||
setpal(p);
|
||||
}
|
||||
}
|
||||
|
||||
if (p->holoduke_on >= 0)
|
||||
{
|
||||
p->holoduke_amount--;
|
||||
if (p->holoduke_amount <= 0)
|
||||
{
|
||||
spritesound(TELEPORTER, p->i);
|
||||
p->holoduke_on = -1;
|
||||
checkavailinven(p);
|
||||
}
|
||||
}
|
||||
|
||||
if (p->jetpack_on && p->jetpack_amount > 0)
|
||||
{
|
||||
p->jetpack_amount--;
|
||||
if (p->jetpack_amount <= 0)
|
||||
{
|
||||
p->jetpack_on = 0;
|
||||
checkavailinven(p);
|
||||
spritesound(DUKE_JETPACK_OFF, p->i);
|
||||
stopsound(DUKE_JETPACK_IDLE);
|
||||
stopsound(DUKE_JETPACK_ON);
|
||||
}
|
||||
}
|
||||
|
||||
if (p->quick_kick > 0 && sprite[p->i].pal != 1)
|
||||
{
|
||||
p->quick_kick--;
|
||||
if (p->quick_kick == 8)
|
||||
fi.shoot(p->i, KNEE);
|
||||
}
|
||||
|
||||
if (p->access_incs && sprite[p->i].pal != 1)
|
||||
{
|
||||
p->access_incs++;
|
||||
if (sprite[p->i].extra <= 0)
|
||||
p->access_incs = 12;
|
||||
if (p->access_incs == 12)
|
||||
{
|
||||
if (p->access_spritenum >= 0)
|
||||
{
|
||||
fi.checkhitswitch(snum, p->access_spritenum, 1);
|
||||
switch (sprite[p->access_spritenum].pal)
|
||||
{
|
||||
case 0:p->got_access &= (0xffff - 0x1); break;
|
||||
case 21:p->got_access &= (0xffff - 0x2); break;
|
||||
case 23:p->got_access &= (0xffff - 0x4); break;
|
||||
}
|
||||
p->access_spritenum = -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
fi.checkhitswitch(snum, p->access_wallnum, 0);
|
||||
switch (wall[p->access_wallnum].pal)
|
||||
{
|
||||
case 0:p->got_access &= (0xffff - 0x1); break;
|
||||
case 21:p->got_access &= (0xffff - 0x2); break;
|
||||
case 23:p->got_access &= (0xffff - 0x4); break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (p->access_incs > 20)
|
||||
{
|
||||
p->access_incs = 0;
|
||||
p->weapon_pos = 10;
|
||||
p->kickback_pic = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (p->scuba_on == 0 && sector[p->cursectnum].lotag == 2)
|
||||
{
|
||||
if (p->scuba_amount > 0)
|
||||
{
|
||||
p->scuba_on = 1;
|
||||
p->inven_icon = 6;
|
||||
FTA(76, p);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (p->airleft > 0)
|
||||
p->airleft--;
|
||||
else
|
||||
{
|
||||
p->extra_extra8 += 32;
|
||||
if (p->last_extra < (max_player_health >> 1) && (p->last_extra & 3) == 0)
|
||||
spritesound(DUKE_LONGTERM_PAIN, p->i);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (p->scuba_amount > 0 && p->scuba_on)
|
||||
{
|
||||
p->scuba_amount--;
|
||||
if (p->scuba_amount == 0)
|
||||
{
|
||||
p->scuba_on = 0;
|
||||
checkavailinven(p);
|
||||
}
|
||||
}
|
||||
|
||||
if (p->knuckle_incs)
|
||||
{
|
||||
p->knuckle_incs++;
|
||||
if (p->knuckle_incs == 10 && !isWW2GI())
|
||||
{
|
||||
if (totalclock > 1024)
|
||||
if (snum == screenpeek || ud.coop == 1)
|
||||
{
|
||||
if (rand() & 1)
|
||||
spritesound(DUKE_CRACK, p->i);
|
||||
else spritesound(DUKE_CRACK2, p->i);
|
||||
}
|
||||
spritesound(DUKE_CRACK_FIRST, p->i);
|
||||
}
|
||||
else if (p->knuckle_incs == 22 || PlayerInput(snum, SK_FIRE))
|
||||
p->knuckle_incs = 0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
END_DUKE_NS
|
||||
|
|
|
@ -1141,4 +1141,327 @@ void selectweapon_r(int snum, int j)
|
|||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
int doincrements_r(struct player_struct* p)
|
||||
{
|
||||
int snum;
|
||||
|
||||
if (isRRRA())
|
||||
{
|
||||
if (WindTime > 0)
|
||||
WindTime--;
|
||||
else if ((krand() & 127) == 8)
|
||||
{
|
||||
WindTime = 120 + ((krand() & 63) << 2);
|
||||
WindDir = krand() & 2047;
|
||||
}
|
||||
|
||||
if (BellTime > 0)
|
||||
{
|
||||
BellTime--;
|
||||
if (BellTime == 0)
|
||||
sprite[word_119BE0].picnum++;
|
||||
}
|
||||
if (chickenphase > 0)
|
||||
chickenphase--;
|
||||
if (p->SeaSick)
|
||||
{
|
||||
p->SeaSick--;
|
||||
if (p->SeaSick == 0)
|
||||
p->sea_sick_stat = 0;
|
||||
}
|
||||
}
|
||||
|
||||
snum = sprite[p->i].yvel;
|
||||
// j = sync[snum].avel;
|
||||
// p->weapon_ang = -(j/5);
|
||||
|
||||
p->player_par++;
|
||||
if (p->yehaa_timer)
|
||||
p->yehaa_timer--;
|
||||
|
||||
|
||||
if (p->detonate_count > 0)
|
||||
{
|
||||
p->detonate_count++;
|
||||
p->detonate_time--;
|
||||
}
|
||||
p->drink_timer--;
|
||||
if (p->drink_timer <= 0)
|
||||
{
|
||||
p->drink_timer = 1024;
|
||||
if (p->drink_amt)
|
||||
{
|
||||
p->drink_amt--;
|
||||
}
|
||||
}
|
||||
p->eat_timer--;
|
||||
if (p->eat_timer <= 0)
|
||||
{
|
||||
p->eat_timer = 1024;
|
||||
if (p->eat)
|
||||
p->eat--;
|
||||
}
|
||||
if (p->drink_amt >= 100)
|
||||
{
|
||||
if (!A_CheckSoundPlaying(p->i, 420))
|
||||
spritesound(420, p->i);
|
||||
p->drink_amt -= 9;
|
||||
p->eat >>= 1;
|
||||
}
|
||||
p->eatang = (1647 + p->eat * 8) & 2047;
|
||||
|
||||
if (p->eat >= 100)
|
||||
p->eat = 100;
|
||||
|
||||
if (p->eat >= 31 && krand() < p->eat)
|
||||
{
|
||||
switch (krand() & 3)
|
||||
{
|
||||
case 0:
|
||||
spritesound(404, p->i);
|
||||
break;
|
||||
case 1:
|
||||
spritesound(422, p->i);
|
||||
break;
|
||||
case 2:
|
||||
spritesound(423, p->i);
|
||||
break;
|
||||
case 3:
|
||||
spritesound(424, p->i);
|
||||
break;
|
||||
}
|
||||
if (numplayers < 2)
|
||||
{
|
||||
p->noise_radius = 16384;
|
||||
madenoise(screenpeek);
|
||||
p->posxv += sintable[(p->getang() + 512) & 2047] << 4;
|
||||
p->posyv += sintable[p->getang() & 2047] << 4;
|
||||
}
|
||||
p->eat -= 4;
|
||||
if (p->eat < 0)
|
||||
p->eat = 0;
|
||||
}
|
||||
|
||||
if (p->invdisptime > 0)
|
||||
p->invdisptime--;
|
||||
|
||||
if (p->tipincs > 0) p->tipincs--;
|
||||
|
||||
if (p->last_pissed_time > 0)
|
||||
{
|
||||
p->last_pissed_time--;
|
||||
|
||||
if (p->drink_amt > 66 && (p->last_pissed_time % 26) == 0)
|
||||
p->drink_amt--;
|
||||
|
||||
if (ud.lockout == 0)
|
||||
{
|
||||
if (p->last_pissed_time == 5662)
|
||||
spritesound(434, p->i);
|
||||
else if (p->last_pissed_time == 5567)
|
||||
spritesound(434, p->i);
|
||||
else if (p->last_pissed_time == 5472)
|
||||
spritesound(433, p->i);
|
||||
else if (p->last_pissed_time == 5072)
|
||||
spritesound(435, p->i);
|
||||
else if (p->last_pissed_time == 5014)
|
||||
spritesound(434, p->i);
|
||||
else if (p->last_pissed_time == 4919)
|
||||
spritesound(433, p->i);
|
||||
}
|
||||
|
||||
if (p->last_pissed_time == 5668)
|
||||
{
|
||||
p->holster_weapon = 0;
|
||||
p->weapon_pos = 10;
|
||||
}
|
||||
}
|
||||
|
||||
if (p->crack_time > 0)
|
||||
{
|
||||
p->crack_time--;
|
||||
if (p->crack_time == 0)
|
||||
{
|
||||
p->knuckle_incs = 1;
|
||||
p->crack_time = 777;
|
||||
}
|
||||
}
|
||||
|
||||
if (p->steroids_amount > 0 && p->steroids_amount < 400)
|
||||
{
|
||||
p->steroids_amount--;
|
||||
if (p->steroids_amount == 0)
|
||||
{
|
||||
checkavailinven(p);
|
||||
p->eat = p->drink_amt = 0;
|
||||
p->eatang = p->drunkang = 1647;
|
||||
}
|
||||
if (!(p->steroids_amount & 14))
|
||||
if (snum == screenpeek || ud.coop == 1)
|
||||
spritesound(DUKE_TAKEPILLS, p->i);
|
||||
}
|
||||
|
||||
if (p->access_incs && sprite[p->i].pal != 1)
|
||||
{
|
||||
p->access_incs++;
|
||||
if (sprite[p->i].extra <= 0)
|
||||
p->access_incs = 12;
|
||||
if (p->access_incs == 12)
|
||||
{
|
||||
if (p->access_spritenum >= 0)
|
||||
{
|
||||
fi.checkhitswitch(snum, p->access_spritenum, 1);
|
||||
switch (sprite[p->access_spritenum].pal)
|
||||
{
|
||||
case 0:p->keys[1] = 1; break;
|
||||
case 21:p->keys[2] = 1; break;
|
||||
case 23:p->keys[3] = 1; break;
|
||||
}
|
||||
p->access_spritenum = -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
fi.checkhitswitch(snum, p->access_wallnum, 0);
|
||||
switch (wall[p->access_wallnum].pal)
|
||||
{
|
||||
case 0:p->keys[1] = 1; break;
|
||||
case 21:p->keys[2] = 1; break;
|
||||
case 23:p->keys[3] = 1; break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (p->access_incs > 20)
|
||||
{
|
||||
p->access_incs = 0;
|
||||
p->weapon_pos = 10;
|
||||
p->kickback_pic = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (p->scuba_on == 0 && sector[p->cursectnum].lotag == 2)
|
||||
{
|
||||
if (p->scuba_amount > 0)
|
||||
{
|
||||
p->scuba_on = 1;
|
||||
p->inven_icon = 6;
|
||||
FTA(76, p);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (p->airleft > 0)
|
||||
p->airleft--;
|
||||
else
|
||||
{
|
||||
p->extra_extra8 += 32;
|
||||
if (p->last_extra < (max_player_health >> 1) && (p->last_extra & 3) == 0)
|
||||
spritesound(DUKE_LONGTERM_PAIN, p->i);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (p->scuba_amount > 0 && p->scuba_on)
|
||||
{
|
||||
p->scuba_amount--;
|
||||
if (p->scuba_amount == 0)
|
||||
{
|
||||
p->scuba_on = 0;
|
||||
checkavailinven(p);
|
||||
}
|
||||
}
|
||||
|
||||
if (p->knuckle_incs)
|
||||
{
|
||||
p->knuckle_incs++;
|
||||
if (p->knuckle_incs == 10)
|
||||
{
|
||||
if (!wupass)
|
||||
{
|
||||
short snd = -1;
|
||||
wupass = 1;
|
||||
if (lastlevel)
|
||||
{
|
||||
snd = 391;
|
||||
}
|
||||
else switch (ud.volume_number)
|
||||
{
|
||||
case 0:
|
||||
switch (ud.level_number)
|
||||
{
|
||||
case 0:
|
||||
snd = isRRRA()? 63 : 391;
|
||||
break;
|
||||
case 1:
|
||||
snd = 64;
|
||||
break;
|
||||
case 2:
|
||||
snd = 77;
|
||||
break;
|
||||
case 3:
|
||||
snd = 80;
|
||||
break;
|
||||
case 4:
|
||||
snd = 102;
|
||||
break;
|
||||
case 5:
|
||||
snd = 103;
|
||||
break;
|
||||
case 6:
|
||||
snd = 104;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
switch (ud.level_number)
|
||||
{
|
||||
case 0:
|
||||
snd = 105;
|
||||
break;
|
||||
case 1:
|
||||
snd = 176;
|
||||
break;
|
||||
case 2:
|
||||
snd = 177;
|
||||
break;
|
||||
case 3:
|
||||
snd = 198;
|
||||
break;
|
||||
case 4:
|
||||
snd = 230;
|
||||
break;
|
||||
case 5:
|
||||
snd = 255;
|
||||
break;
|
||||
case 6:
|
||||
snd = 283;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (snd == -1)
|
||||
snd = 391;
|
||||
spritesound(snd, p->i);
|
||||
}
|
||||
else if (totalclock > 1024)
|
||||
if (snum == screenpeek || ud.coop == 1)
|
||||
{
|
||||
if (rand() & 1)
|
||||
spritesound(DUKE_CRACK, p->i);
|
||||
else spritesound(DUKE_CRACK2, p->i);
|
||||
}
|
||||
}
|
||||
else if (p->knuckle_incs == 22 || PlayerInput(snum, SK_FIRE))
|
||||
p->knuckle_incs = 0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
END_DUKE_NS
|
||||
|
|
|
@ -938,7 +938,7 @@ void P_DisplayWeapon(void)
|
|||
{
|
||||
if (!g_netServer && ud.multimode < 2)
|
||||
{
|
||||
if (g_chickenWeaponTimer)
|
||||
if (chickenphase)
|
||||
{
|
||||
G_DrawWeaponTileWithID(currentWeapon, weaponX + 210 - halfLookAng, weaponY + 222 - weaponYOffset,
|
||||
TILE_RPGGUN2+7, weaponShade, weaponBits, weaponPal, 36700);
|
||||
|
@ -948,7 +948,7 @@ void P_DisplayWeapon(void)
|
|||
A_PlaySound(327, pPlayer->i);
|
||||
G_DrawWeaponTileWithID(currentWeapon, weaponX + 210 - halfLookAng, weaponY + 222 - weaponYOffset,
|
||||
TILE_RPGGUN2+7, weaponShade, weaponBits, weaponPal, 36700);
|
||||
g_chickenWeaponTimer = 6;
|
||||
chickenphase = 6;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1177,7 +1177,7 @@ void P_DisplayWeapon(void)
|
|||
|
||||
if (*weaponFrame < 5)
|
||||
{
|
||||
G_DrawWeaponTileWithID(currentWeapon << 1, weaponX + 265 - halfLookAng, weaponY + 174 - weaponYOffset + pPlayer->hbomb_offset,
|
||||
G_DrawWeaponTileWithID(currentWeapon << 1, weaponX + 265 - halfLookAng, weaponY + 174 - weaponYOffset + pPlayer->detonate_count,
|
||||
TILE_RRTILE1752, 0, weaponBits, weaponPal, 36700);
|
||||
}
|
||||
G_DrawWeaponTileWithID(currentWeapon, weaponX + 290 - halfLookAng, weaponY + 238 - weaponYOffset,
|
||||
|
@ -2723,8 +2723,8 @@ static int32_t P_DoCounters(int playerNum)
|
|||
sprite[g_bellSprite].picnum++;
|
||||
}
|
||||
|
||||
if (playerNum == 0 && g_chickenWeaponTimer > 0)
|
||||
g_chickenWeaponTimer--;
|
||||
if (playerNum == 0 && chickenphase > 0)
|
||||
chickenphase--;
|
||||
|
||||
if (pPlayer->sea_sick)
|
||||
{
|
||||
|
@ -2740,10 +2740,10 @@ static int32_t P_DoCounters(int playerNum)
|
|||
if (pPlayer->yehaa_timer)
|
||||
pPlayer->yehaa_timer--;
|
||||
|
||||
if (pPlayer->hbomb_offset > 0)
|
||||
if (pPlayer->detonate_count > 0)
|
||||
{
|
||||
pPlayer->hbomb_offset++;
|
||||
pPlayer->hbomb_time--;
|
||||
pPlayer->detonate_count++;
|
||||
pPlayer->detonate_time--;
|
||||
}
|
||||
|
||||
if (--pPlayer->drink_timer <= 0)
|
||||
|
@ -2767,7 +2767,7 @@ static int32_t P_DoCounters(int playerNum)
|
|||
pPlayer->drink_amt -= 9;
|
||||
pPlayer->eat >>= 1;
|
||||
}
|
||||
pPlayer->eat_ang = (1647 + pPlayer->eat * 8) & 2047;
|
||||
pPlayer->eatang = (1647 + pPlayer->eat * 8) & 2047;
|
||||
|
||||
if (pPlayer->eat >= 100)
|
||||
pPlayer->eat = 100;
|
||||
|
@ -2882,7 +2882,7 @@ static int32_t P_DoCounters(int playerNum)
|
|||
if (RR)
|
||||
{
|
||||
pPlayer->eat = pPlayer->drink_amt = 0;
|
||||
pPlayer->eat_ang = pPlayer->drink_ang = 1647;
|
||||
pPlayer->eatang = pPlayer->drunkang = 1647;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3011,10 +3011,10 @@ static int32_t P_DoCounters(int playerNum)
|
|||
{
|
||||
if (++pPlayer->knuckle_incs == 10)
|
||||
{
|
||||
if (RR && !g_wupass)
|
||||
if (RR && !wupass)
|
||||
{
|
||||
int soundId = 391;
|
||||
g_wupass = 1;
|
||||
wupass = 1;
|
||||
if (!g_lastLevel) switch (ud.volume_number)
|
||||
{
|
||||
case 0:
|
||||
|
@ -3456,14 +3456,14 @@ static void P_ProcessWeapon(int playerNum)
|
|||
|
||||
if (RR)
|
||||
{
|
||||
if (pPlayer->hbomb_offset > 0)
|
||||
if (pPlayer->detonate_count > 0)
|
||||
{
|
||||
if (ud.god)
|
||||
{
|
||||
pPlayer->hbomb_time = 45;
|
||||
pPlayer->hbomb_offset = 0;
|
||||
pPlayer->detonate_time = 45;
|
||||
pPlayer->detonate_count = 0;
|
||||
}
|
||||
else if (pPlayer->hbomb_time <= 0 && (*weaponFrame) < 5)
|
||||
else if (pPlayer->detonate_time <= 0 && (*weaponFrame) < 5)
|
||||
{
|
||||
S_PlaySound(PIPEBOMB_EXPLODE);
|
||||
quickkill(pPlayer);
|
||||
|
@ -3776,8 +3776,8 @@ static void P_ProcessWeapon(int playerNum)
|
|||
pPlayer->curr_weapon = DYNAMITE_WEAPON;
|
||||
pPlayer->last_weapon = -1;
|
||||
pPlayer->weapon_pos = WEAPON_POS_RAISE;
|
||||
pPlayer->hbomb_time = 45;
|
||||
pPlayer->hbomb_offset = 1;
|
||||
pPlayer->detonate_time = 45;
|
||||
pPlayer->detonate_count = 1;
|
||||
S_PlaySound(402);
|
||||
}
|
||||
break;
|
||||
|
@ -3785,7 +3785,7 @@ static void P_ProcessWeapon(int playerNum)
|
|||
case HANDREMOTE_WEAPON__STATIC:
|
||||
(*weaponFrame)++;
|
||||
|
||||
if (pPlayer->hbomb_time < 0)
|
||||
if (pPlayer->detonate_time < 0)
|
||||
pPlayer->hbomb_on = 0;
|
||||
|
||||
if ((*weaponFrame) == 39)
|
||||
|
@ -3846,8 +3846,8 @@ static void P_ProcessWeapon(int playerNum)
|
|||
(*weaponFrame) = 0;
|
||||
pPlayer->curr_weapon = HANDBOMB_WEAPON;
|
||||
pPlayer->last_weapon = -1;
|
||||
pPlayer->hbomb_offset = 0;
|
||||
pPlayer->hbomb_time = 45;
|
||||
pPlayer->detonate_count = 0;
|
||||
pPlayer->detonate_time = 45;
|
||||
if (pPlayer->ammo_amount[HANDBOMB_WEAPON] > 0)
|
||||
{
|
||||
P_AddWeapon(pPlayer, HANDBOMB_WEAPON);
|
||||
|
@ -6054,7 +6054,7 @@ check_enemy_sprite:
|
|||
if (pPlayer->newowner >= 0)
|
||||
{
|
||||
P_UpdatePosWhenViewingCam(pPlayer);
|
||||
P_DoCounters(playerNum);
|
||||
fi.doincrements(&ps[playerNum]);
|
||||
|
||||
if ((WW2GI ? PWEAPON(playerNum, pPlayer->curr_weapon, WorksLike) : pPlayer->curr_weapon) == HANDREMOTE_WEAPON)
|
||||
P_ProcessWeapon(playerNum);
|
||||
|
@ -7145,7 +7145,7 @@ HORIZONLY:;
|
|||
>> 2);
|
||||
}
|
||||
|
||||
if (P_DoCounters(playerNum))
|
||||
if (fi.doincrements(&ps[playerNum]))
|
||||
return;
|
||||
|
||||
switch (pPlayer->weapon_pos)
|
||||
|
|
|
@ -950,18 +950,18 @@ void P_ResetStatus(int playerNum)
|
|||
pPlayer->keys[4] = 0;
|
||||
}
|
||||
|
||||
g_wupass = 0;
|
||||
pPlayer->drink_ang = pPlayer->eat_ang = 1647;
|
||||
wupass = 0;
|
||||
pPlayer->drunkang = pPlayer->eatang = 1647;
|
||||
pPlayer->drink_amt = pPlayer->eat = 0;
|
||||
pPlayer->drink_timer = pPlayer->eat_timer = 4096;
|
||||
pPlayer->shotgun_state[0] = pPlayer->shotgun_state[1] = 0;
|
||||
pPlayer->hbomb_time = 0;
|
||||
pPlayer->hbomb_offset = 0;
|
||||
pPlayer->detonate_time = 0;
|
||||
pPlayer->detonate_count = 0;
|
||||
pPlayer->recoil = 0;
|
||||
pPlayer->yehaa_timer = 0;
|
||||
if (RRRA)
|
||||
{
|
||||
g_chickenWeaponTimer = 0;
|
||||
chickenphase = 0;
|
||||
if (pPlayer->OnMotorcycle)
|
||||
{
|
||||
pPlayer->OnMotorcycle = 0;
|
||||
|
@ -1029,7 +1029,7 @@ void P_ResetWeapons(int playerNum)
|
|||
pPlayer->ammo_amount[PISTOL_WEAPON] = min<int16_t>(max_ammo_amount[PISTOL_WEAPON], 48);
|
||||
if (RRRA)
|
||||
{
|
||||
g_chickenWeaponTimer = 0;
|
||||
chickenphase = 0;
|
||||
pPlayer->gotweapon.Set(SLINGBLADE_WEAPON);
|
||||
pPlayer->ammo_amount[KNEE_WEAPON] = 1;
|
||||
pPlayer->ammo_amount[SLINGBLADE_WEAPON] = 1;
|
||||
|
@ -1079,12 +1079,12 @@ void P_ResetInventory(int playerNum)
|
|||
pPlayer->keys[4] = 0;
|
||||
}
|
||||
|
||||
pPlayer->drink_ang = pPlayer->eat_ang = 1647;
|
||||
pPlayer->drunkang = pPlayer->eatang = 1647;
|
||||
pPlayer->drink_amt = pPlayer->eat = 0;
|
||||
pPlayer->drink_timer = pPlayer->eat_timer = 4096;
|
||||
pPlayer->shotgun_state[0] = pPlayer->shotgun_state[1] = 0;
|
||||
pPlayer->hbomb_time = 0;
|
||||
pPlayer->hbomb_offset = 0;
|
||||
pPlayer->detonate_time = 0;
|
||||
pPlayer->detonate_count = 0;
|
||||
pPlayer->recoil = 0;
|
||||
pPlayer->yehaa_timer = 0;
|
||||
resetlanepics();
|
||||
|
@ -1198,12 +1198,12 @@ static void resetprestat(int playerNum, int gameMode)
|
|||
pPlayer->keys[4] = 0;
|
||||
}
|
||||
|
||||
pPlayer->drink_ang = pPlayer->eat_ang = 1647;
|
||||
pPlayer->drunkang = pPlayer->eatang = 1647;
|
||||
pPlayer->drink_amt = pPlayer->eat = 0;
|
||||
pPlayer->drink_timer = pPlayer->eat_timer = 4096;
|
||||
pPlayer->shotgun_state[0] = pPlayer->shotgun_state[1] = 0;
|
||||
pPlayer->hbomb_time = 0;
|
||||
pPlayer->hbomb_offset = 0;
|
||||
pPlayer->detonate_time = 0;
|
||||
pPlayer->detonate_count = 0;
|
||||
pPlayer->recoil = 0;
|
||||
pPlayer->yehaa_timer = 0;
|
||||
resetlanepics();
|
||||
|
|
|
@ -903,7 +903,7 @@ static const dataspec_t svgm_anmisc[] =
|
|||
{ 0, &enemysizecheat, sizeof(enemysizecheat), 1 },
|
||||
{ 0, &ufospawnsminion, sizeof(ufospawnsminion), 1 },
|
||||
{ 0, &pistonsound, sizeof(pistonsound), 1 },
|
||||
{ 0, &g_chickenWeaponTimer, sizeof(g_chickenWeaponTimer), 1 },
|
||||
{ 0, &chickenphase, sizeof(chickenphase), 1 },
|
||||
{ 0, &RRRA_ExitedLevel, sizeof(RRRA_ExitedLevel), 1 },
|
||||
{ 0, &RRRA_EndEpisode, sizeof(RRRA_EndEpisode), 1 },
|
||||
{ 0, &fogactive, sizeof(fogactive), 1 },
|
||||
|
|
|
@ -864,14 +864,14 @@ public:
|
|||
SBar_DrawString(this, &miniFont, "AUTO", x + 34, top + 14, DI_TEXT_ALIGN_RIGHT, CR_UNTRANSLATED, 1, 0, 0, scale, scale);
|
||||
}
|
||||
|
||||
p->drink_ang = ((p->drink_amt * 8) + 1647) & 2047;
|
||||
p->drunkang = ((p->drink_amt * 8) + 1647) & 2047;
|
||||
if (p->drink_amt >= 100)
|
||||
{
|
||||
p->drink_amt = 100;
|
||||
p->drink_ang = 400;
|
||||
p->drunkang = 400;
|
||||
}
|
||||
DrawGraphic(tileGetTexture(TILE_GUTMETER), 257, top + 24, DI_ITEM_BOTTOM, 1, -1, -1, scale, scale, 0xffffffff, 0 /*, p->drink_ang * 360. / 2048 */ );
|
||||
DrawGraphic(tileGetTexture(TILE_GUTMETER), 293, top + 24, DI_ITEM_BOTTOM, 1, -1, -1, scale, scale, 0xffffffff, 0 /*, p->eat_ang * 360. / 2048 */);
|
||||
DrawGraphic(tileGetTexture(TILE_GUTMETER), 257, top + 24, DI_ITEM_BOTTOM, 1, -1, -1, scale, scale, 0xffffffff, 0 /*, p->drunkang * 360. / 2048 */ );
|
||||
DrawGraphic(tileGetTexture(TILE_GUTMETER), 293, top + 24, DI_ITEM_BOTTOM, 1, -1, -1, scale, scale, 0xffffffff, 0 /*, p->eatang * 360. / 2048 */);
|
||||
|
||||
if (p->drink_amt >= 0 && p->drink_amt <= 30)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue