void ST_updateWidgets(void) { static int largeammo = 1994; // means "n/a" int i; // must redirect the pointer if the ready weapon has changed. // if (w_ready.data != plyr->readyweapon) // { if (weaponinfo[plyr->readyweapon].ammo == am_noammo) w_ready.num = &largeammo; else w_ready.num = &plyr->ammo[weaponinfo[plyr->readyweapon].ammo]; //{ // static int tic=0; // static int dir=-1; // if (!(tic&15)) // plyr->ammo[weaponinfo[plyr->readyweapon].ammo]+=dir; // if (plyr->ammo[weaponinfo[plyr->readyweapon].ammo] == -100) // dir = 1; // tic++; // } w_ready.data = plyr->readyweapon; // if (*w_ready.on) // STlib_updateNum(&w_ready, true); // refresh weapon change // } // update keycard multiple widgets for (i=0;i<3;i++) { keyboxes[i] = plyr->cards[i] ? i : -1; if (plyr->cards[i+3]) keyboxes[i] = i+3; } // refresh everything if this is him coming back to life ST_updateFaceWidget(); // used by the w_armsbg widget st_notdeathmatch = !deathmatch; // used by w_arms[] widgets st_armson = st_statusbaron && !deathmatch; // used by w_frags widget st_fragson = deathmatch && st_statusbaron; st_fragscount = 0; for (i=0 ; i<MAXPLAYERS ; i++) { if (i != consoleplayer) st_fragscount += plyr->frags[i]; else st_fragscount -= plyr->frags[i]; } // get rid of chat window if up because of message if (!--st_msgcounter) st_chat = st_oldchat; }
void ST_updateWidgets(void) { static int largeammo = 1994; // means "n/a" int i; player_t *plyr = &displayplayer(); // must redirect the pointer if the ready weapon has changed. // if (w_ready.data != plyr->readyweapon) // { if (weaponinfo[plyr->readyweapon].ammo == am_noammo) w_ready.num = &largeammo; else w_ready.num = &plyr->ammo[weaponinfo[plyr->readyweapon].ammo]; //{ // static int tic=0; // static int dir=-1; // if (!(tic&15)) // plyr->ammo[weaponinfo[plyr->readyweapon].ammo]+=dir; // if (plyr->ammo[weaponinfo[plyr->readyweapon].ammo] == -100) // dir = 1; // tic++; // } w_ready.data = plyr->readyweapon; st_health = plyr->health; st_armor = plyr->armorpoints; for(i = 0; i < 4; i++) { st_ammo[i] = plyr->ammo[i]; st_maxammo[i] = plyr->maxammo[i]; } for(i = 0; i < 6; i++) { // denis - longwinded so compiler optimization doesn't skip it (fault in my gcc?) if(plyr->weaponowned[i+1]) st_weaponowned[i] = 1; else st_weaponowned[i] = 0; } st_current_ammo = plyr->ammo[weaponinfo[plyr->readyweapon].ammo]; // if (*w_ready.on) // STlib_updateNum(&w_ready, true); // refresh weapon change // } // update keycard multiple widgets for (i=0;i<3;i++) { keyboxes[i] = plyr->cards[i] ? i : -1; // [RH] show multiple keys per box, too if (plyr->cards[i+3]) keyboxes[i] = (keyboxes[i] == -1) ? i+3 : i+6; } // refresh everything if this is him coming back to life ST_updateFaceWidget(); // used by w_arms[] widgets st_armson = st_statusbaron && sv_gametype == GM_COOP; // used by w_frags widget st_fragson = sv_gametype != GM_COOP && st_statusbaron; // [Toke - CTF] if (sv_gametype == GM_CTF) st_fragscount = TEAMpoints[plyr->userinfo.team]; // denis - todo - scoring for ctf else st_fragscount = plyr->fragcount; // [RH] Just use cumulative total if (sv_gametype == GM_CTF) { switch(CTFdata[it_blueflag].state) { case flag_home: st_flagboxbluon = true; break; case flag_carried: st_flagboxbluon = false; break; case flag_dropped: CTFdata[it_blueflag].sb_tick++; if (CTFdata[it_blueflag].sb_tick == 10) CTFdata[it_blueflag].sb_tick = 0; if (CTFdata[it_blueflag].sb_tick < 8) st_flagboxbluon = false; else st_flagboxbluon = true; break; default: break; } switch(CTFdata[it_redflag].state) { case flag_home: st_flagboxredon = true; break; case flag_carried: st_flagboxredon = false; break; case flag_dropped: CTFdata[it_redflag].sb_tick++; if (CTFdata[it_redflag].sb_tick == 10) CTFdata[it_redflag].sb_tick = 0; if (CTFdata[it_redflag].sb_tick < 8) st_flagboxredon = false; else st_flagboxredon = true; break; default: break; } } // get rid of chat window if up because of message if (!--st_msgcounter) st_chat = st_oldchat; }
static void ST_updateWidgets(void) { static int largeammo = 1994; // means "n/a" int i; // must redirect the pointer if the ready weapon has changed. // if (w_ready.data != plyr->readyweapon) // { if (weaponinfo[plyr->readyweapon].ammo == AM_NOAMMO) w_ready.num = &largeammo; else w_ready.num = &plyr->ammo[weaponinfo[plyr->readyweapon].ammo]; //{ // static int tic=0; // static int dir=-1; // if (!(tic&15)) // plyr->ammo[weaponinfo[plyr->readyweapon].ammo]+=dir; // if (plyr->ammo[weaponinfo[plyr->readyweapon].ammo] == -100) // dir = 1; // tic++; // } w_ready.data = plyr->readyweapon; // if (*w_ready.on) // STlib_updateNum(&w_ready, TRUE); // refresh weapon change // } // update keycard multiple widgets for (i=0;i<3;i++) { keyboxes[i] = plyr->cards[i] ? i : -1; //jff 2/24/98 select double key //killough 2/28/98: preserve traditional keys by config option if (plyr->cards[i+3]) keyboxes[i] = keyboxes[i]==-1 || sts_traditional_keys ? i+3 : i+6; } // refresh everything if this is him coming back to life ST_updateFaceWidget(); // used by the w_armsbg widget st_notdeathmatch = !deathmatch; // used by w_arms[] widgets st_armson = st_statusbaron && !deathmatch; // used by w_frags widget st_fragson = deathmatch && st_statusbaron; st_fragscount = 0; for (i=0 ; i<MAXPLAYERS ; i++) { if (i != displayplayer) // killough 3/7/98 st_fragscount += plyr->frags[i]; else st_fragscount -= plyr->frags[i]; } // get rid of chat window if up because of message if (!--st_msgcounter) st_chat = st_oldchat; }