THE CUSTOM RUN 1.1
User manual


If you have never used Cheat Engine, start at FIRST TIME SETUP and read in order.
If you only want to know what one section does, jump to THE SECTIONS.
If you used 1.0 and only want to know what changed, WHAT 1.1 CHANGES is at
the end.


-------------------------------------------------------------------------------
WHAT THIS IS
-------------------------------------------------------------------------------

Need for Speed: The Run hands you a Tier 1 car in San Francisco and makes you
climb through the tiers as the story goes on. This table removes the climb. You
drive Tier 6 cars from the first race, every opponent in the game gets Tier 6
performance while keeping the car the story gave it, and the AI is set to its
highest level. The 6 timed events get their own start and checkpoint seconds so
they stay winnable but tight.

It is a Cheat Engine table. Nothing is installed into the game folder and
nothing on disk is modified. Close Cheat Engine and the game is back to normal.

Everything is a toggle or a dropdown. There are no hotkeys to learn.


-------------------------------------------------------------------------------
WHAT YOU NEED
-------------------------------------------------------------------------------

  - Need for Speed: The Run on PC, patched to 1.1. The EA App and Steam copies
    are both 1.1.
  - Cheat Engine 7.3 or newer, from cheatengine.org.
  - The file "The Custom Run.CT".

Your antivirus will probably flag Cheat Engine, and may flag the .CT file. That
happens to every Cheat Engine table because of how Cheat Engine writes into
another program's memory. If you are not comfortable with that, do not use this.


-------------------------------------------------------------------------------
FIRST TIME SETUP
-------------------------------------------------------------------------------

  1. Install Cheat Engine. During install, decline the bundled offers if any
     appear.
  2. Put "The Custom Run.CT" anywhere you like.
  3. Start Need for Speed: The Run and get to the main menu. Do not start a
     race yet.
  4. Alt-Tab out of the game and open Cheat Engine.
  5. Click the small computer icon at the top left. A process list opens.
  6. Find "Need for Speed The Run.exe", select it, click Open. The icon area
     now shows the process name.
  7. In Cheat Engine, File, Open, and pick "The Custom Run.CT". The table
     appears as a list of rows with checkboxes.

Steps 3 to 7 are in that order on purpose. The game must be sitting at the
main menu before Cheat Engine attaches to it and before the table is opened.
Do not attach during the intro videos, a loading screen or a race.

If step 6 finds nothing, the game is either not running or running as a
different user. Close Cheat Engine, right click it, Run as administrator, and
try again.

Windowed or borderless mode makes Alt-Tab far less painful than exclusive
fullscreen. That is a game setting, not a table setting.


-------------------------------------------------------------------------------
STARTING A RUN
-------------------------------------------------------------------------------

  1. Tick the top row, "The Custom Run (Tier 6)".
  2. The game freezes for a few seconds. This is normal and happens once per
     session. The table is scanning memory for every opponent template in the
     game and rewriting them.
  3. Once the game responds again, set up anything you want to change.
  4. Play.

Order matters in three places:

  - Cheat Engine attaches after the game reaches the main menu, never before.
  - Garage and gas station choices must be set before that screen loads. Once
    it is on your monitor it is too late for that visit.
  - Opponent changes are best made between races, not during one.


-------------------------------------------------------------------------------
THE SECTIONS
-------------------------------------------------------------------------------

Rows marked "(auto)" are the table's internal machinery. The master switch ticks
them for you. Leave them alone.


THE CUSTOM RUN (TIER 6)
-----------------------

The master switch. Ticking it does all of this at once:

  - Garages, gas stations and the junkyard offer Tier 6 cars only, all
    unlocked.
  - The 6 timed events use the table's own start and checkpoint seconds,
    identical on every difficulty setting.
  - Every opponent record in the game gets Tier 6 performance.
  - AI difficulty is forced to Expert, with the difficulty scalar at 0.25.
  - Drafting is turned off for everyone on track, you included.

Do not untick it in the middle of a session. To go back to a clean state, close
the table and reload it.


RACE TIMES
----------

Six events, each with a Start value and one value per checkpoint. The numbers
are seconds. Start is how many seconds you get when the race begins. Each
checkpoint value is how many seconds that checkpoint adds when you cross it.
They are not deadlines and they are not running totals.

  Event               Start  CP1  CP2  CP3  CP4  CP5
  Altamont Pass         27    21   33   21   21    -
  Yosemite Approach     22    27   22   20   18    -
  Desert Valley         24    27   27   18    -    -
  Independence Pass     23    22   24   23   23   20
  Buffalo Gap           40    30   23   24   30    -
  Smoky Mountain        33    22   18   18   26    -

To edit one, double click the value, type a new number, press Enter. Whole
seconds are easiest to reason about but decimals work.

"Pause timer" freezes the countdown while it is ticked. Use it if you want to
look around, or to see a stage without the clock. It is not part of the master
switch.

These values are read when the event loads, so change them before you start it.


GARAGE CARS
-----------

Fifteen car slots, grouped by where they appear: the junkyard car, San
Francisco (5), Las Vegas (3), Chicago Downtown (3), Uri's car shop (3). Each
slot has a Model dropdown and a Skin dropdown.

The first San Francisco slot is the car you are already sitting in when the
story starts, so that is the one to set first.

Skin values are the paint and body variants each car ships with: Stock 1 to
Stock 8, Run, Rare 1, NFS Edition. Not every car has every variant.

Four cars also offer their body kits, because on those four a kit carries the
same performance as stock:

  Bugatti Veyron 16.4 Super Sport   Style Pack 1, in 8 colours
  Hennessey Venom GT                Style Pack 1, in 8 colours
  Koenigsegg Agera R                Style Pack 1, in 8 colours
  McLaren F1                        Style Pack 1 and Aero Pack, 8 colours each

No other car offers kits, and that is deliberate. On a car whose Tier 6 is an
edition above stock, a kit carries the stock tune instead, which would quietly
drop the car to Tier 4 or Tier 5.

Set a slot before the garage screen loads. Changing it while you are standing
in the garage does nothing until the next visit.


GAS STATION CARS
----------------

Gas stations in The Run let you swap cars mid stage. This section decides which
Tier 6 cars are on offer.

MODE has two settings. Mode 1, the default, shows only the cars from your
current garage set, which keeps the choice small and consistent with what you
picked. Mode 0 switches to the 22 individual toggles below it, so you can build
any list you want. The toggles do nothing while MODE is 1.

The list wraps around. If you enable fewer cars than the screen has slots, the
same cars repeat. That is intended, not a glitch.


AI PERFORMANCE
--------------

This is the largest section. Opponents keep the car model the story gave them,
but the performance numbers come from a Tier 6 donor. Every opponent in the
game is here, 69 entries in five groups.

RIVALS, five entries. Marcus is the sixth named rival and he is not here: he
already runs the One-77's own Signature Edition, so he sits with the Aston
Martin One-77 opponents and the table writes him nothing new.

  Nikki Blake            Nissan 370Z
  Mila Belova            Nissan 370Z
  Calvin Garret          Mercedes-Benz SLS AMG
  Cesar DeLeon + 2       Chevrolet El Camino SS
  Eddie Cooke            Ford Mustang Boss 302

Their donors are picked for the car rather than for the number. Mila runs the
GT-R SpecV at 957 bhp, the closest Nissan to a 370Z there is, and Nikki the
Skyline GT-R R32 at 811. Calvin runs the Huayra at 898, which Pagani builds
around an AMG V12, the same engine family as his SLS. Cesar and his bodyguards
and Eddie run the Venom GT at 1200, an American V8 from a tuner whose trade is
American V8s.

Marcus keeps the One-77's own Signature Edition at 937 and is not written at
all. He is the only rival the table leaves exactly as the game made him.

Cesar and Eddie share a number because the best match for both cars is the same
donor. Pace was the second question here, not the first.

Nikki runs at two speeds and the game decides which. The record in her entry
drives her only in the one race where both 370Z rivals appear, and there she
runs 811. In every race she appears without Mila the game takes her off the
ordinary 370Z records, which are the Nissan 370Z (Z34) entry under OPPONENTS,
on the GT-R SpecV at 957. That entry cannot be lowered to match her, because it
is what Mila runs for most of her appearances too. If you want the two to
agree, set Nikki's entry to the Nissan GT-R SpecV.

OPPONENTS ON A DONOR, 39 entries sorted by name. These are the cars with no
usable Tier 6 of their own.

OPPONENTS ALREADY TIER 6, 16 entries. The master sets these automatically to
their own Tier 6 edition. Change one only if you want to.

POLICE, 7 entries, and MOB, 2 entries. Both sit at "Default (game original)"
and are left exactly as the game has them. Pick a donor only if you want the
pursuits to keep up with a Tier 6 car.

Every entry in all five groups offers "Default (game original)". It undoes
Tier 6 for that opponent and puts back the performance the game shipped. The
values come from a snapshot the table takes before it writes anything, so they
are restored record by record: the Ford Police Interceptor carries two
different tunes across its four pursuit records and both come back.

LIVE READOUT at the top of the section counts the donors you have changed away
from their default. Expand it to read them. Each line ends with a status:
"OK" means the opponent's records were found and written, "scanning" means the
search is still running, "NOT FOUND" means the search failed and that change
did not take effect.

Changing a donor triggers a memory scan, which freezes the game for a moment.
Do it between races.

Two Tier 6 cars are not used as a donor for anything else. The Bugatti Veyron
16.4 Super Sport, at 1183 bhp and 430 km/h the fastest car in Tier 6, because
nothing in the opponent roster resembles a quad turbo W16. And the McLaren F1,
at 627 bhp the slowest Tier 6 there is, because the one opponent that had it,
the Shelby Cobra Daytona, now runs the Corvette Z06 instead: American on
American, and out of last place.


AI DIFFICULTY
-------------

AI Difficulty Level overrides whatever difficulty the game's own menu is set
to. Values are Easy, Normal, Hard, Expert. The master sets Expert.

AI Difficulty Scalar is a separate multiplier the game applies on top of the
level. The master sets 0.25. Higher values are meant to be harder. This one is
marked experimental because its exact effect has never been measured, so treat
any value you pick as something to test rather than something to trust.

Both apply live. You can change them between races without reloading anything.


RACE RULES
----------

Disable Nitrous removes nitrous from every car on track, yours included.
Disable Drafting removes the slipstream speed boost from every car on track,
yours included. The master ticks Disable Drafting only.

Disabling drafting matters more than it sounds. In the stock game the AI uses
your slipstream to stay glued to you, and you use theirs to reel them in.
Turning it off makes the pack spread out.


NIGHT
-----

Forces night on every level and turns the map into free roam: no out of bounds
reset, no wrong way respawn, and rivals never trigger the "getting away" fail
state.

Ticking the NIGHT header ticks everything under it. Unticking it unticks
everything under it. Inside there are individual values for light intensity,
sun position, sky brightness and headlights if you want to build a different
look. "Las Vegas East A crash bypass" is there because that one level crashes
without it.

NIGHT is independent of the master switch and works on its own.


CURRENT CAR (SHOWROOM) AND CURRENT CAR SKIN
-------------------------------------------

These two work together and are for changing the paint on the car you are
driving.

Open View Cars from the main menu. CURRENT CAR (showroom) reads out which model
and skin is on screen. Then set CURRENT CAR SKIN to the variant you want. It
applies when you restart the race or reload the level, not instantly.


-------------------------------------------------------------------------------
RECIPES
-------------------------------------------------------------------------------

Make the opponents faster. Open AI PERFORMANCE and move the groups you find too
slow onto a quicker donor. The cars on the Corvette Z06 and on the Skyline
GT-R R32 sit at the low end of Tier 6 top speed. The Bugatti Veyron is the
quickest donor in the pool, at 1183 bhp and 430 km/h, and nothing uses it.

Make a timed event easier. RACE TIMES, raise the Start value of the event you
keep failing. Start is worth more than any single checkpoint because you carry
it through the whole stage.

Play a normal Tier 6 game with no other changes. Tick the master, then untick
Disable Drafting under RACE RULES.

Drive one specific car the whole way. GARAGE CARS, set every slot to the same
Model and Skin, then set GAS STATION CARS MODE to 1.

Make the police keep up. POLICE, give the Gallardo, the GT-R R35 and the
Charger a donor. Start with one and see how the chases feel before doing all of
them, because a pursuit you cannot escape is not more fun.

Screenshot run. Tick NIGHT, tick Pause timer under RACE TIMES, and use the sun
and light values under NIGHT.


-------------------------------------------------------------------------------
THINGS THAT WILL CONFUSE YOU
-------------------------------------------------------------------------------

Reloading the table resets every edit. The values live in memory that the table
allocates, so closing or reloading it throws them away. Write down anything you
want to keep.

The master switch is one way. Ticking it works. Unticking it mid session leaves
the game in a half patched state. Reload the table instead.

A garage or gas station choice made too late does nothing. The game reads the
list once, when the screen loads.

"NOT FOUND" in the AI PERFORMANCE readout means the memory scan failed, usually
because the game was mid load. Set the dropdown to something else and back
again to retry.

The gas station repeating the same cars is the wrap around, not a bug.

Body kits appear for four cars only. That is on purpose, see GARAGE CARS.


-------------------------------------------------------------------------------
TECHNICAL NOTES
-------------------------------------------------------------------------------

Some detail on what the table actually does, for anyone curious or debugging.

Opponent performance. Every car variant in the game has a customization
template, 128 bytes long, holding among other things a performance hash. The
table finds a known template by an AOB scan, then walks the template list by
fixed offsets and overwrites the performance hash of each opponent record with
that of a Tier 6 variant. The model, livery and bodykit
fields are left alone, which is why opponents look unchanged. The AI
PERFORMANCE dropdowns run on a one second timer that rescans and rewrites only
the cars you have moved off their default, and remembers each record's original
value so that setting a group back to Default restores it exactly.

Race times. Two code hooks. One fires when an event loads, identifies the event
by its ID and copies the table's seconds into a small buffer. The other fires
when the game reads a checkpoint value and substitutes the buffered value.
Events the table does not know about fall through to the game's own values.

Race times are independent of difficulty. In the stock game each difficulty has
its own timer values. Here the same numbers are used whatever the menu says.

AI difficulty. The level hook writes the table's value into the difficulty field
the game is about to read, so the game's own menu setting is ignored. The scalar
hook does the same at a different address.

Gas stations. The selection screen is filled from a 32 slot list that a hook
rewrites as the game builds it. In MODE 1 the table works out which garage your
current car belongs to and offers only that set, which is why a car and its body
kits are all recognised as the same car.

Cars are unlocked by patching the check that compares your driver level against
a car's requirement, not by editing your save. Your save file is not touched.


-------------------------------------------------------------------------------
IF SOMETHING GOES WRONG
-------------------------------------------------------------------------------

The game crashes when the table is ticked. Confirm the game is patch 1.1 and
Cheat Engine is 7.3 or newer. Older Cheat Engine versions handle the Lua in
this table badly.

Nothing happens when I tick the master. Cheat Engine is probably not attached
to the game, attached to a stale process from an earlier launch, or attached
before the game reached the main menu. Get to the main menu, reattach, and
reload the table.

The freeze never ends. Give it 30 seconds. If it is still frozen, the AOB scan
is failing, which usually means the game version is not 1.1.

The LIVE READOUT stays empty and no dropdown does anything. The override engine
did not start. Open the Lua console with Ctrl+Alt+L and look for an error.

Opponents are still slow. Check the LIVE READOUT under AI PERFORMANCE for
"NOT FOUND" lines. Also check that you ticked the master before the race loaded
rather than during it.

Cheat Engine says it cannot open the process. Run Cheat Engine as
administrator.


-------------------------------------------------------------------------------
WHAT 1.1 CHANGES
-------------------------------------------------------------------------------

In broad strokes, and only if you used 1.0.

  - AI PERFORMANCE reaches every opponent in the game now, 69 entries up
    from 37.
  - Every entry offers Default, which undoes Tier 6 for that one opponent and
    puts back the performance the game shipped.
  - The five story rivals have their own entries, by name, and their donors are
    matched to their cars: Nikki on the Skyline R32, Mila on the GT-R SpecV,
    Calvin on the Huayra, Cesar and Eddie on the Venom GT.
  - Body kits for the four cars that are Tier 6 at stock, forty variants, and
    gas stations keep track of your car after a kit change.
  - Police and mob can be given a donor. Untouched unless you pick one.
  - Smoky Mountain and Altamont Pass race times rebalanced. Difficulty scalar
    0.25 instead of 0.
  - Three fixes: a Quattro 20V opponent the donor change used to miss, three of
    the player's own McLaren F1 paint variants the base script used to write
    over, and seven Skyline R32 opponents that ran the GT-R SpecV's performance
    while the table said otherwise.


-------------------------------------------------------------------------------
CREDITS
-------------------------------------------------------------------------------

Built on The Supercar Run Reworked by glonce. All original mods and research by
_mRally2, https://paypal.me/mRally2. Need for Speed: The Run is property of
Electronic Arts.
