OMSI 2 Repaint Tutorial

Hello Everyone,

I know people ask time and time again how to do repaints in OMSI and OMSI 2. I made a tutorial back in 2014 showing how to do so using RPC files and templates, but how exactly does one do that in 2019? Well I will show you. All it will cost you is $0, unless you don’t have OMSI yet ;)

Just to clarify, I am teaching you the way I do things. There are many other ways to go about this.

What you will need

Here’s a list of programs you will need. For the most part you won’t need much outside of these unless you have more of an interest in experimenting.

  • [download here]
  • Windows Explorer [it comes with your dang computer]
  • OMSI or OMSI 2 [if you don’t have this, stop right here this tutorial will be useless]

Introduction to files

Before we get started on the painting, we first need to learn which files we are editing.

  • .bus files
  • model.cfg files
  • .cti files
  • texture files
  • .bus files – These files are located in the root folder of every drivable OMSI vehicle. This file lists every script, configuration, and camera angle used by the bus, as well as the default repaint name and the name the bus uses in-game. You can open this file with notepad. Here’s a rundown of what’s in that file:
    • [friendlyname] This section shows how the bus will show up in the model lists. The format that this is shown is
      Manufacturer Name
      Model Name
      Default livery name
    • [description] This section is what shows up in the description box in the model list. Normally, specifications and vehicle details are in this section. You can ignore this section if you wish, though if you do edit this section, do NOT remove the [end] tag else your bus will encounter errors.
    • [number] Basically, it refers to the file that lists the default fleet numbers, which would end in .org. Normally, buses use automatic registration which syncs the fleet number with the license plate number. Others use manual where if you don’t type a registration number out manually, the vehicle will have none
    • [sound]/[sound_ai] These are links to the sound configuration files which list out which sounds play when triggered. If you want to sound mod this is something you would want to look into.
    • [model] This is what we will need out of the .bus file. This section links to where the model configuration file for this particular bus is located. Model configuration files are normally in the “Models” folder relative to the vehicle.
    • [paths]/[passengercabin] Similar to above, these are links to the passenger cabin and passenger paths files. Below this point in the .bus file is completely irrelevant to this tutorial and thus will be excluded
  • model.cfg files – Model specific files that specify what objects and textures are used in the vehicle, as well as light positions, animations, and so on. Generally, model.cfg files are located in the model folder. for the sake of this tutorial, we will only focus on the first section of a model.cfg file
    • [CTC] – While I’m not quite sure what CTC stands for, this part of the model.cfg file tells you the location of the folder of the repaint for this model (so any vehicles sharing this model will share the same folder for repaints)

      Repaint folder

      Please note that this file is always in relation to the vehicle root folder. NOT the model folder.
    • [CTCTexture] – While I don’t know precisely what a CTC texture is, I do know that this shows what file is being changed. This will be used later in the tutorial as well
      TextureName <- texture name*
      TextureFileName.png <- Original texture file*
      • Texture Name – This is the name of the texture to be referenced in the .cti file. This is not the file name but rather a keyword. Most buses use the default names but this line could contain any keyword. Always lookout for these lines before modifying a CTI file.
      • *Original texture file – this is the name of a file that that contains the original texture file that the texture name is referring to. It’s recommended that you use this file as a base for your repaint since normally all the details are in this file (granted because it’s the default paint) The file mentioned here is located in the texture folder.
    • There’s normally more than one [CTCTexture] line in a model cfg file. This means more textures can be changed by a repaint. Please note that changes induced by repaints only apply to the repaint, that will all be explained in the CTI file.
  • CTI files – these files are supposed to be in the folder of the repaint specified by the model.cfg. The contents of these files can be modified with Windows notepad. CTI files tell OMSI bus simulator the location of each texture file, as well as which repaint the new texture will be applied to. Example:
    [item] <- opening tag
    RepaintName <- Repaint name
    TextureName <- Texture name
    repaint.png <- file name relative to the repaints folder

    The opening tag should always be [item] as this lets the game know that you’re referring to a new texture. The repaint name specifies which repaint the new texture will be applied to. The texture name specifies which texture is being changed. The texture name is the same as it is in the model.cfg file. Finally, the file name relative to the folder of the repaint is referring to the new texture file containing the texture that will be used by the repaint. Most CTI files contain a section with the following tag:

    [Repaint name]

    Generally, this tag can be ignored. Like with most OMSI files, this tag is added for organizational reasons and is ignored by the game itself. If you wish to keep your repaints organized, add this tag so that your eyes are instantly drawn to the section of the CTI file that contains your repaints.
  • Texture files – these files can be in any of the following formats: DDS, TGA, PNG, BMP, JPG, JPEG. Texture files are image files that, for a lack of better words,contains the textures. You’ll notice that within each texture file, the images seem a bit disorganized and maybe even flipped. Because of how the texture is applied in vehicle’s o3d model files, you should never try to “correct” the flipping or disorganization as the game will ALWAYS use the o3d model file as to refer to the location in each image where the textures are. Generally, DDS files used as textures are also required to be mipmapped a certain way. This tutorial will not cover .dds and .tga files, as that requires more external programs, most of which are no longer available

Now Lets get to Painting

