All Projects → crashfort → HammerPatch

crashfort / HammerPatch

Licence: other
Modification of Source Valve Hammer Editor to fix some issues. Fixes brush vertex precision loss.

Programming Languages

C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to HammerPatch

Sourcedemorender
Multithreaded, hardware accelerated solution to create high quality movies for the Source engine.
Stars: ✭ 152 (+210.2%)
Mutual labels:  steam, valve, source-engine
Async Gamequery Lib
A high-performance java game query library designed for steam/source based games and others
Stars: ✭ 88 (+79.59%)
Mutual labels:  steam, valve, source-engine
bsp
Go package for parsing Valve's Source Engine .bsp (Binary Space Partition) map files
Stars: ✭ 29 (-40.82%)
Mutual labels:  valve, source-engine
valve-matchmaking-ip-ranges
Lists of locations & IP addresses of Valve servers
Stars: ✭ 69 (+40.82%)
Mutual labels:  steam, valve
Lambda
A custom Source Engine level editor written in Go
Stars: ✭ 34 (-30.61%)
Mutual labels:  valve, source-engine
Fragsurf-2
Fragsurf is an actively developed standalone game based on HL2 surf and bhop movement mechanics.
Stars: ✭ 68 (+38.78%)
Mutual labels:  steam, source-engine
newsteamchat
Metro skin for Steam chat and friends UI.
Stars: ✭ 79 (+61.22%)
Mutual labels:  steam, valve
CallAdmin
CallAdmin is a multilingual sourcemod plugin which provides in-game report functionality
Stars: ✭ 52 (+6.12%)
Mutual labels:  steam, source-engine
php-steam-web-api-client
Automatically generated api client for the Steam Web API.
Stars: ✭ 79 (+61.22%)
Mutual labels:  steam, valve
SteamHelper-rs
Interact with Valve's Steam network with this collection of crates.
Stars: ✭ 24 (-51.02%)
Mutual labels:  steam, valve
NextBot
A Git-based fork of Valve's NextBot code.
Stars: ✭ 30 (-38.78%)
Mutual labels:  valve, source-engine
Half-Life-Resurgence
Recreation & expansion of NPCs, entities, and weapons from the Half-Life series into Garry's Mod!
Stars: ✭ 52 (+6.12%)
Mutual labels:  steam, source-engine
FLOSS-Games-on-Steam
A list of FLOSS games available on Steam
Stars: ✭ 90 (+83.67%)
Mutual labels:  steam, valve
VJ-Base
An addon for Garry's mod that contains bunch of bases to make many different types of addons.
Stars: ✭ 57 (+16.33%)
Mutual labels:  steam, source-engine
source-engine-model-loader
Three.js loader for parsing Valve's Source Engine models
Stars: ✭ 54 (+10.2%)
Mutual labels:  valve, source-engine
AreWeAntiCheatYet
A comprehensive and crowd-sourced list of games using anti-cheats and their compatibility with GNU/Linux or Wine.
Stars: ✭ 289 (+489.8%)
Mutual labels:  steam, valve
halflife-op4-updated
Half-Life: Opposing Force SDK based on Half-Life Updated, with bug fixes. Check README.md for more information.
Stars: ✭ 57 (+16.33%)
Mutual labels:  steam, valve
steam.py
An async python wrapper to interact with the Steam API and its CMs
Stars: ✭ 74 (+51.02%)
Mutual labels:  steam, valve
vdf
📜 Package for working with Valve's text and binary KeyValue format
Stars: ✭ 146 (+197.96%)
Mutual labels:  steam, valve
JavaSteam
Java library that provides an interface to directly interact with Valve's Steam servers.
Stars: ✭ 70 (+42.86%)
Mutual labels:  steam, valve

HammerPatch

The program can be downloaded here. Visit here if you wish to support the development.

Installing

Both HammerPatch.dll and HammerPatchLauncher.exe should go in the same directory as hammer.exe. This will be in the bin directory of each Source game. Examples:

  • steamapps\common\Counter-Strike Source\bin\
  • steamapps\common\Half-Life 2\bin\

Instead of using hammer.exe to start, you should now use HammerPatchLauncher.exe.

This will not magically fix existing corrupted brushes, it will only have a change on new brushes that were saved with this.

Now when you save a map with HammerPatch loaded, it will create additional files next to the VMF. The .hpverts file contains the vertex data in binary form and the .hpvertstext contains a human readable representation. Only the binary file is used by the program.

Vertices moving on load

In default Hammer, unless your geometry is of perfectly straight angles, the vertices will move every time you open the map. This is because the vertices' positions are recalculated every time from plane points. This is a lossy process and will only get worse every time the map is loaded.

In HammerPatch, all vertices are saved separately and are restored on load to overwrite Hammer's estimations. Here are some images that illustrate this problem.

Figure 1

Say you have a simple default primitive. This is a cylinder with 32 sides.

Shape 1

Figure 2

In default Hammer, this is what you'd see if you zoom in on such primitive after loading a map of one iteration.

Shape 1 zoom default

Figure 3

Here's the same shape but when saved and loaded with HammerPatch. It is the exact same vertices as it was created with.

Shape 1 zoom HammerPatch

Figure 4

This problem gets more problematic on advanced shapes.

Shape 2

Figure 5

Again, this is what it looks like in default Hammer after one save iteration.

Shape 2 zoom default

Figure 6

The same map as saved and loaded by HammerPatch.

Shape 2 zoom HammerPatch

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].