2D - General information
In general, Mashinky can load multiple texture formats which are used for various purposes in the game. Specifically for game assets, it's best to use*.dds format of textures. DDS stands for DirectDraw Surface, what is native format for DirectX, an industry standard. Vanilla textures curently use DXT3 filtering. The size of textures is of power of two (2^n), so in the line of 128^2, 256^2, 512^2, 1024^2, 2048^2...
Mashinky vanilla textures are stored in DriveLetter:\SteamAppsPath\Mashinky\media\maps\.
There are no materials per se like in other engines/tools though the game works texture sets of sorts. Each UV set (part of a model on separate texture) uses in fact two textures, one is used as a regular color/diffuse texure + alpha and the other, with _n suffix, utilizes it's channels for different purposes.
First of all an example:
|Example A - train engine with one UV set|
|TrEngine.dds||Diffuse texture with color information + alpha if needed|
|TrEngine_n.dds||R,G channels - normal map; B - glossiness map; A - snow/rust mask|
Mentioned maps/masks are further described in separate topics in the 2D Art - textures category.
LOD models usually require its own texture set where for modding purposes, _n texture can be left "blank". LOD texture does not have to be very detailed either. It's best put together from renders of the original model and texture.
NOTE 1: Glass texture is placed on a separate texture. you can also use glass texture that is already in vanilla.
NOTE 2: Animated wheels, like those on steam engines are on a separate texture.
NOTE 3: Keep the number of textures and their resolution as low as possible while ratining appropriate quality in order not to clutter the game (i.e. do not use five 4k textures per train car). NOTE 4: Alpha channel for _n texures should always be set explicitly. If left out, it is taken as non-transparent, therefore 1(255), therefore all snowy/rusted.