Skip to content

Releases: wootguy/bspguy

bspguy v4

23 May 08:25
34b85a4
Compare
Choose a tag to compare

This is a build from February 2021. It has some unfinished features and new annoyances in it, but I think it's overall better than v3.

If you downloaded a WIP version after November 2020, then not much has changed. I'm releasing this old build now because I'm not sure the master branch is in a good state.

New

  • Undo/Redo (unfinished). Currently works only for:
    • Creating/editing/deleting entities.
    • Creating/duplicating/editing BSP models (buggy).
    • Clean and Optimize command
  • Clipnode rendering. By default, clipnodes are only shown for models with no visible faces.
  • Entity Link rendering (off by default). Shows connections between an entity and its targets/callers.
  • Entity Report widget. Used to search for entities and for bulk deletion.
    • Double click an entity name to focus the camera on it.
    • Hold Ctrl or Shift to select multiple entites. Right click to delete.
  • Edit menu added. This has the same options as right-clicking, except that you can see the undo/redo actions.
  • File -> Test option added for quick testing.
    • This deletes AI nodes so you can start the map faster, so this isn't a replacement for the "Save" option. This is also specific to Sven Co-op.
  • Transformation window shows size of the selected object.
  • Simplify option added for clipnode hulls. This replaces the hull with a bounding box to reduce clipnodes.
  • Command to unembed textures. This forces the map to use WADs.
  • "Validate" checks for duplicate worldspawn entities, which crashes the game with svc_bad.

Fixed

  • Crash merging maps with missing textures.
  • Crash deleting an entity while it's grabbed.
  • Crash duplicating model with invalid head nodes.
  • Crash editing duplicated model with deleted hulls.
  • Broken texture coordinates, model origins, and collision in merged maps.
  • Pasting text also pastes an entity if you move the mouse to the 3d view with Ctrl+V still held.
  • Wrong .ent file name when merging maps.
  • Scaling not working after duplicating a model.
  • Transform window not updated when pasting an ent.
  • Numpad Enter doesn't work with hotkeys.
  • Various fixes for entity logic in merged maps (da31d9d 2837143).
  • visleaf validation errors shown when duplicating models.
  • "Optimize" sometimes breaks entities when deleting hulls (func_ladder, func_rotating, func_rot_button, func_mortar_field, and all triggers).
  • Clicking a new object sets the transform mode to "Move" but then doesn't toggle visibility of the axes if needed.
  • Merged map sets wrong origins for entities that use the spawnorigin key.

Changed

  • You can't edit models that share structures with other models. This causes broken rendering/collision in random parts of the map.
    • When you see the "SHARED DATA" warning, duplicate the model and you'll be able to edit.
  • You can move worldspawn. This does nothing. It's preparation for editing multiple maps at the same time.
  • The map must be selected before you can use most widgets. More preparation for multi-map editing. It's just annoying for now.
  • Keyvalue count and length limits match the limits for Sven Co-op (64 keys per ent, 256 chars per key).
  • Level trigger replacement logic is case insensitive.
  • Lowercased map names in bspguy_info ents.
  • trigger_changesky logic added for merged maps.

Map Scripts

There are new map scripts included here with fixes and new usage but there's no good documentation for them yet. For now, look at some of my recent merges if you want to use them. Some info on what has changed:

  • "bspguy_start_
    " is triggered after ents are loaded in a section
  • "bspguy" target added. Any entity can trigger this. Script actions are controlled by custom keyvalues:
    • $s_bspguy_load = spawns section ents (value = section name)
    • $s_bspguy_clean = deletes section ents (value = section names separated with "+")
      • Use when bspguy_mapchange is called after sections connected with teleports (see dogs_v1.bsp).
    • $s_bspguy_rotate = rotates player position/velocity/angles around !caller (for rotated seamless transitions, see 123456_v1.bsp).
    • $s_bspguy_trigger = triggers something (works with the #0 #1 #2 trigger mode suffixes).
  • added "bspguy spawn" command to test checkpoints (rapidly respawns you).
  • added bspguy_equip entity for updating equipment after transitions into areas with different CFG loadouts.
  • notifications are shown for map changes, so you know when you've touched a level trigger.

bspguy v3

26 Jul 05:49
4536d7d
Compare
Choose a tag to compare

New

Added a 3D editor. It's purpose is to make relative teleport creation easy for merged maps, but it can also be used as a ripent tool. See the README and Seamless Transitions wiki for more info.

Merged maps now also require a map script to function. See the new Map Script Setup wiki to learn how to setup and use it. The script boosts performance in entity-heavy maps, and simplifies merged entity logic overall.

Fixed

  • Fixed crash merging maps with missing textures or invalid lightmaps
  • Fixed .bsp suffix not being auto-appended to short map names
  • Fixed broken world/model faces in merged maps when viewed in an editor
  • Fixed models with multiple origin types not being moved as they should during a merge

Thanks to R4to0 for testing the WIP builds 👍

⚠️ WARNING ⚠️
Be careful editing map models in this version. There are some horrible bugs that can break collision/rendering in some random part of the map. If you want to edit models, remember to use the Duplicate BSP model option before editing a model.

bspguy v2

18 May 05:38
Compare
Choose a tag to compare

New:

  • Added simplify command for further reducing clipnodes.
  • Added delete command for deleting BSP models.
  • Added -optimize flag to the merge command. This reduces usage of all data types.
  • -hull 0 can be used with the noclip command. Deleting hull 0 reduces usage for all data types except clipnodes.
  • Added -redirect option to the noclip command. This redirects a clipnode hull to another one instead of disabling the hull entirely. This allows players/monsters to interact with the target model normally, but with less accurate collision.

Improved:

  • -nohull2 redirects hull 2 to hull 1 instead of disabling hull 2 entirely. This results in the same reduction of clipnodes while allowing large monsters and pushables to function normally (but with less accurate collision).
  • Unused data is deleted when merging or deleting model hulls.
  • Huge reduction in visdata size when merging (~2.5 MB -> ~0.01 MB on an echoes merge).

Fixed:

  • Fixed broken collision/faces on some entities (#1).
  • Fixed duplicate textures in output file when merging (#2)
  • Fixed crashes merging visibility and resizing lightmaps on some maps.
  • Fixed info_nodes being deleted when merging.

See the wiki for more info on simplify, delete, -optimize and -hull 0

bspguy v1

10 May 21:55
Compare
Choose a tag to compare

Initial release. Only useful for merging maps, and even that needs more work.