Page 1 of 19

Modbaker Development

Posted: Sat Jan 03, 2009 5:31 pm
by xenom[GER]
Hi everyone,

I want to use this thread about the development of my project "ModBaker".

What is ModBaker?
ModBaker will be a tool to create / edit modules for Egoboo. The first version will allow vertex and texxture modifications. In later versions, I've planned to add support for placing objects.

Why are you creating something new? There are EgoMap and Cartman!
I wanted to start with a new codebase, so I'm completely independent from the Egoboo code. This means that I'll re-implement all needed functions for rendering etc.

I'm doing that for several reasons:
- To keep the code / binary as clean as possible
- To make the code easier to understand

I'll release the source code if I got a basic version of vertex and texture edit running.
Currently I managed to render the 3d mesh based on the Egoboo svn/trunk code.

(Items marked with * are finished.)

Current features (last update: 2009/08/09)
* Load / save / create mesh
* GUI system with mouse support
* Keyboard shortcuts for some of the editing functions
* Vertex editing
* Draw textures onto the mesh
* Three edit modes: Tile, vertex and object (object is currently only a place holder)
* Display objects (based on spawn.txt and the icon of the object)
* Implemented a selection to edit multiple vertices / tiles at the same time
* Load / edit / save menu.txt using a GUI
* Display / set tile flags & types

