NFSAddons Forums

Apr 18, 2024, 12:39 PM

Show Posts - AJ_Lethal

Welcome to NFSAddons Forums - Add your own description in your admin center.

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - AJ_Lethal

Pages: [1] 2
NFS:HS Workshop / NFS3/HS Car Sound Tutorial
« on: Dec 30, 2023, 8:40 AM »
(this tutorial is also available at my modding blog)

Note: this tutorial is made with the assumption you are familiarized with Audacity's interface and tools. If you don't I strongly recommend to read the program's manual here

There's a couple of car sound editing for NFSHS out there but I always had some trouble making sounds because they either had clicking in spite of following the steps (albeit adapted for Audacity), uneven looping or sounds sounding "muffled" compared to source. After messing around with samples and some hex editing I finally came up with a method to get consistently decent loops in-game and in addition, gathered some insight on NFS3 sound editing as well.

Tools you'll needThe BNK files structure
NFS3 and NFSHS use sound bank files (.BNK) for car sounds; NFSHS has also the CARENG.CTB and CARENG.LTB files, which are presumed to tell the game which sample of (S)CARENG.BNK use at what rpm since each car has a different set. NFS3 on the other hand has a simpler, standardized structure recycled from NFS2 (the only difference is that NFS3 CAR.BNKs might come with compressed samples, but NFS2 .BNKs can be used as-is). 

NFS3 car sound structure 
File Description Samples Notes
Player car sound bank
  • Engine accelerating
  • Engine decelerating
  • Gear shift
  • Horn
  • Samples 1, 2 and 4 are looped
  • Samples 1 and 2 are normally stereo but mono samples can be used without issues
Opponent car sound bank
  • Engine accelerating
  • Horn
  • Samples are looped
Opponent car sound bank (for Dolby sound, perhaps?) same as ocar.bnk
same as ocar.bnk
Player 2 in split-screen bank
same as car.bnk
same as car.bnk but all samples are mono
NFSHS car sound structure (CLK-GTR sounds files)
File Description Samples Notes
Player car sound bank
  • Gear shift
  • Horn
  • Idle (decelerating)
  • Low-RPM (decelerating)
  • Mid-RPM (decelerating)
  • High-RPM (decelerating)
  • Idle (accelerating)
  • Low-RPM (accelerating)
  • Mid-RPM (accelerating)
  • High-RPM (accelerating)
  • Idle (decelerating, interior)
  • Low-RPM (decelerating, interior)
  • Mid-RPM (decelerating, interior)
  • High-RPM (decelerating, interior)
  • Idle (accelerating, interior)
  • Low-RPM (accelerating, interior)
  • Mid-RPM (accelerating, interior)
  • High-RPM (accelerating, interior)
  • All samples except 1 are looped
  • Samples 11 to 18 are normally stereo but mono samples can be used without issues
Opponent car sound bank
  • Engine accelerating
  • Horn
  • Samples are looped
Player 2 in split-screen bank
same as careng.bnk
same as careng.bnk but all samples are mono
presumably lookup tables for the (s)careng.bnk files


Sample requirements
NFS3/NFSHS audio samples do have some requirements in order to work correctly, mostly due to sound memory constraints. Such requirements are:   
  • 22050 Hz sample rate
  • Can be mono or stereo
    • Stereo samples should be pitched down 50% compared to mono
  • Max length of samples vary per game but rule of thumb is to not exceed 1.2 seconds (NFSHS maximum) for mono samples, stereo samples are around half of that.
  In general terms, working with mono samples is easier than with stereo samples because of the latter two points.
Why it was a massive PITA to get decent sound loops... until now
(this is a rather lengthy theoretical part, so buckle up)   

   In the simplest terms, it's because the sole program that can work with BNK files (NFSWizard) is ancient jank. NFS Wizard for some forsaken reason corrupts each audio sample at the beginning upon closing a BNK file; it appears it inserts some additional sample info data but it "pushes" audio data forward by fractions of a second, leading to the end of each sample "stomp" on the beginning of the next, creating a noticeable "click" on playback. That's why it was often advised to import all samples again every time you open a BNK file.
   Making matters more complicated, the sample looping interface in NFSWizard is just a couple of sliders; you can't punch the value you need there, hence it's very imprecise. The combination of both factors made getting loops right a near endless game of trial and error.   
   However, not all is lost. As mentioned before, the end of each sample stomps on the beginning of the next one; that means one could put a bit of silence at the end of each sample so the "click" is (mostly) avoided. But that's not all: the loop points still have yet to be set and they can't be set precisely... unless you are willing to do some hex editing magic, like I did.     First I looked over into the Sample Info tab of NFSWizard to see if the loop info is there. After moving the loop points and looking at the tab, I found the two addresses that correspond to the loop points:     
Then I exported the BNK file and opened it with a hex editor. I searched the addresses with the values, and lo and behold there are:
Each looped sample has 2 addresses of 4 bytes each, one starts with 86 and the other with 87: these correspond to the loop points. The part we're interested is this one:   

"What the hell is a wave sample?", you might ask. Well, a wave sample is the basic unit of sound which varies with the sound frequency: in a 1 second-long 22050 Hz sound there are 22050 samples, for example. Which means 22 wave samples is equivalent to 0.001 seconds... which is about the amount the NFS3 samples get "shifted" around. (NFSHS sounds get shifted by 28 wave samples).   

   Now you see the number I pointed out in red doesn't read 22 or anything of the sort, that's because it's a hexadecimal number; you have to convert your decimal numbers to those. Windows Calculator has a programmer mode that allows for such thing, so punching 22 in decimal mode should yield "16" in hexadecimal (or "1C" for 28). Changing the bytes in the space I pointed out to 00 16 and saving in the hex editor will set the starting loop to 22 wave samples (the end loop can be just be dragged all the way to the end in NFSWizard) and now I can import it back to NFSWizard. 
   Do you have to do this for this tutorial? No, luckily for you I have uploaded sets of edited BNK files with the starting loop points fixed, linked above. However you might have to do this process for the horn samples if you fancy editing them. 
   Enough theoretical babble, let's get onto sourcing a sound sample.   

Step 1: Sourcing your samples
   You'll need to get your sounds from *somewhere* (duh), however there are a couple of considerations to take to get a decent sound:   
  • You'll need to get a sound sample that's clean as possible. That means no echoing, no distortions, no foreign sounds like wind/road noise, etc.
  • It needs to be as steady as possible for at least 0.5-0.6 seconds; relatively minor pitch changes (such as accelerating/decelerating down a road) can be corrected with the Sliding Stretch tool.
  • If you can, get both acceleration and deceleration sounds. Otherwise just the acceleration sounds might suffice.

Regardless, you can get your sounds by either recording them from another videogame (using OBS, Xbox Game Bar or Audacity's built-in loopback recorder) or by ripping it from some online video. In case you want to record it from another videogame, here's an excerpt adapted from Zpectre's first tutorial linked above:
If you are using an analog device (like a gamepad or steering wheel), you first need to assign the throttle command to the Y axis. When the game asks you which key/button/command you want to use for the throttle, move the stick forward (I guess you all know how to do it) or press the right trigger. If you have a wheel, just use the pedals. After you customize your controls, start a race using manual transmission. When you are in control of the car, leave it at neutral gear. Now start pushing the throttle slowly until you reach an RPM value that is 1000-2000 RPM lower than the max RPM for the car (this gives better sounds). When you reach the value you want, keep the tachometer at it, then begin to record your sound. Make a 5-10 seconds long video, then stop recording.

 The second method is suitable for keyboard users and for some games which make distinction between engine and exhaust samples (like NFSU2 and NFSMW). You need to find a track with a section where the car will keep accelerating for some seconds, but won't increase RPM any further (for example, the small ramp before the first tollbooths in NFSMW's City Perimeter track). Start a race with the car you want on the track you think will be best to record sounds on, preferably with manual transmission (so you have more control over the RPM ranges). Before you reach the part of the track where the RPM will remain constant, start to record, then end it after you get the sound you wanted.

