Difference between revisions of "NightFire2Source"
| (One intermediate revision by the same user not shown) | |||
| Line 4: | Line 4: | ||
To extract the 007 Nightfire files, you need: | To extract the 007 Nightfire files, you need: | ||
* An .ISO of the PS2 version of Nightfire | * An .ISO of the PS2 version of Nightfire | ||
| − | * | + | * The Nightfire research tools (nightfire-re) |
* [https://www.python.org/downloads/ Python] | * [https://www.python.org/downloads/ Python] | ||
| Line 44: | Line 44: | ||
| Model Scale (Original OBJ to Hammer Units) || x40 (39.97) | | Model Scale (Original OBJ to Hammer Units) || x40 (39.97) | ||
|- | |- | ||
| − | | Texture Scale || 0. | + | | Texture Scale || 0.3125 / 0.625 |
|- | |- | ||
| Wall Thickness (Thin) || 5 | | Wall Thickness (Thin) || 5 | ||
Latest revision as of 16:19, 12 September 2025
A project workflow to port over levels from the 007 Nightfire console version to the Source engine.
Contents
Extracting the Files
To extract the 007 Nightfire files, you need:
- An .ISO of the PS2 version of Nightfire
- The Nightfire research tools (nightfire-re)
- Python
- Place the ISO in the 'iso_dump_folder' folder of 'nightfire-re'.
- Run the Python script 'main.PY'.
- All the extracted files will be located in the folder 'iso_extract\platform_ps2\ps2_converted'.
Models to Source
The extracted files include .OBJ files of level parts of the singleplayer FPS levels and all multiplayer levels.
- 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. - 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. - Open Hammer, place an object (prop_static), change the model to the Nightfire level part you want.
You can stitch multiple level parts together.
Textures to Source
The extracted files include .PNG files of textures of the singleplayer FPS levels and all multiplayer levels.
- Use VTFEdit on the images to create Source compatible textures.
- Save the .VTF and .VMT files in your game's 'materials' folder.
You can also edit the .VMT file to change the sound a texture makes.
Creating Shapes
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.
- (Re)position the model of the level part so its fits/snaps to the Hammer Grid (use Grid Level 2 or higher).
- Use the block tool to redraw the brushes of the level parts.
Applying Textures
- Use the texture tool to selected a face of a brush that you want to texture.
- Change the texture to the texture you want.
- Change the size and position if needed.
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.3125 / 0.625 |
| 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 walls, 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.