changeset 18:577f1d378d41

windows C::B projekt fuer trunk
author wuha
date Fri, 03 Oct 2008 18:00:25 +0000
parents 09edaddbcb97
children 2c21cc2d5d5c
files src/core/document.cpp src/core/itemfactory.cpp src/core/objectfactory.cpp src/gui/application.cpp src/gui/main_gui.cpp src/gui/mainwindow.cpp src/gui/scene.cpp src/ogre.cfg src/plugins_win.cfg src/plugins_win_d.cfg
diffstat 10 files changed, 233 insertions(+), 194 deletions(-) [+]
line wrap: on
line diff
--- a/src/core/document.cpp	Fri Oct 03 14:11:12 2008 +0000
+++ b/src/core/document.cpp	Fri Oct 03 18:00:25 2008 +0000
@@ -25,7 +25,7 @@
 Document::Document()
 	: m_special_keys() , m_shortkey_map()
 {
-
+    /*
 	DEBUG5("reading ip");
 	// IP aus Konfigurationsdatei einlesen
 	{
@@ -40,8 +40,10 @@
 		{
 			ERRORMSG("config nicht gefunden");
 		}
-	}
-	
+	}
+	*/
+	strcpy(m_server_ip,"127.0.0.1");
+
 	m_world =0;
 
 	bool network_error = false;
@@ -109,21 +111,21 @@
 void Document::startGame(bool server)
 {
 	m_server = server;
-	
-	
-	
+
+
+
 	m_world = new World(server);
 	m_world->init();
-	
+
 	if (server)
 	{
-		
+
 	}
 	else
 	{
 		ClientNetwork* net = static_cast<ClientNetwork*>(m_world->getNetwork());
 		net->serverConnect(m_server_ip,REQ_PORT);
-		
+
 	}
 	m_state = LOAD_SAVEGAME;
 }
@@ -136,7 +138,7 @@
 	char head[8];
 	int i;
 	char* bp = head;
-	string fname = "../../save/";
+	string fname = "../save/";
 	fname += m_save_file;
 	/*
 	if (m_gui_type == GL_GUI)
@@ -145,7 +147,7 @@
 	}
 	*/
 	DEBUG5("savegame is %s",fname.c_str());
-	
+
 	ifstream file(fname.c_str(),ios::in| ios::binary);
 	if (file.is_open())
 	{
@@ -169,15 +171,15 @@
 		{
 			file.get(data[i]);
 		}
-		
+
 		CharConv cv2((unsigned char*) data,len);
-		
+
 		m_world->handleSavegame(&cv2);
 
 
 		// aktuelle Aktion setzen
 		// TODO: aus dem Savegame einlesen
-		
+
 		/*int n=0;
 		if (c==WorldObje)
 			n=4;
@@ -350,7 +352,7 @@
 
 void Document::onButtonSaveExitClicked ( )
 {
-	
+
 	if (m_state!=SHUTDOWN_REQUEST)
 	{
 		setState(SHUTDOWN_REQUEST);
@@ -359,7 +361,7 @@
 	{
 		setState(SHUTDOWN);
 	}
-	
+
 	m_shutdown_timer =0;
 
 	ClientCommand command;
@@ -388,7 +390,7 @@
 	Player* pl = static_cast<Player*> (m_world->getLocalPlayer());
 	if (pl==0)
 		return;
-	
+
 
 	// herstellen der Koordinaten im Koordinatensystem des Spiels
 	m_gui_state.m_clicked_x =x;
@@ -409,10 +411,10 @@
 	command.m_id=0;
 
 	int id = getObjectAt(x,y);
-	
+
 	m_gui_state.m_clicked_object_id = id;
 	command.m_id =id;
-	
+
 	command.m_number=0;
 
 	if (command.m_id!=0)
@@ -456,17 +458,17 @@
 	DEBUG4("angeklickte Koordinaten: %f %f",x,y);
 
 	//TODO: suchen welches objekt angeklickt wurde
-	
+
 	m_gui_state.m_clicked_object_id=0;
 	command.m_id=0;
-	
-	
+
+
 	int id = getObjectAt(x,y);
 	if (getGUIState()->m_cursor_object_id != 0)
 	{
 		id = getGUIState()->m_cursor_object_id;
 	}
-	
+
 	m_gui_state.m_clicked_object_id = id;
 	command.m_id =id;
 	command.m_number=0;
@@ -476,7 +478,7 @@
 	{
 		command.m_id=0;
 	}
-	
+
 	if (command.m_id!=0)
 	{
 		DEBUG5("angeklicktes Objekt %i",command.m_id);
@@ -487,7 +489,7 @@
 		// Item angeklickt
 		command.m_action = Action::TAKE_ITEM;
 		command.m_id = m_gui_state.m_cursor_item_id;
-		
+
 		DEBUG5("clicked at item %i",m_gui_state.m_cursor_item_id);
 	}
 
@@ -503,16 +505,16 @@
 	ServerWObject* pl = m_world->getLocalPlayer();
 	if (pl==0)
 		return 0;
-	
+
 	// Region in der sich der lokale Spieler befindet
 	Region* reg = pl->getRegion();
 	if (reg ==0)
 		return 0;
-	
+
 	ServerWObject* obj = reg->getSWObjectAt(x,y);
 	if (obj != 0)
 		return obj->getId();
-	
+
 	return 0;
 
 }
@@ -530,12 +532,12 @@
 {
 	ClientCommand command;
 	command.m_button = BUTTON_PARTY_ACCEPT;
-	
+
 	// Party in der der Spieler Mitglied ist
 	Party* party = getParty();
 	if (party ==0)
 		return;
-	
+
 	if (party->getNrCandidates() > cnr)
 	{
 		command.m_id = party->getCandidates()[cnr];
@@ -618,7 +620,7 @@
 	{
 
 		getGUIState()->m_shown_windows &= ~INVENTORY;
-		
+
 		// der lokale Spieler
 		Player* pl = static_cast<Player*>( m_world->getLocalPlayer());
 		if (pl==0)
@@ -715,14 +717,14 @@
 		installShortkey(m_gui_state.m_pressed_key,(ShortkeyDestination) (USE_SKILL_LEFT+act));
 		return;
 	}
-	
-	
+
+
 	// wenn kein Spieler gesetzt ist, dann keine Faehigkeit setzen
 	// der lokale Spieler
 	Player* player = static_cast<Player*>(m_world->getLocalPlayer());
 	if (player==0)
 		return;
-	
+
 
 	int acti = (int) act;
 	Action::ActionInfo* aci = Action::getActionInfo(act);
@@ -767,7 +769,7 @@
 	Player* player = static_cast<Player*>(m_world->getLocalPlayer());
 	if (player==0)
 		return;
-	
+
 	int acti = (int) act;
 	Action::ActionInfo* aci = Action::getActionInfo(act);
 
@@ -799,7 +801,7 @@
 
 	// der lokale Spieler
 	Player* player = static_cast<Player*>(m_world->getLocalPlayer());
-	
+
 	if (player !=0 )
 	{
 		// Struktur mit Informationen zur Aktion
@@ -953,9 +955,9 @@
 	if (m_world != 0)
 	{
 		m_world->update(time);
-		
+
 	}
-	
+
 	DEBUG5("modified is %i",m_modified);
 	DEBUG5("State is %i",m_state);
 	NetStatus status;
@@ -977,9 +979,9 @@
 			if (status == NET_REJECTED || status == NET_SLOTS_FULL || status == NET_TIMEOUT)
 			{
 				// Verbindung abgelehnt
-				m_state = SHUTDOWN;	
+				m_state = SHUTDOWN;
 			}
-			
+
 
 		case RUNNING:
 			updateContent(time);
@@ -1004,8 +1006,8 @@
 			// Spielwelt abschalten
 			delete m_world;
 			m_world =0;
-			
-			
+
+
 			m_state = SHUTDOWN;
 			break;
 
@@ -1025,7 +1027,7 @@
 		DEBUG5("no local player");
 		return;
 	}
-	
+
 	if (m_gui_state.m_left_mouse_hold)
 	{
 		DEBUG5("linke Maustaste festgehalten");
@@ -1073,9 +1075,9 @@
 		}
 
 	}
-	
-	
-	
+
+
+
 	/*
 	ServerHeader headerp;
 
@@ -1113,10 +1115,10 @@
 
 		if (headerp.m_content == PTYPE_S2C_DATA)
 		{
-			
+
 			DEBUG5("got data pkg");
 			handleDataPkg(cv,&headerp);
-			
+
 		}
 		else if (headerp.m_content == PTYPE_S2C_SAVEGAME)
 		{
@@ -1143,9 +1145,9 @@
 			// TODO: do something to fix this....
 
 		}
-		
+
 		delete cv;
-		
+
 		m_network_info.m_network->deallocatePacket(data);
 
 	}
--- a/src/core/itemfactory.cpp	Fri Oct 03 14:11:12 2008 +0000
+++ b/src/core/itemfactory.cpp	Fri Oct 03 18:00:25 2008 +0000
@@ -156,7 +156,7 @@
 			modchance[RESIST_ICE_MOD]=0.033;
 			modchance[RESIST_AIR_MOD]=0.033;
 			modchance[ATTACK_SPEED_MOD]=0.2;
-					
+
 			if (subtype =="leath_gl")
 			{
 				min_enchant = 20;
@@ -191,10 +191,10 @@
 					item->m_price = 45;
 					item->m_size = Item::BIG;
 					item->m_equip_effect->m_dblock = 20;
-			
+
 			}
-			
-			
+
+
 		}
 		else if (type == Item::RING)
 		{
@@ -207,7 +207,7 @@
 			modchance[DAMAGE_MULT_FIRE_MOD]=0.05;
 			modchance[DAMAGE_MULT_ICE_MOD]=0.05;
 			modchance[DAMAGE_MULT_AIR_MOD]=0.05;
-				
+
 			min_enchant = min(200.0,magic_power*0.2);
 			max_enchant= min(850.0,magic_power*1.5);
 			item->m_price = 350;
@@ -224,7 +224,7 @@
 			min_enchant = min(200.0,magic_power*0.2);
 			max_enchant= min(850.0,magic_power*1.5);
 			item->m_size = Item::SMALL;
-			
+
 		}
 	}
 	else if (type == Item::WEAPON)
@@ -277,7 +277,7 @@
 		}
 		else if (subtype =="wood_bow")
 		{
-				
+
 				min_enchant = 50;
 				max_enchant= 200;
 				item->m_price = 100;
@@ -608,10 +608,10 @@
 	// Items aus XML Laden
 	ItemLoader* itemloader = 0;
 	itemloader = new ItemLoader;
-	
+
 	list<ItemBasicData*>* item_list;
-	item_list = itemloader->loadItemBasicData("../../data/items.xml");
-	
+	item_list = itemloader->loadItemBasicData("../data/items.xml");
+
 	if (item_list != 0)
 	{
 		list<ItemBasicData*>::iterator iter = item_list->begin();
@@ -622,7 +622,7 @@
 			cout << "m_useup_effect" << " = " << (*iter)->m_useup_effect << endl;
 			cout << "m_equip_effect" << " = " << (*iter)->m_equip_effect << endl;
 			cout << "m_weapon_attr" << " = " << (*iter)->m_weapon_attr << endl;
-			
+
 			cout << "     m_damage.m_min_damage[Damage::PHYSICAL]" << " = " << (*iter)->m_weapon_attr->m_damage.m_min_damage[Damage::PHYSICAL] << endl;
 			cout << "     m_damage.m_max_damage[Damage::PHYSICAL]" << " = " << (*iter)->m_weapon_attr->m_damage.m_min_damage[Damage::PHYSICAL] << endl;
 			cout << "     m_damage.m_min_damage[Damage::AIR]" << " = " << (*iter)->m_weapon_attr->m_damage.m_min_damage[Damage::AIR] << endl;
@@ -634,7 +634,7 @@
 			cout << "     m_attack_range" << " = " << (*iter)->m_weapon_attr->m_attack_range << endl;
 			cout << "     m_two_handed" << " = " << (*iter)->m_weapon_attr->m_two_handed << endl;
 			cout << "     m_dattack_speed" << " = " << (*iter)->m_weapon_attr->m_dattack_speed << endl;
-			
+
 			cout << "m_level_req" << " = " << static_cast<int>((*iter)->m_level_req) << endl;
 			cout << "m_char_req" << " = " << static_cast<int>((*iter)->m_char_req) << endl;
 			cout << "m_subtype" << " = " << (*iter)->m_subtype << endl;
@@ -649,11 +649,11 @@
 			*iter++;
 		}
 	}
-	
-	
+
+
 	list<DropChanceData*>* drop_chance_list;
-	drop_chance_list = itemloader->loadDropChanceData("../../data/items.xml");
-	
+	drop_chance_list = itemloader->loadDropChanceData("../data/items.xml");
+
 	if (drop_chance_list != 0)
 	{
 		// Daten auslesen und registrieren
@@ -663,7 +663,7 @@
 			registerItemDrop( (*iter)->m_type, (*iter)->m_subtype, DropChance( (*iter)->m_level, (*iter)->m_probability, (*iter)->m_size) );
 			*iter++;
 		}
-		
+
 		// Liste aus Speicher loeschen
 		iter = drop_chance_list->begin();
 		while (iter != drop_chance_list->end())
@@ -672,7 +672,7 @@
 			*iter++;
 		}
 	}
-	
+
 	delete item_list;
 	item_list = 0;
 	delete drop_chance_list;
--- a/src/core/objectfactory.cpp	Fri Oct 03 14:11:12 2008 +0000
+++ b/src/core/objectfactory.cpp	Fri Oct 03 18:00:25 2008 +0000
@@ -25,14 +25,14 @@
 	MonsterBasicData* mdata;
 	int i;
 	float p[4];
-	
+
 #ifdef USE_OBJECTLOADER
 	// Objekte bzw. Monster aus XML Laden
 	ObjectLoader* objectloader = 0;
 	objectloader = new ObjectLoader;
 	list<MonsterBasicData*>* monster_list;
-	monster_list = objectloader->loadObjects("../../data/monsters.xml");
-	
+	monster_list = objectloader->loadObjects("../data/monsters.xml");
+
 	if (monster_list != 0)
 	{
 		list<MonsterBasicData*>::iterator forward_iterator = monster_list->begin();
@@ -49,7 +49,7 @@
 			*forward_iterator++;
 		}
 	}
-	
+
 	delete monster_list;
 	monster_list = 0;
 	delete objectloader;
@@ -230,7 +230,7 @@
 	{
 		id = m_world->getValidId();
 	}
-	
+
 	if (type ==WorldObject::TypeInfo::TYPE_PLAYER)
 	{
 		if (subtype == "warrior")
@@ -247,7 +247,7 @@
 		}
 		else if(subtype == "priest")
 		{
-			ret = new Priest( m_world, id );				
+			ret = new Priest( m_world, id );
 		}
 	}
 	else if (type ==WorldObject::TypeInfo::TYPE_MONSTER)
@@ -288,7 +288,7 @@
 		}
 		else if (subtype =="tree")
 		{
-			
+
 				sp->m_type = Shape::CIRCLE;
 				sp->m_radius = 2.8;
 		}
--- a/src/gui/application.cpp	Fri Oct 03 14:11:12 2008 +0000
+++ b/src/gui/application.cpp	Fri Oct 03 18:00:25 2008 +0000
@@ -20,8 +20,12 @@
 	// Ogre Root erzeugen
 	// pluginfile: plugins.cfg
 	// configfile: keines
-	#ifdef WIN32
-        m_ogre_root = new Ogre::Root("plugins_win.cfg", "ogre.cfg");
+	#ifdef WIN32
+        #ifdef DEBUG
+            m_ogre_root = new Ogre::Root("plugins_win_d.cfg", "ogre.cfg");
+        #else
+            m_ogre_root = new Ogre::Root("plugins_win.cfg", "ogre.cfg");
+        #endif
     #else
         m_ogre_root = new Ogre::Root("plugins.cfg", "ogre.cfg");
     #endif
@@ -129,9 +133,9 @@
 		{
         	DEBUG5("overall frame time was %f",ftime*1000);
 		}
-       
+
 	  	timer2.reset();
-		
+
 		update();
 
 		ltime =timer2.getMicroseconds ();
@@ -151,19 +155,19 @@
 		{
 			DEBUG("message pump time was %f",time*1000);
 		}
-		
+
 		timer2.reset();
-		
+
 		// Document aktualisieren
 		m_document->update(ftime*1000);
-		
+
 		ltime =timer2.getMicroseconds ();
 		time = ltime / ( 1000000.0);
 		if (time*1000 > 20)
 		{
 			DEBUG("document update time was %f",time*1000);
 		}
-	
+
 	/*
 		count ++;
 		timesum += time;
@@ -179,11 +183,11 @@
 		try
 		{
 			timer2.reset();
-		
+
 			// View aktualisieren
 			DEBUG5("main window update");
 			m_main_window->update();
-			
+
 			ltime =timer2.getMicroseconds ();
 			time = ltime / ( 1000000.0);
 			if (time*1000 > 20)
@@ -199,7 +203,7 @@
 		timer2.reset();
 		//DEBUG("frame time in s %f",time);
 		m_cegui_system->injectTimePulse(ftime);
-		
+
 		ltime =timer2.getMicroseconds ();
 		time = ltime / ( 1000000.0);
 		if (time*1000 > 20)
@@ -218,10 +222,10 @@
 		{
 	         DEBUG("ogre frame time was %f",time*1000);
 		}
-      
+
 	}
 
-	
+
 
 }
 
@@ -274,23 +278,23 @@
 bool Application::setupResources()
 {
 	DEBUG("initalizing resources");
-	Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../resources/models", "FileSystem", "General");
-	Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../resources/materials/scripts", "FileSystem", "General");
-	Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../resources/materials/textures", "FileSystem", "General");
-	Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../resources/particle", "FileSystem", "General");
+	Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../resources/models", "FileSystem", "General");
+	Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../resources/materials/scripts", "FileSystem", "General");
+	Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../resources/materials/textures", "FileSystem", "General");
+	Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../resources/particle", "FileSystem", "General");
 
 	// CEGUI Resourcen laden
-	Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../resources/gui/configs", "FileSystem", "GUI");
-	Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../resources/gui/fonts", "FileSystem", "GUI");
+	Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../resources/gui/configs", "FileSystem", "GUI");
+	Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../resources/gui/fonts", "FileSystem", "GUI");
 
-	Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../resources/gui/imagesets", "FileSystem", "GUI");
-	Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../resources/gui/layouts", "FileSystem", "GUI");
-	Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../resources/gui/looknfeel", "FileSystem", "GUI");
-	Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../resources/gui/schemes", "FileSystem", "GUI");
+	Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../resources/gui/imagesets", "FileSystem", "GUI");
+	Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../resources/gui/layouts", "FileSystem", "GUI");
+	Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../resources/gui/looknfeel", "FileSystem", "GUI");
+	Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../resources/gui/schemes", "FileSystem", "GUI");
 
-	Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../resources/gui/schemes", "FileSystem", "GUI");
+	Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../resources/gui/schemes", "FileSystem", "GUI");
 
-	Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../save", "FileSystem", "Savegame");
+	Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../save", "FileSystem", "Savegame");
 
 
 #if defined(WIN32)
@@ -301,11 +305,11 @@
 	Ogre::ResourceGroupManager::getSingleton().initialiseResourceGroup("General");
 	Ogre::ResourceGroupManager::getSingleton().initialiseResourceGroup("Savegame");
 	Ogre::ResourceGroupManager::getSingleton().initialiseResourceGroup("GUI");
-	
+
 	Ogre::ResourceGroupManager::getSingleton().loadResourceGroup("General");
 	Ogre::ResourceGroupManager::getSingleton().loadResourceGroup("Savegame");
 	Ogre::ResourceGroupManager::getSingleton().loadResourceGroup("GUI");
-	
+
 
 	// Debugging: Meshes direkt anlegen
 
@@ -408,7 +412,7 @@
 {
 	DEBUG("create document\n");
 	m_document = new Document();
-	
+
 	m_document->installShortkey(OIS::KC_ESCAPE,Document::CLOSE_ALL);
 	m_document->installShortkey(OIS::KC_I,Document::SHOW_INVENTORY);
 	m_document->installShortkey(OIS::KC_C,Document::SHOW_CHARINFO);
--- a/src/gui/main_gui.cpp	Fri Oct 03 14:11:12 2008 +0000
+++ b/src/gui/main_gui.cpp	Fri Oct 03 18:00:25 2008 +0000
@@ -5,11 +5,9 @@
 #if defined(WIN32)
 #include "windows.h"
 
-
-INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
-#else
+#endif
+//INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
 int main (int argc, char *argv[]) {
-#endif
 
 
 	// Applikation anlegen
@@ -24,12 +22,12 @@
 	}
 	else
 	{
-		save = "default.sav";
+		save = "../save/default.sav";
 	}
 	#else
-        save = "default.sav";
+        save = "../save/default.sav";
     #endif
-	
+
 	bool server = true;
 	if (argc>=3)
 	{
@@ -40,14 +38,14 @@
 	}
 	Document* doc = app->getDocument();
 	doc->setSaveFile(save);
-	
+
 	doc->setServer(server);
 	doc->setState(Document::START_GAME);
 	doc->getGUIState()->m_sheet= Document::GAME_SCREEN;
 	doc->getGUIState()->m_shown_windows = Document::NO_WINDOWS;
 
 	// laufen lassen
-	
+
 	try
 	{
 
--- a/src/gui/mainwindow.cpp	Fri Oct 03 14:11:12 2008 +0000
+++ b/src/gui/mainwindow.cpp	Fri Oct 03 18:00:25 2008 +0000
@@ -65,9 +65,9 @@
 	m_window->getCustomAttribute("WINDOW", &hWnd);
 	// OIS mitteilen fuer welches Fenster die Eingaben abgefangen werden sollen
 	pl.insert(OIS::ParamList::value_type("WINDOW", Ogre::StringConverter::toString(hWnd)));
-	pl.insert( std::make_pair(std::string("x11_mouse_grab"), std::string("false") ) ); 
-	pl.insert( std::make_pair(std::string("x11_keyboard_grab"), std::string("false"))); 
-	
+	pl.insert( std::make_pair(std::string("x11_mouse_grab"), std::string("false") ) );
+	pl.insert( std::make_pair(std::string("x11_keyboard_grab"), std::string("false")));
+
 	m_ois = OIS::InputManager::createInputSystem( pl );
 
 	// Maus initialisieren
@@ -2114,7 +2114,7 @@
 		DEBUG("file found %s",it->c_str());
 		//File oeffnen
 
-		file.open(("../../save/"+(*it)).c_str(),ios::in| ios::binary);
+		file.open(("../save/"+(*it)).c_str(),ios::in| ios::binary);
 		if (file.is_open())
 		{
 			savelist->addRow();
@@ -2127,7 +2127,7 @@
 
 			// nicht benoetigte Headerdaten ueberspringen
 			bp = head+7;
-			
+
 			char ctmp[11];
 			ctmp[10] = '\0';
 			strncpy(ctmp,bp,10);
@@ -2496,7 +2496,7 @@
 	std::string name;
 
 	Player* player = m_document->getLocalPlayer();
-	
+
 	// Balken fuer HP
 	CEGUI::ProgressBar* bar = static_cast<CEGUI::ProgressBar*>(win_mgr.getWindow( "HealthProgressBar"));
 	float hperc = player->getDynAttr()->m_health / player->getBaseAttrMod()->m_max_health;
@@ -2517,7 +2517,7 @@
 	bar = static_cast<CEGUI::ProgressBar*>(win_mgr.getWindow( "LeftClickAbilityProgressBar"));
 	timernr =  Action::getActionInfo(player->getLeftAction())->m_timer_nr;
 	perc = player->getTimerPercent(timernr);
-	
+
 	if (bar->getProgress() != perc)
 	{
 		bar->setProgress(perc);
@@ -2571,7 +2571,7 @@
 	CEGUI::WindowManager& win_mgr = CEGUI::WindowManager::getSingleton();
 	CEGUI::Window* label;
 	ostringstream out_stream;
-	
+
 	Player* player = m_document->getLocalPlayer();
 
 	// Label Ruestung
@@ -2658,7 +2658,7 @@
 	{
 		label->setText(out_stream.str());
 	}
-	
+
 	// Label Amulet
 	out_stream.str("");
 	if (equ->getItem(Equipement::AMULET)!=0)
@@ -2783,7 +2783,7 @@
 	Item* item = m_document->getLocalPlayer()->getEquipement()->getItem(pos);
 	if (item ==0)
 		return;
-	
+
 	DEBUG5("setting tool tip for item at %i",pos);
 	CEGUI::WindowManager& win_mgr = CEGUI::WindowManager::getSingleton();
 	CEGUI::Window* label;
@@ -2819,11 +2819,11 @@
 	}
 	label = win_mgr.getWindow(out_stream.str());
 
-	
+
 
 	std::string msg =item->getDescription();
 	label->setTooltipText(msg);
-	
+
 	DEBUG5("Label: %s \ndescription: \n%s",out_stream.str().c_str(),msg.c_str());
 
 	if (pos>= Equipement::SMALL_ITEMS && pos< Equipement::SMALL_ITEMS+10)
@@ -2834,12 +2834,12 @@
 		label = win_mgr.getWindow(out_stream.str());
 		label->setTooltipText(msg);
 	}
-	
+
 }
 
 void MainWindow::updateAbilityTooltip(unsigned int pos)
 {
-	
+
 	if (pos!=Action::NOACTION)
 	{
 		DEBUG5("update tooltip for %i", pos);
@@ -2857,13 +2857,13 @@
 		label->setTooltipText(tooltip);
 
 	}
-	
+
 }
 
 void MainWindow::updateObjectInfo()
 {
 	Player* player = m_document->getLocalPlayer();
-	
+
 	// Ogre Name des Objektes auf das der Mauszeiger zeigt
 	std::string objname = "";
 
@@ -2972,7 +2972,7 @@
 		ServerWObject* cwo;
 		cwo = m_document->getWorld()->getSWObject(id,rid);
 		Creature* cr;
-		
+
 		if (cwo !=0)
 		{
 		// Objekt existiert
@@ -3030,7 +3030,7 @@
 			int id;
 			stream >> id;
 			string_stream<<name;
-			
+
 			DEBUG5("item hover id %i",id);
 
 			Item* itm = player->getRegion()->getItem(id);
@@ -3330,23 +3330,23 @@
 
 bool MainWindow::onItemHover(const CEGUI::EventArgs& evt)
 {
-	
+
 	const CEGUI::MouseEventArgs& we =
 			static_cast<const CEGUI::MouseEventArgs&>(evt);
 	unsigned int id = we.window->getID();
 	updateItemTooltip(id);
-	
+
 }
 
 bool MainWindow::onAbilityHover(const CEGUI::EventArgs& evt)
 {
-	
+
 	const CEGUI::MouseEventArgs& we =
 			static_cast<const CEGUI::MouseEventArgs&>(evt);
 	unsigned int id = we.window->getID();
 	DEBUG5("mouse entered Ability %i",id);
 	updateAbilityTooltip(id);
-	
+
 }
 
 bool MainWindow::onIncreaseAttributeButtonClicked(const CEGUI::EventArgs& evt)
@@ -3404,7 +3404,7 @@
 	DEBUG("start single player game");
 	// Spieler ist selbst der Host
 	m_document->setServer(true);
-	
+
 	// Verbindung aufbauen
 	m_document->setState(Document::START_GAME);
 }
@@ -3426,7 +3426,7 @@
 	// Spieler ist selbst der Host
 	m_document->setServer(true);
 
-	
+
 	// Verbindung aufbauen
 	m_document->setState(Document::START_GAME);
 }
--- a/src/gui/scene.cpp	Fri Oct 03 14:11:12 2008 +0000
+++ b/src/gui/scene.cpp	Fri Oct 03 18:00:25 2008 +0000
@@ -29,7 +29,7 @@
 	m_projectiles = new map<int,std::string>;
 
 	registerMeshes();
-	
+
 	m_region_id = -1;
 
 }
@@ -133,10 +133,10 @@
 	// Item Meshes aus XML-Datei Laden
 	ItemLoader* itemloader = 0;
 	itemloader = new ItemLoader;
-	
+
 	list<ItemMeshData*>* item_mesh_list;
-	item_mesh_list = itemloader->loadItemMeshData("../../data/items.xml");
-	
+	item_mesh_list = itemloader->loadItemMeshData("../data/items.xml");
+
 	if (item_mesh_list != 0)
 	{
 		// Daten auslesen und registrieren
@@ -146,7 +146,7 @@
 			registerItem((*iter)->m_subtype, (*iter)->m_mesh);
 			*iter++;
 		}
-		
+
 		// Liste aus Speicher loeschen
 		iter = item_mesh_list->begin();
 		while (iter != item_mesh_list->end())
@@ -155,7 +155,7 @@
 			*iter++;
 		}
 	}
-	
+
 	delete item_mesh_list;
 	item_mesh_list = 0;
 	delete itemloader;
@@ -266,20 +266,20 @@
 void Scene::update(float ms)
 {
 	DEBUG5("update scene");
-	
+
 	// Spielerobjekt
 	Player* player = m_document->getLocalPlayer();
-	
+
 	if (player ==0)
 		return;
 	if (player->getRegion() ==0)
 		return;
-	
+
 	// Nummer der region in der sich der Spieler befindet
 	short region_nr = player->getGridLocation()->m_region;
-	
-	
-	
+
+
+
 
 	if (region_nr != m_region_id)
 	{
@@ -290,9 +290,9 @@
 			createScene();
 
 			m_document->setModified(m_document->getModified() & ~Document::REGION_MODIFIED);
-			
+
 			m_region_id = region_nr;
-		
+
 		}
 		else
 		{
@@ -300,43 +300,43 @@
 			return;
 		}
 	}
-	
+
 	// Koordinaten des Spielers
 	float x=player->getGeometry()->m_shape.m_coordinate_x;
 	float y=player->getGeometry()->m_shape.m_coordinate_y;
 
-	
+
 	// Kamera auf Spieler ausrichten
 	m_camera->setPosition(Ogre::Vector3(x*50, 1000, y*50+300));
 	m_camera->lookAt(Ogre::Vector3(x*50,0,y*50));
-	
+
 	// alle Objekte aktualisieren
 	updateObjects();
-	
+
 
 	DEBUG5("update items");
 	// alle Items aktualisieren
 	updateItems();
-	
+
 
 	updateProjectiles();
-	
+
 }
 
 void  Scene::updateObjects()
 {
 	Timer timer;
 	timer.start();
-	
+
 	DEBUG5("update objects");
 	// Spielerobjekt
 	Player* player = m_document->getLocalPlayer();
-	
+
 	// aktuelle Liste der Objekte holen
 	float x,y;
 	x = player->getGeometry()->m_shape.m_coordinate_x;
 	y = player->getGeometry()->m_shape.m_coordinate_y;
-	
+
 	list<ServerWObject*> objs;
 	ServerWObject* obj;
 	list<ServerWObject*>::iterator it;
@@ -346,14 +346,14 @@
 	s.m_type = Shape::RECT;
 	s.m_extent_x = 20;
 	s.m_extent_y = 20;
-	
+
 	ServerWObject* wo, *cwo;
 	Creature* cr;
-	
+
 	player->getRegion()->getSWObjectsInShape(&s,&objs, WorldObject::Geometry::LAYER_ALL,WorldObject::CREATURE);
 	player->getRegion()->getSWObjectsInShape(&s,&objs, WorldObject::Geometry::LAYER_ALL,WorldObject::DEAD);
-	
-	
+
+
 	// Liste der aktuell in der Szene vorhanden Objekte durchmustern
 	map<int, string>::iterator it2;
 	int id;
@@ -375,7 +375,7 @@
 			++it2;
 		}
 	}
-	
+
 
 	// aller Objekte im Dokument durchmustern
 	for (it = objs.begin();it != objs.end(); ++it)
@@ -384,13 +384,13 @@
 		// Darstellung fuer das Objekt aktualisieren
 		updateObject(obj);
 	}
-	
+
 }
 
 void Scene::updateItems()
 {
 	Player* player = m_document->getLocalPlayer();
-	
+
 	// Liste der aktuell in der Szene vorhandenen Items durchmustern
 	map<int,DropItem*>* itms;
 	map<int,DropItem*>::iterator it;
@@ -441,10 +441,10 @@
 			// Koordinaten des Objektes
 			float x=di->m_x;
 			float y=di->m_y;
-			
+
 			// Ortsvektor des Objektes
 			Ogre::Vector3 vec(x*25,0,y*25);
-			
+
 			// an die richtige Stelle verschieben
 			m_scene_manager->getSceneNode(node_name)->setPosition(vec);
 		}
@@ -496,13 +496,13 @@
 	std::string mod_name;
 	int i;
 	Ogre::ParticleSystem *mod_part;
-	
-	
+
+
 	// Animation anpassen
 	// Status der Animation
 	Ogre::AnimationState* anim;
     Ogre::AnimationStateSet* anim_set;
-	
+
 	DEBUG5("animation");
 	// Aktion des Objeks
 	Creature* cr=0;
@@ -518,25 +518,25 @@
 		{
 			anim_name = animations[cr->getAction()->m_animation_number % animations.size()];
 		}
-		
+
 		obj_ent = m_scene_manager->getEntity(name);
 		if (obj_ent == 0)
 		{
 				ERRORMSG("object %s not found",name.c_str());
 		}
-		
+
 		if (anim_name != "")
 		{
 			// status der Animation setzen
 			//Iterator ueber alle aktiven Animationen
 			anim_set = obj_ent->getAllAnimationStates();
-	
+
 			// Testen ob das Objekt animiert ist
 			if (anim_set != 0)
 			{
-	
+
 				Ogre::ConstEnabledAnimationStateIterator anim_it = anim_set->getEnabledAnimationStateIterator();
-	
+
 				//deaktiviert alle animationen, die gerade nicht verwendet werden
 				while(anim_it.hasMoreElements())
 				{
@@ -545,14 +545,14 @@
 					//if(anim->getAnimationName!=anim_name)
 						anim->setEnabled(false);
 				}
-	
+
 				try
 				{
 					if (anim_set->hasAnimationState(anim_name))
 					{
 						anim = obj_ent->getAnimationState(anim_name);
 						anim->setEnabled(true);
-	
+
 						// prozentsatz zu dem die Animation fortgeschritten ist
 						float perc = cr->getAction()->m_elapsed_time / cr->getAction()->m_time  ;
 						DEBUG5("setting animation %s to %f",anim_name.c_str(),perc);
@@ -570,7 +570,7 @@
 			//keine Animation
 		}
 	}
-	
+
 	DEBUG5("extra meshes");
     // angehaengte Meshes an die verwendeten Items anpassen
     if (obj->getTypeInfo()->m_type == WorldObject::TypeInfo::TYPE_PLAYER)
@@ -682,31 +682,31 @@
 		{
 			num.str("");
 			num <<"mod"<< i;
-	
+
 			mod_name = name + num.str();
-			
+
 			mod_part = m_scene_manager->getParticleSystem(mod_name);
 			vis = mod_part->isVisible();
-	
+
 			if ( (status_mods[i]>0) ^ vis)
 			{
 				mod_part->setVisible(!vis);
 			}
 		}
-	
+
 		// weitere Effekte anpassen
 		float* effects =  cr->getDynAttr()->m_effect_time;
-	
+
 		for (i=0;i<NR_EFFECTS;i++)
 		{
 			num.str("");
 			num <<"effect"<< i;
-	
+
 			mod_name = name + num.str();
-	
+
 			mod_part = m_scene_manager->getParticleSystem(mod_name);
 			vis = mod_part->isVisible();
-	
+
 			if ( (effects[i]>0) ^ vis)
 			{
 				mod_part->setVisible(!vis);
@@ -729,7 +729,7 @@
 {
 	Timer timer;
 	timer.start();
-	
+
 	DEBUG5("creating object %s",name.c_str());
 	std::string node_name = name + "Node";
 
@@ -861,7 +861,7 @@
 void Scene::updateProjectiles()
 {
 	Player* player = m_document->getLocalPlayer();
-	
+
 	map<int,DmgProjectile*>* projectiles;
 	map<int,DmgProjectile*>::iterator it;
 	projectiles = player->getRegion()->getProjectiles();
@@ -1158,17 +1158,17 @@
 	clearObjects();
 
 	// Liste der statischen Objekte
-	list<ServerWObject*> stat_objs; 
-	
+	list<ServerWObject*> stat_objs;
+
 	Region* region = m_document->getLocalPlayer()->getRegion();
-	
+
 	Shape s;
 	s.m_coordinate_x = 0;
 	s.m_coordinate_y = 0;
 	s.m_type = Shape::RECT;
 	s.m_extent_x = 10000;
 	s.m_extent_y = 10000;
-	
+
 	region->getSWObjectsInShape(&s,&stat_objs, WorldObject::Geometry::LAYER_ALL,WorldObject::FIXED);
 	list<ServerWObject*>::iterator it;
 	std::string name;
@@ -1177,7 +1177,7 @@
 		name = (*it)->getNameId();
 
 		DEBUG5("create static object %s",name.c_str());
-		
+
 		// Objekt in der Szene erzeugen
 		createObject((*it),name,true);
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ogre.cfg	Fri Oct 03 18:00:25 2008 +0000
@@ -0,0 +1,7 @@
+Render System=OpenGL Rendering Subsystem
+
+[OpenGL Rendering Subsystem]
+FSAA=0
+Full Screen=No
+RTT Preferred Mode=PBuffer
+Video Mode=940 x 705
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/plugins_win.cfg	Fri Oct 03 18:00:25 2008 +0000
@@ -0,0 +1,14 @@
+# Defines plugins to load
+
+# Define plugin folder
+PluginFolder=..\lib
+
+# Define plugins
+Plugin=RenderSystem_Direct3D9
+Plugin=RenderSystem_GL
+Plugin=Plugin_ParticleFX
+Plugin=Plugin_BSPSceneManager
+Plugin=Plugin_OctreeSceneManager
+Plugin=Plugin_CgProgramManager
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/plugins_win_d.cfg	Fri Oct 03 18:00:25 2008 +0000
@@ -0,0 +1,14 @@
+# Defines plugins to load
+
+# Define plugin folder
+PluginFolder=..\lib
+
+# Define plugins
+Plugin=RenderSystem_Direct3D9_d
+Plugin=RenderSystem_GL_d
+Plugin=Plugin_ParticleFX_d
+Plugin=Plugin_BSPSceneManager_d
+Plugin=Plugin_OctreeSceneManager_d
+Plugin=Plugin_CgProgramManager_d
+
+