Soldier of Fortune is a first-person action shooter title from Raven Software. You play a soldier-for-hire who must travel to some of the world's most dangerous political hotspots in order to carry out your task. Take part in over 30 missions with tasks such as locating nukes on a speeding freight train to searching out an Iraqi oil refinary. You'll be utilizing the world's most lethal weaponry, including a sniper rifle, white phosphorous grenades, and prototype microwave pulse guns. With realistic body damage, interactive 3D environments, and the Quake II engine with new GHOUL technology to back it up Soldier of Fortune is placing you into a realistic world filled with violence.

Post tutorial Report RSS SoF1 rotation/scale bug fix for Trenchbroom

There is a bug with Trenchbroom currently when mapping for SoF1 that causes the build process to freak out when you rotate or scale brushes. There's a somewhat hacky fix for it.

Posted by on - Intermediate Mapping/Technical

If you want to talk about SoF1 I recommend joining the SoF1 discord here.

Introduction

This is a sequel to my previous tutorial on setting up SoF1 with Trenchbroom here.

I discovered one issue with Soldier of Fortune 1 mapping that's somewhat annoying if you want to build a complex level. If you scale or rotate brushes the build process freaks out and causes malformed brushes.

image 1 1

As you can see here I have created a brush, scaled and rotated it. When I then process the level the build process freaks out a little.

#### Using working directory 'C:\Games\SOF1\base\maps'
#### Executing '"C:\Games\SOF1\sdk\Bin\sofbsp.exe" scaletest.map'
----- QBSP3 (10:18:25  Jan  7 2000) -----
entering C:\Games\SOF1\base\maps\scaletest.map
BRUSH- Plane with no normal:  Entity#0 (0.0000,0.0000, 0)
       Brush#6  min=(0.0000,0.0000,0.0000) max=(0.0000,0.0000,0.0000)
BRUSH- Plane with no normal:  Entity#0 (0.0000,0.0000, 0)
       Brush#6  min=(0.0000,0.0000,0.0000) max=(0.0000,0.0000,0.0000)
BRUSH- Plane with no normal:  Entity#0 (0.0000,0.0000, 0)
       Brush#6  min=(0.0000,0.0000,0.0000) max=(0.0000,0.0000,0.0000)
BRUSH- Plane with no normal:  Entity#0 (0.0000,0.0000, 0)
       Brush#6  min=(0.0000,0.0000,0.0000) max=(0.0000,0.0000,0.0000)
BRUSH- Bounds out of range:  Entity#0 (0.0000,0.0000, 0)
       Brush#6  min=(-8192.0000,-8192.0000,0.0000) max=(0.0000,0.0000,0.0000)
BRUSH- Bounds out of range:  Entity#0 (0.0000,0.0000, 0)
       Brush#6  min=(-8192.0000,-8192.0000,0.0000) max=(0.0000,0.0000,0.0000)
BRUSH- Bounds out of range:  Entity#0 (0.0000,0.0000, 0)
       Brush#6  min=(-8192.0000,-8192.0000,0.0000) max=(0.0000,0.0000,0.0000)
0...1...2...3...4...5...6...7...8...9... (0)
WARNING: node with unbounded volume
WARNING: node with unbounded volume
WARNING: node with unbounded volume
WARNING: node with unbounded volume
WARNING: node with unbounded volume
WARNING: node with unbounded volume
WARNING: node with unbounded volume
WARNING: node with unbounded volume
WARNING: node with unbounded volume
WARNING: node with unbounded volume
WARNING: node without a volume
writing C:\Games\SOF1\base\maps\scaletest.prt
Writing C:\Games\SOF1\base\maps\scaletest.bsp
    0 seconds elapsed
#### Finished with exit status 0

If I then try to run the level this is the result.

2023 08 09 195936 299

Yes it completely just didn't process the brush at all and skipped it. Sometimes it results in a malformed brush that is very glitchy.

This is due to SoF1's 90s era build compiler. This is pretty annoying especially if you wanna make a more naturalistic map. There is a somewhat hacky way to fix this that I'll go over.

The fix

Once I've created, and scaled/rotated the brush. Go into the 2D view by pressing space.

Screenshot 2023 08 09 133858


Now with the brush selected go into vertex editing. Either by clicking the icon in the menu or by pressing the V key.

Screenshot 2023 08 09 133959


Now select all the vertices by click and dragging a box around them. Now click and drag to move the brush slightly to the left or right and then move it back into place.

Screenshot 2023 08 09 1339159


Now save, build and launch the level. The brush should now contain no further issues. You can also move it around freely in the editor. Note if you plan on rotating or scaling it again you'll need to move the verts and move them back again in the 2D view.

2023 08 09 204442 994

Conclusion

Hopefully this problem will become obsolete in the future with a more modern build program for SoF1. But til then this solution is a relatively simple way to fix problematic brushes when mapping for SoF1.

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: