From: <z-...@us...> - 2008-01-28 19:09:50
|
Revision: 7683 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7683&view=rev Author: z-man Date: 2008-01-28 11:09:54 -0800 (Mon, 28 Jan 2008) Log Message: ----------- Disabling astyle for now. More trouble than it is worth with its changed default behavior. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/Makefile.manual armagetronad/branches/0.2.8/armagetronad/batch/make/beautify armagetronad/branches/0.2.8/armagetronad/config/astylerc Modified: armagetronad/branches/0.2.8/armagetronad/Makefile.manual =================================================================== --- armagetronad/branches/0.2.8/armagetronad/Makefile.manual 2008-01-28 18:21:22 UTC (rev 7682) +++ armagetronad/branches/0.2.8/armagetronad/Makefile.manual 2008-01-28 19:09:54 UTC (rev 7683) @@ -6,20 +6,20 @@ # use this target if you're OK with the project's defaults and # want updated file timestamps rebeautify: - ARTISTIC_STYLE_OPTIONS=$(srcdir)/config/astylerc sh $(srcdir)/batch/make/beautify -t $(srcdir) .beautytag.re +# ARTISTIC_STYLE_OPTIONS=$(srcdir)/config/astylerc sh $(srcdir)/batch/make/beautify -t $(srcdir) .beautytag.re # use this target if you want to switch between your settings # (beautify-personal) and the project defaults to get back to # the defaults (timestamps stay untouched) beautify: rm -f $(srcdir)/.beautytag.personal - ARTISTIC_STYLE_OPTIONS=$(srcdir)/config/astylerc sh $(srcdir)/batch/make/beautify $(srcdir) .beautytag +# ARTISTIC_STYLE_OPTIONS=$(srcdir)/config/astylerc sh $(srcdir)/batch/make/beautify $(srcdir) .beautytag # use this target to run astyle with your personal settings for # it (but remember to do "make beautify" before comitting to Subversion!) beautify-personal: rm -f $(srcdir)/.beautytag $(srcdir)/.beautytag.re - ARTISTIC_STYLE_OPTIONS=~/.astylerc sh $(srcdir)/batch/make/beautify $(srcdir) .beautytag.personal +# ARTISTIC_STYLE_OPTIONS=~/.astylerc sh $(srcdir)/batch/make/beautify $(srcdir) .beautytag.personal ########## # Checks # Modified: armagetronad/branches/0.2.8/armagetronad/batch/make/beautify =================================================================== --- armagetronad/branches/0.2.8/armagetronad/batch/make/beautify 2008-01-28 18:21:22 UTC (rev 7682) +++ armagetronad/branches/0.2.8/armagetronad/batch/make/beautify 2008-01-28 19:09:54 UTC (rev 7683) @@ -11,7 +11,7 @@ SRCDIR="$1" shift -if test "$SRCDIR" == "-t"; then +if test "$SRCDIR" = "-t"; then TOUCH=true SRCDIR="$1" shift Modified: armagetronad/branches/0.2.8/armagetronad/config/astylerc =================================================================== --- armagetronad/branches/0.2.8/armagetronad/config/astylerc 2008-01-28 18:21:22 UTC (rev 7682) +++ armagetronad/branches/0.2.8/armagetronad/config/astylerc 2008-01-28 19:09:54 UTC (rev 7683) @@ -1,2 +1,9 @@ # artistic style configuration: just use defaults mode=c + +# humm, the defaults for those changed recently. +# better keep them around, they cause huge pointless +# changes we don't want as long as there are changes +# from 0.2.8 to merge. + +one-line=keep-blocks This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2008-01-29 11:00:23
|
Revision: 7693 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7693&view=rev Author: z-man Date: 2008-01-29 03:00:27 -0800 (Tue, 29 Jan 2008) Log Message: ----------- Added extra alpha blending factors for zones. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/language/english_base.txt armagetronad/branches/0.2.8/armagetronad/src/tron/gWinZone.cpp Modified: armagetronad/branches/0.2.8/armagetronad/language/english_base.txt =================================================================== --- armagetronad/branches/0.2.8/armagetronad/language/english_base.txt 2008-01-29 10:47:51 UTC (rev 7692) +++ armagetronad/branches/0.2.8/armagetronad/language/english_base.txt 2008-01-29 11:00:27 UTC (rev 7693) @@ -715,6 +715,9 @@ filter_name_middle_help Filter excess whitespace and other junk from the middle of player names. filter_color_server_names_help Filter color codes from server names in the server browser. +zone_alpha_help Transparency factor for zone rendering. 1.0 gives full strength. +zone_alpha_server_help Transparency factor for zone rendering, controlled by the server. 1.0 gives full strength. + #screen mode custom_screen_height_help Custom screen size custom_screen_width_help Custom screen size Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gWinZone.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gWinZone.cpp 2008-01-29 10:47:51 UTC (rev 7692) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gWinZone.cpp 2008-01-29 11:00:27 UTC (rev 7693) @@ -404,6 +404,11 @@ return GetRadius(); } +// extra alpha blending factors +static REAL sg_zoneAlpha = 1.0, sg_zoneAlphaServer = 1.0; +static tSettingItem< REAL > sg_zoneAlphaConf( "ZONE_ALPHA", sg_zoneAlpha ); +static nSettingItem< REAL > sg_zoneAlphaConfServer( "ZONE_ALPHA_SERVER", sg_zoneAlphaServer ); + // ******************************************************************************* // * // * Render @@ -424,6 +429,8 @@ if ( alpha <= 0 ) return; + alpha *= sg_zoneAlpha * sg_zoneAlphaServer; + GLfloat m[4][4]={{rotation_.x,rotation_.y,0,0}, {-rotation_.y,rotation_.x,0,0}, {0,0,1,0}, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2008-01-29 15:57:15
|
Revision: 7696 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7696&view=rev Author: z-man Date: 2008-01-29 07:57:18 -0800 (Tue, 29 Jan 2008) Log Message: ----------- Configuration files get reloaded on SIGHUP Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/NEWS armagetronad/branches/0.2.8/armagetronad/language/english_base.txt armagetronad/branches/0.2.8/armagetronad/src/tools/tConfiguration.cpp armagetronad/branches/0.2.8/armagetronad/src/tron/gArmagetron.cpp Modified: armagetronad/branches/0.2.8/armagetronad/NEWS =================================================================== --- armagetronad/branches/0.2.8/armagetronad/NEWS 2008-01-29 15:11:45 UTC (rev 7695) +++ armagetronad/branches/0.2.8/armagetronad/NEWS 2008-01-29 15:57:18 UTC (rev 7696) @@ -54,6 +54,7 @@ console Featurelets: +- Configuration files get reloaded on SIGHUP - A subculture list for server groups that are not managed by our main master servers - A friends list and filter for the server browser that shows you only servers with your friends on them. Modified: armagetronad/branches/0.2.8/armagetronad/language/english_base.txt =================================================================== --- armagetronad/branches/0.2.8/armagetronad/language/english_base.txt 2008-01-29 15:11:45 UTC (rev 7695) +++ armagetronad/branches/0.2.8/armagetronad/language/english_base.txt 2008-01-29 15:57:18 UTC (rev 7696) @@ -2436,6 +2436,7 @@ config_value_changed \1 changed from \2 to \3.\n config_error_read Input error reading \1: invalid format.\n config_message_info \1 is currently set to \2.\n +config_sighup SIGHUP received, reloading configuration.\n nconfig_errror_protected No way. Only the server can change \1.\n nconfig_error_unknown Got conf message for unknown setting \1.\n\nYOU PROBABLY SHOULD UPGRADE ARMAGETRON ADVANCED!!!\n Modified: armagetronad/branches/0.2.8/armagetronad/src/tools/tConfiguration.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tools/tConfiguration.cpp 2008-01-29 15:11:45 UTC (rev 7695) +++ armagetronad/branches/0.2.8/armagetronad/src/tools/tConfiguration.cpp 2008-01-29 15:57:18 UTC (rev 7696) @@ -41,10 +41,15 @@ #include "tRecorder.h" #include "tCommandLine.h" #include "tResourceManager.h" +#include "tToDo.h" #include <vector> #include <string.h> +#ifndef WIN32 +#include <signal.h> +#endif + /*********************************************************************** * The new Configuration interface, currently not completely implemented */ @@ -612,13 +617,17 @@ static tExtraConfigCommandLineAnalyzer s_extraAnalyzer; #endif -void st_LoadConfig() +static void st_InstallSigHupHandler(); + +void st_LoadConfig( bool printChange ) { + st_InstallSigHupHandler(); + const tPath& var = tDirectories::Var(); const tPath& config = tDirectories::Config(); const tPath& data = tDirectories::Data(); - tConfItemBase::printChange=false; + tConfItemBase::printChange=printChange; #ifdef DEDICATED tConfItemBase::printErrors=false; #endif @@ -671,7 +680,35 @@ } } +void st_LoadConfig() +{ + st_LoadConfig( false ); +} +static void st_DoHandleSigHup() +{ + con << tOutput("$config_sighup"); + st_SaveConfig(); + st_LoadConfig(); +} + +static void st_HandleSigHup( int signal ) +{ + st_ToDo( st_DoHandleSigHup ); +} + +static void st_InstallSigHupHandler() +{ +#ifndef WIN32 + static bool installed = false; + if ( !installed ) + { + signal( SIGHUP, &st_HandleSigHup ); + installed = true; + } +#endif +} + void tConfItemLine::ReadVal(std::istream &s){ tString dummy; dummy.ReadLine(s, true); Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gArmagetron.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gArmagetron.cpp 2008-01-29 15:11:45 UTC (rev 7695) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gArmagetron.cpp 2008-01-29 15:57:18 UTC (rev 7696) @@ -62,7 +62,6 @@ #include "rSDL.h" #endif - // data structure for command line parsing class gMainCommandLineAnalyzer: public tCommandLineAnalyzer { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2008-01-29 18:19:05
|
Revision: 7701 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7701&view=rev Author: z-man Date: 2008-01-29 10:18:27 -0800 (Tue, 29 Jan 2008) Log Message: ----------- Added PLAYER_RANDOM_COLOR to randomly pick a collor every round. The new pick gets rejected if it is closer to the other players' colors than the old color, so the thing stabilizes you to a unique color after a while. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/NEWS armagetronad/branches/0.2.8/armagetronad/config/settings.cfg armagetronad/branches/0.2.8/armagetronad/src/engine/ePlayer.cpp Modified: armagetronad/branches/0.2.8/armagetronad/NEWS =================================================================== --- armagetronad/branches/0.2.8/armagetronad/NEWS 2008-01-29 17:07:13 UTC (rev 7700) +++ armagetronad/branches/0.2.8/armagetronad/NEWS 2008-01-29 18:18:27 UTC (rev 7701) @@ -54,6 +54,8 @@ console Featurelets: +- Added PLAYER_RANDOM_COLOR for lazy people who just want to have a + color that differs from everyone else on the server. - Configuration files get reloaded on SIGHUP - A subculture list for server groups that are not managed by our main master servers - A friends list and filter for the server browser that shows you only servers with Modified: armagetronad/branches/0.2.8/armagetronad/config/settings.cfg =================================================================== --- armagetronad/branches/0.2.8/armagetronad/config/settings.cfg 2008-01-29 17:07:13 UTC (rev 7700) +++ armagetronad/branches/0.2.8/armagetronad/config/settings.cfg 2008-01-29 18:18:27 UTC (rev 7701) @@ -325,6 +325,9 @@ CUSTOM_SCREEN_ASPECT 1 # aspect ratio of the pixels (only affects game # rendering, not the menu) +PLAYER_RANDOM_COLOR 0 # if set to 1, a random generator will try to pick a color for you that + # differs from the other players on the server. + ############################################################################################ # # camera settings Modified: armagetronad/branches/0.2.8/armagetronad/src/engine/ePlayer.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/engine/ePlayer.cpp 2008-01-29 17:07:13 UTC (rev 7700) +++ armagetronad/branches/0.2.8/armagetronad/src/engine/ePlayer.cpp 2008-01-29 18:18:27 UTC (rev 7701) @@ -3152,6 +3152,72 @@ Update(); } +static int se_ColorDistance( int a[3], int b[3] ) +{ + int distance = 0; + for( int i = 2; i >= 0; --i ) + { + int diff = a[i] - b[i]; + diff = diff < 0 ? -diff : diff; + if ( diff > distance ) + { + distance = diff; + } + } + + return distance; +} + +bool se_randomizeColor = true; +static tSettingItem< bool > se_randomizeColorConf( "PLAYER_RANDOM_COLOR", se_randomizeColor ); + +static void se_RandomizeColor( ePlayer * l, ePlayerNetID * p ) +{ + int currentRGB[3]; + int newRGB[3]; + int nullRGB[3]={0,0,0}; + + static tReproducibleRandomizer randomizer; + + for( int i = 2; i >= 0; --i ) + { + currentRGB[i] = l->rgb[i]; + newRGB[i] = randomizer.Get(15); + } + + int currentMinDiff = se_ColorDistance( currentRGB, nullRGB ) * 2; + int newMinDiff = se_ColorDistance( newRGB, nullRGB ) * 2; + + // check the minimal distance of the new random color with all players + for ( int i = se_PlayerNetIDs.Len()-1; i >= 0; --i ) + { + ePlayerNetID * other = se_PlayerNetIDs(i); + if ( other != p ) + { + int color[3] = { other->r, other->g, other->b }; + int currentDiff = se_ColorDistance( currentRGB, color ); + int newDiff = se_ColorDistance( newRGB, color ); + if ( currentDiff < currentMinDiff ) + { + currentMinDiff = currentDiff; + } + if ( newDiff < newMinDiff ) + { + newMinDiff = newDiff; + } + } + } + + // update current color + if ( currentMinDiff < newMinDiff ) + { + for( int i = 2; i >= 0; --i ) + { + l->rgb[i] = newRGB[i]; + } + } +} + static nSettingItem<int> se_pingCharityServerConf("PING_CHARITY_SERVER",sn_pingCharityServer ); static nVersionFeature se_pingCharityServerControlled( 14 ); @@ -3193,6 +3259,12 @@ if (bool(p) && in_game){ // update p->favoriteNumberOfPlayersPerTeam=ePlayer::PlayerConfig(i)->favoriteNumberOfPlayersPerTeam; p->nameTeamAfterMe=ePlayer::PlayerConfig(i)->nameTeamAfterMe; + + if ( se_randomizeColor ) + { + se_RandomizeColor(local_p,p); + } + p->r=ePlayer::PlayerConfig(i)->rgb[0]; p->g=ePlayer::PlayerConfig(i)->rgb[1]; p->b=ePlayer::PlayerConfig(i)->rgb[2]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2008-02-04 16:36:32
|
Revision: 7721 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7721&view=rev Author: z-man Date: 2008-02-04 08:36:23 -0800 (Mon, 04 Feb 2008) Log Message: ----------- Better virtual RemoveFromGame logic for eGameObjects, derived classes now don't have to worry about things like removing themselves from the lists or clearing the current grid face (forgetting that has ugly effects). Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/config/settings_dedicated.cfg armagetronad/branches/0.2.8/armagetronad/src/engine/eGameObject.cpp armagetronad/branches/0.2.8/armagetronad/src/engine/eGameObject.h armagetronad/branches/0.2.8/armagetronad/src/engine/eNetGameObject.cpp armagetronad/branches/0.2.8/armagetronad/src/engine/eNetGameObject.h armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.h armagetronad/branches/0.2.8/armagetronad/src/tron/gCycleMovement.cpp armagetronad/branches/0.2.8/armagetronad/src/tron/gCycleMovement.h armagetronad/branches/0.2.8/armagetronad/src/tron/gExplosion.cpp armagetronad/branches/0.2.8/armagetronad/src/tron/gExplosion.h Modified: armagetronad/branches/0.2.8/armagetronad/config/settings_dedicated.cfg =================================================================== --- armagetronad/branches/0.2.8/armagetronad/config/settings_dedicated.cfg 2008-02-04 00:50:18 UTC (rev 7720) +++ armagetronad/branches/0.2.8/armagetronad/config/settings_dedicated.cfg 2008-02-04 16:36:23 UTC (rev 7721) @@ -225,7 +225,7 @@ CYCLE_RUBBER_MINDISTANCE_LEGACY 1 # extra factor for minimal distance to walls enforced by the rubber code, active when peers with the rip bug are connected # single player settings, active while only one client is connected. -# Either SP_MIN_PLAYERS or SP_MIN_TEAMS must be bigger than 1, otherwise there will +# Either SP_MIN_PLAYERS or SP_TEAMS_MIN must be bigger than 1, otherwise there will # be no opponent and no meaningful rounds. SP_TEAM_BALANCE_WITH_AIS needs to stay enabled, # too. Modified: armagetronad/branches/0.2.8/armagetronad/src/engine/eGameObject.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/engine/eGameObject.cpp 2008-02-04 00:50:18 UTC (rev 7720) +++ armagetronad/branches/0.2.8/armagetronad/src/engine/eGameObject.cpp 2008-02-04 16:36:23 UTC (rev 7721) @@ -87,14 +87,43 @@ se_SoundUnlock(); } -void eGameObject::RemoveFromGame(){ +void eGameObject::RemoveFromGame() +{ + int oldID = id; + if ( oldID >= 0 ) + { + AddRef(); + } + + OnRemoveFromGame(); + DoRemoveFromGame(); + + if ( oldID >= 0 ) + { + Release(); + } +} + + +// called on RemoveFromGame(). Call base class implementation, too, in your implementation. +void eGameObject::OnRemoveFromGame() +{ + // remove from lists RemoveFromListsAll(); + // remove from grid + currentFace = 0; +} + + +// called on RemoveFromGame(). Do not call base class implementation of this function, don't expect to get called from subclasses. +void eGameObject::DoRemoveFromGame() +{ + // simply delete delete this; } - eGameObject::eGameObject(eGrid *g,const eCoord &p,const eCoord &d,eFace *currentface,bool autodel) :autodelete(autodel),pos(p),dir(d),z(0),grid(g){ tASSERT(g); Modified: armagetronad/branches/0.2.8/armagetronad/src/engine/eGameObject.h =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/engine/eGameObject.h 2008-02-04 00:50:18 UTC (rev 7720) +++ armagetronad/branches/0.2.8/armagetronad/src/engine/eGameObject.h 2008-02-04 16:36:23 UTC (rev 7721) @@ -108,8 +108,14 @@ void AddToList(); void RemoveFromList(); void RemoveFromListsAll(); - virtual void RemoveFromGame(); // call this instead of the destructor + void RemoveFromGame(); //!< removes the object physically from the game +protected: + virtual void OnRemoveFromGame(); //!< called on RemoveFromGame(). Call base class implementation, too, in your implementation. Must keep the object alive. +private: + virtual void DoRemoveFromGame(); //!< called on RemoveFromGame() after OnRemoveFromGame(). Do not call base class implementation of this function, don't expect to get called from subclasses. +public: + int GOID() const {return id;} REAL LastTime() const {return lastTime;} virtual REAL NextInterestingTime() const {return lastTime;} //!< the next time something interesting is going to happen with this object Modified: armagetronad/branches/0.2.8/armagetronad/src/engine/eNetGameObject.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/engine/eNetGameObject.cpp 2008-02-04 00:50:18 UTC (rev 7720) +++ armagetronad/branches/0.2.8/armagetronad/src/engine/eNetGameObject.cpp 2008-02-04 16:36:23 UTC (rev 7721) @@ -111,14 +111,12 @@ pingOverflow=0; } -void eNetGameObject::RemoveFromGame(){ +void eNetGameObject::DoRemoveFromGame(){ // let the object get deleted on exit if nobody else is interested tControlledPTR< eNetGameObject > bounce; if ( this->GetRefcount() >= 0 ) bounce = this; - RemoveFromListsAll(); - // unregister from player if ( player && this == player->object ) { @@ -126,8 +124,6 @@ } team = NULL; - - currentFace = 0; } eNetGameObject::~eNetGameObject(){ Modified: armagetronad/branches/0.2.8/armagetronad/src/engine/eNetGameObject.h =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/engine/eNetGameObject.h 2008-02-04 00:50:18 UTC (rev 7720) +++ armagetronad/branches/0.2.8/armagetronad/src/engine/eNetGameObject.h 2008-02-04 16:36:23 UTC (rev 7721) @@ -75,7 +75,7 @@ eNetGameObject(eGrid *grid, const eCoord &pos,const eCoord &dir,ePlayerNetID* p,bool autodelete=false); eNetGameObject(nMessage &m); - virtual void RemoveFromGame(); // just remove it from the lists and unregister it + virtual void DoRemoveFromGame(); // just remove it from the lists and unregister it virtual void WriteCreate(nMessage &m); virtual void WriteSync(nMessage &m); Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp 2008-02-04 00:50:18 UTC (rev 7720) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp 2008-02-04 16:36:23 UTC (rev 7721) @@ -2315,7 +2315,7 @@ */ } -void gCycle::RemoveFromGame() +void gCycle::OnRemoveFromGame() { // keep this cycle alive tJUST_CONTROLLED_PTR< gCycle > keep; @@ -2343,7 +2343,7 @@ currentWall=NULL; lastWall=NULL; - gCycleMovement::RemoveFromGame(); + gCycleMovement::OnRemoveFromGame(); } // called when the round ends Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.h =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.h 2008-02-04 00:50:18 UTC (rev 7720) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.h 2008-02-04 16:36:23 UTC (rev 7721) @@ -199,7 +199,7 @@ protected: virtual ~gCycle(); - virtual void RemoveFromGame(); // call this instead of the destructor + virtual void OnRemoveFromGame(); // called when the cycle is physically removed from the game virtual void OnRoundEnd(); //!< called when the round ends Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gCycleMovement.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gCycleMovement.cpp 2008-02-04 00:50:18 UTC (rev 7720) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gCycleMovement.cpp 2008-02-04 16:36:23 UTC (rev 7721) @@ -2568,12 +2568,12 @@ maxSpaceHit_ = NULL; } -void gCycleMovement::RemoveFromGame() +void gCycleMovement::OnRemoveFromGame() { delete maxSpaceHit_; maxSpaceHit_ = NULL; - eNetGameObject::RemoveFromGame(); + eNetGameObject::OnRemoveFromGame(); } // ******************************************************************************************* Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gCycleMovement.h =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gCycleMovement.h 2008-02-04 00:50:18 UTC (rev 7720) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gCycleMovement.h 2008-02-04 16:36:23 UTC (rev 7721) @@ -138,7 +138,7 @@ , bool autodelete=1 ) ; //!< local constructor gCycleMovement ( nMessage & message ) ; //!< remote constructor virtual ~gCycleMovement () ; //!< destructor - virtual void RemoveFromGame(); // call this instead of the destructor + virtual void OnRemoveFromGame(); // called when the cycle is physically removed from the game protected: //! data from sync message struct SyncData Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gExplosion.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gExplosion.cpp 2008-02-04 00:50:18 UTC (rev 7720) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gExplosion.cpp 2008-02-04 16:36:23 UTC (rev 7721) @@ -406,9 +406,8 @@ } #endif -void gExplosion::RemoveFromGame() +void gExplosion::DoRemoveFromGame() { sg_Explosions.Remove( this, listID ); - RemoveFromList(); } Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gExplosion.h =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gExplosion.h 2008-02-04 00:50:18 UTC (rev 7720) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gExplosion.h 2008-02-04 16:36:23 UTC (rev 7721) @@ -67,7 +67,7 @@ virtual void AddRef(){tReferencable< gExplosion >::AddRef();} virtual void Release(){tReferencable< gExplosion >::Release();} - virtual void RemoveFromGame(); + virtual void DoRemoveFromGame(); // called last when the object is removed from the game private: eSoundPlayer sound; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2008-02-04 17:14:15
|
Revision: 7723 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7723&view=rev Author: z-man Date: 2008-02-04 09:14:13 -0800 (Mon, 04 Feb 2008) Log Message: ----------- Merging branch 0.2.8-auth from revision 7558 to 7721: ------------------------------------------------------------------------ r7718 | z-man | 2008-02-04 01:42:47 +0100 (Mon, 04 Feb 2008) | 3 lines Fixed epsy's eavesdropping bug where a moderator that is invited, but not member of a team could read /team messages. When looking for a player name, the input name is now filtered as well. ------------------------------------------------------------------------ r7715 | z-man | 2008-02-01 22:09:11 +0100 (Fri, 01 Feb 2008) | 2 lines Correctly check for the shorthand authority name when checking the authentication server's response. ------------------------------------------------------------------------ r7714 | z-man | 2008-02-01 21:34:13 +0100 (Fri, 01 Feb 2008) | 2 lines Client compiled with --enable-armathentication compiles again (why would a sane person do that?) ------------------------------------------------------------------------ r7709 | z-man | 2008-01-30 20:00:08 +0100 (Wed, 30 Jan 2008) | 2 lines Spectators invited to exactly one team can now also use /team to chat with the team. ------------------------------------------------------------------------ r7700 | z-man | 2008-01-29 18:07:13 +0100 (Tue, 29 Jan 2008) | 2 lines forgot one \n. ------------------------------------------------------------------------ r7690 | z-man | 2008-01-29 01:54:16 +0100 (Tue, 29 Jan 2008) | 2 lines Evaluating the authentication server's username response. ------------------------------------------------------------------------ r7688 | z-man | 2008-01-29 00:55:17 +0100 (Tue, 29 Jan 2008) | 2 lines Adding fully qualified user name to the PASSWORD_OK output. ------------------------------------------------------------------------ r7684 | z-man | 2008-01-28 21:14:37 +0100 (Mon, 28 Jan 2008) | 2 lines Sendig hashes with lowercase hexcodes; php generates them that way by default. ------------------------------------------------------------------------ r7681 | z-man | 2008-01-28 19:03:09 +0100 (Mon, 28 Jan 2008) | 2 lines also removing newlines from headers. ------------------------------------------------------------------------ r7677 | z-man | 2008-01-28 13:06:03 +0100 (Mon, 28 Jan 2008) | 2 lines Stopped abusing http error codes, rely on the message text instead. ------------------------------------------------------------------------ r7676 | z-man | 2008-01-28 11:29:27 +0100 (Mon, 28 Jan 2008) | 2 lines Actually made the code work like the docs say :) ------------------------------------------------------------------------ r7675 | z-man | 2008-01-28 11:25:45 +0100 (Mon, 28 Jan 2008) | 2 lines Documented chat commands. ------------------------------------------------------------------------ r7674 | z-man | 2008-01-28 11:13:33 +0100 (Mon, 28 Jan 2008) | 3 lines Fixed yet another cursor position bug. Text menu items with COLOR_SHOW rendering mode switch to COLOR_USE when not selected. ------------------------------------------------------------------------ r7673 | z-man | 2008-01-28 11:11:54 +0100 (Mon, 28 Jan 2008) | 2 lines MD5_PASSWORD_REMOVE -> USER_REMOVE ------------------------------------------------------------------------ r7672 | z-man | 2008-01-28 02:59:16 +0100 (Mon, 28 Jan 2008) | 2 lines /lock, /unlock, /invite and /uninvite team management chat for players of access level ACCESS_LEVEL_TEAM or better. ------------------------------------------------------------------------ r7671 | z-man | 2008-01-27 21:26:39 +0100 (Sun, 27 Jan 2008) | 2 lines Thorough protection against access elevation by coding bugs. There is one central check to pass, and only one way to circumvent it. ------------------------------------------------------------------------ r7670 | z-man | 2008-01-27 19:59:48 +0100 (Sun, 27 Jan 2008) | 2 lines Fixed broken console wrapping. ------------------------------------------------------------------------ r7669 | z-man | 2008-01-27 19:48:21 +0100 (Sun, 27 Jan 2008) | 2 lines Added ACCESS_LEVEL_IPS to let admins see IPs of players in the list. ------------------------------------------------------------------------ r7668 | z-man | 2008-01-27 18:54:12 +0100 (Sun, 27 Jan 2008) | 2 lines eavesdropping admins no longer get their own /msgs printed twice. ------------------------------------------------------------------------ r7666 | z-man | 2008-01-27 16:34:27 +0100 (Sun, 27 Jan 2008) | 2 lines Removed fallback to bmd5 when the authority did not return a method list, all protocol-non-compilance errors are now fatal and give meaningful error messages (I hope). ------------------------------------------------------------------------ r7665 | z-man | 2008-01-27 15:41:54 +0100 (Sun, 27 Jan 2008) | 2 lines added check for wrong hostname. ------------------------------------------------------------------------ r7663 | z-man | 2008-01-27 14:43:35 +0100 (Sun, 27 Jan 2008) | 2 lines Rejecting raw IP authorities. ------------------------------------------------------------------------ r7662 | z-man | 2008-01-27 14:31:32 +0100 (Sun, 27 Jan 2008) | 2 lines All response keywords transformed to CAPS. ------------------------------------------------------------------------ r7661 | z-man | 2008-01-27 14:31:00 +0100 (Sun, 27 Jan 2008) | 2 lines Password server response is now parsed case-insensitively. ------------------------------------------------------------------------ r7660 | z-man | 2008-01-27 14:08:12 +0100 (Sun, 27 Jan 2008) | 2 lines Repaired debug recordings. ------------------------------------------------------------------------ r7659 | z-man | 2008-01-27 14:02:50 +0100 (Sun, 27 Jan 2008) | 3 lines Short network messages are now ignored and don't cause disconnection. Logins are secured with an additional random token, making it harder to inject fake login accept packets with a wrong IP to circumvent the anti-pharming code. ------------------------------------------------------------------------ r7658 | z-man | 2008-01-27 13:23:59 +0100 (Sun, 27 Jan 2008) | 2 lines Counting with a bool? Not such a good idea :) ------------------------------------------------------------------------ r7653 | z-man | 2008-01-27 01:50:05 +0100 (Sun, 27 Jan 2008) | 2 lines When authentication names are anonymous, you now still get to see your own login messages. ------------------------------------------------------------------------ r7652 | z-man | 2008-01-27 01:30:51 +0100 (Sun, 27 Jan 2008) | 2 lines Finished version 0.1 of the server to authserver protocol. Nobody else seems interested enough, so we'll keep it n00bish. ------------------------------------------------------------------------ r7650 | z-man | 2008-01-27 01:28:27 +0100 (Sun, 27 Jan 2008) | 2 lines added authentication reference php script. ------------------------------------------------------------------------ r7649 | z-man | 2008-01-26 23:36:28 +0100 (Sat, 26 Jan 2008) | 2 lines Added /teams chat command. ------------------------------------------------------------------------ r7648 | z-man | 2008-01-26 21:59:56 +0100 (Sat, 26 Jan 2008) | 2 lines Spectating admins can now see /team messages, and really high level admins can always see /msg messages (they can read them in the logs already). All configurable, of course. ------------------------------------------------------------------------ r7647 | z-man | 2008-01-26 21:20:26 +0100 (Sat, 26 Jan 2008) | 2 lines corrected /admin denied message. ------------------------------------------------------------------------ r7646 | z-man | 2008-01-26 21:11:43 +0100 (Sat, 26 Jan 2008) | 2 lines Using tToLower and tToUpper instead of manually doing the work. ------------------------------------------------------------------------ r7645 | z-man | 2008-01-26 21:10:56 +0100 (Sat, 26 Jan 2008) | 1 line Filtering chat commands to lowercase. ------------------------------------------------------------------------ r7644 | z-man | 2008-01-26 21:10:32 +0100 (Sat, 26 Jan 2008) | 2 lines Added tToLower and tToUpper transform functions. ------------------------------------------------------------------------ r7643 | z-man | 2008-01-26 20:44:16 +0100 (Sat, 26 Jan 2008) | 1 line Better detection and reporting of unknown chat commands. ------------------------------------------------------------------------ r7642 | z-man | 2008-01-26 20:33:13 +0100 (Sat, 26 Jan 2008) | 1 line Fixed clientside generated namechange messages ------------------------------------------------------------------------ r7641 | z-man | 2008-01-26 20:21:33 +0100 (Sat, 26 Jan 2008) | 2 lines ALIAS -> USER_ALIAS ------------------------------------------------------------------------ r7640 | z-man | 2008-01-26 20:09:41 +0100 (Sat, 26 Jan 2008) | 2 lines Bugfixes of sliding play access level. ------------------------------------------------------------------------ r7639 | z-man | 2008-01-26 19:38:53 +0100 (Sat, 26 Jan 2008) | 2 lines Fixed non-authentication version. ------------------------------------------------------------------------ r7638 | z-man | 2008-01-26 19:32:01 +0100 (Sat, 26 Jan 2008) | 2 lines Added intermediate tAccessLevel definitions. Some C++ compilers seem to be smart enough to clamp assignments from ints to enums to defined values. ------------------------------------------------------------------------ r7637 | z-man | 2008-01-26 19:29:34 +0100 (Sat, 26 Jan 2008) | 3 lines Who can play is now managed by ePlayer.cpp itself, and not in the spawning code of gGame.cpp. Added ACCESS_LEVEL_PLAY_SLIDERS to allow tuning the sliding behavior of the to-play access level requirement. ------------------------------------------------------------------------ r7634 | z-man | 2008-01-26 17:31:48 +0100 (Sat, 26 Jan 2008) | 1 line Only include nanohttp when authentication is enabled. ------------------------------------------------------------------------ r7633 | z-man | 2008-01-26 17:30:19 +0100 (Sat, 26 Jan 2008) | 2 lines More SUDO -> CASACL ------------------------------------------------------------------------ r7631 | z-man | 2008-01-26 17:00:21 +0100 (Sat, 26 Jan 2008) | 2 lines SUDO -> CASACL (Check And Set ACcess Level), prounounced like Quetzalcoatl, your friendly Aztec God. ------------------------------------------------------------------------ r7630 | z-man | 2008-01-26 14:33:11 +0100 (Sat, 26 Jan 2008) | 2 lines Further SUDO comment. ------------------------------------------------------------------------ r7629 | z-man | 2008-01-26 13:52:01 +0100 (Sat, 26 Jan 2008) | 2 lines Refined and documented SUDO. ------------------------------------------------------------------------ r7628 | z-man | 2008-01-26 02:53:47 +0100 (Sat, 26 Jan 2008) | 2 lines Activated SUDO command. ------------------------------------------------------------------------ r7627 | z-man | 2008-01-26 02:38:14 +0100 (Sat, 26 Jan 2008) | 2 lines Worked around gcc-3.3 problems with function pointer default arguments. ------------------------------------------------------------------------ r7626 | z-man | 2008-01-26 02:36:50 +0100 (Sat, 26 Jan 2008) | 2 lines Added SUDO command. ------------------------------------------------------------------------ r7625 | z-man | 2008-01-26 00:10:10 +0100 (Sat, 26 Jan 2008) | 8 lines Documented settings. text input fields now let the text wrap correctly and make use of the space allocated for them in a not-completely-dumb way. And *sigh* depending on the text field, color codes are either ignored (for the usernames) or both displayed in text and rendered. "KICK 2pack" no longer kicks user 2 instead of player 2pack. all admin commands now also accept partial name matches, like /msg, and check for case sensitive matches in the screen name first, then the user name, then case insensitive matches in the two. Added authority black/whitelists. Debug recordings now work with authentication and are safe to share, no secret information is recorded. ------------------------------------------------------------------------ r7624 | z-man | 2008-01-24 19:32:12 +0100 (Thu, 24 Jan 2008) | 2 lines Whoops, repaired /msg and other things. ------------------------------------------------------------------------ r7623 | z-man | 2008-01-24 19:08:19 +0100 (Thu, 24 Jan 2008) | 2 lines Added /promote and /demote, saner spam checking. ------------------------------------------------------------------------ r7622 | z-man | 2008-01-24 17:38:19 +0100 (Thu, 24 Jan 2008) | 2 lines No more senseless name change messages, better error messages. ------------------------------------------------------------------------ r7621 | z-man | 2008-01-24 17:10:05 +0100 (Thu, 24 Jan 2008) | 2 lines Added access right settings for /admin commands, regular chat, playing, and the new /(de)op commands (replace /pickup) ------------------------------------------------------------------------ r7620 | z-man | 2008-01-24 15:30:42 +0100 (Thu, 24 Jan 2008) | 2 lines krawallserver -> armathentication :) ------------------------------------------------------------------------ r7619 | z-man | 2008-01-24 14:54:54 +0100 (Thu, 24 Jan 2008) | 2 lines Better screen name reservation; previously, "RESERVE_SCREEN_NAME Z-Man" would have had no effect, because the nickname is compared to the FILTERED name of players; so now the reserved name is filtered as well. ------------------------------------------------------------------------ r7618 | z-man | 2008-01-24 14:27:19 +0100 (Thu, 24 Jan 2008) | 2 lines ZTHread no longer required for remote logins; without threads, the required lookups are done between rounds. ------------------------------------------------------------------------ r7617 | z-man | 2008-01-24 13:55:57 +0100 (Thu, 24 Jan 2008) | 2 lines Updated. ------------------------------------------------------------------------ r7616 | z-man | 2008-01-24 13:40:00 +0100 (Thu, 24 Jan 2008) | 2 lines Proper error reporting when ZThread is not available and we can't to remote logins. ------------------------------------------------------------------------ r7615 | z-man | 2008-01-24 13:30:39 +0100 (Thu, 24 Jan 2008) | 2 lines Added: access levels to user accounts, aliases, reserved screen names, and authentication name based bans for REALLY stupid players. ------------------------------------------------------------------------ r7614 | z-man | 2008-01-24 10:55:49 +0100 (Thu, 24 Jan 2008) | 2 lines Added access levels to configuration system. ------------------------------------------------------------------------ r7613 | z-man | 2008-01-24 03:35:12 +0100 (Thu, 24 Jan 2008) | 2 lines Better error messages. ------------------------------------------------------------------------ r7612 | z-man | 2008-01-24 03:28:19 +0100 (Thu, 24 Jan 2008) | 2 lines seperate message for local logons. ------------------------------------------------------------------------ r7611 | z-man | 2008-01-24 03:12:16 +0100 (Thu, 24 Jan 2008) | 2 lines Added UI elements and non-chat based authentication initiation: in the player setup, there is a Global ID text item and an Auto Login toggle, and in the game menu, if on supporting servers, an Authenticate trigger. ------------------------------------------------------------------------ r7610 | z-man | 2008-01-23 22:08:39 +0100 (Wed, 23 Jan 2008) | 2 lines Less name character escaping. ------------------------------------------------------------------------ r7609 | z-man | 2008-01-23 20:27:20 +0100 (Wed, 23 Jan 2008) | 2 lines Less braindead handling of player names. ------------------------------------------------------------------------ r7608 | z-man | 2008-01-23 18:00:13 +0100 (Wed, 23 Jan 2008) | 2 lines Support for storage of password hashes for schemes with prefix and suffix. ------------------------------------------------------------------------ r7607 | z-man | 2008-01-23 17:53:46 +0100 (Wed, 23 Jan 2008) | 2 lines Filtering port, only to realize that nanohttp does not handle the port correctly anyway. Lowercasing the file path part of the authority for reference, lookup is done with the original. ------------------------------------------------------------------------ r7606 | z-man | 2008-01-23 17:20:57 +0100 (Wed, 23 Jan 2008) | 3 lines Ok, .authentication.armagetronad.net ;) Also, removing this default suffix from the authority if it is there. ------------------------------------------------------------------------ r7605 | z-man | 2008-01-23 17:08:21 +0100 (Wed, 23 Jan 2008) | 2 lines Sanity checking authority URL; appending default .armagetronad.net. ------------------------------------------------------------------------ r7604 | z-man | 2008-01-23 16:23:04 +0100 (Wed, 23 Jan 2008) | 2 lines fixed method retrieval, implemented method property reading. ------------------------------------------------------------------------ r7603 | z-man | 2008-01-23 15:33:12 +0100 (Wed, 23 Jan 2008) | 2 lines Strings get encoded for URIs now, so usernames can have spaces and stuff. ------------------------------------------------------------------------ r7602 | z-man | 2008-01-23 14:00:35 +0100 (Wed, 23 Jan 2008) | 2 lines Fixed abuse of temporary variable returned by std::ostringstream::str(). ------------------------------------------------------------------------ r7599 | z-man | 2008-01-23 11:17:13 +0100 (Wed, 23 Jan 2008) | 2 lines Fixes for non-zthread owners. ------------------------------------------------------------------------ r7598 | z-man | 2008-01-23 10:42:47 +0100 (Wed, 23 Jan 2008) | 2 lines Also removing pending login processes from view when the client logs out; they may be kept alive by running tasks. ------------------------------------------------------------------------ r7597 | z-man | 2008-01-23 04:05:28 +0100 (Wed, 23 Jan 2008) | 4 lines Two bugfixes: clients would clear the username sent by the server before opening the password form servers would ignore login attemps if the same client previously disconnected while in the process of logging in. ------------------------------------------------------------------------ r7596 | z-man | 2008-01-23 03:47:35 +0100 (Wed, 23 Jan 2008) | 2 lines Forgot to re-activate the Executer that actually uses background threads :) ------------------------------------------------------------------------ r7595 | z-man | 2008-01-23 03:45:03 +0100 (Wed, 23 Jan 2008) | 2 lines New, clearer structure without tread-troubling global variables on the server side. ------------------------------------------------------------------------ r7594 | z-man | 2008-01-23 03:44:31 +0100 (Wed, 23 Jan 2008) | 2 lines Test for zthread is only done when krawallserver is activated. ------------------------------------------------------------------------ r7593 | z-man | 2008-01-23 03:43:58 +0100 (Wed, 23 Jan 2008) | 2 lines Added convenience functions to machine observers. ------------------------------------------------------------------------ r7592 | z-man | 2008-01-23 03:06:58 +0100 (Wed, 23 Jan 2008) | 2 lines Added thread-safe variant of referencable objects. ------------------------------------------------------------------------ r7588 | z-man | 2008-01-22 18:16:04 +0100 (Tue, 22 Jan 2008) | 2 lines Improved password entry form, all forms of canceling are recognized, failed automatic logins are repeated automatically. ------------------------------------------------------------------------ r7587 | z-man | 2008-01-22 16:33:47 +0100 (Tue, 22 Jan 2008) | 2 lines Added authentication hash method query; the server now picks a method client, server and authority support (or gives up). ------------------------------------------------------------------------ r7586 | z-man | 2008-01-22 16:19:52 +0100 (Tue, 22 Jan 2008) | 2 lines Reduced number of mutex lock points in memory manager to 2; eliminated information passing over global variables. ------------------------------------------------------------------------ r7580 | z-man | 2008-01-22 10:11:20 +0100 (Tue, 22 Jan 2008) | 2 lines Earlier mutex locking. Eek, there is lots of communication using global variables. ------------------------------------------------------------------------ r7579 | z-man | 2008-01-22 04:01:00 +0100 (Tue, 22 Jan 2008) | 2 lines skeletons for fetching additional data about users and authentication methods. ------------------------------------------------------------------------ r7578 | z-man | 2008-01-22 03:05:53 +0100 (Tue, 22 Jan 2008) | 2 lines Leakfix and even better error messages. ------------------------------------------------------------------------ r7577 | z-man | 2008-01-22 03:05:08 +0100 (Tue, 22 Jan 2008) | 2 lines Using an Executer instead of manually starting threads. ------------------------------------------------------------------------ r7576 | z-man | 2008-01-22 03:04:10 +0100 (Tue, 22 Jan 2008) | 2 lines Call DoToDo() while waiting for real players. ------------------------------------------------------------------------ r7575 | z-man | 2008-01-22 02:37:47 +0100 (Tue, 22 Jan 2008) | 2 lines Silenced leak warnings from external libraries. ------------------------------------------------------------------------ r7574 | z-man | 2008-01-21 20:46:06 +0100 (Mon, 21 Jan 2008) | 2 lines Refactoring, clientside support for good md5 format (not yet final), better error messages for the user. ------------------------------------------------------------------------ r7573 | z-man | 2008-01-21 20:35:28 +0100 (Mon, 21 Jan 2008) | 2 lines Fixed deadlock. ------------------------------------------------------------------------ r7571 | luke-jr | 2008-01-21 14:21:05 +0100 (Mon, 21 Jan 2008) | 1 line fix z-mans typos ------------------------------------------------------------------------ r7561 | z-man | 2008-01-21 11:57:48 +0100 (Mon, 21 Jan 2008) | 2 lines Removed extra semicolon. ------------------------------------------------------------------------ r7560 | z-man | 2008-01-21 11:45:48 +0100 (Mon, 21 Jan 2008) | 2 lines Adapted to Tank's forum based auth script. Login with "/login authentication.armagetronad.net" now :) ------------------------------------------------------------------------ r7559 | z-man | 2008-01-21 11:36:51 +0100 (Mon, 21 Jan 2008) | 2 lines Commited patch 0.4, basically. ------------------------------------------------------------------------ Revision Links: -------------- http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7558&view=rev Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/NEWS armagetronad/branches/0.2.8/armagetronad/config/settings_dedicated.cfg armagetronad/branches/0.2.8/armagetronad/configure.ac armagetronad/branches/0.2.8/armagetronad/language/deutsch.txt armagetronad/branches/0.2.8/armagetronad/language/english_base.txt armagetronad/branches/0.2.8/armagetronad/language/english_base_notranslate.txt armagetronad/branches/0.2.8/armagetronad/language/french.txt armagetronad/branches/0.2.8/armagetronad/language/spanish.txt armagetronad/branches/0.2.8/armagetronad/src/engine/ePlayer.cpp armagetronad/branches/0.2.8/armagetronad/src/engine/ePlayer.h armagetronad/branches/0.2.8/armagetronad/src/engine/eTeam.cpp armagetronad/branches/0.2.8/armagetronad/src/engine/eTeam.h armagetronad/branches/0.2.8/armagetronad/src/engine/eVoter.cpp armagetronad/branches/0.2.8/armagetronad/src/engine/eVoter.h armagetronad/branches/0.2.8/armagetronad/src/network/nAuthentification.cpp armagetronad/branches/0.2.8/armagetronad/src/network/nAuthentification.h armagetronad/branches/0.2.8/armagetronad/src/network/nConfig.cpp armagetronad/branches/0.2.8/armagetronad/src/network/nKrawall.cpp armagetronad/branches/0.2.8/armagetronad/src/network/nKrawall.h armagetronad/branches/0.2.8/armagetronad/src/network/nKrawallPrivate.cpp armagetronad/branches/0.2.8/armagetronad/src/network/nNetwork.cpp armagetronad/branches/0.2.8/armagetronad/src/network/nNetwork.h armagetronad/branches/0.2.8/armagetronad/src/network/nServerInfo.cpp armagetronad/branches/0.2.8/armagetronad/src/render/rConsoleGraph.cpp armagetronad/branches/0.2.8/armagetronad/src/render/rFont.cpp armagetronad/branches/0.2.8/armagetronad/src/render/rFont.h armagetronad/branches/0.2.8/armagetronad/src/tools/tConfiguration.cpp armagetronad/branches/0.2.8/armagetronad/src/tools/tConfiguration.h armagetronad/branches/0.2.8/armagetronad/src/tools/tLocale.h armagetronad/branches/0.2.8/armagetronad/src/tools/tMemManager.cpp armagetronad/branches/0.2.8/armagetronad/src/tools/tMemManager.h armagetronad/branches/0.2.8/armagetronad/src/tools/tSafePTR.h armagetronad/branches/0.2.8/armagetronad/src/tools/tString.cpp armagetronad/branches/0.2.8/armagetronad/src/tools/tString.h armagetronad/branches/0.2.8/armagetronad/src/tools/tToDo.cpp armagetronad/branches/0.2.8/armagetronad/src/tron/gAIBase.cpp armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp armagetronad/branches/0.2.8/armagetronad/src/tron/gGame.cpp armagetronad/branches/0.2.8/armagetronad/src/tron/gMenus.cpp armagetronad/branches/0.2.8/armagetronad/src/ui/uInput.cpp armagetronad/branches/0.2.8/armagetronad/src/ui/uInputQueue.cpp armagetronad/branches/0.2.8/armagetronad/src/ui/uInputQueue.h armagetronad/branches/0.2.8/armagetronad/src/ui/uMenu.cpp armagetronad/branches/0.2.8/armagetronad/src/ui/uMenu.h Added Paths: ----------- armagetronad/branches/0.2.8/armagetronad/batch/authentication_reference.php armagetronad/branches/0.2.8/armagetronad/config/settings_authentication.cfg Modified: armagetronad/branches/0.2.8/armagetronad/NEWS =================================================================== --- armagetronad/branches/0.2.8/armagetronad/NEWS 2008-02-04 17:01:03 UTC (rev 7722) +++ armagetronad/branches/0.2.8/armagetronad/NEWS 2008-02-04 17:14:13 UTC (rev 7723) @@ -53,10 +53,35 @@ - PLAYER_MESSAGE <user ID or name> <Message>: Like /msg, but from the console +If --enable-armathentication was activated: +- /lock, /unlock, /invite and /uninvite team management chat for players of + access level ACCESS_LEVEL_TEAM or better. +- /teams chat command that rougly prints team layout. +- ACCESS_LEVEL_IPS to let admins see IPs of players in the list. +- ACCESS_LEVEL_SPY_MSG/TEAM to let admins spy on team/private messages. +- CASACL to temporarily raise the access level +- ACCESS_LEVEL to modify the required access level to change settings +- AUTHORITY_WHITELIST and AUTHORITY_BLACKLIST to filter authorities you want on your server. +- GLOBAL_ID_ENABLED to toggle remote accounts +- LOCAL_USER, LOCAL_TEAM for local login accounts +- MD5_PREFIX/MD5_SUFFIX for additional password scrambling +- USER_LEVEL to grant users various access levels +- RESERVE_SCREEN_NAME to reserve a screen name to a certain player +- USER_ALIAS to bend authentication names around +- (UN)BAN_USER to ban really stupid users based on their global user ID, + BAN_USER_LIST to show a list. +- ACCESS_LEVEL_OP/ADMIN/CHAT/PLAY/PLAY_SLIDING to control who can do which things +- /login chat command then uses the more secure hashed base logins +- new chat commands /op, /deop, /promote and /demote to change other players' access rights + Featurelets: - Added PLAYER_RANDOM_COLOR for lazy people who just want to have a color that differs from everyone else on the server. - Configuration files get reloaded on SIGHUP +- all admin commands now also accept partial name matches, like /msg, and check for case sensitive + matches in the screen name first, then the user name, then case insensitive matches in the two. +- --enable-krawallserver has been actually implemented now, and it enables secure logins + to accounts local to the server and not-so-secure logins managed by authentication servers. - A subculture list for server groups that are not managed by our main master servers - A friends list and filter for the server browser that shows you only servers with your friends on them. @@ -101,6 +126,10 @@ - ROUND_SCORE has the player's team's score appended. Bugfixes: +- Text input fields now let the text wrap correctly and make use of the space allocated + for them in a not-completely-dumb way. And *sigh* depending on the text field, color + codes are either ignored (for the usernames) or both displayed in text and rendered. +- "KICK 2pack" no longer kicks user 2 instead of player 2pack. - Fixed various trail end related extrapolation/simulation inaccuracies that looked like lag. - When extrapolating, the game's sensors never detected own or teammates' walls, Copied: armagetronad/branches/0.2.8/armagetronad/batch/authentication_reference.php (from rev 7721, armagetronad/branches/0.2.8-auth/armagetronad/batch/authentication_reference.php) =================================================================== --- armagetronad/branches/0.2.8/armagetronad/batch/authentication_reference.php (rev 0) +++ armagetronad/branches/0.2.8/armagetronad/batch/authentication_reference.php 2008-02-04 17:14:13 UTC (rev 7723) @@ -0,0 +1,285 @@ +<?php + +//////////////////////////////////////////////////// +// +// Authentication server, reference implementation 0.1 +// +// To run authority X, this script needs to be +// adapted and be callable from a web browser as +// http://X/armaauth/0.1 +// +// the easiest way to do so is to name the script index.php +// and place it into an appropriate armaauth/0.1 +// directory on a web server that supports php. +// +//////////////////////////////////////////////////// + +// however, before they are used, %u is replaced by the username. + +function substitutions( $fix, $user ) +{ + return str_replace( "%u", $user, $fix ); +} + + +// this function reports the result of the check back to the +// qerying AA server. + +function conclude($statusCode, $msg) +{ + // if you do want to abuse return error codes (the servers + // work fine with parsing the text response), uncomment + // the next line. The request is technically always successful. + $statusCode = 200; + + // the status codes passed in have been chosen somewhat + // meaningfully (200: ok, 404: something not found, + // 401: password failure) but still violate the standard. + + // report error code in header + header("Status: $statusCode", true, $statusCode); + header("Content-Type: text/plain"); + + // print message + die("$msg\n"); +} + +// read authority from gloval variables +$authority = $_SERVER['HTTP_HOST']; + +//////////////////////////////////////////////////// +// Bits you need to change follow. +//////////////////////////////////////////////////// + +// You should definitely check that the hostname the game +// server used to contact you is the one you intend it +// to use; otherwise, there may be problems with web +// servers known under different names. You should uncomment +// this and add your real authority hostname. + +/* +if ( $authority != "authority" ) + conclude( 404, "WRONG_HOST" ); +*/ + +// The user "database": fetch the password for a user. +// If you are fine with storing plaintext passwords, +// adapt this function; otherwise, adapt getPasswordHash(). + +function getPassword( $user ) +{ + // the user/password database. For very small groups + // of users, you may just get away with expanding this + // array. + $passwords= array ( + 'test' => 'password' // clever choice there, test + ); + + $password = $passwords[ $user ]; + if ( NULL == $password ) + return NULL; + + // return a pair of username and password. + // it is important that you return the username + // exactly as it appeared in the database. + // If the username lookup is case insensitive, + // the rest of the script and the game servers + // need to know what the correct form of the name + // is. + return array( $user, $password ); +} + +// these two functions return prefix and suffix for the md5 +// hash method. They are prepended/appended to the password +// before md5 is applied on it. Adapt them to the way your +// md5 password hash is stored in your database. + +// IMPORTANT: if you want to keep the %u (a good idea for +// security, prevents precomputation attacks on the passwords) +// user name lookup needs to be case sensitive, or there will +// be unexplainable password failures. + +function getPrefix() +{ + return "%u:aaauth:"; +} + +function getSuffix() +{ + global $authority; + return ":$authority"; +} + +// You do not need plain text passwords. The +// checks on the passwords are done to a hash function +// thereof. You can just as well precompute the +// work of this function and store the result, +// and maybe your user database already contains +// the one or other hash. phpBB, for example, +// stores md5( $password ). + +function getPasswordHash( $user, $method ) +{ + // fetch the plaintext password + $userInfo = getPassword( $user ); + if ( NULL == $userInfo ) + return NULL; + + // unpack the data + $trueUser = $userInfo[0]; + $password = $userInfo[1]; + + // check that neither prefix nor suffix conain %u if $trueUser != $user + if ( $trueUser != $user && ( strpos( getPrefix(), '%u' ) !== FALSE || strpos( getPrefix(), '%u' ) !== FALSE ) ) + { + conclude(404, 'UNKNOWN_USER ' . $user . ' Do not use %u in pre/suffix if your user database is making case-insensitive lookups.'); + } + + // two methods are currently supported + // by server and client, bmd5 (broken md5) + // and md5. Both use the md5 hash algorithm. + + switch( $method ) + { + case 'bmd5': + // bmd5 quirk: the hash is computed for password + a trailing 0 + $password = "$password" . chr(0); + break; + + case "md5": + // md5 adds the prefix and suffix before calculating + // the hash. The example values are chosen so that the + // resulting hash is the same one you find in .htdigest + // files and that is used in the digest http authentication + // method. If you set the prefix and suffix to empty + // strings, the resulting hash will be the one found + // in phpBB user databases. + $password = substitutions( getPrefix(), $trueUser ) . "$password" . substitutions( getSuffix(), $trueUser ); + break; + } + + // after that, both methods just calculate the md5 hash + // and return that. + return array( $trueUser, md5( $password ) ); +} + +// comma separated lists of methods you support. If, for example, +// you cannot generate the hash for the bmd5 method, just +// remove it from this list. + +function getMethods() +{ + return "md5, bmd5"; +} + +//////////////////////////////////////////////////// +// The rest of the script should not be changed, +//////////////////////////////////////////////////// + +// Of course, the AA password query passes in some variables. +// The first is the query type; it can either be +// 'methods' for a list of supported methods, +// 'params' for a list of method parameters, or +// 'check' to check a user's identity. + +$query = @strtolower($_REQUEST['query'] . ''); + +switch ( $query ) +{ +case "methods": + // give lists of supported methods. It's supposed to be "methods", + // followed by a comma and/or whitespace separated list of the methods. + conclude(200, 'METHODS '. getMethods() ); + break; + +// the other two queries pass in more parameters, both have +// the 'method' parameter that tells you which method should +// be used. Well behaved servers will pick one of the methods +// you support. + +case "params": + $method = @strtolower($_REQUEST['method'] . ''); + + // give method parameter info + if ( $method == 'md5' ) + { + // give prefix and suffix + conclude( 200, "PREFIX " . getPrefix() . "\nSUFFIX " . getSuffix() ); + } + + if ( $method == 'bmd5' ) + { + // bmd5 does not support or need extra parameters. + conclude(200 , '' ); + } + + // we know nothing about this. + conclude(404 , 'UNKNOWN_METHOD' ); + break; + +case "check": + $method = @strtolower($_REQUEST['method'] . ''); + + // the last query passes in the username to check, + $user = @$_REQUEST['user'] . ''; + + // a salt value (128 bit hexcoded) + $salt = @$_REQUEST['salt'] . ''; + + // and a hash value the AA client has computed. + $hash = @$_REQUEST['hash'] . ''; + + // we're supposed to check whether that hash is correct; + // to do so, we need to do the same operations to the + // password the client has done. + + // first, the client computed a hash of the password + // with method-specific rules. <TV cook mode> we have + // already prepared that here. </TV cook mode>. + $userInfo = getPasswordHash( $user, $method ); + + // check if user exists in the first place. + if ( $userInfo == NULL ) + { + conclude(404, 'UNKNOWN_USER ' . $user ); + } + + // unpack user info + $trueUser = $userInfo[0]; + $correctPasswordHash = $userInfo[1]; + + // the operations the AA client did were not on the hex-encoded + // hashes we have so far, but on binary packed variants thereof: + $packedSalt = pack("H*", $salt); + $correctPackedPasswordHash = pack('H*', $correctPasswordHash); + + // the client then simply calculated the MD5 sum of the two + // concatenated packed values. + $correctHash = md5($correctPackedPasswordHash . $packedSalt); + + // well, let's see if the client got it right! + if (strcasecmp($hash, $correctHash) === 0) + { + // he did! Return OK, followed by the user's full name. + conclude(200, 'PASSWORD_OK ' . $trueUser . '@' . $authority ); + } + + // he didn't. + conclude(401, 'PASSWORD_FAIL' ); + + // That's it. Note that any response other that a text beginning + // with "PASSWORD_OK" and a 200 return code will be interpreted + // by the server as an error and authentication will fail. + + // String comparisons for the control words (METHODS, PASSWORD_OK) + // are case-insensitive on the server. We just like to return them + // as caps becasue that looks more like CONTOL_CODES. + break; + +default: + // we don't know what the server wants from us + // if execution ends up here. + conclude(404, 'UNKNOWN_QUERY'); +} + +?> Copied: armagetronad/branches/0.2.8/armagetronad/config/settings_authentication.cfg (from rev 7721, armagetronad/branches/0.2.8-auth/armagetronad/config/settings_authentication.cfg) =================================================================== --- armagetronad/branches/0.2.8/armagetronad/config/settings_authentication.cfg (rev 0) +++ armagetronad/branches/0.2.8/armagetronad/config/settings_authentication.cfg 2008-02-04 17:14:13 UTC (rev 7723) @@ -0,0 +1,419 @@ +######################################################################### +# IMPORTANT: Users should NOT edit this file. Instead, copy the +# lines you want to change into a new file named autoexec.cfg +# ( either here or in your var directory ). +# This file will be overwritten when you upgrade, autoexec.cfg won't. +# Be sure to save the file as plain text, not rich text, especially +# if you're using TextEdit on a Mac. +######################################################################### + +######################################################################### +# +# Policies +# +######################################################################### + +# As all Armagetron subsystems, Authentication is complex and has many +# options for you to tweak. The policies for the default settings were +# chosen with the following priorities: +# 1. Compatibility with old clients +# 2. Security +# 3. General usability +# If you are a very security aware person, you will probably disagree +# with the priority choilce of 1. vs 2, and want to get maximal security, +# even if that means old clients will not be able to authenticate on +# your server; in this case, uncomment the following line: + +# HASH_METHOD_BLACKLIST bmd5 + +# this will disable the hash protocol clients up to 0.2.8.2.1 knew as +# the only one, which is vulnerable to relatively easy man in the +# middle attacks. New clients will, by default, refuse to use it, so +# if the the admins on your server are well educated and protect their +# login data with all means available to them, which includes using an +# up-to-date client, you should be safe even without this setting. +# You may get the occasional faked login from a regular player, though. + +######################################################################### +# +# Local Accounts +# +######################################################################### + +# To help your local users store their passwords, you should change the +# following settings to something server-specific: + +MD5_PREFIX %u: +MD5_SUFFIX :arma + +# those are strings that are appended/prepended to the password before +# the hash function is applied to them. So far, only the md5 protocol +# supports them, bmd5 ignores them. If you put a %u into the strings, +# it will be replaced by the username. This helps combat precomputation +# attacks; for team accounts, it will force the password to be kept in +# memory in plain text, though (not much of a problem). +# You need to set these up before you define the accounts. + +# The following commands are available for you to create local accounts: + +# LOCAL_USER <user name> <user password> + +# Creates an account for a single player. You should restrict the username +# to ASCII characters, best lowercase letters and numbers, and avoid spaces +# and the symbols @, #, \, :, and %. They will still work, but look ugly +# in the logs and on the screen because they all need to get escaped. +# Spaces in the username, if you absolutely must have them, need to +# be quoted or escaped, the user "Foo Bar" can get an account with either +# LOCAL_USER "Foo Bar" <password> +# or +# LOCAL_USER Foo\ Bar <password> +# You can get a literal \ into a usename by putting it there twice. + +# When logged in, local user accounts will appear as <user name>@ in the logs +# and on the screen, and they will have "Local" access rights by default. + +# You can also define accounts for whole teams with + +# LOCAL_TEAM <team name> <team password> + +# Those accouts will allow login from all usernames with a name starting with +# the team name. Users logged in via such an account will appear as +# <user name>@L_TEAM and get the access rights of "Team Member", more +# about that later. Accounts of this type are intended to be used for organized +# tournaments. + +# You can remove both kinds of accounts with USER_REMOVE. + +######################################################################### +# +# Remote Accounts +# +######################################################################### + +# We support a distributed authentication system where a user has to only get +# an account at the authority of his choice and use that to authenticate with +# on all participating servers. By default, this system is disabled. Enable +# it by changing the following setting to 1. + +GLOBAL_ID 0 + +# Your server will then make connection to the remote authentication servers +# every time a user will try to authenticate; those connections will happen +# in the background and should not cause too much extra lag. + +# Accounts from remote authentication servers will appear as +# <user name>@<authority> in your logs. + +# Maybe you don't want to accept logins from all authorities. If you want to +# exclude some, put them into this comma separated list: + +AUTHORITY_BLACKLIST + +# If you only want to accept logins from a selected group of authorities, put +# them into this comma separated list: + +AUTHORITY_WHITELIST + +######################################################################### +# +# Access Rights +# +######################################################################### + +# The old, single password inteface to the /admin command is disabled +# when you compile a server with this authentication. Instead, you +# can assign access rights to individual players with + +# USER_LEVEL <user name> <level> + +# The user name is the user's full authentication name as it appears in +# your logs, with all the escapes and character encodings; the "Foo Bar@" +# user from the example above would usually appear as Foo\_Bar@, and that +# is how you need to put him there. The level is the numberic access level; +# lower values are better. The predefined meanings (of course, you can +# disagree and define your own) of these are: + +# Level Meaning Details +# 0 Owner The owner of the server. Commands entered on the +# server console are executed with these rights. +# 1 Admin A server administrator. By default, almost as +# powerful as the owner himself. +# 2 Moderator A server moderator. Is still allowed to use /admin, +# but is restricted to player management commands. +# 7 Team Leader Leader of a team. By default, no admin rights at all. +# 8 Team Member Member of a team. Local team accounts get this level. +# 12 Local User Players with local accounts get this level. +# 15 Authenticated Players with remote accounts get this level. +# 20 Program Unauthenticated players. + +# As you see, lower numeric values mean more access rights. When we say +# "a user needs at least level X to do Y", that means his numeric level +# needs to be smaller or equal than X. + +# Remote (Global ID) accounts run a slightly higher risk of getting +# compromised than local accounts (simpy due to the fact that they +# will get used more often in more locations), so you should restrict +# Admin and Moderator rights to local accounts. To still have your +# Admins and Moderators appear with their Global ID accounts in your +# logs, use this little trick: define them a local account, give +# the rights to that, and define an alias for the local account: + +# LOCAL_USER z-man <password> +# USER_LEVEL z-man@ 1 +# USER_ALIAS z-man@ Z-Man@forums + +# When your admin then logs in to your server under his global account, +# nothing special happens; only when he uses your local account, he +# will get the access rights, and apart from that, there will be no +# differences; he still wil appear under his global account. + +# You can modifiy the minimal access rights required to do certain things. +# First, there are the administrative chat commands. To use /admin, you +# need to be at least + +ACCESS_LEVEL_ADMIN 2 + +# To use the /op, /dop, /promote and /demote ad-hoc access level modifying +# commands, you need ot have at least + +ACCESS_LEVEL_OP 7 + +# and these commands cannot raise the level of a user above + +ACCESS_LEVEL_OP_MAX 2 + +# (and of course, not above the player issuing these commands.) + +# To manage teams with the /lock, /unlock, /invite and /univite commands +# in all circumstances, you need this access level: + +ACCESS_LEVEL_TEAM 7 + +# As an emergency feature, /unlock and /invite are also always available +# to the players with the highest access level of a team. + +# To play on the server, you need to be at least at + +ACCESS_LEVEL_PLAY 20 + +# However, if at leat + +ACCESS_LEVEL_PLAY_SLIDERS 4 + +# users of a higher access level than you want to play, and +# your level is below + +ACCESS_LEVEL_PLAY_SLIDING 20 + +# you still will not be able to play. This is for servers with +# flexible tournament schedules, there you'll want to raise +# it to the level of 8 (Team Member), so that once some members +# of teams authorized to play on your server log in, all other +# players get removed. + +# To be able to chat, you need at least this level: + +ACCESS_LEVEL_CHAT 20 + +# If you don't have that, everyone on the server will be reminded +# that you want to chat at most every + +ACCESS_LEVEL_CHAT_TIMEOUT 60 + +# seconds. + +# If you are spectating a game and your access level is at least + +ACCESS_LEVEL_SPY_TEAM 2 + +#, you will see all /team messages. And if your level is at least + +ACCESS_LEVEL_SPY_MSG 0 + +# (no need to be a spectator), you will also see the /msg messages. + +# Having sufficient rights to use /admin does not entitle you to +# use all of the commands; they need to be unlocked for you. +# By default, most Admins can use all commands. To change the +# access level required to use a command, use + +# ACCESS_LEVEL <command> <level> + +# That command itself is by default restricted to be used by +# the owner, because it is the master key to all other commands. +# Sensible commands to unlock for moderator use are: + +ACCESS_LEVEL PLAYER_MESSAGE 2 +ACCESS_LEVEL KICK 2 +ACCESS_LEVEL BAN 2 +ACCESS_LEVEL KICK_TO 2 +ACCESS_LEVEL MOVE_TO 2 +ACCESS_LEVEL KILL 2 +ACCESS_LEVEL SILENCE 2 +ACCESS_LEVEL VOICE 2 +ACCESS_LEVEL CONSOLE_MESSAGE 2 +ACCESS_LEVEL CENTER_MESSAGE 2 + +# If you want to give team members access to the basic /admin command, +# you can also allow them to manage players: + +ACCESS_LEVEL ALLOW_TEAM_CHANGE_PLAYER 7 +ACCESS_LEVEL DISALLOW_TEAM_CHANGE_PLAYER 7 + +# A very powerful command with access levels is CASACL, prounounced +# like Quetzalcoatl, your friendly Aztec God. A bit like the suid flag +# on Unix executables, the setuid system command, and not completely +# unlike the sudo shell command or, if you go very far, Access Control +# in Vista, it allows to change the access level a config file is +# executed under. If you put + +# CASACL <required access level> <elevated access level> + +# into a configuration file, and a remote admin with at least the rights +# <required access level> orders to include that file, the commands after +# the CASACL command will be executed as if the user had access level +# <elevated access level>. Otherwise, script execution is aborted. +# The effect carries on to other config files included by the one with +# the CASACL command, but wears off as soon as processing the file with +# the command is done. Especially, since every command given as remote +# admin directly is considered one file, "/admin CASACL 20 0" will elevate +# the rights to Owner, but since no second command can be issued on the +# same line, nothing further happens. + +# We recommend you put a CASACL command at the top of every configuration +# file your remote administrators are going to include; it serves two +# purposes then: it guards the file from unauthorized inclusion, and +# it makes sure all the commands in the file work whenever the initial +# CASACL command is passed, provided you test it once with any account. +# This avoids scripts that only work partially and leave your server +# in an unhealthy state. + +# Oh yeah, CASACL is short for Check And Set ACcess Level. + +######################################################################### +# +# Chat Commands +# +######################################################################### + +# They have been mentioned in the previous section, so why not document +# them here? The following chat commands are available to authenticated +# users of high enough access level: + +# /admin <command> + +# executes the console command <command> with the access rights of +# the invoking user. + + +# /op <player name> <optional access level> + +# gives another player a higher access level; the level defaults to the +# level one lower than the caller's access level, which is also the maximal +# possible level. + +# /deop <player name> + +# reverses /op; it takes away a player's access level, effectively making +# him unauthenticated again. Only works on players of lower access level than +# the invoker, of course. + +# /promote <player name> <optional steps> + +# elevates a player's access level the given number of steps (default: one). + +# /demomote <player name> <optional steps> + +# lowers a player's access level the given number of steps (default: one). + +# Of course, you can't promote or demote someone of a higher access levle than +# yourself, and you can't raise a player's access level to more than one level +# below yours with either command. + + +# /lock + +# Locks your current team. Nobody can join it any more on their own. +# To let someone in, you need to invoke + +# /invite <player name> + +# From that moment on, the player is allowed to join you. Another effect +# of /inivte, even if your team is not locked, is that the invited player +# can read all of your team's /team messages. Invitations are permanent +# until revoked. That means a player who is invited into your team can +# join and leave it freely without further need to /invite him again. +# Players who were on the team when you /locked it are not automatically +# invited when they leave on their own account. + +# /uninvite <player name> + +# reverses /invite. The invitation is revoked, the player can no longer +# join you, and if he currently is on your team, he will be thrown out. + +# /unlock + +# makes your team available for everyone to join again. + + +######################################################################### +# +# Various +# +######################################################################### + +# The log format in ladderlog.txt is picked so that no unauthenticated +# user can ever appear under the same name as an authenticated user. To +# achieve that, @ signs are escaped for unauthenticated users. That +# changes their names relative to the way they appeared in older versions +# of the server. If you rather want to keep the names of unauthenticated +# players as they were before, change this to 1: + +LEGACY_LOG_NAMES 0 + +# Then, instead of mangling unauthenticated names, the authenticated names +# get a 0: prepended before them. + +# Really, really stupid users can be banned via their user ID with + +# BAN_USER <user> + +# Players of average intellect will not be stopped from playing by this, +# but they won't appear in your logs as authenticated and won't collect +# rating points for their account, so maybe this is not so useless as +# it seems. You can revert a ban with + +# UNBAN_USER <user> + +# and get a list with + +# BAN_USER_LIST + +# You can reserve a screen name to a certain user: + +# RESERVE_SCREEN_NAME <user> <screen name> + +# All other players, authenticated or not, will not be able to change their +# screen name to the picked name, then.The command is of course only +# of use if you have set ALLOW_IMPOSTORS to 0. + +# You can bend authenticated user names around with + +# USER_ALIAS <user> <alias> + +# after doing that, a player who authenticates as <user> will appear +# as <alias>. He will get granted the access rights you gave both +# IDs. + +# By default, the authentication names of all players are visible to +# everyone. You can grant your players a certain degree of anonymity +# by hiding the user names of all players of a certain maximal access +# level with + +ACCESS_LEVEL_HIDE_OF 15 + +# However, to users of the minimal access level + +ACCESS_LEVEL_HIDE_TO 2 + +# , all user names are shown at all times. Modified: armagetronad/branches/0.2.8/armagetronad/config/settings_dedicated.cfg =================================================================== --- armagetronad/branches/0.2.8/armagetronad/config/settings_dedicated.cfg 2008-02-04 17:01:03 UTC (rev 7722) +++ armagetronad/branches/0.2.8/armagetronad/config/settings_dedicated.cfg 2008-02-04 17:14:13 UTC (rev 7723) @@ -101,6 +101,15 @@ ############################################################################################ # +# Authentication +# +############################################################################################ + +# if you compiled your server with authentication enabled, you can uncomment the following line: +# SINCLUDE settings_authentication.cfg + +############################################################################################ +# # Public information # ############################################################################################ Modified: armagetronad/branches/0.2.8/armagetronad/configure.ac =================================================================== --- armagetronad/branches/0.2.8/armagetronad/configure.ac 2008-02-04 17:01:03 UTC (rev 7722) +++ armagetronad/branches/0.2.8/armagetronad/configure.ac 2008-02-04 17:14:13 UTC (rev 7723) @@ -129,13 +129,13 @@ AC_ARG_ENABLE(krawall, AC_HELP_STRING([--enable-krawall], - [enable special code for the krawall gaming network (user authentification...) (default=disabled)]),, + [enable special visuals for the krawall gaming network (default=disabled)]),, enable_krawall=no) -AC_ARG_ENABLE(krawallserver, - AC_HELP_STRING([--enable-krawallserver], - [enable special code for the krawall gaming network SERVER (user database query...). dont't touch this! (default=disabled)]),, -enable_krawallserver=no) +AC_ARG_ENABLE(armathentication, + AC_HELP_STRING([--enable-armathentication], + [enable server side code for the krawall style user authentication (default=disabled)]),, +enable_armathentication=no) AC_ARG_ENABLE(automakedefaults, AC_HELP_STRING([--enable-automakedefaults], @@ -235,7 +235,7 @@ AC_DEFINE(KRAWALL,,enables krawall) fi -if test x$enable_krawallserver = xyes; then +if test x$enable_armathentication = xyes; then AC_DEFINE(KRAWALL_SERVER,,enables krawall server) fi @@ -507,8 +507,28 @@ ) # fi +dnl ************************************************* +dnl ZThread +dnl ************************************************* + +if test x$enable_armathentication = xyes; then + +test -z "$ZTHREAD_CONFIG" && ZTHREAD_CONFIG=zthread-config + +if $ZTHREAD_CONFIG --libs > /dev/null; then + CPPFLAGS="$CPPFLAGS `$ZTHREAD_CONFIG --cflags`" + LIBS="`$ZTHREAD_CONFIG --libs` $LIBS" + AC_CHECK_LIB(ZThread,xmlParseMemory, + AC_DEFINE(HAVE_LIBZTHREAD,,[Define if you have the ZThread library]), + AC_MSG_WARN([ZThread library not found; $ZTHREAD_CONFIG gave non-working linker flags.]) + ,) +else + AC_MSG_WARN([ZThread library not found; $ZTHREAD_CONFIG does not work/exist.]) fi +fi # krawall +fi # armamain + dnl ************************************************* dnl math dnl ************************************************* @@ -899,7 +919,7 @@ echo "" if test x$build_dedicated = xtrue -o x$armamaster = xtrue ; then -echo " Build with Krawall authentication support (server): $enable_krawallserver" +echo " Build with Armathentication support (server): $enable_armathentication" echo " Init scripts will be installed in : $initdir" echo " Dynamic data will be kept in : `eval echo ${aa_localstatedir}`" echo " PID files will be kept in : `eval echo ${rundir}`" Modified: armagetronad/branches/0.2.8/armagetronad/language/deutsch.txt =================================================================== --- armagetronad/branches/0.2.8/armagetronad/language/deutsch.txt 2008-02-04 17:01:03 UTC (rev 7722) +++ armagetronad/branches/0.2.8/armagetronad/language/deutsch.txt 2008-02-04 17:14:13 UTC (rev 7723) @@ -2221,7 +2221,7 @@ network_warn_unknowndescriptor \n\n\nUnbekannte Nachricht (ID \1) erhalten.\n\nES IST RATSAM, EINE NEUE VERSION VON ARMAGETRON ZU BESORGEN!!!!\n network_error Netzwerkfehler.\n network_error_timeout Verbindung zu Benutzer \1 verloren.\n -network_error_shortmessage Benutzer \1 sendet eine unzul\xE4ssige (zu kurze) Nachricht. Er wird beseitigt.\n +network_error_shortmessage Benutzer \1 sendet eine unzul\xE4ssige (zu kurze) Nachricht.\n network_error_overflow Benutzer \1 kommt mit dem Netzwerkverkehr nicht hinterher.\n network_killuser Beseitige Benutzer \1, Ping \... [truncated message content] |
From: <wrt...@us...> - 2008-02-04 19:03:42
|
Revision: 7724 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7724&view=rev Author: wrtlprnft Date: 2008-02-04 11:03:33 -0800 (Mon, 04 Feb 2008) Log Message: ----------- replaced TEAM_ALLOW_SHUFFLE_UP by ACCESSL_LEVEL_SHUFFLE_UP if armathication is enabled Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/config/settings_authentication.cfg armagetronad/branches/0.2.8/armagetronad/language/english_base.txt armagetronad/branches/0.2.8/armagetronad/src/engine/ePlayer.cpp Modified: armagetronad/branches/0.2.8/armagetronad/config/settings_authentication.cfg =================================================================== --- armagetronad/branches/0.2.8/armagetronad/config/settings_authentication.cfg 2008-02-04 17:14:13 UTC (rev 7723) +++ armagetronad/branches/0.2.8/armagetronad/config/settings_authentication.cfg 2008-02-04 19:03:33 UTC (rev 7724) @@ -232,6 +232,12 @@ # (no need to be a spectator), you will also see the /msg messages. +# Another change when compiling aith armathication is that the old +# setting TEAM_ALLOW_SHUFFLE_UP is replaced by an access level +# that's required to shuffle up. This defaults to team members. + +ACCESS_LEVEL_SHUFFLE_UP 8 + # Having sufficient rights to use /admin does not entitle you to # use all of the commands; they need to be unlocked for you. # By default, most Admins can use all commands. To change the @@ -326,7 +332,7 @@ # lowers a player's access level the given number of steps (default: one). -# Of course, you can't promote or demote someone of a higher access levle than +# Of course, you can't promote or demote someone of a higher access level than # yourself, and you can't raise a player's access level to more than one level # below yours with either command. Modified: armagetronad/branches/0.2.8/armagetronad/language/english_base.txt =================================================================== --- armagetronad/branches/0.2.8/armagetronad/language/english_base.txt 2008-02-04 17:14:13 UTC (rev 7723) +++ armagetronad/branches/0.2.8/armagetronad/language/english_base.txt 2008-02-04 19:03:33 UTC (rev 7724) @@ -2556,6 +2556,7 @@ access_level_promote \1 has been promoted to "\2" by order of \3.\n access_level_admin_denied 0xff7f7f/admin denied,0xffffff insufficient access level.\n +access_level_shuffle_up_denied You have an insufficient access level to shuffle up.\n chat_command_unknown Unknown chat command "\1".\n Modified: armagetronad/branches/0.2.8/armagetronad/src/engine/ePlayer.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/engine/ePlayer.cpp 2008-02-04 17:14:13 UTC (rev 7723) +++ armagetronad/branches/0.2.8/armagetronad/src/engine/ePlayer.cpp 2008-02-04 19:03:33 UTC (rev 7724) @@ -2336,10 +2336,15 @@ static tSettingItem<REAL> se_alreadySaidTimeoutConf("SPAM_PROTECTION_REPEAT", se_alreadySaidTimeout); +#ifndef KRAWALL_SERVER // flag set to allow players to shuffle themselves up in a team static bool se_allowShuffleUp=false; static tSettingItem<bool> se_allowShuffleUpConf("TEAM_ALLOW_SHUFFLE_UP", se_allowShuffleUp); +#else +static tAccessLevel se_shuffleUpAccessLevel = tAccessLevelTeamMember; +static tSettingItem< tAccessLevel > se_shuffleUpAccessLevelConf( "ACCESS_LEVEL_SHUFFLE_UP", se_shuffleUpAccessLevel ); +#endif static bool se_silenceAll = false; // flag indicating whether new players should be silenced @@ -2814,24 +2819,35 @@ else IDWish = msg.toInt()-1; } - + if (IDWish < 0) IDWish = 0; if (IDWish >= len) IDWish = len-1; - - if ( !se_allowShuffleUp && IDWish < IDNow ) - { - sn_ConsoleOut(tOutput("$player_noshuffleup"), p->Owner()); - return; - } - + + if(IDWish < IDNow) + { +#ifndef KRAWALL_SERVER + if ( !se_allowShuffleUp ) + { + sn_ConsoleOut(tOutput("$player_noshuffleup"), p->Owner()); + return; + } +#else + if ( !p->GetAccessLevel() > se_shuffleUpAccessLevel ) + { + sn_ConsoleOut(tOutput("$access_level_shuffle_up_denied"), p->Owner()); + return; + } +#endif + } + if( IDNow == IDWish ) { sn_ConsoleOut(tOutput("$player_noshuffle"), p->Owner()); return; } - + p->CurrentTeam()->Shuffle( IDNow, IDWish ); se_ListTeam( p, p->CurrentTeam() ); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2008-02-04 23:15:33
|
Revision: 7735 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7735&view=rev Author: z-man Date: 2008-02-04 15:15:38 -0800 (Mon, 04 Feb 2008) Log Message: ----------- Informing users about delays in the login process. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/language/english_base.txt armagetronad/branches/0.2.8/armagetronad/src/network/nAuthentication.cpp Modified: armagetronad/branches/0.2.8/armagetronad/language/english_base.txt =================================================================== --- armagetronad/branches/0.2.8/armagetronad/language/english_base.txt 2008-02-04 22:07:14 UTC (rev 7734) +++ armagetronad/branches/0.2.8/armagetronad/language/english_base.txt 2008-02-04 23:15:38 UTC (rev 7735) @@ -2567,6 +2567,7 @@ hash_method_blacklist_help List of hash authentication methods to disable support for. login_message_requested User \1 requests authentication as "\2@\3".\n +login_message_delayed Your login process will be delayed because the server configuration makes it impossible to be processed immedeately in the background. We're sorry for the inconvenience.\n login_message_responded Password request sent to user \1, username "\2", method \3, message "\4".\n login_message \3\1 has been logged in as \2.\n login_message_byorder Order of \1: Modified: armagetronad/branches/0.2.8/armagetronad/src/network/nAuthentication.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/network/nAuthentication.cpp 2008-02-04 22:07:14 UTC (rev 7734) +++ armagetronad/branches/0.2.8/armagetronad/src/network/nAuthentication.cpp 2008-02-04 23:15:38 UTC (rev 7735) @@ -390,6 +390,16 @@ { // install self reference to keep this object alive selfReference_ = this; + + // inform the user about delays + bool delays = false; +#ifdef HAVE_LIBZTHREAD + delays = tRecorder::IsRunning(); +#endif + if ( delays ) + { + sn_ConsoleOut( tOutput( "$login_message_delayed" ), userID ); + } } ~nLoginProcess() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wrt...@us...> - 2008-02-05 15:37:06
|
Revision: 7741 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7741&view=rev Author: wrtlprnft Date: 2008-02-05 07:37:09 -0800 (Tue, 05 Feb 2008) Log Message: ----------- You can now specify the amount of indentation for wrapped console lines by using CONSOLE_INDENT. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/NEWS armagetronad/branches/0.2.8/armagetronad/language/english_base.txt armagetronad/branches/0.2.8/armagetronad/src/render/rConsoleGraph.cpp Modified: armagetronad/branches/0.2.8/armagetronad/NEWS =================================================================== --- armagetronad/branches/0.2.8/armagetronad/NEWS 2008-02-05 15:31:02 UTC (rev 7740) +++ armagetronad/branches/0.2.8/armagetronad/NEWS 2008-02-05 15:37:09 UTC (rev 7741) @@ -124,6 +124,8 @@ - NUM_HUMANS <n>: There are <n> players that are not AIs and are part of a team. - ROUND_SCORE has the player's team's score appended. +- Wrapped console lines are indented by an amount of spaces that can be + specified using the setting CONSOLE_INDENT. Bugfixes: - Text input fields now let the text wrap correctly and make use of the space allocated Modified: armagetronad/branches/0.2.8/armagetronad/language/english_base.txt =================================================================== --- armagetronad/branches/0.2.8/armagetronad/language/english_base.txt 2008-02-05 15:31:02 UTC (rev 7740) +++ armagetronad/branches/0.2.8/armagetronad/language/english_base.txt 2008-02-05 15:37:09 UTC (rev 7741) @@ -685,6 +685,7 @@ console_columns_help Number of characters in each line of console output console_rows_help Number of lines of console output without user intervention console_rows_max_help Number of lines of console output when scrolling back +console_indent_help Number of spaces each continuation of a wrapped console line is indented by console_decorate_id_help Decorates every line of console output with the client ID console_decorate_ip_help Decorates every line of console output with the client IP console_ladder_log_help Sends ladder log output to the console Modified: armagetronad/branches/0.2.8/armagetronad/src/render/rConsoleGraph.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/render/rConsoleGraph.cpp 2008-02-05 15:31:02 UTC (rev 7740) +++ armagetronad/branches/0.2.8/armagetronad/src/render/rConsoleGraph.cpp 2008-02-05 15:37:09 UTC (rev 7741) @@ -67,6 +67,9 @@ static int sr_columns = 78; static tConfItem<int> sr_columnsConf("CONSOLE_COLUMNS",sr_columns); +static int sr_indent = 3; +static tConfItem<int> sr_indentConf("CONSOLE_INDENT",sr_indent); + void rConsole::Render(){ if (!sr_glOut) return; @@ -107,7 +110,7 @@ rTextField out(-.95f,.99f,rCWIDTH_CON,rCHEIGHT_CON);//,&rFont::s_defaultFontSmall); out.SetWidth(static_cast<int>(1.9f/out.GetCWidth())); - out.SetIndent(3); + out.SetIndent(sr_indent); int i; for (i=currentTop;i<=currentIn && i<=currentTop+MaxHeight();i++) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wrt...@us...> - 2008-02-05 18:38:20
|
Revision: 7744 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7744&view=rev Author: wrtlprnft Date: 2008-02-05 10:38:06 -0800 (Tue, 05 Feb 2008) Log Message: ----------- ZONA_ALPHA_TOGGLE: allows people like epsy to render zones as if alpha blending was switched off. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/NEWS armagetronad/branches/0.2.8/armagetronad/language/english_base.txt armagetronad/branches/0.2.8/armagetronad/src/tron/gWinZone.cpp Modified: armagetronad/branches/0.2.8/armagetronad/NEWS =================================================================== --- armagetronad/branches/0.2.8/armagetronad/NEWS 2008-02-05 17:06:10 UTC (rev 7743) +++ armagetronad/branches/0.2.8/armagetronad/NEWS 2008-02-05 18:38:06 UTC (rev 7744) @@ -50,8 +50,10 @@ arbitrary things like /foobarz or /mode ctf - CONSOLE_LADDER_LOG boolean places the ladderlog on stdout prefixed with "[L] " -- PLAYER_MESSAGE <user ID or name> <Message>: Like /msg, but from the +- PLAYER_MESSAGE <user ID or name> <Message>: Like /msg, but from the console +- ZONE_ALPHA_TOGGLE: When rendering zones ZONE_ALPHA_TOGGLE xor ALPHA_BLEND + determines whether to render zones as filled rectangles If --enable-armathentication was activated: - /lock, /unlock, /invite and /uninvite team management chat for players of Modified: armagetronad/branches/0.2.8/armagetronad/language/english_base.txt =================================================================== --- armagetronad/branches/0.2.8/armagetronad/language/english_base.txt 2008-02-05 17:06:10 UTC (rev 7743) +++ armagetronad/branches/0.2.8/armagetronad/language/english_base.txt 2008-02-05 18:38:06 UTC (rev 7744) @@ -680,6 +680,7 @@ poly_antialias_help Enable polygon antialiasing persp_correct_help Enable perspective correction alpha_blend_help Enable alpha blending +zone_alpha_toggle_help This is XORd with ALPHA_BLEND to determine the way to draw zones smooth_shading_help Enable smooth shading text_out_help Enable console text output console_columns_help Number of characters in each line of console output Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gWinZone.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gWinZone.cpp 2008-02-05 17:06:10 UTC (rev 7743) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gWinZone.cpp 2008-02-05 18:38:06 UTC (rev 7744) @@ -43,6 +43,9 @@ #include <time.h> #include <algorithm> +static int sg_zoneAlphaToggle = 0; +static tSettingItem<int> sg_zoneAlphaToggleConf( "ZONE_ALPHA_TOGGLE", sg_zoneAlphaToggle ); + static int sg_zoneDeath = 1; static tSettingItem<int> sg_zoneDeathConf( "WIN_ZONE_DEATHS", sg_zoneDeath ); @@ -454,7 +457,7 @@ glMultMatrixf(&m[0][0]); // glScalef(.5,.5,.5); - if ( sr_alphaBlend ) + if ( sr_alphaBlend ? !sg_zoneAlphaToggle : sg_zoneAlphaToggle ) BeginQuads(); else BeginLineStrip(); @@ -481,7 +484,7 @@ glVertex3f(sb, cb, top); glVertex3f(sb, cb, bot); - if ( !sr_alphaBlend ) + if ( sr_alphaBlend ? sg_zoneAlphaToggle : !sg_zoneAlphaToggle ) { glVertex3f(sa, ca, bot); RenderEnd(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2008-02-06 13:36:36
|
Revision: 7759 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7759&view=rev Author: z-man Date: 2008-02-06 05:36:41 -0800 (Wed, 06 Feb 2008) Log Message: ----------- Better test for ZThread. Taken from official Automake macro, and modified that it actually works. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/acinclude.m4 armagetronad/branches/0.2.8/armagetronad/configure.ac Modified: armagetronad/branches/0.2.8/armagetronad/acinclude.m4 =================================================================== --- armagetronad/branches/0.2.8/armagetronad/acinclude.m4 2008-02-06 13:35:17 UTC (rev 7758) +++ armagetronad/branches/0.2.8/armagetronad/acinclude.m4 2008-02-06 13:36:41 UTC (rev 7759) @@ -335,3 +335,208 @@ AC_SUBST(BINRELOC_CFLAGS) AC_SUBST(BINRELOC_LIBS) ]) + +dnl Modified ZThread test follows. This one works, AM_PATH_ZTHREAD alone does not. +dnl Changes: hacked compiler temporarily to use CXX instead of CC +dnl added zthread/ to include path +dnl added #include "zthread/Task.h" and #include "zthread/Thread.h" + +dnl Copyright (c) 2005, Eric Crahen +dnl +dnl Permission is hereby granted, free of charge, to any person obtaining a copy +dnl of this software and associated documentation files (the "Software"), to deal +dnl in the Software without restriction, including without limitation the rights +dnl to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +dnl copies of the Software, and to permit persons to whom the Software is furnished +dnl to do so, subject to the following conditions: +dnl +dnl The above copyright notice and this permission notice shall be included in all +dnl copies or substantial portions of the Software. +dnl +dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +dnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +dnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +dnl AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +dnl WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +dnl CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +dnl Detect the library and include paths for ZThreads, perform some test +dnl compilations. +dnl +dnl Should be used in AC_PROG_CC mode before the swtich to C++ if any is made +dnl (eg before AC_LANG_CPLUSPLUS) +dnl +dnl --with-zthread-prefix : Skip detection, use this general path +dnl --with-zthread-exec-prefix : Skip detecting the zthread-config tool +dnl +dnl Sets the following variables. +dnl +dnl ZTHREAD_CXXFLAGS +dnl ZTHREAD_LIBS +dnl +AC_DEFUN([AM_PATH_ZTHREAD_AA], +[ + + +AC_ARG_WITH(zthread-prefix,[ --with-zthread-prefix=PFX Prefix where ZTHREAD is installed (optional)], + zthread_prefix="$withval", zthread_prefix="") +AC_ARG_WITH(zthread-exec-prefix,[ --with-zthread-exec-prefix=PFX Exec prefix where ZTHREAD is installed (optional)], + zthread_exec_prefix="$withval", zthread_exec_prefix="") +AC_ARG_ENABLE(zthreadtest, [ --disable-zthreadtest Do not try to compile and run a test ZTHREAD program], + , enable_zthreadtest=yes) + + if test x$zthread_exec_prefix != x ; then + zthread_args="$zthread_args --exec-prefix=$zthread_exec_prefix" + if test x${ZTHREAD_CONFIG+set} != xset ; then + ZTHREAD_CONFIG=$zthread_exec_prefix/bin/zthread-config + fi + fi + if test x$zthread_prefix != x ; then + zthread_args="$zthread_args --prefix=$zthread_prefix" + if test x${ZTHREAD_CONFIG+set} != xset ; then + ZTHREAD_CONFIG=$zthread_prefix/bin/zthread-config + fi + fi + + AC_PATH_PROG(ZTHREAD_CONFIG, zthread-config, no) + min_zthread_version=ifelse([$1], ,0.11.0,$1) + AC_MSG_CHECKING(for ZTHREAD - version >= $min_zthread_version) + no_zthread="" + if test "$ZTHREAD_CONFIG" = "no" ; then + no_zthread=yes + else + ZTHREAD_CXXFLAGS=`$ZTHREAD_CONFIG $zthreadconf_args --cflags` + ZTHREAD_LIBS=`$ZTHREAD_CONFIG $zthreadconf_args --libs` + + zthread_major_version=`$ZTHREAD_CONFIG $zthread_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` + zthread_minor_version=`$ZTHREAD_CONFIG $zthread_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` + zthread_micro_version=`$ZTHREAD_CONFIG $zthread_config_args --version | \ + sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` + if test "x$enable_zthreadtest" = "xyes" ; then + ac_save_CXXFLAGS="$CXXFLAGS" + ac_save_LIBS="$LIBS" + CXXFLAGS="$CXXFLAGS $ZTHREAD_CXXFLAGS" + LIBS="$LIBS $ZTHREAD_LIBS" + +dnl +dnl Now check if the installed ZTHREAD is sufficiently new. (Also sanity +dnl checks the results of zthread-config to some extent +dnl + rm -f conf.zthreadtest + CC_OLD=${CC} + CC=${CXX} + AC_TRY_RUN([ + + +#include <stdio.h> +#include <string.h> +#include <unistd.h> +#include "zthread/Task.h" +#include "zthread/Thread.h" +#include "zthread/ZThread.h" + +int main (int argc, char *argv[]) { + + int major, minor, micro; + char tmp_version[256]; + + { FILE *fp = fopen("conf.zthreadtest", "a"); if ( fp ) fclose(fp); } + + + /* HP/UX 9 (%@#!) writes to sscanf strings */ + strcpy(tmp_version, "$min_zthread_version"); + + if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { + + printf("%s, bad version string\n", "$min_zthread_version"); + return 1; + + } + + if (($zthread_major_version > major) || + (($zthread_major_version == major) && ($zthread_minor_version > minor)) || + (($zthread_major_version == major) && ($zthread_minor_version == minor) && + ($zthread_micro_version >= micro))) { + return 0; + } else { + + printf("\n*** 'zthread-config --version' returned %d.%d.%d, but the minimum version\n", $zthread_major_version, $zthread_minor_version, $zthread_micro_version); + printf("*** of ZThread required is %d.%d.%d. If zthread-config is correct, then it is\n", major, minor, micro); + printf("*** best to upgrade to the required version.\n"); + printf("*** If zthread-config was wrong, set the environment variable ZTHREAD_CONFIG\n"); + printf("*** to point to the correct copy of zthread-config, and remove the file\n"); + printf("*** config.cache before re-running configure\n"); + + return 1; + } + +} + +],, no_zthread=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) + CC=${CC_OLD} + CXXFLAGS="$ac_save_CXXFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + + if test "x$no_zthread" = x ; then + + AC_MSG_RESULT(yes) + ifelse([$2], , :, [$2]) + + else + + AC_MSG_RESULT(no) + + if test "$ZTHREAD_CONFIG" = "no" ; then + + echo "*** The zthread-config script installed by ZThread could not be found" + echo "*** If ZThread was installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or set the ZTHREAD_CONFIG environment variable to the" + echo "*** full path to zthread-config." + + else + if test -f conf.zthreadtest ; then + : + else + + echo "*** Could not run ZThread test program, checking why..." + CXXFLAGS="$CXXFLAGS $ZTHREAD_CXXFLAGS" + LIBS="$LIBS $ZTHREAD_LIBS" + + echo $LIBS; + + AC_TRY_LINK([#include "zthread/ZThread.h"], + [ return 0; ], [ + echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding ZThread or finding the wrong" + echo "*** version of ZThread. If it is not finding ZThread, you'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], + [ echo "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means ZThread was incorrectly installed" + echo "*** or that you have moved ZThread since it was installed. In the latter case, you" + echo "*** may want to edit the zthread-config script: $ZTHREAD_CONFIG" ]) + CXXFLAGS="$ac_save_CXXFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + + ZTHREAD_CXXFLAGS="" + ZTHREAD_LIBS="" + ifelse([$3], , :, [$3]) + + fi + + AC_SUBST(ZTHREAD_CXXFLAGS) + AC_SUBST(ZTHREAD_LIBS) + + rm -f conf.zthreadtest + +]) Modified: armagetronad/branches/0.2.8/armagetronad/configure.ac =================================================================== --- armagetronad/branches/0.2.8/armagetronad/configure.ac 2008-02-06 13:35:17 UTC (rev 7758) +++ armagetronad/branches/0.2.8/armagetronad/configure.ac 2008-02-06 13:36:41 UTC (rev 7759) @@ -295,7 +295,7 @@ dnl Checks for programs. dnl C Compiler: -dnl AC_PROG_CC +AC_PROG_CC AC_PROG_CPP dnl C++ Compiler: @@ -513,19 +513,8 @@ if test x$enable_armathentication = xyes; then -test -z "$ZTHREAD_CONFIG" && ZTHREAD_CONFIG=zthread-config +AM_PATH_ZTHREAD_AA -if $ZTHREAD_CONFIG --libs > /dev/null; then - CPPFLAGS="$CPPFLAGS `$ZTHREAD_CONFIG --cflags`" - LIBS="`$ZTHREAD_CONFIG --libs` $LIBS" - AC_CHECK_LIB(ZThread,xmlParseMemory, - AC_DEFINE(HAVE_LIBZTHREAD,,[Define if you have the ZThread library]), - AC_MSG_WARN([ZThread library not found; $ZTHREAD_CONFIG gave non-working linker flags.]) - ,) -else - AC_MSG_WARN([ZThread library not found; $ZTHREAD_CONFIG does not work/exist.]) -fi - fi # krawall fi # armamain This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2008-02-06 15:06:15
|
Revision: 7761 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7761&view=rev Author: z-man Date: 2008-02-06 07:06:20 -0800 (Wed, 06 Feb 2008) Log Message: ----------- Ok, now really fixed the libZThread compilation. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/acinclude.m4 armagetronad/branches/0.2.8/armagetronad/configure.ac Modified: armagetronad/branches/0.2.8/armagetronad/acinclude.m4 =================================================================== --- armagetronad/branches/0.2.8/armagetronad/acinclude.m4 2008-02-06 13:46:52 UTC (rev 7760) +++ armagetronad/branches/0.2.8/armagetronad/acinclude.m4 2008-02-06 15:06:20 UTC (rev 7761) @@ -483,8 +483,8 @@ fi if test "x$no_zthread" = x ; then - - AC_DEFINE(HAVE_LIBZTHREAD) + + AC_DEFINE(HAVE_LIBZTHREAD,[], [Define if you have the library ZThread.]) AC_MSG_RESULT(yes) ifelse([$2], , :, [$2]) Modified: armagetronad/branches/0.2.8/armagetronad/configure.ac =================================================================== --- armagetronad/branches/0.2.8/armagetronad/configure.ac 2008-02-06 13:46:52 UTC (rev 7760) +++ armagetronad/branches/0.2.8/armagetronad/configure.ac 2008-02-06 15:06:20 UTC (rev 7761) @@ -514,6 +514,8 @@ if test x$enable_armathentication = xyes; then AM_PATH_ZTHREAD_AA +CXXFLAGS="${CXXFLAGS} ${ZTHREAD_CXXFLAGS}" +LIBS="${LIBS} ${ZTHREAD_LIBS}" fi # krawall fi # armamain This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-07 20:42:45
|
Revision: 7774 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7774&view=rev Author: bazaarmagetron Date: 2008-02-07 12:42:48 -0800 (Thu, 07 Feb 2008) Log Message: ----------- tron -> tronad Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/README Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info + timestamp: 2008-02-07 17:32:47.161999941 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: 0.2.8-armagetronad-work Name: bzr:file-ids + Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz Modified: armagetronad/branches/0.2.8/armagetronad/README =================================================================== --- armagetronad/branches/0.2.8/armagetronad/README 2008-02-07 12:08:02 UTC (rev 7773) +++ armagetronad/branches/0.2.8/armagetronad/README 2008-02-07 20:42:48 UTC (rev 7774) @@ -1,3 +1,3 @@ All the documentation for Armagetron is now in the doc/ directory and in HTML. Starting point is, of course, doc/index.html. -The directory is usually located in /usr/local/games/armagetron. +The directory is usually located in /usr/local/games/armagetronad. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-08 12:30:21
|
Revision: 7798 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7798&view=rev Author: bazaarmagetron Date: 2008-02-08 04:30:06 -0800 (Fri, 08 Feb 2008) Log Message: ----------- Added bzr ignore rules. Added Paths: ----------- armagetronad/branches/0.2.8/armagetronad/.bzrignore Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-07 17:32:47.161999941 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: 0.2.8-armagetronad-work + timestamp: 2008-02-08 13:22:52.755000114 +0100 committer: Manuel Mooos <z-...@us...> properties: branch-nick: 0.2.8-armagetronad-work Name: bzr:file-ids - + .bzrignore bzrignore-20080208122207-vg7ej39bx9a6z3h3-1 Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa Added: armagetronad/branches/0.2.8/armagetronad/.bzrignore =================================================================== --- armagetronad/branches/0.2.8/armagetronad/.bzrignore (rev 0) +++ armagetronad/branches/0.2.8/armagetronad/.bzrignore 2008-02-08 12:30:06 UTC (rev 7798) @@ -0,0 +1,25 @@ +COPYING +ChangeLog +EclipseBuild +INSTALL +Makefile.in +aclocal.m4 +autom4te.cache +config.h.in +config.sub +configure +depcomp +install-sh +missing +touch +batch/Makefile.in +config/Makefile.in +desktop/Makefile.in +resource/Makefile.in +src/Makefile.in +src/doc/Makefile.in +src/doc/net/Makefile.in +src/first/Makefile.in +src/thirdparty/Makefile.in +src/thirdparty/particles/Makefile.in +./version This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-08 12:51:39
|
Revision: 7799 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7799&view=rev Author: bazaarmagetron Date: 2008-02-08 04:51:44 -0800 (Fri, 08 Feb 2008) Log Message: ----------- Authentication changes are now visible in /players output right away; /logout and /login in the same round should no longer enforce keeping the authority. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/src/engine/ePlayer.cpp Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-08 13:22:52.755000114 +0100 committer: Manuel Mooos <z-...@us...> properties: branch-nick: 0.2.8-armagetronad-work + timestamp: 2008-02-08 13:30:45.250000000 +0100 committer: Manuel Mooos <z-...@us...> properties: branch-nick: 0.2.8-armagetronad-work Name: bzr:file-ids - .bzrignore bzrignore-20080208122207-vg7ej39bx9a6z3h3-1 + Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy Modified: armagetronad/branches/0.2.8/armagetronad/src/engine/ePlayer.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/engine/ePlayer.cpp 2008-02-08 12:30:06 UTC (rev 7798) +++ armagetronad/branches/0.2.8/armagetronad/src/engine/ePlayer.cpp 2008-02-08 12:51:44 UTC (rev 7799) @@ -2785,11 +2785,11 @@ std::ostringstream tos; tos << p2->Owner(); tos << ": "; - if ( p2->GetLastAccessLevel() < tAccessLevel_Default && !se_Hide( p2, receiver ) ) + if ( p2->GetAccessLevel() < tAccessLevel_Default && !se_Hide( p2, receiver ) ) { // player username comes from authentication name and may be much different from // the screen name - tos << p2->GetUserName() << " ( " << p2->GetName() << ", " + tos << se_EscapeName( p2->GetRawAuthenticatedName() ) << " ( " << p2->GetName() << ", " << tCurrentAccessLevel::GetName( p2->GetAccessLevel() ) << " )"; } @@ -4135,6 +4135,8 @@ // force falling back to regular user name on next update SetAccessLevel( tAccessLevel_Default ); + + rawAuthenticatedName_ = ""; } bool ePlayerNetID::IsAuthenticated() const This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-08 12:52:10
|
Revision: 7800 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7800&view=rev Author: bazaarmagetron Date: 2008-02-08 04:52:15 -0800 (Fri, 08 Feb 2008) Log Message: ----------- more ignores. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/.bzrignore Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-08 13:30:45.250000000 +0100 committer: Manuel Mooos <z-...@us...> properties: branch-nick: 0.2.8-armagetronad-work + timestamp: 2008-02-08 13:44:39.625000000 +0100 committer: Manuel Mooos <z-...@us...> properties: branch-nick: 0.2.8-armagetronad-work Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo Modified: armagetronad/branches/0.2.8/armagetronad/.bzrignore =================================================================== --- armagetronad/branches/0.2.8/armagetronad/.bzrignore 2008-02-08 12:51:44 UTC (rev 7799) +++ armagetronad/branches/0.2.8/armagetronad/.bzrignore 2008-02-08 12:52:15 UTC (rev 7800) @@ -23,3 +23,4 @@ src/thirdparty/Makefile.in src/thirdparty/particles/Makefile.in ./version +src/doc/commands.txt This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-08 13:42:54
|
Revision: 7801 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7801&view=rev Author: bazaarmagetron Date: 2008-02-08 05:42:51 -0800 (Fri, 08 Feb 2008) Log Message: ----------- More ignores for those who build directly in the source tree. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/.bzrignore Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-08 13:44:39.625000000 +0100 committer: Manuel Mooos <z-...@us...> properties: branch-nick: 0.2.8-armagetronad-work + timestamp: 2008-02-08 14:37:52.391999960 +0100 committer: Manuel Mooos <z-...@us...> properties: branch-nick: 0.2.8-armagetronad-work-base Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133752-2gw99n7wzsq0ltfk Modified: armagetronad/branches/0.2.8/armagetronad/.bzrignore =================================================================== --- armagetronad/branches/0.2.8/armagetronad/.bzrignore 2008-02-08 12:52:15 UTC (rev 7800) +++ armagetronad/branches/0.2.8/armagetronad/.bzrignore 2008-02-08 13:42:51 UTC (rev 7801) @@ -1,26 +1,43 @@ COPYING ChangeLog EclipseBuild -INSTALL +./INSTALL Makefile.in -aclocal.m4 -autom4te.cache -config.h.in -config.sub -configure -depcomp -install-sh -missing -touch -batch/Makefile.in -config/Makefile.in -desktop/Makefile.in -resource/Makefile.in -src/Makefile.in -src/doc/Makefile.in -src/doc/net/Makefile.in -src/first/Makefile.in -src/thirdparty/Makefile.in -src/thirdparty/particles/Makefile.in +./aclocal.m4 +./autom4te.cache +./config.h.in +./config.sub +./configure +./depcomp +./install-sh +./missing +./touch ./version src/doc/commands.txt +./.changetag +Makefile +./config.h +./config.log +./config.status +./extrapaths +./stamp-h1 +./universal_variable* +batch/relocate +batch/relocate.in +batch/sysinstall +config/Makefile +config/aiplayers.cfg +config/rc.config +desktop/armagetronad.desktop +language/languages.txt +resource/included/ +.deps +src/armagetronad_main +src/nTrueVersion.h +src/tUniversalVariables.h +src/tUniversalVariables.h.in +.dummy.dep +src/doc/Doxyfile +*.html +html.m4 +*.dep This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-08 13:48:42
|
Revision: 7803 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7803&view=rev Author: bazaarmagetron Date: 2008-02-08 05:48:41 -0800 (Fri, 08 Feb 2008) Log Message: ----------- Let's see what happens if someone does not "bzr rebase", but "bzr merge" ro get his branch up to date. merging: Manuel Mooos 2008-02-08 More ignores for those who build directly in the source tree. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/.bzrignore Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-08 14:38:45.589999914 +0100 committer: Manuel Mooos <z-...@us...> properties: branch-nick: 0.2.8-armagetronad-work + timestamp: 2008-02-08 14:41:34.733000040 +0100 committer: Manuel Mooos <z-...@us...> properties: branch-nick: 0.2.8-armagetronad-work Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 Name: bzr:ancestry:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs + z-...@us...-20080208133752-2gw99n7wzsq0ltfk Modified: armagetronad/branches/0.2.8/armagetronad/.bzrignore =================================================================== --- armagetronad/branches/0.2.8/armagetronad/.bzrignore 2008-02-08 13:48:03 UTC (rev 7802) +++ armagetronad/branches/0.2.8/armagetronad/.bzrignore 2008-02-08 13:48:41 UTC (rev 7803) @@ -1,26 +1,43 @@ COPYING ChangeLog EclipseBuild -INSTALL +./INSTALL Makefile.in -aclocal.m4 -autom4te.cache -config.h.in -config.sub -configure -depcomp -install-sh -missing -touch -batch/Makefile.in -config/Makefile.in -desktop/Makefile.in -resource/Makefile.in -src/Makefile.in -src/doc/Makefile.in -src/doc/net/Makefile.in -src/first/Makefile.in -src/thirdparty/Makefile.in -src/thirdparty/particles/Makefile.in +./aclocal.m4 +./autom4te.cache +./config.h.in +./config.sub +./configure +./depcomp +./install-sh +./missing +./touch ./version src/doc/commands.txt +./.changetag +Makefile +./config.h +./config.log +./config.status +./extrapaths +./stamp-h1 +./universal_variable* +batch/relocate +batch/relocate.in +batch/sysinstall +config/Makefile +config/aiplayers.cfg +config/rc.config +desktop/armagetronad.desktop +language/languages.txt +resource/included/ +.deps +src/armagetronad_main +src/nTrueVersion.h +src/tUniversalVariables.h +src/tUniversalVariables.h.in +.dummy.dep +src/doc/Doxyfile +*.html +html.m4 +*.dep This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-08 17:04:45
|
Revision: 7806 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7806&view=rev Author: bazaarmagetron Date: 2008-02-08 09:04:48 -0800 (Fri, 08 Feb 2008) Log Message: ----------- Fixed authentication compilation this time. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/src/engine/ePlayer.cpp Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-08 14:41:34.733000040 +0100 committer: Manuel Mooos <z-...@us...> properties: branch-nick: 0.2.8-armagetronad-work + timestamp: 2008-02-08 17:58:12.759000063 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: 0.2.8-armagetronad-work Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 Modified: armagetronad/branches/0.2.8/armagetronad/src/engine/ePlayer.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/engine/ePlayer.cpp 2008-02-08 15:25:37 UTC (rev 7805) +++ armagetronad/branches/0.2.8/armagetronad/src/engine/ePlayer.cpp 2008-02-08 17:04:48 UTC (rev 7806) @@ -6635,7 +6635,7 @@ tString ePlayerNetID::GetFilteredAuthenticatedName( void ) const { #ifdef KRAWALL_SERVER - return se_EscapeName( GetRawAuthenticatedName() ).c_str(); + return tString( se_EscapeName( GetRawAuthenticatedName() ).c_str() ); #else return tString(""); #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-08 17:14:37
|
Revision: 7807 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7807&view=rev Author: bazaarmagetron Date: 2008-02-08 09:14:37 -0800 (Fri, 08 Feb 2008) Log Message: ----------- Requiring the most recent zthreads now. Checking whether -fpermissive is required. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/acinclude.m4 armagetronad/branches/0.2.8/armagetronad/configure.ac Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-08 17:58:12.759000063 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: 0.2.8-armagetronad-work + timestamp: 2008-02-08 18:02:01.500999928 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: 0.2.8-armagetronad-work Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z Modified: armagetronad/branches/0.2.8/armagetronad/acinclude.m4 =================================================================== --- armagetronad/branches/0.2.8/armagetronad/acinclude.m4 2008-02-08 17:04:48 UTC (rev 7806) +++ armagetronad/branches/0.2.8/armagetronad/acinclude.m4 2008-02-08 17:14:37 UTC (rev 7807) @@ -417,8 +417,10 @@ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` if test "x$enable_zthreadtest" = "xyes" ; then ac_save_CXXFLAGS="$CXXFLAGS" + ac_save_CFLAGS="$CXXFLAGS" ac_save_LIBS="$LIBS" CXXFLAGS="$CXXFLAGS $ZTHREAD_CXXFLAGS" + CFLAGS="$CFLAGS $ZTHREAD_CXXFLAGS" LIBS="$LIBS $ZTHREAD_LIBS" dnl @@ -428,7 +430,14 @@ rm -f conf.zthreadtest CC_OLD=${CC} CC=${CXX} - AC_TRY_RUN([ + for extra_flags in "NONE" "-fpermissive"; do + if test NONE != ${extra_flags}; then + ZTHREAD_CXXFLAGS="$ZTHREAD_CXXFLAGS ${extra_flags}" + CXXFLAGS="$CXXFLAGS ${extra_flags}" + CFLAGS="$CFLAGS ${extra_flags}" + fi + if test "x$no_zthread" = x || test NONE == ${extra_flags} ; then + AC_TRY_RUN([ #include <stdio.h> @@ -476,6 +485,8 @@ } ],, no_zthread=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) + fi + done CC=${CC_OLD} CXXFLAGS="$ac_save_CXXFLAGS" LIBS="$ac_save_LIBS" @@ -525,6 +536,7 @@ echo "*** exact error that occured. This usually means ZThread was incorrectly installed" echo "*** or that you have moved ZThread since it was installed. In the latter case, you" echo "*** may want to edit the zthread-config script: $ZTHREAD_CONFIG" ]) + CFLAGS="$ac_save_CXXFLAGS" CXXFLAGS="$ac_save_CXXFLAGS" LIBS="$ac_save_LIBS" fi Modified: armagetronad/branches/0.2.8/armagetronad/configure.ac =================================================================== --- armagetronad/branches/0.2.8/armagetronad/configure.ac 2008-02-08 17:04:48 UTC (rev 7806) +++ armagetronad/branches/0.2.8/armagetronad/configure.ac 2008-02-08 17:14:37 UTC (rev 7807) @@ -513,7 +513,7 @@ if test x$enable_armathentication = xyes; then -AM_PATH_ZTHREAD_AA +AM_PATH_ZTHREAD_AA(2.3.2) CXXFLAGS="${CXXFLAGS} ${ZTHREAD_CXXFLAGS}" LIBS="${LIBS} ${ZTHREAD_LIBS}" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-09 12:17:07
|
Revision: 7816 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7816&view=rev Author: bazaarmagetron Date: 2008-02-09 04:15:14 -0800 (Sat, 09 Feb 2008) Log Message: ----------- Moved game end code from DoRemoveFromGame to OnRemoveFromGame. Base class is now eReferencableGameObject. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/src/tron/gExplosion.cpp armagetronad/branches/0.2.8/armagetronad/src/tron/gExplosion.h Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-08 18:02:01.500999928 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: 0.2.8-armagetronad-work + timestamp: 2008-02-09 12:57:51.076999903 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gExplosion.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gExplosion.cpp 2008-02-09 10:47:41 UTC (rev 7815) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gExplosion.cpp 2008-02-09 12:15:14 UTC (rev 7816) @@ -136,7 +136,7 @@ */ gExplosion::gExplosion(eGrid *grid, const eCoord &pos,REAL time, gRealColor& color, gCycle * owner ) - :eGameObject(grid, pos, eCoord(0,0), NULL, true), + :eReferencableGameObject(grid, pos, eCoord(0,0), NULL, true), sound(explode), createTime(time), expansion(0), @@ -406,8 +406,12 @@ } #endif -void gExplosion::DoRemoveFromGame() +void gExplosion::OnRemoveFromGame() { + // remove from list to avoid costy checks whenever a new wall appears sg_Explosions.Remove( this, listID ); + + // delegate to base + eReferencableGameObject::OnRemoveFromGame(); } Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gExplosion.h =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gExplosion.h 2008-02-09 10:47:41 UTC (rev 7815) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gExplosion.h 2008-02-09 12:15:14 UTC (rev 7816) @@ -35,7 +35,7 @@ class gCycle; struct gRealColor; -class gExplosion: virtual public eGameObject, public tReferencable< gExplosion > +class gExplosion: virtual public eReferencableGameObject { // Boom! public: gExplosion(eGrid *grid, const eCoord &pos,REAL time, gRealColor& color, gCycle * owner ); @@ -65,9 +65,8 @@ return owner_; } - virtual void AddRef(){tReferencable< gExplosion >::AddRef();} - virtual void Release(){tReferencable< gExplosion >::Release();} - virtual void DoRemoveFromGame(); // called last when the object is removed from the game +protected: + virtual void OnRemoveFromGame(); // called last when the object is removed from the game private: eSoundPlayer sound; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-09 12:36:02
|
Revision: 7817 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7817&view=rev Author: bazaarmagetron Date: 2008-02-09 04:33:32 -0800 (Sat, 09 Feb 2008) Log Message: ----------- MOVE_TO no longer calls nMachine::OnKick; although it did so with zero severity, and that should have had no effect, it's better not to call it at all. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/src/network/nNetwork.cpp Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-09 12:57:51.076999903 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad + timestamp: 2008-02-09 13:17:00.305999994 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp Modified: armagetronad/branches/0.2.8/armagetronad/src/network/nNetwork.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/network/nNetwork.cpp 2008-02-09 12:15:14 UTC (rev 7816) +++ armagetronad/branches/0.2.8/armagetronad/src/network/nNetwork.cpp 2008-02-09 12:33:32 UTC (rev 7817) @@ -3120,7 +3120,10 @@ con << tOutput( "$network_kill_log", i, reason ); // log it - nMachine::GetMachine(i).OnKick( severity ); + if ( severity > 0 ) + { + nMachine::GetMachine(i).OnKick( severity ); + } // do it sn_DisconnectUser( i, reason, redirectTo ); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-09 13:09:27
|
Revision: 7818 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7818&view=rev Author: bazaarmagetron Date: 2008-02-09 05:09:31 -0800 (Sat, 09 Feb 2008) Log Message: ----------- Made to work with vanilla unpatched zthread (-fpermisive test was broken) Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/acinclude.m4 Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-09 13:17:00.305999994 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad + timestamp: 2008-02-09 14:03:01.503999949 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp Modified: armagetronad/branches/0.2.8/armagetronad/acinclude.m4 =================================================================== --- armagetronad/branches/0.2.8/armagetronad/acinclude.m4 2008-02-09 12:33:32 UTC (rev 7817) +++ armagetronad/branches/0.2.8/armagetronad/acinclude.m4 2008-02-09 13:09:31 UTC (rev 7818) @@ -436,7 +436,8 @@ CXXFLAGS="$CXXFLAGS ${extra_flags}" CFLAGS="$CFLAGS ${extra_flags}" fi - if test "x$no_zthread" = x || test NONE == ${extra_flags} ; then + if test "x$no_zthread" = xyes || test NONE = ${extra_flags} ; then + no_zthread="" AC_TRY_RUN([ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wrt...@us...> - 2008-02-09 14:26:56
|
Revision: 7819 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7819&view=rev Author: wrtlprnft Date: 2008-02-09 06:26:59 -0800 (Sat, 09 Feb 2008) Log Message: ----------- Added a new flag that allows users to specify whether they want their identity to be hidden. Maybe the serverside handling of it can be improved a bit by allowing users (like administrators) to only hide their access level without hiding their ID. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/config/settings_authentication.cfg armagetronad/branches/0.2.8/armagetronad/language/english_base.txt armagetronad/branches/0.2.8/armagetronad/src/engine/ePlayer.cpp armagetronad/branches/0.2.8/armagetronad/src/engine/ePlayer.h armagetronad/branches/0.2.8/armagetronad/src/tron/gMenus.cpp Modified: armagetronad/branches/0.2.8/armagetronad/config/settings_authentication.cfg =================================================================== --- armagetronad/branches/0.2.8/armagetronad/config/settings_authentication.cfg 2008-02-09 13:09:31 UTC (rev 7818) +++ armagetronad/branches/0.2.8/armagetronad/config/settings_authentication.cfg 2008-02-09 14:26:59 UTC (rev 7819) @@ -1,6 +1,6 @@ ######################################################################### # IMPORTANT: Users should NOT edit this file. Instead, copy the -# lines you want to change into a new file named autoexec.cfg +# lines you want to change into a new file named autoexec.cfg # ( either here or in your var directory ). # This file will be overwritten when you upgrade, autoexec.cfg won't. # Be sure to save the file as plain text, not rich text, especially @@ -14,23 +14,23 @@ ######################################################################### # As all Armagetron subsystems, Authentication is complex and has many -# options for you to tweak. The policies for the default settings were +# options for you to tweak. The policies for the default settings were # chosen with the following priorities: # 1. Compatibility with old clients # 2. Security # 3. General usability -# If you are a very security aware person, you will probably disagree +# If you are a very security aware person, you will probably disagree # with the priority choilce of 1. vs 2, and want to get maximal security, # even if that means old clients will not be able to authenticate on # your server; in this case, uncomment the following line: # HASH_METHOD_BLACKLIST bmd5 -# this will disable the hash protocol clients up to 0.2.8.2.1 knew as -# the only one, which is vulnerable to relatively easy man in the -# middle attacks. New clients will, by default, refuse to use it, so +# this will disable the hash protocol clients up to 0.2.8.2.1 knew as +# the only one, which is vulnerable to relatively easy man in the +# middle attacks. New clients will, by default, refuse to use it, so # if the the admins on your server are well educated and protect their -# login data with all means available to them, which includes using an +# login data with all means available to them, which includes using an # up-to-date client, you should be safe even without this setting. # You may get the occasional faked login from a regular player, though. @@ -79,7 +79,7 @@ # Those accouts will allow login from all usernames with a name starting with # the team name. Users logged in via such an account will appear as # <user name>@L_TEAM and get the access rights of "Team Member", more -# about that later. Accounts of this type are intended to be used for organized +# about that later. Accounts of this type are intended to be used for organized # tournaments. # You can remove both kinds of accounts with USER_REMOVE. @@ -101,7 +101,7 @@ # every time a user will try to authenticate; those connections will happen # in the background and should not cause too much extra lag. -# Accounts from remote authentication servers will appear as +# Accounts from remote authentication servers will appear as # <user name>@<authority> in your logs. # Maybe you don't want to accept logins from all authorities. If you want to @@ -121,12 +121,12 @@ ######################################################################### # The old, single password inteface to the /admin command is disabled -# when you compile a server with this authentication. Instead, you +# when you compile a server with this authentication. Instead, you # can assign access rights to individual players with # USER_LEVEL <user name> <level> -# The user name is the user's full authentication name as it appears in +# The user name is the user's full authentication name as it appears in # your logs, with all the escapes and character encodings; the "Foo Bar@" # user from the example above would usually appear as Foo\_Bar@, and that # is how you need to put him there. The level is the numberic access level; @@ -136,7 +136,7 @@ # Level Meaning Details # 0 Owner The owner of the server. Commands entered on the # server console are executed with these rights. -# 1 Admin A server administrator. By default, almost as +# 1 Admin A server administrator. By default, almost as # powerful as the owner himself. # 2 Moderator A server moderator. Is still allowed to use /admin, # but is restricted to player management commands. @@ -266,7 +266,7 @@ ACCESS_LEVEL ALLOW_TEAM_CHANGE_PLAYER 7 ACCESS_LEVEL DISALLOW_TEAM_CHANGE_PLAYER 7 -# A very powerful command with access levels is CASACL, prounounced +# A very powerful command with access levels is CASACL, prounounced # like Quetzalcoatl, your friendly Aztec God. A bit like the suid flag # on Unix executables, the setuid system command, and not completely # unlike the sudo shell command or, if you go very far, Access Control @@ -339,7 +339,7 @@ # /lock -# Locks your current team. Nobody can join it any more on their own. +# Locks your current team. Nobody can join it any more on their own. # To let someone in, you need to invoke # /invite <player name> @@ -368,9 +368,9 @@ # ######################################################################### -# The log format in ladderlog.txt is picked so that no unauthenticated -# user can ever appear under the same name as an authenticated user. To -# achieve that, @ signs are escaped for unauthenticated users. That +# The log format in ladderlog.txt is picked so that no unauthenticated +# user can ever appear under the same name as an authenticated user. To +# achieve that, @ signs are escaped for unauthenticated users. That # changes their names relative to the way they appeared in older versions # of the server. If you rather want to keep the names of unauthenticated # players as they were before, change this to 1: @@ -400,21 +400,21 @@ # RESERVE_SCREEN_NAME <user> <screen name> # All other players, authenticated or not, will not be able to change their -# screen name to the picked name, then.The command is of course only +# screen name to the picked name, then.The command is of course only # of use if you have set ALLOW_IMPOSTORS to 0. # You can bend authenticated user names around with # USER_ALIAS <user> <alias> -# after doing that, a player who authenticates as <user> will appear +# after doing that, a player who authenticates as <user> will appear # as <alias>. He will get granted the access rights you gave both # IDs. # By default, the authentication names of all players are visible to # everyone. You can grant your players a certain degree of anonymity -# by hiding the user names of all players of a certain maximal access -# level with +# by allowing all players of a certain maximal access level to hide their +# identity with ACCESS_LEVEL_HIDE_OF 15 Modified: armagetronad/branches/0.2.8/armagetronad/language/english_base.txt =================================================================== --- armagetronad/branches/0.2.8/armagetronad/language/english_base.txt 2008-02-09 13:09:31 UTC (rev 7818) +++ armagetronad/branches/0.2.8/armagetronad/language/english_base.txt 2008-02-09 14:26:59 UTC (rev 7819) @@ -1552,9 +1552,12 @@ player_autologin_text Auto Login: player_autologin_help When enabled, you will automatically initiate the (usually completely optional) login procedure as soon as you enter a server. -player_spectator_text Spectator Mode: -player_spectator_help In spectator mode, you do not control a cycle; you just watch the game as if you were already dead. The other players will see you on the score table and you can chat with them, but you won't be spawned at the beginng of a round. +player_spectator_text Hide Global ID: +player_spectator_help Usually your global ID is shown to everyone when you log in or when someone uses the /players chat command. Enabling this tells the server that you prefer to remain anonymous. The server may still show your ID to moderators and administrators on the server or even decide to ignore your request. +player_stealth_text Spectator Mode: +player_stealth_help In spectator mode, you do not control a cycle; you just watch the game as if you were already dead. The other players will see you on the score table and you can chat with them, but you won't be spawned at the beginng of a round. + player_name_team_text Name Team after Player: player_name_team_help You can set your prefered method for naming your team here: On indicates you want the team to be named after its most senior player, Off means you want a simple colour label. Modified: armagetronad/branches/0.2.8/armagetronad/src/engine/ePlayer.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/engine/ePlayer.cpp 2008-02-09 13:09:31 UTC (rev 7818) +++ armagetronad/branches/0.2.8/armagetronad/src/engine/ePlayer.cpp 2008-02-09 14:26:59 UTC (rev 7819) @@ -689,8 +689,8 @@ return se_accessLevelRequiredToPlay; } -// maximal user level whose accounts are hidden from other users -static tAccessLevel se_hideAccessLevelOf = tAccessLevel_Program; +// maximal user level whose accounts can be hidden from other users +static tAccessLevel se_hideAccessLevelOf = tAccessLevel_TeamLeader; static tSettingItem< tAccessLevel > se_hideAccessLevelOfConf( "ACCESS_LEVEL_HIDE_OF", se_hideAccessLevelOf ); // but they are only hidden to players with a lower access level than this @@ -704,6 +704,7 @@ return hider->GetAccessLevel() >= se_hideAccessLevelOf && + hider->StealthMode() && currentLevel > se_hideAccessLevelTo; } @@ -1094,6 +1095,13 @@ spectate=false; confname.Clear(); + confname << "HIDE_IDENTITY_"<< id+1; + StoreConfitem(tNEW(tConfItem<bool>)(confname, + "$hide_identity_help", + stealth)); + stealth=false; + confname.Clear(); + confname << "NAME_TEAM_AFTER_PLAYER_"<< id+1; StoreConfitem(tNEW(tConfItem<bool>)(confname, "$name_team_after_player_help", @@ -3422,6 +3430,7 @@ greeted = true; chatting_ = false; spectating_ = false; + stealth_ = false; chatFlags_ = 0; disconnected = false; @@ -4182,8 +4191,8 @@ //if(sn_GetNetState()==nSERVER) m << ping; - // pack chat and spectator status together - unsigned short flags = ( chatting_ ? 1 : 0 ) | ( spectating_ ? 2 : 0 ); + // pack chat, spectator and stealth status together + unsigned short flags = ( chatting_ ? 1 : 0 ) | ( spectating_ ? 2 : 0 ) | ( stealth_ ? 4 : 0 ); m << flags; m << score; @@ -4440,11 +4449,13 @@ { bool newChat = ( ( flags & 1 ) != 0 ); bool newSpectate = ( ( flags & 2 ) != 0 ); + bool newStealth = ( ( flags & 4 ) != 0 ); - if ( chatting_ != newChat || spectating_ != newSpectate ) + if ( chatting_ != newChat || spectating_ != newSpectate || newStealth != stealth_ ) lastActivity_ = tSysTimeFloat(); chatting_ = newChat; spectating_ = newSpectate; + stealth_ = newStealth; } } @@ -5068,6 +5079,11 @@ p->RequestSync(); p->spectating_ = local_p->spectate; + // update stealth status + if ( p->stealth_ != local_p->stealth ) + p->RequestSync(); + p->stealth_ = local_p->stealth; + // update name tString newName( ePlayer::PlayerConfig(i)->Name() ); Modified: armagetronad/branches/0.2.8/armagetronad/src/engine/ePlayer.h =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/engine/ePlayer.h 2008-02-09 13:09:31 UTC (rev 7818) +++ armagetronad/branches/0.2.8/armagetronad/src/engine/ePlayer.h 2008-02-09 14:26:59 UTC (rev 7819) @@ -71,6 +71,7 @@ bool autoSwitchIncam; bool spectate; // shall this player always spectate? + bool stealth; // does this player wish to hide his/her identity? bool autoLogin; // should the player always request authentication on servers? bool nameTeamAfterMe; // player prefers to call his team after his name @@ -167,6 +168,7 @@ ePlayerNetID& operator= (const ePlayerNetID&); // forbid copy constructor bool spectating_; //!< are we currently spectating? Spectators don't get assigned to teams. + bool stealth_; //!< does this player want to hide his/her identity? bool chatting_; //!< are we currently chatting? int chatFlags_; //!< different types of reasons for beeing chatting bool allowTeamChange_; //!< allow team changes even if ALLOW_TEAM_CHANGE is disabled? @@ -218,6 +220,8 @@ // spectating bool IsSpectating() const { return spectating_; } + bool StealthMode() const { return stealth_; } + // team management bool TeamChangeAllowed() const; //!< is this player allowed to change teams? void TeamChangeAllowed(bool allowed) {allowTeamChange_ = allowed;} //!< set if this player should always be allowed to change teams Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gMenus.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gMenus.cpp 2008-02-09 13:09:31 UTC (rev 7818) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gMenus.cpp 2008-02-09 14:26:59 UTC (rev 7819) @@ -921,6 +921,11 @@ p->globalID, 400); gid.SetColorMode( rTextField::COLOR_IGNORE ); + uMenuItemToggle st + (&playerMenu,"$player_stealth_text", + "$player_stealth_help", + p->stealth); + uMenuItemToggle sp (&playerMenu,"$player_spectator_text", "$player_spectator_help", This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wrt...@us...> - 2008-02-09 18:06:15
|
Revision: 7828 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7828&view=rev Author: wrtlprnft Date: 2008-02-09 10:06:17 -0800 (Sat, 09 Feb 2008) Log Message: ----------- protect user.cfg from read access by other users on linux and (hopefully) mac OS Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/language/english_base.txt armagetronad/branches/0.2.8/armagetronad/src/tools/tConfiguration.cpp armagetronad/branches/0.2.8/armagetronad/src/tools/tDirectories.cpp armagetronad/branches/0.2.8/armagetronad/src/tools/tDirectories.h Modified: armagetronad/branches/0.2.8/armagetronad/language/english_base.txt =================================================================== --- armagetronad/branches/0.2.8/armagetronad/language/english_base.txt 2008-02-09 16:50:49 UTC (rev 7827) +++ armagetronad/branches/0.2.8/armagetronad/language/english_base.txt 2008-02-09 18:06:17 UTC (rev 7828) @@ -792,6 +792,7 @@ round_center_message_help Big message sent to clients after every round password_storage_help Determines where your passwords are stored: 1 means on harddisk (dangerous), 0 in memory and -1 means they are not stored at all. +protect_sensitive_files_help Try to protect user.cfg from read access by other users? admin_pass_help Password for the basic in game admin backward_compatibility_help Maximum number of old protocol versions to support. Modified: armagetronad/branches/0.2.8/armagetronad/src/tools/tConfiguration.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tools/tConfiguration.cpp 2008-02-09 16:50:49 UTC (rev 7827) +++ armagetronad/branches/0.2.8/armagetronad/src/tools/tConfiguration.cpp 2008-02-09 18:06:17 UTC (rev 7828) @@ -886,7 +886,7 @@ } std::ofstream s; - if ( tDirectories::Var().Open( s, "user.cfg" ) ) + if ( tDirectories::Var().Open( s, "user.cfg", std::ios::out, true ) ) { tConfItemBase::SaveAll(s); } Modified: armagetronad/branches/0.2.8/armagetronad/src/tools/tDirectories.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tools/tDirectories.cpp 2008-02-09 16:50:49 UTC (rev 7827) +++ armagetronad/branches/0.2.8/armagetronad/src/tools/tDirectories.cpp 2008-02-09 18:06:17 UTC (rev 7828) @@ -30,6 +30,9 @@ #include <errno.h> #include <sys/types.h> +#ifndef WIN32 +#include <sys/stat.h> +#endif #include <stdio.h> #include <stdlib.h> @@ -675,9 +678,13 @@ return false; } +static bool st_protectFiles = true; +tSettingItem<bool> st_protectFilesConf("PROTECT_SENSITIVE_FILES", st_protectFiles); + bool tPath::Open ( std::ofstream& f, const char* filename, - std::ios::openmode mode ) const + std::ios::openmode mode, + bool sensitive) const { if ( !tPath::IsValidPath( filename ) ) return false; @@ -687,7 +694,21 @@ tString fullname = GetWritePath(filename); +#ifndef WIN32 + mode_t oldmask; + if(sensitive && st_protectFiles) + { + oldmask = umask(0600); + } +#endif f.open( fullname, mode ); +#ifndef WIN32 + if(sensitive && st_protectFiles) + { + chmod( &fullname(0), 0600 ); + umask(oldmask); + } +#endif return ( f && f.good() ); } Modified: armagetronad/branches/0.2.8/armagetronad/src/tools/tDirectories.h =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tools/tDirectories.h 2008-02-09 16:50:49 UTC (rev 7827) +++ armagetronad/branches/0.2.8/armagetronad/src/tools/tDirectories.h 2008-02-09 18:06:17 UTC (rev 7828) @@ -41,7 +41,8 @@ bool Open ( std::ofstream& f, const char* filename, - std::ios::openmode mode = std::ios::out ) const; // opens a file to write + std::ios::openmode mode = std::ios::out, + bool sensitive = false ) const; // opens a file to write tString GetReadPath ( const char* filename ) const; // finds the full path to a file to read tString GetWritePath ( const char* filename ) const; // finds the full path to a file to write This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |