SRB2 Message Board  

Go Back   SRB2 Message Board > Sonic Robo Blast 2 > Editing > Utilities

Thread Tools
Zone Builder v2.6 - Map editor for SRB2 Details »»
Zone Builder v2.6 - Map editor for SRB2
Version: 2.6, by MascaraSnake (aka SpiritCrusher) MascaraSnake is offline
Developer Last Online: Apr 2017

Category: Version: SRB2 Rating: (17 votes - 4.94 average)
Released: 01-05-2016 Last Update: 01-30-2016 Installs: 13
Additional Software

Zone Builder is a new map editor designed specifically for SRB2. While there have been map editors for SRB2 before, they're all outdated, buggy and abandoned by now - making you jump through hoops to get things done. Hopefully, this stops today. Zone Builder is based on the actively developed GZDoom Builder editor (itself a comprehensive update of Doom Builder 2), and with significant care put into its development even before the first release, the intent is to make sure you never want to reach for another level editor again.

Features inherited from Doom Builder 2/GZDoom Builder
If you haven't used Doom Builder 2 or GZDoom Builder before, here are a few of the features that will be new to you:
  • Unlike in the old (SRB2) Doom Builder, level geometry will rarely if ever break if you copypaste it around or draw linedefs through existing geometry. New vertices will be added and sector references corrected so that everything stays intact.
  • In the regular 2D view, the floor textures of the sectors are overlaid over the map (you can also change this to show the ceiling textures or the brightness levels instead). Likewise, the real sprites of the Things in the map are shown.
  • When you hover over a control linedef or its tagged sector, an arrow will show up that shows their connection. In Sectors Mode, the sector tags are also shown inside the sectors.
  • There are several drawing modes that allow you to easily draw generic shapes like rectangles, curves and circles.
  • When creating a new linedef, its length and angle will always be visible on screen - so you don't have to play around with your viewpoint to get the whole picture.
  • You can have Things selected together with other level geometry at the same time. Just switch to another editing mode after making your selection and it will still be active. You can then move, resize, rotate and flip these selections all at once by pressing E to open Edit Selection Mode. Pressing C clears your selection.
  • There's a Nodes Viewer mode that allows you to view the data generated by the nodebuilder (pretty useless, but cool to play around with).

SRB2-specific features
A lot of effort has been put into 3D mode – so let's list the SRB2 features which now work in it as they do in-game (features in bold have never been handled properly in a SRB2 map editor before, and those that have are handled with significantly more polish):
  • Slopes
  • FOFs (now with translucency and shadows where applicable; linedef flags that modify the appearance of FOFs are also recognized)
  • Z position handling of things (now properly clamped between 0 and 4095 at all times)
  • Things that float when given the Ambush flag are displayed as such
  • Things with the Flip flag are properly flipped
  • Repeating midtextures
  • Translucent midtextures
  • Texture alignment for FOFs is displayed correctly and can be edited in 3D mode like with any other wall
  • Flat alignment
  • Colormaps (incomplete: currently rendered at full intensity regardless of the specified alpha value)
  • Skies are rendered in 3D mode
Outside of 3D mode, notable features include the addition of a Flags Value field for all Things, so you don't have to go counting up the checkboxes and multiply the Z value by 16 each time you want to do something with a nonstandard use of flags, as well as a field for displaying and editing the Parameter value of a Thing, for the few Thing types that use it.

As you may remember, SRB2 Doom Builder had the ability to rename the Ambush flag for Thing types where it has a special significance, i.e. displaying "Float" instead of "Ambush" for rings. Workbench expanded that to the Special flag. Zone Builder is the first editor where every relevant Thing and linedef property can be renamed, including all flags, the flags value field and the Angle field. Hopefully this will make it easier to set up special effects without having to look up which field does what on the Wiki all the time.

For the few members of our community who also enjoy modding Doom and its many source ports, Zone Builder is almost* a functional superset of GZDoom Builder and as such comes packaged with all of the default Doom, Chex Quest, Strife and Hexen configuration files to map with to your heart's content (disabled by default, though, because we know what most of you are here for – if you really want to play, go delving into the Game Configurations menu in Tools).

*The editor does not have any SRB2-specific behavior when working on Doom maps, but there was one feature removal for all map types. Rest in pieces, "Bridge Mode". You shall not be missed.


