IMPORTING TEXTURES
Once we finish a rough approach to the run-off areas and to the scenary, we can start to build our textures and import them into the track. 
The presence of textures mapped on the track at this point, will help us to improve our work where needed and fix with a more accurancy many parts. 
To import new jams, we need a jam editor which allows to create new jams (in hardware and software version) and assign them a jam id. The jam id is a number that the game 
uses to recall the texture to map in a certain place. There are many jam id available but some of them are dedicated to other parts of the game and cannot be used or we’ll 
may see in example a wall with the texture of a livery or a cockpit...
As Gp3 can work in two different modes, hardware mode and software mode, we can decide in which version develop our work and we’ll go in that direction with the jams. 
Every original track has two jam types:
the hardware jams, contained into [grand prix 3 path]/Gp3jamsH 
the software jams, contained into [grand prix 3 path]/Gp3jams 
 
- Hardware mode
Create first of all a folder called in example TRK3JAM into the Gp3jamsH folder. Since now all the jams we want to import in the track must be placed here and imported from 
this folder. Now create a jam in example ‘tree.jam’ with the jam editor and place it in this folder. In the track tree look for the list called Jam Files



Opened the list we make a right click on a jam, no matter what, and select “insert jam file” from the menu



Now browsing to our jam folder we import the jam. Confirming the insertion the jam will be added. Any possible errors importing the jams will be marked by the message 
“failed to load jam file”. If the track editor gives errors trying to import them, it’s possible to look for the location of gp3.exe and the option Use HW jams. 
Both are in the Options menu of the track editor. 
If we want to use only our own jams it would be good to remove all the jams of the original track. It’s not necessary to remove all the ‘genjams’ but only the ones located 
on the folder of the track: i.e. brz3jam, bar3jam…, in this way there will be not any double id values and it will be easy to understand which jam ids we are using.


TEXTURE MAPPING
There are two ways to map the textures in the track: to define them as custom textures or to map them where needed.
To apply a custom texture to a part of the track, like ribbons or fences, we need to define it in the first sector of the track (but not vital in t0) with the related command. 
This texture will be mapped all along the track. The command to use is the 0xc8 ‘scenary texture definition’:



The important values are:
a2= texture location      This value is the component of the track that we want to map (i.e. 40= fence side left  verge)
a3= length x texture      It means how many units is long the texture
a4= texture id            It is the jam id that we can read on any jam editor for every texture
a5= nbitmaps              It is the horizontal resolution
a6= nrows                 It is the vertical resolution
a7= rotation              It is the rotation of the texture
 
This command is usually used to map a certain texture on hills, crowd on hills, border textures, kerbs, so we don’t need to map it everytime.
To apply a texture only on a limited space of the track we can use a different command where to define which texture to map, where and how to map it. 
It is the 0xe9 ‘texture mapping’. Adding this command we’ll open a new dialog box:



It’s important to know that when we apply this command to a certain part of the track, the length of the mapping must not be longer than the available space.
In example, if a ribbon is enabled for a length of 20 units, the texture mapped must be 20 units or less. If the length of the mapping is 21 or more the texture will 
not appear at all and we’ll see again the custom texture..
It’s important to notice that when we apply a texture on a kerb, whatever is the type used we must use the components refering to type A, otherwise we won’t see the texture.