// Copper/steel platforms
	1 * 1	01 04 0D 04
	// Empty
	1 images/processedp1.pcx    3    6  01  01  01   0   0 // x, back
	1 images/processedp1.pcx    3    6  01  01  01   0   0 // x, front
	1 images/processedp1.pcx    3    6  01  01  01   0   0 // y, back
	1 images/processedp1.pcx    3    6  01  01  01   0   0 // y, front
	// Type 1 - level 1
	1 images/processedp1.pcx    3    3  01  27  40 -30  -8 // x, back
	1 images/processedp1.pcx    3   35  01  27  40 -30  -8 // x, front
	1 images/processedp1.pcx    3   67  01  27  40  -8  -8 // y, back
	1 images/processedp1.pcx    3   99  01  27  40  -8  -8 // y, front
	// Type 1 - level 2
	1 images/processedp1.pcx   48    3  01  27  40 -30  -8 // x, back
	1 images/processedp1.pcx   48   35  01  27  40 -30  -8 // x, front
	1 images/processedp1.pcx   48   67  01  27  40  -8  -8 // y, back
	1 images/processedp1.pcx   48   99  01  27  40  -8  -8 // y, front
	// Type 1 - level 3
	1 images/processedp1.pcx   93    3  01  27  40 -30  -8 // x, back
	1 images/processedp1.pcx   93   35  01  27  40 -30  -8 // x, front
	1 images/processedp1.pcx   93   67  01  27  40  -8  -8 // y, back
	1 images/processedp1.pcx   93   99  01  27  40  -8  -8 // y, front
	// Type 2 - level 1
	1 images/processedp1.pcx  138    3  01  27  40 -30  -8 // x, back
	1 images/processedp1.pcx  138   35  01  27  40 -30  -8 // x, front
	1 images/processedp1.pcx  138   67  01  27  40  -8  -8 // y, back
	1 images/processedp1.pcx  138   99  01  27  40  -8  -8 // y, front
	// Type 2 - level 2
	1 images/processedp1.pcx  183    3  01  27  40 -30  -8 // x, back
	1 images/processedp1.pcx  183   35  01  27  40 -30  -8 // x, front
	1 images/processedp1.pcx  183   67  01  27  40  -8  -8 // y, back
	1 images/processedp1.pcx  183   99  01  27  40  -8  -8 // y, front
	// Type 2 - level 3
	1 images/processedp1.pcx  228    3  01  27  40 -30  -8 // x, back
	1 images/processedp1.pcx  228   35  01  27  40 -30  -8 // x, front
	1 images/processedp1.pcx  228   67  01  27  40  -8  -8 // y, back
	1 images/processedp1.pcx  228   99  01  27  40  -8  -8 // y, front
	// Type 3 - level 1
	1 images/processedp1.pcx  273    3  01  27  40 -30  -8 // x, back
	1 images/processedp1.pcx  273   35  01  27  40 -30  -8 // x, front
	1 images/processedp1.pcx  273   67  01  27  40  -8  -8 // y, back
	1 images/processedp1.pcx  273   99  01  27  40  -8  -8 // y, front
	// Type 3 - level 2
	1 images/processedp1.pcx  318    3  01  27  40 -30  -8 // x, back
	1 images/processedp1.pcx  318   35  01  27  40 -30  -8 // x, front
	1 images/processedp1.pcx  318   67  01  27  40  -8  -8 // y, back
	1 images/processedp1.pcx  318   99  01  27  40  -8  -8 // y, front
	// Type 3 - level 3
	1 images/processedp1.pcx  363    3  01  27  40 -30  -8 // x, back
	1 images/processedp1.pcx  363   35  01  27  40 -30  -8 // x, front
	1 images/processedp1.pcx  363   67  01  27  40  -8  -8 // y, back
	1 images/processedp1.pcx  363   99  01  27  40  -8  -8 // y, front
	// Type 4 - level 1
	1 images/processedp1.pcx  408    3  01  27  40 -30  -8 // x, back
	1 images/processedp1.pcx  408   35  01  27  40 -30  -8 // x, front
	1 images/processedp1.pcx  408   67  01  27  40  -8  -8 // y, back
	1 images/processedp1.pcx  408   99  01  27  40  -8  -8 // y, front
	// Type 4 - level 2
	1 images/processedp1.pcx  453    3  01  27  40 -30  -8 // x, back
	1 images/processedp1.pcx  453   35  01  27  40 -30  -8 // x, front
	1 images/processedp1.pcx  453   67  01  27  40  -8  -8 // y, back
	1 images/processedp1.pcx  453   99  01  27  40  -8  -8 // y, front
	// Type 4 - level 3
	1 images/processedp1.pcx  498    3  01  27  40 -30  -8 // x, back
	1 images/processedp1.pcx  498   35  01  27  40 -30  -8 // x, front
	1 images/processedp1.pcx  498   67  01  27  40  -8  -8 // y, back
	1 images/processedp1.pcx  498   99  01  27  40  -8  -8 // y, front

	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 14 // ID
		0E 01
		\w0 \w4 \w4 \w4 \w4 \w4 \w5 \w5 \w5 \w5 \w5 \w6 \w6 \w6
		\w6

	1 * 1	02 04 15 // ID
		0E 01
		\w0 \w0 \w4 \w4 \w4 \w4 \w4 \w5 \w5 \w5 \w5 \w5 \w6 \w6
		\w6

	1 * 1	02 04 16 // ID
		0E 01
		\w0 \w0 \w0 \w4 \w4 \w4 \w4 \w4 \w5 \w5 \w5 \w5 \w5 \w6
		\w6

	1 * 1	02 04 17 // ID
		0E 01
		\w0 \w0 \w0 \w0 \w4 \w4 \w4 \w4 \w4 \w5 \w5 \w5 \w5 \w5
		\w6

	1 * 1	02 04 01 // ID
		80
		00 // no more cargo (triggered by random in graphics chain)
		12 // use bits 18 and 19
		04
		\wx0014
		\wx0015
		\wx0016
		\wx0017

	1 * 1	02 04 18 // ID
		0E 01
		\w0 \w7 \w7 \w7 \w7 \w7 \w8 \w8 \w8 \w8 \w8 \w9 \w9 \w9
		\w9

	1 * 1	02 04 19 // ID
		0E 01
		\w0 \w0 \w7 \w7 \w7 \w7 \w7 \w8 \w8 \w8 \w8 \w8 \w9 \w9
		\w9

	1 * 1	02 04 1A // ID
		0E 01
		\w0 \w0 \w0 \w7 \w7 \w7 \w7 \w7 \w8 \w8 \w8 \w8 \w8 \w9
		\w9

	1 * 1	02 04 1B // ID
		0E 01
		\w0 \w0 \w0 \w0 \w7 \w7 \w7 \w7 \w7 \w8 \w8 \w8 \w8 \w8
		\w9

	1 * 1	02 04 02 // ID
		80
		00 // no more cargo (triggered by random in graphics chain)
		12 // use bits 18 and 19
		04
		\wx0018
		\wx0019
		\wx001A
		\wx001B

	1 * 1	02 04 1C // ID
		0E 01
		\w0 \w10 \w10 \w10 \w10 \w10 \w11 \w11 \w11 \w11 \w11 \w12 \w12 \w12
		\w12

	1 * 1	02 04 1D // ID
		0E 01
		\w0 \w0 \w10 \w10 \w10 \w10 \w10 \w11 \w11 \w11 \w11 \w11 \w12 \w12
		\w12

	1 * 1	02 04 1E // ID
		0E 01
		\w0 \w0 \w0 \w10 \w10 \w10 \w10 \w10 \w11 \w11 \w11 \w11 \w11 \w12
		\w12

	1 * 1	02 04 1F // ID
		0E 01
		\w0 \w0 \w0 \w0 \w10 \w10 \w10 \w10 \w10 \w11 \w11 \w11 \w11 \w11
		\w12

	1 * 1	02 04 03 // ID
		80
		00 // no more cargo (triggered by random in graphics chain)
		12 // use bits 18 and 19
		04
		\wx001C
		\wx001D
		\wx001E
		\wx001F

	1 * 1	02 04 20 // ID
		80
		00 // no more cargo (triggered by random in graphics chain)
		10 // use bits 16 and 17
		04
		\wx0000
		\wx0001
		\wx0002
		\wx0003

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


	1 * 1	00 04 06 01 STEEL_TRACK
		08 "ISRP"

		// Sprite layout
		1A 02
			// 00 (x)
			44
			\dx000003F4 \wx0000 // ground sprite - track
			\dx8000042D \wx0040 // back platform
			00 00 00 // x/y/z offset
			10 05 03 // x/y/z extent
			04 // value for variable 10
			\dx8000842D \wx0004 // cargo
			00 00 03 // x/y/z offset
			10 04 0A // x/y/z extent
			12 // register
			\dx8000042E \wx0040 // front platform
			00 0B 00 // x/y/z offset
			10 05 03 // x/y/z extent
			04 // value for variable 10
			\dx8000842E \wx0004 // cargo
			00 0C 03 // x/y/z offset
			10 04 0A // x/y/z extent
			12 // register

			// 01 (y)
			44
			\dx000003F3 \wx0000 // ground sprite - track
			\dx8000042F \wx0040 // back platform
			00 00 00 // x/y/z offset
			05 10 03 // x/y/z extent
			04 // value for variable 10
			\dx8000842F \wx0004 // cargo
			00 00 03 // x/y/z offset
			04 10 0A // x/y/z extent
			12 // register
			\dx80000430 \wx0040 // front platform
			0B 00 00 // x/y/z offset
			05 10 03 // x/y/z extent
			04 // value for variable 10
			\dx80008430 \wx0004 // cargo
			0C 00 03 // x/y/z offset
			04 10 0A // x/y/z extent
			12 // register

		0B 02 // use callback to determine layout

		10 \w600 // set little/lots threshold

		12 \dx00000200 // cargo types for randomisation triggers (steel)

		11 FF // pylon placement (all)


	// Real sprites
	1 * 1	02 04 23 // ID
		81 10 // additional information for sprite selection
		00 0F
		01
		\wx00FC 04 04 // platform sprites
		\wx0020 // copper/steel sprites

	// Real sprites - empty
	1 * 1	02 04 24 // ID
		81 10 // additional information for sprite selection
		00 0F
		01
		\wx00FC 04 04 // platform sprites
		\wx0021 // copper/steel sprites - empty

//@@WARNING DISABLE 100

	1 * 1	02 04 15 // ID
		85
		7F 10 // read parameter for recolour sprite base
		20 \wx7FFF
		\2+
		1A // all bits on
		20 \w14 // add offset of recolour sprite for steel
		\2sto 1A
		00 \wx0012 // store in register - recolour offset
		01
		\wx0023 \w0 \w0
		\wx0023

	// Empty
	1 * 1	02 04 16 // ID
		85
		7F 10 // read parameter for recolour sprite base
		20 \wx7FFF
		\2+
		1A // all bits on
		20 \w14 // add offset of recolour sprite for steel
		\2sto 1A
		00 \wx0012 // store in register - recolour offset
		01
		\wx0024 \w0 \w0
		\wx0024

//@@WARNING ENABLE 100

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

//@@WARNING DISABLE 113

	// Random action 2 outside callback triggers re-randomisation
	1 * 1	02 04 09 // ID
		80
		02 // no more cargo
		10 // trigger bits 16 to 19
		10
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016

//@@WARNING ENABLE 113

	// No suitable cargo
	1 * 1	02 04 07 // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx0009 // real sprites

	1 * 1	03 04
		01 STEEL_TRACK
		02
		09 \wx0006 // steel
		FF \wx0006 // purchase
		\wx0007 // no suitable cargo


// Copper/steel non-track sprites
	1 * 1	01 04 0D 01
	1 images/processedt1.pcx    4    4  01   1   1   0   0 // empty

	1 images/processedt1.pcx    4    4  01  37  58 -28  -8 // level 1
	1 images/processedt1.pcx   66    4  01  37  58 -28  -8 // level 2
	1 images/processedt1.pcx  128    4  01  37  58 -28  -8 // level 3

	1 images/processedt1.pcx    4   45  01  37  58 -28  -8 // level 1
	1 images/processedt1.pcx   66   45  01  37  58 -28  -8 // level 2
	1 images/processedt1.pcx  128   45  01  37  58 -28  -8 // level 3

	1 images/processedt1.pcx    4   86  01  37  58 -28  -8 // level 1
	1 images/processedt1.pcx   66   86  01  37  58 -28  -8 // level 2
	1 images/processedt1.pcx  128   86  01  37  58 -28  -8 // level 3

	1 images/processedt1.pcx    4  127  01  37  58 -28  -8 // level 1
	1 images/processedt1.pcx   66  127  01  37  58 -28  -8 // level 2
	1 images/processedt1.pcx  128  127  01  37  58 -28  -8 // level 3

	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 14 // ID
		0E 01
		\w0 \w4 \w4 \w4 \w4 \w4 \w5 \w5 \w5 \w5 \w5 \w6 \w6 \w6
		\w6

	1 * 1	02 04 15 // ID
		0E 01
		\w0 \w0 \w4 \w4 \w4 \w4 \w4 \w5 \w5 \w5 \w5 \w5 \w6 \w6
		\w6

	1 * 1	02 04 16 // ID
		0E 01
		\w0 \w0 \w0 \w4 \w4 \w4 \w4 \w4 \w5 \w5 \w5 \w5 \w5 \w6
		\w6

	1 * 1	02 04 17 // ID
		0E 01
		\w0 \w0 \w0 \w0 \w4 \w4 \w4 \w4 \w4 \w5 \w5 \w5 \w5 \w5
		\w6

	1 * 1	02 04 01 // ID
		80
		00 // no more cargo (triggered by random in graphics chain)
		12 // use bits 18 and 19
		04
		\wx0014
		\wx0015
		\wx0016
		\wx0017

	1 * 1	02 04 18 // ID
		0E 01
		\w0 \w7 \w7 \w7 \w7 \w7 \w8 \w8 \w8 \w8 \w8 \w9 \w9 \w9
		\w9

	1 * 1	02 04 19 // ID
		0E 01
		\w0 \w0 \w7 \w7 \w7 \w7 \w7 \w8 \w8 \w8 \w8 \w8 \w9 \w9
		\w9

	1 * 1	02 04 1A // ID
		0E 01
		\w0 \w0 \w0 \w7 \w7 \w7 \w7 \w7 \w8 \w8 \w8 \w8 \w8 \w9
		\w9

	1 * 1	02 04 1B // ID
		0E 01
		\w0 \w0 \w0 \w0 \w7 \w7 \w7 \w7 \w7 \w8 \w8 \w8 \w8 \w8
		\w9

	1 * 1	02 04 02 // ID
		80
		00 // no more cargo (triggered by random in graphics chain)
		12 // use bits 18 and 19
		04
		\wx0018
		\wx0019
		\wx001A
		\wx001B

	1 * 1	02 04 1C // ID
		0E 01
		\w0 \w10 \w10 \w10 \w10 \w10 \w11 \w11 \w11 \w11 \w11 \w12 \w12 \w12
		\w12

	1 * 1	02 04 1D // ID
		0E 01
		\w0 \w0 \w10 \w10 \w10 \w10 \w10 \w11 \w11 \w11 \w11 \w11 \w12 \w12
		\w12

	1 * 1	02 04 1E // ID
		0E 01
		\w0 \w0 \w0 \w10 \w10 \w10 \w10 \w10 \w11 \w11 \w11 \w11 \w11 \w12
		\w12

	1 * 1	02 04 1F // ID
		0E 01
		\w0 \w0 \w0 \w0 \w10 \w10 \w10 \w10 \w10 \w11 \w11 \w11 \w11 \w11
		\w12

	1 * 1	02 04 03 // ID
		80
		00 // no more cargo (triggered by random in graphics chain)
		12 // use bits 18 and 19
		04
		\wx001C
		\wx001D
		\wx001E
		\wx001F

	1 * 1	02 04 22 // ID
		80
		00 // no more cargo (triggered by random in graphics chain)
		10 // use bits 16 and 17
		04
		\wx0000
		\wx0001
		\wx0002
		\wx0003

	// Empty tile
	1 * 1	02 04 23 // ID
		00 01
		\w0


	1 * 1	00 04 08 01 STEEL_NON_TRACK
		08 "ISRP"

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

			// 01 (y)
			42
			\dx00000F8D \wx0002 // ground sprite
			10 // register
			\dx8000042D \wx0040 // ground overlay (child)
			00 00 80 // x/y/z offset
			04 // value for variable 10
			\dx8000842D \wx0004
			00 00 00 // x/y/z offset
			10 10 0C // x/y/z extent
			12 // registers

		0B 02 // use callback to determine layout

		10 \w900 // set little/lots threshold

		12 \dx00000200 // cargo types for randomisation triggers (steel)

		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
		\wx0022 // copper/steel sprites

	// Test variable 10 for real sprites - empty
	1 * 1	02 04 1C // ID
		81 10 // additional information for sprite selection
		00 0F
		01
		\wx00FF 04 04 // ground overlay sprites
		\wx0023 // copper/steel sprites - empty

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

	1 * 1	02 04 15 // ID
		85
		7F 10 // read parameter for recolour sprite base
		20 \wx7FFF
		\2+
		1A // all bits on
		20 \w14 // add offset of recolour sprite for steel
		\2sto 1A
		20 \wx0012 // store in register - recolour 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

	// Empty
	1 * 1	02 04 16 // ID
		85
		7F 10 // read parameter for recolour sprite base
		20 \wx7FFF
		\2+
		1A // all bits on
		20 \w14 // add offset of recolour sprite for steel
		\2sto 1A
		20 \wx0012 // store in register - recolour offset
		\2rst
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx001C \w0 \w0
		\wx001C

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

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

//@@WARNING DISABLE 113

	// Random action 2 outside callback triggers re-randomisation
	1 * 1	02 04 0A // ID
		80
		02 // no more cargo
		10 // trigger bits 16 to 19
		10
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016

//@@WARNING ENABLE 113

	// No suitable cargo
	1 * 1	02 04 0B // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx000A // real sprites

	1 * 1	03 04
		01 STEEL_NON_TRACK
		02
		09 \wx0009 // steel
		FF \wx0009 // purchase
		\wx000B // no suitable cargo


	1 * 1	00 04 06 01 COPPER_TRACK
		08 "ISRP"

		// Sprite layout
		1A 02
			// 00 (x)
			44
			\dx000003F4 \wx0000 // ground sprite - track
			\dx8000042D \wx0040 // back platform
			00 00 00 // x/y/z offset
			10 05 03 // x/y/z extent
			04 // value for variable 10
			\dx8000042D \wx0000 // cargo
			00 00 03 // x/y/z offset
			10 04 0A // x/y/z extent
			\dx8000042E \wx0040 // front platform
			00 0B 00 // x/y/z offset
			10 05 03 // x/y/z extent
			04 // value for variable 10
			\dx8000042E \wx0000 // cargo
			00 0C 03 // x/y/z offset
			10 04 0A // x/y/z extent

			// 01 (y)
			44
			\dx000003F3 \wx0000 // ground sprite - track
			\dx8000042F \wx0040 // back platform
			00 00 00 // x/y/z offset
			05 10 03 // x/y/z extent
			04 // value for variable 10
			\dx8000042F \wx0000 // cargo
			00 00 03 // x/y/z offset
			04 10 0A // x/y/z extent
			\dx80000430 \wx0040 // front platform
			0B 00 00 // x/y/z offset
			05 10 03 // x/y/z extent
			04 // value for variable 10
			\dx80000430 \wx0000 // cargo
			0C 00 03 // x/y/z offset
			04 10 0A // x/y/z extent

		0B 02 // use callback to determine layout

		10 \w600 // set little/lots threshold

		12 \dx10000020 // cargo types for randomisation triggers

		11 FF // pylon placement (all)


	// Real sprites
	1 * 1	02 04 23 // ID
		81 10 // additional information for sprite selection
		00 0F
		01
		\wx00FC 04 04 // platform sprites
		\wx0020 // copper/steel sprites

	// Real sprites - empty
	1 * 1	02 04 24 // ID
		81 10 // additional information for sprite selection
		00 0F
		01
		\wx00FC 04 04 // platform sprites
		\wx0021 // copper/steel sprites

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

