Skip to content

Commit

Permalink
Fix kamikaze bug
Browse files Browse the repository at this point in the history
close #155
  • Loading branch information
xtreme8000 committed Jan 4, 2023
1 parent 0c2ed51 commit ec45924
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 16 deletions.
7 changes: 2 additions & 5 deletions src/cameracontroller.c
Expand Up @@ -96,11 +96,8 @@ void cameracontroller_fps(float dt) {
cooldown = 1;
}

if(cooldown) {
players[local_player_id].item_disabled = window_time();
players[local_player_id].items_show_start = window_time();
players[local_player_id].items_show = 1;
}
if(cooldown)
player_on_held_item_change(players + local_player_id);

#ifdef USE_TOUCH
if(!local_player_ammo) {
Expand Down
12 changes: 3 additions & 9 deletions src/hud.c
Expand Up @@ -1260,9 +1260,7 @@ static void hud_ingame_scroll(double yoffset) {
h = 0;
players[local_player_id].held_item = h;
sound_create(SOUND_LOCAL, &sound_switch, 0.0F, 0.0F, 0.0F);
players[local_player_id].item_disabled = window_time();
players[local_player_id].items_show_start = window_time();
players[local_player_id].items_show = 1;
player_on_held_item_change(players + local_player_id);
}
}

Expand Down Expand Up @@ -1533,9 +1531,7 @@ static void hud_ingame_keyboard(int key, int action, int mods, int internal) {
int tmp = players[local_player_id].held_item;
players[local_player_id].held_item = local_player_lasttool;
local_player_lasttool = tmp;
players[local_player_id].item_disabled = window_time();
players[local_player_id].items_show_start = window_time();
players[local_player_id].items_show = 1;
player_on_held_item_change(players + local_player_id);
}

if(key == WINDOW_KEY_VOLUME_UP) {
Expand Down Expand Up @@ -1664,9 +1660,7 @@ static void hud_ingame_keyboard(int key, int action, int mods, int internal) {

if(tool_switch) {
sound_create(SOUND_LOCAL, &sound_switch, 0.0F, 0.0F, 0.0F);
players[local_player_id].item_disabled = window_time();
players[local_player_id].items_show_start = window_time();
players[local_player_id].items_show = 1;
player_on_held_item_change(players + local_player_id);
}
}

Expand Down
5 changes: 3 additions & 2 deletions src/main.c
Expand Up @@ -336,8 +336,9 @@ void display() {
if(window_time() - players[local_player_id].item_disabled < 0.3F) {
players[local_player_id].item_showup = window_time();
if(players[local_player_id].input.buttons.lmb)
players[local_player_id].input.buttons.lmb_start = window_time();
players[local_player_id].input.buttons.rmb = 0;
players[local_player_id].input.buttons.lmb_start = window_time() + 0.5F;
if(players[local_player_id].input.buttons.rmb)
players[local_player_id].input.buttons.rmb_start = window_time() + 0.5F;
} else {
if(hud_active->render_localplayer) {
float tmp2 = players[local_player_id].physics.eye.y;
Expand Down
12 changes: 12 additions & 0 deletions src/player.c
Expand Up @@ -97,6 +97,18 @@ void player_reset(struct Player* p) {
p->input.buttons.packed = 0;
}

void player_on_held_item_change(struct Player* p) {
if(p->input.buttons.lmb)
p->input.buttons.lmb_start = window_time() + 0.8F;
if(p->input.buttons.rmb)
p->input.buttons.rmb_start = window_time() + 0.8F;

p->item_disabled = window_time();
p->items_show_start = window_time();
p->item_showup = window_time() + 0.3F;
p->items_show = 1;
}

int player_can_spectate(struct Player* p) {
return p->connected
&& ((players[local_player_id].team != TEAM_SPECTATOR && p->team == players[local_player_id].team)
Expand Down
1 change: 1 addition & 0 deletions src/player.h
Expand Up @@ -163,6 +163,7 @@ extern struct Player {
} players[PLAYERS_MAX];
// pyspades/pysnip/piqueserver sometimes uses ids that are out of range

void player_on_held_item_change(struct Player* p);
int player_can_spectate(struct Player* p);
float player_section_height(int section);
void player_init(void);
Expand Down

0 comments on commit ec45924

Please sign in to comment.