ToDo list for ModBaker 0.7
- wall / floor tool
- PhysFS integration
- a config dialog
- camera rotation
- show save dialog before quitting
- new selection system
* added a button to reload the textures
* added a button to switch the tile texture size (small / large textures)
* apply the texture size when draowing
* Bugfix: tile0.bmp does not get reloaded properly
* correct tile3.bmp handling (currently it won't get handled correctly in the ice palace)

ToDo list for ModBaker 0.8
- load / edit / save pasage.txt
- edit / save spawns.txt
- Reload spawn.txt / the objects
- place / move objects via the mouse
- Generate the minimap
* Tutorial for building ModBaker on Windows / Linux
- Redo some of the icons
- Autosave function
- Extend the "new mesh" function (so other subsystems (spawns, objects, textures, ...) automatically get reloaded)
- drag'n'drop for tile types, tile flags, textures and walls/floors

ToDo list for ModBaker 0.9
- lighting
- edit lights

ToDo list for ModBaker 1.0
- GUI improvements
- better memory handling (add cleanup functions etc.)
- Bugfixes
- Module Manager integration

Planned GUI improvements
- Show object icon in the object ist
- Add tileset definitions for the "new mesh" function
- Allow GUI elements like checkboxes etc.

Screenshots
- Editing the menu.txt file
- "New mesh" GUI
- The mesh + objects get rendered

Posted: Sat Jan 03, 2009 5:33 pm
by Zefz
Niiice :D

Have you had any thoughts about tile flagging to? (water, reflectional, impassable, etc.)

What about passages? Some people like woodmouse really have trouble placing these things.

Posted: Sat Jan 03, 2009 5:34 pm
by penguinflyer2222
Welcome and have a lightbulb! :idea:
Yay for Modbaker.

Posted: Sat Jan 03, 2009 5:34 pm
by woodmouse
Yea, if you can somehow make it so passages can be made in that, WOO!!! :woo:

Posted: Sat Jan 03, 2009 5:34 pm
by Maxaxle
PLEASE make sure that it doesn't corrupt map vertices!

Posted: Sat Jan 03, 2009 6:23 pm
by Cimeries
Maxaxle wrote:PLEASE make sure that it doesn't corrupt map vertices!

AFAIK that doesn't happen neither in Egomap nor in Cartman.

Good job Xenom, looks great so far. :clap: :woo:
Oh, and yeah, passages are very important. I'm not saying you should implement passage configuration, but it would be nice if it could at least display them.

Posted: Sat Jan 03, 2009 6:55 pm
by bgbirdsey
Interesting idea. Keep us updated!

Posted: Sat Jan 03, 2009 7:04 pm
by PurpleSquerkle
Yay, you've finally joined the forums! :P
Cookie: :cookie:


Sounds cool.
Do you plan to add mouse functionality at some point or is the plan still to do it keyboard-only?

Posted: Sat Jan 03, 2009 8:29 pm
by xenom[GER]
Thanks for the comments!

Zefz wrote:Have you had any thoughts about tile flagging to? (water, reflectional, impassable, etc.)

What about passages? Some people like woodmouse really have trouble placing these things.

I don't have an exact plan yet, but those two shouldn't be too hard to add later. But the first features will be basic mesh editing.

Maxaxle wrote:PLEASE make sure that it doesn't corrupt map vertices!

If you start a new map, everything should be fine. I recognized that some vertices in the adventure starter (the module I'm testing everything with) are messed up. I don't know if that comes from the float precision of if this is something else. But I thought of adding a "weld" function to weld selected / near vertices, in case something goes wrong. :-)

PurpleSquerkle wrote:Do you plan to add mouse functionality at some point or is the plan still to do it keyboard-only?

That's what I'm currently working on (select vertices with the mouse). I'll add keyboard shortcuts, too.

Posted: Sat Jan 03, 2009 8:30 pm
by PurpleSquerkle
So is this mostly full vertex-based editing or does it do tile-based stuff like Egomap?

Posted: Sat Jan 03, 2009 8:41 pm
by Agent of Dread
Goodie, Xenom registers!
All I can say is ModBaker looks really, really cool.
If you can package in everything we've suggested so far (Especially passages! :twisted: ) this will be one heck of an editor.

Posted: Sat Jan 03, 2009 9:46 pm
by xenom[GER]
PurpleSquerkle wrote:So is this mostly full vertex-based editing or does it do tile-based stuff like Egomap?

Mainly it's vertex-based. Maybe it's possible to add a tile-based selection later.

Re: Modbaker Development

Posted: Sun Jan 04, 2009 4:47 am
by ShellShocker
xenom[GER] wrote:Hi everyone,

I want to use this thread about the development of my project "ModBaker".

What is ModBaker?
ModBaker will be a tool to create / edit modules for Egoboo. The first version will allow vertex and texxture modifications. In later versions, I've planned to add support for placing objects.

Why are you creating something new? There are EgoMap and Cartman!
I wanted to start with a new codebase, so I'm completely independent from the Egoboo code. This means that I'll re-implement all needed functions for rendering etc.

I'm doing that for several reasons:
- To keep the code / binary as clean as possible
- To make the code easier to understand

I'll release the source code if I got a basic version of vertex and texture edit running.
Currently I managed to render the 3d mesh based on the Egoboo svn/trunk code.

ToDo-List
- Make sure the mesh / camera positions are right
- Mouse support
- Texture editing
- Vertex edit
- Saving the mesh again

Screenshots
Rendering the mesh works

Sounds awesome! I might finally be able to make modules! Because EgoMap didn't work for me.

Posted: Sun Jan 04, 2009 10:32 am
by xenom[GER]
Sadly, Egomap didn't work for me very well, too :-/

About passages & spawns.txt:
I thought about only displaying it in the beginning and adding a reload_passages() and a reload_spawns() function to Modbaker.
So you can edit & save the file in a text editor and simply reload it without closing Modbaker. This would work if you change those files manually, I don't know if this works when using Egomap / Cartman.

Another thing I want to add is that you can see the worls coordinates the cursor is at.
So you can find out those points first and then add it to those .txt files.

Posted: Sun Jan 04, 2009 10:58 am
by Cimeries
xenom[GER] wrote:About passages & spawns.txt:
I thought about only displaying it in the beginning and adding a reload_passages() and a reload_spawns() function to Modbaker.
So you can edit & save the file in a text editor and simply reload it without closing Modbaker. This would work if you change those files manually, I don't know if this works when using Egomap / Cartman.

Yes, we can save in Egomap, open the txt files without closing it, edit them, and hitting load in Egomap again. This loads all the new data from the folder.
Of course, some people must have problems such as Egomap freezing when opening other windows on top of it or minimizing it. I know I did at earlier versions.

xenom[GER] wrote:Another thing I want to add is that you can see the worls coordinates the cursor is at.
So you can find out those points first and then add it to those .txt files.

Egomap does that if you right click a tile in texture mode.
The coordinates show in that little white box just between the display at the toolbar.