Changelog & Updates
Announcement - 1/4/26
Hello guys, Filip here.
I'm officially announcing that, possibly in June, there will be a public Beta-Testing of Worldcraft++! However, I can't determinate on which day the testing will start. Worldcraft++ is still being upgraded, fixed etc, etc.
After beta tests will end, I will gather feedback, and it will be used for actual release of Worldcraft++.
Thank you for reading.
Update - 4/3/26 to 31/3/26
- Fixed a bug causing an Invalid Texture Extents happening when rotated brush has an extremely small/broken texture scale. This happens when importing or decompiling maps.
- Rewrote slightly
void CMapDoc::UpdateAutoVisGroups(void)function. - Fixed displacements using lots of memory (Fix inspired by Hammer++).
- Fixed undo/redo not updating models. (REVERTED.)
- Backported 3D Radius Spheres from 2013 Hammer, that appears when using entities like: light, ambient_generic, etc.
- Fixed "The SmartEdit Enter Key Trap" which existed since 1998!
- Fixed 2D view bugging out and "stop working" after zooming out due to hard-coded limit.
- Improved 3D selection, making it faster and comfortable to use. (REVERTED.)
- Cleaned up some stuff in code.
- Fixed an bug where custom mod directory in Leaked Hammer would not display user-made models, sounds and textures.
- Removed CSG "requirement" due to Valve already merging VBSP and VCSG into one thing.
- User can now safely cancel the map compiler without Leaked Hammer crashing or bugging out + added safety check in
void CProcessWnd::Append(CString str)function. - Fixed strncpy Buffer Overrun in Model Browser.
- Added red text in I/O.
- Added Sound Browser.
- Worldcraft++ now has it's own registry while still being in LeakNet directory in Registry Editor.
- Finished function responsible for creating brushes in 3D View.
- Fixed memory leak in GDI Handle which would cause "Black UI Bug".
- Fixed LEAKLEAK commment in
void CMapEntity::RemoveHelpers(bool bRemoveSolids), responsible for handling entity properties (like in prop_static model or entity class). Worldcraft++ no more "secretly" abandons the old models into RAM and wastes gigabytes of users RAM. - Fixed Invalid Solid bug.
- Fixed CString memory corruption crash in OP_entity.cpp.
- Fixed weird over-lighted white textures happening.
Announcement - 12/3/26
Hello everybody, Filip here.
I'm announcing that work on Worldcraft++ will unfortunately take sometime to make due to personal issues and some technical bugs that arise. While this sounds very disappointing, I will do everything in my power to bring Worldcraft++ still to 2026 release, but I can't predict when the build will be ready for beta-testing or for release.
Thank you for reading.
Update - 19/2/26
- Added faster loading and made sure that the leaked Hammer will keep the previously opened .vmf file in memory.
- Fixed Lazy Evaluation in Texture Browser, which caused a loop due to textures not being loaded into memory, causing Leaked Hammer to become unresponsive.
- Improved Mouse Wheel Speed, allowing the user to move around the uncompiled map faster than having to hold W key. The user can also manipulate the speed of the camera by holding Shift and using the scroll.
- Added new Hotkeys:
- H - Quick Hide Selection
- U - Unhide all
- ESC - Quick Deselect
- Improved auto-visgroup.
- Added a 2003-looking Hammer model browser.
- Improved Grid Navigation inspired by J.A.C.K and Hammer++. (Suggestion made by soup2.0)
- Added a secret easter egg.
- Fixed a bug with Texture Scale Reset.
- Fixed Grid Drift, where if the user would place an entity (e.g., at 2048.55) and saved, Hammer would write it as 2048.6 and make the entity off-grid. (Which was a risk of creating leaks)
- Re-fixed an error about uncapped FPS; the previous fix used Sleep(30), which was at first helpful. DWM saw those as requests and slowed Hammer back to 30 fps.
- Fixed the infamous Vertex Snap / Invalid Solid bug.
Update - 8/2/26
- Re-added .map and .RMF support.
- Rewrote CWorldcraft::Run to remove the hard-coded 60 FPS sleep limit, the main loop now prioritizes message processing and rendering immediately when the application is active, providing minimum input latency and maximum smoothness.
- Implemented a thread sleep (10ms) trigger when the application is inactive or minimized to prevent unnecessary CPU consumption while multitasking.
- Added timeBeginPeriod(1) to InitInstance, this forces the Windows timer resolution to 1ms, eliminating micro-stutters and jitter in the 3D viewport animations previously caused by low-precision system timing.
- Removed hardcoded render distance caps in CMapView3D. View frustum Far Z is now initialized to 300,000 units.
- Optimized hotkey logic for view distance control to support large-scale adjustments.
- Fixed CMapStudioModel render distance not synchronizing with the active camera frustum settings.
- Rewrote CMapView2D::DrawGrid to support adaptive spacing. Grid lines now double in interval (e.g., 64 -> 128) as zoom decreases, ensuring line spacing never falls below 4 pixels.
- Fixed GDI rendering issue where the grid would fail to render (black screen) at low zoom factors due to sub-pixel grid spacing.
- Fixed a bug where pasted brush-work wouldn't paste on the location chosen by the user and instead, appear far away from the chosen place.
- Made sure that the camera movement in editor doesn't stutter when having high FPS or using scroll and W key for fast moving.
- Added a function inspired by Hammer++ to hide Nodraw textures to make them stop rendering in Hammer Editor under the F5 key. (does not function, possibly requires a community fix in future.)
- Increased Ray Length from 4096/8192 units to 10,000 units.
- Forced map compiler to inject -red2black flag into VRAD parameters.
- Added memory leak detection.
- Fixed Squashed Textures in Hammer Editor's Texture Browser.
- Upgraded 2D Orientation Arrows which is based on 2007 Hammer, it will allow mappers to see if info_player_start or prop_static are correctly placed by showing yellow line in Top (2D) View.
- Added Auto-VisGroups and made sure that they automatically make categories.