//@@WARNING DISABLE 113

	// Random action 2 outside callback triggers re-randomisation
	1 * 1	02 04 09 // ID
		80
		02 // no more cargo
		10 // trigger bits 16 to 19
		10
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024

//@@WARNING ENABLE 113

	// No suitable cargo
	1 * 1	02 04 07 // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx0009 // real sprites

	1 * 1	07 8B 04 \7c "COPR" 02 // if copper is not available skip

	1 * 1	03 04
		01 COPPER_TRACK
		02
		1C \wx0006 // copper
		FF \wx0006 // purchase
		\wx0007 // no suitable cargo

	1 * 1	07 9A 01 \71 00 01 // skip 1

	1 * 1	03 04
		01 COPPER_TRACK
		02
		05 \wx0006 // goods
		FF \wx0006 // purchase
		\wx0007 // no suitable cargo


	1 * 1	00 04 08 01 COPPER_NON_TRACK
		08 "ISRP"

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

			// 01 (y)
			42
			\dx00000F8D \wx0002 // ground sprite
			10 // register
			\dx8000042D \wx0040 // ground overlay (child)
			00 00 80 // x/y/z offset
			04 // value for variable 10
			\dx8000842D \wx0000
			00 00 00 // x/y/z offset
			10 10 0C // x/y/z extent

		0B 02 // use callback to determine layout

		10 \w900 // set little/lots threshold

		12 \dx10000020 // cargo types for randomisation triggers

		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
		\wx0022 // copper/steel sprites

	// Test variable 10 for real sprites - empty
	1 * 1	02 04 1C // ID
		81 10 // additional information for sprite selection
		00 0F
		01
		\wx00FF 04 04 // ground overlay sprites
		\wx0023 // copper/steel sprites - empty

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

	1 * 1	02 04 15 // ID
		85
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx001B \w0 \w0
		\wx001B

	// Empty
	1 * 1	02 04 16 // ID
		85
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx001C \w0 \w0
		\wx001C

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

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

//@@WARNING DISABLE 113

	// Random action 2 outside callback triggers re-randomisation
	1 * 1	02 04 0A // ID
		80
		02 // no more cargo
		10 // trigger bits 16 to 19
		10
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016

//@@WARNING ENABLE 113

	// No suitable cargo
	1 * 1	02 04 0B // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx000A // real sprites

	1 * 1	07 8B 04 \7c "COPR" 02 // if copper is not available skip

	1 * 1	03 04
		01 COPPER_NON_TRACK
		02
		1C \wx0009 // copper
		FF \wx0009 // purchase
		\wx000B // no suitable cargo

	1 * 1	07 9A 01 \71 00 01 // skip 1

	1 * 1	03 04
		01 COPPER_NON_TRACK
		02
		05 \wx0009 // goods
		FF \wx0009 // purchase
		\wx000B // no suitable cargo


	1 * 1	00 04 06 01 BARREL_TRACK
		08 "ISRP"

		0A COPPER_TRACK // copy sprite layout

		0B 02 // use callback to determine layout

		10 \w600 // set little/lots threshold

		12 \dx04018028 // cargo types for randomisation triggers

		11 FF // pylon placement (all)


	// Real sprites
	1 * 1	02 04 23 // ID
		81 10 // additional information for sprite selection
		00 0F
		01
		\wx00FC 04 04 // platform sprites
		\wx00E0 // barrel sprites

	// Real sprites - empty
	1 * 1	02 04 24 // ID
		81 10 // additional information for sprite selection
		00 0F
		01
		\wx00FC 04 04 // platform sprites
		\wx00DF // barrel sprites

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

//@@WARNING DISABLE 113

	// Random action 2 outside callback triggers re-randomisation
	1 * 1	02 04 09 // ID
		80
		02 // no more cargo
		10 // trigger bits 16 to 19
		10
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024

//@@WARNING ENABLE 113

	// No suitable cargo
	1 * 1	02 04 07 // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx0009 // real sprites

	1 * 1	03 04
		01 BARREL_TRACK
		0D
		03 \wx0006 // oil
		05 \wx0006 // goods
		0F \wx0006 // water
		10 \wx0006 // rubber
		1A \wx0006 // petrol
		24 \wx0006 // fertiliser
		25 \wx0006 // dyes
		26 \wx0006 // refined products
		27 \wx0006 // plastic
		29 \wx0006 // alcohol
		2D \wx0006 // farm supplies
		2F \wx0006 // milk
		FF \wx0006 // purchase list
		\wx0007 // no suitable cargo


	1 * 1	00 04 06 01 BARREL_TRACK_LOW
		08 "ISRP"

		// Sprite layout
		1A 04
			// 00 (x)
			43
			\dx000003F4 \wx0002 // ground sprite - track
			10 // register
			\dx8000042D \wx0040 // ground overlay (child) - platforms
			00 00 80 // x/y/z offset
			04 // value for variable 10
			\dx8000042D \wx0000 // barrels back
			00 00 00 // x/y/z offset
			10 04 0A // x/y/z extent
			\dx8000042E \wx0000 // barrels front
			00 0C 00 // x/y/z offset
			10 04 0A // x/y/z extent

			// 01 (y)
			43
			\dx000003F3 \wx0002 // ground sprite - track
			10 // register
			\dx8000042E \wx0040 // ground overlay (child) - platforms
			00 00 80 // x/y/z offset
			04 // value for variable 10
			\dx8000042F \wx0000 // barrels back
			00 00 00 // x/y/z offset
			04 10 0A // x/y/z extent
			\dx80000430 \wx0000 // barrels front
			0C 00 00 // x/y/z offset
			04 10 0A // x/y/z extent

			// 02 (x) - purchase
			43
			\dx000003F4 \wx0000 // ground sprite - track
			\dx8000042D \wx0040 // ground overlay (child) - platforms
			00 00 80 // x/y/z offset
			04 // value for variable 10
			\dx8000042D \wx0000 // barrels back
			00 00 00 // x/y/z offset
			10 04 0A // x/y/z extent
			\dx8000042E \wx0000 // barrels front
			00 0C 00 // x/y/z offset
			10 04 0A // x/y/z extent

			// 03 (y) - purchase
			43
			\dx000003F3 \wx0000 // ground sprite - track
			\dx8000042E \wx0040 // ground overlay (child) - platforms
			00 00 80 // x/y/z offset
			04 // value for variable 10
			\dx8000042F \wx0000 // barrels back
			00 00 00 // x/y/z offset
			04 10 0A // x/y/z extent
			\dx80000430 \wx0000 // barrels front
			0C 00 00 // x/y/z offset
			04 10 0A // x/y/z extent

		0B 02 // use callback to determine layout

		10 \w600 // set little/lots threshold
		12 \dx04018028 // cargo types for randomisation triggers

		11 FF // pylon placement (all)


	// Real sprites
	1 * 1	02 04 23 // ID
		81 10 // additional information for sprite selection
		00 0F
		01
		\wx00FD 04 04 // ground overlay sprites
		\wx00E0 // barrel sprites

	// Real sprites - empty
	1 * 1	02 04 24 // ID
		81 10 // additional information for sprite selection
		00 0F
		01
		\wx00FD 04 04 // ground overlay sprites
		\wx00DF // barrel sprites - empty

