	1 * 1	01 04 02 08
	// Empty
	1 images/vehicles.pcx  116   54  01   19  23  -14  -8  // 042D x, mining truck new N
	1 images/vehicles.pcx   21   54  01   19  23   -7  -8  // 042E y, mining truck new N
	1 images/vehicles.pcx   52   54  01   18  23  -13  -7  // 042F x, mining truck new S
	1 images/vehicles.pcx   84   54  01   18  23   -8  -7  // 0430 y, mining truck new S

	1 images/vehicles.pcx  245   54  01   18  24  -15  -7  // 0431 x, mining truck old N
	1 images/vehicles.pcx  151   54  01   18  24   -7  -7  // 0432 y, mining truck old N
	1 images/vehicles.pcx  183   54  01   18  22  -12  -7  // 0433 x, mining truck old S
	1 images/vehicles.pcx  214   54  01   18  22   -8  -7  // 0434 y, mining truck old S

	// Full
	1 images/vehicles.pcx  116   79  01   19  23  -14  -8  // 042D x, mining truck new N
	1 images/vehicles.pcx   21   79  01   19  23   -7  -8  // 042E y, mining truck new N
	1 images/vehicles.pcx   52   79  01   18  23  -13  -7  // 042F x, mining truck new S
	1 images/vehicles.pcx   84   79  01   18  23   -8  -7  // 0430 y, mining truck new S

	1 images/vehicles.pcx  245   79  01   18  24  -15  -7  // 0431 x, mining truck old N
	1 images/vehicles.pcx  151   79  01   18  24   -7  -7  // 0432 y, mining truck old N
	1 images/vehicles.pcx  183   79  01   18  22  -12  -7  // 0433 x, mining truck old S
	1 images/vehicles.pcx  214   79  01   18  22   -8  -7  // 0434 y, mining truck old S

	1 * 1	02 04 10 // ID
		05 01
		\w0 \w1 \w1 \w1 \w1
		\w1

	1 * 1	02 04 11 // ID
		05 01
		\w0 \w0 \w1 \w1 \w1
		\w1

	1 * 1	02 04 12 // ID
		05 01
		\w0 \w0 \w0 \w1 \w1
		\w1

	1 * 1	02 04 13 // ID
		05 01
		\w0 \w0 \w0 \w0 \w1
		\w1

	1 * 1	02 04 00 // ID
		80
		00 // no more cargo (triggered by random in graphics chain)
		12 // use bits 18 and 19
		04
		\wx0010
		\wx0011
		\wx0012
		\wx0013

	1 * 1	02 04 01 // ID
		00 01
		\w0


	1 * 1	00 04 0A 01 MINE_TRUCK
		08 "ISRR"

		// Sprite layout
		1A 02
			// 00 (x)
			42
			\dx00000F8D \wx0002 // ground sprite
			10 // register
			\dx8000042D \wx0040 // ground overlay sprite (child)
			00 00 80 // x/y/z offset
			04 // value for variable 10
			\dx8000842D \wx0006 // mineral truck
			03 05 00 // x/y/z offset
			08 05 0B // x/y/z extent
			05 12 // registers

			// 01 (y)
			42
			\dx00000F8D \wx0002 // ground sprite
			10 // register
			\dx8000042D \wx0040 // ground overlay sprite (child)
			00 00 80 // x/y/z offset
			04 // value for variable 10
			\dx8000842E \wx0006 // mineral truck
			05 03 00 // x/y/z offset
			05 08 0B // x/y/z extent
			05 12 // registers

		0B 03 // use callback to determine date availability (1) and layout (2)

		// Only allow a 1 x 1 layout
		0C FE
		0D FE

		10 \w400 // little/lots threshold

		12 \dx03C04102 // cargo types for randomisation triggers

		// Wire and pylon placement
		11 00 // no pylons
		14 FF // no wires

		15 FF // prevent trains entering the tile from any direction


	// Test variable 10 for real sprites
	1 * 1	02 04 1B // ID
		81 10 // additional information for sprite selection
		00 0F
		01
		\wx00FF 04 04 // ground overlay sprites
		\wx0000 // mineral truck sprites

	// No suitable cargo
	// Test variable 10 for real sprites
	1 * 1	02 04 1A // ID
		81 10 // additional information for sprite selection
		00 0F
		01
		\wx00FF 04 04 // ground overlay sprites
		\wx0001 // mineral truck sprites - empty

	// Random offset for truck variety
	1 * 1	02 04 08 // ID
		80
		00 // don't re-randomise
		10 // use bit 16
		02
		\wx8000
		\wx8002

	// Sprite offset for early trucks
	1 * 1	02 04 07 // ID
		85 FA // date station was built
		00 \wxFFFF
		01
		\wx8004 \w0 \w01/01/1990
		\wx8000

	// Sprite offset for early trucks - purchase
	1 * 1	02 04 09 // ID
		85 00 // current date
		00 \wxFFFF
		01
		\wx8004 \w0 \w01/01/1990
		\wx8000

