//-------------------------------------------------------------------------- // PopupAutoMap() //-------------------------------------------------------------------------- void PopupAutoMap() { #define BASE_X 64 #define BASE_Y 44 ThreeDRefresh(); ThreeDRefresh(); SD_StopSound(); ClearMemory(); CacheDrawPic(BASE_X,BASE_Y,AUTOMAPPIC); ShowStats(BASE_X+101,BASE_Y+22,ss_quick,&gamestuff.level[gamestate.mapon].stats); while (Keyboard[sc_back_quote]) CalcTics(); #if GAME_VERSION != SHAREWARE_VERSION && IN_DEVELOPMENT // if (DebugOk && PP_step) // PicturePause(); #endif IN_StartAck (); while (!IN_CheckAck ()) CalcTics(); CleanDrawPlayBorder(); IN_ClearKeysDown(); }
void Cmd_Cam_f(edict_t *ent) { char * name = gi.args(); // obj1 is how to tell when we've looped edict_t * obj1; edict_t * target; BlinkyClient_t * bdata; bdata = &ent->client->blinky_client; obj1 = bdata->cam_target; if (!coop->value || IsSpectator(ent)) return; if (!obj1) obj1 = ent; target = obj1; while(1) { // advance loop thru edicts // to do - this ought to cycle at maxclients instead of num_edicts if (target < &g_edicts[0]+(int)(maxclients->value)+1) target++; else target = g_edicts+1; if (target == obj1) break; // only look at (in use) players if (!target->inuse || !target->client || IsSpectator(target)) continue; // if a specific name requested & doesn't match, skip if (name[0] && Q_stricmp(name, target->client->pers.netname)) continue; // found cam target if (target == ent) { StopCam(ent); } else { StartCam(ent, target); ShowStats(ent, target); } break; } }
void LoadLastPlaylist(HWND hwnd) { char playlist[MAX_PATH]; GetPrivateProfileString("Playlist","LastPlaylist","",playlist,MAX_PATH,szINIFileName); if (lstrcmpi(playlist,"")) { OpenProgress(hwnd,PDT_SINGLE,"Playlist loading"); LoadPlaylist(hwnd,playlist); CloseProgress(); curNode=GetNodeByIndex((int)GetPrivateProfileInt("Playlist","LastNode",0,szINIFileName)); if (curNode==NULL) curNode=list_start; ShowStats(); } }
//--------------------------------------------------------------------------------- // Purpose: Process a players death //--------------------------------------------------------------------------------- void ManiVictimStats::DODSPlayerDeath ( player_t *victim_ptr, player_t *attacker_ptr, bool attacker_exists, int weapon ) { int victim_index; int attacker_index; victim_index = victim_ptr->index - 1; if (weapon == -1) return; if (attacker_ptr->user_id <= 0) { // World attacked player (i.e. fell too far) Q_strcpy(damage_list[victim_index][victim_index].name, victim_ptr->name); } else { if (!attacker_exists) { return; } int mapped_weapon = map_dod_weapons[weapon]; if (mapped_weapon == -1) return; Vector v = attacker_ptr->player_info->GetAbsOrigin() - victim_ptr->player_info->GetAbsOrigin(); // Update attackers matrix attacker_index = attacker_ptr->index - 1; damage_list[attacker_index][victim_index].killed = true; Q_strcpy(damage_list[attacker_index][victim_index].name, victim_ptr->name); Q_strcpy(damage_list[attacker_index][victim_index].weapon_name, dod_weapons_nice[mapped_weapon]); damage_list[attacker_index][victim_index].distance = v.Length() * 0.025; } // Show dead players stats ShowStats(victim_ptr, attacker_ptr); }
void Cmd_Stats_f(edict_t *ent) { char * name = gi.args(); edict_t * player; for (player = &g_edicts[0]+1; player< &g_edicts[0]+(int)(maxclients->value)+1; player++) { if (!player->inuse || !player->client || player->client->pers.spectator) continue; // if (player == ent) // continue; // if a specific name requested & doesn't match, skip if (name[0]) { if (Q_stricmp(name, player->client->pers.netname)) continue; } ShowStats(ent, player); } }
//--------------------------------------------------------------------------------- // Purpose: Process a players death //--------------------------------------------------------------------------------- void ManiVictimStats::PlayerDeath ( player_t *victim_ptr, player_t *attacker_ptr, bool attacker_exists, bool headshot, char *weapon_name ) { int victim_index; int attacker_index; victim_index = victim_ptr->index - 1; if (attacker_ptr->user_id <= 0) { // World attacked player (i.e. fell too far) Q_strcpy(damage_list[victim_index][victim_index].name, victim_ptr->name); } else { if (!attacker_exists) { return; } Vector v = attacker_ptr->player_info->GetAbsOrigin() - victim_ptr->player_info->GetAbsOrigin(); // Update attackers matrix attacker_index = attacker_ptr->index - 1; damage_list[attacker_index][victim_index].killed = true; damage_list[attacker_index][victim_index].headshot = headshot; Q_strcpy(damage_list[attacker_index][victim_index].name, victim_ptr->name); Q_strcpy(damage_list[attacker_index][victim_index].weapon_name, weapon_name); damage_list[attacker_index][victim_index].distance = v.Length() * 0.025; } // Show dead players stats ShowStats(victim_ptr, attacker_ptr); }
int main(int argc, char *argv[]) { ConfigMap cmap; if (ParseCmdLine(argc, argv, cmap) != OK) { exit(0); } auto queue = makeQueue<Process>(); uint64_t seconds = Utils::getTimeStamp(); uint64_t stopTS = Utils::getTimeStamp() + (boost::get<uint64_t>(cmap["sim_time"]) * MILLISECONS_IN_A_SECOND); auto t1 = Utils::Time(); auto algorithm = bindSimulator(getAlgorithmByString(boost::get<std::string>(cmap["algorithm"]))); auto pg = ProcessGenerator::createGenerator(queue); std::this_thread::sleep_for(std::chrono::seconds(1)); algorithm.Simulate(queue); while (seconds <= stopTS) { seconds = Utils::getTimeStamp(); } algorithm.Stop(); pg->Stop(); auto t2 = Utils::Time(); ShowStats(algorithm.getStats(), boost::get<std::string>(cmap["algorithm"])); std::cout << "Executing stuff for " << Utils::Diff(t1, t2) / MICROSECONS_IN_A_SECOND << " seconds" << std::endl; return 0; }
//--------------------------------------------------------------------------------- // Purpose: Check all players on round start //--------------------------------------------------------------------------------- void ManiVictimStats::RoundEnd(void) { if (mani_show_victim_stats.GetInt() == 1 && !war_mode) { player_t victim; for (int i = 1; i <= max_players; i++) { victim.index = i; if (damage_list[i - 1][i - 1].shown_stats) { continue; } if (!FindPlayerByIndex(&victim)) { continue; } ShowStats(&victim, NULL); } } }
void CheckHighScore (long score,word other) { word i,j; int n; HighScore myscore; US_CursorStruct TermCursor = {'@',0,HIGHLIGHT_TEXT_COLOR,2}; // Check for cheaters if (DebugOk) { SD_PlaySound(NOWAYSND); return; } strcpy(myscore.name,""); myscore.score = score; myscore.episode = gamestate.episode; myscore.completed = other; myscore.ratio = ShowStats(0,0,ss_justcalc,&gamestuff.level[gamestate.mapon].stats); for (i = 0,n = -1;i < MaxScores;i++) { if ((myscore.score > Scores[i].score) || ((myscore.score == Scores[i].score) && (myscore.completed > Scores[i].completed))) { for (j = MaxScores;--j > i;) Scores[j] = Scores[j - 1]; Scores[i] = myscore; n = i; break; } } StartCPMusic (ROSTER_MUS); DrawHighScores (); VW_FadeIn (); if (n != -1) { // // got a high score // DrawInstructions(IT_ENTER_HIGHSCORE); SETFONTCOLOR(HIGHLIGHT_TEXT_COLOR,TERM_BACK_COLOR); PrintY = 68+(SCORE_Y_SPACING * n); PrintX = 45; use_custom_cursor = true; allcaps = true; US_CustomCursor = TermCursor; US_LineInput(PrintX,PrintY,Scores[n].name,nil,true,MaxHighName,100); } else { IN_ClearKeysDown (); IN_UserInput(500); } StopMusic(); use_custom_cursor = false; }