//@@WARNING DISABLE 100

	1 * 1	02 04 21 // ID
		85
		7E BE // get normal/snow/desert offset
		20 \wx7FFF
		\2+
		7E BD // add monorail/maglev offset
		20 \wx00FF
		\2sto 1A
		00 \wx0010 // store in register
		01
		\wx0023 \w0 \w0
		\wx0023

	// Empty
	1 * 1	02 04 22 // ID
		85
		7E BE // get normal/snow/desert offset
		20 \wx7FFF
		\2+
		7E BD // add monorail/maglev offset
		20 \wx00FF
		\2sto 1A
		00 \wx0010 // store in register
		01
		\wx0024 \w0 \w0
		\wx0024

//@@WARNING ENABLE 100


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

	// Purchase
	1 * 1	02 04 08 // ID
		81 0C // callback
		00 FF
		01
		\wx8002 14 14 // sprite layout
		\wx0023 // real sprites

//@@WARNING DISABLE 113

	// Random action 2 outside callback triggers re-randomisation
	1 * 1	02 04 09 // ID
		80
		02 // no more cargo
		10 // trigger bits 16 to 19
		10
		\wx0022
		\wx0022
		\wx0022
		\wx0022
		\wx0022
		\wx0022
		\wx0022
		\wx0022
		\wx0022
		\wx0022
		\wx0022
		\wx0022
		\wx0022
		\wx0022
		\wx0022
		\wx0022

//@@WARNING ENABLE 113

	// No suitable cargo
	1 * 1	02 04 07 // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx0009 // real sprites

	1 * 1	03 04
		01 BARREL_TRACK_LOW
		0D
		03 \wx0006 // oil
		05 \wx0006 // goods
		0F \wx0006 // water
		10 \wx0006 // rubber
		1A \wx0006 // petrol
		24 \wx0006 // fertiliser
		25 \wx0006 // dyes
		26 \wx0006 // refined products
		27 \wx0006 // plastic
		29 \wx0006 // alcohol
		2D \wx0006 // farm supplies
		2F \wx0006 // milk
		FF \wx0008 // purchase list
		\wx0007 // no suitable cargo


	1 * 1	00 04 08 01 BARREL_NON_TRACK
		08 "ISRP"

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

			// 01 (y)
			42
			\dx00000F8D \wx0002 // ground sprite
			10 // register
			\dx8000042D \wx0040 // ground overlay (child)
			00 00 80 // x/y/z offset
			04 // value for variable 10
			\dx8000842D \wx0000
			00 00 00 // x/y/z offset
			10 10 0C // x/y/z extent

		0B 02 // use callback to determine layout

		10 \w900 // set little/lots threshold

		12 \dx04018028 // cargo types for randomisation triggers

		11 00 // no pylons
		14 FF // no wires

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


	1 * 1	01 04 0D 01
	1 images/processedt1.pcx    4  171  01   1   1   0   0 // empty

	1 images/processedt1.pcx    4  171  01  37  56 -27  -8 // level 1
	1 images/processedt1.pcx   64  171  01  37  56 -27  -8 // level 2
	1 images/processedt1.pcx  124  171  01  37  56 -27  -8 // level 3

	1 images/processedt1.pcx    4  212  01  38  56 -27  -8 // level 1
	1 images/processedt1.pcx   64  212  01  38  56 -27  -8 // level 2
	1 images/processedt1.pcx  124  212  01  38  56 -27  -8 // level 3

	1 images/processedt1.pcx    4  253  01  37  56 -27  -8 // level 1
	1 images/processedt1.pcx   64  253  01  37  56 -27  -8 // level 2
	1 images/processedt1.pcx  124  253  01  37  56 -27  -8 // level 3

	1 images/processedt1.pcx    4  294  01  37  56 -27  -8 // level 1
	1 images/processedt1.pcx   64  294  01  37  56 -27  -8 // level 2
	1 images/processedt1.pcx  124  294  01  37  56 -27  -8 // level 3

	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 14 // ID
		0E 01
		\w0 \w4 \w4 \w4 \w4 \w4 \w5 \w5 \w5 \w5 \w5 \w6 \w6 \w6
		\w6

	1 * 1	02 04 15 // ID
		0E 01
		\w0 \w0 \w4 \w4 \w4 \w4 \w4 \w5 \w5 \w5 \w5 \w5 \w6 \w6
		\w6

	1 * 1	02 04 16 // ID
		0E 01
		\w0 \w0 \w0 \w4 \w4 \w4 \w4 \w4 \w5 \w5 \w5 \w5 \w5 \w6
		\w6

	1 * 1	02 04 17 // ID
		0E 01
		\w0 \w0 \w0 \w0 \w4 \w4 \w4 \w4 \w4 \w5 \w5 \w5 \w5 \w5
		\w6

	1 * 1	02 04 01 // ID
		80
		00 // no more cargo (triggered by random in graphics chain)
		12 // use bits 18 and 19
		04
		\wx0014
		\wx0015
		\wx0016
		\wx0017

	1 * 1	02 04 18 // ID
		0E 01
		\w0 \w7 \w7 \w7 \w7 \w7 \w8 \w8 \w8 \w8 \w8 \w9 \w9 \w9
		\w9

	1 * 1	02 04 19 // ID
		0E 01
		\w0 \w0 \w7 \w7 \w7 \w7 \w7 \w8 \w8 \w8 \w8 \w8 \w9 \w9
		\w9

	1 * 1	02 04 1A // ID
		0E 01
		\w0 \w0 \w0 \w7 \w7 \w7 \w7 \w7 \w8 \w8 \w8 \w8 \w8 \w9
		\w9

	1 * 1	02 04 1B // ID
		0E 01
		\w0 \w0 \w0 \w0 \w7 \w7 \w7 \w7 \w7 \w8 \w8 \w8 \w8 \w8
		\w9

	1 * 1	02 04 02 // ID
		80
		00 // no more cargo (triggered by random in graphics chain)
		12 // use bits 18 and 19
		04
		\wx0018
		\wx0019
		\wx001A
		\wx001B

	1 * 1	02 04 1C // ID
		0E 01
		\w0 \w10 \w10 \w10 \w10 \w10 \w11 \w11 \w11 \w11 \w11 \w12 \w12 \w12
		\w12

	1 * 1	02 04 1D // ID
		0E 01
		\w0 \w0 \w10 \w10 \w10 \w10 \w10 \w11 \w11 \w11 \w11 \w11 \w12 \w12
		\w12

	1 * 1	02 04 1E // ID
		0E 01
		\w0 \w0 \w0 \w10 \w10 \w10 \w10 \w10 \w11 \w11 \w11 \w11 \w11 \w12
		\w12

	1 * 1	02 04 1F // ID
		0E 01
		\w0 \w0 \w0 \w0 \w10 \w10 \w10 \w10 \w10 \w11 \w11 \w11 \w11 \w11
		\w12

	1 * 1	02 04 03 // ID
		80
		00 // no more cargo (triggered by random in graphics chain)
		12 // use bits 18 and 19
		04
		\wx001C
		\wx001D
		\wx001E
		\wx001F

	1 * 1	02 04 04 // ID
		80
		00 // no more cargo (triggered by random in graphics chain)
		10 // use bits 16 and 17
		04
		\wx0000
		\wx0001
		\wx0002
		\wx0003

	// Empty tile
	1 * 1	02 04 05 // 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
		\wx0004 // barrel sprites

	// Test variable 10 for real sprites - empty
	1 * 1	02 04 1C // ID
		81 10 // additional information for sprite selection
		00 0F
		01
		\wx00FF 04 04 // ground overlay sprites
		\wx0005 // barrel sprites - empty

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

	1 * 1	02 04 15 // ID
		85
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx001B \w0 \w0
		\wx001B

	// Empty
	1 * 1	02 04 16 // ID
		85
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx001C \w0 \w0
		\wx001C

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

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

//@@WARNING DISABLE 113

	// Random action 2 outside callback triggers re-randomisation
	1 * 1	02 04 0A // ID
		80
		02 // no more cargo
		10 // trigger bits 16 to 19
		10
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016

//@@WARNING ENABLE 113

	// No suitable cargo
	1 * 1	02 04 0B // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx000A // real sprites

	1 * 1	03 04
		01 BARREL_NON_TRACK
		0D
		03 \wx0009 // oil
		05 \wx0009 // goods
		0F \wx0009 // water
		10 \wx0009 // rubber
		1A \wx0009 // petrol
		24 \wx0009 // fertiliser
		25 \wx0009 // dyes
		26 \wx0009 // refined products
		27 \wx0009 // plastic
		29 \wx0009 // alcohol
		2D \wx0009 // farm supplies
		2F \wx0009 // milk
		FF \wx0009 // purchase list
		\wx000B // no suitable cargo


	1 * 1	00 04 06 01 PLANK_TRACK
		08 "ISRP"

		// Sprite layout
		1A 02
			// 00 (x)
			44
			\dx000003F4 \wx0000 // ground sprite - track
			\dx8000042D \wx0040 // back platform
			00 00 00 // x/y/z offset
			10 05 03 // x/y/z extent
			04 // value for variable 10
			\dx8000042D \wx0000 // cargo
			00 00 03 // x/y/z offset
			10 03 0A // x/y/z extent
			\dx8000042E \wx0040 // front platform
			00 0B 00 // x/y/z offset
			10 05 03 // x/y/z extent
			04 // value for variable 10
			\dx8000042E \wx0000 // cargo
			00 0D 03 // x/y/z offset
			10 03 0A // x/y/z extent

			// 01 (y)
			44
			\dx000003F3 \wx0000 // ground sprite - track
			\dx8000042F \wx0040 // back platform
			00 00 00 // x/y/z offset
			05 10 03 // x/y/z extent
			04 // value for variable 10
			\dx8000042F \wx0000 // cargo
			00 00 03 // x/y/z offset
			03 10 0A // x/y/z extent
			\dx80000430 \wx0040 // front platform
			0B 00 00 // x/y/z offset
			05 10 03 // x/y/z extent
			04 // value for variable 10
			\dx80000430 \wx0000 // cargo
			0D 00 03 // x/y/z offset
			03 10 0A // x/y/z extent

		0B 02 // use callback to determine layout

		10 \w600 // set little/lots threshold

		12 \dx28000020 // cargo types for randomisation triggers

		11 FF // pylon placement (all)


	1 * 1	01 04 0D 04
	// Empty
	1 images/processedp1.pcx    3  264  01   1   1   0   0 // x, back
	1 images/processedp1.pcx    3  264  01   1   1   0   0 // x, front
	1 images/processedp1.pcx    3  264  01   1   1   0   0 // y, back
	1 images/processedp1.pcx    3  264  01   1   1   0   0 // y, front
	// Type 1 - level 1
	1 images/processedp1.pcx    3  264  01  27  34 -28 -10 // x, back
	1 images/processedp1.pcx    3  294  01  27  34 -28 -10 // x, front
	1 images/processedp1.pcx    3  324  01  27  34  -4 -10 // y, back
	1 images/processedp1.pcx    3  354  01  27  34  -4 -10 // y, front
	// Type 1 - level 2
	1 images/processedp1.pcx   43  264  01  27  34 -28 -10 // x, back
	1 images/processedp1.pcx   43  294  01  27  34 -28 -10 // x, front
	1 images/processedp1.pcx   43  324  01  27  34  -4 -10 // y, back
	1 images/processedp1.pcx   43  354  01  27  34  -4 -10 // y, front
	// Type 1 - level 3
	1 images/processedp1.pcx   83  264  01  27  34 -28 -10 // x, back
	1 images/processedp1.pcx   83  294  01  27  34 -28 -10 // x, front
	1 images/processedp1.pcx   83  324  01  27  34  -4 -10 // y, back
	1 images/processedp1.pcx   83  354  01  27  34  -4 -10 // y, front
	// Type 2 - level 1
	1 images/processedp1.pcx  123  264  01  27  34 -28 -10 // x, back
	1 images/processedp1.pcx  123  294  01  27  34 -28 -10 // x, front
	1 images/processedp1.pcx  123  324  01  27  34  -4 -10 // y, back
	1 images/processedp1.pcx  123  354  01  27  34  -4 -10 // y, front
	// Type 2 - level 2
	1 images/processedp1.pcx  163  264  01  27  34 -28 -10 // x, back
	1 images/processedp1.pcx  163  294  01  27  34 -28 -10 // x, front
	1 images/processedp1.pcx  163  324  01  27  34  -4 -10 // y, back
	1 images/processedp1.pcx  163  354  01  27  34  -4 -10 // y, front
	// Type 2 - level 3
	1 images/processedp1.pcx  203  264  01  27  34 -28 -10 // x, back
	1 images/processedp1.pcx  203  294  01  27  34 -28 -10 // x, front
	1 images/processedp1.pcx  203  324  01  27  34  -4 -10 // y, back
	1 images/processedp1.pcx  203  354  01  27  34  -4 -10 // y, front
	// Type 3 - level 1
	1 images/processedp1.pcx  243  264  01  27  34 -28 -10 // x, back
	1 images/processedp1.pcx  243  294  01  27  34 -28 -10 // x, front
	1 images/processedp1.pcx  243  324  01  27  34  -4 -10 // y, back
	1 images/processedp1.pcx  243  354  01  27  34  -4 -10 // y, front
	// Type 3 - level 2
	1 images/processedp1.pcx  283  264  01  27  34 -28 -10 // x, back
	1 images/processedp1.pcx  283  294  01  27  34 -28 -10 // x, front
	1 images/processedp1.pcx  283  324  01  27  34  -4 -10 // y, back
	1 images/processedp1.pcx  283  354  01  27  34  -4 -10 // y, front
	// Type 3 - level 3
	1 images/processedp1.pcx  323  264  01  27  34 -28 -10 // x, back
	1 images/processedp1.pcx  323  294  01  27  34 -28 -10 // x, front
	1 images/processedp1.pcx  323  324  01  27  34  -4 -10 // y, back
	1 images/processedp1.pcx  323  354  01  27  34  -4 -10 // y, front
	// Type 4 - level 1
	1 images/processedp1.pcx  363  264  01  28  34 -28 -10 // x, back
	1 images/processedp1.pcx  363  294  01  27  34 -28 -10 // x, front
	1 images/processedp1.pcx  363  324  01  27  34  -4 -10 // y, back
	1 images/processedp1.pcx  363  354  01  27  34  -4 -10 // y, front
	// Type 4 - level 2
	1 images/processedp1.pcx  403  264  01  28  34 -28 -10 // x, back
	1 images/processedp1.pcx  403  294  01  27  34 -28 -10 // x, front
	1 images/processedp1.pcx  403  324  01  27  34  -4 -10 // y, back
	1 images/processedp1.pcx  403  354  01  27  34  -4 -10 // y, front
	// Type 4 - level 3
	1 images/processedp1.pcx  443  264  01  28  34 -28 -10 // x, back
	1 images/processedp1.pcx  443  294  01  27  34 -28 -10 // x, front
	1 images/processedp1.pcx  443  324  01  27  34  -4 -10 // y, back
	1 images/processedp1.pcx  443  354  01  27  34  -4 -10 // y, front

	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 14 // ID
		0E 01
		\w0 \w4 \w4 \w4 \w4 \w4 \w5 \w5 \w5 \w5 \w5 \w6 \w6 \w6
		\w6

	1 * 1	02 04 15 // ID
		0E 01
		\w0 \w0 \w4 \w4 \w4 \w4 \w4 \w5 \w5 \w5 \w5 \w5 \w6 \w6
		\w6

	1 * 1	02 04 16 // ID
		0E 01
		\w0 \w0 \w0 \w4 \w4 \w4 \w4 \w4 \w5 \w5 \w5 \w5 \w5 \w6
		\w6

	1 * 1	02 04 17 // ID
		0E 01
		\w0 \w0 \w0 \w0 \w4 \w4 \w4 \w4 \w4 \w5 \w5 \w5 \w5 \w5
		\w6

	1 * 1	02 04 01 // ID
		80
		00 // no more cargo (triggered by random in graphics chain)
		12 // use bits 18 and 19
		04
		\wx0014
		\wx0015
		\wx0016
		\wx0017

	1 * 1	02 04 18 // ID
		0E 01
		\w0 \w7 \w7 \w7 \w7 \w7 \w8 \w8 \w8 \w8 \w8 \w9 \w9 \w9
		\w9

	1 * 1	02 04 19 // ID
		0E 01
		\w0 \w0 \w7 \w7 \w7 \w7 \w7 \w8 \w8 \w8 \w8 \w8 \w9 \w9
		\w9

	1 * 1	02 04 1A // ID
		0E 01
		\w0 \w0 \w0 \w7 \w7 \w7 \w7 \w7 \w8 \w8 \w8 \w8 \w8 \w9
		\w9

	1 * 1	02 04 1B // ID
		0E 01
		\w0 \w0 \w0 \w0 \w7 \w7 \w7 \w7 \w7 \w8 \w8 \w8 \w8 \w8
		\w9

	1 * 1	02 04 02 // ID
		80
		00 // no more cargo (triggered by random in graphics chain)
		12 // use bits 18 and 19
		04
		\wx0018
		\wx0019
		\wx001A
		\wx001B

	1 * 1	02 04 1C // ID
		0E 01
		\w0 \w10 \w10 \w10 \w10 \w10 \w11 \w11 \w11 \w11 \w11 \w12 \w12 \w12
		\w12

	1 * 1	02 04 1D // ID
		0E 01
		\w0 \w0 \w10 \w10 \w10 \w10 \w10 \w11 \w11 \w11 \w11 \w11 \w12 \w12
		\w12

	1 * 1	02 04 1E // ID
		0E 01
		\w0 \w0 \w0 \w10 \w10 \w10 \w10 \w10 \w11 \w11 \w11 \w11 \w11 \w12
		\w12

	1 * 1	02 04 1F // ID
		0E 01
		\w0 \w0 \w0 \w0 \w10 \w10 \w10 \w10 \w10 \w11 \w11 \w11 \w11 \w11
		\w12

	1 * 1	02 04 03 // ID
		80
		00 // no more cargo (triggered by random in graphics chain)
		12 // use bits 18 and 19
		04
		\wx001C
		\wx001D
		\wx001E
		\wx001F

	1 * 1	02 04 04 // ID
		80
		00 // no more cargo (triggered by random in graphics chain)
		10 // use bits 16 and 17
		04
		\wx0000
		\wx0001
		\wx0002
		\wx0003

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


	// Real sprites
	1 * 1	02 04 23 // ID
		81 10 // additional information for sprite selection
		00 0F
		01
		\wx00FC 04 04 // platform sprites
		\wx0004 // plank sprites

	// Real sprites - empty
	1 * 1	02 04 24 // ID
		81 10 // additional information for sprite selection
		00 0F
		01
		\wx00FC 04 04 // platform sprites
		\wx0005 // plank sprites

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

//@@WARNING DISABLE 113

	// Random action 2 outside callback triggers re-randomisation
	1 * 1	02 04 09 // ID
		80
		02 // no more cargo
		10 // trigger bits 16 to 19
		10
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024
		\wx0024

//@@WARNING ENABLE 113

	// No suitable cargo
	1 * 1	02 04 07 // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx0009 // real sprites

	1 * 1	07 8B 04 \7C "BDMT" 02 // if building materials are available skip
	1 * 1	07 8B 04 \7C "WDPR" 01 // if wood products are available skip
	1 * 1	07 8B 04 \7c "LUMB" 02 // if lumber is not available skip

	1 * 1	03 04
		01 PLANK_TRACK
		04
		1B \wx0006 // wood products
		1D \wx0006 // lumber
		2A \wx0006 // building materials
		FF \wx0006 // purchase
		\wx0007 // no suitable cargo

	1 * 1	07 9A 01 \71 00 01 // skip 1

	1 * 1	03 04
		01 PLANK_TRACK
		02
		05 \wx0006 // goods
		FF \wx0006 // purchase
		\wx0007 // no suitable cargo


	1 * 1	00 04 08 01 PLANK_NON_TRACK
		08 "ISRP"

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

			// 01 (y)
			42
			\dx00000F8D \wx0002 // ground sprite
			10 // register
			\dx8000042D \wx0040 // ground overlay (child)
			00 00 80 // x/y/z offset
			04 // value for variable 10
			\dx8000842D \wx0000
			00 00 00 // x/y/z offset
			10 10 0C // x/y/z extent

		0B 02 // use callback to determine layout

		10 \w900 // set little/lots threshold

		12 \dx28000020 // cargo types for randomisation triggers

		11 00 // no pylons
		14 FF // no wires

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


	1 * 1	01 04 0D 01
	1 images/processedt1.pcx    4  338  01   1   1   0   0 // empty

	1 images/processedt1.pcx    4  338  01  39  58 -28  -9 // level 1
	1 images/processedt1.pcx   66  338  01  39  58 -28  -9 // level 2
	1 images/processedt1.pcx  128  338  01  39  58 -28  -9 // level 3

	1 images/processedt1.pcx    4  381  01  39  58 -28  -9 // level 1
	1 images/processedt1.pcx   66  381  01  39  58 -28  -9 // level 2
	1 images/processedt1.pcx  128  381  01  39  58 -28  -9 // level 3

	1 images/processedt1.pcx    4  424  01  39  58 -28  -9 // level 1
	1 images/processedt1.pcx   66  424  01  39  58 -28  -9 // level 2
	1 images/processedt1.pcx  128  424  01  39  58 -28  -9 // level 3

	1 images/processedt1.pcx    4  467  01  39  58 -28  -9 // level 1
	1 images/processedt1.pcx   66  467  01  39  58 -28  -9 // level 2
	1 images/processedt1.pcx  128  467  01  39  58 -28  -9 // level 3

	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 14 // ID
		0E 01
		\w0 \w4 \w4 \w4 \w4 \w4 \w5 \w5 \w5 \w5 \w5 \w6 \w6 \w6
		\w6

	1 * 1	02 04 15 // ID
		0E 01
		\w0 \w0 \w4 \w4 \w4 \w4 \w4 \w5 \w5 \w5 \w5 \w5 \w6 \w6
		\w6

	1 * 1	02 04 16 // ID
		0E 01
		\w0 \w0 \w0 \w4 \w4 \w4 \w4 \w4 \w5 \w5 \w5 \w5 \w5 \w6
		\w6

	1 * 1	02 04 17 // ID
		0E 01
		\w0 \w0 \w0 \w0 \w4 \w4 \w4 \w4 \w4 \w5 \w5 \w5 \w5 \w5
		\w6

	1 * 1	02 04 01 // ID
		80
		00 // no more cargo (triggered by random in graphics chain)
		12 // use bits 18 and 19
		04
		\wx0014
		\wx0015
		\wx0016
		\wx0017

	1 * 1	02 04 18 // ID
		0E 01
		\w0 \w7 \w7 \w7 \w7 \w7 \w8 \w8 \w8 \w8 \w8 \w9 \w9 \w9
		\w9

	1 * 1	02 04 19 // ID
		0E 01
		\w0 \w0 \w7 \w7 \w7 \w7 \w7 \w8 \w8 \w8 \w8 \w8 \w9 \w9
		\w9

	1 * 1	02 04 1A // ID
		0E 01
		\w0 \w0 \w0 \w7 \w7 \w7 \w7 \w7 \w8 \w8 \w8 \w8 \w8 \w9
		\w9

	1 * 1	02 04 1B // ID
		0E 01
		\w0 \w0 \w0 \w0 \w7 \w7 \w7 \w7 \w7 \w8 \w8 \w8 \w8 \w8
		\w9

	1 * 1	02 04 02 // ID
		80
		00 // no more cargo (triggered by random in graphics chain)
		12 // use bits 18 and 19
		04
		\wx0018
		\wx0019
		\wx001A
		\wx001B

	1 * 1	02 04 1C // ID
		0E 01
		\w0 \w10 \w10 \w10 \w10 \w10 \w11 \w11 \w11 \w11 \w11 \w12 \w12 \w12
		\w12

	1 * 1	02 04 1D // ID
		0E 01
		\w0 \w0 \w10 \w10 \w10 \w10 \w10 \w11 \w11 \w11 \w11 \w11 \w12 \w12
		\w12

	1 * 1	02 04 1E // ID
		0E 01
		\w0 \w0 \w0 \w10 \w10 \w10 \w10 \w10 \w11 \w11 \w11 \w11 \w11 \w12
		\w12

	1 * 1	02 04 1F // ID
		0E 01
		\w0 \w0 \w0 \w0 \w10 \w10 \w10 \w10 \w10 \w11 \w11 \w11 \w11 \w11
		\w12

	1 * 1	02 04 03 // ID
		80
		00 // no more cargo (triggered by random in graphics chain)
		12 // use bits 18 and 19
		04
		\wx001C
		\wx001D
		\wx001E
		\wx001F

	1 * 1	02 04 04 // ID
		80
		00 // no more cargo (triggered by random in graphics chain)
		10 // use bits 16 and 17
		04
		\wx0000
		\wx0001
		\wx0002
		\wx0003

	// Empty tile
	1 * 1	02 04 05 // 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
		\wx0004 // plank sprites

	// Test variable 10 for real sprites - empty
	1 * 1	02 04 1C // ID
		81 10 // additional information for sprite selection
		00 0F
		01
		\wx00FF 04 04 // ground overlay sprites
		\wx0005 // plank sprites - empty

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

	1 * 1	02 04 15 // ID
		85
		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 16 // ID
		85
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx001C \w0 \w0
		\wx001C

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

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

//@@WARNING DISABLE 113

	// Random action 2 outside callback triggers re-randomisation
	1 * 1	02 04 0A // ID
		80
		02 // no more cargo
		10 // trigger bits 16 to 19
		10
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016
		\wx0016

//@@WARNING ENABLE 113

	// No suitable cargo
	1 * 1	02 04 0B // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx000A // real sprites

	1 * 1	07 8B 04 \7C "BDMT" 02 // if building materials are available skip
	1 * 1	07 8B 04 \7C "WDPR" 01 // if wood products are available skip
	1 * 1	07 8B 04 \7c "LUMB" 02 // if lumber is not available skip

	1 * 1	03 04
		01 PLANK_NON_TRACK
		04
		1B \wx0009 // wood products
		1D \wx0009 // lumber
		2A \wx0009 // building materials
		FF \wx0009 // purchase
		\wx000B // no suitable cargo

	1 * 1	07 9A 01 \71 00 01 // skip 1

	1 * 1	03 04
		01 PLANK_NON_TRACK
		02
		05 \wx0009 // goods
		FF \wx0009 // purchase
		\wx000B // no suitable cargo
