[Scummvm-cvs-logs] SF.net SVN: scummvm: [27923] scummex/branches/gsoc2007-gameresbrowser

zbychs at users.sourceforge.net zbychs at users.sourceforge.net
Thu Jul 5 16:53:30 CEST 2007


Revision: 27923
          http://scummvm.svn.sourceforge.net/scummvm/?rev=27923&view=rev
Author:   zbychs
Date:     2007-07-05 07:53:29 -0700 (Thu, 05 Jul 2007)

Log Message:
-----------
Added RootObjectChain dumping. Added some object dumping code. Modified project structure.

Modified Paths:
--------------
    scummex/branches/gsoc2007-gameresbrowser/src/core/CoreFileTypes.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/core/CoreIntf.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/core/common/simplefile.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/core/common/stream.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/core/common/stream.h
    scummex/branches/gsoc2007-gameresbrowser/src/core/guid.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/core/ochain.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/core/ochain.h
    scummex/branches/gsoc2007-gameresbrowser/src/core/oregistry.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/core/pinslot.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/core/pinslot.h
    scummex/branches/gsoc2007-gameresbrowser/src/core/rcobject.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/core/safe_static.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/gui/BrowserApp.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/gui/BrowserApp.h
    scummex/branches/gsoc2007-gameresbrowser/src/gui/DirectoryPresenter.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/gui/DirectoryPresenter.h
    scummex/branches/gsoc2007-gameresbrowser/src/gui/ExplorationTree.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/gui/FilePresenter.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/gui/ImagePresenter.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/gui/MainForm.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/gui/MainForm.h
    scummex/branches/gsoc2007-gameresbrowser/src/gui/MainForm.wxform
    scummex/branches/gsoc2007-gameresbrowser/src/gui/PanelProvider.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/gui/PanelProvider.h
    scummex/branches/gsoc2007-gameresbrowser/src/gui/Test1.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/gui/VirtualNode.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/gui/guicon.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/plugins/BMPParser.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/plugins/Directories.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/plugins/DiskFileProvider.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/plugins/FileTypeRecognizer.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/plugins/GUIIntf.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/plugins/VirtualNode.h
    scummex/branches/gsoc2007-gameresbrowser/src/plugins/ftregistry.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/plugins/wx2scstream.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/samples/pinslot_plugins.cpp
    scummex/branches/gsoc2007-gameresbrowser/vc8/Browser/Browser.vcproj
    scummex/branches/gsoc2007-gameresbrowser/vc8/core/core.vcproj
    scummex/branches/gsoc2007-gameresbrowser/vc8/plugins/plugins.vcproj

Added Paths:
-----------
    scummex/branches/gsoc2007-gameresbrowser/src/core/common/common-stdafx.h
    scummex/branches/gsoc2007-gameresbrowser/src/core/core-stdafx.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/core/core-stdafx.h
    scummex/branches/gsoc2007-gameresbrowser/src/gui/BitmapPanel.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/gui/BitmapPanel.h
    scummex/branches/gsoc2007-gameresbrowser/src/gui/gui-stdafx.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/plugins/plugins-stdafx.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/plugins/plugins-stdafx.h
    scummex/branches/gsoc2007-gameresbrowser/vc8/mkdot.bat

Removed Paths:
-------------
    scummex/branches/gsoc2007-gameresbrowser/src/core/common/stdafx.h
    scummex/branches/gsoc2007-gameresbrowser/src/core/stdafx.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/core/stdafx.h
    scummex/branches/gsoc2007-gameresbrowser/src/gui/stdafx.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/plugins/BitmapPanel.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/plugins/BitmapPanel.h
    scummex/branches/gsoc2007-gameresbrowser/src/plugins/stdafx.cpp
    scummex/branches/gsoc2007-gameresbrowser/src/plugins/stdafx.h

Modified: scummex/branches/gsoc2007-gameresbrowser/src/core/CoreFileTypes.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/core/CoreFileTypes.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/core/CoreFileTypes.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -1,7 +1,7 @@
 /////////////////////////////////////////////////////////////////////////////
 // CoreFileTypes.cpp
 
-#include "stdafx.h"
+#include "core-stdafx.h"
 
 #include "CoreFileTypes.h"
 

Modified: scummex/branches/gsoc2007-gameresbrowser/src/core/CoreIntf.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/core/CoreIntf.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/core/CoreIntf.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -1,7 +1,7 @@
 /////////////////////////////////////////////////////////////////////////////
 // CoreIntf.cpp
 
-#include "stdafx.h"
+#include "core-stdafx.h"
 
 #include "CoreIntf.h"
 #include "common/simplefile.h"

Copied: scummex/branches/gsoc2007-gameresbrowser/src/core/common/common-stdafx.h (from rev 27918, scummex/branches/gsoc2007-gameresbrowser/src/core/common/stdafx.h)
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/core/common/common-stdafx.h	                        (rev 0)
+++ scummex/branches/gsoc2007-gameresbrowser/src/core/common/common-stdafx.h	2007-07-05 14:53:29 UTC (rev 27923)
@@ -0,0 +1,120 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2001  Ludvig Strigeus
+ * Copyright (C) 2001-2006 The ScummVM project
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * 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 General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * $URL: https://scummvm.svn.sourceforge.net/svnroot/scummvm/scummvm/trunk/common/stdafx.h $
+ * $Id: stdafx.h 26061 2007-03-10 15:00:56Z sev $
+ *
+ */
+
+#ifndef COMMON_STDAFX_H
+#define COMMON_STDAFX_H
+
+#if defined(_WIN32_WCE) && _WIN32_WCE < 300
+	#define NONSTANDARD_PORT
+#endif
+
+#if defined(NONSTANDARD_PORT)
+
+	// Ports which need to perform #includes and #defines visible in
+	// virtually all the source of ScummVM should do so by providing a
+	// "portdefs.h" header file (and not by directly modifying this
+	// header file).
+	#include <portdefs.h>
+
+#else // defined(NONSTANDARD_PORT)
+
+	#if defined(WIN32)
+	
+		#ifdef _MSC_VER
+		#pragma once
+		#pragma warning( disable : 4068 ) // turn off "unknown pragma" warning
+		#pragma warning( disable : 4100 ) // turn off "unreferenced formal parameter" warning
+		#pragma warning( disable : 4127 ) // turn off "conditional expression is constant" warning
+		#pragma warning( disable : 4201 ) // turn off "nonstandard extension used : nameless struct/union" warning
+		#pragma warning( disable : 4244 ) // turn off "conversion type" warning
+		#pragma warning( disable : 4310 ) // turn off "cast truncates constant value" warning
+		#pragma warning( disable : 4355 ) // turn off "base member init" warning
+		#pragma warning( disable : 4390 ) // turn off "empty statement" warning for BS2 code
+		#pragma warning( disable : 4250 ) // turn off "inherits via dominance" warning
+		#pragma	warning( disable : 4103 ) // turn off "alignement changed after including header" warning. We use pack-start.h file
+		#pragma warning( disable : 4121 ) // turn off "alignment of a member was sensitive to packing" warning
+		#pragma warning( disable : 4511 ) // turn off "copy constructor could not be generated" warning
+		#pragma warning( disable : 4512 ) // turn off "assignment operator could not be generated" warning
+		#pragma warning( disable : 4351 ) // turn off "new behavior ... will be default initialized" warning
+		#pragma warning( disable : 4505 ) // turn off "unreferenced local function has been removed"
+		#pragma warning( disable : 4510 ) // turn off "default constructor could not be generated"
+		#pragma warning( disable : 4610 ) // turn off "struct can never be instantiated - user defined constructor required"
+		
+		// FIXME: 4702 & 4706 - may be enabled
+		#pragma warning( disable : 4702 ) // turn off "unreachable code" warning
+		#pragma warning( disable : 4706 ) // turn off "assignment within conditional expression" warning
+		
+		#define vsnprintf _vsnprintf
+		#endif
+		
+		#if !defined(_WIN32_WCE)
+		
+		#define WIN32_LEAN_AND_MEAN		// Exclude rarely-used stuff from Windows headers
+		#define NOGDICAPMASKS
+		#define OEMRESOURCE
+		#define NONLS
+		#define NOICONS
+		#define NOMCX
+		#define NOPROFILER
+		#define NOKANJI
+		#define NOSERVICE
+		#define NOMETAFILE
+		#define NOCOMM
+		#define NOCRYPT
+		#define NOIME
+		#define NOATOM
+		#define NOCTLMGR
+		#define NOCLIPBOARD
+		#define NOMEMMGR
+		#define NOSYSMETRICS
+		#define NOMENUS
+		#define NOOPENFILE
+		#define NOWH
+		#define NOSOUND
+		#define NODRAWTEXT
+		
+		#endif
+		
+		#if defined(ARRAYSIZE)
+		// VS2005beta2 introduces new stuff in winnt.h
+		#undef ARRAYSIZE
+		#endif
+		
+	#endif
+	
+	#if defined(__QNXNTO__)
+	#include <strings.h>	/* For strcasecmp */
+	#endif
+
+	#include <stdio.h>
+	#include <stdlib.h>
+	#include <string.h>
+	#include <stdarg.h>
+	#include <assert.h>
+	#include <ctype.h>
+	#include <time.h>
+	#include <math.h>
+
+#endif
+
+#endif

Modified: scummex/branches/gsoc2007-gameresbrowser/src/core/common/simplefile.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/core/common/simplefile.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/core/common/simplefile.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -20,7 +20,8 @@
  *
  */
 
-#include "stdafx.h"
+#include "core-stdafx.h"
+#include "common/common-stdafx.h"
 
 #include "common/simplefile.h"
 

Deleted: scummex/branches/gsoc2007-gameresbrowser/src/core/common/stdafx.h
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/core/common/stdafx.h	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/core/common/stdafx.h	2007-07-05 14:53:29 UTC (rev 27923)
@@ -1,120 +0,0 @@
-/* ScummVM - Scumm Interpreter
- * Copyright (C) 2001  Ludvig Strigeus
- * Copyright (C) 2001-2006 The ScummVM project
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * 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 General Public License for more details.
-
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * $URL: https://scummvm.svn.sourceforge.net/svnroot/scummvm/scummvm/trunk/common/stdafx.h $
- * $Id: stdafx.h 26061 2007-03-10 15:00:56Z sev $
- *
- */
-
-#ifndef COMMON_STDAFX_H
-#define COMMON_STDAFX_H
-
-#if defined(_WIN32_WCE) && _WIN32_WCE < 300
-	#define NONSTANDARD_PORT
-#endif
-
-#if defined(NONSTANDARD_PORT)
-
-	// Ports which need to perform #includes and #defines visible in
-	// virtually all the source of ScummVM should do so by providing a
-	// "portdefs.h" header file (and not by directly modifying this
-	// header file).
-	#include <portdefs.h>
-
-#else // defined(NONSTANDARD_PORT)
-
-	#if defined(WIN32)
-	
-		#ifdef _MSC_VER
-		#pragma once
-		#pragma warning( disable : 4068 ) // turn off "unknown pragma" warning
-		#pragma warning( disable : 4100 ) // turn off "unreferenced formal parameter" warning
-		#pragma warning( disable : 4127 ) // turn off "conditional expression is constant" warning
-		#pragma warning( disable : 4201 ) // turn off "nonstandard extension used : nameless struct/union" warning
-		#pragma warning( disable : 4244 ) // turn off "conversion type" warning
-		#pragma warning( disable : 4310 ) // turn off "cast truncates constant value" warning
-		#pragma warning( disable : 4355 ) // turn off "base member init" warning
-		#pragma warning( disable : 4390 ) // turn off "empty statement" warning for BS2 code
-		#pragma warning( disable : 4250 ) // turn off "inherits via dominance" warning
-		#pragma	warning( disable : 4103 ) // turn off "alignement changed after including header" warning. We use pack-start.h file
-		#pragma warning( disable : 4121 ) // turn off "alignment of a member was sensitive to packing" warning
-		#pragma warning( disable : 4511 ) // turn off "copy constructor could not be generated" warning
-		#pragma warning( disable : 4512 ) // turn off "assignment operator could not be generated" warning
-		#pragma warning( disable : 4351 ) // turn off "new behavior ... will be default initialized" warning
-		#pragma warning( disable : 4505 ) // turn off "unreferenced local function has been removed"
-		#pragma warning( disable : 4510 ) // turn off "default constructor could not be generated"
-		#pragma warning( disable : 4610 ) // turn off "struct can never be instantiated - user defined constructor required"
-		
-		// FIXME: 4702 & 4706 - may be enabled
-		#pragma warning( disable : 4702 ) // turn off "unreachable code" warning
-		#pragma warning( disable : 4706 ) // turn off "assignment within conditional expression" warning
-		
-		#define vsnprintf _vsnprintf
-		#endif
-		
-		#if !defined(_WIN32_WCE)
-		
-		#define WIN32_LEAN_AND_MEAN		// Exclude rarely-used stuff from Windows headers
-		#define NOGDICAPMASKS
-		#define OEMRESOURCE
-		#define NONLS
-		#define NOICONS
-		#define NOMCX
-		#define NOPROFILER
-		#define NOKANJI
-		#define NOSERVICE
-		#define NOMETAFILE
-		#define NOCOMM
-		#define NOCRYPT
-		#define NOIME
-		#define NOATOM
-		#define NOCTLMGR
-		#define NOCLIPBOARD
-		#define NOMEMMGR
-		#define NOSYSMETRICS
-		#define NOMENUS
-		#define NOOPENFILE
-		#define NOWH
-		#define NOSOUND
-		#define NODRAWTEXT
-		
-		#endif
-		
-		#if defined(ARRAYSIZE)
-		// VS2005beta2 introduces new stuff in winnt.h
-		#undef ARRAYSIZE
-		#endif
-		
-	#endif
-	
-	#if defined(__QNXNTO__)
-	#include <strings.h>	/* For strcasecmp */
-	#endif
-
-	#include <stdio.h>
-	#include <stdlib.h>
-	#include <string.h>
-	#include <stdarg.h>
-	#include <assert.h>
-	#include <ctype.h>
-	#include <time.h>
-	#include <math.h>
-
-#endif
-
-#endif

Modified: scummex/branches/gsoc2007-gameresbrowser/src/core/common/stream.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/core/common/stream.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/core/common/stream.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -20,7 +20,8 @@
  *
  */
 
-#include "stdafx.h"
+#include "core-stdafx.h"
+#include "common/common-stdafx.h"
 
 //#include "common/stdafx.h"
 #include "common/stream.h"

Modified: scummex/branches/gsoc2007-gameresbrowser/src/core/common/stream.h
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/core/common/stream.h	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/core/common/stream.h	2007-07-05 14:53:29 UTC (rev 27923)
@@ -25,7 +25,7 @@
 #ifndef COMMON_STREAM_H
 #define COMMON_STREAM_H
 
-#include "common/stdafx.h"
+#include "common/common-stdafx.h"
 #include "common/scummsys.h"
 
 namespace Common {

Copied: scummex/branches/gsoc2007-gameresbrowser/src/core/core-stdafx.cpp (from rev 27918, scummex/branches/gsoc2007-gameresbrowser/src/core/stdafx.cpp)
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/core/core-stdafx.cpp	                        (rev 0)
+++ scummex/branches/gsoc2007-gameresbrowser/src/core/core-stdafx.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// PinSlot.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "core-stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file

Copied: scummex/branches/gsoc2007-gameresbrowser/src/core/core-stdafx.h (from rev 27918, scummex/branches/gsoc2007-gameresbrowser/src/core/stdafx.h)
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/core/core-stdafx.h	                        (rev 0)
+++ scummex/branches/gsoc2007-gameresbrowser/src/core/core-stdafx.h	2007-07-05 14:53:29 UTC (rev 27923)
@@ -0,0 +1,15 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently, but
+// are changed infrequently
+//
+
+#pragma once
+
+
+//#define WIN32_LEAN_AND_MEAN		// Exclude rarely-used stuff from Windows headers
+//#include <stdio.h>
+//#include <tchar.h>
+
+#define ARRAY_SIZE(x) ((int)(sizeof(x) / sizeof(x[0])))
+
+// TODO: reference additional headers your program requires here

Modified: scummex/branches/gsoc2007-gameresbrowser/src/core/guid.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/core/guid.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/core/guid.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -4,7 +4,7 @@
 // Declares GUID, GUIDObject and some helpers
 //
 
-#include "stdafx.h"
+#include "core-stdafx.h"
 
 #include "guid.h"
 

Modified: scummex/branches/gsoc2007-gameresbrowser/src/core/ochain.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/core/ochain.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/core/ochain.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -4,7 +4,7 @@
 // Declares an ObjectChain
 //
 
-#include "stdafx.h"
+#include "core-stdafx.h"
 
 #include "ochain.h"
 #include "oregistry.h"
@@ -67,6 +67,7 @@
 	slot2pin.insert( slot2pin_pair(slot, pin) );
 	pin2slot.insert( pin2slot_pair(pin, slot) );
 	pin2that.insert( pin2that_pair(pin, obj0.get()) );
+	slot2that.insert( slot2that_pair(slot, obj1.get()) );
 	slot->connect(pin);
 	
 	return true;
@@ -537,6 +538,115 @@
 	return cycle;
 }
 			 
+/////////////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////
+
+int _dump_ochain_indent = 0;
+
+std::string _doi() {
+	ASSERT_STATICS_ALLOWED();
+	ASSERT(_dump_ochain_indent >= 0);
+	int indent = _dump_ochain_indent;
+	std::string out("");
+	while (indent-- > 0)
+		out += "    ";
+	return out;
+}
+
+void ObjectChain::dumpObjectChainStart(std::string ochainname, std::ostream& os) {
+	ASSERT_STATICS_ALLOWED();
+	static int graph_count = -1;
+	graph_count++;
+
+	_dump_ochain_indent = 0;
+
+	os << _doi() << "digraph G" << graph_count << " {" << std::endl;
+	os << _doi() << "	compound=true;" << std::endl;
+	os << _doi() << "	style=\"\";" << std::endl;
+	os << _doi() << "	node [style=\"filled, invis\"];" << std::endl;
+	os << _doi() << "" << std::endl;
+
+	dumpObjectChain(ochainname, os);
+
+	os << _doi() << "}" << std::endl;
+}
+
+std::string objectNodeName(BObject* obj) {
+	return obj->dumpName() + "\\n" + toString(obj);
+}
+
+void ObjectChain::dumpObjectChain(std::string ochainname, std::ostream& os) {
+	ASSERT_STATICS_ALLOWED();
+	
+	ochainname = ochainname + "\\n" + toString(this);
+
+	_dump_ochain_indent++;
+	
+	os << _doi() << "subgraph \"cluster_" << ochainname << "\" {" << std::endl;
+	os << _doi() << "	label = \"" << ochainname << "\";" << std::endl;
+	os << _doi() << "	color=lightgrey;" << std::endl;
+	os << _doi() << "	style=\"\";" << std::endl;
+	os << _doi() << "" << std::endl;
+
+	//DUMP THE OBJECTS
+
+	object_set::const_iterator i;
+	for (i = objects.begin(); i != objects.end(); ++i) {
+		BObject* obj = (*i).get();
+		bool is_realized = obj->isRealized(this);
+		std::string objname = objectNodeName(obj);
+
+		_dump_ochain_indent++;
+
+		os << _doi() << "subgraph \"cluster_" << objname << "\" {" << std::endl;
+		os << _doi() << "	label = \"" << objname <<"\";" << std::endl;
+		os << _doi() << "	color=\"" << (is_realized ? "blue" : "red") << "\";" << std::endl;
+		os << _doi() << "	style=\"rounded\";" << std::endl;
+		os << _doi() << "" << std::endl;
+		os << _doi() << "	\"" << objname << "\";" << std::endl;
+		os << _doi() << "" << std::endl;
+
+		obj->dumpObjectChains(os);
+
+		os << _doi() << "}" << std::endl << std::endl;
+
+		_dump_ochain_indent--;
+	}
+	
+	os << _doi() << "" << std::endl;
+
+	//DUMP THE CONNECTIONS
+
+	_dump_ochain_indent++;
+	slot2pin_map::iterator e;
+	for(e = slot2pin.begin(); e != slot2pin.end(); ++e) {
+		SlotType* slot = e->first;
+		PinType* pin = e->second;
+		BObject* sobj = _match_that(slot);
+		BObject* pobj = _match_that(pin);
+		ASSERT(slot && pin && sobj && pobj);
+
+		std::string sobjname = objectNodeName(sobj);
+		std::string pobjname = objectNodeName(pobj);
+
+		os << _doi();
+		os << "\"" << pobjname << "\"";
+		os << " -> ";
+		os << "\"" << sobjname << "\"";
+		os << " [label = \"" << slot->get_desc().interfaceGUID.identifier << "\", ";
+		os << "lhead=\"cluster_" << sobjname << "\" , ltail=\"cluster_" << pobjname << "\" ]";
+		os << ";" << std::endl;
+	}
+	_dump_ochain_indent--;
+
+	os << _doi() << "}" << std::endl << std::endl;
+
+	_dump_ochain_indent--;
+}
+
+/////////////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////
+
 //returns true if it has been disconnected
 //returns false in case of error or if already was not connected
 //NULL pin and slot parameters are allowed
@@ -554,6 +664,7 @@
 	slot->disconnect();
 
 	slot2pin.erase(slot);
+	slot2that.erase(slot);
 	pin2that.erase(pin);
 	pin2slot_map::iterator j;
 	if (!_find_pin(pin, slot, j))
@@ -598,6 +709,15 @@
 	return that;
 }
 
+BObject* ObjectChain::_match_that(SlotType* slot) {
+	slot2that_map::iterator i;
+	i = slot2that.find(slot);
+	if (i == slot2that.end())
+		return NULL;
+	BObject* that = i->second;
+	return that;
+}
+
 /* nonsense:
 SlotType* ObjectChain::_match_slot(PinType* pin, SlotType* slot) {
 	pin2slot_map::iterator i;

Modified: scummex/branches/gsoc2007-gameresbrowser/src/core/ochain.h
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/core/ochain.h	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/core/ochain.h	2007-07-05 14:53:29 UTC (rev 27923)
@@ -10,6 +10,8 @@
 
 #include "pinslot.h"
 
+#include <ostream>
+
 #include <map>
 #include <set>
 #include <vector>
@@ -27,19 +29,25 @@
 	typedef std::map<SlotType*, PinType*> slot2pin_map;
 	typedef std::multimap<PinType*, SlotType*> pin2slot_map;
 	typedef std::map<PinType*, BObject*> pin2that_map;
+	typedef std::map<SlotType*, BObject*> slot2that_map;
 	typedef slot2pin_map::value_type slot2pin_pair;
 	typedef pin2slot_map::value_type pin2slot_pair;
 	typedef pin2that_map::value_type pin2that_pair;
+	typedef slot2that_map::value_type slot2that_pair;
 
 	object_set objects;
 	slot2pin_map slot2pin;
 	pin2slot_map pin2slot;
 	pin2that_map pin2that; //could be replaced by introducing pin->getOwner()
+	slot2that_map slot2that; //could be replaced by introducing slot->getOwner()
 
 	typedef std::vector<BObject*> ordered_objs;
 
 public:
-	
+
+	void dumpObjectChainStart(std::string ochainname, std::ostream& os);
+	void dumpObjectChain(std::string ochainname, std::ostream& os);
+
 	//returns true if the insertion was made
 	//returns false if the object was already there
 	bool addObject(const RCPtr<BObject>& obj);
@@ -135,6 +143,9 @@
 	//searches in pin2that
 	BObject* _match_that(PinType* pin);
 
+	//searches in slot2that
+	BObject* _match_that(SlotType* slot);
+
 	/* nonsense:
 	SlotType* _match_slot(PinType* pin, SlotType* slot);
 	}*/

Modified: scummex/branches/gsoc2007-gameresbrowser/src/core/oregistry.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/core/oregistry.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/core/oregistry.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -4,7 +4,7 @@
 // ObjectRegistry implementation.
 //
 
-#include "stdafx.h"
+#include "core-stdafx.h"
 
 #include "oregistry.h"
 #include "ftregistry.h"

Modified: scummex/branches/gsoc2007-gameresbrowser/src/core/pinslot.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/core/pinslot.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/core/pinslot.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -5,7 +5,7 @@
 // (plus factories, templates and macros for them)
 //
 
-#include "stdafx.h"
+#include "core-stdafx.h"
 
 #include "pinslot.h"
 
@@ -185,6 +185,48 @@
 /////////////////////////////////////////////////////////////////////////////
 // BObject is a reference counted object that is capable of holding pins and slots.
 
+int _dump_realize_indent = 0;
+
+void dump_realize_indent() {
+	ASSERT_STATICS_ALLOWED();
+	ASSERT(_dump_realize_indent >= 0);
+	int indent = _dump_realize_indent;
+	while (indent-- > 0)
+		std::cout << "  ";
+}
+
+void BObject::dumpRealizing(ObjectChain* ochain) {
+	dump_realize_indent();
+	std::cout << "REALIZING:\t";
+	std::cout << this->get_GUID().identifier << "\t\t" << this << " oc: " << ochain << std::endl;
+	ASSERT_STATICS_ALLOWED();
+	_dump_realize_indent++;
+}
+
+void BObject::dumpRealized(ObjectChain* ochain, bool result) {
+	ASSERT_STATICS_ALLOWED();
+	_dump_realize_indent--;
+	dump_realize_indent();
+	std::cout << (result ? "REALIZED:\t" : "R-FAILED:\t ");
+	std::cout << this->get_GUID().identifier << "\t\t" << this << " oc: " << ochain << std::endl;
+}
+
+void BObject::dumpUnrealizing(ObjectChain* ochain) {
+	dump_realize_indent();
+	std::cout << "UNREALIZING:\t";
+	std::cout << this->get_GUID().identifier << "\t\t" << this << " oc: " << ochain << std::endl;
+	ASSERT_STATICS_ALLOWED();
+	_dump_realize_indent++;
+}
+
+void BObject::dumpUnrealized(ObjectChain* ochain) {
+	ASSERT_STATICS_ALLOWED();
+	_dump_realize_indent--;
+	dump_realize_indent();
+	std::cout << "UNREALIZED:\t";
+	std::cout << this->get_GUID().identifier << "\t\t" << this << " oc: " << ochain << std::endl;
+}
+
 //do not call manually!
 void BObject::init_pins_slots() {
 	PinSlotDescs::const_iterator i;

Modified: scummex/branches/gsoc2007-gameresbrowser/src/core/pinslot.h
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/core/pinslot.h	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/core/pinslot.h	2007-07-05 14:53:29 UTC (rev 27923)
@@ -419,11 +419,23 @@
 		return _realized && (_ochain == ochain);
 	}
 
+	void dumpRealizing(ObjectChain* ochain);
+	void dumpRealized(ObjectChain* ochain, bool result);
+	void dumpUnrealizing(ObjectChain* ochain);
+	void dumpUnrealized(ObjectChain* ochain);
+
 	//invoked to initialize the object in the ObjectChain
 	//realize can query the ObjectChain (the object is already a member of it)
 	virtual bool realize(ObjectChain* ochain) {
-		if (_realized)
+		if (isRealizedAnywhere())
 			return false;
+		dumpRealizing(ochain);
+		bool res = doRealize(ochain);
+		dumpRealized(ochain, res);
+		return res;
+	}
+
+	virtual bool doRealize(ObjectChain* ochain) {
 		_ochain = ochain;
 		_realized = true;
 		return true;
@@ -434,11 +446,24 @@
 	virtual void unrealize(ObjectChain* ochain) {
 		if (!isRealized(ochain))
 			return;
+		dumpUnrealizing(ochain);
+		doUnrealize(ochain);
+		dumpUnrealized(ochain);
+	}
+
+	virtual void doUnrealize(ObjectChain* ochain) {
 		_ochain = NULL;
 		_realized = false;
 	}
 
+	virtual void dumpObjectChains(std::ostream& os) {
+	}
 
+	//a name used for debugging
+	virtual std::string dumpName() {
+		return this->get_GUID().identifier;
+	}
+
 protected:
 	bool _realized;
 	ObjectChain* _ochain;

Modified: scummex/branches/gsoc2007-gameresbrowser/src/core/rcobject.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/core/rcobject.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/core/rcobject.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -1,6 +1,6 @@
 //http://www.aristeia.com/BookErrata/M29Source_frames.html
 
-#include "stdafx.h"
+#include "core-stdafx.h"
 
 #include "rcobject.h"
 

Modified: scummex/branches/gsoc2007-gameresbrowser/src/core/safe_static.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/core/safe_static.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/core/safe_static.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -2,7 +2,7 @@
 // safe_static.cpp
 //
 
-#include "stdafx.h"
+#include "core-stdafx.h"
 
 #include "safe_static.h"
 

Deleted: scummex/branches/gsoc2007-gameresbrowser/src/core/stdafx.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/core/stdafx.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/core/stdafx.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -1,8 +0,0 @@
-// stdafx.cpp : source file that includes just the standard includes
-// PinSlot.pch will be the pre-compiled header
-// stdafx.obj will contain the pre-compiled type information
-
-#include "stdafx.h"
-
-// TODO: reference any additional headers you need in STDAFX.H
-// and not in this file

Deleted: scummex/branches/gsoc2007-gameresbrowser/src/core/stdafx.h
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/core/stdafx.h	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/core/stdafx.h	2007-07-05 14:53:29 UTC (rev 27923)
@@ -1,15 +0,0 @@
-// stdafx.h : include file for standard system include files,
-// or project specific include files that are used frequently, but
-// are changed infrequently
-//
-
-#pragma once
-
-
-//#define WIN32_LEAN_AND_MEAN		// Exclude rarely-used stuff from Windows headers
-//#include <stdio.h>
-//#include <tchar.h>
-
-
-
-// TODO: reference additional headers your program requires here

Copied: scummex/branches/gsoc2007-gameresbrowser/src/gui/BitmapPanel.cpp (from rev 27918, scummex/branches/gsoc2007-gameresbrowser/src/plugins/BitmapPanel.cpp)
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/gui/BitmapPanel.cpp	                        (rev 0)
+++ scummex/branches/gsoc2007-gameresbrowser/src/gui/BitmapPanel.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -0,0 +1,37 @@
+/////////////////////////////////////////////////////////////////////////////
+// BitmapPanel.cpp
+
+// For compilers that support precompilation, includes "wx/wx.h".
+#include "gui-stdafx.h"
+
+#include "BitmapPanel.h"
+
+/////////////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////
+
+BEGIN_EVENT_TABLE(BitmapPanel, wxPanel)
+	EVT_PAINT(BitmapPanel::OnPaint)
+	//EVT_ERASE_BACKGROUND(BitmapPanel::OnEraseBackground)
+	//EVT_LEFT_DCLICK(BitmapPanel::OnSave)
+END_EVENT_TABLE()
+
+/////////////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////
+
+BitmapPanel::BitmapPanel(wxPanel *parent, const wxBitmap& bitmap)
+	: wxPanel(parent), _bitmap(bitmap) {
+	SetClientSize(bitmap.GetWidth(), bitmap.GetHeight());
+}
+
+void BitmapPanel::OnPaint(wxPaintEvent& WXUNUSED(event)) {
+	wxPaintDC dc( this );
+	dc.DrawBitmap( _bitmap, 0, 0, true /* use mask */ );
+}
+
+//TODO: draw a checkboard
+/*void BitmapPanel::OnEraseBackground(wxEraseEvent& WXUNUSED(event)) {
+// do nothing here to be able to see how transparent images are shown
+}*/
+
+/////////////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////

Copied: scummex/branches/gsoc2007-gameresbrowser/src/gui/BitmapPanel.h (from rev 27918, scummex/branches/gsoc2007-gameresbrowser/src/plugins/BitmapPanel.h)
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/gui/BitmapPanel.h	                        (rev 0)
+++ scummex/branches/gsoc2007-gameresbrowser/src/gui/BitmapPanel.h	2007-07-05 14:53:29 UTC (rev 27923)
@@ -0,0 +1,34 @@
+/////////////////////////////////////////////////////////////////////////////
+// BitmapPanel.h
+
+#ifndef _BITMAP_PANEL_H_
+#define _BITMAP_PANEL_H_
+
+// For compilers that support precompilation, includes "wx/wx.h".
+#include "gui-stdafx.h"
+
+#include "wx/panel.h"
+
+/////////////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////
+
+class BitmapPanel : public wxPanel
+{
+public:
+	BitmapPanel(wxPanel *parent, const wxBitmap& bitmap);
+
+	void OnPaint(wxPaintEvent& event);
+
+	//TODO: draw a checkboard
+	//void OnEraseBackground(wxEraseEvent& event);
+
+private:
+	wxBitmap _bitmap;
+
+	DECLARE_EVENT_TABLE()
+};
+
+/////////////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////
+
+#endif // _BITMAP_PANEL_H_

Modified: scummex/branches/gsoc2007-gameresbrowser/src/gui/BrowserApp.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/gui/BrowserApp.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/gui/BrowserApp.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -7,12 +7,8 @@
 //
 //---------------------------------------------------------------------------
 
-#include "wx/wxprec.h"
+#include "gui-stdafx.h"
 
-#if defined(__BORLANDC__)
-#pragma hdrstop
-#endif
-
 #include "BrowserApp.h"
 //#include "BrowserDlg.h"
 #include "MainForm.h"

Modified: scummex/branches/gsoc2007-gameresbrowser/src/gui/BrowserApp.h
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/gui/BrowserApp.h	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/gui/BrowserApp.h	2007-07-05 14:53:29 UTC (rev 27923)
@@ -10,16 +10,8 @@
 #ifndef __BROWSERDLGApp_h__
 #define __BROWSERDLGApp_h__
 
-#include "wx/wxprec.h"
+#include "gui-stdafx.h"
 
-#if defined(__BORLANDC__)
-#pragma hdrstop
-#endif
-
-#ifndef WX_PRECOMP
-	#include <wx/wx.h>
-#endif
-
 class BrowserDlgApp : public wxApp
 {
 	public:

Modified: scummex/branches/gsoc2007-gameresbrowser/src/gui/DirectoryPresenter.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/gui/DirectoryPresenter.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/gui/DirectoryPresenter.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -1,12 +1,8 @@
 /////////////////////////////////////////////////////////////////////////////
 // DirectoryPresenter.cpp
 
-#include "wx/wxprec.h"
+#include "gui-stdafx.h"
 
-#if defined(__BORLANDC__)
-#pragma hdrstop
-#endif
-
 #include "DirectoryPresenter.h"
 #include "ExplorationTree.h"
 //#include "FilePresenter.h"
@@ -27,8 +23,8 @@
 	SLOT_DESC(_nodeSlot, SLOT_DEFAULT)
 END_DESCS
 
-bool DirectoryPresenter::realize(ObjectChain* ochain) {
-	bool res = BObject::realize(ochain);
+bool DirectoryPresenter::doRealize(ObjectChain* ochain) {
+	bool res = BObject::doRealize(ochain);
 	if (!res)
 		return false;
 
@@ -61,9 +57,7 @@
 	tree->Delete(item);
 }
 
-void DirectoryPresenter::unrealize(ObjectChain* ochain) {
-	if (!isRealized(ochain))
-		return;
+void DirectoryPresenter::doUnrealize(ObjectChain* ochain) {
 	std::cout << "DirectoryPresenter::unrealize(): "
 			  << (_inodeprovider ? toString(_inodeprovider->getNode()->getTreeItemName()) : "<error>") << " "
 			  << (_idirectory ? _idirectory->getName() : "<not expanded>") << " "
@@ -89,7 +83,7 @@
 	_directorySlot->releaseInterface();
 	_nodeSlot->releaseInterface();
 
-	BObject::unrealize(ochain);
+	BObject::doUnrealize(ochain);
 }
 
 bool DirectoryPresenter::prepareKidChain(const RCPtr<VirtualNode>& virtualNode, bool isFile) {
@@ -220,6 +214,16 @@
 	return res;
 }
 
+void DirectoryPresenter::dumpObjectChains(std::ostream& os) {
+	std::list<ObjectChain*>::const_iterator i;
+	int idx = 0;
+	for (i = _kidChains.begin(); i != _kidChains.end(); ++i) {
+		ObjectChain* kidchain = *i;
+		kidchain->dumpObjectChain(std::string("kid") + toString(idx), os);
+		idx++;
+	}
+}
+
 /////////////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////////////
 

Modified: scummex/branches/gsoc2007-gameresbrowser/src/gui/DirectoryPresenter.h
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/gui/DirectoryPresenter.h	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/gui/DirectoryPresenter.h	2007-07-05 14:53:29 UTC (rev 27923)
@@ -39,14 +39,17 @@
 	DirectoryPresenter()
 	: _idirectory(NULL), _inodeprovider(NULL), _expanded(false) {}
 
-	virtual bool realize(ObjectChain* ochain);
-	virtual void unrealize(ObjectChain* ochain);
+	virtual bool doRealize(ObjectChain* ochain);
+	virtual void doUnrealize(ObjectChain* ochain);
 
 	virtual bool realizeKidChains();
 	virtual void deleteKidChains();
 
 	virtual void expand();
 	bool prepareKidChain(const RCPtr<VirtualNode>& virtualNode, bool isFile);
+
+	virtual void dumpObjectChains(std::ostream& os);
+
 };
 
 /////////////////////////////////////////////////////////////////////////////

Modified: scummex/branches/gsoc2007-gameresbrowser/src/gui/ExplorationTree.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/gui/ExplorationTree.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/gui/ExplorationTree.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -1,12 +1,8 @@
 /////////////////////////////////////////////////////////////////////////////
 // ExplorationTree.cpp
 
-#include "wx/wxprec.h"
+#include "gui-stdafx.h"
 
-#if defined(__BORLANDC__)
-#pragma hdrstop
-#endif
-
 #include "ExplorationTree.h"
 #include "PanelProvider.h"
 #include "DirectoryPresenter.h"

Modified: scummex/branches/gsoc2007-gameresbrowser/src/gui/FilePresenter.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/gui/FilePresenter.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/gui/FilePresenter.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -1,12 +1,8 @@
 /////////////////////////////////////////////////////////////////////////////
 // FilePresenter.cpp
 
-#include "wx/wxprec.h"
+#include "gui-stdafx.h"
 
-#if defined(__BORLANDC__)
-#pragma hdrstop
-#endif
-
 #include "FilePresenter.h"
 
 #include "CoreIntf.h"

Modified: scummex/branches/gsoc2007-gameresbrowser/src/gui/ImagePresenter.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/gui/ImagePresenter.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/gui/ImagePresenter.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -1,12 +1,8 @@
 /////////////////////////////////////////////////////////////////////////////
 // ImagePresenter.cpp
 
-#include "wx/wxprec.h"
+#include "gui-stdafx.h"
 
-#if defined(__BORLANDC__)
-#pragma hdrstop
-#endif
-
 #include "ImagePresenter.h"
 
 #include "GUIIntf.h"

Modified: scummex/branches/gsoc2007-gameresbrowser/src/gui/MainForm.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/gui/MainForm.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/gui/MainForm.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -7,14 +7,12 @@
 //
 //---------------------------------------------------------------------------
 
-#include "wx/wxprec.h"
+#include "gui-stdafx.h"
 
-#if defined(__BORLANDC__)
-#pragma hdrstop
-#endif
-
 #include "MainForm.h"
 
+#include <fstream>
+
 #include "ExplorationTree.h"
 #include "ftregistry.h"
 #include "oregistry.h"
@@ -38,7 +36,7 @@
 //Add Custom Events only in the appropriate block.
 //Code added in other places will be removed by wxDev-C++
 ////Event Table Start
-BEGIN_EVENT_TABLE(MainForm, wxFrame)
+BEGIN_EVENT_TABLE(MainForm,wxFrame)
 	////Manual Code Start
 	////Manual Code End
 	
@@ -46,9 +44,11 @@
 	EVT_MENU(wxID_EXIT, MainForm::OnExit)
 	EVT_MENU(ID_TEST1, MainForm::OnTest1)
 	EVT_MENU(ID_TEST1_CLEANUP, MainForm::OnTest1Cleanup)
+	EVT_MENU(ID_TEST0, MainForm::OnTest0)
+	EVT_MENU(ID_DUMPROOTOBJECTCHAIN, MainForm::OnDumpRootObjectChain)
 	
-	EVT_TREE_ITEM_ACTIVATED(ID_BROWSERTREE, MainForm::browserTreeItemActivated)
-	EVT_TREE_ITEM_EXPANDING(ID_BROWSERTREE, MainForm::browserTreeItemExpanding)
+	EVT_TREE_ITEM_ACTIVATED(ID_BROWSERTREE,MainForm::browserTreeItemActivated)
+	EVT_TREE_ITEM_EXPANDING(ID_BROWSERTREE,MainForm::browserTreeItemExpanding)
 END_EVENT_TABLE()
 ////Event Table End
 
@@ -98,20 +98,28 @@
 	this->SetSizer(WxBoxSizer1);
 	this->SetAutoLayout(true);
 
-	WxSplitterWindow1 = new wxSplitterWindow(this, ID_WXSPLITTERWINDOW1, wxPoint(0, 0), wxSize(578, 392));
-	WxSplitterWindow1->SetFont(wxFont(8, wxSWISS, wxNORMAL, wxNORMAL, false, wxT("Tahoma")));
-	WxBoxSizer1->Add(WxSplitterWindow1, 1, wxALIGN_CENTER | wxEXPAND | wxALL, 0);
+	WxSplitterWindow1 = new wxSplitterWindow(this, ID_WXSPLITTERWINDOW1, wxPoint(0,0), wxSize(578,392));
+	WxSplitterWindow1->SetFont(wxFont(8, wxSWISS, wxNORMAL,wxNORMAL, false, wxT("Tahoma")));
+	WxBoxSizer1->Add(WxSplitterWindow1,1,wxALIGN_CENTER | wxEXPAND | wxALL,0);
 
-	browserTree = new wxTreeCtrl(WxSplitterWindow1, ID_BROWSERTREE, wxPoint(5, 5), wxSize(185, 382), wxTR_HAS_BUTTONS | wxTR_LINES_AT_ROOT);
-	browserTree->SetFont(wxFont(8, wxSWISS, wxNORMAL, wxNORMAL, false, wxT("Tahoma")));
+	browserTree = new wxTreeCtrl(WxSplitterWindow1, ID_BROWSERTREE, wxPoint(5,5), wxSize(185,382), wxTR_HAS_BUTTONS | wxTR_LINES_AT_ROOT);
+	browserTree->SetFont(wxFont(8, wxSWISS, wxNORMAL,wxNORMAL, false, wxT("Tahoma")));
 
-	mainPanel = new wxPanel(WxSplitterWindow1, ID_MAINPANEL, wxPoint(200, 8), wxSize(363, 376));
-	mainPanel->SetFont(wxFont(8, wxSWISS, wxNORMAL, wxNORMAL, false, wxT("Tahoma")));
+	mainPanel = new wxPanel(WxSplitterWindow1, ID_MAINPANEL, wxPoint(200,8), wxSize(363,376));
+	mainPanel->SetFont(wxFont(8, wxSWISS, wxNORMAL,wxNORMAL, false, wxT("Tahoma")));
 
+	WxBoxSizer2 = new wxBoxSizer(wxHORIZONTAL);
+	mainPanel->SetSizer(WxBoxSizer2);
+	mainPanel->SetAutoLayout(true);
+
+	browserNotebook = new wxNotebook(mainPanel, ID_BROWSERNOTEBOOK, wxPoint(5,5),wxSize(309,337));
+	browserNotebook->SetFont(wxFont(8, wxSWISS, wxNORMAL,wxNORMAL, false, wxT("Tahoma")));
+	WxBoxSizer2->Add(browserNotebook,1,wxEXPAND | wxALL,5);
+
 	WxMenuBar1 = new wxMenuBar();
 	wxMenu *ID_FILE_MENU_Mnu_Obj = new wxMenu(0);
 	ID_FILE_MENU_Mnu_Obj->Append(ID_OPEN, wxT("Open..."), wxT(""), wxITEM_NORMAL);
-	ID_FILE_MENU_Mnu_Obj->Enable(ID_OPEN, false);
+	ID_FILE_MENU_Mnu_Obj->Enable(ID_OPEN,false);
 	ID_FILE_MENU_Mnu_Obj->AppendSeparator();
 	ID_FILE_MENU_Mnu_Obj->Append(wxID_EXIT, wxT("Exit"), wxT(""), wxITEM_NORMAL);
 	WxMenuBar1->Append(ID_FILE_MENU_Mnu_Obj, wxT("File"));
@@ -119,19 +127,13 @@
 	wxMenu *ID_EDIT_MENU_Mnu_Obj = new wxMenu(0);
 	ID_EDIT_MENU_Mnu_Obj->Append(ID_TEST1, wxT("Test1"), wxT(""), wxITEM_NORMAL);
 	ID_EDIT_MENU_Mnu_Obj->Append(ID_TEST1_CLEANUP, wxT("Test1 Cleanup"), wxT(""), wxITEM_NORMAL);
+	ID_EDIT_MENU_Mnu_Obj->Append(ID_TEST0, wxT("Test0"), wxT(""), wxITEM_NORMAL);
+	ID_EDIT_MENU_Mnu_Obj->Append(ID_DUMPROOTOBJECTCHAIN, wxT("Dump Root Object Chain"), wxT(""), wxITEM_NORMAL);
 	WxMenuBar1->Append(ID_EDIT_MENU_Mnu_Obj, wxT("Edit"));
 	SetMenuBar(WxMenuBar1);
 
-	WxBoxSizer2 = new wxBoxSizer(wxHORIZONTAL);
-	mainPanel->SetSizer(WxBoxSizer2);
-	mainPanel->SetAutoLayout(true);
+	WxSplitterWindow1->SplitVertically(browserTree,mainPanel,329);
 
-	browserNotebook = new wxNotebook(mainPanel, ID_BROWSERNOTEBOOK, wxPoint(34, 45), wxSize(309, 337));
-	browserNotebook->SetFont(wxFont(8, wxSWISS, wxNORMAL, wxNORMAL, false, wxT("Tahoma")));
-	WxBoxSizer2->Add(browserNotebook, 1, wxEXPAND | wxALL, 5);
-
-	WxSplitterWindow1->SplitVertically(browserTree, mainPanel, 329);
-
 	SetTitle(wxT("Game Resource Browser"));
 	SetIcon(wxNullIcon);
 	
@@ -168,3 +170,11 @@
 void MainForm::browserTreeItemExpanding(wxTreeEvent& event) {
 	ExplorationTree::get()->itemExpanded(event.GetItem());
 }
+
+/*
+ * OnTest0
+ */
+void MainForm::OnTest0(wxCommandEvent& event)
+{
+	// insert your code here
+}

Modified: scummex/branches/gsoc2007-gameresbrowser/src/gui/MainForm.h
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/gui/MainForm.h	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/gui/MainForm.h	2007-07-05 14:53:29 UTC (rev 27923)
@@ -10,23 +10,16 @@
 #ifndef __MAINFORM_h__
 #define __MAINFORM_h__
 
-#include "wx/wxprec.h"
+#include "gui-stdafx.h"
 
-#if defined(__BORLANDC__)
-#pragma hdrstop
-#endif
+#include <wx/frame.h>
 
-#ifndef WX_PRECOMP
-	#include <wx/wx.h>
-	#include <wx/frame.h>
-#endif
-
 //Do not add custom headers between 
 //Header Include Start and Header Include End.
 //wxDev-C++ designer will remove them. Add custom headers after the block.
 ////Header Include Start
-#include <wx/notebook.h>
 #include <wx/menu.h>
+#include <wx/notebook.h>
 #include <wx/panel.h>
 #include <wx/treectrl.h>
 #include <wx/splitter.h>
@@ -53,15 +46,17 @@
 		void OnTest1(wxCommandEvent& event);
 		void browserTreeItemActivated(wxTreeEvent& event);
 		void browserTreeItemExpanding(wxTreeEvent& event);
+	void OnTest0(wxCommandEvent& event);
+	void OnDumpRootObjectChain(wxCommandEvent& event);
 		
 	private:
 		//Do not add custom control declarations between
 		//GUI Control Declaration Start and GUI Control Declaration End.
 		//wxDev-C++ will remove them. Add custom code after the block.
 		////GUI Control Declaration Start
+		wxMenuBar *WxMenuBar1;
 		wxNotebook *browserNotebook;
 		wxBoxSizer *WxBoxSizer2;
-		wxMenuBar *WxMenuBar1;
 		wxPanel *mainPanel;
 		wxTreeCtrl *browserTree;
 		wxSplitterWindow *WxSplitterWindow1;
@@ -76,13 +71,15 @@
 		enum
 		{
 			////GUI Enum Control ID Start
-			ID_BROWSERNOTEBOOK = 1021,
 			ID_FILE_MENU = 1004,
 			ID_OPEN = 1005,
 			ID_EDIT_MENU = 1010,
 			ID_TEST1 = 1011,
 			ID_TEST1_CLEANUP = 1012,
+			ID_TEST0 = 1022,
+			ID_DUMPROOTOBJECTCHAIN = 1023,
 			
+			ID_BROWSERNOTEBOOK = 1021,
 			ID_MAINPANEL = 1017,
 			ID_BROWSERTREE = 1016,
 			ID_WXSPLITTERWINDOW1 = 1014,

Modified: scummex/branches/gsoc2007-gameresbrowser/src/gui/MainForm.wxform
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/gui/MainForm.wxform	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/gui/MainForm.wxform	2007-07-05 14:53:29 UTC (rev 27923)
@@ -115,8 +115,8 @@
           Wx_IDName = 'ID_WXBOXSIZER2'
           Wx_IDValue = 1020
           object browserNotebook: TWxNotebook
-            Left = 34
-            Top = 45
+            Left = 5
+            Top = 5
             Width = 309
             Height = 337
             TabOrder = 0
@@ -279,7 +279,7 @@
       696F6E06044564697412436172726965642E57785F436865636B656408164361
       72726965642E57585F4249544D41502E446174610A0C00000007544269746D61
       700000000016436172726965642E57785F46696C65486973746F727908184361
-      72726965642E5778437573746F6D4D656E754974656D0ABD0200001100000054
+      72726965642E5778437573746F6D4D656E754974656D0A900500001100000054
       5778437573746F6D4D656E754974656D5450463018547778437573746F6D4D65
       6E754974656D577261707065720011436172726965642E49735375624D656E75
       0810436172726965642E4556545F4D656E7506074F6E54657374311243617272
@@ -301,7 +301,30 @@
       12436172726965642E57785F43617074696F6E060D546573743120436C65616E
       757012436172726965642E57785F436865636B65640816436172726965642E57
       585F4249544D41502E446174610A0C00000007544269746D6170000000001643
-      6172726965642E57785F46696C65486973746F72790800000000}
+      6172726965642E57785F46696C65486973746F72790800001100000054577843
+      7573746F6D4D656E754974656D5450463018547778437573746F6D4D656E7549
+      74656D577261707065720011436172726965642E49735375624D656E75081043
+      6172726965642E4556545F4D656E7506074F6E54657374301243617272696564
+      2E57785F456E61626C65640911436172726965642E57785F48696464656E0811
+      436172726965642E57785F49444E616D65060849445F54455354301243617272
+      6965642E57785F494456616C756503FE0318436172726965642E57785F4D656E
+      754974656D5374796C65070F77784D6E7549746D5F4E6F726D616C1243617272
+      6965642E57785F43617074696F6E0605546573743012436172726965642E5778
+      5F436865636B65640816436172726965642E57585F4249544D41502E44617461
+      0A0C00000007544269746D61700000000016436172726965642E57785F46696C
+      65486973746F727908000011000000545778437573746F6D4D656E754974656D
+      5450463018547778437573746F6D4D656E754974656D57726170706572001143
+      6172726965642E49735375624D656E750810436172726965642E4556545F4D65
+      6E7506154F6E44756D70526F6F744F626A656374436861696E12436172726965
+      642E57785F456E61626C65640911436172726965642E57785F48696464656E08
+      11436172726965642E57785F49444E616D65061649445F44554D50524F4F544F
+      424A454354434841494E12436172726965642E57785F494456616C756503FF03
+      18436172726965642E57785F4D656E754974656D5374796C65070F77784D6E75
+      49746D5F4E6F726D616C12436172726965642E57785F43617074696F6E061644
+      756D7020526F6F74204F626A65637420436861696E12436172726965642E5778
+      5F436865636B65640816436172726965642E57585F4249544D41502E44617461
+      0A0C00000007544269746D61700000000016436172726965642E57785F46696C
+      65486973746F72790800000000}
     Wx_HasHistory = False
   end
 end

Modified: scummex/branches/gsoc2007-gameresbrowser/src/gui/PanelProvider.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/gui/PanelProvider.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/gui/PanelProvider.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -1,12 +1,8 @@
 /////////////////////////////////////////////////////////////////////////////
 // PanelProvider.cpp
 
-#include "wx/wxprec.h"
+#include "gui-stdafx.h"
 
-#if defined(__BORLANDC__)
-#pragma hdrstop
-#endif
-
 #include "PanelProvider.h"
 #include "ExplorationTree.h"
 
@@ -24,15 +20,15 @@
 	SLOT_DESC(_nodeSlot, SLOT_DEFAULT)
 END_DESCS
 
-bool PanelProvider::realize(ObjectChain* ochain) {
-	bool res = BObject::realize(ochain);
+bool PanelProvider::doRealize(ObjectChain* ochain) {
+	bool res = BObject::doRealize(ochain);
 	if (!res)
 		return false;
 
 	_ipanelreciever = _panelRecieverSlot->getInterface();
 	_inodeprovider = _nodeSlot->getInterface();
 	if (!_ipanelreciever || !_inodeprovider) {
-		unrealize(ochain);
+		doUnrealize(ochain);
 		return false;
 	}
 
@@ -41,16 +37,13 @@
 	return true;
 }
 
-void PanelProvider::unrealize(ObjectChain* ochain) {
-	if (!isRealized(ochain))
-		return;
-
+void PanelProvider::doUnrealize(ObjectChain* ochain) {
 	ExplorationTree::get()->unregisterPanelProvider(this);
 
 	_panelRecieverSlot->releaseInterface();
 	_nodeSlot->releaseInterface();
 
-	BObject::unrealize(ochain);
+	BObject::doUnrealize(ochain);
 }
 
 std::string PanelProvider::getPanelTitle() {

Modified: scummex/branches/gsoc2007-gameresbrowser/src/gui/PanelProvider.h
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/gui/PanelProvider.h	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/gui/PanelProvider.h	2007-07-05 14:53:29 UTC (rev 27923)
@@ -73,8 +73,8 @@
 
 	SLOTS_DECL
 
-	virtual bool realize(ObjectChain* ochain);
-	virtual void unrealize(ObjectChain* ochain);
+	virtual bool doRealize(ObjectChain* ochain);
+	virtual void doUnrealize(ObjectChain* ochain);
 
 	virtual std::string getPanelTitle();
 	virtual void panelActivate(wxPanel* panel);

Modified: scummex/branches/gsoc2007-gameresbrowser/src/gui/Test1.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/gui/Test1.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/gui/Test1.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -7,16 +7,14 @@
 //
 //---------------------------------------------------------------------------
 
-#include "wx/wxprec.h"
+#include "gui-stdafx.h"
 
-#if defined(__BORLANDC__)
-#pragma hdrstop
-#endif
-
 #include "MainForm.h"
 
 #include "wx/filename.h"
 
+#include <fstream>
+
 #include "plugin.h"
 #include "oregistry.h"
 
@@ -112,5 +110,26 @@
 	rootChain->removeAllObjects();
 }
 
+
 /////////////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////////////
+
+void MainForm::OnDumpRootObjectChain(wxCommandEvent& event)
+{
+	ObjectChain* rootChain = ExplorationTree::get()->getRootObjectChain();
+	ASSERT(rootChain);
+
+	std::fstream file;
+	file.open("rootObjectChain.dot", std::ios_base::out | std::ios_base::trunc);
+	if (file.fail()) {
+		wxMessageBox(_T("Could not create file: rootObjectChain.dot."), _T("DumpRootObjectChain Failed"),
+			wxOK | wxICON_ERROR, this);
+	}
+
+	rootChain->dumpObjectChainStart("RootObjectChain", file);
+	wxMessageBox(_T("Dumped to rootObjectChain.dot."), _T("DumpRootObjectChain"),
+		wxOK | wxICON_INFORMATION, this);
+}
+
+/////////////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////

Modified: scummex/branches/gsoc2007-gameresbrowser/src/gui/VirtualNode.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/gui/VirtualNode.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/gui/VirtualNode.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -1,12 +1,8 @@
 /////////////////////////////////////////////////////////////////////////////
 // VirtualNode.cpp
 
-#include "wx/wxprec.h"
+#include "gui-stdafx.h"
 
-#if defined(__BORLANDC__)
-#pragma hdrstop
-#endif
-
 #include "VirtualNode.h"
 
 #include "ExplorationTree.h"

Copied: scummex/branches/gsoc2007-gameresbrowser/src/gui/gui-stdafx.cpp (from rev 27918, scummex/branches/gsoc2007-gameresbrowser/src/gui/stdafx.cpp)
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/gui/gui-stdafx.cpp	                        (rev 0)
+++ scummex/branches/gsoc2007-gameresbrowser/src/gui/gui-stdafx.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -0,0 +1,28 @@
+/*
+* File:        src/common/dummy.cpp
+* Purpose:     See below
+* Author:      Julian Smart
+* Created:     1993
+* Updated:
+* Copyright:   (c) 1993, AIAI, University of Edinburgh
+*/
+
+/* A dummy file to include wx.h. If precompiling wx.h,
+* always start by compiling this and producing the PCH file.
+* Then subsequent source files use the PCH file.
+*
+* If precompiling wx.h for wxWidgets and derived apps,
+* link dummy.obj with your program.
+*
+* This will produce a big PCH file.
+*/
+
+#include "gui-stdafx.h"
+
+//#ifdef __WXMSW__
+//#include "wx/msw/msvcrt.h"
+//#endif
+
+//#ifdef __VISAGECPP__
+//char wxDummyChar = 0;
+//#endif

Modified: scummex/branches/gsoc2007-gameresbrowser/src/gui/guicon.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/gui/guicon.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/gui/guicon.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -1,11 +1,7 @@
 //Listing 1: guicon.cpp -- A console redirection function
 
-#include "wx/wxprec.h"
+#include "gui-stdafx.h"
 
-#if defined(__BORLANDC__)
-#pragma hdrstop
-#endif
-
 #ifndef _MSC_VER
 
 void RedirectIOToConsole() {

Deleted: scummex/branches/gsoc2007-gameresbrowser/src/gui/stdafx.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/gui/stdafx.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/gui/stdafx.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -1,32 +0,0 @@
-/*
-* File:        src/common/dummy.cpp
-* Purpose:     See below
-* Author:      Julian Smart
-* Created:     1993
-* Updated:
-* Copyright:   (c) 1993, AIAI, University of Edinburgh
-*/
-
-/* A dummy file to include wx.h. If precompiling wx.h,
-* always start by compiling this and producing the PCH file.
-* Then subsequent source files use the PCH file.
-*
-* If precompiling wx.h for wxWidgets and derived apps,
-* link dummy.obj with your program.
-*
-* This will produce a big PCH file.
-*/
-
-#include "wx/wxprec.h"
-
-#ifdef __BORLANDC__
-#pragma hdrstop
-#endif
-
-#ifdef __WXMSW__
-#include "wx/msw/msvcrt.h"
-#endif
-
-#ifdef __VISAGECPP__
-char wxDummyChar = 0;
-#endif

Modified: scummex/branches/gsoc2007-gameresbrowser/src/plugins/BMPParser.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/plugins/BMPParser.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/plugins/BMPParser.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -1,7 +1,7 @@
 /////////////////////////////////////////////////////////////////////////////
 // BMPParser.cpp
 
-#include "stdafx.h"
+#include "plugins-stdafx.h"
 
 #include "BMPParser.h"
 

Deleted: scummex/branches/gsoc2007-gameresbrowser/src/plugins/BitmapPanel.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/plugins/BitmapPanel.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/plugins/BitmapPanel.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -1,41 +0,0 @@
-/////////////////////////////////////////////////////////////////////////////
-// BitmapPanel.cpp
-
-// For compilers that support precompilation, includes "wx/wx.h".
-#include "wx/wxprec.h"
-
-#ifdef __BORLANDC__
-#pragma hdrstop
-#endif
-
-#include "BitmapPanel.h"
-
-/////////////////////////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////////////////////////
-
-BEGIN_EVENT_TABLE(BitmapPanel, wxPanel)
-	EVT_PAINT(BitmapPanel::OnPaint)
-	//EVT_ERASE_BACKGROUND(BitmapPanel::OnEraseBackground)
-	//EVT_LEFT_DCLICK(BitmapPanel::OnSave)
-END_EVENT_TABLE()
-
-/////////////////////////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////////////////////////
-
-BitmapPanel::BitmapPanel(wxPanel *parent, const wxBitmap& bitmap)
-	: wxPanel(parent), _bitmap(bitmap) {
-	SetClientSize(bitmap.GetWidth(), bitmap.GetHeight());
-}
-
-void BitmapPanel::OnPaint(wxPaintEvent& WXUNUSED(event)) {
-	wxPaintDC dc( this );
-	dc.DrawBitmap( _bitmap, 0, 0, true /* use mask */ );
-}
-
-//TODO: draw a checkboard
-/*void BitmapPanel::OnEraseBackground(wxEraseEvent& WXUNUSED(event)) {
-// do nothing here to be able to see how transparent images are shown
-}*/
-
-/////////////////////////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////////////////////////

Deleted: scummex/branches/gsoc2007-gameresbrowser/src/plugins/BitmapPanel.h
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/plugins/BitmapPanel.h	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/plugins/BitmapPanel.h	2007-07-05 14:53:29 UTC (rev 27923)
@@ -1,42 +0,0 @@
-/////////////////////////////////////////////////////////////////////////////
-// BitmapPanel.h
-
-#ifndef _BITMAP_PANEL_H_
-#define _BITMAP_PANEL_H_
-
-// For compilers that support precompilation, includes "wx/wx.h".
-#include "wx/wxprec.h"
-
-#ifdef __BORLANDC__
-#pragma hdrstop
-#endif
-
-#ifndef WX_PRECOMP
-#include "wx/wx.h"
-#endif
-
-#include "wx/panel.h"
-
-/////////////////////////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////////////////////////
-
-class BitmapPanel : public wxPanel
-{
-public:
-	BitmapPanel(wxPanel *parent, const wxBitmap& bitmap);
-
-	void OnPaint(wxPaintEvent& event);
-
-	//TODO: draw a checkboard
-	//void OnEraseBackground(wxEraseEvent& event);
-
-private:
-	wxBitmap _bitmap;
-
-	DECLARE_EVENT_TABLE()
-};
-
-/////////////////////////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////////////////////////
-
-#endif // _BITMAP_PANEL_H_

Modified: scummex/branches/gsoc2007-gameresbrowser/src/plugins/Directories.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/plugins/Directories.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/plugins/Directories.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -1,7 +1,7 @@
 /////////////////////////////////////////////////////////////////////////////
 // Directories.cpp
 
-#include "stdafx.h"
+#include "plugins-stdafx.h"
 
 #include "Directories.h"
 

Modified: scummex/branches/gsoc2007-gameresbrowser/src/plugins/DiskFileProvider.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/plugins/DiskFileProvider.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/plugins/DiskFileProvider.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -1,7 +1,7 @@
 /////////////////////////////////////////////////////////////////////////////
 // DiskFileProvider.cpp
 
-#include "stdafx.h"
+#include "plugins-stdafx.h"
 
 #include "DiskFileProvider.h"
 #include "common/simplefile.h"

Modified: scummex/branches/gsoc2007-gameresbrowser/src/plugins/FileTypeRecognizer.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/plugins/FileTypeRecognizer.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/plugins/FileTypeRecognizer.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -1,7 +1,7 @@
 /////////////////////////////////////////////////////////////////////////////
 // FileTypeRecognizer.cpp
 
-#include "stdafx.h"
+#include "plugins-stdafx.h"
 
 #include "FileTypeRecognizer.h"
 

Modified: scummex/branches/gsoc2007-gameresbrowser/src/plugins/GUIIntf.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/plugins/GUIIntf.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/plugins/GUIIntf.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -1,7 +1,7 @@
 /////////////////////////////////////////////////////////////////////////////
 // GUIIntf.cpp
 
-#include "stdafx.h"
+#include "plugins-stdafx.h"
 
 #include "GUIIntf.h"
 

Modified: scummex/branches/gsoc2007-gameresbrowser/src/plugins/VirtualNode.h
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/plugins/VirtualNode.h	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/plugins/VirtualNode.h	2007-07-05 14:53:29 UTC (rev 27923)
@@ -118,6 +118,12 @@
 	bool isTaken() {
 		return _taken > 0;
 	}
+
+	virtual std::string dumpName() {
+		if (!_ifile)
+			return "VirtualFile-NULL_ifile";
+		return _ifile->getName();
+	}
 };
 
 /////////////////////////////////////////////////////////////////////////////
@@ -154,6 +160,12 @@
 	bool isTaken() {
 		return _taken > 0;
 	}
+
+	virtual std::string dumpName() {
+		if (!_idirectory)
+			return "VirtualDirectory-NULL_idirectory";
+		return _idirectory->getName();
+	}
 };
 
 /////////////////////////////////////////////////////////////////////////////

Modified: scummex/branches/gsoc2007-gameresbrowser/src/plugins/ftregistry.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/plugins/ftregistry.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/plugins/ftregistry.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -5,7 +5,7 @@
 // Plugins are registered into FileTypeRegistry by ObjectRegistry.
 //
 
-#include "stdafx.h"
+#include "plugins-stdafx.h"
 
 #include "ftregistry.h"
 

Copied: scummex/branches/gsoc2007-gameresbrowser/src/plugins/plugins-stdafx.cpp (from rev 27918, scummex/branches/gsoc2007-gameresbrowser/src/plugins/stdafx.cpp)
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/plugins/plugins-stdafx.cpp	                        (rev 0)
+++ scummex/branches/gsoc2007-gameresbrowser/src/plugins/plugins-stdafx.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// PinSlot.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "plugins-stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file

Copied: scummex/branches/gsoc2007-gameresbrowser/src/plugins/plugins-stdafx.h (from rev 27918, scummex/branches/gsoc2007-gameresbrowser/src/plugins/stdafx.h)
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/plugins/plugins-stdafx.h	                        (rev 0)
+++ scummex/branches/gsoc2007-gameresbrowser/src/plugins/plugins-stdafx.h	2007-07-05 14:53:29 UTC (rev 27923)
@@ -0,0 +1,29 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently, but
+// are changed infrequently
+//
+
+#pragma once
+
+
+//#define WIN32_LEAN_AND_MEAN		// Exclude rarely-used stuff from Windows headers
+//#include <stdio.h>
+//#include <tchar.h>
+
+
+
+// TODO: reference additional headers your program requires here
+
+#include "core-stdafx.h"
+
+#include <wx/wxprec.h>
+
+#ifndef WX_PRECOMP
+#include <wx/wx.h>
+#endif
+
+#include "pinslot.h"
+#include "plugin.h"
+#include "ochain.h"
+#include "oregistry.h"
+

Deleted: scummex/branches/gsoc2007-gameresbrowser/src/plugins/stdafx.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/plugins/stdafx.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/plugins/stdafx.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -1,23 +0,0 @@
-// stdafx.cpp : source file that includes just the standard includes
-// PinSlot.pch will be the pre-compiled header
-// stdafx.obj will contain the pre-compiled type information
-
-#include "stdafx.h"
-
-// TODO: reference any additional headers you need in STDAFX.H
-// and not in this file
-
-
-#ifdef __BORLANDC__
-#pragma hdrstop
-#endif
-
-// This one includes crtdbg.h - it has to be included *after* any standard headers,
-// especially STL's.
-//#ifdef __WXMSW__
-//#include "wx/msw/msvcrt.h"
-//#endif
-
-#ifdef __VISAGECPP__
-char wxDummyChar = 0;
-#endif

Deleted: scummex/branches/gsoc2007-gameresbrowser/src/plugins/stdafx.h
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/plugins/stdafx.h	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/plugins/stdafx.h	2007-07-05 14:53:29 UTC (rev 27923)
@@ -1,23 +0,0 @@
-// stdafx.h : include file for standard system include files,
-// or project specific include files that are used frequently, but
-// are changed infrequently
-//
-
-#pragma once
-
-
-//#define WIN32_LEAN_AND_MEAN		// Exclude rarely-used stuff from Windows headers
-//#include <stdio.h>
-//#include <tchar.h>
-
-
-
-// TODO: reference additional headers your program requires here
-
-#include "wx/wxprec.h"
-
-#include "pinslot.h"
-#include "plugin.h"
-#include "ochain.h"
-#include "oregistry.h"
-

Modified: scummex/branches/gsoc2007-gameresbrowser/src/plugins/wx2scstream.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/plugins/wx2scstream.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/plugins/wx2scstream.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -18,17 +18,11 @@
 // ----------------------------------------------------------------------------
 
 // For compilers that support precompilation, includes "wx.h".
-#include "stdafx.h"
+#include "plugins-stdafx.h"
 
-#ifdef __BORLANDC__
-#pragma hdrstop
-#endif
-
 #include "wx2scstream.h"
 
-#ifndef   WX_PRECOMP
 #include  "wx/stream.h"
-#endif  //WX_PRECOMP
 
 //#include <stdlib.h>
 

Modified: scummex/branches/gsoc2007-gameresbrowser/src/samples/pinslot_plugins.cpp
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/src/samples/pinslot_plugins.cpp	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/src/samples/pinslot_plugins.cpp	2007-07-05 14:53:29 UTC (rev 27923)
@@ -4,8 +4,6 @@
 // Shows how to use plugins.
 //
 
-#include "stdafx.h"
-
 #include <stdlib.h>
 #include <iostream>
 

Modified: scummex/branches/gsoc2007-gameresbrowser/vc8/Browser/Browser.vcproj
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/vc8/Browser/Browser.vcproj	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/vc8/Browser/Browser.vcproj	2007-07-05 14:53:29 UTC (rev 27923)
@@ -45,7 +45,7 @@
 				RuntimeLibrary="3"
 				EnableFunctionLevelLinking="true"
 				UsePrecompiledHeader="2"
-				PrecompiledHeaderThrough="wx/wxprec.h"
+				PrecompiledHeaderThrough="gui-stdafx.h"
 				DebugInformationFormat="4"
 			/>
 			<Tool
@@ -164,7 +164,7 @@
 			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
 			>
 			<File
-				RelativePath="..\..\src\plugins\BitmapPanel.cpp"
+				RelativePath="..\..\src\gui\BitmapPanel.cpp"
 				>
 			</File>
 			<File
@@ -184,6 +184,18 @@
 				>
 			</File>
 			<File
+				RelativePath="..\..\src\gui\gui-stdafx.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
+				</FileConfiguration>
+			</File>
+			<File
 				RelativePath="..\..\src\gui\guicon.cpp"
 				>
 			</File>
@@ -200,18 +212,6 @@
 				>
 			</File>
 			<File
-				RelativePath="..\..\src\gui\stdafx.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						UsePrecompiledHeader="1"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
 				RelativePath="..\..\src\gui\Test1.cpp"
 				>
 			</File>
@@ -226,7 +226,7 @@
 			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
 			>
 			<File
-				RelativePath="..\..\src\plugins\BitmapPanel.h"
+				RelativePath="..\..\src\gui\BitmapPanel.h"
 				>
 			</File>
 			<File
@@ -246,6 +246,10 @@
 				>
 			</File>
 			<File
+				RelativePath="..\..\src\gui\gui-stdafx.h"
+				>
+			</File>
+			<File
 				RelativePath="..\..\src\gui\guicon.h"
 				>
 			</File>

Modified: scummex/branches/gsoc2007-gameresbrowser/vc8/core/core.vcproj
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/vc8/core/core.vcproj	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/vc8/core/core.vcproj	2007-07-05 14:53:29 UTC (rev 27923)
@@ -47,6 +47,7 @@
 				RuntimeLibrary="3"
 				EnableFunctionLevelLinking="true"
 				UsePrecompiledHeader="2"
+				PrecompiledHeaderThrough="core-stdafx.h"
 				WarningLevel="3"
 				Detect64BitPortabilityProblems="true"
 				DebugInformationFormat="4"
@@ -150,6 +151,18 @@
 			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
 			>
 			<File
+				RelativePath="..\..\src\core\core-stdafx.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						UsePrecompiledHeader="1"
+					/>
+				</FileConfiguration>
+			</File>
+			<File
 				RelativePath="..\..\src\core\CoreFileTypes.cpp"
 				>
 			</File>
@@ -181,18 +194,6 @@
 				RelativePath="..\..\src\core\safe_static.cpp"
 				>
 			</File>
-			<File
-				RelativePath="..\..\src\core\stdafx.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						UsePrecompiledHeader="1"
-					/>
-				</FileConfiguration>
-			</File>
 		</Filter>
 		<Filter
 			Name="Header Files"
@@ -200,6 +201,10 @@
 			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
 			>
 			<File
+				RelativePath="..\..\src\core\core-stdafx.h"
+				>
+			</File>
+			<File
 				RelativePath="..\..\src\core\CoreFileTypes.h"
 				>
 			</File>
@@ -260,10 +265,6 @@
 				>
 			</File>
 			<File
-				RelativePath="..\..\src\core\stdafx.h"
-				>
-			</File>
-			<File
 				RelativePath="..\..\src\core\tostring.h"
 				>
 			</File>
@@ -282,6 +283,10 @@
 			Name="common"
 			>
 			<File
+				RelativePath="..\..\src\core\common\common-stdafx.h"
+				>
+			</File>
+			<File
 				RelativePath="..\..\src\core\common\ReadMe.txt"
 				>
 			</File>
@@ -298,10 +303,6 @@
 				>
 			</File>
 			<File
-				RelativePath="..\..\src\core\common\stdafx.h"
-				>
-			</File>
-			<File
 				RelativePath="..\..\src\core\common\stream.cpp"
 				>
 			</File>

Added: scummex/branches/gsoc2007-gameresbrowser/vc8/mkdot.bat
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/vc8/mkdot.bat	                        (rev 0)
+++ scummex/branches/gsoc2007-gameresbrowser/vc8/mkdot.bat	2007-07-05 14:53:29 UTC (rev 27923)
@@ -0,0 +1,4 @@
+ at rem dot -T ps -o gc.ps gc.dot
+
+ at rem for %%F in (debug\*.dot) do dot -Tgif -Gsize=7.5,5 -o %%~dpnF.gif %%F
+for %%F in (debug\*.dot) do dot -Tgif -o %%~dpnF.gif %%F


Property changes on: scummex/branches/gsoc2007-gameresbrowser/vc8/mkdot.bat
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native

Modified: scummex/branches/gsoc2007-gameresbrowser/vc8/plugins/plugins.vcproj
===================================================================
--- scummex/branches/gsoc2007-gameresbrowser/vc8/plugins/plugins.vcproj	2007-07-05 14:35:35 UTC (rev 27922)
+++ scummex/branches/gsoc2007-gameresbrowser/vc8/plugins/plugins.vcproj	2007-07-05 14:53:29 UTC (rev 27923)
@@ -46,6 +46,7 @@
 				BasicRuntimeChecks="3"
 				RuntimeLibrary="3"
 				UsePrecompiledHeader="2"
+				PrecompiledHeaderThrough="plugins-stdafx.h"
 				WarningLevel="3"
 				Detect64BitPortabilityProblems="true"
 				DebugInformationFormat="4"
@@ -181,7 +182,7 @@
 				>
 			</File>
 			<File
-				RelativePath="..\..\src\plugins\stdafx.cpp"
+				RelativePath="..\..\src\plugins\plugins-stdafx.cpp"
 				>
 				<FileConfiguration
 					Name="Debug|Win32"
@@ -219,7 +220,7 @@
 				>
 			</File>
 			<File
-				RelativePath="..\..\src\plugins\stdafx.h"
+				RelativePath="..\..\src\plugins\plugins-stdafx.h"
 				>
 			</File>
 			<File


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list