NightFire2Source

From DanIT
Revision as of 01:53, 15 August 2025 by Dan (talk | contribs)
Jump to navigation Jump to search

A project workflow to port over levels from the 007 Nightfire console version to the Source engine.

Extracting the Files

To extract the 007 Nightfire files, you need:

  1. Place the ISO in the 'iso_dump_folder' folder of 'nightfire-re'.
  2. Run the Python script 'main.PY'.
  3. All the extracted files will be located in the folder 'iso_extract\platform_ps2\ps2_converted'.

Converting to Source

The extracted files include .OBJ files of level parts of the singleplayer FPS levels and all multiplayer levels.

  1. Run the 'Set-Scale.PS1' PowerShell script in the same folder as the .OBJ files.
    (this scales the object 40x, to match the right dimension for the Source engine Hammer Units.
  2. Run the 'Compile-OBJ2MDL.PS1' PowerShell script in the same folder as the .OBJ files.
    (this uses Hammer's studiomdl.exe tool to convert the .OBJ format to Source/Hammer-compatible models including .MDL files.
    Edit this script's settings to fit your projects targeted game.
    The right files will automatically be extracted to your game's 'models' folder.
  3. Open Hammer, place an object (prop_static), change the model to the Nightfire level part you want.
    You can stitch multiple level parts together.

Next Step

The OBJ files are 3D models, but in order to create a workable level in Source, we need brushes instead of models.
There is no other way than to manually redraw all the surfaces as brushes, but we can import the level parts as model to use as reference to easily draw over it,
and the scaling to Source is such that the parts fit on the Hammer grid, thus creating an almost 1:1 replica.

  1. (Re)position the model of the level part so its fits/snaps to the Hammer Grid (use Grid Level 2 or higher).
  2. Use the block tool to redraw the brushes of the level parts.

Common Dimensions

(currently mostly based on Drakes Castle / Snow Blind map):

Description HU Dimensions
Model Scale (Original OBJ to Hammer Units) x40 (39.97)
Texture Scale 0.5
Wall Thickness (Thin) 5
Wall Thickness (Normal) 10
Floor Thickness (Normal) 10
Floor Thickness (Thick) 20
Room Size Multiple of 20
Hallway Width 120
Stairs Step 8 x 16
Stairs Step Count Multiple of 5
Door Frame 70 x 100 (beams 10 x 10)
Window Frame 70 x 70 (beams 5 x 5)
Knee Height (retaining wall, etc.) 40
  • The more distance a level/map covers, the more inaccurate the scale for the reference models become, up to 1 HU per 4000 HU.