diff --git a/source/games/duke/src/actors_r.cpp b/source/games/duke/src/actors_r.cpp index 4d64fc6d0..c72508772 100644 --- a/source/games/duke/src/actors_r.cpp +++ b/source/games/duke/src/actors_r.cpp @@ -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. // //--------------------------------------------------------------------------- diff --git a/source/games/duke/src/dispatch.cpp b/source/games/duke/src/dispatch.cpp index 4ba08001a..078cc7520 100644 --- a/source/games/duke/src/dispatch.cpp +++ b/source/games/duke/src/dispatch.cpp @@ -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, }; } } diff --git a/source/games/duke/src/game.h b/source/games/duke/src/game.h index 7d6f51e7e..27e14b23d 100644 --- a/source/games/duke/src/game.h +++ b/source/games/duke/src/game.h @@ -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); diff --git a/source/games/duke/src/global.h b/source/games/duke/src/global.h index 2e5db81e9..4912a9c4f 100644 --- a/source/games/duke/src/global.h +++ b/source/games/duke/src/global.h @@ -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: diff --git a/source/games/duke/src/player.h b/source/games/duke/src/player.h index 4411af458..6298d5673 100644 --- a/source/games/duke/src/player.h +++ b/source/games/duke/src/player.h @@ -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 diff --git a/source/games/duke/src/player_d.cpp b/source/games/duke/src/player_d.cpp index 834bc41cf..a0d0f2c9b 100644 --- a/source/games/duke/src/player_d.cpp +++ b/source/games/duke/src/player_d.cpp @@ -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 diff --git a/source/games/duke/src/player_r.cpp b/source/games/duke/src/player_r.cpp index 70aa4d140..1d2ef59c3 100644 --- a/source/games/duke/src/player_r.cpp +++ b/source/games/duke/src/player_r.cpp @@ -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 diff --git a/source/games/duke/src/zz_player.cpp b/source/games/duke/src/zz_player.cpp index 8839066fd..5a282d048 100644 --- a/source/games/duke/src/zz_player.cpp +++ b/source/games/duke/src/zz_player.cpp @@ -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) diff --git a/source/games/duke/src/zz_premap.cpp b/source/games/duke/src/zz_premap.cpp index bb2e11ab3..a84aa2037 100644 --- a/source/games/duke/src/zz_premap.cpp +++ b/source/games/duke/src/zz_premap.cpp @@ -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(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(); diff --git a/source/games/duke/src/zz_savegame.cpp b/source/games/duke/src/zz_savegame.cpp index 5c034e75f..80090375a 100644 --- a/source/games/duke/src/zz_savegame.cpp +++ b/source/games/duke/src/zz_savegame.cpp @@ -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 }, diff --git a/source/games/duke/src/zz_sbar.cpp b/source/games/duke/src/zz_sbar.cpp index 98f00f6fc..db32b9ecc 100644 --- a/source/games/duke/src/zz_sbar.cpp +++ b/source/games/duke/src/zz_sbar.cpp @@ -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) {