Releases: TeamSpen210/HammerAddons
Version 2.6.0
Note: The postcompiler won't work on Windows 7. (It might work on Win 8, but I'm not certain). Since these versions aren't supported by Microsoft any more, at this point Python itself and many of the libraries I'm using are now dropping support for it. That means I would have to rely on old versions without bugfixes and newer features, making future development difficult.
New Features
- Added
comp_vactube_sensor, which allows detecting the presence of vactube objects. - Added
comp_piston_platform, which generates the logic for Portal-style piston platforms. - Added option to
trigger_hurtto create the logic for 'forgiving laserfields'. - Added
hammer_modelentity to allow placing reference models in Hammer that don't appear in-game.
Enhancements
- Update to Mapbase 7.3.
- A new "snippets" system allows FGD files to easily repeat descriptions and other small sections.
- Add ability to randomise output delay to
comp_relayandcomp_adv_output. - Added a value mode option to
comp_kv_setterandcomp_adv_outputto more clearly control which key is used. - Added textures for 4 rendertargets (camera, water reflection/refraction, full framebuffer). These give a nice preview in Hammer.
- Added three keyvalues to
ambient_generic, giving a more user friendly interface to the confusing spawnflags. This also allows them to be configured via fixup values easily. - Added line helpers to
env_microphone,scripted_sequence,path_track, anditem_item_crate - Added Source 2013's
SetModelScaleinput to all animating entities, - Added undocumented
ChangeLevelPostFadeinput topoint_changelevel. - Added Portal: Still Alive features (not currently included in releases, but can be built by including the
PSAtag), - Added "singular" and "remove" modes to
comp_kv_setter. - Allow
comp_entity_finderto rotate the target in addition to teleporting. comp_kv_setters can now lookup the flags mask based on the name in the FGD.- Allow configuring various shadow/fast reflection options for vactube object ents.
- Boolean keyvalues (yes/no) can now be set to
!$var, to invert the value of the variable. - Consistently seed the RNG for compiler entities, to produce consistency across compiles.
Relevant entities now all haveseedparameters to further adjust. - Propcombine will now preserve prop fade distances, by calculating a new distance which encloses the original fade spheres.
- Propcombined models will try and use group names for the filename, if specified.
- Warn in the log if propcombine or packing was disabled via command line, so this is easier to diagnose.
- Add SFX to the Old Aperture cubedropper to simulate the new cube landing.
- Multiple prop ropes with the same shape and configuration will now properly share models.
- Add option to
comp_adv_outputto have it expand target searches itself. - Refer to the "Gravity Gun" in descriptions instead of physgun/physcannon.
- Floor buttons with
solid=6will automatically be fixed, since this unintentionally makes them non-solid. - The postcompiler will now detect and error if a loop of parents/filters is detected. These will just crash the game in a non-obvious manner.
- Included a copy of the "Obsolete" sprite used for missing entities, for games that don't include it by default such as Portal 2.
- Improved
game_textkeyvalue descriptions and added Mapbase's font keyvalue, - Updated the icon for
skybox_swapper. - Removed
info_paint_sprayerkeyvalues which are set in some Valve maps, but don't actually exist. - Removed Hammer preview from Mapbase's
vgui_text_displayas it did not actually match the in-game appearance. - Removed
skybox_swapperin Mapbase as it doesn't actually work. - Removed
playtest_managerentity as it doesn't actually exist in-game.
Bugfixes
- Fix a compile failure if prop ropes were placed in a group with no connections.
- Fix various incorrect usages of the FGD
frustum()helper. - Normals are now correctly calculated when generating propcombined models. This requires all previous models to be rebuilt, unfortunately.
- Fix overlays not functioning with
material_modify_controlparent searching. - Make RunScriptCode ` handling occur after everything else.
- #274, #277: Force required keyvalue casing for
light_environment'sSunSpreadAngleandlua_run'sCodekeys. - Fix hammer_notes text size/color parameters being missing for games before CS:GO.
- Fix an issue with
func_instance_io_proxyandcomp_entities. - Fix mismatched numbering between
logic_random_outputsKVs and inputs. - Fix
comp_kv_setter/comp_adv_outputposition keyvalues not getting transformed by instances in Source 2013. - Fix
comp_adv_outputstring keyvalues getting transformed as entity names. - Fix not being able to scale props with ctrl+scrollwheel in Hammer++.
- Fix turret FOV preview being incorrect - it's 120 degrees, not 90.
- Fix item entities not rotating their hitboxes in Hammer.
- Fix typos in some movie filenames.
Version 2.5.3
Enhancements
- #163: Added
comp_adv_output, which allows adding a single output with complex behaviour. - Added
comp_case, a version oflogic_casethat is collapsed into callers likecomp_relay. - Vactube props can now be generated with glass/frames seperately, and with bezier curves instead of Catmul-Romm. (Authored by asd417)
- Added
--verboseparameter, for showing DEBUG messages. - Added
--regenerateparameter, to force all models to be regenerated from scratch. - Added ability to specify alt skins when using
comp_prop_cable_dynamic. - Weapon scripts are now packed along with the models/sounds they use.
- #210: Add
OnFinishedoutput tocomp_numeric_transition.
Add an option to specify the maximum distance for automatic combined props. - Allow combining models containing
$collisionjoints. - Add missing
buntingkeyvalue tocomp_prop_cable. - Areaportal windows will automatically force the brushes used to nonsolid, and clear some physics data.
- Propcombine will no longer merge props found in different areaportal areas. This allows props on the outside of a building to be culled when inside, or vice versa.
- Automatically set the "transmit to client" flag for
info_targets used as particle system destinations. - Change
sky_cameramodel to be more visible withtools/toolsskyboxbehind it. - Allow physboxes to completely override their mass.
- The postcompiler can now automatically handle custom models for various Portal 2 entities.
Bugfixes
comp_pack_renamewill now automatically also include the auxiliary.mdlfiles.- #10: The center of the axis helper used for sprites can now be clicked on.
- #232: Readd missing
OnFizzledoutput onprop_weighted_cube. - Limit the size of propcombined groups to avoid hitting vertex limits.
- Prevent automatically packing models specified only as Hammer previews in various entities.
- Fix propcombine sometimes removing collisions entirely from component props.
- Add an option to allow the sources for compiled models to be preserved.
- Improve description of
waitandOnTriggeroptions intrigger_multiple. - Fix #192: Use both specified model and cube type field to find matching cubes for vactubes.
- Restore missing projected texture shadow keyvalues.
- Fix
comp_precache_soundnot handling sound characters at the start of raw filenames. - Allow
comp_vactube_startto be set to have a timer which starts disabled. - If required, add various QC flags like
$mostlyopaqueto propcombined props. - Set Precache/OnPostSpawn in generated VScript, to prevent double-firing functions already in Entity Scripts.
Version 2.5.2
- Added new
srctools_paths.vdfconfig, allowing specifying the base location for all paths in the main config.
This separation allows mod projects to synchronise the main config, while customising the new path config for installation locations on each computer. - Fix
scriptlistbeing used in pre-L4D2 branches. - Fix an issue causing a single brush face in the map to be "missing" a triangle.
- Add some support for Portal 2 Educational Version and The Stanley Parable (via @Adrthegamedev).
- Clarify that Portal 2 uses
maps/map_name_particles.txt. - Ensure culled bases are replaced by their own bases (fixes
Item, for example). - Update to Mapbase 7.1, and add Entropy Zero 2 entities.
- Added icon for
npc_heli_avoidsphere. - Change propcombine/geocable to log just the number of culled models, not every single file.
- TF2 now has VScript support, updated FGDs to include the corresponding options.
- Added new blocklist/allowlist options to permit fine-grained control of which files get packed.
- A specific option was added to strip existing cubemap files from the map, if this is necessary to fix crashes while building cubemaps.
- Add transform to allow using
/ningame_textmessages to produce multiline ones. - #167: Add
comp_player_input_helper, an entity to trick Hammer into autocompleting player inputs. - Transforms should now use
EntityDef.engine_def(), notctx.fgdto allow partially parsing the database. - The postcompiler should now be able to parse Black Mesa's static prop format.
Version 2.5.1
- Tweak
comp_prop_ropeandcomp_vactube_junction"Group" descriptions to make it clear they're optional. - Tweak
comp_vactube_junction"Override" description to make it clear they're optional. - Tweak
comp_propcombine_set/_volume"Model Filter" description to make it more clear. - Add additional log messages for propcombine.
- Add
comp_relay's "Control Type"/"Control Value" option to most comp_ entities, to allow disabling them via fixup values. - Make
point_viewcontroldefaults to be more useful. - Change the editor model for
prop_testchamber_doorto use a dashed line. - The config format for additional plugins has changed - an ID is now required, allowing for a consistent import path to be used.
- Fix issues where
comp_flickermay run indefinitely. - Fix the
use_comma_sepconfig option. - Compilation of prop ropes, propcombine models, and decompilation will now all be done concurrently, using all CPU cores.
- Added a config option (
propcombine_pack) to control whether propcombined models will be packed. - Tweak the distance
comp_trigger_p2_gooplaces the physics trigger below the surface. - Correctly handle "only once" when collapsing outputs in entities such as
comp_relay. - Improve matching behaviour for the Entity Handle mode in
comp_scriptvar_setter, and add aQangle()mode for L4D2/Mapbase. - Ensure propcombine entities are deleted from the BSP in all cases.
- The generated vactube animation prop is now textured with a valid material.
- New entity sprites:
npc_vehicledriver,comp_numeric_transition,point_broadcastclientcommand. - (#154): Add scale keyvalue to hammer_notes.
- (#42): Add editor models for Black Mesa health and suit chargers.
- (#76): Make all weapon entities include
CBaseAnimatingI/O and keyvalues. - (#120): Fix
env_bubbles,env_embers,func_precipitationandfunc_smokevolumehaving anoriginkeyvalue. These entities break if their origin is not0 0 0. - Indicate the allowed combine ball sizes -
1-12. - Snap propcombine props to within 45 degrees, not 15.
- Remove
--showgroupscommand line option. Source provides ther_staticpropinfoconvar which performs the same function. - Use a cache file to avoid needing to reparse particle system files every run.
Version 2.5.0
-
Fix two issues causing produced BSPs to be potentially corrupt. If your maps are mysteriously crashing on load, this may fix the issue.
-
Particle systems will now be detected and packed along with their dependencies. This needs configuration in the config file.
-
Optionally, the postcompiler can collapse and remove
func_instance_io_proxyfrom maps entirely to save ents. -
Add
comp_sequential_call: finds a sequence of entities (by distance or numeric suffix), then fires inputs delayed in order. -
Add
comp_flicker: fires on/off and skin inputs repeatedly to simulate a flicker-on effect. -
comp_scriptvar_settercan now set global variables also. -
prop_paint_bombwill now show its collision mesh (futbols). -
Fix .ani files for models not being detected.
-
Fix propcombine not working if blacklist is not set.
-
Handle VPKs with non-ASCII bytes in filenames.
-
BINK videos will now never be packed.
-
When generating a default config, running from a sourcemod will be properly handled
Version 2.4.0
- Added comp_prop_rope_dynamic and comp_prop_cable_dynamic, for generating 3D ropes as dynamic props.
- Added comp_prop_rope_bunting, for positioning other props along a rope (could be used for lights, supports, decoration, etc).
- Prop ropes may optionally have a collision mesh.
- Added comp_propcombine_volume & tools/toolspropcombine, which allows specifing propcombine regions with brushwork.
This does leave remmnants of the brush in the map, so the point entity may still need to be used if near brush limits. - Added comp_vactube_spline, which generates Portal 2 vactube models following a path.
- Add an editor model for decals, like overlays have.
- Added ability to specify rotation seed for vactubes.
Version 2.2.0
- Add
comp_prop_rope/comp_prop_cable: These allow generating 3D static prop versions of cables, like in Source 2. Place them down, choose a material, then connect them together like regularmove_rope/keyframe_rope. - The postcompiler is now able to properly handle pre-L4D entity outputs.
- Added "plugin" support to the compiler - directories can be specified which contain scripts to be run on the map in addition to the existing ones.
- Vactubes now have a "next junction" option for manually specifying the next location, and have a 45 degree curve variant.
- Add a pile of new entity sprites by @lazyRares.
- Propcombine can now use a bundled copy of Crowbar to decompile models if the sources are not available.
Version 2.1.6
- Add a set of cubedropper instances for Portal 2.
- Vactube enhancements:
- cross-junction splitter for vactubes
- Support for frankenturrets
- Allow having different object sets for each vactube
- Add
comp_relay, a simplified version of relays which is collapsed into the callers. - Update to Mapbase 4.1
- Add
UniqueStateinputs tologic_branch_listener, which creates alogic_branchfor each unique input entity. - Sprites for
skybox_swapper,comp_pack_replace_soundscript,env_portal_creditsandinfo_ping_detectorby Luke.
Version 2.1.5
- Fix triggers not having a "Clients" spawnflag
- Add the vactube dropper instance
- Make the postcompiler more forgiving - it will now skip soundscripts it can't find/parse.
Version 2.1.4
- Merge in Black Mesa and latest Mapbase changes.
- Add in vastly expanded visgroup sets for most entities.
- Add a lot of internal or otherwise hidden entities, improve HL2 related support.
- Add a lot of entities to internal packing database, allowing packing resources these use in code.
- Fix vactube system not working properly with multiple source points.
- Fix some incorrect math in
comp_propcombine_setshape checks. - Add
--showgroupsoption, which randomly tints each propcombine group to let you see which props have been combined.