Hammer++: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (→‎Caveats: the env_beam is obnoxious enough when you're trying to not waste edicts, so it can be listed here)
Line 42: Line 42:
* Lighting preview ignores {{code|_minlight}}.}}
* Lighting preview ignores {{code|_minlight}}.}}
Additional bugs can be found in the [https://github.com/ficool2/HammerPlusPlus-Issue-Tracker official issue tracker], which is no longer maintained.
Additional bugs can be found in the [https://github.com/ficool2/HammerPlusPlus-Issue-Tracker official issue tracker], which is no longer maintained.
==Bugs/Limitations with unsupported games==
{{cleanup|grammar and layout; probably should be moved to subpage}}
==={{bms|4}}===
Works with {{src13sp|4}} version. However, there are some bugs and issues due to which you will not be able to work constantly.
====New lights do not work correctly====
Entities with "newLight_" and "newLights_" prefixes don't work with <code>SmartEdit</code> and attempting to replace an entity with one of these will cause a [[obsolete]] error.
<br>
<gallery mode=nolines heights=310px widths=310px>
File:newLightsBug1.jpg|A new light point placed with the [[Entity Tool]].
File:newLightsBug2.jpg|{{ent|npc_gman}} after being replaced by {{ent|newLight_Point}}.
</gallery>
This is because new lights use capitalized letters in [[classname]]. Because of this, Hammer++ cannot read them normally. You can fix it by replacing capitalized letters with lowercase, with this fix the game will work with new lights like you are using {{hammer|4}}. However, you will still not have any preview for new lights.
{{note|Similar issue with {{ent|npc_xortEB}}.}}
====[[Lightmapped_4WayBlend]] is not loaded====
You will not be able to work with Xen levels and some Earthbound outdoor levels, since this shader is used for surfaces everywhere.
<br>
<gallery mode=nolines heights=310px widths=310px>
File:4way1.jpg|Hammer
File:4way 222.jpg|Hammer++
</gallery>
<br>
<gallery mode=nolines heights=310px widths=310px>
File:4way_1.jpg|Hammer
File:4way 22.jpg|Hammer++
</gallery>
{{workaround|Use the Hammer++ version for {{csgo|4}}, as it is the only version of Hammer++ that supports [[Lightmapped_4WayBlend]].
{{note|You will need to port the game's assets because it doesn't use or support the old model format.}}}}
====No surface blend preview====
[[WorldVertexTransition]] was replaced by [[LightmappedGeneric]] in {{bms|3.1}}. This means that you cannot see blended surfaces in Hammer++, since this feature is not provided.
<br>
<gallery mode=nolines heights=310px widths=310px>
File:Blended1.jpg|Hammer
File:Blended2.jpg|Hammer++
</gallery>
====[[GRPortal]] is not loaded====
This shader is used for [[npc_nihilanth|nihilanth's]] portals.
<br>
<gallery mode=nolines heights=310px widths=310px>
File:nihiportal1.jpg|Hammer
File:nihiportal2.jpg|Hammer++
</gallery>
====[[Physics Tool]] doesn't work properly with new ragdoll entities====
[[prop_ragdoll|prop_ragdoll_original]] and {{ent|misc_dead_hev}} are ragdoll entities, Hammer++ doesn't know about this.
{{workaround|Add {{code|ragdoll()}} in [[FGD]] for these entities.}}
<br>
<gallery mode=nolines heights=310px widths=310px>
File:BMSragdolls.jpg|prop_ragdoll_original and misc_dead_hev simulating as general objects, but prop_ragdoll works fine.
</gallery>
{{confirm|More ?}}
==={{p2ce|4}}/{{strata|4}}===
Mainly works with the {{csgo|3.1}} version. Hammer++ will not provide features from {{StrataHammer|4}} and the engine (mainly UI elements and how it works with content). The convenience of its usage will depend on what you plan to do.
====Only supports the {{csgo|4}} model format====
{{strata|4}} supports all model formats from any game, including old games. Hammer++ for {{csgo|3.1}} only supports the model format from {{csgo|3.1}}, so you'll need to port models if they do not use this format.
{{workaround|Use the {{src13sp|3.1}} version}}
====No <code>Scale Override</code> preview====
Static props support the <code>Scale Override</code> keyvalue (similar to {{Src2|3.1}}). You will not see changes in Hammer++.
<br>
<gallery mode=nolines heights=310px widths=310px>
File:ScaleO1.jpg|{{StrataHammer|4.1}}
File:ScaleO2.jpg|{{hpp|4.1}}
</gallery>
====Custom folder is not supported====
{{strata|4}} supports the <code>custom</code> folder. Hammer++ for {{csgo|3.1}} doesn't.
{{workaround|Use the {{src13sp|3.1}} version}}
====Doesn't read <code>mounts.kv</code>====
<code>mounts.kv</code> is a safe way to mount content from other games without editing <code>[[gameinfo.txt]]</code>. Hammer++ doesn't read this file.
====Escape sequences are not supported====
Only {{strataHammer|4}} supports [https://learn.microsoft.com/en-us/cpp/c-language/escape-sequences?view=msvc-170 escape sequences].
==={{mapbase|4}}===
Works fine with {{src13sp|4}} version. Some custom shaders may work incorrectly. Some custom features will not work as expected with Hammer++ features.
====[[SDK_Cable]] doesn't work properly====
Display skybox instead of a cable texture.
<br>
<gallery mode=nolines heights=310px widths=310px>
File:cablaSDk.jpg|An example.
</gallery>
====Spotlight textures don't apply to spotlight preview====
{{mapbase|4}} supports customization of the beam and halo texture. Hammer++ always draws the standard textures.
<br>
<gallery mode=nolines heights=310px widths=310px>
File:spotLightMapbase.jpg|An example. Used [[obsolete]] icon for halo and electric texture for beam.
</gallery>
==={{TeamSpen|4}}===
Not a game, but it has some compatibility issues as well. Some issues make it difficult to use together with Hammer++.
====Sprite tries to be applied as a model for helper====
{{TeamSpen|4}} uses model helper for sprite entities, this allows you to place them more accurately than with the white cube. Copy and paste cause the helper model to use the value from <code>model</code> property name, which sprites use to display sprite texture, this causes the helper model to use a nonexisting model and replace it with a placeholder. Fixes with <code>Undo</code> button. Doesn't happen when you place a sprite entity via [[Entity Tool]] or when you replace an entity with a sprite entity.
<br>
<gallery mode=nolines heights=310px widths=310px>
File:teamsprite.jpg|An example.
</gallery>
{{confirm|More ?}}
==={{l4d|4}} and {{l4d2|4}}===
L4D2 Hammer++ appears fine on {{l4d|4.1}}, except when compiling the map. After compiling the map and trying to join the map, an error will appear and display: ''STEAM validation rejected'' and after pressing ok, the menu will be frozen.
Identical for {{l4d2|4.1}}, without the Steam rejection, only displaying multiple repeating errors on console and unable to interact with the menu when exiting the map.
{{workaround|Before compiling the map, check the box ''Don't run the game after compiling'' and then compile the map, after it has been compiled, enter Left 4 Dead/2 with console enabled and type: '''map <map name>'''.}}
{{tip|You can enable '''dev''' by going to manage < properties, on Launch options, type: -dev 1.}}
====Textures breaking on Displacements====
The textures break/glitch on displacements when going further away from the map. This only happens with displacements when configured to {{l4d2|4.1}}. This does not happen when configured to {{l4d|4.1}}.
Only way to stop the textures glitching is by unchecking the box ''Displacements''.
<gallery mode=nolines heights=310px widths=310px>
File:Bug-L4d2 texture.png|Example taken in Hammer++
File:Comparison Bug-L4D2 texture.png|Example taken in Hammer
</gallery>
{{confirm|More ?}}


==See also==
==See also==

Revision as of 16:23, 19 May 2024

English (en)Deutsch (de)Español (es)Suomi (fi)Hrvatski (hr)Português do Brasil (pt-br)Русский (ru)Українська (uk)Tiếng Việt (vi)中文 (zh)Translate (Translate)

Hammer++ Hammer++ is a community-made modification of the Valve Hammer Editor for Source that provides an updated, more stable, feature-rich version of the editor.

Hammer++ currently supports the following branches of the Source engine:

It is also included with Military Conflict: Vietnam Military Conflict: Vietnam, in lieu of vanilla Hammer.

Hammer++ for Counter-Strike: Global Offensive Counter-Strike: Global Offensive is no longer supported; Ficool recommends using Garry's Mod Garry's Mod Hammer++ and porting the Shader-ball.png lightmapped_4wayblend shader. Alternatively, use Military Conflict: Vietnam Military Conflict: Vietnam's version of Hammer++.

Other games/mods tested

Icon-Important.pngImportant:In order to use CS:GO Hammer++, you must have the csgo_legacy beta branch installed for Counter-Strike 2 Counter-Strike 2. The CS:GO Hammer++ no longer receives updates, so it's highly recommended that you use the Garry's Mod version alongside it instead, if you have GMod.
Game Engine branch (game) Hammer++ Version Notes ViewDiscussEdit templatePurge
Alien Swarm Alien Swarm Alien Swarm engine branch Garry's Mod Errors about reading particles, use mount.cfg to mount Alien Swarm data.
Note.pngNote:Functions differently than Hammer, instead of using a func_brush with name structure_seal, use a normal brush to close your maps.
If compiled it forces the map to be fullbright even if there are lights.
Icon-Important.pngImportant:Use func_details for your entire map as it will generate unwanted portals
Half-Life: Source Half-Life: Source Source 2013 Singleplayer Source 2013 Singleplayer Configure Hammer for Half-Life: Source, then install to game's 🖿bin folder normally.
Half-Life Deathmatch: Source Half-Life Deathmatch: Source Team Fortress 2 branch Team Fortress 2 Configure Hammer for Half-Life: Source, then install to game's 🖿bin/x64 folder normally.
Half-Life 2: Deathmatch Half-Life 2: Deathmatch Team Fortress 2 branch Team Fortress 2 Install to game's 🖿bin/x64 folder normally.
Left 4 Dead Left 4 Dead Left 4 Dead engine branch L4D2 L4D2 Hammer++ appears fine on Left 4 Dead, except when compiling the map. Once compiled and joining the map, an error will appear and display: STEAM validation rejected and unable to interact with the menu after pressing ok.
PlacementTip.pngWorkaround:Before compiling the map, check the box Don't run the game after compiling and then compile the map, after it has been compiled, enter Left 4 Dead and via console, type: map <map name>.
Tip.pngTip:You can enable dev by going to manage < properties and on Launch options, type: -dev 1.
Note.pngFix:Remove the steam_appid.txt from the 🖿hammerplusplus folder.
Left 4 Dead 2 Left 4 Dead 2 L4D2 Identical to Left 4 Dead Left 4 Dead, without the Steam rejection, only displaying error on console and unable to interact with the menu when exiting the map.
Note.pngFix:Remove the steam_appid.txt from the 🖿hammerplusplus folder.
Momentum Mod Momentum Mod Strata Source Garry's Mod Need retest using GMOD version.
[confirm]
Source Filmmaker Source Filmmaker Alien Swarm engine branch Garry's Mod & Portal 2 Need retest using GMOD version. Portal 2's compile tools also work. Hammer++ shouldn't be installed in SFM's 🖿bin folder, but works when pointed to from another game.
Team Fortress 2 Classic Team Fortress 2 Classic Source 2013 Multiplayer Source 2013 Multiplayer Setting up Hammer
Black Mesa Black Mesa Xengine Garry's Mod Follow this guide to make it working. Check out issues in relevant subpage. A separate version for Black Mesa is not planned.
Black Mesa (mod) Black Mesa (mod) (2012 mod version) Source 2007 Source 2013 Singleplayer Install to Source 2013 Singleplayer Source SDK Base 2013 - Singleplayer's 🖿bin folder and add a game configuration pointing to the mod; the Source 2013 Singleplayer Source 2013 SP compilers generate BSPs that are compatible with Source 2007 Source 2007.
Mapbase Mapbase Source 2013 Singleplayer Source 2013 Singleplayer Install to game's 🖿bin folder normally.

Check out the issues below in the relevant subpage.

Pirates Vikings & Knights II Pirates Vikings & Knights II Source 2013 Multiplayer Source 2013 Multiplayer & Team Fortress 2 Hammer++ shouldn't be installed in PVKII's 🖿bin folder, but works when pointed to from another game.
Icon-Important.pngImportant:Requires the Use special I/O delimiter (ESC) setting to be off.
Postal III Postal III Source 2009 Source 2013 Singleplayer Requires modification to Postal 3's FGD file(s); Recommended to use Postal 3's compilers instead; Some Hammer features from Postal 3's are missing like 'prefabs' (not to be confused with Prefab on Hammer);

Requires Source SDK Base 2013 MP/SP to be installed; Requires folder linking inside SDK Base's 🖿sourcetest folder to load assets; Hammer++ will crash if placed inside Postal 3's 🖿bin folder.

Portal Portal Source 2013 Singleplayer Source 2013 Singleplayer Install to game's 🖿bin folder normally.
Portal 2: Community Edition Portal 2: Community Edition Strata Source Garry's Mod? Check out the issues on the relevant subpage. Support by developers is not planned, and usage is strongly discouraged; some Hammer++ features will be added to Strata Hammer Strata Hammer.
Source SDK Base 2013 - Multiplayer SDK Base 2013 - MP (2025) Team Fortress 2 branch Team Fortress 2 Install to game's 🖿bin/x64 folder normally.
Source SDK Base 2006 Source SDK Base
Source 2006 Source 2006 games & mods
(including Counter-Strike: Source v34, Half-Life 2 Old Engine, etc...)
Source 2006 Source 2013 Singleplayer See Installation for Source 2006 games. Don't forget that Source 2006 games will have less textures (including tools textures such as 2D Skybox), differences in LDR + HDR lighting compared to Source 2007 and later (including Hammer++ lighting preview). So remember to run both Source 2006's Hammer and Hammer++ and check see if the same texture exists in Texture Browser on Source 2006's Hammer before adding it to the map.
Hunt Down the Freeman Hunt Down the Freeman (launch version) Source 2013 Singleplayer Source 2013 Singleplayer Install to game's 🖿bin folder normally.[confirm]
Hunt Down the Freeman Hunt Down the Freeman (latest) Source 2013 Multiplayer Source 2013 Multiplayer Install to game's 🖿bin folder normally.[confirm]

This build uses Source 2013 Multiplayer Source 2013 Multiplayer to reduce map size.

Jabroni Brawl: Episode 3 Jabroni Brawl: Episode 3 Counter-Strike: Global Offensive Counter-Strike: Global Offensive Install to game's 🖿bin/win32 folder normally.[confirm]
FGD must be modified to replace soundscape and sky KVs with string.
As CSGO version of Hammer++ is frozen on an older version, it may be desirable to use Garry's Mod H++ alongside the native CSGO version, to take advantage of newer features like Propper++.

Features

  • Accurate lighting preview
  • Upgraded graphic fidelity
  • Significantly better stability
  • Particle rendering
  • 2D + 3D skybox preview
  • New model browser, particle browser, color editor, and keybinding editor
  • Realtime display of fog and ropes
  • Variety of new tools such as physics simulation, gizmo manipulation, drawing of polygon shapes, and convex brush merging
  • New func_instance tools
  • Quality of life improvements
  • ... and much more!

A more detailed feature list can be found on the Hammer++ website and you can support ficool2 via Ko-fi

Caveats

Icon-Bug.pngBug:
  • Always uses Windows's high-DPI scaling setting, even when scaling override mode is set to "Application" in Wikipedia icon File Explorer's compatibility settings for 🖿hammerplusplus.exe. This can result in less real estate than Hammer Hammer 4.x, depending on Windows settings.
  • Does not correctly render env_beam previews when the env_beam itself is set as a start or end point.  [todo tested in ?]
Warning.pngWarning:

Additional bugs can be found in the official issue tracker, which is no longer maintained.

See also

External links