Map2Curve v0.81 released

Hey ppl, I just uploaded a little update. Nothing serious or worth downloading but you might as well just get it right away. There’s a new feature, a few fixes and additions and more preview images for the GUI.

New Discord Server

Also there’s now a place for anyone who’s interested to report bugs and maybe even request tutorials or features.
I set up a small Discord server, where I might also post some WIP stuff from my other projects in the future:


Feature Overview

With the new gridsize setting you can better control snap to grid. Until now it was either switched on or off and would snap your vertices to a grid size of 1 game units.
Now you can also control the snapping per the 3 axes X, Y and Z and choose your own grid size.

gridsize "1 1 1"      // X, Y, Z axis
gridsize "8 16 1024"  // Default: 1.0; valid range: 0 - 1024
gridsize "1 1 0"      // 0 = no snapping for respective axis

Unfortunately I wasn’t able to figure out snap to grid for textures as well, so keep in mind the textures will stay in place and use the setting carefully. Delicate objects will suffer from large grid sizes, while large objects can easily use higher ones.

On a lesser note I added a result dialog to Map2Curve GUI that will not only inform you about critical errors but also warnings. For more information you still need to turn off autoclose for the CLI app, run generate again and look for the respective warning message.

Complete Changelog

CLI v0.81

  • Added new gridsize command for rounding aka snapping vertices to grid.
  • Fixed an issue with precise path_corner extrusions where the first curve section would always be recognized as facing inside.
  • Adjusted auto-triangulation of brushes.
  • Added another return value for Warnings instead of just critical errors.

GUI v0.1.1.0

  • Added result dialog to GUI to make it more clear when warnings and critical errors occured.
  • Added textboxes for new gridsize command on tab general curve settings II.

Map2Curve v0.8 released

Have fun, hope you like it!
No more words. I am tired.


Feature Overview

If you want to read more about the changes and additions, head over to the 0.8 Readme.

New graphical user interface

No bad excuses anymore why you didn’t curvify your maps, thanks to the shiny new GUI I clobbed together in a few months.

It can do almost anything that is necessary to generate curves with Map2Curve without the need of creating your own preset-files.

New texture stretch setting and more

Among other texture related features it is now possible to stretch textures to the curve either adaptively or by a fixed amount.

New height curves and height calculation

I added new height curves with a few functions from and overhauled the way those are being distributed among the sections. It now works the way it should.

Furthermore height is now being specified by the total distance instead of per step.

Map2Curve v0.7 released

My dear mapping folk, version 0.7 of Map2Curve is now available.


Feature Overview

If you want to read more about the changes and additions, head over to the 0.7 overview page.

New Main Features: RMF Export and Circle duplication

The 2 most important additions to the tool are the new ability to export to RMF format, which solves the limitations that come with the Goldsource MAP format, and the new carve function for brushes, which makes the creation of highly complex seamless curves possible.

The base principle of this construction method follows an article, that was first posted to the Sven Coop forums by Kirito in 2018.

Downside: Floating point coordinates

The biggest downside of this method also applies to the new M2C feature: floating point coordinates. Because of these it is usually a good idea to turn the generated curve into a solid entity like func_detail and enclose it with worldbrushes.
However it is also possible to use the generated curve as world (seals off the level). Whether this works or not depends on how well the compiler handle it.


  • Added RMF export per default. Can be toggled with “rmf” 0/1.
  • Added carving for detail objects. Can be toggled with “d_carve” (0/1).
  • Added ability of custom origin brush and entity for detail objects. Either add an “ORIGIN”-textured brush or an info_target with name-keyvalue “ORIGIN” to a detail group.
  • Added random detail object group scaling withing limits. Can be set with “d_scale_rand” similar to other transformation commands:
    – d_scale_rand “1 0.5 2” (0/1 min max)
  • Added automatic assignment of any entity to a detail object group. Can be toggled with “d_autoassign” (0/1) and only works globally at the moment (for all curves at the same time).
  • Added flatcircle (0/1) command to make Pi circle flat instead of pointed. Original circle size is being maintained.
  • Added another bounding box type: Hollow box. Can be used with “bounds 2”.
  • Added a precise circle spin mode for detail objects. Can be toggled with “d_circlemode” (0/1).
  • Added vertex welding for carved brushes and fixing of “borderliner” vertex coordinates (e.g. 128.00002 = 128).
  • Added 3 beginner PDF tutorials to the tool archive.
  • Fixed a problem due to different vertex order of MAP files that were exported from J.A.C.K. editor. M2C would print invalid brush errors without apparent reason.

Map2Curve v0.6 released

In this release I focused on adding the overdue “intersecting” extrusion method, which essentially produces very precise results, compared to the so far available simple spline extrusion method.

A Goldsource level mainly generated with the new curve type “intersecting spline”
An interior scene generated with the new seamless texture mapping mode

There are a lot more smaller changes, some of which are important to know.
As usual you can get it from the known sites:


See the v0.6 Overview for detailed information about this release.

Continue reading “Map2Curve v0.6 released”

[Tutorial] Replace Goldsource models and keep animations (Blender 2.8)

Hello there!
Recently I tried to create a model replacement for a Goldsource game for the first time. I had a hard time figuring out the optimal solution, so I made this tutorial to make it public and also not forget about it in the future.

The following buddies are the two characters I was working with. The problem is, not only are they having different sizes, they also have very different proportions. This is usually a problem, because it demands a change in the skeletons bone layout, which will then again lead to outdated animations.

I will show you how I overcame this issue in Blender 2.8.

Continue reading “[Tutorial] Replace Goldsource models and keep animations (Blender 2.8)”

New shiny Logo

I designed a little logo for Map2Curve in Photoshop today. Thanks once more to voidkeeper for his feedback during the process.

In case someone is interested in this, some of these are earlier versions that got discarded during the development process.

Map2Curve v0.5 released

Hey there Goldsrcdiggers,

I’ve released the new version of my map generator Map2Curve.
The download mirrors have been updated accordingly.

Download Locations

See the version’s overview page for more detailed information about the new additions and changes.

In this release I added a bunch of important features that I wanted to have in there for a long time now. Let’s take a look at the main changes.

Continue reading “Map2Curve v0.5 released”

Map2Curve Update 0.5 Progression #4

Getting close to release: I more or less finished some remaining issues with the new feature (detail objects).

As you can see it is not a big problem to generate complex curved objects with a lot of details, while still being able to preserve some polygons. The last part is of course spoken relatively, since scenes like these will always consume more polygons than simpler ones and thus have to be used carefully.

Continue reading “Map2Curve Update 0.5 Progression #4”