// Setting initialization void G_loadMatchGame(void) { unsigned int i, dwBlueOffset, dwRedOffset; unsigned int aRandomValues[MAX_REINFSEEDS]; char strReinfSeeds[MAX_STRING_CHARS]; G_Printf("Setting MOTD...\n"); trap_SetConfigstring(CS_CUSTMOTD + 0, server_motd0.string); trap_SetConfigstring(CS_CUSTMOTD + 1, server_motd1.string); trap_SetConfigstring(CS_CUSTMOTD + 2, server_motd2.string); trap_SetConfigstring(CS_CUSTMOTD + 3, server_motd3.string); trap_SetConfigstring(CS_CUSTMOTD + 4, server_motd4.string); trap_SetConfigstring(CS_CUSTMOTD + 5, server_motd5.string); // Voting flags G_voteFlags(); // Set up the random reinforcement seeds for both teams and send to clients dwBlueOffset = rand() % MAX_REINFSEEDS; dwRedOffset = rand() % MAX_REINFSEEDS; strcpy(strReinfSeeds, va("%d %d", (dwBlueOffset << REINF_BLUEDELT) + (rand() % (1 << REINF_BLUEDELT)), (dwRedOffset << REINF_REDDELT) + (rand() % (1 << REINF_REDDELT)))); for (i = 0; i < MAX_REINFSEEDS; i++) { aRandomValues[i] = (rand() % REINF_RANGE) * aReinfSeeds[i]; strcat(strReinfSeeds, va(" %d", aRandomValues[i])); } level.dwBlueReinfOffset = 1000 * aRandomValues[dwBlueOffset] / aReinfSeeds[dwBlueOffset]; level.dwRedReinfOffset = 1000 * aRandomValues[dwRedOffset] / aReinfSeeds[dwRedOffset]; trap_SetConfigstring(CS_REINFSEEDS, strReinfSeeds); }
// Setting initialization void G_loadMatchGame(void) { unsigned int i, dwBlueOffset, dwRedOffset; unsigned int aRandomValues[MAX_REINFSEEDS]; char strReinfSeeds[MAX_STRING_CHARS]; if (server_autoconfig.integer > 0 && (!(z_serverflags.integer & ZSF_COMP) || level.newSession)) { G_configSet(g_gametype.integer, (server_autoconfig.integer == 1)); trap_Cvar_Set("z_serverflags", va("%d", z_serverflags.integer | ZSF_COMP)); } G_Printf("Setting MOTD...\n"); trap_SetConfigstring(CS_CUSTMOTD + 0, server_motd0.string); trap_SetConfigstring(CS_CUSTMOTD + 1, server_motd1.string); trap_SetConfigstring(CS_CUSTMOTD + 2, server_motd2.string); trap_SetConfigstring(CS_CUSTMOTD + 3, server_motd3.string); trap_SetConfigstring(CS_CUSTMOTD + 4, server_motd4.string); trap_SetConfigstring(CS_CUSTMOTD + 5, server_motd5.string); // Voting flags G_voteFlags(); // Set version info for demoplayback compatibility // trap_SetConfigstring(CS_OSPVERSION, va("%s", G_BASEVERSION)); // Add more tokens as needed // Set up the random reinforcement seeds for both teams and send to clients dwBlueOffset = rand() % MAX_REINFSEEDS; dwRedOffset = rand() % MAX_REINFSEEDS; strcpy(strReinfSeeds, va("%d %d", (dwBlueOffset << REINF_BLUEDELT) + (rand() % (1 << REINF_BLUEDELT)), (dwRedOffset << REINF_REDDELT) + (rand() % (1 << REINF_REDDELT)))); for (i = 0; i < MAX_REINFSEEDS; i++) { aRandomValues[i] = (rand() % REINF_RANGE) * aReinfSeeds[i]; strcat(strReinfSeeds, va(" %d", aRandomValues[i])); } level.dwBlueReinfOffset = 1000 * aRandomValues[dwBlueOffset] / aReinfSeeds[dwBlueOffset]; level.dwRedReinfOffset = 1000 * aRandomValues[dwRedOffset] / aReinfSeeds[dwRedOffset]; trap_SetConfigstring(CS_REINFSEEDS, strReinfSeeds); }