//@@WARNING DISABLE 100
//@@WARNING DISABLE 170

	1 * 1	02 04 20 // ID
		85
		7F 10 // read parameter for recolour sprite base
		20 \wx7FFF
		\2+
		1A // all bits on
		20 \w6 // add offset of recolour sprite for coal
		\2sto 1A
		20 \wx0012 // store in register - recolour offset
		\2rst
		7E 08 // get variety offset
		20 \wx7FFF
		\2+
		7E 07 // add offset for early trucks
		20 \wx7FFF
		\2sto 1A
		20 \wx0005 // store in register - truck sprite offset
		\2rst
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx001B \w0 \w0
		\wx001B

	1 * 1	02 04 21 // ID
		85
		1A // all bits on
		20 \wx0000 // no recolour needed for iron ore
		\2sto 1A
		20 \wx0012 // store in register - recolour offset
		\2rst
		7E 08 // get variety offset
		20 \wx7FFF
		\2+
		7E 07 // add offset for early trucks
		20 \wx7FFF
		\2sto 1A
		20 \wx0005 // store in register - truck sprite offset
		\2rst
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx001B \w0 \w0
		\wx001B

	1 * 1	02 04 22 // ID
		85
		7F 10 // read parameter for recolour sprite base
		20 \wx7FFF
		\2+
		1A // all bits on
		20 \w7 // add offset of recolour sprite for copper ore
		\2sto 1A
		20 \wx0012 // store in register - recolour offset
		\2rst
		7E 08 // get variety offset
		20 \wx7FFF
		\2+
		7E 07 // add offset for early trucks
		20 \wx7FFF
		\2sto 1A
		20 \wx0005 // store in register - truck sprite offset
		\2rst
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx001B \w0 \w0
		\wx001B

	1 * 1	02 04 23 // ID
		85
		7F 10 // read parameter for recolour sprite base
		20 \wx7FFF
		\2+
		1A // all bits on
		20 \w8 // add offset of recolour sprite for clay
		\2sto 1A
		20 \wx0012 // store in register - recolour offset
		\2rst
		7E 08 // get variety offset
		20 \wx7FFF
		\2+
		7E 07 // add offset for early trucks
		20 \wx7FFF
		\2sto 1A
		20 \wx0005 // store in register - truck sprite offset
		\2rst
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx001B \w0 \w0
		\wx001B

	1 * 1	02 04 24 // ID
		85
		7F 10 // read parameter for recolour sprite base
		20 \wx7FFF
		\2+
		1A // all bits on
		20 \w9 // add offset of recolour sprite for gravel
		\2sto 1A
		20 \wx0012 // store in register - recolour offset
		\2rst
		7E 08 // get variety offset
		20 \wx7FFF
		\2+
		7E 07 // add offset for early trucks
		20 \wx7FFF
		\2sto 1A
		20 \wx0005 // store in register - truck sprite offset
		\2rst
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx001B \w0 \w0
		\wx001B

	1 * 1	02 04 25 // ID
		85
		7F 10 // read parameter for recolour sprite base
		20 \wx7FFF
		\2+
		1A // all bits on
		20 \w10 // add offset of recolour sprite for limestone
		\2sto 1A
		20 \wx0012 // store in register - recolour offset
		\2rst
		7E 08 // get variety offset
		20 \wx7FFF
		\2+
		7E 07 // add offset for early trucks
		20 \wx7FFF
		\2sto 1A
		20 \wx0005 // store in register - truck sprite offset
		\2rst
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx001B \w0 \w0
		\wx001B

	1 * 1	02 04 26 // ID
		85
		7F 10 // read parameter for recolour sprite base
		20 \wx7FFF
		\2+
		1A // all bits on
		20 \w11 // add offset of recolour sprite for sand
		\2sto 1A
		20 \wx0012 // store in register - recolour offset
		\2rst
		7E 08 // get variety offset
		20 \wx7FFF
		\2+
		7E 07 // add offset for early trucks
		20 \wx7FFF
		\2sto 1A
		20 \wx0005 // store in register - truck sprite offset
		\2rst
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx001B \w0 \w0
		\wx001B

	1 * 1	02 04 27 // ID
		85
		7F 10 // read parameter for recolour sprite base
		20 \wx7FFF
		\2+
		1A // all bits on
		20 \w12 // add offset of recolour sprite for bauxite
		\2sto 1A
		20 \wx0012 // store in register - recolour offset
		\2rst
		7E 08 // get variety offset
		20 \wx7FFF
		\2+
		7E 07 // add offset for early trucks
		20 \wx7FFF
		\2sto 1A
		20 \wx0005 // store in register - truck sprite offset
		\2rst
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx001B \w0 \w0
		\wx001B

	1 * 1	02 04 28 // ID
		85
		7F 10 // read parameter for recolour sprite base
		20 \wx7FFF
		\2+
		1A // all bits on
		20 \w13 // add offset of recolour sprite for nitrates
		\2sto 1A
		20 \wx0012 // store in register - recolour offset
		\2rst
		7E 08 // get variety offset
		20 \wx7FFF
		\2+
		7E 07 // add offset for early trucks
		20 \wx7FFF
		\2sto 1A
		20 \wx0005 // store in register - truck sprite offset
		\2rst
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx001B \w0 \w0
		\wx001B

	// Purchase
	1 * 1	02 04 2E // ID
		85
		7F 10 // read parameter for recolour sprite base
		20 \wx7FFF
		\2+
		1A // all bits on
		20 \w6 // add offset of recolour sprite for coal
		\2sto 1A
		20 \wx0012 // store in register - recolour offset
		\2rst
		7E 09 // get offset for early trucks
		20 \wx7FFF
		\2sto 1A
		20 \wx0005 // store in register - truck sprite offset
		\2rst
		1A // all bits on
		20 \wx0000 // val = 0
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx001B \w0 \w0
		\wx001B

	// No suitable cargo
	1 * 1	02 04 2F // ID
		85
		1A // all bits on
		20 \wx0000 // val = 0
		\2sto 1A
		20 \wx0012 // store in register - recolour offset
		\2rst
		7E 08 // get variety offset
		20 \wx7FFF
		\2+
		7E 07 // add offset for early trucks
		20 \wx7FFF
		\2sto 1A
		20 \wx0005 // store in register - truck sprite offset
		\2rst
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx001A \w0 \w0
		\wx001A

