Table of contents
What is this project?
Plain and simple: Paging landscape2 Map-editor is a fully featured map/terrain-editor for the marvellous paging landscape2 plugin.
Features
Terrain Editing
- Real-time terrain deformation via different brush-sizes and brush-strengths
- Real-time texture-painting in the terrain via different brush-sizes and brush-formats, Painting Color or/and alpha channel (alpha channel or Color)
- Texture Format Selection.
- Integrating Mapsplitter Functions. (Split, generate color map, generate alpha map, select Splatting Textures, Select Height Percentage of splatting, etc...)
- Ability to generate a new terrain with a given size and a given texture (blank or using generation algo (plasma, particle, etc...))
GUI
- Loading/saving maps
- Map Load Selection (at least from Cfg files)
- RGB Color pannel selector for painting
- A modular GUI. Meaning: I tried to keep the GUI as flexible and independent as possible. Adding new functionality to the editor should be very easy. Different people can work on different parts of the map-editor independently and they can "plug" their "module" into the main-GUI later when they are finished.
Todo
While the project is still in an early stage of development the current features on the TODO-list (tm) are:
Terrain Editing
- a GUI for dynamically add new pages to an existing terrain (so final terrain size doesn't need to be known from the beginning) (Lucky Luciano)
- Load custom brushes from disk or/and select multiple brushes, or create one by painting on a alpha map on screen.
- Integrating TerraBuild Terrain Generation / Terrain Correction as Terrain generation, Terrain Brushes.
- Map Load Selection (at least from known map files)
- Add Filter Edition (erode map region selected for example...)
GUI
- Make a More Edit Tools Gui. Like gimp, wiht panel of tools instead of tabs of lists., along with key shortcuts for faster navigation. (An example is worldeditor)
- Make Enter/Exit Gui/terrain screen functions (so that clicking on gui doesn't click on terrain)
- Make terrain a viewport in a window.
- Mouse Smoothing (scaled to screen, but smooth enough to use)
- Undo/redo functionality
- Load/save any material
- edit material
Scene Editing
- A fog editor (partially implemented)
- A water editor
- A skyplane/skybox/skydome editor
- Integration with the Game Object Oriented Framework (GOOF) which allows placing various types of objects such as Meshes, Particle Systems, Lights, Trees, etc.
- GOOF saving/loading
- GOOF property enumeration and assignment via dynamically created user interface
- Exporting the terrain as meshes (.mesh) objects listed in a .scene for easy importing in another Ogre application'
Build/Installation
- VC6 projects
- VC7 projects
- Linux Build
Any other suggestions are welcome.
How do I install it?
I made sure that if you use Visual Studio 7.1 the plugin should compile out-of-the-box. Though, we all know things can come in mysterious ways, so if you encounter problems please don't hesitate to post a message on the Ogre-forums.
- Step1:
Download the MapEditor from the Ogre CVS (you can find more info on how to do this here
Download the modified libnoise here : [download link http://users.skynet.be/bk324186/Libnoise.rar] - Step2:
After you downloaded the files from the CVS you should have a folder named "Ogreaddons". Open that folder, double click on the "paginglandscape" folder, select everything in the folder and copy it into "$OGRE_DIR$\Ogrenew\".
Then Just copy the Libnoise directory from the .rar file into "OGRE_DIR/Ogrenew/samples/mapeditor/" (so the final directory structure should be "OGRE_DIR/Ogrenew/samples/mapeditor/Libnoise/bin" and "OGRE_DIR/Ogrenew/samples/mapeditor/Libnoise/include" - Step3:
Go to the directory "$OGRE_DIR$\ogrenew\samples\MapEditor". Double click on the .sln file. Visual Studio will open. - Step4:
Do a complete batch build of the solution (the executables will be placed in "$OGRE_DIR$\ogrenew\samples\common\bin\Debug" and "$OGRE_DIR$\ogrenew\samples\common\bin\Release" directories.) - Step5:
Run the map-editor.
Compiling the project in other versions of Visual Studio shouldn't give much troubles if you managed to compile the Ogre project.
Linux and Mac users: sorry but you are on your own :/ I don't have a Mac- or Linux-machine at my disposal so I can't help you...
How do I use it?
I think the GUI is fairly intuitive but here are the main-functionalities, anyway:
- Use the arrow-keys or WASD -keys to move the camera around
- Holding CTRL will enhance the movement speed of the camera by 30units, holding the spacebar will enhance it by 300units. Holding them both is also possible.
- Pressing ESC (or pressing the "Q" button on top of the screen) will close the editor
- Pressing "T" will render the world in wireframe
- Dragging the mouse while holding the right mouse-button will move the camera around
- To deform the terrain select an option in the drop-down menu in the "Morph"-tab. Only "Raise" and "Lower" work at the moment. You can set your brush-size and brush-strength by changing the appropriate scrollbars. Press and hold the left mouse-button while moving the mouse to deform the terrain.
- To stop deforming the terrain just select something other then "Raise" or "Lower" in the drop-down menu. There is a little bug: the "cursor-circle" doesn't dissapear...
- To use the fog-editor press the Fog-editor button (a new window will open). You can choose which type of fog you want by selecting it in the drop-down menu. Change fog-color by changing the three scrollbars. Check the "Enable fog" checkbox and press ok.
WARNING: there is a major crash-bug: trying to re-open the fog-editor will crash the map-editor (this is an issue with CEGUI I have to look into. Perhaps anyone knows a solution for this?)
Known bugs?
This is a alpha 0.3 version, so you should expect a lot of them.
Also, a lot of functionality isn't implemented yet...
These are the major-bugs that I know off:
- Trying to re-open the fog-editor will crash the application.
- When stopping terrain-deformation the "cursor-circle" will not dissapear.
- Item-tab are empty.
- the "L" buttons on top of the screen don't do anything.
- report bugs on Forum Thread
Can I aid you in adding features?
Sure, that's why I decided to release the sourcecode. I tried to keep the GUI as flexible as possible so adding new functionality to it shouldn't be too difficult if you know how to work with CEGUI.
If you want to help, be sure to drop by at the Ogre-forums and let us know which features you want to implement (so no two people will work on the same things)
List of people working on the editor
- Lucky Luciano.
- Tuan Kuranes.
- Spookyboo.
- Samah.
- Falagard.
The faster the editor is finished the better it is for everyone, so every help is more then welcome and, of course, much appreciated!
Thanks for listening!