
===========================================================================
Speedway v1.0
===========================================================================
Many things that should have been listed here:
===========================================================================


===========================================================================
Speedway v1.1
===========================================================================
Added Hexed.C and Hexed.H to the project.
	So far these files add SpeedwayCommands that handle new
	speedway binds such as "nitro" that provides a speed boost and
	check_speed that limits the max allowed speed without "nitro" to 910.
Added the GAMEVERSION to the p_hud.c HEADERMESSAGE and GAMEMODEMESSAGE.
Added else if( SpeedwayCommands (ent) ) return; to g_cmds.c ClientCommands
HiJacked ent->powerarmor_time, 
         ent->order_timestamp and 
         ent->dont_takecover_time for use as timestamps for the "nitro" bind.
Added check_speed(ent); to the p_client.c ClientThink.
Removed all reference to powerarmor_time from p_view.c G_SetClientEffects.
Fixed p_client.c ClientThink so it wouldnt make peeps visible during FREEFORALL
===========================================================================


===========================================================================
Speedway v1.2
===========================================================================
Edited the INI file to reflect new bind "nitro" and old bind "togglecam"
Reset chasecam to original setting, dont force chasecam, use "togglecam" bind
Added model values for non-teamplay and non motorcycle modes.
Removed all references to Jetpack if (g_vehicle_test->value), interferes with "togglecam"
===========================================================================


===========================================================================
Speedway v1.3
===========================================================================
Hexed, if you wanted to adjust the viewheight , it is done in...
p_view.c inside void ClientEndServerFrame (edict_t *ent)... i tagged the spot "HEXED"


Force client PITCH to be zero when respawning cuz it was getting stuck high or low.
	p_client.c inside void PutClientInServer (edict_t *ent) at the very bottom
	ent->s.angles[PITCH] = 0; // speedway v1.3
	client->ps.pmove.delta_angles[0] =0; // speedway v1.3


Added radar support:
	added radar.c and radar.h to the project.
	
	g_local.h 
		at the very bottom of g_local.h -  #include "radar.h"
		also
		int radar_active; } client_persistant_t;
		also
		#define RADAR 10 // speedway v1.3 right after #define SCORE_MAP_VOTE 9
		
	p_client.c
	        inside (at the very top of) void player_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point, int mdx_part, int mdx_subobject)
			self->client->pers.radar_active = 0; // speedway v1.3
		inside (at the very bottom of) void InitClientPersistant (gclient_t *client)
			client->pers.radar_active = 0; // speedway v1.3

	
	g_spawn.c inside void SP_worldspawn (edict_t *ent)
	     	// ----------------------------------------------------------------------------------
	     	spawn_radar(); // speedway v1.3
	     	// ----------------------------------------------------------------------------------

	hexed.c inside qboolean SpeedwayCommands (edict_t *ent)
		else if (!Q_stricmp (gi.argv(0), "radar")) { Cmd_Radar_f (ent); return true; } // speedway v1.3
		
	p_hud.c inside (at the very bottom of) void G_SetStats (edict_t *ent)
		if(ent->client->pers.radar_active && level.framenum & 1) DeathmatchScoreboard(ent); // speedway v1.3

		
		moved ADDTHESTRING from p_hud.c to radar.h so it will be global.
		
		inside void DeathmatchScoreboard (edict_t *ent)
		else if (ent->client->showscores == RADAR) Show_Radar (ent);  // speedway v1.3
		
	p_view.c at the very bottom of void ClientEndServerFrame (edict_t *ent)
		// Papa - Here is where I time MOTD  (phear the magic numbers)
		if (ent->client->showscores && !(level.framenum & 31) && ent->client->showscores != RADAR  )
===========================================================================



===========================================================================
Speedway v1.4
===========================================================================
Fixed the missing pistol, silencer was running out after 25 shots
no pistol was replacing it.

Forced client cl_forwardspeed to 160 if they try and make it higher

Fixed radar to only show track dots that are within 1500 units and no more.

Removed FlameThrower from the game , replaced with pistol.

Fix the radar going away when it aint supposed to.
	p_hud.c at the very bottom of void G_SetStats (edict_t *ent)
	if(ent->client->resp.radar_active && ent->client->showscores == 0) ent->client->showscores = RADAR; // speedway v1.4
	
Moved radar_active from pers. to resp. so it stays across respawns.	
Moved 	client->resp.checkpoint = 1;    to void InitClientResp (gclient_t *client)

Check for either info_null or path_corners to provide the track dots in radar.
With "radar" on, the DLL will scan for whichever it finds more of in the map
===========================================================================


