Page 1 of 2

CEImagesetEditor

Posted: Thu Apr 06, 2006 08:26
by martignasse
hi everybody,

It's time for the imageset editor to enter in BETA phase :D

of course, feedback, comment and request are VERY welcome :)


for those how want to know the beginning of the story, look at this thread.

here is the link for download.
Unzip it in the cegui source root cause i have made a new falagard widget(MoveScaleBox).

exe is in the "Tools/bin/" folder.
If you want to recompile sources, you'll have to recompile the cegui dll and copy them in the "Tools/bin/" folder.

to give you an idea, here is a screenshot :
Image

and finally the readme file to give you an idea of what is already made :

+-----------------------------------------------------------------------------+
| TODO |||||||||||||||||||||||||||||||||||||||||||||||||||in any order|||||||||
+-----------------------------------------------------------------------------+
| - add undo/redo fonctionality.
| - add config file system.
| - add tooltips.
+------------------------------------------------------------------------------


+-----------------------------------------------------------------------------+
| CHANGELOG |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+-----------------------------------------------------------------------------+
| 05/04/2006 :
| - some bug fix and code cleaning.
|
| 04/04/2006 :
| - added "List track image selection" and "Image track list selection" in the Options menu.
| - added "Set Region color" and "Set Region selected color" in the Options menu.
|
| 03/04/2006 :
| - added load recent file in the file menu.
|
| 02/04/2006 :
| - added hide/show cegui cursor when leave/enter.
|
| 01/04/2006 :
| - creation of a new falagard widget, MoveScaleBox, to encapsulate region in a widget.
|
| 30/03/2006 ::Added Tuan Kuranez modifs::
| - save fonction with an hack for the cegui bug.
| - mouse management to drag region.
| - outline window remplacement by a framewindow with alpha.
|
| 29/03/2006 :
| - clean up document data initialisation when create new.
| - complete clean up code for save fonction, now all save ok (just not the image file name -> CEGUI bug ?).
|
| 28/03/2006 :
| - some code clean up. modifs on the new/create document area.
|
| 27/03/2006 :
| - finish all the method to deal with region values modification in PropsPanel and GLCanvas.
|
| 25/03/2006 :
| - made "add a region" and "del a region" functionnality to the propsgrid and relevant methode to the GLCanvas.
|
| 23/03/2006 :
| - first early version to show.
|
| 10/03/2006 :
| - beginning.
+------------------------------------------------------------------------------


+-----------------------------------------------------------------------------+
| BUGS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+-----------------------------------------------------------------------------+
| fixed - region list isn't disabled when no image is loaded.
| fixed - problemes detecting moving/sizing region in GLCanvas.
| fixed - save icon toolbar always disabled when using new document.
| fixed - crash when save without region.
| fixed - properties panel isn't completly cleaned when closing a document.
| fixed - crash when creating a new document.
| - regions in GLCanvas aren't snapped on visually good value if sized/dragged when zoom > 100.
| fixed - regions size go crazy in GLCanvas with very large (1024 * 1024) image files.
| fixed - problems with minimum size of widgets in the PropertiesPanel(visible when the panel is thin).
+------------------------------------------------------------------------------

have fun

Posted: Thu Apr 06, 2006 10:03
by CrazyEddie
Hi

I had a little play around with this, and it totally blew me away :shock: - it's absolutely brilliant :-D

I have a small, picky, suggestion for some future version, it's pretty obvious so you probably already thought of it (or maybe it's mentioned in the other thread), but anyway:

When 'zoomed in' and moving / adjusting the selection rectangle, have an option to have the edges of the selected area snap to whole pixel positions.

Anyhow, this is really fantastic. If you're still interested in having a space in the ceguiaddons CVS repository for this let me know and I can get that set up for you :)

CE.

Posted: Thu Apr 06, 2006 11:02
by tuan kuranes
Nice ! One more step forward for CEGUI !

I'll add some todo and suggestions:

From features in ceguiLayoutEditor :

- align (all align)
- multiple selection (need above "align" to be interesting)

Usability :
- A way to avoid automatic selection by mouseover (when editing a long list it make the list scroll to selection, regardless of what cell you're editing)
- Extracted/extractable dialog from main window ?

Chaining :
- Integration with ceguiLayoutEditor ?

Centipede suggestions :
- ceguiTestSkin
- ceguiLookNFeelEditor
- ceguiSchemeEditor (or at least a "falagard mapping" scheme like editing)

Once all that available, graphists will really be able to work on a cegui interface. And that's indeed the GUI Graal.

@CE : Can the new falagard widget(MoveScaleBox) be added to CEGUI officially or is it possible to add new Fal widget without a whole CEGUI rebuild ?

Posted: Thu Apr 06, 2006 11:33
by martignasse
from CrazyEddie :
When 'zoomed in' and moving / adjusting the selection rectangle, have an option to have the edges of the selected area snap to whole pixel positions.
yep, it's already on the bug list.
As i made a new falagard widget(MoveScaleBox), i wanted to make a kind of PixelCanvas or SkematicCanvas to manage snapping (on pixel in the case of zoom, on grid value in the case of a user snap grid), but for this, i was asking myself if the better way is to use the itementry and listbase way ?

Anyhow, this is really fantastic. If you're still interested in having a space in the ceguiaddons CVS repository for this let me know and I can get that set up for you
ho yes :D
i have some code cleanning to do but you can set up the thing.

from tuan kuranes :
- align (all align)
- multiple selection (need above "align" to be interesting)
yep, along with a snap grid, i'll add this to the todo list.

- A way to avoid automatic selection by mouseover (when editing a long list it make the list scroll to selection, regardless of what cell you're editing)
it's already here, in the option menu (list track image and image track list) or i completely misanderstood the question.

- Extracted/extractable dialog from main window ?
ok, just wanted to test the split option, the better is to have both. for that, i have integrate a dockable lib in wxwidget.

- Integration with ceguiLayoutEditor ?
i think to it's the way to go.
have to ask scriptkid, and what is done one the next layout editor version.

- ceguiTestSkin
- ceguiLookNFeelEditor
- ceguiSchemeEditor (or at least a "falagard mapping" scheme like editing)
i already said to centipede the imageset is just the beginning :wink:
and of course yes, would be marvelous. but let me make this one solid rock before :lol:

Posted: Thu Apr 06, 2006 12:06
by tuan kuranes
list track image and image track list

sorry, it was exaclty that !

Posted: Thu Apr 06, 2006 12:22
by CrazyEddie
tuan kuranes wrote:@CE : Can the new falagard widget(MoveScaleBox) be added to CEGUI officially or is it possible to add new Fal widget without a whole CEGUI rebuild ?

It could be added to the base system, though I'm not entirely sure of the overall consequences of that - for one it makes it more difficult to modify / extend that seperately from the base system (i.e. any changes to that one widget would have to wait for the next release of CEGUI).

It's perfectly possible to have that new widget compiled into the editor application, and register it's factory / window renderer bits from there, or even to put it in its own dll. That might be a bit more set-up work for the build, but makes it much easier to modify all parts of the editor seperately without needing new releases of CEGUI in order to update that custom widget.

I guess it depends on what martignasse thinks too ;)

martignasse wrote:
Anyhow, this is really fantastic. If you're still interested in having a space in the ceguiaddons CVS repository for this let me know and I can get that set up for you

ho yes Very Happy
i have some code cleanning to do but you can set up the thing.

Ok, I'll have it done later on today. I'll post back here with details :)

CE.

Posted: Thu Apr 06, 2006 12:39
by martignasse
It's perfectly possible to have that new widget compiled into the editor application, and register it's factory / window renderer bits from there, or even to put it in its own dll. That might be a bit more set-up work for the build, but makes it much easier to modify all parts of the editor seperately without needing new releases of CEGUI in order to update that custom widget.

I guess it depends on what martignasse thinks too
I think this is better to let the widget separate from the CEGUI base, as it surely be modified frequently in the future, and his brother, the skematic canvas will born soon. It let the liberty to integrate them later, if needed.
Anyway, i have to see how to deal with this rune time registration :)

Ok, I'll have it done later on today. I'll post back here with details
cool, even if i'll be out this afternoon :(

Posted: Thu Apr 06, 2006 13:36
by CrazyEddie
I have set-up the directory for this in CVS, but before you can do anything useful I need to add you as a developer and set some permissions, so you'll need to let me know your Sourceforge username (if you don't have one yet, sign up! :P).

Anyway, the dir for the editor is at 'ceguiaddons/CEImagesetEditor', so once you have developer access you just check it out using :ext: protocol from the crayzedsgui repositiory.

So, a command line would look like this (it's easy to extrapolate what you need if you're a TortoiseCVS user):

Code: Select all

cvs -d :ext:your_username@cvs.sf.net:/cvsroot/crayzedsgui co ceguiaddons/CEImagesetEditor -d CEImagesetEditor


Obviously you need to replace 'your_username' with your sf alias (though it will only work once I have added you to the project once I get your username).

If at any time you want to add other devs to this sub-project, just let me know who they are and I'll sort it out. Anyhow, I'll stop the semi-hijack of the thread, as I'm kind of descending into an administrative discussion rather than talking about the editor :hammer:

CE.

Posted: Thu Apr 06, 2006 23:09
by lindquist
Amazing work Marti and all involved :D

Posted: Fri Apr 07, 2006 16:06
by jacmoe
This is excellent! :hammer:

I ran it through some test runs, and it works great.
Suddenly making your own imagesets seems possible!
Without being a rocket scientist. :)

Kudos to you! :D

Posted: Sat Apr 08, 2006 07:18
by martignasse
Suddenly making your own imagesets seems possible!
and big respect to those how made TaharezLook and WindowsLook by hand, and without visual feedback :wink:

they look pretty impressive !

Posted: Sat Apr 08, 2006 08:33
by martignasse
just to let you know about next days,

before i put the stuff on CVS, i have to make one or two things.

-a new SkematicPane widget to manage the imageset sketch and the regions widget, and the zoom, the zoom snapping...

-make a FalagardMartiPack.dll with the MoveScaleBox and the SkematicPane widget, and the CEImagesetEditor will register them in CEGUI at run time(stille have to investigate for this part).

-make a cleanning round up of the code.

in the same time as putting the code on CVS, i'll make a wiki page for the CEImagesetEditor, with user manual.

Posted: Mon Apr 10, 2006 06:53
by gcarlton
I'm very impressed by this tool. A couple of points I noticed immediately:
- There is no explanation on how to zoom the image.
- The auto-selection of regions gets annoying and could be replaced with a "click to select" scheme.
- I have problems with the imageset paths.

I can't run this on my own imagesets, because of their relative path of "gui/imagesets/mypicture.tga". This fails if the tool is started in its own directory. However, if I start the tool via a shortcut from my game path, then it fails to startup due to its own startup attempt at loading "../datafiles/schemes/MartiSkin.scheme".

With enough stuffing around with duplicated data directories, or renamed path fields, it could be made to work, but its an annoyance. I think we had similar problems with CELayoutEditor. IMO the paths should have been purely relative, with a "base" directory set explicitly. e.g. Data files would only specifiy "imagesets/mypicture.tga" or even assume the imageset directory and have "mypicture.tga". The base path being set to either "../datafiles/", "gui/", etc by the application on startup.

In terms of this tool, the problem could be worked around if we could set a new base directory once it has started up. Or I could just go about copying data directories around. :?

Regardless, it looks very handy!

Posted: Mon Apr 10, 2006 07:03
by scriptkid
Hello Marti,

sorry for not reading this thread until now; this tool looks great :-)

Feel free to grab anything useful (for the alignment and grid and such) from the layout editor code :-)

Well done!

Posted: Mon Apr 10, 2006 08:03
by martignasse
- There is no explanation on how to zoom the image.
yes, nothing let you believe the mousewheel do the job :wink:

- The auto-selection of regions gets annoying and could be replaced with a "click to select" scheme.
yes, i should add an option to choice if auto select or not (added to the TODO list).

- I have problems with the imageset paths...
In terms of this tool, the problem could be worked around if we could set a new base directory once it has started up.
yes, it's the last big issue before the final release (surprised that you are the first to mentionning it), i didn't wanted to make an half hack. I was waiting for this kind of feed back to speak about it.
The solution i think about is to add a field with the base path who is automaticly updated with the path of the imageset when you load it, and is used as reference for the image file.
The fact is the imageset specification don't restrict to relative or absolute path and i don't want the tool decide for you.

thanks for the feedback and happy you like it.