	1 * 1	00 04 06 01 OFFICES_CLASSIC
		08 "ISRF"

		// Sprite layout
		1A 02
			// 00 (x)
			46
			\dx000003F4 \wx0000 // ground sprite
			\dx8000042D \wx0040 // back platform
			00 00 00 // x/y/z offset
			10 05 03 // x/y/z extent
			04 // value for variable 10
			\dx80008435 \wx0002 // office
			00 00 03 // x/y/z offset
			10 05 09 // x/y/z extent
			05 // register
			\dx80000447 \wx0003 // office snow
			00 00 80 // x/y/z offset
			03 05 // registers
			\dx8000042E \wx0040 // front platform
			00 0B 00 // x/y/z offset
			10 05 03 // x/y/z extent
			04 // value for variable 10
			\dx80000433 \wx0000 // platform steps (child)
			0E 07 80 // x/y/z offset
			\dx8000842D \wx0000 // lamp posts and sign
			00 0C 03 // x/y/z offset
			10 04 0D // x/y/z extent

			// 01 (y)
			46
			\dx000003F3 \wx0000 // ground sprite
			\dx8000042F \wx0040 // back platform
			00 00 00 // x/y/z offset
			05 10 03 // x/y/z extent
			04 // value for variable 10
			\dx80008436 \wx0002 // office
			00 00 03 // x/y/z offset
			05 10 09 // x/y/z extent
			05 // register
			\dx80000448 \wx0003 // office snow
			00 00 80 // x/y/z offset
			03 05 // registers
			\dx80000430 \wx0040 // front platform
			0B 00 00 // x/y/z offset
			05 10 03 // x/y/z extent
			04 // value for variable 10
			\dx80000434 \wx0000 // platform steps (child)
			03 07 80 // x/y/z offset
			\dx8000842E \wx0000 // lamp posts and sign
			0C 00 03 // x/y/z offset
			04 10 0D // x/y/z extent

		0B 02 // use callback to determine layout

		// Only allow a layout of 1 * 1
		0C FE
		0D FE

		11 FF // pylon placement (all)


	// Test variable 10 for real sprites
	1 * 1	02 04 1B // ID
		81 10 // additional information for sprite selection
		00 0F
		01
		\wx00FC 04 04 // platform sprites
		\wx00EE // office sprites

	1 * 1	02 04 05 // ID
		80
		00 // don't re-randomise
		10 // use bits 16 and 17
		04
		\wx8000
		\wx8006
		\wx800E
		\wx8010

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

	1 * 1	02 04 15 // ID
		85
		7E BB // get snow overlay flag
		20 \wx00FF
		\2sto 1A
		20 \wx0003 // store in register - show/hide snow
		\2rst
		7E 05 // get office variety offset
		20 \wx00FF
		\2sto 1A
		00 \wx0005 // store in register
		01
		\wx001B \w0 \w0
		\wx001B

	// Purchase
	1 * 1	02 04 16 // ID
		85
		1A // all bits on
		20 \w0
		\2sto 1A
		20 \wx0003 // store in register - show/hide snow
		\2sto 1A
		00 \wx0005 // store in register - office variety
		01
		\wx001B \w0 \w0
		\wx001B

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


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

	// Purchase list
	1 * 1	02 04 03 // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx0016 // real sprites

	1 * 1	03 04
		01 OFFICES_CLASSIC
		01
		FF \wx0003 // purchase
		\wx0001


	1 * 1	00 04 06 01 OFFICES
		08 "ISRF"

		// Sprite layout
		1A 02
			// 00 (x)
			46
			\dx000003F4 \wx0000 // ground sprite
			\dx8000042D \wx0040 // back platform
			00 00 00 // x/y/z offset
			10 05 03 // x/y/z extent
			04 // value for variable 10
			\dx80008437 \wx0002 // office
			00 00 03 // x/y/z offset
			10 05 0F // x/y/z extent
			05 // register
			\dx80000449 \wx0003 // office snow
			00 00 80 // x/y/z offset
			03 05 // registers
			\dx8000042E \wx0040 // front platform
			00 0B 00 // x/y/z offset
			10 05 03 // x/y/z extent
			04 // value for variable 10
			\dx80000433 \wx0000 // platform steps (child)
			0E 07 80 // x/y/z offset
			\dx8000842D \wx0000 // lamp posts and sign
			00 0C 03 // x/y/z offset
			10 04 0D // x/y/z extent

			// 01 (y)
			46
			\dx000003F3 \wx0000 // ground sprite
			\dx8000042F \wx0040 // back platform
			00 00 00 // x/y/z offset
			05 10 03 // x/y/z extent
			04 // value for variable 10
			\dx80008438 \wx0002 // office
			00 00 03 // x/y/z offset
			05 10 0F // x/y/z extent
			05 // register
			\dx8000044A \wx0003 // office snow
			00 00 80 // x/y/z offset
			03 05 // registers
			\dx80000430 \wx0040 // front platform
			0B 00 00 // x/y/z offset
			05 10 03 // x/y/z extent
			04 // value for variable 10
			\dx80000434 \wx0000 // platform steps (child)
			03 07 80 // x/y/z offset
			\dx8000842E \wx0000 // lamp posts and sign
			0C 00 03 // x/y/z offset
			04 10 0D // x/y/z extent

		0B 03 // use callback to determine layout and availability

		// Only allow a layout of 1 * 1
		0C FE
		0D FE

		11 FF // pylon placement (all)


	// Test variable 10 for real sprites
	1 * 1	02 04 1B // ID
		81 10 // additional information for sprite selection
		00 0F
		01
		\wx00FC 04 04 // platform sprites
		\wx00EE // office sprites

	1 * 1	02 04 05 // ID
		80
		00 // don't re-randomise
		10 // use bit 16
		02
		\wx8000
		\wx8006

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

	1 * 1	02 04 15 // ID
		85
		7E BB // get snow overlay flag
		20 \wx00FF
		\2sto 1A
		20 \wx0003 // store in register - show/hide snow
		\2rst
		7E 05 // get office variety offset
		20 \wx00FF
		\2sto 1A
		00 \wx0005 // store in register
		01
		\wx001B \w0 \w0
		\wx001B

	// Purchase
	1 * 1	02 04 16 // ID
		85
		1A // all bits on
		20 \w0
		\2sto 1A
		20 \wx0003 // store in register - show/hide snow
		\2sto 1A
		00 \wx0005 // store in register - office variety
		01
		\wx001B \w0 \w0
		\wx001B

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


	1 * 1	02 04 01 // ID
		81 01 // current year
		00 FF
		01
		\wx8000 \b0 \b1949 // do not allow build before 1950
		\wx8001

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

	// Purchase list
	1 * 1	02 04 03 // ID
		81 0C // callback
		00 FF
		02
		\wx0001 13 13 // date availability
		\wx8000 14 14 // sprite layout
		\wx0016 // real sprites

	1 * 1	03 04
		01 OFFICES
		01
		FF \wx0003 // purchase
		\wx0002


	1 * 1	00 04 06 01 OFFICES_MODERN
		08 "ISRF"

		// Sprite layout
		1A 02
			// 00 (x)
			46
			\dx000003F4 \wx0000 // ground sprite
			\dx8000042D \wx0040 // back platform
			00 00 00 // x/y/z offset
			10 05 03 // x/y/z extent
			04 // value for variable 10
			\dx80008439 \wx0002 // office
			00 00 03 // x/y/z offset
			10 05 15 // x/y/z extent
			05 // register
			\dx8000044B \wx0003 // office snow
			00 00 80 // x/y/z offset
			03 05 // registers
			\dx8000042E \wx0040 // front platform
			00 0B 00 // x/y/z offset
			10 05 03 // x/y/z extent
			04 // value for variable 10
			\dx80000433 \wx0000 // platform steps (child)
			0E 07 80 // x/y/z offset
			\dx8000842D \wx0000 // lamp posts and sign
			00 0C 03 // x/y/z offset
			10 04 0D // x/y/z extent

			// 01 (y)
			46
			\dx000003F3 \wx0000 // ground sprite
			\dx8000042F \wx0040 // back platform
			00 00 00 // x/y/z offset
			05 10 03 // x/y/z extent
			04 // value for variable 10
			\dx8000843A \wx0002 // office
			00 00 03 // x/y/z offset
			05 10 15 // x/y/z extent
			05 // register
			\dx8000044C \wx0003 // office snow
			00 00 80 // x/y/z offset
			03 05 // registers
			\dx80000430 \wx0040 // front platform
			0B 00 00 // x/y/z offset
			05 10 03 // x/y/z extent
			04 // value for variable 10
			\dx80000434 \wx0000 // platform steps (child)
			03 07 80 // x/y/z offset
			\dx8000842E \wx0000 // lamp posts and sign
			0C 00 03 // x/y/z offset
			04 10 0D // x/y/z extent

		0B 03 // use callback to determine layout and availability

		// Only allow a layout of 1 * 1
		0C FE
		0D FE

		11 FF // pylon placement (all)


	// Test variable 10 for real sprites
	1 * 1	02 04 1B // ID
		81 10 // additional information for sprite selection
		00 0F
		01
		\wx00FC 04 04 // platform sprites
		\wx00EE // office sprites

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

	1 * 1	02 04 15 // ID
		85
		7E BB // get snow overlay flag
		20 \wx00FF
		\2sto 1A
		20 \wx0003 // store in register - show/hide snow
		\2rst
		7E 05 // get office variety offset
		20 \wx00FF
		\2sto 1A
		00 \wx0005 // store in register
		01
		\wx001B \w0 \w0
		\wx001B

	// Purchase
	1 * 1	02 04 16 // ID
		85
		1A // all bits on
		20 \w0
		\2sto 1A
		20 \wx0003 // store in register - show/hide snow
		\2sto 1A
		00 \wx0005 // store in register - office variety
		01
		\wx001B \w0 \w0
		\wx001B

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


	1 * 1	02 04 01 // ID
		81 01 // current year
		00 FF
		01
		\wx8000 \b0 \b1979 // do not allow build before 1980
		\wx8001

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

	// Purchase list
	1 * 1	02 04 03 // ID
		81 0C // callback
		00 FF
		02
		\wx0001 13 13 // date availability
		\wx8000 14 14 // sprite layout
		\wx0016 // real sprites

	1 * 1	03 04
		01 OFFICES_MODERN
		01
		FF \wx0003
		\wx0002


	1 * 1	00 04 06 01 OFFICES_G_CLASSIC
		08 "ISRF"

		// Sprite layout
		1A 04
			// 00 (x)
			44
			\dx000003F4 \wx0002 // ground sprite
			10 // register
			\dx8000042D \wx0040 // ground overlay sprite (child)
			00 00 80 // x/y/z offset
			04 // value for variable 10
			\dx80008435 \wx0002 // back platform office
			00 00 00 // x/y/z offset
			10 05 0B // x/y/z extent
			05 // register
			\dx80000447 \wx0003 // office snow
			00 00 80 // x/y/z offset
			03 05 // registers
			\dx8000842F \wx0000 // front platform fence
			03 0D 00 // x/y/z offset
			0A 01 05 // x/y/z extent

			// 01 (y)
			44
			\dx000003F3 \wx0002 // ground sprite
			10 // register
			\dx8000042E \wx0040 // ground overlay sprite (child)
			00 00 80 // x/y/z offset
			04 // value for variable 10
			\dx80008436 \wx0002 // back platform office
			00 00 00 // x/y/z offset
			05 10 0B // x/y/z extent
			05 // register
			\dx80000448 \wx0003 // office snow
			00 00 80 // x/y/z offset
			03 05 // registers
			\dx80008430 \wx0000 // front platform fence
			0D 03 00 // x/y/z offset
			01 0A 05 // x/y/z extent

			// 02 (x) - purchase
			43
			\dx000003F4 \wx0000 // ground sprite
			\dx8000042D \wx0040 // ground overlay sprite (child)
			00 00 80 // x/y/z offset
			04 // value for variable 10
			\dx8000043B \wx0000 // back platform office
			00 00 00 // x/y/z offset
			10 05 0B // x/y/z extent
			\dx8000842F \wx0000 // front platform fence
			03 0D 00 // x/y/z offset
			0A 01 05 // x/y/z extent

			// 03 (y) - purchase
			43
			\dx000003F3 \wx0000 // ground sprite
			\dx8000042E \wx0040 // ground overlay sprite (child)
			00 00 80 // x/y/z offset
			04 // value for variable 10
			\dx8000043C \wx0000 // back platform office
			00 00 00 // x/y/z offset
			05 10 0B // x/y/z extent
			\dx80008430 \wx0000 // front platform fence
			0D 03 00 // x/y/z offset
			01 0A 05 // x/y/z extent

		0B 02 // use callback to determine layout

		// Only allow a layout of 1 * 1
		0C FE
		0D FE

		11 FF // pylon placement (all)


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

	1 * 1	02 04 05 // ID
		80
		00 // don't re-randomise
		10 // use bits 16 and 17
		04
		\wx8000
		\wx8006
		\wx800E
		\wx8010

//@@WARNING DISABLE 100

	1 * 1	02 04 15 // ID
		85
		7E 05 // get office variety offset
		20 \wx00FF
		\2sto 1A
		20 \wx0005 // store in register
		\2rst
		7E BB // get snow overlay flag
		20 \wx00FF
		\2sto 1A
		20 \wx0003 // store in register - show/hide snow
		\2rst
		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 - ground sprite offset
		01
		\wx001B \w0 \w0
		\wx001B

//@@WARNING ENABLE 100


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

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

	1 * 1	03 04
		01 OFFICES_G_CLASSIC
		01
		FF \wx0003 // purchase
		\wx0001


	1 * 1	00 04 06 01 OFFICES_G
		08 "ISRF"

		// Sprite layout
		1A 04
			// 00 (x)
			44
			\dx000003F4 \wx0002 // ground sprite
			10 // register
			\dx8000042D \wx0040 // ground overlay sprite (child)
			00 00 80 // x/y/z offset
			04 // value for variable 10
			\dx80008437 \wx0002 // back platform office
			00 00 00 // x/y/z offset
			10 05 0F // x/y/z extent
			05 // register
			\dx80000449 \wx0003 // office snow
			00 00 80 // x/y/z offset
			03 05 // registers
			\dx8000842F \wx0000 // front platform fence
			03 0D 00 // x/y/z offset
			0A 01 05 // x/y/z extent

			// 01 (y)
			44
			\dx000003F3 \wx0002 // ground sprite
			10 // register
			\dx8000042E \wx0040 // ground overlay sprite (child)
			00 00 80 // x/y/z offset
			04 // value for variable 10
			\dx80008438 \wx0002 // back platform office
			00 00 00 // x/y/z offset
			05 10 0F // x/y/z extent
			05 // register
			\dx8000044A \wx0003 // office snow
			00 00 80 // x/y/z offset
			03 05 // registers
			\dx80008430 \wx0000 // front platform fence
			0D 03 00 // x/y/z offset
			01 0A 05 // x/y/z extent

			// 02 (x) - purchase
			43
			\dx000003F4 \wx0000 // ground sprite
			\dx8000042D \wx0040 // ground overlay sprite (child)
			00 00 80 // x/y/z offset
			04 // value for variable 10
			\dx8000843D \wx0000 // back platform office
			00 00 00 // x/y/z offset
			10 05 0D // x/y/z extent
			\dx8000842F \wx0000 // front platform fence
			03 0D 00 // x/y/z offset
			0A 01 05 // x/y/z extent

			// 03 (y) - purchase
			43
			\dx000003F3 \wx0000 // ground sprite
			\dx8000042E \wx0040 // ground overlay sprite (child)
			00 00 80 // x/y/z offset
			04 // value for variable 10
			\dx8000843E \wx0000 // back platform office
			00 00 00 // x/y/z offset
			05 10 0D // x/y/z extent
			\dx80008430 \wx0000 // front platform fence
			0D 03 00 // x/y/z offset
			01 0A 05 // x/y/z extent

		0B 03 // use callback to determine layout and availability

		// Only allow a layout of 1 * 1
		0C FE
		0D FE

		11 FF // pylon placement (all)


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

	1 * 1	02 04 05 // ID
		80
		00 // don't re-randomise
		10 // use bit 16
		02
		\wx8000
		\wx8006

//@@WARNING DISABLE 100

	1 * 1	02 04 15 // ID
		85
		7E 05 // get office variety offset
		20 \wx00FF
		\2sto 1A
		20 \wx0005 // store in register
		\2rst
		7E BB // get snow overlay flag
		20 \wx00FF
		\2sto 1A
		20 \wx0003 // store in register - show/hide snow
		\2rst
		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 - ground sprite offset
		01
		\wx001B \w0 \w0
		\wx001B

//@@WARNING ENABLE 100


	1 * 1	02 04 01 // ID
		81 01 // current year
		00 FF
		01
		\wx8000 00 \b1949 // do not allow build before 1950
		\wx8001

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

	// Purchase list
	1 * 1	02 04 03 // ID
		81 0C // callback
		00 FF
		02
		\wx0001 13 13 // date availability
		\wx8002 14 14 // sprite layout
		\wx001B // real sprites

	1 * 1	03 04
		01 OFFICES_G
		01
		FF \wx0003 // purchase
		\wx0002


	1 * 1	00 04 06 01 OFFICES_G_MODERN
		08 "ISRF"

		// Sprite layout
		1A 04
			// 00 (x)
			44
			\dx000003F4 \wx0002 // ground sprite
			10 // register
			\dx8000042D \wx0040 // ground overlay sprite (child)
			00 00 80 // x/y/z offset
			04 // value for variable 10
			\dx80008439 \wx0002 // back platform office
			00 00 00 // x/y/z offset
			10 05 15 // x/y/z extent
			05 // register
			\dx8000044B \wx0003 // office snow
			00 00 80 // x/y/z offset
			03 05 // registers
			\dx8000842F \wx0000 // front platform fence
			03 0D 00 // x/y/z offset
			0A 01 05 // x/y/z extent

			// 01 (y)
			44
			\dx000003F3 \wx0002 // ground sprite
			10 // register
			\dx8000042E \wx0040 // ground overlay sprite (child)
			00 00 80 // x/y/z offset
			04 // value for variable 10
			\dx8000843A \wx0002 // back platform office
			00 00 00 // x/y/z offset
			05 10 15 // x/y/z extent
			05 // register
			\dx8000044C \wx0003 // office snow
			00 00 80 // x/y/z offset
			03 05 // registers
			\dx80008430 \wx0000 // front platform fence
			0D 03 00 // x/y/z offset
			01 0A 05 // x/y/z extent

			// 02 (x) - purchase
			43
			\dx000003F4 \wx0000 // ground sprite
			\dx8000042D \wx0040 // ground overlay sprite (child)
			00 00 80 // x/y/z offset
			04 // value for variable 10
			\dx8000843F \wx0000 // back platform office
			00 00 00 // x/y/z offset
			10 05 12 // x/y/z extent
			\dx8000842F \wx0000 // front platform fence
			03 0D 00 // x/y/z offset
			0A 01 05 // x/y/z extent

			// 03 (y) - purchase
			43
			\dx000003F3 \wx0000 // ground sprite
			\dx8000042E \wx0040 // ground overlay sprite (child)
			00 00 80 // x/y/z offset
			04 // value for variable 10
			\dx80008440 \wx0000 // back platform office
			00 00 00 // x/y/z offset
			05 10 12 // x/y/z extent
			\dx80008430 \wx0000 // front platform fence
			0D 03 00 // x/y/z offset
			01 0A 05 // x/y/z extent

		0B 03 // use callback to determine layout and availability

		// Only allow a layout of 1 * 1
		0C FE
		0D FE

		11 FF // pylon placement (all)


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

//@@WARNING DISABLE 100

	1 * 1	02 04 15 // ID
		85
		7E 05 // get office variety offset
		20 \wx00FF
		\2sto 1A
		20 \wx0005 // store in register
		\2rst
		7E BB // get snow overlay flag
		20 \wx00FF
		\2sto 1A
		20 \wx0003 // store in register - show/hide snow
		\2rst
		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 - ground sprite offset
		01
		\wx001B \w0 \w0
		\wx001B

//@@WARNING ENABLE 100


	1 * 1	02 04 01 // ID
		81 01 // current year
		00 FF
		01
		\wx8000 \b0 \b1979 // do not allow build before 1980
		\wx8001

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

	// Purchase list
	1 * 1	02 04 03 // ID
		81 0C  // callback
		00 FF
		02
		\wx0001 13 13 // date availability
		\wx8002 14 14 // sprite layout
		\wx001B // real sprites

	1 * 1	03 04
		01 OFFICES_G_MODERN
		01
		FF \wx0003 // purchase
		\wx0002


	1 * 1	00 04 0C 01 MAIN_OFFICE
		08 "ISRF"

		// Sprite layout
		1A 04
			// 00 (x) - northern section
			42
			\dx000003F4 \wx0000 // ground sprite
			\dx8000842D \wx0000 // building
			00 00 00 // x/y/z offset
			10 10 10 // x/y/z extent
			\dx80000431 \wx0001 // building snow
			00 00 80 // x/y/z offset
			03 // registers

			// 01 (y) - northern section
			42
			\dx000003F3 \wx0000 // ground sprite
			\dx8000842F \wx0000 // building
			00 00 00 // x/y/z offset
			10 10 10 // x/y/z extent
			\dx80000433 \wx0001 // building snow
			14 00 80 // x/y/z offset
			03 // registers

			// 02 (x) - southern section
			43
			\dx000003F4 \wx0000 // ground sprite
			\dx8000842E \wx0000 // building
			00 00 00 // x/y/z offset
			10 10 22 // x/y/z extent
			\dx80000432 \wx0001 // building snow
			00 00 80 // x/y/z offset
			03 // registers
			\dx8000842D \wx0042 // flag
			0E 04 23 // x/y/z offset
			01 02 0F // x/y/z extent
			0A // register
			05 // value for variable 10

			// 03 (y) - southern section
			43
			\dx000003F3 \wx0000 // ground sprite
			\dx80008430 \wx0000 // building
			00 00 00 // x/y/z offset
			10 10 22 // x/y/z extent
			\dx80000434 \wx0001 // building snow
			14 00 80 // x/y/z offset
			03 // registers
			\dx8000842D \wx0042 // flag
			04 0F 23 // x/y/z offset
			01 02 0F // x/y/z extent
			0A // register
			05 // value for variable 10

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

		// Station layout
		0E
			02 01 00 02
			00 00

		0B 02 // use callback to determine layout

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

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

		16 \wx0107 // animation info 8 frames looping
		17 03      // animation speed 2^3 ticks per frame
		18 \wx0001 // animation triggers - build (1)


	1 * 1	01 04 01 08
	1 images/newfacilities5.pcx     5  100  09   45  65  -32 -14 // 042D x, northern part
	1 images/newfacilities5.pcx    73  100  09   54  64  -31 -23 // 042E x, southern part
	1 images/newfacilities5.pcx   141  100  09   45  65  -31 -14 // 042F y, northern part
	1 images/newfacilities5.pcx   209  100  09   54  64  -31 -23 // 0430 y, southern part
	1 images/newfacilities5.pcx     5  819  01   23  45    0   0 // 0431 x, N part snow
	1 images/newfacilities5.pcx    55  819  01   27  44    0   0 // 0432 x, S part snow
	1 images/newfacilities5.pcx   104  819  01   23  45    0   0 // 0433 y, N part snow
	1 images/newfacilities5.pcx   154  819  01   27  44    0   0 // 0434 y, S part snow

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


	// Test variable 10 for real sprites
	1 * 1	02 04 0B // ID
		81 10 // additional information for sprite selection
		00 0F
		01
		\wx00D3 05 05 // flag sprites
		\wx0000 // office sprites

	// Animation control start/stop
	// Check this is an animated tile
	1 * 1	02 04 22 // ID
		85 68 00 // station info param 0/0; check this tile
		00 \wx3000
		01
		\wx80FD \w0 \w0 // part #00/01
		\wx80FE // part #02/03 - start animation

	1 * 1	02 04 21 // ID
		81 18 // extra callback info - reason for call
		00 FF
		01
		\wx0022 00 00 // build station
		\wx80FD // do nothing


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

// Northern part
	1 * 1	02 04 17 // ID
		85
		7E BB // get snow overlay flag
		20 \wx00FF
		\2sto 1A
		00 \wx0003 // store in register - show/hide snow
		01
		\wx0000 \w0 \w0
		\wx0000

// Southern part
	1 * 1	02 04 18 // ID
		85
		7E BB // get snow overlay flag
		20 \wx00FF
		\2sto 1A
		20 \wx0003 // store in register - show/hide snow
		\2rst
		4A // animation frame
		20 \wx00FF
		\2sto 1A
		00 \wx000A // store in register - flag offset
		01
		\wx000B \w0 \w0
		\wx000B

// Purchase - southern part
	1 * 1	02 04 19 // ID
		85
		1A
		20 \w0
		\2sto 1A
		20 \wx0003 // store in register - show/hide snow
		\2sto 1A
		00 \wx000A // store in register - flag offset
		01
		\wx000B \w0 \w0
		\wx000B

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

	// Test for tile part at current position
	1 * 1	02 04 05 // ID
		85 68 00 // station info param 0/0; check this tile
		00 \wx3000
		01
		\wx0017 \w0 \w0 // part #00/01
		\wx0018 // part #02/03


	// Callback 14
	// Test for tile part at current position
	1 * 1	02 04 10 // ID
		85 68 00 // station info param 0/0; check this tile
		00 \wx3000
		01
		\wx8000 \w0 \w0 // part #00/01
		\wx8002 // part #02/03


	1 * 1	02 04 07 // ID
		85 0C // callback
		00 \wxFFFF
		02
		\wx0010 \wx0014 \wx0014 // sprite layout
		\wx0021 \wx0140 \wx0140 // animation control
		\wx0005 // real sprites

	// For purchase list
	1 * 1	02 04 08 // ID
		81 0C // callback
		00 FF
		01
		\wx8002 14 14 // sprite layout
		\wx0019 // real sprites

	1 * 1	03 04
		01 MAIN_OFFICE
		01
		FF \wx0008 // purchase
		\wx0007


	1 * 1	00 04 04 01 SHEDS
		08 "ISRF"

		// Sprite layout
		1A 02
			// 00 (x)
			45
			\dx000003F4 \wx0000 // ground sprite
			\dx8000042D \wx0040 // back platform
			00 00 00 // x/y/z offset
			10 05 03 // x/y/z extent
			04 // value for variable 10
			\dx80008441 \wx0000 // shed
			00 00 03 // x/y/z offset
			10 05 0D // x/y/z extent
			\dx80000453 \wx0001 // shed snow
			00 00 80 // x/y/z offset
			03 // registers
			\dx8000042E \wx0040 // front platform
			00 0B 00 // x/y/z offset
			10 05 03 // x/y/z extent
			04 // value for variable 10
			\dx80000431 \wx0000 // lamp posts
			00 0C 03 // x/y/z offset
			10 04 0B // x/y/z extent

			// 01 (y)
			45
			\dx000003F3 \wx0000 // ground sprite
			\dx8000042F \wx0040 // back platform
			00 00 00 // x/y/z offset
			05 10 03 // x/y/z extent
			04 // value for variable 10
			\dx80008442 \wx0000 // shed
			00 00 03 // x/y/z offset
			05 10 0D // x/y/z extent
			\dx80000454 \wx0001 // shed snow
			00 00 80 // x/y/z offset
			03 // registers
			\dx80000430 \wx0040 // front platform
			0B 00 00 // x/y/z offset
			05 10 03 // x/y/z extent
			04 // value for variable 10
			\dx80000432 \wx0000 // lamp posts
			0C 00 03 // x/y/z offset
			04 10 0B // x/y/z extent

		0B 02 // use callback to determine layout

		11 FF // pylon placement (all)


	// Test variable 10 for real sprites
	1 * 1	02 04 1B // ID
		81 10 // additional information for sprite selection
		00 0F
		01
		\wx00FC 04 04 // platform sprites
		\wx00EE // office sprites

//@@WARNING DISABLE 100

	1 * 1	02 04 15 // ID
		85
		7E BB // get snow overlay flag
		20 \wx00FF
		\2sto 1A
		00 \wx0003 // store in register - show/hide snow
		01
		\wx001B \w0 \w0
		\wx001B

//@@WARNING ENABLE 100


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

	1 * 1	03 04
		01 SHEDS
		00
		\wx0001


	1 * 1	00 04 07 01 OPEN_SHED
		08 "ISRF"

		// Sprite layout
		1A 02
			// 00 (x)
			42
			\dx00000F8D \wx0002 // ground sprite
			10 // register
			\dx8000842D \wx0000
			00 00 00 // x/y/z offset
			10 10 13 // x/y/z extent
			\dx8000042F \wx0001 // snow
			00 00 80 // x/y/z offset
			03 // registers

			// 01 (y)
			42
			\dx00000F8D \wx0002 // ground sprite
			10 // register
			\dx8000842E \wx0000
			00 00 00 // x/y/z offset
			10 10 13 // x/y/z extent
			\dx80000430 \wx0001 // snow
			00 00 80 // x/y/z offset
			03 // registers

		0B 02 // use callback to determine layout

		0C FE // only allow a width of 1

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

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


	1 * 1	01 04 02 04
	1 images/newfacilities5.pcx    72 207 01 44 64 -31 -13  // x, single
	1 images/newfacilities5.pcx   208 207 01 44 64 -31 -13  // y, single
	1 images/newfacilities5.pcx    65 914 01 20 39  16   0  // x, single snow
	1 images/newfacilities5.pcx   169 914 01 20 39   9   0  // y, single snow

	1 images/newfacilities5.pcx     5 207 01 44 64 -31 -13  // x, double
	1 images/newfacilities5.pcx   139 207 01 44 64 -31 -13  // y, double
	1 images/newfacilities5.pcx     5 914 01 28 55   0   0  // x, double snow
	1 images/newfacilities5.pcx   109 914 01 28 55   9   0  // y, double snow

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

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

	1 * 1	02 04 02 // ID
		81 41
		04 0F // position along platform from south
		01
		\wx0000 00 00 // south tile - single shed
		\wx0001 // double shed

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

	1 * 1	02 04 06 // ID
		85
		7E BB // get snow overlay flag
		20 \wx00FF
		\2sto 1A
		20 \wx0003 // store in register - show/hide snow
		\2rst
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx0002 \w0 \w0
		\wx0002

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

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

	1 * 1	03 04
		01 OPEN_SHED
		00
		\wx0003


// The following animation callback code is used for all
// warehouse door animations in facilities.nfo
// -----------------------------------------------------
	// Calculate a_frame for reverse movement
	1 * 1	02 04 50 // ID
		81 1A // all bits on
		20 09 // max_frame = 9
		\2-
		4A // animation frame
		00 FF
		00 // return a_frame = max_frame - frame
		\wx8000

	// Set a_frame to frame for forward movement
	1 * 1	02 04 51 // ID
		81 4A // animation frame
		00 FF
		00 // return a_frame = frame
		\wx8000

	// Select movement direction
	1 * 1	02 04 52 // ID
		81 4A // animation frame
		00 FF
		01
		\wx0051 00 04 // frames 0 to 4
		\wx0050 // frames 5 to max

	// Hide door for frame 0
	1 * 1	02 04 62 // ID
		81
		7E 52 // get a_frame
		00 FF
		01
		\wx8000 00 00 // frame 0 - hide door
		\wx8001 // show door

	// Animation frame - maybe stop at open
	1 * 1	02 04 54 // ID
		81 10 // extra callback info - random bits
		00 FF
		01
		\wx80FF 00 3F // 25% chance of stop
		\wx80FE // continue

	// Animation frame
	1 * 1	02 04 55 // ID
		81 4A // animation frame
		00 FF
		01
		\wx0054 04 04 // maybe stop at open
		\wx80FE // continue

	// Animation control - at frame 9 - maybe start animation
	1 * 1	02 04 56 // ID
		81 10 // extra callback info - random bits
		00 FF
		01
		\wx8000 00 3F // 25% chance of start (from frame 0)
		\wx80FD // do nothing

	// Animation control - at frame 4 - maybe restart animation
	1 * 1	02 04 57 // ID
		81 10 // extra callback info - random bits
		00 FF
		01
		\wx80FE 00 3F // 25% chance of start (from current frame)
		\wx80FD // do nothing

	// Animation control - start animation
	1 * 1	02 04 58 // ID
		81 4A // animation frame
		00 FF
		02
		\wx0056 09 09 // frame 9, the animation has finished maybe start from 0
		\wx0057 04 04 // frame 4, the animation is stopped at open, maybe restart
		\wx80FD // do nothing

	// Animation control start/stop
	1 * 1	02 04 59 // ID
		81 18 // extra callback info - reason for call
		00 FF
		02
		\wx8000 00 00 // build station - set frame 0 - will also start animation
		\wx0058 01 01 // cargo arrives - start
		\wx80FD // do nothing


	1 * 1	00 04 0B 01 SHIPPING_OFFICE
		08 "ISRF"

		// Sprite layout
		1A 02
			// 00 (x)
			43
			\dx00000F8D \wx0002 // ground sprite
			10 // register
			\dx8000842D \wx0002
			00 00 00 // x/y/z offset
			10 10 13 // x/y/z extent
			06 // registers
			\dx80000439 \wx0003 // snow
			00 00 80 // x/y/z offset
			03 06 // registers
			\dx80008431 \wx0003 // door
			1F 10 80 // x/y/z offset
			02 05 // registers

			// 01 (y)
			43
			\dx00000F8D \wx0002 // ground sprite
			10 // register
			\dx8000842E \wx0002
			00 00 00 // x/y/z offset
			10 10 13 // x/y/z extent
			06 // registers
			\dx8000043A \wx0003 // snow
			00 00 80 // x/y/z offset
			03 06 // registers
			\dx80008435 \wx0003 // door
			1F 10 80 // x/y/z offset
			02 05 // registers

		0B 06 // use callback to determine layout (2) and next animation frame (4)

		0C FE // only allow a width of 1

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

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

		// General flags
		13 04 // give callback 141 random bits in variable 10

		16 \wx0009 // animation info 10 frames
		17 04      // animation speed 2^4 ticks per frame
		18 \wx0003 // animation triggers - build (1), cargo arrives (2)


	1 * 1	01 04 01 10
	1 images/newfacilities5.pcx   72  263  01  44  64  -31  -13  // 042D x, single
	1 images/newfacilities5.pcx  206  263  01  44  64  -31  -13  // 042E y, single
	1 images/newfacilities5.pcx    5  263  01  47  64  -31  -16  // 042F x, double
	1 images/newfacilities5.pcx  139  263  01  47  64  -31  -16  // 0430 y, double

	1 images/newfacilities5.pcx  274  263  01   9   9   -6   16  // 0431 x, door 1
	1 images/newfacilities5.pcx  285  263  01   9   9   -6   16  // 0432 x, door 2
	1 images/newfacilities5.pcx  296  263  01   9   9   -6   16  // 0433 x, door 3
	1 images/newfacilities5.pcx  307  263  01   9   9   -6   16  // 0434 x, door 4
	1 images/newfacilities5.pcx  320  279  01   9   9   -1   16  // 0435 y, door 1
	1 images/newfacilities5.pcx  331  279  01   9   9   -1   16  // 0436 y, door 2
	1 images/newfacilities5.pcx  342  279  01   9   9   -1   16  // 0437 y, door 3
	1 images/newfacilities5.pcx  353  279  01   9   9   -1   16  // 0438 y, door 4

	1 images/newfacilities5.pcx   66  947  01  23  34   20    0  // 0439 x, single snow
	1 images/newfacilities5.pcx  165  947  01  23  34   10    0  // 043A y, single snow
	1 images/newfacilities5.pcx    5  947  01  32  56    4    2  // 043B x, double snow
	1 images/newfacilities5.pcx  105  947  01  32  56    4    2  // 043C y, double snow

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

	1 * 1	02 04 01 // ID
		81 41
		04 0F // position along platform from south
		01
		\wx8000 00 00 // south tile - single building
		\wx8002 // double building

	1 * 1	02 04 04 // ID
		81 41
		04 0F // position along platform from south
		01
		\wx8000 00 00 // hide door overlay if south tile
		\wx0062 // else

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

	1 * 1	02 04 15 // ID
		85
		7E 01 // get office variety
		20 \wx00FF
		\2sto 1A
		20 \wx0006 // store in register - variety offset
		\2rst
		7E 52 // get a_frame
		20 \wx00FF
		\2-
		1A // all bits on
		20 \wx0001 // a_frame - 1
		\2sto 1A
		20 \wx0005 // store in register - door animation offset
		\2rst
		7E 04 // get hide/show flag
		20 \wx000F
		\2sto 1A
		20 \wx0002 // store in register - show door animation
		\2rst
		7E BB // get snow overlay flag
		20 \wx00FF
		\2sto 1A
		20 \wx0003 // store in register - show/hide snow
		\2rst
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx0000 \w0 \w0
		\wx0000

	// Purchase
	1 * 1	02 04 16 // ID
		85
		1A // all bits on
		20 \w0 // val = 0
		\2sto 1A
		20 \wx0006 // store in register - variety offset
		\2sto 1A
		20 \wx0005 // store in register - door animation offset
		\2sto 1A
		20 \wx0002 // store in register - show door animation
		\2sto 1A
		20 \wx0003 // store in register - show/hide snow
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx0000 \w0 \w0
		\wx0000

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

	// Callback handler
	1 * 1	02 04 02 // ID
		85 0C // callback
		00 \wxFFFF
		03
		\wx8000 \wx0014 \wx0014 // sprite layout
		\wx0059 \wx0140 \wx0140 // animation control
		\wx0055 \wx0141 \wx0141 // animation frame
		\wx0015 // real sprites

	// For purchase list
	1 * 1	02 04 03 // ID
		85 0C // callback
		00 \wxFFFF
		01
		\wx8000 \wx0014 \wx0014 // sprite layout
		\wx0016 // real sprites

	1 * 1	03 04
		01 SHIPPING_OFFICE
		01
		FF \wx0003 // purchase
		\wx0002


	1 * 1	00 04 0B 01 LARGE_WAREHOUSE
		08 "ISRF"

		// Sprite layout
		1A 02
			// 00 (x)
			43
			\dx00000F8D \wx0002 // ground sprite
			10 // register
			\dx8000842D \wx0000
			00 00 00 // x/y/z offset
			10 10 13 // x/y/z extent
			\dx80000437 \wx0001 // snow
			04 00 80 // x/y/z offset
			03 // register
			\dx8000042F \wx0003 // door
			1F 0A 80 // x/y/z offset
			02 05 // registers

			// 01 (y)
			43
			\dx00000F8D \wx0002 // ground sprite
			10 // register
			\dx8000842E \wx0000
			00 00 00 // x/y/z offset
			10 10 13 // x/y/z extent
			\dx80000438 \wx0001 // snow
			05 00 80 // x/y/z offset
			03 // register
			\dx80000433 \wx0003 // door
			1F 0A 80 // x/y/z offset
			02 05 // registers

		0B 06 // use callback to determine layout (2) and next animation frame (4)

		0C FE // only allow a width of 1

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

		15 FF // prevent trains entering the tile

		// General flags
		13 04 // give callback 141 random bits in variable 10

		16 \wx0009 // animation info 10 frames
		17 04      // animation speed 2^4 ticks per frame
		18 \wx0003 // animation triggers - build (1), cargo arrives (2)


	1 * 1	01 04 01 0C
	1 images/newfacilities5.pcx     5 320 01 41 64 -31 -10  // 042D x, close 0
	1 images/newfacilities5.pcx   140 320 01 41 64 -31 -10  // 042E y, close 0
	1 images/newfacilities5.pcx   276 320 01 18 16    7  7  // 042F x, door 1
	1 images/newfacilities5.pcx   296 320 01 18 16    7  7  // 0430 x, door 2
	1 images/newfacilities5.pcx   316 320 01 18 16    7  7  // 0431 x, door 3
	1 images/newfacilities5.pcx   336 320 01 18 16    7  7  // 0432 x, door 4
	1 images/newfacilities5.pcx   276 343 01 18 16  -21  7  // 0433 y, door 1
	1 images/newfacilities5.pcx   296 343 01 18 16  -21  7  // 0434 y, door 2
	1 images/newfacilities5.pcx   316 343 01 18 16  -21  7  // 0435 y, door 3
	1 images/newfacilities5.pcx   336 343 01 18 16  -21  7  // 0436 y, door 4
	1 images/newfacilities5.pcx     5 983 01 27 56    0  0  // 0437 x, snow
	1 images/newfacilities5.pcx    66 983 01 27 56    0  0  // 0438 y, snow

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

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

	1 * 1	02 04 15 // ID
		85
		7E 52 // get a_frame
		20 \wx00FF
		\2-
		1A // all bits on
		20 \wx0001 // a_frame - 1
		\2sto 1A
		20 \wx0005 // store in register - door animation offset
		\2rst
		7E 62 // get hide/show flag
		20 \wx000F
		\2sto 1A
		20 \wx0002 // store in register - show door animation
		\2rst
		7E BB // get snow overlay flag
		20 \wx00FF
		\2sto 1A
		20 \wx0003 // store in register - show/hide snow
		\2rst
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx0000 \w0 \w0
		\wx0000

	// Purchase
	1 * 1	02 04 16 // ID
		85
		1A // all bits on
		20 \w0 // val = 0
		\2sto 1A
		20 \wx0005 // store in register - door animation offset
		\2sto 1A
		20 \wx0002 // store in register - show door animation
		\2sto 1A
		20 \wx0003 // store in register - show/hide snow
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx0000 \w0 \w0
		\wx0000

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


	1 * 1	02 04 01 // ID
		85 0C // callback
		00 \wxFFFF
		03
		\wx8000 \wx0014 \wx0014 // sprite layout
		\wx0059 \wx0140 \wx0140 // animation control
		\wx0055 \wx0141 \wx0141 // animation frame
		\wx0015 // real sprites

	// For purchase list
	1 * 1	02 04 02 // ID
		85 0C // callback
		00 \wxFFFF
		01
		\wx8000 \wx0014 \wx0014 // sprite layout
		\wx0016 // real sprites

	1 * 1	03 04
		01 LARGE_WAREHOUSE
		01
		FF \wx0002 // purchase
		\wx0001


	1 * 1	00 04 0B 01 SMALL_WAREHOUSE
		08 "ISRF"

		// Sprite layout
		1A 02
			// 00 (x)
			43
			\dx00000F8D \wx0002 // ground sprite
			10 // register
			\dx8000842D \wx0002
			00 00 00 // x/y/z offset
			10 10 13 // x/y/z extent
			06 // registers
			\dx80000439 \wx0003 // snow
			00 00 80 // x/y/z offset
			03 06 // registers
			\dx80000431 \wx0003 // door
			1F 0C 80 // x/y/z offset
			02 05 // registers

			// 01 (y)
			43
			\dx00000F8D \wx0002 // ground sprite
			10 // register
			\dx8000842E \wx0002
			00 00 00 // x/y/z offset
			10 10 13 // x/y/z extent
			06 // registers
			\dx8000043A \wx0003 // snow
			00 00 80 // x/y/z offset
			03 06 // registers
			\dx80000435 \wx0003 // door
			1F 0C 80 // x/y/z offset
			02 05 // registers

		0B 06 // use callback to determine layout (2) and next animation frame (4)

		0C FE // only allow a width of 1

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

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

		// General flags
		13 04 // give callback 141 random bits in variable 10

		16 \wx0009 // animation info 10 frames
		17 04      // animation speed 2^4 ticks per frame
		18 \wx0003 // animation triggers - build (1), cargo arrives (2)


	1 * 1	01 04 01 10
	1 images/newfacilities5.pcx   72  430  01  44  65  -32  -13  // 042D x, single
	1 images/newfacilities5.pcx  207  430  01  44  64  -31  -13  // 042E y, single
	1 images/newfacilities5.pcx    5  430  01  44  64  -31  -13  // 042F x, double
	1 images/newfacilities5.pcx  141  430  01  44  64  -31  -13  // 0430 y, double
	1 images/newfacilities5.pcx  274  430  01  12   8   11    4  // 0431 x, door 1
	1 images/newfacilities5.pcx  284  430  01  12   8   11    4  // 0432 x, door 2
	1 images/newfacilities5.pcx  294  430  01  12   8   11    4  // 0433 x, door 3
	1 images/newfacilities5.pcx  304  430  01  12   8   11    4  // 0434 x, door 4
	1 images/newfacilities5.pcx  315  430  01  12   8  -17    4  // 0435 y, door 1
	1 images/newfacilities5.pcx  326  430  01  12   8  -17    4  // 0436 y, door 2
	1 images/newfacilities5.pcx  337  430  01  12   8  -17    4  // 0437 y, door 3
	1 images/newfacilities5.pcx  348  430  01  12   8  -17    4  // 0438 y, door 4
	1 images/newfacilities5.pcx   64 1032  01  19  38   16    0  // 0439 x, single snow
	1 images/newfacilities5.pcx  166 1032  01  19  38   10    0  // 043A y, single snow
	1 images/newfacilities5.pcx    5 1032  01  27  54    0    0  // 043B x, double snow
	1 images/newfacilities5.pcx  107 1032  01  27  54   10    0  // 043C y, double snow

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

	1 * 1	02 04 02 // ID
		81 41
		04 0F // position along platform from south
		01
		\wx8000 00 00 // single building
		\wx8002 // double building

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

	1 * 1	02 04 15 // ID
		85
		7E 02 // get building variety offset
		20 \wx00FF
		\2sto 1A
		20 \wx0006 // store in register - variety offset
		\2rst
		7E 52 // get a_frame
		20 \wx00FF
		\2-
		1A // all bits on
		20 \wx0001 // a_frame - 1
		\2sto 1A
		20 \wx0005 // store in register - door animation offset
		\2rst
		7E 62 // get hide/show flag
		20 \wx000F
		\2sto 1A
		20 \wx0002 // store in register - show door animation
		\2rst
		7E BB // get snow overlay flag
		20 \wx00FF
		\2sto 1A
		20 \wx0003 // store in register - show/hide snow
		\2rst
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx0000 \w0 \w0
		\wx0000

	// Purchase
	1 * 1	02 04 16 // ID
		85
		1A // all bits on
		20 \w0 // val = 0
		\2sto 1A
		20 \wx0006 // store in register - variety offset
		\2sto 1A
		20 \wx0005 // store in register - door animation offset
		\2sto 1A
		20 \wx0002 // store in register - show door animation
		\2sto 1A
		20 \wx0003 // store in register - show/hide snow
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx0000 \w0 \w0
		\wx0000

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

	// Callback handler
	1 * 1	02 04 03 // ID
		85 0C // callback
		00 \wxFFFF
		03
		\wx8000 \wx0014 \wx0014 // sprite layout
		\wx0059 \wx0140 \wx0140 // animation control
		\wx0055 \wx0141 \wx0141 // animation frame
		\wx0015 // real sprites

	// For purchase list
	1 * 1	02 04 04 // ID
		85 0C // callback
		00 \wxFFFF
		01
		\wx8000 \wx0014 \wx0014 // sprite layout
		\wx0016 // real sprites

	1 * 1	03 04
		01 SMALL_WAREHOUSE
		01
		FF \wx0004 // purchase
		\wx0003


	1 * 1	00 04 0B 01 MODERN_WAREHOUSE
		08 "ISRF"

		// Sprite layout
		1A 04
			// 00 (x)
			43
			\dx00000F8D \wx0002 // ground sprite
			10 // register
			\dx8000842D \wx0000
			00 00 00 // x/y/z offset
			10 10 13 // x/y/z extent
			\dx80000439 \wx0001 // snow
			04 01 80 // x/y/z offset
			03 // register
			\dx80000431 \wx0003 // door
			1F 13 80 // x/y/z offset
			02 05 // registers

			// 01 (y)
			43
			\dx00000F8D \wx0002 // ground sprite
			10 // register
			\dx8000842E \wx0000
			00 00 00 // x/y/z offset
			10 10 13 // x/y/z extent
			\dx8000043A \wx0001 // snow
			04 01 80 // x/y/z offset
			03 // register
			\dx80000435 \wx0003 // door
			1F 19 80 // x/y/z offset
			02 05 // registers

			// 02 (x)
			43
			\dx00000F8D \wx0002 // ground sprite
			10 // register
			\dx8000842F \wx0000
			00 00 00 // x/y/z offset
			10 10 13 // x/y/z extent
			\dx8000043B \wx0001 // snow
			04 01 80 // x/y/z offset
			03 // register
			\dx80000431 \wx0003 // door
			1F 13 80 // x/y/z offset
			02 05 // registers

			// 03 (y)
			43
			\dx00000F8D \wx0002 // ground sprite
			10 // register
			\dx80008430 \wx0000
			00 00 00 // x/y/z offset
			10 10 13 // x/y/z extent
			\dx8000043C \wx0001 // snow
			04 01 80 // x/y/z offset
			03 // register
			\dx80000435 \wx0003 // door
			1F 13 80 // x/y/z offset
			02 05 // registers

		0B 06 // use callback to determine layout (2) and next animation frame (4)

		0C FE // only allow a width of 1

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

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

		// General flags
		13 04 // give callback 141 random bits in variable 10

		16 \wx0009 // animation info 10 frames
		17 04      // animation speed 2^4 ticks per frame
		18 \wx0003 // animation triggers - build (1), cargo arrives (2)


	1 * 1	01 04 01 10
	1 images/newfacilities5.pcx    72 483 01 50 64 -31 -19  // 042D x, type a
	1 images/newfacilities5.pcx   206 483 01 56 64 -31 -25  // 042E y, type a
	1 images/newfacilities5.pcx     5 483 01 50 64 -31 -19  // 042F x, type b
	1 images/newfacilities5.pcx   139 483 01 50 64 -31 -19  // 0430 y, type b

	1 images/newfacilities5.pcx   273 483 01 16 16   7   9  // 0431 x, door 1
	1 images/newfacilities5.pcx   292 483 01 16 16   7   9  // 0432 x, door 2
	1 images/newfacilities5.pcx   311 483 01 16 16   7   9  // 0433 x, door 3
	1 images/newfacilities5.pcx   330 483 01 16 16   7   9  // 0434 x, door 4
	1 images/newfacilities5.pcx   273 503 01 16 16 -21   9  // 0435 y, door 1
	1 images/newfacilities5.pcx   292 503 01 16 16 -21   9  // 0436 y, door 2
	1 images/newfacilities5.pcx   311 503 01 16 16 -21   9  // 0437 y, door 3
	1 images/newfacilities5.pcx   330 503 01 16 16 -21   9  // 0438 y, door 4

	1 images/newfacilities5.pcx   66 1064 01 27 56   0   0  // 0439 x, type a snow
	1 images/newfacilities5.pcx  188 1064 01 33 56   0   0  // 043A y, type a snow
	1 images/newfacilities5.pcx    5 1064 01 27 56   0   0  // 043B x, type b snow
	1 images/newfacilities5.pcx  127 1064 01 27 56   0   0  // 043C y, type b snow

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


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

	1 * 1	02 04 15 // ID
		85
		7E 52 // get a_frame
		20 \wx00FF
		\2-
		1A // all bits on
		20 \wx0001 // a_frame - 1
		\2sto 1A
		20 \wx0005 // store in register - door animation offset
		\2rst
		7E 62 // get hide/show flag
		20 \wx000F
		\2sto 1A
		20 \wx0002 // store in register - show door animation
		\2rst
		7E BB // get snow overlay flag
		20 \wx00FF
		\2sto 1A
		20 \wx0003 // store in register - show/hide snow
		\2rst
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx0000 \w0 \w0
		\wx0000

	// Purchase
	1 * 1	02 04 16 // ID
		85
		1A // all bits on
		20 \w0 // val = 0
		\2sto 1A
		20 \wx0005 // store in register - door animation offset
		\2sto 1A
		20 \wx0002 // store in register - show door animation
		\2sto 1A
		20 \wx0003 // store in register - show/hide snow
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx0000 \w0 \w0
		\wx0000

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


	// Callback 14
	1 * 1	02 04 02 // ID
		80
		00 // don't re-randomise
		10 // use bit 16
		02
		\wx8000
		\wx8002

	1 * 1	02 04 03 // ID
		85 0C // callback
		00 \wxFFFF
		03
		\wx0002 \wx0014 \wx0014 // sprite layout
		\wx0059 \wx0140 \wx0140 // animation control
		\wx0055 \wx0141 \wx0141 // animation frame
		\wx0015 // real sprites

	// For purchase list
	1 * 1	02 04 04 // ID
		85 0C // callback
		00 \wxFFFF
		01
		\wx8000 \wx0014 \wx0014 // sprite layout
		\wx0016 // real sprites

	1 * 1	03 04
		01 MODERN_WAREHOUSE
		01
		FF \wx0004 // purchase
		\wx0003


	1 * 1	00 04 06 01 BRICK_WAREHOUSES
		08 "ISRF"

		// Sprite layout
		1A 02
			// 00 (x)
			42
			\dx00000F8D \wx0002 // ground sprite
			10 // register
			\dx8000842D \wx0002
			00 00 00 // x/y/z offset
			10 10 18 // x/y/z extent
			06 // register
			\dx80000433 \wx0001 // snow
			00 00 80 // x/y/z offset
			03 // register

			// 01 (y)
			42
			\dx00000F8D \wx0002 // ground sprite
			10 // register
			\dx8000842E \wx0002
			00 00 00 // x/y/z offset
			10 10 18 // x/y/z extent
			06 // register
			\dx80000434 \wx0001 // snow
			00 00 80 // x/y/z offset
			03 // register

		0B 02 // use callback to determine layout

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

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


	1 * 1	01 04 01 08
	1 images/newfacilities5.pcx     5  614  09   55  64  -31 -24 // 042D x, type 1
	1 images/newfacilities5.pcx   210  614  09   55  64  -31 -24 // 042E y, type 1
	1 images/newfacilities5.pcx    73  614  09   55  64  -31 -24 // 042F x, type 2
	1 images/newfacilities5.pcx   279  614  09   55  64  -31 -24 // 0430 y, type 2
	1 images/newfacilities5.pcx   141  614  09   55  64  -31 -24 // 0431 x, type 3
	1 images/newfacilities5.pcx   347  614  09   55  64  -31 -24 // 0432 y, type 3
	1 images/newfacilities5.pcx     5 1135  09   39  64    0   0 // 0433 x, snow
	1 images/newfacilities5.pcx    74 1135  09   39  64    0   0 // 0434 y, snow

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


	1 * 1	02 04 03 // ID
		80
		00 // don't re-randomise
		10 // use bits 16 to 19
		10
		\wx8000
		\wx8002
		\wx8004
		\wx8000
		\wx8002
		\wx8004
		\wx8000
		\wx8002
		\wx8004
		\wx8000
		\wx8002
		\wx8004
		\wx8000
		\wx8002
		\wx8004
		\wx8000

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

	1 * 1	02 04 15 // ID
		85
		7E 03 // get variety offset
		20 \wx00FF
		\2sto 1A
		20 \wx0006 // store in register - variety offset
		\2rst
		7E BB // get snow overlay flag
		20 \wx00FF
		\2sto 1A
		20 \wx0003 // store in register - show/hide snow
		\2rst
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx0000 \w0 \w0
		\wx0000

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

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

	1 * 1	03 04
		01 BRICK_WAREHOUSES
		00
		\wx0004


	1 * 1	00 04 0C 01 STORAGE_FACILITY
		08 "ISRF"

		// Sprite layout
		1A 02
			// 00 (x)
			43
			\dx00000F8D \wx0002 // ground sprite
			10 // register
			\dx8000842D \wx0000
			00 00 00 // x/y/z offset
			10 10 13 // x/y/z extent
			\dx80000437 \wx0001 // snow
			05 00 80 // x/y/z offset
			03 // register
			\dx8000842F \wx0003 // door
			1F 0F 80 // x/y/z offset
			02 05 // registers

			// 01 (y)
			43
			\dx00000F8D \wx0002 // ground sprite
			10 // register
			\dx8000842E \wx0000
			00 00 00 // x/y/z offset
			10 10 13 // x/y/z extent
			\dx80000438 \wx0001 // snow
			03 00 80 // x/y/z offset
			03 // register
			\dx80008433 \wx0003 // door
			1F 0F 80 // x/y/z offset
			02 05 // registers

		0B 06 // use callback to determine layout (2) and next animation frame (4)

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

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

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

		// General flags
		13 04 // give callback 141 random bits in variable 10

		16 \wx0009 // animation info 10 frames
		17 04      // animation speed 2^4 ticks per frame
		18 \wx0003 // animation triggers - build (1), cargo arrives (2)


	1 * 1	01 04 01 0C
	1 images/newfacilities5.pcx    5   554  09   46  64  -31 -15 // 042D x, building
	1 images/newfacilities5.pcx   73   554  09   46  64  -31 -15 // 042E y, building
	1 images/newfacilities5.pcx   197  554  01   14  10  -24   4 // 042F x, door 1
	1 images/newfacilities5.pcx   211  554  01   14  10  -24   4 // 0430 x, door 2
	1 images/newfacilities5.pcx   225  554  01   14  10  -24   4 // 0431 x, door 3
	1 images/newfacilities5.pcx   239  554  01   14  10  -24   4 // 0432 x, door 4
	1 images/newfacilities5.pcx   141  554  01   14  10    2  11 // 0433 y, door 1
	1 images/newfacilities5.pcx   155  554  01   14  10    2  11 // 0434 y, door 2
	1 images/newfacilities5.pcx   169  554  01   14  10    2  11 // 0435 y, door 3
	1 images/newfacilities5.pcx   183  554  01   14  10    2  11 // 0436 y, door 4
	1 images/newfacilities5.pcx     5 1102  01   27  56    0   0 // 0437 x, snow
	1 images/newfacilities5.pcx    66 1102  01   27  56    0   0 // 0438 y, snow

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

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

	1 * 1	02 04 15 // ID
		85
		7E 52 // get a_frame
		20 \wx00FF
		\2-
		1A // all bits on
		20 \wx0001 // a_frame - 1
		\2sto 1A
		20 \wx0005 // store in register - door animation offset
		\2rst
		7E 62 // get door show/hide flag
		20 \wx000F
		\2sto 1A
		20 \wx0002 // store in register - show/hide door
		\2rst
		7E BB // get snow overlay flag
		20 \wx00FF
		\2sto 1A
		20 \wx0003 // store in register - show/hide snow
		\2rst
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx0000 \w0 \w0
		\wx0000

	// Purchase
	1 * 1	02 04 16 // ID
		85
		1A // all bits on
		20 \w0 // val = 0
		\2sto 1A
		20 \wx0005 // store in register - door animation offset
		\2sto 1A
		20 \wx0002 // store in register - show/hide door
		\2sto 1A
		20 \wx0003 // store in register - show/hide snow
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx0000 \w0 \w0
		\wx0000

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

	// Callback handler
	1 * 1	02 04 01 // ID
		85 0C // callback
		00 \wxFFFF
		03
		\wx8000 \wx0014 \wx0014 // sprite layout
		\wx0059 \wx0140 \wx0140 // animation control
		\wx0055 \wx0141 \wx0141 // animation frame
		\wx0015 // real sprites

	// For purchase list
	1 * 1	02 04 02 // ID
		85 0C // callback
		00 \wxFFFF
		01
		\wx8000 \wx0014 \wx0014 // sprite layout
		\wx0016 // real sprites

	1 * 1	03 04
		01 STORAGE_FACILITY
		01
		FF \wx0002 // purchase
		\wx0001


	1 * 1	00 04 06 01 STORAGE_TANKS
		08 "ISRF"

		// Sprite layout
		1A 02
			// 00 (x)
			42
			\dx00000F8D \wx0002 // ground sprite
			10 // register
			\dx8000842D \wx0000
			00 00 00 // x/y/z offset
			10 10 13 // x/y/z extent
			\dx8000042F \wx0001 // snow
			05 00 80 // x/y/z offset
			03 // register

			// 01 (y)
			42
			\dx00000F8D \wx0002 // ground sprite
			10 // register
			\dx8000842E \wx0000
			00 00 00 // x/y/z offset
			10 10 13 // x/y/z extent
			\dx80000430 \wx0001 // snow
			05 00 80 // x/y/z offset
			03 // register

		0B 02 // use callback to determine layout

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

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


	1 * 1	01 04 02 04
	1 images/newfacilities5.pcx  208  371  01  47  64 -31 -16 // x, small
	1 images/newfacilities5.pcx   73  371  01  47  64 -31 -16 // y, small
	1 images/newfacilities5.pcx   46 1014  01   8  18  18   1 // x, small snow
	1 images/newfacilities5.pcx   46 1014  01   8  18  18   1 // y, small snow
	1 images/newfacilities5.pcx  140  371  01  44  64 -31 -13 // x, large
	1 images/newfacilities5.pcx    5  371  01  44  64 -31 -13 // y, large
	1 images/newfacilities5.pcx   69 1014  01  14  36   9   1 // x, large snow
	1 images/newfacilities5.pcx    5 1014  01  14  36   9   1 // y, large snow

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

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

	1 * 1	02 04 02 // ID
		80
		00 // don't re-randomise
		10 // use bit 16
		02
		\wx0000
		\wx0001


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

	1 * 1	02 04 15 // ID
		85
		7E BB // get snow overlay flag
		20 \wx00FF
		\2sto 1A
		20 \wx0003 // store in register - show/hide snow
		\2rst
		7E BF // get normal/snow/desert offset
		20 \wx7FFF
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx0002 \w0 \w0
		\wx0002

	// Purchase
	1 * 1	02 04 16 // ID
		85
		1A // all bits on
		20 \w0 // val = 0
		\2sto 1A
		20 \wx0003 // store in register - show/hide snow
		\2sto 1A
		00 \wx0010 // store in register - ground sprite offset
		01
		\wx0000 \w0 \w0
		\wx0000

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

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

	// For purchase list
	1 * 1	02 04 05 // ID
		81 0C // callback
		00 FF
		01
		\wx8000 14 14 // sprite layout
		\wx0016 // real sprites

	1 * 1	03 04
		01 STORAGE_TANKS
		01
		FF \wx0005 // purchase
		\wx0003


	1 * 1	00 04 05 01 TRAIN_SHEDS
		08 "ISRF"

		// Sprite layout
		1A 02
			// 00 (x)
			44
			\dx000003F4 \wx0000 // ground sprite - track
			\dx80000431 \wx0000 // shed back part
			00 00 00 // x/y/z offset
			10 05 0F // x/y/z extent
			\dx8000842D \wx0002 // shed front
			00 00 00 // x/y/z offset
			10 10 1C // x/y/z extent
			0A // register
			\dx80000435 \wx0001 // shed snow
			00 00 80 // x/y/z offset
			03 // registers
			\dx80000433 \wx0001 // door
			0B 1B 80 // x/y/z offset
			02 // register

			// 01 (y)
			44
			\dx000003F3 \wx0000 // ground sprite - track
			\dx80000432 \wx0000 // shed back part
			00 00 00 // x/y/z offset
			05 10 0F // x/y/z extent
			\dx8000842E \wx0002 // shed front
			00 00 00 // x/y/z offset
			10 10 1C // x/y/z extent
			0A // register
			\dx80000436 \wx0001 // shed snow
			01 00 80 // x/y/z offset
			03 // registers
			\dx80000434 \wx0001 // door
			2A 1B 80 // x/y/z offset
			02 // register

		0B 02 // use callback to determine layout

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


	1 * 1	02 04 07 // ID
		80
		00 // don't re-randomise
		10 // use bit 16
		02
		\wx8000
		\wx8002

//@@WARNING DISABLE 100

	1 * 1	02 04 16 // ID
		85
		7E 07 // get train shed variety offset
		20 \wx00FF
		\2sto 1A
		20 \wx000A // store in register
		\2rst
		7E BB // get snow overlay flag
		20 \wx00FF
		\2sto 1A
		20 \wx0003 // store in register - show/hide snow
		\2rst
		7E BC // get door show/hide flag
		20 \wx00FF
		\2sto 1A
		00 \wx0002 // store in register
		01
		\wx00EC \w0 \w0
		\wx00EC

	// Purchase
	1 * 1	02 04 17 // ID
		85
		1A
		20 \w0 // show first variety
		\2sto 1A
		20 \wx000A // store in register - train shed variety offset
		\2sto 1A
		20 \wx0003 // store in register - show/hide snow
		\2rst
		1A
		20 \w1 // show door
		\2sto 1A
		00 \wx0002 // store in register - door show/hide flag
		01
		\wx00EC \w0 \w0
		\wx00EC

//@@WARNING ENABLE 100

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

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

	1 * 1	03 04
		01 TRAIN_SHEDS
		01
		FF \wx0002 // purchase
		\wx0004
