func_door/func_door_rotating: don't return when blocker has been killed/gibbed

func_door_rotating: use velocity instead of angles (fallback to angles if velocity is 0 0 0)

func_train: now follows moving path_corners

path_corner: new spawnflag: "random target"

trigger_setorigin: new spawnflag: "rotate around parent" (use with offset)

Added custom damage to weapon entities.

Mappers can specify the 'dmg' key in a weapon entity to give it a custom damage value instead of inherit one from the skill configuration.

Added multi_manager trigger modes.

Add #0 for Off, #1 for On, or #2 for Kill, to the end of time value. e.g. "5 #2" to kill something in 5 seconds.

Added Fire On Enter and Exit options to various brush-based trigger_ entities.

Increased multi_manager targets to 32, and added a developer warning if a multi_manager exceeds the maximum number of targets allowed.

All item_ entities, such as weapons and ammo, can now float if the level designer desires.

"Everything Else" flag for various entities. Triggers fire if touched by func_train, etc.

Added the ability to force sounds to loop, or play only once, via their filenames. Useful for using MP3s as looping replacements for monster sounds, etc.

A sound with "_loop.*" at the end of its filename will loop by default, e.g.: mysound_loop.mp3. A sound with "_once.*" at the end of its filename will play once by default -- e.g. mysound_once.wav

Fixed console output in developer mode not showing new lines as expected.

Added features to the env_spritetrain entity. Note that this entity is bandwidth-intensive, and should be used very sparingly.

Implemented env_xenmaker template feature for the squadmaker. New key "xenmaker" specifies a targetname of the env_xenmaker to copy and activate. The copied env_xenmaker is destroyed after being fired.

Map, player, and skill configurations can now use tabs in lines to split the CVAR name and value.

Gave 'item_antidote' a purpose: it now checks if a player is poisoned, and cures them if so. Also gave it a sound when being picked up.

Work-around for model limit problems: Most world (w_) models have been combined into the one file -- w_svencoop_pickup.mdl. For a full list of affected models, check this post:http://www.svencoop.com/forums/showpost.php?p=449537&postcount=11 (The models mentioned as "excluded" are excluded). Custom models, whether per-entity or global, should not be affected.

Fixed crash bugs related to sentry turrets.

Fixed a crash after dropping weapons in specific circumstances.

Fixed demo write buffer leaking memory.

Raw List of Changes

This raw list of newer changes needs to be merged into the list above. When moving items from this list to the main list, please try to:

Move it to the right category. Mapping Changes for things that only affect mappers, Weapon Changes for adjustments to weapons, Bug Fixes for things like crashfixes (even crashfixes related to weapons), etc.

Make sure that it's not a duplicate item or a fix for something that wasn't broken in 4.07.

Remove any superfluous comments intended for developers, e.g. "Also added a commented-out block where I've began to copy the template env_xenmaker"

Rephrase to be more concise or understandable where necessary. Lines should be as short as possible while conveying the necessary information.

If you're not sure about something, ask in the forum thread.

Code

Monsters with hull sizes greater than 96 units in height now perform two hull traces to prevent them from entering small areas.

Changed some CVAR's from FCVAR_PROTECTED to FCVAR_SERVER because plug-ins couldn't read them when they needed to (like mapcyclefile).

Improved sound engine compatibility with some sound cards. Separately, if the player's fmodex.dll file is out of date, the game will now exit. Before exiting, a descriptive error message will be displayed.

Disabled the anti-telefrag code (that shifts the actual player spawn position up to 92 units away from the spawn point entity) if CVAR 'mp_multiplespawn' isn't 0. The default map configuration has this set at 1. Mappers can turn this off if they require the shifting to happen.

Fixed a bug causing the game to crash when func_trains are in the map.

Added key name/value to read key "xenmaker" to point to an existing "env_xenmaker". Also added a commented-out block where I've began to copy the template "env_xenmaker", I may need help to finish it.

The medkit weapon no longer heals machine allies, only the wrench will instead.

Fixed hornet gun not re-charging ammo while unselected.

Increased medkit recharge speed by 25%.

Set MOTD text to "No server MOTD available." if it is still empty after receiving it.

Players have to wait 3 seconds before collecting another crowbar, pipewrench, or barnacle grapple weapon.

Players have to wait 180 seconds before collecting another minigun.

Modified barnacle free player conditions for forced respawn: only frees player if they move over 32 units away from the barnacle by force.