//@@WARNING ENABLE 100
//@@WARNING ENABLE 170


	// Check for availability
	1 * 1	02 04 0C // ID
		81 01
		00 FF
		01 // Number of values to check for
		\wx8000 00 \b1960 // do not allow build before 1960
		\wx8001


	1 * 1	02 04 10 // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx0020 // real sprites - coal

	1 * 1	02 04 11 // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx0021 // real sprites - iron ore

	1 * 1	02 04 12 // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx0022 // real sprites - copper ore

	1 * 1	02 04 13 // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx0023 // real sprites - clay

	1 * 1	02 04 14 // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx0024 // real sprites - gravel

	1 * 1	02 04 15 // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx0025 // real sprites - limestone

	1 * 1	02 04 16 // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx0026 // real sprites - sand

	1 * 1	02 04 17 // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx0027 // real sprites - bauxite

	1 * 1	02 04 18 // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx0028 // real sprites - nitrates

	// For purchase list
	1 * 1	02 04 1E // ID
		81 0C // callback
		00 FF
		02
		\wx000C 13 13 // date availability
		\wx8000 14 14 // sprite layout
		\wx002E // real sprites - show coal

//@@WARNING DISABLE 113

	// Random action 2 outside callback triggers re-randomisation
	1 * 1	02 04 07 // ID
		80
		02 // no more cargo
		12 // trigger bits 18 and 19
		04
		\wx002F
		\wx002F
		\wx002F
		\wx002F

//@@WARNING ENABLE 113

	// For no suitable cargo
	1 * 1	02 04 1F // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx0007 // real sprites - empty

	1 * 1	03 04
		01 MINE_TRUCK
		0A
		01 \wx0010 // coal
		08 \wx0011 // iron ore
		0E \wx0012 // copper ore
		16 \wx0013 // clay
		17 \wx0014 // gravel
		18 \wx0015 // limestone
		19 \wx0016 // sand
		28 \wx0017 // bauxite
		3A \wx0018 // nitrates
		FF \wx001E // purchase
		\wx001F // no suitable cargo


	1 * 1	00 04 0A 01 MIN_BULLDOZER
		08 "ISRR"

		// Sprite layout
		1A 02
			// 00 (x)
			42
			\dx00000F8D \wx0002 // ground sprite
			10 // register
			\dx8000042D \wx0040 // ground overlay sprite (child)
			00 00 80 // x/y/z offset
			04 // value for variable 10
			\dx8000842D \wx0006 // bulldozer
			00 00 00 // x/y/z offset
			10 10 10 // x/y/z extent
			05 12 // registers

			// 01 (y)
			42
			\dx00000F8D \wx0002 // ground sprite
			10 // register
			\dx8000042D \wx0040 // ground overlay sprite (child)
			00 00 80 // x/y/z offset
			04 // value for variable 10
			\dx8000842E \wx0006 // bulldozer
			00 00 00 // x/y/z offset
			10 10 10 // x/y/z extent
			05 12 // registers


		0B 03 // use callback to determine date availability (1) and layout (2)

		// Only allow a 1 x 1 layout
		0C FE
		0D FE

		10 \w600 // little/lots threshold

		12 \dx03C04102 // cargo types for randomisation triggers

		// Wire and pylon placement
		11 00 // no pylons
		14 FF // no wires

		15 FF // prevent trains entering the tile from any direction


	1 * 1	01 04 04 04
	// Empty
	1 images/vehicles.pcx   21  235 01  13  19  -8   0 // 042D x, type 1
	1 images/vehicles.pcx   44  235 01  13  17  -5  14 // 042E y, type 1
	1 images/vehicles.pcx   21  267 01  14  17   5   6 // 042F x, type 2
	1 images/vehicles.pcx   44  267 01  13  19   7   7 // 0430 y, type 2
	// Level 1
	1 images/vehicles.pcx   69  235 01  21  49 -27   0 // 042D x, type 1
	1 images/vehicles.pcx  124  235 01  23  42 -16   4 // 042E y, type 1
	1 images/vehicles.pcx   69  267 01  25  32 -10   1 // 042F x, type 2
	1 images/vehicles.pcx  107  267 01  18  32  -6   7 // 0430 y, type 2
	// Level 2
	1 images/vehicles.pcx  172  235 01  21  50 -27   0 // 042D x, type 1
	1 images/vehicles.pcx  227  235 01  26  46 -20   1 // 042E y, type 1
	1 images/vehicles.pcx  145  267 01  31  36 -14  -4 // 042F x, type 2
	1 images/vehicles.pcx  187  267 01  26  35  -9   1 // 0430 y, type 2
	// Level 3
	1 images/vehicles.pcx  279  235 01  27  52 -27   0 // 042D x, type 1
	1 images/vehicles.pcx  337  235 01  28  46 -20  -1 // 042E y, type 1
	1 images/vehicles.pcx  228  267 01  31  48 -26  -4 // 042F x, type 2
	1 images/vehicles.pcx  282  267 01  29  38 -12  -2 // 0430 y, type 2

	1 * 1	02 04 10 // ID
		0E 01
		\w0 \w1 \w1 \w1 \w1 \w1 \w2 \w2 \w2 \w2 \w2 \w3 \w3 \w3
		\w3

	1 * 1	02 04 11 // ID
		0E 01
		\w0 \w0 \w1 \w1 \w1 \w1 \w1 \w2 \w2 \w2 \w2 \w2 \w3 \w3
		\w3

	1 * 1	02 04 12 // ID
		0E 01
		\w0 \w0 \w0 \w1 \w1 \w1 \w1 \w1 \w2 \w2 \w2 \w2 \w2 \w3
		\w3

	1 * 1	02 04 13 // ID
		0E 01
		\w0 \w0 \w0 \w0 \w1 \w1 \w1 \w1 \w1 \w2 \w2 \w2 \w2 \w2
		\w3

	1 * 1	02 04 00 // ID
		80
		00 // no more cargo (triggered by random in graphics chain)
		12 // use bits 18 and 19
		04
		\wx0010
		\wx0011
		\wx0012
		\wx0013

	1 * 1	02 04 04 // ID
		00 01
		\w0


	// Test variable 10 for real sprites
	1 * 1	02 04 1B // ID
		81 10 // additional information for sprite selection
		00 0F
		01
		\wx00FF 04 04 // ground overlay sprites
		\wx0000 // bulldozer sprites

	// No suitable cargo
	// Test variable 10 for real sprites
	1 * 1	02 04 1A // ID
		81 10 // additional information for sprite selection
		00 0F
		01
		\wx00FF 04 04 // ground overlay sprites
		\wx0004 // bulldozer sprites - empty

	// Random offset for bulldozer variety
	1 * 1	02 04 08 // ID
		80
		00 // don't re-randomise
		10 // use bit 16
		02
		00 80
		02 80

//@@WARNING DISABLE 100
//@@WARNING DISABLE 170

	1 * 1	02 04 20 // ID
		85
		7F 10 // read parameter for recolour sprite base
		20 \wx7FFF
		\2+
		1A // all bits on
		20 \w6 // add offset of recolour sprite for coal
		\2sto 1A
		20 \wx0012 // store in register - recolour offset
		\2rst
		7E 08 // get variety offset
		20 \wx7FFF
		\2sto 1A
		20 \wx0005 // store in register - bulldozer sprite offset
		\2rst
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx001B \w0 \w0
		\wx001B

	1 * 1	02 04 21 // ID
		85
		1A // all bits on
		20 \wx0000 // no recolour needed for iron ore
		\2sto 1A
		20 \wx0012 // store in register - recolour offset
		\2rst
		7E 08 // get variety offset
		20 \wx7FFF
		\2sto 1A
		20 \wx0005 // store in register - bulldozer sprite offset
		\2rst
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx001B \w0 \w0
		\wx001B

	1 * 1	02 04 22 // ID
		85
		7F 10 // read parameter for recolour sprite base
		20 \wx7FFF
		\2+
		1A // all bits on
		20 \w7 // add offset of recolour sprite for copper ore
		\2sto 1A
		20 \wx0012 // store in register - recolour offset
		\2rst
		7E 08 // get variety offset
		20 \wx7FFF
		\2sto 1A
		20 \wx0005 // store in register - bulldozer sprite offset
		\2rst
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx001B \w0 \w0
		\wx001B

	1 * 1	02 04 23 // ID
		85
		7F 10 // read parameter for recolour sprite base
		20 \wx7FFF
		\2+
		1A // all bits on
		20 \w8 // add offset of recolour sprite for clay
		\2sto 1A
		20 \wx0012 // store in register - recolour offset
		\2rst
		7E 08 // get variety offset
		20 \wx7FFF
		\2sto 1A
		20 \wx0005 // store in register - bulldozer sprite offset
		\2rst
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx001B \w0 \w0
		\wx001B

	1 * 1	02 04 24 // ID
		85
		7F 10 // read parameter for recolour sprite base
		20 \wx7FFF
		\2+
		1A // all bits on
		20 \w9 // add offset of recolour sprite for gravel
		\2sto 1A
		20 \wx0012 // store in register - recolour offset
		\2rst
		7E 08 // get variety offset
		20 \wx7FFF
		\2sto 1A
		20 \wx0005 // store in register - bulldozer sprite offset
		\2rst
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx001B \w0 \w0
		\wx001B

	1 * 1	02 04 25 // ID
		85
		7F 10 // read parameter for recolour sprite base
		20 \wx7FFF
		\2+
		1A // all bits on
		20 \w10 // add offset of recolour sprite for limestone
		\2sto 1A
		20 \wx0012 // store in register - recolour offset
		\2rst
		7E 08 // get variety offset
		20 \wx7FFF
		\2sto 1A
		20 \wx0005 // store in register - bulldozer sprite offset
		\2rst
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx001B \w0 \w0
		\wx001B

	1 * 1	02 04 26 // ID
		85
		7F 10 // read parameter for recolour sprite base
		20 \wx7FFF
		\2+
		1A // all bits on
		20 \w11 // add offset of recolour sprite for sand
		\2sto 1A
		20 \wx0012 // store in register - recolour offset
		\2rst
		7E 08 // get variety offset
		20 \wx7FFF
		\2sto 1A
		20 \wx0005 // store in register - bulldozer sprite offset
		\2rst
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx001B \w0 \w0
		\wx001B

	1 * 1	02 04 27 // ID
		85
		7F 10 // read parameter for recolour sprite base
		20 \wx7FFF
		\2+
		1A // all bits on
		20 \w12 // add offset of recolour sprite for bauxite
		\2sto 1A
		20 \wx0012 // store in register - recolour offset
		\2rst
		7E 08 // get variety offset
		20 \wx7FFF
		\2sto 1A
		20 \wx0005 // store in register - bulldozer sprite offset
		\2rst
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx001B \w0 \w0
		\wx001B

	1 * 1	02 04 28 // ID
		85
		7F 10 // read parameter for recolour sprite base
		20 \wx7FFF
		\2+
		1A // all bits on
		20 \w13 // add offset of recolour sprite for nitrates
		\2sto 1A
		20 \wx0012 // store in register - recolour offset
		\2rst
		7E 08 // get variety offset
		20 \wx7FFF
		\2sto 1A
		20 \wx0005 // store in register - bulldozer sprite offset
		\2rst
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx001B \w0 \w0
		\wx001B

	// Purchase
	1 * 1	02 04 2E // ID
		85
		7F 10 // read parameter for recolour sprite base
		20 \wx7FFF
		\2+
		1A // all bits on
		20 \w6 // add offset of recolour sprite for coal
		\2sto 1A
		20 \wx0012 // store in register - recolour offset
		\2rst
		1A // all bits on
		20 \wx0000 // val = 0
		\2sto 1A
		20 \wx0005 // store in register - bulldozer sprite offset
		\2rst
		1A // all bits on
		20 \wx0000 // val = 0
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx001B \w0 \w0
		\wx001B

	// No suitable cargo
	1 * 1	02 04 2F // ID
		85
		1A // all bits on
		20 \wx0000 // val = 0
		\2sto 1A
		20 \wx0012 // store in register - recolour offset
		\2rst
		7E 08 // get variety offset
		20 \wx7FFF
		\2sto 1A
		20 \wx0005 // store in register - bulldozer sprite offset
		\2rst
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx001A \w0 \w0
		\wx001A

//@@WARNING ENABLE 100
//@@WARNING ENABLE 170


	// Check for availability
	1 * 1	02 04 0C // ID
		81 01
		00 FF
		01
		\wx8000 00 \b1930 // do not allow build before 1930
		\wx8001


	1 * 1	02 04 10 // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx0020 // real sprites - coal

	1 * 1	02 04 11 // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx0021 // real sprites - iron ore

	1 * 1	02 04 12 // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx0022 // real sprites - copper ore

	1 * 1	02 04 13 // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx0023 // real sprites - clay

	1 * 1	02 04 14 // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx0024 // real sprites - gravel

	1 * 1	02 04 15 // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx0025 // real sprites - limestone

	1 * 1	02 04 16 // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx0026 // real sprites - sand

	1 * 1	02 04 17 // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx0027 // real sprites - bauxite

	1 * 1	02 04 18 // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx0028 // real sprites - nitrates

	// Purchase
	1 * 1	02 04 1E // ID
		81 0C // callback
		00 FF
		02
		\wx000C 13 13 // date availability
		\wx8000 14 14 // sprite layout
		\wx002E // real sprites - show coal

//@@WARNING DISABLE 113

	// Random action 2 outside callback triggers re-randomisation
	1 * 1	02 04 07 // ID
		80
		02 // no more cargo
		12 // trigger bits 18 and 19
		04
		\wx002F
		\wx002F
		\wx002F
		\wx002F

//@@WARNING ENABLE 113

	// No suitable cargo
	1 * 1	02 04 1F // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx0007 // real sprites - empty

	1 * 1	03 04
		01 MIN_BULLDOZER
		0A
		01 \wx0010 // coal
		08 \wx0011 // iron ore
		0E \wx0012 // copper ore
		16 \wx0013 // clay
		17 \wx0014 // gravel
		18 \wx0015 // limestone
		19 \wx0016 // sand
		28 \wx0017 // bauxite
		3A \wx0018 // nitrates
		FF \wx001E // purchase
		\wx001F // no suitable cargo

