This is an early releasae of the plugin and not finished. While I fixed all crashes I found there might very well be bugs that will make it crash and make you lose work. So keep that in mind when planning to use this plugin in a productive environment.
What is this?
It's a plugin for GZDoomBuilder. It lets you edit 3D floors without having to manually handle the control sectors. This can speed up development a lot if you want to create compled 3D floor environments. See the videos below to see what it can do.
Download/Installation
Compiled: https://github.com/biwa/3dfloormode/releases
Source: https://github.com/biwa/3dfloormode
Just copy ThreeDFloorMode.dll to the plugins directory of your GZDB installation.
Entering 3D floor mode
There are several ways to enter the 3D floor mode:
- pressing the
button on the toolbar
- go to Mode -> 3D floor editing mode
- assign a hotkey in Tools -> Preferences -> Controls (look under the Modes section).
When entering the 3D floor mode you'll see the green control sector area (CSA):
Spoiler:That's where the control sectors for the 3D floors will be placed in. By default it's a 512x512 area, with its bottom left corner at 0,0 map coordinates. You'll notice the hole in the CSA. Ideally your whole map is placed inside that hole. Right now that's not really necessary, but will be required once sloped 3D floors are supported.
Because the 64x64 default hole is pretty small for a good map, you can resize the CSA. It pretty much works like moving lines in lines mode, i.e. Just move the mouse close to a border (it will be highlighted) and drag it around with the right mouse button. You can only move the borders horizontally or vertically, so the CSA will always be a square.
The result should look something like this:
Spoiler:You can also configure the tag range used for the 3D floors:
Spoiler:To open the configuration dialog just move the mouse into the CSA (the whole CSA will be highlighted) and press the right mouse button.
The settings for the CSA are stored in the .dbs file that gets created by GZDB for each edited WAD. So if you want to give your WAD to someone else to edit and want to retain the CSA info, make sure to pass the .dbs file over, too. It's of course not needed to just play the WAD.
The docker
While being in 3D floor mode you'll have a docker (those things that are by default at the right, like the undo/redo docker). Thise docker will show you the 3D floors assinged to the currently highlighted sector. You'll have to press the pin button of the docker panel to constantly show the docker.
Spoiler:Editing 3D floors
Besides the CSA the 3D floor mode pretty much looks and works the same (like selecting sectors) as sectors mode. However, when pressing the right mouse button it will not open the sector properties, but the 3D floor editing dialog.
This dialog will show all 3D floors that are associated to the selected sectors:
Spoiler:Most of it should be pretty self-explanatory. Newly added 3D floors will have a green background. Checking "Show shared 3D floors only" will only display 3D floors, that are assigned to all selected sectors.
You can set textures and 3D floor properties, just like you can when manually editin the sectors and line specials for 3D floors. The sectors list contains all currently selected sectors, checking or unchecking them will apply or remove the 3D floor to those sectors.
At the right side there are some buttons for your convenience:
- Duplicate: will create a new 3D floor with exactly the same settings as the 3D floor duplicated from.
- Split: will create a new 3D floor for each selected sector with exactly the same setting as the 3D floor split from.
- Check all/Uncheck all: checks/unchecks all sectors.
Here are two videos from earlier versions of the plugin.