===========================================================================
Speedway v1.5 // UPDATED INI, SERVER.CFG, PAK, MAPS, MAP_DESIGN.TXT and TEAMMAPS.TXT 
===========================================================================
removed the radar pcx files from the "pics/r" folder and placed them
directly in the "pics" folder instead to save some path string space.
So for example: pics/r/o.pcx  becomes  pics/o.pcx

Fixed the message overflow clients were getting when they joined 
p_hud.c bottom of void G_SetStats (edict_t *ent) wont show radar till ready.

Hexed showed me how to check for client file version ;-) man that shit is sweet.
I tweeked it a bit so that no autoexec.cfg is required 
and no extra RAM is used to accomplish this.

	inside hexed.c
	void set_version(edict_t *ent)          // speedway v1.5
	void read_version(edict_t *ent)         // speedway v1.5
	void Cmd_VersionCheck_f (edict_t *ent)  // speedway v1.5
	
	inside hexed.h
	char ver_check[8];      // ver_check[8] IS THE ONLY NEW RAM USED :-) // speedway v1.5
	#define KICKENT(ent,mess) {ent->message=mess;ent->deadticks=2;}      // speedway v1.5


	inside g_save.c at the bottom of void InitGame (void) // VERY COOL OLDSCHOOL ;-)
	for (i=0;i<7;i++) ver_check[i]='a'+(rand()%26); // speedway v1.5
	ver_check[i]='\0';                              // speedway v1.5
	
	
	inside p_client.c at the top of void ClientBeginServerFrame (edict_t *ent)
	if (ent->deadticks)  // speedway v1.5 from KICKENT or set_version
	{
		if(ent->deadticks == 69 || ent->deadticks == 68) ent->deadticks--;
		else if(ent->deadticks == 67) { ent->deadticks=0; read_version(ent); }
		else if (!--ent->deadticks) 
		{
			gi.bprintf(PRINT_HIGH,ent->message,ent->client->pers.netname);
			gi.AddCommandString(va("kick %i\n", (int)(ent - g_edicts - 1)));
			return;
		}
	} // speedway v1.5
	
	
	inside p_client.c inside void ClientBegin (edict_t *ent)
	if (deathmatch->value)
	{
		set_version(ent); // speedway v1.5
		ClientBeginDeathmatch (ent);
		return;
	}
	

===========================================================================


===========================================================================
Speedway v1.6
===========================================================================
Minor tweeks:
Hud shit mostly.
Added speed indicator to the hud.
Added a crash detector that can cause damage based no abrupt changes in speed.
Fixed the trigger_multiples so that the next checkpoint you touch
needs to be ONE HIGHER than the old checkpoint you touched not just "HIGHER"
like it used to be.
Other minor tweeks regarding hud message overflows and speed_check
if your dead already etc.
Increased rocket speed from 900 to 1100
Fixed death so you cant still drive around dead.
Worked hard on the TODO list items but unable to fix any of them ;-(
===========================================================================


===========================================================================
Speedway v1.7 CREATED speedway.def that contains "speedway_fire" entity.
===========================================================================
Added MOD_CRUSH obituaries.
Added MOD_FIRE obituaries.

Now when players die, they go invisible and spawn a temp entity called a
"speedway_fire" which is a new entity available in the DEF.
It looks like a dead bike on fire, exists for 10 seconds and sinks into ground
before being freed. This sort of substitutes for the lack of death animation frames.
The fire hurts if you touch it while it exists.
===========================================================================


===========================================================================
Speedway v1.8 EDITED speedway.DEF that contains "speedway_fire" entity.
===========================================================================
MOVED MOD_FIRE obituaries to MOD_FLAMETHROWER since you catch fire now when
you touch a speedway_fire.

Added flaming tire effect to the "nitro" bind, leaves a firetrail ;-)
Enabled "nitro" bind from the get go after each respawn... no delay.

Totally revamped the speedway_fire spawning.  It is done just like
a tossed weapon now, like when you toss a weapon when you die.
Hopefully this fixes any bugs from v1.7

Basically a victim should burst into flames and die in a twisted metal wreck.

Changed the motorcycle sounds from CHAN_VOICE to CHAN_SPECIAL since
the voice channel uses so many other sounds, the motorcycle was overriding them.
===========================================================================


===========================================================================
Speedway v1.9
===========================================================================
Antilag.

Lap limit applies to individual players too, not only teams.

Players spawn next to another when all spawnpoints are occupied.

Fix for broken spawn angles.

Spectators remain so after a map change.

Laps has priority over hits in scoreboard sorting.

Faster scoreboard switching.

Client PAK updated with centred bike models so that the hitbox is on the player.

Client PAK and maps moved out of server package to separate client package.
===========================================================================
