Code Monkey home page Code Monkey logo

chaos-fgd's Introduction

|---------------------------|

TeamSpen's Hammer Addons

Features

  • Auto-packing - filtered based on search paths in gameinfo, and based on a FGD database + comp_pack entities.
  • Static prop combining - merges together adjacent props to allow them to be efficently drawn in batches.
  • A unified FGD database allowing keyvalues to be shared among games, and accurately defining when features were added and removed.
  • Many many upgrades to entity options and layouts.
  • New sprites for almost all entities, both custom made and from a number of sources:
  • Adds lots more AutoVisgroups for easily hiding entities.
  • Several comp_ entities with additional features. These are mainly intended for use in instances, allowing modifying entities outside of the instance to conform or doing normally impossible things like positioning things in the void. To use, decompile props and configure the folder & studioMDL's path then place comp_propcombine_set entities.
  • For games supporing VScript:
    • In any RunScriptCode input, backticks can be used for string literals, instead of the disallowed " character.
    • In addition to the normal Entity Scripts section, a new Init Code field can be used to write code that's packed and added to those scripts. Useful for setting configuration options etc. Backticks can be used here too.

Installation

  • Download the release from the releases tab.
  • Use the provided FGD instead of the vanilla one. (Issues/PRs welcome for any entity improvements.)
  • Add the hammer/ folder to gameinfo.txt, to provide sprites for the compiler.
  • Add the postcompiler to the compile commands:
    1. Create a new command after VBSP, using the "Executable" type and choosing the postcompiler EXE.
    2. In the parameters, enter --propcombine $path/$file.
  • Compile a map once, which should produce the config file Game Folder/srctools.vdf (this can be placed in any parent folder of the VMF).
  • Configure the file as desired, then compile your maps to apply the changes.
  • If using BEEMOD2.4, change Hammer -> Options -> Build Programs to use vrad_original.exe.

Vactubes (Portal 2 only)

This implements a dynamic vactube system in a similar way to Valve's system, including randomised objects, complex junctions and dropper support.

  • To use, place and configure comp_vactube_object entities to specify which items can appear in tubes.
  • To build paths a comp_vactube_start entity at the beginning of the track, and a comp_vactube_end at the end.
  • Then at each corner/junction place a comp_vactube_junction ent, picking the appropriate type. These all need to be rotated appropriately so the arrows point in the correct direction to be matched up by the compiler.
  • To split a path into multiple tubes, you'll need to use one of the "splitter" junction types.
  • To join multiple back into a single pipe, simply overlap two junctions such that their outputs both point down the same route.
  • For droppers, simply place the supplied instances/cubedropper/dropper_vactube.vmf instance, and run a path up to the vactube end entity in the top. Place a prop_weighted_cube inside the dropper to specify which cube type it will spawn. The specific route leading to the dropper will be detected and only replacement cubes will be sent this way. You'll want to add a splitter just before the dropper, so the tube can have decorative items flowing through it constantly.
  • To place the vactube scanner TVs, simply add a "straight"-type junction inside the model, then place the prop_dynamics for the screen and optionally the spinner. The screen will need the supplied _new model, so both orientations have all the skins. They will automatically be detected and flash on when objects pass.
  • To avoid visual collisions, you may want to turn off the automatic spawning on one or more spawn points, then use the outputs on a junction to manually spawn objects in sync with another path.

Development

  • Mapbase's FGDs have been imported as a submodule, to track which version has been merged into this repo.

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.