Now that we got the tools and a pretty good understanding of what files are located where, we will now begin our repaint. We’ll start by opening up the .bus file for the vehicle we want to modify. For this tutorial, we will doing MTA3306’s Gillig Low Floor bus, which a vehicle that does NOT use a .tga or .dds file as its base texture, meaning it does not need to be converted or anything like that. After a proper install, the Gillig Low Floor SHOULD be located in the following folder:

[OMSI 2]/vehicles/Gillig Advantage
So I will be modifying the Gillig Low Floor 40 footer, which is a fine bus to repaint especially for simple repaints.

  • Find the RIGHT .bus file. Now, remember, I said we are looking for the Gillig Low Floor 40 footer, so what we have to do is open up .bus files, find the friendly name section, and make sure the name matches what we’re looking for. These files thankfully can be opened with Microsoft’s Notepad.
  • Locate the Model File within the .bus file.  Scroll down in the proper .bus file until you find the [model] section described above.
  • Find the base body texture using this method. Straight forward now, open up the model file with notepad, find the [CTCTexture] section, and find the file you want to modify. In the Gillig Low Floor 40 footer, this will be shown as the following


  • Copy the CTC texture file from the base texture folder to the folder of the repaint, and rename it something that you will remember. In the case of the Gillig Low Floor, we are copying texture\ADV_body_2.png to texture\Repaints_40\ADV_body_2.png
  • Open your new file with

Painting Process:
Because this section would be too long to explain, I will write a separate tutorial for this later on. This section will be changed once that tutorial is out.

Putting your repaint in-game

Now that we’ve done all the hard parts, this next part is going to be a piece of cake. First we will navigate to the repaints folder and do one of two things: Create a new CTI file or edit a pre-existing one. Creating a new CTI file requires you to turn “show known file extensions” on in the windows folder options, so if that sounds too complex, I recommend editing pre-existing ones – they can all be opened with notepad.

However, if you wish to create a new one, here’s how to go about it (after enabling view all file extensions in the windows explorer settings, which varies from PC to PC). It’s easy as 1, 2, 3!

  • Right click on a blank spot within the folder window you have open.
  • On the menu that pops up, hover over “new” and select “Text Document.” You’ll notice there’s a new file that say “New Text Document”
  • Rename that file to anything you wish as long as you change the extension from txt to cti. Windows will ask you to confirm this change. For obvious reasons, click yes.

And you’re done!

No matter what method you use to get to a .cti file, you can edit it with notepad. It’s recommended that you put the organization tag above the first new texture so you can easily find it should you need it.

**************** <- 16 asterisks
Pogo Stick <- Opening header of your choice
**************** <- 16 more asterisks

Now that we have a header, we must now add our new texture to the repaint file and save it. Remember the format in which you add the repaint and re-textures to the .cti file must be in this format:

[item] <- opening tag
RepaintName <- Repaint name
repaint_ext <- Texture name
repaintfile.png <- file name relative to the repaints folder

If you’ve modified more than one texture file that you want to apply to this repaint (e.g. rims, seats, etc), you can insert another item tag for each modified texture. Just make sure you keep the repaint name consistent or else your modified texture will be applied to another repaint (Slight spelling errors are not forgiven by OMSI at all). Also, make sure that the texture name is correct as having two texture files share the same texture name in a single repaint will give some undesired results. After adding all your changed textures to the new CTI file, save and close it. You’re done with it. Your repaint will now be recognized as one of the vehicle’s repaints. Next time you open the game, the repaint will be loaded into the list of repaints for the vehicle. You do NOT have to take any further steps.

Congratulations, you have added a repaint to your OMSI 2 bus!

Please note that if you want to modify a texture on the bus that is not listed in the model.cfg, you must first add the line for the [CTCTexture] to the model.cfg file yourself and then repaint as normal. Please keep in mind that repaints to your modified model.cfg will only work for YOUR model.cfg unless others used the same texture name as you.

Any questions, comments, or concerns can be shared below.

About the author: DashTransit

I have been with Virtual Transportation Cente since it's conception as the "Dash Forums" back in 2008. Since then, I have been writing and doing YouTube side by side, focusing both on Transportation and Gaming. Most of my knowledge comes from SEPTA as I lived in Philadelphia for most of my life. As of 2021, I am on YouTube as DashTransit, Dash5155, and TheDashOfficial.

As for the name DashTransit itself, it actually stems from my YouTube channel.

DashTransit was originally called "njt5329" and the channel was just clips of buses. Mostly SEPTA and NJT. A Fujifilm Finepix was used in this era.

Starting in July 2011, the Canon SX130IS camera became the camera of the channel, bringing HD documentary-style videos much like my buddy (trainman1971) did for DVD for many years past. This is when the channel became known as "Transit Action Series"

In May 2012, the original Canon SX130IS retired, and then all videos were recorded off a mobile phone until eventually uploaded proved too difficult due to hardships IRL

Starting in 2017, I used a Canon SX200IS from Bastranz to reboot the channel that otherwise was dead for a whole year prior.

Between April 19th, 2019, and January 21st, 2021, all videos were recorded by a Canon SX710 HS camera. The channel was renamed DashTransit 4/19/19.

Give your feedback on this post!

Get Connected!
Come join Virtual Transportation Center now to become part of a bigger transportation fandom.


No comments yet