June 2, 2013

Reskin blueprint what makes repainting much easier.

Update: It seems this feature is bugged too, so the game ignores the texture entries except the first. Which means, only one texture can be replaced with this. However this one, is just enough for Taurus repaints :)

With the latest update, RWTools is capable of swapping reskin blueprint rolling stock too!

I strongly suggest for all repainters to use this method instead of the old repainting methods and convert the old repaints to use reskin blueprints, because this is better, smaller and more robust.
(Use Kinderdorf's bin/xml as the base repaint for your reskin blueprints without dynamic numbering, or WLB for the 3P repaints, and Adria for 1216s)
I've just seen a topic on UKtrainsim forum, where this "Reskin blueprint" was discussed, and it's actually works! Using this, can make repainting MUCH easier.
The reskin blueprint is simple, you can add names to your resking, set the category in editor, then a reference to the original, normal blueprint, and at the end of it, "texture entries" which a list where you set which texture should be replaced with another one.
The benefits of using this:
  • cleaner asset structure
  • efficient memory usage, and rendering (3d models not needed to be loaded for each repaints, but only once, and it can be instanced)
  • no need to supply geopcdx files, just the reskin blueprint and the texture
  • as the reference on the normal blueprint is include provider and addon name(so the cross package reference is possible), reskins can be put in seperate packages/folders, not just in the main addon folder.
  • smaller repaints
  • Independent from the original blueprint's changes (as this is referencing the original blueprint), these will remain useable if the original blueprint is changed.
You can make reskin blueprint by modifying the xml itself, or by blueprint editor.
First, as always, you need to have a developer/provides structure.
In "source" you should create a developer/provider structure by creating a new folder with name for example "myaddon" then the provider folder in it "taurusrepaints" then a "RailVehicles" folder(this name is probably need to be exactly this), in RailVehicles folder, the further structure is depends on you. But let's make one with name "examplerepaint1".
Select this folder and right click on it, then select "new blueprint", then find "Reskin blueprint".
Now you should have the "reskin blueprint" in editor.
Fill the names, set the Category, now it's "Locomotoves" (but you can see, that you can repaint every kind of objects with this). Set Valid in Scenarios to true (this means it will appear in scenario editor's asset list).
Then set the Blueprint set ID, this is the reference to the original blueprint. This is set to HRQ/Taurus Adria transport blueprint, because that blueprint don't have dynamic numbering, what is not needed now.
Then insert texture entries(you can have multiple entries if it's needed), to set what texture should be replaced with what.
"Texture name" is the name of the original texture, without path.
"Texture ID" is the replacement texture, with relative path from the addon folder (you can get this by clicking on the ace texture file in source file tree, and select "Copy filename" and then paste to Texture ID, and export. And you're done, blueprint editor does the rest for you!

If you don't use ace file (referenced ace files will be converted to TgPcDx at export), but other way to make a TgPcDx, just leave the Texture ID blank, export it, and edit the exported xml/bin. Note that, in the exported xml/bin the referenced file in Texture ID should not have extension, but a [00] before the file name, See in the exported reskin xml example.

Exported example blueprint xml (use the browsers right click menu on this link to download, otherwise it will open the xml)

If you want to make repaints for ES64U2/4 tauruses, try to reference on base package blueprints, and not on optionals. (OBB(no italia), DB, Kinderdorf, WLB, Adria). This makes sure everyone has it installed.

I strongly suggest for all repainters to use this method instead of the old repainting methods and convert the old repaints to use reskin blueprints, because this is better, smaller and more robust. However as a normal blueprint and a reskin blueprint stored differently, those scenarios that have been made by using locomotives with old repaint method, and these repaints are converted to use "reskin blueprint" will cause these scenarios to crash, because locotives that using full blueprint and reskin blueprint are stored differently in scenario.bin files. I hope RWtools for example will have a fixing method for this.

Until that here is a little tool that fixes these in scenarios (updated at 2013-05-18, better compatibility with 32bit systems, and added ability to set serz.exe path manually if it can't be read from registry) and here is the same application in EXE. You need to select scenario.bin files which you want to fix, or select directiories which are contain scenario bins in this case it will search for scenario.bins in unlimited directory depth. The tool will search through the bins and the references to rolling stocks, and fix those that are wrong. If there is no problem, the tool won't change it.


  1. can you multiple texture's with this method ?

    1. If you mean replacing multiple textures, then yes you can.

    2. I see you have found out the bug earlier :)
      It seems that multiple textures can be replaced, but after testing it's clear that this feature is bugged, so the game ignores the texture entries except the first.
      So you were right, only one texture can be replaced, until RSC fix this (if they ever will...).