Modding and restoration discussion

  • Thread starter pez2k
  • 468 comments
  • 72,746 views
259
United States
Space Coast, Florida, beach side lol
Wow so nice to see more ppl make car color mods! This inspires me to restart my beta silver renault espace f1! Once finished I promise to share it!


@RandomCarGuy17 :

I really like the black viper gts rm! I'm in the process of making the silver with blue stripes viper rm myself. But haven't gotten that far. I'm also working on a viper rm decal delete mod with stock gts touches to make a more legit viper gts-r/viper gt2. And the first beta gt1 white with blue stripes viper rt10 rm as well as the viper rt10 "ketchup and mustard edition" red with yellow rims special viper is in the works. Finished the 1992 viper rt10 with side exist exhaust. And also figured out the proper lines for turning the viper rt10's softtop to a hardtop, which is also finished. (P.s. I am the viper guy, lol. I have over 80+ and counting viper models, diecast and plastic kits in all kinds of sizes and scales. Its my favorite! Screw corvettes!)

And side note, soon to pick back up with the neon 4door rm fix mod hopefully.

@Naveek Darkroom I have 2 hard copies of ntsc-u discs with color picture faces, so they are v1.0! And 1 hard copy of v1.1(I think?) same pic as v1.0, but not color, its cd mirror mono-chrome.
 
Last edited:
203
Italy
Piemonte
Good work guys, indeed!

I did customize some cars a few months ago, resulting in myself doing the Mazdaspeed AZ-1 A-Spec (Burger King Edition):

unknown.png


unknown.png


Also, as a test mod, I ended up adding stars to the Dodge Concept Car LM Edition

unknown.png
 

Sonygamer455

Forum dweller
Premium
4,649
United States
The US of A
These are straight ports of the car parts from the license test data to GT mode, so they don't have any upgrades but drive identically to the way they do in the tests. Currently just got them in the Honda UCD for testing as with the Mugen S2000, but they'll probably become prize cars somewhere. Interesting too that the Mazda has a logo, and a US one at that.
Now this is nice! Does it interfere with any of the other body only cars though?

Also, do you plan on doing this to the arcade rally cars? (Like the VW Golf Rally Car for instance) They have the proper specs in arcade mode, but are body only in simulation mode.
 

Epic B

Looking for the light
Premium
5,668
Canada
On the run
NaveekDarkroom
I
Good work guys, indeed!

I did customize some cars a few months ago, resulting in myself doing the Mazdaspeed AZ-1 A-Spec (Burger King Edition):

unknown.png


unknown.png


Also, as a test mod, I ended up adding stars to the Dodge Concept Car LM Edition

unknown.png
I also see you fixed the drivetrain of the Concept Car. Unless it was already right in the PAL version.
 

Epic B

Looking for the light
Premium
5,668
Canada
On the run
NaveekDarkroom
No, I didn't change any drivetrain so I believe it's already fixed by default in the PAL version.
Okay. The Concept Car is mistakenly modeled as MR in the NTSC release. Presumably the Venturi Atlantique stole the carbon driveshaft the Dodge was supposed to get.
 
I've been taking a break for a few weeks, but I decided to put together everything that's known and add a 'new' car that's not from any cut content:
r34n1.png

r34n1-race.png


The difference between the V spec and V spec N1 is 10kg of weight reduction, white lights next to the numberplate instead of one red foglight, a tiny red N1 badge and the lack of all colours but white, so fairly easy to implement with my limited artistic skills. I still need to modify the menu logo to match though.


This is cool stuff. Unfortunately I have no idea where to even start with nodding the game myself. There is a lot I would want to do with restoring cut content and whatnot but I don't know what to do.

Start with GTVolTools from the first post, which will extract the contents of the GT2.VOL on the disc, then go from there.

Now this is nice! Does it interfere with any of the other body only cars though?

Also, do you plan on doing this to the arcade rally cars?

It doesn't affect any other cars - it's possible to give them parts too though as I've done with the Mugen S2000. There are probably a couple of other unused bodies that I'll add parts for too, but it's unlikely I'll bother with the whole list.

As for the Arcade disc cars, I may - the next thing on my list is to see how the Arcade disc differs from GT mode, and if the formats are the same then it'll be a literal copy and paste to port the parts over.
 

Xenn

NSX
Premium
2,226
United Kingdom
The U of K
GTPXenn
Hey guys, here's a tutorial to guide you through making a custom sound file for cars.