Lowered minimum spit distance by 25% for gonome. This won't always fix the 'hiding under the stairs' issue on toonrun2, but this is as good as it will get without severely effecting how the gonome behaves in general.

Limited the barnacle tongue to 1024 units.

Reset the barnacle state if their prey moves out of it's tongue position (X/Y axis), like via a 'trigger_respawn'.

Barnacles now ignore non-solid monsters as they couldn't physically touch them. Mappers can now have ghost-like human enemies if they like. They will also ignore players using the 'notarget' cheat mainly to help out mappers. Also, if a player uses 'notarget' or 'nonsolid' while being lifted, the barnacle will reset as it can no longer feel them.

Added new cheat: 'cl_nonsolid' This will allow players to become non-solid, mainly for mappers who require this during debugging.

Replaced fog colour to "None" if there is no fog defined.

Slowed down gibs dramatically while underwater, so they gradually float to the surface.

Disallowed monster_tripmine from creating monster info.

Minor updates to the RPG weapon.

Disallowed calling for medic, warning to take cover, or firing weapons while a player is frozen (i.e. by a camera).

Disallowed heavy weapons grunts from firing if they’re underwater, and they also will start drowning immediately when fully underwater losing 10 HP/second.

Stopped monsters with the prisoner flag turning towards sounds they could hear.

Fixed a bug where monster_robot would only do it's death trigger if it got exploded instantly.

Fixed an invalid repelling animation for monster_grunt_repel. It was showing the "sitting dead" animation or something like that, changed it to the repelling action.

Updated the FGD: Matched ammo_spore to the Opposing Force FGD.

Fixed 'weapon_grapple' model in the FGD. It's "w_bgrap.mdl", not "w_bgrab.mdl".

Adding entities 'weapon_sporelauncher' and 'ammo_sporeclip'.

Added env_shake custom color and size. Changed env_shake keyvalue descriptions, as they were irritating. Added func_group brush entity, which is the old method of grouping objects before a certain version of VHE, as this entity is casted into normal solid brushes by the compile tools. You can use this to keep brush groups in the MAP file-form.

Added coloring to most PointClass entities, also changing and fixing a few hull sizes.

Fixed info_teleport_destination's hullsize to make sense. Fixed bad commenting conventions. Fixed tabs inserted as spaces. Replaced all iconsprites previously used with our own ones, located in sprites/vhe-iconsprites.

Removed env_model (not required anymore)

Added In_Filter and Out_Filter base class for extended filtering

Sorted all entities by name as they show up in the hammer entity list

Added Filters to the Trigger and Door Base Classes as i think those are the entities where they're mostly used.

Due to popular request, removed the filter keyvalues. They were considered irritating because of their vast quantity yet their rare usage. Furthermore, the keyvalues were set twice on some entities and also on entities where they do not belong, like muti_manager. In the future, disable smart edit and add the keyvalues manually in order to use the filter feature.

"func_breakable" spawnflag "Instant Crowbar" is now "Instant Break". New property: "Instant Break Weapon" (weapon) - specifies the weapon that can be used for the "Instant Break" flag, defaults to crowbar of course.

Adding properties to the barnacle that were missing (HP, custom name, other monster properties, etc).

Added Angles and Model properties to the weaponbox entity.

Added .fgd changes for new squadmaker functionality.

Models

HD scientist with loop setting for fallingloop animation.

Cleaned up They Hunger player, and weapon models.

Updated 357 model

Rescaled a few ammo models.

UVW correction on v_m40a1 and hgun, relative scale corrections on most weapon and ammo models.

Adding some models from OpFor. Even if they're not needed for OpForCoop, some might be useful for custom maps.

OpFor Osprey model (adds on_tarmac and take_off sequences).

UVW and smoothing corrections on some models. Added throw_snark animation to agrunt.

Updated the hound eye model to help with the dedicated server lag issues, and the teleport bug.

Re-enabled chrome effects in a number of models in which they went missing last year.

Add op4 gman.mdl

Raw List of Changes after 08-08-2010

Mapping:

Added missing properties to turrets and miniturrets in FGD:

maxsleep - "Max time to search without a target"

turnspeed - "Angles per second"

Models:

Fixed bigrat.mdl's death animation

Changed zombie_soldier's hitboxes to support locational damage

Added HD gauss gun model

Houndeye attack charge time reduced

Code:

Fixed 'startarmor' map CFG not setting a new limit for battery power (i.e. startarmor 150 should allow players to acquire 150 armour from batteries and wall chargers). Sniper's code comments suggest that it being stuck at 100 was not intended.

Also applied the battery drain if the battery charge is over the limit, just like health slowly trickles down to the limit if it somehow exceeds it.

- All sound files will, by default, play once. Fixes issue with non-wave files. Play mode feature added to ambient_generic. The new flags can also be used in normal sound-play function calls to force looping on or off.

Sentry guns and turrets now respect their class override from Hammer.

Ran into a crash when reloading the uzi. This should stop the game from crashing if the right uzi isn't available.

Fixed some accuracy values that were different on the client and server side.

Fixed a problem where clients would become permanently stuck in VGUI menu mode if a vote popup appeared while they had the vote menu open.

Made normal votes and trigger_votes interfere with each other less.

Fixed a crash caused when clients disconnect (or are disconnected) from a server while the Media Player menu is open. I'm not sure if this is the proper way to do it, though -- asking about it on the forums.

Added Protector's repairable/HUD info code for func_breakables. Also gave them a max_health value (necessary for repair) and had repairable breakables default to Player Ally if no classification is specified.

Moved spark effect clientside for npc_moveto. Added guardpoint schedule for NPCs to stay put after being directed to a location.

Reduced medic framerate to 2.0 for disarm/arm pistol/needle.

Hopefully fixed three related problems with linked doors:

When some (or maybe all?) linked doors became stuck, they called all their friends... then each friend called each of _his_ friends, including the original door. So an exponential rise in checks with each door linked together.

Problem 1 caused linked doors' States to be reversed in some cases. So one part of the linked door would be trying to open while the other was trying to close.

Problem 2 would sometimes cause the doors to become semi-permanently stuck, meaning every linked door would call every other linked door every frame. This caused major network issues.

- Changed m16a2 pitch to be within the range of 100 (normal) to match HGrunt's - was too high before.

Fixed issue with NPCs shooting at dead enemies the entire length of their run or walk to a new location.

Made Hud Info work for func_pushables as well as breakables. Note that if you set a classification for pushables, some monsters only seem to attack its original position (if you push it somewhere, they don't realise it's moved).

- Fixed issue with Gonome's and Bullsquid's projectile attacks freezing in-place in the air if couldn't calculate velocity needed to hit target

Improvements to the guard point feature (npc_moveto), now works /even if/ an NPC is attacking a target.

Gonome projectiles now behave like the bullsquid's, they have gravity

Fixed bug with move_and_shoot code applying animations when the monster wasn't allowed to move (e.g. waiting for a door, waiting for another NPC to move)

Fixed issue with Barney / Otis / Scientists ignoring enemies if they were answering a question.

Fixed a null pointer crash with turrets.

Fixed allied turrets showing as hostile in monsterinfo while deactivated. This was because their classification was changed while deactivated so monsters wouldn't attack them. Changed it to use FL_NOTARGET while deactivated instead.

Turrets spawned by squadmakers still start deactivated, but also get the Autostart flag now (you still need to trigger them On, but once you do they won't permanently deactivate unless you trigger them Off again).

Had an error message print to console if a sound-replacement or model-replacement file is not found.

Added optional 'Linear Rolloff' options for ambient_generics (enabled under Play Mode in Hammer). These give mappers fairly precise control over sound radii, allowing for sounds that play at maximum volume within a specified minimum radius and can't be heard at all from outside a maximum radius.

Fixed a crash caused by the bigmomma code mistaking a scripted_sequence for an info_bigmomma.

Had cdaudio commands sent to all players instead of just the local player. Would be good if this could be tested with 2+ people on a server.

Fixed a media player crash occurring when stopping a song twice in a row, stopping a song then using "playmedia", etc.

Removing the hack which checked and edited Sven Co-op's Launch Options to include "-num_edicts 4096", as recent Steam Cloud changes mean it no longer has any effect.

Sentry turrets can now still be toggled on/off after being woken by touch/damage.

Hopefully fixed problem with RPG sounds looping forever.

Had aslave/slv_word3,4,5,7.wav precached for the Alien Slave, as they're used in islave.mdl animation events.

The target_cdaudio entity was only set up for single-player (Valve has a comment warning to only use it in SP), and it seems that it was causing a crash in some cases. Changed it to simply play the specified cdaudio track for all players when triggered (the Radius value no longer has any effect). This is actually a step up in functionality, as far as multiplayer usage goes.