TRON Research
=============
Creator: Ben Millard
Updates: 2011-11-19
Website: http://projectcerbera.com/gta/2/tron/


Level Design
============
1) Capture the Bit (timed like Tag but stupidly easy to survive)
   http://www.youtube.com/watch?v=w_Guu_WQOhM



Bike Colours should match Player Colours
========================================

When to remap vehicle to match player colour
	p1	p2	p3	p4	p5	p6
p1bike	N	Y	Y	Y	Y	Y
p2bike	Y	N	Y	Y	Y	Y
p3bike	Y	Y	N	Y	Y	Y
p4bike	Y	Y	Y	N	Y	Y
p5bike	Y	Y	Y	Y	N	Y
p6bike	Y	Y	Y	Y	Y	N


THREAD_TRIGGER
--------------
* 5 triggers per player
* 30 triggers
* 9 lines of code added for each trigger
* 30x9=270 lines of code
* p1 code works when p1 is in game
* p1 code crashes when there is no p1
* p2 code crashes when there is no p2


IS_CHARACTER_IN_ANY_CAR + STORE_CAR
-----------------------------------
* 1 extra CAR_DATA per player
* 4 lines added to existing checking structure per player
* No conflicts with respawning vehicles!
* 4x6=24 lines of code
* 10 TIMES LESS CODE THAN THREAD_TRIGGER!
* Robust against different numbers of players!


THREAD_TRIGGER Sample Code
--------------------------
// Respray Vehicle to match Player 1 Colours
/*
FORWARD p1respray2:
THREAD_TRIGGER p1trigger2 = THREAD_WAIT_FOR_CHAR_IN_CAR (
                           p1, p2bike, p1respray2:)
p1respray2:
IF (NOT (CHECK_CAR_REMAP(p2bike, 35)) )
 CHANGE_CAR_REMAP (p2bike, 35) // Yellow
 ENABLE_THREAD_TRIGGER (p1trigger2) 
ENDIF
RETURN
//
FORWARD p1respray3:
THREAD_TRIGGER p1trigger3 = THREAD_WAIT_FOR_CHAR_IN_CAR (
                           p1, p3bike, p1respray3:)
p1respray3:
IF (NOT (CHECK_CAR_REMAP(p3bike, 35)) )
 CHANGE_CAR_REMAP (p3bike, 35) // Yellow
 ENABLE_THREAD_TRIGGER (p1trigger3) 
ENDIF
RETURN
//
FORWARD p1respray4:
THREAD_TRIGGER p1trigger4 = THREAD_WAIT_FOR_CHAR_IN_CAR (
                           p1, p4bike, p1respray4:)
p1respray4:
IF (NOT (CHECK_CAR_REMAP(p4bike, 35)) )
 CHANGE_CAR_REMAP (p4bike, 35) // Yellow
 ENABLE_THREAD_TRIGGER (p1trigger4) 
ENDIF
RETURN
//
FORWARD p1respray5:
THREAD_TRIGGER p1trigger5 = THREAD_WAIT_FOR_CHAR_IN_CAR (
                           p1, p5bike, p1respray5:)
p1respray5:
IF (NOT (CHECK_CAR_REMAP(p5bike, 35)) )
 CHANGE_CAR_REMAP (p5bike, 35) // Yellow
 ENABLE_THREAD_TRIGGER (p1trigger5) 
ENDIF
RETURN
//
FORWARD p1respray6:
THREAD_TRIGGER p1trigger6 = THREAD_WAIT_FOR_CHAR_IN_CAR (
                           p1, p6bike, p1respray6:)
p1respray6:
IF (NOT (CHECK_CAR_REMAP(p6bike, 35)) )
 CHANGE_CAR_REMAP (p6bike, 35) // Green
 ENABLE_THREAD_TRIGGER (p1trigger6) 
ENDIF
RETURN
*/

// Respray Vehicle to match Player 2 Colours
// Respray Vehicle to match Player 3 Colours
// Respray Vehicle to match Player 4 Colours
// Respray Vehicle to match Player 5 Colours
// Respray Vehicle to match Player 6 Colours
*/
