/** * @brief Activates the map render screen (ca_active) * @sa SCR_EndLoadingPlaque * @sa G_ClientBegin * @note EV_START */ void CL_StartGame (const eventRegister_t* self, dbuffer* msg) { const int isTeamPlay = NET_ReadByte(msg); /* init camera position and angles */ OBJZERO(cl.cam); VectorSet(cl.cam.angles, 60.0, 60.0, 0.0); VectorSet(cl.cam.omega, 0.0, 0.0, 0.0); cl.cam.zoom = 1.25; CL_ViewCalcFieldOfViewX(); Com_Printf("Starting the game...\n"); /* make sure selActor is null (after reconnect or server change this is needed) */ CL_ActorSelect(nullptr); /* center on first actor */ cl_worldlevel->modified = true; if (cl.numTeamList) { const le_t* le = cl.teamList[0]; CL_ViewCenterAtGridPosition(le->pos); } /* activate the renderer */ CL_SetClientState(ca_active); GAME_StartBattlescape(isTeamPlay); }
/** * @sa G_ClientStartMatch * @sa EV_RESET */ void CL_Reset (const eventRegister_t *self, dbuffer *msg) { CL_ActorSelect(nullptr); cl.numTeamList = 0; /* set the active player */ NET_ReadFormat(msg, self->formatString, &cls.team, &cl.actTeam); Com_Printf("(player %i) It's team %i's turn!\n", cl.pnum, cl.actTeam); CL_CompleteRecalcRouting(); UI_ExecuteConfunc("disable_rescuezone"); if (cls.isOurRound()) UI_ExecuteConfunc("startround"); else Com_Printf("You lost the coin-toss for first-turn.\n"); }