28/01/2017 - v2.6 - SRB2 Top Down config and bugfixes
Spoiler: Changelog
  • Added feature: Added the configuration file for SRB2 Top Down. It's enabled by default in new installations, but if you updated an existing installation, you have to enable it manually under Tools -> Game Configurations.
  • Bugfix: When changing the offsets of a linedef with a repeating middle texture (either manually or with the auto-alignment tool), the multiples of 4096 that control how often the texture is repeated are no longer cut off.
  • Bugfix: ZB no longer crashes if the loaded files contain multiple SOC/Lua lumps with the same name - it simply ignores all duplicates and prints a warning in the console.
  • Bugfix: "Slope backside" linedef types with the No Knuckles flag now use the offsets of the back sidedef as they should, instead of the front sidedef.
  • Bugfix: Thing angles outside of 0-359 are now recognized in Find/Replace mode.
  • Bugfix: The ROIH and ROII versions of the Bustable Block Sprite Parameter sector types are no longer mixed up.

17/09/2016 - v2.5 - Updates for 2.1.16 and bugfixes
Spoiler: Changelog
  • Added feature: Various minor updates for 2.1.16, such as updating the Lua syntax highlighting and adding new slope-related linedef types and flags to the config.
  • Changed behavior: Adapted the pegging behavior for lower textures with the Lower Unpegged flag, which was changed in 2.1.15.
  • Bugfix: Fixed two issues with the Lua parser's $Name parameter: Spaces are now accepted in the name and there's no longer a ] at the end of every name.
  • Bugfix: Fixed some issues with the skewing of upper textures on slopes.
  • Bugfix: Colormap is now applied correctly to flipped Things.
  • Bugfix: Indefinitely tiled middle textures with a vertical offset are now displayed correctly in 3D mode.
  • Bugfix: Fixed a crash when creating a custom FOF with an invalid back upper texture.
  • Bugfix: Fixed a crash when opening the edit window for a linedef with action 402 (aka the weirdest bug ever).
  • Bugfix: Fixed some description errors with linedef type 414 in the config.
  • Bugfix: Fixed several crashes in the Choose Thing Type window that happened when pressing certain keys while no Thing is selected.
  • Bugfix: Thing angles outside of 0-359 are now preserved when copypasting or placing new Things.
  • Bugfix: The BLOCKMAP and REJECT lumps are now deleted before nodebuilding to prevent outdated data from being loaded in-game and messing everything up.

24/05/2016 - v2.4 - Updates for 2.1.15
Spoiler: Changelog
  • Added feature: Various minor updates for 2.1.15, such as updating the Lua/SOC syntax highlighting and removing the "+ Slopes" from the config name
  • Added feature: Colormap rendering can now be disabled in Visual Mode by pressing Alt+C.
  • Added feature: You can now supply a name to be displayed in the editor for custom Things. This is done with the $Name parameter; the syntax is the same as for $Sprite.
  • Added feature: Updated the codebase to revision 2501 of GZDoom Builder, so now I'm only 135 revisions behind instead of 144. :X

06/04/2016 - v2.3 - Lua and SOC support in the script editor, custom Things supports

Spoiler: Changelog
  • Added feature: The script editor now supports Lua and SOC scripts, with syntax highlighting and autocompletion. It will automatically open tabs for all SOC_ and LUA_ lumps in the currently loaded file, as well as for the MAINCFG and OBJCTCFG lumps (even if they don't exist yet). You can also create and edit standalone SOC and Lua files, but you can't add new script lumps to existing WADs (except for MAINCFG and OBJCTCFG in the currently loaded file), because Zone Builder isn't a lump editor and I don't plan for it to become one.
  • Added feature: Zone Builder now automatically searches all Lua and SOC scripts in the currently loaded files for custom Thing definitions. These custom Things are then recognized by the editor and added to the list of Things. You can set the sprite that the editor displays for a custom Thing with a special comment; look here for an explanation.
  • Added feature: You can now assign shortcuts for increasing/decreasing the number of Things and the radius in Insert Things Radially Mode. If you're updating from a previous version, you may have to set the shortcuts yourself, otherwise the default values are Ctrl+ScrollUp/ScrollDown for Increase/Decrease Number of Things and Shift+ScrollUp/ScrollDown for Increase/Decrease Radius.
  • Bugfix: When testing a map, the temp file that contains potentially unsaved changes is no longer loaded if it's identical to an already loaded file. This was changed because SRB2 is stupid and refuses to start if it loads two identical files.
  • Bugfix: Fixed a bug that caused offsets to be incorrectly applied to middle textures.

01/03/2016 - v2.2 - Texture skewing, Parameter, Insert Things Radially

Spoiler: Changelog
  • Added feature: Added support for texture skewing in 3D mode. If you're asking yourself "What's texture skewing?", see for an explanation.
  • Added feature: The Parameter property of Thing types is now recognized and can be edited in the Thing edit form. Things with the same type but a different parameter value are now recognized as having the same type.
  • Added feature: Added Insert Things Radially Mode, which allows you to place a circle of Things in the map (useful for NiGHTS mapping).
  • Changed behavior: When testing a map with unsaved changes, the game now loads the unsaved changes as well. If you have already set up a testing configuration, you will have to edit it for this to work: In the Testing tab of the Game Configurations window, check the "Customize parameters" box. In the Parameters field, add "%F" (with quotes) after -file "%AP".
  • Changed behavior: Disabled the Visplane Explorer by default since it's useless for SRB2 and prone to crashes. You can re-enable it under Game Configurations -> Modes if you like crashes.

01/02/2016 - v2.1 - Bugfixes
Spoiler: Changelog
  • Bugfix: Creating and copypasting certain FOF control linedefs no longer crashes the editor.
  • Bugfix: The nodebuilder is no longer invoked twice when entering 3D mode.
  • Bugfix: Due to an oversight, the nodebuilder was called with the "Save" settings rather than the "Test" settings when entering 3D mode, which took much longer. This is now fixed.
  • Bugfix: Entering 3D mode in a map with invalid nodebuilder data (for example a map with only one sector) no longer crashes the editor.

30/01/2016 - v2.0 - Skies, NiGHTS path, customizable Thing/linedef field descriptions, and lots more

Spoiler: Changelog
  • Added feature: Added an option to extend the crosshair in classic modes to the map boundaries.
  • Added feature: The NiGHTS path (i.e. axis transfer lines and circles around axes) is now drawn on the map.
    • Each mare is drawn in a different color; the colors are configurable under Preferences.
    • There's a toolbar button for toggling NiGHTS path drawing, which you can bind to a key if you want.
    • The precision with which the circles are drawn is configurable under Preferences.
  • Added feature: Special Z position handling for NiGHTS item circles, axes and hoops in 3D mode.
  • Added feature: The Flags value field for Things is now directly writeable (instead of having to manipulate flags and height seperately).
  • Added feature: The game configuration now handles many game-dependent things, including the following:
    • Marking slope/FOF linedef types and setting their properties.
    • FOFs that change their properties when certain flags are checked are now always displayed correctly.
    • The descriptions for linedef/Thing flags are renamed for linedef/Thing types where they have special significance. For example, the "Ambush" flag is renamed to "Float" for rings.
    • For Things, the flags value and Angle description are also renamed where they have a special significance. For example, the Angle box is renamed to "Tag" for the slope vertex Thing.
    • Thing types that float when given the Ambush flag are marked in the config and displayed as such in 3D mode.
    • Thing types that ignore the Flip flag are marked in the config and displayed as such in 3D mode.
  • Added feature: FOFs in 3D mode now support rendering planes and sides seperately.
  • Added feature: Skies are now rendered in 3D mode, which can be toggled on and off.
  • Added feature: The "Peg Midtextures" flag (see changed behaviour) is now recognised in 3D mode.
  • Added feature: In the Testing tab of the Game Configurations menu, the skill level option has been replaced with skin and gametype option for SRB2 configurations.
  • Added feature: Updated the codebase to revision 2492 of GZDoom Builder. Besides skies, the most notable addition on the GZDB side is that Find/Replace mode now allows you to search for floor and ceiling flats.
  • Changed behaviour: The minimum segment length for the Draw Curve tool is now 1.
  • Changed behaviour: Changed the "About Zone Builder" icon.
  • Changed behaviour: Changed the uninstaller icon.
  • Changed behaviour: Visplane Explorer is now available for SRB2 maps.
  • Changed behaviour: "Copy Properties" tool is now available for SRB2 maps.
  • Changed behaviour: The default texture for SRB2 maps is now "GFZROCK", the default flats are "GFZFLR01" and "F_SKY1".
  • Changed behaviour: Updated the default flag names for Effects 1-5 to reflect their usage in the Public Next SRB2 repository.
  • Bugfix: Prevented negative Thing heights for SRB2 maps (rollover led to them being extremely far off the ground in-game despite rendering properly in the editor).
  • Bugfix: Raised maximum number of segs from 32767 (signed 16-bit) to 65535 (unsigned 16-bit), like it is in SRB2 (as a result, large maps no longer crash Visual Mode).
  • Bugfix: Lumps in the same WAD file are not autocapitalised when saving a map (for those of you who want to recreate 1.09.4 and bundle terrible characters with your level packs).
  • Bugfix: Now handles patch offsets properly (they are signed 16 bit integers, not 32 bit - someone messed up when defining the ACZ sky...).
  • Bugfix: Removed the updater from new installs (my apologies to those who were curious and clicked on it - ending up with the latest version of GZDoom Builder instead of Zone Builder)

10/01/2016 - v1.1 - Mostly bugfixes and minor changes

Spoiler: Changelog
  • Added feature: .srb files are shown directly in the assets file picker, so you don't have to change the filter anymore to see them.
  • Added feature: Added an "All Files" filter to the level and assets file pickers.
  • Added feature: The number of maximum backup files is now configurable under Preferences -> Interface.
  • Changed behavior: Slope vertices are now rendered so that their center intersects with the slope, rather than the bottom.
  • Changed behavior: The selection isn't automatically cleared anymore in Visual Mode by default. You can re-enable this setting under Preferences -> Editing.
  • Changed behavior: Linedef angles are now displayed like in SRB2 (0 degrees means the linedef goes from west to east).
  • Bugfix: Vertex slopes are now always displayed correctly in Visual Mode. Unfortunately, this means that the nodebuilder is now run every time you enter Visual Mode with unsaved changes. It normally shouldn't take more than a few seconds even on large maps, but if you have issues with it, go to Preferences -> Editing and check "Use blockmap instead of nodes in Visual Mode". Note that this may cause some vertex-based slopes to be displayed incorrectly.
  • Bugfix: Fixed an issue with repeating middle textures sometimes being displayed incorrectly.
  • Bugfix: The orientation of rotated flats is now displayed correctly.

05/01/2016 - v1.0 - Initial release

Installing Zone Builder
Just download the installer in the attachment below and run it. It will take care of all the necessary dependencies. On the off chance that something goes wrong, here's what you need:
  • Microsoft Visual C++ 2008 SP1 Redistributable Package (x86) (required only by the Nodes Viewer plugin)
  • Microsoft .Net Framework 3.5
  • DirectX 9.0 Runtime
After installing, you need to point Zone Builder to SRB2's IWAD and executable. For that, go to Tools -> Game Configurations in the menu bar and select "Sonic Robo Blast 2 - 2.1". In the Resources tab, click Add resource... and the folder symbol in the window that pops up to select the IWAD. Navigate to your SRB2 folder and select "srb2.srb". Then, in the Testing tab, select SRB2 as your application. After that, you're good to go!

If you have trouble mapping with this editor, have a look at the Zone Builder tutorial on the Wiki, which explains the basics of mapping with Zone Builder. If you want to keep up with development, look at which new features are currently prioritized or just want to see the source code for yourself, here's where you'll find the Git repository and issue tracker.

If you have any further questions, please ask in #srb2fun or as a reply to this thread. Happy mapping!

Download Now

File Type: zip (17.32 MB, 921 views)


Click image for larger version

Name:	zonebuilderlogo.png
Views:	16080
Size:	43.7 KB
ID:	7176   Click image for larger version

Name:	zones%20at%202016.03.01%2023-22-47.860%20%5BR2492%5D.png
Views:	11226
Size:	154.3 KB
ID:	7606   Click image for larger version

Name:	zones%20at%202016.03.01%2023-21-37.024%20%5BR2492%5D.png
Views:	11296
Size:	453.1 KB
ID:	7607  

Supporters / CoAuthors

Show Your Support

  • This addon may not be copied, reproduced or published elsewhere without the author's permission.

Old 03-12-2017   #282
/me FLEX ᕦ(◉ᴥ◉)ᕥ
TehRealSalt's Avatar

That was fixed in v2.5; you're using v2.4.
TehRealSalt is offline   Reply With Quote
Old 1 Week Ago   #283
Larztard's Avatar

So right now I'm temporally working Zone Builder off of a Surface Pro 3 which it's condition is like new seeing as my friend gave it to me for the time being because my computer is getting worked on and he hardly uses this thing anyway.

Everything works well but the only thing I would feel to mention to you guys is that when I'm trying to do anything in Zone Builder, my cursor randomly snaps to the Exit Button. Once it snaps to the Exit Button, it's hard to get it unstuck. Note that it only happens when I'm on the Surface Pro 3 and only using this program. Other applications such as SLADE, Chrome, etc. don't seem to have this problem. I've also tried using the snap-on keyboard, my fingers, the Surface Pen, or even using a USB Mouse and it still snaps to the Exit Button.

Last edited by Larztard; 1 Week Ago at 10:49 PM.
Larztard is offline   Reply With Quote
Old 1 Week Ago   #284
Ritz's Avatar

I don't have a solution, but I will note that we officially have enough mappers on tablets (2) to start a club. Welcome to the club
Ritz is offline   Reply With Quote
Old 1 Week Ago   #285
Magictub's Avatar

I'm having a problem getting the zone builder to make a new stage. I did what it said, setting the game configurations, using srb2.srb as the resource for it, and setting the testing application to srb2win.exe, but I get this same message every time I try to make a new stage: "Unable to initialize the Direct3D video device. Another application may have taken exclusive mode on this video device or the device does not support Direct3D at all." I've tried to see if it was disabled, but there was nothing wrong with that, it all looked fine! I tried to look this problem up, but I could only find solutions to if it is disabled/not available.

EDIT: I figured out what was wrong, I just had to reset it...

This part doesn't have to do with the problem, but I wanted to start making a mod that puts in Chao Garden, including Chao races, Chao fighting, different kinds of Chaos with different attitudes, the whole nine yards (and a little more to it! ;)). However, I can't do that if I can't even start with making the stages to build this mod on... can I get any help?

Last edited by Magictub; 1 Week Ago at 06:00 PM. Reason: Solution found... but don't know why it does this.
Magictub is offline   Reply With Quote
Old 1 Week Ago   #286
Cool Dude™
SeventhSentinel's Avatar

Hi, I'm here to make a feature request:

I'd love for a calculator for custom FOF properties to be added. I envision a window wherein you can check boxes for the various FOF properties and it adds up the hex values for you. That way you don't have to get Windows calculator out and you don't have to open the wiki. I've kinda been using a lot of custom FOFs lately and it's getting tedious.
Not to mention people would be less opposed to bothering with custom FOFs if such a calculator were added.
I make Genesis chiptunes.
SoundCloud / Website / Twitter

Last edited by SeventhSentinel; 1 Week Ago at 02:39 PM.
SeventhSentinel is offline   Reply With Quote
Old 1 Week Ago   #287
Emblem Radar Ready
glaber's Avatar

Question regarding node builders, what would be the best one to use with this program to compile a map the Size of Neo Aerial Garden?
glaber is offline   Reply With Quote
Old 1 Week Ago   #288
aka SpiritCrusher
MascaraSnake's Avatar

You should only ever use ZenNode, unless it doesn't work, in which case try ZDBSP.
MascaraSnake is offline   Reply With Quote
Old 1 Week Ago   #289
Emblem Radar Ready
glaber's Avatar

I tried both, but unfortunatly ZDBSP wound up not building the seg and SSectors lumps
ZenNode's attampt got me this:

(2.0.7's version of Neo Aerial Garden)
Unfortunately we have encountered a problem like this that affected stages that only used more than 1/4 the buildable area before. This time it's a stage using 3/4

(as for why I'm recompling, it was nessary for fixing some linedef actions.)

Oddly enough, a test compile that skips the reject lump (Zennode fast) get's me a working level, but only after moving any thing.
(EDIT: aparently for levels this size, you have to compile with no reject)

Last edited by glaber; 1 Week Ago at 11:57 PM.
glaber is offline   Reply With Quote

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT. The time now is 12:42 PM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2017, vBulletin Solutions, Inc.