This tutorial will only cover replacing sounds, not adding new ones, since that's a more complicated matter. This tutorial will also assume you know how to open a .vol file as well as compile one.

Images will be provided to demonstrate various aspects during the tutorial.

PLEASE NOTE: I will not, and can not provide any sounds here that are from other copyrighted things, you'll need to find those on your own.

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

For this tutorial you will need the following tools:

1) Audacity or a sound manipulator of your choice.
2) Awave Studio
3) A hex editor, in my case, I will be using HxD
4) A Calculator with Decimal and Hex functions.
5) Not really a tool, but a handy Sound Bank ID list, compiled by me and Submaniac93! [url=https://docs.google.com/spreadsheets/d/12oE3RbM9e0NoV7vZniM8_RZhoIHEmbFHlQLwR1sDKoI/edit?usp=sharing]Click Me![/URL]

With these tools on hand, let's get started!

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

1. Getting Started / Stereo to Mono Conversion

Firstly, you'll need to find some sounds to work with. Ideally, sounds with multiple RPM ranges will work best.

Once you've gathered the sounds you have, load up Audacity and open the first sound in it.

phIWDgI.png

As we can see, the sound is in stereo. Since GT2 car sounds are mono, we need to convert this to mono (If your sounds are already mono, you can skip the following information and go to step 2). To do this, click the black down arrow next to the sound name, then select "Split Stereo to Mono", the sound will be split into two different tracks. Close the bottom most track by clicking the X next to the sound name, and that will cover stereo to mono conversion. Save the sound as .wav by selecting File > Export > Export as WAV, then repeat this for the rest of your sounds. It's recommended to save these elsewhere from your original sounds, or give them a "_mono" suffix at the end if you want, I usually prefer this myself.

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

2. Awave Studio / Re-sampling Sounds

Now that we've got our mono sounds, let's load up Awave Studio and prepare the sounds for use in GT2.

When you fire up Awave Studio, you'll be greeted to this window.

1HzeYSW.png

In this window, we can see various information about our WAV file. Root won't be important here, so this can be left alone. The rate and length will need to be adjusted here, so let's right click on the sound file, then click "Properties for waveform".

7e1N9Ah.png

Here, we can change a fair amount of things with the sound file. What we want to do first is change the sample rate of the file, so it's smaller and lighter for the .es file we'll be adding the sounds to. So let's click on the Resample button to do just that.

FF35W9Z.png

Now here's where things get a little confusing at first. With your calculator, you'll want a length that's a multiple of 28 (This is a limitation with the sound format we'll be saving the edited sounds to, so we have to follow this. This must also be in decimal too). So for example, in this picture above, 142848 wavesamples will equal 36000Hz, that's too high to really work with for multiple samples at once, so let's try a much lower value. If we use 34720 wavesamples (a multiple of 28), we get a sample rate of 8750Hz. Clicking "Calculate!" will change the waveform in the preview window, then click play to listen to it. While this sample rate is acceptable, you may notice the loss of sound clarity when played in-game, so let's try something higher. With 50036 wavesamples, we get a sample rate of 12610Hz. The sound clarity is much better this time, so we'll choose this for our sample rate and click Finish.

I should note, it is recommended to try and get a sample rate that ends with a 0. I will explain why this is the case later on in the tutorial.

Next, we're going to click on the Loop tab and change the loop settings.

NgAZgXQ.png

Click on the Enable check box to use the play buttons on the left side of the window.

The first button will play the sound with the loop points specified only, while the button next to it will play the entire sound. Once it reaches the loop point, it will start to loop from the specified start point and repeat.

To test if your sounds require a loop point, try playing the sound without adjust loop points. If the sound plays seamlessly, you can skip this step and move on to the file saving part, if not, we'll need to specify a loop point. This is done by either manually finding one, or using the "Find!" button.

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

2a. Awave Studio / Looping Sounds

This section of Awave Studio will cover looping sounds, manually and automatically.

In all honesty, you will need to do manual work for either one, but automatic loop point search will require less work than manual. First we'll cover automatic loop point searching.

oKbbP2M.png

In the loop search window, there's a few options at our disposal, but we'll only need one of them for this tutorial, which is "Create normal loop". Clicking on "Calculate!" will get the program to search for a loop point and then show the loop points on the preview window.

Nt9cfwn.png

Clicking on Finish will go back to the Loop editor with the loop points added to the Start and Finish boxes.

hShXQQe.png

If you noticed, the loop finder attempts to loop a sound by its waveform, looping by similar curves in the file. However, there's a problem.

Loop points are also required to be multiples of 28, just like the wavesamples. To fix this, we need to find a loop point closest to the values found by the loop finder, which are multiples of 28. 20944 is quite close to 20959, so we could use this for the start point, or 20972. 34608 is the closest end value to 34600, so can use that for the end loop point, or 34580. The goal here, is to make a loop point that doesn't involve any audible pops during the loop, and as seamless as possible. Here, 20972 and 34608 work fairly well. It's not perfect, but it's good enough.

Manually looking for loop points will require going through the file without the loop finder with multiples of 28. This can take more longer, but you can find more accurate loop points with this.

Once you are happy with the loop, click Apply, then click OK.

mGCRjhI.png

Now that we've edited our WAV file, we now need to save this as a .VAG file. This is the sound format that is used in many PlayStation games, and GT2 is no exception (and is the culprit of the multiple of 28 for wavesamples). Make sure the sound is selected, then click on File > "Save selected waveform as", and in the "Save as type" drop down options, choose "VAG - Sony Playstation/PS2 compressed sound". The Data format option will be ADPCM 4-bit, which is normal, so is the channels option, being Mono. Save the file wherever you'd like, then repeat this editing and saving process for the rest of the sounds.

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

3. Hex Editing / Sound File Editing


Now for the fun part, editing the .es files!

It's important to understand what each file means when editing them. For example:

00006.es is the Engine sounds
00006_n0.es is the Stock Exhaust sounds for NA cars.
00006_n1.es is the Sports Exhaust sounds for NA cars.
00006_t0.es is the Stock Exhaust sounds for Turbo cars.
00006_t1.es is the Sports Exhaust sounds for Turbo cars.

You may notice there are files that are only 4kb. This is a fail safe to prevent the game crashing, but these result in the infamous UFO sound being played.

Load up the hex editor you're using, and then locate a .es file you'd like to replace the sounds for, this is in the engine folder of the GT2 data. In this tutorial, I will be replacing the Corolla Rally Cars sounds, which is 00001 in the Sound Bank ID list. I will be editing the exhaust sound here as well.

H0CLS7c.png

I've colored in the most important areas of the .es file, here's what each one does:

Red (0x00000000): File Header
Yellow (0x00000004): File Start Offset, you don't need to mess with this one here
Cyan (0x00000008): End of Sample Settings Offset, we'll need to edit this one once we've gone through the Sample Settings later in this tutorial
Pink (0x0000000C): Sample Offset Reduction, this isn't needed here, so can be left alone
Blue (0x00000010): File Size, required to make the file work correctly. Will be covered later in the tutorial
Green (0x00000014): End of Sample Variables Offset, needs to be the same value as 0x00000008
Dark Green (0x000000018): Number of Samples to use
Gray (0x0000001C): Offset to first Sample Setting

It is important to note that this is little endian, and will require a slightly different editing method. This will be explained later on.

The two 7F values can be left alone, they do nothing as far as I know.

Say for example we have 6 sounds in total to use, we change the value at 0x00000018 to 06 to tell the game we want to use 6 samples for our exhaust. Don't worry about the rest of the values for now, let's move on the Sample Settings next.

If we head down to address offset 0x00000030, just like the value at 0x0000001C said, the first Sample Settings starts at that address. Now let's take a look at what each value here does:

UIUsGs7.png

Red (0x00000030): RPM Pitch
Yellow (0x00000032): Sample Fade-In RPM
Cyan (0x00000034): Sample Fade-Out RPM
Pink (0x00000036): Sample Volume
Blue (0x00000038): Sample Frequency (First 4 digits in sample rate. This is why we needed to get a 0 in the 5th digit of our sample rate. You can get away with a non 0 number, but it won't be 100% accurate. To get the value needed, take the first 4 digits of the sample rate, and convert it to hex. We get 4ED, so to add this to a little endian file, enter the last two digits first, then the first two digits, so here it will be ED 04.)
Green (0x0000003C): Sample Offset in the file

The next Samples settings starts at 0x00000040 and so on. Each Sample Setting is 16 bytes long. Please note, that the RPM Fade-In/Out values can not overlap each other, and must be played one after another. If your sound files have a RPM number on them, that will help with this.

After the Sample Settings is a 16 byte gap, this is needed to separate each sound in the file. Then you'll see a huge bunch of hex, this is the sound data, which leads us onto the next step.

Open the .VAG file we saved from earlier into the hex editor, and you'll get something like this:

W8Zri6a.png

The header and the name in the file can be forgotten about, what we need is the data at address 0x00000040, this is the start of the sound data. Click and drag from that address all the way to the end of the file, then copy it. Now we can go back to the .es file and place this custom sound file into it.

Since 0x000000C0 is where the sound data starts, we can delete the entirety of it by click and dragging to the end of the file and deleting it. Now paste the data in, and you should see something like this:

F5O3gtu.png

With the new data in place, go to the end of the file, and separate the sound file with a 16 byte row of 00's.

nAtE99j.png

After the row of 00's, you can then get the sound data from the second .VAG file we saved and then copy from the same starting address to the end of the file, and then paste into the .es file. Repeat this until you have all sounds inserted into your file. Make sure to separate each sound with 16 byte row of 00's!

Now that we've done this, let's go back to the top of the file. At address 0x00000008, enter in 90 as the value, this is because the starting gap before the sound data starts at address 0x00000090. Do this for address 0x00000014 as well. Now let's deal with the Sample Offsets.

To calculate the offset the file expects with samples, take the offset of the starting audio data, and add by 10 hex. In this case, the data starts at 0x000000A0, and adding 10 hex equals 0x000000B0. Next, take the value at either 0x00000008 or 0x00000014 and add by 20 hex, so 90 + 20 equals B0. Take 0x000000B0 and minus B0 from it to get the first sample offset in the Sample Settings, so this will be 00000000.

The next sound starts at 0x00007060 for example, so adding 10 hex to this will equals 0x00007070. Take the value at either 0x00000008 or 0x00000014 and add by 20 hex, it equals B0. So, take 0x00007070 and minus B0 from it. We get 0x00006FC0. This is the Sample Offset for the second Sample Setting. Repeat this for each sound data until you have all the offsets in place in each setting area. Remember about little endian and how to input each value, last two digits first, first two digits last!

Next, we'll deal with the file size value, this one is fairly simple. Once you've finished adding all the sounds to your .es file, press ctrl+a to select all of the file. HxD will tell you the size of your current select, in this case, the entire file. Say for example, the whole file has a size of 0x000124CA. To get the size the file expects, take 0x000124CA and minus by the value at either 0x00000008 or 0x00000014, which is 90 hex, so we get 0x0001243A. This will be the file size the file expects, so lets enter it in as 3A 24 01 00.

Be sure to save a backup, in case something goes wrong!

Once you are done, we are ready to save and test it out in GT2!

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

4. Finishing Notes

I would like to stress that this is not an easy process for the first time, and you're bound to run into various things such as game crashing and sounds not sounding correct. It's very much a trial and error thing, but with enough practice, you'll be making some pretty sweet custom sounds for your cars in no time, like in the video below!

Don't be discouraged if you fail, it took me quite a few tries before I got it right and to write this tutorial for you guys.

If you have any questions, please feel free to ask them.

Thank you!

~Xenn

 
Last edited:

Sonygamer455

Forum dweller
Premium
4,649
United States
The US of A
It doesn't affect any other cars
Good. That was my first concern.
it's possible to give them parts too though as I've done with the Mugen S2000.
That is awesome!
There are probably a couple of other unused bodies that I'll add parts for too, but it's unlikely I'll bother with the whole list.
Well to be fair, not all them have parts I would think, I doubt ones like Course BG would. However, the ones that can be fixed, by all means fix them! :D I look forward to seeing more stuff like this again. Please keep up the good work!
As for the Arcade disc cars, I may - the next thing on my list is to see how the Arcade disc differs from GT mode, and if the formats are the same then it'll be a literal copy and paste to port the parts over.
Hope it goes well! When I used to play GT2, it bummed me when the proper specs were not in the simulation mode, especially with the Golf. I really hope this and all the other rally cars get fixed.
 

Xenn

NSX
Premium
2,226
United Kingdom
The U of K
GTPXenn
@Xenn thats fantastic! Thank you very much for sharing!

You're welcome!

I've made a small error in the Sample Settings area, and this has now been fixed to be more accurate. I really should proof read more better, haha.
 
15,840
United States
Maryland
GranTurismo0517
RandomCarGuy17
With me being done with finals, I have some time off. So, I tried more palette editing, but on the Honda S2000 GT1. I had to go fill in some missing textures, but it has finally worked out on the blue color.
GT2 mod - Honda s2000 gt1 blue.png

EDIT: I have things to share! My black Viper GTS-R RM is completed at last along with my alternate colors for the Honda S2000 GT1. Plus, I gave the Peugeot 306 RM its scrapped alternate color. I can now drive that without the white squares for wheels.
GT2 - Honda S2000 GT1 Mod - Blue.png GT2 Mod - Dodge Viper GTS-R - Black.png GT2 Mod - Peugeot 306 RM.png GT2 Mod - Honda S2000 GT1 - Yellow.png GT2 Mod - Honda S2000 GT1 Red 2.png
 
Last edited:
15,840
United States
Maryland
GranTurismo0517
RandomCarGuy17
Sorry for the double-post, but I wanted to share more of my mods.

I finally fixed my texture issue with adding more than one color to the Dodge Concept Car LM Edition. It now also comes in purple.
GT2 Mod - Purple Concept Car LM.png

The TRD Chaser now has its beta colors added.
GT2 Mod - TRD Chaser Sports X30 Green.png

The Vector W8 Twin Turbo now has its scraped colors from the test drive disc. This took hours to do as the rear end textures were not present and had to fix that.
GT2 Mod - Vector W8 Blue.png
 
9
Germany
Germany
Sorry for the double-post, but I wanted to share more of my mods.

I finally fixed my texture issue with adding more than one color to the Dodge Concept Car LM Edition. It now also comes in purple.
View attachment 735044

The TRD Chaser now has its beta colors added.
View attachment 735045

The Vector W8 Twin Turbo now has its scraped colors from the test drive disc. This took hours to do as the rear end textures were not present and had to fix that.
View attachment 735046

Hi :)

First at all,an apologize to all community for miserunderstandings in the past (i've maked a lot of mistakes),and for my lack of presence.

But over this,i wanna see Congrats to you RandomCarGuy for these mods!,needs refining some (S2000,Viper),but is a very good work! :D

And i wanna make a big Thank you to Xenn and Pez2k for them works as well!.

Have A nice day :)
 

GTvsForza

Premium
6,448
United States
The Gem State
GTvsForza
GTvsForza
Hey guys, here's a tutorial to guide you through making a custom sound file for cars.

This tutorial will only cover replacing sounds, not adding new ones, since that's a more complicated matter. This tutorial will also assume you know how to open a .vol file as well as compile one.

Images will be provided to demonstrate various aspects during the tutorial.

PLEASE NOTE: I will not, and can not provide any sounds here that are from other copyrighted things, you'll need to find those on your own.

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

For this tutorial you will need the following tools:

1) Audacity or a sound manipulator of your choice.
2) Awave Studio
3) A hex editor, in my case, I will be using HxD
4) A Calculator with Decimal and Hex functions.
5) Not really a tool, but a handy Sound Bank ID list, thanks to Submaniac93 for the list! Click me!

With these tools on hand, let's get started!

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

1. Getting Started / Stereo to Mono Conversion

Firstly, you'll need to find some sounds to work with. Ideally, sounds with multiple RPM ranges will work best.

Once you've gathered the sounds you have, load up Audacity and open the first sound in it.

phIWDgI.png

As we can see, the sound is in stereo. Since GT2 car sounds are mono, we need to convert this to mono (If your sounds are already mono, you can skip the following information and go to step 2). To do this, click the black down arrow next to the sound name, then select "Split Stereo to Mono", the sound will be split into two different tracks. Close the bottom most track by clicking the X next to the sound name, and that will cover stereo to mono conversion. Save the sound as .wav by selecting File > Export > Export as WAV, then repeat this for the rest of your sounds. It's recommended to save these elsewhere from your original sounds, or give them a "_mono" suffix at the end if you want, I usually prefer this myself.

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

2. Awave Studio / Re-sampling Sounds

Now that we've got our mono sounds, let's load up Awave Studio and prepare the sounds for use in GT2.

When you fire up Awave Studio, you'll be greeted to this window.

1HzeYSW.png

In this window, we can see various information about our WAV file. Root won't be important here, so this can be left alone. The rate and length will need to be adjusted here, so let's right click on the sound file, then click "Properties for waveform".

7e1N9Ah.png

Here, we can change a fair amount of things with the sound file. What we want to do first is change the sample rate of the file, so it's smaller and lighter for the .es file we'll be adding the sounds to. So let's click on the Resample button to do just that.

FF35W9Z.png

Now here's where things get a little confusing at first. With your calculator, you'll want a length that's a multiple of 28 (This is a limitation with the sound format we'll be saving the edited sounds to, so we have to follow this. This must also be in decimal too). So for example, in this picture above, 142848 wavesamples will equal 36000Hz, that's too high to really work with for multiple samples at once, so let's try a much lower value. If we use 34720 wavesamples (a multiple of 28), we get a sample rate of 8750Hz. Clicking "Calculate!" will change the waveform in the preview window, then click play to listen to it. While this sample rate is acceptable, you may notice the loss of sound clarity when played in-game, so let's try something higher. With 50036 wavesamples, we get a sample rate of 12610Hz. The sound clarity is much better this time, so we'll choose this for our sample rate and click Finish.

I should note, it is recommended to try and get a sample rate that ends with a 0. I will explain why this is the case later on in the tutorial.

Next, we're going to click on the Loop tab and change the loop settings.

NgAZgXQ.png

Click on the Enable check box to use the play buttons on the left side of the window.

The first button will play the sound with the loop points specified only, while the button next to it will play the entire sound. Once it reaches the loop point, it will start to loop from the specified start point and repeat.

To test if your sounds require a loop point, try playing the sound without adjust loop points. If the sound plays seamlessly, you can skip this step and move on to the file saving part, if not, we'll need to specify a loop point. This is done by either manually finding one, or using the "Find!" button.

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

2a. Awave Studio / Looping Sounds

This section of Awave Studio will cover looping sounds, manually and automatically.

In all honesty, you will need to do manual work for either one, but automatic loop point search will require less work than manual. First we'll cover automatic loop point searching.

oKbbP2M.png

In the loop search window, there's a few options at our disposal, but we'll only need one of them for this tutorial, which is "Create normal loop". Clicking on "Calculate!" will get the program to search for a loop point and then show the loop points on the preview window.

Nt9cfwn.png

Clicking on Finish will go back to the Loop editor with the loop points added to the Start and Finish boxes.

hShXQQe.png

If you noticed, the loop finder attempts to loop a sound by its waveform, looping by similar curves in the file. However, there's a problem.

Loop points are also required to be multiples of 28, just like the wavesamples. To fix this, we need to find a loop point closest to the values found by the loop finder, which are multiples of 28. 20944 is quite close to 20959, so we could use this for the start point, or 20972. 34608 is the closest end value to 34600, so can use that for the end loop point, or 34580. The goal here, is to make a loop point that doesn't involve any audible pops during the loop, and as seamless as possible. Here, 20972 and 34608 work fairly well. It's not perfect, but it's good enough.

Manually looking for loop points will require going through the file without the loop finder with multiples of 28. This can take more longer, but you can find more accurate loop points with this.

Once you are happy with the loop, click Apply, then click OK.

mGCRjhI.png

Now that we've edited our WAV file, we now need to save this as a .VAG file. This is the sound format that is used in many PlayStation games, and GT2 is no exception (and is the culprit of the multiple of 28 for wavesamples). Make sure the sound is selected, then click on File > "Save selected waveform as", and in the "Save as type" drop down options, choose "VAG - Sony Playstation/PS2 compressed sound". The Data format option will be ADPCM 4-bit, which is normal, so is the channels option, being Mono. Save the file wherever you'd like, then repeat this editing and saving process for the rest of the sounds.

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

3. Hex Editing / Sound File Editing


Now for the fun part, editing the .es files!

It's important to understand what each file means when editing them. For example:

00006.es is the Engine sounds
00006_n0.es is the Stock Exhaust sounds for NA cars.
00006_n1.es is the Sports Exhaust sounds for NA cars.
00006_t0.es is the Stock Exhaust sounds for Turbo cars.
00006_t1.es is the Sports Exhaust sounds for Turbo cars.

You may notice there are files that are only 4kb. This is a fail safe to prevent the game crashing, but these result in the infamous UFO sound being played.

Load up the hex editor you're using, and then locate a .es file you'd like to replace the sounds for, this is in the engine folder of the GT2 data. In this tutorial, I will be replacing the Corolla Rally Cars sounds, which is 00001 in the Sound Bank ID list. I will be editing the exhaust sound here as well.

H0CLS7c.png

I've colored in the most important areas of the .es file, here's what each one does:

Red (0x00000000): File Header
Yellow (0x00000004): File Start Offset, you don't need to mess with this one here
Cyan (0x00000008): End of Sample Settings Offset, we'll need to edit this one once we've gone through the Sample Settings later in this tutorial
Pink (0x0000000C): Sample Offset Reduction, this isn't needed here, so can be left alone
Blue (0x00000010): File Size, required to make the file work correctly. Will be covered later in the tutorial
Green (0x00000014): End of Sample Variables Offset, needs to be the same value as 0x00000008
Dark Green (0x000000018): Number of Samples to use
Gray (0x0000001C): Offset to first Sample Setting

It is important to note that this is big endian, and will require a slightly different editing method. This will be explained later on.

The two 7F values can be left alone, they do nothing as far as I know.

Say for example we have 6 sounds in total to use, we change the value at 0x00000018 to 06 to tell the game we want to use 6 samples for our exhaust. Don't worry about the rest of the values for now, let's move on the Sample Settings next.

If we head down to address offset 0x00000030, just like the value at 0x0000001C said, the first Sample Settings starts at that address. Now let's take a look at what each value here does:

UIUsGs7.png

Red (0x00000030): RPM Pitch
Yellow (0x00000032): Sample Fade-In RPM
Cyan (0x00000034): Sample Fade-Out RPM
Pink (0x00000036): Sample Volume
Blue (0x00000038): Sample Frequency (First 4 digits in sample rate. This is why we needed to get a 0 in the 5th digit of our sample rate. You can get away with a non 0 number, but it won't be 100% accurate. To get the value needed, take the first 4 digits of the sample rate, and convert it to hex. We get 4ED, so to add this to a big endian file, enter the last two digits first, then the first two digits, so here it will be ED 04.)
Green (0x0000003C): Sample Offset in the file

The next Samples settings starts at 0x00000040 and so on. Each Sample Setting is 16 bytes long. Please note, that the RPM Fade-In/Out values can not overlap each other, and must be played one after another. If your sound files have a RPM number on them, that will help with this.

After the Sample Settings is a 16 byte gap, this is needed to separate each sound in the file. Then you'll see a huge bunch of hex, this is the sound data, which leads us onto the next step.

Open the .VAG file we saved from earlier into the hex editor, and you'll get something like this:

W8Zri6a.png

The header and the name in the file can be forgotten about, what we need is the data at address 0x00000040, this is the start of the sound data. Click and drag from that address all the way to the end of the file, then copy it. Now we can go back to the .es file and place this custom sound file into it.

Since 0x000000C0 is where the sound data starts, we can delete the entirety of it by click and dragging to the end of the file and deleting it. Now paste the data in, and you should see something like this:

F5O3gtu.png

With the new data in place, go to the end of the file, and separate the sound file with a 16 byte row of 00's.

nAtE99j.png

After the row of 00's, you can then get the sound data from the second .VAG file we saved and then copy from the same starting address to the end of the file, and then paste into the .es file. Repeat this until you have all sounds inserted into your file. Make sure to separate each sound with 16 byte row of 00's!

Now that we've done this, let's go back to the top of the file. At address 0x00000008, enter in 90 as the value, this is because the starting gap before the sound data starts at address 0x00000090. Do this for address 0x00000014 as well. Now let's deal with the Sample Offsets.

To calculate the offset the file expects with samples, take the offset of the starting audio data, and add by 10 hex. In this case, the data starts at 0x000000A0, and adding 10 hex equals 0x000000B0. Next, take the value at either 0x00000008 or 0x00000014 and add by 20 hex, so 90 + 20 equals B0. Take 0x000000B0 and minus B0 from it to get the first sample offset in the Sample Settings, so this will be 00000000.

The next sound starts at 0x00007060 for example, so adding 10 hex to this will equals 0x00007070. Take the value at either 0x00000008 or 0x00000014 and add by 20 hex, it equals B0. So, take 0x00007070 and minus B0 from it. We get 0x00006FC0. This is the Sample Offset for the second Sample Setting. Repeat this for each sound data until you have all the offsets in place in each setting area. Remember about big endian and how to input each value, last two digits first, first two digits last!

Next, we'll deal with the file size value, this one is fairly simple. Once you've finished adding all the sounds to your .es file, press ctrl+a to select all of the file. HxD will tell you the size of your current select, in this case, the entire file. Say for example, the whole file has a size of 0x000124CA. To get the size the file expects, take 0x000124CA and minus by the value at either 0x00000008 or 0x00000014, which is 90 hex, so we get 0x0001243A. This will be the file size the file expects, so lets enter it in as 3A 24 01 00.

Be sure to save a backup, in case something goes wrong!

Once you are done, we are ready to save and test it out in GT2!

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

4. Finishing Notes

I would like to stress that this is not an easy process for the first time, and you're bound to run into various things such as game crashing and sounds not sounding correct. It's very much a trial and error thing, but with enough practice, you'll be making some pretty sweet custom sounds for your cars in no time, like in the video below!

Don't be discouraged if you fail, it took me quite a few tries before I got it right and to write this tutorial for you guys.

If you have any questions, please feel free to ask them.

Thank you!

~Xenn

The almighty Xenn has spoken!
 
Here's a sneak preview of something coming in GT2+ alpha 3:
chaserlm-garage.png


Logo, textures and physics are ported from GT1, model is a GT2 one for now. Ignore the tiny, angular GT1 wheels, I need to pick a GT2 set for it and sort the ride height out.

I also dug this colour scheme out of GT1, although I had to pretty much entirely rebuild the palette using the GT1 values rearranged for GT2's textures:
cerberalm-green.png
 
1,372
France
Here and there...
SUBMANIAC
It's too bad the S14's RM's base body doesn't have what it takes to remake the S14 LM... but at least that Chaser LM is 90% there \o/
 
1,372
France
Here and there...
SUBMANIAC
Heya everyone! Been a while. but here's one good news~

Here's to (probably?) the first fully custom livery for GT2! (and by this I mean not just a decal delete or a recolor, all of the texture apart from the spoiler were touched, improved, recolored, repainted. Even the lights)
Based on the 1997 version of the Impreza WRC, this served as a test for a recently (as in mere days as I write this) discovery of an easier way to make texture changes for GT2! It needs to be streamlined a little, but it involves using Paint Shop Pro 7, for those curious, as well a some of Pez's tools that have yet to be released I believe.

I hope this is only the first of many!


Download the .CDP/.CNP files HERE (you will still need to put them in the game yourself though, be warned).
 
Last edited:
1,372
France
Here and there...
SUBMANIAC
Small "fix" which is more like, "what would the car have looked like with it used?"

Mazda Cosmo Type E/S ex-hidden spoiler mod. The cars used to both have an untextured spoiler sitting way high on top of them (it's also present on GT1). I've brought them down to what I think should have been the right place, and given them some texturing. Now the area where the spoilers are mapped is tiny (highlighted in red), so you don't get a lot to work with in terms of texture work, but heh.

Download the files here

Presentation screenshots:
View full size

ednck6dxg198enl6g.jpg


In-game screens: Now as expected and unfortunate, the spoiler has some issues. It clips in and out of view depending on the angle you view it at, and it has no reflections. But here it is anyways.
View full size

hcbsr7sf3483r366g.jpg
 
Last edited:
1,372
France
Here and there...
SUBMANIAC
Yes, Pez knows how to do that properly thanks to some (yet unreleased and unfinished) tools he programmed. Unfortunately, it's very complex and requires adding data to all the main files of the game.
 

Epic B

Looking for the light
Premium
5,668
Canada
On the run
NaveekDarkroom
Yes, Pez knows how to do that properly thanks to some (yet unreleased and unfinished) tools he programmed. Unfortunately, it's very complex and requires adding data to all the main files of the game.
Still, it's cool that it's possible at all.

Though there's really only one car I wish for.
 
281
Brazil
NON DVCOR, DVCO
I still have faith that we'll find that darn CLK-GTR one day and put it back where it always belonged.
 
1,372
France
Here and there...
SUBMANIAC
There are 2 ways we could make that a reality once we find the demo that has it (if it exists beyond renders), none of which are doable right now.
1. rip the textures out of the demo, make a custom 3D mesh and import it into GT2.
2. rip the model and its textures from the demo, and port it to GT2.
Problem is that we don't have an understanding of GT1's model format, and we don't have enough of it on GT2's models to convert them into usable meshes unfortunately.
Reason why I mention GT1's model format is because in the render where it appears, it clearly uses GT1-style wheels, meaning the game at this stage ran on GT1's engine, and so the mesh would be made with the GT1 formatting instead of he newer GT2's.