Coder Social home page Coder Social logo

bspguy's Introduction

bspguy

A tool for modifying 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

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.