diff -ru ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor/plugin_interface.h ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor/plugin_interface.h
--- ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor/plugin_interface.h	2010-05-06 16:15:46.259492700 -0500
+++ ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor/plugin_interface.h	2010-05-16 00:00:52.964314300 -0500
@@ -178,6 +178,9 @@
 	virtual bool		activatePlugin()=0;
 
 	virtual bool		closePlugin()=0;
+	virtual int			actionCount()=0;
+	virtual bool		processAction(uint actionID)=0;
+
 };
 // Interface for primitive display plusing
 class IPrimitiveDisplayer
diff -ru ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor/resource.h ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor/resource.h
--- ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor/resource.h	2010-05-06 16:15:46.609512700 -0500
+++ ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor/resource.h	2010-05-15 23:49:43.583027900 -0500
@@ -1,21 +1,5 @@
-// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
-// Copyright (C) 2010  Winch Gate Property Limited
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
 //{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
+// Microsoft Visual C++ generated include file.
 // Used by world_editor.rc
 //
 #define IDC_BROWSE                      3
@@ -327,6 +311,7 @@
 #define ID_SAVPOS                       33482
 #define ID_MISSION_COMPILER             33483
 #define ID_NAME_DLG                     33484
+#define ID_EDIT_EXECUTE_COMMAND			33485
 #define ID_INDICATOR_ZONENAMENEL        0xE710
 #define ID_INDICATOR_ZONENAMEREF        0xE711
 #define ID_INDICATOR_COORDINATES        0xE712
@@ -335,6 +320,7 @@
 #define ID_INDICATOR_INFO               59157
 #define ID_INDICATOR_SELECTION          59158
 #define ID_WINDOWS_PLUGINS              59170
+#define ID_WINDOWS_PLUGIN_ACTIONS		59370
 
 // Next default values for new objects
 // 
diff -ru ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor/world_editor.cpp ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor/world_editor.cpp
--- ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor/world_editor.cpp	2010-05-06 16:15:46.795523300 -0500
+++ ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor/world_editor.cpp	2010-05-15 23:46:21.258455600 -0500
@@ -275,6 +275,11 @@
 
 	// Load the plugins
 	loadPlugins();
+	pluginsActionSize = 0;
+	for(uint x = 0; x < Plugins.size(); x++)
+		if(pluginsActionSize < Plugins.at(x)->actionCount())
+			pluginsActionSize = Plugins.at(x)->actionCount();
+
 
 	splashScreen.addLine(string("Init the plugin menu"));
 	
diff -ru ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor/world_editor.h ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor/world_editor.h
--- ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor/world_editor.h	2010-05-06 16:15:46.796523400 -0500
+++ ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor/world_editor.h	2010-05-15 23:46:30.730997400 -0500
@@ -79,6 +79,7 @@
 
 	/// Vector of loaded plugins.
 	std::vector<IPluginCallback*>	Plugins;
+	int pluginsActionSize;
 
 	/// list of primitives associated to plugin displayer
 	std::map<std::string, IPrimitiveDisplayer*>	PrimitiveDisplayers;
diff -ru ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor/world_editor.rc ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor/world_editor.rc
--- ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor/world_editor.rc	2010-05-06 16:15:46.797523500 -0500
+++ ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor/world_editor.rc	2010-05-15 01:20:07.428292300 -0500
@@ -1,4 +1,4 @@
-//Microsoft Developer Studio generated resource script.
+// Microsoft Visual C++ generated resource script.
 //
 #include "resource.h"
 
@@ -27,18 +27,18 @@
 // TEXTINCLUDE
 //
 
-1 TEXTINCLUDE DISCARDABLE 
+1 TEXTINCLUDE 
 BEGIN
     "resource.h\0"
 END
 
-2 TEXTINCLUDE DISCARDABLE 
+2 TEXTINCLUDE 
 BEGIN
     "#include ""afxres.h""\r\n"
     "\0"
 END
 
-3 TEXTINCLUDE DISCARDABLE 
+3 TEXTINCLUDE 
 BEGIN
     "#define _AFX_NO_OLE_RESOURCES\r\n"
     "#define _AFX_NO_TRACKER_RESOURCES\r\n"
@@ -67,41 +67,41 @@
 
 // Icon with lowest ID value placed first to ensure application icon
 // remains consistent on all systems.
-IDR_MAINFRAME           ICON    DISCARDABLE     "res\\world_editor.ico"
-IDR_WORLDETYPE          ICON    DISCARDABLE     "res\\world_editor_doc.ico"
-IDI_FOLDER_CLOSED       ICON    DISCARDABLE     "res\\folder_closed.ico"
-IDI_POINT_OPENED        ICON    DISCARDABLE     "res\\point_opened.ico"
-IDI_LINE_OPENED         ICON    DISCARDABLE     "res\\line_opened.ico"
-IDI_ZONE_OPENED         ICON    DISCARDABLE     "res\\zone_opened.ico"
-IDI_FOLDER_OPENED       ICON    DISCARDABLE     "res\\folder_opened.ico"
-IDI_PROPERTY_CLOSED     ICON    DISCARDABLE     "res\\property_closed.ico"
-IDI_ROOT_CLOSED         ICON    DISCARDABLE     "res\\root_closed.ico"
-IDI_PROPERTY_OPENED     ICON    DISCARDABLE     "res\\property_opened.ico"
-IDI_LINE_CLOSED         ICON    DISCARDABLE     "res\\line_closed.ico"
-IDI_POINT_CLOSED        ICON    DISCARDABLE     "res\\point_closed.ico"
-IDI_ZONE_CLOSED         ICON    DISCARDABLE     "res\\zone_closed.ico"
-IDI_ROOT_OPENED         ICON    DISCARDABLE     "res\\root_opened.ico"
-IDI_FOLDER_HIDDEN       ICON    DISCARDABLE     "res\\folder_hidden.ico"
-IDI_LINE_HIDDEN         ICON    DISCARDABLE     "res\\line_hidden.ico"
-IDI_POINT_HIDDEN        ICON    DISCARDABLE     "res\\point_hidden.ico"
-IDI_PROPERTY_HIDDEN     ICON    DISCARDABLE     "res\\property_hidden.ico"
-IDI_ROOT_HIDDEN         ICON    DISCARDABLE     "res\\root_hidden.ico"
-IDI_ZONE_HIDDEN         ICON    DISCARDABLE     "res\\zone_hidden.ico"
-IDI_ERROR_STRUCTURE     ICON    DISCARDABLE     "res\\erro.ico"
+IDR_MAINFRAME           ICON                    "res\\world_editor.ico"
+IDR_WORLDETYPE          ICON                    "res\\world_editor_doc.ico"
+IDI_FOLDER_CLOSED       ICON                    "res\\folder_closed.ico"
+IDI_POINT_OPENED        ICON                    "res\\point_opened.ico"
+IDI_LINE_OPENED         ICON                    "res\\line_opened.ico"
+IDI_ZONE_OPENED         ICON                    "res\\zone_opened.ico"
+IDI_FOLDER_OPENED       ICON                    "res\\folder_opened.ico"
+IDI_PROPERTY_CLOSED     ICON                    "res\\property_closed.ico"
+IDI_ROOT_CLOSED         ICON                    "res\\root_closed.ico"
+IDI_PROPERTY_OPENED     ICON                    "res\\property_opened.ico"
+IDI_LINE_CLOSED         ICON                    "res\\line_closed.ico"
+IDI_POINT_CLOSED        ICON                    "res\\point_closed.ico"
+IDI_ZONE_CLOSED         ICON                    "res\\zone_closed.ico"
+IDI_ROOT_OPENED         ICON                    "res\\root_opened.ico"
+IDI_FOLDER_HIDDEN       ICON                    "res\\folder_hidden.ico"
+IDI_LINE_HIDDEN         ICON                    "res\\line_hidden.ico"
+IDI_POINT_HIDDEN        ICON                    "res\\point_hidden.ico"
+IDI_PROPERTY_HIDDEN     ICON                    "res\\property_hidden.ico"
+IDI_ROOT_HIDDEN         ICON                    "res\\root_hidden.ico"
+IDI_ZONE_HIDDEN         ICON                    "res\\zone_hidden.ico"
+IDI_ERROR_STRUCTURE     ICON                    "res\\erro.ico"
 
 /////////////////////////////////////////////////////////////////////////////
 //
 // Bitmap
 //
 
-IDR_MAINFRAME           BITMAP  MOVEABLE PURE   "res\\Toolbar.bmp"
+IDR_MAINFRAME           BITMAP                  "res\\Toolbar.bmp"
 
 /////////////////////////////////////////////////////////////////////////////
 //
 // Toolbar
 //
 
-IDR_MAINFRAME TOOLBAR DISCARDABLE  16, 16
+IDR_MAINFRAME TOOLBAR  16, 16
 BEGIN
     BUTTON      ID_FILE_NEW
     BUTTON      ID_FILE_OPEN
@@ -163,7 +163,7 @@
 // Menu
 //
 
-IDR_MAINFRAME MENU PRELOAD DISCARDABLE 
+IDR_MAINFRAME MENU 
 BEGIN
     POPUP "&File"
     BEGIN
@@ -234,12 +234,8 @@
         MENUITEM "Show / Hide C&ollisions\tO",  ID_VIEW_COLLISIONS
         MENUITEM "Show / Hide &PACS\tCTRL+P",   ID_VIEW_PACS
         MENUITEM SEPARATOR
-        MENUITEM "Locate selected primitives\tALT+L", 
-                                                ID_VIEW_LOCATESELECTEDPRIMITIVES
-
-        MENUITEM "Locate selected primitives in tree\tALT+T", 
-                                                ID_VIEW_LOCATESELECTEDPRIMITIVES_TREE
-
+        MENUITEM "Locate selected primitives\tALT+L", ID_VIEW_LOCATESELECTEDPRIMITIVES
+        MENUITEM "Locate selected primitives in tree\tALT+T", ID_VIEW_LOCATESELECTEDPRIMITIVES_TREE
     END
     POPUP "&Project"
     BEGIN
@@ -255,14 +251,11 @@
         MENUITEM "&Reset unique ID",            ID_PROJECT_RESETUNIQUEID
         MENUITEM "&Generate missing ID",        ID_PROJECT_GENERATENULLID
         MENUITEM "&Force ID uniqueness",        ID_PROJECT_CORRECT_ID
-        MENUITEM "&Reset primitive configuration", 
-                                                ID_PROJECT_RESET_PRIMITIVE_CONFIGURATION
-
+        MENUITEM "&Reset primitive configuration", ID_PROJECT_RESET_PRIMITIVE_CONFIGURATION
     END
     POPUP "Windows"
     BEGIN
         MENUITEM "Primitive configuration",     ID_WINDOWS_PRIMITIVECONFIGURATION
-
     END
     POPUP "&Help"
     BEGIN
@@ -279,7 +272,7 @@
 // Accelerator
 //
 
-IDR_DIALOG ACCELERATORS PRELOAD MOVEABLE PURE 
+IDR_DIALOG ACCELERATORS 
 BEGIN
     "F",            ID_FIND,                VIRTKEY, CONTROL, NOINVERT
     "G",            ID_GOTO,                VIRTKEY, CONTROL, NOINVERT
@@ -289,8 +282,7 @@
     "O",            ID_FILE_OPEN,           VIRTKEY, CONTROL, NOINVERT
     "P",            ID_VIEW_PACS,           VIRTKEY, CONTROL, NOINVERT
     "S",            ID_FILE_SAVE,           VIRTKEY, CONTROL, NOINVERT
-    "T",            ID_VIEW_LOCATESELECTEDPRIMITIVES_TREE, VIRTKEY, ALT, 
-                                                    NOINVERT
+    "T",            ID_VIEW_LOCATESELECTEDPRIMITIVES_TREE, VIRTKEY, ALT, NOINVERT
     VK_F1,          ID_HELP_FINDER,         VIRTKEY, NOINVERT
     VK_F10,         ID_EDIT_RADIUS,         VIRTKEY, NOINVERT
     VK_F11,         ID_EDIT_ADD_POINT,      VIRTKEY, NOINVERT
@@ -306,7 +298,7 @@
     VK_RETURN,      ID_EDIT_PROPERTIES,     VIRTKEY, ALT, NOINVERT
 END
 
-IDR_MAINFRAME ACCELERATORS PRELOAD MOVEABLE PURE 
+IDR_MAINFRAME ACCELERATORS 
 BEGIN
     "A",            ID_EDIT_SELECT_ALL,     VIRTKEY, CONTROL, NOINVERT
     "C",            ID_EDIT_SELECT_CHILDREN, VIRTKEY, NOINVERT
@@ -330,8 +322,7 @@
     "R",            ID_EDIT_COLLAPSE,       VIRTKEY, NOINVERT
     "S",            ID_VIEW_SHOW,           VIRTKEY, NOINVERT
     "S",            ID_FILE_SAVE,           VIRTKEY, CONTROL, NOINVERT
-    "T",            ID_VIEW_LOCATESELECTEDPRIMITIVES_TREE, VIRTKEY, ALT, 
-                                                    NOINVERT
+    "T",            ID_VIEW_LOCATESELECTEDPRIMITIVES_TREE, VIRTKEY, ALT, NOINVERT
     "V",            ID_EDIT_PASTE,          VIRTKEY, CONTROL, NOINVERT
     VK_BACK,        ID_EDIT_UNDO,           VIRTKEY, ALT, NOINVERT
     VK_DELETE,      ID_EDIT_DELETE,         VIRTKEY, NOINVERT
@@ -367,22 +358,21 @@
 // Dialog
 //
 
-IDD_ABOUTBOX DIALOG DISCARDABLE  0, 0, 235, 73
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_ABOUTBOX DIALOG  0, 0, 235, 73
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
 CAPTION "About NeL World Editor"
 FONT 8, "MS Sans Serif"
 BEGIN
     ICON            IDR_MAINFRAME,IDC_STATIC,11,17,20,20
-    LTEXT           "NeL World Editor Version 0.47",IDC_TITLE_VERSION,40,10,
-                    96,8,SS_NOPREFIX
+    LTEXT           "NeL World Editor Version 0.47",IDC_TITLE_VERSION,40,10,96,8,SS_NOPREFIX
     LTEXT           "Copyright Nevrax (C) 2005",IDC_STATIC,40,25,119,8
     DEFPUSHBUTTON   "OK",IDOK,178,8,50,14,WS_GROUP
     LTEXT           "Allocated Video Mem :",IDC_STATIC,15,43,73,16
     LTEXT           "Static",IDC_STATIC_VIDEO_MEM,97,43,87,16
 END
 
-IDD_CREATE_ELEMENT DIALOG DISCARDABLE  0, 0, 247, 47
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_CREATE_ELEMENT DIALOG  0, 0, 247, 47
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
 CAPTION "Create Element"
 FONT 8, "MS Sans Serif"
 BEGIN
@@ -391,84 +381,58 @@
     EDITTEXT        IDC_EDIT_NAME,32,7,148,14,ES_AUTOHSCROLL
     LTEXT           "Name",IDC_STATIC,7,7,20,8
     LTEXT           "Type",IDC_STATIC,7,25,20,8
-    COMBOBOX        IDC_COMBOTYPE,32,25,148,106,CBS_DROPDOWN | CBS_SORT | 
-                    WS_VSCROLL | WS_TABSTOP
+    COMBOBOX        IDC_COMBOTYPE,32,25,148,106,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP
 END
 
-IDD_TOOLS_ZONE DIALOG DISCARDABLE  0, 0, 246, 278
-STYLE WS_CHILD
+IDD_TOOLS_ZONE DIALOG  0, 0, 246, 278
+STYLE DS_SETFONT | WS_CHILD
 FONT 8, "MS Sans Serif"
 BEGIN
-    COMBOBOX        IDC_CATTYPE1,7,7,83,65,CBS_DROPDOWNLIST | CBS_SORT | 
-                    WS_VSCROLL | WS_TABSTOP
-    COMBOBOX        IDC_CATVALUE1,94,7,83,66,CBS_DROPDOWNLIST | CBS_SORT | 
-                    WS_VSCROLL | WS_TABSTOP
-    COMBOBOX        IDC_CATTYPE2,7,26,83,65,CBS_DROPDOWNLIST | CBS_SORT | 
-                    WS_VSCROLL | WS_TABSTOP
-    COMBOBOX        IDC_CATVALUE2,94,26,83,66,CBS_DROPDOWNLIST | CBS_SORT | 
-                    WS_VSCROLL | WS_TABSTOP
-    COMBOBOX        IDC_CATTYPE3,7,46,83,65,CBS_DROPDOWNLIST | CBS_SORT | 
-                    WS_VSCROLL | WS_TABSTOP
-    COMBOBOX        IDC_CATVALUE3,94,46,83,66,CBS_DROPDOWNLIST | CBS_SORT | 
-                    WS_VSCROLL | WS_TABSTOP
-    COMBOBOX        IDC_CATTYPE4,7,66,83,65,CBS_DROPDOWNLIST | CBS_SORT | 
-                    WS_VSCROLL | WS_TABSTOP
-    COMBOBOX        IDC_CATVALUE4,94,66,83,66,CBS_DROPDOWNLIST | CBS_SORT | 
-                    WS_VSCROLL | WS_TABSTOP
-    CONTROL         "AND",IDC_AND2,"Button",BS_AUTORADIOBUTTON | WS_GROUP,
-                    183,28,31,10
+    COMBOBOX        IDC_CATTYPE1,7,7,83,65,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
+    COMBOBOX        IDC_CATVALUE1,94,7,83,66,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
+    COMBOBOX        IDC_CATTYPE2,7,26,83,65,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
+    COMBOBOX        IDC_CATVALUE2,94,26,83,66,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
+    COMBOBOX        IDC_CATTYPE3,7,46,83,65,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
+    COMBOBOX        IDC_CATVALUE3,94,46,83,66,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
+    COMBOBOX        IDC_CATTYPE4,7,66,83,65,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
+    COMBOBOX        IDC_CATVALUE4,94,66,83,66,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
+    CONTROL         "AND",IDC_AND2,"Button",BS_AUTORADIOBUTTON | WS_GROUP,183,28,31,10
     CONTROL         "OR",IDC_OR2,"Button",BS_AUTORADIOBUTTON,213,28,29,10
-    CONTROL         "AND",IDC_AND3,"Button",BS_AUTORADIOBUTTON | WS_GROUP,
-                    183,47,31,10
+    CONTROL         "AND",IDC_AND3,"Button",BS_AUTORADIOBUTTON | WS_GROUP,183,47,31,10
     CONTROL         "OR",IDC_OR3,"Button",BS_AUTORADIOBUTTON,213,47,29,10
-    CONTROL         "AND",IDC_AND4,"Button",BS_AUTORADIOBUTTON | WS_GROUP,
-                    183,66,31,10
+    CONTROL         "AND",IDC_AND4,"Button",BS_AUTORADIOBUTTON | WS_GROUP,183,66,31,10
     CONTROL         "OR",IDC_OR4,"Button",BS_AUTORADIOBUTTON,213,66,29,10
     GROUPBOX        "",IDC_STATIC,180,22,59,18,WS_GROUP
     GROUPBOX        "",IDC_STATIC,180,41,59,18,WS_GROUP
     GROUPBOX        "",IDC_STATIC,180,60,59,18,WS_GROUP
-    CONTROL         "0°",IDC_ROT0,"Button",BS_AUTORADIOBUTTON | WS_GROUP,7,
-                    83,23,10
+    CONTROL         "0°",IDC_ROT0,"Button",BS_AUTORADIOBUTTON | WS_GROUP,7,83,23,10
     CONTROL         "90°",IDC_ROT90,"Button",BS_AUTORADIOBUTTON,31,83,27,10
