Skip to content

bspguy v4

Latest
Compare
Choose a tag to compare
@wootguy wootguy released this 23 May 08:25
· 79 commits to master since this release
34b85a4

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.