Skip to content

Commit 4dfb9c1

Browse files
committed
docs: rewrite README to improve project overview and developer documentation
1 parent db60f53 commit 4dfb9c1

1 file changed

Lines changed: 42 additions & 64 deletions

File tree

README.md

Lines changed: 42 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
 Hammer 5 Tools
44
</h1>
55

6+
<p align="center">
7+
<strong>The ultimate toolkit for Counter-Strike 2 level designers and modders.</strong>
8+
</p>
9+
610
<p align="center">
711
<a href="https://github.com/dertwist/Hammer5Tools/releases/latest">
812
<img src="https://gist.githubusercontent.com/cxmeel/0dbc95191f239b631c3874f4ccf114e2/raw/download.svg" height="45" alt="Download">
@@ -15,106 +19,80 @@
1519
</a>
1620
</p>
1721

18-
# Essential Tools for Counter-Strike 2 Mapping
22+
---
23+
24+
# Level Up Your Mapping Workflow
25+
26+
Welcome to **Hammer 5 Tools**. If you've ever felt that the standard CS2 Workshop Tools are missing a few essential features, you're in the right place. This toolkit is built by a mapper, for mappers, to bridge the gaps and streamline your workflow.
1927

20-
A powerful toolkit for Counter-Strike 2 Workshop Tools. Edit sound events, create smart props, build maps, manage keybindings, and customize loading screens.
28+
Whether you're wrestling with sound events, trying to make sense of Smart Props, or just want a faster way to compile your project, we've got you covered.
2129

22-
[**Visit Official Website**](https://hammer5tools.github.io/)
30+
[**Check out the Official Website**](https://hammer5tools.github.io/)
2331

2432
<p align="center">
2533
<video src="https://hammer5tools.github.io/videos/hero.mp4" controls="controls" width="100%" muted="true" loop="true" autoplay="true"></video>
2634
</p>
2735

28-
## Tools
36+
## What's Inside?
2937

3038
### SmartProp Editor
31-
Edit .vsmart files using an intuitive interface. The tool supports all essential properties while maintaining compatibility with older formats. Modify properties in real-time to precisely adjust the position, rotation, and scaling of your models. Utilize presets to rapidly construct repetitive elements.
39+
Stop editing `.vsmart` files in notepad. Our editor gives you a visual way to manage position, rotation, and scaling in real-time. It's fully compatible with Valve's formats and includes presets to help you build complex scenes in seconds.
3240

3341
![SmartProp Editor](https://hammer5tools.github.io/static/smartprop_editor.png)
3442

35-
---
36-
3743
### SoundEvent Editor
38-
Manage in-game sounds seamlessly. The editor works directly with Counter-Strike 2 sounds (.vsnd files) and allows you to explore, preview, and configure sound events. Use presets to quickly set up sound events or define your own custom configurations. Edits the `soundevents_addon.vsndevts` file directly.
44+
Managing sounds shouldn't be a chore. Explore, preview, and configure your `.vsnd` files directly. We edit your `soundevents_addon.vsndevts` file safely, so you can focus on the atmosphere, not the syntax.
3945

4046
![SoundEvent Editor](https://hammer5tools.github.io/static/soundevent_editor.png)
4147

42-
---
43-
4448
### Map Builder
45-
Streamline the map compilation process with a dedicated and powerful interface. Access fast, full, or custom compile options such as building geometry, visibility, or baking lighting. Configure settings like lightmap resolution and quality while monitoring CPU, RAM, and GPU usage during the build in real-time.
49+
A streamlined interface for the compilation process. Whether it's a quick preview or a final bake with high-quality lighting, you can monitor your system's performance (CPU/RAM/GPU) in real-time while it works.
4650

4751
![Map Builder](https://hammer5tools.github.io/static/map_builder.png)
4852

49-
---
50-
5153
### Cleanup Tool
52-
Effortlessly remove unused and redundant files from your addon's content folder. By scanning your project's .vmap file, the tool identifies and keeps only the actively referenced assets, freeing up valuable storage space and simplifying project management.
54+
Is your addon folder getting messy? This tool scans your `.vmap` and sweeps away unused assets, keeping your project lean and professional.
5355

5456
![Cleanup Tool](https://hammer5tools.github.io/static/cleanup_tool.png)
5557

56-
---
57-
58-
### Export / Import Addon
59-
Simplify the distribution of your projects by exporting and importing entire addons seamlessly. Filter out unnecessary folders or VCS files, and include compiled maps, materials, or models effortlessly. Ideal for packaging your map for release or collaborating with other developers.
58+
### Addon Porter (Export/Import)
59+
Easily package your addon for release or collaboration. Filter out junk files, include compiled maps, and share your work with a single click.
6060

6161
![Export / Import Addon](https://hammer5tools.github.io/static/export_import_addon.png)
6262

6363
---
6464

65-
### AssetGroup Maker
66-
Batch-create assets for Source 2 effortlessly. By utilizing a straightforward configuration file and a folder scan, you can automatically generate files for massive asset sets. This ensures consistency across all your assets and drastically minimizes time spent on manual edits.
67-
68-
![AssetGroup Maker](https://hammer5tools.github.io/static/assetgroup_maker.png)
69-
70-
---
71-
72-
### Hotkey Editor
73-
Configure and manage custom keyboard shortcuts for a wide variety of tasks. Streamline your workflow by keeping essential functions right at your fingertips. Store multiple hotkey presets tailored to different projects and switch between them seamlessly.
65+
# For Developers
7466

75-
![Hotkey Editor](https://hammer5tools.github.io/static/hotkeyeditor.png)
67+
Want to contribute or build your own version? Here's the lowdown on the project structure.
7668

77-
---
69+
### Project Architecture
70+
The app is modular. Each editor lives in its own folder under `src/` and can run standalone if you point it to the right paths. `src/main.py` is the entry point that brings everything together.
7871

79-
### Loading Editor
80-
Customize your map's loading experience by managing screenshots, map icons, and descriptions. Capture high-quality screenshots and history snapshots directly from CS2, process them into multiple resolutions, and configure rich-text descriptions for the community workshop.
72+
* `src/`: The heart of the app.
73+
* `src/forms/`: Minor dialogs and UI helpers.
74+
* `src/external/`: External libraries and .NET resources.
75+
* `src/common/`: Shared logic and utility functions.
8176

82-
![Loading Editor](https://hammer5tools.github.io/static/loading_editor.png)
77+
### Getting Started
78+
1. **Environment**: Requires Python 3.11+. Install dependencies via `pip install -r requirements.txt`.
79+
2. **Running**: Launch `src/main.py`. Ensure your working directory is set to the project root.
80+
3. **Building**: We use a custom `makefile.py` to handle the build process:
81+
```powershell
82+
# Build a stable release
83+
python makefile.py --build-all --stable
84+
85+
# Build a development version
86+
python makefile.py --build-all --dev
87+
```
8388
89+
### Distribution & Updates
90+
We use **Velopack** for delta-based updates. The GitHub Actions pipeline handles packaging automatically whenever a new tag (e.g., `v5.0.0`) is pushed to the repository.
8491
85-
# Development Guide
8692
---
87-
## 1. Project Structure
8893
89-
The application is organized into modules, with each editor implemented as a separate module. Editors can be run independently if you provide the paths to CS2 and the addon. All editors are integrated through the main application (src/main.py), which manages their settings. If you wish to use an editor separately from the main application, you must create separate settings and handle the CS2 and addon paths manually.
94+
## Join the Community
95+
Have questions? Found a bug? Or just want to show off what you've built? Join our **[Discord Server](https://discord.com/invite/DvCXEyhssd)**. We're a friendly group of mappers and developers always looking to help out.
9096
91-
Project folder overview:
92-
- `src/`: Contains the main application code and all editor modules.
93-
- `forms/`: Minor Qt dialogs, such as About or Launch Options.
94-
- `external/`: External libraries and resources not related to Python (e.g., .NET libraries).
95-
- `dotnet/`: .NET handle, functions (located in `src/external`).
96-
97-
Each major feature or editor has its own folder:
98-
- `common/`: Shared helpers and logic used across editors.
99-
- `main.py`: General functions, entry point.
10097
---
101-
102-
## 2. Launch and Build configurations
103-
Run configurations are available for PyCharm and Visual Studio Code.
104-
- **Run:**
105-
To run the application, you need to run the main.py file in the src folder.
106-
Do not forget to set the working directory to the `hammer5tools` folder, which is in the same root folder as src.
107-
Otherwise, just use the ready-made run configurations in your IDE.
108-
- **Build:**
109-
```shell
110-
python makefile.py --build-all --archive
111-
```
112-
The script will generate exe file in the `hammer5tools` folder. After that
113-
it will create a zip archive of the application in the `dist` folder for distribution.
114-
The archive used by automic updates and can be used to run the application on other computers without installation.
115-
116-
117-
- **Installer:**
118-
119-
To create the installer, you need to install [Inno Setup](https://jrsoftware.org/isinfo.php). Do not change the default installation path.
120-
98+
*Created with ❤️ by dertwist and the community.*

0 commit comments

Comments
 (0)