Skip to content

Goldsrc map viewer/editor without decompiling. Also can view .MDL models.

License

Notifications You must be signed in to change notification settings

UnrealKaraulov/newbspguy

Repository files navigation

bspguy

A tool for modifying GoldSrc and merging Sven Co-op maps without decompiling.

Usage

To launch the 3D editor, drag and drop a .bsp file onto the executable, or "Open with" bspguy, or run bspguy <mapname>

See the wiki for tutorials.

Editor Features

  • Keyvalue editor with FGD support
  • Entity + BSP model creation and duplication
  • Easy object movement and scaling
  • Vertex manipulation + face splitting
    • Used to make perfectly shaped triggers. A box is often good enough, though.
  • BSP model origin movement/alignment
  • Optimize + clean commands to prevent overflows
  • Hull deletion + redirection + creation
    • clipnode generation is similar to -cliptype legacy in the CSG compiler (the worst method)
  • Basic face editing

Added new features in this fork:

  • Texture Rotation
  • Face Editor Update(better texture support, verts manual editor, etc, but without texture browser)
  • Export obj, wad, ent, bsp(selected model with working collision, can be used in any entity instead of MDL models)
  • Import wad, ent, bsp(now only one mode - import as new entity outside map)
  • Render bsp models(no MDL render at this time)
  • Full support for "angle" and "angles" keyvalue.
  • Render ents and models using these keyvalues.
  • Full featured LightMap Editor.
  • Sorting by fgd flags.
  • Added "undo/redo" for any manipulation. (Move ents/origin, etc)
  • Added move model(as option for transforming)
  • Added CRC-Spoofing(now possible to replace original map and play it on any servers)
  • Updated controls logic(now can't using hotkeys and manipulation, if any input/window is active)
  • Replaced and edited many functions(using static analysis proposals, compiler warnings) ...

image

The editor is full of bugs, unstable, and has no undo button yet. Save early and often! Make backups before experimenting with anything.

Requires OpenGL 3.0 or later.

First-time Setup

  1. Click File -> Settings -> General
  2. Set the Game Directory to your Sven Co-op folder path, then click Apply Changes.
    • This will fix the missing textures.
  3. Click the FGDs tab and add the full path to your sven-coop.fgd (found in Sven Co-op/svencoop/). Click Apply Changes.
    • This will give point entities more colorful cubes, and enable the Attributes tab in the Keyvalue editor.

bspguy saves configuration files to %APPDATA%/bspguy on Windows.

Command Line

Some functions are only available via the CLI.

Usage: bspguy <command> <mapname> [options]

<Commands>
  info      : Show BSP data summary
  merge     : Merges two or more maps together
  noclip    : Delete some clipnodes/nodes from the BSP
  delete    : Delete BSP models
  simplify  : Simplify BSP models
  transform : Apply 3D transformations to the BSP

Run 'bspguy <command> help' to read about a specific command.

Building the source

Windows users:

  1. Install CMake and Visual Studio.
    • Visual Studio: Make sure to checkmark "Desktop development with C++" if you're installing for the first time.
  2. Download and extract the source somewhere
  3. Download Dear ImGui and extract into the bspguy-master folder. Rename to imgui.
  4. Download GLFW and extract into the bspguy-master folder. Rename to glfw.
  5. Download GLEW (choose the Binaries Windows 32-bit and 64-bit link) and extract into the bspguy-master folder. Rename to glew.
  6. Open a command prompt in the bspguy-master folder and run these commands:
    mkdir build && cd build
    cmake ..
    cmake --build . --config Release
    
    (you can open a command-prompt in the current folder by typing cmd into the address bar of the explorer window)

Linux users:

  1. Install Git, CMake, X11, GLFW, GLEW, and a compiler.
    • Debian: sudo apt install build-essential git cmake libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libgl1-mesa-dev xorg-dev libglfw3-dev libglew-dev
  2. Download the source: git clone https://github.com/wootguy/bspguy.git
  3. Download Dear ImGui and extract next to the src folder. Rename to imgui.
  4. Open a terminal in the bspguy folder and run these commands:
    mkdir build; cd build
    cmake .. -DCMAKE_BUILD_TYPE=RELEASE
    make
    
    (a terminal can usually be opened by pressing F4 with the file manager window in focus)

Packages

No packages published

Languages

  • C++ 71.4%
  • C 23.1%
  • JavaScript 1.1%
  • Less 1.0%
  • Objective-C 0.9%
  • Objective-C++ 0.6%
  • Other 1.9%