Also it's worth adding: 
  • As long as it's possible try to turn down all sounds that aren't the engine sound. In some cases you might have to mod the source game to achieve that.
  • Try to avoid recording supercharger/turbocharger sounds because they won't sound good on idle/lower revs. Again, try to turn them down/remove them. However, for NFSHS, you can also record one sound with supercharger/turbo and one without them for use with high/low rpms, respectively.
  • Avoid driving through tunnels and overpasses, the resulting echo effect can affect quality.
  • To use Audacity's loopback recorder, set the Host to Windows WASAPI, Recording Channels to "1  (Mono)", Project Sample Rate to 22050 Hz and Playback/Recording Device to your speakers or headphones (whichever is plugged) in Audio Settings. Then you can hit the Record button in the toolbar to start recording.
  • The resulting sounds might not be 100% accurate to the source sound, that's due NFS3/HS relatively primitive sound engine.
  If you're going to source sounds from internet videos, then you might have to do some legwork to get a decent one because many are not quite optimal. Flyby and dyno videos might give you a better chance but they might require additional editing that won't be covered in this tutorial.
Step 2: Preparing your base sounds
Once you have your sound recorded/imported, it's time to make your base sounds. Just in case, save them as an Audacity project. Select 0.5-0.75 seconds of your recorded sounds and copy them into a new project. Then select the entirety of newly pasted sound and apply the following effects:   
  • Volume and Compression > Amplify
    • Default values are usually fine but you can check the Allow clipping checkbox and set the Amplification value 1-2 dBs higher than the default
  • Volume and Compression > Limiter
    • Set Type to Soft Clip and Apply Make-up Gain to Yes
  • If you're working with a unsteady sound (like one from an accelerating/decelerating car) you can use Pitch and Tempo > Sliding stretch before using the Amplify and Limiter effects
    • Usually a value of (-)1 to (-)5 percent on one end does even out the sound.
  • Also if you want to make an interior engine sound out of your sound you can use EQ and Filters > Bass and Treble for that before using the Amplify and Limiter effects.
    • Usually a 15%-20% treble value does the job
After that you have to set the pitch of the base sample with Effects > Pitch and Tempo > Change speed and pitch; your target is what would sound best when played at 140% speed (NFS3) or 135% speed (NFSHS); the Playback-at-Speed toolbar pretty much helps with that. As a rule of thumb, here are the percent changes you'll usually have to use per game: 
  • NFS3: -30 to -35 percent change
  • NFSHS: -15 to -25 percent change

When you're done, select your whole track, press Z to set the selection to zero points (the black line that's in the middle of the wave, this is important since that would avoid -most- instances of clicking), press Ctrl+T to trim the track and go to Tracks > Align Tracks > Start to zero to get rid of the empty space it might make. You might also want to delete any remaining sound after the 0.75 second mark by selecting it and pressing Ctrl+K.
 Save your base sound as an Audacity project because you will need to get back to it, especially if you're making a NFSHS sound
Step 3: Making the engine sounds
With the base sound done, copy it and paste it into a new project. Copy and paste it again, but in a new track this time and reverse it with the Special > Reverse effect. Move the new track towards the right and make sure there's at least a 0.2-0.25 second overlap between the tracks, like this:   
Also make sure the waves "match" as possible in order to not get your sound muted at the middle after the next step, you might want to zoom in with Ctrl+mouse wheel to check.
Next select the overlapping parts of the tracks like this...
...then go to Effects > Fading > Crossfade tracks, set Fade TYPE to Constant Power and click OK.

Try out the track loop by selecting all tracks, enable looping by pressing L and set the loop to selection by pressing Shift+Alt+L and play it back.

If you hear any noticeable click/gap, you can do any of the following:

  • Go back to the beginning of this step, select one bit of the beginning (mind the zero points), delete it with Ctrl+K and do the whole process again.


  • Use the Special > Invert effect on the reversed track.

   Once you are satisfied, select your track, press the End key to bring the cursor to the end of the track, go to Generate > Silence, click on the arrow next to the Duration field to open the dropdown menu and select hh:mm:ss+samples. Set Duration to 00h 00m 00s + 00022 samples (for NFS3) or 00h 00m 00s + 00028 samples (for NFSHS) and click Generate. Select all tracks and press Ctrl+J to join them.   

   Export your track by going to File > Export Audio , give it a filename and select a location to save it in, set format to WAV (Microsoft), set Channels to Mono, Sample Rate to 22050 Hz, Encoding to Signed 16-bit PCM and Export Range to Current Selection. Click on Export to export the file.     For opponent car sounds you can select the track, go to Effects > Volume and Compression > Amplify and use a -2 to -3 dB amplification so your opponent sounds don't drown the player's.
   For NFS3 you can proceed to the next step, but for NFSHS you have to make the rest of the sounds (mid, low, idle). Go back to the beginning of this step and proceed to do the following: 
  • Select your track and go to Effects > Pitch and Tempo > Change speed and pitch. Apply the following percent changes for the following:
    • -20 for the mid-rpm sound
    • -40 for the low-rpm sound
    • -60 for the idle sound
  • (If needed) Press Z to set selection to zero points, trim it with Ctrl+T and align tracks to zero
  • Select any remaining sound past the 0.75 second mark and delete it with Ctrl+K
  Then proceed as usual. (continues below)

(this tutorial can be also found in my blog)

In this tutorial you will learn how to make the photo album banner and slides for your car in a style that's quite close to the one used in the vanilla game's ones.

Stuff you'll need

GIMP's user interface

If you're not famliarized with GIMP, I will give you a quick rundown of the UI so you can get yourself acquainted with it. Here's the default UI for version 2.10 

  • Toolbox: here's where you will find most of the tools used for editing, like selection, paintbrush, bucket fill, text, etc. By default tools are grouped into several groups (which are indicated by the small arrows on the bottom right of the buttons); to select another tool in the group, right-click on the button to display the available tools in that tool to select them. Also, you can select the foreground and background colors (the black and white squares, respectively)
  • Tool options/Information/Undo history/Recent files tabs: for this tutorial we're just going to focus on the Tool options; here's where the selected tool's parameters can be configured.
  • Brushes/Patterns/Fonts/Messages tabs: not important for this tutorial.
  • Layers/Channels/Paths tabs: here's when you can manage the image layers, channels and paths. We'll just focus on layers.
Step 1: Uncompressing the .qfs files 
  • Unzip FSHTool into a folder
  • Copy the data\showcase\art\<manu>.qfs and the data\showcase\art\sl<car id>##.qfs files from the game's folder into the FSHTool folder
    - <manu> stands for the first 4 digits of the car's manufacturer name in the FEDATA files (i.e. a car with a manufacturer name of "Toyota" would have a "toyo.qfs" file for the banner file)
    - <car id> stands for the car's ID folder name in data\cars (which is often the same as in the FEDATA file -i.e. Ccor-)
    - ## stands for the slide number, starting from 01, copy as many as you need
  • Now either drag the .qfs files into the FSHTool.exe file to uncompress them; a new folder with the file name will be generated for each file.
Step 2: Making the logo banner
  • Unzip the contents of the templates zip file to a folder and open the nfshs_photoalbum_banner_template.xcf file in GIMP. Select the logo layer in the front group by clicking on its name in the Layers pane.
  • Get a logo with transparency (preferably a black monochrome one) of your car's manufacturer, open it in GIMP, copy it and paste it on the template's logo layer.
    - If you only have access to a black and white logo with no transparency, you can use the Colors > Color to Alpha command to make the background color transparent
    - If your logo comes in other color than black, you can lock the transparency by clicking on the checkerboard button above the layer list and fill it up with black by picking the Bucket Fill (Shift+B) tool and shift clicking on the logo to color it.
    -If the logo is just a part of your source image, you can select it with the Rectangle Select (R) tool, copy it, paste it, unlock the transparency then crop off the empty borders with Layer > Crop to Content, cut it and paste it on the template.
  • Pick the Unite Transform (Shift+T) tool and resize the layer you pasted until it fits either between the top and bottom or the left and right guides (cyan dotted lines) by clicking and dragging on the squares alongside the logo's border (you can lower the Image Opacity parameter to 50 in the Tool Options pane to help yourself); Ctrl-click and dragging them will resize the layer while keeping it centered. You can also move the layer by just clicking and dragging it. Once you're done, press the Transform button or press the Enter key, then press the anchor button in the layers pane (or press Ctrl+H) to anchor the pasted selection to the layer below. You can zoom in or out as needed with Ctrl+mouse wheel or the +/- keys. Press Ctrl+H to anchor the layer when you're done.
  • Right-click on the logo layer and click on Alpha to selection, then press Ctrl+I to invert the selection. Select the shadow layer, pick the Move (M) tool, hold Alt and click+drag the selection 3 pixels to the right and bottom. Then, pick the Bucket Fill (Shift+B) tool, select a black color for the foreground and Shift+click on the selection to fill it it with the color.
  • Deselect your selection by pressing Ctrl+Shift+A, then go to Filters > Blur > Gaussian Blur, set these values and click OK to apply the blur.
  • Select the color layer in the front_grp group, pick the Bucket Fill tool, select the color you want (preferably one that matches your vidwall) and click on the layer to fill it with said color.
  • Select the color_back layer in the back_grp group, and fill it with a slightly different/darker color.
  • Hide the front_grp group by clicking on the eye icon next to it, now export the background. To do so, go to File > Export (Ctrl+E) or File > Export As (Ctrl+Shift+E). Save it as 0002.bmp in the <manu> folder of the qfs file you uncompressed with FSHTool. When the export options dialog shows up, use the settings shown below and click on Export.

  • Hide the back_grp and unhide the front_grp group, then copy the visible image with Ctrl+Shift+C, then paste it into a new image with Ctrl+Shift+V
  • Go to Layer > Mask > Add Layer Mask, select Transfer layer's alpha channel and click Add
  • Press Ctrl+X to cut the newly added mask and paste it into a new image with Ctrl+Shift+V
  • Export the mask image as 0001-a.bmp file in the <manu> folder with these settings
  • Go back to the pasted image and export it as 0001.bmp file in the <manu> folder with these settings

  • Go back to the banner template, copy the visible image with Ctrl+Shift+C and paste it into another new image with Ctrl+Shift+V, then go to Layer > Transparency > Threshold Alpha, set the values below and click OK.
  • Repeat steps 10 through 13 for this one, export the newly pasted mask as 0004-a.bmp and the newly pasted banner as 0004.bmp in the <manu> folder. You're done with the logo banner for both hardware and software versions.

NFS:HS Support / How to manually enable cheats in NFSHS
« on: Feb 19, 2022, 1:45 PM »
If you want to enable cheats right away so you can use them without completing career/tournament/knockout/hot pursuit modes, do the following:
  • Open your config.dat with a hex editor (like FrHed)
  • Go to offset 0xc04 and change it from 00 to 01
  • Save the file. Now you can use cheats in NFSHS!

I made a tutorial on how to make NFSHS-style track slides and vidwalls, since it exceeds the post character limit, I will drop a link to my blog instead:

A few days I checked again the NFSHS Tutorials Pack by FerrariMan and I saw there was a track editing tutorial made by Fangio (which includes some interesting stuff, such as the basics on doing a point to point track with some trickery) but it was in German. So I decided to run it through a website called to translated into English; it did a decent job although it's janky here and there; I edited it a little further since it broke some image positions.

the link for the translated tutorial


After some trial and error, with some helping of Process Hacker, I found out the way to get the 3D view in FCE files work correctly in Windows 10.

All you have to do is to put a d3dim.dll file from Windows 7 (file version is 6.1) or below into the NFSWizard folder to get it working. You can either Google said file or snatch it from my portable NFS Wizard (it's located in the App\NFS Wizard folder)

General NFS / Adding cars to NFSMW is now possible!
« on: Oct 01, 2018, 10:54 AM »
Fellas, I've got excelent news: a few days ago there was a breakthrough in NFSMW modding, now you can *add* cars to the game (as demostrated here with my Sentra SE-R mod, which has it's own vehicle entry).

A modder named MWInside developed some tools to allow you to add cars to the game with relative ease, the only caveat is that you should either create a new save file or patch a existing save with the tools he provides in order to use them. You can check out and download his tools here:

If you want to try out a true addon car right now, nlgzrgn (the guy behind Extra Options for several games) made a addon version of Arushan's Ferrari 360 (the first NFSMW mod car). You can get it here:

NFS:HS Workshop / Tutorial - How to convert a car to NFSHS
« on: Jun 22, 2018, 10:24 AM »
Well, if you been wondering why I have been in "radio silence" mode regarding mods in the last few weeks, this is your (partial) answer to that; I've been making this video tutorial series on how to convert a car to NFSHS.

(I apologize beforehand for the horrible voiceover of the first video, tho)

General NFS / Saki Kaskas (1971-2016)
« on: Nov 17, 2016, 9:33 AM »
From Rom Di Prisco's Facebook page

Quote from: Rom Di Prisco

I unfortunately have some very sad news. My dear friend and collaborator for almost 20 years, Saki Kaskas, has passed away. Saki was a gentle, kind soul, with a heart of gold. He was one in a million. He was a master of his craft, and I don't exaggerate when I say that he was the most talented musician I have ever known. I have consistently been blown away and hugely inspired by Saki's work over the last 2 decades. He had it all, his guitar work, synth work, audio production skills, and a feel for music unlike anyone else. Saki had a deep passion for the artistry of composition, but enjoyed the technical side of production as well, and some of our recent conversations entailed philosophical discussions on the use of compressors, limiters, and linear phase eqs during the mastering process, and whether or not they would detract from the purity of the original vision of the music.

My introduction to Saki was when I delivered my first music track to the Need for Speed team, a song for the Lotus Elise GT1 showcase video in NFS2 Special Edition. Saki had overdubbed some heavy guitars on the track, and when I first met him, he apologized for possibly messing up my song and ruining my vision... I laughed pretty hard, since he took my basic track and turned it into something 10X more badass.

I have had the pleasure of working with Saki on countless projects over the years, occasionally helping him with synth work, but most of the time he was helping me out with his mind blowing guitar work. I am sitting here right now in my studio, with his guitars blazing, mixing a new song we were working on for a game soundtrack.

Saki and I had a musical connection that I haven't experienced with anyone else. I could just send him a track that needed some guitar work, and he would 'get it'. I didn't need to describe any detailed instructions, or what type of 'sound' I was after. He would nail it perfectly every time, no matter the genre. Quite often I would ask Saki to record a couple minutes of quick guitar riffs for a new song I was working on, and I would receive back from him 7 different variations, each recorded digitally, dry, and then through his live amps, and an extra 2 hours of 'noodling' on top of that. He would apologize for overdoing it a little, and for me having to 'sift through all that crap'. That crap was some of the best stuff I have ever heard, and I could literally make another 10 songs out of it, and quite often, I did.

The one thing that makes me very happy, is knowing that Saki's music will live on forever. So I invite you to type his name into a youtube or google search, pull up some amazing tracks like Callista, Aquadelic, Siwash Rock, Rainman, Little Sweaty Sow, Knossos, Sundown, Amorphous Being, Snazzy Pants... kick back, and enjoy the journey.

We're gonna miss him.

NFS:HS Workshop / Some notes on car classes and compare values
« on: Jul 30, 2016, 12:15 PM »
Car classes
Some of you have wondered what are the criteria to fit a car into a certain class in NFSHS. Well, I made some tests to determine what are the upper and lower limits pertaining each car class (at least on terms of acceleration and top speed) using the fastest cars for each. Here are my results:

This table is meant only as a guideline for car classes; some cars might exceed or falter in some areas (for example, a Lotus Elise usually does the 0-60 in the mid 5 sec range, making it a A class car, but it's top speed is below what you see in A class cars -120 mph-). Handling and braking are not measurable in game, so you gotta use another car in the same class as a benchmark

Compare values
NFSHS is rather weird on how it uses the compare values of fedata files. The range of the bars of the compare screen is smaller than it looks. Here's a picture of how do they actually work:

So if the minimum value is 3 and the max is 20, that means we have 17 usable "chunks" of the bar. Now each chunk has to have an equivalent in acceleration and top speed at least (as I said before, handling and braking are not measurable in game) and after some S.W.A.G. I figured out how accel and top speed are measured in compare:

1 chunk of the bar is equal to:

* -0.3 seconds from 0 to 60 (beginning with lowest value -Mercedes SLK; +7 s-)
* 5 mph (8 km/h) top speed (beginning with the lowest value -BMW Z3; -130 mph [-210 km/h])

And the overall value is just the average of the 4 values

Also, there is the Excel spreadsheet I made to help you out with that

Feel free to add any more insights if you have any

(download offline version here)

In this tutorial I will teach you how to make lit brakelight textures in GIMP for the times you can't source lit brakelight textures for your projects

GIMP user interface
 In case you are not familiarized with GIMP's interface, here's a quick look to it:

  • Toolbox: This is the place where are located the painting and selection tools, mostly. The foreground/background color selection is also in there.
  • Tool Options: Here you can adjust the selected tool parameters.
  • Layers/Channels/Paths Undo: Here you will see the images layers for edition. We´re are going to focus only on the Layers and Undo (in case you screw up).
  • Brushes/Patterns/Gradients: IMO these are redundant, since they can be setted up from their respective tools. In fact, the only use I found for them was adding/editting brushes, but we won't make that kind of stuff in here right now.
The toolbars can be customized to your liking, but we're going to use the default layout for this tutorial.

Step 1: Base light
Copy this image and paste it in GIMP as a new image; this is our example file

Create a new layer (either by clicking the New Layer button in the Layers dialog, going to the Layer>New Layer menu or pressing the Ctrl+Shift+N keys) and name it light_base.
 Then choose the Paintbrush tool in the toolbox (keyboard: P key), choose the 2. Hardness 50 brush, set an appropiate size for it (in this case we will set it at 50) and pick a pure red color (HSV: 0,100,100) and paint over the area you want to be lit. When you're finished, go to the Layers dialog and change the layer Mode (in this case to Value). It should look like this:

Step 2: Coloring the light
Now we're gonna create another layer and name it light_color. With the paintbrush we're gonna paint a slightly smaller area than the base light's with HSV 15,100,100 color, then we paint a smaller area with HSV 30,100,100 color. Afterwards go to Filters>Blur>Gaussian Blur and set a value of around 15-20 for this one. Apply the blur and set the layer mode to Color. It should look like this:

Step 3: The Final Touches

Duplicate the light_color layer (Duplicate Layer button in Layers dialog, Layer>Duplicate menu or Ctrl+Shift+D keys) and go to Colors>Desaturate and choose the Luminosity optionto turn it into grayscale, Set that layer to Overlay mode...

...then right-click on the layer in the Layers dialog and choose Alpha to Selection. Go to the bottom layer, copy it and then paste it, press Ctrl+Shift+N to make it a new layer.
 Now go to Colors>Desaturate and choose the Lightness option, then go to Colors>Curves and make a curve like this:

Click OK and set the layer mode to Divide. The final result should be this:

And there it is, a convincing-looking lit brakelight texture. Just export it (File>Export ; Ctrl+Shift+E) to a suitable format and that's it

Additional notes
Depending of your source image you might have to use other layer modes or values to achieve your desired effect; don't be afraid to experiment.
 Hope this tutorial results useful to you. AJ signing out.

I made a video guide on how to install and run NFSHS in Win 7 and later, including instructions on Jim's Stock Pack and VEG's Modern Patch
(sorry for the kinda bad quality, Movie Maker likes to mess quality up)

NFS:HS Workshop / Justin Martin's CARP.TXT tutorial
« on: Aug 17, 2014, 10:37 AM »
Since NFS Pit Stop is forever lost (unless you use the Wayback Machine), I managed to keep a copy of his CARP tutorial and I managed to make a PDF of it to share.!439&authkey=!AID_TsVko7wcBZ8&ithint=file%2cpdf

download offline version

 OK, so you've got a gorgeusly modelled/converted car, with gorgeous textures, melodic custom engine sounds, a painfully accurate performance and showroom data. But there's something missing, right? NFSHS cars generally have a nice "videowall" (or vidwall, for short) of the car. Normally you just would take a photo of your car and shoehorn it into the new vidwall file, right?

Step 1: Say hi to GIMP

 The first time you fire up GIMP, it would look like this:
  • Toolbox: This is the place where are located the painting and selection tools, mostly. The foreground/background color selection is also in there.
  • Tool Options: Here you can adjust the selected tool parameters.
  • Layers/Channels/Paths Undo: Here you will see the images layers for edition. We´re are going to focus only on the Layers and Undo (in case you screw up).
  • Brushes/Patterns/Gradients: IMO these are redundant, since they can be setted up from their respective tools. In fact, the only use I found for them was adding/editting brushes, but we won't make that kind of stuff in here right now.
The toolbars can be customized to your liking, but we're going to use the default layout for this tutorial.

 Step 2: Creating the vidwall

 First of all, copy any vidwall from the data\feart\vidwall folder to a convenient location (like My Documents or Desktop), rename it according to the 4-character car id in your FEDATA files, and open it with FSHTool (provided in the zip) by dragging the file to the fshtool.exe executable. A folder with the file's name will be generated in the same location with as the vidwall file.

Inside that folder there will be 3 files, 2 bitmaps and one .fsh file (which is actually a textfile with the file parameters, don't touch it since it's necessary to rebuild the vidwall file) Open the first of them (the one that appears in the opponent selection screen) in GIMP.

Now hit Shift+A to select the whole image, then X to switch the foreground/background colors, then hit Delete to delete the whole image and get a suitable base.

Open the image you want to use as Vidwall (I will be using a Corvette ZR1 I fetched from as a new layer (File > Open as Layers / Ctrl+Alt+O), then resize it using the Scale Tool (Shift+T, also click in the chain icon to avoid any warping) and move it around with the Move tool (M) to your liking. Once you're done, go to Layer (or right-click the Layers dialog)> Layer to Image Size to crop the layer.

Go to Colors > Colorize. A dialog will appear.

Here you can tint the image with a single color, you can use these values for the manufacturers that come with the game:

  • Porsche/Lamborghini: 45,100
  • Mercedes: 225,100
  • McLaren: 210,50
  • Nissan: 35,70
  • Jaguar: 170,100
  • Holden/HSV: 225,35
  • Ford: 215, 100
  • Ferrari/Pontiac: 0,100
  • Chevrolet: 200,100
  • BMW: 225,25
  • Aston Martin: 125,50
I usually reduce lightness by 10-25, depending of the image (to reduce contrast a bit in certain images).

Go to Color > Brightness and Contrast, reduce brightness by 20-35 and raise contrast by the same amount, then hit OK.

Then, go to Filters > Blur > Motion Blur. Set the length to 7 and set the angle in such a way the blur runs in the same direction the car is "pointing" at (at 0 degrees, the blur is completely horizontal from right to left, at 45 degrees the blur runs diagonally from right to left, at 90 degrees, the blur runs vertically from the bottom to the top. From 90 degrees onwards, the order and direction is inverted... to not make things way too complicated, I will try to put it in a diagram:

You can use the Compass tool (Shift+M) to measure the angle (do it from the front end of the car). Depending of the direction the car is pointing at and/or the car angle you have to add/substract 90/180/270/360 from the angle you will get from the tool.
Now select the Rectangle Selection tool (R), check the Rounded Corners checkbox and set the radius to 15. Now select the image from corner to corner (make sure there are not gaps at the sides), hit Ctrl+I to invert the selection (so you will only have the corners selected) and delete it. You should have something like this:
That's it for the opponent vidwall. Now save it (or export it, if you're using GIMP 2. 8) . Select Flatten the Image, click on "Export" and "Save" when prompted.

Now it's time to make the player's car vidwall (the one with the manufacturer logo) Get a suitable logo image (high resolution, white background) and open it in GIMP. Use the Fuzzy Select tool, adjust the threshold to around 50-100 and select all the blank spaces. Then, invert the selection (Ctrl+I) and copy the selection. If you find a png of the logo it's even better since you can skip the Fuzzy Select step and copy/paste straight away.

Paste it in the vidwall image as a layer (Edit > Paste as > New Layer), auto-crop the layer (Layer > Autocrop Layer) and then scale it to either 320px width or 150px height (depending of the logo). Then use the Alignment Tool (Q) to align the layers (click on the background, then Shift+click on the logo and align it to the center with the buttons in the tool options dialog)

Go to Colors > Colorize and adjust the hue value as the same you used the last time, but set the saturation to 50-75 and hit OK. Then go to Layer > Transparency > Alpha To Selection, create a new layer (Ctrl+Shift+N), place the new layer below the logo one, and go to Select > Grow Selection. Set a value of 5 pixels and hit OK. Use the Bucket Fill tool (Shift+B) and paint it with black. That will be the logo shadow.

Now deselect your selection (Ctrl+Shift+A) go to Filters > Blur > Gaussian Blur and set it to 10. Go back to the logo layer, change the layer to mode to either Screen, Dodge, Addition, Soft Light, Hard Light or Grain Merge (whatever you think it looks best). Go to Layer > Transparency > Alpha To Selection, get back to the shadow layer and delete the selected part. Then set the layer opacity to 90-95. You gotta have something like this (using Screen layer mode on the logo):
Now save/export the image as 0001.bmp as described before. It's time to compile the file.

Step 3: Recompiling the file

Just drag the index.fsh file to the fshtool executable and that's it. Your vidwall is ready to use!

Additional notes

 This procedure can be used with the showroom vidwalls (xxxx1.qfs, xxxx2.qfs, where xxxx is the car ID), but you would like to put the rounded corners as a separate layer to make editing easier.

Pages: [1] 2

Support NFSAddons: