Psycrow101 / newbspguy

Tool for editing Goldsource maps without decompiling

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

bspguy

A tool for view and edit GoldSrc maps, and merging Sven Co-op maps without decompiling.

This fork support multiple bsp formats: BSP2,2PSB,29,bsp30ex,broken clipnodes.

Usage

To launch the 3D editor, drag and drop a .bsp file onto the executable/window, or "Open with" bspguy, or run bspguy without args.

See the wiki for tutorials.

newbspguy 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

also

  • Texture Rotation
  • Face Editor Update(better texture support, verts manual editor, etc, but without texture browser)
  • Export obj, wad, ent, bsp/bspmodel, hlrad files.
  • Import wad, ent, bsp(in two modes)
  • Render .BSP and .MDL models.
  • Full support for "angle" and "angles" keyvalue.
  • Full featured LightMap Editor for edit single or multiple faces.
  • Updated Entity Report, added search by any parameters and sorting by fgd flags.
  • Added "undo/redo" support for many manipulations. (Move ents/origin, etc)
  • Added move model(as option for transforming, like move origin)
  • 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)
  • Support J.A.C.K fgd files
  • Keyvalue editor can be used for edit all selected entities ...

image

The editor is full of bugs, unstable, and has undo button not works for some cases. 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, then click Apply Changes.
  3. Click the 'Assets' tab and enter full or relative path to mod directories (cstrike/valve and etc)
    • This will fix the missing textures
  4. Click the FGDs tab and add the full or relative path to your mod_name.fgd. 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 executable folder or in '%APPDATA%/bspguy` if not found.

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 Visual Studio 2022
    • 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. Open vs-project/bspguy.sln

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)

About

Tool for editing Goldsource maps without decompiling

License:The Unlicense


Languages

Language:C++ 62.2%Language:C 32.7%Language:Less 1.3%Language:Objective-C 1.2%Language:Objective-C++ 0.7%Language:CMake 0.6%Language:AngelScript 0.4%Language:Python 0.4%Language:Makefile 0.3%Language:Batchfile 0.1%Language:SCSS 0.1%Language:Shell 0.0%Language:Kotlin 0.0%Language:Cuda 0.0%Language:Starlark 0.0%Language:GLSL 0.0%Language:GDB 0.0%