You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
(11) |
Apr
(47) |
May
(14) |
Jun
|
Jul
(73) |
Aug
(4) |
Sep
(2) |
Oct
(60) |
Nov
(48) |
Dec
(66) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
|
Feb
(1) |
Mar
(27) |
Apr
(82) |
May
(89) |
Jun
(91) |
Jul
(44) |
Aug
(53) |
Sep
(113) |
Oct
(20) |
Nov
(37) |
Dec
(10) |
2008 |
Jan
|
Feb
(2) |
Mar
|
Apr
(2) |
May
(21) |
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2009 |
Jan
(76) |
Feb
(89) |
Mar
(52) |
Apr
(11) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
(27) |
2010 |
Jan
(11) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(9) |
Sep
|
Oct
|
Nov
|
Dec
(14) |
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(2) |
Sep
(11) |
Oct
(3) |
Nov
|
Dec
|
2013 |
Jan
(4) |
Feb
|
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <ult...@us...> - 2007-04-30 19:56:03
|
Revision: 427 http://svn.sourceforge.net/opengate/?rev=427&view=rev Author: ultrasick Date: 2007-04-30 12:56:03 -0700 (Mon, 30 Apr 2007) Log Message: ----------- stacked the color and light of the squid thruster in 1 file because 2 files made a bad looking blur effect. Modified Paths: -------------- branches/ogsector/data/materials/squadrok.material Added Paths: ----------- branches/ogsector/data/ships/squadrok/thruster.png trunk/data/ships/squadrok/thruster.png Removed Paths: ------------- branches/ogsector/data/textures/squadrokThrusterColor.png branches/ogsector/data/textures/squadrokThrusterLight.png trunk/data/ships/squadrok/squid/colors.png trunk/data/ships/squadrok/squid/light.png Modified: branches/ogsector/data/materials/squadrok.material =================================================================== --- branches/ogsector/data/materials/squadrok.material 2007-04-30 18:20:52 UTC (rev 426) +++ branches/ogsector/data/materials/squadrok.material 2007-04-30 19:56:03 UTC (rev 427) @@ -10,51 +10,14 @@ specular 1.000000 1.00000 1.000000 1.000000 12.500000 emissive 1.000000 1.000000 1.000000 1.000000 scene_blend alpha_blend -// scene_blend add -// scene_blend modulate -// scene_blend colour_blend depth_check on depth_write off lighting of texture_unit { - texture textures/squadrokThrusterLight.png - rotate_anim 0.2 -// wave_xform scale_x sine 1.0 0.2 0.0 5.0 -// colour_op add -// colour_op alpha_blend + texture ships/squadrok/thruster.png + rotate_anim 0.075 } } - pass - { - ambient 1.000000 1.000000 1.00000 1.000000 - diffuse 1.000000 1.000000 1.00000 1.000000 - specular 1.000000 1.00000 1.000000 1.000000 12.500000 - emissive 1.000000 1.000000 1.000000 1.000000 - scene_blend alpha_blend - lighting on - depth_check on - depth_write off - texture_unit - { - texture textures/squadrokThrusterLight.png - rotate_anim -0.2 - colour_op add - } - } - pass - { - specular 1.000000 1.00000 1.000000 1.000000 12.500000 - scene_blend alpha_blend - depth_check on - depth_write off - texture_unit - { - texture textures/squadrokThrusterColor.png - rotate_anim -0.2 - colour_op add - } - } } } - Added: branches/ogsector/data/ships/squadrok/thruster.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/ships/squadrok/thruster.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Deleted: branches/ogsector/data/textures/squadrokThrusterColor.png =================================================================== (Binary files differ) Deleted: branches/ogsector/data/textures/squadrokThrusterLight.png =================================================================== (Binary files differ) Deleted: trunk/data/ships/squadrok/squid/colors.png =================================================================== (Binary files differ) Deleted: trunk/data/ships/squadrok/squid/light.png =================================================================== (Binary files differ) Added: trunk/data/ships/squadrok/thruster.png =================================================================== (Binary files differ) Property changes on: trunk/data/ships/squadrok/thruster.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <spo...@us...> - 2007-04-30 18:20:51
|
Revision: 426 http://svn.sourceforge.net/opengate/?rev=426&view=rev Author: spom_spom Date: 2007-04-30 11:20:52 -0700 (Mon, 30 Apr 2007) Log Message: ----------- win32 compatibility commit. Modified Paths: -------------- branches/ogsector/src/networkClient.cpp branches/ogsector/win32/ogsectorclient/ogsectorclient.cbp branches/ogsector/win32/ogsectorclient/ogsectorclient.exe branches/ogsector/win32/ogsectorclient/resources.cfg Added Paths: ----------- branches/ogsector/win32/ogsectorclient/ships.xml Removed Paths: ------------- branches/ogsector/win32/ogsectorclient/ogsectorclient.depend branches/ogsector/win32/ogsectorclient/ogsectorclient.layout Modified: branches/ogsector/src/networkClient.cpp =================================================================== --- branches/ogsector/src/networkClient.cpp 2007-04-30 17:59:31 UTC (rev 425) +++ branches/ogsector/src/networkClient.cpp 2007-04-30 18:20:52 UTC (rev 426) @@ -7,22 +7,22 @@ namespace OpenGate{ -NetworkClient::NetworkClient( asio::io_service & io_service, const std::string & hostName ) - : io_service_( io_service ), socket_( io_service ), resolver_( io_service ), +NetworkClient::NetworkClient( asio::io_service & io_service, const std::string & hostName ) + : io_service_( io_service ), socket_( io_service ), resolver_( io_service ), hostname_( hostName ), online_( false ){ - + log_ = LogManager::getSingletonPtr(); pingTime_ = 0; userID_ = 0; log_->info( std::string( "Connecting to " ) + hostname_ + ":" + toStr( 1234 ) ); - + asio::error error = asio::error::host_not_found; try{ tcp::resolver::query query( hostname_, toStr( (int)OG_PORT) ); tcp::resolver::iterator endpoint_iterator = resolver_.resolve( query ); tcp::resolver::iterator end; - + while ( error && endpoint_iterator != end ) { socket_.close(); socket_.connect( *endpoint_iterator++, asio::assign_error( error ) ); @@ -83,9 +83,9 @@ void NetworkClient::handleReceiveUserID( const asio::error & error ) { if ( online_ ){ // std::cout << "handleReceiveUserID " << std::endl; - + if ( !error && readMsg_.decodeHeader() ) { - + MessageBodyBase base( readMsg_.body() ); // std::cout << "Type: = " << (int)base.type() << std::endl; switch( base.type() ){ @@ -97,19 +97,19 @@ default: log_->fatal( std::string( "unknown MESSAGE_PROTO " ) + toStr( base.type() ) ); log_->fatal( "wait for userid " ); - asio::async_read( socket_, asio::buffer( readMsg_.data(), + asio::async_read( socket_, asio::buffer( readMsg_.data(), Message::HeaderLength+MessageBodyUserID( 0 ).dataSize() ), - boost::bind( & NetworkClient::handleReceiveUserID, this, + boost::bind( & NetworkClient::handleReceiveUserID, this, asio::placeholders::error ) ); - + } - + asio::async_read(socket_, asio::buffer( readMsg_.data(), Message::HeaderLength ), - boost::bind( & NetworkClient::handleReadMessageHeader, this, + boost::bind( & NetworkClient::handleReadMessageHeader, this, asio::placeholders::error ) ); } else { log_->fatal( std::string( "handleReceiveUserID: " ) + error.what() ); - } + } } } @@ -117,9 +117,9 @@ if ( online_ ){ if ( !error && readMsg_.decodeHeader() ) { // std::cout << "handle_read_header " << (int)readMsg_.bodyLength() << std::endl; - + asio::async_read( socket_, asio::buffer( readMsg_.body(), readMsg_.bodyLength() ), - boost::bind( &NetworkClient::handleReadMessageBody, this, + boost::bind( &NetworkClient::handleReadMessageBody, this, asio::placeholders::error ) ); } else { log_->fatal( std::string( "handleReadMessageHeader: " ) + error.what() ); @@ -154,7 +154,7 @@ } break; case PROTO_DISCONNECT: { MessageBodyDisconnect msg( readMsg_.body() ); - log_->info( std::string( "Disconnect user = " ) + toStr( (int)msg.userID() ) + " " + log_->info( std::string( "Disconnect user = " ) + toStr( (int)msg.userID() ) + " " + userName( (int)msg.userID() ) ); users_.erase( users_.find( (int)msg.userID() ) ) ; } break; @@ -164,14 +164,14 @@ // std::cout << m << std::endl; // } - std::vector < char > vec( readMsg_.bodyLength() ); - vec.resize( readMsg_.bodyLength() ); + std::vector < char > vec( readMsg_.bodyLength() ); + vec.resize( readMsg_.bodyLength() ); memcpy( &vec[ 0 ], (char*)readMsg_.body(), readMsg_.bodyLength() ); msgsToPull_.push_back( vec ); } - + asio::async_read(socket_, asio::buffer( readMsg_.data(), Message::HeaderLength ), - boost::bind( & NetworkClient::handleReadMessageHeader, this, + boost::bind( & NetworkClient::handleReadMessageHeader, this, asio::placeholders::error ) ); } else { log_->fatal( std::string( "handleReadMessageBody error: " ) + error.what() ); @@ -183,25 +183,25 @@ void NetworkClient::handleSendMsg( MessageBodyBase & body ) { if ( online_ ){ // std::cout << "Send to server, type: " << (int)body.type() << std::endl; - + bool write_in_progress = !msgsToWrite_.empty(); msgsToWrite_.push_back( Message( body ) ); // std::cout << "send.length() = " << msgsToWrite_.front().length() << std::endl; if ( !write_in_progress && online_ ) { asio::async_write( socket_, asio::buffer( msgsToWrite_.front().data(), msgsToWrite_.front().length() ), - boost::bind( & NetworkClient::handleWrite, this, + boost::bind( & NetworkClient::handleWrite, this, asio::placeholders::error ) ); } } } - + void NetworkClient::handleWrite( const asio::error & error ) { if ( online_ ){ if ( !error ){ msgsToWrite_.pop_front(); if ( !msgsToWrite_.empty() && online_ ) { asio::async_write(socket_, asio::buffer( msgsToWrite_.front().data(), msgsToWrite_.front().length() ), - boost::bind( &NetworkClient::handleWrite, this, + boost::bind( &NetworkClient::handleWrite, this, asio::placeholders::error ) ); } } else { @@ -210,15 +210,15 @@ } } } - -void NetworkClient::doClose() { + +void NetworkClient::doClose() { if ( online_ ){ - sleep( 1 ); + //myMSleep( 1000 ); // log_->info( std::string( "Network closed, user disconnected." ) ); - socket_.close(); + socket_.close(); pingTime_ = -1; online_ = false; } } - + } //namespace OpenGate Modified: branches/ogsector/win32/ogsectorclient/ogsectorclient.cbp =================================================================== --- branches/ogsector/win32/ogsectorclient/ogsectorclient.cbp 2007-04-30 17:59:31 UTC (rev 425) +++ branches/ogsector/win32/ogsectorclient/ogsectorclient.cbp 2007-04-30 18:20:52 UTC (rev 426) @@ -63,6 +63,8 @@ <Unit filename="..\..\src\SectorClientFrameListener.h" /> <Unit filename="..\..\src\SectorObjects.cpp" /> <Unit filename="..\..\src\SectorObjects.h" /> + <Unit filename="..\..\src\VesselManager.cpp" /> + <Unit filename="..\..\src\VesselManager.h" /> <Unit filename="..\..\src\common.cpp" /> <Unit filename="..\..\src\common.h" /> <Unit filename="..\..\src\networkClient.cpp" /> @@ -71,6 +73,10 @@ <Unit filename="..\..\src\ogconsole.cpp" /> <Unit filename="..\..\src\ogconsole.h" /> <Unit filename="..\..\src\ogsectorclient.cpp" /> + <Unit filename="..\..\src\tinyxml\tinyxml.cpp" /> + <Unit filename="..\..\src\tinyxml\tinyxml.h" /> + <Unit filename="..\..\src\tinyxml\tinyxmlerror.cpp" /> + <Unit filename="..\..\src\tinyxml\tinyxmlparser.cpp" /> <Extensions> <code_completion /> </Extensions> Deleted: branches/ogsector/win32/ogsectorclient/ogsectorclient.depend =================================================================== --- branches/ogsector/win32/ogsectorclient/ogsectorclient.depend 2007-04-30 17:59:31 UTC (rev 425) +++ branches/ogsector/win32/ogsectorclient/ogsectorclient.depend 2007-04-30 18:20:52 UTC (rev 426) @@ -1,1538 +0,0 @@ -# depslib dependency file v1.0 -1175879798 source:c:\home\src\opengate\branches\ogsector\src\sector.cpp - "Sector.h" - -1175778098 c:\home\src\opengate\branches\ogsector\src\sector.h - <Ogre.h> - <OgreOpcode.h> - "SectorClientFrameListener.h" - "SectorObjects.h" - -1165510934 c:\ogresdk\include\ogre.h - "OgrePrerequisites.h" - "OgreAnimation.h" - "OgreAnimationState.h" - "OgreAnimationTrack.h" - "OgreAny.h" - "OgreArchive.h" - "OgreArchiveManager.h" - "OgreAxisAlignedBox.h" - "OgreBillboardChain.h" - "OgreBillboardSet.h" - "OgreBone.h" - "OgreCamera.h" - "OgreConfigFile.h" - "OgreControllerManager.h" - "OgreDataStream.h" - "OgreEntity.h" - "OgreException.h" - "OgreFrustum.h" - "OgreGpuProgram.h" - "OgreGpuProgramManager.h" - "OgreHardwareBufferManager.h" - "OgreHardwareIndexBuffer.h" - "OgreHardwarePixelBuffer.h" - "OgreHardwareOcclusionQuery.h" - "OgreHardwareVertexBuffer.h" - "OgreHardwarePixelBuffer.h" - "OgreHighLevelGpuProgram.h" - "OgreHighLevelGpuProgramManager.h" - "OgreKeyFrame.h" - "OgreLight.h" - "OgreLogManager.h" - "OgreManualObject.h" - "OgreMaterial.h" - "OgreMaterialManager.h" - "OgreMaterialSerializer.h" - "OgreMath.h" - "OgreMatrix3.h" - "OgreMatrix4.h" - "OgreMesh.h" - "OgreMeshManager.h" - "OgreMeshSerializer.h" - "OgreOverlay.h" - "OgreOverlayContainer.h" - "OgreOverlayElement.h" - "OgreOverlayManager.h" - "OgreParticleAffector.h" - "OgreParticleEmitter.h" - "OgreParticleSystemManager.h" - "OgrePass.h" - "OgrePatchMesh.h" - "OgrePatchSurface.h" - "OgreProfiler.h" - "OgreRadixSort.h" - "OgreRenderQueueInvocation.h" - "OgreRenderQueueListener.h" - "OgreRenderSystem.h" - "OgreRenderTargetListener.h" - "OgreRenderTexture.h" - "OgreRenderWindow.h" - "OgreResourceBackgroundQueue.h" - "OgreResourceGroupManager.h" - "OgreRibbonTrail.h" - "OgreRoot.h" - "OgreSceneManager.h" - "OgreSceneManagerEnumerator.h" - "OgreSceneNode.h" - "OgreSimpleRenderable.h" - "OgreSkeleton.h" - "OgreSkeletonInstance.h" - "OgreSkeletonManager.h" - "OgreSkeletonSerializer.h" - "OgreStaticGeometry.h" - "OgreString.h" - "OgreStringConverter.h" - "OgreStringVector.h" - "OgreSubEntity.h" - "OgreSubMesh.h" - "OgreTechnique.h" - "OgreTextureManager.h" - "OgreTextureUnitState.h" - "OgreUserDefinedObject.h" - "OgreVector2.h" - "OgreViewport.h" - "OgreCompositor.h" - "OgreCompositorManager.h" - "OgreCompositorChain.h" - "OgreCompositorInstance.h" - "OgreCompositionTechnique.h" - "OgreCompositionPass.h" - "OgreCompositionTargetPass.h" - "OgreWindowEventUtilities.h" - "OgreShadowCameraSetup.h" - "OgreShadowCameraSetupFocused.h" - "OgreShadowCameraSetupLiSPSM.h" - "OgreShadowCameraSetupPlaneOptimal.h" - -1172953494 c:\ogresdk\include\ogreprerequisites.h - "OgrePlatform.h" - "OgreMemoryManager.h" - -1172537114 c:\ogresdk\include\ogreplatform.h - "OgreConfig.h" - <_mingw.h> - "config.h" - -1172941426 c:\ogresdk\include\ogreconfig.h - "config.h" - -1156321112 c:\ogresdk\include\ogrememorymanager.h - "OgrePlatform.h" - "OgreStdHeaders.h" - "OgreMemoryMacros.h" - -1172524826 c:\ogresdk\include\ogrestdheaders.h - <cassert> - <cstdio> - <cstdlib> - <ctime> - <cstring> - <cstdarg> - <cmath> - <vector> - <map> - <string> - <set> - <list> - <deque> - <queue> - <bitset> - <ext/hash_map> - <ext/hash_set> - <hash_set> - <hash_map> - <algorithm> - <functional> - <limits> - <fstream> - <iostream> - <iomanip> - <sstream> - <sys/types.h> - <sys/stat.h> - <unistd.h> - <unistd.h> - <dlfcn.h> - <unistd.h> - <sys/param.h> - <CoreFoundation/CoreFoundation.h> - <boost/thread/recursive_mutex.hpp> - -1156321112 c:\ogresdk\include\ogrememorymacros.h - -1171960516 c:\ogresdk\include\ogreanimation.h - "OgrePrerequisites.h" - "OgreString.h" - "OgreIteratorWrappers.h" - "OgreAnimable.h" - "OgreAnimationTrack.h" - -1156321116 c:\ogresdk\include\ogrestring.h - "OgrePrerequisites.h" - <ext/hash_map> - -1158007782 c:\ogresdk\include\ogreiteratorwrappers.h - "OgrePrerequisites.h" - -1166587762 c:\ogresdk\include\ogreanimable.h - "OgrePrerequisites.h" - "OgreVector2.h" - "OgreVector3.h" - "OgreVector4.h" - "OgreQuaternion.h" - "OgreColourValue.h" - "OgreSharedPtr.h" - "OgreStringVector.h" - "OgreException.h" - "OgreAny.h" - -1166587762 c:\ogresdk\include\ogrevector2.h - "OgrePrerequisites.h" - "OgreMath.h" - -1168638894 c:\ogresdk\include\ogremath.h - "OgrePrerequisites.h" - -1171161004 c:\ogresdk\include\ogrevector3.h - "OgrePrerequisites.h" - "OgreMath.h" - "OgreQuaternion.h" - -1166587762 c:\ogresdk\include\ogrequaternion.h - "OgrePrerequisites.h" - "OgreMath.h" - -1166587764 c:\ogresdk\include\ogrevector4.h - "OgrePrerequisites.h" - "OgreVector3.h" - -1171161004 c:\ogresdk\include\ogrecolourvalue.h - "OgrePrerequisites.h" - -1168440044 c:\ogresdk\include\ogresharedptr.h - "OgrePrerequisites.h" - -1156321116 c:\ogresdk\include\ogrestringvector.h - "OgrePrerequisites.h" - "OgreString.h" - "OgreSharedPtr.h" - -1169876010 c:\ogresdk\include\ogreexception.h - "OgrePrerequisites.h" - "OgreString.h" - <exception> - -1156321112 c:\ogresdk\include\ogreany.h - "OgrePrerequisites.h" - "OgreException.h" - "OgreString.h" - <algorithm> - <typeinfo> - -1166587762 c:\ogresdk\include\ogreanimationtrack.h - "OgrePrerequisites.h" - "OgreSimpleSpline.h" - "OgreRotationalSpline.h" - "OgreKeyFrame.h" - "OgreAnimable.h" - "OgrePose.h" - -1156321116 c:\ogresdk\include\ogresimplespline.h - "OgrePrerequisites.h" - "OgreVector3.h" - "OgreMatrix4.h" - -1172506520 c:\ogresdk\include\ogrematrix4.h - "OgrePrerequisites.h" - "OgreVector3.h" - "OgreMatrix3.h" - "OgreVector4.h" - "OgrePlane.h" - -1156321112 c:\ogresdk\include\ogrematrix3.h - "OgrePrerequisites.h" - "OgreVector3.h" - -1171161004 c:\ogresdk\include\ogreplane.h - "OgrePrerequisites.h" - "OgreVector3.h" - -1156321116 c:\ogresdk\include\ogrerotationalspline.h - "OgrePrerequisites.h" - "OgreQuaternion.h" - -1158532582 c:\ogresdk\include\ogrekeyframe.h - "OgrePrerequisites.h" - "OgreVector3.h" - "OgreQuaternion.h" - "OgreAny.h" - "OgreHardwareVertexBuffer.h" - "OgreIteratorWrappers.h" - -1171161004 c:\ogresdk\include\ogrehardwarevertexbuffer.h - "OgrePrerequisites.h" - "OgreHardwareBuffer.h" - "OgreSharedPtr.h" - "OgreColourValue.h" - -1156321112 c:\ogresdk\include\ogrehardwarebuffer.h - "OgrePrerequisites.h" - -1173005240 c:\ogresdk\include\ogrepose.h - "OgrePrerequisites.h" - "OgreString.h" - "OgreHardwareVertexBuffer.h" - "OgreVector3.h" - "OgreIteratorWrappers.h" - -1171161002 c:\ogresdk\include\ogreanimationstate.h - "OgrePrerequisites.h" - "OgreString.h" - "OgreController.h" - "OgreIteratorWrappers.h" - -1156321112 c:\ogresdk\include\ogrecontroller.h - "OgrePrerequisites.h" - "OgreSharedPtr.h" - -1168440042 c:\ogresdk\include\ogrearchive.h - "OgrePrerequisites.h" - "OgreString.h" - "OgreDataStream.h" - "OgreSharedPtr.h" - "OgreStringVector.h" - -1156321112 c:\ogresdk\include\ogredatastream.h - "OgrePrerequisites.h" - "OgreString.h" - "OgreSharedPtr.h" - <istream> - -1156321112 c:\ogresdk\include\ogrearchivemanager.h - "OgrePrerequisites.h" - "OgreResourceManager.h" - "OgreSingleton.h" - -1172769892 c:\ogresdk\include\ogreresourcemanager.h - "OgrePrerequisites.h" - "OgreResource.h" - "OgreResourceGroupManager.h" - "OgreIteratorWrappers.h" - "OgreCommon.h" - "OgreDataStream.h" - "OgreStringVector.h" - "OgreScriptLoader.h" - -1172615020 c:\ogresdk\include\ogreresource.h - "OgrePrerequisites.h" - "OgreString.h" - "OgreSharedPtr.h" - "OgreStringInterface.h" - -1156321116 c:\ogresdk\include\ogrestringinterface.h - "OgrePrerequisites.h" - "OgreString.h" - "OgreCommon.h" - -1172524824 c:\ogresdk\include\ogrecommon.h - "OgreString.h" - <utility> - <vector> - <map> - -1168440044 c:\ogresdk\include\ogreresourcegroupmanager.h - "OgrePrerequisites.h" - "OgreSingleton.h" - "OgreCommon.h" - "OgreDataStream.h" - "OgreResource.h" - "OgreArchive.h" - "OgreIteratorWrappers.h" - -1156321116 c:\ogresdk\include\ogresingleton.h - "OgrePrerequisites.h" - -1156321116 c:\ogresdk\include\ogrescriptloader.h - "OgrePrerequisites.h" - "OgreDataStream.h" - "OgreStringVector.h" - -1172848582 c:\ogresdk\include\ogreaxisalignedbox.h - "OgrePrerequisites.h" - "OgreVector3.h" - "OgreMatrix4.h" - -1156321112 c:\ogresdk\include\ogrebillboardchain.h - "OgrePrerequisites.h" - "OgreMovableObject.h" - "OgreRenderable.h" - -1169876010 c:\ogresdk\include\ogremovableobject.h - "OgrePrerequisites.h" - "OgreRenderQueue.h" - "OgreAxisAlignedBox.h" - "OgreSphere.h" - "OgreShadowCaster.h" - "OgreFactoryObj.h" - "OgreAnimable.h" - "OgreAny.h" - "OgreUserDefinedObject.h" - -1156321114 c:\ogresdk\include\ogrerenderqueue.h - "OgrePrerequisites.h" - "OgreIteratorWrappers.h" - -1156321116 c:\ogresdk\include\ogresphere.h - "OgrePrerequisites.h" - "OgreVector3.h" - -1169876012 c:\ogresdk\include\ogreshadowcaster.h - "OgrePrerequisites.h" - "OgreRenderable.h" - -1172769892 c:\ogresdk\include\ogrerenderable.h - "OgrePrerequisites.h" - "OgreCommon.h" - "OgreRenderOperation.h" - "OgreMatrix4.h" - "OgreMaterial.h" - "OgrePlane.h" - "OgreGpuProgram.h" - "OgreVector4.h" - "OgreException.h" - -1156321114 c:\ogresdk\include\ogrerenderoperation.h - "OgrePrerequisites.h" - "OgreVertexIndexData.h" - -1171161004 c:\ogresdk\include\ogrevertexindexdata.h - "OgrePrerequisites.h" - "OgreHardwareVertexBuffer.h" - "OgreHardwareIndexBuffer.h" - -1156321112 c:\ogresdk\include\ogrehardwareindexbuffer.h - "OgrePrerequisites.h" - "OgreHardwareBuffer.h" - "OgreSharedPtr.h" - -1168797388 c:\ogresdk\include\ogrematerial.h - "OgrePrerequisites.h" - "OgreResource.h" - "OgreIteratorWrappers.h" - "OgreCommon.h" - "OgreColourValue.h" - "OgreBlendMode.h" - -1156321112 c:\ogresdk\include\ogreblendmode.h - "OgrePrerequisites.h" - "OgreColourValue.h" - -1172848582 c:\ogresdk\include\ogregpuprogram.h - "OgrePrerequisites.h" - "OgreResource.h" - "OgreSharedPtr.h" - "OgreIteratorWrappers.h" - -1156321112 c:\ogresdk\include\ogrefactoryobj.h - "OgrePrerequisites.h" - -1156321116 c:\ogresdk\include\ogreuserdefinedobject.h - "OgrePrerequisites.h" - -1166587762 c:\ogresdk\include\ogrebillboardset.h - "OgrePrerequisites.h" - "OgreMovableObject.h" - "OgreRenderable.h" - "OgreRadixSort.h" - "OgreCommon.h" - -1156321114 c:\ogresdk\include\ogreradixsort.h - "OgrePrerequisites.h" - -1156321112 c:\ogresdk\include\ogrebone.h - "OgrePrerequisites.h" - "OgreNode.h" - -1166587762 c:\ogresdk\include\ogrenode.h - "OgrePrerequisites.h" - "OgreMatrix3.h" - "OgreMatrix4.h" - "OgreQuaternion.h" - "OgreString.h" - "OgreRenderable.h" - "OgreIteratorWrappers.h" - -1172506520 c:\ogresdk\include\ogrecamera.h - "OgrePrerequisites.h" - "OgreString.h" - "OgreMovableObject.h" - "OgreMatrix4.h" - "OgreVector3.h" - "OgrePlane.h" - "OgreQuaternion.h" - "OgreCommon.h" - "OgreFrustum.h" - "OgreRay.h" - -1165678642 c:\ogresdk\include\ogrefrustum.h - "OgrePrerequisites.h" - "OgreMovableObject.h" - "OgreRenderable.h" - "OgreAxisAlignedBox.h" - "OgreVertexIndexData.h" - "OgreMovablePlane.h" - -1166587762 c:\ogresdk\include\ogremovableplane.h - "OgrePrerequisites.h" - "OgrePlane.h" - "OgreMovableObject.h" - -1156321114 c:\ogresdk\include\ogreray.h - "OgrePrerequisites.h" - "OgreVector3.h" - "OgrePlaneBoundedVolume.h" - -1171161004 c:\ogresdk\include\ogreplaneboundedvolume.h - "OgrePrerequisites.h" - "OgreAxisAlignedBox.h" - "OgreSphere.h" - "OgreMath.h" - "OgrePlane.h" - -1156321112 c:\ogresdk\include\ogreconfigfile.h - "OgrePrerequisites.h" - "OgreString.h" - "OgreStringVector.h" - "OgreIteratorWrappers.h" - "OgreDataStream.h" - -1156321112 c:\ogresdk\include\ogrecontrollermanager.h - "OgrePrerequisites.h" - "OgreCommon.h" - "OgreSingleton.h" - "OgreController.h" - "OgrePredefinedControllers.h" - "OgreTextureUnitState.h" - "OgreSharedPtr.h" - -1156321114 c:\ogresdk\include\ogrepredefinedcontrollers.h - "OgrePrerequisites.h" - "OgreCommon.h" - "OgreController.h" - "OgreFrameListener.h" - "OgreGpuProgram.h" - -1156321112 c:\ogresdk\include\ogreframelistener.h - "OgrePrerequisites.h" - -1171960516 c:\ogresdk\include\ogretextureunitstate.h - "OgrePrerequisites.h" - "OgreCommon.h" - "OgreBlendMode.h" - "OgreMatrix4.h" - "OgreIteratorWrappers.h" - "OgreString.h" - "OgreTexture.h" - -1166587762 c:\ogresdk\include\ogretexture.h - "OgrePrerequisites.h" - "OgreHardwareBuffer.h" - "OgreResource.h" - "OgreImage.h" - -1157064472 c:\ogresdk\include\ogreimage.h - "OgrePrerequisites.h" - "OgreCommon.h" - "OgrePixelFormat.h" - "OgreDataStream.h" - -1171960516 c:\ogresdk\include\ogrepixelformat.h - "OgrePrerequisites.h" - "OgreCommon.h" - -1172687706 c:\ogresdk\include\ogreentity.h - "OgrePrerequisites.h" - "OgreCommon.h" - "OgreString.h" - "OgreMovableObject.h" - "OgreQuaternion.h" - "OgreVector3.h" - "OgreHardwareBufferManager.h" - "OgreMesh.h" - -1159139400 c:\ogresdk\include\ogrehardwarebuffermanager.h - "OgrePrerequisites.h" - "OgreSingleton.h" - "OgreHardwareVertexBuffer.h" - "OgreHardwareIndexBuffer.h" - -1159031360 c:\ogresdk\include\ogremesh.h - "OgrePrerequisites.h" - "OgreResource.h" - "OgreVertexIndexData.h" - "OgreAxisAlignedBox.h" - "OgreVertexBoneAssignment.h" - "OgreIteratorWrappers.h" - "OgreProgressiveMesh.h" - "OgreHardwareVertexBuffer.h" - "OgreSkeleton.h" - "OgreAnimationTrack.h" - "OgrePose.h" - -1156321116 c:\ogresdk\include\ogrevertexboneassignment.h - "OgrePrerequisites.h" - -1156321114 c:\ogresdk\include\ogreprogressivemesh.h - "OgrePrerequisites.h" - "OgreVector3.h" - "OgreHardwareVertexBuffer.h" - "OgreHardwareIndexBuffer.h" - "OgreRenderOperation.h" - -1163781926 c:\ogresdk\include\ogreskeleton.h - "OgrePrerequisites.h" - "OgreResource.h" - "OgreQuaternion.h" - "OgreVector3.h" - "OgreIteratorWrappers.h" - "OgreStringVector.h" - -1160325242 c:\ogresdk\include\ogregpuprogrammanager.h - "OgrePrerequisites.h" - "OgreResourceManager.h" - "OgreException.h" - "OgreGpuProgram.h" - "OgreSingleton.h" - -1156321112 c:\ogresdk\include\ogrehardwarepixelbuffer.h - "OgrePrerequisites.h" - "OgreHardwareBuffer.h" - "OgreSharedPtr.h" - "OgrePixelFormat.h" - "OgreImage.h" - -1164560838 c:\ogresdk\include\ogrehardwareocclusionquery.h - "OgrePrerequisites.h" - -1168638894 c:\ogresdk\include\ogrehighlevelgpuprogram.h - "OgrePrerequisites.h" - "OgreGpuProgram.h" - -1168440042 c:\ogresdk\include\ogrehighlevelgpuprogrammanager.h - "OgrePrerequisites.h" - "OgreResourceManager.h" - "OgreSingleton.h" - "OgreException.h" - "OgreHighLevelGpuProgram.h" - -1165529990 c:\ogresdk\include\ogrelight.h - "OgrePrerequisites.h" - "OgreColourValue.h" - "OgreVector3.h" - "OgreVector4.h" - "OgreString.h" - "OgreMovableObject.h" - "OgrePlaneBoundedVolume.h" - "OgreShadowCameraSetup.h" - -1165529990 c:\ogresdk\include\ogreshadowcamerasetup.h - "OgrePrerequisites.h" - "OgreMovablePlane.h" - "OgreSharedPtr.h" - -1163446424 c:\ogresdk\include\ogrelogmanager.h - "OgrePrerequisites.h" - "OgreLog.h" - "OgreSingleton.h" - "OgreString.h" - -1163446424 c:\ogresdk\include\ogrelog.h - "OgrePrerequisites.h" - -1171960516 c:\ogresdk\include\ogremanualobject.h - "OgrePrerequisites.h" - "OgreMovableObject.h" - "OgreRenderable.h" - "OgreResourceGroupManager.h" - -1161122428 c:\ogresdk\include\ogrematerialmanager.h - "OgrePrerequisites.h" - "OgreSingleton.h" - "OgreResourceManager.h" - "OgreMaterial.h" - "OgreStringVector.h" - "OgreMaterialSerializer.h" - "OgreNoMemoryMacros.h" - <boost/thread/tss.hpp> - "OgreMemoryMacros.h" - -1168638894 c:\ogresdk\include\ogrematerialserializer.h - "OgrePrerequisites.h" - "OgreMaterial.h" - "OgreBlendMode.h" - "OgreTextureUnitState.h" - "OgreGpuProgram.h" - "OgreStringVector.h" - -1156321112 c:\ogresdk\include\ogrenomemorymacros.h - -1168440042 c:\ogresdk\include\ogremeshmanager.h - "OgrePrerequisites.h" - "OgreResourceManager.h" - "OgreSingleton.h" - "OgreVector3.h" - "OgreHardwareBuffer.h" - "OgreMesh.h" - "OgrePatchMesh.h" - -1159139400 c:\ogresdk\include\ogrepatchmesh.h - "OgrePrerequisites.h" - "OgreMesh.h" - "OgrePatchSurface.h" - -1156321114 c:\ogresdk\include\ogrepatchsurface.h - "OgrePrerequisites.h" - "OgreVector3.h" - "OgreString.h" - "OgreRenderOperation.h" - "OgreAxisAlignedBox.h" - -1156321112 c:\ogresdk\include\ogremeshserializer.h - "OgrePrerequisites.h" - "OgreMeshSerializerImpl.h" - "OgreSerializer.h" - -1168440044 c:\ogresdk\include\ogremeshserializerimpl.h - "OgrePrerequisites.h" - "OgreString.h" - "OgreSerializer.h" - "OgreMaterial.h" - "OgreMesh.h" - "OgreEdgeListBuilder.h" - -1166587762 c:\ogresdk\include\ogreserializer.h - "OgrePrerequisites.h" - "OgreString.h" - "OgreDataStream.h" - -1156321112 c:\ogresdk\include\ogreedgelistbuilder.h - "OgrePrerequisites.h" - "OgreVector4.h" - "OgreHardwareVertexBuffer.h" - "OgreRenderOperation.h" - "OgreAlignedAllocator.h" - -1158965048 c:\ogresdk\include\ogrealignedallocator.h - "OgrePrerequisites.h" - -1156321112 c:\ogresdk\include\ogreoverlay.h - "OgrePrerequisites.h" - "OgreSceneNode.h" - "OgreIteratorWrappers.h" - "OgreMatrix4.h" - -1166893324 c:\ogresdk\include\ogrescenenode.h - "OgrePrerequisites.h" - "OgreNode.h" - "OgreIteratorWrappers.h" - "OgreAxisAlignedBox.h" - -1156321112 c:\ogresdk\include\ogreoverlaycontainer.h - "OgrePrerequisites.h" - "OgreOverlayElement.h" - "OgreIteratorWrappers.h" - -1172506520 c:\ogresdk\include\ogreoverlayelement.h - "OgrePrerequisites.h" - "OgreString.h" - "OgreRenderable.h" - "OgreUTFString.h" - "OgreStringInterface.h" - "OgreOverlayElementCommands.h" - "OgreColourValue.h" - "OgreRectangle.h" - -1172506520 c:\ogresdk\include\ogreutfstring.h - "OgrePrerequisites.h" - <iterator> - <string> - <stdexcept> - -1156321112 c:\ogresdk\include\ogreoverlayelementcommands.h - "OgrePrerequisites.h" - "OgreStringInterface.h" - -1164560840 c:\ogresdk\include\ogrerectangle.h - "OgrePrerequisites.h" - -1156321114 c:\ogresdk\include\ogreoverlaymanager.h - "OgrePrerequisites.h" - "OgreSingleton.h" - "OgreStringVector.h" - "OgreOverlay.h" - "OgreScriptLoader.h" - -1156321114 c:\ogresdk\include\ogreparticleaffector.h - "OgrePrerequisites.h" - "OgreString.h" - "OgreStringInterface.h" - -1160867994 c:\ogresdk\include\ogreparticleemitter.h - "OgrePrerequisites.h" - "OgreString.h" - "OgreVector3.h" - "OgreColourValue.h" - "OgreStringInterface.h" - "OgreParticleEmitterCommands.h" - "OgreParticle.h" - -1159468430 c:\ogresdk\include\ogreparticleemittercommands.h - "OgrePrerequisites.h" - "OgreStringInterface.h" - -1160867994 c:\ogresdk\include\ogreparticle.h - "OgrePrerequisites.h" - "OgreBillboard.h" - -1156321112 c:\ogresdk\include\ogrebillboard.h - "OgrePrerequisites.h" - "OgreVector3.h" - "OgreColourValue.h" - "OgreCommon.h" - -1168440044 c:\ogresdk\include\ogreparticlesystemmanager.h - "OgrePrerequisites.h" - "OgreParticleSystem.h" - "OgreFrameListener.h" - "OgreSingleton.h" - "OgreIteratorWrappers.h" - "OgreScriptLoader.h" - "OgreResourceGroupManager.h" - -1159468430 c:\ogresdk\include\ogreparticlesystem.h - "OgrePrerequisites.h" - "OgreVector3.h" - "OgreString.h" - "OgreParticleIterator.h" - "OgreStringInterface.h" - "OgreMovableObject.h" - "OgreRadixSort.h" - "OgreController.h" - -1156321114 c:\ogresdk\include\ogreparticleiterator.h - "OgrePrerequisites.h" - -1171960516 c:\ogresdk\include\ogrepass.h - "OgrePrerequisites.h" - "OgreGpuProgram.h" - "OgreColourValue.h" - "OgreBlendMode.h" - "OgreCommon.h" - "OgreLight.h" - "OgreTextureUnitState.h" - -1156321114 c:\ogresdk\include\ogreprofiler.h - "OgrePrerequisites.h" - "OgreSingleton.h" - "OgreString.h" - "OgreOverlay.h" - -1173005240 c:\ogresdk\include\ogrerenderqueueinvocation.h - "OgrePrerequisites.h" - "OgreRenderQueueSortingGrouping.h" - "OgreIteratorWrappers.h" - -1156321114 c:\ogresdk\include\ogrerenderqueuesortinggrouping.h - "OgrePrerequisites.h" - "OgreIteratorWrappers.h" - "OgreMaterial.h" - "OgreTechnique.h" - "OgrePass.h" - "OgreRadixSort.h" - -1168797388 c:\ogresdk\include\ogretechnique.h - "OgrePrerequisites.h" - "OgreIteratorWrappers.h" - "OgreBlendMode.h" - "OgreCommon.h" - "OgrePass.h" - -1156321114 c:\ogresdk\include\ogrerenderqueuelistener.h - "OgrePrerequisites.h" - "OgreRenderQueue.h" - -1172615020 c:\ogresdk\include\ogrerendersystem.h - "OgrePrerequisites.h" - "OgreString.h" - "OgreTextureUnitState.h" - "OgreCommon.h" - "OgreRenderOperation.h" - "OgreRenderSystemCapabilities.h" - "OgreRenderTarget.h" - "OgreRenderTexture.h" - "OgreFrameListener.h" - "OgreConfigOptionMap.h" - "OgreGpuProgram.h" - "OgrePlane.h" - "OgreIteratorWrappers.h" - -1163353544 c:\ogresdk\include\ogrerendersystemcapabilities.h - "OgrePrerequisites.h" - "OgreString.h" - -1172506520 c:\ogresdk\include\ogrerendertarget.h - "OgrePrerequisites.h" - "OgreString.h" - "OgreTextureManager.h" - "OgreViewport.h" - "OgreTimer.h" - -1171960516 c:\ogresdk\include\ogretexturemanager.h - "OgrePrerequisites.h" - "OgreResourceManager.h" - "OgreTexture.h" - "OgreSingleton.h" - -1172506520 c:\ogresdk\include\ogreviewport.h - "OgrePrerequisites.h" - "OgreCommon.h" - "OgreColourValue.h" - -1164282732 c:\ogresdk\include\ogretimer.h - "OgrePrerequisites.h" - "OgrePlatform.h" - "WIN32/OgreTimerImp.h" - "GLX/OgreTimerImp.h" - "OSX/OgreTimerImp.h" - -1160336896 c:\ogresdk\include\win32\ogretimerimp.h - "windows.h" - -1156321114 c:\ogresdk\include\ogrerendertexture.h - "OgrePrerequisites.h" - "OgreRenderTarget.h" - -1156321112 c:\ogresdk\include\ogreconfigoptionmap.h - "OgrePrerequisites.h" - "OgreStringVector.h" - "OgreString.h" - -1156321114 c:\ogresdk\include\ogrerendertargetlistener.h - "OgrePrerequisites.h" - -1155988494 c:\ogresdk\include\ogrerenderwindow.h - "OgrePrerequisites.h" - "OgreRenderTarget.h" - -1172615020 c:\ogresdk\include\ogreresourcebackgroundqueue.h - "OgrePrerequisites.h" - "OgreCommon.h" - "OgreSingleton.h" - "OgreResource.h" - <boost/thread/thread.hpp> - <boost/thread/condition.hpp> - -1160238392 c:\ogresdk\include\ogreribbontrail.h - "OgrePrerequisites.h" - "OgreBillboardChain.h" - "OgreNode.h" - "OgreIteratorWrappers.h" - "OgreFrameListener.h" - "OgreControllerManager.h" - -1169876012 c:\ogresdk\include\ogreroot.h - "OgrePrerequisites.h" - "OgreSingleton.h" - "OgreString.h" - "OgreSceneManagerEnumerator.h" - "OgreResourceGroupManager.h" - <exception> - -1156321116 c:\ogresdk\include\ogrescenemanagerenumerator.h - "OgrePrerequisites.h" - "OgreSceneManager.h" - "OgreSingleton.h" - "OgreIteratorWrappers.h" - -1172953494 c:\ogresdk\include\ogrescenemanager.h - "OgrePrerequisites.h" - "OgreString.h" - "OgreSceneNode.h" - "OgrePlane.h" - "OgreQuaternion.h" - "OgreColourValue.h" - "OgreCommon.h" - "OgreSceneQuery.h" - "OgreAutoParamDataSource.h" - "OgreAnimationState.h" - "OgreRenderQueue.h" - "OgreRenderQueueSortingGrouping.h" - "OgreRectangle2D.h" - "OgrePixelFormat.h" - "OgreResourceGroupManager.h" - "OgreTexture.h" - "OgreShadowCameraSetup.h" - "OgreShadowTextureManager.h" - "OgreCamera.h" - "OgreInstancedGeometry.h" - -1156321116 c:\ogresdk\include\ogrescenequery.h - "OgrePrerequisites.h" - "OgreAxisAlignedBox.h" - "OgreSphere.h" - "OgreRay.h" - "OgreRenderOperation.h" - "OgrePlaneBoundedVolume.h" - -1171161004 c:\ogresdk\include\ogreautoparamdatasource.h - "OgrePrerequisites.h" - "OgreCommon.h" - "OgreMatrix4.h" - "OgreVector4.h" - "OgreLight.h" - "OgreColourValue.h" - -1156321114 c:\ogresdk\include\ogrerectangle2d.h - "OgrePrerequisites.h" - "OgreSimpleRenderable.h" - -1156321116 c:\ogresdk\include\ogresimplerenderable.h - "OgrePrerequisites.h" - "OgreMovableObject.h" - "OgreRenderable.h" - "OgreAxisAlignedBox.h" - "OgreMaterial.h" - -1169349958 c:\ogresdk\include\ogreshadowtexturemanager.h - "OgrePrerequisites.h" - "OgreSingleton.h" - "OgrePixelFormat.h" - "OgreTexture.h" - "OgreIteratorWrappers.h" - -1170376278 c:\ogresdk\include\ogreinstancedgeometry.h - "OgrePrerequisites.h" - "OgreMovableObject.h" - "OgreSimpleRenderable.h" - "OgreSkeleton.h" - "OgreSkeletonInstance.h" - "OgreAnimationTrack.h" - "OgreBone.h" - -1168440044 c:\ogresdk\include\ogreskeletoninstance.h - "OgrePrerequisites.h" - "OgreSkeleton.h" - -1156321116 c:\ogresdk\include\ogreskeletonmanager.h - "OgrePrerequisites.h" - "OgreResourceManager.h" - "OgreSingleton.h" - -1156321116 c:\ogresdk\include\ogreskeletonserializer.h - "OgrePrerequisites.h" - "OgreSkeleton.h" - "OgreSerializer.h" - -1171960516 c:\ogresdk\include\ogrestaticgeometry.h - "OgrePrerequisites.h" - "OgreMovableObject.h" - "OgreRenderable.h" - -1168440044 c:\ogresdk\include\ogrestringconverter.h - "OgrePrerequisites.h" - "OgreMath.h" - "OgreString.h" - "OgreStringVector.h" - -1168440044 c:\ogresdk\include\ogresubentity.h - "OgrePrerequisites.h" - "OgreString.h" - "OgreRenderable.h" - "OgreHardwareBufferManager.h" - -1168440044 c:\ogresdk\include\ogresubmesh.h - "OgrePrerequisites.h" - "OgreVertexIndexData.h" - "OgreMaterial.h" - "OgreRenderOperation.h" - "OgreVertexBoneAssignment.h" - "OgreProgressiveMesh.h" - "OgreAnimationTrack.h" - -1159139400 c:\ogresdk\include\ogrecompositor.h - "OgrePrerequisites.h" - "OgreIteratorWrappers.h" - "OgreResource.h" - -1161122428 c:\ogresdk\include\ogrecompositormanager.h - "OgrePrerequisites.h" - "OgreResourceManager.h" - "OgreCompositor.h" - "OgreRectangle2D.h" - "OgreCompositorSerializer.h" - "OgreNoMemoryMacros.h" - <boost/thread/tss.hpp> - "OgreMemoryMacros.h" - -1156321112 c:\ogresdk\include\ogrecompositorserializer.h - "OgrePrerequisites.h" - "OgreDataStream.h" - -1165678642 c:\ogresdk\include\ogrecompositorchain.h - "OgrePrerequisites.h" - "OgreRenderTargetListener.h" - "OgreRenderQueueListener.h" - "OgreCompositorInstance.h" - "OgreCompositor.h" - -1157386276 c:\ogresdk\include\ogrecompositorinstance.h - "OgrePrerequisites.h" - "OgreMaterial.h" - "OgreTexture.h" - "OgreRenderQueue.h" - -1156321112 c:\ogresdk\include\ogrecompositiontechnique.h - "OgrePrerequisites.h" - "OgrePixelFormat.h" - "OgreIteratorWrappers.h" - -1156321112 c:\ogresdk\include\ogrecompositionpass.h - "OgrePrerequisites.h" - "OgreMaterial.h" - "OgreRenderSystem.h" - "OgreRenderQueue.h" - -1156321112 c:\ogresdk\include\ogrecompositiontargetpass.h - "OgrePrerequisites.h" - "OgreIteratorWrappers.h" - -1156321116 c:\ogresdk\include\ogrewindoweventutilities.h - "OgrePrerequisites.h" - "OgrePlatform.h" - <windows.h> - -1166161408 c:\ogresdk\include\ogreshadowcamerasetupfocused.h - "OgrePrerequisites.h" - "OgreShadowCameraSetup.h" - "OgrePolygon.h" - "OgreConvexBody.h" - -1165247958 c:\ogresdk\include\ogrepolygon.h - "OgrePrerequisites.h" - "OgreVector3.h" - -1168440042 c:\ogresdk\include\ogreconvexbody.h - "OgrePrerequisites.h" - "OgrePolygon.h" - -1166161408 c:\ogresdk\include\ogreshadowcamerasetuplispsm.h - "OgrePrerequisites.h" - "OgreShadowCameraSetupFocused.h" - -1166222272 c:\ogresdk\include\ogreshadowcamerasetupplaneoptimal.h - "OgrePrerequisites.h" - "OgreShadowCameraSetup.h" - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\include\ogreopcode.h - "OgreOpcodeExports.h" - "OgreCollisionManager.h" - "OgreCollisionContext.h" - "OgreCollisionObject.h" - "OgreCollisionTypes.h" - "OgreMeshCollisionShape.h" - "OgreEntityCollisionShape.h" - "OgrePtrCollisionShape.h" - "OgreBoxCollisionShape.h" - "OgreSphereMeshCollisionShape.h" - "OgreTerrainCollisionShape.h" - "OgreCollisionReporter.h" - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\include\ogreopcodeexports.h - "Ogre.h" - "OgrePrerequisites.h" - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\include\ogrecollisionmanager.h - "OgreOpcodeExports.h" - <Ogre.h> - "OgreCollisionTypes.h" - "OgreNodes.h" - "OgreCollisionContext.h" - "Opcode.h" - "IOgreCollisionShape.h" - <list> - <map> - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\include\ogrecollisiontypes.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\include\ogrenodes.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\include\ogrecollisioncontext.h - <Ogre.h> - "OgreNodes.h" - "OgreCollisionReporter.h" - "OgreCollisionTypes.h" - "OgreOpcodeDebugObject.h" - <Opcode.h> - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\include\ogrecollisionreporter.h - <Ogre.h> - "OgreOpcodeExports.h" - <set> - <map> - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\include\ogreopcodedebugobject.h - "OgreOpcodeExports.h" - "Ogre.h" - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\opcode.h - "OPC_IceHook.h" - "OPC_Settings.h" - "OPC_Common.h" - "OPC_MeshInterface.h" - "OPC_TreeBuilders.h" - "OPC_AABBTree.h" - "OPC_OptimizedTree.h" - "OPC_BaseModel.h" - "OPC_Model.h" - "OPC_HybridModel.h" - "OPC_Collider.h" - "OPC_VolumeCollider.h" - "OPC_TreeCollider.h" - "OPC_RayCollider.h" - "OPC_SphereCollider.h" - "OPC_OBBCollider.h" - "OPC_AABBCollider.h" - "OPC_LSSCollider.h" - "OPC_PlanesCollider.h" - "OPC_Picking.h" - "OPC_BoxPruning.h" - "OPC_SweepAndPrune.h" - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\opc_icehook.h - <stdio.h> - <stdlib.h> - <assert.h> - <string.h> - <float.h> - <math.h> - "Ice/IcePreprocessor.h" - "Ice/IceTypes.h" - "Ice/IceFPU.h" - "Ice/IceMemoryMacros.h" - "Ice/IceUtils.h" - "Ice/IceContainer.h" - "Ice/IcePairs.h" - "Ice/IceRevisitedRadix.h" - "Ice/IceRandom.h" - "Ice/IceAxes.h" - "Ice/IcePoint.h" - "Ice/IceHPoint.h" - "Ice/IceMatrix3x3.h" - "Ice/IceMatrix4x4.h" - "Ice/IcePlane.h" - "Ice/IceRay.h" - "Ice/IceIndexedTriangle.h" - "Ice/IceTriangle.h" - "Ice/IceTriList.h" - "Ice/IceAABB.h" - "Ice/IceOBB.h" - "Ice/IceBoundingSphere.h" - "Ice/IceSegment.h" - "Ice/IceLSS.h" - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\ice\icepreprocessor.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\ice\icetypes.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\ice\icefpu.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\ice\icememorymacros.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\ice\iceutils.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\ice\icecontainer.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\ice\icepairs.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\ice\icerevisitedradix.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\ice\icerandom.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\ice\iceaxes.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\ice\icepoint.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\ice\icehpoint.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\ice\icematrix3x3.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\ice\icematrix4x4.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\ice\iceplane.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\ice\iceray.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\ice\iceindexedtriangle.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\ice\icetriangle.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\ice\icetrilist.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\ice\iceaabb.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\ice\iceobb.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\ice\iceboundingsphere.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\ice\icesegment.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\ice\icelss.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\opc_settings.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\opc_common.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\opc_meshinterface.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\opc_treebuilders.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\opc_aabbtree.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\opc_optimizedtree.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\opc_basemodel.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\opc_model.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\opc_hybridmodel.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\opc_collider.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\opc_volumecollider.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\opc_treecollider.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\opc_raycollider.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\opc_spherecollider.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\opc_obbcollider.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\opc_aabbcollider.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\opc_lsscollider.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\opc_planescollider.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\opc_picking.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\opc_boxpruning.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\opcode132\opc_sweepandprune.h - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\include\iogrecollisionshape.h - "OgreOpcodeExports.h" - <Ogre.h> - "OgreCollisionTypes.h" - "OgreOpcodeDebugObject.h" - "Opcode.h" - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\include\ogrecollisionobject.h - <Ogre.h> - "OgreNodes.h" - "OgreCollisionManager.h" - "OgreCollisionContext.h" - "OgreOpcodeMath.h" - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\include\ogreopcodemath.h - <Ogre.h> - "OgreOpcodeExports.h" - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\include\ogremeshcollisionshape.h - "OgreOpcodeExports.h" - <Ogre.h> - "IOgreCollisionShape.h" - "OgreCollisionTypes.h" - "OgreOpcodeDebugObject.h" - "Opcode.h" - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\include\ogreentitycollisionshape.h - "OgreOpcodeExports.h" - <Ogre.h> - "IOgreCollisionShape.h" - "OgreCollisionTypes.h" - "OgreOpcodeDebugObject.h" - "Opcode.h" - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\include\ogreptrcollisionshape.h - "OgreOpcodeExports.h" - <Ogre.h> - "IOgreCollisionShape.h" - "OgreCollisionTypes.h" - "OgreOpcodeDebugObject.h" - "Opcode.h" - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\include\ogreboxcollisionshape.h - "OgreOpcodeExports.h" - <Ogre.h> - "IOgreCollisionShape.h" - "OgreCollisionTypes.h" - "OgreOpcodeDebugObject.h" - "Opcode.h" - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\include\ogrespheremeshcollisionshape.h - "OgreOpcodeExports.h" - <Ogre.h> - "IOgreCollisionShape.h" - "OgreCollisionTypes.h" - "OgreOpcodeDebugObject.h" - "Opcode.h" - -1174165722 c:\home\src\opengate\branches\ogsector\externals\ogreopcode\include\ogreterraincollisionshape.h - "OgreOpcodeExports.h" - <Ogre.h> - "IOgreCollisionShape.h" - "OgreCollisionTypes.h" - "OgreOpcodeDebugObject.h" - "Opcode.h" - -1175879502 c:\home\src\opengate\branches\ogsector\src\sectorclientframelistener.h - <Ogre.h> - "InputManager.h" - "networkClient.h" - "SectorObjects.h" - -1175876378 c:\home\src\opengate\branches\ogsector\src\inputmanager.h - <OIS/OISEvents.h> - <OIS/OISInputManager.h> - <OIS/OISMouse.h> - <OIS/OISKeyboard.h> - <OIS/OISJoyStick.h> - "windows.h" - -1171217122 c:\ogresdk\include\ois\oismouse.h - "OISObject.h" - "OISEvents.h" - -1171217122 c:\ogresdk\include\ois\oisobject.h - "OISPrereqs.h" - "OISInterface.h" - -1171976394 c:\ogresdk\include\ois\oisprereqs.h - <vector> - <string> - <map> - "OISConfig.h" - -1171217122 c:\ogresdk\include\ois\oisconfig.h - -1171217122 c:\ogresdk\include\ois\oisinterface.h - "OISPrereqs.h" - -1171217122 c:\ogresdk\include\ois\oisevents.h - "OISPrereqs.h" - -1171217122 c:\ogresdk\include\ois\oiskeyboard.h - "OISObject.h" - "OISEvents.h" - -1171217122 c:\ogresdk\include\ois\oisjoystick.h - "OISObject.h" - "OISEvents.h" - -1171217122 c:\ogresdk\include\ois\oisinputmanager.h - "OISPrereqs.h" - -1175879122 c:\home\src\opengate\branches\ogsector\src\networkclient.h - "common.h" - <grapple/grapple.h> - <string> - <vector> - <map> - "networkProtocol.h" - -1175876378 c:\home\src\opengate\branches\ogsector\src\common.h - <config.h> - <sstream> - <iostream> - <cmath> - -1175879018 c:\home\src\opengate\branches\ogsector\src\networkprotocol.h - <iostream> - <sstream> - <string> - <Ogre.h> - -1175879394 c:\home\src\opengate\branches\ogsector\src\sectorobjects.h - <Ogre.h> - <OgreOpcode.h> - "common.h" - "networkProtocol.h" - -1175778098 source:c:\home\src\opengate\branches\ogsector\src\sectorclient.cpp - "SectorClient.h" - -1175778098 c:\home\src\opengate\branches\ogsector\src\sectorclient.h - <Ogre.h> - <OgreConfigFile.h> - "common.h" - "Sector.h" - "SectorClientFrameListener.h" - "networkClient.h" - <list> - -1175879610 source:c:\home\src\opengate\branches\ogsector\src\sectorclientframelistener.cpp - "SectorClientFrameListener.h" - "SectorClient.h" - "networkProtocol.h" - <iostream> - <OgreTextAreaOverlayElement.h> - <OgreFontManager.h> - -1172506520 c:\ogresdk\include\ogretextareaoverlayelement.h - "OgreOverlayElement.h" - "OgreFont.h" - -1172524824 c:\ogresdk\include\ogrefont.h - "OgrePrerequisites.h" - "OgreResource.h" - "OgreTexture.h" - "OgreMaterial.h" - "OgreCommon.h" - -1155988492 c:\ogresdk\include\ogrefontmanager.h - "OgrePrerequisites.h" - "OgreSingleton.h" - "OgreResourceManager.h" - "OgreFont.h" - -1175879306 source:c:\home\src\opengate\branches\ogsector\src\sectorobjects.cpp - "Sector.h" - "SectorObjects.h" - "common.h" - -1175876378 source:c:\home\src\opengate\branches\ogsector\src\common.cpp - "common.h" - -1175876378 source:c:\home\src\opengate\branches\ogsector\src\networkclient.cpp - <config.h> - "networkClient.h" - <iostream> - <sstream> - -1175878712 source:c:\home\src\opengate\branches\ogsector\src\ogsectorclient.cpp - "SectorClient.h" - "networkProtocol.h" - "networkClient.h" - "windows.h" - <iostream> - <sstream> - <fstream> - <string> - <vector> - -1175878648 source:c:\home\src\opengate\branches\ogsector\src\inputmanager.cpp - "InputManager.h" - "OgreStringConverter.h" - Modified: branches/ogsector/win32/ogsectorclient/ogsectorclient.exe =================================================================== (Binary files differ) Deleted: branches/ogsector/win32/ogsectorclient/ogsectorclient.layout =================================================================== --- branches/ogsector/win32/ogsectorclient/ogsectorclient.layout 2007-04-30 17:59:31 UTC (rev 425) +++ branches/ogsector/win32/ogsectorclient/ogsectorclient.layout 2007-04-30 18:20:52 UTC (rev 426) @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> -<CodeBlocks_layout_file> - <ActiveTarget name="Release" /> - <File name="..\..\src\InputManager.cpp" open="1" top="0" tabpos="3"> - <Cursor position="1325" topLine="2" /> - </File> - <File name="..\..\src\InputManager.h" open="1" top="0" tabpos="2"> - <Cursor position="241" topLine="3" /> - </File> - <File name="..\..\src\Sector.cpp" open="1" top="0" tabpos="4"> - <Cursor position="8310" topLine="0" /> - </File> - <File name="..\..\src\Sector.h" open="1" top="0" tabpos="1"> - <Cursor position="55" topLine="0" /> - </File> - <File name="..\..\src\SectorClient.cpp" open="1" top="1" tabpos="15"> - <Cursor position="132" topLine="3" /> - </File> - <File name="..\..\src\SectorClientFrameListener.cpp" open="1" top="0" tabpos="14"> - <Cursor position="6375" topLine="167" /> - </File> - <File name="..\..\src\SectorClientFrameListener.h" open="1" top="0" tabpos="13"> - <Cursor position="1665" topLine="43" /> - </File> - <File name="..\..\src\SectorObjects.cpp" open="1" top="0" tabpos="8"> - <Cursor position="7341" topLine="189" /> - </File> - <File name="..\..\src\SectorObjects.h" open="1" top="0" tabpos="11"> - <Cursor position="2493" topLine="89" /> - </File> - <File name="..\..\src\networkClient.h" open="1" top="0" tabpos="10"> - <Cursor position="3405" topLine="102" /> - </File> - <File name="..\..\src\networkProtocol.h" open="1" top="0" tabpos="5"> - <Cursor position="9305" topLine="326" /> - </File> - <File name="..\..\src\ogsectorclient.cpp" open="1" top="0" tabpos="7"> - <Cursor position="783" topLine="35" /> - </File> -</CodeBlocks_layout_file> Modified: branches/ogsector/win32/ogsectorclient/resources.cfg =================================================================== --- branches/ogsector/win32/ogsectorclient/resources.cfg 2007-04-30 17:59:31 UTC (rev 425) +++ branches/ogsector/win32/ogsectorclient/resources.cfg 2007-04-30 18:20:52 UTC (rev 426) @@ -2,7 +2,10 @@ # Resource locations to be added to the default path [General] +FileSystem=./ FileSystem=../../data +FileSystem=../../data/materials +FileSystem=../../data/textures Zip=../../data/simpleSkybox.zip FileSystem=../../data/MediaFromOgre Zip=../../data/fonts.zip Added: branches/ogsector/win32/ogsectorclient/ships.xml =================================================================== --- branches/ogsector/win32/ogsectorclient/ships.xml (rev 0) +++ branches/ogsector/win32/ogsectorclient/ships.xml 2007-04-30 18:20:52 UTC (rev 426) @@ -0,0 +1,7 @@ +<?xml version="1.0"?> + +<ships> + <Resource id="1" location="../../data/ships/squadrok/squid/squid.xml"/> + <Resource id="2" location="../../../../trunk/data/ships/octavius/apteryx/apteryx.xml" /> + <Resource id="3" location="../../../../trunk/data/ships/quantar/storm/storm.xml" /> +</ships> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <spo...@us...> - 2007-04-30 17:59:30
|
Revision: 425 http://svn.sourceforge.net/opengate/?rev=425&view=rev Author: spom_spom Date: 2007-04-30 10:59:31 -0700 (Mon, 30 Apr 2007) Log Message: ----------- Improved spawn synchronisation and fixed some net issues. Removed unused libgrapple. Modified Paths: -------------- branches/ogsector/configure.ac branches/ogsector/externals/genExternals.sh branches/ogsector/src/LogManager.cpp branches/ogsector/src/LogManager.h branches/ogsector/src/Sector.cpp branches/ogsector/src/Sector.h branches/ogsector/src/SectorClient.cpp branches/ogsector/src/SectorClient.h branches/ogsector/src/SectorClientFrameListener.cpp branches/ogsector/src/SectorObjects.cpp branches/ogsector/src/SectorObjects.h branches/ogsector/src/VesselManager.cpp branches/ogsector/src/VesselManager.h branches/ogsector/src/networkClient.cpp branches/ogsector/src/networkClient.h branches/ogsector/src/networkProtocol.h branches/ogsector/src/networkServer.cpp branches/ogsector/src/networkServer.h branches/ogsector/src/networkServerUser.cpp branches/ogsector/src/networkServerUser.h branches/ogsector/src/ogconsole.cpp branches/ogsector/src/ogsectorclient.cpp Removed Paths: ------------- branches/ogsector/externals/libgrapple branches/ogsector/externals/libgrapple-0.9.1/ Modified: branches/ogsector/configure.ac =================================================================== --- branches/ogsector/configure.ac 2007-04-30 16:27:17 UTC (rev 424) +++ branches/ogsector/configure.ac 2007-04-30 17:59:31 UTC (rev 425) @@ -29,7 +29,7 @@ dnl asio: http://sourceforge.net/projects/asio/ AC_CHECK_HEADER([asio.hpp],, [ - echo "Can't find asio headers. Pleas install the asio development packages." + echo "Can't find asio headers. Please install the asio development packages." echo "You can get them from http://sourceforge.net/projects/asio/" exit 1 ],[]) Modified: branches/ogsector/externals/genExternals.sh =================================================================== --- branches/ogsector/externals/genExternals.sh 2007-04-30 16:27:17 UTC (rev 424) +++ branches/ogsector/externals/genExternals.sh 2007-04-30 17:59:31 UTC (rev 425) @@ -5,7 +5,6 @@ INSTALLPATH=$(pwd) OISPATH='ois' -GRAPPLEPATH='libgrapple' OGREOPCODE='ogreopcode' help(){ @@ -17,13 +16,11 @@ slotAll(){ slotOIS - slotGrapple slotOgreOpcode } slotClean(){ slotOIS clean - slotGrapple clean slotOgreOpcode clean [ -d "$INSTALLPATH/lib/" ] && rm -r $INSTALLPATH/lib/ [ -d "$INSTALLPATH/include/" ] && rm -r $INSTALLPATH/include/ @@ -52,28 +49,6 @@ fi } -slotGrapple(){ - ARG=$1 - - if [ -d "$GRAPPLEPATH" ] - then - cd $GRAPPLEPATH - if [ "$ARG" = "clean" ] - then - [ -f "Makefile" ] && make distclean - rm -rf configure aclocal.m4 autom4te.cache/ ltmain.sh - else - sh autogen.sh - ./configure --prefix=$INSTALLPATH - make - make install - fi - cd .. - else - echo "Cannot find grapple path: $GRAPPLEPATH" - fi -} - slotOgreOpcode(){ ARG=$1 @@ -109,8 +84,6 @@ slotClean;; ois) slotOIS;; - grapple) - slotGrapple;; ogreopcode) slotOgreOpcode;; help) help;; Deleted: branches/ogsector/externals/libgrapple =================================================================== --- branches/ogsector/externals/libgrapple 2007-04-30 16:27:17 UTC (rev 424) +++ branches/ogsector/externals/libgrapple 2007-04-30 17:59:31 UTC (rev 425) @@ -1 +0,0 @@ -link libgrapple-0.9.1/ \ No newline at end of file Modified: branches/ogsector/src/LogManager.cpp =================================================================== --- branches/ogsector/src/LogManager.cpp 2007-04-30 16:27:17 UTC (rev 424) +++ branches/ogsector/src/LogManager.cpp 2007-04-30 17:59:31 UTC (rev 425) @@ -29,8 +29,12 @@ } void LogManager::setConsole( OGConsole * console ){ - console_ = console; - haveConsole_ = true; + if ( console ){ + console_ = console; + haveConsole_ = true; + } else { + haveConsole_ = false; + } } std::string LogManager::timeStamp() { @@ -65,6 +69,11 @@ write_( logMsg ); } +void LogManager::warn( const std::string & msg ){ + std::string logMsg( "WARNING: " + msg ); + write_( logMsg ); +} + void LogManager::fatal( const std::string & msg ){ std::string logMsg( "FATAL: " + msg ); Modified: branches/ogsector/src/LogManager.h =================================================================== --- branches/ogsector/src/LogManager.h 2007-04-30 16:27:17 UTC (rev 424) +++ branches/ogsector/src/LogManager.h 2007-04-30 17:59:31 UTC (rev 425) @@ -34,6 +34,8 @@ void debug( const std::string & msg ); + void warn( const std::string & msg ); + void fatal( const std::string & msg ); void cout( const std::string & msg ); Modified: branches/ogsector/src/Sector.cpp =================================================================== --- branches/ogsector/src/Sector.cpp 2007-04-30 16:27:17 UTC (rev 424) +++ branches/ogsector/src/Sector.cpp 2007-04-30 17:59:31 UTC (rev 425) @@ -33,7 +33,7 @@ starsNode_ = NULL; avatar_ = NULL; - avatarDeathSequenceTime_ = 0.0; + avatarRespawnTime_ = 0.0; sceneMgr_->setAmbientLight( Ogre::ColourValue(0.5, 0.5, 0.5) ); //** Create a light; @@ -253,95 +253,92 @@ planetNode_->setPosition( Ogre::Vector3( 20000.0, 10000.0, 50000 ) + avatar_->mainNode()->getPosition() ); planetNode_->rotate( rot, Ogre::Node::TS_PARENT ); if ( starsNode_ ) starsNode_->setPosition( avatar_->mainNode()->getPosition() ); - } + - - Ogre::Overlay * radar = Ogre::OverlayManager::getSingleton().getByName( "Radar" ); - Ogre::OverlayContainer * radarMap = radar->getChild( "Radar/Map" ); - - int dotAWidth = 4; - int dotAHeight = 2; - float radarRange = 5000; - float radarWidth = radarMap->getWidth() * Ogre::OverlayManager::getSingleton().getViewportWidth(); - float radarHeight = radarMap->getHeight() * Ogre::OverlayManager::getSingleton().getViewportHeight(); - float xScale = radarRange / ( radarWidth / 2.0 ); - float yScale = radarRange / ( radarHeight / 2.0 ); - - for ( std::set< SectorObject * >::iterator it = sectorObjects_.begin(); it != sectorObjects_.end(); it++){ - - Ogre::Vector3 relativPosition( (*it)->mainNode()->getPosition( ) - avatar_->mainNode()->getPosition( ) ); - - if ( relativPosition.length() < radarRange ){ - Ogre::OverlayElement * dotA, * dotB; + Ogre::Overlay * radar = Ogre::OverlayManager::getSingleton().getByName( "Radar" ); + Ogre::OverlayContainer * radarMap = radar->getChild( "Radar/Map" ); + + int dotAWidth = 4; + int dotAHeight = 2; + float radarRange = 5000; + float radarWidth = radarMap->getWidth() * Ogre::OverlayManager::getSingleton().getViewportWidth(); + float radarHeight = radarMap->getHeight() * Ogre::OverlayManager::getSingleton().getViewportHeight(); + float xScale = radarRange / ( radarWidth / 2.0 ); + float yScale = radarRange / ( radarHeight / 2.0 ); + + for ( std::set< SectorObject * >::iterator it = sectorObjects_.begin(); it != sectorObjects_.end(); it++){ - if ( !(*it)->isOnRadar() ) { - dotA = Ogre::OverlayManager::getSingleton().createOverlayElement( "Panel", "Radar/Map/DotA" + (*it)->name() ); - dotA->setMaterialName( "BaseWhite" ); - dotA->setMetricsMode( Ogre::GMM_PIXELS ); - dotA->setWidth( dotAWidth ); - dotA->setHeight( dotAHeight ); - radarMap->addChild( dotA ); + Ogre::Vector3 relativPosition( (*it)->mainNode()->getPosition( ) - avatar_->mainNode()->getPosition( ) ); + + if ( relativPosition.length() < radarRange ){ + Ogre::OverlayElement * dotA, * dotB; - dotB = Ogre::OverlayManager::getSingleton().createOverlayElement( "Panel", "Radar/Map/DotB" + (*it)->name() ); - dotB->setMaterialName( "BaseWhite" ); - dotB->setMetricsMode( Ogre::GMM_PIXELS ); - dotB->setWidth( 1 ); - dotB->setHeight( 1 ); - dotB->setColour( Ogre::ColourValue( 1.0f, 0.0f, 0.0f ) ); - radarMap->addChild( dotB ); + if ( !(*it)->isOnRadar() ) { + dotA = Ogre::OverlayManager::getSingleton().createOverlayElement( "Panel", "Radar/Map/DotA" + (*it)->name() ); + dotA->setMaterialName( "BaseWhite" ); + dotA->setMetricsMode( Ogre::GMM_PIXELS ); + dotA->setWidth( dotAWidth ); + dotA->setHeight( dotAHeight ); + radarMap->addChild( dotA ); + + dotB = Ogre::OverlayManager::getSingleton().createOverlayElement( "Panel", "Radar/Map/DotB" + (*it)->name() ); + dotB->setMaterialName( "BaseWhite" ); + dotB->setMetricsMode( Ogre::GMM_PIXELS ); + dotB->setWidth( 1 ); + dotB->setHeight( 1 ); + dotB->setColour( Ogre::ColourValue( 1.0f, 0.0f, 0.0f ) ); + radarMap->addChild( dotB ); + + (*it)->onRadar( true ); + } else { + dotA = radarMap->getChild( "Radar/Map/DotA" + (*it)->name() ); + dotB = radarMap->getChild( "Radar/Map/DotB" + (*it)->name() ); + } + + Ogre::Quaternion q; + q.FromAngleAxis( -avatar_->mainNode()->getOrientation( ).getYaw(), Ogre::Vector3::UNIT_Y); + relativPosition = q * relativPosition; - (*it)->onRadar( true ); - } else { - dotA = radarMap->getChild( "Radar/Map/DotA" + (*it)->name() ); - dotB = radarMap->getChild( "Radar/Map/DotB" + (*it)->name() ); + Ogre::Plane viewPlane( avatar_->mainNode()->getOrientation().yAxis().normalisedCopy(), + avatar_->mainNode()->getPosition() ); + + float distToPlane = viewPlane.getDistance( (*it)->mainNode()->getPosition( ) ) / yScale; + + dotB->setHeight( fabs( distToPlane ) ); + + dotA->setPosition( radarWidth / 2.0 + relativPosition[ 0 ] / xScale - dotAWidth / 2, + - distToPlane - dotAHeight / 2 + radarHeight / 2.0 + relativPosition[ 2 ] / yScale ); + + if ( distToPlane < 0 ) distToPlane = 0; + + dotB->setPosition( radarWidth / 2.0 + relativPosition[ 0 ] / xScale, + - distToPlane + radarHeight / 2.0 + relativPosition[ 2 ] / yScale ); + } - - Ogre::Quaternion q; - q.FromAngleAxis( -avatar_->mainNode()->getOrientation( ).getYaw(), Ogre::Vector3::UNIT_Y); - relativPosition = q * relativPosition; - - Ogre::Plane viewPlane( avatar_->mainNode()->getOrientation().yAxis().normalisedCopy(), - avatar_->mainNode()->getPosition() ); - - float distToPlane = viewPlane.getDistance( (*it)->mainNode()->getPosition( ) ) / yScale; - - dotB->setHeight( fabs( distToPlane ) ); - - dotA->setPosition( radarWidth / 2.0 + relativPosition[ 0 ] / xScale - dotAWidth / 2, - - distToPlane - dotAHeight / 2 + radarHeight / 2.0 + relativPosition[ 2 ] / yScale ); - - if ( distToPlane < 0 ) distToPlane = 0; - - dotB->setPosition( radarWidth / 2.0 + relativPosition[ 0 ] / xScale, - - distToPlane + radarHeight / 2.0 + relativPosition[ 2 ] / yScale ); - - } - } // if in radarrange + } // if in radarrange + } + for ( std::map< long, SectorObjectMoveable * >::iterator it = movableObjects_.begin(); it != movableObjects_.end();){ + if ( !it->second->update( elapsedTime ) ) { //** object died; - //bool tmpsegfaultDebug = false; - for ( std::map< long, SectorObjectMoveable * >::iterator it = movableObjects_.begin(); it != movableObjects_.end();){ - if ( !it->second->update( elapsedTime ) ) { - // tmpsegfaultDebug = true; - log_->info( "Destructing: " + it->second->name() ); - SectorObjectMoveable * obj = it->second; - // movableObjects_.erase( it++ ); - destructMoveableObject( (it++)->second ); - log_->info( "... done." ); + if ( it->second == avatar_ ) { + if ( avatarRespawnTime_ == 0.0 ){ + sendVesselDeRegister( avatar_ ); + avatarRespawnTime_ = 5.0; + } else { + avatarRespawnTime_ -= elapsedTime; + if ( avatarRespawnTime_ < 0 ){ + spawnAvatar(); + } + } + it++; + } else { //** died object is not avatar; + log_->info( "Destructing: " + it->second->name() ); + destructMoveableObject( (it++)->second ); + log_->info( "done: " ); + } } else ++it; } - -// if ( tmpsegfaultDebug) { -// log_->debug( " tmpsegfaultDebug done." ); -// tmpsegfaultDebug = false; -// } - - if ( avatarDeathSequenceTime_ > 0 ){ - avatarDeathSequenceTime_ -= elapsedTime; - } else if ( avatarDeathSequenceTime_ > -1 ) { - spawnAvatar(); - } - } SectorObjectMoveable * Sector::createMoveableObject( const Ogre::String & name, int userID, int childID, @@ -357,22 +354,36 @@ selectNextTarget( obj ); sectorObjects_.erase( obj ); - Ogre::Overlay * radar = Ogre::OverlayManager::getSingleton().getByName( "Radar" ); - Ogre::OverlayContainer * radarMap = radar->getChild( "Radar/Map" ); - radarMap->removeChild( "Radar/Map/DotA" + obj->name() ); - radarMap->removeChild( "Radar/Map/DotB" + obj->name() ); - Ogre::OverlayManager::getSingleton().destroyOverlayElement( "Radar/Map/DotA" + obj->name() ); - Ogre::OverlayManager::getSingleton().destroyOverlayElement( "Radar/Map/DotB" + obj->name() ); + if ( obj->isOnRadar() ){ + Ogre::Overlay * radar = Ogre::OverlayManager::getSingleton().getByName( "Radar" ); + Ogre::OverlayContainer * radarMap = radar->getChild( "Radar/Map" ); + radarMap->removeChild( "Radar/Map/DotA" + obj->name() ); + radarMap->removeChild( "Radar/Map/DotB" + obj->name() ); + Ogre::OverlayManager::getSingleton().destroyOverlayElement( "Radar/Map/DotA" + obj->name() ); + Ogre::OverlayManager::getSingleton().destroyOverlayElement( "Radar/Map/DotB" + obj->name() ); + } + for ( std::map< long, SectorObjectMoveableAi * >::iterator it = localAiObjects_.begin(); + it != localAiObjects_.end(); it ++ ){ + if ( it->second->target() == obj ){ + log_->warn( std::string( "ai object target: " ) + it->second->name() + " loose target." ); + it->second->setTarget( NULL ); + } + } + switch ( obj->getTypeID() ){ case SECTOROBJECTMOVABLE_RTTI: movableObjects_.erase( obj->globalID() ); delete obj; + obj = NULL; + break; case SECTOROBJECTMOVABLE_AI_RTTI: { + if ( dynamic_cast< SectorObjectMoveableAi *>( obj )->target() == avatar_ ) sendVesselDeRegister( obj ); movableObjects_.erase( obj->globalID() ); - localAiObjects_.erase( dynamic_cast< SectorObjectMoveableAi *>(obj)->childID() ); + localAiObjects_.erase( dynamic_cast< SectorObjectMoveableAi *>(obj)->globalID() ); delete obj; + obj = NULL; } break; default: std::cerr << "object type unknown. this should not happen." << obj->getTypeID() << std::endl; @@ -391,17 +402,15 @@ obj->mainNode()->setPosition( pos ); sectorObjects_.insert( obj ); - - // insertCollisionSectorObject( obj ); } -SectorObjectMoveableAi * Sector::createAiMoveableObject( const Ogre::String & name, int childID, +SectorObjectMoveableAi * Sector::createAiMoveableObject( const Ogre::String & name, int userID, int childID, Vessel & vessel ){ - SectorObjectMoveableAi * obj = new SectorObjectMoveableAi( name, this, network_->userID(), childID, vessel ); + SectorObjectMoveableAi * obj = new SectorObjectMoveableAi( name, this, userID, childID, vessel ); sectorObjects_.insert( obj ); movableObjects_[ obj->globalID() ] = obj ; - localAiObjects_[ obj->childID() ] = obj; + localAiObjects_[ obj->globalID() ] = obj; return obj; } @@ -409,11 +418,14 @@ void Sector::spawnAiObject( ){ int childID = 1; - while ( localAiObjects_.count( childID ) ){ childID ++; } + while ( localAiObjects_.count( createGlobalID( network_->userID(), childID ) ) ){ childID ++; } - SectorObjectMoveableAi *obj = createAiMoveableObject( avatar_->name() + "_Spawn" + Ogre::StringConverter::toString( childID ), childID, *VesselManager::getSingleton().vessel( "squid" ) ); + SectorObjectMoveableAi *obj = createAiMoveableObject( network_->userName() + "_Spawn" + toStr( childID ), + network_->userID(), childID, + *VesselManager::getSingleton().vessel( "squid" ) ); - obj->setTarget( avatar_ ); + if ( avatar_ ) obj->setTarget( avatar_ ); + log_->info( std::string( "Create ai object: ") + obj->name() ); Ogre::Real xmin = -5000.0, xmax = -4000.0; Ogre::Real ymin = -5000.0, ymax = -4000.0; @@ -426,12 +438,12 @@ // obj->mainNode()->setPosition( 0.0f, 0.0f, 200.0f); - MessageBodyShipRegister msg( 0, obj->childID(), obj->name(), obj->mainNode()->getPosition(), - true, obj->vesselBluePrint()->vesselID() ); - network_->send( msg ); + sendVesselRegister( obj ); + sendVesselMovement( obj ); } void Sector::createAvatar( const Ogre::String & playername ){ + log_->info( std::string( "Create avatar: " ) + playername ); avatar_ = new SectorObjectAvatar( playername, this, network_->userID(), *VesselManager::getSingleton().vessel( "apteryx" ) ); //sectorObjects_.insert( obj ); @@ -440,33 +452,30 @@ void Sector::destructAvatar( ){ // sectorObjects_.erase( avatar_ ); + sendVesselDeRegister( avatar_ ); movableObjects_.erase( avatar_->globalID() ); - if ( avatar_ != NULL ) delete avatar_; + if ( avatar_ ) delete avatar_; avatar_ = NULL; } void Sector::avatarDied( ){ - avatarDeathSequenceTime_ = 5.0; - avatar_->setVisible( true ); - MessageBodyShipRegister msg( 0, 0, avatar_->name(), avatar_->mainNode()->getPosition(), false, 0 ); - network_->send( msg ); - listener_->avatarDeathSequence( true ); + if ( avatar_ ){ + avatar_->setVisible( true ); + listener_->avatarDeathSequence( true ); + } } void Sector::spawnAvatar( ){ - if ( avatar_ != NULL ){ - avatarDeathSequenceTime_ = -1.0; - + if ( avatar_ ){ + log_->info( std::string( "Spawn avatar: " ) + avatar_->name() ); + avatarRespawnTime_ = 0.0; + avatar_->reset(); avatar_->mainNode()->setPosition( 0.0, 0.0, 500.0 ); avatar_->mainNode()->setOrientation( Ogre::Quaternion( 1.0, 0.0, 0.0, 0.0 ) ); avatar_->setVelocity( Ogre::Vector3( 0.0, 0.0, -20.0 ) ); - avatar_->reset(); - MessageBodyShipRegister msg( 0, 0, avatar_->name(), avatar_->mainNode()->getPosition(), - true, avatar_->vesselBluePrint()->vesselID() ); - network_->send( msg ); - avatar_->setVisible( false ); + sendVesselRegister( avatar_ ); listener_->avatarDeathSequence( false ); } } @@ -562,66 +571,117 @@ object->attachObject( circle ); } -void Sector::receiveVesselRegister( const MessageBodyShipRegister & msg ){ +void Sector::sendAllVesselMovements( ){ + if ( avatar_ ) sendVesselMovement( avatar_ ); - if ( msg.senderID() != network_->userID() ){ - // std::map< long , SectorObjectMoveable * >::iterator it; +// for ( std::map< int, SectorObjectMoveableAi * >::iterator it = localAiObjects_.begin(); it != localAiObjects_.end(); it ++ ){ +// sendVesselMovement( it->second ); +// } - if ( movableObjects_.count( createGlobalID( msg.senderID(), msg.childID() ) ) ){ - if ( msg.status() == false ){ - log_->info( "Deregistering " + movableObjects_[ createGlobalID( msg.senderID(), msg.childID() ) ]->name() ); - destructMoveableObject( movableObjects_[ createGlobalID( msg.senderID(), msg.childID() ) ] ); - } else { - log_->info( "Object " + msg.name() + " allready registered." ); +} + +void Sector::sendAllVesselInfos( ){ + if ( avatar_ ){ + sendVesselStatus( avatar_ ); + + for ( std::map< long, SectorObjectMoveableAi * >::iterator it = localAiObjects_.begin(); it != localAiObjects_.end(); it ++ ){ + if ( it->second->target() == avatar_ ){ + sendVesselMovement( it->second ); + sendVesselStatus( it->second ); } - } else { - if ( msg.status() == true ){ - log_->info( "Create object " + msg.name()+ " " + toStr( msg.senderID() ) + " " + toStr( (int)msg.childID() ) + " " ); - SectorObjectMoveable * obj = createMoveableObject( msg.name(), msg.senderID(), msg.childID(), - *VesselManager::getSingleton().vessel( msg.vesselID() ) ); - obj->mainNode()->setPosition( msg.position() ); - sendAllVesselStatus( ); - } } } } -void Sector::sendAllVesselMovements( ){ - if ( avatar_ != NULL ){ - MessageBodyShipMovement msg( 0, - avatar_->mainNode()->getPosition(), - avatar_->velDirection(), - avatar_->mainNode()->getOrientation(), - avatar_->thrustPercent(), - avatar_->scaledYaw(), - avatar_->scaledPitch(), - avatar_->scaledRoll(), - avatar_->incNetSequence() ); +void Sector::sendVesselMovement( SectorObjectMoveable * obj ){ + if ( obj ){ + MessageBodyShipMovement msg( obj->childID(), + obj->mainNode()->getPosition(), + obj->velDirection(), + obj->mainNode()->getOrientation(), + obj->thrustPercent(), + obj->scaledYaw(), + obj->scaledPitch(), + obj->scaledRoll(), + obj->incNetSequence() ); + + network_->send( msg ); + } +} +void Sector::sendVesselRegister( SectorObjectMoveable * obj ){ + if ( obj ) { + log_->info( std::string( "Send register " ) + obj->name() ); + MessageBodyShipRegister msg( obj->userID(), obj->childID(), obj->name(), obj->mainNode()->getPosition(), + obj->vesselBluePrint()->vesselID() ); network_->send( msg ); } - for ( std::map< int, SectorObjectMoveableAi * >::iterator it = localAiObjects_.begin(); it != localAiObjects_.end(); it ++ ){ - MessageBodyShipMovement msgObj( it->second->childID(), - it->second->mainNode()->getPosition(), - it->second->velDirection(), - it->second->mainNode()->getOrientation(), - it->second->thrustPercent(), - it->second->scaledYaw(), - it->second->scaledPitch(), - it->second->scaledRoll(), - it->second->incNetSequence() ); +} - network_->send( msgObj ); +void Sector::receiveVesselRegister( const MessageBodyShipRegister & msg ){ + + if ( !movableObjects_.count( createGlobalID( msg.senderID(), msg.childID() ) ) ){ + if ( msg.childID() == 0 ){ + log_->info( "Create player object " + msg.name()+ " " + toStr( msg.senderID() ) + " " + toStr( msg.vesselID() ) ); + SectorObjectMoveable * obj = createMoveableObject( msg.name(), msg.senderID(), msg.childID(), + *VesselManager::getSingleton().vessel( msg.vesselID() ) ); + obj->mainNode()->setPosition( msg.position() ); + } else { + log_->info( "Create ai object " + msg.name()+ " " + toStr( msg.senderID() ) + " " + + toStr( (int)msg.childID() ) + " " + toStr( msg.vesselID() ) ); + + SectorObjectMoveableAi * obj = createAiMoveableObject( msg.name(), msg.senderID(), msg.childID(), + *VesselManager::getSingleton().vessel( msg.vesselID() ) ); + obj->mainNode()->setPosition( msg.position() ); + + if ( movableObjects_.count( createGlobalID( msg.senderID(), 0 ) ) ){ + log_->info( "ai object target: " + movableObjects_[ createGlobalID( msg.senderID(), 0 ) ]->name() ); + obj->setTarget( movableObjects_[ createGlobalID( msg.senderID(), 0 ) ] ); + } + } + + sendAllVesselInfos( ); + + } else { + log_->warn( std::string( "Registering: object allready exist: " ) + + movableObjects_[ createGlobalID( msg.senderID(), msg.childID() ) ]->name() ); } + } +void Sector::sendVesselDeRegister( SectorObjectMoveable * obj ){ + if ( obj ) { + log_->info( std::string( "Send Deregister " ) + obj->name() ); + MessageBodyShipDeRegister msg( 0, obj->childID() ); + network_->send( msg ); + } +} +void Sector::receiveVesselDeRegister( const MessageBodyShipDeRegister & msg ){ + if ( movableObjects_.count( createGlobalID( msg.senderID(), msg.childID() ) ) ){ + log_->info( std::string( "Receive deregister " ) + + movableObjects_[ createGlobalID( msg.senderID(), msg.childID() ) ]->name() ); + + SectorObjectMoveable *obj = movableObjects_[ createGlobalID( msg.senderID(), msg.childID() ) ]; + + destructMoveableObject( obj ); + + } else { + log_->warn( std::string( "Deregistering request for unknown object: " ) + + toStr( msg.senderID() ) + ": " + toStr( msg.childID() ) ); + } +} + void Sector::receiveVesselMovement( const std::vector < MessageBodyShipMovement * > & movements ){ std::map < long, const MessageBodyShipMovement * > singleMsg; //** we sort the movement messaged for ( size_t i = 0; i < movements.size(); i ++ ){ +// LogManager::getSingleton().debug( std::string( "Movement: " ) + +// movableObjects_[ createGlobalID( movements[ i ]->senderID(), movements[ i ]->childID() )]->name() + " " + toStr( movements[ i ]->senderID() ) + " " + toStr( (int)movements[ i ]->childID() ) + +// " " + toStr( movements[ i ]->position() ) ); + if ( movements[ i ]->senderID() != network_->userID() ){ //** apply only foreign movements, and take just the actual movement singleMsg[ createGlobalID( movements[ i ]->senderID(), movements[ i ]->childID() ) ] = movements[ i ]; @@ -639,38 +699,35 @@ << i->second->position() << " this should not happen." << std::endl; } } + for ( size_t i = 0; i < movements.size(); i ++ ){ + delete movements[ i ]; + } + } -void Sector::sendAllVesselStatus( ){ - if ( avatar_ != NULL ){ - sendVesselStatus( *avatar_ ); +void Sector::sendVesselStatus( SectorObjectMoveable * obj ){ + if ( obj ){ + MessageBodyShipStatus msg( obj->childID(), + obj->shieldPercent(), + obj->armorPercent(), + obj->firePressed(), + obj->afterburnerPressed(), + obj->breakPressed() ); + network_->send( msg ); } -// for ( std::map< int, SectorObjectMoveableAi * >::iterator it = localAiObjects_.begin(); it != localAiObjects_.end(); it ++ ){ -// sendVesselStatus( *(it->second) ); -// } } -void Sector::sendVesselStatus( const SectorObjectMoveable & obj ){ - MessageBodyShipStatus msg( obj.childID(), - obj.shieldPercent(), - obj.armorPercent(), - obj.firePressed(), - obj.afterburnerPressed(), - obj.breakPressed() ); - network_->send( msg ); -} - void Sector::receiveVesselStatus( const MessageBodyShipStatus & msg ){ if ( msg.senderID() != network_->userID() ){ std::map< long, SectorObjectMoveable * >::iterator it; if ( ( it = movableObjects_.find( createGlobalID( msg.senderID(), msg.childID() ) ) ) != movableObjects_.end() ){ - log_->cout( "ReceiveVesselStatus for " + it->second->name( ) ); + log_->debug( "ReceiveVesselStatus for " + it->second->name( ) ); it->second->setStatus( msg ); } else { log_->fatal( "Requested non existant object for shipstatus: " + - network_->userName( msg.senderID() ) + " this should not happen." ); + network_->userName( msg.senderID() ) + " this should not happen." ); } } } Modified: branches/ogsector/src/Sector.h =================================================================== --- branches/ogsector/src/Sector.h 2007-04-30 16:27:17 UTC (rev 424) +++ branches/ogsector/src/Sector.h 2007-04-30 17:59:31 UTC (rev 425) @@ -35,7 +35,7 @@ SectorObjectMoveable * createMoveableObject( const Ogre::String & name, int userId, int childId, Vessel & vessel ); - SectorObjectMoveableAi * createAiMoveableObject( const Ogre::String & name, int childId, Vessel & vessel ); + SectorObjectMoveableAi * createAiMoveableObject( const Ogre::String & name, int userId, int childId, Vessel & vessel ); void destructMoveableObject( SectorObjectMoveable * obj ); @@ -62,20 +62,22 @@ SectorObject * prevTarget( ); + void sendAllVesselInfos( ); + void sendAllVesselMovements( ); + + void sendVesselRegister( SectorObjectMoveable * obj ); void receiveVesselRegister( const MessageBodyShipRegister & msg ); - void sendAllVesselStatus( ); + void sendVesselDeRegister( SectorObjectMoveable * obj ); + void receiveVesselDeRegister( const MessageBodyShipDeRegister & msg ); - void sendAllVesselMovements( ); - + void sendVesselMovement( SectorObjectMoveable * obj ); void receiveVesselMovement( const std::vector < MessageBodyShipMovement * > & movements ); - void sendVesselStatus( const SectorObjectMoveable & obj ); - + void sendVesselStatus( SectorObjectMoveable * obj ); void receiveVesselStatus( const MessageBodyShipStatus & msg ); void sendVesselAmmoHit( const Projectile & projectile, BaseObject * victim ); - void receiveVesselAmmoHit( const MessageBodyShipAmmoHit & msg ); protected: @@ -97,9 +99,9 @@ std::set< SectorObject * >::iterator itTarget_; std::map< long, SectorObjectMoveable * > movableObjects_; - std::map< int, SectorObjectMoveableAi * > localAiObjects_; + std::map< long, SectorObjectMoveableAi * > localAiObjects_; - float avatarDeathSequenceTime_; + float avatarRespawnTime_; }; Modified: branches/ogsector/src/SectorClient.cpp =================================================================== --- branches/ogsector/src/SectorClient.cpp 2007-04-30 16:27:17 UTC (rev 424) +++ branches/ogsector/src/SectorClient.cpp 2007-04-30 17:59:31 UTC (rev 425) @@ -2,15 +2,6 @@ namespace OpenGate{ -void SectorClient::createScene( ){ - sector_ = new Sector( sceneMgr_, network_ ); - sector_->createAvatar( network_->userName() ); -} - -void SectorClient::destroyScene( ){ - if ( sector_ != NULL ) delete sector_; -} - bool SectorClient::setup( bool dialog ){ root_ = new Ogre::Root; @@ -37,8 +28,9 @@ // Create the scene vesselManager_ = new VesselManager( ); + vesselManager_->loadVessels( resourcePaths_, "ships.xml" ); - createScene(); + sector_ = new Sector( sceneMgr_, network_ ); inputManager_ = new InputManager( ); @@ -58,8 +50,7 @@ // OgreConsole::getSingleton().addCommand("quit",&CMD_Quit); // OgreConsole::getSingleton().addCommand("screenshot",&CMD_Screenshot); - - sector_->spawnAvatar(); + return true; } @@ -80,6 +71,7 @@ typeName = i->first; archName = i->second; Ogre::ResourceGroupManager::getSingleton().addResourceLocation( archName, typeName, secName ); + resourcePaths_.insert( archName ); } } } Modified: branches/ogsector/src/SectorClient.h =================================================================== --- branches/ogsector/src/SectorClient.h 2007-04-30 16:27:17 UTC (rev 424) +++ branches/ogsector/src/SectorClient.h 2007-04-30 17:59:31 UTC (rev 425) @@ -31,19 +31,49 @@ console_ = NULL; } - virtual ~SectorClient(){ - if ( console_ != NULL ) delete console_; - if ( frameListener_ != NULL ) delete frameListener_; - if ( inputManager_ != NULL ) delete inputManager_; + virtual ~SectorClient(){ + shutdown(); if ( root_ != NULL ) delete root_; } + void shutdown(){ + if ( console_ != NULL ) { + LogManager::getSingleton().debug( "Shutdown console." ); + delete console_; + console_ = NULL; + } + if ( frameListener_ != NULL ) { + LogManager::getSingleton().info( "Shutdown framelistener." ); + delete frameListener_; + frameListener_ = NULL; + } + if ( inputManager_ != NULL ) { + LogManager::getSingleton().info( "Shutdown inputmanager." ); + delete inputManager_; + inputManager_ = NULL; + } + if ( sector_ != NULL ) { + LogManager::getSingleton().info( "Shutdown sector." ); + delete sector_; + sector_ = NULL; + } + if ( vesselManager_ ){ + LogManager::getSingleton().info( "Shutdown vesselmanager." ); + delete vesselManager_; + vesselManager_ = NULL; + } + } + virtual void go( bool dialog ){ if ( !setup( dialog ) ) return; + sector_->createAvatar( network_->userName() ); + sector_->spawnAvatar(); + root_->startRendering(); - - destroyScene(); + + sector_->destructAvatar( ); + shutdown(); } protected: @@ -63,11 +93,6 @@ virtual void createFrameListener( ); - virtual void createScene( ); - - virtual void destroyScene( ); - - NetworkClient * network_; Ogre::Root * root_; SectorClientFrameListener * frameListener_; @@ -80,6 +105,8 @@ VesselManager * vesselManager_; OGConsole * console_; + + std::set < std::string > resourcePaths_; }; } // namespace OpenGate Modified: branches/ogsector/src/SectorClientFrameListener.cpp =================================================================== --- branches/ogsector/src/SectorClientFrameListener.cpp 2007-04-30 16:27:17 UTC (rev 424) +++ branches/ogsector/src/SectorClientFrameListener.cpp 2007-04-30 17:59:31 UTC (rev 425) @@ -125,31 +125,44 @@ std::vector < MessageBodyShipMovement * > movements; network_->pull( msgs ); - for ( size_t i = 0; i < msgs.size(); i ++ ){ - switch ( msgs[ i ][ 0 ] ){ - case PROTO_CHAT:{ - network_->ping(); - MessageBodyChat msg( &msgs[ i ][ 0 ] ); - sector_->log()->chat( network_->userName( msg.senderID() ), msg.message() ); - } break; - case PROTO_SHIPREGISTER: - sector_->receiveVesselRegister( &msgs[ i ][ 0 ] ); break; - case PROTO_SHIPSTATUS: - sector_->receiveVesselStatus( &msgs[ i ][ 0 ] ); break; - case PROTO_SHIPMOVEMENT:{ - //** we handle that in sum, so we can ignore dups because of packet loss - MessageBodyShipMovement msg( &msgs[ i ][ 0 ] ); - movements.push_back( &msg ); - } break; - case PROTO_SHIPAMMOHIT: - sector_->receiveVesselAmmoHit( &msgs[ i ][ 0 ] ); break; - default: - std::cerr << "PROTO type unknown: " << msgs[ i ][ 0 ] << " " << msgs[ i ].size() << std::endl; - break; + if ( msgs.size() > 0 ) { + + // LogManager::getSingleton().debug( std::string( "Pullcount: " ) + toStr( msgs.size() ) ); + + for ( size_t i = 0; i < msgs.size(); i ++ ){ + +// LogManager::getSingleton().debug( std::string( "Pull: " ) + toStr( (int)msgs[ i ][ 0 ] ) ); +// if ( msgs[ i ][ 0 ] == PROTO_SHIPMOVEMENT ) { +// MessageBodyShipMovement m( &msgs[ i ][ 0 ] ); +// std::cout << m << std::endl; +// } + + switch ( msgs[ i ][ 0 ] ){ + case PROTO_CHAT:{ + network_->ping(); + MessageBodyChat msg( &msgs[ i ][ 0 ] ); + sector_->log()->chat( network_->userName( msg.senderID() ), msg.message() ); + } break; + case PROTO_SHIPREGISTER: + sector_->receiveVesselRegister( &msgs[ i ][ 0 ] ); break; + case PROTO_SHIPDEREGISTER: + sector_->receiveVesselDeRegister( &msgs[ i ][ 0 ] ); break; + case PROTO_SHIPSTATUS: + sector_->receiveVesselStatus( &msgs[ i ][ 0 ] ); break; + case PROTO_SHIPMOVEMENT:{ + //** we handle that in sum, so we can ignore dups because of packet loss + MessageBodyShipMovement *msg = new MessageBodyShipMovement( &msgs[ i ][ 0 ] ); + movements.push_back( msg ); + } break; + case PROTO_SHIPAMMOHIT: + sector_->receiveVesselAmmoHit( &msgs[ i ][ 0 ] ); break; + default: + std::cerr << "PROTO type unknown: " << msgs[ i ][ 0 ] << " " << msgs[ i ].size() << std::endl; + break; + } } + if ( movements.size() > 0 ) sector_->receiveVesselMovement( movements ); } - if ( movements.size() > 0 ) sector_->receiveVesselMovement( movements ); - //** end capture network; // max 1000 sector-updates/second @@ -232,9 +245,9 @@ sector_->avatar()->setScaledRoll( 0.0 ); } //** selfdestruct and eject; - if ( e.key == OIS::KC_F11 ) { sector_->avatarDied(); } - if ( e.key == OIS::KC_F5 ){ duelistPilot_ = !duelistPilot_; } - if ( e.key == OIS::KC_F6 ){ duelistTarget_ = !duelistTarget_; } + if ( e.key == OIS::KC_F8 ) { sector_->avatar()->deathSequence( 0 ); } + if ( e.key == OIS::KC_F5 ) { duelistPilot_ = !duelistPilot_; } + if ( e.key == OIS::KC_F6 ) { duelistTarget_ = !duelistTarget_; } } // if avatar; //** next Target; Modified: branches/ogsector/src/SectorObjects.cpp =================================================================== --- branches/ogsector/src/SectorObjects.cpp 2007-04-30 16:27:17 UTC (rev 424) +++ branches/ogsector/src/SectorObjects.cpp 2007-04-30 17:59:31 UTC (rev 425) @@ -255,7 +255,6 @@ } void SectorObjectMoveable::setFlightProperties( const MessageBodyShipMovement & msg ){ - if ( forceMovement_ ){ mainNode_->setPosition( msg.position() ); mainNode_->setOrientation( msg.orientation() ); @@ -298,7 +297,7 @@ interpolateRot_ = diff * srcQ.Inverse(); // if ( msg.childID() > 0 ){ - if ( !1 ){ + if ( !1 ){ std::cout << std::endl; std::cout << msg.sequenceNr() << "LastFrameCount: " << lastFrameCount_ @@ -560,27 +559,27 @@ bool SectorObjectMoveable::deathSequence( Ogre::Real elapsedTime ){ if ( !deathSequence_ ){ + setVisible( false ); setSelectable( false ); sector_->selectNextTarget( this ); LogManager::getSingleton().info( name_ + " destroyed." ); + if ( !explosion_ ){ explosion_ = sceneMgr_->createParticleSystem( name_ + "ExplosionSystem", "OpenGate/ExplosionStart" ); mainNode_->attachObject( explosion_ ); - explosion_->getEmitter( 0 )->setEnabled( true ); - explodeSequenceTime_ = explosion_->getEmitter( 0 )->getDuration() + explosion_->getEmitter( 0 )->getMaxTimeToLive(); } + explosion_->getEmitter( 0 )->setEnabled( true ); + explodeSequenceTime_ = explosion_->getEmitter( 0 )->getDuration() + explosion_->getEmitter( 0 )->getMaxTimeToLive(); + if ( thrusterBbs_ ) thrusterBbs_->setVisible( false ); percentageThrust_ = 0; updateThruster(); + deathSequence_ = true; } - deathSequence_ = true; explodeSequenceTime_ -= elapsedTime; if ( explodeSequenceTime_ > 0 || projectiles_.size() > 0 ) { - setVisible( false ); - //mainNode_->showBoundingBox( true ); - return true; } else { explosion_->getEmitter( 0 )->setEnabled( false ); @@ -641,7 +640,7 @@ } if ( statusChanged_ ){ - sector_->sendVesselStatus( *this ); + sector_->sendVesselStatus( this ); statusChanged_ = false; }; @@ -705,7 +704,7 @@ bool SectorObjectAvatar::update( Ogre::Real elapsedTime ){ if ( statusChanged_ ){ - sector_->sendVesselStatus( *this ); + sector_->sendVesselStatus( this ); statusChanged_ = false; }; return SectorObjectMoveable::update( elapsedTime ); @@ -724,10 +723,7 @@ sector_->avatarDied( ); } - SectorObjectMoveable::deathSequence( elapsedTime ); - - //** return always true, this object should not be automatic destroyed by the sector - return true; + return SectorObjectMoveable::deathSequence( elapsedTime ); } Modified: branches/ogsector/src/SectorObjects.h =================================================================== --- branches/ogsector/src/SectorObjects.h 2007-04-30 16:27:17 UTC (rev 424) +++ branches/ogsector/src/SectorObjects.h 2007-04-30 17:59:31 UTC (rev 425) @@ -322,6 +322,9 @@ inline virtual long getTypeID() const { return SECTOROBJECTMOVABLE_AI_RTTI; } virtual void setTarget( SectorObject * target ){ target_ = target; } + + virtual SectorObject * target( ){ return target_; } + // virtual searchTarget( SectorObjectMoveable * target ){ target_ = target; } virtual bool update( Ogre::Real elapsedTime ); Modified: branches/ogsector/src/VesselManager.cpp =================================================================== --- branches/ogsector/src/VesselManager.cpp 2007-04-30 16:27:17 UTC (rev 424) +++ branches/ogsector/src/VesselManager.cpp 2007-04-30 17:59:31 UTC (rev 425) @@ -9,7 +9,6 @@ VesselManager::VesselManager(){ log_ = LogManager::getSingletonPtr(); - loadVessels( ); } VesselManager::~VesselManager(){ @@ -19,56 +18,45 @@ vesselID_.end(); } -void VesselManager::loadVessels( ){ - - std::string shipResourceFile = "./data/ships.xml"; - TiXmlDocument doc( shipResourceFile ); - bool loadOkay = doc.LoadFile(); +void VesselManager::loadVessels( const std::set < std::string > & resourcePaths, const std::string & resourceName ){ - std::map < int, std::string > ships; + for ( std::set < std::string >::iterator it = resourcePaths.begin(); it != resourcePaths.end(); it ++ ){ + std::string shipResourceFile( (*it) + "/" + resourceName ); - if ( loadOkay ) { - TiXmlHandle docHandle( &doc ); - TiXmlElement* pElem; - TiXmlHandle hRoot( 0 ); - - //** block: Ships; - pElem = docHandle.FirstChildElement().Element(); - hRoot = TiXmlHandle( pElem ); + TiXmlDocument doc( shipResourceFile ); + bool loadOkay = doc.LoadFile(); - if ( pElem ) { - log_->debug( pElem->Value() ); - for ( pElem = hRoot.FirstChild( "Resource" ).Element(); pElem != 0; pElem = pElem->NextSiblingElement() ) { - log_->info( std::string( "Found ressource: " ) + pElem->Attribute("location") ); - ships[ toInt( pElem->Attribute("id") ) ] = pElem->Attribute("location"); - } - } else { - log_->fatal( shipResourceFile + " cannot read first node." ); - } - } else { - log_->fatal( shipResourceFile + " cannot read shipResourceFile." ); - } - - - for ( std::map < int, std::string >::iterator it = ships.begin(); it != ships.end(); it ++ ){ - Vessel * vessel = loadAndCreateVessel( it->second ); - if ( vessel ){ - if ( vessel->name().length() > 0 && vessel->factionName().length() > 0 ){ - vesselID_[ it->first ] = vessel; - vessel->setVesselID( it->first ); - vessels_[ vessel->name() ] = vessel; - factions_.insert( vessel->factionName() ); - log_->info( std::string( "Loaded: " ) + vessel->factionName() + "/" + vessel->name() ); + std::map < int, std::string > ships; + + if ( loadOkay ) { + log_->info( std::string( "open resource file for ships: ") + shipResourceFile ); + TiXmlHandle docHandle( &doc ); + TiXmlElement* pElem; + TiXmlHandle hRoot( 0 ); + + //** block: Ships; + pElem = docHandle.FirstChildElement().Element(); + hRoot = TiXmlHandle( pElem ); + + if ( pElem ) { + for ( pElem = hRoot.FirstChild( "Resource" ).Element(); pElem != 0; pElem = pElem->NextSiblingElement() ) { + log_->info( std::string( "Found ressource: " ) + pElem->Attribute("location") ); + ships[ toInt( pElem->Attribute("id") ) ] = pElem->Attribute("location"); + } } else { - log_->fatal( it->second + " has no valid name and factionname." ); + log_->fatal( shipResourceFile + " cannot read first node." ); } } else { - log_->fatal( it->second + " is no valid vessel description." ); + // log_->info( shipResourceFile + " cannot open shipResourceFile." ); } + + for ( std::map < int, std::string >::iterator it = ships.begin(); it != ships.end(); it ++ ){ + loadAndCreateVessel( it->first, it->second ); + } } } -Vessel * VesselManager::loadAndCreateVessel( const std::string & fileName ){ +Vessel * VesselManager::loadAndCreateVessel( int vesselID, const std::string & fileName ){ TiXmlDocument doc( fileName ); bool loadOkay = doc.LoadFile(); @@ -94,9 +82,20 @@ Vessel *vessel = new Vessel(); pElem = hRoot.ChildElement( "faction", 0 ).Element(); - if ( pElem ) vessel->setFactionName( pElem->FirstChild()->Value() ); + if ( pElem ) { + vessel->setFactionName( pElem->FirstChild()->Value() ); + } else { + log_->fatal( fileName + " has no mandatory factionname (mandatory)." ); + return NULL; + } pElem = hRoot.ChildElement( "name", 0 ).Element(); - if ( pElem ) vessel->setName( pElem->FirstChild()->Value() ); + if ( pElem ) { + vessel->setName( pElem->FirstChild()->Value() ); + } else { + log_->fatal( fileName + " has no name (mandatory)." ); + return NULL; + } + pElem = hRoot.ChildElement( "class", 0 ).Element(); if ( pElem ) vessel->setClassName( pElem->FirstChild()->Value() ); @@ -159,6 +158,18 @@ return NULL; } + if ( vessels_.count( vessel->name() ) == 0 ){ + vessel->setVesselID( vesselID ); + vessels_[ vessel->name() ] = vessel; + vesselID_[ vesselID ] = vessel; + + factions_.insert( vessel->factionName() ); + log_->info( std::string( "Loaded: " ) + vessel->factionName() + "/" + vessel->name() ); + } else { + log_->warn( std::string( "Ship with name: " ) + vessel->factionName() + "/" + vessel->name() + + " allready loaded" ); + } + return vessel; } else { log_->fatal( fileName + " is no ship description" ); Modified: branches/ogsector/src/VesselManager.h =================================================================== --- branches/ogsector/src/VesselManager.h 2007-04-30 16:27:17 UTC (rev 424) +++ branches/ogsector/src/VesselManager.h 2007-04-30 17:59:31 UTC (rev 425) @@ -175,11 +175,12 @@ static VesselManager * getSingletonPtr( ); VesselManager(); + ~VesselManager(); + + void loadVessels( const std::set < std::string > & resourcePaths, const std::string & resourceName ); - void loadVessels( ); - - Vessel * loadAndCreateVessel( const std::string & filename ); + Vessel * loadAndCreateVessel( int vesselID, const std::string & filename ); Vessel * vessel( int vesselID ){ if ( vesselID_.count( vesselID ) ){ Modified: branches/ogsector/src/networkClient.cpp =================================================================== --- branches/ogsector/src/networkClient.cpp 2007-04-30 16:27:17 UTC (rev 424) +++ branches/ogsector/src/networkClient.cpp 2007-04-30 17:59:31 UTC (rev 425) @@ -11,10 +11,11 @@ : io_service_( io_service ), socket_( io_service ), resolver_( io_service ), hostname_( hostName ), online_( false ){ + log_ = LogManager::getSingletonPtr(); pingTime_ = 0; userID_ = 0; - std::cout << "Connecting to " << hostname_ << ":" << 1234 << std::endl; + log_->info( std::string( "Connecting to " ) + hostname_ + ":" + toStr( 1234 ) ); asio::error error = asio::error::host_not_found; try{ @@ -27,19 +28,18 @@ socket_.connect( *endpoint_iterator++, asio::assign_error( error ) ); } } catch ( asio::error & e) { - std::cerr << e << std::endl; + log_->fatal( e.what() ); } catch ( std::exception & e) { - std::cerr << "Exception: " << e.what() << std::endl; + log_->fatal( std::string( "Exception: " ) + e.what() ); } catch (...) { } if ( !error ){ - std::cout << "Connected: waiting for userID. " << std::endl; + log_->info( "Connected: waiting for userID. " ); online_ = true; asio::async_read( socket_, asio::buffer( readMsg_.data(), Message::HeaderLength+MessageBodyUserID( 0 ).dataSize() ), - boost::bind( & NetworkClient::handleReceiveUserID, this, - asio::placeholders::error ) ); + boost::bind( & NetworkClient::handleReceiveUserID, this, asio::placeholders::error ) ); } else { - std::cout << error << std::endl; + log_->fatal( error.what() ); } } @@ -95,8 +95,8 @@ userID_ = (int)msg.userID(); } break; default: - std::cerr << " unknown MESSAGE_PROTO " << base.type() << std::endl; - std::cerr << " wait for userid " << std::endl; + log_->fatal( std::string( "unknown MESSAGE_PROTO " ) + toStr( base.type() ) ); + log_->fatal( "wait for userid " ); asio::async_read( socket_, asio::buffer( readMsg_.data(), Message::HeaderLength+MessageBodyUserID( 0 ).dataSize() ), boost::bind( & NetworkClient::handleReceiveUserID, this, @@ -108,7 +108,7 @@ boost::bind( & NetworkClient::handleReadMessageHeader, this, asio::placeholders::error ) ); } else { - std::cout << "handleReceiveUserID: " << " " << error << std::endl; + log_->fatal( std::string( "handleReceiveUserID: " ) + error.what() ); } } } @@ -122,7 +122,7 @@ boost::bind( &NetworkClient::handleReadMessageBody, this, asio::placeholders::error ) ); } else { - std::cout << "handleReadMessageHeader: " << " " << error << std::endl; + log_->fatal( std::string( "handleReadMessageHeader: " ) + error.what() ); doClose(); } } @@ -137,27 +137,33 @@ switch( base.type() ){ case PROTO_USERNAME: { MessageBodyUserName msg( readMsg_.body() ); - std::cout << "New user = " << (int)msg.senderID() << " " << msg.userName() << std::endl; + log_->info( std::string( "New user = " ) + toStr((int)msg.senderID()) + " " + msg.userName() ); users_[ (int)msg.senderID() ] = msg.userName(); } break; case PROTO_CONNECTION_REFUSED: { MessageBodyConnectionRefused msg( readMsg_.body() ); switch ( msg.reason() ){ case CONNECTION_REFUSED_USER_ALREADY_EXIST: - std::cerr << "Connection refused: " << userName_ << " already conneced to the server" << std::endl; + log_->fatal( std::string( "Connection refused: " ) + userName_ + " already conneced to the server" ); doClose(); online_ = false; break; default: - std::cerr << "Connection refused for unknown reason:" << msg.reason() << std::endl; + log_->fatal( std::string("Connection refused for unknown reason: " ) + toStr( msg.reason() ) ); } } break; case PROTO_DISCONNECT: { MessageBodyDisconnect msg( readMsg_.body() ); - std::cout << "Disconnect user = " << (int)msg.userID() << " " << userName( (int)msg.userID() ) << std::endl; + log_->info( std::string( "Disconnect user = " ) + toStr( (int)msg.userID() ) + " " + + userName( (int)msg.userID() ) ); users_.erase( users_.find( (int)msg.userID() ) ) ; } break; default: +// if ( base.type() == PROTO_SHIPMOVEMENT ) { +// MessageBodyShipMovement m( readMsg_.body() ); +// std::cout << m << std::endl; +// } + std::vector < char > vec( readMsg_.bodyLength() ); vec.resize( readMsg_.bodyLength() ); memcpy( &vec[ 0 ], (char*)readMsg_.body(), readMsg_.bodyLength() ); @@ -168,7 +174,7 @@ boost::bind( & NetworkClient::handleReadMessageHeader, this, asio::placeholders::error ) ); } else { - std::cout << "handleReadMessageBody error: " << " " << error << std::endl; + log_->fatal( std::string( "handleReadMessageBody error: " ) + error.what() ); doClose(); } } @@ -199,7 +205,7 @@ asio::placeholders::error ) ); } } else { - std::cout << "handleWrite: " << " " << error << std::endl; + log_->fatal( std::string( "handleWrite: " ) + error.what() ); doClose(); } } @@ -207,7 +213,8 @@ void NetworkClient::doClose() { if ( online_ ){ - std::cout << "User disconnected." << std::endl; + sleep( 1 ); + // log_->info( std::string( "Network closed, user disconnected." ) ); socket_.close(); pingTime_ = -1; online_ = false; Modified: branches/ogsector/src/networkClient.h =================================================================== --- branches/ogsector/src/networkClient.h 2007-04-30 16:27:17 UTC (rev 424) +++ branches/ogsector/src/networkClient.h 2007-04-30 17:59:31 UTC (rev 425) @@ -4,6 +4,7 @@ #include <asio.hpp> #include <boost/bind.hpp> +#include "LogManager.h" #include "networkProtocol.h" using asio::ip::tcp; @@ -80,6 +81,7 @@ Uint32 userID_; float pingTime_; + LogManager *log_; }; } //namespace OpenGate Modified: branches/ogsector/src/networkProtocol.h =================================================================== --- branches/ogsector/src/networkProtocol.h 2007-04-30 16:27:17 UTC (rev 424) +++ branches/ogsector/src/networkProtocol.h 2007-04-30 17:59:31 UTC (rev 425) @@ -42,9 +42,10 @@ #define PROTO_CHAT 7 #define PROTO_SHIPBASE 10 #define PROTO_SHIPREGISTER 11 -#define PROTO_SHIPSTATUS 12 -#define PROTO_SHIPMOVEMENT 13 -#define PROTO_SHIPAMMOHIT 14 +#define PROTO_SHIPDEREGISTER 12 +#define PROTO_SHIPSTATUS 13 +#define PROTO_SHIPMOVEMENT 14 +#define PROTO_SHIPAMMOHIT 15 #define PROTO_TEST 255 #define CONNECTION_REFUSED_USER_ALREADY_EXIST 1 @@ -103,6 +104,11 @@ virtual int dataSize() const { return sizeof( Uint8 ) + sizeof( Uint32 ); } + friend std::ostream & operator << ( std::ostream & str, const MessageBodyBase & msg ){ + str << "Type: " << (int)( msg.type() ) << " senderID: " << msg.senderID() ; + return str; + } + protected: Uint8 type_; Uint32 senderID_; @@ -267,27 +273,20 @@ class MessageBodyShipRegister : public MessageBodyShipBase { public: - MessageBodyShipRegister( const Uint32 senderID, Uint8 childID, const std::string & name, - const Ogre::Vector3 & pos, Uint8 status, Uint8 vesselID ) - : MessageBodyShipBase( childID ), name_( name ), pos_( pos ), status_( status ), vesselID_( vesselID ){ + MessageBodyShipRegister( const Uint32 senderID, const Uint8 childID, const std::string & name, + const Ogre::Vector3 & pos, Uint16 vesselID ) + : MessageBodyShipBase( childID ), name_( name ), pos_( pos ), vesselID_( vesselID ){ senderID_ = senderID; type_ = (Uint8)PROTO_SHIPREGISTER; } - MessageBodyShipRegister( const Uint32 senderID, Uint8 childID, Uint8 status ) - : MessageBodyShipBase( childID ), name_( "" ), status_( status ){ - senderID_ = senderID; - type_ = (Uint8)PROTO_SHIPREGISTER; - } - MessageBodyShipRegister( const char * data ) : MessageBodyShipBase( data ){ int count = MessageBodyShipBase::dataSize(); readFromData( nameLength_, data, count ); std::string msg( (char*) &data[ count ], nameLength_ ); count += nameLength_; name_ = msg; - readFromData( pos_, data, count ); - readFromData( status_, data, count ); + readFromData( pos_, data, count ); readFromData( vesselID_, data, count ); } @@ -298,10 +297,9 @@ nameLength_ = name_.length(); writeToOut( out_, nameLength_ ); - out_.write( ( char* )( name_.c_str() ), sizeof( char ) * nameLength_ ); + out_.write( ( char* )( name_.c_str() ), sizeof( char ) * nameLength_ ); writeToOut( out_, pos_ ); - writeToOut( out_, status_ ); writeToOut( out_, vesselID_ ); } @@ -309,18 +307,38 @@ Ogre::Vector3 position() const { return pos_; } - Uint8 status( ) const { return status_; } - Uint16 vesselID() const { return vesselID_; } protected: Uint16 nameLength_; std::string name_; Ogre::Vector3 pos_; - Uint8 status_; Uint16 vesselID_; }; +class MessageBodyShipDeRegister : public MessageBodyShipBase { +public: + MessageBodyShipDeRegister( const Uint32 senderID, const Uint8 childID ): MessageBodyShipBase( childID ){ + senderID_ = senderID; + type_ = (Uint8)PROTO_SHIPDEREGISTER; + } + + MessageBodyShipDeRegister( const char * data ) : MessageBodyShipBase( data ){ } + + virtual ~MessageBodyShipDeRegister( ){ } + + void createOutStream() { + MessageBodyShipBase::createOutStream(); + } + + friend std::ostream & operator << ( std::ostream & str, const MessageBodyShipDeRegister & msg ){ + str << "Type: " << (int)( msg.type() ) << " senderID: " << msg.senderID() << " childID: " << msg.childID(); + return str; + } + +protected: +}; + class MessageBodyShipMovement : public MessageBodyShipBase { public: MessageBodyShipMovement( Uint8 childID, const Ogre::Vector3 & pos, @@ -374,6 +392,14 @@ Uint16 sequenceNr( ) const { return seqNr_; } + friend std::ostream & operator << ( std::ostream & str, const MessageBodyShipMovement & msg ){ + str << "Type: " << (int)( msg.type() ) << " senderID: " << msg.senderID() << std::endl; + str << "pos: " << msg.position() << " vel: " << msg.velocity() << " orient: " << msg.orientation() << std::endl; + str << "thrust: " << msg.thrust() << + " yaw: " << msg.yaw() << " pitch: " << msg.pitch() << " roll: " << msg.roll(); + return str; + } + protected: Ogre::Vector3 pos_; Ogre::Vector3 vel_; Modified: branches/ogsector/src/networkServer.cpp =================================================================== --- branches/ogsector/src/networkServer.cpp 2007-04-30 16:27:17 UTC (rev 424) +++ branches/ogsector/src/networkServer.cpp 2007-04-30 17:59:31 UTC (rev 425) @@ -103,14 +103,14 @@ allUsers_.send( chat ); } -UserObject * Server::createUserObject( UserSession * user, const std::string & name, int userID, int childID ){ +UserObject * Server::createUserObject( UserSession * user, const std::string & name, int userID, int childID, int vesselID ){ UserObject * obj = NULL; long id = createGlobalID( userID, childID ); if ( !userObjects_.count( id ) ){ log_->info( std::string( "Create user object: " ) + name ); - obj = new UserObject( user, name, childID ); + obj = new UserObject( user, name, childID, vesselID ); user->insertChild( obj ); userObjects_[ id ] = obj; } else { @@ -129,67 +129,74 @@ delete obj; } -void Server::receiveShipRegister( UserSession * user, const MessageBodyShipRegister & msg ){ - std::string name = msg.name(); +void Server::receiveShipRegister( UserSession * user, const MessageBodyShipRegister & msgIn ){ + std::string name = msgIn.name(); int userID = user->userID(); - int childID = msg.childID(); - Ogre::Vector3 pos = msg.position(); + int childID = msgIn.childID(); + int vesselID = msgIn.vesselID(); + int senderID = msgIn.senderID(); + Ogre::Vector3 pos = msgIn.position(); - log_->info( std::string( "receiveShipRegister: " ) + name + " " + toStr((int)msg.status()) ); + log_->info( std::string( "receiveShipRegister from " ) + toStr( senderID ) + " " + name + " " + + " " + toStr( vesselID ) ); UserObject *obj; + obj = createUserObject( user, name, userID, childID, vesselID ); - if ( msg.status() == false ){ - if ( ( obj = userObjects_[ createGlobalID( userID, childID ) ] ) != NULL ){ - deRegisterUserObject( obj ); - } else{ - log_->info( std::string( "Deregister request for non existing object " ) + name ); - } - } else { - obj = createUserObject( user, name, userID, childID ); + if ( obj != NULL ){ + obj->setPosition( pos ); - if ( obj != NULL ){ - obj->setPosition( pos ); + if ( obj->status() != Registered ){ + log_->info( std::string( "Register: " ) + obj->name() ); + obj->setStatus( Registered ); - if ( obj->status() != Registered ){ - log_->info( std::string( "Register: " ) + obj->name() ); - obj->setStatus( Registered ); + //** first register all userobjects to the new object; + for ( std::map < long, UserObject * >::iterator it = userObjects_.begin(); it != userObjects_.end(); it ++ ){ - std::map < long, UserObject * >::iterator it; - for ( it = userObjects_.begin(); it != userObjects_.end(); it ++ ){ - - //** atm all is global; - obj->joinRange( it->second ); + //** atm all is global; + obj->joinRange( it->second ); + + //** if the object is no child, register all objects to them; + if ( !obj->isChild() && ( obj->userID() != it->second->userID() ) ){ + log_->info( std::string( "\tSend register: " ) + obj->userName() + " <- " + it->second->name() ); - //** if the object is no child, register all objects to them; - if ( !obj->isChild() && ( obj->userID() != it->second->userID() ) ){ - log_->info( std::string( "\tSend to user: " ) + obj->userName() - + " object: " + it->second->name() ); - - MessageBodyShipRegister msg( it->second->userID(), it->second->childID(), - it->second->name(), it->second->position(), - true, msg.vesselID() ); - obj->parent()->send( msg ); - } - - if ( !it->second->isChild() && ( obj->userID() != it->second->userID() ) ){ - log_->info( std::string( "\tSend to user: " ) + it->second->userName() - + " object: " + obj->name() ); - - MessageBodyShipRegister msg( obj->userID(), obj->childID(), obj->name(), obj->position(), - true, msg.vesselID() ); - it->second->parent()->send( msg ); - } - } - } else { - log_->info( std::string( "object: " ) + name + " already registered. " ); + MessageBodyShipRegister msg( it->second->userID(), it->second->childID(), + it->second->name(), it->second->position(), + it->second->vesselID() ); + obj->parent()->send( msg ); + } } + + //** second register the new object to all existing objects in range; + MessageBodyShipRegister msg( obj->userID(), obj->childID(), obj->name(), obj->position(), obj->vesselID() ); + + // ** atm just global; + for ( std::map < long, UserObject * >::iterator it = userObjects_.begin(); it != userObjects_.end(); it ++ ){ + + if ( !it->second->isChild() && ( obj->parent() != it->second->parent() ) ){ + log_->info( std::string( "\tSend register: " ) + obj->name() + " -> " + it->second->userName() ); + it->second->parent()->send( msg ); + } + } } else { - log_->info( std::string( "Cannot register object: " ) + name ); + log_->warn( std::string( "object: " ) + name + " already registered. " ); } + } else { + log_->fatal( std::string( "Cannot create ... [truncated message content] |
From: <ult...@us...> - 2007-04-30 16:27:16
|
Revision: 424 http://svn.sourceforge.net/opengate/?rev=424&view=rev Author: ultrasick Date: 2007-04-30 09:27:17 -0700 (Mon, 30 Apr 2007) Log Message: ----------- uploading the armor commodity with a nice material I found on a blender website. Added Paths: ----------- trunk/data/commodities/armor.blend Added: trunk/data/commodities/armor.blend =================================================================== (Binary files differ) Property changes on: trunk/data/commodities/armor.blend ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ult...@us...> - 2007-04-29 21:59:49
|
Revision: 423 http://svn.sourceforge.net/opengate/?rev=423&view=rev Author: ultrasick Date: 2007-04-29 14:59:50 -0700 (Sun, 29 Apr 2007) Log Message: ----------- modified a texture part because it didn't look so well Modified Paths: -------------- trunk/data/ships/tauseti/lady kickstart/lady kickstart.blend trunk/templates/data/ships/tauseti/lady kickstart/parts/71 + 72.pspimage Modified: trunk/data/ships/tauseti/lady kickstart/lady kickstart.blend =================================================================== (Binary files differ) Modified: trunk/templates/data/ships/tauseti/lady kickstart/parts/71 + 72.pspimage =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ult...@us...> - 2007-04-29 21:52:36
|
Revision: 422 http://svn.sourceforge.net/opengate/?rev=422&view=rev Author: ultrasick Date: 2007-04-29 14:52:32 -0700 (Sun, 29 Apr 2007) Log Message: ----------- uploading another 2 parts of the lady kickstart texture Modified Paths: -------------- trunk/data/ships/tauseti/lady kickstart/lady kickstart.blend trunk/templates/data/ships/tauseti/lady kickstart/viewable area.7z Added Paths: ----------- trunk/templates/data/ships/tauseti/lady kickstart/parts/70.pspimage trunk/templates/data/ships/tauseti/lady kickstart/parts/71 + 72.pspimage Modified: trunk/data/ships/tauseti/lady kickstart/lady kickstart.blend =================================================================== (Binary files differ) Added: trunk/templates/data/ships/tauseti/lady kickstart/parts/70.pspimage =================================================================== (Binary files differ) Property changes on: trunk/templates/data/ships/tauseti/lady kickstart/parts/70.pspimage ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/templates/data/ships/tauseti/lady kickstart/parts/71 + 72.pspimage =================================================================== (Binary files differ) Property changes on: trunk/templates/data/ships/tauseti/lady kickstart/parts/71 + 72.pspimage ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/templates/data/ships/tauseti/lady kickstart/viewable area.7z =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <spo...@us...> - 2007-04-29 14:57:53
|
Revision: 421 http://svn.sourceforge.net/opengate/?rev=421&view=rev Author: spom_spom Date: 2007-04-29 07:57:54 -0700 (Sun, 29 Apr 2007) Log Message: ----------- Added mandatory mesh entry to ship description Modified Paths: -------------- trunk/data/ships/octavius/apteryx/apteryx.xml trunk/data/ships/quantar/storm/storm.xml Modified: trunk/data/ships/octavius/apteryx/apteryx.xml =================================================================== --- trunk/data/ships/octavius/apteryx/apteryx.xml 2007-04-29 11:57:45 UTC (rev 420) +++ trunk/data/ships/octavius/apteryx/apteryx.xml 2007-04-29 14:57:54 UTC (rev 421) @@ -2,8 +2,8 @@ <ship> <!-- Naming --> - <faction>Ocavius</faction> - <name>Storm</name> + <faction>octavius</faction> + <name>apteryx</name> <!-- Generic Data --> <class>Patrol Trainer</class> @@ -32,4 +32,7 @@ <pitch>0.001571</pitch> <!-- 90.0 in jossh --> <roll>0.001222</roll> <!-- 70.0 in jossh --> <yaw>0.001396</yaw> <!-- 80.0 in jossh --> -</ship> \ No newline at end of file + + <mesh>apteryx.mesh</mesh> + <baseyaw>-90</baseyaw> +</ship> Modified: trunk/data/ships/quantar/storm/storm.xml =================================================================== --- trunk/data/ships/quantar/storm/storm.xml 2007-04-29 11:57:45 UTC (rev 420) +++ trunk/data/ships/quantar/storm/storm.xml 2007-04-29 14:57:54 UTC (rev 421) @@ -2,8 +2,8 @@ <ship> <!-- Naming --> - <faction>Quantar</faction> - <name>Storm</name> + <faction>quantar</faction> + <name>storm</name> <!-- Generic Data --> <class>Mining Trainer</class> @@ -32,4 +32,7 @@ <pitch>0.001047</pitch> <!-- 60.0 in jossh --> <roll>0.001571</roll> <!-- 90.0 in jossh --> <yaw>0.001571</yaw> <!-- 90.0 in jossh --> + + <mesh>storm.mesh</mesh> <!-- 90.0 in jossh --> + <baseyaw>-90</baseyaw> </ship> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <eg...@us...> - 2007-04-29 11:57:46
|
Revision: 420 http://svn.sourceforge.net/opengate/?rev=420&view=rev Author: egore Date: 2007-04-29 04:57:45 -0700 (Sun, 29 Apr 2007) Log Message: ----------- Fail in case of asio header were not found Modified Paths: -------------- branches/ogsector/configure.ac Modified: branches/ogsector/configure.ac =================================================================== --- branches/ogsector/configure.ac 2007-04-28 15:24:32 UTC (rev 419) +++ branches/ogsector/configure.ac 2007-04-29 11:57:45 UTC (rev 420) @@ -17,7 +17,7 @@ AC_SUBST(PKG_CONFIG_PATH, "$OGSECTOR_EXTERNALS_PATH/lib/pkgconfig:$PKG_CONFIG_PATH") # OGRE - http://www.ogre3d.org/ -PKG_CHECK_MODULES(OGRE, [OGRE >= 1.2.1]) +PKG_CHECK_MODULES(OGRE, [OGRE >= 1.4.0]) AC_SUBST(AM_CXXFLAGS,"$AM_CXXFLAGS $OGRE_CFLAGS") AC_SUBST(AM_LDFLAGS,"$AM_LDFLAGS $OGRE_LIBS") @@ -27,7 +27,12 @@ AC_SUBST(AM_LDFLAGS, "$AM_LDFLAGS $OIS_LIBS") dnl asio: http://sourceforge.net/projects/asio/ -AC_CHECK_HEADER([asio.hpp]) +AC_CHECK_HEADER([asio.hpp],, +[ + echo "Can't find asio headers. Pleas install the asio development packages." + echo "You can get them from http://sourceforge.net/projects/asio/" + exit 1 +],[]) dnl boost: http://www.boost.org/ dnl # some of the boost headers are needed by asio This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <spo...@us...> - 2007-04-28 15:24:32
|
Revision: 419 http://svn.sourceforge.net/opengate/?rev=419&view=rev Author: spom_spom Date: 2007-04-28 08:24:32 -0700 (Sat, 28 Apr 2007) Log Message: ----------- Added: Vesselmanager and Tinyxml for easy ship administration. (e.g. F12 now spawns squadrok/squid) Modified Paths: -------------- branches/ogsector/ToDo branches/ogsector/data/explosion.particle branches/ogsector/data/simpleHUD.fontdef branches/ogsector/data/textures/radarBackground.png branches/ogsector/resources.cfg branches/ogsector/src/InputManager.cpp branches/ogsector/src/Makefile.am branches/ogsector/src/Makefile.in branches/ogsector/src/Sector.cpp branches/ogsector/src/Sector.h branches/ogsector/src/SectorClient.cpp branches/ogsector/src/SectorClient.h branches/ogsector/src/SectorClientFrameListener.cpp branches/ogsector/src/SectorObjects.cpp branches/ogsector/src/SectorObjects.h branches/ogsector/src/common.h branches/ogsector/src/networkProtocol.h branches/ogsector/src/networkServer.cpp branches/ogsector/src/ogconsole.cpp Added Paths: ----------- branches/ogsector/data/materials/ branches/ogsector/data/materials/ammo.material branches/ogsector/data/materials/explosion.material branches/ogsector/data/materials/mousePointer.material branches/ogsector/data/materials/planets.material branches/ogsector/data/materials/simpleHUD.material branches/ogsector/data/materials/simpleSkybox.material branches/ogsector/data/materials/squadrok.material branches/ogsector/data/materials/squid.material branches/ogsector/data/ships/ branches/ogsector/data/ships/squadrok/ branches/ogsector/data/ships/squadrok/squid/ branches/ogsector/data/ships/squadrok/squid/squid.mesh branches/ogsector/data/ships/squadrok/squid/squid.xml branches/ogsector/data/ships.xml branches/ogsector/data/textures/explosion/ branches/ogsector/data/textures/explosion/explosion1_0.png branches/ogsector/data/textures/explosion/explosion1_1.png branches/ogsector/data/textures/explosion/explosion1_10.png branches/ogsector/data/textures/explosion/explosion1_11.png branches/ogsector/data/textures/explosion/explosion1_12.png branches/ogsector/data/textures/explosion/explosion1_13.png branches/ogsector/data/textures/explosion/explosion1_14.png branches/ogsector/data/textures/explosion/explosion1_15.png branches/ogsector/data/textures/explosion/explosion1_2.png branches/ogsector/data/textures/explosion/explosion1_3.png branches/ogsector/data/textures/explosion/explosion1_4.png branches/ogsector/data/textures/explosion/explosion1_5.png branches/ogsector/data/textures/explosion/explosion1_6.png branches/ogsector/data/textures/explosion/explosion1_7.png branches/ogsector/data/textures/explosion/explosion1_8.png branches/ogsector/data/textures/explosion/explosion1_9.png branches/ogsector/data/textures/squadrokThrusterColor.png branches/ogsector/data/textures/squadrokThrusterLight.png branches/ogsector/data/textures/squidLeiste.png branches/ogsector/data/textures/squidTexture.png branches/ogsector/src/VesselManager.cpp branches/ogsector/src/VesselManager.h branches/ogsector/src/tinyxml/ branches/ogsector/src/tinyxml/tinyxml.cpp branches/ogsector/src/tinyxml/tinyxml.h branches/ogsector/src/tinyxml/tinyxmlerror.cpp branches/ogsector/src/tinyxml/tinyxmlparser.cpp Removed Paths: ------------- branches/ogsector/data/ammo.material branches/ogsector/data/explosion.material branches/ogsector/data/mousePointer.material branches/ogsector/data/planets.material branches/ogsector/data/simpleHUD.material branches/ogsector/data/simpleSkybox.material Modified: branches/ogsector/ToDo =================================================================== --- branches/ogsector/ToDo 2007-04-24 09:52:17 UTC (rev 418) +++ branches/ogsector/ToDo 2007-04-28 15:24:32 UTC (rev 419) @@ -30,6 +30,8 @@ - Speed/MaxSpeed - Acceleration - Mousecurser + - Bullseye/VCT-1 (Duelist) + - JG-like Radar - Simplest global chat @@ -49,10 +51,10 @@ - fullscreen switch (probably not supported by ogre) - show Whos online - chat - - console for input - - input/output highlight - - multiple out-lines - - log to file +# - console for input +# - input/output highlight +# - multiple out-lines +# - log to file - channeling - netcode @@ -64,6 +66,7 @@ - show all objects - skybox with higher resolution - stars +# - planet - xml-read - read playership data @@ -93,8 +96,8 @@ - HUD # - targetarrow # - target infos - - duellist - - bullseye/VCR (??) +# - duellist +# - bullseye/VCR (??) # - flydirection arrow - colorindex for break/AB/FF # - shield/ammo @@ -133,8 +136,11 @@ BUGS: # - (linux)changing mousefocus by < Alt-TAB > lost key-repeat # OIS disables autorepeat, fire `xset r on` to enable - - ogre always scale my skyboxes to 512x512 + - UTF support (\xFC\xF6\xE4) + since Ogre1.4 Overlay only support Ogre::UTFString, which throws exception by using umlaut + + IDEAS: - personal scanmission - Spieler kann sich mit geeignetem Scanner eine eigene Datenbank von Astro erstellen die ingame abgerufen werden kann, f\xFCr jeden neuen Eintrag gibt es exp(nach Mission/Seltenheit/Gefahrenbereich) Deleted: branches/ogsector/data/ammo.material =================================================================== --- branches/ogsector/data/ammo.material 2007-04-24 09:52:17 UTC (rev 418) +++ branches/ogsector/data/ammo.material 2007-04-28 15:24:32 UTC (rev 419) @@ -1,19 +0,0 @@ -material Bullet -{ - technique - { - pass - { - depth_check off - lighting off -// depth_write off - scene_blend add -// scene_blend alpha_blend - - texture_unit - { - texture Bullet.png - } - } - } -} Deleted: branches/ogsector/data/explosion.material =================================================================== --- branches/ogsector/data/explosion.material 2007-04-24 09:52:17 UTC (rev 418) +++ branches/ogsector/data/explosion.material 2007-04-28 15:24:32 UTC (rev 419) @@ -1,35 +0,0 @@ -material OpenGate/Explosion/Base -{ - technique - { - pass - { - lighting off - scene_blend add - depth_write off - - texture_unit - { - texture textures/explosion.png - } - } - } -} - -material OpenGate/Explosion/Flare -{ - technique - { - pass - { - lighting off - scene_blend add - depth_write off - - texture_unit - { - texture textures/flare.png - } - } - } -} \ No newline at end of file Modified: branches/ogsector/data/explosion.particle =================================================================== --- branches/ogsector/data/explosion.particle 2007-04-24 09:52:17 UTC (rev 418) +++ branches/ogsector/data/explosion.particle 2007-04-28 15:24:32 UTC (rev 419) @@ -79,7 +79,6 @@ affector Scaler { rate -9 - } +} -} \ No newline at end of file Added: branches/ogsector/data/materials/ammo.material =================================================================== --- branches/ogsector/data/materials/ammo.material (rev 0) +++ branches/ogsector/data/materials/ammo.material 2007-04-28 15:24:32 UTC (rev 419) @@ -0,0 +1,19 @@ +material Bullet +{ + technique + { + pass + { + depth_check on + depth_write off + lighting off + scene_blend add +// scene_blend alpha_blend + + texture_unit + { + texture Bullet.png + } + } + } +} Added: branches/ogsector/data/materials/explosion.material =================================================================== --- branches/ogsector/data/materials/explosion.material (rev 0) +++ branches/ogsector/data/materials/explosion.material 2007-04-28 15:24:32 UTC (rev 419) @@ -0,0 +1,35 @@ +material OpenGate/Explosion/Base +{ + technique + { + pass + { + lighting off + scene_blend add + depth_write off + + texture_unit + { + texture textures/explosion.png + } + } + } +} + +material OpenGate/Explosion/Flare +{ + technique + { + pass + { + lighting off + scene_blend add + depth_write off + + texture_unit + { + texture textures/flare.png + } + } + } +} \ No newline at end of file Added: branches/ogsector/data/materials/mousePointer.material =================================================================== --- branches/ogsector/data/materials/mousePointer.material (rev 0) +++ branches/ogsector/data/materials/mousePointer.material 2007-04-28 15:24:32 UTC (rev 419) @@ -0,0 +1,18 @@ +//material OpenGate/FlightCurser +//{ +// technique +// { +// pass +// { +// depth_check off +// lighting off +// scene_blend alpha_blend +// +// texture_unit +// { +// texture textures/flightCurser.png +// } +// } +// } +//} +// Added: branches/ogsector/data/materials/planets.material =================================================================== --- branches/ogsector/data/materials/planets.material (rev 0) +++ branches/ogsector/data/materials/planets.material 2007-04-28 15:24:32 UTC (rev 419) @@ -0,0 +1,36 @@ +material OpenGate/Star +{ + technique + { + pass + { + lighting on + scene_blend add + depth_write off + + texture_unit + { + texture textures/star.png + } + } + } +} + +material OpenGate/RedPlanet +{ + technique + { + pass + { + lighting off + scene_blend add + depth_write off +// alpha_rejection greater 128 + texture_unit + { + texture textures/redPlanet.png + + } + } + } +} Added: branches/ogsector/data/materials/simpleHUD.material =================================================================== --- branches/ogsector/data/materials/simpleHUD.material (rev 0) +++ branches/ogsector/data/materials/simpleHUD.material 2007-04-28 15:24:32 UTC (rev 419) @@ -0,0 +1,156 @@ +material SimpleHUD/FlightCurser +{ + technique + { + pass + { + depth_check off + lighting off + scene_blend alpha_blend + + texture_unit + { + texture textures/flightCurser.png + } + } + } +} + +material SimpleHUD/CenterPointer +{ + technique + { + pass + { + depth_check off + lighting off + scene_blend alpha_blend + + texture_unit + { + texture textures/hudCenter.png + } + } + } +} + +material SimpleHUD/TargetPointer +{ + technique + { + pass + { + depth_check off + lighting off + scene_blend alpha_blend + + texture_unit + { + texture textures/targetPointer.png + } + } + } +} + +material SimpleHUD/DuelistPilotPointer +{ + technique + { + pass + { + depth_check off + lighting off + scene_blend alpha_blend + + texture_unit + { + texture textures/duelistPilotPointer.png + } + } + } +} + +material SimpleHUD/DuelistTargetPointer +{ + technique + { + pass + { + depth_check off + lighting off + scene_blend alpha_blend + + texture_unit + { + texture textures/duelistTargetPointer.png + } + } + } +} + +material SimpleHUD/FlightArrow +{ + receive_shadows on + technique + { + ambient 1.000000 0.500000 0.50000 1.000000 + diffuse 0.000000 0.500000 0.50000 1.000000 + specular 1.000000 1.00000 1.000000 1.000000 12.500000 + emission 0.000000 0.50000 0.500000 1.000000 + + pass + { + } + } +} + +material SimpleHUD/TargetArrow +{ + technique + { + pass + { + } + } +} + +material OpenGate/Console/Background +{ + technique + { + pass + { + depth_check off + lighting off +// scene_blend alpha_blend + scene_blend add +// diffuse 1.0 1.0 1.0 1.0 + + texture_unit + { + texture textures/consoleBackground.png + } + } + } +} + +material OpenGate/Radar/Background +{ + technique + { + pass + { + depth_check off + lighting off + scene_blend add +// diffuse 1.0 1.0 1.0 1.0 +// alpha_rejection greater 128 + + texture_unit + { + texture textures/radarBackground.png + } + } + } +} + Added: branches/ogsector/data/materials/simpleSkybox.material =================================================================== --- branches/ogsector/data/materials/simpleSkybox.material (rev 0) +++ branches/ogsector/data/materials/simpleSkybox.material 2007-04-28 15:24:32 UTC (rev 419) @@ -0,0 +1,39 @@ +material OpenGate/SimpleSkyBox1 +{ + technique + { + pass + { + lighting off + depth_write off +// scene_blend add + + texture_unit + { + cubic_texture skybox1.png separateUV +// cubic_texture skybox1_4096.png separateUV +// cubic_texture skybox1_2048.png separateUV +// cubic_texture skybox1_1024.png separateUV +// cubic_texture skybox1_512.png separateUV + tex_address_mode clamp + } + } + } +} +material OpenGate/SimpleSkyBox2 +{ + technique + { + pass + { + lighting off + depth_write off + + texture_unit + { + cubic_texture skybox2.png separateUV + tex_address_mode clamp + } + } + } +} Added: branches/ogsector/data/materials/squadrok.material =================================================================== --- branches/ogsector/data/materials/squadrok.material (rev 0) +++ branches/ogsector/data/materials/squadrok.material 2007-04-28 15:24:32 UTC (rev 419) @@ -0,0 +1,60 @@ +material squadrok/thrusterLight +{ + receive_shadows off + technique + { + pass + { + ambient 1.000000 1.000000 1.00000 1.000000 + diffuse 1.000000 1.000000 1.00000 1.000000 + specular 1.000000 1.00000 1.000000 1.000000 12.500000 + emissive 1.000000 1.000000 1.000000 1.000000 + scene_blend alpha_blend +// scene_blend add +// scene_blend modulate +// scene_blend colour_blend + depth_check on + depth_write off + lighting of + texture_unit + { + texture textures/squadrokThrusterLight.png + rotate_anim 0.2 +// wave_xform scale_x sine 1.0 0.2 0.0 5.0 +// colour_op add +// colour_op alpha_blend + } + } + pass + { + ambient 1.000000 1.000000 1.00000 1.000000 + diffuse 1.000000 1.000000 1.00000 1.000000 + specular 1.000000 1.00000 1.000000 1.000000 12.500000 + emissive 1.000000 1.000000 1.000000 1.000000 + scene_blend alpha_blend + lighting on + depth_check on + depth_write off + texture_unit + { + texture textures/squadrokThrusterLight.png + rotate_anim -0.2 + colour_op add + } + } + pass + { + specular 1.000000 1.00000 1.000000 1.000000 12.500000 + scene_blend alpha_blend + depth_check on + depth_write off + texture_unit + { + texture textures/squadrokThrusterColor.png + rotate_anim -0.2 + colour_op add + } + } + } +} + Added: branches/ogsector/data/materials/squid.material =================================================================== --- branches/ogsector/data/materials/squid.material (rev 0) +++ branches/ogsector/data/materials/squid.material 2007-04-28 15:24:32 UTC (rev 419) @@ -0,0 +1,50 @@ +material squid/TEXFACE/texture.png +{ + receive_shadows on + technique + { + pass + { + ambient 0.500000 0.500000 0.500000 1.000000 + diffuse 0.900000 0.900000 0.900000 1.000000 + emissive 0.000000 0.000000 0.000000 1.000000 + texture_unit + { + texture squidTexture.png + colour_op modulate + } + } + pass + { + ambient 0.0 0.0 0.0 + diffuse 0.0 0.0 0.0 + specular 0.500000 0.500000 0.500000 1.000000 12.500000 + scene_blend add + } + } +} +material squid/TEXFACE/Leiste.png +{ + receive_shadows on + technique + { + pass + { + ambient 0.500000 0.500000 0.500000 1.000000 + diffuse 0.800000 0.800000 0.800000 1.000000 + emissive 0.000000 0.000000 0.000000 1.000000 + texture_unit + { + texture squidLeiste.png + colour_op modulate + } + } + pass + { + ambient 0.0 0.0 0.0 + diffuse 0.0 0.0 0.0 + specular 0.500000 0.500000 0.500000 1.000000 12.500000 + scene_blend add + } + } +} Deleted: branches/ogsector/data/mousePointer.material =================================================================== --- branches/ogsector/data/mousePointer.material 2007-04-24 09:52:17 UTC (rev 418) +++ branches/ogsector/data/mousePointer.material 2007-04-28 15:24:32 UTC (rev 419) @@ -1,18 +0,0 @@ -//material OpenGate/FlightCurser -//{ -// technique -// { -// pass -// { -// depth_check off -// lighting off -// scene_blend alpha_blend -// -// texture_unit -// { -// texture textures/flightCurser.png -// } -// } -// } -//} -// Deleted: branches/ogsector/data/planets.material =================================================================== --- branches/ogsector/data/planets.material 2007-04-24 09:52:17 UTC (rev 418) +++ branches/ogsector/data/planets.material 2007-04-28 15:24:32 UTC (rev 419) @@ -1,36 +0,0 @@ -material OpenGate/Star -{ - technique - { - pass - { - lighting on - scene_blend add - depth_write off - - texture_unit - { - texture textures/star.png - } - } - } -} - -material OpenGate/RedPlanet -{ - technique - { - pass - { - lighting off - scene_blend add - depth_write off -// alpha_rejection greater 128 - texture_unit - { - texture textures/redPlanet.png - - } - } - } -} Added: branches/ogsector/data/ships/squadrok/squid/squid.mesh =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/ships/squadrok/squid/squid.mesh ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/ships/squadrok/squid/squid.xml =================================================================== --- branches/ogsector/data/ships/squadrok/squid/squid.xml (rev 0) +++ branches/ogsector/data/ships/squadrok/squid/squid.xml 2007-04-28 15:24:32 UTC (rev 419) @@ -0,0 +1,26 @@ +<?xml version="1.0"?> + +<ship> + <!-- Naming --> + <faction>squadrok</faction> + <name>squid</name> + + <!-- Generic Data --> + <class>Probe</class> + <size>10</size> + <mass>8500</mass> + + <!-- Sizes --> + <engines>1</engines> + <guns>2</guns> + <armor>1000</armor> + + <!-- Movement --> + <dragfactor>12.96</dragfactor> + <pitch>0.001571</pitch> + <roll>0.001222</roll> + <yaw>0.001396</yaw> + + <mesh>squid.mesh</mesh> + <baseyaw>180</baseyaw> +</ship> \ No newline at end of file Added: branches/ogsector/data/ships.xml =================================================================== --- branches/ogsector/data/ships.xml (rev 0) +++ branches/ogsector/data/ships.xml 2007-04-28 15:24:32 UTC (rev 419) @@ -0,0 +1,7 @@ +<?xml version="1.0"?> + +<ships> + <Resource id="1" location="./data/ships/squadrok/squid/squid.xml"/> + <Resource id="2" location="../../trunk/data/ships/octavius/apteryx/apteryx.xml" /> + <Resource id="3" location="../../trunk/data/ships/quantar/storm/storm.xml" /> +</ships> Modified: branches/ogsector/data/simpleHUD.fontdef =================================================================== --- branches/ogsector/data/simpleHUD.fontdef 2007-04-24 09:52:17 UTC (rev 418) +++ branches/ogsector/data/simpleHUD.fontdef 2007-04-28 15:24:32 UTC (rev 419) @@ -4,6 +4,7 @@ source bluehigh.ttf size 32 resolution 55 + antialias_colour false code_points 33-255 } @@ -14,6 +15,7 @@ source bluehigh.ttf size 32 resolution 55 + antialias_colour false code_points 33-255 } Deleted: branches/ogsector/data/simpleHUD.material =================================================================== --- branches/ogsector/data/simpleHUD.material 2007-04-24 09:52:17 UTC (rev 418) +++ branches/ogsector/data/simpleHUD.material 2007-04-28 15:24:32 UTC (rev 419) @@ -1,130 +0,0 @@ -material SimpleHUD/FlightCurser -{ - technique - { - pass - { - depth_check off - lighting off - scene_blend alpha_blend - - texture_unit - { - texture textures/flightCurser.png - } - } - } -} - -material SimpleHUD/CenterPointer -{ - technique - { - pass - { - depth_check off - lighting off - scene_blend alpha_blend - - texture_unit - { - texture textures/hudCenter.png - } - } - } -} - -material SimpleHUD/TargetPointer -{ - technique - { - pass - { - depth_check off - lighting off - scene_blend alpha_blend - - texture_unit - { - texture textures/targetPointer.png - } - } - } -} - -material SimpleHUD/DuelistPilotPointer -{ - technique - { - pass - { - depth_check off - lighting off - scene_blend alpha_blend - - texture_unit - { - texture textures/duelistPilotPointer.png - } - } - } -} - -material SimpleHUD/DuelistTargetPointer -{ - technique - { - pass - { - depth_check off - lighting off - scene_blend alpha_blend - - texture_unit - { - texture textures/duelistTargetPointer.png - } - } - } -} - -material OpenGate/Console/Background -{ - technique - { - pass - { - depth_check off - lighting off -// scene_blend alpha_blend - scene_blend add -// diffuse 1.0 1.0 1.0 1.0 - - texture_unit - { - texture textures/consoleBackground.png - } - } - } -} - -material OpenGate/Radar/Background -{ - technique - { - pass - { - depth_check off - lighting off - scene_blend add -// diffuse 1.0 1.0 1.0 1.0 -// alpha_rejection greater 128 - - texture_unit - { - texture textures/radarBackground.png - } - } - } -} - Deleted: branches/ogsector/data/simpleSkybox.material =================================================================== --- branches/ogsector/data/simpleSkybox.material 2007-04-24 09:52:17 UTC (rev 418) +++ branches/ogsector/data/simpleSkybox.material 2007-04-28 15:24:32 UTC (rev 419) @@ -1,39 +0,0 @@ -material OpenGate/SimpleSkyBox1 -{ - technique - { - pass - { - lighting off - depth_write off -// scene_blend add - - texture_unit - { - cubic_texture skybox1.png separateUV -// cubic_texture skybox1_4096.png separateUV -// cubic_texture skybox1_2048.png separateUV -// cubic_texture skybox1_1024.png separateUV -// cubic_texture skybox1_512.png separateUV - tex_address_mode clamp - } - } - } -} -material OpenGate/SimpleSkyBox2 -{ - technique - { - pass - { - lighting off - depth_write off - - texture_unit - { - cubic_texture skybox2.png separateUV - tex_address_mode clamp - } - } - } -} Added: branches/ogsector/data/textures/explosion/explosion1_0.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/textures/explosion/explosion1_0.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/textures/explosion/explosion1_1.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/textures/explosion/explosion1_1.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/textures/explosion/explosion1_10.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/textures/explosion/explosion1_10.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/textures/explosion/explosion1_11.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/textures/explosion/explosion1_11.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/textures/explosion/explosion1_12.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/textures/explosion/explosion1_12.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/textures/explosion/explosion1_13.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/textures/explosion/explosion1_13.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/textures/explosion/explosion1_14.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/textures/explosion/explosion1_14.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/textures/explosion/explosion1_15.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/textures/explosion/explosion1_15.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/textures/explosion/explosion1_2.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/textures/explosion/explosion1_2.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/textures/explosion/explosion1_3.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/textures/explosion/explosion1_3.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/textures/explosion/explosion1_4.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/textures/explosion/explosion1_4.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/textures/explosion/explosion1_5.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/textures/explosion/explosion1_5.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/textures/explosion/explosion1_6.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/textures/explosion/explosion1_6.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/textures/explosion/explosion1_7.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/textures/explosion/explosion1_7.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/textures/explosion/explosion1_8.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/textures/explosion/explosion1_8.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/textures/explosion/explosion1_9.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/textures/explosion/explosion1_9.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: branches/ogsector/data/textures/radarBackground.png =================================================================== (Binary files differ) Added: branches/ogsector/data/textures/squadrokThrusterColor.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/textures/squadrokThrusterColor.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/textures/squadrokThrusterLight.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/textures/squadrokThrusterLight.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/textures/squidLeiste.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/textures/squidLeiste.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/textures/squidTexture.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/textures/squidTexture.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: branches/ogsector/resources.cfg =================================================================== --- branches/ogsector/resources.cfg 2007-04-24 09:52:17 UTC (rev 418) +++ branches/ogsector/resources.cfg 2007-04-28 15:24:32 UTC (rev 419) @@ -5,7 +5,10 @@ # Resource locations to be added to the default path [General] FileSystem=./data -FileSystem=./data/squid +FileSystem=./data/materials +FileSystem=./data/textures +FileSystem=./data/local +FileSystem=./data/local/astro/ Zip=./data/simpleSkybox.zip #Zip=./data/skybox_512.zip #Zip=./data/skybox_1024.zip Modified: branches/ogsector/src/InputManager.cpp =================================================================== --- branches/ogsector/src/InputManager.cpp 2007-04-24 09:52:17 UTC (rev 418) +++ branches/ogsector/src/InputManager.cpp 2007-04-28 15:24:32 UTC (rev 419) @@ -55,6 +55,8 @@ keyboard_ = static_cast<OIS::Keyboard*>(inputSystem_->createInputObject( OIS::OISKeyboard, true)); keyboard_->setEventCallback( this ); + std::cout << " keyboard.TextTranslationMode " << (int)keyboard_->getTextTranslation() << std::endl; + keyboard_->setTextTranslation( OIS::Keyboard::Unicode ); #ifndef WIN32 if ( inputSystem_->numJoysticks() > 0 ) { Modified: branches/ogsector/src/Makefile.am =================================================================== --- branches/ogsector/src/Makefile.am 2007-04-24 09:52:17 UTC (rev 418) +++ branches/ogsector/src/Makefile.am 2007-04-28 15:24:32 UTC (rev 419) @@ -5,6 +5,10 @@ ogsectorclient_SOURCES = \ ogsectorclient.cpp \ + tinyxml/tinyxml.h \ + tinyxml/tinyxml.cpp \ + tinyxml/tinyxmlerror.cpp \ + tinyxml/tinyxmlparser.cpp \ common.h \ LogManager.h \ LogManager.cpp \ @@ -20,6 +24,8 @@ SectorClientFrameListener.cpp \ InputManager.h \ InputManager.cpp \ + VesselManager.h \ + VesselManager.cpp \ networkClient.h \ networkClient.cpp \ SectorObjects.h \ Modified: branches/ogsector/src/Makefile.in =================================================================== --- branches/ogsector/src/Makefile.in 2007-04-24 09:52:17 UTC (rev 418) +++ branches/ogsector/src/Makefile.in 2007-04-28 15:24:32 UTC (rev 419) @@ -48,11 +48,13 @@ am__installdirs = "$(DESTDIR)$(bindir)" binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(bin_PROGRAMS) -am_ogsectorclient_OBJECTS = ogsectorclient.$(OBJEXT) \ +am_ogsectorclient_OBJECTS = ogsectorclient.$(OBJEXT) tinyxml.$(OBJEXT) \ + tinyxmlerror.$(OBJEXT) tinyxmlparser.$(OBJEXT) \ LogManager.$(OBJEXT) common.$(OBJEXT) ogconsole.$(OBJEXT) \ Sector.$(OBJEXT) SectorClient.$(OBJEXT) \ SectorClientFrameListener.$(OBJEXT) InputManager.$(OBJEXT) \ - networkClient.$(OBJEXT) SectorObjects.$(OBJEXT) + VesselManager.$(OBJEXT) networkClient.$(OBJEXT) \ + SectorObjects.$(OBJEXT) ogsectorclient_OBJECTS = $(am_ogsectorclient_OBJECTS) ogsectorclient_LDADD = $(LDADD) am_ogsectorserver_OBJECTS = ogsectorserver.$(OBJEXT) common.$(OBJEXT) \ @@ -174,6 +176,10 @@ target_alias = @target_alias@ ogsectorclient_SOURCES = \ ogsectorclient.cpp \ + tinyxml/tinyxml.h \ + tinyxml/tinyxml.cpp \ + tinyxml/tinyxmlerror.cpp \ + tinyxml/tinyxmlparser.cpp \ common.h \ LogManager.h \ LogManager.cpp \ @@ -189,6 +195,8 @@ SectorClientFrameListener.cpp \ InputManager.h \ InputManager.cpp \ + VesselManager.h \ + VesselManager.cpp \ networkClient.h \ networkClient.cpp \ SectorObjects.h \ @@ -293,6 +301,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SectorClient.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SectorClientFrameListener.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SectorObjects.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/VesselManager.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/common.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/networkClient.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/networkServer.Po@am__quote@ @@ -302,6 +311,9 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ogsectorserver.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openALSoundManager.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testopenalmanager.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tinyxml.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tinyxmlerror.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tinyxmlparser.Po@am__quote@ .cpp.o: @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ @@ -316,6 +328,48 @@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +tinyxml.o: tinyxml/tinyxml.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tinyxml.o -MD -MP -MF "$(DEPDIR)/tinyxml.Tpo" -c -o tinyxml.o `test -f 'tinyxml/tinyxml.cpp' || echo '$(srcdir)/'`tinyxml/tinyxml.cpp; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/tinyxml.Tpo" "$(DEPDIR)/tinyxml.Po"; else rm -f "$(DEPDIR)/tinyxml.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tinyxml/tinyxml.cpp' object='tinyxml.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tinyxml.o `test -f 'tinyxml/tinyxml.cpp' || echo '$(srcdir)/'`tinyxml/tinyxml.cpp + +tinyxml.obj: tinyxml/tinyxml.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tinyxml.obj -MD -MP -MF "$(DEPDIR)/tinyxml.Tpo" -c -o tinyxml.obj `if test -f 'tinyxml/tinyxml.cpp'; then $(CYGPATH_W) 'tinyxml/tinyxml.cpp'; else $(CYGPATH_W) '$(srcdir)/tinyxml/tinyxml.cpp'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/tinyxml.Tpo" "$(DEPDIR)/tinyxml.Po"; else rm -f "$(DEPDIR)/tinyxml.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tinyxml/tinyxml.cpp' object='tinyxml.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tinyxml.obj `if test -f 'tinyxml/tinyxml.cpp'; then $(CYGPATH_W) 'tinyxml/tinyxml.cpp'; else $(CYGPATH_W) '$(srcdir)/tinyxml/tinyxml.cpp'; fi` + +tinyxmlerror.o: tinyxml/tinyxmlerror.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tinyxmlerror.o -MD -MP -MF "$(DEPDIR)/tinyxmlerror.Tpo" -c -o tinyxmlerror.o `test -f 'tinyxml/tinyxmlerror.cpp' || echo '$(srcdir)/'`tinyxml/tinyxmlerror.cpp; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/tinyxmlerror.Tpo" "$(DEPDIR)/tinyxmlerror.Po"; else rm -f "$(DEPDIR)/tinyxmlerror.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tinyxml/tinyxmlerror.cpp' object='tinyxmlerror.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tinyxmlerror.o `test -f 'tinyxml/tinyxmlerror.cpp' || echo '$(srcdir)/'`tinyxml/tinyxmlerror.cpp + +tinyxmlerror.obj: tinyxml/tinyxmlerror.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tinyxmlerror.obj -MD -MP -MF "$(DEPDIR)/tinyxmlerror.Tpo" -c -o tinyxmlerror.obj `if test -f 'tinyxml/tinyxmlerror.cpp'; then $(CYGPATH_W) 'tinyxml/tinyxmlerror.cpp'; else $(CYGPATH_W) '$(srcdir)/tinyxml/tinyxmlerror.cpp'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/tinyxmlerror.Tpo" "$(DEPDIR)/tinyxmlerror.Po"; else rm -f "$(DEPDIR)/tinyxmlerror.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tinyxml/tinyxmlerror.cpp' object='tinyxmlerror.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tinyxmlerror.obj `if test -f 'tinyxml/tinyxmlerror.cpp'; then $(CYGPATH_W) 'tinyxml/tinyxmlerror.cpp'; else $(CYGPATH_W) '$(srcdir)/tinyxml/tinyxmlerror.cpp'; fi` + +tinyxmlparser.o: tinyxml/tinyxmlparser.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tinyxmlparser.o -MD -MP -MF "$(DEPDIR)/tinyxmlparser.Tpo" -c -o tinyxmlparser.o `test -f 'tinyxml/tinyxmlparser.cpp' || echo '$(srcdir)/'`tinyxml/tinyxmlparser.cpp; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/tinyxmlparser.Tpo" "$(DEPDIR)/tinyxmlparser.Po"; else rm -f "$(DEPDIR)/tinyxmlparser.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tinyxml/tinyxmlparser.cpp' object='tinyxmlparser.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tinyxmlparser.o `test -f 'tinyxml/tinyxmlparser.cpp' || echo '$(srcdir)/'`tinyxml/tinyxmlparser.cpp + +tinyxmlparser.obj: tinyxml/tinyxmlparser.cpp +@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT tinyxmlparser.obj -MD -MP -MF "$(DEPDIR)/tinyxmlparser.Tpo" -c -o tinyxmlparser.obj `if test -f 'tinyxml/tinyxmlparser.cpp'; then $(CYGPATH_W) 'tinyxml/tinyxmlparser.cpp'; else $(CYGPATH_W) '$(srcdir)/tinyxml/tinyxmlparser.cpp'; fi`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/tinyxmlparser.Tpo" "$(DEPDIR)/tinyxmlparser.Po"; else rm -f "$(DEPDIR)/tinyxmlparser.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tinyxml/tinyxmlparser.cpp' object='tinyxmlparser.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tinyxmlparser.obj `if test -f 'tinyxml/tinyxmlparser.cpp'; then $(CYGPATH_W) 'tinyxml/tinyxmlparser.cpp'; else $(CYGPATH_W) '$(srcdir)/tinyxml/tinyxmlparser.cpp'; fi` uninstall-info-am: ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) Modified: branches/ogsector/src/Sector.cpp =================================================================== --- branches/ogsector/src/Sector.cpp 2007-04-24 09:52:17 UTC (rev 418) +++ branches/ogsector/src/Sector.cpp 2007-04-28 15:24:32 UTC (rev 419) @@ -112,8 +112,8 @@ OgreOpcode::CollisionManager::getSingletonPtr()->addCollType( "Bullet", "Bullet", OgreOpcode::COLLTYPE_IGNORE ); OgreOpcode::CollisionManager::getSingletonPtr()->addCollType( "SectorObject", "Bullet", OgreOpcode::COLLTYPE_EXACT ); + OgreOpcode::CollisionManager::getSingletonPtr()->addCollType( "SectorObject", "SectorObject", OgreOpcode::COLLTYPE_CONTACT ); // OgreOpcode::CollisionManager::getSingletonPtr()->addCollType( "SectorObject", "SectorObject", OgreOpcode::COLLTYPE_QUICK ); - OgreOpcode::CollisionManager::getSingletonPtr()->addCollType( "SectorObject", "SectorObject", OgreOpcode::COLLTYPE_CONTACT ); collideInSectorContext_ = OgreOpcode::CollisionManager::getSingletonPtr()->getDefaultContext(); @@ -162,19 +162,7 @@ // createCircle(); - createStaticObject( Ogre::String("ships/quantar/storm/storm.mesh"), - "StormShape", - Ogre::Vector3( 10, 17, -129.0 ), - Ogre::Real( 9.6 ), - Ogre::Degree( -90 ) ); - createStaticObject( Ogre::String("ogrehead.mesh"), - "ogreheadStation", - Ogre::Vector3( 5000, 0, 0 ), - Ogre::Real( 500.0 ), - Ogre::Degree( 0.0 ) ); - - createStaticObject( Ogre::String("ogrehead.mesh"), "-100 0 0", Ogre::Vector3( -100, 0, 0 ), Ogre::Real( 10.0 ), @@ -186,12 +174,33 @@ Ogre::Real( 10.0 ), Ogre::Degree( 0.0 ) ); -// createStaticObject( Ogre::String("local/squid/Plane.001.mesh"), -// "Testsquid", -// Ogre::Vector3( 0, 0, 300 ), -// Ogre::Real( 7.0 ), -// Ogre::Degree( 0.0 ) ); + createStaticObject( Ogre::String("ogrehead.mesh"), + "ogreheadStation", + Ogre::Vector3( 5000, 0, 0 ), + Ogre::Real( 500.0 ), + Ogre::Degree( 0.0 ) ); +// createStaticObject( VesselManager::getSingleton().vessel( SQUADROK_SQUID1 )->meshPtr().get()->getName(), +// "0test", +// Ogre::Vector3( 0, 0, 200 ), +// Ogre::Real( 10.0 ), +// Ogre::Degree( 180.0 ) ); + + + std::set < std::string > factions = VesselManager::getSingleton().factionNames(); + int factionCounter = 0; + for ( std::set < std::string >::iterator factIt = factions.begin(); factIt != factions.end(); factIt ++ ){ + std::set < Vessel * > vessels( VesselManager::getSingleton().factionVessels( (*factIt) ) ); + int vesselCounter = 0; + for ( std::set < Vessel * >::iterator it = vessels.begin(); it != vessels.end(); it ++ ){ + createStaticObject( (*it)->meshPtr().get()->getName(), (*it)->factionName() + "/" + (*it)->name(), + Ogre::Vector3( -1000.0, 50 * factionCounter, -100.0 + 100 * vesselCounter ), + Ogre::Real( (*it)->baseSize() ), Ogre::Degree( (*it)->baseYaw() ) ); + vesselCounter++; + } + factionCounter++; + } + itTarget_ = sectorObjects_.begin(); } @@ -335,8 +344,9 @@ } -SectorObjectMoveable * Sector::createMoveableObject( const Ogre::String & name, int userID, int childID ){ - SectorObjectMoveable * obj = new SectorObjectMoveable( name, this, userID, childID ); +SectorObjectMoveable * Sector::createMoveableObject( const Ogre::String & name, int userID, int childID, + Vessel & vessel ){ + SectorObjectMoveable * obj = new SectorObjectMoveable( name, this, userID, childID, vessel ); sectorObjects_.insert( obj ); movableObjects_[ obj->globalID() ] = obj; @@ -344,7 +354,7 @@ } void Sector::destructMoveableObject( SectorObjectMoveable * obj ){ - if ( listener_->target() == obj ) listener_->setTarget( nextTarget() ); + selectNextTarget( obj ); sectorObjects_.erase( obj ); Ogre::Overlay * radar = Ogre::OverlayManager::getSingleton().getByName( "Radar" ); @@ -385,8 +395,10 @@ // insertCollisionSectorObject( obj ); } -SectorObjectMoveableAi * Sector::createAiMoveableObject( const Ogre::String & name, int childID ){ - SectorObjectMoveableAi * obj = new SectorObjectMoveableAi( name, this, network_->userID(), childID ); + +SectorObjectMoveableAi * Sector::createAiMoveableObject( const Ogre::String & name, int childID, + Vessel & vessel ){ + SectorObjectMoveableAi * obj = new SectorObjectMoveableAi( name, this, network_->userID(), childID, vessel ); sectorObjects_.insert( obj ); movableObjects_[ obj->globalID() ] = obj ; localAiObjects_[ obj->childID() ] = obj; @@ -399,29 +411,29 @@ int childID = 1; while ( localAiObjects_.count( childID ) ){ childID ++; } - SectorObjectMoveableAi *obj = createAiMoveableObject( avatar_->name() + "_Spawn" + Ogre::StringConverter::toString( childID ), childID ); + SectorObjectMoveableAi *obj = createAiMoveableObject( avatar_->name() + "_Spawn" + Ogre::StringConverter::toString( childID ), childID, *VesselManager::getSingleton().vessel( "squid" ) ); obj->setTarget( avatar_ ); - Ogre::Real xmin = -1000.0, xmax = -500.0; - Ogre::Real ymin = -1000.0, ymax = -500.0; - Ogre::Real zmin = -1000.0, zmax = -500.0; + Ogre::Real xmin = -5000.0, xmax = -4000.0; + Ogre::Real ymin = -5000.0, ymax = -4000.0; + Ogre::Real zmin = -5000.0, zmax = -4000.0; obj->mainNode()->setPosition( Ogre::Math::RangeRandom( xmin, xmax ), Ogre::Math::RangeRandom( ymin, ymax ), Ogre::Math::RangeRandom( zmin, zmax ) ); - obj->setThrustPercent( 70 ); + obj->setThrustPercent( 100 ); // obj->mainNode()->setPosition( 0.0f, 0.0f, 200.0f); - - - - MessageBodyShipRegister msg( 0, obj->childID(), obj->name(), obj->mainNode()->getPosition(), true ); + + MessageBodyShipRegister msg( 0, obj->childID(), obj->name(), obj->mainNode()->getPosition(), + true, obj->vesselBluePrint()->vesselID() ); network_->send( msg ); } void Sector::createAvatar( const Ogre::String & playername ){ - avatar_ = new SectorObjectAvatar( playername, this, network_->userID() ); + avatar_ = new SectorObjectAvatar( playername, this, network_->userID(), + *VesselManager::getSingleton().vessel( "apteryx" ) ); //sectorObjects_.insert( obj ); movableObjects_[ avatar_->globalID() ] = avatar_; } @@ -436,7 +448,7 @@ void Sector::avatarDied( ){ avatarDeathSequenceTime_ = 5.0; avatar_->setVisible( true ); - MessageBodyShipRegister msg( 0, 0, avatar_->name(), avatar_->mainNode()->getPosition(), false ); + MessageBodyShipRegister msg( 0, 0, avatar_->name(), avatar_->mainNode()->getPosition(), false, 0 ); network_->send( msg ); listener_->avatarDeathSequence( true ); } @@ -450,7 +462,8 @@ avatar_->setVelocity( Ogre::Vector3( 0.0, 0.0, -20.0 ) ); avatar_->reset(); - MessageBodyShipRegister msg( 0, 0, avatar_->name(), avatar_->mainNode()->getPosition(), true ); + MessageBodyShipRegister msg( 0, 0, avatar_->name(), avatar_->mainNode()->getPosition(), + true, avatar_->vesselBluePrint()->vesselID() ); network_->send( msg ); avatar_->setVisible( false ); @@ -458,15 +471,39 @@ } } +void Sector::selectNextTarget( SectorObject * obj ){ + if ( obj != NULL ){ + if ( listener_->target() == obj ) listener_->setTarget( nextTarget() ); + } else { + listener_->setTarget( nextTarget() ); + } +} + +void Sector::selectPrevTarget( SectorObject * obj ){ + if ( obj != NULL ){ + if ( listener_->target() == obj ) listener_->setTarget( prevTarget() ); + } else { + listener_->setTarget( prevTarget() ); + } +} + SectorObject * Sector::nextTarget( ){ if ( sectorObjects_.size() != 0 ){ itTarget_ ++; + if ( avatar_ != NULL ){ if ( (*itTarget_) == avatar_ ) return nextTarget(); } if ( itTarget_ == sectorObjects_.end() ) itTarget_ = sectorObjects_.begin(); - return (*itTarget_); + + if ( (*itTarget_)->selectable() ) { + return (*itTarget_); + } else { + //** have to check for infinity loop + return nextTarget(); + } + } return NULL; } @@ -479,7 +516,12 @@ if ( avatar_ != NULL ){ if ( (*itTarget_) == avatar_ ) return prevTarget(); } - return (*itTarget_); + if ( (*itTarget_)->selectable() ) { + return (*itTarget_); + } else { + //** have to check for infinity loop + return prevTarget(); + } } return NULL; } @@ -535,7 +577,8 @@ } else { if ( msg.status() == true ){ log_->info( "Create object " + msg.name()+ " " + toStr( msg.senderID() ) + " " + toStr( (int)msg.childID() ) + " " ); - SectorObjectMoveable * obj = createMoveableObject( msg.name(), msg.senderID(), msg.childID() ); + SectorObjectMoveable * obj = createMoveableObject( msg.name(), msg.senderID(), msg.childID(), + *VesselManager::getSingleton().vessel( msg.vesselID() ) ); obj->mainNode()->setPosition( msg.position() ); sendAllVesselStatus( ); } Modified: branches/ogsector/src/Sector.h =================================================================== --- branches/ogsector/src/Sector.h 2007-04-24 09:52:17 UTC (rev 418) +++ branches/ogsector/src/Sector.h 2007-04-28 15:24:32 UTC (rev 419) @@ -33,9 +33,9 @@ void createStaticObject( const Ogre::String & meshname, const Ogre::String & objectname, const Ogre::Vector3 & pos, Ogre::Real targetSize, Ogre::Degree yaw ); - SectorObjectMoveable * createMoveableObject( const Ogre::String & name, int userId, int childId ); + SectorObjectMoveable * createMoveableObject( const Ogre::String & name, int userId, int childId, Vessel & vessel ); - SectorObjectMoveableAi * createAiMoveableObject( const Ogre::String & name, int childId ); + SectorObjectMoveableAi * createAiMoveableObject( const Ogre::String & name, int childId, Vessel & vessel ); void destructMoveableObject( SectorObjectMoveable * obj ); @@ -55,6 +55,9 @@ void createCircle( ); + void selectNextTarget( SectorObject * obj = NULL ); + void selectPrevTarget( SectorObject * obj = NULL ); + SectorObject * nextTarget( ); SectorObject * prevTarget( ); Modified: branches/ogsector/src/SectorClient.cpp =================================================================== --- branches/ogsector/src/SectorClient.cpp 2007-04-24 09:52:17 UTC (rev 418) +++ branches/ogsector/src/SectorClient.cpp 2007-04-28 15:24:32 UTC (rev 419) @@ -14,10 +14,10 @@ bool SectorClient::setup( bool dialog ){ root_ = new Ogre::Root; + if ( !configure( dialog ) ) return false; + setupResources(); - if ( !configure( dialog ) ) return false; - //** load ressources Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups(); @@ -36,6 +36,8 @@ //** spom dont know what for // Create the scene + vesselManager_ = new VesselManager( ); + createScene(); inputManager_ = new InputManager( ); Modified: branches/ogsector/src/SectorClient.h =================================================================== --- branches/ogsector/src/SectorClient.h 2007-04-24 09:52:17 UTC (rev 418) +++ branches/ogsector/src/SectorClient.h 2007-04-28 15:24:32 UTC (rev 419) @@ -10,6 +10,7 @@ #include "networkClient.h" #include "ogconsole.h" #include "LogManager.h" +#include "VesselManager.h" #include <list> @@ -76,6 +77,7 @@ Ogre::SceneManager * sceneMgr_; Ogre::RenderWindow * window_; InputManager * inputManager_; + VesselManager * vesselManager_; OGConsole * console_; }; Modified: branches/ogsector/src/SectorClientFrameListener.cpp =================================================================== --- branches/ogsector/src/SectorClientFrameListener.cpp 2007-04-24 09:52:17 UTC (rev 418) +++ branches/ogsector/src/SectorClientFrameListener.cpp 2007-04-28 15:24:32 UTC (rev 419) @@ -9,25 +9,6 @@ namespace OpenGate{ -// inline std::string encode_utf8( std::string & ansi ){ -// size_t ansi_len = ansi.length(); -// int len = MultiByteToWideChar( Ogre::CP_ACP, 0, ansi.c_str(), ansi_len, NULL, 0 ); - -// if (ansi_len > 0 && len > 0) { -// WCHAR *utf16 = new WCHAR[len]; - -// MultiByteToWideChar(CP_ACP, 0, ansi.c_str(), ansi_len, (LPWSTR)utf16, len); -// ansi_len = WideCharToMultiByte(CP_UTF8, 0, (LPWSTR)utf16, len, NULL, 0, NULL, NULL); - -// std::string unicode(ansi_len, 0); - -// WideCharToMultiByte(CP_UTF8, 0, (LPWSTR)utf16, len, (LPSTR)unicode.c_str(), ansi_len, NULL, NULL); -// delete[] utf16; -// return unicode; -// } -// return ""; -// } - SectorClientFrameListener::SectorClientFrameListener( Ogre::RenderWindow * win, Ogre::Camera * cam, Sector * sector, NetworkClient * nw ) : window_( win ), camera_( cam ), sector_( sector ), network_( nw ) { @@ -286,24 +267,40 @@ } else { // ** chatmode if ( e.key != OIS::KC_BACK ) { - if ( (int)e.text > 31 && (int)e.text < 167 ) { + if ( (int)e.text > 31 && (int)e.text < 127 ) { chatString_ += e.text; } else { - std::cout << (char)e.text << " " << e.text << std::endl; + std::cout << (char)e.text << " " << (unsigned int)e.text << " " << std::endl; } } else if ( chatString_.length() > 0 ) { chatString_ = chatString_.substr( 0, chatString_.length() - 1 ); } - hudOverlay_->getChild( overlayName_ + "/ChatIn/TextArea" )->setCaption( Ogre::UTFString( chatString_ ) ); +// std::wstring wstr( (wchar_t*)&e.text ); +// chatString_ +=(char(196)); +// std::cout << chatString_<< std::endl; +// std::cout << Ogre::String( chatString_.c_str() ) << std::endl; +// std::cout << Ogre::UTFString( wstr ) << std::endl; + +// std::cout << Ogre::UTFString( stws( chatString_ ) ) << std::endl; + + // std::cout << Ogre::UTFString( std::wstring( "\xF6\xE4\xFC") ) << std::endl; +// std::cout << Ogre::UTFString("\xF6\xFC\xE4") << std::endl; +// std::cout << Ogre::UTFString(chatString_).asUTF8_c_str() << std::endl; + + + Ogre::OverlayManager::getSingleton().getOverlayElement( overlayName_ + + "/ChatIn/TextArea" )->setCaption( chatString_ ); + if ( e.key == OIS::KC_RETURN) { MessageBodyChat chat( chatString_ ); network_->send( chat ); chatString_.clear(); - hudOverlay_->getChild( overlayName_ + "/ChatIn/TextArea" )->setCaption( chatString_ ); + Ogre::OverlayManager::getSingleton().getOverlayElement( overlayName_ + + "/ChatIn/TextArea" )->setCaption( chatString_ ); hudOverlay_->getChild( overlayName_ + "/ChatIn" )->hide( ); chatMode_ = false; } Modified: branches/ogsector/src/SectorObjects.cpp =================================================================== --- branches/ogsector/src/SectorObjects.cpp 2007-04-24 09:52:17 UTC (rev 418) +++ branches/ogsector/src/SectorObjects.cpp 2007-04-28 15:24:32 UTC (rev 419) @@ -11,6 +11,7 @@ sceneMgr_ = sector_->sceneManager(); mainNode_ = static_cast< Ogre::SceneNode * >( sceneMgr_->getRootSceneNode()->createChild() ); lifeTime_ = 0.0; + selectable_ = false; } BaseObject::~BaseObject(){ @@ -19,6 +20,7 @@ Projectile::Projectile( BaseObject * parent, long shotCounter, Ogre::Real speed ) : BaseObject( parent->name(), parent->sector() ), parent_( parent ) { + selectable_ = false; Ogre::String bulletName( name_ + "_" + toStr( shotCounter ) ); @@ -157,6 +159,7 @@ isOnRadar_ = false; mainNodeShape_ = mainNode_->createChildSceneNode( name_ + "_transform" ); baseSize_ = 0.0; + selectable_ = true; } SectorObject::~SectorObject(){ @@ -193,39 +196,56 @@ baseSize_ = targetSize; } -SectorObjectMoveable::SectorObjectMoveable( const Ogre::String & name, Sector * sector, int userID, int childID ) - : SectorObject( name, sector, userID, childID ) { +SectorObjectMoveable::SectorObjectMoveable( const Ogre::String & name, Sector * sector, int userID, int childID, + Vessel & vessel ) + : SectorObject( name, sector, userID, childID ), vesselBluePrint_( &vessel ) { inititializeVesselStats_(); - setShape( "ships/octavius/apteryx/apteryx.mesh" ); - //setShape( "ogrehead.mesh" ); + setShape( vesselBluePrint_->meshPtr().get()->getName() ); - baseYaw( Ogre::Degree( -90 ) ); - setBaseSize( 12.2 ); + baseYaw( Ogre::Degree( vesselBluePrint_->baseYaw() ) ); + setBaseSize( vesselBluePrint_->baseSize() ); - thrusterParticles_ = sceneMgr_->createParticleSystem( name_ + "Thruster" ); - thrusterParticles_->setMaterialName( "Examples/Flare" ); - thrusterParticles_->setDefaultDimensions( 2, 1 ); - Ogre::ParticleEmitter *pEmit1 = thrusterParticles_->addEmitter( "Point" ); - pEmit1->setDirection( mainNode_->getOrientation().zAxis() ); - pEmit1->setPosition( Ogre::Vector3( 0.0f, 0.5f, 5.0f ) ); - pEmit1->setColour( Ogre::ColourValue::Blue, Ogre::ColourValue::Green); + if ( vesselBluePrint_->factionName() == "squadrok" ){ + thrusterParticles_ = NULL; - mainNode_->attachObject( thrusterParticles_ ); + thrusterBbs_ = sceneMgr_->createBillboardSet( name_ + "thrust_BBS" ); + thrusterBbs_->setMaterialName("squadrok/thrusterLight"); + Ogre::Billboard *bb = thrusterBbs_->createBillboard( mainNode_->getOrientation().zAxis().normalisedCopy() * 10.0 ); + bb->setDimensions( 12.0, 12.0 ); + ... [truncated message content] |
From: <ult...@us...> - 2007-04-24 09:52:17
|
Revision: 418 http://svn.sourceforge.net/opengate/?rev=418&view=rev Author: ultrasick Date: 2007-04-24 02:52:17 -0700 (Tue, 24 Apr 2007) Log Message: ----------- uploading another part of the lady kickstart texture Modified Paths: -------------- trunk/data/ships/tauseti/lady kickstart/lady kickstart.blend trunk/templates/data/ships/tauseti/lady kickstart/viewable area.7z Added Paths: ----------- trunk/templates/data/ships/tauseti/lady kickstart/parts/68 + 69.pspimage Modified: trunk/data/ships/tauseti/lady kickstart/lady kickstart.blend =================================================================== (Binary files differ) Added: trunk/templates/data/ships/tauseti/lady kickstart/parts/68 + 69.pspimage =================================================================== (Binary files differ) Property changes on: trunk/templates/data/ships/tauseti/lady kickstart/parts/68 + 69.pspimage ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/templates/data/ships/tauseti/lady kickstart/viewable area.7z =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ult...@us...> - 2007-04-23 23:23:19
|
Revision: 417 http://svn.sourceforge.net/opengate/?rev=417&view=rev Author: ultrasick Date: 2007-04-23 16:23:20 -0700 (Mon, 23 Apr 2007) Log Message: ----------- uploading another 2 parts of the lady kickstart texture ... only 7 left =) Modified Paths: -------------- trunk/data/ships/tauseti/lady kickstart/lady kickstart.blend trunk/templates/data/ships/tauseti/lady kickstart/viewable area.7z Added Paths: ----------- trunk/templates/data/ships/tauseti/lady kickstart/parts/66.pspimage trunk/templates/data/ships/tauseti/lady kickstart/parts/67.pspimage Modified: trunk/data/ships/tauseti/lady kickstart/lady kickstart.blend =================================================================== (Binary files differ) Added: trunk/templates/data/ships/tauseti/lady kickstart/parts/66.pspimage =================================================================== (Binary files differ) Property changes on: trunk/templates/data/ships/tauseti/lady kickstart/parts/66.pspimage ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/templates/data/ships/tauseti/lady kickstart/parts/67.pspimage =================================================================== (Binary files differ) Property changes on: trunk/templates/data/ships/tauseti/lady kickstart/parts/67.pspimage ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/templates/data/ships/tauseti/lady kickstart/viewable area.7z =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ult...@us...> - 2007-04-23 18:15:37
|
Revision: 416 http://svn.sourceforge.net/opengate/?rev=416&view=rev Author: ultrasick Date: 2007-04-23 11:15:35 -0700 (Mon, 23 Apr 2007) Log Message: ----------- added some more parts of the texture. I also used part 2 twice on the model now. Don't worry about the file size....I will reduce it as soon as I completed the texturing Modified Paths: -------------- trunk/data/ships/tauseti/lady kickstart/lady kickstart.blend trunk/templates/data/ships/tauseti/lady kickstart/viewable area.7z Added Paths: ----------- trunk/templates/data/ships/tauseti/lady kickstart/parts/64 + 65.pspimage Modified: trunk/data/ships/tauseti/lady kickstart/lady kickstart.blend =================================================================== (Binary files differ) Added: trunk/templates/data/ships/tauseti/lady kickstart/parts/64 + 65.pspimage =================================================================== (Binary files differ) Property changes on: trunk/templates/data/ships/tauseti/lady kickstart/parts/64 + 65.pspimage ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/templates/data/ships/tauseti/lady kickstart/viewable area.7z =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ult...@us...> - 2007-04-22 22:31:16
|
Revision: 415 http://svn.sourceforge.net/opengate/?rev=415&view=rev Author: ultrasick Date: 2007-04-22 15:31:17 -0700 (Sun, 22 Apr 2007) Log Message: ----------- uploading commoditiy - ammunition Added Paths: ----------- trunk/data/commodities/ammunition.blend Added: trunk/data/commodities/ammunition.blend =================================================================== (Binary files differ) Property changes on: trunk/data/commodities/ammunition.blend ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <spo...@us...> - 2007-04-22 21:59:27
|
Revision: 414 http://svn.sourceforge.net/opengate/?rev=414&view=rev Author: spom_spom Date: 2007-04-22 14:59:25 -0700 (Sun, 22 Apr 2007) Log Message: ----------- win32 compatibility commit Modified Paths: -------------- branches/ogsector/win32/ogsectorclient/ogsectorclient.exe Modified: branches/ogsector/win32/ogsectorclient/ogsectorclient.exe =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <spo...@us...> - 2007-04-22 21:40:44
|
Revision: 413 http://svn.sourceforge.net/opengate/?rev=413&view=rev Author: spom_spom Date: 2007-04-22 14:40:45 -0700 (Sun, 22 Apr 2007) Log Message: ----------- 'My aiming sucks, dude.', (added: Duelist, fixed some issued, slightly code clearance) Modified Paths: -------------- branches/ogsector/data/mousePointer.material branches/ogsector/data/mousePointer.overlay branches/ogsector/data/simpleHUD.material branches/ogsector/data/simpleHUD.overlay branches/ogsector/data/textures/hudCenter.png branches/ogsector/ogre.cfg branches/ogsector/src/LogManager.cpp branches/ogsector/src/Makefile.am branches/ogsector/src/Makefile.in branches/ogsector/src/Sector.cpp branches/ogsector/src/SectorClientFrameListener.cpp branches/ogsector/src/SectorClientFrameListener.h branches/ogsector/src/SectorObjects.cpp branches/ogsector/src/SectorObjects.h branches/ogsector/src/networkServer.cpp branches/ogsector/src/networkServer.h branches/ogsector/src/networkServerUser.cpp branches/ogsector/src/ogconsole.cpp branches/ogsector/src/ogsectorclient.cpp branches/ogsector/src/ogsectorserver.cpp Added Paths: ----------- branches/ogsector/data/textures/duelistPilotPointer.png branches/ogsector/data/textures/duelistTargetPointer.png branches/ogsector/data/textures/flightCurser.png branches/ogsector/data/textures/targetPointer.png Removed Paths: ------------- branches/ogsector/data/textures/hudTarget.png Modified: branches/ogsector/data/mousePointer.material =================================================================== --- branches/ogsector/data/mousePointer.material 2007-04-21 19:48:08 UTC (rev 412) +++ branches/ogsector/data/mousePointer.material 2007-04-22 21:40:45 UTC (rev 413) @@ -1,17 +1,18 @@ -material OpenGate/MousePointer -{ - technique - { - pass - { - depth_check off - lighting off - scene_blend alpha_blend - - texture_unit - { - texture textures/mousePointer.png - } - } - } -} +//material OpenGate/FlightCurser +//{ +// technique +// { +// pass +// { +// depth_check off +// lighting off +// scene_blend alpha_blend +// +// texture_unit +// { +// texture textures/flightCurser.png +// } +// } +// } +//} +// Modified: branches/ogsector/data/mousePointer.overlay =================================================================== --- branches/ogsector/data/mousePointer.overlay 2007-04-21 19:48:08 UTC (rev 412) +++ branches/ogsector/data/mousePointer.overlay 2007-04-22 21:40:45 UTC (rev 413) @@ -1,13 +1,13 @@ -OpenGate/MousePointer -{ - zorder 502 - container Panel(OpenGate/MousePointer/Pointer) - { - metrics_mode pixels - top 0 - left 0 - width 32 - height 32 - material OpenGate/MousePointer - } -} \ No newline at end of file +//OpenGate/MousePointer +//{ +// zorder 502 +// container Panel(OpenGate/MousePointer/Pointer) +// { +// metrics_mode pixels +// top 0 +// left 0 +// width 32 +// height 32 +// material OpenGate/MousePointer +// } +//} \ No newline at end of file Modified: branches/ogsector/data/simpleHUD.material =================================================================== --- branches/ogsector/data/simpleHUD.material 2007-04-21 19:48:08 UTC (rev 412) +++ branches/ogsector/data/simpleHUD.material 2007-04-22 21:40:45 UTC (rev 413) @@ -1,4 +1,4 @@ -material OpenGate/SimpleHUD/CenterPointer +material SimpleHUD/FlightCurser { technique { @@ -10,13 +10,31 @@ texture_unit { + texture textures/flightCurser.png + } + } + } +} + +material SimpleHUD/CenterPointer +{ + technique + { + pass + { + depth_check off + lighting off + scene_blend alpha_blend + + texture_unit + { texture textures/hudCenter.png } } } } -material OpenGate/SimpleHUD/TargetPointer +material SimpleHUD/TargetPointer { technique { @@ -28,12 +46,48 @@ texture_unit { - texture textures/hudTarget.png + texture textures/targetPointer.png } } } } +material SimpleHUD/DuelistPilotPointer +{ + technique + { + pass + { + depth_check off + lighting off + scene_blend alpha_blend + + texture_unit + { + texture textures/duelistPilotPointer.png + } + } + } +} + +material SimpleHUD/DuelistTargetPointer +{ + technique + { + pass + { + depth_check off + lighting off + scene_blend alpha_blend + + texture_unit + { + texture textures/duelistTargetPointer.png + } + } + } +} + material OpenGate/Console/Background { technique Modified: branches/ogsector/data/simpleHUD.overlay =================================================================== --- branches/ogsector/data/simpleHUD.overlay 2007-04-21 19:48:08 UTC (rev 412) +++ branches/ogsector/data/simpleHUD.overlay 2007-04-22 21:40:45 UTC (rev 413) @@ -1,24 +1,24 @@ -OpenGate/Radar +Radar { zorder 501 - container Panel(OpenGate/Radar/Map) + container Panel(Radar/Map) { - left 0.35 - top 0.8 - width 0.3 - height 0.2 + left 0.4 + top 0.84 + width 0.2 + height 0.15 material OpenGate/Radar/Background } -// container Panel(OpenGate/Radar/Dot) +// container Panel(Radar/Dot) // { -// material OpenGate/Radar/Dot +// material Radar/Dot // } } -OpenGate/SimpleHUD +SimpleHUD { zorder 500 - container Panel(OpenGate/SimpleHUDConsole) + container Panel(SimpleHUD/Console) { left 0.01 top 0.01 @@ -26,7 +26,7 @@ height 0.5 material OpenGate/Console/Background - element TextArea(OpenGate/SimpleHUDConsoleTextArea) + element TextArea(SimpleHUD/Console/TextArea) { left 0.01 top 0.01 @@ -39,7 +39,7 @@ } } - container Panel(OpenGate/SimpleHUDConsoleShort) + container Panel(SimpleHUD/ConsoleShort) { left 0.01 top 0.01 @@ -47,7 +47,7 @@ height 0.075 // material OpenGate/Console/Background - element TextArea(OpenGate/SimpleHUDConsoleShortTextArea) + element TextArea(SimpleHUD/ConsoleShort/TextArea) { left 0.01 top 0.01 @@ -60,7 +60,7 @@ } } - container Panel(OpenGate/SimpleHUDChatInPanel) + container Panel(SimpleHUD/ChatIn) { left 0.01 top 0.52 @@ -68,7 +68,7 @@ height 0.025 material OpenGate/Console/Background - element TextArea(OpenGate/SimpleHUDChatInTextField) + element TextArea(SimpleHUD/ChatIn/TextArea) { left 0.01 top 0.005 @@ -81,34 +81,64 @@ } } - container Panel(OpenGate/CenterPointer) + container Panel(SimpleHUD/CenterPointer) { metrics_mode pixels top 0 left 0 + width 48 + height 48 + material SimpleHUD/CenterPointer + } + + container Panel(SimpleHUD/FlightCurser) + { + metrics_mode pixels + top 0 + left 0 width 32 height 32 - material OpenGate/SimpleHUD/CenterPointer + material SimpleHUD/FlightCurser } - container Panel(OpenGate/TargetPointer) + container Panel(SimpleHUD/TargetPointer) { metrics_mode pixels top 0 left 0 width 32 height 32 - material OpenGate/SimpleHUD/TargetPointer + material SimpleHUD/TargetPointer } - container Panel(OpenGate/SimpleHUDPanel) + container Panel(SimpleHUD/DuelistPilotPointer) + { + metrics_mode pixels + top 0 + left 0 + width 32 + height 32 + material SimpleHUD/DuelistPilotPointer + } + + container Panel(SimpleHUD/DuelistTargetPointer) + { + metrics_mode pixels + top 0 + left 0 + width 32 + height 32 + material SimpleHUD/DuelistTargetPointer + } + + container Panel(SimpleHUD/MainPanel) { left 0 top 0 width 1.0 height 1.0 - element TextArea(OpenGate/SimpleHUDTextStats) + element TextArea(SimpleHUD/MainPanel/StatsTextArea) { left 0.8 top 0.01 @@ -121,7 +151,7 @@ colour_bottom 1 1 0.7 } - element TextArea(OpenGate/SimpleHUDTextVelocity) + element TextArea(SimpleHUD/MainPanel/TextVelocity) { left 0.25 top 0.3 @@ -133,7 +163,7 @@ colour_top 0.5 0.7 0.5 colour_bottom 0.3 0.5 0.3 } - element TextArea(OpenGate/SimpleHUDTextVelocityMax) + element TextArea(SimpleHUD/MainPanel/TextVelocityMax) { left 0.31 top 0.3 @@ -145,7 +175,7 @@ colour_top 0.5 0.7 0.5 colour_bottom 0.3 0.5 0.3 } - element TextArea(OpenGate/SimpleHUDTextThr) + element TextArea(SimpleHUD/MainPanel/TextThr) { left 0.25 top 0.33 @@ -157,7 +187,7 @@ colour_top 0.5 0.7 0.5 colour_bottom 0.3 0.5 0.3 } - element TextArea(OpenGate/SimpleHUDTextAcc) + element TextArea(SimpleHUD/MainPanel/TextAcc) { left 0.25 top 0.36 @@ -169,7 +199,7 @@ colour_top 0.5 0.7 0.5 colour_bottom 0.3 0.5 0.3 } - element TextArea(OpenGate/SimpleHUDTextShield) + element TextArea(SimpleHUD/MainPanel/TextShield) { left 0.25 top 0.39 @@ -180,7 +210,7 @@ colour_top 0.5 0.7 0.5 colour_bottom 0.3 0.5 0.3 } - element TextArea(OpenGate/SimpleHUDTextArmor) + element TextArea(SimpleHUD/MainPanel/TextArmor) { left 0.25 top 0.42 @@ -191,7 +221,7 @@ colour_top 0.5 0.7 0.5 colour_bottom 0.3 0.5 0.3 } - element TextArea(OpenGate/SimpleHUDTextPosition) + element TextArea(SimpleHUD/MainPanel/TextPosition) { left 0.25 top 0.45 @@ -204,7 +234,7 @@ colour_bottom 0.3 0.5 0.3 } - element TextArea(OpenGate/SimpleHUDTextTargetName) + element TextArea(SimpleHUD/MainPanel/TextTargetName) { left 0.015 top 0.80 @@ -215,7 +245,7 @@ colour_top 0.5 0.7 0.5 colour_bottom 0.3 0.5 0.3 } - element TextArea(OpenGate/SimpleHUDTextTargetDistance) + element TextArea(SimpleHUD/MainPanel/TextTargetDistance) { left 0.015 top 0.82 @@ -226,7 +256,7 @@ colour_top 0.5 0.7 0.5 colour_bottom 0.3 0.5 0.3 } - element TextArea(OpenGate/SimpleHUDTextTargetVelocity) + element TextArea(SimpleHUD/MainPanel/TextTargetVelocity) { left 0.17 top 0.84 @@ -238,7 +268,7 @@ colour_bottom 0.3 0.5 0.3 } - element TextArea(OpenGate/SimpleHUDTextTargetShield) + element TextArea(SimpleHUD/MainPanel/TextTargetShield) { left 0.17 top 0.86 @@ -249,7 +279,7 @@ colour_top 0.5 0.7 0.5 colour_bottom 0.3 0.5 0.3 } - element TextArea(OpenGate/SimpleHUDTextTargetArmor) + element TextArea(SimpleHUD/MainPanel/TextTargetArmor) { left 0.17 top 0.88 Added: branches/ogsector/data/textures/duelistPilotPointer.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/textures/duelistPilotPointer.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/textures/duelistTargetPointer.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/textures/duelistTargetPointer.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/textures/flightCurser.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/textures/flightCurser.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: branches/ogsector/data/textures/hudCenter.png =================================================================== (Binary files differ) Deleted: branches/ogsector/data/textures/hudTarget.png =================================================================== (Binary files differ) Added: branches/ogsector/data/textures/targetPointer.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/textures/targetPointer.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: branches/ogsector/ogre.cfg =================================================================== --- branches/ogsector/ogre.cfg 2007-04-21 19:48:08 UTC (rev 412) +++ branches/ogsector/ogre.cfg 2007-04-22 21:40:45 UTC (rev 413) @@ -4,5 +4,5 @@ FSAA=6 Full Screen=No RTT Preferred Mode=FBO -Refresh Rate=75 -Video Mode=1024x768 +Refresh Rate=Not applicable +Video Mode=1024 x 768 Modified: branches/ogsector/src/LogManager.cpp =================================================================== --- branches/ogsector/src/LogManager.cpp 2007-04-21 19:48:08 UTC (rev 412) +++ branches/ogsector/src/LogManager.cpp 2007-04-22 21:40:45 UTC (rev 413) @@ -1,4 +1,5 @@ #include "LogManager.h" +#include "ogconsole.h" namespace OpenGate{ @@ -50,21 +51,25 @@ if ( haveChatLogFile_ ) chatLogFile_ << timeStamp() << " " << logMsg << std::endl; writeToConsole_( logMsg ); - write_( logMsg ); + cout( logMsg ); } void LogManager::info( const std::string & msg ){ - writeToConsole_( msg ); - write_( msg ); + std::string logMsg( "INFO: " + msg ); + writeToConsole_( logMsg ); + write_( logMsg ); } void LogManager::debug( const std::string & msg ){ - write_( msg ); + std::string logMsg( "DEBUG: " + msg ); + write_( logMsg ); } void LogManager::fatal( const std::string & msg ){ - writeToConsole_( msg ); - write_( msg ); + std::string logMsg( "FATAL: " + msg ); + + writeToConsole_( logMsg ); + write_( logMsg ); } void LogManager::cout( const std::string & msg ){ Modified: branches/ogsector/src/Makefile.am =================================================================== --- branches/ogsector/src/Makefile.am 2007-04-21 19:48:08 UTC (rev 412) +++ branches/ogsector/src/Makefile.am 2007-04-22 21:40:45 UTC (rev 413) @@ -29,6 +29,12 @@ ogsectorserver.cpp \ common.h \ common.cpp \ + LogManager.h \ + LogManager.cpp \ + ogconsole.h \ + ogconsole.cpp \ + InputManager.h \ + InputManager.cpp \ networkProtocol.h \ networkServer.h \ networkServer.cpp \ Modified: branches/ogsector/src/Makefile.in =================================================================== --- branches/ogsector/src/Makefile.in 2007-04-21 19:48:08 UTC (rev 412) +++ branches/ogsector/src/Makefile.in 2007-04-22 21:40:45 UTC (rev 413) @@ -56,7 +56,9 @@ ogsectorclient_OBJECTS = $(am_ogsectorclient_OBJECTS) ogsectorclient_LDADD = $(LDADD) am_ogsectorserver_OBJECTS = ogsectorserver.$(OBJEXT) common.$(OBJEXT) \ - networkServer.$(OBJEXT) networkServerUser.$(OBJEXT) + LogManager.$(OBJEXT) ogconsole.$(OBJEXT) \ + InputManager.$(OBJEXT) networkServer.$(OBJEXT) \ + networkServerUser.$(OBJEXT) ogsectorserver_OBJECTS = $(am_ogsectorserver_OBJECTS) ogsectorserver_LDADD = $(LDADD) am_testopenalmanager_OBJECTS = testopenalmanager.$(OBJEXT) \ @@ -196,6 +198,12 @@ ogsectorserver.cpp \ common.h \ common.cpp \ + LogManager.h \ + LogManager.cpp \ + ogconsole.h \ + ogconsole.cpp \ + InputManager.h \ + InputManager.cpp \ networkProtocol.h \ networkServer.h \ networkServer.cpp \ Modified: branches/ogsector/src/Sector.cpp =================================================================== --- branches/ogsector/src/Sector.cpp 2007-04-21 19:48:08 UTC (rev 412) +++ branches/ogsector/src/Sector.cpp 2007-04-22 21:40:45 UTC (rev 413) @@ -71,16 +71,16 @@ //*** starfield test 2 - starsNode_ = sceneMgr_->getRootSceneNode()->createChildSceneNode("StarfieldNode"); - Ogre::BillboardSet* mySet = sceneMgr_->createBillboardSet("StarfieldNode"); - mySet->setMaterialName( "OpenGate/Star"); - for ( int i = 0; i < 1000; i ++ ){ - Ogre::Billboard* myBillboard = mySet->createBillboard(Ogre::Vector3(Ogre::Math::RangeRandom(-1,1), - Ogre::Math::RangeRandom(-1,1), - Ogre::Math::RangeRandom(-1,1)).normalisedCopy()* Ogre::Math::RangeRandom( 1000, 3000 ) ); - myBillboard->setDimensions( 10, 10 ); - } - starsNode_->attachObject(mySet); +// starsNode_ = sceneMgr_->getRootSceneNode()->createChildSceneNode("StarfieldNode"); +// Ogre::BillboardSet* mySet = sceneMgr_->createBillboardSet("StarfieldNode"); +// mySet->setMaterialName( "OpenGate/Star"); +// for ( int i = 0; i < 1000; i ++ ){ +// Ogre::Billboard* myBillboard = mySet->createBillboard(Ogre::Vector3(Ogre::Math::RangeRandom(-1,1), +// Ogre::Math::RangeRandom(-1,1), +// Ogre::Math::RangeRandom(-1,1)).normalisedCopy()* Ogre::Math::RangeRandom( 1000, 3000 ) ); +// myBillboard->setDimensions( 10, 10 ); +// } +// starsNode_->attachObject(mySet); //*** end starfield test 2; @@ -186,6 +186,12 @@ Ogre::Real( 10.0 ), Ogre::Degree( 0.0 ) ); +// createStaticObject( Ogre::String("local/squid/Plane.001.mesh"), +// "Testsquid", +// Ogre::Vector3( 0, 0, 300 ), +// Ogre::Real( 7.0 ), +// Ogre::Degree( 0.0 ) ); + itTarget_ = sectorObjects_.begin(); } @@ -241,8 +247,8 @@ } - Ogre::Overlay * radar = Ogre::OverlayManager::getSingleton().getByName( "OpenGate/Radar" ); - Ogre::OverlayContainer * radarMap = radar->getChild( "OpenGate/Radar/Map" ); + Ogre::Overlay * radar = Ogre::OverlayManager::getSingleton().getByName( "Radar" ); + Ogre::OverlayContainer * radarMap = radar->getChild( "Radar/Map" ); int dotAWidth = 4; int dotAHeight = 2; @@ -260,14 +266,14 @@ Ogre::OverlayElement * dotA, * dotB; if ( !(*it)->isOnRadar() ) { - dotA = Ogre::OverlayManager::getSingleton().createOverlayElement( "Panel", "Overlay/Radar/DotA" + (*it)->name() ); + dotA = Ogre::OverlayManager::getSingleton().createOverlayElement( "Panel", "Radar/Map/DotA" + (*it)->name() ); dotA->setMaterialName( "BaseWhite" ); dotA->setMetricsMode( Ogre::GMM_PIXELS ); dotA->setWidth( dotAWidth ); dotA->setHeight( dotAHeight ); radarMap->addChild( dotA ); - dotB = Ogre::OverlayManager::getSingleton().createOverlayElement( "Panel", "Overlay/Radar/DotB" + (*it)->name() ); + dotB = Ogre::OverlayManager::getSingleton().createOverlayElement( "Panel", "Radar/Map/DotB" + (*it)->name() ); dotB->setMaterialName( "BaseWhite" ); dotB->setMetricsMode( Ogre::GMM_PIXELS ); dotB->setWidth( 1 ); @@ -277,8 +283,8 @@ (*it)->onRadar( true ); } else { - dotA = radarMap->getChild( "Overlay/Radar/DotA" + (*it)->name() ); - dotB = radarMap->getChild( "Overlay/Radar/DotB" + (*it)->name() ); + dotA = radarMap->getChild( "Radar/Map/DotA" + (*it)->name() ); + dotB = radarMap->getChild( "Radar/Map/DotB" + (*it)->name() ); } Ogre::Quaternion q; @@ -341,15 +347,12 @@ if ( listener_->target() == obj ) listener_->setTarget( nextTarget() ); sectorObjects_.erase( obj ); - Ogre::Overlay * radar = Ogre::OverlayManager::getSingleton().getByName( "OpenGate/Radar" ); - Ogre::OverlayContainer * radarMap = radar->getChild( "OpenGate/Radar/Map" ); - Ogre::OverlayElement *dotA = radarMap->getChild( "Overlay/Radar/DotA" + obj->name() ); - Ogre::OverlayElement *dotB = radarMap->getChild( "Overlay/Radar/DotB" + obj->name() ); - radarMap->removeChild( "Overlay/Radar/DotA" + obj->name() ); - radarMap->removeChild( "Overlay/Radar/DotB" + obj->name() ); - // Ogre::OverlayManager::getSingleton().destroyOverlayElementImpl( dotA ); - Ogre::OverlayManager::getSingleton().destroyOverlayElement( "Overlay/Radar/DotA" + obj->name() ); - Ogre::OverlayManager::getSingleton().destroyOverlayElement( "Overlay/Radar/DotB" + obj->name() ); + Ogre::Overlay * radar = Ogre::OverlayManager::getSingleton().getByName( "Radar" ); + Ogre::OverlayContainer * radarMap = radar->getChild( "Radar/Map" ); + radarMap->removeChild( "Radar/Map/DotA" + obj->name() ); + radarMap->removeChild( "Radar/Map/DotB" + obj->name() ); + Ogre::OverlayManager::getSingleton().destroyOverlayElement( "Radar/Map/DotA" + obj->name() ); + Ogre::OverlayManager::getSingleton().destroyOverlayElement( "Radar/Map/DotB" + obj->name() ); switch ( obj->getTypeID() ){ case SECTOROBJECTMOVABLE_RTTI: @@ -524,7 +527,7 @@ if ( movableObjects_.count( createGlobalID( msg.senderID(), msg.childID() ) ) ){ if ( msg.status() == false ){ - log_->info( "Deregistering " + msg.name() ); + log_->info( "Deregistering " + movableObjects_[ createGlobalID( msg.senderID(), msg.childID() ) ]->name() ); destructMoveableObject( movableObjects_[ createGlobalID( msg.senderID(), msg.childID() ) ] ); } else { log_->info( "Object " + msg.name() + " allready registered." ); Modified: branches/ogsector/src/SectorClientFrameListener.cpp =================================================================== --- branches/ogsector/src/SectorClientFrameListener.cpp 2007-04-21 19:48:08 UTC (rev 412) +++ branches/ogsector/src/SectorClientFrameListener.cpp 2007-04-22 21:40:45 UTC (rev 413) @@ -39,7 +39,8 @@ cameraMode_ = 1; consoleMode_ = false; chatMode_ = false; - + duelistPilot_ = false; + duelistTarget_ = false; sector_->setListener( this ); windowsWidth_ = window_->getWidth( ); @@ -55,49 +56,31 @@ timeSinceLastSectorUpdate_ = 0.0; timeSinceLastNetworkUpdate_ = 0.0; - hudOverlay_ = Ogre::OverlayManager::getSingleton().getByName("OpenGate/SimpleHUD"); - Ogre::OverlayManager::getSingleton().getOverlayElement("OpenGate/SimpleHUDChatInPanel")->hide( ); + overlayName_ = "SimpleHUD"; - Ogre::OverlayElement* hudCenter = Ogre::OverlayManager::getSingleton().getOverlayElement("OpenGate/CenterPointer"); - hudCenter->setTop( windowsHalfHeight_ - 16 ); - hudCenter->setLeft( windowsHalfWidth_ - 16 ); + hudOverlay_ = Ogre::OverlayManager::getSingleton().getByName( overlayName_ ); + hudOverlay_->getChild( overlayName_ + "/ChatIn" )->hide( ); + + Ogre::OverlayElement * centerPointer_ = hudOverlay_->getChild( overlayName_ + "/CenterPointer" ); + centerPointer_->setTop( windowsHalfHeight_ - centerPointer_->getHeight() / 2 ); + centerPointer_->setLeft( windowsHalfWidth_ - centerPointer_->getWidth() / 2 ); + + mousePointer_ = hudOverlay_->getChild( overlayName_ + "/FlightCurser" ); + mousePointer_->setTop( windowsHalfHeight_ - mousePointer_->getHeight() / 2 ); + mousePointer_->setLeft( windowsHalfWidth_ - mousePointer_->getWidth() / 2 ); hudOverlay_->show( ); - Ogre::OverlayManager::getSingleton().getByName( "OpenGate/MousePointer" )->show(); - mousePointer_ = Ogre::OverlayManager::getSingleton().getOverlayElement( "OpenGate/MousePointer/Pointer" ); - mousePointer_->setTop( windowsHalfHeight_ - 16 ); - mousePointer_->setLeft( windowsHalfWidth_ - 16 ); + Ogre::OverlayElement * duelistPilotPointer = hudOverlay_->getChild( overlayName_ + "/DuelistPilotPointer" ); + duelistPilotPointer->setLeft( windowsHalfWidth_ - duelistPilotPointer->getWidth() / 2 ); + duelistPilotPointer->setTop( windowsHalfHeight_ - duelistPilotPointer->getHeight() / 2 ); + duelistPilotPointer->show(); + hudOverlay_->getChild( overlayName_ + "/DuelistTargetPointer" )->hide(); - //** start radar hud; - Ogre::Overlay * radar = Ogre::OverlayManager::getSingleton().getByName( "OpenGate/Radar" ); + Ogre::Overlay * radar = Ogre::OverlayManager::getSingleton().getByName( "Radar" ); radar->show(); - // Ogre::Overlay * radar = Ogre::OverlayManager::getSingleton().getByName("OpenGate/Radar"); -// element Panel(OpenGate/Radar/Dot) -// { -// // material BaseWhiteNoLighting -// } - -// // Ogre::OverlayContainer * pMinMapElement = radar->getChild( "OpenGate/Radar/Dot" ); -// Ogre::OverlayContainer * pDot = (Ogre::OverlayContainer*)Ogre::OverlayManager::getSingleton().createOverlayElement( "Panel", "Dot"); - - - // Make sure the alignement and metrics are the same as the MiniMap -// pDot->setVerticalAlignment( pMinMapElement->getVerticalAlignment() ); -// pDot->setHorizontalAlignment( pMinMapElement->getHorizontalAlignment() ); -// pDot->setMetricsMode( pMinMapElement->getMetricsMode() ); -// pDot->setWidth( 10 ); -// pDot->setHeight( 10 ); -// Ogre::Overlay * radarMap = Ogre::OverlayManager::getSingleton().getByName("OpenGate/Radar/Map"); -// radarMap->add2D( pDot ); - //** end radar hud - // radar->show(); - - - - // cameraRotateSpeed_ = 36; // cameraRotateScale_ = 0.0f; // cameraMoveSpeed_ = 100; @@ -226,7 +209,7 @@ if ( !chatMode_ ){ if ( e.key == OIS::KC_RETURN) { - Ogre::OverlayManager::getSingleton().getOverlayElement("OpenGate/SimpleHUDChatInPanel")->show( ); + hudOverlay_->getChild( overlayName_ + "/ChatIn" )->show( ); chatMode_ = true; } @@ -269,6 +252,8 @@ } //** selfdestruct and eject; if ( e.key == OIS::KC_F11 ) { sector_->avatarDied(); } + if ( e.key == OIS::KC_F5 ){ duelistPilot_ = !duelistPilot_; } + if ( e.key == OIS::KC_F6 ){ duelistTarget_ = !duelistTarget_; } } // if avatar; //** next Target; @@ -301,20 +286,16 @@ } else { // ** chatmode if ( e.key != OIS::KC_BACK ) { - if ( (int)e.text > 32 && (int)e.text < 167 ) { + if ( (int)e.text > 31 && (int)e.text < 167 ) { chatString_ += e.text; } else { std::cout << (char)e.text << " " << e.text << std::endl; } - } else if ( chatString_.length() > 1 ) { + } else if ( chatString_.length() > 0 ) { chatString_ = chatString_.substr( 0, chatString_.length() - 1 ); } - Ogre::OverlayElement *hudChatIn = Ogre::OverlayManager::getSingleton().getOverlayElement("OpenGate/SimpleHUDChatInTextField"); -// hudChatIn->setCaption( chatString_ ); - - hudChatIn->setCaption( Ogre::UTFString( chatString_ ) ); - // hudChatIn->setCaption( Ogre::UTFString( chatString_ ).asUTF32_c_str() ); + hudOverlay_->getChild( overlayName_ + "/ChatIn/TextArea" )->setCaption( Ogre::UTFString( chatString_ ) ); if ( e.key == OIS::KC_RETURN) { @@ -322,8 +303,8 @@ network_->send( chat ); chatString_.clear(); - Ogre::OverlayManager::getSingleton().getOverlayElement("OpenGate/SimpleHUDChatInTextField")->setCaption( chatString_ ); - Ogre::OverlayManager::getSingleton().getOverlayElement("OpenGate/SimpleHUDChatInPanel")->hide( ); + hudOverlay_->getChild( overlayName_ + "/ChatIn/TextArea" )->setCaption( chatString_ ); + hudOverlay_->getChild( overlayName_ + "/ChatIn" )->hide( ); chatMode_ = false; } } @@ -366,11 +347,15 @@ mousePointer_->setLeft( mousePointer_->getLeft( ) + e.state.X.rel ); mousePointer_->setTop( mousePointer_->getTop( ) + e.state.Y.rel ); - if ( mousePointer_->getLeft( ) < -16 ) mousePointer_->setLeft( -16 ); - if ( mousePointer_->getTop( ) < -16 ) mousePointer_->setTop( -16 ); + Ogre::Real mousePointerWidth = mousePointer_->getWidth(); + Ogre::Real mousePointerHeight = mousePointer_->getHeight(); + if ( mousePointer_->getLeft( ) < -mousePointerWidth ) mousePointer_->setLeft( -mousePointerWidth ); + if ( mousePointer_->getTop( ) < -mousePointerHeight ) mousePointer_->setTop( -mousePointerHeight ); - if ( mousePointer_->getLeft( ) > windowsWidth_-16 ) mousePointer_->setLeft( windowsWidth_-16 ); - if ( mousePointer_->getTop( ) > windowsHeight_-16 ) mousePointer_->setTop( windowsHeight_-16 ); + if ( mousePointer_->getLeft( ) > windowsWidth_-mousePointerWidth ) mousePointer_->setLeft( windowsWidth_- + mousePointerWidth ); + if ( mousePointer_->getTop( ) > windowsHeight_-mousePointerHeight ) mousePointer_->setTop( windowsHeight_- + mousePointerHeight ); if ( sector_->avatar() != NULL ){ // std::cout << "X" << e.state.X.abs << " " << e.state.X.rel << " " << mousePointer_->getLeft( ) << std::endl; @@ -378,8 +363,8 @@ // std::cout << "Z" << e.state.Z.abs << " " << e.state.Z.rel<< std::endl; // return true; - int relativToMidPointX = (int)rint( (mousePointer_->getLeft( ) +16) - windowsHalfWidth_ ); - int relativToMidPointY = (int)rint( (mousePointer_->getTop( ) +16) - windowsHalfHeight_ ); + int relativToMidPointX = (int)rint( (mousePointer_->getLeft( ) + mousePointerWidth) - windowsHalfWidth_ ); + int relativToMidPointY = (int)rint( (mousePointer_->getTop( ) + mousePointerHeight) - windowsHalfHeight_ ); int minActiveZonePercent = 5; int maxActiveZonePercent = 90; @@ -456,43 +441,42 @@ int throwSliderAxis = 6; double axisScale = 32768; - //** deadzone - int minActiveZonePercent = 10; - int maxActiveZonePercent = 95; - - double minRadius = ( axisScale ) * minActiveZonePercent / 100; - double maxRadius = ( axisScale ) * maxActiveZonePercent / 100; - - Ogre::Real yaw = (e.state.mAxes[ joyStickAxisX ].abs) / (maxRadius); - Ogre::Real pitch = (e.state.mAxes[ joyStickAxisY ].abs) / (maxRadius); - Ogre::Real roll = (e.state.mAxes[ joyStickAxisZ ].abs) / (maxRadius); - Ogre::Real thrust = ( -e.state.mAxes[ throwSliderAxis ].abs + axisScale ) / (maxRadius*2); - - yaw = min( yaw, 1.0f ); yaw = max( yaw, -1.0f ); - pitch = min( pitch, 1.0f ); pitch = max( pitch, -1.0f ); - roll = min( roll, 1.0f ); roll = max( roll, -1.0f ); - thrust = min( thrust, 1.0f ); thrust = max( thrust, 0.0f ); - - - if ( fabs( e.state.mAxes[ joyStickAxisX ].abs ) < minRadius ) yaw = 0.0; - if ( fabs( e.state.mAxes[ joyStickAxisY ].abs ) < minRadius ) pitch = 0.0; - if ( fabs( e.state.mAxes[ joyStickAxisZ ].abs ) < minRadius ) roll = 0.0; - if ( fabs( -e.state.mAxes[ throwSliderAxis ].abs + axisScale ) < minRadius ) thrust = 0.0; - - //** little deadzone ; - // window_->setDebugText( "Joy Axis: X: " + StringConverter::toString( e.state.mAxes[ joyStickAxisX ].abs ) + - // " Y: " + StringConverter::toString( e.state.mAxes[ joyStickAxisY ].abs ) + - // " Z: " + StringConverter::toString( e.state.mAxes[ joyStickAxisZ ].abs ) + - // " T: " + StringConverter::toString( e.state.mAxes[ throwSliderAxis ].abs ) + - // " yaw: " + StringConverter::toString(yaw) + - // " pitch: " + StringConverter::toString(pitch) + - // " roll: " + StringConverter::toString(roll) + - // " thrust: " + StringConverter::toString(thrust) ); - - sector_->avatar()->setScaledYaw( -yaw ); - sector_->avatar()->setScaledPitch( pitch ); - sector_->avatar()->setScaledRoll( -roll ); - sector_->avatar()->setThrustPercent( thrust * 100. ); + //** deadzone; + int minActiveZonePercent = 10; + int maxActiveZonePercent = 95; + + double minRadius = ( axisScale ) * minActiveZonePercent / 100; + double maxRadius = ( axisScale ) * maxActiveZonePercent / 100; + + Ogre::Real yaw = (e.state.mAxes[ joyStickAxisX ].abs) / (maxRadius); + Ogre::Real pitch = (e.state.mAxes[ joyStickAxisY ].abs) / (maxRadius); + Ogre::Real roll = (e.state.mAxes[ joyStickAxisZ ].abs) / (maxRadius); + Ogre::Real thrust = ( -e.state.mAxes[ throwSliderAxis ].abs + axisScale ) / (maxRadius*2); + + yaw = min( yaw, 1.0f ); yaw = max( yaw, -1.0f ); + pitch = min( pitch, 1.0f ); pitch = max( pitch, -1.0f ); + roll = min( roll, 1.0f ); roll = max( roll, -1.0f ); + thrust = min( thrust, 1.0f ); thrust = max( thrust, 0.0f ); + + if ( fabs( e.state.mAxes[ joyStickAxisX ].abs ) < minRadius ) yaw = 0.0; + if ( fabs( e.state.mAxes[ joyStickAxisY ].abs ) < minRadius ) pitch = 0.0; + if ( fabs( e.state.mAxes[ joyStickAxisZ ].abs ) < minRadius ) roll = 0.0; + if ( fabs( -e.state.mAxes[ throwSliderAxis ].abs + axisScale ) < minRadius ) thrust = 0.0; + + //** little deadzone ; + // window_->setDebugText( "Joy Axis: X: " + StringConverter::toString( e.state.mAxes[ joyStickAxisX ].abs ) + + // " Y: " + StringConverter::toString( e.state.mAxes[ joyStickAxisY ].abs ) + + // " Z: " + StringConverter::toString( e.state.mAxes[ joyStickAxisZ ].abs ) + + // " T: " + StringConverter::toString( e.state.mAxes[ throwSliderAxis ].abs ) + + // " yaw: " + StringConverter::toString(yaw) + + // " pitch: " + StringConverter::toString(pitch) + + // " roll: " + StringConverter::toString(roll) + + // " thrust: " + StringConverter::toString(thrust) ); + + sector_->avatar()->setScaledYaw( -yaw ); + sector_->avatar()->setScaledPitch( pitch ); + sector_->avatar()->setScaledRoll( -roll ); + sector_->avatar()->setThrustPercent( thrust * 100. ); } // if avatar return true; } @@ -605,9 +589,11 @@ target_ = target; if ( target_ != NULL ){ - // std::cout << target_->name()<< std::endl; - Ogre::OverlayManager::getSingleton().getOverlayElement("OpenGate/SimpleHUDTextTargetName")->setCaption( target_->name() ); + hudOverlay_->getChild( overlayName_ + "/TargetPointer" )->show(); + Ogre::OverlayManager::getSingleton().getOverlayElement( overlayName_ + + "/MainPanel/TextTargetName" )->setCaption( target_->name() ); + // if ( hudTarget_->numChildren() > 0 ){ // hudTarget_->removeAllChildren( );// hudTarget_->getChild( "TargetTrans" ) ); // camera_->getSceneManager()->destroyEntity( "TargetShape" ); @@ -628,9 +614,8 @@ void SectorClientFrameListener::updateHUD_( void ) { const Ogre::RenderTarget::FrameStats & stats = window_->getStatistics(); - Ogre::OverlayElement* hudStat = - Ogre::OverlayManager::getSingleton().getOverlayElement("OpenGate/SimpleHUDTextStats"); - hudStat->setCaption( "fps: " + toStr( stats.lastFPS ) + " ping: " + toStr( network_->pingTime() ) + " ms" ); + Ogre::OverlayManager::getSingleton().getOverlayElement( overlayName_ + "/MainPanel/StatsTextArea" ) + ->setCaption( "fps: " + toStr( stats.lastFPS ) + " ping: " + toStr( network_->pingTime() ) + " ms" ); if ( sector_->avatar() != NULL ){ if ( fabs( sector_->avatar()->velocity() ) > 1e-1 ){ @@ -642,82 +627,131 @@ sector_->avatar()->flightArrow()->setVisible( false ); } + if ( target_ != NULL ) { sector_->avatar()->targetArrow()->setVisible( true ); Ogre::Vector3 distToTarget = target_->mainNode()->getPosition() - sector_->avatar()->mainNode()->getPosition(); - + sector_->avatar()->targetArrow()->setOrientation( sector_->avatar()->mainNode()->getOrientation() ); + sector_->avatar()->targetArrow()->setDirection( distToTarget.normalisedCopy(), Ogre::Node::TS_WORLD ); - sector_->avatar()->targetArrow()->setDirection( distToTarget.normalisedCopy(), - Ogre::Node::TS_WORLD ); + //** Start update targeting pointer and duelist pointers; + Ogre::Vector3 targetPos( target_->mainNode()->getPosition() ); + Ogre::Vector3 targetScreenPos( camera_->getProjectionMatrix() * ( camera_->getViewMatrix() * targetPos ) ); + +// poss.x = max( -1.0f, poss.x ); poss.x = min( 1.0f, poss.x ); +// poss.y = max( -1.0f, poss.y ); poss.y = min( 1.0f, poss.y ); - // Ogre::Vector3 targetPos; - // Ogre::Quaternion targetOrient; targetOri = target_->mainNode().getOrientation(); - // targetPos = target_->mainNode().getPosition(); + if ( targetScreenPos[ 2 ] < 1 ){ + //"getAABB()" || "Entity::getBoundingRadius" + Ogre::OverlayElement * hudTargetPointer = + Ogre::OverlayManager::getSingleton().getOverlayElement( overlayName_ + "/TargetPointer" ); - //** targeting pointer - Ogre::Vector3 poss = camera_->getProjectionMatrix() * (camera_->getViewMatrix() * target_->mainNode()->getPosition() ); - poss.x = max( -1.0f, poss.x ); poss.x = min( 1.0f, poss.x ); - poss.y = max( -1.0f, poss.y ); poss.y = min( 1.0f, poss.y ); + hudTargetPointer->setPosition( windowsHalfWidth_ + ( windowsHalfWidth_ * targetScreenPos[ 0 ] ) - + hudTargetPointer->getWidth()/2, + windowsHalfHeight_ + ( windowsHalfHeight_ * -targetScreenPos[ 1 ] ) - + hudTargetPointer->getHeight()/2 ); + hudTargetPointer->_update(); + } + + Ogre::Real ammoTimeToTarget( distToTarget.length() / sector_->avatar()->ammoSpeed() ); - Ogre::OverlayElement* hudTargetPointer = Ogre::OverlayManager::getSingleton().getOverlayElement("OpenGate/TargetPointer"); - hudTargetPointer->show(); + Ogre::OverlayElement * duelistPilotPointer = + Ogre::OverlayManager::getSingleton().getOverlayElement( overlayName_ + "/DuelistPilotPointer" ); + if ( duelistPilot_ ){ + Ogre::Vector3 duelistPilotPos( sector_->avatar()->mainNode()->getPosition() + + - sector_->avatar()->mainNode()->getOrientation().zAxis().normalisedCopy() + * sector_->avatar()->ammoSpeed() * ammoTimeToTarget + + sector_->avatar()->velDirection() * ammoTimeToTarget ); - Ogre::OverlayElement* hudTargetDist = - Ogre::OverlayManager::getSingleton().getOverlayElement("OpenGate/SimpleHUDTextTargetDistance"); + Ogre::Vector3 duelistPilotScreenPos( camera_->getProjectionMatrix() * ( camera_->getViewMatrix() * duelistPilotPos ) ); + if ( duelistPilotScreenPos[ 2 ] < 1 ){ + duelistPilotPointer->setPosition( windowsHalfWidth_ + (windowsHalfWidth_ * duelistPilotScreenPos[ 0 ] ) - + duelistPilotPointer->getWidth()/2, + windowsHalfHeight_ + (windowsHalfHeight_ * -duelistPilotScreenPos[ 1 ] ) - + duelistPilotPointer->getHeight()/2 ); + duelistPilotPointer->_update(); + } + } else { + duelistPilotPointer->setPosition( windowsHalfWidth_ - duelistPilotPointer->getWidth()/2, + windowsHalfHeight_ - duelistPilotPointer->getHeight()/2 ); + } - Ogre::OverlayElement* hudTargetShield = - Ogre::OverlayManager::getSingleton().getOverlayElement("OpenGate/SimpleHUDTextTargetShield"); + //** start duelist TargetPointer; + + Ogre::OverlayElement * duelistTargetPointer = + Ogre::OverlayManager::getSingleton().getOverlayElement( overlayName_ + "/DuelistTargetPointer" ); + + if ( duelistTarget_ && + ( target_->getTypeID() == SECTOROBJECTMOVABLE_RTTI || + target_->getTypeID() == SECTOROBJECTMOVABLE_AI_RTTI ) ){ + + Ogre::OverlayElement * duelistTargetPointer = + Ogre::OverlayManager::getSingleton().getOverlayElement( overlayName_ + "/DuelistTargetPointer" ); + duelistTargetPointer->show(); + + Ogre::Vector3 duelistTargetPos( targetPos + dynamic_cast< SectorObjectMoveable *>( target_ )->velDirection() + * ammoTimeToTarget ); + Ogre::Vector3 duelistTargetScreenPos( camera_->getProjectionMatrix() * ( camera_->getViewMatrix() * duelistTargetPos ) ); + if ( duelistTargetScreenPos[ 2 ] < 1 ){ + duelistTargetPointer->setPosition( windowsHalfWidth_ + (windowsHalfWidth_ * duelistTargetScreenPos[ 0 ] ) - + duelistTargetPointer->getWidth()/2, + windowsHalfHeight_ + (windowsHalfHeight_ * -duelistTargetScreenPos[ 1 ]) - + duelistTargetPointer->getHeight()/2 ); + duelistTargetPointer->_update(); + } + } else { + duelistTargetPointer->hide(); + } + //** end duelist TargetPointer - Ogre::OverlayElement* hudTargetArmor = - Ogre::OverlayManager::getSingleton().getOverlayElement("OpenGate/SimpleHUDTextTargetArmor"); + //** End update targeting pointer and duelist pointers; - Ogre::OverlayElement* hudTargetVel = - Ogre::OverlayManager::getSingleton().getOverlayElement("OpenGate/SimpleHUDTextTargetVelocity"); + Ogre::OverlayElement* hudTargetDist = + Ogre::OverlayManager::getSingleton().getOverlayElement( overlayName_ + "/MainPanel/TextTargetDistance" ); + hudTargetDist->setCaption( "D " + Ogre::StringConverter::toString( round( distToTarget.length(), 0 ) ) ); - hudTargetDist->setCaption( "D " + Ogre::StringConverter::toString( round( distToTarget.length(), 0 ) ) ); + Ogre::OverlayElement * hudTargetShield = + Ogre::OverlayManager::getSingleton().getOverlayElement( overlayName_ + "/MainPanel/TextTargetShield" ); + Ogre::OverlayElement * hudTargetArmor = + Ogre::OverlayManager::getSingleton().getOverlayElement( overlayName_ + "/MainPanel/TextTargetArmor" ); + Ogre::OverlayElement * hudTargetVel = + Ogre::OverlayManager::getSingleton().getOverlayElement( overlayName_ + "/MainPanel/TextTargetVelocity" ); - if ( poss.z < 1 ){ - //"getAABB()" || "Entity::getBoundingRadius" - hudTargetPointer->setPosition( windowsHalfWidth_ + (windowsHalfWidth_ * poss.x)-16, - windowsHalfHeight_ + (windowsHalfHeight_ * -poss.y)-16 ); - } - - if ( target_->getTypeID() == SECTOROBJECTMOVABLE_RTTI || - target_->getTypeID() == SECTOROBJECTMOVABLE_AI_RTTI ){ - hudTargetVel->setCaption( "V " + Ogre::StringConverter::toString( dynamic_cast< SectorObjectMoveable *>( target_ )->velocity(), 6 ) ); - hudTargetShield->setCaption( "S " + Ogre::StringConverter::toString( dynamic_cast< SectorObjectMoveable *>( target_ )->shieldPercent(), 4 ) ); - hudTargetArmor->setCaption( "A " + Ogre::StringConverter::toString( dynamic_cast< SectorObjectMoveable *>( target_ )->armorPercent(), 4 ) ); - } else{ - hudTargetVel->setCaption( "" ); - hudTargetShield->setCaption( "" ); - hudTargetArmor->setCaption( "" ); - } + if ( target_->getTypeID() == SECTOROBJECTMOVABLE_RTTI || target_->getTypeID() == SECTOROBJECTMOVABLE_AI_RTTI ){ + hudTargetShield->setCaption( "S " + Ogre::StringConverter::toString( dynamic_cast< SectorObjectMoveable *>( target_ )->shieldPercent(), 4 ) ); + hudTargetArmor->setCaption( "A " + Ogre::StringConverter::toString( dynamic_cast< SectorObjectMoveable *>( target_ )->armorPercent(), 4 ) ); + hudTargetVel->setCaption( "V " + Ogre::StringConverter::toString( dynamic_cast< SectorObjectMoveable *>( target_ )->velocity(), 6 ) ); + } else{ + hudTargetVel->setCaption( "" ); + hudTargetShield->setCaption( "" ); + hudTargetArmor->setCaption( "" ); + } } else { sector_->avatar()->targetArrow()->setVisible( false ); - Ogre::OverlayManager::getSingleton().getOverlayElement("OpenGate/TargetPointer")->hide( ); + Ogre::OverlayManager::getSingleton().getOverlayElement( overlayName_ + "/TargetPointer")->hide( ); } Ogre::OverlayElement* hudVel = - Ogre::OverlayManager::getSingleton().getOverlayElement("OpenGate/SimpleHUDTextVelocity"); + Ogre::OverlayManager::getSingleton().getOverlayElement( overlayName_ + "/MainPanel/TextVelocity"); Ogre::OverlayElement* hudVelMax = - Ogre::OverlayManager::getSingleton().getOverlayElement("OpenGate/SimpleHUDTextVelocityMax"); + Ogre::OverlayManager::getSingleton().getOverlayElement( overlayName_ + "/MainPanel/TextVelocityMax"); Ogre::OverlayElement* hudThr = - Ogre::OverlayManager::getSingleton().getOverlayElement("OpenGate/SimpleHUDTextThr"); + Ogre::OverlayManager::getSingleton().getOverlayElement( overlayName_ + "/MainPanel/TextThr"); Ogre::OverlayElement* hudAcc = - Ogre::OverlayManager::getSingleton().getOverlayElement("OpenGate/SimpleHUDTextAcc"); + Ogre::OverlayManager::getSingleton().getOverlayElement( overlayName_ + "/MainPanel/TextAcc"); Ogre::OverlayElement* hudPos = - Ogre::OverlayManager::getSingleton().getOverlayElement("OpenGate/SimpleHUDTextPosition"); + Ogre::OverlayManager::getSingleton().getOverlayElement( overlayName_ + "/MainPanel/TextPosition"); Ogre::OverlayElement* hudShield = - Ogre::OverlayManager::getSingleton().getOverlayElement("OpenGate/SimpleHUDTextShield"); + Ogre::OverlayManager::getSingleton().getOverlayElement( overlayName_ + "/MainPanel/TextShield"); Ogre::OverlayElement* hudArmor = - Ogre::OverlayManager::getSingleton().getOverlayElement("OpenGate/SimpleHUDTextArmor"); + Ogre::OverlayManager::getSingleton().getOverlayElement( overlayName_ + "/MainPanel/TextArmor"); hudVel->setCaption( "Vel: " + Ogre::StringConverter::toString( round( sector_->avatar()->velocity(), 2 ), 6 ) ); hudVelMax->setCaption( " / " + Ogre::StringConverter::toString( round( sector_->avatar()->velocityMax(), 2), 6 ) ); @@ -732,6 +766,10 @@ Ogre::StringConverter::toString( Ogre::Real( rint( pos[ 1 ] ) ), 5, 5 ) + " " + Ogre::StringConverter::toString( Ogre::Real( rint( pos[ 2 ] ) ), 5, 5 ) ); + + + + // OverlayElement* guiAvg = OverlayManager::getSingleton().getOverlayElement("Core/AverageFps"); // OverlayElement* guiCurr = OverlayManager::getSingleton().getOverlayElement("Core/CurrFps"); // OverlayElement* guiBest = OverlayManager::getSingleton().getOverlayElement("Core/BestFps"); Modified: branches/ogsector/src/SectorClientFrameListener.h =================================================================== --- branches/ogsector/src/SectorClientFrameListener.h 2007-04-21 19:48:08 UTC (rev 412) +++ branches/ogsector/src/SectorClientFrameListener.h 2007-04-22 21:40:45 UTC (rev 413) @@ -61,6 +61,8 @@ NetworkClient * network_; InputManager * inputManager_; + std::string overlayName_; + Ogre::Overlay * hudOverlay_; Ogre::OverlayElement * mousePointer_; // Ogre::SceneNode * hudTarget_; @@ -91,6 +93,8 @@ std::string chatString_; bool chatMode_; bool consoleMode_; + bool duelistPilot_; + bool duelistTarget_; int sceneDetailIndex_ ; Modified: branches/ogsector/src/SectorObjects.cpp =================================================================== --- branches/ogsector/src/SectorObjects.cpp 2007-04-21 19:48:08 UTC (rev 412) +++ branches/ogsector/src/SectorObjects.cpp 2007-04-22 21:40:45 UTC (rev 413) @@ -17,7 +17,7 @@ sceneMgr_->getRootSceneNode()->removeAndDestroyChild( mainNode_->getName() ); } -Projectile::Projectile( BaseObject * parent, long shotCounter ) +Projectile::Projectile( BaseObject * parent, long shotCounter, Ogre::Real speed ) : BaseObject( parent->name(), parent->sector() ), parent_( parent ) { Ogre::String bulletName( name_ + "_" + toStr( shotCounter ) ); @@ -86,14 +86,10 @@ maxLiveTime_ = 1.4; lifeTime_ = 0.0; oldTime_ = 0.0; - speed_ = 2000.0; - //speed_ = 200.0; // damage_ = 250.0; - damage_ = (9000.0 + 5700.0) / 4.01; - // vel_ = speed_ * -direction.zAxis(); - vel_ = speed_ * -direction.zAxis().normalisedCopy(); + vel_ = speed * -direction.zAxis().normalisedCopy() + parent->velDirection(); } Projectile::~Projectile() { @@ -477,6 +473,8 @@ shield_ = maxShield_; shieldRechargeBaseRate_ = 52.500; + ammoSpeed_ = 1000; + velocity_ = 0.0; acceleration_ = 0.0; percentageThrust_ = 0.0; @@ -533,7 +531,7 @@ if ( fireDelay_ <= 0 ){ if ( firePressed_ ){ - projectiles_.insert( new Projectile( this, shotsFired_ ) ); + projectiles_.insert( new Projectile( this, shotsFired_, ammoSpeed_ ) ); fireDelay_ = delayTime; shotsFired_++; } @@ -554,8 +552,11 @@ bool SectorObjectMoveable::deathSequence( Ogre::Real elapsedTime ){ if ( !deathSequence_ ){ LogManager::getSingleton().info( name_ + " destroyed." ); - explosion_ = sceneMgr_->createParticleSystem( name_ + "ExplosionSystem", "OpenGate/ExplosionStart" ); - mainNode_->attachObject( explosion_ ); + if ( !explosion_ ){ + explosion_ = sceneMgr_->createParticleSystem( name_ + "ExplosionSystem", "OpenGate/ExplosionStart" ); + mainNode_->attachObject( explosion_ ); + explosion_->getEmitter( 0 )->setEnabled( true ); + } percentageThrust_ = 0; updateThruster(); } Modified: branches/ogsector/src/SectorObjects.h =================================================================== --- branches/ogsector/src/SectorObjects.h 2007-04-21 19:48:08 UTC (rev 412) +++ branches/ogsector/src/SectorObjects.h 2007-04-22 21:40:45 UTC (rev 413) @@ -44,8 +44,10 @@ virtual void hitByAmmo( float damage ){} - Sector * sector( ) { return sector_; } + Sector * sector( ) { return sector_; } + virtual Ogre::Vector3 velDirection() const = 0; + protected: Ogre::String name_; Sector * sector_; @@ -62,7 +64,7 @@ class Projectile : public BaseObject { public: - Projectile( BaseObject * parent, long shotCount ); + Projectile( BaseObject * parent, long shotCount, Ogre::Real speed ); virtual ~Projectile(); @@ -78,6 +80,8 @@ BaseObject & parent( ) const { return *parent_; } + Ogre::Vector3 velDirection() const { return vel_; } + protected: BaseObject * parent_; // Ogre::BillboardChain * chain_; @@ -87,7 +91,6 @@ Ogre::Real maxLiveTime_; Ogre::Real oldTime_; - Ogre::Real speed_; Ogre::Real damage_; }; @@ -118,6 +121,8 @@ bool isOnRadar() const { return isOnRadar_; } void onRadar( bool onradar ) { isOnRadar_ = onradar; } + virtual Ogre::Vector3 velDirection() const { return Ogre::Vector3(0.0, 0.0, 0.0 ); } + protected: Ogre::SceneNode * mainNodeShape_; // Main character node @@ -224,6 +229,8 @@ return flightDir; } + Ogre::Real ammoSpeed() const { return ammoSpeed_; } + Ogre::Vector3 velDirection() const { return vel_; } Ogre::Real velocity() const { return vel_.length(); } @@ -269,6 +276,8 @@ Ogre::Real roll_; Ogre::Real maxRoll_; + Ogre::Real ammoSpeed_; + Ogre::Real explodeSequenceTime_; bool deathSequence_; Modified: branches/ogsector/src/networkServer.cpp =================================================================== --- branches/ogsector/src/networkServer.cpp 2007-04-21 19:48:08 UTC (rev 412) +++ branches/ogsector/src/networkServer.cpp 2007-04-22 21:40:45 UTC (rev 413) @@ -12,6 +12,7 @@ Server::Server( asio::io_service & io_service, const tcp::endpoint & endpoint ) : io_service_( io_service ), acceptor_( io_service ), userIDCounter_( 1000 ) { + log_ = LogManager::getSingletonPtr(); acceptor_.open( endpoint.protocol() ); acceptor_.set_option( asio::ip::tcp::acceptor::reuse_address( true ) ); acceptor_.bind( endpoint ); @@ -27,7 +28,6 @@ } void Server::handleAccept( UserSession * user, const asio::error & error ){ - // std::cout << "Server::handle_accept" << std::endl; if ( !error ) { addUserSession( user ); @@ -35,18 +35,18 @@ acceptor_.async_accept( newUser->socket(), boost::bind( & Server::handleAccept, this, newUser, asio::placeholders::error ) ); } else { - std::cout << "Server::handle_accept::error: " << error << std::endl; + log_->info( std::string("Server::handle_accept::error: ") + error.what() ); delete user; } } void Server::addUserSession( UserSession * user ){ - std::cout << "USER_NEW: " << user->userID() << std::endl; + log_->info( std::string( "USER_NEW: " ) + toStr( user->userID() ) ); user->start(); } void Server::receiveUserName( UserSession * user, const MessageBodyUserName & msg ){ - std::cout << "USER_NAME: " << user->userID() << " " << msg.userName() << std::endl; + log_->info( std::string( "USER_NAME: " ) + toStr( user->userID() ) + " " + msg.userName() ); if ( !userNames_.count( msg.userName() ) ){ user->setUserName( msg.userName() ); @@ -67,7 +67,7 @@ user->setRegistered( true ); } else { - std::cerr << "USER: " << msg.userName()<< " already exist." << std::endl; + log_->info( std::string( "USER: " ) + msg.userName() + " already exist." ); MessageBodyConnectionRefused msg( CONNECTION_REFUSED_USER_ALREADY_EXIST ); user->send( msg ); @@ -77,7 +77,7 @@ void Server::disconnectUser( UserSession * user ){ std::string name( user->userName() ); - std::cout << "DISCONNECTING: " << user->userID() << " " << name << std::endl; + log_->info( std::string( "DISCONNECTING: " ) + toStr( user->userID() ) + " " + name ); if ( user->registered() ){ allUsers_.leave( user ); @@ -92,11 +92,11 @@ } // delete user; - std::cout << "DISCONNECTED: " << name << std::endl; + log_->info( std::string( "DISCONNECTED: " ) + name ); } void Server::receiveChat( UserSession * user, const MessageBodyChat & msg ){ - std::cout << user->userName() << ": " << msg.message() << std::endl; + log_->chat( user->userName(), msg.message() ); MessageBodyChat chat( msg.message() ); chat.setSenderID( user->userID() ); @@ -104,31 +104,17 @@ } UserObject * Server::createUserObject( UserSession * user, const std::string & name, int userID, int childID ){ -// std::map < long, UserObject * >::iterator it; -// UserObject * obj = NULL; -// long id = createGlobalID( userID, childID ); - -// if ( ( it = userObjects_.find( id ) ) == userObjects_.end() ){ -// std::cout << "Create user object: " << name << std::endl; -// obj = new UserObject( user, name, childID ); -// user->insertChild( obj ); -// userObjects_[ id ] = obj; -// } else { -// std::cout << "Create request, but object already exist: " << name << std::endl; -// obj = it->second; -// } - UserObject * obj = NULL; long id = createGlobalID( userID, childID ); if ( !userObjects_.count( id ) ){ - std::cout << "Create user object: " << name << std::endl; + log_->info( std::string( "Create user object: " ) + name ); obj = new UserObject( user, name, childID ); user->insertChild( obj ); userObjects_[ id ] = obj; } else { - std::cout << "Create request, but object already exist: " << name << std::endl; + log_->info( std::string( "Create request, but object already exist: " ) + name ); obj = userObjects_[ id ]; } @@ -139,7 +125,7 @@ deRegisterUserObject( obj ); obj->parent()->eraseChild( obj ); userObjects_.erase( obj->globalID() ); - std::cout << "Destroy user object: " << obj->name() << std::endl; + log_->info( std::string( "Destroy user object: " ) + obj->name() ); delete obj; } @@ -149,7 +135,7 @@ int childID = msg.childID(); Ogre::Vector3 pos = msg.position(); - std::cerr << "receiveShipRegister: " << name << " " << msg.status() << std::endl; + log_->info( std::string( "receiveShipRegister: " ) + name + " " + toStr((int)msg.status()) ); UserObject *obj; @@ -157,7 +143,7 @@ if ( ( obj = userObjects_[ createGlobalID( userID, childID ) ] ) != NULL ){ deRegisterUserObject( obj ); } else{ - std::cerr << "Deregister request for non existing object " << name << std::endl; + log_->info( std::string( "Deregister request for non existing object " ) + name ); } } else { obj = createUserObject( user, name, userID, childID ); @@ -166,7 +152,7 @@ obj->setPosition( pos ); if ( obj->status() != Registered ){ - std::cout << "Register: " << obj->name() << std::endl; + log_->info( std::string( "Register: " ) + obj->name() ); obj->setStatus( Registered ); std::map < long, UserObject * >::iterator it; @@ -177,9 +163,8 @@ //** if the object is no child, register all objects to them; if ( !obj->isChild() && ( obj->userID() != it->second->userID() ) ){ - std::cout << "\tSend to user: " << obj->userName() - << " object: " << it->second->name() - << " at: " << it->second->position() << std::endl; + log_->info( std::string( "\tSend to user: " ) + obj->userName() + + " object: " + it->second->name() ); MessageBodyShipRegister msg( it->second->userID(), it->second->childID(), it->second->name(), it->second->position(), true ); @@ -187,25 +172,24 @@ } if ( !it->second->isChild() && ( obj->userID() != it->second->userID() ) ){ - std::cout << "\tSend to user: " << it->second->userName() - << " object: " << obj->name() - << " at: " << obj->position() << std::endl; + log_->info( std::string( "\tSend to user: " ) + it->second->userName() + + " object: " + obj->name() ); MessageBodyShipRegister msg( obj->userID(), obj->childID(), obj->name(), obj->position(), true ); it->second->parent()->send( msg ); } } } else { - std::cerr << "object: " << name << " already registered. " << std::endl; + log_->info( std::string( "object: " ) + name + " already registered. " ); } } else { - std::cerr << "Cannot register object: " << name << std::endl; + log_->info( std::string( "Cannot register object: " ) + name ); } } } void Server::deRegisterUserObject( UserObject * obj ){ - std::cout << "Deregister: " << obj->name() << std::endl; + log_->info( std::string( "Deregister: " ) + obj->name() ); if ( obj->status() == Registered ){ obj->setStatus( NotRegistered ); @@ -217,8 +201,8 @@ for ( std::set < UserObject * >::const_iterator it = usersInRange->begin(); it != usersInRange->end(); ){ if ( obj->userID() != (*it)->userID() && !(*it)->isChild() ) { - std::cout << "\tSend to user: " << (*it)->userName() - << " object: " << obj->name() << std::endl; + log_->info( std::string( "\tSend to user: ") + (*it)->userName() + + " object: " + obj->name()); (*it)->parent()->send( msg ); } Modified: branches/ogsector/src/networkServer.h =================================================================== --- branches/ogsector/src/networkServer.h 2007-04-21 19:48:08 UTC (rev 412) +++ branches/ogsector/src/networkServer.h 2007-04-22 21:40:45 UTC (rev 413) @@ -7,6 +7,7 @@ #include <asio.hpp> #include <boost/bind.hpp> +#include "LogManager.h" #include "networkProtocol.h" #include "networkServerUser.h" @@ -70,6 +71,7 @@ std::set < std::string > userNames_; UserSessionGroup allUsers_; + LogManager * log_; }; } // namespace OpenGate Modified: branches/ogsector/src/networkServerUser.cpp =================================================================== --- branches/ogsector/src/networkServerUser.cpp 2007-04-21 19:48:08 UTC (rev 412) +++ branches/ogsector/src/networkServerUser.cpp 2007-04-22 21:40:45 UTC (rev 413) @@ -74,7 +74,8 @@ } } } else { - std::cout << "Received msg for unknown object: " << userName() << " child: " << childID << std::endl; + LogManager::getSingleton().info( std::string( "Received msg for unknown object: " ) + + userName() + " child: " + toStr( childID ) ); } } @@ -123,7 +124,7 @@ sendToRange( msg ); } break; default: - std::cout << "PROTO_UNKNOWN: " << (int)base.type() << std::endl; + LogManager::getSingleton().info( std::string( "PROTO_UNKNOWN: " ) + toStr( (int)base.type() ) ); break; } // std::cout << "User::handle_read_body: " << userID_ << std::endl; @@ -131,7 +132,7 @@ asio::async_read( socket_, asio::buffer( readMsg_.data(), Message::HeaderLength ), boost::bind( & UserSession::handleReadHeader, this, asio::placeholders::error ) ); } else { - std::cout << "Cannot read body: " << userID_ << " " << error << std::endl; + LogManager::getSingleton().fatal( std::string( "Cannot read body: " ) + toStr( userID_ ) ); // room_.leave( this ); } } @@ -146,7 +147,7 @@ boost::bind( & UserSession::handleWrite, this, asio::placeholders::error ) ); } } else { - std::cout << "Cannot write to user: " << userID_ << " " << error << std::endl; + LogManager::getSingleton().fatal( std::string( "Cannot write to user: " ) + toStr( userID_ ) + error.what() ); // room_.leave( this ); } } Modified: branches/ogsector/src/ogconsole.cpp =================================================================== --- branches/ogsector/src/ogconsole.cpp 2007-04-21 19:48:08 UTC (rev 412) +++ branches/ogsector/src/ogconsole.cpp 2007-04-22 21:40:45 UTC (rev 413) @@ -10,7 +10,7 @@ visible_ = false; height_ = 0; - consoleLineLength_ = 85 ; + consoleLineLength_ = 120 ; consoleLineMaxCount_ = (int)rint( 0.5 / 0.02 ) - 2; consoleLineShortCount_ = 3; consoleLineCount_ = consoleLineShortCount_; @@ -24,12 +24,11 @@ InputManager::getSingleton().addKeyListener( this, "OGConsoleKeyListener" ); - Ogre::OverlayManager::getSingleton().getOverlayElement( "OpenGate/SimpleHUDConsole" )->hide(); - Ogre::OverlayManager::getSingleton().getOverlayElement( "OpenGate/SimpleHUDConsoleShort" )->show(); + Ogre::OverlayManager::getSingleton().getOverlayElement( "SimpleHUD/Console" )->hide(); + Og... [truncated message content] |
From: <spo...@us...> - 2007-04-21 19:48:07
|
Revision: 412 http://svn.sourceforge.net/opengate/?rev=412&view=rev Author: spom_spom Date: 2007-04-21 12:48:08 -0700 (Sat, 21 Apr 2007) Log Message: ----------- win32 compatibility commit. Modified Paths: -------------- branches/ogsector/win32/ogsectorclient/ogre.cfg branches/ogsector/win32/ogsectorclient/ogsectorclient.cbp branches/ogsector/win32/ogsectorclient/ogsectorclient.exe Modified: branches/ogsector/win32/ogsectorclient/ogre.cfg =================================================================== --- branches/ogsector/win32/ogsectorclient/ogre.cfg 2007-04-21 18:02:53 UTC (rev 411) +++ branches/ogsector/win32/ogsectorclient/ogre.cfg 2007-04-21 19:48:08 UTC (rev 412) @@ -16,4 +16,4 @@ Full Screen=Yes RTT Preferred Mode=FBO VSync=No -Video Mode=1280 x 1024 +Video Mode=1024 x 768 Modified: branches/ogsector/win32/ogsectorclient/ogsectorclient.cbp =================================================================== --- branches/ogsector/win32/ogsectorclient/ogsectorclient.cbp 2007-04-21 18:02:53 UTC (rev 411) +++ branches/ogsector/win32/ogsectorclient/ogsectorclient.cbp 2007-04-21 19:48:08 UTC (rev 412) @@ -15,13 +15,18 @@ <Compiler> <Add option="-O2" /> <Add option="-DNDEBUG" /> + <Add option="-D_WIN32_WINNT=0x0500" /> + <Add directory="..\..\..\..\..\asio-0.3.7\include" /> + <Add directory="..\..\..\..\..\boost_1_33_1" /> </Compiler> <Linker> <Add option="-s" /> <Add library="OgreMain" /> - <Add library="..\..\externals\ogreopcode\bin\Release\OgreOpcode.dll" /> - <Add library="..\..\externals\ogreopcode\opcode132\Release\Opcode.dll" /> + <Add library=".\OgreOpcode.dll" /> + <Add library=".\Opcode.dll" /> <Add library="C:\OgreSDK\bin\release\OIS.dll" /> + <Add library="ws2_32" /> + <Add library="mswsock" /> </Linker> </Target> </Build> @@ -48,6 +53,8 @@ </Linker> <Unit filename="..\..\src\InputManager.cpp" /> <Unit filename="..\..\src\InputManager.h" /> + <Unit filename="..\..\src\LogManager.cpp" /> + <Unit filename="..\..\src\LogManager.h" /> <Unit filename="..\..\src\Sector.cpp" /> <Unit filename="..\..\src\Sector.h" /> <Unit filename="..\..\src\SectorClient.cpp" /> @@ -61,6 +68,8 @@ <Unit filename="..\..\src\networkClient.cpp" /> <Unit filename="..\..\src\networkClient.h" /> <Unit filename="..\..\src\networkProtocol.h" /> + <Unit filename="..\..\src\ogconsole.cpp" /> + <Unit filename="..\..\src\ogconsole.h" /> <Unit filename="..\..\src\ogsectorclient.cpp" /> <Extensions> <code_completion /> Modified: branches/ogsector/win32/ogsectorclient/ogsectorclient.exe =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <spo...@us...> - 2007-04-21 18:02:54
|
Revision: 411 http://svn.sourceforge.net/opengate/?rev=411&view=rev Author: spom_spom Date: 2007-04-21 11:02:53 -0700 (Sat, 21 Apr 2007) Log Message: ----------- Added JG like radar and some simple graphics.(stars, planet, explosion) Modified Paths: -------------- branches/ogsector/data/MediaFromOgre/Example.material branches/ogsector/data/povray/buildSkyBox.sh branches/ogsector/data/simpleHUD.material branches/ogsector/data/simpleHUD.overlay branches/ogsector/data/simpleSkybox.material branches/ogsector/ogre.cfg branches/ogsector/resources.cfg branches/ogsector/src/InputManager.cpp branches/ogsector/src/InputManager.h branches/ogsector/src/LogManager.cpp branches/ogsector/src/LogManager.h branches/ogsector/src/Sector.cpp branches/ogsector/src/Sector.h branches/ogsector/src/SectorClient.cpp branches/ogsector/src/SectorClient.h branches/ogsector/src/SectorClientFrameListener.cpp branches/ogsector/src/SectorClientFrameListener.h branches/ogsector/src/SectorObjects.cpp branches/ogsector/src/SectorObjects.h branches/ogsector/src/networkClient.cpp branches/ogsector/src/networkClient.h branches/ogsector/src/ogconsole.cpp branches/ogsector/src/ogconsole.h branches/ogsector/src/ogsectorclient.cpp Added Paths: ----------- branches/ogsector/data/MediaFromOgre/AdvancedMaterials/ branches/ogsector/data/MediaFromOgre/AdvancedMaterials/AmbientOneTexture.glsl branches/ogsector/data/MediaFromOgre/AdvancedMaterials/Example_Basic.cg branches/ogsector/data/MediaFromOgre/AdvancedMaterials/Example_BumpMapping.cg branches/ogsector/data/MediaFromOgre/AdvancedMaterials/Example_Projection.cg branches/ogsector/data/MediaFromOgre/AdvancedMaterials/Examples-Advanced.material branches/ogsector/data/MediaFromOgre/AdvancedMaterials/Examples.program branches/ogsector/data/MediaFromOgre/AdvancedMaterials/OffsetMapping.cg branches/ogsector/data/MediaFromOgre/AdvancedMaterials/OffsetMapping.material branches/ogsector/data/MediaFromOgre/AdvancedMaterials/OffsetMappingFp.glsl branches/ogsector/data/MediaFromOgre/AdvancedMaterials/OffsetMappingVp.glsl branches/ogsector/data/MediaFromOgre/AdvancedMaterials/RustedMetal.jpg branches/ogsector/data/MediaFromOgre/AdvancedMaterials/RustySteel.jpg branches/ogsector/data/MediaFromOgre/AdvancedMaterials/nm_bk.png branches/ogsector/data/MediaFromOgre/AdvancedMaterials/nm_dn.png branches/ogsector/data/MediaFromOgre/AdvancedMaterials/nm_fr.png branches/ogsector/data/MediaFromOgre/AdvancedMaterials/nm_lf.png branches/ogsector/data/MediaFromOgre/AdvancedMaterials/nm_rt.png branches/ogsector/data/MediaFromOgre/AdvancedMaterials/nm_up.png branches/ogsector/data/MediaFromOgre/AdvancedMaterials/rockwall.png branches/ogsector/data/MediaFromOgre/AdvancedMaterials/rockwall_NH.png branches/ogsector/data/MediaFromOgre/AdvancedMaterials/skinningTwoWeightsVp.glsl branches/ogsector/data/explosion.material branches/ogsector/data/explosion.particle branches/ogsector/data/mousePointer.material branches/ogsector/data/mousePointer.overlay branches/ogsector/data/planets.material branches/ogsector/data/textures/ branches/ogsector/data/textures/blank.png branches/ogsector/data/textures/consoleBackground.png branches/ogsector/data/textures/explosion.png branches/ogsector/data/textures/flare.png branches/ogsector/data/textures/hudCenter.png branches/ogsector/data/textures/hudTarget.png branches/ogsector/data/textures/mousePointer.png branches/ogsector/data/textures/radarBackground.png branches/ogsector/data/textures/redPlanet.png branches/ogsector/data/textures/star.png Removed Paths: ------------- branches/ogsector/data/Console.png branches/ogsector/data/HUDCenter.png branches/ogsector/data/HUDTarget.png branches/ogsector/data/MousePointer.material branches/ogsector/data/MousePointer.overlay branches/ogsector/data/MousePointer.png Deleted: branches/ogsector/data/Console.png =================================================================== (Binary files differ) Deleted: branches/ogsector/data/HUDCenter.png =================================================================== (Binary files differ) Deleted: branches/ogsector/data/HUDTarget.png =================================================================== (Binary files differ) Added: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/AmbientOneTexture.glsl =================================================================== --- branches/ogsector/data/MediaFromOgre/AdvancedMaterials/AmbientOneTexture.glsl (rev 0) +++ branches/ogsector/data/MediaFromOgre/AdvancedMaterials/AmbientOneTexture.glsl 2007-04-21 18:02:53 UTC (rev 411) @@ -0,0 +1,13 @@ +uniform vec4 ambient; + +/* + Basic ambient lighting vertex program +*/ +void main() +{ + gl_Position = ftransform(); + gl_TexCoord[0] = gl_MultiTexCoord0; + gl_FrontColor = ambient; +} + + Added: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/Example_Basic.cg =================================================================== --- branches/ogsector/data/MediaFromOgre/AdvancedMaterials/Example_Basic.cg (rev 0) +++ branches/ogsector/data/MediaFromOgre/AdvancedMaterials/Example_Basic.cg 2007-04-21 18:02:53 UTC (rev 411) @@ -0,0 +1,272 @@ +/* + Basic ambient lighting vertex program +*/ +void ambientOneTexture_vp(float4 position : POSITION, + float2 uv : TEXCOORD0, + + out float4 oPosition : POSITION, + out float2 oUv : TEXCOORD0, + out float4 colour : COLOR, + + uniform float4x4 worldViewProj, + uniform float4 ambient) +{ + oPosition = mul(worldViewProj, position); + oUv = uv; + colour = ambient; +} + +/* + Single-weight-per-vertex hardware skinning, 2 lights + The trouble with vertex programs is they're not general purpose, but + fixed function hardware skinning is very poorly supported +*/ +void hardwareSkinningOneWeight_vp( + float4 position : POSITION, + float3 normal : NORMAL, + float2 uv : TEXCOORD0, + float blendIdx : BLENDINDICES, + + + out float4 oPosition : POSITION, + out float2 oUv : TEXCOORD0, + out float4 colour : COLOR, + // Support up to 24 bones of float3x4 + // vs_1_1 only supports 96 params so more than this is not feasible + uniform float3x4 worldMatrix3x4Array[24], + uniform float4x4 viewProjectionMatrix, + uniform float4 lightPos[2], + uniform float4 lightDiffuseColour[2], + uniform float4 ambient) +{ + // transform by indexed matrix + float4 blendPos = float4(mul(worldMatrix3x4Array[blendIdx], position).xyz, 1.0); + // view / projection + oPosition = mul(viewProjectionMatrix, blendPos); + // transform normal + float3 norm = mul((float3x3)worldMatrix3x4Array[blendIdx], normal); + // Lighting - support point and directional + float3 lightDir0 = normalize( + lightPos[0].xyz - (blendPos.xyz * lightPos[0].w)); + float3 lightDir1 = normalize( + lightPos[1].xyz - (blendPos.xyz * lightPos[1].w)); + + oUv = uv; + colour = ambient + + (saturate(dot(lightDir0, norm)) * lightDiffuseColour[0]) + + (saturate(dot(lightDir1, norm)) * lightDiffuseColour[1]); + +} + +/* + Single-weight-per-vertex hardware skinning, shadow-caster pass +*/ +void hardwareSkinningOneWeightCaster_vp( + float4 position : POSITION, + float3 normal : NORMAL, + float blendIdx : BLENDINDICES, + + + out float4 oPosition : POSITION, + out float4 colour : COLOR, + // Support up to 24 bones of float3x4 + // vs_1_1 only supports 96 params so more than this is not feasible + uniform float3x4 worldMatrix3x4Array[24], + uniform float4x4 viewProjectionMatrix, + uniform float4 ambient) +{ + // transform by indexed matrix + float4 blendPos = float4(mul(worldMatrix3x4Array[blendIdx], position).xyz, 1.0); + // view / projection + oPosition = mul(viewProjectionMatrix, blendPos); + + colour = ambient; + +} + +/* + Two-weight-per-vertex hardware skinning, 2 lights + The trouble with vertex programs is they're not general purpose, but + fixed function hardware skinning is very poorly supported +*/ +void hardwareSkinningTwoWeights_vp( + float4 position : POSITION, + float3 normal : NORMAL, + float2 uv : TEXCOORD0, + float4 blendIdx : BLENDINDICES, + float4 blendWgt : BLENDWEIGHT, + + + out float4 oPosition : POSITION, + out float2 oUv : TEXCOORD0, + out float4 colour : COLOR, + // Support up to 24 bones of float3x4 + // vs_1_1 only supports 96 params so more than this is not feasible + uniform float3x4 worldMatrix3x4Array[24], + uniform float4x4 viewProjectionMatrix, + uniform float4 lightPos[2], + uniform float4 lightDiffuseColour[2], + uniform float4 ambient) +{ + // transform by indexed matrix + float4 blendPos = float4(0,0,0,0); + int i; + for (i = 0; i < 2; ++i) + { + blendPos += float4(mul(worldMatrix3x4Array[blendIdx[i]], position).xyz, 1.0) * blendWgt[i]; + } + // view / projection + oPosition = mul(viewProjectionMatrix, blendPos); + // transform normal + float3 norm = float3(0,0,0); + for (i = 0; i < 2; ++i) + { + norm += mul((float3x3)worldMatrix3x4Array[blendIdx[i]], normal) * + blendWgt[i]; + } + norm = normalize(norm); + // Lighting - support point and directional + float3 lightDir0 = normalize( + lightPos[0].xyz - (blendPos.xyz * lightPos[0].w)); + float3 lightDir1 = normalize( + lightPos[1].xyz - (blendPos.xyz * lightPos[1].w)); + + + oUv = uv; + colour = float4(0.5, 0.5, 0.5, 1) + + (saturate(dot(lightDir0, norm)) * lightDiffuseColour[0]) + + (saturate(dot(lightDir1, norm)) * lightDiffuseColour[1]); + +} + +/* + Two-weight-per-vertex hardware skinning, shadow caster pass +*/ +void hardwareSkinningTwoWeightsCaster_vp( + float4 position : POSITION, + float3 normal : NORMAL, + float2 uv : TEXCOORD0, + float4 blendIdx : BLENDINDICES, + float4 blendWgt : BLENDWEIGHT, + + + out float4 oPosition : POSITION, + out float4 colour : COLOR, + // Support up to 24 bones of float3x4 + // vs_1_1 only supports 96 params so more than this is not feasible + uniform float3x4 worldMatrix3x4Array[24], + uniform float4x4 viewProjectionMatrix, + uniform float4 ambient) +{ + // transform by indexed matrix + float4 blendPos = float4(0,0,0,0); + int i; + for (i = 0; i < 2; ++i) + { + blendPos += float4(mul(worldMatrix3x4Array[blendIdx[i]], position).xyz, 1.0) * blendWgt[i]; + } + // view / projection + oPosition = mul(viewProjectionMatrix, blendPos); + + + colour = ambient; + + +} + + +/* + Four-weight-per-vertex hardware skinning, 2 lights + The trouble with vertex programs is they're not general purpose, but + fixed function hardware skinning is very poorly supported +*/ +void hardwareSkinningFourWeights_vp( + float4 position : POSITION, + float3 normal : NORMAL, + float2 uv : TEXCOORD0, + float4 blendIdx : BLENDINDICES, + float4 blendWgt : BLENDWEIGHT, + + + out float4 oPosition : POSITION, + out float2 oUv : TEXCOORD0, + out float4 colour : COLOR, + // Support up to 24 bones of float3x4 + // vs_1_1 only supports 96 params so more than this is not feasible + uniform float3x4 worldMatrix3x4Array[24], + uniform float4x4 viewProjectionMatrix, + uniform float4 lightPos[2], + uniform float4 lightDiffuseColour[2], + uniform float4 ambient) +{ + // transform by indexed matrix + float4 blendPos = float4(0,0,0,0); + int i; + for (i = 0; i < 4; ++i) + { + blendPos += float4(mul(worldMatrix3x4Array[blendIdx[i]], position).xyz, 1.0) * blendWgt[i]; + } + // view / projection + oPosition = mul(viewProjectionMatrix, blendPos); + // transform normal + float3 norm = float3(0,0,0); + for (i = 0; i < 4; ++i) + { + norm += mul((float3x3)worldMatrix3x4Array[blendIdx[i]], normal) * + blendWgt[i]; + } + norm = normalize(norm); + // Lighting - support point and directional + float3 lightDir0 = normalize( + lightPos[0].xyz - (blendPos.xyz * lightPos[0].w)); + float3 lightDir1 = normalize( + lightPos[1].xyz - (blendPos.xyz * lightPos[1].w)); + + + oUv = uv; + colour = ambient + + (saturate(dot(lightDir0, norm)) * lightDiffuseColour[0]) + + (saturate(dot(lightDir1, norm)) * lightDiffuseColour[1]); + +} + +void hardwareMorphAnimation(float3 pos1 : POSITION, + float4 normal : NORMAL, + float2 uv : TEXCOORD0, + float3 pos2 : TEXCOORD1, + + out float4 oPosition : POSITION, + out float2 oUv : TEXCOORD0, + out float4 colour : COLOR, + + uniform float4x4 worldViewProj, + uniform float4 anim_t) +{ + // interpolate + float4 interp = float4(pos1 + anim_t.x*(pos2 - pos1), 1.0f); + + oPosition = mul(worldViewProj, interp); + oUv = uv; + colour = float4(1,0,0,1); +} + +void hardwarePoseAnimation(float3 pos : POSITION, + float4 normal : NORMAL, + float2 uv : TEXCOORD0, + float3 pose1 : TEXCOORD1, + float3 pose2 : TEXCOORD2, + + out float4 oPosition : POSITION, + out float2 oUv : TEXCOORD0, + out float4 colour : COLOR, + + uniform float4x4 worldViewProj, + uniform float4 anim_t) +{ + // interpolate + float4 interp = float4(pos + anim_t.x*pose1 + anim_t.y*pose2, 1.0f); + + oPosition = mul(worldViewProj, interp); + oUv = uv; + colour = float4(1,0,0,1); +} Added: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/Example_BumpMapping.cg =================================================================== --- branches/ogsector/data/MediaFromOgre/AdvancedMaterials/Example_BumpMapping.cg (rev 0) +++ branches/ogsector/data/MediaFromOgre/AdvancedMaterials/Example_BumpMapping.cg 2007-04-21 18:02:53 UTC (rev 411) @@ -0,0 +1,236 @@ +// General functions + +// Expand a range-compressed vector +float3 expand(float3 v) +{ + return (v - 0.5) * 2; +} + + +/* Bump mapping vertex program + In this program, we want to calculate the tangent space light vector + on a per-vertex level which will get passed to the fragment program, + or to the fixed function dot3 operation, to produce the per-pixel + lighting effect. +*/ +void main_vp(float4 position : POSITION, + float3 normal : NORMAL, + float2 uv : TEXCOORD0, + float3 tangent : TANGENT0, + // outputs + out float4 oPosition : POSITION, + out float2 oUv : TEXCOORD0, + out float3 oTSLightDir : TEXCOORD1, + // parameters + uniform float4 lightPosition, // object space + uniform float4x4 worldViewProj) +{ + // calculate output position + oPosition = mul(worldViewProj, position); + + // pass the main uvs straight through unchanged + oUv = uv; + + // calculate tangent space light vector + // Get object space light direction + // Non-normalised since we'll do that in the fragment program anyway + float3 lightDir = lightPosition.xyz - (position * lightPosition.w); + + // Calculate the binormal (NB we assume both normal and tangent are + // already normalised) + // NB looks like nvidia cross params are BACKWARDS to what you'd expect + // this equates to NxT, not TxN + float3 binormal = cross(tangent, normal); + + // Form a rotation matrix out of the vectors + float3x3 rotation = float3x3(tangent, binormal, normal); + + // Transform the light vector according to this matrix + oTSLightDir = mul(rotation, lightDir); + + +} + +/* Bump mapping vertex program for shadow receiving + In this program, we want to calculate the tangent space light vector + on a per-vertex level which will get passed to the fragment program, + or to the fixed function dot3 operation, to produce the per-pixel + lighting effect. +*/ +void main_shadowreceiver_vp(float4 position : POSITION, + float3 normal : NORMAL, + float2 uv : TEXCOORD0, + float3 tangent : TANGENT0, + + // outputs + out float4 oPosition : POSITION, + out float4 uvproj : TEXCOORD0, + out float2 oUv : TEXCOORD1, + out float3 oTSLightDir : TEXCOORD2, + + // parameters + uniform float4 lightPosition, // object space + uniform float4x4 worldViewProj, + uniform float4x4 worldMatrix, + uniform float4x4 texViewProj) +{ + // calculate output position + oPosition = mul(worldViewProj, position); + + // pass the main uvs straight through unchanged + oUv = uv; + + // calculate tangent space light vector + // Get object space light direction + // Non-normalised since we'll do that in the fragment program anyway + float3 lightDir = lightPosition.xyz - (position * lightPosition.w); + + // Calculate the binormal (NB we assume both normal and tangent are + // already normalised) + // NB looks like nvidia cross params are BACKWARDS to what you'd expect + // this equates to NxT, not TxN + float3 binormal = cross(tangent, normal); + + // Form a rotation matrix out of the vectors + float3x3 rotation = float3x3(tangent, binormal, normal); + + // Transform the light vector according to this matrix + oTSLightDir = mul(rotation, lightDir); + + // Projection + uvproj = mul(worldMatrix, position); + uvproj = mul(texViewProj, uvproj); + +} + + +void main_fp( float2 uv : TEXCOORD0, + float3 TSlightDir : TEXCOORD1, + + out float4 colour : COLOR, + + uniform float4 lightDiffuse, + uniform sampler2D normalMap : register(s0), + uniform samplerCUBE normalCubeMap : register(s1) ) +{ + // retrieve normalised light vector, expand from range-compressed + float3 lightVec = expand(texCUBE(normalCubeMap, TSlightDir).xyz); + + // get bump map vector, again expand from range-compressed + float3 bumpVec = expand(tex2D(normalMap, uv).xyz); + + // Calculate dot product + colour = lightDiffuse * dot(bumpVec, lightVec); + +} + +void main_shadowreceiver_fp( + float4 uvproj : TEXCOORD0, + float2 uv : TEXCOORD1, + float3 TSlightDir : TEXCOORD2, + + out float4 colour : COLOR, + + uniform float4 lightDiffuse, + uniform sampler2D shadowMap : register(s0), + uniform sampler2D normalMap : register(s1), + uniform samplerCUBE normalCubeMap : register(s2)) +{ + + + // retrieve normalised light vector, expand from range-compressed + float3 lightVec = expand(texCUBE(normalCubeMap, TSlightDir).xyz); + + // get bump map vector, again expand from range-compressed + float3 bumpVec = expand(tex2D(normalMap, uv).xyz); + + // get shadow value + float3 shadow = tex2Dproj(shadowMap, uvproj).xyz; + + // Calculate dot product + colour = float4(shadow * lightDiffuse * dot(bumpVec, lightVec), 1.0f); + +} + +/* Vertex program which includes specular component */ +void specular_vp(float4 position : POSITION, + float3 normal : NORMAL, + float2 uv : TEXCOORD0, + float3 tangent : TANGENT0, + // outputs + out float4 oPosition : POSITION, + out float2 oUv : TEXCOORD0, + out float3 oTSLightDir : TEXCOORD1, + out float3 oTSHalfAngle : TEXCOORD2, + // parameters + uniform float4 lightPosition, // object space + uniform float3 eyePosition, // object space + uniform float4x4 worldViewProj) +{ + // calculate output position + oPosition = mul(worldViewProj, position); + + // pass the main uvs straight through unchanged + oUv = uv; + + // calculate tangent space light vector + // Get object space light direction + float3 lightDir = normalize(lightPosition.xyz - (position * lightPosition.w)); + + // Calculate the binormal (NB we assume both normal and tangent are + // already normalised) + // NB looks like nvidia cross params are BACKWARDS to what you'd expect + // this equates to NxT, not TxN + float3 binormal = cross(tangent, normal); + + // Form a rotation matrix out of the vectors + float3x3 rotation = float3x3(tangent, binormal, normal); + + // Transform the light vector according to this matrix + oTSLightDir = mul(rotation, lightDir); + + // Calculate half-angle in tangent space + float3 eyeDir = normalize(eyePosition - position.xyz); + float3 halfAngle = normalize(eyeDir + lightDir); + oTSHalfAngle = mul(rotation, halfAngle); + + +} + +/* Fragment program which supports specular component */ +void specular_fp( float2 uv : TEXCOORD0, + float3 TSlightDir : TEXCOORD1, + float3 TShalfAngle: TEXCOORD2, + + out float4 colour : COLOR, + + uniform float4 lightDiffuse, + uniform float4 lightSpecular, + uniform sampler2D normalMap : register(s0), + uniform samplerCUBE normalCubeMap : register(s1), + uniform samplerCUBE normalCubeMap2 : register(s2)) // we need this second binding to be compatible with ps_1_1, ps_2_0 could reuse the other +{ + // retrieve normalised light vector, expand from range-compressed + float3 lightVec = expand(texCUBE(normalCubeMap, TSlightDir).xyz); + + // retrieve half angle and normalise through cube map + float3 halfAngle = expand(texCUBE(normalCubeMap2, TShalfAngle).xyz); + + // get bump map vector, again expand from range-compressed + float3 bumpVec = expand(tex2D(normalMap, uv).xyz); + + // Pre-raise the specular exponent to the eight power + // Note we have no 'pow' function in basic fragment programs, if we were willing to accept compatibility + // with ps_2_0 / arbfp1 and above, we could have a variable shininess parameter + // This is equivalent to + float specFactor = dot(bumpVec, halfAngle); + for (int i = 0; i < 3; ++i) + specFactor *= specFactor; + + + // Calculate dot product for diffuse + colour = (lightDiffuse * saturate(dot(bumpVec, lightVec))) + + (lightSpecular * specFactor); + +} + Added: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/Example_Projection.cg =================================================================== --- branches/ogsector/data/MediaFromOgre/AdvancedMaterials/Example_Projection.cg (rev 0) +++ branches/ogsector/data/MediaFromOgre/AdvancedMaterials/Example_Projection.cg 2007-04-21 18:02:53 UTC (rev 411) @@ -0,0 +1,28 @@ + +void generalPurposeProjection_vp( + float4 pos : POSITION, + + out float4 oPos : POSITION, + out float4 texCoord : TEXCOORD0, + + uniform float4x4 worldViewProjMatrix, + uniform float4x4 worldMatrix, + uniform float4x4 texViewProjMatrix) +{ + oPos = mul(worldViewProjMatrix, pos); + // multiply position by world matrix, then by projective view/proj + float4 newpos = mul(worldMatrix, pos); + texCoord = mul(texViewProjMatrix, newpos); + +} + +void generalPurposeProjection_fp( + float4 texCoord : TEXCOORD0, + out float4 col : COLOR, + uniform sampler2D texMap) +{ + col = tex2Dproj(texMap, texCoord); + +} + + Added: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/Examples-Advanced.material =================================================================== --- branches/ogsector/data/MediaFromOgre/AdvancedMaterials/Examples-Advanced.material (rev 0) +++ branches/ogsector/data/MediaFromOgre/AdvancedMaterials/Examples-Advanced.material 2007-04-21 18:02:53 UTC (rev 411) @@ -0,0 +1,499 @@ +//------------------------ +// Bump mapping section +//------------------------ + +// Bump map vertex program, support for this is required +vertex_program Examples/BumpMapVP cg +{ + source Example_BumpMapping.cg + entry_point main_vp + profiles vs_1_1 arbvp1 +} + +// Bump map fragment program, support for this is optional +fragment_program Examples/BumpMapFP cg +{ + source Example_BumpMapping.cg + entry_point main_fp + profiles ps_1_1 arbfp1 fp20 +} + +// Bump map vertex program shadow receiver +vertex_program Examples/BumpMapVPShadowRcv cg +{ + source Example_BumpMapping.cg + entry_point main_shadowreceiver_vp + profiles vs_1_1 arbvp1 +} +// Bump map fragment program shadow receiver, support for this is optional +fragment_program Examples/BumpMapFPShadowRcv cg +{ + source Example_BumpMapping.cg + entry_point main_shadowreceiver_fp + profiles ps_1_1 arbfp1 fp20 +} + + +// Bump map with specular vertex program, support for this is required +vertex_program Examples/BumpMapVPSpecular cg +{ + source Example_BumpMapping.cg + entry_point specular_vp + profiles vs_1_1 arbvp1 +} + +// Bump map fragment program, support for this is optional +fragment_program Examples/BumpMapFPSpecular cg +{ + source Example_BumpMapping.cg + entry_point specular_fp + profiles ps_1_1 arbfp1 fp20 +} + +// Single light material, less passes (one pass on a 4-unit card) +material Examples/BumpMapping/SingleLight +{ + // Preferred technique, uses vertex and fragment programs + // to support a single coloured light + technique + { + pass + { + // base colours, not needed for rendering, but as information + // to lighting pass categorisation routine + ambient 0 0 0 + // Vertex program reference + vertex_program_ref Examples/BumpMapVP + { + param_named_auto lightPosition light_position_object_space 0 + param_named_auto worldViewProj worldviewproj_matrix + } + + // Fragment program + fragment_program_ref Examples/BumpMapFP + { + param_named_auto lightDiffuse light_diffuse_colour 0 + } + + // Base bump map + texture_unit + { + texture NMBumpsOut.png + colour_op replace + } + // Normalisation cube map + texture_unit + { + cubic_texture nm.png combinedUVW + tex_coord_set 1 + tex_address_mode clamp + } + // Decal + texture_unit + { + texture RustySteel.jpg + } + } + } + // Fallback technique, uses vertex program but only fixed-function + // fragment shading, which does not support coloured light + technique + { + pass + { + // base colours, not needed for rendering, but as information + // to lighting pass categorisation routine + ambient 0 0 0 + // Vertex program reference + vertex_program_ref Examples/BumpMapVP + { + param_named_auto lightPosition light_position_object_space 0 + param_named_auto worldViewProj worldviewproj_matrix + } + + // Base bump map + texture_unit + { + texture NMBumpsOut.png + colour_op replace + } + // Normalisation cube map + texture_unit + { + cubic_texture nm.png combinedUVW + tex_coord_set 1 + tex_address_mode clamp + colour_op_ex dotproduct src_texture src_current + colour_op_multipass_fallback dest_colour zero + } + // Decal + texture_unit + { + texture RustySteel.jpg + } + } + } +} + +// Any number of lights, diffuse +material Examples/BumpMapping/MultiLight +{ + + // This is the preferred technique which uses both vertex and + // fragment programs, supports coloured lights + technique + { + // Base ambient pass + pass + { + // base colours, not needed for rendering, but as information + // to lighting pass categorisation routine + ambient 1 1 1 + diffuse 0 0 0 + specular 0 0 0 0 + // Really basic vertex program + // NB we don't use fixed function here because GL does not like + // mixing fixed function and vertex programs, depth fighting can + // be an issue + vertex_program_ref Ogre/BasicVertexPrograms/AmbientOneTexture + { + param_named_auto worldViewProj worldviewproj_matrix + param_named_auto ambient ambient_light_colour + } + + } + // Now do the lighting pass + // NB we don't do decal texture here because this is repeated per light + pass + { + // base colours, not needed for rendering, but as information + // to lighting pass categorisation routine + ambient 0 0 0 + + // do this for each light + iteration once_per_light + + + scene_blend add + + // Vertex program reference + vertex_program_ref Examples/BumpMapVP + { + param_named_auto lightPosition light_position_object_space 0 + param_named_auto worldViewProj worldviewproj_matrix + } + + // Fragment program + fragment_program_ref Examples/BumpMapFP + { + param_named_auto lightDiffuse light_diffuse_colour 0 + } + + // Base bump map + texture_unit + { + texture NMBumpsOut.png + colour_op replace + } + // Normalisation cube map + texture_unit + { + cubic_texture nm.png combinedUVW + tex_coord_set 1 + tex_address_mode clamp + } + } + + // Decal pass + pass + { + // base colours, not needed for rendering, but as information + // to lighting pass categorisation routine + lighting off + // Really basic vertex program + // NB we don't use fixed function here because GL does not like + // mixing fixed function and vertex programs, depth fighting can + // be an issue + vertex_program_ref Ogre/BasicVertexPrograms/AmbientOneTexture + { + param_named_auto worldViewProj worldviewproj_matrix + param_named ambient float4 1 1 1 1 + } + scene_blend dest_colour zero + texture_unit + { + texture RustedMetal.jpg + } + + } + } + + // This is the fallback which cards which don't have fragment program + // support will use + // Note that it still requires vertex program support + technique + { + // Base ambient pass + pass + { + // base colours, not needed for rendering, but as information + // to lighting pass categorisation routine + ambient 1 1 1 + diffuse 0 0 0 + specular 0 0 0 0 + // Really basic vertex program + // NB we don't use fixed function here because GL does not like + // mixing fixed function and vertex programs, depth fighting can + // be an issue + vertex_program_ref Ogre/BasicVertexPrograms/AmbientOneTexture + { + param_named_auto worldViewProj worldviewproj_matrix + param_named_auto ambient ambient_light_colour + } + + } + // Now do the lighting pass + // NB we don't do decal texture here because this is repeated per light + pass + { + // base colours, not needed for rendering, but as information + // to lighting pass categorisation routine + ambient 0 0 0 + // do this for each light + iteration once_per_light + + + scene_blend add + + // Vertex program reference + vertex_program_ref Examples/BumpMapVP + { + param_named_auto lightPosition light_position_object_space 0 + param_named_auto worldViewProj worldviewproj_matrix + } + + // Base bump map + texture_unit + { + texture NMBumpsOut.png + colour_op replace + } + // Normalisation cube map, with dot product on bump map + texture_unit + { + cubic_texture nm.png combinedUVW + tex_coord_set 1 + tex_address_mode clamp + colour_op_ex dotproduct src_texture src_current + colour_op_multipass_fallback dest_colour zero + } + } + + // Decal pass + pass + { + lighting off + // Really basic vertex program + // NB we don't use fixed function here because GL does not like + // mixing fixed function and vertex programs, depth fighting can + // be an issue + vertex_program_ref Ogre/BasicVertexPrograms/AmbientOneTexture + { + param_named_auto worldViewProj worldviewproj_matrix + param_named ambient float4 1 1 1 1 + } + scene_blend dest_colour zero + texture_unit + { + texture RustedMetal.jpg + } + + } + + } +} + +// Any number of lights, diffuse and specular +material Examples/BumpMapping/MultiLightSpecular +{ + + // This is the preferred technique which uses both vertex and + // fragment programs, supports coloured lights + technique + { + // Base ambient pass + pass + { + // base colours, not needed for rendering, but as information + // to lighting pass categorisation routine + ambient 1 1 1 + diffuse 0 0 0 + specular 0 0 0 0 + // Really basic vertex program + // NB we don't use fixed function here because GL does not like + // mixing fixed function and vertex programs, depth fighting can + // be an issue + vertex_program_ref Ogre/BasicVertexPrograms/AmbientOneTexture + { + param_named_auto worldViewProj worldviewproj_matrix + param_named_auto ambient ambient_light_colour + } + + } + // Now do the lighting pass + // NB we don't do decal texture here because this is repeated per light + pass + { + // base colours, not needed for rendering, but as information + // to lighting pass categorisation routine + ambient 0 0 0 + // do this for each light + iteration once_per_light + + + scene_blend add + + // Vertex program reference + vertex_program_ref Examples/BumpMapVPSpecular + { + param_named_auto lightPosition light_position_object_space 0 + param_named_auto eyePosition camera_position_object_space + param_named_auto worldViewProj worldviewproj_matrix + } + + // Fragment program + fragment_program_ref Examples/BumpMapFPSpecular + { + param_named_auto lightDiffuse light_diffuse_colour 0 + param_named_auto lightSpecular light_specular_colour 0 + } + + // Base bump map + texture_unit + { + texture NMBumpsOut.png + colour_op replace + } + // Normalisation cube map + texture_unit + { + cubic_texture nm.png combinedUVW + tex_coord_set 1 + tex_address_mode clamp + } + // Normalisation cube map #2 + texture_unit + { + cubic_texture nm.png combinedUVW + tex_coord_set 2 + tex_address_mode clamp + } + } + + // Decal pass + pass + { + lighting off + // Really basic vertex program + // NB we don't use fixed function here because GL does not like + // mixing fixed function and vertex programs, depth fighting can + // be an issue + vertex_program_ref Ogre/BasicVertexPrograms/AmbientOneTexture + { + param_named_auto worldViewProj worldviewproj_matrix + param_named ambient float4 1 1 1 1 + } + scene_blend dest_colour zero + texture_unit + { + texture RustedMetal.jpg + } + + } + } + + // This is the fallback which cards which don't have fragment program + // support will use, NB does not support specular colour + // Note that it still requires vertex program support + technique + { + // Base ambient pass + pass + { + // base colours, not needed for rendering, but as information + // to lighting pass categorisation routine + ambient 1 1 1 + diffuse 0 0 0 + specular 0 0 0 0 + // Really basic vertex program + // NB we don't use fixed function here because GL does not like + // mixing fixed function and vertex programs, depth fighting can + // be an issue + vertex_program_ref Ogre/BasicVertexPrograms/AmbientOneTexture + { + param_named_auto worldViewProj worldviewproj_matrix + param_named_auto ambient ambient_light_colour + } + + } + // Now do the lighting pass + // NB we don't do decal texture here because this is repeated per light + pass + { + // base colours, not needed for rendering, but as information + // to lighting pass categorisation routine + ambient 0 0 0 + // do this for each light + iteration once_per_light + + + scene_blend add + + // Vertex program reference + vertex_program_ref Examples/BumpMapVP + { + param_named_auto lightPosition light_position_object_space 0 + param_named_auto worldViewProj worldviewproj_matrix + } + + // Base bump map + texture_unit + { + texture NMBumpsOut.png + colour_op replace + } + // Normalisation cube map, with dot product on bump map + texture_unit + { + cubic_texture nm.png combinedUVW + tex_coord_set 1 + tex_address_mode clamp + colour_op_ex dotproduct src_texture src_current + colour_op_multipass_fallback dest_colour zero + } + } + + // Decal pass + pass + { + lighting off + // Really basic vertex program + // NB we don't use fixed function here because GL does not like + // mixing fixed function and vertex programs, depth fighting can + // be an issue + vertex_program_ref Ogre/BasicVertexPrograms/AmbientOneTexture + { + param_named_auto worldViewProj worldviewproj_matrix + param_named ambient float4 1 1 1 1 + } + scene_blend dest_colour zero + texture_unit + { + texture RustedMetal.jpg + } + + } + + } +} + Added: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/Examples.program =================================================================== --- branches/ogsector/data/MediaFromOgre/AdvancedMaterials/Examples.program (rev 0) +++ branches/ogsector/data/MediaFromOgre/AdvancedMaterials/Examples.program 2007-04-21 18:02:53 UTC (rev 411) @@ -0,0 +1,158 @@ +//--------------------------------------------------- +// This file includes a number of basic GPU programs +// for use in many materials. +//--------------------------------------------------- + + +// A really basic ambient pass program, support for one texture coodinate set +vertex_program Ogre/BasicVertexPrograms/AmbientOneTexture cg +{ + source Example_Basic.cg + entry_point ambientOneTexture_vp + profiles vs_1_1 arbvp1 + + default_params + { + param_named_auto worldViewProj worldviewproj_matrix + param_named_auto ambient ambient_light_colour + } + +} +// A really basic ambient pass program, support for one texture coodinate set +vertex_program Ogre/BasicVertexPrograms/AmbientOneTextureHLSL hlsl +{ + source Example_Basic.hlsl + entry_point ambientOneTexture_vp + target vs_1_1 + + default_params + { + param_named_auto worldViewProj worldviewproj_matrix + param_named_auto ambient ambient_light_colour + } +} +// A really basic ambient pass program, support for one texture coodinate set +vertex_program Ogre/BasicVertexPrograms/AmbientOneTextureGLSL glsl +{ + source AmbientOneTexture.glsl + + default_params + { + param_named_auto ambient ambient_light_colour + } +} + +vertex_program Ogre/BasicVertexPrograms/AmbientOneTextureUnified unified +{ + delegate Ogre/BasicVertexPrograms/AmbientOneTextureGLSL + delegate Ogre/BasicVertexPrograms/AmbientOneTextureHLSL +} + + +// Same as below, but for use when rendering texture shadows +vertex_program Ogre/HardwareSkinningOneWeightShadowCaster cg +{ + source Example_Basic.cg + entry_point hardwareSkinningOneWeightCaster_vp + profiles vs_1_1 arbvp1 + includes_skeletal_animation true +} +// Basic hardware skinning using one indexed weight per vertex +vertex_program Ogre/HardwareSkinningOneWeight cg +{ + source Example_Basic.cg + entry_point hardwareSkinningOneWeight_vp + profiles vs_1_1 arbvp1 + includes_skeletal_animation true +} +// Same as below, but for use when rendering texture shadows +vertex_program Ogre/HardwareSkinningTwoWeightsShadowCasterCg cg +{ + source Example_Basic.cg + entry_point hardwareSkinningTwoWeightsCaster_vp + profiles vs_1_1 arbvp1 + includes_skeletal_animation true +} + +vertex_program Ogre/HardwareSkinningTwoWeightsShadowCasterGLSL glsl +{ + source skinningTwoWeightsShadowCasterVp.glsl + includes_skeletal_animation true +} + +vertex_program Ogre/HardwareSkinningTwoWeightsShadowCaster unified +{ + delegate Ogre/HardwareSkinningTwoWeightsShadowCasterGLSL + delegate Ogre/HardwareSkinningTwoWeightsShadowCasterCg +} + +// Basic hardware skinning using two indexed weights per vertex +vertex_program Ogre/HardwareSkinningTwoWeightsCg cg +{ + source Example_Basic.cg + entry_point hardwareSkinningTwoWeights_vp + profiles vs_1_1 arbvp1 + includes_skeletal_animation true +} + +vertex_program Ogre/HardwareSkinningTwoWeightsGLSL glsl +{ + source skinningTwoWeightsVp.glsl + includes_skeletal_animation true +} + +vertex_program Ogre/HardwareSkinningTwoWeights unified +{ + delegate Ogre/HardwareSkinningTwoWeightsGLSL + delegate Ogre/HardwareSkinningTwoWeightsCg + + default_params + { + param_named_auto worldMatrix3x4Array world_matrix_array_3x4 + param_named_auto viewProjectionMatrix viewproj_matrix + param_named_auto lightPos[0] light_position 0 + param_named_auto lightPos[1] light_position 1 + param_named_auto lightDiffuseColour[0] light_diffuse_colour 0 + param_named_auto lightDiffuseColour[1] light_diffuse_colour 1 + } +} + +// Basic hardware skinning using four indexed weights per vertex +vertex_program Ogre/HardwareSkinningFourWeights cg +{ + source Example_Basic.cg + entry_point hardwareSkinningFourWeights_vp + profiles vs_1_1 arbvp1 + includes_skeletal_animation true + +} +// Basic hardware morph animation +vertex_program Ogre/HardwareMorphAnimation cg +{ + source Example_Basic.cg + entry_point hardwareMorphAnimation + profiles vs_1_1 arbvp1 + + includes_morph_animation true + default_params + { + param_named_auto worldViewProj worldviewproj_matrix + param_named_auto anim_t animation_parametric + } +} +// Basic hardware pose animation supporting 2 active poses +vertex_program Ogre/HardwarePoseAnimation cg +{ + source Example_Basic.cg + entry_point hardwarePoseAnimation + profiles vs_1_1 arbvp1 + + includes_pose_animation 2 + default_params + { + param_named_auto worldViewProj worldviewproj_matrix + param_named_auto anim_t animation_parametric + } +} + + Added: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/OffsetMapping.cg =================================================================== --- branches/ogsector/data/MediaFromOgre/AdvancedMaterials/OffsetMapping.cg (rev 0) +++ branches/ogsector/data/MediaFromOgre/AdvancedMaterials/OffsetMapping.cg 2007-04-21 18:02:53 UTC (rev 411) @@ -0,0 +1,97 @@ +/* Bump mapping with Parallax offset vertex program + In this program, we want to calculate the tangent space light end eye vectors + which will get passed to the fragment program to produce the per-pixel bump map + with parallax offset effect. +*/ + +/* Vertex program that moves light and eye vectors into texture tangent space at vertex */ + +void main_vp(float4 position : POSITION, + float3 normal : NORMAL, + float2 uv : TEXCOORD0, + float3 tangent : TANGENT0, + // outputs + out float4 oPosition : POSITION, + out float2 oUv : TEXCOORD0, + out float3 oLightDir : TEXCOORD1, // tangent space + out float3 oEyeDir : TEXCOORD2, // tangent space + out float3 oHalfAngle : TEXCOORD3, // + // parameters + uniform float4 lightPosition, // object space + uniform float3 eyePosition, // object space + uniform float4x4 worldViewProj) +{ + // calculate output position + oPosition = mul(worldViewProj, position); + + // pass the main uvs straight through unchanged + oUv = uv; + + // calculate tangent space light vector + // Get object space light direction + float3 lightDir = normalize(lightPosition.xyz - (position * lightPosition.w)); + float3 eyeDir = eyePosition - position.xyz; + + // Calculate the binormal (NB we assume both normal and tangent are + // already normalised) + // NB looks like nvidia cross params are BACKWARDS to what you'd expect + // this equates to NxT, not TxN + float3 binormal = cross(tangent, normal); + + // Form a rotation matrix out of the vectors + float3x3 rotation = float3x3(tangent, binormal, normal); + + // Transform the light vector according to this matrix + lightDir = normalize(mul(rotation, lightDir)); + eyeDir = normalize(mul(rotation, eyeDir)); + + oLightDir = lightDir; + oEyeDir = eyeDir; + oHalfAngle = normalize(eyeDir + lightDir); +} + +// General functions + +// Expand a range-compressed vector +float3 expand(float3 v) +{ + return (v - 0.5) * 2; +} + +void main_fp(float2 uv : TEXCOORD0, + float3 lightDir : TEXCOORD1, + float3 eyeDir : TEXCOORD2, + float3 halfAngle : TEXCOORD3, + uniform float3 lightDiffuse, + uniform float3 lightSpecular, + uniform float4 scaleBias, + uniform sampler2D normalHeightMap, + uniform sampler2D diffuseMap, + out float4 oColor : COLOR) +{ + // get the height using the tex coords + float height = tex2D(normalHeightMap, uv).a; + + // scale and bias factors + float scale = scaleBias.x; + float bias = scaleBias.y; + + // calculate displacement + float displacement = (height * scale) + bias; + + float3 uv2 = float3(uv, 1); + + // calculate the new tex coord to use for normal and diffuse + float2 newTexCoord = ((eyeDir * displacement) + uv2).xy; + + // get the new normal and diffuse values + float3 normal = expand(tex2D(normalHeightMap, newTexCoord).xyz); + float3 diffuse = tex2D(diffuseMap, newTexCoord).xyz; + + float3 specular = pow(saturate(dot(normal, halfAngle)), 32) * lightSpecular; + float3 col = diffuse * saturate(dot(normal, lightDir)) * lightDiffuse + specular; + + oColor = float4(col, 1); +} + + Added: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/OffsetMapping.material =================================================================== --- branches/ogsector/data/MediaFromOgre/AdvancedMaterials/OffsetMapping.material (rev 0) +++ branches/ogsector/data/MediaFromOgre/AdvancedMaterials/OffsetMapping.material 2007-04-21 18:02:53 UTC (rev 411) @@ -0,0 +1,242 @@ +// Bump map with Parallax offset vertex program, support for this is required +vertex_program Examples/OffsetMappingVP cg +{ + source OffsetMapping.cg + entry_point main_vp + profiles vs_1_1 arbvp1 +} + +// Bump map with parallax fragment program +fragment_program Examples/OffsetMappingFP cg +{ + source OffsetMapping.cg + entry_point main_fp + profiles ps_2_0 arbfp1 +} + +// Bump map with parallax fragment program +fragment_program Examples/OffsetMappingPS asm +{ + source OffsetMapping_specular.asm + // sorry, only for ps_1_4 and above:) + syntax ps_1_4 +} + + +material Examples/OffsetMapping/Specular +{ + + // This is the preferred technique which uses both vertex and + // fragment programs, supports coloured lights + technique + { + // do the lighting and bump mapping with parallax pass + pass + { + + // Vertex program reference + vertex_program_ref Examples/OffsetMappingVP + { + param_named_auto lightPosition light_position_object_space 0 + param_named_auto eyePosition camera_position_object_space + param_named_auto worldViewProj worldviewproj_matrix + } + + // Fragment program + fragment_program_ref Examples/OffsetMappingFP + { + param_named_auto lightDiffuse light_diffuse_colour 0 + param_named_auto lightSpecular light_specular_colour 0 + // Parallax Height scale and bias + param_named scaleBias float4 0.04 -0.02 1 0 + } + + // Normal + height(alpha) map + texture_unit + { + texture rockwall_NH.png + tex_coord_set 0 + } + + // Base diffuse texture map + texture_unit + { + texture rockwall.png + tex_coord_set 1 + } + } + } + + + // This is the preferred technique which uses both vertex and + // fragment programs, supports coloured lights + technique + { + // do the lighting and bump mapping with parallax pass + pass + { + + // Vertex program reference + vertex_program_ref Examples/OffsetMappingVP + { + param_named_auto lightPosition light_position_object_space 0 + param_named_auto eyePosition camera_position_object_space + param_named_auto worldViewProj worldviewproj_matrix + } + + // Fragment program + fragment_program_ref Examples/OffsetMappingPS + { + param_indexed_auto 0 light_diffuse_colour 0 + param_indexed_auto 1 light_specular_colour 0 + // Parallax Height scale and bias + param_indexed 2 float4 0.04 -0.02 1 0 + } + + // Normal + height(alpha) map + texture_unit + { + texture rockwall_NH.png + tex_coord_set 0 + } + + // Base diffuse texture map + texture_unit + { + texture rockwall.png + tex_coord_set 1 + } + } + } + + // Simple no-shader fallback + technique + { + pass + { + // Base diffuse texture map + texture_unit + { + texture rockwall.png + } + } + } + +} + + + +// Single-pass offset mapping with shadows +vertex_program Examples/OffsetMappingIntegratedShadowsVPhlsl hlsl +{ + source OffsetMapping.hlsl + entry_point integratedshadows_vp + target vs_2_0 +} +vertex_program Examples/OffsetMappingIntegratedShadowsVPglsl glsl +{ + source OffsetMappingVp.glsl +} + +// Single-pass offset mapping with shadows +fragment_program Examples/OffsetMappingIntegratedShadowsFPhlsl hlsl +{ + source OffsetMapping.hlsl + entry_point integratedshadows_fp + target ps_2_0 +} +fragment_program Examples/OffsetMappingIntegratedShadowsFPglsl glsl +{ + source OffsetMappingFp.glsl + default_params + { + // assign samplers as required by GLSL + param_named normalHeightMap int 0 + param_named diffuseMap int 1 + param_named shadowMap1 int 2 + param_named shadowMap2 int 3 + } +} +// Single-pass offset mapping with shadows +vertex_program Examples/OffsetMappingIntegratedShadowsVP unified +{ + delegate Examples/OffsetMappingIntegratedShadowsVPhlsl + delegate Examples/OffsetMappingIntegratedShadowsVPglsl +} +// Single-pass offset mapping with shadows +fragment_program Examples/OffsetMappingIntegratedShadowsFP unified +{ + delegate Examples/OffsetMappingIntegratedShadowsFPhlsl + delegate Examples/OffsetMappingIntegratedShadowsFPglsl +} + + + +material Examples/OffsetMapping/IntegratedShadows +{ + + technique + { + // do the lighting and bump mapping with parallax pass + pass + { + + // Vertex program reference + vertex_program_ref Examples/OffsetMappingIntegratedShadowsVP + { + param_named_auto lightPosition light_position_object_space 0 + param_named_auto eyePosition camera_position_object_space + param_named_auto worldViewProj worldviewproj_matrix + param_named_auto spotDirection light_direction_object_space 0 + + param_named_auto lightPosition1 light_position_object_space 1 + param_named_auto spotDirection1 light_direction_object_space 1 + // shadow texture projections + param_named_auto worldMatrix world_matrix + param_named_auto texViewProj1 texture_viewproj_matrix 0 + param_named_auto texViewProj2 texture_viewproj_matrix 1 + } + + // Fragment program + fragment_program_ref Examples/OffsetMappingIntegratedShadowsFP + { + param_named_auto lightDiffuse light_diffuse_colour 0 + param_named_auto spotParams spotlight_params 0 + + param_named_auto lightDiffuse1 light_diffuse_colour 1 + param_named_auto spotParams1 spotlight_params 1 + // Parallax Height scale and bias + param_named scaleBias float4 0.04 -0.02 1 0 + } + + // Normal + height(alpha) map + texture_unit + { + texture rockwall_NH.png + tex_coord_set 0 + } + + // Base diffuse texture map + texture_unit + { + texture rockwall.png + tex_coord_set 1 + } + + // shadowmap 1 + texture_unit + { + content_type shadow + } + // shadowmap 2 + texture_unit + { + content_type shadow + } + } + } + + + +} + Added: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/OffsetMappingFp.glsl =================================================================== --- branches/ogsector/data/MediaFromOgre/AdvancedMaterials/OffsetMappingFp.glsl (rev 0) +++ branches/ogsector/data/MediaFromOgre/AdvancedMaterials/OffsetMappingFp.glsl 2007-04-21 18:02:53 UTC (rev 411) @@ -0,0 +1,69 @@ +uniform vec4 lightDiffuse; +uniform vec4 scaleBias; +uniform vec4 spotParams; +uniform vec4 lightDiffuse1; +uniform vec4 spotParams1; + +uniform sampler2D normalHeightMap; +uniform sampler2D diffuseMap; +uniform sampler2D shadowMap1; +uniform sampler2D shadowMap2; + + + +varying vec3 tangentEyeDir; +varying vec3 tangentLightDir[2]; +varying vec3 tangentSpotDir[2]; +varying vec4 shadowUV[2]; + + +// Expand a range-compressed vector +vec3 expand(vec3 v) +{ + return (v - 0.5) * 2.0; +} + + +void main() +{ + // get the height using the tex coords + float height = texture2D(normalHeightMap, gl_TexCoord[0].xy).a; + // scale and bias factors + float scale = scaleBias.x; + float bias = scaleBias.y; + + // calculate displacement + float displacement = (height * scale) + bias; + //float displacement = (height * 0.04) - 0.02; + + vec3 scaledEyeDir = tangentEyeDir * displacement; + + // calculate the new tex coord to use for normal and diffuse + vec2 newTexCoord = (scaledEyeDir + gl_TexCoord[0].xyz).xy; + + // get the new normal and diffuse values + vec3 normal = expand(texture2D(normalHeightMap, newTexCoord).xyz); + vec4 diffuse = texture2D(diffuseMap, newTexCoord); + + vec4 col1 = diffuse * clamp(dot(normal, tangentLightDir[0]),0.0,1.0) * lightDiffuse; + // factor in spotlight angle + float rho = clamp(dot(tangentSpotDir[0], tangentLightDir[0]),0.0,1.0); + // factor = (rho - cos(outer/2) / cos(inner/2) - cos(outer/2)) ^ falloff + float spotFactor = pow( + clamp(rho - spotParams.y,0.0,1.0) / (spotParams.x - spotParams.y), spotParams.z); + col1 = col1 * spotFactor; + vec4 col2 = diffuse * clamp(dot(normal, tangentLightDir[1]),0.0,1.0) * lightDiffuse1; + // factor in spotlight angle + rho = clamp(dot(tangentSpotDir[1], tangentLightDir[1]),0.0,1.0); + // factor = (rho - cos(outer/2) / cos(inner/2) - cos(outer/2)) ^ falloff + spotFactor = pow( + clamp(rho - spotParams1.y,0.0,1.0) / (spotParams1.x - spotParams1.y), spotParams1.z); + col2 = col2 * spotFactor; + + // shadow textures + col1 = col1 * texture2DProj(shadowMap1, shadowUV[0]); + col2 = col2 * texture2DProj(shadowMap2, shadowUV[1]); + + gl_FragColor = col1 + col2; + +} Added: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/OffsetMappingVp.glsl =================================================================== --- branches/ogsector/data/MediaFromOgre/AdvancedMaterials/OffsetMappingVp.glsl (rev 0) +++ branches/ogsector/data/MediaFromOgre/AdvancedMaterials/OffsetMappingVp.glsl 2007-04-21 18:02:53 UTC (rev 411) @@ -0,0 +1,54 @@ +attribute vec3 tangent; + +uniform vec4 lightPosition; // object space +uniform vec4 lightPosition1; // object space +uniform vec4 eyePosition; // object space +uniform vec4 spotDirection; // object space +uniform vec4 spotDirection1; // object space +uniform mat4 worldViewProj; // not actually used but here for compat with HLSL +uniform mat4 worldMatrix; +uniform mat4 texViewProj1; +uniform mat4 texViewProj2; + + +varying vec3 tangentEyeDir; +varying vec3 tangentLightDir[2]; +varying vec3 tangentSpotDir[2]; +varying vec4 shadowUV[2]; + +void main() +{ + gl_Position = ftransform(); + + vec4 worldPos = worldMatrix * gl_Vertex; + + shadowUV[0] = texViewProj1 * worldPos; + shadowUV[1] = texViewProj2 * worldPos; + + // pass the main uvs straight through unchanged + gl_TexCoord[0] = gl_MultiTexCoord0; + + // calculate tangent space light vector + // Get object space light direction + vec3 lightDir = normalize(lightPosition.xyz - (gl_Vertex.xyz * lightPosition.w)); + vec3 lightDir1 = normalize(lightPosition1.xyz - (gl_Vertex.xyz * lightPosition1.w)); + + vec3 eyeDir = (eyePosition - gl_Vertex).xyz; + + // Calculate the binormal (NB we assume both normal and tangent are + // already normalised) + vec3 binormal = cross(gl_Normal, tangent); + + // Form a rotation matrix out of the vectors + mat3 rotation = mat3(tangent, binormal, gl_Normal); + + // Transform the light vector according to this matrix + tangentLightDir[0] = normalize(rotation * lightDir); + tangentLightDir[1] = normalize(rotation * lightDir1); + // Invert the Y on the eye dir since we'll be using this to alter UVs and + // GL has Y inverted + tangentEyeDir = normalize(rotation * eyeDir) * vec3(1, -1, 1); + + tangentSpotDir[0] = normalize(rotation * -spotDirection.xyz); + tangentSpotDir[1] = normalize(rotation * -spotDirection1.xyz); +} Added: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/RustedMetal.jpg =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/RustedMetal.jpg ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/RustySteel.jpg =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/RustySteel.jpg ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/nm_bk.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/nm_bk.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/nm_dn.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/nm_dn.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/nm_fr.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/nm_fr.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/nm_lf.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/nm_lf.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/nm_rt.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/nm_rt.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/nm_up.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/nm_up.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/rockwall.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/rockwall.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/rockwall_NH.png =================================================================== (Binary files differ) Property changes on: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/rockwall_NH.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: branches/ogsector/data/MediaFromOgre/AdvancedMaterials/skinningTwoWeightsVp.glsl =================================================================== --- branches/ogsector/data/MediaFromOgre/AdvancedMaterials/skinningTwoWeightsVp.glsl (rev 0) +++ branches/ogsector/data/MediaFromOgre/AdvancedMaterials/skinningTwoWeightsVp.glsl 2007-04-21 18:02:53 UTC (rev 411) @@ -0,0 +1,57 @@ +// Example GLSL program for skinning with two bone weights per vertex + +attribute vec4 blendIndices; +attribute vec4 blendWeights; + +// 3x4 matrix, passed as vec4's for compatibility with GL 2.0 +// GL 2.0 supports 3x4 matrices +// Support 24 bones ie 24*3, but use 72 since our parser can pick that out for sizing +uniform vec4 worldMatrix3x4Array[72]; +uniform mat4 viewProjectionMatrix; +uniform vec4 lightPos[2]; +uniform vec4 lightDiffuseColour[2]; + +void main() +{ ... [truncated message content] |
From: <ult...@us...> - 2007-04-19 20:51:30
|
Revision: 410 http://svn.sourceforge.net/opengate/?rev=410&view=rev Author: ultrasick Date: 2007-04-19 13:51:30 -0700 (Thu, 19 Apr 2007) Log Message: ----------- uploading new parts of the Lady Kickstart texture Modified Paths: -------------- trunk/data/ships/tauseti/lady kickstart/lady kickstart.blend trunk/templates/data/ships/tauseti/lady kickstart/viewable area.7z Added Paths: ----------- trunk/templates/data/ships/tauseti/lady kickstart/parts/60 + 61.pspimage trunk/templates/data/ships/tauseti/lady kickstart/parts/62 + 63.pspimage Modified: trunk/data/ships/tauseti/lady kickstart/lady kickstart.blend =================================================================== (Binary files differ) Added: trunk/templates/data/ships/tauseti/lady kickstart/parts/60 + 61.pspimage =================================================================== (Binary files differ) Property changes on: trunk/templates/data/ships/tauseti/lady kickstart/parts/60 + 61.pspimage ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/templates/data/ships/tauseti/lady kickstart/parts/62 + 63.pspimage =================================================================== (Binary files differ) Property changes on: trunk/templates/data/ships/tauseti/lady kickstart/parts/62 + 63.pspimage ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/templates/data/ships/tauseti/lady kickstart/viewable area.7z =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ult...@us...> - 2007-04-17 19:10:55
|
Revision: 409 http://svn.sourceforge.net/opengate/?rev=409&view=rev Author: ultrasick Date: 2007-04-17 12:10:54 -0700 (Tue, 17 Apr 2007) Log Message: ----------- uploading the opengate logo which was suggested by tim some time ago Added Paths: ----------- trunk/data/logos/opengate/ trunk/data/logos/opengate/black_background.png trunk/data/logos/opengate/original.blend trunk/data/logos/opengate/transparent_background.png Added: trunk/data/logos/opengate/black_background.png =================================================================== (Binary files differ) Property changes on: trunk/data/logos/opengate/black_background.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/data/logos/opengate/original.blend =================================================================== (Binary files differ) Property changes on: trunk/data/logos/opengate/original.blend ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/data/logos/opengate/transparent_background.png =================================================================== (Binary files differ) Property changes on: trunk/data/logos/opengate/transparent_background.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ult...@us...> - 2007-04-17 18:08:30
|
Revision: 408 http://svn.sourceforge.net/opengate/?rev=408&view=rev Author: ultrasick Date: 2007-04-17 11:08:32 -0700 (Tue, 17 Apr 2007) Log Message: ----------- renaming Added Paths: ----------- trunk/data/engines/t-e-15.blend Removed Paths: ------------- trunk/data/engines/s-e-15.blend Deleted: trunk/data/engines/s-e-15.blend =================================================================== (Binary files differ) Added: trunk/data/engines/t-e-15.blend =================================================================== (Binary files differ) Property changes on: trunk/data/engines/t-e-15.blend ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ult...@us...> - 2007-04-17 17:57:30
|
Revision: 407 http://svn.sourceforge.net/opengate/?rev=407&view=rev Author: ultrasick Date: 2007-04-17 10:57:31 -0700 (Tue, 17 Apr 2007) Log Message: ----------- renaming solrain -> tauseti Added Paths: ----------- trunk/data/commodities/tauseti_flashback.blend Removed Paths: ------------- trunk/data/commodities/solrain_flashback.blend Deleted: trunk/data/commodities/solrain_flashback.blend =================================================================== (Binary files differ) Added: trunk/data/commodities/tauseti_flashback.blend =================================================================== (Binary files differ) Property changes on: trunk/data/commodities/tauseti_flashback.blend ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ult...@us...> - 2007-04-17 17:55:39
|
Revision: 406 http://svn.sourceforge.net/opengate/?rev=406&view=rev Author: ultrasick Date: 2007-04-17 10:55:40 -0700 (Tue, 17 Apr 2007) Log Message: ----------- renaming solrain -> tauseti Added Paths: ----------- trunk/templates/data/commodities/tauseti_flashback/ trunk/templates/data/commodities/tauseti_flashback/glass.png trunk/templates/data/commodities/tauseti_flashback/lable_-_bottom.pspimage trunk/templates/data/commodities/tauseti_flashback/lable_-_top.pspimage Removed Paths: ------------- trunk/templates/data/commodities/solrain_flashback/ Added: trunk/templates/data/commodities/tauseti_flashback/glass.png =================================================================== (Binary files differ) Property changes on: trunk/templates/data/commodities/tauseti_flashback/glass.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/templates/data/commodities/tauseti_flashback/lable_-_bottom.pspimage =================================================================== (Binary files differ) Property changes on: trunk/templates/data/commodities/tauseti_flashback/lable_-_bottom.pspimage ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/templates/data/commodities/tauseti_flashback/lable_-_top.pspimage =================================================================== (Binary files differ) Property changes on: trunk/templates/data/commodities/tauseti_flashback/lable_-_top.pspimage ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ult...@us...> - 2007-04-17 17:05:18
|
Revision: 405 http://svn.sourceforge.net/opengate/?rev=405&view=rev Author: ultrasick Date: 2007-04-17 10:05:15 -0700 (Tue, 17 Apr 2007) Log Message: ----------- deleting the old solrain logo Removed Paths: ------------- trunk/data/logos/solrain/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ult...@us...> - 2007-04-17 17:03:46
|
Revision: 404 http://svn.sourceforge.net/opengate/?rev=404&view=rev Author: ultrasick Date: 2007-04-17 10:03:48 -0700 (Tue, 17 Apr 2007) Log Message: ----------- uploading a new logo for the tauseti faction Added Paths: ----------- trunk/data/logos/tauseti/ trunk/data/logos/tauseti/black_background.png trunk/data/logos/tauseti/original.blend trunk/data/logos/tauseti/transparent_background.png Added: trunk/data/logos/tauseti/black_background.png =================================================================== (Binary files differ) Property changes on: trunk/data/logos/tauseti/black_background.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/data/logos/tauseti/original.blend =================================================================== (Binary files differ) Property changes on: trunk/data/logos/tauseti/original.blend ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/data/logos/tauseti/transparent_background.png =================================================================== (Binary files differ) Property changes on: trunk/data/logos/tauseti/transparent_background.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ult...@us...> - 2007-04-17 16:55:28
|
Revision: 403 http://svn.sourceforge.net/opengate/?rev=403&view=rev Author: ultrasick Date: 2007-04-17 09:55:21 -0700 (Tue, 17 Apr 2007) Log Message: ----------- changing " " -> "_" in file names Added Paths: ----------- trunk/data/logos/quantar/black_background.png trunk/data/logos/quantar/transparent_background.png Removed Paths: ------------- trunk/data/logos/quantar/black background.png trunk/data/logos/quantar/transparent background.png Deleted: trunk/data/logos/quantar/black background.png =================================================================== (Binary files differ) Added: trunk/data/logos/quantar/black_background.png =================================================================== (Binary files differ) Property changes on: trunk/data/logos/quantar/black_background.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Deleted: trunk/data/logos/quantar/transparent background.png =================================================================== (Binary files differ) Added: trunk/data/logos/quantar/transparent_background.png =================================================================== (Binary files differ) Property changes on: trunk/data/logos/quantar/transparent_background.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |