ogfx-rv-gimp.diff

Return to the initial folder
  1. diff --git a/Makefile b/Makefile
  2. --- a/Makefile
  3. +++ b/Makefile
  4. @@ -1,44 +1,50 @@
  5.  # Generic NewGRF Makefile
  6.  
  7. -# Name of the Makefile which contains all the settings which describe
  8. -# how to make this newgrf. It defines all the paths, the grf name,
  9. -# the files for a bundle etc.
  10. -MAKEFILE=Makefile
  11. -MAKEFILE_DEP=Makefile.dep
  12. -
  13. -# Include the project's configuration file
  14. +# Necessary defines unique to this NewGRF
  15.  include Makefile.config
  16.  
  17. -# this overrides definitions from above by individual settings
  18. -# (if applicable):
  19. --include Makefile.dist
  20. --include Makefile.local
  21. -
  22. -# include the universal Makefile definitions for NewGRF Projects
  23. +# Necessary defines common to all NewGRFs
  24.  include scripts/Makefile.def
  25.  
  26. -# Check dependencies for building all:
  27. -all: $(TARGET_FILES) $(DOC_FILES)
  28. -	
  29. -# Rules used by all projects
  30. -include scripts/Makefile.common
  31. +.PHONY: all docs grf bundle bundle_src build clean remake distclean
  32. +.DEFAULT:
  33.  
  34. -# Include the project type specific Makefiles. They take care of
  35. -# their conditional inclusion themselves
  36. --include scripts/Makefile_nfo # nfo-style projects
  37. --include scripts/Makefile_nml # nml-style projects
  38. --include scripts/Makefile_obg # additionally for graphic base sets
  39. --include scripts/Makefile_obs # sound base sets
  40. +# most important build targets for users
  41. +all:
  42. +	$(_V) $(MAKE) $(MAKE_FLAGS) depend
  43. +	$(_V) $(MAKE) $(MAKE_FLAGS) $(TARGET_FILES) $(DOC_FILES) RECURSIVE=1
  44.  
  45. -# Include repo-specific rules (if applicable)
  46. --include Makefile.in
  47. --include scripts/Makefile.in
  48. +docs: $(DOC_FILES)
  49.  
  50. -# Include rules for bundle generation
  51. -include scripts/Makefile.bundles
  52. +grf: $(GRF_FILES)
  53.  
  54. -# Include dependencies (if applicable)
  55. +bundle: $(DIR_NAME)
  56. +
  57. +clean::
  58. +	$(_E) "[CLEAN]"
  59. +
  60. +remake:
  61. +	$(_V) $(MAKE) $(MAKE_FLAGS) clean
  62. +	$(_V) $(MAKE) $(MAKE_FLAGS) all
  63. +
  64. +distclean:: clean
  65. +	$(_E) "[DISTCLEAN]"
  66. +
  67. +# Conditionally include the Makefiles listing the 
  68. +#    dependencies
  69. +ifdef RECURSIVE
  70.  -include Makefile.dep
  71.  -include $(patsubst %.grf,%.src.dep,$(GRF_FILES))
  72.  -include $(patsubst %.grf,%.gfx.dep,$(GRF_FILES))
  73. --include Makefile_gfx.dep # write png files from source psd/xcf files
  74. +endif
  75. +
  76. +# Stuff common to all NewGRFs
  77. +include scripts/Makefile.common
  78. +
  79. +# Include the language - specific makefile
  80. +-include scripts/Makefile.nml
  81. +-include scripts/Makefile.nfo
  82. +
  83. +# Include bundles etc
  84. +include scripts/Makefile.bundles
  85. +
  86. diff --git a/Makefile.config b/Makefile.config
  87. --- a/Makefile.config
  88. +++ b/Makefile.config
  89. @@ -1,49 +1,25 @@
  90.  # This file defines the principal settings for this project
  91.  
  92. +# The name of the NewGRF as displayed
  93.  REPO_NAME          := OpenGFX+ Road Vehicles
  94. -GRF_ID             := \"OG+\" 02
  95.  
  96. +# The NewGRF file which shall be created
  97.  TARGET_FILES       := ogfx-rv.grf
  98.  
  99. -# Uncomment those lines which are applicable
  100. -# USE_NFO := 1
  101. -USE_NML := 1
  102. -# USE_OBJ := 1
  103. -# USE_CAT := 1
  104. -
  105. -# If you want to use gimp to automatically create the png files from
  106. -# layered source files (psd or xcf), uncomment the following line and
  107. -# create the file and add one line per png file which shall be created:
  108. -# png filename <tab> source filename <tab> layer numbers separated by space
  109. -# (see also scripts/gimpscript)
  110. -GRAPHICS_SOURCE_LIST_FILE := src/gfx/png_source_list
  111. +# A list of files which define how graphics are created from psd / xcf files
  112. +GRAPHICS_SOURCE_LIST_FILES := src/gfx/png_source_list
  113.  
  114.  # If everything is default, you don't need the rest:
  115.  
  116.  # comment out those dirs which are not in use
  117.  SRC_DIR            := src
  118. +GFX_DIR            := gfx
  119.  DOC_DIR            := docs
  120.  SCRIPT_DIR         := scripts
  121.  LANG_DIR           := lang
  122. -# Add any dirs which shall be bundled in a source release additionally
  123. -# to the dirs mentioned above.
  124. -EXTRA_DIRS         :=
  125. -
  126. -# separate dirs for the nfo and pcx files (must be a subdir of 
  127. -# or the same as the SRC_DIR )
  128. -NFO_DIR            := $(SRC_DIR)/nfo
  129. -PCX_DIR            := $(SRC_DIR)/pcx
  130. -WAV_DIR            := $(SRC_DIR)/wav
  131.  
  132.  # Documentation files:
  133. -DOC_FILES = docs/readme.txt docs/license.txt docs/changelog.txt
  134. -
  135. -# file extentions which indicate plain text source files, 
  136. -# parsable by a text editor
  137. -# FILE_SRC_EXTENSIONS = pnfo tnfo nml pnml tnml
  138. -
  139. -# file extensions which indicate binary source files
  140. -# FILE_INC_EXTENSIONS = wav pcx png
  141. +DOC_FILES = $(DOC_DIR)/readme.txt $(DOC_DIR)/license.txt $(DOC_DIR)/changelog.txt
  142.  
  143.  # Replacement strings in the source and in the documentation
  144.  # You may only change the values, not add new definitions
  145. @@ -60,6 +36,3 @@
  146.  # Add any additional, not usual files here, too, including
  147.  # their relative path to the root of the repository
  148.  BUNDLE_FILES           = $(TARGET_FILES) $(DOC_FILES)
  149. -
  150. -# Files which also need cleaning:
  151. -CLEAN_ADD             := 
  152. diff --git a/Makefile.local.sample b/Makefile.local.sample
  153. --- a/Makefile.local.sample
  154. +++ b/Makefile.local.sample
  155. @@ -11,10 +11,6 @@
  156.  # Programme definitions / search paths
  157.  ################################################################
  158.  # Build parameters and programmes
  159. -# NFORENUM_FLAGS = $(shell [ `$(NFORENUM) -s -v 2>/dev/null | wc -l ` -eq 1 ] && echo "-s" || echo "")
  160. -# NFO_WARN_LEVEL = 4 
  161. -# GRFCODEC_FLAGS = $(shell $(GRFCODEC) -s -v >/dev/null 2>/dev/null && echo "-s" || echo "") -e -p 2 -c
  162. -# CATCODEC_FLAGS = -e
  163.  # TAR_FLAGS      = -cf 
  164.  # ZIP_FLAGS      = -r
  165.  # SRCZIP_FLAGS   =
  166. @@ -24,9 +20,6 @@
  167.  # UNIX2DOS_FLAGS = -q
  168.  # NML_FLAGS      =
  169.  
  170. -# NFORENUM       = nforenum
  171. -# GRFCODEC       = grfcodec
  172. -# CATCODEC       = catcodec
  173.  # TAR            = tar
  174.  # ZIP            = zip
  175.  # SRCZIP         = gzip
  176. @@ -45,8 +38,6 @@
  177.  # "none":   Skip the dependency generation (mostly)
  178.  # DEP_CHECK_TYPE := mdep
  179.  
  180. -
  181. -
  182.  # Remove the @ when you want a more verbose output.
  183.  # _V = @
  184.  # _E = @echo
  185. diff --git a/scripts/Makefile.bundles b/scripts/Makefile.bundles
  186. --- a/scripts/Makefile.bundles
  187. +++ b/scripts/Makefile.bundles
  188. @@ -1,44 +1,61 @@
  189. -$(DIR_NAME): $(MAKEFILE_DEP) $(BUNDLE_FILES)
  190. +################################################################
  191. +# Paths and dirs needed for packaging
  192. +################################################################
  193. +# Directories which to remember when creating a source release
  194. +MAIN_DIRS           = $(SRC_DIR) $(DOC_DIR) $(SCRIPT_DIR) $(TEMPLATE_DIR) $(LANG_DIR) $(EXTRA_DIRS)
  195. +
  196. +FILE_SRC_RE        := $(shell echo $(FILE_SRC_EXTENSIONS) | sed -e "s/[[:space:]]/|/g")
  197. +FILE_INC_RE        := $(shell echo $(FILE_INC_EXTENSIONS) | sed -e "s/[[:space:]]/|/g")
  198. +FILES_NOT_PACK_RE  := "(\.hgignore|\.hgtags|\.hgeol|backup\.push|\.devzone)"
  199. +
  200. +################################################################
  201. +# Targets for packaging
  202. +################################################################
  203. +
  204. +# Directory which contains everything which is about to be bundled
  205. +$(DIR_NAME): $(BUNDLE_FILES)
  206.  	$(_E) "[BUNDLE]"
  207.  	$(_E) "[ASSEMBLING] $@"
  208.  	$(_V) if [ -e $@ ]; then rm -rf $@; fi
  209.  	$(_V) mkdir $@
  210.  	$(_V) -for i in $(BUNDLE_FILES); do cp $(CP_FLAGS) $$i $@; done
  211.  
  212. +# Create the release bundle with all files in one tar
  213.  %.tar: %
  214. -# Create the release bundle with all files in one tar
  215.  	$(_E) "[TAR] $@"
  216.  	$(_V) $(TAR) $(TAR_FLAGS) $@ $(basename $@)
  217.  
  218. -bundle: $(DIR_NAME)
  219.  bundle_tar: $(TAR_FILENAME)
  220. +
  221.  bundle_zip: $(ZIP_FILENAME)
  222.  %.zip: $(DIR_NAME)
  223.  	$(_E) "[ZIP] $@"
  224.  	$(_V) $(ZIP) $(ZIP_FLAGS) $@ $< >/dev/null
  225. +
  226.  bundle_bzip: $(BZIP_FILENAME)
  227.  %.tar.bz2: %.tar
  228.  	$(_E) "[BZIP] $@"
  229.  	$(_V) $(BZIP) $(BZIP_FLAGS) $^
  230. +
  231.  bundle_gzip: $(GZIP_FILENAME)
  232. +
  233.  # gzip has no option -k, so we cat the tar to keep it
  234.  %.tar.gz: %.tar
  235.  	$(_E) "[GZIP] $@"
  236.  	$(_V) cat $^ | $(GZIP) $(GZIP_FLAGS) > $@
  237. +
  238.  bundle_xz: $(XZ_FILENAME)
  239.  %.tar.xz: %.tar
  240.  	$(_E) "[XZ] $@"
  241.  	$(_V) $(XZ) $(XZ_FLAGS) $^
  242.  
  243. -# Installation process
  244. +################################################################
  245. +# Targets for installation
  246. +################################################################
  247.  install: $(DIR_NAME)
  248.  	$(_E) "[INSTALL] to $(INSTALL_DIR)"
  249.  	$(_V) install -d $(INSTALL_DIR)
  250.  	$(_V) install -m644 $(TARGET_FILES) $(INSTALL_DIR)
  251. -ifdef INSTALLDIR
  252. -	$(_E) [Warning] The use of 'INSTALLDIR' is deprecated and may be removed in the future.
  253. -	$(_E) [Warning] Use 'INSTALL_DIR' instead.
  254. -endif
  255.  ifndef DO_NOT_INSTALL_DOCS
  256.  ifneq ($(filter-out $(LICENSE_FILE) $(CHANGELOG_FILE),$(DOC_FILES)),)
  257.  	$(_E) [INSTALL] docs to $(DOCDIR)
  258. @@ -62,13 +79,15 @@
  259.  endif
  260.  
  261.  
  262. -
  263. -md5: $(MD5_FILENAME)
  264. +################################################################
  265. +# Targets for source bundling
  266. +################################################################
  267.  
  268.  # OSX md5 programm generates slightly different output. Aleviate that by throwing some sed on all output:
  269.  %.md5: $(TARGET_FILES)
  270.  	$(_E) "[MD5] $@"
  271.  	$(_V) $(MD5SUM) $(TARGET_FILES) | sed "s/  / /;s/ /  /" > $@
  272. +md5: $(MD5_FILENAME)
  273.  
  274.  # OSX md5 programm generates slightly different output. Aleviate that by throwing some sed on all output:
  275.  check: $(MD5_FILENAME)
  276. @@ -90,7 +109,7 @@
  277.  	$(_V) for k in `for i in $(REPO_FILES); do for j in $(MAIN_DIRS); do echo "$$i" | grep -E "^$$j" | grep -E -v $(FILES_NOT_PACK_RE); done; done;`; do cp $(CP_FLAGS) $$k $(addprefix $(DIR_NAME_SRC)/,$$k); done
  278.  	$(_V) for k in `for i in $(REPO_FILES); do echo "$$i" | grep -v "/" | grep -E -v $(FILES_NOT_PACK_RE); done;`; do cp $(CP_FLAGS) $$k $(DIR_NAME_SRC); done
  279.  	$(_V) cp $(CP_FLAGS) $(MD5_SRC_FILENAME) $(DIR_NAME_SRC)
  280. -	$(_V) cp $(CP_FLAGS) Makefile.local.sample $(DIR_NAME_SRC)/Makefile.dist
  281. +	$(_V) echo -e "# This file is auto generated to make source bundle independent from Mercurial repository.\n" > $(DIR_NAME_SRC)/Makefile.dist
  282.  	$(_V) echo 'REPO_REVISION = $(REPO_REVISION)' >> $(DIR_NAME_SRC)/Makefile.dist
  283.  	$(_V) echo 'REPO_BRANCH = $(REPO_BRANCH)' >> $(DIR_NAME_SRC)/Makefile.dist
  284.  	$(_V) echo 'REPO_MODIFIED = $(REPO_MODIFIED)' >> $(DIR_NAME_SRC)/Makefile.dist
  285. diff --git a/scripts/Makefile.common b/scripts/Makefile.common
  286. --- a/scripts/Makefile.common
  287. +++ b/scripts/Makefile.common
  288. @@ -1,27 +1,29 @@
  289.  .PHONY: addcheck all bundle bundle_bsrc bundle_bzip bundle_gsrc bundle_src bundle_tar bundle_xsrc bundle_xz bundle_zip bundle_zsrc check clean depend distclean docs mrproper test
  290. -.DEFAULT:
  291. +VPATH =
  292. +VPATH = $(REPO_DIRS)
  293. +.PRECIOUS: %.nml %.nfo %.scm
  294. +
  295. +################################################################
  296. +# Cleaning targets
  297. +################################################################
  298.  
  299.  # Clean the source tree
  300. -clean:
  301. -	$(_E) "[CLEANING]"
  302. -	$(_V)-rm -rf *.orig *.pre *.bak *.grf *~
  303. -	$(_V)-rm -rf *.dep $(TARGET_FILES) $(REV_FILENAME) md5.check 
  304. +clean::
  305. +	$(_V)-rm -rf Makefile.dep $(TARGET_FILES) $(REV_FILENAME) md5.check
  306.  	$(_V)-rm -rf $(patsubst %.grf,%.md5,$(GRF_FILES))
  307. -	$(_V)-rm -rf $(patsubst %.grf,%.nml,$(GRF_FILES))
  308. -	$(_V)-rm -rf $(patsubst %.grf,%.cnfo,$(GRF_FILES)) $(patsubst %.grf,%.nfo,$(GRF_FILES))
  309. -	$(_V) for name in `cat $(GRAPHICS_SOURCE_LIST_FILE) | grep -v '^#' | $(AWK) 'BEGIN { FS="\t+"} ; { print $$1".scr" }'`; do [ -w $$name ] && rm $$name; done
  310. +	$(_V)-rm -rf $(patsubst %.grf,%.gfx.dep,$(GRF_FILES))
  311. +	$(_V)-rm -rf $(patsubst %.grf,%.src.dep,$(GRF_FILES))
  312. +	$(_V)-for i in `cat $(GRAPHICS_SOURCE_LIST_FILES)  | cut -d\  -f1 | grep "\([pP][cCnN][xXgG]\)" | sed "s/\([pP][cCnN][xXgG]\)/scm/"`; do rm -rf $$i; done
  313. +	$(_V)-for i in `cat $(GRAPHICS_SOURCE_LIST_FILES)  | cut -d\  -f1 | grep "\([pP][cCnN][xXgG]\)"`; do rm -rf $$i; done
  314.  	$(_V)-rm -rf $(DIR_NAME)
  315. -	$(_V)-if [ "$(CLEAN_ADD)" ]; then for i in `ls $(CLEAN_ADD) 2> /dev/null`; do [ "$$i" != "" ] && rm $$i; done; fi
  316.  
  317.  # More thoroughly clean the source tree. Should restore the initial
  318.  # state of a tarball (except for manual changes to Makefile.local, of
  319.  # course).
  320. -distclean: clean
  321. +distclean:: clean
  322.  	$(_E) "[DISTCLEAN]"
  323. -	$(_V)-rm -rf $(SRC_DIR)/$(FILENAME_STUB) $(DIR_NAME_SRC) $(DIR_NAME)
  324. -	$(_V)-rm -rf $(DIR_BASE)*source*
  325. -	$(_V)-rm -rf *.$(REV_EXTENSION)
  326. -	$(_V)-rm -rf $(DIR_BASE)*nightly*.zip
  327. +	$(_V)-rm -rf $(SRC_DIR)/$(FILENAME_STUB) $(DIR_NAME_SRC)
  328. +	$(_V)-rm -rf $(DIR_BASE)*
  329.  
  330.  # Even more thoroughly clean the tree. Intended to be used on a
  331.  # repository checkout. Also cleans files that are in a source tarball,
  332. @@ -29,10 +31,6 @@
  333.  mrproper: distclean
  334.  	$(_E) "[MRPOPER]"
  335.  	$(_V)-rm -rf $(MD5_FILENAME)
  336. -	
  337. -# Rebuild the repository
  338. -remake:
  339. -	$(_V) $(MAKE) clean && $(MAKE) 
  340.  
  341.  # Print the output for a number of variables which define this newgrf.
  342.  test::
  343. @@ -68,10 +66,6 @@
  344.  #	$(_E) "Repository files:             $(REPO_FILES)"
  345.  #	$(_E) "Bundle source files:          `for i in $(REPO_FILES); do for j in $(MAIN_DIRS); do echo "$$i" | grep "$$j"; done; done;`"
  346.  
  347. -.PRECIOUS: %.nfo %.nml %.cnfo
  348. -.SECONDARY: %.nfo %.nml %.cnfo
  349. -.DELETE_ON_ERROR: %.cnfo
  350. -
  351.  %.txt: %.ptxt $(REV_FILENAME) $(MD5_FILENAME)
  352.  	$(_E) "[TXT] $@"
  353.  	$(_V) cat $< \
  354. @@ -83,62 +77,34 @@
  355.  		> $@
  356.  	$(_V) [ -z "$(UNIX2DOS)" ] || $(UNIX2DOS) $(UNIX2DOS_FLAGS) $@
  357.  
  358. -docs: $(DOC_FILES)
  359. +# Determine and write several dependencies into a special dependency file:
  360. +#    - graphics script files depend on the graphics source list file their png file is mentioned in
  361. +#    - graphics files depend on their respective xcf or psd files
  362. +Makefile.dep: $(GRAPHICS_SOURCE_LIST_FILES) Makefile Makefile.config $(SCRIPT_DIR)/Makefile.common $(SCRIPT_DIR)/Makefile.def $(SCRIPT_DIR)/Makefile.bundles
  363. +	$(_E) "[DEP] $@"
  364. +	$(_V) for i in `cat $(GRAPHICS_SOURCE_LIST_FILES) | grep "\([pP][cCnN][xXgG]\)" | cut -d\  -f1 | sed "s/\([pP][cCnN][xXgG]\)/scm/"`; do echo "$$i: $(GRAPHICS_SOURCE_LIST_FILES)" > $@; done
  365. +	$(_V) cat $(GRAPHICS_SOURCE_LIST_FILES) | grep "\([pP][cCnN][xXgG]\)" | sed "s/[ ] */ /g" | cut -d\  -f1-2 | sed "s/ /: /g" >> $@
  366.  
  367. -ifdef GRAPHICS_SOURCE_LIST_FILE
  368. -Makefile_gfx.dep: $(GRAPHICS_SOURCE_LIST_FILE)
  369. -	$(_E) "[GFX DEP]"
  370. -	$(_V) cat $< | grep '^#' \
  371. -		| $(AWK) 'BEGIN { FS="\t+"} ; { print $$1": "$$2" $<" }' \
  372. -		> $@
  373. -endif
  374. +depend: Makefile.dep $(patsubst %.grf,%.src.dep,$(GRF_FILES)) $(patsubst %.grf,%.gfx.dep,$(GRF_FILES))
  375.  
  376. -$(MAKEFILE_DEP) depend: $(REV_FILENAME)
  377. -	$(_E) "[DEP] $(MAKEFILE_DEP)"
  378. -	$(_V) echo "$(MAKEFILE_DEP): $(MAKEFILE) Makefile.config" > $(MAKEFILE_DEP)
  379. -	$(_V) echo "$(MAKEFILE_DEP): $(SCRIPT_DIR)/Makefile.common $(SCRIPT_DIR)/Makefile.def $(SCRIPT_DIR)/Makefile.bundles" >>$(MAKEFILE_DEP)
  380. -	$(_V) echo "$(TARGET_FILES): $(LANG_FILES) $(MAKEFILE_DEP)" >> $(MAKEFILE_DEP)
  381. -ifdef USE_NFO
  382. -	$(_V) echo "$(MAKEFILE_DEP): $(SCRIPT_DIR)/Makefile_nfo" >> $(MAKEFILE_DEP)
  383. -	$(_V) echo "$(MAKEFILE_DEP): $(SCRIPT_DIR)/mdep.py" >> $(MAKEFILE_DEP)
  384. -endif
  385. -ifdef USE_OBG
  386. -	$(_V) echo "$(MAKEFILE_DEP): $(SCRIPT_DIR)/Makefile_obg" >> $(MAKEFILE_DEP)
  387. -endif
  388. -ifdef USE_NML
  389. -	$(_V) echo "$(MAKEFILE_DEP): $(SCRIPT_DIR)/Makefile_nml" >> $(MAKEFILE_DEP)
  390. -endif
  391. -ifdef GRAPHICS_SOURCE_LIST_FILE
  392. -ifdef GIMP
  393. -	$(_E) "[DEP] *.scr"
  394. -	$(_V) cat $(GRAPHICS_SOURCE_LIST_FILE) | grep -v '^#' | while read line; do $(CC) -C -D GRAPHICS_LINE="`echo "$$line" | $(AWK) 'BEGIN { FS="\t+"} ; { print "(save-layers ???"$$2"??? ???"$$1"??? ??x??("$$3"))" }'`" -E - < scripts/gimpscript | grep -v '^#' | sed "s/??x??/'/g" | sed "s/???/\"/g" > `echo "$$line" | $(AWK) 'BEGIN { FS="\t+"} ; { print $$1".scr" }'`; done
  395. -else
  396. -	$(_E) "Gimp missing, png files not re-generated!"
  397. -endif
  398. -endif
  399. +# Dependency on source list file via dep check
  400. +%.scm: scripts/gimpscript scripts/gimp.sed
  401. +	$(_E) "[GEN] $@"
  402. +	$(_V) cat $(SCRIPT_DIR)/gimpscript > $@
  403. +	$(_V) cat $(GRAPHICS_SOURCE_LIST_FILES) | grep $(patsubst %.scm,%.png,$@) | sed -f $(SCRIPT_DIR)/gimp.sed >> $@
  404. +	$(_V) echo "(gimp-quit 0)" >> $@
  405.  
  406. -ifeq ($(DEP_CHECK_TYPE),normal)
  407. -%.gfx.dep: %.src.dep
  408. -	$(_E) "[DEP] $@"
  409. -	$(_V) echo "" > $@
  410. -	$(_V) for i in `cat $<`; do for j in `echo "$$i" | grep -iE "($(FILE_SRC_RE))"`; do if [ -f $$j ]; then for k in `cat $$j | grep -v '^//'| grep -E -o "[-|a-z|A-Z|0-9|_|/|\.]*\.($(FILE_INC_RE))"`; do echo "$(patsubst %.gfx.dep,%.grf,$@): $$k"; done; fi; done; done | sort | uniq >> $@
  411. -	$(_V) touch $@
  412. -endif
  413. -
  414. -%.png: Makefile_gfx.dep
  415. -
  416. -%.png: %.png.scr
  417. -ifdef GRAPHICS_SOURCE_LIST_FILE
  418. -ifdef GIMP
  419. +%.png: %.scm
  420.  	$(_E) "[GIMP] $@"
  421.  	$(_V) $(GIMP) $(GIMP_FLAGS) $< >/dev/null
  422. -endif
  423. -endif
  424. +	$(_V) touch $@
  425.  
  426. -# Create the dependencies. Allow project types to define their own
  427. +# Store the current version in the rev filename
  428.  $(REV_FILENAME):
  429. -	$(_V) for i in `ls *.$(REV_EXTENSION) 2> /dev/null`; do [ "$$i" != "" ] && rm $$i; done
  430. -	$(_V) touch $@
  431. +	$(_V) if [ ! -z $@ ] || [ `cat $@` != "$(VERSION_STRING)" ]; then echo "$(VERSION_STRING)" > $@; fi
  432. +
  433. +# Add the dependencies which a grf always has
  434. +%.grf: %.gfx.dep %.src.dep Makefile.dep $(REV_FILENAME)
  435.  
  436.  addcheck:
  437.  	$(_E) "[ADDCHECK] for missing repo files:"
  438. diff --git a/scripts/Makefile.def b/scripts/Makefile.def
  439. --- a/scripts/Makefile.def
  440. +++ b/scripts/Makefile.def
  441. @@ -1,65 +1,61 @@
  442.  shell = /bin/sh
  443.  
  444. -# We want to disable the default rules. It's not c/c++ anyway
  445. -.SUFFIXES:
  446. -
  447. -# Legacy settings for project type
  448. -ifeq ($(PROJECT_TYPE),NFO)
  449. -USE_NFO := 1
  450. -endif
  451. -ifeq ($(PROJECT_TYPE),NML)
  452. -USE_NML := 1
  453. -endif
  454. -
  455.  ################################################################
  456.  # Programme definitions / search paths
  457.  ################################################################
  458. -# Build parameters and programmes
  459. -NFORENUM_FLAGS ?= $(shell [ `$(NFORENUM) -s -v 2>/dev/null | wc -l ` -eq 1 ] && echo "-s" || echo "")
  460. -NFO_WARN_LEVEL ?= 4 
  461. -GRFCODEC_FLAGS ?= $(shell $(GRFCODEC) -s -v >/dev/null 2>/dev/null && echo "-s" || echo "") -e -p 2 -c
  462. -CATCODEC_FLAGS ?= -e
  463. +MAKE           ?= make
  464. +MAKE_FLAGS     ?= -r
  465. +
  466. +NML            ?= nmlc
  467. +NML_FLAGS      ?= -c
  468. +
  469. +CC             ?= gcc
  470. +CC_FLAGS       ?= -C -E - <
  471. +
  472. +GIMP           ?= $(shell [ `which gimp` ] && echo "gimp" || echo "")
  473.  GIMP_FLAGS     ?= -i -b - <
  474. +
  475. +# Macs have a different md5 command than linux or mingw envirnoment:
  476. +MD5SUM         ?= $(shell [ "$(OSTYPE)" = "Darwin" ] && echo "md5 -r" || echo "md5sum")
  477. +
  478. +TAR            ?= tar
  479.  TAR_FLAGS      ?= -cf
  480. +
  481. +ZIP            ?= zip
  482.  ZIP_FLAGS      ?= -9rq
  483. +
  484. +GZIP           ?= gzip
  485.  GZIP_FLAGS     ?= -9f
  486. +
  487. +BZIP           ?= bzip2
  488.  BZIP_FLAGS     ?= -9fk
  489. +
  490. +XZ             ?= xz
  491.  XZ_FLAGS       ?= -efk
  492. -CC_FLAGS       ?= -C -E - <
  493. -MAKE_FLAGS     ?=
  494. +
  495. +AWK            ?= awk
  496. +
  497. +HG             ?= hg
  498. +
  499. +UNIX2DOS       ?= $(shell [ `which unix2dos 2>/dev/null` ] && echo "unix2dos" || echo "")
  500.  UNIX2DOS_FLAGS ?= $(shell [ -n $(UNIX2DOS) ] && $(UNIX2DOS) -q --version 2>/dev/null && echo "-q" || echo "")
  501. -NML_FLAGS      ?=
  502. +
  503.  # OSX has nice extended file attributes which create their own file within tars. We don't want those, thus don't copy them
  504.  CP_FLAGS       ?= $(shell [ "$(OSTYPE)" = "Darwin" ] && echo "-rfX" || echo "-rf")
  505.  
  506. +SCRIPT_DIR     ?= scripts
  507. +SRC_DIR        ?= src
  508. +DOC_DIR        ?= docs
  509. +LANG_DIR       ?= lang
  510. +LANG_EXTENSION ?= lng
  511.  
  512. -NFORENUM       ?= nforenum
  513. -GRFCODEC       ?= grfcodec
  514. -CATCODEC       ?= catcodec
  515. -GIMP           ?= $(shell [ `which gimp` ] && echo "gimp" || echo "")
  516. -TAR            ?= tar
  517. -ZIP            ?= zip
  518. -GZIP           ?= gzip
  519. -BZIP           ?= bzip2
  520. -XZ             ?= xz
  521. -CC             ?= gcc
  522. -AWK            ?= awk
  523. -HG             ?= hg
  524. -MAKE           ?= make
  525. -UNIX2DOS       ?= $(shell [ `which unix2dos 2>/dev/null` ] && echo "unix2dos" || echo "")
  526. -# Macs have a different md5 command than linux or mingw envirnoment:
  527. -MD5SUM         ?= $(shell [ "$(OSTYPE)" = "Darwin" ] && echo "md5 -r" || echo "md5sum")
  528. -NML            ?= nmlc
  529.  
  530. -SCRIPT_DIR     ?= scripts
  531. -SRC_DIR        ?= sprites
  532. -NFO_DIR        ?= $(SRC_DIR)/nfo
  533. -DOC_DIR        ?= docs
  534. -ifdef USE_NML
  535. -LANG_DIR       ?= lang
  536. -endif
  537. +################################################################
  538. +# OS-specific definitions and paths
  539. +################################################################
  540. +PROJECT_NAME := $(basename $(firstword $(TARGET_FILES)))
  541.  
  542. -PROJECT_NAME := $(basename $(firstword $(TARGET_FILES)))
  543. +# Determine the OS we run on and set the default install path accordingly
  544.  OSTYPE:=$(shell uname -s)
  545.  ifeq ($(OSTYPE),Linux)
  546.  INSTALL_DIR?=$(HOME)/.openttd/data/$(PROJECT_NAME)
  547. @@ -85,26 +81,6 @@
  548.  endif
  549.  DOCDIR ?= $(INSTALL_DIR)
  550.  
  551. -# Previous versions used INSTALLDIR instead of INSTALL_DIR. Use the previous version,
  552. -# if supplied via command line parameter:
  553. -
  554. -ifdef INSTALLDIR
  555. -INSTALL_DIR = $(INSTALLDIR)
  556. -endif
  557. -
  558. -# file extentions which indicate plain text source files, 
  559. -# parsable by a text editor (SRC) and binary source files (INC)
  560. -ifdef USE_NFO
  561. -	FILE_SRC_EXTENSIONS ?= pnfo tnfo
  562. -	FILE_INC_EXTENSIONS ?= wav pcx
  563. -endif
  564. -ifdef USE_NML
  565. -	FILE_SRC_EXTENSIONS ?= pnml nml tnml
  566. -	FILE_INC_EXTENSIONS ?= wav pcx png
  567. -	TAG_FILENAME := custom_tags.txt
  568. -	LANG_FILES := $(shell ls $(LANG_DIR)/*.lng)
  569. -endif
  570. -
  571.  ################################################################
  572.  # Get the Repository revision, tags and the modified status
  573.  # The displayed name within OpenTTD / TTDPatch
  574. @@ -134,9 +110,6 @@
  575.  # a release build (tagged version): mynewgrf-0.1
  576.  # followed by an M, if the source repository is not a clean version.
  577.  
  578. -VPATH =
  579. -VPATH = $(REPO_DIRS)
  580. -
  581.  FILENAME_STUB      := $(firstword $(basename $(TARGET_FILES)))
  582.  DIR_BASE           := $(FILENAME_STUB)-
  583.  VERSION_STRING     := $(REPO_VERSION)
  584. @@ -152,7 +125,7 @@
  585.  REV_EXTENSION      ?= REV
  586.  MD5_FILENAME       := $(DIR_NAME).md5
  587.  MD5_SRC_FILENAME   := $(DIR_NAME).check.md5
  588. -REV_FILENAME       := $(VERSIONED_FILENAME).$(REV_EXTENSION)
  589. +REV_FILENAME       := version
  590.  # customly defined tags. Don't change the filename.
  591.  FILE_CUSTOM_TAGS   := custom_tags.txt
  592.  
  593. @@ -167,16 +140,7 @@
  594.  LICENSE_FILE       ?= $(filter $(DOC_DIR)/license.txt,$(DOC_FILES))
  595.  CHANGELOG_FILE     ?= $(filter $(DOC_DIR)/changelog.txt,$(DOC_FILES))
  596.  
  597. -# Directories which to remember when creating a source release
  598. -MAIN_DIRS           = $(SRC_DIR) $(DOC_DIR) $(SCRIPT_DIR) $(TEMPLATE_DIR) $(LANG_DIR) $(EXTRA_DIRS)
  599. -
  600. -FILE_SRC_RE        := $(shell echo $(FILE_SRC_EXTENSIONS) | sed -e "s/[[:space:]]/|/g")
  601. -FILE_INC_RE        := $(shell echo $(FILE_INC_EXTENSIONS) | sed -e "s/[[:space:]]/|/g")
  602. -FILES_NOT_PACK_RE  := "(\.hgignore|\.hgtags|\.hgeol|backup\.push|\.devzone)"
  603. -
  604. -# Make a bit of a guess on which dependency check we should use as default, if not defined otherwise
  605. -# mdep doesn't yet work for NML style projects
  606. -DEP_CHECK_TYPE     ?=$(shell [ `which python 2>/dev/null` ] && [ -z $(USE_NML) ] && echo "mdep" || echo "normal")
  607. +MAKEFILE_DEP       := Makefile.dep
  608.  
  609.  # Remove the @ when you want a more verbose output.
  610.  _V ?= @
  611. diff --git a/scripts/Makefile.nml b/scripts/Makefile.nml
  612. new file mode 100644
  613. --- /dev/null
  614. +++ b/scripts/Makefile.nml
  615. @@ -0,0 +1,44 @@
  616. +# file extentions which indicate plain text source files, 
  617. +FILE_SRC_EXTENSIONS ?= pnml nml tnml
  618. +FILE_INC_EXTENSIONS ?= wav pcx png
  619. +TAG_FILENAME        := custom_tags.txt
  620. +LANG_FILES          := $(shell ls $(LANG_DIR)/*.$(LANG_EXTENSION))
  621. +
  622. +################################################################
  623. +# NML-specific targets and rules
  624. +################################################################
  625. +
  626. +%.src.dep: %.pnml
  627. +	$(_E) "[DEP] $@"
  628. +	$(_V) $(CC) -C -M -MF $@ -E -MT $@ - < $<
  629. +
  630. +%.nml: %.pnml %.src.dep $(MAKEFILE_DEP) $(REV_FILENAME) $(TAG_FILENAME)
  631. +	$(_E) "[CPP] $@"
  632. +	$(_V) $(CC) -D REPO_REVISION=$(REPO_REVISION) $(CC_FLAGS) $< > $@
  633. +
  634. +%.gfx.dep: %.nml
  635. +	$(_E) "[DEP] $@"
  636. +	$(_V) $(NML) --dep $@ $<
  637. +
  638. +$(TAG_FILENAME): $(REV_FILENAME)
  639. +	$(_E) "[LANG] $@"
  640. +	$(_V) echo "VERSION  :$(VERSION_STRING)" > $@
  641. +	$(_V) echo "TITLE    :$(REPO_TITLE)" >> $@
  642. +	$(_V) echo "FILENAME :$(TARGET_FILES)" >> $@
  643. +
  644. +%.grf: %.nml $(TAG_FILENAME) $(LANG_FILES)
  645. +	$(_E) "[NML] $@"
  646. +	$(_V) $(NML) $(NML_FLAGS) --grf $@ $<
  647. +
  648. +################################################################
  649. +# Definitions which extend the common rules
  650. +################################################################
  651. +clean::
  652. +	$(_V)-rm -rf $(TAG_FILENAME)
  653. +	$(_E) "[CLEAN NML]"
  654. +	$(_V)-rm -rf $(patsubst %.grf,%.nml,$(GRF_FILES))
  655. +
  656. +test::
  657. +	$(_E) "nml:                          $(NML) $(NML_FLAGS)"
  658. +	$(_E) "Language files:               $(LANG_FILES)"
  659. +
  660. diff --git a/scripts/gimp.sed b/scripts/gimp.sed
  661. new file mode 100644
  662. --- /dev/null
  663. +++ b/scripts/gimp.sed
  664. @@ -0,0 +1,5 @@
  665. +s/\([-_/\.a-zA-Z0-9]*\)[ ] *\([-_/\.a-zA-Z0-9]*\)/\2 /
  666. +s/[ ] */" "/g
  667. +s/[ ] */ '(/2
  668. +s/^/(save-layers "/
  669. +s/$/"))/
  670. diff --git a/scripts/gimpscript b/scripts/gimpscript
  671. --- a/scripts/gimpscript
  672. +++ b/scripts/gimpscript
  673. @@ -16,7 +16,7 @@
  674.                  (set! num-layers (- num-layers 1))
  675.                  (set! theLayer (aref layer-array num-layers))
  676.                  (if (= (car (gimp-drawable-get-visible theLayer) ) TRUE)
  677. -                (gimp-drawable-set-visible theLayer FALSE)
  678. +					(gimp-drawable-set-visible theLayer FALSE)
  679.                  )
  680.          )
  681.  
  682. @@ -28,14 +28,20 @@
  683.  
  684.  ;--------------------save-layers-----------------------
  685.  ;procedure by planetmaker
  686. +;
  687. +; // List of source and target images followed by a list of layer names
  688. +; // in the source image which will make up the target image.
  689. +;
  690. +; // Example:
  691. +; // (save-layers "source-file-name" "target-file-name" '(layername1 layername2 layername3 ...))
  692.  ;------------------------------------------------------
  693.  (define
  694.  	(
  695. -		save-layers 
  696. +		save-layers
  697.  
  698.  		inImageName
  699.  		outImageName
  700. -		inLayers
  701. +		inLayerNames
  702.  	)
  703.  	(let*
  704.  		(
  705. @@ -44,21 +50,37 @@
  706.          	(layers (gimp-image-get-layers image))
  707.          	(num-layers (car layers))
  708.          	(layer-array (cadr layers))
  709. -        	(thisLayer 1)
  710. -			(userLayers inLayers)
  711. +        	(thisLayer -1)
  712. +			(thisNumLayers 0)
  713. +			(theseLayers layers)
  714. +			(thisLayerName 0)
  715. +
  716. +			(layerNames inLayerNames)
  717.  		)
  718. -		
  719. +
  720.  		; First make everything invisble
  721.  		(script-fu-set-all-layers-invisible image image)
  722. -		
  723. +
  724.  		; Now make those layers visible which were asked to become visible
  725. -		(while (not (null? userLayers))
  726. -			(set! thisLayer (aref layer-array (- (- num-layers (car userLayers)) 1)))
  727. -;			(gimp-message (number->string thisLayer))
  728. -			(set! userLayers (cdr userLayers))
  729. -			(gimp-drawable-set-visible thisLayer TRUE)
  730. +
  731. +		; iterate through all layers of the image
  732. +		(while (> num-layers 0)
  733. +			(set! num-layers (- num-layers 1))
  734. +            (set! thisLayer (aref layer-array num-layers))
  735. +			(set! thisLayerName (car (gimp-drawable-get-name thisLayer)))
  736. +			; (gimp-message (string-append "Image Layer-Name: " thisLayerName))
  737. +
  738. +			; iterate through all layer Names we shall use
  739. +			(set! layerNames inLayerNames)
  740. +			(while (not (null? layerNames))
  741. +				; if layerName matches this user supplied layername: make it visible
  742. +				(if (string=? (car layerNames) thisLayerName)
  743. +					(gimp-drawable-set-visible thisLayer TRUE)
  744. +				)
  745. +				(set! layerNames (cdr layerNames))
  746. +			)
  747.  		)
  748. -		
  749. +
  750.  		; Merge all visible layers into one layer which we then save to the given filename
  751.  		(set! visibleStuff (car (gimp-image-merge-visible-layers image CLIP-TO-IMAGE)))
  752.  		(file-png-save RUN-NONINTERACTIVE image visibleStuff outImageName outImageName 0 9 0 0 0 0 0)
  753. @@ -68,12 +90,9 @@
  754.  
  755.  
  756.  ; // ===================================================================
  757. -; // List of source and target images followed by a list of layers in the
  758. -; // source image which will make up the target image. Layers are counted
  759. -; // from bottom to the top; the lowest layer is layer 0
  760. +; // List of source and target images followed by a list of layer names
  761. +; // in the source image which will make up the target image.
  762.  ; // Example:
  763. -; // (save-layers "source-file-name" "target-file-name" '(layer1 layer2 layer3 ...))
  764. +; // (save-layers "source-file-name" "target-file-name" '(layername1 layername2 layername3 ...))
  765.  ; // ===================================================================
  766.  
  767. -GRAPHICS_LINE
  768. -(gimp-quit 0)
  769. diff --git a/src/gfx/bulk_truck_coal.xcf b/src/gfx/bulk_truck_coal.xcf
  770. index 90c5608b80a7747ca880abc37533b669d94c1818..9699c08de674f9b5c09e21ef37af8703f63ae9aa
  771. GIT binary patch
  772. literal 18651
  773. zc%1E8TWlQHc|J3{OH!mH&uuBjQVK>^l(j7<R7^*dBcy~QpbE+W1R|jOpa&|ZEQz6Q
  774. z)n*F@5Tf019|ou%)Pg`&Kt=T+6fB?z6>v}j)q~my@y^TwH434J0ra32EuuuSbs<;F
  775. z<<9Q*`_Gx#8+R$XuB!$y$>Ge-`Oob?|K&U1o|C8FJ~KG`=39e*IyAJOF{Z5IpMguI
  776. z4~#{k;>N0<uumSa2M^i9N9@sK_IQ~sudtOo%RgaH78Vv37Z<bH?9$TG-Me>v-yc47
  777. z<nY+B<iwfjnM~&V#Y>m3UR%7G`{?%2zUb(ot>a_X#Iaqov!nC#lh>|ga=C@c$;p|S
  778. znN#EY&Yn7QF>`G3^6aha^DDQnWipv$R6C;$+JnQFN5-xnoz9&)dpmRC{-rDa^&9?2
  779. z%)fic_fumDHgTwDCb`R=8M$PSU%NDY^8@?v0GrqsO&#vJG@&id4&1slcz03rZ!v#0
  780. z<@+}VqiodbIl4=m-nT0?l9)d-vT$r{aXNW3HGOM7)icbrQ8qXp9h!)ap4oadW1X7c
  781. zm0H+0Iy$=V@Zh23(D<oCr_PS0=8s*xHvK{FtTsF_cx2zm#F4R?<b*vvd&RzZV`1@j
  782. zc5r}=>|*2N<H_Nzr$z_P9^H3-dh~KCIhN2Sh6iR2C+wpmS0+Xm&y43%6SwBi+*wH7
  783. zzdk>{D>|95W=9g|$3`ztPAuB?p2Xpy;iIFYljGwvlaqEPbLHyQ8@F!V85$ZI-FG25
  784. zdiB)U&DrFg^QZjFwts!WX9Lr0PlgR&W=9s;#I1qZ+ank5CKn#2Zu-~n_}b{i!1#1x
  785. zVs`jUX8io+nX5N0<!<L5`d5dCZw(Lo_?t}n7tZ>Nm;I%zzjFVGb>`T<^Jfk(oS(e8
  786. zVBg7JTm5LUdiNv$5M##}OEGqtv73zDVa&(hIP<5OZ!`Z2^KUT!HuHU!vwQyYLe#&+
  787. z{A)x0%}IahV$VQw>z-5A@Y!95&nJ#u8JWF)<l@rg)jP*74NqSiJ)0f7aOc>a6+e4_
  788. z^@H2@GuM}r7q4oXHi)0YXZ9SKNsP_z8$UaAG<9V1!enM)X~myNT{%2)er%v;df&i>
  789. zBg5CGkN)dl`~*Yvk23!h^UpGWp7~dqf0K>Eni(4!Vxyy28dj~c`T6+*E3C5BA}g-3
  790. zwGu1&%rCQYg;lC3hXi9f`2%@^iL2+08(m+e3(poVI0>7=)gL^QTpYJIaMw=4#a=o6
  791. z_VJS^UOD;R=}9Kb6_$8^=Eu_~2H$^o`t;<By@|I@zWMI-yYCGq#O;;$PX6%t;Lz8H
  792. z#7~=t{lUYFsQSY;Rrj|Fu79Aav+tid{^sd-P7dx5TgJ;Dw|g19d*x5wIXyFY`kgmV
  793. zop_(>zx&o(@1K|%Y^=Thm3-4&mGsbc^7z|t9}hIbtf8+DzlPs~2M>-64G$mu)`4%m
  794. z#_B&&hp}z{gq8S9C>NUE`whkp%-73np(}=~?+0(bcl^xvPs|*jW<fL)9R>?TE85er
  795. zSX+W;`sr<W?rV77+VH%s;rY3st?;M2p)53xp?Yy_wq>{&TkIm5{A*l)hwEp}<uSNc
  796. zEQjkBuG?t-bqp7M_Wcw?Dv;#4Xo}-ne`kNox3Q8HhqhGqBJX30Rj~Esln(9j1mD7z
  797. zEghe=ep5H%{aoP{gYV(p5PM*2cE3Jl=<)t|oO8p%`xv`t#qH#vq3Z_3Jq=a3O(hZb
  798. zYfJCfG_!w7*R8ngd76b<nu#)n{mP0blT(JF+lCdlEXVb9(?Xln*MFf*Pa67QlFBp_
  799. zrLI2pm9Vakx`t+;O;0m5)66<kU%}Ajcq*Eq7^;;Q{h7LHau#6<SG2G4hZ=^cYntp#
  800. z=P(I{mu+gZJf)*rLDxiA9IJ&A&ER|a6Hy0!aG1l37`VcV(13|9d-0jtF5`JC`);7!
  801. z0$;X`e*9u;I+{>;$)LNzOQdD4^JR>|++mtJ-O+6cBd5E@3!&cmb6hp=V~{&^+cc>$
  802. z=v3UcK`2-SzKgG5bQ;tmZha^U7J~mCUokCA%`n7m3onE#!MF1@8-t@Be^VPN6y0y3
  803. zA#v-YA=?Jm_<z{CiF%C#HVw-X1IFzuyqKf`>ZW4m!_n&fx}ul3rqTTcUW|vmE$d--
  804. z8ualZ|4lq-z1F-HH>scym#ywVvqjk~e}zZlinU_Y+OYYnn0|d=_^6tNa1i`E981A^
  805. zsxcO+nz#(sTaB_<Rb$<_<nwks@5X&A?t5_W#eJ{%9H}O7KZxs`@-y~_91&lI&tQO9
  806. z=}HxLv4UU$!`F2i?|SLom$+j5%EV-C-7uFpucFw-Y8v_yM0!X>B^$uVH7M9JcR)Xi
  807. zb`KMPux?p#Es4rn|B@a@NXl2?N3uSwp=eu}+7cA<YqDvQcRgy$q<_>wRCZ7Z8{u1F
  808. z!6xtJ_p6#24n+LZgy%y#%2zeR#Gj5OSByUXD~LL7*n;>+!mP@>;C2-g*7r+TKsZO5
  809. z<Ww^2czV#xlK98t{Z&4|eZ!J7{C8R+h$0&%UDVUz>10y!ABifOFDIwiMQ+nC2Drj?
  810. z(}90u6uPEprG8rE=lMfe0Omu=5u$MKPk0u?#vrUI!{p*07DH3)D6b@K#a@$wDtp9f
  811. zusU4Cq<?5lG0VCMA1x-)Vv^fYJIdBLMroKTMgt{1&+~?uF$vf)yPK^{K|$t}ZIfc2
  812. z=jC7_D<--sW13r8X)0;kQpeBpQm}A7E!+&u@&?;d{jxC2E!CZ@3#Lh*yJ2o!)z_I?
  813. zJ*WOT;z)}76gIxiE95(26tTFE1?O@8XvrjB5HUf94}%w%pxu5ALZ3k8nx>1e5Cjg5
  814. zul8%Gkfd_Otmv3vo?=4~J+|{zcqsysMsY>NfgpHj9IK-vq?Clyzs@V<*?kBjI*sK3
  815. zFD&Un&*YN$5Ox&ditW=vC3v1>g7#shw0`(Y!jmFeQ5b~IWAc5HR^kQm9u1k)%oAHI
  816. zHx`J0l|M1LX-rv$rt@w%hBSn)@rYiAtGovV{{qU5Ly`UPU-EMUS3G#uq2%!SIXv$c
  817. z??~yFq4Wj**sx8qZV_c{1S3U%EOlv0ox-%Ryl~<kzKj{+wT+M?Lf`-|Aky_~R64{9
  818. zx`CXEV2x)ipk6Wtlj2z~PW7Xuems|`D}GM-IYzy}wpL$a+pEuG^jmNrfJy9cx*~{1
  819. zHz~LK0XU(bpELlA->-w3Cfw8g-4k!0cxR>))?xn#SZ7bYc>Cmftg}4>2=_j&bGZJj
  820. zxqSOIT#LAF;L76q2wna?F!Zaq{%u37Q^Pz39!-?;z4<(XUMZ39O;A40ClYz&<K9G+
  821. zs|h7vNsyD|QJPQmBIeTjNTS@EC*PpgiF^VnPfe)#tz5|$@e#kUR5jsK%UkeLp<WUR
  822. zSgC>*scs*ND|y%_)jP<gKpt!UL5B=Q78+)#&_bV<p%7HKnqS2z=noEzzR`)nX^06i
  823. zrCy45c}31s7lTTui87|Ni$3(`MZpNoG=Tx;`9ZXZP_*fQ^$Q-!$GJ~c<8qpKitwV;
  824. z9J(yhP@s8>#~L-RB-Th}y}|o78jmG(?vtv|sekhs-CNBU10|`wFY%SScId_PD8`U_
  825. zLgmm95-<k718>$)2}6KilY)flz?buDP!=Bdqv{$BH$h%aO+MADyQ<&(Y+fDv?z?gy
  826. z^Q?T@suvq0>wVftLgX>73btmw&E*FC-8hd6TQ%bnt}EC>zlrOYke}F`Py0Yq$g@Zr
  827. zWn=~upD3wdg8=BdO4-5|d8CZ{c9AD!`cQ3nZ-_IHe|%~KzH2L@9YlOvR;k$hB}jjp
  828. zx`E{9;IZ~9`ldhfSYQVmvv?wAfwxI=SPV+B`)MdD{Tq~k=5?AM!4;dl)c%xSiuM$H
  829. zAW&YUrWqXxU1Z-EP;B8tkcXS~_c{OwDdV$yqFoFouO?sS`P!`MGaS+0CMQk(0(bG9
  830. zd@U&w{g40&Ng)ph1h`AmBOK87X@K7(JHSvsSNEf`uJ8Zod*A!sv-H16y*R$uGC~FK
  831. zmKfWMzV`0G^+I!bKk5%0V(d#FGq&qB#=iV>#s(9N?M9n>PRS0tVM=|~9k}<hvg;w{
  832. z^uf$4uBUqC9IJLgp=&Po(m4#Iud2kiSrx~Px)o0pMI7JD<uH!EY9(%LGb(X2VwMdH
  833. zg~TOblkTW)P}*g5=_m){HYy|#V`XgdRoaj{j+;ueYH!t#W7F5AN41J&M5S0nh((Mi
  834. zx`sW6o1P=NNPMeBa9rU+MiDYmBagj(-1XeKOa?-00C*Nnq@tNovtSuw2N{PvNym($
  835. zE=dW+Epr$0gx-iYP-+!K4XU8%a;(dOjv)Sk|CFOjo*<*+a_$kepqdyqp}?}%k4gbc
  836. z@mR7HW|rh=@QQ{VY}P>w8X&d`rJ-f)1E|h}Ci=q6W?_|mP?gHNn1a1=CEl;}cUQ|A
  837. z_4h<j85}iWDLbn^ZD_F9vBZeAyd*U~L_aWI6r+wwLlg>oB04g&oOqDt!U!u-A*^|4
  838. zwM6?1G>U?6p-t%AP|O1ukm5#|DQqXkeAmms27-^4;+5tQ`Ktz6QZZsQ)K`r_Ek!Sv
  839. z&Sa=SVLtS!3$?-nP)k>Gr4+53Ay!8*qN1#e$~3gd)1s_ITWDCw8p;C0i(0F3Xcm=G
  840. zUZgFvW$7^;%Pz}()1oyk!o*T(k}1&s*V7;c?YqTX3N}USvP=u>c}{vRlb(azs+2P<
  841. z7_w797ilpqETEYef_UY+5PYB+S+W51<D|q$luRWM#Hzavt+gYj{g_tWK)cy=3R6<0
  842. zTsPLYLV8h|f}JRtRCX?nb|RUVq2DKH-^pg3bQ%pS?#m>fUE_{3mx1wCoa#$(#S&W1
  843. z;-l|ij4#2P74BzU2ljK0ov((D9>K!t!Ly3w3Xkt$M7k*P?rL9+F@&cRpXP0`0*{Uh
  844. zcPEdAmk73?w_0J?Q<uG*(bMYpszJ`_6GzZnRZ~9C<*=g7?yn-Q<X9L1$hYHhl1}?6
  845. z&(kAKF+ib!1h>pVSjGXOAW6Y<rF1IgT3ec<0krAml-!CT;{kD!5H4osQmJ&!zsr^k
  846. zax}Gj49k{Er#;uL6P2P0-p<vkR47<Pyl%*o^xRw~<;r-#vF)YtxX_vl)05$#;GkJp
  847. z4F$`4vO;Dq?TTnXZb@2P6UO1HZUmtKYew=)rn~Bsw3^9N_lN`^!cj#aC8cAbM7t{F
  848. z%2|iZXbvs-wMamP5foOkj^dEbl(_2{A`FyK6h#qqN`)ngWUzsqRZK4CcEdu}vM^X;
  849. zLU&dbC*~eNpH9Rny9^<qFYt1@BO>L<wYw}euJoG#0gC76ghi3R$3z$uHtkk&7~U3=
  850. z)gxM^U$}zeL|moj<UO={R8WL!iJz7J9~BNB744%W?Z9ih^m1UN!nIXzO(V0VM$^SP
  851. zC-7`VTczMFO|@jozz#`>l5c0>KGL@lUU*qr6Ztj8auZSzB4>4^Ut5+&ByYUmvI4)R
  852. zGOP<e8^U}(B-TsB6^z9)g`5gYj6qWo_QVlhjULI2EI4S46@su~z<0!}ZdOFA!3zT~
  853. zddP`oRQC<x)>wITV+39usrhvulh5@ePH)PrV;<jPMXIg7T~Fqehk+UedaSC|Lfj;@
  854. zRr7CwA;}kHY6q~U#<(Kzt<3F@;MoB@4|01bX94g5j>}B*AP@tlYe??hmXK2b_X3ap
  855. zn0Qu+=G$d>A0CBqiaI5XnWpqmR1r*5r#v52D_BG{Chc0LM=Ou*Fx5LU)h{=sdL!%$
  856. z<J&mX=WCf>7kU)qu{X~2Dpv0QO|E~HOe4tk-FR-u_4wE>*LPP{`*DE!8xnp&uAs>G
  857. z-PH%Ywin3dg1o;REEskvA}F9Cxjn#M!1Edb0DWIYTcjelEC~a;t38b{;IV`O!Tw34
  858. z4k09?ep@hr=IUUe3z93FLIYTQa@S1(0?5)*HlhNzBP!^E2Y<e(z;1{igbQM<{yD$~
  859. zQM~Gm4q|ZAa@@34yB<Ue(6`<Q5DH$7j6R4X($~W{l9&FeH39`5Z4D+W`$QszfHrPI
  860. z3R1iwrUY2wQLYwNTChS?2A60nSO`MPI<OD~i4ZPWn}Q2rK-w%|@MTc>RDeO%5hpeW
  861. z7`m~J&jvDlv-%u@#S1mK(7PTiG?D~j8zeEqT8^}f@)h318`R(f^k(~9go=8g5Ih1&
  862. zln6&)>Z{2h>_k~l03;qrAQ3VQ!lpw!*nlNImRQ2J1^FPL1U%hek0i1Il2GjeSsY9*
  863. z2nh{X;x~M*jwNU^1SP^~@Kh|pVjYph?)6AwcPo<Ey$(t2Za@<6R{saYNQ{V)XUU61
  864. z>&1INTF;B@eaP5>Gq}#;vYX4lwu`YB|Cq6t<BYvB!Pqy@*8VhOul|6s*Zz?t3k(6;
  865. z^Kvo_`;IGN({rrs$S6P#ieL)QE#*Anma<Iolw81#0N;9QPVNJ1v`H?YO_W^3>&%(J
  866. zHQbaZFw;|L6F2Q{iZ*fQ+|IN~F`!LUx9<zm<ntp<x>&>&`CPIlNK+9n<V*zN2J2YI
  867. znMCE=HiQYXRwQS(VM}6YHRMTvx|o-9g@s1ZE<phf(`sf)lpKZX-jFImT1ch6bxesW
  868. zZM#mC!20IgR%oQUYuH7ky*4~az5x~~&MGVp(8z1xN!%JD`Zz>Hj)UDGGFQfJ<w+h&
  869. zMC7DVj&ZnRPn8#-$eDB86wFy-A|IH@jeI(uq{2|$2tUwDZD~uB1nXw?Y($jM8a{<2
  870. z5sRs|xVplMPCJey=0%%)-DhrldZY-=p{Ru(5pk)78(9M&c57~577mWxAkC)eK!3R$
  871. z%JNNM#|Jca1=%60Gz7+bgkl`ebA=Dr!A?<H0u5Dqep96^AtYM24fqj(r%JFds__Zd
  872. zehw>517FXO6x=jnDUTwqk_BqXI4+I1hIk0W6X+p<@`qUmVYdPE0EtndKw{XupxoIU
  873. z>>&@Rgj7jXY{&Zo!bFk0dNXSx77qY0hiubKoRnRfZN(G+L|KhJDZwj9C++wXI7A2j
  874. zBs=G9%%4bj_d7+Pbjb9AJ?WV1!_rRKzAd>TQ~pz!l{~Q_<T^q6??A2akXn)Xe<Nx|
  875. z0@4})SWm4ylH2ZNNUb!XfDXip@ddH+*@>0jIvyZqrG^KHS80O>h*t@}N`_<r3kqT}
  876. z^ng}r*eXeMupF!vew#U!vdz6{2oz{pl7e?(0b1y)_B5e|20{g3S{Ob-hOQc;Qo{@@
  877. zHA2N^B0U5yQX^D0Mh$KGln%h5g-_WSJ+$yCp96Ym<WmHG=xQKT#OlU6&?zB`AZh{;
  878. zfi|plLWP#M1|(KDAX6lfsx<(LSZnZrYAC`nVH6ZVYKS7%5<db=@d&~cY1U&3Nu$t-
  879. z)CN$&nmCjis0b+(7QhO&8CVfk`c%Lo;88vmupk~~)4+n5lxGYrB&8yu#m;6}(c2bO
  880. zv>{j|wpjBvpjeg##&BzNY&(vHu!i7RxRh$(SR~jGW+n}|4aXwz#)E)l5gBMxBnwY&
  881. ziewSy{aa14M8E%|XUegt_2QA?^&HE{QO1t^1FoOr`j_VNkrZRE-(>92X~w?u&y0=!
  882. z5o2%sg0aJY#n>M_Cp(mpQDduh2-YhhSacoPLI{g&Tx~jqQm0ekyOMM6K&c>Mvds`G
  883. zDQ}bKP+V^l=TKbti*qQSFQtM^Q9Fksi2wRIl%g=IHs??%FuEO%p@{DS6t5kx5>PRX
  884. zM^L=RBPc0!w~kn8Ie~%<v;G8%ms@uN1^-(ilHwM*+u;Pty~Zz`kY3zO&TBk?;?@qJ
  885. z)S*$@;V|M{ZXK~AziI*sN(p_s^kvhUL`JF;4Pa4)JM;y90E_Yji{L$tsK{yMREX3M
  886. zDV5+`n)alM!b-Gs8<Q&Z-L~>{V#TMHly%ffhtnqlrA0S+_QWgEnzx=kDFN5CIeY?m
  887. zOUvJmV4*M5d@LJ!X@)}R!D&5x5@M8l44pgawA=E9(mIZ%fPEJ1W{yH-g`n#LXKv2j
  888. z=n#rPFRnx{fI_6ejNA4Uia;`MCNmcRA%to`<r)l99HBZHz}MrTrX6%E5F&sQk;e?%
  889. zfT0LX??BUGl$d}+jl_x?!lErrtct?a4x9>eJ8~+_>2xNA{AlAdDcRrUGbxSqN<(gM
  890. zrB|A>dk6X?Oz}@UoPs@w<&dW}o;vA7p;$r2-^}ThAmz6`of0%>x6AwONE9MNRQ}`(
  891. z66G_KC?Ns}IFt|p5R1|V0W`5FN*xHu<0)-<6p05yCdKA$n3PBZG=Sps@;hfH@j-Yt
  892. zCBO%bR0`Hh5g?)YXo^G$4NMA$d4w>b>1@h|IH4_<(jF>of=a35g|<gi{<rW#Ba1?a
  893. zp^-!ha&adbCBzNU_UBS+G>U`{o2F6%2(gY#k>^rajf`!?5Uq4d?NkbHJ(Uumh}Kgn
  894. zA&gKEBig};+NqQPNLZT#5{>6lHV-Aj(<z?{N)WBGStub`m1hYiUacKd34uiKdKl4$
  895. zM<Fz^F^eKlg-ib4iA5<8y09o5DDpf@1B)Wzg=A6m4lIh2%{QD>QTW<tWKouzSQG`5
  896. J{%xaC{u|22d_({M
  897.  
  898. diff --git a/src/gfx/bulk_truck_grain.xcf b/src/gfx/bulk_truck_grain.xcf
  899. index 1c1daecec97de3364b106d6e87040323938f3d5c..72fa8fa80928739be4d79e7ea34ea62afb40a5d1
  900. GIT binary patch
  901. literal 18664
  902. zc%1E8eQaCTb-(w0P}CPi@;xeQqYbJPD~e4yio+yw>teKIv<jx80_GtaU|>oj$1<YC
  903. zf~~9yX4K?J4En>v+(HH1!tD&q1GvEj{6`9?g$Ed@h44LcKvo!-G58N-8wO)_*DSFt
  904. z(tPCG@7(t&k|L>(#+kP+w65Rfz31I~?z!ij-?@kP_=&gY`WD`Jv+qxahMs4P@f`jO
  905. zqDb_GF<B80X8ZmAzP`Spp`mCrIx#UZJv}`?Kc7q{mzI`NsnqiFayp&9b?esMyLT<i
  906. ziX0p}JbrX?YHk)J=Pq2lbmi*ujqHcFhr&wqV8_I`K6SKrVIjJ-G=24IGMi0}g_X&J
  907. z`piW5%*@z@<k96z3pcMV-M@V`%9KgPKj-gT?2B9)9=~>EHam0XcJlnai<hly*R2nk
  908. zb@!lU#l{EN)Isn3Wbfkq@WsW6s~2Z)yuWz3hfRf**kSL*DgW|9&&`W{cbEOvO=jg{
  909. zmUX>PVNu<Cq}M+i?u`u(ER7APj*c(SPTq*k-du`#Bg`LVeG|&iloFlmIFi(7mU?5U
  910. zaBrk1e7Nu6<j};-!I?ATv8AIIuFk%nJ>!q`^o@mwr^d$TC#M!?7cMVexSm?Ro$l*l
  911. z!@X>5K$(nm%tU+690{MBjb4gPjt}^!B0ckm2NsVEU!ICC&rM`wQ#Y69?xbS(t}RXU
  912. zD$@h{!tlVk@#v-LspZARrw0xXMUF(H(-RZ()6<K|<mD?@uHU?QXF#8ehR;t%ugr|!
  913. zSeU$XZpON_XkANLtY?-zon(<qY;2iL-RxPoJ$(M|Wa^{X4eQz+%O9QUnV21zT8PXg
  914. zC(d1(zjFOz_ICCo>q;bYGZL}zH$7>cKVvOlvTmiV`}fB5xufB8bB9ysrf;Mc@1(Eh
  915. zK3ul%erO$J>?mU~#x5~-gRwh|S@@e^)-1CYnRS_2*O_&jSr*GKdjIXbVqIj`)gkM~
  916. zv~}x(w`a2B=@~t8ruXo<fuom)7p{$6xHWy{&e4mJ*{jhr>GAV-j^4R%rSIk5zkM%x
  917. z?bhUlEBD#`Rkr$oJy>IFIhM<_{6qGzzzP<#imX^-C7apfJ>J=H&-t;))!8Gz`0lsC
  918. zqIHB>Gt4@}tR-e$Vb%>6g*G!bG{mA&HZj3$oAn)@dwOhsV0<Awac1a9Y;5}cbTW18
  919. zzBLuQe0b`d4GP8rWDjHs8j5%1x@R{P)O8dx5+9!3PF+|`2#*mw{l{TqgD2j8?f9|5
  920. z<EKtcGpC=kfz$Kv%^vGJeRB51^s{XPZytZ+<m|~)eFNe#c<T7;uk{V>8xo%emFL~c
  921. zvv~FO2CqK9k+8l(uP&UPd+m)A?;P)YzC1D--)q$9whg}f&WZWH6Ysn+bL=#|fAY;Y
  922. zPam7_tA4w_$!V#5mE_<#{@UAbzvfDW=|lS>FXG>U0|$nOB9Q|xz5LRPtnyL*5rY3d
  923. zV;z47q5dH@0<P+bpD^}JfwAGgtkA8yFcqcsn<r-f;MlS0)6Dg0Vp?~bXkWc<oj$Eq
  924. z^|q>ddsV%os@_>u?{dc~e_E>g$|_RTuYP+2v*1nr5r%jdC64kJwf(Az@(YxIM)?<%
  925. z|G+YCW14TG+#|}fN^JAO*4TqRd-sOJgZl;t!B1h&;Jz?>mhnA&Z!U~>{4ts3K{GfQ
  926. zhQb$!63?7?3x$VEdx>K2o^TjFT`Vug3bQXUi{9dcKBp->$et1d(M;{Ap%H`crdJ1P
  927. z(00c67D4q)`NachD1c~?o#pQfUcI);WP1;5vlXV=LDYk8-H);h#fS1VN(V~6c*^zw
  928. zo(E9Q@}FRo>r5KV?V}k7_pu0D4G&`V#Na;Gi}hojkgXKX4bs}Nj$SZGOB-ZgX8FN#
  929. zjSrT>?5uQN4A^SFi1Is_N)u1j{)#A)eOCGoC>}B%F4Ra^7lNc`zJZV(dF?|l-z#k?
  930. z-vF~nxM!um5>u%{Mj=sDS5E4By)37IVD1v$NI@QXS02*7J?wr(Ak;7bS$yKk0z6^j
  931. zFMxMi%l>t7?1wnewvTGkAm3MVDy4ncxSxwDI<RRzY=qDLA{cuC3{;AYjk!VEYPse{
  932. zpKn*0%I{Uow8oA*zINjEQ^)>z^wi0@(~r@F*@H@V>!ErRZiO@J_;Zx+qWq|~zZE9k
  933. z`aP5%qWldC{8rnqz}gf_(KTW2nrrQo@8^YfUsoqT!1L`L9X?+tALjXv_Rh{OA8Ho0
  934. zai7!K<?}h6K3{Do?<imhA3w_%x$6-419WzF`sf|So#I)}+j&Q>6Ycop^7@PcULZ<5
  935. zbK)%&-dXA(3YU{Eo)=?v@-LOA^*K$L_NjI5+EGIz2H(BTXFJ#{g6f$@{Jzg0nM2@`
  936. zFV{sg`nq_8uXg&ddSbAP_hS86Cl7L|Gv}kVV;#L<ke24-U*>sVxyF5^P7a5_x8)Ex
  937. z?<~|vSQmn%XTE`u9eH)3mv=~8$~V9*5-uD9|BW01<dJvfA$9HH_bURSh5^Xp6IT}C
  938. z2@`(-ywh6tuZv?p#DTUhs!8Cn<Wx#s*tnnb&&(lc<L|!x`ms~5o;*1{aq8ssyKl@t
  939. zR=;q+(%tz-^?srAJ;W?HU-`d^@=9%gCwxKYk5LfIbpAcc3S+*@m=@7wS87wgP=3Oa
  940. zOS}7}{=!OXWrg%?_e!dtEP1!LU*Y-P{rxK|{ba!XAixvEqN5)@Xn<Z(2S}h-M9f!w
  941. zP7|t6iT7#TcB*0EezM#C-77R!JD2)PD`d9LdoWw#0@X)swkx?5O}LUGv+ZBOWW-;J
  942. z%oa?oklBI}$e@U2^x}&}EW>J79OhxQE2aLOSnURB>Oy+-RBL4F$SGBBZ!S`pD#`Ox
  943. znCeR2m4TFksaAwQ4Fl!%=g<ZY`pHzq%J;9!0H(TvwiMN*6`m?Nl~U@nHP!a79XmCD
  944. zV)n%8W2YXciGEz^_FMHP8t8>nxruTI<z8)nU<_pfWfElyWd_Y(NBJpee}CI1Dl3vw
  945. zP(7+jN+qivg-lfTDo`6)QB+kS6IDP!CMqkULqQK3pik5R66g~VbJgcGq570~pT=#c
  946. z8U|L#L={=3v0$P~NhK3?-h+t}7pOjB6IF8_no#wSi7F~4BmO*OqF_oT69prXK@rP<
  947. zi7FPc3=>ry=3%00N!f{sZjh!fq(@J+My8IOJmvQ0B87>PJU@krs(Duik_RSQ5dt*~
  948. zl-Hj_8#qwNM8(SYugd@?s-n$9HA&^3l2a*pK3fy@eErmGC*FCS)|stz>p!TsPW@*%
  949. z?0*LZ!SfS;TidVyJIa5eAUM}cjD@g<5c;~`0<G7z&aKbJ(L;wuMn)r}qjYkMjz&i4
  950. zY#il>awBNRADzrVGdem#XJewIv$1#!g^!dD5yheC$Ow9Hb`xWb(AkaN;-fyNX=Ien
  951. z#%Q9Ma5j#j5rglhS4U}3oQ)3^LG?`eMVyTf6+krlsL#fuxd_cT8lkiC$S77%3`Xc|
  952. z9K|~6Y&?=1rL|)nI2#|LrH#_rc(h#Oqot9ZoQ+2cH4@f^AnBQJAY?~g5jq<mlD3pD
  953. z&c-C%PjNOL&AalDA~+jY1VRls8;^YA$^txLVw{bI5caQ&183t=v_+^Ujq*szsgxq0
  954. z?b+D#jkjKT<(0>2yg#dS_q<wfyglDy?3sT;`B#)**Y@}PHDh1=2gZ648~iTdv@guq
  955. zE_kA+zsOksf-_+Y^r_u`0?#&9G&5LqJ2tRnW~59p%WRL`${w1AnaM&y+HD@{)Juk`
  956. zn5B&9k_{`9%`%RzQb=ppcn}X+D+WX8Zec(LO)@0Y?Uyw*C<joHh)@TK%8GhO<JyB@
  957. zz;764EY9pUPzIHt8j$=Y9Th<*3pz<#1)V?CZN?KsD2F<9Nzj3W3ldqo9}EQakgl1D
  958. zWD+!%KM)8?L9e!^2hoGKK}(bhc(90&Yuqey6SRt73dliO!@L00KvB@H`Z1iQ1%rYC
  959. zZWavwXB@;uf56~|mFC>^nCowJ<BbCI2ZB1+orRh_R4_RwewE-u4KF7#H`XWxt$?7<
  960. zGe2Gky2M2dt^x8=nZ!MehiIH`-rZvV7l;I%X>zaw<#^Jz=sVZ29+H56HK<{YMi7%g
  961. zU!Sx~{s0dYf|}+Ci2F+cP+LK;(}Hf<50-<De7V0E@I!%VOwdc1)qcrVLGiK;Hx72V
  962. zDKkxIi^?oBlf<sOUv-`-B$6<VAO@m0F;2TJLm>G~Hl9pU2WJqr1}TA8=seyE@N6MQ
  963. zn-sJiB~V14hx+^&k;g?JSkyy7Pw*l7Tvb!_TnHk?%jnNDY_P6FoKS^K$)(V8I<zSk
  964. z7o)Q@dO4|zna{?cJG2?9mN(*wWIO?if<Krx1PwRVFmhb11~g{gz*o~GKKz9sH;5{4
  965. z#Kh!0SrSBesQ`%!BK9$A0gwgL@fcPhIW#TU%o2$~Vw|t~gPLKa6LE|oC-;(Q{ZPWR
  966. zWyIqcl$(1&zZM9lF<l~Qa<gREdthudNg7`*1I+D#y>f1)O#|9;mYoxuR5oX9rx|eT
  967. z60<n$+RNlnK@WA4!nHHhLft~mpcR~FT6NcMyM<XpR>6k>PzZA*iee_Kc^a9wMMeeX
  968. z33Y>1idj6Hh0)epxda!IWnzzuL82~%x<etNj~8N@OfaC-7&|BT!?Bg1&pQSm;vpeN
  969. zo+!j)F;j1?wtI*+ljYgGYxtNXL$tYMA{L9AL9GS$;rKIR`(rEz?eUChmaU(M+U>O@
  970. z8WW~)7VrSrc2mx@*sF|a6NzNZbgZ94iHQ-Y1&YyPt{E5)3PTR@mkw<*5jQoMX^8BQ
  971. zSjm&mFig#>Vate^CtGZbNTp;Evl0u!DutsYd1H&js1gW^X@m4gkU^v>*(mkN=qsh+
  972. zgh*!!+zk4K(PO}*f-Z=WI^lf4g_pd6VX9^el;dIA0MkIOCv9%1=F6DUkd30rVDY3z
  973. z?XF?d6D}xA*6h)x5bxFi@H}H>g+h^udjh3yN3G3L)|AXvVcCjbv|>GmZ1Q!pZgZOR
  974. zkf~vsLC4+|VbF>g96fPE*s>fbx(cdjGN#sS9?vIWR=OVW1PZQddeA3^ETp+>z;Zx#
  975. zl@T*@$+R-vL}2j*<YdT1LF%XLq<%V?l%~tNX0Ji&9|VKKz}Lt+bWNivB&e4PIgp1e
  976. zkln(CsalB)knA?E(Zu9~$xoxPh2=1nX26GX9ljh*UJPAK(Dwp-JH3hB4FrXsFI%p>
  977. zZoBQwsaN2bT8gYGBDd<Y-5ir!HQC-0lkM$cvJwF0mYCc^{OAClZ2>d3*WNxf+dGA3
  978. z$*g*33vkXk;H=q_y*+rAurdD&0Qv=?L9Ocm-GX`*K;vs8fQEy>)^7sQc&{l$!|??C
  979. zEt{cqi|yS4r9rV3N<*EuL}}1$jnWXHwlz)@GJeK5y|}^J38__9`R<~%f~L*zTGiLB
  980. zdNagU8X12R#I|>Y*m8|4*al)NbzWgB*p|WkPJ!FrHgL;u3_F2t66JQmy9K-VSm1lV
  981. z(5^0+{Zs4E-Bu6WWcc;K-P#zoVdx!=aogJzwY|+So8YJkV&fFGDPCh2o8fh?jMtuK
  982. zV7;pmSnsL_>s@tVy{ihWPugeYkL=$di=a{#;c+Grep=}sxLBV=7`VpR@LMR~LP^y2
  983. z58P#J?{kcWKVa-Rjj^F0Ft+~zW0CJM_7c&sH3qH7WU`I}wG7jVOuAUnaIBZ?3trHa
  984. zGKFkLSe4VqGd$}CE!gUelyyADdX6FM#xp!CXEsYPK(WnOMnoxF=NQbmxxE~NnJ}B>
  985. z7;@!MMl#z!&oDfq41<Tsrodh&#Q;Q+Gvx$>$VWjR>Jki!)7l`r0C17BT7%Sric!nq
  986. z3L<@$$(lkZ6^u)$&7n#g0~Veo_X-;99MQz$nGGR}<mj@KSAdcw%ncEXWIjY#9?vvQ
  987. zD@aDp%$NvS1c^>0<zVGk<zU4y;DLcGNpoXT;UgzlG2-aQ<feN*0UoD~1fqDTDupX~
  988. zCtNY*ohKDa3}Xb#Uubt)o8%PS-O|0AWEE)RwvkZ~ySUM!Im;W3!xJ@A+L%qSnAt2g
  989. z$wQRrtjQ(_KU5c!AW8+HlS-fn11BtE7{P&IWV2YURUMKbKon>%OugC(u2R5ZWDvn*
  990. zYJ!qAM;)*)9<!SMmuU)OX!n}s6GXgIfMOB(8n!=y&5mQE>JtiUW}L#E40%-!C0I=w
  991. zaB-$qwsZ=qDK4S@;s<F1ezhtrL99fbB39yT4gJRUA`{a5QgvoQ5eM6LH^0E0Tyt%b
  992. zLF^fXngyuT<Qa-4t+$jB|G9?lMlA)HhCvIjOE<tKnxq@j38PuM!HLXZxh=ny*@h;V
  993. zEm93lQM=sR47V$ph&tqMl7^^5?#(h0Rmi=0CZdeo%`y><;QRAD#3RZ>v{hi75)tb#
  994. zPHBh+FkVhWGzN0YK{Nz%Hv!QY%RRPtODqS?R#@(2A2!AEX32*tEO$~5TcP=e)Wc_i
  995. z<{MKF0?$2Fxd*XTYSYX^8P%0da}NU7x6V71aoyeluGi)qwt?$)Ifu=`-AOp?4BqXX
  996. z!8^HuodCQL<aQyR(hiRo<SY3H2jriu1^Bjx@LrXT*a+{f&A`1XDX{_Fy-l&*+XUJF
  997. zALb;ePx;1MO;Zy5e;_3xRk{y6w}C&*f8d*pjom=`5ao7l|A9Yc>?=QJ?5m?#-uD?h
  998. zg!x8aW$f^M#=ic#Goj<s{47_AbK0CZN2$wAP#8lRD%IR@sKhWZJ}0l*Gy@@LN^G0?
  999. zhgfF2cO1;j)^{9C^Yc3nk0b-(p-6ZAeuGG7SME3Dg$gye-#|{xY;wIpWVd;yQ3|3Q
  1000. z>{R_|lBvGh5W{p0;+CqL4S<7<znNsRH8&f;@`k8|n|W?-db42_ZWhp)%x2goIf%Hy
  1001. zp_|!kT@J#csD&Gagb@?+Gt0l3ln7`P5wa9S$U+HbH)L6*kOg*89kCeY{6pnu5x$;!
  1002. zaDQxQmVDr>K)bbR@_~L$<=aa@STq=~OF=aKfkXsRbxDZLejv#dXv1r-G{69jhChxV
  1003. zz{Td*B_iloAq$&_Ich=`o)M~0eXF4yNvtwVYsBN`h95{O!Agsn1JIj^1bM;|g_XZH
  1004. z5(%^E-3Ad`m`-f*AZ?J~l4j$}4I<DmlgWe|roayqy1PG*a6?GTanAKoO3e{;W0*oA
  1005. zgzWqj-XK(wp?5FW+;31tpi-TDkjeo|Yjx&<GpR}5ftgM64$NqF&A~L9Uvo(RwqA3n
  1006. zz2Z=vfT#lIjR}ZaXl|5Xr~>CENrnyJyy<0!3OH|Z*}(<ptuH%NBlPD<hDVTOXj?~W
  1007. zH@{FuYRWJ)K<aXap&3@YIfh19?PeL8!FBnLLsPh3zv9pwuFF>(HiPSCS%zx3-Ym^f
  1008. z0qhNFhDQz9i?&<?+11$v7Xq8-7s|lBd46FXy0^|TRG@o%cN@ykz5TllE_B!5ZP*gO
  1009. z>v9d-LU4PB2u==R&D;Tq3kS7b7#I15#|Y#vtlxAfgLqp#gjZ!3Y9YL}8Gu(`crY4Y
  1010. Uc&Ni~Z!`4%zn)y!PGaG|0m5>Oq5uE@
  1011.  
  1012. diff --git a/src/gfx/png_source_list b/src/gfx/png_source_list
  1013. --- a/src/gfx/png_source_list
  1014. +++ b/src/gfx/png_source_list
  1015. @@ -1,104 +1,104 @@
  1016.  # Bulk
  1017.  
  1018.  # Coal model
  1019. -src/gfx/bulk_truck/bulk_truck_1_coal.gimp.png	src/gfx/bulk_truck_coal.xcf	0 3
  1020. -src/gfx/bulk_truck/bulk_truck_2_coal.gimp.png	src/gfx/bulk_truck_coal.xcf	1 3
  1021. -src/gfx/bulk_truck/bulk_truck_3_coal.gimp.png	src/gfx/bulk_truck_coal.xcf	2 3
  1022. -src/gfx/bulk_truck/bulk_truck_1_cement.gimp.png	src/gfx/bulk_truck_coal.xcf	0 4
  1023. -src/gfx/bulk_truck/bulk_truck_2_cement.gimp.png	src/gfx/bulk_truck_coal.xcf	1 4
  1024. -src/gfx/bulk_truck/bulk_truck_3_cement.gimp.png	src/gfx/bulk_truck_coal.xcf	2 4
  1025. -src/gfx/bulk_truck/bulk_truck_1_scrap_metal.gimp.png	src/gfx/bulk_truck_coal.xcf	0 5
  1026. -src/gfx/bulk_truck/bulk_truck_2_scrap_metal.gimp.png	src/gfx/bulk_truck_coal.xcf	1 5
  1027. -src/gfx/bulk_truck/bulk_truck_3_scrap_metal.gimp.png	src/gfx/bulk_truck_coal.xcf	2 5
  1028. +src/gfx/bulk_truck/bulk_truck_1_coal.gimp.png   src/gfx/bulk_truck_coal.xcf MkI Coal
  1029. +src/gfx/bulk_truck/bulk_truck_2_coal.gimp.png   src/gfx/bulk_truck_coal.xcf MkII Coal
  1030. +src/gfx/bulk_truck/bulk_truck_3_coal.gimp.png   src/gfx/bulk_truck_coal.xcf MkIII Coal
  1031. +src/gfx/bulk_truck/bulk_truck_1_cement.gimp.png src/gfx/bulk_truck_coal.xcf MkI Cement
  1032. +src/gfx/bulk_truck/bulk_truck_2_cement.gimp.png src/gfx/bulk_truck_coal.xcf MkII Cement
  1033. +src/gfx/bulk_truck/bulk_truck_3_cement.gimp.png src/gfx/bulk_truck_coal.xcf MkIII Cement
  1034. +src/gfx/bulk_truck/bulk_truck_1_scrap_metal.gimp.png    src/gfx/bulk_truck_coal.xcf MkI ScrapMetal
  1035. +src/gfx/bulk_truck/bulk_truck_2_scrap_metal.gimp.png    src/gfx/bulk_truck_coal.xcf MkII ScrapMetal
  1036. +src/gfx/bulk_truck/bulk_truck_3_scrap_metal.gimp.png    src/gfx/bulk_truck_coal.xcf MkIII ScrapMetal
  1037.  # Fruit model
  1038. -src/gfx/bulk_truck/bulk_truck_1_fruit.gimp.png	src/gfx/bulk_truck_fruit.xcf	0 3
  1039. -src/gfx/bulk_truck/bulk_truck_2_fruit.gimp.png	src/gfx/bulk_truck_fruit.xcf	1 3
  1040. -src/gfx/bulk_truck/bulk_truck_3_fruit.gimp.png	src/gfx/bulk_truck_fruit.xcf	2 3
  1041. -src/gfx/bulk_truck/bulk_truck_1_sugar_beet.gimp.png	src/gfx/bulk_truck_fruit.xcf	0 4
  1042. -src/gfx/bulk_truck/bulk_truck_2_sugar_beet.gimp.png	src/gfx/bulk_truck_fruit.xcf	1 4
  1043. -src/gfx/bulk_truck/bulk_truck_3_sugar_beet.gimp.png	src/gfx/bulk_truck_fruit.xcf	2 4
  1044. +src/gfx/bulk_truck/bulk_truck_1_fruit.gimp.png  src/gfx/bulk_truck_fruit.xcf    MkI Fruit
  1045. +src/gfx/bulk_truck/bulk_truck_2_fruit.gimp.png  src/gfx/bulk_truck_fruit.xcf    MkII Fruit
  1046. +src/gfx/bulk_truck/bulk_truck_3_fruit.gimp.png  src/gfx/bulk_truck_fruit.xcf    MkIII Fruit
  1047. +src/gfx/bulk_truck/bulk_truck_1_sugar_beet.gimp.png src/gfx/bulk_truck_fruit.xcf    MkI Sugar_Beet
  1048. +src/gfx/bulk_truck/bulk_truck_2_sugar_beet.gimp.png src/gfx/bulk_truck_fruit.xcf    MkII Sugar_Beet
  1049. +src/gfx/bulk_truck/bulk_truck_3_sugar_beet.gimp.png src/gfx/bulk_truck_fruit.xcf    MkIII Sugar_Beet
  1050.  # Grain model
  1051. -src/gfx/bulk_truck/bulk_truck_1_grain.gimp.png	src/gfx/bulk_truck_grain.xcf	0 3
  1052. -src/gfx/bulk_truck/bulk_truck_2_grain.gimp.png	src/gfx/bulk_truck_grain.xcf	1 3
  1053. -src/gfx/bulk_truck/bulk_truck_3_grain.gimp.png	src/gfx/bulk_truck_grain.xcf	2 3
  1054. -src/gfx/bulk_truck/bulk_truck_1_gravel.gimp.png	src/gfx/bulk_truck_grain.xcf	0 4
  1055. -src/gfx/bulk_truck/bulk_truck_2_gravel.gimp.png	src/gfx/bulk_truck_grain.xcf	1 4
  1056. -src/gfx/bulk_truck/bulk_truck_3_gravel.gimp.png	src/gfx/bulk_truck_grain.xcf	2 4
  1057. -src/gfx/bulk_truck/bulk_truck_1_lumber.gimp.png	src/gfx/bulk_truck_grain.xcf	0 5
  1058. -src/gfx/bulk_truck/bulk_truck_2_lumber.gimp.png	src/gfx/bulk_truck_grain.xcf	1 5
  1059. -src/gfx/bulk_truck/bulk_truck_3_lumber.gimp.png	src/gfx/bulk_truck_grain.xcf	2 5
  1060. -src/gfx/bulk_truck/bulk_truck_1_fibre_crops.gimp.png	src/gfx/bulk_truck_grain.xcf	0 6
  1061. -src/gfx/bulk_truck/bulk_truck_2_fibre_crops.gimp.png	src/gfx/bulk_truck_grain.xcf	1 6
  1062. -src/gfx/bulk_truck/bulk_truck_3_fibre_crops.gimp.png	src/gfx/bulk_truck_grain.xcf	2 6
  1063. -src/gfx/bulk_truck/bulk_truck_1_oil_seeds.gimp.png	src/gfx/bulk_truck_grain.xcf	0 7
  1064. -src/gfx/bulk_truck/bulk_truck_2_oil_seeds.gimp.png	src/gfx/bulk_truck_grain.xcf	1 7
  1065. -src/gfx/bulk_truck/bulk_truck_3_oil_seeds.gimp.png	src/gfx/bulk_truck_grain.xcf	2 7
  1066. +src/gfx/bulk_truck/bulk_truck_1_grain.gimp.png  src/gfx/bulk_truck_grain.xcf    MkI Grain
  1067. +src/gfx/bulk_truck/bulk_truck_2_grain.gimp.png  src/gfx/bulk_truck_grain.xcf    MkII Grain
  1068. +src/gfx/bulk_truck/bulk_truck_3_grain.gimp.png  src/gfx/bulk_truck_grain.xcf    MkIII Grain
  1069. +src/gfx/bulk_truck/bulk_truck_1_gravel.gimp.png src/gfx/bulk_truck_grain.xcf    MkI Fertiliser
  1070. +src/gfx/bulk_truck/bulk_truck_2_gravel.gimp.png src/gfx/bulk_truck_grain.xcf    MkII Fertiliser
  1071. +src/gfx/bulk_truck/bulk_truck_3_gravel.gimp.png src/gfx/bulk_truck_grain.xcf    MkIII Fertiliser
  1072. +src/gfx/bulk_truck/bulk_truck_1_lumber.gimp.png src/gfx/bulk_truck_grain.xcf    MkI LumberWoodProducts
  1073. +src/gfx/bulk_truck/bulk_truck_2_lumber.gimp.png src/gfx/bulk_truck_grain.xcf    MkII LumberWoodProducts
  1074. +src/gfx/bulk_truck/bulk_truck_3_lumber.gimp.png src/gfx/bulk_truck_grain.xcf    MkIII LumberWoodProducts
  1075. +src/gfx/bulk_truck/bulk_truck_1_fibre_crops.gimp.png    src/gfx/bulk_truck_grain.xcf    MkI Fibre_Crops
  1076. +src/gfx/bulk_truck/bulk_truck_2_fibre_crops.gimp.png    src/gfx/bulk_truck_grain.xcf    MkII Fibre_Crops
  1077. +src/gfx/bulk_truck/bulk_truck_3_fibre_crops.gimp.png    src/gfx/bulk_truck_grain.xcf    MkIII Fibre_Crops
  1078. +src/gfx/bulk_truck/bulk_truck_1_oil_seeds.gimp.png  src/gfx/bulk_truck_grain.xcf    MkI OilSeeds
  1079. +src/gfx/bulk_truck/bulk_truck_2_oil_seeds.gimp.png  src/gfx/bulk_truck_grain.xcf    MkII OilSeeds
  1080. +src/gfx/bulk_truck/bulk_truck_3_oil_seeds.gimp.png  src/gfx/bulk_truck_grain.xcf    MkIII OilSeeds
  1081.  # Ore model
  1082. -src/gfx/bulk_truck/bulk_truck_1_copper_ore.gimp.png	src/gfx/bulk_truck_ore.xcf	0 3
  1083. -src/gfx/bulk_truck/bulk_truck_2_copper_ore.gimp.png	src/gfx/bulk_truck_ore.xcf	1 3
  1084. -src/gfx/bulk_truck/bulk_truck_3_copper_ore.gimp.png	src/gfx/bulk_truck_ore.xcf	2 3
  1085. -src/gfx/bulk_truck/bulk_truck_1_iron_ore.gimp.png	src/gfx/bulk_truck_ore.xcf	0 4
  1086. -src/gfx/bulk_truck/bulk_truck_2_iron_ore.gimp.png	src/gfx/bulk_truck_ore.xcf	1 4
  1087. -src/gfx/bulk_truck/bulk_truck_3_iron_ore.gimp.png	src/gfx/bulk_truck_ore.xcf	2 4
  1088. -src/gfx/bulk_truck/bulk_truck_1_bauxite.gimp.png	src/gfx/bulk_truck_ore.xcf	0 5
  1089. -src/gfx/bulk_truck/bulk_truck_2_bauxite.gimp.png	src/gfx/bulk_truck_ore.xcf	1 5
  1090. -src/gfx/bulk_truck/bulk_truck_3_bauxite.gimp.png	src/gfx/bulk_truck_ore.xcf	2 5
  1091. -src/gfx/bulk_truck/bulk_truck_1_clay.gimp.png	src/gfx/bulk_truck_ore.xcf	0 6
  1092. -src/gfx/bulk_truck/bulk_truck_2_clay.gimp.png	src/gfx/bulk_truck_ore.xcf	1 6
  1093. -src/gfx/bulk_truck/bulk_truck_3_clay.gimp.png	src/gfx/bulk_truck_ore.xcf	2 6
  1094. -src/gfx/bulk_truck/bulk_truck_1_sand.gimp.png	src/gfx/bulk_truck_ore.xcf	0 7
  1095. -src/gfx/bulk_truck/bulk_truck_2_sand.gimp.png	src/gfx/bulk_truck_ore.xcf	1 7
  1096. -src/gfx/bulk_truck/bulk_truck_3_sand.gimp.png	src/gfx/bulk_truck_ore.xcf	2 7
  1097. -src/gfx/bulk_truck/bulk_truck_1_limestone.gimp.png	src/gfx/bulk_truck_ore.xcf	0 8
  1098. -src/gfx/bulk_truck/bulk_truck_2_limestone.gimp.png	src/gfx/bulk_truck_ore.xcf	1 8
  1099. -src/gfx/bulk_truck/bulk_truck_3_limestone.gimp.png	src/gfx/bulk_truck_ore.xcf	2 8
  1100. +src/gfx/bulk_truck/bulk_truck_1_copper_ore.gimp.png src/gfx/bulk_truck_ore.xcf  MkI Copper_Ore
  1101. +src/gfx/bulk_truck/bulk_truck_2_copper_ore.gimp.png src/gfx/bulk_truck_ore.xcf  MkII Copper_Ore
  1102. +src/gfx/bulk_truck/bulk_truck_3_copper_ore.gimp.png src/gfx/bulk_truck_ore.xcf  MkIII Copper_Ore
  1103. +src/gfx/bulk_truck/bulk_truck_1_iron_ore.gimp.png   src/gfx/bulk_truck_ore.xcf  MkI Iron_Ore
  1104. +src/gfx/bulk_truck/bulk_truck_2_iron_ore.gimp.png   src/gfx/bulk_truck_ore.xcf  MkII Iron_Ore
  1105. +src/gfx/bulk_truck/bulk_truck_3_iron_ore.gimp.png   src/gfx/bulk_truck_ore.xcf  MkIII Iron_Ore
  1106. +src/gfx/bulk_truck/bulk_truck_1_bauxite.gimp.png    src/gfx/bulk_truck_ore.xcf  MkI Bauxite
  1107. +src/gfx/bulk_truck/bulk_truck_2_bauxite.gimp.png    src/gfx/bulk_truck_ore.xcf  MkII Bauxite
  1108. +src/gfx/bulk_truck/bulk_truck_3_bauxite.gimp.png    src/gfx/bulk_truck_ore.xcf  MkIII Bauxite
  1109. +src/gfx/bulk_truck/bulk_truck_1_clay.gimp.png   src/gfx/bulk_truck_ore.xcf  MkI Clay
  1110. +src/gfx/bulk_truck/bulk_truck_2_clay.gimp.png   src/gfx/bulk_truck_ore.xcf  MkII Clay
  1111. +src/gfx/bulk_truck/bulk_truck_3_clay.gimp.png   src/gfx/bulk_truck_ore.xcf  MkIII Clay
  1112. +src/gfx/bulk_truck/bulk_truck_1_sand.gimp.png   src/gfx/bulk_truck_ore.xcf  MkI Sand
  1113. +src/gfx/bulk_truck/bulk_truck_2_sand.gimp.png   src/gfx/bulk_truck_ore.xcf  MkII Sand
  1114. +src/gfx/bulk_truck/bulk_truck_3_sand.gimp.png   src/gfx/bulk_truck_ore.xcf  MkIII Sand
  1115. +src/gfx/bulk_truck/bulk_truck_1_limestone.gimp.png  src/gfx/bulk_truck_ore.xcf  MkI Limestone
  1116. +src/gfx/bulk_truck/bulk_truck_2_limestone.gimp.png  src/gfx/bulk_truck_ore.xcf  MkII Limestone
  1117. +src/gfx/bulk_truck/bulk_truck_3_limestone.gimp.png  src/gfx/bulk_truck_ore.xcf  MkIII Limestone
  1118.  # Rubber model
  1119. -src/gfx/bulk_truck/bulk_truck_1_rubber.gimp.png	src/gfx/bulk_truck_rubber.xcf	0 3
  1120. -src/gfx/bulk_truck/bulk_truck_2_rubber.gimp.png	src/gfx/bulk_truck_rubber.xcf	1 3
  1121. -src/gfx/bulk_truck/bulk_truck_3_rubber.gimp.png	src/gfx/bulk_truck_rubber.xcf	2 3
  1122. +src/gfx/bulk_truck/bulk_truck_1_rubber.gimp.png src/gfx/bulk_truck_rubber.xcf  MkI Rubber
  1123. +src/gfx/bulk_truck/bulk_truck_2_rubber.gimp.png src/gfx/bulk_truck_rubber.xcf  MkII Rubber
  1124. +src/gfx/bulk_truck/bulk_truck_3_rubber.gimp.png src/gfx/bulk_truck_rubber.xcf  MkIII Rubber
  1125.  
  1126.  # Flatbed
  1127.  
  1128.  # Goods model
  1129. -src/gfx/flatbed_truck/flatbed_truck_1_goods.gimp.png	src/gfx/flatbed_truck_goods.xcf	0 3
  1130. -src/gfx/flatbed_truck/flatbed_truck_2_goods.gimp.png	src/gfx/flatbed_truck_goods.xcf	1 3
  1131. -src/gfx/flatbed_truck/flatbed_truck_3_goods.gimp.png	src/gfx/flatbed_truck_goods.xcf	2 3
  1132. -src/gfx/flatbed_truck/flatbed_truck_1_petrol.gimp.png	src/gfx/flatbed_truck_goods.xcf	0 4
  1133. -src/gfx/flatbed_truck/flatbed_truck_2_petrol.gimp.png	src/gfx/flatbed_truck_goods.xcf	1 4
  1134. -src/gfx/flatbed_truck/flatbed_truck_3_petrol.gimp.png	src/gfx/flatbed_truck_goods.xcf	2 4
  1135. -src/gfx/flatbed_truck/flatbed_truck_1_chemicals.gimp.png	src/gfx/flatbed_truck_goods.xcf	0 5
  1136. -src/gfx/flatbed_truck/flatbed_truck_2_chemicals.gimp.png	src/gfx/flatbed_truck_goods.xcf	1 5
  1137. -src/gfx/flatbed_truck/flatbed_truck_3_chemicals.gimp.png	src/gfx/flatbed_truck_goods.xcf	2 5
  1138. -src/gfx/flatbed_truck/flatbed_truck_1_plastics.gimp.png	src/gfx/flatbed_truck_goods.xcf	0 6
  1139. -src/gfx/flatbed_truck/flatbed_truck_2_plastics.gimp.png	src/gfx/flatbed_truck_goods.xcf	1 6
  1140. -src/gfx/flatbed_truck/flatbed_truck_3_plastics.gimp.png	src/gfx/flatbed_truck_goods.xcf	2 6
  1141. +src/gfx/flatbed_truck/flatbed_truck_1_goods.gimp.png    src/gfx/flatbed_truck_goods.xcf  MkI Goods
  1142. +src/gfx/flatbed_truck/flatbed_truck_2_goods.gimp.png    src/gfx/flatbed_truck_goods.xcf  MkII Goods
  1143. +src/gfx/flatbed_truck/flatbed_truck_3_goods.gimp.png    src/gfx/flatbed_truck_goods.xcf  MkIII Goods
  1144. +src/gfx/flatbed_truck/flatbed_truck_1_petrol.gimp.png   src/gfx/flatbed_truck_goods.xcf  MkI Petrol
  1145. +src/gfx/flatbed_truck/flatbed_truck_2_petrol.gimp.png   src/gfx/flatbed_truck_goods.xcf  MkII Petrol
  1146. +src/gfx/flatbed_truck/flatbed_truck_3_petrol.gimp.png   src/gfx/flatbed_truck_goods.xcf  MkIII Petrol
  1147. +src/gfx/flatbed_truck/flatbed_truck_1_chemicals.gimp.png    src/gfx/flatbed_truck_goods.xcf  MkI Chemicals
  1148. +src/gfx/flatbed_truck/flatbed_truck_2_chemicals.gimp.png    src/gfx/flatbed_truck_goods.xcf  MkII Chemicals
  1149. +src/gfx/flatbed_truck/flatbed_truck_3_chemicals.gimp.png    src/gfx/flatbed_truck_goods.xcf  MkIII Chemicals
  1150. +src/gfx/flatbed_truck/flatbed_truck_1_plastics.gimp.png src/gfx/flatbed_truck_goods.xcf  MkI Plastics
  1151. +src/gfx/flatbed_truck/flatbed_truck_2_plastics.gimp.png src/gfx/flatbed_truck_goods.xcf  MkII Plastics
  1152. +src/gfx/flatbed_truck/flatbed_truck_3_plastics.gimp.png src/gfx/flatbed_truck_goods.xcf  MkIII Plastics
  1153.  # Steel model
  1154. -src/gfx/flatbed_truck/flatbed_truck_1_paper.gimp.png	src/gfx/flatbed_truck_steel.xcf	0 3
  1155. -src/gfx/flatbed_truck/flatbed_truck_2_paper.gimp.png	src/gfx/flatbed_truck_steel.xcf	1 3
  1156. -src/gfx/flatbed_truck/flatbed_truck_3_paper.gimp.png	src/gfx/flatbed_truck_steel.xcf	2 3
  1157. -src/gfx/flatbed_truck/flatbed_truck_1_steel.gimp.png	src/gfx/flatbed_truck_steel.xcf	0 4
  1158. -src/gfx/flatbed_truck/flatbed_truck_2_steel.gimp.png	src/gfx/flatbed_truck_steel.xcf	1 4
  1159. -src/gfx/flatbed_truck/flatbed_truck_3_steel.gimp.png	src/gfx/flatbed_truck_steel.xcf	2 4
  1160. -src/gfx/flatbed_truck/flatbed_truck_1_copper.gimp.png	src/gfx/flatbed_truck_steel.xcf	0 5
  1161. -src/gfx/flatbed_truck/flatbed_truck_2_copper.gimp.png	src/gfx/flatbed_truck_steel.xcf	1 5
  1162. -src/gfx/flatbed_truck/flatbed_truck_3_copper.gimp.png	src/gfx/flatbed_truck_steel.xcf	2 5
  1163. +src/gfx/flatbed_truck/flatbed_truck_1_paper.gimp.png    src/gfx/flatbed_truck_steel.xcf  MkI Paper
  1164. +src/gfx/flatbed_truck/flatbed_truck_2_paper.gimp.png    src/gfx/flatbed_truck_steel.xcf  MkII Paper
  1165. +src/gfx/flatbed_truck/flatbed_truck_3_paper.gimp.png    src/gfx/flatbed_truck_steel.xcf  MkIII Paper
  1166. +src/gfx/flatbed_truck/flatbed_truck_1_steel.gimp.png    src/gfx/flatbed_truck_steel.xcf  MkI Steel
  1167. +src/gfx/flatbed_truck/flatbed_truck_2_steel.gimp.png    src/gfx/flatbed_truck_steel.xcf  MkII Steel
  1168. +src/gfx/flatbed_truck/flatbed_truck_3_steel.gimp.png    src/gfx/flatbed_truck_steel.xcf  MkIII Steel
  1169. +src/gfx/flatbed_truck/flatbed_truck_1_copper.gimp.png   src/gfx/flatbed_truck_steel.xcf  MkI Copper
  1170. +src/gfx/flatbed_truck/flatbed_truck_2_copper.gimp.png   src/gfx/flatbed_truck_steel.xcf  MkII Copper
  1171. +src/gfx/flatbed_truck/flatbed_truck_3_copper.gimp.png   src/gfx/flatbed_truck_steel.xcf  MkIII Copper
  1172.  # Wood model
  1173. -src/gfx/flatbed_truck/flatbed_truck_1_wood.gimp.png	src/gfx/flatbed_truck_wood.xcf	0 3
  1174. -src/gfx/flatbed_truck/flatbed_truck_2_wood.gimp.png	src/gfx/flatbed_truck_wood.xcf	1 3
  1175. -src/gfx/flatbed_truck/flatbed_truck_3_wood.gimp.png	src/gfx/flatbed_truck_wood.xcf	2 3
  1176. -src/gfx/flatbed_truck/flatbed_truck_1_lumber.gimp.png	src/gfx/flatbed_truck_wood.xcf	0 4
  1177. -src/gfx/flatbed_truck/flatbed_truck_2_lumber.gimp.png	src/gfx/flatbed_truck_wood.xcf	1 4
  1178. -src/gfx/flatbed_truck/flatbed_truck_3_lumber.gimp.png	src/gfx/flatbed_truck_wood.xcf	2 4
  1179. +src/gfx/flatbed_truck/flatbed_truck_1_wood.gimp.png src/gfx/flatbed_truck_wood.xcf  MkI Wood
  1180. +src/gfx/flatbed_truck/flatbed_truck_2_wood.gimp.png src/gfx/flatbed_truck_wood.xcf  MkII Wood
  1181. +src/gfx/flatbed_truck/flatbed_truck_3_wood.gimp.png src/gfx/flatbed_truck_wood.xcf  MkIII Wood
  1182. +src/gfx/flatbed_truck/flatbed_truck_1_lumber.gimp.png   src/gfx/flatbed_truck_wood.xcf  MkI Lumber
  1183. +src/gfx/flatbed_truck/flatbed_truck_2_lumber.gimp.png   src/gfx/flatbed_truck_wood.xcf  MkII Lumber
  1184. +src/gfx/flatbed_truck/flatbed_truck_3_lumber.gimp.png   src/gfx/flatbed_truck_wood.xcf  MkIII Lumber
  1185.  # Engineering supplies model
  1186. -src/gfx/flatbed_truck/flatbed_truck_1_engineering_supplies_1.gimp.png	src/gfx/flatbed_truck_engineering_supplies.xcf	0 3
  1187. -src/gfx/flatbed_truck/flatbed_truck_2_engineering_supplies_1.gimp.png	src/gfx/flatbed_truck_engineering_supplies.xcf	1 3
  1188. -src/gfx/flatbed_truck/flatbed_truck_3_engineering_supplies_1.gimp.png	src/gfx/flatbed_truck_engineering_supplies.xcf	2 3
  1189. -src/gfx/flatbed_truck/flatbed_truck_1_engineering_supplies_2.gimp.png	src/gfx/flatbed_truck_engineering_supplies.xcf	0 4
  1190. -src/gfx/flatbed_truck/flatbed_truck_2_engineering_supplies_2.gimp.png	src/gfx/flatbed_truck_engineering_supplies.xcf	1 4
  1191. -src/gfx/flatbed_truck/flatbed_truck_3_engineering_supplies_2.gimp.png	src/gfx/flatbed_truck_engineering_supplies.xcf	2 4
  1192. -src/gfx/flatbed_truck/flatbed_truck_1_engineering_supplies_3.gimp.png	src/gfx/flatbed_truck_engineering_supplies.xcf	0 5
  1193. -src/gfx/flatbed_truck/flatbed_truck_2_engineering_supplies_3.gimp.png	src/gfx/flatbed_truck_engineering_supplies.xcf	1 5
  1194. -src/gfx/flatbed_truck/flatbed_truck_3_engineering_supplies_3.gimp.png	src/gfx/flatbed_truck_engineering_supplies.xcf	2 5
  1195. -src/gfx/flatbed_truck/flatbed_truck_1_farm_supplies.gimp.png	src/gfx/flatbed_truck_engineering_supplies.xcf	0 6
  1196. -src/gfx/flatbed_truck/flatbed_truck_2_farm_supplies.gimp.png	src/gfx/flatbed_truck_engineering_supplies.xcf	1 6
  1197. -src/gfx/flatbed_truck/flatbed_truck_3_farm_supplies.gimp.png	src/gfx/flatbed_truck_engineering_supplies.xcf	2 6
  1198. +src/gfx/flatbed_truck/flatbed_truck_1_engineering_supplies_1.gimp.png   src/gfx/flatbed_truck_engineering_supplies.xcf  MkI ENSP1
  1199. +src/gfx/flatbed_truck/flatbed_truck_2_engineering_supplies_1.gimp.png   src/gfx/flatbed_truck_engineering_supplies.xcf  MkII ENSP1
  1200. +src/gfx/flatbed_truck/flatbed_truck_3_engineering_supplies_1.gimp.png   src/gfx/flatbed_truck_engineering_supplies.xcf  MkIII ENSP1
  1201. +src/gfx/flatbed_truck/flatbed_truck_1_engineering_supplies_2.gimp.png   src/gfx/flatbed_truck_engineering_supplies.xcf  MkI ENSP2
  1202. +src/gfx/flatbed_truck/flatbed_truck_2_engineering_supplies_2.gimp.png   src/gfx/flatbed_truck_engineering_supplies.xcf  MkII ENSP2
  1203. +src/gfx/flatbed_truck/flatbed_truck_3_engineering_supplies_2.gimp.png   src/gfx/flatbed_truck_engineering_supplies.xcf  MkIII ENSP2
  1204. +src/gfx/flatbed_truck/flatbed_truck_1_engineering_supplies_3.gimp.png   src/gfx/flatbed_truck_engineering_supplies.xcf  MkI ENSP3
  1205. +src/gfx/flatbed_truck/flatbed_truck_2_engineering_supplies_3.gimp.png   src/gfx/flatbed_truck_engineering_supplies.xcf  MkII ENSP3
  1206. +src/gfx/flatbed_truck/flatbed_truck_3_engineering_supplies_3.gimp.png   src/gfx/flatbed_truck_engineering_supplies.xcf  MkIII ENSP3
  1207. +src/gfx/flatbed_truck/flatbed_truck_1_farm_supplies.gimp.png    src/gfx/flatbed_truck_engineering_supplies.xcf  MkI FMSP
  1208. +src/gfx/flatbed_truck/flatbed_truck_2_farm_supplies.gimp.png    src/gfx/flatbed_truck_engineering_supplies.xcf  MkII FMSP
  1209. +src/gfx/flatbed_truck/flatbed_truck_3_farm_supplies.gimp.png    src/gfx/flatbed_truck_engineering_supplies.xcf  MkIII FMSP
  1210.  

Return to top