GSC File Creation Options by Namdekan - sets a few particulars about your map that aren’t set in the map file itself.
The GSC file sets a few particulars about your map that aren’t set in the map file itself. It should be written in notepad or another program that does not include formatting, whether hidden or otherwise. The gsc file should be a plain text file. Each line will be detailed below to include some, if not all of the available options included with the ‘out of the box’ game. There are other options that can be included, but are most are not required for standard custom made maps. This is what your basic GSC file contains.
main()
{
setCullFog (0, 8000, 0.8, 0.8, 0.8, 0);
ambientPlay("ambient_mp_railyard");
mapsmp\_load::main();
game["allies"] = "russian";
game["axis"] = "german";
game["russian_soldiertype"] = "veteran";
game["russian_soldiervariation"] = "winter";
game["german_soldiertype"] = "wehrmacht";
game["german_soldiervariation"] = "winter";
game["attackers"] = "allies";
game["defenders"] = "axis";
game["layoutimage"] = "mp_railyard";
}
The breakdown…
The
setCullFog line defines the color and amount of fog in your map. The format is as follows:
setCullFog (near distance, far distance, Red, Green, Blue, transition time)
- Near distance - units from the player before the fog is drawn
- Far distance - units from the player the fog culls out geometry
- Red, Green, Blue - RGB value for fog color, on a scale of 0 to 1 (see inset below)
- Transition time – roughly equivalent to the overall density of the fog.
A simple means of obtaining the scale of 1 conversion for RGB colors is to use the entity color chooser (‘K’ in Radiant) or another graphics program to identify the RGB values for the color of your choice. Once you have these values, divide the value for the corresponding field by 255. For example, in the following, we want a brown tinted fog to simulate a sand storm.
We see on the right side that our values are Red: 126, Green: 101, and Blue: 1. So we do our math, dividing each number by 255. For simplicity, I round to the nearest hundredth (two numbers after decimal).
Red 126 / 255 = .49
Green 101 / 255 = .40 (you can drop the 0)
Blue 1 / 255 = .01 (actually .0039, but we’ll round up!)
So there you have it. Our numbers are .49, .4, .01 for a brownish colored fog.
The next line is
ambientPlay, which sets our background noise. While you can choose to include your own, there are a few options included with the game. They are:
- amb_berlin
- amb_brecourt
- amb_burnville
- amb_chateau
- amb_dam
- amb_factory
- amb_harbor
- amb_night
- amb_ocean
- amb_pegasusnight
- amb_powcamp
- amb_sewer
- amb_ship
- amb_snowy
- amb_stalingrad
- amb_training
You can find these sounds in the pak2.pk3 (berlin) and pak3.pk3 (all others) files, if you would like to sample them prior to use. They are under the sounds/ambient folder. You will also notice that many have interior (int) and exterior (ext) sounds. These are played dependant of the player location.
The next line is
mapsmp\_load::main(); This line should be included for any map that has fire or explosion effects. That’s about all I know about this one.
Then we come to the section that defines who is playing in team maps. There are two teams. One will be Allies, and one will be Axis. The Allies can be either American, British, or Russian. Use on of the following syntaxes to designate the team:
game["allies"] = "american";
game["allies"] = "british";
game["allies"] = "russian";
The Axis is always German and is set like so:
game["axis"] = "german";
Next is the soldiertype and soldiervariation assignments. Basicly, this only assigns what uniforms or skin your teams will wear. The skins are as follows:
game["american_soldiertype"] = "airborne";
game["american_soldiervariation"] = "normal";
game["american_soldiertype"] = "airborne";
game["american_soldiervariation"] = "winter";
game["british_soldiertype"] = "airborne";
game["british_soldiervariation"] = "normal";
game["british_soldiertype"] = "commando";
game["british_soldiervariation"] = "normal";
game["british_soldiertype"] = "commando";
game["british_soldiervariation"] = "winter";
game["russian_soldiertype"] = "conscript";
game["russian_soldiervariation"] = "normal";
game["russian_soldiertype"] = "conscript";
game["russian_soldiervariation"] = "winter";
game["russian_soldiertype"] = "veteran";
game["russian_soldiervariation"] = "normal";
game["russian_soldiertype"] = "veteran";
game["russian_soldiervariation"] = "winter";
game["german_soldiertype"] = "waffen";
game["german_soldiervariation"] = "normal";
game["german_soldiertype"] = "waffen";
game["german_soldiervariation"] = "winter";
game["german_soldiertype"] = "fallschirmjagercamo";
game["german_soldiervariation"] = "normal";
game["german_soldiertype"] = "wehrmacht";
game["german_soldiervariation"] = "normal";
game["german_soldiertype"] = "wehrmacht";
game["german_soldiervariation"] = "winter";
game["german_soldiertype"] = "kriegsmarine";
game["german_soldiervariation"] = "normal";
The final two lines set who is the attacker, and who is the defender. They seem to always be the same and appear like so in all gsc’s included with the stock game.
game["attackers"] = "allies";
game["defenders"] = "axis";
So there you have it. A basic run down of all options for the "basic gcs file". If there is anything I left out, misquoted, or misinterpreted, please feel free to shoot me an email at
namdekan@classicnet.net and I will edit, correct, add or subtract any information as required.