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: <spo...@us...> - 2007-12-02 21:26:12
|
Revision: 875 http://opengate.svn.sourceforge.net/opengate/?rev=875&view=rev Author: spom_spom Date: 2007-12-02 13:26:14 -0800 (Sun, 02 Dec 2007) Log Message: ----------- win compatibility commit Modified Paths: -------------- trunk/win32/ogsectorclient/ogreopcode.dll trunk/win32/ogsectorclient/ogsectorclient.cbp trunk/win32/ogsectorclient/ogsectorclient.exe trunk/win32/ogsectorclient/opcode.dll Modified: trunk/win32/ogsectorclient/ogreopcode.dll =================================================================== --- trunk/win32/ogsectorclient/ogreopcode.dll 2007-12-02 20:06:35 UTC (rev 874) +++ trunk/win32/ogsectorclient/ogreopcode.dll 2007-12-02 21:26:14 UTC (rev 875) @@ -1,8 +1,8 @@ MZ\x90 |
From: <eg...@us...> - 2007-12-02 20:06:37
|
Revision: 874 http://opengate.svn.sourceforge.net/opengate/?rev=874&view=rev Author: egore Date: 2007-12-02 12:06:35 -0800 (Sun, 02 Dec 2007) Log Message: ----------- It's done Modified Paths: -------------- trunk/TODO.cbrill Modified: trunk/TODO.cbrill =================================================================== --- trunk/TODO.cbrill 2007-12-02 17:25:31 UTC (rev 873) +++ trunk/TODO.cbrill 2007-12-02 20:06:35 UTC (rev 874) @@ -11,4 +11,3 @@ * remove data/ogre_menu.zip * replace WAVs by ogg (where useful, size improvement should me measurable) * remove testopenalmanager once the client is done -* fix "make dist" with ogreopcode external stuff This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <spo...@us...> - 2007-12-02 17:25:28
|
Revision: 873 http://opengate.svn.sourceforge.net/opengate/?rev=873&view=rev Author: spom_spom Date: 2007-12-02 09:25:31 -0800 (Sun, 02 Dec 2007) Log Message: ----------- upgrade to asio-0.3.8, fixed miscellaneous minor and major bugs Modified Paths: -------------- trunk/configure.ac trunk/data/materials/advancedMaterials.material trunk/data/materials/advancedMaterials.program trunk/plugins.cfg trunk/src/DockedState.cpp trunk/src/GameStateManager.cpp trunk/src/OpcodeWrapper.cpp trunk/src/OpcodeWrapper.h trunk/src/OpenALSoundManager.cpp trunk/src/OpenALSoundManager.h trunk/src/Projectile.cpp trunk/src/Projectile.h trunk/src/Sector.cpp trunk/src/Sector.h trunk/src/SectorObjects.cpp trunk/src/SectorObjects.h trunk/src/Station.h trunk/src/common.cpp trunk/src/common.h trunk/src/metaserver.cpp trunk/src/metaserver.h trunk/src/networkClient.cpp trunk/src/networkClient.h trunk/src/networkProtocol.cpp trunk/src/networkProtocol.h trunk/src/networkServer.cpp trunk/src/networkServer.h trunk/src/networkServerUser.cpp trunk/src/networkServerUser.h trunk/src/opengateserver.cpp Added Paths: ----------- trunk/data/materials/simpleshield.cg trunk/data/materials/simpleshield.material Removed Paths: ------------- trunk/ogre.cfg trunk/win32/ogsectorclient/ogre.cfg Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2007-11-27 23:37:55 UTC (rev 872) +++ trunk/configure.ac 2007-12-02 17:25:31 UTC (rev 873) @@ -85,7 +85,7 @@ # TODO: fix this part AC_CHECK_HEADER([asio.hpp],, [ - echo "Can't find asio headers. Please install the asio development packages." + echo "Can't find asio headers-0.3.8. Please install the asio development packages." echo "You can get them from http://sourceforge.net/projects/asio/" exit 1 ],[]) Modified: trunk/data/materials/advancedMaterials.material =================================================================== --- trunk/data/materials/advancedMaterials.material 2007-11-27 23:37:55 UTC (rev 872) +++ trunk/data/materials/advancedMaterials.material 2007-12-02 17:25:31 UTC (rev 873) @@ -21,7 +21,6 @@ // be an issue vertex_program_ref BasicVertexPrograms/AmbientOneTextureUnified { - param_named_auto worldViewProj worldviewproj_matrix param_named_auto ambient ambient_light_colour } @@ -43,7 +42,6 @@ vertex_program_ref BumpMapVP { param_named_auto lightPosition light_position_object_space 0 - param_named_auto worldViewProj worldviewproj_matrix } // Fragment program @@ -79,7 +77,6 @@ // be an issue vertex_program_ref BasicVertexPrograms/AmbientOneTextureUnified { - param_named_auto worldViewProj worldviewproj_matrix param_named ambient float4 1 1 1 1 } scene_blend dest_colour zero @@ -110,7 +107,6 @@ // be an issue vertex_program_ref BasicVertexPrograms/AmbientOneTextureUnified { - param_named_auto worldViewProj worldviewproj_matrix param_named_auto ambient ambient_light_colour } @@ -132,7 +128,6 @@ vertex_program_ref BumpMapVP { param_named_auto lightPosition light_position_object_space 0 - param_named_auto worldViewProj worldviewproj_matrix } // Base bump map @@ -162,7 +157,6 @@ // be an issue vertex_program_ref BasicVertexPrograms/AmbientOneTextureUnified { - param_named_auto worldViewProj worldviewproj_matrix param_named ambient float4 1 1 1 1 } scene_blend dest_colour zero Modified: trunk/data/materials/advancedMaterials.program =================================================================== --- trunk/data/materials/advancedMaterials.program 2007-11-27 23:37:55 UTC (rev 872) +++ trunk/data/materials/advancedMaterials.program 2007-12-02 17:25:31 UTC (rev 873) @@ -2,46 +2,37 @@ { source Example_BumpMapping.cg entry_point main_vp - profiles vs_1_1 arbvp1 + profiles arbvp1 vp20 vs_1_1 + default_params + { + param_named_auto worldViewProj worldviewproj_matrix + } } -// Bump map fragment program, support for this is optional -fragment_program BumpMapFP cg -{ - source Example_BumpMapping.cg - entry_point main_fp - profiles vs_1_1 arbfp1 fp20 -} - // Bump map with specular vertex program, support for this is required vertex_program BumpMapVPSpecular cg { source Example_BumpMapping.cg entry_point specular_vp - profiles vs_1_1 arbvp1 + profiles arbvp1 vp20 vs_1_1 + default_params + { + param_named_auto worldViewProj worldviewproj_matrix + } } -// Bump map fragment program, support for this is optional -fragment_program BumpMapFPSpecular cg -{ - source Example_BumpMapping.cg - entry_point specular_fp - profiles vs_1_1 arbfp1 fp20 -} - // A really basic ambient pass program, support for one texture coodinate set vertex_program BasicVertexPrograms/AmbientOneTextureCG cg { source Example_Basic.cg entry_point ambientOneTexture_vp - profiles vs_1_1 arbvp1 + profiles arbvp1 vp20 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 @@ -49,7 +40,7 @@ { source Example_Basic.hlsl entry_point ambientOneTexture_vp - target vs_1_1 arbvp1 + target arbvp1 vp20 vs_1_1 default_params { @@ -73,4 +64,20 @@ delegate BasicVertexPrograms/AmbientOneTextureGLSL delegate BasicVertexPrograms/AmbientOneTextureHLSL delegate BasicVertexPrograms/AmbientOneTextureCG +} + +// Bump map fragment program, support for this is optional +fragment_program BumpMapFP cg +{ + source Example_BumpMapping.cg + entry_point main_fp + profiles arbfp1 fp20 ps_1_1 +} + +// Bump map fragment program, support for this is optional +fragment_program BumpMapFPSpecular cg +{ + source Example_BumpMapping.cg + entry_point specular_fp + profiles arbfp1 fp20 ps_1_1 } \ No newline at end of file Added: trunk/data/materials/simpleshield.cg =================================================================== --- trunk/data/materials/simpleshield.cg (rev 0) +++ trunk/data/materials/simpleshield.cg 2007-12-02 17:25:31 UTC (rev 873) @@ -0,0 +1,9 @@ +float4 main_fp( uniform float4 customParamColour, + uniform float time + ) : COLOR +{ + float4 outColor; + outColor = customParamColour; +// outColor.w = customParamColour.w * ( 1 - time ); + return outColor; +} Added: trunk/data/materials/simpleshield.material =================================================================== --- trunk/data/materials/simpleshield.material (rev 0) +++ trunk/data/materials/simpleshield.material 2007-12-02 17:25:31 UTC (rev 873) @@ -0,0 +1,24 @@ +fragment_program shader_fp/simpleshield_cg cg +{ + source simpleshield.cg + entry_point main_fp + profiles arbfp1 ps_1_1 +} + +material simpleshield +{ + technique + { + pass + { + scene_blend alpha_blend + depth_check off + lighting off + fragment_program_ref shader_fp/simpleshield_cg + { + param_named_auto customParamColour custom 0 + param_named_auto time time_0_x 1 + } + } + } +} Deleted: trunk/ogre.cfg =================================================================== --- trunk/ogre.cfg 2007-11-27 23:37:55 UTC (rev 872) +++ trunk/ogre.cfg 2007-12-02 17:25:31 UTC (rev 873) @@ -1,7 +0,0 @@ -Render System=OpenGL Rendering Subsystem - -[OpenGL Rendering Subsystem] -FSAA=6 -Full Screen=No -RTT Preferred Mode=FBO -Video Mode=1024 x 768 Modified: trunk/plugins.cfg =================================================================== --- trunk/plugins.cfg 2007-11-27 23:37:55 UTC (rev 872) +++ trunk/plugins.cfg 2007-12-02 17:25:31 UTC (rev 873) @@ -6,7 +6,5 @@ # Define D3D rendering implementation plugin Plugin=RenderSystem_GL.so Plugin=Plugin_ParticleFX.so -Plugin=Plugin_BSPSceneManager.so -Plugin=Plugin_OctreeSceneManager.so Plugin=Plugin_CgProgramManager.so Modified: trunk/src/DockedState.cpp =================================================================== --- trunk/src/DockedState.cpp 2007-11-27 23:37:55 UTC (rev 872) +++ trunk/src/DockedState.cpp 2007-12-02 17:25:31 UTC (rev 873) @@ -129,12 +129,16 @@ exitToUndockedState_ = false; quitAllStates_ = false; + std::cout << "soundManager->listener "<< std::endl; if ( resources_->soundManager->listener() ){ resources_->soundManager->listener()->reset(); } - if ( backgroundSound_ ) backgroundSound_->play(); + std::cout << "backgroundSound_ "<< backgroundSound_ << std::endl; + + backgroundSound_->play(); + std::cout << "backgroundSound_ "<< std::endl; } void DockedState::exit(){ - if ( backgroundSound_ ) backgroundSound_->stop(); + backgroundSound_->stop(); CEGUI::WindowManager::getSingleton().getWindow( (CEGUI::utf8*)"Config/BackButton" )->removeEvent( CEGUI::PushButton::EventClicked ); Modified: trunk/src/GameStateManager.cpp =================================================================== --- trunk/src/GameStateManager.cpp 2007-11-27 23:37:55 UTC (rev 872) +++ trunk/src/GameStateManager.cpp 2007-12-02 17:25:31 UTC (rev 873) @@ -20,6 +20,7 @@ #include "GameStateManager.h" +#include <OgreGpuProgramManager.h> #include <OgreRoot.h> #include <OgreRenderWindow.h> #include <OgreConfigFile.h> @@ -335,7 +336,21 @@ resources_.ogreRoot->removeFrameListener( state ); } +bool GameStateManager::initialiseBootstrap( bool dialog ){ + resources_.ogreRoot = new Ogre::Root; + resources_.gameStateRoot = this; + + if ( !initialiseOgreEngine_( dialog ) ) { + log_->fatal( "Cannot initialize ogre engine." ); + return false; + } + initialiseBootstrapResources(); + initLoadingVector(); + return true; +} + bool GameStateManager::initialiseBootstrapResources( ) { + log_->info( "load bootstrap resources." ); Ogre::ConfigFile cf; cf.load( "resources.cfg" ); // Go through all sections & settings in the file @@ -362,16 +377,6 @@ return true; } -bool GameStateManager::initialiseBootstrap( bool dialog ){ - resources_.ogreRoot = new Ogre::Root; - resources_.gameStateRoot = this; - - if ( !initialiseOgreEngine_( dialog ) ) return false; - initialiseBootstrapResources(); - initLoadingVector(); - return true; -} - void GameStateManager::initLoadingVector(){ loadResourcesVector_.push_back( std::pair< bool (GameStateManager::*)( ), @@ -426,6 +431,13 @@ } bool GameStateManager::checkRenderSystemCapabilities( ){ + + log_->info("checkRenderSystemCapabilities: Your card support the following shader syntax: "); + std::set< Ogre::String> syntaxCodes = Ogre::GpuProgramManager::getSingleton().getSupportedSyntax(); + for ( std::set< Ogre::String>::iterator it = syntaxCodes.begin(); it != syntaxCodes.end(); it ++ ){ + log_->info( *it ); + } + const Ogre::RenderSystemCapabilities * caps = ResourceManager::getSingleton().ogreRoot->getRenderSystem()->getCapabilities(); if ( !caps->hasCapability( Ogre::RSC_VERTEX_PROGRAM ) ) { @@ -514,6 +526,10 @@ } bool GameStateManager::initialiseOgreEngine_( bool dialog ){ + if ( !fileExist( "ogre.cfg" ) ) { + dialog = true; + } + if ( !dialog ){ resources_.ogreRoot->restoreConfig(); resources_.renderWindow = resources_.ogreRoot->initialise( true, "OpenGate" ); @@ -522,8 +538,6 @@ if ( resources_.ogreRoot->showConfigDialog() ) { resources_.renderWindow = resources_.ogreRoot->initialise( true, "OpenGate" ); return true; - } else { - return false; } } return false; Modified: trunk/src/OpcodeWrapper.cpp =================================================================== --- trunk/src/OpcodeWrapper.cpp 2007-11-27 23:37:55 UTC (rev 872) +++ trunk/src/OpcodeWrapper.cpp 2007-12-02 17:25:31 UTC (rev 873) @@ -58,7 +58,6 @@ } bool OpcodeCollisionDetection::update( Ogre::Real elapsedTime ){ - collideInSectorContext_->collide( 0.0 ); collideInSectorContext_->collide( elapsedTime ); OgreOpcode::CollisionReporter report( collideInSectorContext_->getCollisionReport() ); @@ -105,52 +104,49 @@ } OgreOpcode::CollisionObject * OpcodeCollisionDetection::createObject( SectorObject * obj ){ + return createObject( obj->entity(), obj, "SectorObject" ); +} - OgreOpcode::EntityCollisionShape * collShape = OgreOpcode::CollisionManager::getSingletonPtr() - ->createEntityCollisionShape( obj->name() + "/CollShape" ); - collShape->load( obj->entity() ); +void OpcodeCollisionDetection::destroyObject( OgreOpcode::CollisionObject * obj ){ - OgreOpcode::CollisionObject * collObj = collideInSectorContext_->createObject( obj->name() + "/CollObj" ); - collObj->setCollClass( OgreOpcode::CollisionManager::getSingletonPtr()->queryCollClass( "SectorObject" ) ); - collObj->setShape( collShape ); + OgreOpcode::ICollisionShape *shape = obj->getShape(); + OgreOpcode::CollisionManager::getSingletonPtr()->detachShape(shape); + OgreOpcode::CollisionManager::getSingletonPtr()->destroyShape(shape); - collideInSectorContext_->addObject( collObj ); - collObj->setClientData( obj ); - return collObj; -} -void OpcodeCollisionDetection::destroyObject( OgreOpcode::CollisionObject * obj ){ collideInSectorContext_->destroyObject( obj ); - OgreOpcode::CollisionManager::getSingletonPtr()->destroyShape( obj->getShape() ); + // OgreOpcode::CollisionManager::getSingletonPtr()->destroyShape( obj->getShape() ); } bool OpcodeCollisionDetection::checkCollideRay( BaseObject * obj, const Ogre::Ray & ray, double rayLength){ - OgreOpcode::CollisionPair ** rayPickReport; - uint nColl = collideInSectorContext_->rayCheck( ray, rayLength, OgreOpcode::COLLTYPE_EXACT, - OgreOpcode::COLLTYPE_ALWAYS_EXACT, rayPickReport ); - -// std::cout << "checkCollideRay: " << " " << rayLength << " " << nColl <<std::endl; - - for ( uint i = 0; i < nColl; i ++ ){ - OgreOpcode::CollisionObject* col1 = rayPickReport[ i ]->this_object; - OgreOpcode::CollisionObject* col2 = rayPickReport[ i ]->other_object; + if ( !obj->isSetDestroyRequest() ){ + OgreOpcode::CollisionPair ** rayPickReport; + uint nColl = collideInSectorContext_->rayCheck( ray, rayLength, OgreOpcode::COLLTYPE_EXACT, + OgreOpcode::COLLTYPE_ALWAYS_EXACT, rayPickReport ); -// std::cout << "checkCollideRay: " << i << " " -// << static_cast< BaseObject * >( col1->getClientData() )->name() << "<->" -// << static_cast< BaseObject * >( col2->getClientData() )->name() << std::endl; - - if ( obj->getTypeID() == PROJECTILE_RTTI ){ - if ( dynamic_cast< Projectile * >( obj )->parent() != static_cast< BaseObject * >( col1->getClientData() ) ){ - obj->mainNode()->setPosition( rayPickReport[ i ]->contact ); + // std::cout << "checkCollideRay: " << " " << rayLength << " " << nColl <<std::endl; + + for ( uint i = 0; i < nColl; i ++ ){ + OgreOpcode::CollisionObject* col1 = rayPickReport[ i ]->this_object; + OgreOpcode::CollisionObject* col2 = rayPickReport[ i ]->other_object; + + // std::cout << "checkCollideRay: " << i << " " + // << static_cast< BaseObject * >( col1->getClientData() )->name() << "<->" + // << static_cast< BaseObject * >( col2->getClientData() )->name() << std::endl; + + if ( obj->getTypeID() == PROJECTILE_RTTI ){ + if ( dynamic_cast< Projectile * >( obj )->parent() != static_cast< BaseObject * >( col1->getClientData() ) ){ + obj->mainNode()->setPosition( rayPickReport[ i ]->contact ); + obj->collide( static_cast< BaseObject * >( col2->getClientData() ) ); + static_cast< BaseObject * >( col1->getClientData() )->collide( obj ); + return true; + } + } else if ( obj != col1->getClientData() ){ obj->collide( static_cast< BaseObject * >( col2->getClientData() ) ); static_cast< BaseObject * >( col1->getClientData() )->collide( obj ); - return true; } - } else if ( obj != col1->getClientData() ){ - obj->collide( static_cast< BaseObject * >( col2->getClientData() ) ); - static_cast< BaseObject * >( col1->getClientData() )->collide( obj ); - } - } + } + } return false; } Modified: trunk/src/OpcodeWrapper.h =================================================================== --- trunk/src/OpcodeWrapper.h 2007-11-27 23:37:55 UTC (rev 872) +++ trunk/src/OpcodeWrapper.h 2007-12-02 17:25:31 UTC (rev 873) @@ -43,16 +43,13 @@ bool update( Ogre::Real elapsedTime ); + OgreOpcode::CollisionObject * createObject( Ogre::Entity * entity, BaseObject * obj, const std::string & collClass ); OgreOpcode::CollisionObject * createObject( SectorObject * obj ); - OgreOpcode::CollisionObject * createObject( Ogre::Entity * entity, BaseObject * obj, const std::string & collClass = "SectorObject" ); - void destroyObject( OgreOpcode::CollisionObject * obj ); - bool checkCollideRay( BaseObject * obj, const Ogre::Ray & bulletRay, double rayLength ); + bool checkCollideRay( BaseObject * obj, const Ogre::Ray & ray, double rayLength ); - OgreOpcode::CollisionContext * collideInSectorContext(){ return collideInSectorContext_; } - void changeCollClass( OgreOpcode::CollisionObject * collObj, const std::string & collClass ); static OpcodeCollisionDetection & getSingleton( ); Modified: trunk/src/OpenALSoundManager.cpp =================================================================== --- trunk/src/OpenALSoundManager.cpp 2007-11-27 23:37:55 UTC (rev 872) +++ trunk/src/OpenALSoundManager.cpp 2007-12-02 17:25:31 UTC (rev 873) @@ -187,9 +187,7 @@ return true; } -bool OpenALSoundSource::setDirection( float x, float y, float z ){ - return setDirection( Ogre::Vector3( x, y, z ) ); } - +bool OpenALSoundSource::setDirection( float x, float y, float z ){ return setDirection( Ogre::Vector3( x, y, z ) ); } bool OpenALSoundSource::setDirection( const Ogre::Vector3 & dir ){ direction_ = dir; alSourcefv( source_, AL_DIRECTION, direction_.ptr() ); @@ -227,7 +225,6 @@ return false; } - OpenALOggStreamSource::OpenALOggStreamSource( OpenALSoundManager * soundMgr, const std::string & name) : OpenALSoundSource( soundMgr, name ){ } @@ -392,7 +389,7 @@ return true; } -OpenALListener::OpenALListener( OpenALSoundManager * soundMgr ) : soundMgr_( soundMgr ){ + OpenALListener::OpenALListener( OpenALSoundManager * soundMgr, bool dummy ) : soundMgr_( soundMgr ), dummy_( dummy ){ reset(); } @@ -407,18 +404,22 @@ bool OpenALListener::setPosition( float x, float y, float z ){ return setPosition( Ogre::Vector3( x, y, z ) ); } bool OpenALListener::setPosition( const Ogre::Vector3 & pos){ - position_ = pos; - alListenerfv( AL_POSITION, position_.ptr() ); - if ( soundMgr_->checkOpenALError( "OpenALListener::alListenerfv:AL_POSITION" ) ) return false; + if ( !dummy_ ){ + position_ = pos; + alListenerfv( AL_POSITION, position_.ptr() ); + if ( soundMgr_->checkOpenALError( "OpenALListener::alListenerfv:AL_POSITION" ) ) return false; + } return true; } bool OpenALListener::setVelocity( float x, float y, float z ){ return setVelocity( Ogre::Vector3( x, y, z ) ); } bool OpenALListener::setVelocity( const Ogre::Vector3 & vel){ - velocity_ = vel; - alListenerfv( AL_VELOCITY, position_.ptr() ); - if ( soundMgr_->checkOpenALError( "OpenALListener::alListenerfv:AL_VELOCITY" ) ) return false; + if ( !dummy_ ){ + velocity_ = vel; + alListenerfv( AL_VELOCITY, position_.ptr() ); + if ( soundMgr_->checkOpenALError( "OpenALListener::alListenerfv:AL_VELOCITY" ) ) return false; + } return true; } @@ -426,12 +427,14 @@ return setOrientation( Ogre::Vector3( xf, yf, zf ), Ogre::Vector3( xu, yu, zu ) ); } bool OpenALListener::setOrientation( const Ogre::Vector3 & front, const Ogre::Vector3 & up){ - directionFront_ = front; directionUp_ = up; - orientation_[ 0 ] = front[ 0 ]; orientation_[ 1 ] = front[ 1 ]; orientation_[ 2 ] = front[ 2 ]; - orientation_[ 3 ] = up[ 0 ]; orientation_[ 4 ] = up[ 1 ]; orientation_[ 5 ] = up[ 2 ]; - - alListenerfv( AL_ORIENTATION, orientation_ ); - if ( soundMgr_->checkOpenALError( "OpenALListener::alListenerfv:AL_ORIENTATION" ) ) return false; + if ( !dummy_ ){ + directionFront_ = front; directionUp_ = up; + orientation_[ 0 ] = front[ 0 ]; orientation_[ 1 ] = front[ 1 ]; orientation_[ 2 ] = front[ 2 ]; + orientation_[ 3 ] = up[ 0 ]; orientation_[ 4 ] = up[ 1 ]; orientation_[ 5 ] = up[ 2 ]; + + alListenerfv( AL_ORIENTATION, orientation_ ); + if ( soundMgr_->checkOpenALError( "OpenALListener::alListenerfv:AL_ORIENTATION" ) ) return false; + } return true; } @@ -460,11 +463,13 @@ if ( listener_ ) delete listener_; - ALCcontext *context = alcGetCurrentContext(); - ALCdevice *device = alcGetContextsDevice( context ); - alcMakeContextCurrent( NULL ); - alcDestroyContext( context ); - alcCloseDevice( device ); + if ( haveSoundDevice_ ){ + ALCcontext *context = alcGetCurrentContext(); + ALCdevice *device = alcGetContextsDevice( context ); + alcMakeContextCurrent( NULL ); + alcDestroyContext( context ); + alcCloseDevice( device ); + } } bool OpenALSoundManager::frameStarted( const Ogre::FrameEvent & evt ){ @@ -535,26 +540,25 @@ if ( !device ){ log_->warn( "No sound device detected." ); haveSoundDevice_ = false; - return false; } - log_->info( "Choosing: " + Ogre::String( alcGetString( device, ALC_DEVICE_SPECIFIER) ) ); - ALCcontext * context = alcCreateContext( device, NULL ); - if ( !context ){ - log_->warn( "Can not create sound context." ); - return false; - } + if ( haveSoundDevice_ ){ + log_->info( "Choosing: " + Ogre::String( alcGetString( device, ALC_DEVICE_SPECIFIER) ) ); + ALCcontext * context = alcCreateContext( device, NULL ); - alcMakeContextCurrent( context ); - if ( checkOpenALError( "OpenALSoundManager::init::alcMakeContextCurrent" ) ) return false; + if ( !context ){ + log_->warn( "Can not create sound context." ); + return false; + } - maxSources_ = getMaxSources_(); - listener_ = new OpenALListener( this ); - if ( !context ){ - log_->warn( "Can not create sound context." ); - return false; + alcMakeContextCurrent( context ); + if ( checkOpenALError( "OpenALSoundManager::init::alcMakeContextCurrent" ) ) return false; + + maxSources_ = getMaxSources_(); } + listener_ = new OpenALListener( this, !haveSoundDevice_ ); + return true; } @@ -600,23 +604,25 @@ bool loop, bool stream ){ OpenALSoundSource * sound = NULL; + if ( mapSoundSources_.count( name ) ){ + log_->warn( "Sound with name: " + name + " allready registered." ); + mapSoundSources_[ name ]; + } + if ( haveSoundDevice_ ){ - if ( mapSoundSources_.count( name ) ){ - log_->warn( "Sound with name: " + name + " allready registered." ); - return NULL; - } - if ( stream ){ log_->info( "create sound stream: " + name ); sound = new OpenALOggStreamSource( this, name ); } else { sound = new OpenALSoundSource( this, name ); } + } else { + sound = new OpenALSoundSourceDummy( this, name ); + } - sound->open( fileName ); - sound->showInfos( ); - mapSoundSources_[ name ] = sound; - } + sound->open( fileName ); + sound->showInfos( ); + mapSoundSources_[ name ] = sound; return sound; } Modified: trunk/src/OpenALSoundManager.h =================================================================== --- trunk/src/OpenALSoundManager.h 2007-11-27 23:37:55 UTC (rev 872) +++ trunk/src/OpenALSoundManager.h 2007-12-02 17:25:31 UTC (rev 873) @@ -60,35 +60,33 @@ virtual void showInfos(); - virtual bool update(){ - return true; - } + virtual bool update(){ return true; } //** check if the source is playing bool isPlaying(); bool setPosition( float x, float y, float z ); - bool setPosition( const Ogre::Vector3 & pos ); + virtual bool setPosition( const Ogre::Vector3 & pos ); bool setVelocity( float x, float y, float z ); - bool setVelocity( const Ogre::Vector3 & vel); + virtual bool setVelocity( const Ogre::Vector3 & vel); bool setDirection( float x, float y, float z ); - bool setDirection( const Ogre::Vector3 & dir); + virtual bool setDirection( const Ogre::Vector3 & dir); uint * refSound( ){ return &source_; } std::string name () const { return name_; } - bool setRelative( bool rel ); + virtual bool setRelative( bool rel ); - bool setRolloff( float rolloff ); + virtual bool setRolloff( float rolloff ); - bool setGain( float gain ); + virtual bool setGain( float gain ); - bool setPitch( float pitch ); + virtual bool setPitch( float pitch ); - bool setLoop( bool loop ); + virtual bool setLoop( bool loop ); protected: @@ -104,7 +102,33 @@ int format_; int size_; float freq_; +}; +class OpenALSoundSourceDummy : public OpenALSoundSource { +public: + OpenALSoundSourceDummy( OpenALSoundManager * soundMgr, const std::string & name) + : OpenALSoundSource( soundMgr, name ){ } + virtual ~OpenALSoundSourceDummy(){ }; + + virtual bool play(){ return true; } + virtual bool stop(){ return true; } + + virtual bool release(){ return true; } + virtual bool open( const std::string & fileName ){ return true; } + virtual void showInfos(){ LogManager::getSingleton().info( "Audio info: dummy " + name_ + " installed " ); } + + virtual bool update(){ return true; } + virtual bool setPosition( const Ogre::Vector3 & pos ){ return true; } + virtual bool setVelocity( const Ogre::Vector3 & vel ){ return true; } + virtual bool setDirection( const Ogre::Vector3 & dir ){ return true; } + virtual bool setLoop( bool loop ) { return true; } + virtual bool setGain( float gain ) { return true; } + virtual bool setPitch( float pitch ) { return true; } + virtual bool setRelative( bool rel ) { return true; } + virtual bool setRolloff( float rolloff ){ return true; } + +protected: + }; //! Based on: http://www.devmaster.net/articles/openal-tutorials/lesson8.php @@ -151,7 +175,7 @@ /*! OpenALListener, there is just one. YOU! respectivly your avatar. */ class OpenALListener{ public: - OpenALListener( OpenALSoundManager * soundMgr ); + OpenALListener( OpenALSoundManager * soundMgr, bool dummy = false); ~OpenALListener(); bool setPosition( float x, float y, float z ); @@ -172,6 +196,7 @@ Ogre::Vector3 directionFront_; Ogre::Vector3 directionUp_; float orientation_[ 6 ]; + bool dummy_; }; Modified: trunk/src/Projectile.cpp =================================================================== --- trunk/src/Projectile.cpp 2007-11-27 23:37:55 UTC (rev 872) +++ trunk/src/Projectile.cpp 2007-12-02 17:25:31 UTC (rev 873) @@ -123,7 +123,7 @@ } else { trail_ = sceneMgr_->createRibbonTrail( bulletName + "_RibbonTrail"); trail_->setMaterialName( "BeamGreen" ); - trail_->setTrailLength( maxRange_ / 2.0 ); + trail_->setTrailLength( maxRange_ ); trail_->setWidthChange( 0, 2.0 ); trail_->setMaxChainElements( 1000 ); trail_->setInitialWidth( 0, 1.0 ); Modified: trunk/src/Projectile.h =================================================================== --- trunk/src/Projectile.h 2007-11-27 23:37:55 UTC (rev 872) +++ trunk/src/Projectile.h 2007-12-02 17:25:31 UTC (rev 873) @@ -56,6 +56,8 @@ Gun * gun() const { return gun_; } + virtual void destroyRequest(){} + protected: BaseObject * parent_; Modified: trunk/src/Sector.cpp =================================================================== --- trunk/src/Sector.cpp 2007-11-27 23:37:55 UTC (rev 872) +++ trunk/src/Sector.cpp 2007-12-02 17:25:31 UTC (rev 873) @@ -152,7 +152,7 @@ for ( std::map< long, SectorObjectMoveable * >::iterator it = movableObjects_.begin(); it != movableObjects_.end();){ // log_->info( "Destructing: " + it->second->name() ); - destructMoveableObject( (it++)->second ); + destructMoveableObject_( (it++)->second ); // log_->info( "done: " ); } @@ -444,25 +444,29 @@ for ( std::map< long, SectorObjectMoveable * >::iterator it = movableObjects_.begin(); it != movableObjects_.end(); ){ - if ( !it->second->update( elapsedTime ) ) { //** object died; - if ( it->second == avatar_ ) { - if ( avatarDeathSequenceTime_ == 0.0 ){ - avatarDeathSequenceTime_ = 1.0; - } else { - avatarDeathSequenceTime_ -= elapsedTime; - if ( avatarDeathSequenceTime_ < 0 ){ - avatarDeathSequenceTime_ = 0.0; - listener_->avatarDeathSequence( false ); + if ( !it->second ){ + log_->info( "update request for invalid object id: " + toStr( it->first ) ); + } else { + if ( !it->second->update( elapsedTime ) ) { //** object died; + if ( it->second == avatar_ ) { + if ( avatarDeathSequenceTime_ == 0.0 ){ + avatarDeathSequenceTime_ = 1.0; + } else { + avatarDeathSequenceTime_ -= elapsedTime; + if ( avatarDeathSequenceTime_ < 0 ){ + avatarDeathSequenceTime_ = 0.0; + listener_->avatarDeathSequence( false ); + } } + it++; + } else { //** died object is not avatar; + log_->info( "Destructing: " + it->second->name() ); + destructSectorObject_( (it++)->second ); + log_->info( "done: " ); } - it++; - } else { //** died object is not avatar; - log_->info( "Destructing: " + it->second->name() ); - destructSectorObject( (it++)->second ); - log_->info( "done: " ); - } - } else ++it; - } + } else ++it; + } + } } void Sector::avatarDied( ){ @@ -518,78 +522,87 @@ return obj; } -void Sector::destructSectorObject( SectorObject * obj ){ - selectNextTarget( obj ); - sectorObjects_.erase( obj ); +void Sector::destructSectorObject_( SectorObject * obj ){ + if ( obj ){ + selectNextTarget( obj ); + sectorObjects_.erase( obj ); - if ( obj->isOnRadar() && radar_ ){ - Ogre::Overlay * radar = Ogre::OverlayManager::getSingleton().getByName( "Radar" ); - Ogre::OverlayContainer * radarMap = radar->getChild( "Radar/Map" ); - radarMap->removeChild( obj->dotA()->getName() ); - radarMap->removeChild( obj->dotB()->getName() ); - } - - 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 ); + if ( obj->isOnRadar() && radar_ ){ + Ogre::Overlay * radar = Ogre::OverlayManager::getSingleton().getByName( "Radar" ); + Ogre::OverlayContainer * radarMap = radar->getChild( "Radar/Map" ); + radarMap->removeChild( obj->dotA()->getName() ); + radarMap->removeChild( obj->dotB()->getName() ); } + + 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( dynamic_cast< SectorObjectMoveable * >( obj ) ); + } + movableObjects_.erase( obj->globalID() ); + localAiObjects_.erase( dynamic_cast< SectorObjectMoveableAi *>(obj)->globalID() ); + delete obj; + obj = NULL; + } break; + default: + log_->fatal( "destructSectorObject: object type unknown. this should not happen: " + toStr( obj->getTypeID() ) ); + } + } else { + log_->fatal( "destructSectorObject: object is no valid: " ); } - 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( dynamic_cast< SectorObjectMoveable * >( obj ) ); - } - movableObjects_.erase( obj->globalID() ); - localAiObjects_.erase( dynamic_cast< SectorObjectMoveableAi *>(obj)->globalID() ); - delete obj; - obj = NULL; - } break; - default: - log_->fatal( "destructSectorObject: object type unknown. this should not happen: " + toStr( obj->getTypeID() ) ); - } } -void Sector::destructMoveableObject( SectorObjectMoveable * obj ){ - selectNextTarget( obj ); - sectorObjects_.erase( obj ); +void Sector::destructMoveableObject_( SectorObjectMoveable * obj ){ + if ( obj ){ + selectNextTarget( obj ); + sectorObjects_.erase( obj ); - if ( obj->isOnRadar() && radar_ ){ - Ogre::Overlay * radar = Ogre::OverlayManager::getSingleton().getByName( "Radar" ); - Ogre::OverlayContainer * radarMap = radar->getChild( "Radar/Map" ); - radarMap->removeChild( obj->dotA()->getName() ); - radarMap->removeChild( obj->dotB()->getName() ); - } - - 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 ); + if ( obj->isOnRadar() && radar_ ){ + Ogre::Overlay * radar = Ogre::OverlayManager::getSingleton().getByName( "Radar" ); + Ogre::OverlayContainer * radarMap = radar->getChild( "Radar/Map" ); + radarMap->removeChild( obj->dotA()->getName() ); + radarMap->removeChild( obj->dotB()->getName() ); } + + 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)->globalID() ); + delete obj; + obj = NULL; + } break; + default: + log_->fatal( "destructMoveableObject: object type unknown. this should not happen: " + toStr( obj->getTypeID() ) ); + } + } else { + log_->fatal( "destructMoveableObject: object is no valid: " ); } - - 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)->globalID() ); - delete obj; - obj = NULL; - } break; - default: - log_->fatal( "destructMoveableObject: object type unknown. this should not happen: " + toStr( obj->getTypeID() ) ); - } } SectorObjectMoveableAi * Sector::createAiMoveableObject( const Ogre::String & name, int userID, int childID, @@ -862,9 +875,8 @@ + movableObjects_[ createGlobalID( msg.senderID(), msg.childID() ) ]->name() ); SectorObjectMoveable *obj = movableObjects_[ createGlobalID( msg.senderID(), msg.childID() ) ]; + obj->destroyRequest(); - destructMoveableObject( obj ); - } else { log_->warn( std::string( "Deregistering request for unknown object: " ) + toStr( msg.senderID() ) + ": " + toStr( (int)msg.childID() ) ); @@ -948,11 +960,9 @@ void Sector::sendVesselAmmoHit( const Projectile & projectile, BaseObject * victim ){ if ( projectile.parent().userID() == network_->userID() ){ -// std::cout << "Send: Projectile from " << projectile.name() << " collide with: " << victim->name() -// << " " << victim->userID() << " " << victim->childID() << std::endl; - MessageBodyShipAmmoHit msg( projectile.parent().childID(), victim->userID(), victim->childID(), projectile.damage() ); network_->send( msg ); + // std::cout << " Send: " << msg << endl; victim->hitByAmmo( projectile.damage() ); } } @@ -963,19 +973,22 @@ std::map< long, SectorObjectMoveable * >::iterator it; if ( ( it = movableObjects_.find( createGlobalID( msg.targetID(), msg.targetChildID() ) ) ) != movableObjects_.end() ){ - log_->cout( "ReceiveVesselAmmoHit for " + network_->userName( msg.targetID() ) + " " + toStr( msg.damage() ) ); + // log_->cout( "ReceiveVesselAmmoHit for " + network_->userName( msg.targetID() ) + " " + toStr( msg.damage() ) ); + it->second->hitByAmmo( msg.damage() ); } else { log_->fatal( std::string( "Requested non existant object for VesselAmmoHit " ) + - " shooter: " + network_->userName( msg.senderID() ) + + " shooter: " + network_->userName( msg.senderID() ) + + " shooter id: " + toStr( msg.senderID() ) + + " gloabel id: " + toStr( createGlobalID( msg.targetID(), msg.targetChildID() ) ) + " victim: " + network_->userName( msg.targetID() ) + - " child: " + toStr( msg.targetChildID() ) + + " child: " + toStr( (int)msg.targetChildID() ) + " damage: " + toStr( msg.damage() ) + " this should not happen." ) ; -// std::cerr << "Available objects: " << std::endl; -// for ( std::map< long, SectorObjectMoveable * >::iterator i = movableObjects_.begin(); i != movableObjects_.end(); i++){ -// std::cerr << "\t" << i->first << " " << i->second->name() << " " << std::endl; -// } + std::cerr << "Available objects: " << std::endl; + for ( std::map< long, SectorObjectMoveable * >::iterator i = movableObjects_.begin(); i != movableObjects_.end(); i++){ + std::cerr << "\t" << i->first << " " << i->second->name() << " " << std::endl; + } } } } Modified: trunk/src/Sector.h =================================================================== --- trunk/src/Sector.h 2007-11-27 23:37:55 UTC (rev 872) +++ trunk/src/Sector.h 2007-12-02 17:25:31 UTC (rev 873) @@ -61,10 +61,6 @@ SectorObjectMoveableAi * createAiMoveableObject( const Ogre::String & name, int userId, int childId, Vessel & vessel ); - void destructSectorObject( SectorObject * obj ); - - void destructMoveableObject( SectorObjectMoveable * obj ); - void createAvatarObject( Avatar & avatar ); SectorObjectAvatar * avatarObject() { return avatar_; } @@ -112,6 +108,11 @@ void receiveProjectile( const MessageBodyShipProjectileFired & msg ); protected: + //** do not destruct objects manualy, let them send false during update loop + void destructSectorObject_( SectorObject * obj ); + void destructMoveableObject_( SectorObjectMoveable * obj ); + + Ogre::SceneManager * sceneMgr_; NetworkClient * network_; LogManager * log_; Modified: trunk/src/SectorObjects.cpp =================================================================== --- trunk/src/SectorObjects.cpp 2007-11-27 23:37:55 UTC (rev 872) +++ trunk/src/SectorObjects.cpp 2007-12-02 17:25:31 UTC (rev 873) @@ -27,6 +27,7 @@ #include <OgreOverlayManager.h> #include <OgreOverlayElement.h> #include <OgreEntity.h> +#include <OgreSubEntity.h> #include <OgreParticleSystem.h> #include <OgreParticleEmitter.h> #include <OgreBillboardSet.h> @@ -80,6 +81,7 @@ LogManager::getSingleton().fatal( e.getFullDescription() ); } + destroyRequest_ = false; lifeTime_ = 0.0; selectable_ = false; collObj_ = NULL; @@ -94,6 +96,7 @@ SectorObject::SectorObject( const Ogre::String & name, Sector * sector, int userID, int childID ) : BaseObject( name, sector, userID, childID ) { + destroyRequest_ = false; isOnRadar_ = false; mainNodeEntityScale_ = mainNode_->createChildSceneNode( name_ + "_baseScale" ); mainNodeEntityRot_ = mainNodeEntityScale_->createChildSceneNode( name_ + "_baseRot" ); @@ -132,6 +135,14 @@ mainNode_->removeAndDestroyChild( mainNodeEntityScale_->getName() ); } +void SectorObject::destroyRequest(){ + //** the object will finaly destroyed by the sectors update loop if this->update returns false + if ( collObj_ ) OpcodeCollisionDetection::getSingleton().destroyObject( collObj_ ); + collObj_ = NULL; + destroyRequest_ = true; + hide( ); +} + void SectorObject::setShape( const Ogre::String & meshname ){ entity_ = sceneMgr_->createEntity( name_ + "_shape", meshname ); mainNodeEntityRot_->attachObject( entity_ ); @@ -206,7 +217,6 @@ } } - setBaseRot( vessel_->baseYaw(), vessel_->basePitch(), vessel_->baseRoll() ); setBaseSize( vessel_->baseSize() ); @@ -235,6 +245,12 @@ mainNode_->attachObject( thrusterParticles_ ); } + shieldEntity_ = entity_->clone( entity_->getName() + "_shieldEntity" ); + shieldEntity_->setMaterialName("simpleshield"); + shieldEntity_->getSubEntity( 0 )->setCustomParameter( 0, Ogre::Vector4( 1.0, 0.0, 0.0, 0.4 ) ); + shieldEntityNode_ = mainNodeEntityRot_->createChildSceneNode( mainNodeEntityRot_->getName() + "_shieldEntityNode" ); + shieldEntityNode_->scale( 1.1, 1.1, 1.1); + explosion_ = NULL; armor_ = vessel_->armor(); setThrust( 0 ); @@ -242,11 +258,17 @@ } SectorObjectMoveable::~SectorObjectMoveable() { + shieldEntityNode_->detachObject( shieldEntity_ ); + mainNodeEntityRot_->removeAndDestroyChild( shieldEntityNode_->getName() ); + sceneMgr_->destroyEntity( shieldEntity_ ); + + Ogre::Entity * shieldEntity_; + Ogre::SceneNode * shieldEntityNode_; + if ( explosion_ ){ mainNode_->detachObject( explosion_ ); sceneMgr_->destroyParticleSystem( explosion_ ); } - if ( thrusterParticles_ ){ mainNode_->detachObject( thrusterParticles_ ); sceneMgr_->destroyParticleSystem( thrusterParticles_ ); @@ -270,12 +292,16 @@ delete gun; } activeGuns_.clear(); - } bool SectorObjectMoveable::update( Ogre::Real elapsedTime ){ if ( elapsedTime < 0.001 ) return true; + //** we only can destroy this object when all projectiles are and of life + if ( destroyRequest_ && projectiles_.size() == 0 ){ + return false; + } + lifeTime_ += elapsedTime; lastFrameCount_ ++; @@ -316,8 +342,10 @@ mainNode_->translate( ( vel_ + interpolateVel_ ) * elapsedTime ); //** because of the discrete jumps between to frames we have to check for collisions via ray; - Ogre::Ray rayNoNextPos( mainNode_->getPosition(), vel_.normalisedCopy() ); - OpcodeCollisionDetection::getSingleton().checkCollideRay( this, rayNoNextPos, (vel_ * elapsedTime).length() ); + if ( !destroyRequest_ ){ + Ogre::Ray rayNoNextPos( mainNode_->getPosition(), vel_.normalisedCopy() ); + OpcodeCollisionDetection::getSingleton().checkCollideRay( this, rayNoNextPos, (vel_ * elapsedTime).length() ); + } for ( std::set < Projectile * >::iterator it = projectiles_.begin(); it != projectiles_.end();){ if ( !(*it)->update( elapsedTime ) ) { @@ -326,6 +354,16 @@ } else ++it; } + if ( shieldGlowActive_ ){ + shieldGlowTime_ -= elapsedTime; + shieldEntity_->getSubEntity( 0 )->setCustomParameter( 0, Ogre::Vector4( 1.0, 0.0, 0.0, shieldGlowTime_ / 2.0 ) ); + + if ( shieldGlowTime_ < 0 ) { + shieldEntityNode_->detachObject( shieldEntity_ ); + shieldGlowActive_ = false; + } + } + // //** snap quaternion // Ogre::Quaternion rnd( mainNode_->getOrientation() ); // mainNode_->setOrientation( round( rnd.w, 5 ), round( rnd.x, 5 ), round( rnd.y, 5 ), round( rnd.z, 5 ) ); @@ -443,7 +481,15 @@ // std::cout << "SectorObjectMoveable: " << name() << " collide with " << object->getTypeID() << " " << object->name() << std::endl; if ( name_ != object->name() ){ if ( object->getTypeID( ) == PROJECTILE_RTTI ){ - // hitByProjectile( dynamic_cast< Projectile* >( object ) ); + + shieldGlowTime_ = 1.0; + + if ( !shieldGlowActive_ && shield_ > 0 ){ + shieldGlowActive_ = true; + shieldEntityNode_->attachObject( shieldEntity_ ); + } + + return; } if ( object->getTypeID( ) == STATION_RTTI ){ @@ -578,15 +624,16 @@ maxShield_ = 0; if ( vessel_->shield() ) maxShield_ = vessel_->shield()->maxDeflection(); - shield_ = maxShield_; - lastShieldSend_ = 0; + shield_ = maxShield_; + lastShieldSend_ = 0; + shieldGlowActive_ = false; + shieldGlowTime_ = 0.0; } bool SectorObjectMoveableLocal::update( Ogre::Real elapsedTime ){ - SectorObjectMoveable::update( elapsedTime ); //** object died - if ( armor_ <= 0 || deathSequence_ ) { + if ( armor_ <= 0 || deathSequence_ || !SectorObjectMoveable::update( elapsedTime ) ) { return deathSequence( elapsedTime ); } @@ -619,13 +666,17 @@ void SectorObjectMoveableLocal::hitByAmmo( Uint32 damage ){ - shield_ -= damage; + int shield = shield_ - damage; + int armor = armor_; - if ( shield_ < 0 ){ - armor_ += shield_; + if ( shield < 0 ){ + armor += shield; shield_ = 0; - armor_ = max( Uint32(0), armor_); + armor_ = max( 0, armor ); + } else { + shield_ = shield; } + statusChanged_ = true; } Modified: trunk/src/SectorObjects.h =================================================================== --- trunk/src/SectorObjects.h 2007-11-27 23:37:55 UTC (rev 872) +++ trunk/src/SectorObjects.h 2007-12-02 17:25:31 UTC (rev 873) @@ -88,6 +88,10 @@ virtual long getTypeID() const = 0; + virtual void destroyRequest() = 0; + + bool isSetDestroyRequest() const { return destroyRequest_; } + inline virtual int userID() const { return userID_; } inline virtual int childID() const { return childID_; } @@ -128,6 +132,7 @@ Ogre::SceneManager * sceneMgr_; OgreOpcode::CollisionObject * collObj_; Ogre::Real lifeTime_; + bool destroyRequest_; }; class SectorObject : public BaseObject { @@ -138,8 +143,10 @@ inline virtual long getTypeID() const { return SECTOROBJECT_RTTI; } + virtual void destroyRequest(); + virtual void collide( BaseObject * object ){ - std::cout << "SectorObject " << name_ << " collide with " << object->getTypeID() << " " << object->name()<< std::endl; + // std::cout << "SectorObject " << name_ << " collide with " << object->getTypeID() << " " << object->name()<< std::endl; } virtual bool update( Ogre::Real elapsedTime ){ return true; } @@ -168,11 +175,14 @@ virtual void selectedBy( SectorObject * obj ){ selector_ = obj; } + virtual void setVisible( bool visible ){ mainNode_->setVisible( false ); } + void show( ){ setVisible( true ); } + void hide( ){ setVisible( false ); } + protected: Ogre::SceneNode * mainNodeEntityScale_; // Main character node for base size Ogre::SceneNode * mainNodeEntityRot_; // Main character node for base rotation - Ogre::SceneNode * mainEntityNode_; // Main character node which hold the entity Ogre::Entity * entity_; Ogre::OverlayElement * dotA_; @@ -183,6 +193,7 @@ Ogre::Vector3 baseScale_; SectorObject * selector_; + }; /*! Base class for movable objects, instances are only used for foreign player objects. */ @@ -326,6 +337,11 @@ Ogre::ParticleSystem * explosion_; Ogre::BillboardSet * thrusterBbs_; + Ogre::Entity * shieldEntity_; + Ogre::SceneNode * shieldEntityNode_; + Ogre::Real shieldGlowTime_; + bool shieldGlowActive_; + Uint32 mass_; Uint32 thrust_; Uint32 maxThrust_; Modified: trunk/src/Station.h =================================================================== --- trunk/src/Station.h 2007-11-27 23:37:55 UTC (rev 872) +++ trunk/src/Station.h 2007-12-02 17:25:31 UTC (rev 873) @@ -65,6 +65,8 @@ Ogre::Real radius() const { return radius_; } + void destroyRequest() { } + protected: Ogre::ManualObject * dockPadManualObject_; Ogre::Entity * dockPadEntity_; Modified: trunk/src/common.cpp =================================================================== --- trunk/src/common.cpp 2007-11-27 23:37:55 UTC (rev 872) +++ trunk/src/common.cpp 2007-12-02 17:25:31 UTC (rev 873) @@ -20,8 +20,6 @@ #include "common.h" -long createGlobalID( int userId, int childId ) { return childId * MAXUSERID + userId; } - void myMSleep( int s ) { #ifdef WIN32 Sleep( s ); Modified: trunk/src/common.h =================================================================== --- trunk/src/common.h 2007-11-27 23:37:55 UTC (rev 872) +++ trunk/src/common.h 2007-12-02 17:25:31 UTC (rev 873) @@ -46,9 +46,9 @@ #include <algorithm> #include <sys/timeb.h> -typedef unsigned char Uint8; -typedef unsigned short Uint16; -typedef int Uint32; +typedef uint8_t Uint8; +typedef uint16_t Uint16; +typedef uint32_t Uint32; #ifdef WIN32 #define PATHSEPARATOR "\\" @@ -66,7 +66,7 @@ // typedef void (T::*Type)( const std::vector< std::string > &); // }; -long createGlobalID( int userId, int childId ); +inline Uint32 createGlobalID( Uint32 userId, Uint8 childId ) { return childId * MAXUSERID + userId; } //! In-place convert string to lower case \return ref to transformed string inline void strToLower( std::string & str ) { std::transform(str.begin(), str.end(), str.begin(), tolower ); } @@ -169,12 +169,27 @@ } /*! + * \brief Quick and dirty check if a file exist. + * + */ +inline bool fileExist( const std::string & filename ){ + bool result = false; + std::ifstream file; file.open( filename.c_str() ); + if ( file ) { + result = true; + file.close(); + } + return result; +} + +/*! * \brief This method is used as a cross plattform sleep method. * * You pass an amount of seconds to this function that you want the program or * a single thread to sleep. * \param s The amount of seconds to sleep */ + void myMSleep( int s ); class Stopwatch { Modified: trunk/src/metaserver.cpp =================================================================== --- trunk/src/metaserver.cpp 2007-11-27 23:37:55 UTC (rev 872) +++ trunk/src/metaserver.cpp 2007-12-02 17:25:31 UTC (rev 873) @@ -29,7 +29,7 @@ namespace OpenGate{ - MetaConnection::MetaConnection( asio::io_service & io_service, LogManagerBase & log ) : +MetaConnection::MetaConnection( asio::io_service & io_service, LogManagerBase & log ) : io_service_( io_service ), socket_( io_service ), resolver_( io_service ), log_( &log ) { isConnected_ = true; @@ -99,9 +99,9 @@ } else { log_->fatal( std::string( "meta server login: we got no response " ) ); } - } catch ( asio::error & e) { - log_->fatal( std::string( "meta server login: asio::error: " ) + e.what() ); - return -5; +// } catch ( asio::error & e) { +// log_->fatal( std::string( "meta server login: asio::error: " ) + e.what() ); +// return -5; } catch ( std::exception & e) { log_->fatal( std::string( "meta server login: std::exception: " ) + e.what() ); return -5; @@ -114,7 +114,7 @@ return META_NOT_CONNECTED; } -int MetaConnection::check_version( int user_id ) { +int MetaConnection::check_version( Uint32 user_id ) { if ( isConnected_ ) { try { @@ -149,9 +149,9 @@ } else { log_->fatal( std::string( "meta server check_version: we got no response " ) ); } - } catch ( asio::error & e) { - log_->fatal( std::string( "meta server check_version: asio::error: " ) + e.what() ); - return -5; +// } catch ( asio::error & e) { +// log_->fatal( std::string( "meta server check_version: asio::error: " ) + e.what() ); +// return -5; } catch ( std::exception & e) { log_->fatal( std::string( "meta server check_version: std::exception: " ) + e.what() ); return -5; @@ -164,7 +164,7 @@ return META_NOT_CONNECTED; } -int MetaConnection::logout( int user_id ) { +int MetaConnection::logout( Uint32 user_id ) { if ( isConnected_ ) { try { @@ -200,9 +200,9 @@ } else { log_->fatal( std::string( "meta server logout: we got no response " ) ); } - } catch ( asio::error & e) { - log_->fatal( std::string( "meta server logout: asio::error: " ) + e.what() ); - return -5; +// } catch ( asio::error & e) { +// log_->fatal( std::string( "meta server logout: asio::error: " ) + e.what() ); +// return -5; } catch ( std::exception & e) { log_->fatal( std::string( "meta server logout: std::exception: " ) + e.what() ); return -5; @@ -260,9 +260,9 @@ } else { log_->fatal( std::string( "meta server add game server: we got no response " ) ); } - } catch ( asio::error & e) { - log_->fatal( std::string( "meta server add game server: asio::error: " ) + e.what() ); - return -5; +// } catch ( asio::error & e) { +// log_->fatal( std::string( "meta server add game server: asio::error: " ) + e.what() ); +// return -5; } catch ( std::exception & e) { log_->fatal( std::string( "meta server add game server: std::exception: " ) + e.what() ); return -5; @@ -315,9 +315,9 @@ } else { log_->fatal( std::string( "meta server list game server: we got no response " ) ); } - } catch ( asio::error & e) { - log_->fatal( std::string( "meta server list game server: asio::error: " ) + e.what() ); - return mylist; +// } catch ( asio::error & e) { +// log_->fatal( std::string( "meta server list game server: asio::error: " ) + e.what() ); +// return mylist; } catch ( std::exception & e) { log_->fatal( std::string( "meta server list game server: std::exception: " ) + e.what() ); return mylist; @@ -363,9 +363,9 @@ log_->fatal( std::string( "meta server remove game server: we got no response " ) ); } - } catch ( asio::error & e) { - log_->fatal( std::string( "meta server remove game server: asio::error: " ) + e.what() ); - return -5; +// } catch ( asio::error & e) { +// log_->fatal( std::string( "meta server remove game server: asio::error: " ) + e.what() ); +// return -5; } catch ( std::exception & e) { log_->fatal( std::string( "meta server remove game server: std::exception: " ) + e.what() ); return -5; @@ -381,7 +381,7 @@ // Form the request. We specify the "Connection: close" header so that the // server will close the socket after transmitting the response. This will // allow us to treat all data up until the EOF as the content. - asio::error error = asio::error::host_not_found; + asio::error_code error = asio::error::host_not_found; try{ tcp::resolver::query query( hostname_, "http" ); tcp::resolver::iterator endpoint_iterator = resolver_.resolve( query ); @@ -389,11 +389,11 @@ while ( error && endpoint_iterator != end ) { socket_.close(); - socket_.connect( *endpoint_iterator++, asio::assign_error( error ) ); + socket_.connect( *endpoint_iterator++, error ); } - } catch ( asio::error & e) { - log_->fatal( std::string( "resolving meta server: asio::error: " ) + e.what() ); - isConnected_ = false; +// } catch ( asio::error & e) { +// log_->fatal( std::string( "resolving meta server: asio::error: " ) + e.what() ); +// isConnected_ = false; } catch ( std::exception & e) { log_->fatal( std::string( "resolving meta server: std::exception: " ) + e.what() ); isConnected_ = false; @@ -422,6 +422,7 @@ unsigned int status_code; response_stream >> status_code; std::string status_message; + std::getline(response_stream, status_message); if ( !response_stream || http_version.substr(0, 5) != "HTTP/" ) { log_->fatal( "Metaserver: invalid response" ); @@ -444,11 +445,13 @@ error = asio::error::eof; // Read until EOF, writing data to output as we go. // std::cout << "response: " <<std::endl; - while ( asio::read( socket_, response, asio::transfer_at_least( 1 ), asio::assign_error( error ) ) ){ + while ( asio::read( socket_, response, asio::transfer_at_least( 1 ), error ) ){ // std::cout << &response << std::endl; } if ( error != asio::error::eof ) throw error; + + socket_.close(); return 1; } Modified: trunk/src/metaserver.h =================================================================== --- trunk/src/metaserver.h 2007-11-27 23:37:55 UTC (rev 872) +++ trunk/src/metaserver.h 2007-12-02 17:25:31 UTC (rev 873) @@ -22,6 +22,7 @@ #define _OPENGATE_METASERVER__H #include <asio.hpp> +#include "common.h" using asio::ip::tcp; @@ -37,8 +38,8 @@ ~MetaConnection(); int login( const std::string & userName, const std::string & passwd = "" ); - int check_version( int user_id ); - int logout( int user_id ); + int check_version( Uint32 user_id ); + int logout( Uint32 user_id ); //** register the current ip to the metaserver, you can specify a symbolic name int add_game_server( const std::string & servername = ""); Modified: trunk/src/networkClient.cpp =================================================================== --- trunk/src/networkClient.cpp 2007-11-27 23:37:55 UTC (rev 872) +++ trunk/src/networkClient.cpp 2007-12-02 17:25:31 UTC (rev 873) @@ -37,7 +37,7 @@ log_->info( std::string( "Connecting to " ) + hostname_ + ":" + toStr( (int)OG_PORT ) ); - asio::error error = asio::error::host_not_found; + asio::error_code error = asio::error::host_not_found; try{ tcp::resolver::query query( hostname_, toStr( (int)OG_PORT) ); tcp::resolver::iterator endpoint_iterator = resolver_.resolve( query ); @@ -45,22 +45,22 @@ while ( error && endpoint_iterator != end ) { socket_.close(); - socket_.connect( *endpoint_iterator++, asio::assign_error( error ) ); + socket_.connect( *endpoint_iterator++, error ); } - } catch ( asio::error & e) { - log_->fatal( e.what() ); + if ( error ) throw asio::system_error( error ); } catch ( std::exception & e) { - log_->fatal( std::string( "Exception: " ) + e.what() ); + log_->fatal( std::string( "std::exception: " ) + e.what() ); } catch (...) { log_->fatal( "Unkown exception occured while resolving the server" ); } if ( !error ){ log_->info( "Connected: waiting for userID. " ); online_ = true; - asio::async_read( socket_, asio::buffer( readMsg_.data(), Message::HeaderLength+MessageBodyUserID( Uint32(0) ).dataSize() ), + asio::async_read( socket_, + asio::buffer( readMsg_.data(), Message::HeaderLength + MessageBodyUserID( Uint32(0) ).dataSize() ), boost::bind( & NetworkClient::handleReceiveUserID, this, asio::placeholders::error ) ); } else { - log_->fatal( error.what() ); + log_->fatal( "NetworkClient: asio error" + toStr( error ) ); } } @@ -92,7 +92,7 @@ } } -std::string NetworkClient::userName( int userID ) { +std::string NetworkClient::userName( Uint32 userID ) { if ( userID == 0 ) return userName_; if ( users_.count( userID ) ){ @@ -103,9 +103,9 @@ } } -void NetworkClient::handleReceiveUserID( const asio::error & error ) { +void NetworkClient::handleReceiveUserID( const asio::error_code & error ) { if ( online_ ){ - // std::cout << "handleReceiveUserID " << std::endl; + std::cout << "handleReceiveUserID " << std::endl; if ( !error && readMsg_.decodeHeader() ) { @@ -118,38 +118,38 @@ default: 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( Uint32(0) ).dataSize() ), - boost::bind( & NetworkClient::handleReceiveUserID, this, - asio::placeholders::error ) ); + asio::async_read( socket_, + asio::buffer( readMsg_.data(), Message::HeaderLength+MessageBodyUserID( Uint32(0) ).dataSize() ), + boost::bind( & NetworkClient::handleReceiveUserID, this, asio::placeholders::error ) ); } - asio::async_read(socket_, asio::buffer( readMsg_.data(), Message::HeaderLength ), - boost::bind( & NetworkClient::handleReadMessageHeader, this, - as... [truncated message content] |
From: <ult...@us...> - 2007-11-27 23:37:52
|
Revision: 872 http://opengate.svn.sourceforge.net/opengate/?rev=872&view=rev Author: ultrasick Date: 2007-11-27 15:37:55 -0800 (Tue, 27 Nov 2007) Log Message: ----------- adding commodity: electronics Added Paths: ----------- templates/commodities/electronics.blend trunk/data/commodities/electronics.xml trunk/data/commodities/electronics_big.png trunk/data/commodities/electronics_small.png Added: templates/commodities/electronics.blend =================================================================== (Binary files differ) Property changes on: templates/commodities/electronics.blend ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/data/commodities/electronics.xml =================================================================== (Binary files differ) Property changes on: trunk/data/commodities/electronics.xml ___________________________________________________________________ Name: svn:mime-type + application/xml Name: svn:eol-style + native Added: trunk/data/commodities/electronics_big.png =================================================================== (Binary files differ) Property changes on: trunk/data/commodities/electronics_big.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/data/commodities/electronics_small.png =================================================================== (Binary files differ) Property changes on: trunk/data/commodities/electronics_small.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-11-26 21:04:28
|
Revision: 871 http://opengate.svn.sourceforge.net/opengate/?rev=871&view=rev Author: ultrasick Date: 2007-11-26 13:04:31 -0800 (Mon, 26 Nov 2007) Log Message: ----------- added a few more faces Modified Paths: -------------- templates/ships/tauseti/lady_kickstart/lady_kickstart1.blend Modified: templates/ships/tauseti/lady_kickstart/lady_kickstart1.blend =================================================================== (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-11-25 22:17:04
|
Revision: 870 http://opengate.svn.sourceforge.net/opengate/?rev=870&view=rev Author: ultrasick Date: 2007-11-25 14:17:09 -0800 (Sun, 25 Nov 2007) Log Message: ----------- adding new model with proper UV mapping. The ship isn't fully texturized jet but I did enough texturization for today. Added Paths: ----------- templates/ships/tauseti/lady_kickstart/lady_kickstart1.blend templates/ships/tauseti/lady_kickstart/texture_map.pspimage trunk/data/ships/tauseti/lady_kickstart/texture_map.png Added: templates/ships/tauseti/lady_kickstart/lady_kickstart1.blend =================================================================== (Binary files differ) Property changes on: templates/ships/tauseti/lady_kickstart/lady_kickstart1.blend ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: templates/ships/tauseti/lady_kickstart/texture_map.pspimage =================================================================== (Binary files differ) Property changes on: templates/ships/tauseti/lady_kickstart/texture_map.pspimage ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/data/ships/tauseti/lady_kickstart/texture_map.png =================================================================== (Binary files differ) Property changes on: trunk/data/ships/tauseti/lady_kickstart/texture_map.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: <eg...@us...> - 2007-11-25 18:40:55
|
Revision: 869 http://opengate.svn.sourceforge.net/opengate/?rev=869&view=rev Author: egore Date: 2007-11-25 10:40:54 -0800 (Sun, 25 Nov 2007) Log Message: ----------- Add empty UV Texture Modified Paths: -------------- templates/ships/quantar/thunder/thunder.blend Added Paths: ----------- templates/ships/quantar/thunder/thunder_Thunder.png templates/ships/quantar/thunder/thunder_Thunder.svg Modified: templates/ships/quantar/thunder/thunder.blend =================================================================== (Binary files differ) Added: templates/ships/quantar/thunder/thunder_Thunder.png =================================================================== (Binary files differ) Property changes on: templates/ships/quantar/thunder/thunder_Thunder.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: templates/ships/quantar/thunder/thunder_Thunder.svg =================================================================== --- templates/ships/quantar/thunder/thunder_Thunder.svg (rev 0) +++ templates/ships/quantar/thunder/thunder_Thunder.svg 2007-11-25 18:40:54 UTC (rev 869) @@ -0,0 +1,388 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="1024px" + height="1024px" + viewBox="0 0 1024 1024" + version="1.1" + id="svg2" + sodipodi:version="0.32" + inkscape:version="0.45.1" + sodipodi:docname="thunder_Thunder.svg" + inkscape:output_extension="org.inkscape.output.svg.inkscape" + sodipodi:docbase="C:\Dokumente und Einstellungen\cbrill\Eigene Dateien\opengate\templates\ships\quantar\thunder" + inkscape:export-filename="C:\Dokumente und Einstellungen\cbrill\Eigene Dateien\opengate\templates\ships\quantar\thunder\thunder_Thunder.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <metadata + id="metadata163"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <defs + id="defs161"> + <linearGradient + id="linearGradient2179"> + <stop + style="stop-color:#7b7b7b;stop-opacity:1;" + offset="0" + id="stop2181" /> + <stop + style="stop-color:#bcbcbc;stop-opacity:1;" + offset="1" + id="stop2183" /> + </linearGradient> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2179" + id="linearGradient12441" + x1="334.16266" + y1="781.14111" + x2="1509.3583" + y2="759.41168" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-172.32043,-414.45679)" /> + </defs> + <sodipodi:namedview + inkscape:window-height="994" + inkscape:window-width="1680" + inkscape:pageshadow="2" + inkscape:pageopacity="0.0" + guidetolerance="10.0" + gridtolerance="10.0" + objecttolerance="10.0" + borderopacity="1.0" + bordercolor="#666666" + pagecolor="#ffffff" + id="base" + inkscape:zoom="0.36816406" + inkscape:cx="1878.1582" + inkscape:cy="189.22677" + inkscape:window-x="-4" + inkscape:window-y="-4" + inkscape:current-layer="svg2" /> + <desc + id="desc4">UV-Map from Object: Thunder. Exported from Blender3D with UV Exportscript</desc> + <rect + x="0" + y="0" + width="1024" + height="1024" + fill="none" + stroke="blue" + stroke-width="1px" + id="rect6" /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon10" + points="414.548,458.544 259.971,640.584 250.112,726.126 414.548,458.544 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon12" + points="250.112,726.126 468.698,506.927 414.548,458.544 250.112,726.126 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon14" + points="447.915,403.577 414.548,458.544 468.698,506.927 447.915,403.577 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon16" + points="468.698,506.927 508.814,444.808 447.915,403.577 468.698,506.927 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon18" + points="538.837,305.734 447.915,403.577 508.814,444.808 538.837,305.734 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon20" + points="508.814,444.808 634.525,261.997 538.837,305.734 508.814,444.808 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon22" + points="259.971,640.584 152.182,630.167 125.016,761.877 259.971,640.584 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon24" + points="125.016,761.877 250.112,726.126 259.971,640.584 125.016,761.877 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon26" + points="299.854,375.285 414.548,458.544 447.915,403.577 299.854,375.285 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon28" + points="447.915,403.577 345.107,318.739 299.854,375.285 447.915,403.577 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon30" + points="131.262,454.864 152.182,630.167 259.971,640.584 131.262,454.864 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon32" + points="259.971,640.584 212.086,458.21 131.262,454.864 259.971,640.584 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon34" + points="403.563,286.776 538.837,305.734 508.092,234.109 403.563,286.776 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon36" + points="508.092,234.109 372.985,209.645 403.563,286.776 508.092,234.109 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon38" + points="291.508,223.833 403.563,286.776 372.985,209.645 291.508,223.833 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon40" + points="653.141,157.248 584.252,203.374 634.525,261.997 653.141,157.248 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon42" + points="634.525,261.997 689.39,204.251 653.141,157.248 634.525,261.997 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon44" + points="775.449,23.644 736.239,51.574 763.337,88.731 775.449,23.644 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon46" + points="763.337,88.731 781.404,37.235 775.449,23.644 763.337,88.731 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon48" + points="714.471,223.165 689.39,204.251 634.525,261.997 663.595,282.07 714.471,223.165 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon50" + points="663.595,282.07 634.525,261.997 508.814,444.808 539.42,465.045 663.595,282.07 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon52" + points="539.42,465.045 508.814,444.808 468.698,506.927 497.052,531.155 539.42,465.045 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon54" + points="497.052,531.155 468.698,506.927 250.112,726.126 278.064,754.804 497.052,531.155 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon56" + points="278.064,754.804 250.112,726.126 84.035,937.48 95.737,951.413 278.064,754.804 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon58" + points="95.737,951.413 84.035,937.48 28.623,951.417 40.071,980.468 95.737,951.413 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon60" + points="791.859,143.524 764.702,135.74 714.455,196.394 729.925,208.357 791.859,143.524 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon62" + points="729.925,208.357 714.455,196.394 689.39,204.251 714.471,223.165 729.925,208.357 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon64" + points="794.729,96.2 763.337,88.731 755.563,108.438 789.897,115.046 794.729,96.2 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon66" + points="789.897,115.046 755.563,108.438 764.702,135.74 791.859,143.524 789.897,115.046 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon68" + points="797.91,57.829 788.363,58.323 782.383,76.381 797.606,78.421 797.91,57.829 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon70" + points="797.606,78.421 782.383,76.381 763.337,88.731 794.729,96.2 797.606,78.421 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon72" + points="794.183,15.658 775.449,23.644 781.404,37.235 796.421,34.029 794.183,15.658 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon74" + points="788.363,58.323 797.91,57.829 796.421,34.029 781.404,37.235 788.363,58.323 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon76" + points="942.359,114.228 969.618,138.396 982.836,95.099 969.669,83.425 942.359,114.228 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon78" + points="915.413,144.621 950.304,175.556 969.618,138.396 942.359,114.228 915.413,144.621 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon80" + points="851.208,217.04 884.573,246.621 950.304,175.556 915.413,144.621 851.208,217.04 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon82" + points="794.962,280.48 848.348,327.81 884.573,246.621 851.208,217.04 794.962,280.48 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon84" + points="636.219,459.449 664.738,484.785 848.348,327.81 794.962,280.48 636.219,459.449 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon86" + points="559.552,545.668 588.022,570.951 664.738,484.785 636.219,459.449 559.552,545.668 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon88" + points="167.819,977.134 186.173,993.974 327.358,865.02 298.867,839.769 167.819,977.134 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon90" + points="84.035,937.48 250.112,726.126 125.016,761.877 28.623,951.417 84.035,937.48 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon92" + points="714.455,196.394 764.702,135.74 755.563,108.438 689.39,204.251 714.455,196.394 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon94" + points="788.363,58.323 781.404,37.235 763.337,88.731 782.383,76.381 788.363,58.323 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon96" + points="763.337,88.731 736.239,51.574 708.913,86.439 755.563,108.438 763.337,88.731 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon98" + points="689.39,204.251 755.563,108.438 708.913,86.439 653.141,157.248 689.39,204.251 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon100" + points="634.525,261.997 584.252,203.374 508.092,234.109 538.837,305.734 634.525,261.997 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon102" + points="259.971,640.584 414.548,458.544 299.854,375.285 212.086,458.21 259.971,640.584 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon104" + points="447.915,403.577 403.563,286.776 345.107,318.739 447.915,403.577 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon106" + points="538.837,305.734 403.563,286.776 447.915,403.577 538.837,305.734 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon108" + points="345.107,318.739 293.699,335.177 276.053,353.748 299.854,375.285 345.107,318.739 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon110" + points="299.854,375.285 276.053,353.748 198.94,425.249 212.086,458.21 299.854,375.285 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon112" + points="345.107,318.739 254.159,243.37 248.485,312.242 293.699,335.177 345.107,318.739 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon114" + points="293.699,335.177 248.485,312.242 276.053,353.748 293.699,335.177 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon116" + points="276.053,353.748 248.485,312.242 171.61,396.291 198.94,425.249 276.053,353.748 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon118" + points="403.563,286.776 291.508,223.833 254.159,243.37 345.107,318.739 403.563,286.776 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon120" + points="664.738,484.785 722.988,536.954 832.364,414.858 848.348,327.81 664.738,484.785 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon122" + points="664.738,484.785 588.022,570.951 646.278,622.729 722.988,536.954 664.738,484.785 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon124" + points="327.358,865.02 405.337,777.041 376.846,751.787 298.867,839.769 327.358,865.02 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon126" + points="405.337,777.041 588.022,570.951 559.552,545.668 376.846,751.787 405.337,777.041 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon128" + points="405.337,777.041 327.358,865.02 463.111,828.989 405.337,777.041 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon130" + points="588.022,570.951 405.337,777.041 463.111,828.989 646.278,622.729 588.022,570.951 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon132" + points="722.988,536.954 810.428,629.59 875.921,556.771 832.364,414.858 722.988,536.954 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon134" + points="722.988,536.954 646.278,622.729 746.548,698.651 810.428,629.59 722.988,536.954 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon136" + points="646.278,622.729 463.111,828.989 645.706,814.805 746.548,698.651 646.278,622.729 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon138" + points="254.159,243.37 217.07,273.073 248.485,312.242 254.159,243.37 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon140" + points="788.495,714.104 692.886,826.496 750.421,845.852 840.256,741.041 788.495,714.104 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon142" + points="130.18,364.932 171.61,396.291 248.485,312.242 217.07,273.073 130.18,364.932 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon144" + points="788.495,714.104 840.256,741.041 871.42,697.198 826.777,670.889 788.495,714.104 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon146" + points="826.777,670.889 871.42,697.198 868.082,647.775 826.777,670.889 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon148" + points="810.428,629.59 826.777,670.889 868.082,647.775 810.428,629.59 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon150" + points="875.921,556.771 810.428,629.59 868.082,647.775 875.921,556.771 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon152" + points="810.428,629.59 746.548,698.651 788.495,714.104 826.777,670.889 810.428,629.59 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon154" + points="746.548,698.651 645.706,814.805 692.886,826.496 788.495,714.104 746.548,698.651 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon156" + points="131.262,454.864 212.086,458.21 198.94,425.249 171.61,396.291 131.262,454.864 " /> + <polygon + style="fill:#f2daf2;stroke:#000000;stroke-width:1px" + id="polygon158" + points="131.262,454.864 171.61,396.291 130.18,364.932 97.948,417.944 131.262,454.864 " /> +</svg> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <eg...@us...> - 2007-11-25 17:15:19
|
Revision: 868 http://opengate.svn.sourceforge.net/opengate/?rev=868&view=rev Author: egore Date: 2007-11-25 09:15:16 -0800 (Sun, 25 Nov 2007) Log Message: ----------- Import Thunder from Wings and Finish; Drop old Thunder created in Wings Added Paths: ----------- templates/ships/quantar/thunder/thunder.blend Removed Paths: ------------- templates/ships/quantar/thunder/thunder.wings Added: templates/ships/quantar/thunder/thunder.blend =================================================================== (Binary files differ) Property changes on: templates/ships/quantar/thunder/thunder.blend ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Deleted: templates/ships/quantar/thunder/thunder.wings =================================================================== (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-11-25 14:40:36
|
Revision: 867 http://opengate.svn.sourceforge.net/opengate/?rev=867&view=rev Author: ultrasick Date: 2007-11-25 06:40:40 -0800 (Sun, 25 Nov 2007) Log Message: ----------- adding license information, song is under creative commons Added Paths: ----------- doc/data/sounds/sectors/neutral/ doc/data/sounds/sectors/neutral/belief_systems_-_electro_kinetic_-_license_information.odt doc/data/sounds/sectors/neutral/belief_systems_-_electro_kinetic_-_license_information.pdf Added: doc/data/sounds/sectors/neutral/belief_systems_-_electro_kinetic_-_license_information.odt =================================================================== (Binary files differ) Property changes on: doc/data/sounds/sectors/neutral/belief_systems_-_electro_kinetic_-_license_information.odt ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: doc/data/sounds/sectors/neutral/belief_systems_-_electro_kinetic_-_license_information.pdf =================================================================== (Binary files differ) Property changes on: doc/data/sounds/sectors/neutral/belief_systems_-_electro_kinetic_-_license_information.pdf ___________________________________________________________________ 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-11-25 14:38:05
|
Revision: 866 http://opengate.svn.sourceforge.net/opengate/?rev=866&view=rev Author: ultrasick Date: 2007-11-25 06:38:07 -0800 (Sun, 25 Nov 2007) Log Message: ----------- adding background music for neutral/unregulated space. It's a bit like the jumpgate song for unregulated space. Just noise but no melody ;-) The mp3 file is the source file again. The ogg is because the client doesn't support mp3 files at the moment. Added Paths: ----------- trunk/data/sounds/sectors/neutral/ trunk/data/sounds/sectors/neutral/belief_systems_-_electro_kinetic.mp3 trunk/data/sounds/sectors/neutral/belief_systems_-_electro_kinetic.ogg trunk/data/sounds/sectors/neutral/belief_systems_-_electro_kinetic.xml trunk/data/sounds/sectors/neutral/belief_systems_-_electro_kinetic_-_license_information.txt Added: trunk/data/sounds/sectors/neutral/belief_systems_-_electro_kinetic.mp3 =================================================================== (Binary files differ) Property changes on: trunk/data/sounds/sectors/neutral/belief_systems_-_electro_kinetic.mp3 ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/data/sounds/sectors/neutral/belief_systems_-_electro_kinetic.ogg =================================================================== (Binary files differ) Property changes on: trunk/data/sounds/sectors/neutral/belief_systems_-_electro_kinetic.ogg ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/data/sounds/sectors/neutral/belief_systems_-_electro_kinetic.xml =================================================================== (Binary files differ) Property changes on: trunk/data/sounds/sectors/neutral/belief_systems_-_electro_kinetic.xml ___________________________________________________________________ Name: svn:mime-type + application/xml Name: svn:eol-style + native Added: trunk/data/sounds/sectors/neutral/belief_systems_-_electro_kinetic_-_license_information.txt =================================================================== --- trunk/data/sounds/sectors/neutral/belief_systems_-_electro_kinetic_-_license_information.txt (rev 0) +++ trunk/data/sounds/sectors/neutral/belief_systems_-_electro_kinetic_-_license_information.txt 2007-11-25 14:38:07 UTC (rev 866) @@ -0,0 +1 @@ +see [SVN]/doc/data/sounds/sectors/neutral/belief_systems_-_electro_kinetic.pdf \ No newline at end of file Property changes on: trunk/data/sounds/sectors/neutral/belief_systems_-_electro_kinetic_-_license_information.txt ___________________________________________________________________ Name: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ult...@us...> - 2007-11-25 14:01:17
|
Revision: 865 http://opengate.svn.sourceforge.net/opengate/?rev=865&view=rev Author: ultrasick Date: 2007-11-25 06:01:21 -0800 (Sun, 25 Nov 2007) Log Message: ----------- uploading the blender file of the commodity "power converters" Added Paths: ----------- templates/commodities/power_converters.blend Added: templates/commodities/power_converters.blend =================================================================== (Binary files differ) Property changes on: templates/commodities/power_converters.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-11-25 00:34:54
|
Revision: 864 http://opengate.svn.sourceforge.net/opengate/?rev=864&view=rev Author: spom_spom Date: 2007-11-24 16:34:59 -0800 (Sat, 24 Nov 2007) Log Message: ----------- romve unused dll Modified Paths: -------------- trunk/win32/ogsectorclient/Plugins.cfg Removed Paths: ------------- trunk/win32/ogsectorclient/Plugin_BSPSceneManager.dll trunk/win32/ogsectorclient/Plugin_OctreeSceneManager.dll Deleted: trunk/win32/ogsectorclient/Plugin_BSPSceneManager.dll =================================================================== (Binary files differ) Deleted: trunk/win32/ogsectorclient/Plugin_OctreeSceneManager.dll =================================================================== (Binary files differ) Modified: trunk/win32/ogsectorclient/Plugins.cfg =================================================================== --- trunk/win32/ogsectorclient/Plugins.cfg 2007-11-24 23:06:49 UTC (rev 863) +++ trunk/win32/ogsectorclient/Plugins.cfg 2007-11-25 00:34:59 UTC (rev 864) @@ -7,8 +7,6 @@ Plugin=RenderSystem_Direct3D9 Plugin=RenderSystem_GL Plugin=Plugin_ParticleFX -Plugin=Plugin_BSPSceneManager -Plugin=Plugin_OctreeSceneManager Plugin=Plugin_CgProgramManager This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <spo...@us...> - 2007-11-24 23:06:47
|
Revision: 863 http://opengate.svn.sourceforge.net/opengate/?rev=863&view=rev Author: spom_spom Date: 2007-11-24 15:06:49 -0800 (Sat, 24 Nov 2007) Log Message: ----------- win compatibility commit Modified Paths: -------------- trunk/win32/ogsectorclient/ogsectorclient.exe Modified: trunk/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: <ult...@us...> - 2007-11-24 22:30:48
|
Revision: 862 http://opengate.svn.sourceforge.net/opengate/?rev=862&view=rev Author: ultrasick Date: 2007-11-24 14:30:53 -0800 (Sat, 24 Nov 2007) Log Message: ----------- adding commodity: power converters Added Paths: ----------- trunk/data/commodities/power_converters.xml trunk/data/commodities/power_converters_big.png trunk/data/commodities/power_converters_small.png Added: trunk/data/commodities/power_converters.xml =================================================================== (Binary files differ) Property changes on: trunk/data/commodities/power_converters.xml ___________________________________________________________________ Name: svn:mime-type + application/xml Name: svn:eol-style + native Added: trunk/data/commodities/power_converters_big.png =================================================================== (Binary files differ) Property changes on: trunk/data/commodities/power_converters_big.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/data/commodities/power_converters_small.png =================================================================== (Binary files differ) Property changes on: trunk/data/commodities/power_converters_small.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-11-24 21:43:04
|
Revision: 861 http://opengate.svn.sourceforge.net/opengate/?rev=861&view=rev Author: ultrasick Date: 2007-11-24 13:43:08 -0800 (Sat, 24 Nov 2007) Log Message: ----------- forgot to commit the class id changes in the xml files Modified Paths: -------------- trunk/data/commodities/cpus.xml trunk/data/commodities/ram.xml Modified: trunk/data/commodities/cpus.xml =================================================================== (Binary files differ) Modified: trunk/data/commodities/ram.xml =================================================================== (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-11-24 21:32:19
|
Revision: 860 http://opengate.svn.sourceforge.net/opengate/?rev=860&view=rev Author: ultrasick Date: 2007-11-24 13:28:47 -0800 (Sat, 24 Nov 2007) Log Message: ----------- deleted the class "computing equipment". RAM and CPUs are moved to the class "components" now. There are no more objects in the old class "computing equipment" Modified Paths: -------------- trunk/data/misc/ids.xml Modified: trunk/data/misc/ids.xml =================================================================== (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-11-24 11:42:04
|
Revision: 859 http://opengate.svn.sourceforge.net/opengate/?rev=859&view=rev Author: ultrasick Date: 2007-11-24 03:42:07 -0800 (Sat, 24 Nov 2007) Log Message: ----------- removed a useless texture of the type "none" Modified Paths: -------------- templates/commodities/aluminium.blend Modified: templates/commodities/aluminium.blend =================================================================== (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-11-22 22:35:19
|
Revision: 858 http://opengate.svn.sourceforge.net/opengate/?rev=858&view=rev Author: spom_spom Date: 2007-11-22 14:35:17 -0800 (Thu, 22 Nov 2007) Log Message: ----------- small fix Modified Paths: -------------- trunk/src/Console.cpp trunk/src/KeyMap.cpp trunk/src/KeyMap.h trunk/src/MarketDialog.cpp trunk/src/OpcodeWrapper.cpp trunk/src/Sector.cpp trunk/src/SectorObjects.cpp trunk/src/Station.cpp trunk/src/UnDockedState.cpp Modified: trunk/src/Console.cpp =================================================================== --- trunk/src/Console.cpp 2007-11-21 23:17:14 UTC (rev 857) +++ trunk/src/Console.cpp 2007-11-22 22:35:17 UTC (rev 858) @@ -125,7 +125,7 @@ CEGUI::System::getSingleton().injectChar( e.text ); //** for testings - if ( e.key == OIS::KC_BACK && resources_->keymap()->globalKeyModifier( ) == KEY_LCONTROL ){ + if ( e.key == OIS::KC_BACK && resources_->keymap()->globalKeyModifier( ) == KEY_CONTROL ){ resources_->renderWindow->setFullscreen( true, resources_->renderWindow->getWidth(), resources_->renderWindow->getHeight() ); @@ -133,7 +133,8 @@ std::cout << "Fullscreen: " << resources_->renderWindow->isFullScreen() << std::endl; } - if ( e.key == OIS::KC_LCONTROL) resources_->keymap()->setGlobalKeyModifier( KEY_LCONTROL ); + if ( e.key == OIS::KC_LCONTROL) resources_->keymap()->setGlobalKeyModifier( KEY_CONTROL ); + if ( e.key == OIS::KC_RCONTROL) resources_->keymap()->setGlobalKeyModifier( KEY_CONTROL ); if ( e.key == OIS::KC_LSHIFT) resources_->keymap()->setGlobalKeyModifier( KEY_SHIFT ); if ( e.key == OIS::KC_RSHIFT) resources_->keymap()->setGlobalKeyModifier( KEY_SHIFT ); @@ -146,6 +147,7 @@ CEGUI::System::getSingleton().injectKeyUp( e.key ); if ( e.key == OIS::KC_LCONTROL ) resources_->keymap()->setGlobalKeyModifier( KEY_NONE ); + if ( e.key == OIS::KC_RCONTROL ) resources_->keymap()->setGlobalKeyModifier( KEY_NONE ); if ( e.key == OIS::KC_LSHIFT ) resources_->keymap()->setGlobalKeyModifier( KEY_NONE ); if ( e.key == OIS::KC_RSHIFT ) resources_->keymap()->setGlobalKeyModifier( KEY_NONE ); Modified: trunk/src/KeyMap.cpp =================================================================== --- trunk/src/KeyMap.cpp 2007-11-21 23:17:14 UTC (rev 857) +++ trunk/src/KeyMap.cpp 2007-11-22 22:35:17 UTC (rev 858) @@ -69,7 +69,7 @@ /*! Actions for development, will removed later. */ unDockedActionMap_[ keycode( OIS::KC_F ) ] = &UnDockedState::keyActionToggleFiltering_DEV; - unDockedActionMap_[ keycode( OIS::KC_R ) ] = &UnDockedState::keyActionTogglePolygonMode_DEV; + unDockedActionMap_[ keycode( OIS::KC_R, KEY_CONTROL ) ] = &UnDockedState::keyActionTogglePolygonMode_DEV; unDockedActionMap_[ keycode( OIS::KC_L, KEY_SHIFT ) ] = &UnDockedState::keyActionIncreaseAmbientLight_DEV; unDockedActionMap_[ keycode( OIS::KC_L ) ] = &UnDockedState::keyActionDecreaseAmbientLight_DEV; Modified: trunk/src/KeyMap.h =================================================================== --- trunk/src/KeyMap.h 2007-11-21 23:17:14 UTC (rev 857) +++ trunk/src/KeyMap.h 2007-11-22 22:35:17 UTC (rev 858) @@ -45,7 +45,7 @@ Object object_; }; -enum GlobalKeyModifier{KEY_NONE, KEY_LCONTROL, KEY_SHIFT}; +enum GlobalKeyModifier{KEY_NONE, KEY_CONTROL, KEY_SHIFT}; class KeyMap{ public: Modified: trunk/src/MarketDialog.cpp =================================================================== --- trunk/src/MarketDialog.cpp 2007-11-21 23:17:14 UTC (rev 857) +++ trunk/src/MarketDialog.cpp 2007-11-22 22:35:17 UTC (rev 858) @@ -469,7 +469,7 @@ if ( item ){ buyMode_ = true; - if ( ResourceManager::getSingleton().keymap()->globalKeyModifier() == KEY_LCONTROL ){ + if ( ResourceManager::getSingleton().keymap()->globalKeyModifier() == KEY_CONTROL ){ buyItems( item, 1 ); } else { CEGUI::WindowManager::getSingleton().getWindow( (CEGUI::utf8*)"MarketWindow")->hide(); @@ -491,7 +491,7 @@ if ( item ){ buyMode_ = false; - if ( ResourceManager::getSingleton().keymap()->globalKeyModifier() == KEY_LCONTROL ){ + if ( ResourceManager::getSingleton().keymap()->globalKeyModifier() == KEY_CONTROL ){ sellItems( item, 1 ); } else { CEGUI::WindowManager::getSingleton().getWindow( (CEGUI::utf8*)"MarketWindow")->hide(); Modified: trunk/src/OpcodeWrapper.cpp =================================================================== --- trunk/src/OpcodeWrapper.cpp 2007-11-21 23:17:14 UTC (rev 857) +++ trunk/src/OpcodeWrapper.cpp 2007-11-22 22:35:17 UTC (rev 858) @@ -135,9 +135,9 @@ OgreOpcode::CollisionObject* col1 = rayPickReport[ i ]->this_object; OgreOpcode::CollisionObject* col2 = rayPickReport[ i ]->other_object; - std::cout << "checkCollideRay: " << i << " " - << static_cast< BaseObject * >( col1->getClientData() )->name() << "<->" - << static_cast< BaseObject * >( col2->getClientData() )->name() << std::endl; +// std::cout << "checkCollideRay: " << i << " " +// << static_cast< BaseObject * >( col1->getClientData() )->name() << "<->" +// << static_cast< BaseObject * >( col2->getClientData() )->name() << std::endl; if ( obj->getTypeID() == PROJECTILE_RTTI ){ if ( dynamic_cast< Projectile * >( obj )->parent() != static_cast< BaseObject * >( col1->getClientData() ) ){ Modified: trunk/src/Sector.cpp =================================================================== --- trunk/src/Sector.cpp 2007-11-21 23:17:14 UTC (rev 857) +++ trunk/src/Sector.cpp 2007-11-22 22:35:17 UTC (rev 858) @@ -552,7 +552,7 @@ obj = NULL; } break; default: - std::cerr << "object type unknown. this should not happen." << obj->getTypeID() << std::endl; + log_->fatal( "destructSectorObject: object type unknown. this should not happen: " + toStr( obj->getTypeID() ) ); } } @@ -588,7 +588,7 @@ obj = NULL; } break; default: - std::cerr << "object type unknown. this should not happen." << obj->getTypeID() << std::endl; + log_->fatal( "destructMoveableObject: object type unknown. this should not happen: " + toStr( obj->getTypeID() ) ); } } @@ -911,10 +911,10 @@ if ( ( it = movableObjects_.find( i->first ) ) != movableObjects_.end() ){ it->second->setFlightProperties( (*i->second) ); } else { - std::cerr << "Requested non existant object for shipmovement: " - << network_->userName( i->second->senderID() ) - << " child: " << (int)i->second->childID() << " at: " - << i->second->position() << " this should not happen." << std::endl; + log_->fatal( "Requested non existant object for shipmovement: " + + toStr( network_->userName( i->second->senderID() ) ) + + " child: " + toStr( (int)i->second->childID() ) + + " this should not happen." ); } } for ( size_t i = 0; i < movements.size(); i ++ ){ @@ -948,8 +948,8 @@ void Sector::sendVesselAmmoHit( const Projectile & projectile, BaseObject * victim ){ if ( projectile.parent().userID() == network_->userID() ){ - std::cout << "Send: Projectile from " << projectile.name() << " collide with: " << victim->name() - << " " << victim->userID() << " " << victim->childID() << std::endl; +// std::cout << "Send: Projectile from " << projectile.name() << " collide with: " << victim->name() +// << " " << victim->userID() << " " << victim->childID() << std::endl; MessageBodyShipAmmoHit msg( projectile.parent().childID(), victim->userID(), victim->childID(), projectile.damage() ); network_->send( msg ); @@ -972,10 +972,10 @@ " child: " + toStr( msg.targetChildID() ) + " damage: " + toStr( msg.damage() ) + " this should not happen." ) ; - std::cerr << "Available objects: " << std::endl; - for ( std::map< long, SectorObjectMoveable * >::iterator i = movableObjects_.begin(); i != movableObjects_.end(); i++){ - std::cerr << "\t" << i->first << " " << i->second->name() << " " << std::endl; - } +// std::cerr << "Available objects: " << std::endl; +// for ( std::map< long, SectorObjectMoveable * >::iterator i = movableObjects_.begin(); i != movableObjects_.end(); i++){ +// std::cerr << "\t" << i->first << " " << i->second->name() << " " << std::endl; +// } } } } Modified: trunk/src/SectorObjects.cpp =================================================================== --- trunk/src/SectorObjects.cpp 2007-11-21 23:17:14 UTC (rev 857) +++ trunk/src/SectorObjects.cpp 2007-11-22 22:35:17 UTC (rev 858) @@ -75,9 +75,9 @@ sceneMgr_ = sector_->sceneManager(); try{ - mainNode_ = sceneMgr_->getRootSceneNode()->createChildSceneNode( name + "_MainNode" ); + mainNode_ = sceneMgr_->getRootSceneNode()->createChildSceneNode( name + "_MainNode" ); } catch( Ogre::Exception & e ) { - std::cout << e.getFullDescription().c_str() << std::endl; + LogManager::getSingleton().fatal( e.getFullDescription() ); } lifeTime_ = 0.0; @@ -302,7 +302,7 @@ if ( mass_ > 0 ){ acc_ = ( - trustDir * thrust() - flightDir * friction ) / mass_; } else { - std::cerr << "mass: " << mass_ << std::endl; + LogManager::getSingleton().fatal( name_ + " mass: " + toStr( mass_ ) ); } if ( breakPressed_ == true ) { @@ -440,7 +440,7 @@ } void SectorObjectMoveable::collide( BaseObject * object ){ - std::cout << "SectorObjectMoveable: " << name() << " collide with " << object->getTypeID() << " " << object->name() << std::endl; + // std::cout << "SectorObjectMoveable: " << name() << " collide with " << object->getTypeID() << " " << object->name() << std::endl; if ( name_ != object->name() ){ if ( object->getTypeID( ) == PROJECTILE_RTTI ){ // hitByProjectile( dynamic_cast< Projectile* >( object ) ); Modified: trunk/src/Station.cpp =================================================================== --- trunk/src/Station.cpp 2007-11-21 23:17:14 UTC (rev 857) +++ trunk/src/Station.cpp 2007-11-22 22:35:17 UTC (rev 858) @@ -140,7 +140,7 @@ } void StationDockPad::collide( BaseObject * object ){ - std::cout << "StationDockPad::collide" << std::endl; + // std::cout << "StationDockPad::collide" << std::endl; sector_->listener()->changeToDockedState(); } @@ -164,9 +164,9 @@ OpcodeCollisionDetection::getSingleton().changeCollClass( collObj_, "Station" ); for ( uint i = 0; i < entity()->getNumSubEntities(); i ++ ){ - std::cout << entity()->getSubEntity( i )->getMaterialName() << " Techniques: " - << entity()->getSubEntity( i )->getMaterial()->getNumTechniques() << " used: " - << entity()->getSubEntity( i )->getTechnique()->getName() << std::endl; +// std::cout << entity()->getSubEntity( i )->getMaterialName() << " Techniques: " +// << entity()->getSubEntity( i )->getMaterial()->getNumTechniques() << " used: " +// << entity()->getSubEntity( i )->getTechnique()->getName() << std::endl; // for ( uint j = 0; j < entity()->getSubEntity( i )->getMaterial()->getNumTechniques(); j ++ ){ // std::cout << entity()->getSubEntity( i )->getMaterial()->getTechnique( j )->getName() << std::endl; @@ -232,7 +232,7 @@ } void StationObject::collide( BaseObject * object ){ - std::cout << "Sector: " << name_ << " collide with " << object->getTypeID() << " " << object->name()<< std::endl; + // std::cout << "Sector: " << name_ << " collide with " << object->getTypeID() << " " << object->name()<< std::endl; } void StationObject::showRings( bool show ){ ringNode_->setVisible( show ); } Modified: trunk/src/UnDockedState.cpp =================================================================== --- trunk/src/UnDockedState.cpp 2007-11-21 23:17:14 UTC (rev 857) +++ trunk/src/UnDockedState.cpp 2007-11-22 22:35:17 UTC (rev 858) @@ -389,7 +389,7 @@ bool UnDockedState::keyPressed( const OIS::KeyEvent & e ){ // std::cout << "UnDockedState: " << e.key << " " << (char)e.key<< std::endl; - if ( e.key == OIS::KC_ESCAPE) { + if ( e.key == OIS::KC_ESCAPE && !chatMode_ ) { switchConfigDialog(); } @@ -402,7 +402,8 @@ chatMode_ = true; } } else { // ** chatmode - if ( e.key == OIS::KC_RETURN) { + if ( e.key == OIS::KC_RETURN && resources_->keymap()->globalKeyModifier( ) == KEY_CONTROL || + e.key == OIS::KC_ESCAPE ) { CEGUI::WindowManager::getSingleton().getWindow( (CEGUI::utf8*)"ConsoleEdit")->deactivate(); chatMode_ = false; } @@ -1340,7 +1341,7 @@ } void UnDockedState::setAmbientLight_(){ - std::cout << ambientLight_ << std::endl; + // std::cout << ambientLight_ << std::endl; sceneMgr_->setAmbientLight( Ogre::ColourValue( (double)ambientLight_/10.0, (double)ambientLight_/10.0, (double)ambientLight_/10.0 ) ); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <spo...@us...> - 2007-11-21 23:17:10
|
Revision: 857 http://opengate.svn.sourceforge.net/opengate/?rev=857&view=rev Author: spom_spom Date: 2007-11-21 15:17:14 -0800 (Wed, 21 Nov 2007) Log Message: ----------- win compatibility commit, now with metaserver support, to connect to the meta add -M to commandline Modified Paths: -------------- trunk/win32/ogsectorclient/ogre.cfg trunk/win32/ogsectorclient/ogsectorclient.cbp trunk/win32/ogsectorclient/ogsectorclient.exe Added Paths: ----------- trunk/win32/ogsectorclient/boost_regex.dll Added: trunk/win32/ogsectorclient/boost_regex.dll =================================================================== (Binary files differ) Property changes on: trunk/win32/ogsectorclient/boost_regex.dll ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/win32/ogsectorclient/ogre.cfg =================================================================== --- trunk/win32/ogsectorclient/ogre.cfg 2007-11-21 22:56:35 UTC (rev 856) +++ trunk/win32/ogsectorclient/ogre.cfg 2007-11-21 23:17:14 UTC (rev 857) @@ -1,4 +1,4 @@ -Render System=Direct3D9 Rendering Subsystem +Render System=OpenGL Rendering Subsystem [Direct3D9 Rendering Subsystem] Allow NVPerfHUD=No @@ -11,9 +11,9 @@ [OpenGL Rendering Subsystem] Colour Depth=32 -Display Frequency=60 +Display Frequency=N/A FSAA=0 -Full Screen=Yes +Full Screen=No RTT Preferred Mode=FBO VSync=No Video Mode=1024 x 768 Modified: trunk/win32/ogsectorclient/ogsectorclient.cbp =================================================================== --- trunk/win32/ogsectorclient/ogsectorclient.cbp 2007-11-21 22:56:35 UTC (rev 856) +++ trunk/win32/ogsectorclient/ogsectorclient.cbp 2007-11-21 23:17:14 UTC (rev 857) @@ -38,6 +38,7 @@ <Add library=".\vorbis.dll" /> <Add library=".\ogg.dll" /> <Add library=".\vorbisfile.dll" /> + <Add library=".\boost_regex.dll" /> </Linker> </Target> </Build> Modified: trunk/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-11-21 22:56:30
|
Revision: 856 http://opengate.svn.sourceforge.net/opengate/?rev=856&view=rev Author: spom_spom Date: 2007-11-21 14:56:35 -0800 (Wed, 21 Nov 2007) Log Message: ----------- try to fix strange network problem Modified Paths: -------------- trunk/src/Sector.cpp trunk/src/metaserver.cpp trunk/src/networkProtocol.h trunk/src/opengateserver.cpp Removed Paths: ------------- trunk/win32/ogsectorclient/OgreOpcode.dll trunk/win32/ogsectorclient/Opcode.dll Modified: trunk/src/Sector.cpp =================================================================== --- trunk/src/Sector.cpp 2007-11-21 19:52:10 UTC (rev 855) +++ trunk/src/Sector.cpp 2007-11-21 22:56:35 UTC (rev 856) @@ -912,7 +912,8 @@ it->second->setFlightProperties( (*i->second) ); } else { std::cerr << "Requested non existant object for shipmovement: " - << network_->userName( i->second->senderID() ) << " at: " + << network_->userName( i->second->senderID() ) + << " child: " << (int)i->second->childID() << " at: " << i->second->position() << " this should not happen." << std::endl; } } Modified: trunk/src/metaserver.cpp =================================================================== --- trunk/src/metaserver.cpp 2007-11-21 19:52:10 UTC (rev 855) +++ trunk/src/metaserver.cpp 2007-11-21 22:56:35 UTC (rev 856) @@ -413,12 +413,7 @@ asio::write( socket_, request ); // Read the response status line. -#ifdef WIN32 - // we dont have boost:regex within win32, i will fix this later (carsten) - //asio::read_until(socket_, response, "\n"); -#else asio::read_until( socket_, response, boost::regex("\r\n") ); -#endif // Check that response is OK. std::istream response_stream( &response ); @@ -429,21 +424,15 @@ std::string status_message; std::getline(response_stream, status_message); if ( !response_stream || http_version.substr(0, 5) != "HTTP/" ) { - std::cout << "Invalid response\n"; + log_->fatal( "Metaserver: invalid response" ); return -51; } if ( status_code != 200 ) { - std::cout << "Response returned with status code " << status_code << "\n"; + log_->fatal( "Metaserver: response returned with status code " + toStr( status_code ) ); return -52; } - // Read the response headers, which are terminated by a blank line. -#ifdef WIN32 - // we dont have boost:regex within win32, i will fix this later (carsten) - //asio::read_until(socket_, response, "\n"); -#else asio::read_until( socket_, response, boost::regex( "\r\n\r\n" ) ); -#endif // Process the response headers. (to get the crap of the response before reading the body!) std::string header; Modified: trunk/src/networkProtocol.h =================================================================== --- trunk/src/networkProtocol.h 2007-11-21 19:52:10 UTC (rev 855) +++ trunk/src/networkProtocol.h 2007-11-21 22:56:35 UTC (rev 856) @@ -114,27 +114,27 @@ /*! Destructor */ virtual ~MessageBodyBase(){ } - virtual char * data() { + inline virtual char * data() { out_.str( "" ); createOutStream(); outData_ = out_.str(); return (char*)&outData_[ 0 ]; } - virtual void createOutStream() { + inline virtual void createOutStream() { writeToOut( out_, type_ ); writeToOut( out_, senderID_ ); } - int length() const { return outData_.length(); } + inline int length() const { return outData_.length(); } - Uint8 type() const { return (int)type_; } + inline Uint8 type() const { return type_; } - Uint32 senderID( ) const { return senderID_; } + inline Uint32 senderID( ) const { return senderID_; } - void setSenderID( Uint32 senderID ) { senderID_ = senderID; } + inline void setSenderID( Uint32 senderID ) { senderID_ = senderID; } - virtual int dataSize() const { return sizeof( Uint8 ) + sizeof( Uint32 ); } + inline 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() ; @@ -171,9 +171,9 @@ writeToOut( out_, userID_ ); } - virtual int dataSize() const { return MessageBodyBase::dataSize() + sizeof( Uint32 ); } + inline virtual int dataSize() const { return MessageBodyBase::dataSize() + sizeof( Uint32 ); } - Uint32 userID( ) const { return userID_; } + inline Uint32 userID( ) const { return userID_; } protected: Uint32 userID_; @@ -223,7 +223,7 @@ out_.write( ( char* )( username_.c_str() ), sizeof( char ) * nameLength_ ); } - std::string userName( ) const { return username_; } + inline std::string userName( ) const { return username_; } protected: Uint8 nameLength_; @@ -252,7 +252,7 @@ writeToOut( out_, reason_ ); } - Uint8 reason( ) const { return reason_; } + inline Uint8 reason( ) const { return reason_; } protected: Uint8 reason_; @@ -287,9 +287,9 @@ out_.write( ( char* )( message_.c_str() ), sizeof( char ) * messageLength_ ); } - void setMessage( const std::string & message ){ message_ = message; } + inline void setMessage( const std::string & message ){ message_ = message; } - std::string message( ) const { return message_; } + inline std::string message( ) const { return message_; } protected: mutable Uint16 messageLength_; @@ -314,14 +314,14 @@ virtual ~MessageBodyShipBase( ){ } - void createOutStream() { + inline void createOutStream() { MessageBodyBase::createOutStream(); writeToOut( out_, childID_ ); } - Uint8 childID( ) const { return (int)childID_; } + inline Uint8 childID( ) const { return childID_; } - virtual int dataSize() const { return MessageBodyBase::dataSize() + sizeof( Uint8 ); } + inline virtual int dataSize() const { return MessageBodyBase::dataSize() + sizeof( Uint8 ); } protected: Uint8 childID_; @@ -341,14 +341,10 @@ inline std::string name() const { return name_; } - FVector3 position() const; - - inline Uint16 vesselID() const { return vesselID_; } - - inline Uint32 mass() const { return mass_; } - + FVector3 position() const; + inline Uint16 vesselID() const { return vesselID_; } + inline Uint32 mass() const { return mass_; } inline Uint32 maxShield() const { return maxShield_; } - inline Uint32 maxThrust() const { return maxThrust_; } protected: @@ -375,9 +371,7 @@ virtual ~MessageBodyShipDeRegister( ){ } - void createOutStream() { - MessageBodyShipBase::createOutStream(); - } + inline 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(); @@ -398,9 +392,7 @@ virtual ~MessageBodyShipDied( ){ } - void createOutStream() { - MessageBodyShipBase::createOutStream(); - } + inline void createOutStream() { MessageBodyShipBase::createOutStream(); } friend std::ostream & operator << ( std::ostream & str, const MessageBodyShipDied & msg ){ str << "Type: " << (int)( msg.type() ) << " senderID: " << msg.senderID() << " childID: " << msg.childID(); @@ -421,20 +413,13 @@ void createOutStream(); - FVector3 velocity() const; - - FVector3 position() const; - - FVector4 orientation() const; - - inline Uint32 thrust() const { return thrust_; } - - inline float yaw() const { return yaw_; } - - inline float pitch() const { return pitch_; } - - inline float roll() const { return roll_; } - + FVector3 velocity() const; + FVector3 position() const; + FVector4 orientation() const; + inline Uint32 thrust() const { return thrust_; } + inline float yaw() const { return yaw_; } + inline float pitch() const { return pitch_; } + inline float roll() const { return roll_; } inline Uint16 sequenceNr( ) const { return seqNr_; } friend std::ostream & operator << ( std::ostream & str, const MessageBodyShipMovement & msg ); @@ -484,16 +469,12 @@ tmp = ( Uint8 )break_; writeToOut( out_, tmp ); } - Uint32 shield( ) const { return shield_; } + inline Uint32 shield( ) const { return shield_; } + inline Uint32 armor( ) const { return armor_; } + inline bool firePressed( ) const { return fire_; } + inline bool afterburnerPressed( ) const { return afterburner_; } + inline bool breakPressed( ) const { return break_; } - Uint32 armor( ) const { return armor_; } - - bool firePressed( ) const { return fire_; } - - bool afterburnerPressed( ) const { return afterburner_; } - - bool breakPressed( ) const { return break_; } - protected: Uint32 shield_; Uint32 armor_; @@ -515,12 +496,12 @@ void createOutStream(); - Uint16 shotCount() const { return shotCount_ ; } - FVector3 position() const; - FVector3 velocity() const; - Uint16 gunID() const { return gunID_; } - Uint32 damage() const { return damage_; } - Float liveTime() const { return liveTime_; } + inline Uint16 shotCount() const { return shotCount_ ; } + FVector3 position() const; + FVector3 velocity() const; + inline Uint16 gunID() const { return gunID_; } + inline Uint32 damage() const { return damage_; } + inline Float liveTime() const { return liveTime_; } protected: Uint16 shotCount_; @@ -555,12 +536,10 @@ writeToOut( out_, damage_ ); } - Uint32 targetID() const { return targetID_; } + inline Uint32 targetID() const { return targetID_; } + inline Uint8 targetChildID() const { return targetChildID_; } + inline Uint32 damage() const { return damage_; } - Uint8 targetChildID() const { return targetChildID_; } - - Uint32 damage() const { return damage_; } - protected: Uint32 targetID_; @@ -601,14 +580,11 @@ return true; } - Uint16 length() const { return HeaderLength + bodyLength_; } + inline Uint16 length() const { return HeaderLength + bodyLength_; } + inline const char * body() const { return data_ + HeaderLength; } + inline char * body() { return data_ + HeaderLength; } + inline Uint16 bodyLength() const { return bodyLength_; } - const char * body() const { return data_ + HeaderLength; } - - char * body() { return data_ + HeaderLength; } - - Uint16 bodyLength() const { return bodyLength_; } - protected: char data_[ HeaderLength + MaxBodyLength ]; Uint16 bodyLength_; Modified: trunk/src/opengateserver.cpp =================================================================== --- trunk/src/opengateserver.cpp 2007-11-21 19:52:10 UTC (rev 855) +++ trunk/src/opengateserver.cpp 2007-11-21 22:56:35 UTC (rev 856) @@ -83,7 +83,7 @@ //** ein bissle mehr verbose output, kommt sp\xE4ter wieder weg.; //** das k\xF6nnte mal vielleicht als option rausreichen, das man wie beim clienten die Wahl hat; //** -M = (withMetaServer = true); - bool withMetaServer = false; + bool withMetaServer = true; std::string servername( "testserver Sim 1" ); try { asio::io_service io_service; Deleted: trunk/win32/ogsectorclient/OgreOpcode.dll =================================================================== (Binary files differ) Deleted: trunk/win32/ogsectorclient/Opcode.dll =================================================================== (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-11-21 19:52:07
|
Revision: 855 http://opengate.svn.sourceforge.net/opengate/?rev=855&view=rev Author: spom_spom Date: 2007-11-21 11:52:10 -0800 (Wed, 21 Nov 2007) Log Message: ----------- win compatibility commit, upgrade to ogre-1.4.5, Modified Paths: -------------- trunk/win32/ogsectorclient/OgreGUIRenderer.dll trunk/win32/ogsectorclient/OgreMain.dll trunk/win32/ogsectorclient/Plugin_BSPSceneManager.dll trunk/win32/ogsectorclient/Plugin_CgProgramManager.dll trunk/win32/ogsectorclient/Plugin_OctreeSceneManager.dll trunk/win32/ogsectorclient/Plugin_ParticleFX.dll trunk/win32/ogsectorclient/RenderSystem_Direct3D9.dll trunk/win32/ogsectorclient/RenderSystem_GL.dll trunk/win32/ogsectorclient/ogsectorclient.cbp trunk/win32/ogsectorclient/ogsectorclient.exe trunk/win32/ogsectorclient/ois.dll Added Paths: ----------- trunk/win32/ogsectorclient/ogreopcode.dll trunk/win32/ogsectorclient/opcode.dll Modified: trunk/win32/ogsectorclient/OgreGUIRenderer.dll =================================================================== (Binary files differ) Modified: trunk/win32/ogsectorclient/OgreMain.dll =================================================================== (Binary files differ) Modified: trunk/win32/ogsectorclient/Plugin_BSPSceneManager.dll =================================================================== (Binary files differ) Modified: trunk/win32/ogsectorclient/Plugin_CgProgramManager.dll =================================================================== (Binary files differ) Modified: trunk/win32/ogsectorclient/Plugin_OctreeSceneManager.dll =================================================================== (Binary files differ) Modified: trunk/win32/ogsectorclient/Plugin_ParticleFX.dll =================================================================== (Binary files differ) Modified: trunk/win32/ogsectorclient/RenderSystem_Direct3D9.dll =================================================================== (Binary files differ) Modified: trunk/win32/ogsectorclient/RenderSystem_GL.dll =================================================================== (Binary files differ) Added: trunk/win32/ogsectorclient/ogreopcode.dll =================================================================== --- trunk/win32/ogsectorclient/ogreopcode.dll (rev 0) +++ trunk/win32/ogsectorclient/ogreopcode.dll 2007-11-21 19:52:10 UTC (rev 855) @@ -0,0 +1,1530 @@ +MZ\x90 |
From: <spo...@us...> - 2007-11-21 17:16:55
|
Revision: 854 http://opengate.svn.sourceforge.net/opengate/?rev=854&view=rev Author: spom_spom Date: 2007-11-21 09:16:39 -0800 (Wed, 21 Nov 2007) Log Message: ----------- hopefully fixed some network issues Modified Paths: -------------- trunk/configure.ac trunk/src/Entity.cpp trunk/src/Entity.h trunk/src/EntityManager.cpp trunk/src/EntityManager.h trunk/src/Makefile.am trunk/src/MarketDialog.cpp trunk/src/MarketDialog.h trunk/src/OpcodeWrapper.cpp trunk/src/Projectile.cpp trunk/src/Projectile.h trunk/src/Sector.cpp trunk/src/SectorObjects.cpp trunk/src/SectorObjects.h trunk/src/networkProtocol.cpp trunk/src/networkProtocol.h Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2007-11-18 19:03:10 UTC (rev 853) +++ trunk/configure.ac 2007-11-21 17:16:39 UTC (rev 854) @@ -36,6 +36,8 @@ # Check for defines AC_CHECK_TYPES([ptrdiff_t]) +AM_PROG_LIBTOOL + PKG_CHECK_MODULES(OGRE, [OGRE >= 1.4.0]) AC_SUBST(OGRE_CFLAGS) AC_SUBST(OGRE_LIBS) @@ -87,7 +89,6 @@ echo "You can get them from http://sourceforge.net/projects/asio/" exit 1 ],[]) -# TODO: end fix AC_OUTPUT([ Makefile Modified: trunk/src/Entity.cpp =================================================================== --- trunk/src/Entity.cpp 2007-11-18 19:03:10 UTC (rev 853) +++ trunk/src/Entity.cpp 2007-11-21 17:16:39 UTC (rev 854) @@ -71,9 +71,7 @@ if ( imageFileName_ == "unknown" ) imageFileName_ = name_; if ( !initialiseImage( imageFileName_ + "_small.png", imageFileName_ + "Small" ) ){ - if ( !initialiseImage( imageFileName_ + "_76x76.png", imageFileName_ + "Small" ) ){ - haveSmall = false; - } + haveSmall = false; } if ( haveSmall ){ @@ -81,11 +79,8 @@ } if ( !initialiseImage( imageFileName_ + "_big.png", imageFileName_ ) ){ - //**fallback to 290x290 - if ( !initialiseImage( imageFileName_ + "_290x290.png", imageFileName_ ) ){ - //**fallback - initialiseImage( imageFileName_ + ".png", imageFileName_, true ); - } + //**fallback; + initialiseImage( imageFileName_ + ".png", imageFileName_, true ); } if ( !haveSmall ) { Modified: trunk/src/Entity.h =================================================================== --- trunk/src/Entity.h 2007-11-18 19:03:10 UTC (rev 853) +++ trunk/src/Entity.h 2007-11-21 17:16:39 UTC (rev 854) @@ -139,7 +139,7 @@ std::set < Commodity * > requieredComponents_; /*! A unique ID to find this object \todo maybe push to a string and merge with Commodity.commodityID_ */ - int id_; + Uint16 id_; /*! The required tech level to interact with this object */ int techLevel_; /*! The mass of this entity. */ Modified: trunk/src/EntityManager.cpp =================================================================== --- trunk/src/EntityManager.cpp 2007-11-18 19:03:10 UTC (rev 853) +++ trunk/src/EntityManager.cpp 2007-11-21 17:16:39 UTC (rev 854) @@ -29,7 +29,7 @@ namespace OpenGate { EntityManager::~EntityManager(){ - for ( std::map< int, Entity * >::iterator it = templatesByID_.begin(); it != templatesByID_.end(); it ++ ){ + for ( std::map< Uint16, Entity * >::iterator it = templatesByID_.begin(); it != templatesByID_.end(); it ++ ){ delete it->second; } templatesByID_.end(); @@ -348,7 +348,7 @@ pElem = hRoot.ChildElement( "fire_delay", 0 ).Element(); if ( pElem ) dynamic_cast< Gun * >( entity )->setFireDelay( toDouble( pElem->FirstChild()->Value() ) ); - pElem = hRoot.ChildElement( "energy_per_shot", 0 ).Element(); + pElem = hRoot.ChildElement( "power_per_shot", 0 ).Element(); if ( pElem ) dynamic_cast< Gun * >( entity )->setEnergy( toInt( pElem->FirstChild()->Value() ) ); pElem = hRoot.ChildElement( "damage", 0 ).Element(); Modified: trunk/src/EntityManager.h =================================================================== --- trunk/src/EntityManager.h 2007-11-18 19:03:10 UTC (rev 853) +++ trunk/src/EntityManager.h 2007-11-21 17:16:39 UTC (rev 854) @@ -84,6 +84,16 @@ } } + Entity * entity( Uint16 ID ){ + if ( templatesByID_.count( ID ) ){ + return templatesByID_[ ID ]; + } else { + LogManager::getSingleton().warn( ("Request for entity id: ") + toStr(ID) + " unknown" ); + return NULL; + } + } + + protected: /*! \brief This loads enities from there definition files, called from load() @@ -103,7 +113,7 @@ std::map < std::string, Entity * > templatesByName_; - std::map < int, Entity * > templatesByID_; + std::map < Uint16, Entity * > templatesByID_; std::set < std::string > factions_; }; Modified: trunk/src/Makefile.am =================================================================== --- trunk/src/Makefile.am 2007-11-18 19:03:10 UTC (rev 853) +++ trunk/src/Makefile.am 2007-11-21 17:16:39 UTC (rev 854) @@ -79,12 +79,12 @@ $(freealut_LIBS) \ $(vorbisfile_LIBS) \ $(OIS_LIBS) \ - $(ogreopcode_LIBS) + $(ogreopcode_LIBS) opengateclient_CXXFLAGS = \ $(OGRE_CFLAGS) \ $(CEGUI_CFLAGS) \ - $(ogreopcode_CFLAGS) + $(ogreopcode_CFLAGS) opengateserver_SOURCES = \ opengateserver.cpp \ Modified: trunk/src/MarketDialog.cpp =================================================================== --- trunk/src/MarketDialog.cpp 2007-11-18 19:03:10 UTC (rev 853) +++ trunk/src/MarketDialog.cpp 2007-11-21 17:16:39 UTC (rev 854) @@ -112,6 +112,8 @@ CEGUI::PushButton::EventClicked, MarketDialog::handleMarketItemWindowUpButton ); BIND_CEGUI_EVENT( wmgr.getWindow( (CEGUI::utf8*)"MarketWindow/DownButton"), CEGUI::PushButton::EventClicked, MarketDialog::handleMarketItemWindowDownButton ); + BIND_CEGUI_EVENT( wmgr.getWindow( (CEGUI::utf8*)"MarketWindow"), + CEGUI::PushButton::EventMouseWheel, MarketDialog::handleMouseWheelChanged ); BIND_CEGUI_EVENT( wmgr.getWindow( (CEGUI::utf8*)"MarketItemDetailedView/NotNowButton"), CEGUI::PushButton::EventClicked, MarketDialog::handleMarketItemViewNotNowButton ); @@ -136,6 +138,7 @@ BIND_CEGUI_EVENT( wmgr.getWindow( (CEGUI::utf8*)"InventoryWindow/DownButton"), CEGUI::PushButton::EventClicked, MarketDialog::handleInventItemWindowDownButton ); + for ( unsigned int i = 0; i < marketItems_.size(); i ++ ){ BIND_CEGUI_EVENT( marketItems_[ i ], CEGUI::Window::EventMouseEnters, MarketDialog::handleMarketItemMouseEnters ); BIND_CEGUI_EVENT( marketItems_[ i ], CEGUI::Window::EventMouseLeaves, MarketDialog::handleMarketItemMouseLeaves ); @@ -703,5 +706,10 @@ return true; } +bool MarketDialog::handleMouseWheelChanged( const CEGUI::EventArgs & e ){ + std::cout << "handleMouseWheelChanged" << std::endl; + return true; +} + } // namespace OpenGate Modified: trunk/src/MarketDialog.h =================================================================== --- trunk/src/MarketDialog.h 2007-11-18 19:03:10 UTC (rev 853) +++ trunk/src/MarketDialog.h 2007-11-21 17:16:39 UTC (rev 854) @@ -62,12 +62,12 @@ bool handeMainWindowShown( const CEGUI::EventArgs & e ); - bool handleMarketItemSortAlphaAscend( const CEGUI::EventArgs & e ){ sortBy_ = Alphanumeric; updateSortIcons(); return true; } - bool handleMarketItemSortAlphaDescend( const CEGUI::EventArgs & e ){ sortBy_ = Alphanumeric; updateSortIcons(); return true; } - bool handleMarketItemSortCost( const CEGUI::EventArgs & e ){ sortBy_ = Cost; updateSortIcons(); return true; } - bool handleMarketItemSortSizeAscend( const CEGUI::EventArgs & e ){ sortBy_ = Size; updateSortIcons(); return true; } - bool handleMarketItemSortSizeDescend( const CEGUI::EventArgs & e ){ sortBy_ = Size; updateSortIcons(); return true; } - bool handleMarketItemSortRank( const CEGUI::EventArgs & e ){ sortBy_ = Rank; updateSortIcons(); return true; } + bool handleMarketItemSortAlphaAscend( const CEGUI::EventArgs & e ){ sortBy_ = Alphanumeric; updateSortIcons(); return true; } + bool handleMarketItemSortAlphaDescend( const CEGUI::EventArgs & e ){ sortBy_ = Alphanumeric; updateSortIcons(); return true; } + bool handleMarketItemSortCost( const CEGUI::EventArgs & e ){ sortBy_ = Cost; updateSortIcons(); return true; } + bool handleMarketItemSortSizeAscend( const CEGUI::EventArgs & e ){ sortBy_ = Size; updateSortIcons(); return true; } + bool handleMarketItemSortSizeDescend( const CEGUI::EventArgs & e ){ sortBy_ = Size; updateSortIcons(); return true; } + bool handleMarketItemSortRank( const CEGUI::EventArgs & e ){ sortBy_ = Rank; updateSortIcons(); return true; } bool handleMarketItemSortAmountAscend( const CEGUI::EventArgs & e ){ sortBy_ = Amount; updateSortIcons(); return true; } bool handleMarketItemSortAmountDescend( const CEGUI::EventArgs & e ){ sortBy_ = Amount; updateSortIcons(); return true; } @@ -88,6 +88,8 @@ bool handleMarketItemViewAcceptButton( const CEGUI::EventArgs & e ); bool handleMarketItemChangeAmount( const CEGUI::EventArgs & e ); + bool handleMouseWheelChanged( const CEGUI::EventArgs & e ); + std::string selectedCategory_; std::vector < CEGUI::Window * > marketItems_; std::vector < CEGUI::Window * > inventItems_; Modified: trunk/src/OpcodeWrapper.cpp =================================================================== --- trunk/src/OpcodeWrapper.cpp 2007-11-18 19:03:10 UTC (rev 853) +++ trunk/src/OpcodeWrapper.cpp 2007-11-21 17:16:39 UTC (rev 854) @@ -50,7 +50,6 @@ OgreOpcode::CollisionManager::getSingletonPtr()->addCollType( "DockPad", "SectorObject", OgreOpcode::COLLTYPE_EXACT ); // OgreOpcode::CollisionManager::getSingletonPtr()->addCollType( "SectorObject", "SectorObject", OgreOpcode::COLLTYPE_CONTACT ); // OgreOpcode::CollisionManager::getSingletonPtr()->addCollType( "SectorObject", "SectorObject", OgreOpcode::COLLTYPE_QUICK ); - collideInSectorContext_ = OgreOpcode::CollisionManager::getSingletonPtr()->getDefaultContext(); } Modified: trunk/src/Projectile.cpp =================================================================== --- trunk/src/Projectile.cpp 2007-11-18 19:03:10 UTC (rev 853) +++ trunk/src/Projectile.cpp 2007-11-21 17:16:39 UTC (rev 854) @@ -30,35 +30,57 @@ namespace OpenGate{ + Projectile::Projectile( BaseObject * parent, long shotCount, Gun & gun, const Ogre::Vector3 & pos, const Ogre::Vector3 & vel ) + : BaseObject( parent->name() + "_" + toStr( shotCount ), parent->sector() ), parent_( parent ), + shotCount_( shotCount ), gun_( &gun ), damage_( gun.damage() ), maxLifeTime_( gun.lifeTime() ), vel_( vel ){ + + selectable_ = false; + beam_ = NULL; + bullet_ = NULL; + shape_ = NULL; + trail_ = NULL; + + maxRange_ = gun.speed() * maxLifeTime_; + + fire( pos ); +} + Projectile::Projectile( BaseObject * parent, long shotCounter, const GunObject & gun, const Ogre::Vector3 & mountPoint ) - : BaseObject( parent->name() + "_" + toStr( shotCounter ), parent->sector() ), parent_( parent ), - shotCount_( shotCounter), damage_( gun.gun()->damage() ), maxLifeTime_( gun.gun()->lifeTime() ){ + : BaseObject( parent->name() + "_" + toStr( shotCounter ), parent->sector() ), parent_( parent ), + shotCount_( shotCounter), gun_( gun.gun() ), damage_( gun.gun()->damage() ), maxLifeTime_( gun.gun()->lifeTime() ){ selectable_ = false; - Ogre::String bulletName( name_ + "_" + toStr( shotCounter ) ); - beam_ = NULL; bullet_ = NULL; shape_ = NULL; trail_ = NULL; + maxRange_ = gun.gun()->speed() * maxLifeTime_; + Ogre::Quaternion direction( parent_->mainNode()->getOrientation() ); + vel_ = gun.gun()->speed() * -direction.zAxis().normalisedCopy() + parent->velocity(); + Ogre::Vector3 relGunPos( ( gun.sceneNode().getParentSceneNode()->getOrientation() * gun.sceneNode().getPosition() ) * - gun.sceneNode().getParentSceneNode()->getParentSceneNode()->getScale() ); - + gun.sceneNode().getParentSceneNode()->getParentSceneNode()->getScale() ); - maxRange_ = gun.gun()->speed() * maxLifeTime_; + Ogre::Vector3 pos( gun.sceneNode().getWorldPosition() - direction.zAxis() * relGunPos[ 2 ] ); + fire( pos, relGunPos ); +} + +void Projectile::fire( const Ogre::Vector3 & pos, const Ogre::Vector3 & relGunPos ){ + Ogre::String bulletName( name_ + "_" + toStr( shotCount_ ) ); + + Ogre::Quaternion direction( parent_->mainNode()->getOrientation() ); mainNode_->setOrientation( direction ); - mainNode_->setPosition( gun.sceneNode().getWorldPosition() - direction.zAxis() * relGunPos[ 2 ] ); + mainNode_->setPosition( pos ); mainNode_->_update( true, true ); lifeTime_ = 0.0; oldTime_ = 0.0; ammoHit_ = false; - vel_ = gun.gun()->speed() * -direction.zAxis().normalisedCopy() + parent->velocity(); - switch ( gun.gun()->type() ){ + switch ( gun_->type() ){ case BULLET:{ int maxBB = 20; bullet_ = sceneMgr_->createBillboardSet( bulletName + "_BBS", maxBB ); @@ -112,10 +134,10 @@ case MININGLASER: { } break; case UNKNOWN: { - LogManager::getSingleton().warn( "guntype unknown: " + toStr( gun.gun()->type() ) + " Forced bullet." ); - }break; + LogManager::getSingleton().warn( "guntype unknown: " + toStr( gun_->type() ) + " Forced bullet." ); + } break; - } + } //switch gun_->type } Projectile::~Projectile() { Modified: trunk/src/Projectile.h =================================================================== --- trunk/src/Projectile.h 2007-11-18 19:03:10 UTC (rev 853) +++ trunk/src/Projectile.h 2007-11-21 17:16:39 UTC (rev 854) @@ -28,10 +28,14 @@ class Projectile : public BaseObject { public: + Projectile( BaseObject * parent, long shotCount, Gun & gun, const Ogre::Vector3 & pos, const Ogre::Vector3 & vel ); + Projectile( BaseObject * parent, long shotCount, const GunObject & gun, const Ogre::Vector3 & mountPoint ); virtual ~Projectile(); + void fire( const Ogre::Vector3 & pos, const Ogre::Vector3 & relGunPos = Ogre::Vector3::ZERO); + inline virtual long getTypeID() const { return PROJECTILE_RTTI; } virtual void collide( BaseObject * object ); @@ -50,11 +54,15 @@ Uint16 shotCount() const { return shotCount_; } + Gun * gun() const { return gun_; } + protected: BaseObject * parent_; Uint16 shotCount_; Uint32 damage_; + Gun * gun_; + // Ogre::BillboardChain * chain_; Ogre::BillboardSet * bullet_; Ogre::ManualObject * beam_; Modified: trunk/src/Sector.cpp =================================================================== --- trunk/src/Sector.cpp 2007-11-18 19:03:10 UTC (rev 853) +++ trunk/src/Sector.cpp 2007-11-21 17:16:39 UTC (rev 854) @@ -27,6 +27,7 @@ #include "Station.h" #include <OgreManualObject.h> +#include <OgreMaterialManager.h> #include <OgreOverlayManager.h> #include <OgreOverlayContainer.h> #include <OgreSceneNode.h> @@ -92,7 +93,7 @@ // myManualObject->position(Ogre::Vector3(Ogre::Math::RangeRandom(-1,1), // Ogre::Math::RangeRandom(-1,1), // Ogre::Math::RangeRandom(-1,1)).normalisedCopy() * -// Ogre::Math::RangeRandom(10000,40000) ); +// Ogre::Math::RangeRandom(100000,400000) ); // } // myManualObject->end(); // myManualObjectNode->attachObject(myManualObject); @@ -216,7 +217,7 @@ pElem = hRoot.ChildElement( "skybox", 0 ).Element(); if ( pElem ){ - sceneMgr_->setSkyBox( true, pElem->FirstChild()->Value() ); + sceneMgr_->setSkyBox( true, pElem->FirstChild()->Value(), 10000 ); } else{ // sceneMgr_->setSkyBox( true, "OpenGate/SimpleSkyBox1" ); } @@ -555,7 +556,7 @@ } } - void Sector::destructMoveableObject( SectorObjectMoveable * obj ){ +void Sector::destructMoveableObject( SectorObjectMoveable * obj ){ selectNextTarget( obj ); sectorObjects_.erase( obj ); @@ -949,10 +950,8 @@ std::cout << "Send: Projectile from " << projectile.name() << " collide with: " << victim->name() << " " << victim->userID() << " " << victim->childID() << std::endl; - if ( network_->online() ){ - MessageBodyShipAmmoHit msg( projectile.parent().childID(), victim->userID(), victim->childID(), projectile.damage() ); - network_->send( msg ); - } + MessageBodyShipAmmoHit msg( projectile.parent().childID(), victim->userID(), victim->childID(), projectile.damage() ); + network_->send( msg ); victim->hitByAmmo( projectile.damage() ); } } @@ -981,12 +980,10 @@ } void Sector::sendProjectile( const Projectile & projectile ){ - if ( network_->online() ){ - MessageBodyShipProjectileFired msg( projectile.parent().childID(), projectile.shotCount(), - projectile.position().ptr(), projectile.velocity().ptr(), - projectile.damage(), projectile.lifeTime() ); - network_->send( msg ); - } + MessageBodyShipProjectileFired msg( projectile.parent().childID(), projectile.shotCount(), + projectile.position().ptr(), projectile.velocity().ptr(), + projectile.gun()->id(), projectile.damage(), projectile.lifeTime() ); + network_->send( msg ); } void Sector::receiveProjectile( const MessageBodyShipProjectileFired & msg ){ @@ -994,8 +991,15 @@ std::map< long, SectorObjectMoveable * >::iterator it; if ( ( it = movableObjects_.find( createGlobalID( msg.senderID(), msg.childID() ) ) ) != movableObjects_.end() ){ -// Projectile * pro = new Projectile( it->second, msg.shotCount(), msg.velocity().length(), msg.damage(), msg.liveTime() ); -// it->second->addProjectile( pro ); + Gun * gun = dynamic_cast < Gun * >(EquipmentManager::getSingleton().entity( msg.gunID() ) ); + if ( gun->entityType() == GUN ){ + Projectile * pro = new Projectile( it->second, msg.shotCount(), *gun, + toOgreVec( msg.position() ), + toOgreVec( msg.velocity() ) ); + it->second->addProjectile( pro ); + } else { + log_->warn( "Unknown projectile type: " + toStr( msg.gunID() ) ); + } } else { log_->warn( "Unknown shooter" ); } Modified: trunk/src/SectorObjects.cpp =================================================================== --- trunk/src/SectorObjects.cpp 2007-11-18 19:03:10 UTC (rev 853) +++ trunk/src/SectorObjects.cpp 2007-11-21 17:16:39 UTC (rev 854) @@ -236,6 +236,7 @@ } explosion_ = NULL; + armor_ = vessel_->armor(); setThrust( 0 ); updateThruster(); } @@ -470,15 +471,14 @@ void SectorObjectMoveable::inititializeVesselStats_(){ - armor_ = maxArmor(); yaw_ = 0; roll_ = 0; pitch_ = 0; mass_ = 1; + armor_ = 1; thrust_ = 0; - maxThrust_ = 0; - armor_ = 1; + maxThrust_ = 0; shield_ = 0; maxShield_ = 0; @@ -854,7 +854,7 @@ bool SectorObjectAvatar::update( Ogre::Real elapsedTime ){ updatePowerGrid( elapsedTime ); - thrustRate_ += (thrustChange_ *0.5f*elapsedTime); + thrustRate_ += (thrustChange_ * 0.5f * elapsedTime); thrustRate_ = max( thrustRate_, 0.0f ); thrustRate_ = min( 1.0f, thrustRate_ ); if ( thrustChange_ != 0.0 ) updateThruster(); Modified: trunk/src/SectorObjects.h =================================================================== --- trunk/src/SectorObjects.h 2007-11-18 19:03:10 UTC (rev 853) +++ trunk/src/SectorObjects.h 2007-11-21 17:16:39 UTC (rev 854) @@ -70,12 +70,12 @@ inline Ogre::SceneNode & sceneNode() const { return *mountPoint_; } protected: - Gun * gun_; - SectorObject * parent_; - Ogre::SceneNode * mountPoint_; - Uint32 * capacity_; - Ogre::Real delayTime_; - Ogre::Vector3 mountPosition_; + Gun * gun_; + SectorObject * parent_; + Ogre::SceneNode * mountPoint_; + Uint32 * capacity_; + Ogre::Real delayTime_; + Ogre::Vector3 mountPosition_; OpenALSoundSource * gunSound_; }; @@ -276,7 +276,6 @@ /*! Returns the current relative armor. */ inline Ogre::Real armorRate() const { if ( maxArmor() > 0 ) return (float)armor_ / maxArmor(); else return 0.0; } - /*! Set the current shield. */ inline void setShield( Uint32 shield ) { shield_ = shield; } Modified: trunk/src/networkProtocol.cpp =================================================================== --- trunk/src/networkProtocol.cpp 2007-11-18 19:03:10 UTC (rev 853) +++ trunk/src/networkProtocol.cpp 2007-11-21 17:16:39 UTC (rev 854) @@ -119,8 +119,8 @@ MessageBodyShipProjectileFired::MessageBodyShipProjectileFired( Uint8 childID, Uint16 shotCount, const Float * pos, - const Float * vel, Uint32 damage, Float liveTime ) - : MessageBodyShipBase( childID ), shotCount_( shotCount ), damage_( damage ), liveTime_( liveTime ) { + const Float * vel, Uint16 gunID, Uint32 damage, Float liveTime ) + : MessageBodyShipBase( childID ), shotCount_( shotCount ), gunID_( gunID ), damage_( damage ), liveTime_( liveTime ) { type_ = (Uint8)PROTO_SHIP_PROJECTILEFIRED; pos_.v[ 0 ] = pos[ 0 ]; pos_.v[ 1 ] = pos[ 1 ]; pos_.v[ 2 ] = pos[ 2 ]; vel_.v[ 0 ] = vel[ 0 ]; vel_.v[ 1 ] = vel[ 1 ]; vel_.v[ 2 ] = vel[ 2 ]; @@ -133,6 +133,7 @@ readFromData( shotCount_, data, count ); readFromData( pos_, data, count ); readFromData( vel_, data, count ); + readFromData( gunID_, data, count ); readFromData( damage_, data, count ); readFromData( liveTime_, data, count ); } @@ -142,6 +143,7 @@ writeToOut( out_, shotCount_ ); writeToOut( out_, pos_ ); writeToOut( out_, vel_ ); + writeToOut( out_, gunID_ ); writeToOut( out_, damage_ ); writeToOut( out_, liveTime_ ); } Modified: trunk/src/networkProtocol.h =================================================================== --- trunk/src/networkProtocol.h 2007-11-18 19:03:10 UTC (rev 853) +++ trunk/src/networkProtocol.h 2007-11-21 17:16:39 UTC (rev 854) @@ -507,7 +507,7 @@ class MessageBodyShipProjectileFired : public MessageBodyShipBase { public: MessageBodyShipProjectileFired( Uint8 childID, Uint16 shotCount, const Float * pos, const Float * vel, - Uint32 damage, Float liveTime ); + Uint16 gunID, Uint32 damage, Float liveTime ); MessageBodyShipProjectileFired( const char * data ); @@ -515,17 +515,19 @@ void createOutStream(); - Uint16 shotCount() const { return shotCount_ ; } + Uint16 shotCount() const { return shotCount_ ; } FVector3 position() const; FVector3 velocity() const; - Uint32 damage() const { return damage_; } - Float liveTime() const { return liveTime_; } + Uint16 gunID() const { return gunID_; } + Uint32 damage() const { return damage_; } + Float liveTime() const { return liveTime_; } protected: - Uint16 shotCount_; + Uint16 shotCount_; FVector3 pos_; FVector3 vel_; - Uint32 damage_; + Uint16 gunID_; + Uint32 damage_; Float liveTime_; }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ult...@us...> - 2007-11-18 19:03:07
|
Revision: 853 http://opengate.svn.sourceforge.net/opengate/?rev=853&view=rev Author: ultrasick Date: 2007-11-18 11:03:10 -0800 (Sun, 18 Nov 2007) Log Message: ----------- starting/preparing to texturize the catcher Modified Paths: -------------- templates/ships/tauseti/catcher/catcher.blend Added Paths: ----------- templates/ships/tauseti/dark_background.png templates/ships/tauseti/panels.jpg templates/ships/tauseti/panels_-_big.png templates/ships/tauseti/panels_-_dark.png templates/ships/tauseti/viewable_area.7z trunk/data/ships/tauseti/catcher/ trunk/data/ships/tauseti/catcher/1.png Removed Paths: ------------- templates/ships/tauseti/lady_kickstart/dark_background.png templates/ships/tauseti/lady_kickstart/panels.jpg templates/ships/tauseti/lady_kickstart/panels_-_big.png templates/ships/tauseti/lady_kickstart/panels_-_dark.png templates/ships/tauseti/lady_kickstart/viewable_area.7z Modified: templates/ships/tauseti/catcher/catcher.blend =================================================================== (Binary files differ) Added: templates/ships/tauseti/dark_background.png =================================================================== (Binary files differ) Property changes on: templates/ships/tauseti/dark_background.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Deleted: templates/ships/tauseti/lady_kickstart/dark_background.png =================================================================== (Binary files differ) Deleted: templates/ships/tauseti/lady_kickstart/panels.jpg =================================================================== (Binary files differ) Deleted: templates/ships/tauseti/lady_kickstart/panels_-_big.png =================================================================== (Binary files differ) Deleted: templates/ships/tauseti/lady_kickstart/panels_-_dark.png =================================================================== (Binary files differ) Deleted: templates/ships/tauseti/lady_kickstart/viewable_area.7z =================================================================== (Binary files differ) Added: templates/ships/tauseti/panels.jpg =================================================================== (Binary files differ) Property changes on: templates/ships/tauseti/panels.jpg ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: templates/ships/tauseti/panels_-_big.png =================================================================== (Binary files differ) Property changes on: templates/ships/tauseti/panels_-_big.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: templates/ships/tauseti/panels_-_dark.png =================================================================== (Binary files differ) Property changes on: templates/ships/tauseti/panels_-_dark.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: templates/ships/tauseti/viewable_area.7z =================================================================== (Binary files differ) Property changes on: templates/ships/tauseti/viewable_area.7z ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/data/ships/tauseti/catcher/1.png =================================================================== (Binary files differ) Property changes on: trunk/data/ships/tauseti/catcher/1.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-11-18 16:21:16
|
Revision: 852 http://opengate.svn.sourceforge.net/opengate/?rev=852&view=rev Author: ultrasick Date: 2007-11-18 08:21:21 -0800 (Sun, 18 Nov 2007) Log Message: ----------- small changes on sectors Modified Paths: -------------- trunk/TODO.gluck trunk/data/misc/sectors.xml Modified: trunk/TODO.gluck =================================================================== --- trunk/TODO.gluck 2007-11-18 14:55:13 UTC (rev 851) +++ trunk/TODO.gluck 2007-11-18 16:21:21 UTC (rev 852) @@ -1,4 +1,3 @@ before first release: * metaserver f\xFCr die sektorverwaltung vorbereiten -* sektoren in opacma aufnehmen (asteroiden fehlen + random bilder fehlen) -* werbung f\xFCr dark raus \ No newline at end of file +* sektoren in opacma aufnehmen (asteroiden fehlen + random bilder fehlen) \ No newline at end of file Modified: trunk/data/misc/sectors.xml =================================================================== (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-11-18 14:55:09
|
Revision: 851 http://opengate.svn.sourceforge.net/opengate/?rev=851&view=rev Author: ultrasick Date: 2007-11-18 06:55:13 -0800 (Sun, 18 Nov 2007) Log Message: ----------- corrected "amanath" -> "amananth" Added Paths: ----------- templates/logos/amananth/ templates/logos/amananth/transparent_background.png templates/logos/amananth/vectors.svg Removed Paths: ------------- templates/logos/amanath/ Added: templates/logos/amananth/transparent_background.png =================================================================== (Binary files differ) Property changes on: templates/logos/amananth/transparent_background.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: templates/logos/amananth/vectors.svg =================================================================== (Binary files differ) Property changes on: templates/logos/amananth/vectors.svg ___________________________________________________________________ Name: svn:mime-type + image/svg+xml Name: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |