nfs-mw — a Rust rewrite of Need for Speed: Most Wanted (2005, PC)
Copyright (c) 2026 the nfs-mw contributors
Licensed under MIT OR Apache-2.0 (see LICENSE-MIT and LICENSE-APACHE).

This repository contains no game assets and no decompiled code. The game is read
at runtime from the user's own installation.

Controller prompt artwork: Kenney Input Prompts 1.5A — CC0 1.0 Universal.
  https://kenney.nl/assets/input-prompts
  https://creativecommons.org/publicdomain/zero/1.0/
  Xbox Series icons are packed into assets/input-prompts/kenney-xbox.png and
  embedded in the executable. See that folder's README.md for source and layout.

"Need for Speed" and "Most Wanted" are trademarks of Electronic Arts Inc. This
project is not affiliated with or endorsed by Electronic Arts.

-------------------------------------------------------------------------------
Third-party source code included in this repository
-------------------------------------------------------------------------------

Except as listed below, all code in this repository was written for this
project. When code is ported from a permissively licensed project, its
copyright and license notice are kept in the ported file and the project is
listed here.

NFSTools/VaultLib — https://github.com/NFSTools/VaultLib — MIT
  Copyright (c) 2019 NFS Tools & heyitsleo
  Portions ported into libs/blackbox-attrib: the PtrN pointer fix-ups and the
  reading of ClassLoadData, CollectionLoadData, DatabaseLoadData and of
  Attrib::Array, StringKey, RefSpec and Blob values (VaultLib.Core,
  VaultLib.LegacyBase). The MIT notice is kept at the top of
  libs/blackbox-attrib/src/{vault/pointers.rs, class/load.rs,
  collection/load.rs, database/types.rs, value/decode.rs}.

vgmstream — https://github.com/vgmstream/vgmstream — ISC-style licence
  Copyright (c) 2008-2025 Adam Gashlin, Fastelbja, Ronny Elfert, bnnm,
  Christopher Snowhill, NicknineTheEagle, bxaimc, Thealexbarney, CyberBotX,
  EdnessP, et al.
  Portions ported into libs/ea-audio: the EA-XA, EA-XAS and EA MicroTalk decoders
  (src/coding/ea_xa_decoder.c, ea_xas_decoder.c, ea_mt_decoder.c, libs/utkdec.c) and
  the layouts read by src/meta/ea_schl*.c. The notice is kept at the top of
  libs/ea-audio/src/codec/{xa.rs, xas.rs, microtalk/*.rs}.

GPUOpen-Effects/FidelityFX-FSR — https://github.com/GPUOpen-Effects/FidelityFX-FSR — MIT
  Copyright (c) 2021 Advanced Micro Devices, Inc. (ffx_fsr1.h, ffx_a.h)
  Copyright (c) 2014 Michal Drobot (concepts in the "float approximations" of ffx_a.h)
  Portions ported into libs/blackbox-gpu-passes: FidelityFX Super Resolution 1, the EASU upscale
  and the RCAS sharpening, rewritten in WGSL (src/shaders/fsr1.wgsl) with the approximate
  reciprocal and reciprocal square root helpers of ffx_a.h. The MIT notice is kept at the
  top of that file. The upstream header files are not vendored.

GPUOpen-LibrariesAndSDKs/FidelityFX-SDK — https://github.com/GPUOpen-LibrariesAndSDKs/FidelityFX-SDK — MIT
  Copyright (C) 2024 Advanced Micro Devices, Inc.
  Pinned to the tag v1.1.4 (commit c6efa6bf7f2027b3ec94f28578bb5965eabb9e55), whose FSR 3 upscaler is
  version 3.1.4. Portions ported into libs/fsr3-wgpu: the FSR 3.1 temporal upscaler (not frame
  generation) rewritten in WGSL from sdk/include/FidelityFX/gpu/fsr3upscaler/ffx_fsr3upscaler_{accumulate,
  callbacks_hlsl,common,luma_instability,luma_pyramid,prepare_inputs,prepare_reactivity,rcas,reproject,
  resources,sample,shading_change,shading_change_pyramid,upsample}.h, the RCAS of
  sdk/include/FidelityFX/gpu/fsr1/ffx_fsr1.h, and the host logic of sdk/src/components/fsr3upscaler/
  ffx_fsr3upscaler.cpp (constants, jitter, quality ratios, pass order); the DX12 pass wrappers were read
  for the bindings. The MIT notice is kept at the top of every file in libs/fsr3-wgpu/src/shaders/. The
  upstream files are not vendored; the list is in libs/fsr3-wgpu/README.md.

daddesio/utkencode — https://github.com/daddesio/utkencode — Unlicense (public domain)
  Original of the MicroTalk (UTK) decoder that vgmstream's utkdec.c derives from.
  Credited in libs/ea-audio/src/codec/microtalk/.

Fonts embedded in the binary through egui (crate epaint_default_fonts), used by the
developer console and the performance overlay:
  Hack Regular        — MIT (Hack and Bitstream Vera licences)
  Ubuntu-Light        — Ubuntu Font Licence 1.0
  Noto Emoji          — SIL Open Font License 1.1
  emoji-icon-font     — MIT
The licence texts are in the epaint_default_fonts crate (fonts/*.txt) and are
included in the generated third-party licence file of binary releases.

VP6 video decoder, linked as a git dependency of libs/blackbox-movie (not vendored):
  ruffle-rs/nihav-vp6 — https://github.com/ruffle-rs/nihav-vp6 — MIT
    Copyright (c) 2021 Kostya Shishkov
    The VP5/VP6 decoder of the NihAV project, which its author relicensed under the MIT
    License for the Ruffle project (COPYING in the repository; see also
    https://codecs.multimedia.cx/nihav-relicensed-code/). The crates nihav_core,
    nihav_codec_support and nihav_duck declare no license field, so deny.toml clarifies
    them. Pinned to commit 12d0bdf10a85641dc2de3d6900c747894431ed77. Only this subset is
    MIT: the rest of NihAV is AGPL-3.0 and is not used.

Rust dependencies are fetched by Cargo and keep their own licenses; see
Cargo.lock and `cargo deny check licenses`. Binary releases will include a
generated third-party license file.

-------------------------------------------------------------------------------
References consulted during development
-------------------------------------------------------------------------------

These projects were read to learn file formats, data layouts and behaviour.
Unless stated otherwise, nothing from them is vendored, linked or shipped, and
no code was copied. Facts learned from them (offsets, layouts, IDs, names) are
documented in docs/ with credit. Policy: docs/licensing.md.

Decompilation and symbols
  dbalatoni13/nfsmw — https://github.com/dbalatoni13/nfsmw — CC0-1.0
    Chunk ID names (tools/bchunk_names.py), struct layouts (TextureInfo,
    eStreamingEntry, TrackStreamingSection, AttribSys classes), PC 1.3 symbol
    map. Read-only reference; behaviour is reimplemented spec-first.
    Visual Treatment shader/runtime behavior: docs/specs/visual-treatment.md.
  Brawltendo/Most-Wanted-Vehicles-Decomp — no license — reference only.

Format readers and tools
  NFSTools/NFS-ModTools — https://github.com/NFSTools/NFS-ModTools — no license — reference only
    (solid, scenery and TPK layouts).
  NFSTools/VaultLib — https://github.com/NFSTools/VaultLib — MIT (AttribSys).
  NFSTools/Attribulator — https://github.com/NFSTools/Attribulator — no license — reference only.
  NFSTools/GlobalLib — https://github.com/NFSTools/GlobalLib — MIT (global files, JDLZ).
  NFSTools/FEngLib — https://github.com/NFSTools/FEngLib — no license — reference only (FEng UI).
  SpeedReflect/Nikki — https://github.com/SpeedReflect/Nikki — MIT (strings, collision, sun info).
  SpeedReflect/Binary, NFSTools/Binary — GPL-3.0 — read only.
  vgmstream — https://github.com/vgmstream/vgmstream — ISC-style (EA audio formats).
  FFmpeg (libavformat/electronicarts.c, libavcodec/vp6.c) — LGPL-2.1+ — read only (movie
    container facts: docs/provenance/video.md).
  ruffle-rs/nihav-vp6 — https://github.com/ruffle-rs/nihav-vp6 — MIT (VP6 decoder, used as a
    dependency; see above).
  x07x08/nfsmw-save-editor — https://github.com/x07x08/nfsmw-save-editor — Unlicense (save offsets).
  EA Command & Conquer Generals source, EAC compression library — GPL-3.0 — read for
    understanding the HUFF codec only; see docs/formats/huff.md.

Engines, viewers and hook projects
  magcius/noclip.website (src/NeedForSpeedMostWanted) — MIT, partly reverse-engineered — read only.
    Colour-treatment curves and screen gain map reference: docs/provenance/visual-treatment.md.
  whoismept/OpenUG2 — MIT. bdrtr/PryHUB — Apache-2.0. OpenNFS/OpenNFS — MIT.
  veritr1x/nfsmw-recomp — MIT (speed.exe v1.3 hash, loading-path notes).
  codepdbh/nfsmw-android — https://github.com/codepdbh/nfsmw-android — GPL-3.0, read only.
    Xbox 360 native renderer and reflection synchronization notes considered as context.
    No code or assets copied; see docs/provenance/car-reflections.md.
  berkayylmao/NFSPluginSDK — BSD-3-Clause. gaycoderprincess/nya-common-nfsmw — MPL-2.0.
  ThirteenAG/WidescreenFixesPack — MIT (registry key, camera, aspect-aware HUD placement).
    https://github.com/ThirteenAG/WidescreenFixesPack — reference only; no code copied.
  rng-guy/NFSMWBartender — CC0-1.0.
  Xbox 360 Stuff Pack — https://nfsmods.xyz/mod/1200 — reference only.
    elaymm4 and ToruTheRedFox; installed configuration and binary corroborate
    the widescreen 0.92 UI scale used by the optional HUD preset. No addon code copied.
  Lovro Pleše (xan1242), NFSMW_XenonEffects — MIT.
    https://github.com/xan1242/NFSMW_XenonEffects — behavior and configuration reference only.
    No source or textures copied; procedural spark and contrail presentation is new.
  MWisBest/OpenNFSTools — no license — reference only (install registry key).
  yugecin/nfsu2-re — no license — reference only. MaxHwoy/hyperlinked — BSD-3-Clause.
  TsyVM/MWEncyclopedia — no license — leads only (contains known errors).

Project structure
  vladtrc/iw4L — https://github.com/vladtrc/iw4L — Apache-2.0
    Crate layering, install discovery and leak-check ideas. No code copied.
  chasmlol/2010-rust-rewrite-mashup — Apache-2.0 (with vendored GPL-3.0 parts) — read only.

Input references
  xan1242/NFS-XtendedInput — https://github.com/xan1242/NFS-XtendedInput — MIT.
    Reference for configurable per-axis cutoff deadzones and controller mappings. No code copied.

Rendering concepts
  Intel XeGTAO — https://github.com/GameTechDev/XeGTAO — MIT.
    Copyright (C) 2016-2021, Intel Corporation.
    Horizon search and analytic slice integration adapted in
    libs/blackbox-render/src/shaders/ao_horizon.wgsl, which carries the full MIT notice.
    This is a compact depth-only GTAO experiment, not the complete XeGTAO implementation.
  Quasar — https://github.com/dev25bansal-ops/quasar — MIT.
    Hemisphere SSAO shader considered as a reference; no code copied.
    See docs/ambient-occlusion.md for the approach and limitations.
  NVIDIA GPU Gems 3, chapter 23.4, soft particles — reference only.
    https://developer.nvidia.com/gpugems/gpugems3/part-iv-image-effects/chapter-23-high-speed-screen-particles
    Depth-based intersection fading concept; no shader or source code copied.

-------------------------------------------------------------------------------
Projects whose behaviour we learned from (no code copied)
-------------------------------------------------------------------------------

giovannosaur/MWDynamicFOV — https://github.com/giovannosaur/MWDynamicFOV — no licence
  The dynamic FOV camera (crates/nfsmw/src/viewer/camera/dynamic_fov.rs) reproduces
  the mod's behaviour: the view widens with speed on a cubic ease-in curve. The mod
  publishes no licence, so none of its code was copied or ported, and its game-memory
  offsets are not used.