-    CONTROL         "180°",IDC_ROT180,"Button",BS_AUTORADIOBUTTON,59,83,31,
-                    10
-    CONTROL         "270°",IDC_ROT270,"Button",BS_AUTORADIOBUTTON,91,83,31,
-                    10
-    CONTROL         "Ran",IDC_ROTRANDOM,"Button",BS_AUTORADIOBUTTON,123,83,
-                    29,10
-    CONTROL         "Full Cycle",IDC_ROTCYCLE,"Button",BS_AUTORADIOBUTTON,
-                    152,83,46,10
-    CONTROL         "NoFlip",IDC_FLIPNO,"Button",BS_AUTORADIOBUTTON | 
-                    WS_GROUP,7,94,36,10
-    CONTROL         "Flip",IDC_FLIPYES,"Button",BS_AUTORADIOBUTTON,45,94,27,
-                    10
-    CONTROL         "Ran",IDC_FLIPRANDOM,"Button",BS_AUTORADIOBUTTON,74,94,
-                    29,10
-    CONTROL         "Full Cycle",IDC_FLIPCYCLE,"Button",BS_AUTORADIOBUTTON,
-                    103,94,46,10
-    CONTROL         "Random",IDC_RANDOM,"Button",BS_AUTOCHECKBOX | 
-                    WS_TABSTOP,189,7,43,10
-    CONTROL         "Not Propagate",IDC_NOT_PROPAGATE,"Button",
-                    BS_AUTOCHECKBOX | WS_TABSTOP,177,95,62,10
-    CONTROL         "Full Cycle",IDC_FULL_CYCLE,"Button",BS_AUTOCHECKBOX | 
-                    WS_TABSTOP,189,16,46,10
-    CONTROL         "Force",IDC_FORCE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,
-                    205,84,34,10
+    CONTROL         "180°",IDC_ROT180,"Button",BS_AUTORADIOBUTTON,59,83,31,10
+    CONTROL         "270°",IDC_ROT270,"Button",BS_AUTORADIOBUTTON,91,83,31,10
+    CONTROL         "Ran",IDC_ROTRANDOM,"Button",BS_AUTORADIOBUTTON,123,83,29,10
+    CONTROL         "Full Cycle",IDC_ROTCYCLE,"Button",BS_AUTORADIOBUTTON,152,83,46,10
+    CONTROL         "NoFlip",IDC_FLIPNO,"Button",BS_AUTORADIOBUTTON | WS_GROUP,7,94,36,10
+    CONTROL         "Flip",IDC_FLIPYES,"Button",BS_AUTORADIOBUTTON,45,94,27,10
+    CONTROL         "Ran",IDC_FLIPRANDOM,"Button",BS_AUTORADIOBUTTON,74,94,29,10
+    CONTROL         "Full Cycle",IDC_FLIPCYCLE,"Button",BS_AUTORADIOBUTTON,103,94,46,10
+    CONTROL         "Random",IDC_RANDOM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,189,7,43,10
+    CONTROL         "Not Propagate",IDC_NOT_PROPAGATE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,177,95,62,10
+    CONTROL         "Full Cycle",IDC_FULL_CYCLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,189,16,46,10
+    CONTROL         "Force",IDC_FORCE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,205,84,34,10
 END
 
-IDD_SELECTZONE DIALOG DISCARDABLE  0, 0, 186, 95
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_SELECTZONE DIALOG  0, 0, 186, 95
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
 CAPTION "Select Zone"
 FONT 8, "MS Sans Serif"
 BEGIN
     DEFPUSHBUTTON   "OK",IDOK,129,7,50,14
     PUSHBUTTON      "Cancel",IDCANCEL,129,74,50,14
-    LISTBOX         IDC_LISTZONE,7,7,118,81,LBS_SORT | LBS_NOINTEGRALHEIGHT | 
-                    WS_VSCROLL | WS_TABSTOP
+    LISTBOX         IDC_LISTZONE,7,7,118,81,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
 END
 
-IDD_GENERATE DIALOG DISCARDABLE  0, 0, 186, 95
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_GENERATE DIALOG  0, 0, 186, 95
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
 CAPTION "Generate"
 FONT 8, "MS Sans Serif"
 BEGIN
@@ -482,16 +446,15 @@
     EDITTEXT        IDC_EDITMAXX,33,49,40,14,ES_AUTOHSCROLL
     LTEXT           "MaxY",IDC_STATIC,7,71,19,8
     EDITTEXT        IDC_EDITMAXY,33,67,40,14,ES_AUTOHSCROLL
-    COMBOBOX        IDC_COMBOMATERIAL,87,7,92,58,CBS_DROPDOWN | CBS_SORT | 
-                    WS_VSCROLL | WS_TABSTOP
+    COMBOBOX        IDC_COMBOMATERIAL,87,7,92,58,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP
     LTEXT           "Zone Base X",IDC_STATIC,94,33,42,8
     EDITTEXT        IDC_EDITZONEBASEX,139,31,40,14,ES_AUTOHSCROLL
     LTEXT           "Zone Base Y",IDC_STATIC,93,52,42,8
     EDITTEXT        IDC_EDITZONEBASEY,139,50,40,14,ES_AUTOHSCROLL
 END
 
-IDD_MOVE DIALOG DISCARDABLE  0, 0, 186, 46
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_MOVE DIALOG  0, 0, 186, 46
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
 CAPTION "Move In Cell"
 FONT 8, "MS Sans Serif"
 BEGIN
@@ -503,8 +466,8 @@
     EDITTEXT        IDC_EDITYOFFSET,49,23,40,14,ES_AUTOHSCROLL
 END
 
-IDD_EXPORT DIALOG DISCARDABLE  0, 0, 375, 316
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_EXPORT DIALOG  0, 0, 375, 316
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
 CAPTION "Export To Client"
 FONT 8, "MS Sans Serif"
 BEGIN
@@ -514,12 +477,9 @@
     LTEXT           "Reference Zones Directory",IDC_STATIC,7,7,86,8
     PUSHBUTTON      "...",IDC_BUTTON_REFZONEDIR,166,16,13,14
     GROUPBOX        "Lighting",IDC_STATIC,195,280,118,30
-    CONTROL         "Noise",IDC_RADIOLIGHTNOISE,"Button",BS_AUTORADIOBUTTON | 
-                    WS_GROUP,203,292,34,10
-    CONTROL         "Patch",IDC_RADIOLIGHTPATCH,"Button",BS_AUTORADIOBUTTON,
-                    241,292,35,10
-    CONTROL         "No",IDC_RADIOLIGHTNO,"Button",BS_AUTORADIOBUTTON,279,
-                    292,25,10
+    CONTROL         "Noise",IDC_RADIOLIGHTNOISE,"Button",BS_AUTORADIOBUTTON | WS_GROUP,203,292,34,10
+    CONTROL         "Patch",IDC_RADIOLIGHTPATCH,"Button",BS_AUTORADIOBUTTON,241,292,35,10
+    CONTROL         "No",IDC_RADIOLIGHTNO,"Button",BS_AUTORADIOBUTTON,279,292,25,10
     LTEXT           "Output Zones Directory",IDC_STATIC,7,33,74,8
     EDITTEXT        IDC_EDIT_OUTZONEDIR,7,42,153,14,ES_AUTOHSCROLL
     PUSHBUTTON      "...",IDC_BUTTON_OUTZONEDIR,166,42,13,14
@@ -542,8 +502,7 @@
     EDITTEXT        IDC_EDIT_ZONEMAX,321,255,40,14,ES_AUTOHSCROLL
     GROUPBOX        "Export Limiter",IDC_STATIC,195,245,172,27
     EDITTEXT        IDC_EDIT_REFIGDIR,7,80,153,14,ES_AUTOHSCROLL
-    LTEXT           "Reference Instance Group Directory",IDC_STATIC,7,70,115,
-                    8
+    LTEXT           "Reference Instance Group Directory",IDC_STATIC,7,70,115,8
     PUSHBUTTON      "...",IDC_BUTTON_REFIGDIR,166,80,13,14
     LTEXT           "Output Instance Group Directory",IDC_STATIC,7,97,103,8
     EDITTEXT        IDC_EDIT_OUTIGDIR,7,105,153,14,ES_AUTOHSCROLL
@@ -557,19 +516,14 @@
     EDITTEXT        IDC_EDIT_OUTCMBDIR,197,42,153,14,ES_AUTOHSCROLL
     PUSHBUTTON      "...",IDC_BUTTON_OUTCMBDIR,355,42,13,14
     GROUPBOX        "",IDC_STATIC,191,1,182,61
-    EDITTEXT        IDC_EDIT_REFADDITIONNALIGDIR,198,80,153,14,
-                    ES_AUTOHSCROLL
-    LTEXT           "Reference Instance Group Directory",IDC_STATIC,198,70,
-                    115,8
+    EDITTEXT        IDC_EDIT_REFADDITIONNALIGDIR,198,80,153,14,ES_AUTOHSCROLL
+    LTEXT           "Reference Instance Group Directory",IDC_STATIC,198,70,115,8
     PUSHBUTTON      "...",IDC_BUTTON_REFADDITIONNALIGDIR,356,80,13,14
-    LTEXT           "Output Instance Group Directory",IDC_STATIC,198,97,103,
-                    8
-    EDITTEXT        IDC_EDIT_OUTADDITIONNALIGDIR,198,105,153,14,
-                    ES_AUTOHSCROLL
+    LTEXT           "Output Instance Group Directory",IDC_STATIC,198,97,103,8
+    EDITTEXT        IDC_EDIT_OUTADDITIONNALIGDIR,198,105,153,14,ES_AUTOHSCROLL
     PUSHBUTTON      "...",IDC_BUTTON_OUTADDITIONNALIGDIR,356,105,13,14
     GROUPBOX        "",IDC_STATIC,192,62,181,61
-    CONTROL         "Export collisions",IDC_EXPORT_COLLISIONS,"Button",
-                    BS_AUTOCHECKBOX | WS_TABSTOP,201,215,81,11
+    CONTROL         "Export collisions",IDC_EXPORT_COLLISIONS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,201,215,81,11
     EDITTEXT        IDC_EDIT_DFNDIR,197,138,153,14,ES_AUTOHSCROLL
     LTEXT           "Dfn base directory",IDC_STATIC,197,128,58,8
     PUSHBUTTON      "...",IDC_BUTTON_DFNDIR,355,138,13,14
@@ -586,22 +540,21 @@
     PUSHBUTTON      "...",IDC_BUTTON_COLORMAPFILE,164,255,13,14
 END
 
-IDD_TYPEMANAGER DIALOG DISCARDABLE  0, 0, 186, 156
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_TYPEMANAGER DIALOG  0, 0, 186, 156
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
 CAPTION "Type Manager"
 FONT 8, "MS Sans Serif"
 BEGIN
     DEFPUSHBUTTON   "OK",IDOK,7,135,50,14
     PUSHBUTTON      "Cancel",IDCANCEL,129,135,50,14
-    LISTBOX         IDC_LISTTYPE,7,26,172,102,LBS_SORT | 
-                    LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
+    LISTBOX         IDC_LISTTYPE,7,26,172,102,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
     PUSHBUTTON      "Add Type",IDC_ADDTYPE,7,7,50,14
     PUSHBUTTON      "Remove Type",IDC_REMOVETYPE,68,7,50,14
     PUSHBUTTON      "Edit Type",IDC_EDITTYPE,129,7,50,14
 END
 
-IDD_TYPE DIALOG DISCARDABLE  0, 0, 186, 46
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_TYPE DIALOG  0, 0, 186, 46
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
 CAPTION "Type"
 FONT 8, "MS Sans Serif"
 BEGIN
@@ -610,42 +563,38 @@
     LTEXT           "Name",IDC_STATIC,7,7,20,8
     LTEXT           "Color",IDC_STATIC,7,29,17,8
     EDITTEXT        IDC_EDITNAME,36,7,82,14,ES_AUTOHSCROLL
-    CONTROL         "Color",IDC_BUTTONCOLOR,"Button",BS_OWNERDRAW | 
-                    WS_TABSTOP,36,24,50,14
+    CONTROL         "Color",IDC_BUTTONCOLOR,"Button",BS_OWNERDRAW | WS_TABSTOP,36,24,50,14
 END
 
-IDD_TYPESEL DIALOG DISCARDABLE  0, 0, 186, 95
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_TYPESEL DIALOG  0, 0, 186, 95
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
 CAPTION "Select Type"
 FONT 8, "MS Sans Serif"
 BEGIN
     DEFPUSHBUTTON   "OK",IDOK,129,7,50,14
     PUSHBUTTON      "Cancel",IDCANCEL,129,74,50,14
-    LISTBOX         IDC_LIST,7,7,117,81,LBS_SORT | LBS_NOINTEGRALHEIGHT | 
-                    WS_VSCROLL | WS_TABSTOP
+    LISTBOX         IDC_LIST,7,7,117,81,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
 END
 
-IDD_EXPORTCB DIALOG DISCARDABLE  0, 0, 310, 138
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION
+IDD_EXPORTCB DIALOG  0, 0, 310, 138
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION
 CAPTION "Export Callback"
 FONT 8, "MS Sans Serif"
 BEGIN
     PUSHBUTTON      "Cancel",IDCANCEL,7,117,296,14
     LTEXT           "Export Pass",IDC_PASSTEXT,7,7,296,8
-    CONTROL         "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER,7,
-                    18,296,14
-    EDITTEXT        IDC_EDIT_INFO,7,39,296,73,ES_MULTILINE | ES_AUTOHSCROLL | 
-                    WS_VSCROLL
+    CONTROL         "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER,7,18,296,14
+    EDITTEXT        IDC_EDIT_INFO,7,39,296,73,ES_MULTILINE | ES_AUTOHSCROLL | WS_VSCROLL
 END
 
-IDD_TOOLS_LOGIC DIALOG DISCARDABLE  0, 0, 178, 278
-STYLE WS_CHILD
+IDD_TOOLS_LOGIC DIALOG  0, 0, 178, 278
+STYLE DS_SETFONT | WS_CHILD
 FONT 8, "MS Sans Serif"
 BEGIN
 END
 
-IDD_EDIT_STRING DIALOG DISCARDABLE  0, 0, 247, 47
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_EDIT_STRING DIALOG  0, 0, 247, 47
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
 CAPTION "Edit name"
 FONT 8, "MS Sans Serif"
 BEGIN
@@ -656,21 +605,19 @@
 END
 
 IDD_LOADING DIALOGEX 0, 0, 281, 47
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION
 EXSTYLE WS_EX_TOOLWINDOW
 CAPTION "NeL World Editor"
 FONT 8, "MS Sans Serif", 0, 0, 0x1
 BEGIN
     CONTROL         "Please Wait While Loading...",IDC_STATIC_TEXT_LOADING,
                     "Static",SS_LEFTNOWORDWRAP | WS_GROUP,5,5,269,8
-    ICON            IDR_MAINFRAME,IDC_STATIC,5,20,20,20,SS_CENTERIMAGE | 
-                    SS_RIGHTJUST | SS_REALSIZEIMAGE
-    CONTROL         "Progress1",IDC_PROGRESS1,"msctls_progress32",WS_BORDER,
-                    30,20,245,20
+    ICON            IDR_MAINFRAME,IDC_STATIC,5,20,20,20,SS_CENTERIMAGE | SS_RIGHTJUST | SS_REALSIZEIMAGE
+    CONTROL         "Progress1",IDC_PROGRESS1,"msctls_progress32",WS_BORDER,30,20,245,20
 END
 
-IDD_CUSTOM_SNAPSHOT DIALOG DISCARDABLE  0, 0, 147, 130
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_CUSTOM_SNAPSHOT DIALOG  0, 0, 147, 130
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
 CAPTION "Snapshot"
 FONT 8, "MS Sans Serif"
 BEGIN
@@ -680,20 +627,15 @@
     EDITTEXT        IDC_HEIGHT,90,45,51,12,ES_AUTOHSCROLL
     LTEXT           "Width:",IDC_STATIC,15,30,70,13,SS_CENTERIMAGE
     LTEXT           "Height:",IDC_STATIC,15,45,70,12,SS_CENTERIMAGE
-    CONTROL         "Keep bitmap ratio",IDC_KEEPRATIO,"Button",
-                    BS_AUTOCHECKBOX | WS_TABSTOP,15,60,75,10
-    CONTROL         "RGB",IDC_RGBA,"Button",BS_AUTORADIOBUTTON | WS_GROUP,5,
-                    80,60,10
-    CONTROL         "Grayscale",IDC_GRAY_SCALE,"Button",BS_AUTORADIOBUTTON,5,
-                    90,60,10
-    CONTROL         "Fixed size",IDC_FIXED_SIZE,"Button",BS_AUTORADIOBUTTON | 
-                    WS_GROUP,5,5,60,10
-    CONTROL         "Custom size",IDC_GRAY_SCALE2,"Button",
-                    BS_AUTORADIOBUTTON,5,15,60,10
+    CONTROL         "Keep bitmap ratio",IDC_KEEPRATIO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,60,75,10
+    CONTROL         "RGB",IDC_RGBA,"Button",BS_AUTORADIOBUTTON | WS_GROUP,5,80,60,10
+    CONTROL         "Grayscale",IDC_GRAY_SCALE,"Button",BS_AUTORADIOBUTTON,5,90,60,10
+    CONTROL         "Fixed size",IDC_FIXED_SIZE,"Button",BS_AUTORADIOBUTTON | WS_GROUP,5,5,60,10
+    CONTROL         "Custom size",IDC_GRAY_SCALE2,"Button",BS_AUTORADIOBUTTON,5,15,60,10
 END
 
-IDD_PROJECT_SETTINGS DIALOG DISCARDABLE  0, 0, 254, 153
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_PROJECT_SETTINGS DIALOG  0, 0, 254, 153
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
 CAPTION "Project Settings"
 FONT 8, "MS Sans Serif"
 BEGIN
@@ -702,13 +644,12 @@
     EDITTEXT        IDC_DATA_DIRECTORY,5,15,190,12,ES_AUTOHSCROLL
     LTEXT           "Data directory:",IDC_STATIC,5,5,50,10
     PUSHBUTTON      "Browse",IDC_BROWSE,200,15,50,14
-    COMBOBOX        IDC_CONTEXT,5,45,105,85,CBS_DROPDOWNLIST | WS_VSCROLL | 
-                    WS_TABSTOP
+    COMBOBOX        IDC_CONTEXT,5,45,105,85,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
     LTEXT           "Context:",IDC_STATIC,5,35,50,10
 END
 
 IDD_PROPERTIES DIALOGEX 0, 0, 298, 121
-STYLE WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
+STYLE DS_SETFONT | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
 CAPTION "Properties"
 FONT 8, "MS Sans Serif", 0, 0, 0x1
 BEGIN
@@ -716,14 +657,12 @@
     PUSHBUTTON      "&Cancel",IDCANCEL,124,105,50,15
     PUSHBUTTON      "&Update",IDUPDATE,240,105,50,15
     SCROLLBAR       IDC_SCROLLBAR_PROP,283,15,12,76,SBS_VERT
-    CONTROL         "",IDC_PROPERTY_FRAME,"Static",SS_BLACKFRAME,0,0,297,103,
-                    WS_EX_CLIENTEDGE
-    CONTROL         "",IDC_FIRST_PROP,"Static",SS_BLACKFRAME | NOT 
-                    WS_VISIBLE,6,6,273,19
+    CONTROL         "",IDC_PROPERTY_FRAME,"Static",SS_BLACKFRAME,0,0,297,103,WS_EX_CLIENTEDGE
+    CONTROL         "",IDC_FIRST_PROP,"Static",SS_BLACKFRAME | NOT WS_VISIBLE,6,6,273,19
 END
 
-IDD_SELECT_PRIMITIVE_BY_LOCATION DIALOG DISCARDABLE  0, 0, 172, 85
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_SELECT_PRIMITIVE_BY_LOCATION DIALOG  0, 0, 172, 85
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
 CAPTION "Select a primitive by its location"
 FONT 8, "MS Sans Serif"
 BEGIN
@@ -738,8 +677,8 @@
     LTEXT           "Threshold :",IDC_STATIC,10,45,40,15,SS_CENTERIMAGE
 END
 
-IDD_FIND_PRIMITIVE DIALOG DISCARDABLE  0, 0, 349, 145
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_FIND_PRIMITIVE DIALOG  0, 0, 349, 145
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
 CAPTION "Find a primitive..."
 FONT 8, "MS Sans Serif"
 BEGIN
@@ -750,16 +689,15 @@
     LTEXT           "",IDC_PRIMITIVE_NAME,7,104,335,34,SS_SUNKEN
     DEFPUSHBUTTON   "&Find Next",ID_FIND_NEXT,102,83,50,14
     PUSHBUTTON      "&Cancel",IDCANCEL,7,83,50,14
-    CONTROL         "selection only",IDC_SELECTION,"Button",BS_AUTOCHECKBOX | 
-                    WS_TABSTOP,57,65,59,10
+    CONTROL         "selection only",IDC_SELECTION,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,57,65,59,10
     LTEXT           "Replace With :",IDC_STATIC,7,48,48,8
     EDITTEXT        IDC_REPLACE_TEXT,56,42,286,14,ES_AUTOHSCROLL
     PUSHBUTTON      "&Replace",ID_REPLACE,197,83,50,14
     PUSHBUTTON      "&ReplaceAll",ID_REPLACE_ALL,292,83,50,14
 END
 
-IDD_GOTO_POS DIALOG DISCARDABLE  0, 0, 142, 58
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION
+IDD_GOTO_POS DIALOG  0, 0, 142, 58
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION
 CAPTION "Goto position"
 FONT 8, "MS Sans Serif"
 BEGIN
@@ -769,12 +707,11 @@
     EDITTEXT        IDC_GOTO_POS_X,20,5,50,12,ES_AUTOHSCROLL
     LTEXT           "Y",IDC_STATIC,5,25,10,8
     EDITTEXT        IDC_GOTO_POS_Y,20,25,50,12,ES_AUTOHSCROLL
-    CONTROL         "&zoom at position",IDC_CHECK_POS_ZOMM,"Button",
-                    BS_AUTOCHECKBOX | WS_TABSTOP,5,45,70,10
+    CONTROL         "&zoom at position",IDC_CHECK_POS_ZOMM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,45,70,10
 END
 
-IDD_NAME DIALOG DISCARDABLE  0, 0, 483, 354
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_NAME DIALOG  0, 0, 483, 354
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
 CAPTION "Name attribution"
 FONT 8, "MS Sans Serif"
 BEGIN
@@ -785,11 +722,8 @@
     EDITTEXT        IDC_NAME_EBOX_IG,162,34,151,12,ES_AUTOHSCROLL
     DEFPUSHBUTTON   "&Assign",ID_NAME_ASSIGN,217,52,50,14,WS_DISABLED
     EDITTEXT        IDC_NAME_FILTER,180,92,125,12,ES_AUTOHSCROLL
-    LISTBOX         IDC_NAME_SEARCH,29,110,426,84,LBS_SORT | LBS_USETABSTOPS | 
-                    LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
-    LISTBOX         IDC_NAME_ID,29,220,426,78,LBS_SORT | LBS_USETABSTOPS | 
-                    LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | 
-                    WS_TABSTOP
+    LISTBOX         IDC_NAME_SEARCH,29,110,426,84,LBS_SORT | LBS_USETABSTOPS | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
+    LISTBOX         IDC_NAME_ID,29,220,426,78,LBS_SORT | LBS_USETABSTOPS | LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | WS_TABSTOP
     GROUPBOX        "Assign name",IDC_STATIC,107,7,270,67
     LTEXT           "Generic name:",IDC_STATIC,111,17,47,8
     LTEXT           "In game name:",IDC_STATIC,111,36,48,8
@@ -801,7 +735,6 @@
 END
 
 
-#ifndef _MAC
 /////////////////////////////////////////////////////////////////////////////
 //
 // Version
@@ -824,18 +757,14 @@
     BEGIN
         BLOCK "040904b0"
         BEGIN
-            VALUE "Comments", "\0"
-            VALUE "CompanyName", "Nevrax\0"
-            VALUE "FileDescription", "NeL World Editor\0"
-            VALUE "FileVersion", "0, 0, 0, 1\0"
-            VALUE "InternalName", "world_editor\0"
-            VALUE "LegalCopyright", "Nevrax Copyright (C) 2002\0"
-            VALUE "LegalTrademarks", "\0"
-            VALUE "OriginalFilename", "world_editor.exe\0"
-            VALUE "PrivateBuild", "\0"
-            VALUE "ProductName", "NeL World Editor\0"
-            VALUE "ProductVersion", "0, 0, 0, 1\0"
-            VALUE "SpecialBuild", "\0"
+            VALUE "CompanyName", "Nevrax"
+            VALUE "FileDescription", "NeL World Editor"
+            VALUE "FileVersion", "0, 0, 0, 1"
+            VALUE "InternalName", "world_editor"
+            VALUE "LegalCopyright", "Nevrax Copyright (C) 2002"
+            VALUE "OriginalFilename", "world_editor.exe"
+            VALUE "ProductName", "NeL World Editor"
+            VALUE "ProductVersion", "0, 0, 0, 1"
         END
     END
     BLOCK "VarFileInfo"
@@ -844,8 +773,6 @@
     END
 END
 
-#endif    // !_MAC
-
 
 /////////////////////////////////////////////////////////////////////////////
 //
@@ -853,7 +780,7 @@
 //
 
 #ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE 
+GUIDELINES DESIGNINFO 
 BEGIN
     IDD_ABOUTBOX, DIALOG
     BEGIN
@@ -925,36 +852,36 @@
 // Cursor
 //
 
-IDC_MOVE                CURSOR  DISCARDABLE     "res\\move.cur"
-IDC_ROTATE              CURSOR  DISCARDABLE     "res\\rotate.cur"
-IDC_TURN                CURSOR  DISCARDABLE     "res\\turn.cur"
-IDC_SCALE               CURSOR  DISCARDABLE     "res\\scale.cur"
-IDC_ADD_POINT           CURSOR  DISCARDABLE     "res\\add_point.cur"
-IDC_COPY                CURSOR  DISCARDABLE     "res\\copy.cur"
-IDC_SELECT              CURSOR  DISCARDABLE     "res\\select.cur"
-IDC_SELECT_COPY         CURSOR  DISCARDABLE     "res\\select_copy.cur"
-IDC_INSERT_POINT        CURSOR  DISCARDABLE     "res\\insert_point.cur"
-IDC_HAND                CURSOR  DISCARDABLE     "res\\hand.cur"
-IDC_ZOOM                CURSOR  DISCARDABLE     "res\\zoom.cur"
-IDC_RADIUS              CURSOR  DISCARDABLE     "res\\radius.cur"
+IDC_MOVE                CURSOR                  "res\\move.cur"
+IDC_ROTATE              CURSOR                  "res\\rotate.cur"
+IDC_TURN                CURSOR                  "res\\turn.cur"
+IDC_SCALE               CURSOR                  "res\\scale.cur"
+IDC_ADD_POINT           CURSOR                  "res\\add_point.cur"
+IDC_COPY                CURSOR                  "res\\copy.cur"
+IDC_SELECT              CURSOR                  "res\\select.cur"
+IDC_SELECT_COPY         CURSOR                  "res\\select_copy.cur"
+IDC_INSERT_POINT        CURSOR                  "res\\insert_point.cur"
+IDC_HAND                CURSOR                  "res\\hand.cur"
+IDC_ZOOM                CURSOR                  "res\\zoom.cur"
+IDC_RADIUS              CURSOR                  "res\\radius.cur"
 
 /////////////////////////////////////////////////////////////////////////////
 //
 // String Table
 //
 
-STRINGTABLE PRELOAD DISCARDABLE 
+STRINGTABLE 
 BEGIN
     IDR_MAINFRAME           "NeL World Editor\n\nNeLWorldEditor\nNeL World Editor Files (*.worldedit)\n.worldedit\nWorldeditor.Document\nNeL World Editor Document"
 END
 
-STRINGTABLE PRELOAD DISCARDABLE 
+STRINGTABLE 
 BEGIN
     AFX_IDS_APP_TITLE       "NeL World Editor"
     AFX_IDS_IDLEMESSAGE     "Ready"
 END
 
-STRINGTABLE DISCARDABLE 
+STRINGTABLE 
 BEGIN
     ID_INDICATOR_ZONENAMENEL "                                   "
     ID_INDICATOR_ZONENAMEREF 
@@ -966,7 +893,7 @@
     ID_INDICATOR_SELECTION  "9999 selected primitives"
 END
 
-STRINGTABLE DISCARDABLE 
+STRINGTABLE 
 BEGIN
     ID_FILE_NEW             "Create a new document\nNew"
     ID_FILE_OPEN            "Open an existing document\nOpen (CTRL+O)"
@@ -979,14 +906,14 @@
     ID_FILE_PRINT_PREVIEW   "Display full pages\nPrint Preview"
 END
 
-STRINGTABLE DISCARDABLE 
+STRINGTABLE 
 BEGIN
     ID_APP_ABOUT            "Display program information, version number and copyright\nAbout"
     ID_APP_EXIT             "Quit the application; prompts to save documents\nExit"
     ID_HELP_FINDER          "List Help topics\nHelp Topics (F1)"
 END
 
-STRINGTABLE DISCARDABLE 
+STRINGTABLE 
 BEGIN
     ID_FILE_MRU_FILE1       "Open this document"
     ID_FILE_MRU_FILE2       "Open this document"
@@ -1006,18 +933,18 @@
     ID_FILE_MRU_FILE16      "Open this document"
 END
 
-STRINGTABLE DISCARDABLE 
+STRINGTABLE 
 BEGIN
     ID_NEXT_PANE            "Switch to the next window pane\nNext Pane"
     ID_PREV_PANE            "Switch back to the previous window pane\nPrevious Pane"
 END
 
-STRINGTABLE DISCARDABLE 
+STRINGTABLE 
 BEGIN
     ID_WINDOW_SPLIT         "Split the active window into panes\nSplit"
 END
 
-STRINGTABLE DISCARDABLE 
+STRINGTABLE 
 BEGIN
     ID_EDIT_CLEAR           "Erase the selection\nErase"
     ID_EDIT_CLEAR_ALL       "Erase everything\nErase All"
@@ -1032,13 +959,13 @@
     ID_EDIT_REDO            "Redo the previously undone action\nRedo (Ctrl+Y)"
 END
 
-STRINGTABLE DISCARDABLE 
+STRINGTABLE 
 BEGIN
     ID_VIEW_TOOLBAR         "Show or hide the toolbar\nToggle ToolBar"
     ID_VIEW_STATUS_BAR      "Show or hide the status bar\nToggle StatusBar"
 END
 
-STRINGTABLE DISCARDABLE 
+STRINGTABLE 
 BEGIN
     AFX_IDS_SCSIZE          "Change the window size"
     AFX_IDS_SCMOVE          "Change the window position"
@@ -1049,26 +976,30 @@
     AFX_IDS_SCCLOSE         "Close the active window and prompts to save the documents"
 END
 
-STRINGTABLE DISCARDABLE 
+STRINGTABLE 
 BEGIN
     AFX_IDS_SCRESTORE       "Restore the window to normal size"
     AFX_IDS_SCTASKLIST      "Activate Task List"
 END
 
-STRINGTABLE DISCARDABLE 
+STRINGTABLE 
 BEGIN
     AFX_IDS_PREVIEW_CLOSE   "Close print preview mode\nCancel Preview"
+END
+
+STRINGTABLE 
+BEGIN
     ID_WINDOWS_PLUGINS      "Menu to select betwen the different plugins \n Plugins"
 END
 
-STRINGTABLE DISCARDABLE 
+STRINGTABLE 
 BEGIN
     ID_VIEW_GRID            "Show / hide grid\nShow / Hide grid (G)"
     ID_MODE_LOGIC           "Logic Edition"
     ID_MODE_ZONE            "Zone edition"
 END
 
-STRINGTABLE DISCARDABLE 
+STRINGTABLE 
 BEGIN
     ID_EDIT_PACS            "Show / hide PACS lines\nPACS (CTRL+P)"
     ID_VIEW_PACS            "Show / hide PACS lines\nPACS (CTRL+P)"
@@ -1081,7 +1012,7 @@
     ID_NAME_DLG             "Name generator\nName generator"
 END
 
-STRINGTABLE DISCARDABLE 
+STRINGTABLE 
 BEGIN
     ID_EDIT_TURN            "Turn selection\nTurn (F8)"
     ID_EDIT_SCALE           "Scale selection\nScale (F9)"
@@ -1089,7 +1020,7 @@
     ID_EDIT_ADD_POINT       "Add points in selection\nAdd points (F11)"
 END
 
-STRINGTABLE DISCARDABLE 
+STRINGTABLE 
 BEGIN
     ID_PROJECT_SETTINGS     "Project properties\nProperties (Alt+F7)"
     ID_EDIT_LOCK            "Edit current selection points\nEdit points (Space)"
@@ -1101,7 +1032,7 @@
     ID_EDIT_ROTATE          "Rotate selection\nRotate (F7)"
 END
 
-STRINGTABLE DISCARDABLE 
+STRINGTABLE 
 BEGIN
     ID_EDIT_DETAILS         "Show / hide details\nDetails (D)"
     ID_VIEW_SHOW            "Show selected primitives\nShow (S)"
@@ -1111,19 +1042,19 @@
     ID_EDIT_COLLAPSE        "Collapse selected nodes\nCollapse (R)"
 END
 
-STRINGTABLE DISCARDABLE 
+STRINGTABLE 
 BEGIN
     ID_VIEW_LANDSCAPE       "Show / hide landscapes\nShow / Hide landscapes (L)"
 END
 
-STRINGTABLE DISCARDABLE 
+STRINGTABLE 
 BEGIN
     ID_VIEW_PRIMITIVES      "Show / hide primitives\nShow / Hide primitives (P)"
     ID_VIEW_LAYERS          "Show / hide layers\nShow / Hide layers (Y)"
     ID_VIEW_GRIS            "Show / hide grid\nShow / Hide gris (G)"
 END
 
-STRINGTABLE DISCARDABLE 
+STRINGTABLE 
 BEGIN
     ID_EDIT_SELECT_BY_LOCATION 
                             "Select primitives by location CTRL+L\nSelect primitives by location (CTRL+L)"
@@ -1157,16 +1088,13 @@
 // Menu
 //
 
-IDR_MENU1 MENU DISCARDABLE 
+IDR_MENU1 MENU 
 BEGIN
     POPUP "Primitive Configuration"
     BEGIN
         MENUITEM "&Select",                     ID_PRIMITIVECONFIGURATION_SELECT
-
         MENUITEM "&Show",                       ID_PRIMITIVECONFIGURATION_SHOW
-
         MENUITEM "&Hide",                       ID_PRIMITIVECONFIGURATION_HIDE
-
     END
 END
 
@@ -1177,30 +1105,27 @@
 //
 
 IDD_PRIMITIVE_CONFIGURATION DIALOGEX 0, 0, 238, 87
-STYLE WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
+STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
 EXSTYLE WS_EX_TOOLWINDOW
 CAPTION "Primitive configuration"
 FONT 8, "MS Sans Serif", 0, 0, 0x1
 BEGIN
-    CONTROL         "List1",IDC_LIST,"SysListView32",LVS_REPORT | 
-                    LVS_SINGLESEL | LVS_NOSORTHEADER | WS_BORDER | 
-                    WS_TABSTOP,7,7,224,73
+    CONTROL         "List1",IDC_LIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,7,7,224,73
 END
 
-IDD_SPLASHSCREEN DIALOG DISCARDABLE  0, 0, 186, 95
-STYLE WS_POPUP | WS_CAPTION
+IDD_SPLASHSCREEN DIALOG  0, 0, 186, 95
+STYLE DS_SETFONT | WS_POPUP | WS_CAPTION
 CAPTION "World Edit Load"
 FONT 8, "MS Sans Serif"
 BEGIN
     LTEXT           "Static",IDC_LOAD_WORLD_EDIT,7,5,172,85,SS_SUNKEN
 END
 
-IDD_DIRECTORY_SELECTOR DIALOG DISCARDABLE  0, 0, 282, 26
-STYLE DS_3DLOOK | DS_CONTROL | WS_CHILD | WS_CLIPSIBLINGS
+IDD_DIRECTORY_SELECTOR DIALOG  0, 0, 282, 26
+STYLE DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD | WS_CLIPSIBLINGS
 FONT 8, "MS Sans Serif"
 BEGIN
-    COMBOBOX        IDC_DIRLIST,54,7,216,234,CBS_DROPDOWNLIST | CBS_SORT | 
-                    WS_VSCROLL | WS_TABSTOP
+    COMBOBOX        IDC_DIRLIST,54,7,216,234,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
     LTEXT           "Previous dir:",IDC_STATIC,6,7,45,12,SS_CENTERIMAGE
 END
 
@@ -1211,7 +1136,7 @@
 //
 
 #ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE 
+GUIDELINES DESIGNINFO 
 BEGIN
     IDD_PRIMITIVE_CONFIGURATION, DIALOG
     BEGIN
diff -ru ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor/world_editor_doc.cpp ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor/world_editor_doc.cpp
--- ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor/world_editor_doc.cpp	2010-05-06 16:15:46.801523700 -0500
+++ ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor/world_editor_doc.cpp	2010-05-17 18:52:43.427128700 -0500
@@ -2238,22 +2238,33 @@
 						theApp.Plugins.at(i-ID_WINDOWS_PLUGINS-1)->closePlugin();
 					else
 						theApp.Plugins.at(i-ID_WINDOWS_PLUGINS-1)->activatePlugin();
-
 				}
 				else if (nCode == CN_UPDATE_COMMAND_UI)
 				{
 					// Update UI element state
 					
-					if(theApp.Plugins.at(i-ID_WINDOWS_PLUGINS-1)->isActive())
+					if(theApp.Plugins.at(i-ID_WINDOWS_PLUGINS-1)->isActive()) {
 						pCmdUI->SetCheck();
-					else
+					} else {
 						pCmdUI->SetCheck(0);
+					}
 					pCmdUI->Enable();
 					
 				}
 				return TRUE;
 			}
 		}
+		if (nID >= ID_WINDOWS_PLUGIN_ACTIONS && nID < ID_WINDOWS_PLUGIN_ACTIONS + theApp.pluginsActionSize)
+		{
+			if (nCode == CN_COMMAND)
+			{
+				for (uint i = 0; i < theApp.Plugins.size(); i++)
+				{
+					if(theApp.Plugins.at(i)->isActive())
+						theApp.Plugins.at(i)->processAction(nID - ID_WINDOWS_PLUGIN_ACTIONS);
+				}
+			}
+		}
 	}
 
 	// If we didn't process the command, call the base class
Only in ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor: x64
diff -ru ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor_fauna_graph_plugin/plugin.cpp ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor_fauna_graph_plugin/plugin.cpp
--- ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor_fauna_graph_plugin/plugin.cpp	2010-05-06 16:15:46.985534200 -0500
+++ ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor_fauna_graph_plugin/plugin.cpp	2010-05-16 00:40:25.861036300 -0500
@@ -96,6 +96,18 @@
 	return false;
 }
 
+// ***************************************************************************
+int CPlugin::actionCount()
+{
+	return 0;
+}
+
+//****************************************************************
+bool CPlugin::processAction(uint actionID)
+{
+	return true;
+}
+
 //****************************************************************
 void CPlugin::init(IPluginAccess *pluginAccess)
 {
diff -ru ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor_fauna_graph_plugin/plugin.h ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor_fauna_graph_plugin/plugin.h
--- ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor_fauna_graph_plugin/plugin.h	2010-05-06 16:15:46.986534300 -0500
+++ ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor_fauna_graph_plugin/plugin.h	2010-05-16 00:40:07.855006400 -0500
@@ -41,6 +41,8 @@
 	virtual bool		isActive();
 	virtual bool		activatePlugin();
 	virtual bool		closePlugin();
+	virtual int			actionCount();
+	virtual bool		processAction(uint actionID);
 	// from IPrimitiveDisplayer
 	virtual void		drawPrimitive(const NLLIGO::IPrimitive *primitive, const TRenderContext &renderContext);
 	IPluginAccess       *getPluginAccess() const { return _PluginAccess; }
diff -ru ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor_graph_plugin/graph_plugin.cpp ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor_graph_plugin/graph_plugin.cpp
--- ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor_graph_plugin/graph_plugin.cpp	2010-05-06 16:15:46.994534700 -0500
+++ ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor_graph_plugin/graph_plugin.cpp	2010-05-16 00:39:14.223938900 -0500
@@ -915,6 +915,16 @@
 	return _PluginActive;
 }
 
+int CGraphPlugin::actionCount()
+{
+	return 0;
+}
+
+bool CGraphPlugin::processAction(uint actionID)
+{
+	return true;
+}
+
 void CGraphPlugin::unsetDlgGraph()
 {
 	_PluginActive=false;
diff -ru ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor_graph_plugin/graph_plugin.h ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor_graph_plugin/graph_plugin.h
--- ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor_graph_plugin/graph_plugin.h	2010-05-06 16:15:47.072539200 -0500
+++ ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor_graph_plugin/graph_plugin.h	2010-05-16 00:39:44.448667600 -0500
@@ -56,6 +56,10 @@
 
 	virtual bool closePlugin();
 
+	virtual int actionCount();
+
+	virtual bool processAction(uint actionID);
+
 	void			doSelection(const std::string&);
 	void			refreshPrimitives();
 	void			refreshMachine();
diff -ru ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor_primitive_plugin/primitive_plugin.cpp ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor_primitive_plugin/primitive_plugin.cpp
--- ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor_primitive_plugin/primitive_plugin.cpp	2010-05-06 16:15:47.202546600 -0500
+++ ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor_primitive_plugin/primitive_plugin.cpp	2010-05-16 00:38:27.151246500 -0500
@@ -59,6 +59,16 @@
 	return true;
 }
 
+int			CPrimitivePlugin::actionCount()
+{
+	return 0;
+}
+
+bool		CPrimitivePlugin::processAction(uint actionID)
+{
+	return true;
+}
+
 std::string& CPrimitivePlugin::getName()
 {
 	static string name("Primitive displayer");
diff -ru ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor_primitive_plugin/primitive_plugin.h ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor_primitive_plugin/primitive_plugin.h
--- ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor_primitive_plugin/primitive_plugin.h	2010-05-06 16:15:47.202546600 -0500
+++ ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor_primitive_plugin/primitive_plugin.h	2010-05-16 00:38:00.427718000 -0500
@@ -47,6 +47,10 @@
 
 	virtual bool		closePlugin();
 
+	virtual int			actionCount();
+
+	virtual bool		processAction(uint actionID);
+
 	virtual std::string& getName();
 
 	CPrimitivePlugin();
diff -ru ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/DialogFlags.cpp ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/DialogFlags.cpp
--- ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/DialogFlags.cpp	2010-05-06 16:15:47.294551900 -0500
+++ ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/DialogFlags.cpp	2010-05-17 18:48:02.448057600 -0500
@@ -357,7 +357,8 @@
 //******************************************************************************************************
 void CDialogFlags::OnClose()
 {
-	_Plugin->closePlugin();
+	ShowWindow(FALSE);
+	//_Plugin->closePlugin();
 //	CDialog::OnClose();
 }
 
Only in ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin: extra.aps
Only in ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin: extra.rc
diff -ru ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/plugin.cpp ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/plugin.cpp
--- ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/plugin.cpp	2010-05-06 16:15:47.429559600 -0500
+++ ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/plugin.cpp	2010-05-17 23:48:50.224331400 -0500
@@ -62,6 +62,7 @@
 	nlinfo("Starting shard monitor plugin...");
 	
 	_DialogFlag = new CDialogFlags(NULL);
+	_DialogCommand = new CDialogCommand(NULL);
 	m_Initialized = false;
 	_Client = NULL;
 	_Root = NULL;
@@ -658,7 +659,21 @@
 		_DialogFlag->init(this);
 		_DialogFlag->Create(IDD_DIALOG_FLAGS, CWnd::FromHandle(_PluginAccess->getMainWindow()->m_hWnd));		
 		_DialogFlag->ShowWindow(TRUE);
-		
+
+		// initialize the command window and add all the commands to the dropdown
+		_DialogCommand->init(this);
+		_DialogCommand->Create(IDD_DIALOG_EXECUTE_COMMAND);		
+		CComboBox *command = ((CComboBox*)_DialogCommand->GetDlgItem(IDC_EXECUTE_COMMAND));
+		for(int i=0;i<sizeof(AdminCommands) / sizeof(AdminCommands[0]);i++)
+			command->AddString(AdminCommands[i].command);
+		command->SetCurSel(0);
+		char *commands = new char[255];
+		command->GetLBText(0,commands);
+		const uint nbCommands = sizeof(AdminCommands) / sizeof(AdminCommands[0]);
+		for(uint i=0;i<nbCommands;i++)
+			if(strcmp(commands,AdminCommands[i].command) == 0)
+				((CStatic*)_DialogCommand->GetDlgItem(IDC_EXECUTE_COMMAND_ARGS_LABEL))->SetWindowText(AdminCommands[i].args);
+
 		// Read the host where to connect in the client.cfg file		
 		_PluginActive=true;
 		updateConnectionState();		
@@ -673,7 +688,7 @@
 		{			
 			NLMISC::CSheetId::init(false);
 		}
-	
+		addMenus(_PluginAccess);
 	}
 	catch (Exception &e)
 	{
@@ -681,6 +696,11 @@
 	}
 }
 
+void CPlugin::addMenus(IPluginAccess *pluginAccess)
+{
+	pluginAccess->getMainWindow()->GetMenu()->AppendMenu (MF_STRING, 59370, "Commands");
+}
+
 // ***************************************************************************
 
 void CPlugin::connectDisconnect()
@@ -725,6 +745,7 @@
 			
 			try
 			{
+				if(!_SHost.find(':') > 0) _SHost += ":48888";
 				CInetAddress addr(_SHost+":48888");
 				_Client->connect(addr);
 			}
@@ -1275,3 +1296,49 @@
 	s.LoadString(strID);
 	return s;
 }
+
+int CPlugin::actionCount()
+{
+	return 5;
+}
+
+bool CPlugin::processAction(uint actionID)
+{
+	const std::list<NLLIGO::IPrimitive*> &currSel = _PluginAccess->getCurrentSelection();
+	if (currSel.size() == 1)
+	{
+		switch(actionID)
+		{
+			case 0:
+				_DialogCommand->ShowWindow(TRUE);
+				break;
+			default:
+				break;
+		}
+	}	
+	return true;
+}
+
+bool CPlugin::executeCommand()
+{
+	CMessage msgout;
+	string command;
+	string entityID;
+	string args;
+	const std::list<NLLIGO::IPrimitive*> &currSel = _PluginAccess->getCurrentSelection();
+	msgout.setType("EXEC_COMMAND");
+	
+	currSel.front()->getPropertyByName("entity id",entityID);
+	
+	char *cargs = new char[255];
+	int index = ((CComboBox*)_DialogCommand->GetDlgItem(IDC_EXECUTE_COMMAND))->GetCurSel();
+	((CComboBox*)_DialogCommand->GetDlgItem(IDC_EXECUTE_COMMAND))->GetLBText(index,cargs);
+	command = cargs;
+	((CEdit*)_DialogCommand->GetDlgItem(IDC_EXECUTE_COMMAND_ARGS))->GetLine(0,cargs);
+	args = cargs;
+	
+	msgout.serial(command + " " + entityID + " " + args);
+	_Client->send(msgout);
+
+	return true;
+}
\ No newline at end of file
diff -ru ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/plugin.h ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/plugin.h
--- ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/plugin.h	2010-05-06 16:15:47.430559700 -0500
+++ ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/plugin.h	2010-05-17 22:53:30.725466900 -0500
@@ -1,14 +1,18 @@
 
 #include "DialogFlags.h"
+#include "DialogCommand.h"
 #include "nel/misc/sheet_id.h"
 #include "nel/misc/rgba.h"
 #include "nel/misc/entity_id.h"
 #include "../world_editor/display.h"
 #include "../../../../common/src/game_share/mode_and_behaviour.h"
-
+#include "nel/misc/bit_mem_stream.h"
+#include "game_share/generic_xml_msg_mngr.h"
 
 #define REGKEY_BASE_PATH "Software\\Nevrax\\nel\\world_editor_shard_monitor_plugin"
 
+//extern CGenericXmlMsgHeaderManager	 GenericMsgHeaderMngr;
+
 // 
 struct CServerParams
 {
@@ -57,6 +61,12 @@
 
 	virtual bool		closePlugin();
 
+	virtual int			actionCount();
+
+	virtual bool		processAction(uint actionID);
+
+	virtual bool		executeCommand();
+
 	virtual std::string& getName();
 
 	void setEntityDisplayMode(TEntityDisplayMode dm);
@@ -87,7 +97,6 @@
 
 	// set current connection related msg
 	void				setConnectionMsg(const CConnectionMsg &cm) { _ConnectionMsg = cm; }
-
 private:
 
 	/// An entity entry
@@ -135,6 +144,9 @@
 	// \name Overload for IPluginCallback
 	virtual void		init(IPluginAccess *pluginAccess);
 
+	// Add dynamic menu system for running commands
+	void CPlugin::addMenus(IPluginAccess *pluginAccess);
+
 	/// The current region has changed.
 	virtual void		primitiveChanged(const NLLIGO::IPrimitive *root);
 
@@ -160,9 +172,11 @@
 
 	/// The plug-in dialog.
 	CDialogFlags	*_DialogFlag;
+	CDialogCommand	*_DialogCommand;
 
 	/// The network callback
 	NLNET::CCallbackClient *_Client;
+	NLNET::CCallbackClient *_suClient;
 
 	CConnectionMsg			_ConnectionMsg;	
 
diff -ru ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/resource.h ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/resource.h
--- ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/resource.h	2010-05-06 16:15:47.431559700 -0500
+++ ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/resource.h	2010-05-17 22:11:10.149154200 -0500
@@ -1,21 +1,5 @@
-// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
-// Copyright (C) 2010  Winch Gate Property Limited
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
 //{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
+// Microsoft Visual C++ generated include file.
 // Used by world_editor_shard_monitor_plugin.rc
 //
 #define IDS_CONNECT                     1
@@ -39,6 +23,7 @@
 #define IDD_DIALOG_LOAD                 108
 #define IDR_ENTITY_ICONS_TGA            112
 #define IDD_DIALOG_LOGIN                113
+#define IDD_DIALOG_EXECUTE_COMMAND      114
 #define IDC_CHECK_FLAG_00               1000
 #define IDC_CHECK_FLAG_01               1001
 #define IDC_CHECK_FLAG_02               1002
@@ -109,17 +94,22 @@
 #define IDC_PASSWORD_TEXT               1093
 #define IDC_LOGIN                       1095
 #define IDC_PASSWORD                    1096
+#define IDC_EXECUTE_COMMAND             1097
+#define IDC_EXECUTE_COMMAND_ARGS        1098
+#define IDC_SPLIT1                      1099
+#define IDC_EXECUTE_COMMAND_ARGS_LABEL  1100
 #define ID_BUTTON40001                  40001
 #define ID_BUTTON40002                  40002
 #define ID_BUTTON40003                  40003
+#define ID_EXECUTE_COMMAND              40004
 
 // Next default values for new objects
 // 
 #ifdef APSTUDIO_INVOKED
 #ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE        114
+#define _APS_NEXT_RESOURCE_VALUE        116
 #define _APS_NEXT_COMMAND_VALUE         40004
-#define _APS_NEXT_CONTROL_VALUE         1097
+#define _APS_NEXT_CONTROL_VALUE         1101
 #define _APS_NEXT_SYMED_VALUE           101
 #endif
 #endif
Only in ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin: world_editor_shard_monitor_plugin.aps
diff -ru ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/world_editor_shard_monitor_plugin.rc ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/world_editor_shard_monitor_plugin.rc
--- ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/world_editor_shard_monitor_plugin.rc	2010-05-06 16:15:47.432559800 -0500
+++ ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/world_editor_shard_monitor_plugin.rc	2010-05-17 23:20:40.681695100 -0500
@@ -1,4 +1,4 @@
-//Microsoft Developer Studio generated resource script.
+// Microsoft Visual C++ generated resource script.
 //
 #include "resource.h"
 
@@ -13,71 +13,85 @@
 #undef APSTUDIO_READONLY_SYMBOLS
 
 /////////////////////////////////////////////////////////////////////////////
-// French (France) resources
+// English (U.S.) resources
 
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA)
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
 #ifdef _WIN32
-LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
 #pragma code_page(1252)
 #endif //_WIN32
 
-#ifdef APSTUDIO_INVOKED
 /////////////////////////////////////////////////////////////////////////////
 //
-// TEXTINCLUDE
+// Dialog
 //
 
-1 TEXTINCLUDE DISCARDABLE 
-BEGIN
-    "resource.h\0"
+IDD_DIALOG_EXECUTE_COMMAND DIALOGEX 0, 0, 316, 95
+STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Dialog"
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+    DEFPUSHBUTTON   "OK",IDOK,205,74,50,14
+    PUSHBUTTON      "Cancel",IDCANCEL,259,74,50,14
+    COMBOBOX        IDC_EXECUTE_COMMAND,7,7,158,120,CBS_DROPDOWNLIST | CBS_SORT | CBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
+    EDITTEXT        IDC_EXECUTE_COMMAND_ARGS,7,28,302,17,ES_AUTOHSCROLL
+    LTEXT           "",IDC_EXECUTE_COMMAND_ARGS_LABEL,7,50,302,13
 END
 
-2 TEXTINCLUDE DISCARDABLE 
-BEGIN
-    "#include ""afxres.h""\r\n"
-    "\0"
-END
 
-3 TEXTINCLUDE DISCARDABLE 
+/////////////////////////////////////////////////////////////////////////////
+//
+// DESIGNINFO
+//
+
+#ifdef APSTUDIO_INVOKED
+GUIDELINES DESIGNINFO 
 BEGIN
-    "\r\n"
-    "\0"
+    IDD_DIALOG_EXECUTE_COMMAND, DIALOG
+    BEGIN
+        LEFTMARGIN, 7
+        RIGHTMARGIN, 309
+        TOPMARGIN, 7
+        BOTTOMMARGIN, 88
+    END
 END
-
 #endif    // APSTUDIO_INVOKED
 
+#endif    // English (U.S.) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+/////////////////////////////////////////////////////////////////////////////
+// French (France) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA)
+#ifdef _WIN32
+LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
+#pragma code_page(1252)
+#endif //_WIN32
 
 /////////////////////////////////////////////////////////////////////////////
 //
 // Dialog
 //
 
-IDD_DIALOG_FLAGS DIALOG DISCARDABLE  0, 0, 282, 274
-STYLE DS_MODALFRAME | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+IDD_DIALOG_FLAGS DIALOG  0, 0, 282, 274
+STYLE DS_SETFONT | DS_MODALFRAME | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
 CAPTION "Shard displayer"
 FONT 8, "MS Sans Serif"
 BEGIN
     PUSHBUTTON      "Connect",IDC_CONNECT,10,42,80,15
-    CONTROL         "Slider1",IDC_DOWNLOAD,"msctls_trackbar32",TBS_BOTH | 
-                    TBS_NOTICKS | WS_TABSTOP,151,62,89,10
-    COMBOBOX        IDC_DISPLAY_MODE_COMBO,62,94,143,56,CBS_DROPDOWNLIST | 
-                    WS_VSCROLL | WS_TABSTOP
-    LISTBOX         IDC_COLOR_LIST,61,113,143,76,LBS_OWNERDRAWVARIABLE | 
-                    LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | 
-                    WS_TABSTOP
+    CONTROL         "Slider1",IDC_DOWNLOAD,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,151,62,89,10
+    COMBOBOX        IDC_DISPLAY_MODE_COMBO,62,94,143,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    LISTBOX         IDC_COLOR_LIST,61,113,143,76,LBS_OWNERDRAWVARIABLE | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
     PUSHBUTTON      "Change color ...",IDC_BROWSE_COLOR,209,113,64,15
     PUSHBUTTON      "Select all",IDC_SELECT_ALL,209,133,64,14
     PUSHBUTTON      "Unselect all",IDC_UNSELECT_ALL,209,152,64,14
-    CONTROL         "HP Down",IDC_HP_DOWN,"Button",BS_AUTOCHECKBOX | 
-                    WS_TABSTOP,7,211,58,11
-    CONTROL         "Entity type",IDC_CLOSE_UP_SHOW_TYPE,"Button",
-                    BS_AUTOCHECKBOX | WS_TABSTOP,8,223,48,13
-    CONTROL         "Entity mode",IDC_CLOSE_UP_SHOW_MODE,"Button",
-                    BS_AUTOCHECKBOX | WS_TABSTOP,8,236,54,13
-    CONTROL         "Entity HP",IDC_CLOSE_UP_SHOW_HP,"Button",
-                    BS_AUTOCHECKBOX | WS_TABSTOP,8,250,54,13
-    CONTROL         "Slider1",IDC_DETAILS_DISTANCE,"msctls_trackbar32",
-                    TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,134,203,82,12
+    CONTROL         "HP Down",IDC_HP_DOWN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,211,58,11
+    CONTROL         "Entity type",IDC_CLOSE_UP_SHOW_TYPE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,223,48,13
+    CONTROL         "Entity mode",IDC_CLOSE_UP_SHOW_MODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,236,54,13
+    CONTROL         "Entity HP",IDC_CLOSE_UP_SHOW_HP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,250,54,13
+    CONTROL         "Slider1",IDC_DETAILS_DISTANCE,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,134,203,82,12
     LTEXT           "Not connected",IDC_STATE,103,17,170,10
     LTEXT           "0 received bytes",IDC_RECEIVED,104,30,108,10
     LTEXT           "0 sent bytes",IDC_SENT,104,40,108,10
@@ -88,18 +102,15 @@
     LTEXT           "Entity colors :",IDC_ENTITY_COLORS,11,116,44,9
     GROUPBOX        "Shard",IDC_STATIC_SHARD,2,3,277,74,WS_GROUP
     GROUPBOX        "Display",IDC_STATIC_DISPLAY,2,82,276,112,WS_GROUP
-    GROUPBOX        "Details",IDC_STATIC_CLOSE_UP_DETAILS,2,197,66,70,
-                    WS_GROUP
-    LTEXT           "Details distance :",IDC_DETAIL_DISTANCE_STATIC,75,203,
-                    58,10
+    GROUPBOX        "Details",IDC_STATIC_CLOSE_UP_DETAILS,2,197,66,70,WS_GROUP
+    LTEXT           "Details distance :",IDC_DETAIL_DISTANCE_STATIC,75,203,58,10
     LTEXT           "Near",IDC_STATIC_NEAR,137,217,18,10
     LTEXT           "Far",IDC_STATIC_FAR,200,218,13,10
-    LTEXT           "SHARD_LIST",IDC_SHARD_LIST_PLACEMENT,11,22,87,17,NOT 
-                    WS_VISIBLE | NOT WS_GROUP
+    LTEXT           "SHARD_LIST",IDC_SHARD_LIST_PLACEMENT,11,22,87,17,NOT WS_VISIBLE | NOT WS_GROUP
 END
 
-IDD_DIALOG_LOGIN DIALOG DISCARDABLE  0, 0, 186, 79
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+IDD_DIALOG_LOGIN DIALOG  0, 0, 186, 79
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
 CAPTION "Authentification"
 FONT 8, "MS Sans Serif"
 BEGIN
@@ -118,7 +129,7 @@
 //
 
 #ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE 
+GUIDELINES DESIGNINFO 
 BEGIN
     IDD_DIALOG_FLAGS, DIALOG
     BEGIN
@@ -139,6 +150,32 @@
 #endif    // APSTUDIO_INVOKED
 
 
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE 
+BEGIN
+    "resource.h\0"
+END
+
+2 TEXTINCLUDE 
+BEGIN
+    "#include ""afxres.h""\r\n"
+    "\0"
+END
+
+3 TEXTINCLUDE 
+BEGIN
+    "\r\n"
+    "\0"
+END
+
+#endif    // APSTUDIO_INVOKED
+
+
 /////////////////////////////////////////////////////////////////////////////
 //
 // Dialog Info
@@ -163,14 +200,14 @@
 // TGA
 //
 
-IDR_ENTITY_ICONS_TGA    TGA     DISCARDABLE     "entity_icons.tga"
+IDR_ENTITY_ICONS_TGA    TGA                     "entity_icons.tga"
 
 /////////////////////////////////////////////////////////////////////////////
 //
 // String Table
 //
 
-STRINGTABLE DISCARDABLE 
+STRINGTABLE 
 BEGIN
     IDS_CONNECT             "Connect"
     IDS_NOT_CONNECTED       "Not Connected"
diff -ru ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor_sound_plugin/sound_plugin.cpp ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor_sound_plugin/sound_plugin.cpp
--- ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor_sound_plugin/sound_plugin.cpp	2010-05-06 16:15:47.544566200 -0500
+++ ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor_sound_plugin/sound_plugin.cpp	2010-05-16 00:37:37.423402200 -0500
@@ -388,4 +388,14 @@
 		return true;
 	}
 	return false;
+}
+
+int CSoundPlugin::actionCount()
+{
+	return 0;
+}
+
+bool CSoundPlugin::processAction(uint actionID)
+{
+	return true;
 }
\ No newline at end of file
diff -ru ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor_sound_plugin/sound_plugin.h ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor_sound_plugin/sound_plugin.h
--- ryzom - Copy/code/ryzom/tools/leveldesign/world_editor/world_editor_sound_plugin/sound_plugin.h	2010-05-06 16:15:47.545566200 -0500
+++ ryzom/code/ryzom/tools/leveldesign/world_editor/world_editor_sound_plugin/sound_plugin.h	2010-05-16 00:37:25.513721000 -0500
@@ -39,6 +39,10 @@
 
 	virtual bool closePlugin();
 
+	virtual int actionCount();
+
+	virtual bool processAction(uint actionID);
+
 	std::string& getName();
 	
 private:
