-
Notifications
You must be signed in to change notification settings - Fork 1
Home
goldsrcmap is a Python library designed for parsing, manipulating, and generating GoldSrc Engine map files (.map).
pip install goldsrcmap- Download the repository and add
src(https://github.com/G2Pavon/goldsrcmap/tree/main/src) content to your working directory e.g./Mapping/Scripting/:
/Mapping/Scripting/format
/Mapping/Scripting/utils
/Mapping/Scripting/__init__.py
/Mapping/Scripting/goldsrcmap.py
- Import goldsrcmap library:
import goldsrcmap as gsm
# your code- Ensure that you have the
srccontent in your working directory/Scripting/. - Create the python file in
/Scripting/
/Scripting/your_script.py
- Import goldsrcmap.py module:
import goldsrcmap as gsm
# your codehttps://github.com/G2Pavon/goldsrcmap/wiki/Examples
https://github.com/G2Pavon/goldsrcmapextensions W.I.P
You can access to map through Python classes.
The principal class is Map, which store all entities (worldspawn, brush entities and point entities) defining the map in a Python list.
Each entity is an instance of the Entity class, which stores entity key-values pairs properties in a Python dict and brushes (if is worldspawn or brush entity) in a Python list.
A brush is an instance of the Brush class, which stores the brush faces in a Python list.
A brush face is an instace of the Face class, which stores the hyperplane as an instance of the Plane class and the texture definitions as an instance of the Texture class.
The Texture class has attributes such as texture name, uv axis as instances of the Vector3 class, uv offset/shift, uv rotation and uv scale.
The Plane is defined by three Point instances.

| Attribute | Description |
|---|---|
| entities | List of Entity objects. |
More info: https://github.com/G2Pavon/goldsrcmap/wiki/Map
| Attribute | Description |
|---|---|
| properties | Dictionary containing properties of the entity. |
| brushes | List of Brush objects. |
More info: https://github.com/G2Pavon/goldsrcmap/wiki/Entity
| Attribute | Description |
|---|---|
| faces | List of Face objects. |
More info: https://github.com/G2Pavon/goldsrcmap/wiki/Brush
| Attribute | Description |
|---|---|
| plane |
Plane object. |
| texture |
Texture object. |
More info: https://github.com/G2Pavon/goldsrcmap/wiki/Face
| Attribute | Description |
|---|---|
| name | String representing the texture name. |
| u_axis |
Vector3 object representing the texture axis. |
| u_offset | Float values for texture offset. |
| v_axis |
Vector3 object representing the texture axis. |
| v_offset | Float values for texture offset. |
| rotation | Float value indicating texture rotation. |
| u_scale | Float values for texture scaling. |
| v_scale | Float values for texture scaling. |
More info: https://github.com/G2Pavon/goldsrcmap/wiki/Texture
| Attribute | Description |
|---|---|
| p1 |
Point object representing first point of the plane |
| p2 |
Point object representing second point of the plane |
| p3 |
Point object representing third point of the plane |
| Attribute | Description |
|---|---|
| x | Float representing the x coordinate |
| y | Float representing the y coordinate |
| z | Float representing the z coordinate |
| Attribute | Description |
|---|---|
| x | Float representing the x coordinate |
| y | Float representing the y coordinate |
| z | Float representing the z coordinate |
| Attribute | Description |
|---|---|
| start |
Point endpoint of the line segment |
| end |
Point endpoint of the line segment |
https://developer.valvesoftware.com/wiki/MAP_(file_format)
https://github.com/stefanha/map-files/blob/master/MAPFiles.pdf