From: <z-...@us...> - 2011-10-21 14:08:09
|
Revision: 10056 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10056&view=rev Author: z-man Date: 2011-10-21 14:07:58 +0000 (Fri, 21 Oct 2011) Log Message: ----------- Merging branch 0.2.8 from revision 10053 to 10055: ------------------------------------------------------------------------ r10055 | bazaaarmagetron | 2011-10-21 15:59:00 +0200 (Fri, 21 Oct 2011) | 2 lines Manuel Moos: Another small doc update (testing the 0.2.8->0.4->trunk merge path) ------------------------------------------------------------------------ Revision Links: -------------- http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10053&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10055&view=rev Modified Paths: -------------- armagetronad/branches/0.4/armagetronad/src/doc/index.html.m4 Property Changed: ---------------- armagetronad/branches/0.4/ Property changes on: armagetronad/branches/0.4 ___________________________________________________________________ Modified: svn:mergeinfo - /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044 /armagetronad/branches/0.2.8.3:9309-10004 + /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10055 /armagetronad/branches/0.2.8.3:9309-10004 Modified: armagetronad/branches/0.4/armagetronad/src/doc/index.html.m4 =================================================================== --- armagetronad/branches/0.4/armagetronad/src/doc/index.html.m4 2011-10-21 13:59:00 UTC (rev 10055) +++ armagetronad/branches/0.4/armagetronad/src/doc/index.html.m4 2011-10-21 14:07:58 UTC (rev 10056) @@ -46,6 +46,10 @@ to the "Accept" menu item. Then, press ENTER/RETURN three times. You'll immediately be set to fight against one weak AI opponent. ]) +PARAGRAPH([ +Reading this, you probably already went through those steps. You can repeat the simplified +setup in the menu "System Setup"/"Misc Stuff"/"Redo First Setup" and pick different languages +in "System Setup"/"Misc Stuff"/"Language Settings".]) SUBSUBSECTION([Initial keyboard layout]) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2011-10-21 16:42:37
|
Revision: 10060 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10060&view=rev Author: z-man Date: 2011-10-21 16:42:30 +0000 (Fri, 21 Oct 2011) Log Message: ----------- Merging branch 0.2.8 from revision 10055 to 10059: ------------------------------------------------------------------------ r10059 | bazaaarmagetron | 2011-10-21 18:11:32 +0200 (Fri, 21 Oct 2011) | 2 lines Manuel Moos: Bigger documentation update. ------------------------------------------------------------------------ Revision Links: -------------- http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10055&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10059&view=rev Modified Paths: -------------- armagetronad/branches/0.4/armagetronad/src/doc/Makefile.am armagetronad/branches/0.4/armagetronad/src/doc/index.html.m4 armagetronad/branches/0.4/armagetronad/src/doc/network.html.m4 armagetronad/branches/0.4/armagetronad/src/doc/versions.html.m4 Property Changed: ---------------- armagetronad/branches/0.4/ Property changes on: armagetronad/branches/0.4 ___________________________________________________________________ Modified: svn:mergeinfo - /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10055 /armagetronad/branches/0.2.8.3:9309-10004 + /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10059 /armagetronad/branches/0.2.8.3:9309-10004 Modified: armagetronad/branches/0.4/armagetronad/src/doc/Makefile.am =================================================================== --- armagetronad/branches/0.4/armagetronad/src/doc/Makefile.am 2011-10-21 16:11:32 UTC (rev 10059) +++ armagetronad/branches/0.4/armagetronad/src/doc/Makefile.am 2011-10-21 16:42:30 UTC (rev 10060) @@ -30,20 +30,20 @@ # install generated html files and put them directly into the distribution textdir=$(aa_datadir)/doc -text_DATE=$(doc_txt_files) +text_DATA=$(doc_txt_files) htmldir=$(aa_datadir)/doc html_DATA=$(doc_html_files) distclean-local: rm -f COPYING.txt -dist-hook: htmldist-hook ${srcdir}/commands.txt ${doc_html_files} +dist-hook: htmldist-hook ${srcdir}/commands.txt ${docfiles} cp ${srcdir}/commands.txt $(distdir) cp -R ${srcdir}/Content_Creation $(distdir) cp -R ${doc_html_files} $(distdir) # make target for testing documentation without installing -localtest: all Howto-Maps.txt +localtest: all Howto-Maps.txt ${docfiles} Howto-Maps.txt: ln -s ${srcdir}/Content_Creation/$@ $@ Modified: armagetronad/branches/0.4/armagetronad/src/doc/index.html.m4 =================================================================== --- armagetronad/branches/0.4/armagetronad/src/doc/index.html.m4 2011-10-21 16:11:32 UTC (rev 10059) +++ armagetronad/branches/0.4/armagetronad/src/doc/index.html.m4 2011-10-21 16:42:30 UTC (rev 10060) @@ -106,10 +106,11 @@ about PROGTITLE and the latest stable builds. Check out the ELINK([forums.armagetronad.net/],Forums) for keeping in touch with current development and venting your anger that we broke your favorite feature -in the current release. Visit the +in the current release. Check the ELINK([wiki.armagetronad.net],Wiki) for community maintained documentation, the pages you're reading right now only scratch the surface. Visit the ELINK(sourceforge.net/projects/armagetronad/,SourceForge project page) to get -informed by email or RSS when a new release is out. Get the latest -alpha and beta builds on ELINK(beta.armagetronad.net/,AABeta). +informed by email or RSS when a new release is out. Most of our current development is managed +on ELINK(launchpad.net/armagetronad,Launchpad). Get the latest +snapshot builds in various flavors from ELINK(sourceforge.net/projects/armagetronad/files/snapshots/,the SourceForge file release system). ]) SECTION(Credits:) @@ -140,8 +141,7 @@ This program is free software; you can redistribute it and/or modify it under the terms of the LINK(COPYING.txt,GNU General Public License) -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. +as published by the Free Software Foundation, version 2. ]) PARAGRAPH([ Modified: armagetronad/branches/0.4/armagetronad/src/doc/network.html.m4 =================================================================== --- armagetronad/branches/0.4/armagetronad/src/doc/network.html.m4 2011-10-21 16:11:32 UTC (rev 10059) +++ armagetronad/branches/0.4/armagetronad/src/doc/network.html.m4 2011-10-21 16:42:30 UTC (rev 10060) @@ -18,7 +18,7 @@ SUBSECTION(LAN game ) PARAGRAPH([ The fastest computer in your network should -act as the server. There, go to the network menu and hit the "LAN Game"- +act as the server. There, go to the "Play Game"/"Multiplayer" menu and hit the "LAN Game"- menu item. After a second, PROGTITLE should tell you that there are no servers currently available, but offer a "Host Game" item. Press Return on it. In the following menu, you can select a name for your server and the game options. @@ -38,7 +38,7 @@ SUBSECTION(Internet game) PARAGRAPH([ -An internet game works the same way; you just have to choose "Internet Game" instead of "LAN Game" +An internet game works the same way; you just have to choose "Online Game" instead of "LAN Game" in the menu. Note that the number of users currently online on each server is displayed by the server browser, too. ]) @@ -52,60 +52,29 @@ ]) PARAGRAPH([Internet server browsing would not be possible without master servers. We currently -use four masters, -one in Texas run by Lucifer, one in Virginia run by antix of -ELINK(distortgaming.com,DistortGaming) -(Who will gladly host your game server, Armagetronad or other. Shameless plug end.) -one run on Z-Man's old, trusty laptop-gone-router in Germany, and another one in Germany run -by iF. +use four masters, two run by Tank Program, two by Z-Man. DNS service for swapping out masters without you having to update your configuration is provided by Tank.]) SUBSUBSECTION(Current status) PARAGRAPH([ -Current counts show about 40 active servers. +Current counts show about 200 active servers. If you're not picky about your fellow players, there should be someone to battle against on one of those. The problems start as soon as you develop a preference for certain server settings, because there are quite a number of flavors around. ]) -ifelse(,,, -[ -PARAGRAPH([ -At the time of this writing, there are about ten dedicated servers available, so you should -not need to start your own. Most of them will let you fight against a bunch of AIs -while you wait for other players to join in. -]) - -PARAGRAPH([ -Finding an opponent to play against should not be a problem these times; nevertheless, -there still is the ELINK(WEBBASE/meeting.html, meeting -page). Check it out, be online when the countdown reaches zero and -you will certainly find another player online. I'm usually playing at these times and -specially like to be on a server that allows cockpit view only. -]) -]) - SUBSECTION(Bookmarks,bookmarks) PARAGRAPH([ You can access and edit your server bookmarks in the "Server Bookmarks" submenu of the "Network Game" menu. You can add bookmarks from the server -browser or manually add bookmarks via the "Edit Bookmarks" menu. +browser or manually add bookmarks via the "Edit Bookmarks" menu. The only way to delete +bookmarks currently is to edit out the server name of one, sorry for the inconvenience. ]) -ifelse(,,,[ -SUBSECTION(Fallback) - -PARAGRAPH([ -If the server browser does not work for some reason (i.e. no master server -available), you can still connect to a server if you know its network address or -hostname and the port it runs on. The "Custom Connect" menu item in the network -game menu serves that purpose.]) -]) - SUBSECTION(Version Control) PARAGRAPH([ @@ -173,17 +142,21 @@ SUBSECTION(Chat) PARAGRAPH([ Send your fellow players messages by hitting the chat key configurable in the "Player Setup" menu -(defaults to "s"). Usually, the message will go out to all players. Servers from 0.2.8.0 on support +(defaults to "Enter"). Usually, the message will go out to all players. Servers from 0.2.8.0 on support IRC style extensions: By starting your message with "/msg <playername>", you can send selected players personal messages. With "/me", you can tell the others what you do; "/me falls asleep" -will print "Walruss walls asleep" if you're Walruss. +will print "Walruss walls asleep" if you're Walruss. "/team" sends messages to your +teammates only; if you're a spectator, those will be the other spectators. Some servers make +that the default chat mode even without command prefix; on those, you may be allowed to address +all players by using "/shout". ]) PARAGRAPH([ If another player annoys you, the silencing menu comes in handy: it can be reached by pressing ESC, then selecting "Player Police/Silence Menu". If you're annoyed by chat in -general, edit FILE(settings.cfg) and activate SILENCE_ALL. This has the effect that new -players get silenced by default and have to be unsilenced if you want to hear them. +general, edit FILE(settings.cfg) and activate SILENCE_DEFAULT (add the line SILENCE_DEFAULT 1). +This has the effect that new players get silenced by default and have to be unsilenced +if you want to hear them. If you really never want to hear chat, add the line ENABLE_CHAT 0. ]) SUBSUBSECTION(Instant Chat) Modified: armagetronad/branches/0.4/armagetronad/src/doc/versions.html.m4 =================================================================== --- armagetronad/branches/0.4/armagetronad/src/doc/versions.html.m4 2011-10-21 16:11:32 UTC (rev 10059) +++ armagetronad/branches/0.4/armagetronad/src/doc/versions.html.m4 2011-10-21 16:42:30 UTC (rev 10060) @@ -14,7 +14,10 @@ TROW2(0.2.8.0_beta2,7 ) TROW2(0.2.8.0_beta3,8 ) TROW2(0.2.8.0_beta4,9 ) -TROW2(0.2.8.0 - ,10 ) +TROW2(0.2.8.0_rcX,10 ) +TROW2(0.2.8.0,11 ) +TROW2(0.2.8.2,13 ) +TROW2(0.2.8.3,16 ) ],cellpadding="5" border="1") ]) @@ -29,12 +32,18 @@ TROW2(6,[Client support for server formatted chat messages.]) TROW2(7,[Doublebind countermeasures. Proper cycle speed and acceleration handling and syncing.]) TROW2(8,[Server bugfix: turns that were accepted from the client, but not yet executed, are not claimed to be executed in sync messages.]) -TROW2(10,[New server controlled voting items to add voting items that only require code on the server.]) +TROW2(10,[New server controlled voting items to add voting items that only require code on the server (code was broken and is no longer used).]) +TROW2(11,[No actual change, just the bump to 0.2.8.]) +TROW2(12,[Again, no actual change to be found. Z-Man wonders why.]) +TROW2(13,[Spectators can now be visible and chat, clients no longer send redundant brake commands.]) +TROW2(14,[Clientside lag compensation and server controlled ping charity, fullscreen messages.]) +TROW2(15,[Player authentication, new fixed version of the server controlled vote items.]) +TROW2(16,[Bugfix: clients no longer get confused if they have to move a cycle backwards during a sync from the server.]) ],cellpadding="5" border="1") ]) PARAGRAPH([ -Note: Some protocol versions were only available in CVS, so not every protocol version corresponds to a PROGTITLE version. +Note: Some protocol versions were only available in CVS/SVN/BZR, so not every protocol version corresponds to a PROGTITLE version. Likewise, not every version had a network protocol change. ]) include(sig.m4) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2011-10-21 18:50:52
|
Revision: 10064 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10064&view=rev Author: z-man Date: 2011-10-21 18:50:45 +0000 (Fri, 21 Oct 2011) Log Message: ----------- Merging branch 0.2.8 from revision 10059 to 10063: ------------------------------------------------------------------------ r10063 | bazaaarmagetron | 2011-10-21 20:03:45 +0200 (Fri, 21 Oct 2011) | 2 lines Manuel Moos: More documentation updates. Should be the last big one for this branch. ------------------------------------------------------------------------ Revision Links: -------------- http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10059&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10063&view=rev Modified Paths: -------------- armagetronad/branches/0.4/armagetronad/src/doc/HtmlMakefile armagetronad/branches/0.4/armagetronad/src/doc/Makefile.am armagetronad/branches/0.4/armagetronad/src/doc/compile.html.m4 armagetronad/branches/0.4/armagetronad/src/doc/config.html.m4 armagetronad/branches/0.4/armagetronad/src/doc/faq.html.m4 armagetronad/branches/0.4/armagetronad/src/doc/install_linux.html.m4 armagetronad/branches/0.4/armagetronad/src/doc/install_result.html.m4 armagetronad/branches/0.4/armagetronad/src/doc/install_windows.html.m4 armagetronad/branches/0.4/armagetronad/src/doc/network.html.m4 Property Changed: ---------------- armagetronad/branches/0.4/ Property changes on: armagetronad/branches/0.4 ___________________________________________________________________ Modified: svn:mergeinfo - /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10059 /armagetronad/branches/0.2.8.3:9309-10004 + /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10063 /armagetronad/branches/0.2.8.3:9309-10004 Modified: armagetronad/branches/0.4/armagetronad/src/doc/HtmlMakefile =================================================================== --- armagetronad/branches/0.4/armagetronad/src/doc/HtmlMakefile 2011-10-21 18:03:45 UTC (rev 10063) +++ armagetronad/branches/0.4/armagetronad/src/doc/HtmlMakefile 2011-10-21 18:50:45 UTC (rev 10064) @@ -15,9 +15,9 @@ if HAVE_M4 %.html : $(srcdir)/%.html.m4 %.html.dep $(htmlm4) Makefile if DATE_R - { echo "define(CHANGEDATE,`date +"%b %d %Y" -r $<`) include($(htmlm4))" ; cat $< ; } | m4 -I ${srcdir} > $@ || cp $< $@ + { echo "define(CHANGEDATE,`date +"%b %d %Y" -r $<`) include($(htmlm4)) include($<)" ; } | m4 -I ${srcdir} > $@ || cp $< $@ else - { echo "define(CHANGEDATE,`date +"%b %d %Y"`) include($(htmlm4))" ; cat $< ; } | m4 -I ${srcdir} > $@ || cp $< $@ + { echo "define(CHANGEDATE,`date +"%b %d %Y"`) include($(htmlm4)) include($<)" ; } | m4 -I ${srcdir} > $@ || cp $< $@ endif %.dep: %.m4 Makefile Modified: armagetronad/branches/0.4/armagetronad/src/doc/Makefile.am =================================================================== --- armagetronad/branches/0.4/armagetronad/src/doc/Makefile.am 2011-10-21 18:03:45 UTC (rev 10063) +++ armagetronad/branches/0.4/armagetronad/src/doc/Makefile.am 2011-10-21 18:50:45 UTC (rev 10064) @@ -21,7 +21,7 @@ $(srcdir)/commands.txt: ${top_srcdir}/language/* rm -f $@ - cd $(top_builddir)/src && $(MAKE) armagetronad_main$(EXEEXT) && cd .. && ./src/armagetronad_main$(EXEEXT) --doc --userdatadir /doesnotexist 2>&1 | sed -e "s,^\[0\] ,," | grep -v "_help$$" | grep -v "^changed" | grep -v "^Executable path: " | grep -v "^TestPath" | grep -v "^Testing data path: " | grep -v "^Testing configuration path: " | grep -v "^Closing socket" | grep -v "^Locale item" > src/doc/commands.txt || true + cd $(top_builddir)/src && $(MAKE) armagetronad_main$(EXEEXT) && cd .. && ./src/armagetronad_main$(EXEEXT) --vardir ./rubbish --doc 2>&1 | sed -e "s,^\[0\] ,," | grep -v "_help$$" | grep -v "^changed" | grep -v "^Executable path: " | grep -v "^TestPath" | grep -v "^Testing data path: " | grep -v "^Testing configuration path: " | grep -v "^Closing socket" | grep -v "^Locale item" > src/doc/commands.txt || true test -r commands.txt || echo "Sorry, command help generation failed." > commands.txt test -r $@ || mv commands.txt $@ Modified: armagetronad/branches/0.4/armagetronad/src/doc/compile.html.m4 =================================================================== --- armagetronad/branches/0.4/armagetronad/src/doc/compile.html.m4 2011-10-21 18:03:45 UTC (rev 10063) +++ armagetronad/branches/0.4/armagetronad/src/doc/compile.html.m4 2011-10-21 18:50:45 UTC (rev 10064) @@ -29,9 +29,9 @@ SECTION(Packaging) PARAGRAPH([ -We manage distribution building with an additional CVS module we don't put into regular releases; -it is called FILE(armagetronad_build) and also hosted at SourceForge. Get it with -CMDLINE(CVSROOT=:pserver:ano...@cv...:/cvsroot/armagetronad co armagetronad_build) +We manage distribution building with an additional module we don't put into regular releases; +it is called FILE(build) and also hosted at Launchpad. Get it with +CMDLINE(bzr branch http://bazaar.launchpad.net/%7Earmagetronad-dev/armagetronad/0.2.8-build-work/) enter it and type FILE(make) once to configure it to your system. Edit FILE(make.conf) to put in the missing details. Then, drop a tarball from our distribution into the FILE(tarballs) subdirectory and use FILE(make) to build the package of your choice. See the enclosed README.txt Modified: armagetronad/branches/0.4/armagetronad/src/doc/config.html.m4 =================================================================== --- armagetronad/branches/0.4/armagetronad/src/doc/config.html.m4 2011-10-21 18:03:45 UTC (rev 10063) +++ armagetronad/branches/0.4/armagetronad/src/doc/config.html.m4 2011-10-21 18:50:45 UTC (rev 10064) @@ -16,10 +16,10 @@ SUBSUBSECTION(Main Menu) <ul> -MI(Game,start and setup a game) +MI(Play Game,start and setup a game) <ul> +MI(Multiplayer,Connects to or creates a network game) MI(Local Game,Starts a local game) -MI(Network Game,Connects to or creates a network game) MI(Game Setup,Sets your favourite single player game mode: number of AI opponents, game speed, arena size) </ul> MI(Player Setup,Player customisation: [keyboard input, camera setup, multiplayer @@ -32,6 +32,7 @@ MI(Camera Setup,camera mode options) MI(Instant Chat,things you can say with one keystroke) </ul> +MI(Viewports,selects the splitscreen mode) MI(Assign Viewports To Players,which player sees himself on which part of the screen) </ul> @@ -45,6 +46,7 @@ system's OpenGL power) MI(Performance Tweaks,[settings that increase graphics speed, but may not work on your system]) +MI(Load Defaults,[Reverts critical settings to default values we believe to be safe.]) </ul> MI(Sound Settings,sound quality) MI(Misc Stuff,things that did not fit anywhere else: [Moviepack, console text @@ -52,6 +54,7 @@ <ul> MI(Global Keyboard Configuration,[keyboard setup for player-independent functions (console, scores)]) MI(Language settings,[Choose the language of PROGTITLE here]) +MI(Redo First Setup,[Repeats the simple setup you saw when first starting the game]) </ul> </ul> </ul> @@ -135,10 +138,14 @@ SUBSECTION(Protect Your Passwords) PARAGRAPH([ Since all network traffic is logged and the ingame admin password is currently sent unencrypred, -it is not a good idea to publish server recordings where you or anyone else logs in as admin. +it is not a good idea to publish server recordings where you or anyone else logs in as admin using the old SI(ADMIN_PASS) method. The same holds for a client session recording where you log in anywhere; remember that all your -keypresses are recorded without exception. +keypresses are recorded almost without exception. ]) +PARAGRAPH([ +Everything surrounding the new account based authentication is safe, though. Keypresses in the pasword entry form are not recorded and passwords stored in your user.cfg are not copied over, either. +]) + SUBSECTION(Primary Use: Bug Reports) PARAGRAPH([ Sometimes, when you report a bug, the team may ask you do send a recording of @@ -174,7 +181,7 @@ Take a look at the files FILE(settings.cfg) and FILE(settings_dedicated.cfg) for the dedicated server (best save all your changes to -FILE(autoexec.cfg) if you don't want the next +FILE(autoexec.cfg) or FILE(settings_custom.cfg) if you don't want the next release of PROGTITLE to overwrite them). They contain a lot of settings inaccessible from the menu system. All relevant settings are synced from the server to the connected clients. Modified: armagetronad/branches/0.4/armagetronad/src/doc/faq.html.m4 =================================================================== --- armagetronad/branches/0.4/armagetronad/src/doc/faq.html.m4 2011-10-21 18:03:45 UTC (rev 10063) +++ armagetronad/branches/0.4/armagetronad/src/doc/faq.html.m4 2011-10-21 18:50:45 UTC (rev 10064) @@ -73,13 +73,7 @@ ], [ You probably installed a binary version of PROGTITLE that is incompatible with your system. -Check if you have installed all the required LINK(install_linux.html#libs -,libraries). -One of the ELINK(armagetron.sf.net/download_linux.html#thirdparty -,[third party packages]) may fit better to your system. -Or, if you want the latest version, try installing from source.<br> -If you installed PROGTITLE from a RPM without warnings, that RPM is broken; please -ELINK([armagetron.sf.net/contact.html],inform me) about it. +If you consider your system reasonably up to date, this is probably a bug you should report. ]) ifelse(,,,[ Modified: armagetronad/branches/0.4/armagetronad/src/doc/install_linux.html.m4 =================================================================== --- armagetronad/branches/0.4/armagetronad/src/doc/install_linux.html.m4 2011-10-21 18:03:45 UTC (rev 10063) +++ armagetronad/branches/0.4/armagetronad/src/doc/install_linux.html.m4 2011-10-21 18:50:45 UTC (rev 10064) @@ -27,7 +27,7 @@ SECTION(Required libraries,libs) ULIST([ -ITEM(ELINK(http://www.xmlsoft.org/,LibXML2) version 2.6.0 (some binaries: 2.6.12) or later for map file parsing) +ITEM(ELINK(www.xmlsoft.org/,LibXML2) version 2.6.0 (some binaries: 2.6.12) or later for map file parsing) ITEM([OpenGL or ELINK(mesa3d.sourceforge.net/,Mesa) for rendering]) ITEM(ELINK(www.libsdl.org,SDL) version 1.2.x (Simple Direct Media Layer) for input and sound output) ITEM(ELINK(www.freetype.org,FreeType 2) for font loading) @@ -37,13 +37,8 @@ which itself needs the libs) ITEM(ELINK(www.libpng.org/pub/png/pngcode.html,pnglib and zlib) (they should be included in your distribution)) -ITEM([Binary versions only: libstdc++ 5.0.7 (any 5.x.y or whatever came with -your System if it uses GCC 3.2 or higher should do). Use -ELINK([rpmfind.net/linux/rpm2html/search.php?query=libstdc%2B%2B&submit=Search+...&system=&arch=],rpmfind) -or -ELINK([www.google.com/search?hl=en&lr=&q=libstdc%2B%2B+5.0.7&btnG=Search],google) -to find a RPM with that library for your system. Sorry, Debian users: I don't know what you need to do; use the -source packages instead.]) +ITEM([Binary versions only: libstdc++.so.6 (any version that came with +your System if it uses GCC 4.1 or higher should do).]) ]) SECTION(Optional libraries,libs_opt) @@ -78,6 +73,7 @@ resolve; the goal is to make it work on as many systems as possible. ]) +ifelse(,,, SUBSECTION(Binary RPM,rpm) PARAGRAPH([ Type CMDLINE(rpm -i filename.rpm) The RPM build is quite untested, so it may be @@ -109,6 +105,7 @@ if not likely, that the automatic dependency generation of RPM produces junk.) ]) +) SUBSECTION(Non-Root install) PARAGRAPH([ Modified: armagetronad/branches/0.4/armagetronad/src/doc/install_result.html.m4 =================================================================== --- armagetronad/branches/0.4/armagetronad/src/doc/install_result.html.m4 2011-10-21 18:03:45 UTC (rev 10063) +++ armagetronad/branches/0.4/armagetronad/src/doc/install_result.html.m4 2011-10-21 18:50:45 UTC (rev 10064) @@ -46,28 +46,28 @@ PARAGRAPH([ containing ONLY files and no subdirectories. -When you have run PROGTITLE, you'll see the additional files +dnl When you have run PROGTITLE, you'll see the additional files ]) -<table> -FI([highscores.txt,ladder.txt,won_matches.txt and won_rounds.txt], -score statistics files) -FI(user.cfg,PROGTITLE custom configuration file) -</table> +dnl <table> +dnl FI([highscores.txt,ladder.txt,won_matches.txt and won_rounds.txt], +dnl score statistics files) +dnl FI(user.cfg,PROGTITLE custom configuration file) +dnl </table> -PARAGRAPH([ -Inside VAR, -You may want to create your own -<a href="config.html#files">configuration files</a> -]) +dnl PARAGRAPH([ +dnl Inside VAR, +dnl You may want to create your own +dnl <a href="config.html#files">configuration files</a> +dnl ]) -<table> -FI(autoexec.cfg,config file read at every start) -</table> -inside VAR or the -FILE(config) subdirectory for your -custom modifications; that way, they don't get overwritten by the defaults the -next time you install an update. +dnl <table> +dnl FI(autoexec.cfg,config file read at every start) +dnl </table> +dnl inside VAR or the +dnl FILE(config) subdirectory for your +dnl custom modifications; that way, they don't get overwritten by the defaults the +dnl next time you install an update. define(CL,<tr><td valign=top width=200><strong>$1</strong> </td><td>$2</td></tr>) Modified: armagetronad/branches/0.4/armagetronad/src/doc/install_windows.html.m4 =================================================================== --- armagetronad/branches/0.4/armagetronad/src/doc/install_windows.html.m4 2011-10-21 18:03:45 UTC (rev 10063) +++ armagetronad/branches/0.4/armagetronad/src/doc/install_windows.html.m4 2011-10-21 18:50:45 UTC (rev 10064) @@ -34,40 +34,6 @@ define(DOCSTYLE_RESULT,windows) include(install_result.html.m4) -SECTION(OpenGL Driver) -PARAGRAPH([ -PROGTITLE uses OpenGL for the 3D graphics. A software implementation of OpenGL comes -with all Windows versions and PROGTITLE can use it. Of course, if you have a 3D accelerator card, -you want to use that; usually, when you installed the driver for your card, an accelerated implementation -of OpenGL was registered with Windows. -]) -PARAGRAPH([ -If you experience problems with the graphics or if PROGTITLE does not even start correctly, try -installing the most recent drivers for your graphics card you can find.]) - -SUBSUBSECTION(Special notes for VooDoo addon cards (i.e. VooDoo 1,VooDoo 2):) -PARAGRAPH([ - A small problem here: the standard OPENGL32.DLL has no hardware - acceleration. Instead, 3DFX supplies you with a file called - 3dfxVGL.DLL [or 3dfxOGL.DLL] (found in your windows\system folder). - Simply copy (drag it with the right mouse button and select "copy" from the - pop-up-menu) it into the folder "PROGNAME.exe" is in and rename it - there to "OPENGL32.DLL". Then, "PROGNAME.exe" will use this file - instead of Microsoft's standard OPENGL32.DLL. If you cannot find - 3dfxVGL.DLL or 3dfxOGL.DLL, you should first check whether you can - find ANY .DLL files in the folder; if not, you'll have to enable - the item "show all files" (or similar) in the folder options. - <br> - If you have problems with that procedure or get crashes in glide3x.*, - ELINK(WEBBASE/download/opengl32.zip,download this working version) for VooDoo 2 (maybe 1) - and unpack it into your PROGTITLE directory. According to the driver, you - need at least Glide 2.56 installed; it really should work if you use - the driver version 3.02.02 (or higher?). -]) - -You need to be in 16 bit colour depth mode to run PROGTITLE on some cards -(Riva 128, some VooDoos). - include(sig.m4) include(navbar.html.m4) </body> Modified: armagetronad/branches/0.4/armagetronad/src/doc/network.html.m4 =================================================================== --- armagetronad/branches/0.4/armagetronad/src/doc/network.html.m4 2011-10-21 18:03:45 UTC (rev 10063) +++ armagetronad/branches/0.4/armagetronad/src/doc/network.html.m4 2011-10-21 18:50:45 UTC (rev 10064) @@ -171,7 +171,10 @@ pressing the corresponding key will not send the string immediately, but will let you append to it first.]) -SUBSECTION(Ingame Admin) +SECTION(Authentication) +SUBSECTION(The old way: ADMIN_PASS) +PARAGRAPH([This paragraph applies if your server was compiled without --enable-armathentication.]) +PARAGRAPH([ The server administrator can allow selected players to control the server settings through chat commands; the setting SI(ADMIN_PASS) has to be modified to a nondefault value. Whoever knows this value can log in by saying "/login <password>". After that, it's possible to issue regular @@ -179,8 +182,28 @@ <br> <strong>WARNING: currently, chat messages and therefore the password are sent unencrypted. This means that everyone with physical access to the network flow, which is, among others, anyone -on the server's or the player's LAN, can steal the password.</strong> +on the server's or the player's LAN, can steal the password.</strong>]) +SUBSECTION(The new way) +PARAGRAPH([This paragraph applies if your server was compiled with --enable-armathentication.]) +PARAGRAPH([ +The new authentication code allows you to securely log into servers using various accounts; + check out the ELINK([wiki.armagetronad.net/index.php?title=HostingFAQ#Signing_in_.28Authentication.29],Wiki FAQ) +for details. +The quick and simple way to get an account you can use is if you sign up on the ELINK([forums.armagetronad.net],Forums); +pick a simple username without fancy characters. +Your Global ID (GID) associated with that account will then be "<your username>@forums". +Enter that in the "Global ID" field of your "Player Setup" menu and activate "Auto Login". +Every time you enter a server that supports authentication, you'll be prompted for your forum +password. +]) +PARAGRAPH([ If you administer a server with --enable-armathentication compiled in, you can +grant yourself remote admin rights with the configuration line SI(USER_LEVEL <your GID> 0). +Replace the 0 with your desired access level: 0 gives full access, 1 admin access (a few things +like QUIT are locked, then) and 2 is moderator access, blocking most setting changes and only +leaving commands required to moderate a server. +]) + SUBSECTION(Kicking and Banning) PARAGRAPH([ You can kick players with the SI(KICK user) command; it accepts either the network user ID or @@ -193,8 +216,7 @@ PARAGRAPH([ You can get a list of currently banned IP addresses with SI(BAN_LIST). To unban one of these, use SI(UNBAN_IP ip). To ban an IP address explicitly, use SI(BAN_IP ip). Bans are persistent -when you shut down and restart the server; the data is stored in FILE(var/bans.txt) as -IP/duration in seconds pairs. +when you shut down and restart the server; the data is stored in FILE(var/bans.txt). ]) SUBSUBSECTION([Autobanning]) PARAGRAPH([ @@ -213,7 +235,7 @@ will automatically pop up between rounds and remind you to vote. You can accept or reject a suggestion, or explicitly say you don't care about it. <br> -The only thing possible to vote on are player kicks. To start a kick vote, press ESC and enter +For example, to start a kick vote, press ESC and enter the "Player Police/Kick Menu" menu and select the player you want kicked. Prepare to get kicked yourself if you abuse the system. @@ -224,20 +246,20 @@ a cycle itself, and CI(CYCLE_SYNC_INTERVAL_ENEMY) determines the interval for everyone else. ]) -New clients since 0.2.7.1 send the time of turn commands to the server. +SECTION(Advanced Topics) + +PARAGRAPH([New clients since 0.2.7.1 send the time of turn commands to the server. This makes it possible to avoid grinding lag sliding (you move towards a wall, grind it shortly and turn away again, and you'll slide) by letting the cycle on the server turn not before the time sent by the client. At the low speeds before the grind, the positional command interpretion is inaccurate and will usually turn the cycle too early. - Now, old clients don't send the command time, so this code can't work. The lag sliding is a clear disadvantage, but the earlier turn is an advantage in some situations because it makes you cover more ground, so both the new and the old players have plenty of reason to complain if they are not treated equally. Therefore, when CYCLE_FAIR_ANTILAG is set to 1 and old clients are present, this code is deactivated. + Now, old clients don't send the command time, so this code can't work. The lag sliding is a clear disadvantage, but the earlier turn is an advantage in some situations because it makes you cover more ground, so both the new and the old players have plenty of reason to complain if they are not treated equally. Therefore, when CYCLE_FAIR_ANTILAG is set to 1 and old clients are present, this code is deactivated. ]) - When a cycle turns in free space, the server will try to follow the client's request by matching the turn position as closely as possible. Sometimes however there are large desyncs and clients sent silly turns halfway across the grid from their current position. So, for clients that send the command time, the server will execute turns only in a time window around that command time. The width of that window is determined by CYCLE_TIME_TOLERANCE. +PARAGRAPH([ When a cycle turns in free space, the server will try to follow the client's request by matching the turn position as closely as possible. Sometimes however there are large desyncs and clients sent silly turns halfway across the grid from their current position. So, for clients that send the command time, the server will execute turns only in a time window around that command time. The width of that window is determined by CYCLE_TIME_TOLERANCE. ]) - I observed that old clients ( 0.2.7.0 and earlier ) would be more likely to pass through walls when they received a sync from the server shortly before. So, if you set CYCLE_AVOID_OLDCLIENT_BAD_SYNC to 1, the server will not send those syncs. Whether this helps or makes matters worse by not sending enough syncs is unknown, that's why it is a setting. +PARAGRAPH([ I observed that old clients ( 0.2.7.0 and earlier ) would be more likely to pass through walls when they received a sync from the server shortly before. So, if you set CYCLE_AVOID_OLDCLIENT_BAD_SYNC to 1, the server will not send those syncs. Whether this helps or makes matters worse by not sending enough syncs is unknown, that's why it is a setting. ]) -SECTION(Technical details) - PARAGRAPH([ You are not limited to one player per computer; on each of them you can play with up to four people. In the @@ -266,7 +288,8 @@ SECTION(The dedicated server,dedicated) PARAGRAPH([ -Following the model of Quake 1-3, there is a special binary version of +Following the model of Quake 1-3 and NOT Modern Warfare 2, +there is a special binary version of the game available for download (or compile it yourself giving the option OPTION(--disable-glout) to configure) that has all input/output features disabled. If you start it, it will read the normal configuration files and @@ -351,17 +374,10 @@ PARAGRAPH([ In the player menu, there is the "Spectator mode" toggle; If you just want to watch an internet game, connect to the server with spectator -mode enabled. Note that you will be almost completely ignored in -spectator mode: the other players won't know you are there at all, -you can't chat and the dedicated server will not bother to start -a game if only spectators are online (all you are going to get is -a black screen). Only the server administrator will get a message -that a client connected. +mode enabled, or enable it while already online and you will leave active play. +You can also bind a key to toggling spectator mode in your player keyboard setup, +that allows you to enter and leave quickly. ]) -PARAGRAPH([ -Please note that this feature is unsupported; future servers may not allow -spectating in this way. -]) SECTION(Scores) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2011-10-21 22:00:50
|
Revision: 10068 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10068&view=rev Author: z-man Date: 2011-10-21 22:00:44 +0000 (Fri, 21 Oct 2011) Log Message: ----------- Merging branch 0.2.8 from revision 10063 to 10067: ------------------------------------------------------------------------ r10066 | bazaaarmagetron | 2011-10-21 23:45:07 +0200 (Fri, 21 Oct 2011) | 2 lines Manuel Moos: Fixing assertion failure on clients compiled with --enable-armathentication when they join a server. ------------------------------------------------------------------------ r10065 | bazaaarmagetron | 2011-10-21 23:44:18 +0200 (Fri, 21 Oct 2011) | 2 lines Manuel Moos: Corrected broken SNAFU link. ------------------------------------------------------------------------ Revision Links: -------------- http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10063&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10066&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10065&view=rev Modified Paths: -------------- armagetronad/branches/0.4/armagetronad/src/doc/index.html.m4 armagetronad/branches/0.4/armagetronad/src/network/nAuthentication.cpp Property Changed: ---------------- armagetronad/branches/0.4/ Property changes on: armagetronad/branches/0.4 ___________________________________________________________________ Modified: svn:mergeinfo - /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10063 /armagetronad/branches/0.2.8.3:9309-10004 + /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10067 /armagetronad/branches/0.2.8.3:9309-10004 Modified: armagetronad/branches/0.4/armagetronad/src/doc/index.html.m4 =================================================================== --- armagetronad/branches/0.4/armagetronad/src/doc/index.html.m4 2011-10-21 21:53:26 UTC (rev 10067) +++ armagetronad/branches/0.4/armagetronad/src/doc/index.html.m4 2011-10-21 22:00:44 UTC (rev 10068) @@ -29,7 +29,7 @@ movie "Tron" from 1982. However, that's not the origin of the game idea: The earliest arcade game of that type was ELINK(www.klov.com/B/Blockade.html,Blockade) from 1976, the first known home versions -ELINK(www.thelogbook.com/phosphor/mattel/snafu.html,SNAFU) on the Intellivision from 1981 and +ELINK([en.wikipedia.org/wiki/Snafu_%28video_game%29],SNAFU) on the Intellivision from 1981 and ELINK(www.atarihq.com/reviews/2600/surround.html,Surround) for the Atari 2600. ]) Modified: armagetronad/branches/0.4/armagetronad/src/network/nAuthentication.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/network/nAuthentication.cpp 2011-10-21 21:53:26 UTC (rev 10067) +++ armagetronad/branches/0.4/armagetronad/src/network/nAuthentication.cpp 2011-10-21 22:00:44 UTC (rev 10068) @@ -1067,11 +1067,14 @@ int userID = nCallbackLoginLogout::User(); // kill/detach pending login process - nLoginProcess * process = nLoginProcess::Find( userID ); - if ( process ) + if( sn_GetNetState() == nSERVER ) { - process->Remove(); - process->Destroy(); + nLoginProcess * process = nLoginProcess::Find( userID ); + if ( process ) + { + process->Remove(); + process->Destroy(); + } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2011-10-22 21:41:27
|
Revision: 10076 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10076&view=rev Author: z-man Date: 2011-10-22 21:41:20 +0000 (Sat, 22 Oct 2011) Log Message: ----------- Merging branch 0.2.8 from revision 10067 to 10075: ------------------------------------------------------------------------ r10074 | bazaaarmagetron | 2011-10-22 22:41:20 +0200 (Sat, 22 Oct 2011) | 2 lines Manuel Moos: Writing setting digest into ping response. To be analyzed by future clients. ------------------------------------------------------------------------ r10071 | bazaaarmagetron | 2011-10-22 21:28:50 +0200 (Sat, 22 Oct 2011) | 1 line Daniel Lee Harple: Update sourceforge username ------------------------------------------------------------------------ Revision Links: -------------- http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10067&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10074&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10071&view=rev Modified Paths: -------------- armagetronad/branches/0.4/armagetronad/AUTHORS armagetronad/branches/0.4/armagetronad/src/engine/ePlayer.cpp armagetronad/branches/0.4/armagetronad/src/network/nServerInfo.cpp armagetronad/branches/0.4/armagetronad/src/network/nServerInfo.h armagetronad/branches/0.4/armagetronad/src/protobuf/nServerInfo.proto armagetronad/branches/0.4/armagetronad/src/tron/gCycleMovement.cpp armagetronad/branches/0.4/armagetronad/src/tron/gGame.cpp Property Changed: ---------------- armagetronad/branches/0.4/ Property changes on: armagetronad/branches/0.4 ___________________________________________________________________ Modified: svn:mergeinfo - /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10067 /armagetronad/branches/0.2.8.3:9309-10004 + /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10075 /armagetronad/branches/0.2.8.3:9309-10004 Modified: armagetronad/branches/0.4/armagetronad/AUTHORS =================================================================== --- armagetronad/branches/0.4/armagetronad/AUTHORS 2011-10-22 20:48:49 UTC (rev 10075) +++ armagetronad/branches/0.4/armagetronad/AUTHORS 2011-10-22 21:41:20 UTC (rev 10076) @@ -13,7 +13,7 @@ +---------------------+---------------+---------------------------------------+ | Luke-Jr | luke-jr | | +---------------------+---------------+---------------------------------------+ -| Daniel Harple | nemostultae | | +| Daniel Harple | dlh3 | | +---------------------+---------------+---------------------------------------+ | Mathias Plichta | wrtlprnft | | +---------------------+---------------+---------------------------------------+ Modified: armagetronad/branches/0.4/armagetronad/src/engine/ePlayer.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/engine/ePlayer.cpp 2011-10-22 20:48:49 UTC (rev 10075) +++ armagetronad/branches/0.4/armagetronad/src/engine/ePlayer.cpp 2011-10-22 21:41:20 UTC (rev 10076) @@ -9916,3 +9916,23 @@ { return suspended_; } + +static void se_FillServerSettings() +{ + nServerInfo::SettingsDigest & digest = *nCallbackFillServerInfo::ToFill(); + + digest.minPlayTimeTotal_ = se_minPlayTimeTotal; + digest.minPlayTimeOnline_ = se_minPlayTimeOnline; + digest.minPlayTimeTeam_ = se_minPlayTimeTeam; + + digest.SetFlag( nServerInfo::SettingsDigest::Flags_AuthenticationRequired, +#ifdef KRAWALL_SERVER + se_accessLevelRequiredToPlay < tAccessLevel_Program || + se_playAccessLevel < tAccessLevel_Program +#else + false +#endif + ); +} + +static nCallbackFillServerInfo se_fillServerSettings(se_FillServerSettings); Modified: armagetronad/branches/0.4/armagetronad/src/network/nServerInfo.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/network/nServerInfo.cpp 2011-10-22 20:48:49 UTC (rev 10075) +++ armagetronad/branches/0.4/armagetronad/src/network/nServerInfo.cpp 2011-10-22 21:41:20 UTC (rev 10076) @@ -2548,7 +2548,92 @@ return Compat_Ok; } +nServerInfo::SettingsDigest::SettingsDigest() + : flags_(0) + , minPlayTimeTotal_(0) + , minPlayTimeOnline_(0) + , minPlayTimeTeam_(0) + , cycleDelay_(0) + , acceleration_(0) + , rubberWallHump_(0) + , rubberHitWallRatio_(0) +{ +} +void nServerInfo::SettingsDigest::WriteSync( Network::SettingsDigest & sync ) const +{ + sync.set_flags( flags_ ); + sync.set_min_play_time_total( minPlayTimeTotal_ ); + sync.set_min_play_time_online( minPlayTimeOnline_ ); + sync.set_min_play_time_team( minPlayTimeTeam_ ); + sync.set_cycle_delay( cycleDelay_ ); + sync.set_acceleration( acceleration_ ); + sync.set_rubber_wall_hump( rubberWallHump_ ); + sync.set_rubber_hit_wall_ratio( rubberHitWallRatio_ ); +} + +void nServerInfo::SettingsDigest::ReadSync( Network::SettingsDigest const & sync ) +{ + flags_ = sync.flags(); + minPlayTimeTotal_ = sync.min_play_time_total(); + minPlayTimeOnline_ = sync.min_play_time_online(); + minPlayTimeTeam_ = sync.min_play_time_team(); + cycleDelay_ = sync.cycle_delay(); + acceleration_ = sync.acceleration(); + rubberWallHump_ = sync.rubber_wall_hump(); + rubberHitWallRatio_ = sync.rubber_hit_wall_ratio(); +} + +void nServerInfo::SettingsDigest::SetFlag( Flags flag, bool set ) +{ + if( set ) + { + flags_ |= flag; + } + else + { + flags_ &= ~flag; + } +} + +bool nServerInfo::SettingsDigest::GetFlag( Flags flag ) const +{ + return 0 != (flags_ & flag); +} + +//! callback to give other components a chance to help fill in the server info +nServerInfo::SettingsDigest * nCallbackFillServerInfo::settings_ = NULL; +static tCallback * sn_fillServerInfoAnchor = NULL; +nCallbackFillServerInfo::nCallbackFillServerInfo( AA_VOIDFUNC * f ) +: tCallback( sn_fillServerInfoAnchor, f ) +{} + +//! fills all server infos +void nCallbackFillServerInfo::Fill( nServerInfo::SettingsDigest * settings ) +{ + settings_ = settings; + Exec( sn_fillServerInfoAnchor ); + settings_ = NULL; +} + +nServerInfo::SettingsDigest const * nCallbackCanPlayOnServer::settings_ = NULL; +static tCallbackString * sn_canPlayOnServerAnchor = NULL; +//! callback to give other components a chance to help fill in the server info + +nCallbackCanPlayOnServer::nCallbackCanPlayOnServer( STRINGRETFUNC * f ) +: tCallbackString( sn_canPlayOnServerAnchor, f ) +{ +} + +//! return all reasons why you can't play here +tString nCallbackCanPlayOnServer::CantPlayReasons( nServerInfo::SettingsDigest const * settings ) +{ + settings_ = settings; + tString ret = Exec( sn_canPlayOnServerAnchor ); + settings_ = NULL; + return ret; +} + static nServerInfoAdmin* sn_serverInfoAdmin = NULL; nServerInfoAdmin::nServerInfoAdmin() @@ -2894,6 +2979,8 @@ url_ = str; userGlobalIDs_ = ""; } + + nCallbackFillServerInfo::Fill( &settings_ ); } // ******************************************************************************************* @@ -2921,6 +3008,8 @@ info.set_url( url_ ); info.set_global_ids( userGlobalIDs_ ); + + settings_.WriteSync( *info.mutable_settings() ); } // ******************************************************************************************* @@ -2987,6 +3076,15 @@ userGlobalIDs_ = ""; } + if( info.has_settings() ) + { + settings_.ReadSync( info.settings() ); + } + else + { + settings_.flags_ = 0; + } + userNamesOneLine_.Clear(); for ( int i = 0, j = 0; i < userNames_.Len()-1 ; ++i ) { Modified: armagetronad/branches/0.4/armagetronad/src/network/nServerInfo.h =================================================================== --- armagetronad/branches/0.4/armagetronad/src/network/nServerInfo.h 2011-10-22 20:48:49 UTC (rev 10075) +++ armagetronad/branches/0.4/armagetronad/src/network/nServerInfo.h 2011-10-22 21:41:20 UTC (rev 10076) @@ -33,6 +33,8 @@ #include "tArray.h" #include "nNetwork.h" +#include "tCallbackString.h" + #include <iosfwd> #include <memory> @@ -46,6 +48,7 @@ class SmallServerInfoBase; class SmallServerInfo; class BigServerInfo; + class SettingsDigest; class RequestSmallServerInfo; class RequestBigServerInfo; class RequestBigServerInfoMaster; @@ -195,6 +198,39 @@ virtual void Save(std::ostream &s) const; virtual void Load(std::istream &s); + + struct SettingsDigest + { + enum Flags + { + Flags_AuthenticationRequired = 0x1, //!< is authentication required to play on this server? + Flags_NondefaultMap = 0x2, //!< custom map, indicating complicated gameplay + Flags_SettingsDigestSent = 0x8000, //!< Did this server send a settings digest? + Flags_All = 0xffff + }; + + unsigned short flags_; //!< flags + + void SetFlag( Flags flag, bool set ); //!< sets a certain flag to a value + bool GetFlag( Flags flag ) const; //!< returns the value of a certain flag + + void WriteSync( Network::SettingsDigest & sync ) const; + void ReadSync( Network::SettingsDigest const & sync ); + + // play time requirements, filled by ePlayer.cpp + int minPlayTimeTotal_; //!< minimum number of minutes spent playing up to now + int minPlayTimeOnline_; //!< minimum number of minutes spent playing online + int minPlayTimeTeam_; //!< minimum number of minutes spent playing team games + + // filled by gCycleMovement.cpp + REAL cycleDelay_; //!< cycle delay (max .05s if doublebinding has been disabled) + REAL acceleration_; //!< acceleration strength (relative to base speed) + REAL rubberWallHump_; //!< characteristic rubber number: rubber/(base speed*cycle_delay), the number of times you can hump a wall without suiciding + REAL rubberHitWallRatio_; //!< characteristic rubber number: maximum ratio of time spent sitting on walls to total time + + SettingsDigest(); + }; + // sort key selection enum PrimaryKey { @@ -334,9 +370,37 @@ private: QueryType queryType_; //!< the query type to use for this server + SettingsDigest settings_; //!< most important settings }; +//! callback to give other components a chance to help fill in the server info +class nCallbackFillServerInfo: public tCallback +{ + static nServerInfo::SettingsDigest * settings_; +public: + nCallbackFillServerInfo( AA_VOIDFUNC * f ); + //! the server settings to fill + static nServerInfo::SettingsDigest *ToFill(){ return settings_; } + + //! fills all server infos + static void Fill( nServerInfo::SettingsDigest * settings ); +}; + +//! callback to give other components a chance to help fill in the server info +class nCallbackCanPlayOnServer: public tCallbackString +{ + static nServerInfo::SettingsDigest const * settings_; +public: + nCallbackCanPlayOnServer( STRINGRETFUNC * f ); + + //! the settings + static nServerInfo::SettingsDigest const * Settings(){ return settings_; } + + //! return all reasons why you can't play here + static tString CantPlayReasons( nServerInfo::SettingsDigest const * settings ); +}; + class nServerInfoAdmin { friend class nServerInfo; Modified: armagetronad/branches/0.4/armagetronad/src/protobuf/nServerInfo.proto =================================================================== --- armagetronad/branches/0.4/armagetronad/src/protobuf/nServerInfo.proto 2011-10-22 20:48:49 UTC (rev 10075) +++ armagetronad/branches/0.4/armagetronad/src/protobuf/nServerInfo.proto 2011-10-22 21:41:20 UTC (rev 10076) @@ -47,15 +47,15 @@ { optional uint32 flags = 1; // flags, defined in nServerInfo.h - optional int32 minPlayTimeTotal = 2; // minimal total play time in minutes required to play here - optional int32 minPlayTimeOnline = 3; // minimal online play time in minutes required to play here - optional int32 minPlayTimeTeam = 4; // minimal team play time in minutes required to play here + optional int32 min_play_time_total = 2; // minimal total play time in minutes required to play here + optional int32 min_play_time_online = 3; // minimal online play time in minutes required to play here + optional int32 min_play_time_team = 4; // minimal team play time in minutes required to play here - optional float cycleDelay = 5; // raw CYCLE_DELAY setting (or .05 if doublebinding is disabled) + optional float cycle_delay = 5; // raw CYCLE_DELAY setting (or .05 if doublebinding is disabled) optional float acceleration = 6; // acceleration/speed - optional float rubberWallHump = 7; // characteristic rubber number: rubber/(base speed*cycle_delay), the number of times you can hump a wall without suiciding - optional float rubberHitWallRatio = 8; // characteristic rubber number: maximum ratio of time spent sitting on walls to total time + optional float rubber_wall_hump = 7; // characteristic rubber number: rubber/(base speed*cycle_delay), the number of times you can hump a wall without suiciding + optional float rubber_hit_wall_ratio = 8; // characteristic rubber number: maximum ratio of time spent sitting on walls to total time // legacy message end marker, extensions go after it optional bool legacy_message_end_marker = 20000; Modified: armagetronad/branches/0.4/armagetronad/src/tron/gCycleMovement.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/tron/gCycleMovement.cpp 2011-10-22 20:48:49 UTC (rev 10075) +++ armagetronad/branches/0.4/armagetronad/src/tron/gCycleMovement.cpp 2011-10-22 21:41:20 UTC (rev 10076) @@ -35,6 +35,7 @@ #include "tMath.h" #include "nConfig.h" +#include "nServerInfo.h" #include "ePlayer.h" #include "eDebugLine.h" @@ -48,6 +49,8 @@ #include "gSensor.h" #include "gAIBase.h" +#include "uInput.h" + #include "tRecorder.h" // #define DEBUG_RUBBER @@ -4465,3 +4468,50 @@ { totalZoneAcceleration += zoneAcceleration; } + +static void sg_FillCyclePhysics() +{ + // fetch base values + REAL speed = sg_speedCycle * gCycleMovement::SpeedMultiplier(); + REAL rubber = sg_rubberCycle; + REAL maxWallAcceleration = 0; + REAL wallAcceleration = sg_accelerationCycleTeam * sg_accelerationCycle; + if ( wallAcceleration > maxWallAcceleration ) + maxWallAcceleration = wallAcceleration; + wallAcceleration = sg_accelerationCycleEnemy * sg_accelerationCycle; + if ( wallAcceleration > maxWallAcceleration ) + maxWallAcceleration = wallAcceleration; + wallAcceleration = sg_accelerationCycleRim * sg_accelerationCycle; + if ( wallAcceleration > maxWallAcceleration ) + maxWallAcceleration = wallAcceleration; + maxWallAcceleration *= gCycleMovement::SpeedMultiplier(); + + REAL delay = sg_delayCycle; + if( su_doubleBindTimeout > delay ) + { + delay = su_doubleBindTimeout; + if( delay > .05 ) + { + delay = .05; + } + } + + nServerInfo::SettingsDigest & digest = *nCallbackFillServerInfo::ToFill(); + digest.cycleDelay_ = delay; + digest.acceleration_ = maxWallAcceleration/(speed+.001); + digest.rubberWallHump_ = rubber/(speed*delay); + // if humping is possible basically, check whether it's prevented or handicaped by + // cycle_rubber_delay + if( digest.rubberWallHump_ > 1 && sg_rubberCycleDelay > 0 ) + { + digest.rubberWallHump_ *= sg_rubberCycleDelayBonus; + // but not too much. + if( digest.rubberWallHump_ < 1 ) + { + digest.rubberWallHump_ = 1; + } + } + digest.rubberHitWallRatio_ = rubber/(speed*sg_rubberCycleTime); +} + +static nCallbackFillServerInfo sg_fillCyclePhysics(sg_FillCyclePhysics); Modified: armagetronad/branches/0.4/armagetronad/src/tron/gGame.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/tron/gGame.cpp 2011-10-22 20:48:49 UTC (rev 10075) +++ armagetronad/branches/0.4/armagetronad/src/tron/gGame.cpp 2011-10-22 21:41:20 UTC (rev 10076) @@ -4996,4 +4996,13 @@ static nCallbackLoginLogout lc(LoginCallback); +static void sg_FillServerSettings() +{ + nServerInfo::SettingsDigest & digest = *nCallbackFillServerInfo::ToFill(); + + digest.SetFlag( nServerInfo::SettingsDigest::Flags_NondefaultMap, + mapfile != DEFAULT_MAP ); +} +static nCallbackFillServerInfo sg_fillServerSettings(sg_FillServerSettings); + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2011-10-23 09:16:49
|
Revision: 10078 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10078&view=rev Author: z-man Date: 2011-10-23 09:16:42 +0000 (Sun, 23 Oct 2011) Log Message: ----------- Merging branch 0.2.8 from revision 10075 to 10077: ------------------------------------------------------------------------ r10077 | bazaaarmagetron | 2011-10-23 10:59:25 +0200 (Sun, 23 Oct 2011) | 2 lines Manuel Moos: Adding team play and wall length to settings digest. ------------------------------------------------------------------------ Revision Links: -------------- http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10075&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10077&view=rev Modified Paths: -------------- armagetronad/branches/0.4/armagetronad/src/network/nServerInfo.cpp armagetronad/branches/0.4/armagetronad/src/network/nServerInfo.h armagetronad/branches/0.4/armagetronad/src/protobuf/nServerInfo.proto armagetronad/branches/0.4/armagetronad/src/tron/gGame.cpp Property Changed: ---------------- armagetronad/branches/0.4/ Property changes on: armagetronad/branches/0.4 ___________________________________________________________________ Modified: svn:mergeinfo - /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10075 /armagetronad/branches/0.2.8.3:9309-10004 + /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10077 /armagetronad/branches/0.2.8.3:9309-10004 Modified: armagetronad/branches/0.4/armagetronad/src/network/nServerInfo.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/network/nServerInfo.cpp 2011-10-23 08:59:25 UTC (rev 10077) +++ armagetronad/branches/0.4/armagetronad/src/network/nServerInfo.cpp 2011-10-23 09:16:42 UTC (rev 10078) @@ -2570,6 +2570,7 @@ sync.set_acceleration( acceleration_ ); sync.set_rubber_wall_hump( rubberWallHump_ ); sync.set_rubber_hit_wall_ratio( rubberHitWallRatio_ ); + sync.set_walls_length( wallsLength_ ); } void nServerInfo::SettingsDigest::ReadSync( Network::SettingsDigest const & sync ) @@ -2582,6 +2583,14 @@ acceleration_ = sync.acceleration(); rubberWallHump_ = sync.rubber_wall_hump(); rubberHitWallRatio_ = sync.rubber_hit_wall_ratio(); + if( sync.has_walls_length() ) + { + wallsLength_ = sync.walls_length(); + } + else + { + wallsLength_ = 0; + } } void nServerInfo::SettingsDigest::SetFlag( Flags flag, bool set ) Modified: armagetronad/branches/0.4/armagetronad/src/network/nServerInfo.h =================================================================== --- armagetronad/branches/0.4/armagetronad/src/network/nServerInfo.h 2011-10-23 08:59:25 UTC (rev 10077) +++ armagetronad/branches/0.4/armagetronad/src/network/nServerInfo.h 2011-10-23 09:16:42 UTC (rev 10078) @@ -205,6 +205,7 @@ { Flags_AuthenticationRequired = 0x1, //!< is authentication required to play on this server? Flags_NondefaultMap = 0x2, //!< custom map, indicating complicated gameplay + Flags_TeamPlay = 0x4, //!< team play is possible Flags_SettingsDigestSent = 0x8000, //!< Did this server send a settings digest? Flags_All = 0xffff }; @@ -227,6 +228,7 @@ REAL acceleration_; //!< acceleration strength (relative to base speed) REAL rubberWallHump_; //!< characteristic rubber number: rubber/(base speed*cycle_delay), the number of times you can hump a wall without suiciding REAL rubberHitWallRatio_; //!< characteristic rubber number: maximum ratio of time spent sitting on walls to total time + REAL wallsLength_; //!< length of walls (divided by speed, so it's in seconds) SettingsDigest(); }; Modified: armagetronad/branches/0.4/armagetronad/src/protobuf/nServerInfo.proto =================================================================== --- armagetronad/branches/0.4/armagetronad/src/protobuf/nServerInfo.proto 2011-10-23 08:59:25 UTC (rev 10077) +++ armagetronad/branches/0.4/armagetronad/src/protobuf/nServerInfo.proto 2011-10-23 09:16:42 UTC (rev 10078) @@ -51,11 +51,12 @@ optional int32 min_play_time_online = 3; // minimal online play time in minutes required to play here optional int32 min_play_time_team = 4; // minimal team play time in minutes required to play here - optional float cycle_delay = 5; // raw CYCLE_DELAY setting (or .05 if doublebinding is disabled) - optional float acceleration = 6; // acceleration/speed + optional float cycle_delay = 5; // raw CYCLE_DELAY setting (or .05 if doublebinding is disabled) + optional float acceleration = 6; // acceleration/speed - optional float rubber_wall_hump = 7; // characteristic rubber number: rubber/(base speed*cycle_delay), the number of times you can hump a wall without suiciding + optional float rubber_wall_hump = 7; // characteristic rubber number: rubber/(base speed*cycle_delay), the number of times you can hump a wall without suiciding optional float rubber_hit_wall_ratio = 8; // characteristic rubber number: maximum ratio of time spent sitting on walls to total time + optional float walls_length = 9; // wall length (relative to max speed, so unit is seconds) // legacy message end marker, extensions go after it optional bool legacy_message_end_marker = 20000; Modified: armagetronad/branches/0.4/armagetronad/src/tron/gGame.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/tron/gGame.cpp 2011-10-23 08:59:25 UTC (rev 10077) +++ armagetronad/branches/0.4/armagetronad/src/tron/gGame.cpp 2011-10-23 09:16:42 UTC (rev 10078) @@ -5002,6 +5002,10 @@ digest.SetFlag( nServerInfo::SettingsDigest::Flags_NondefaultMap, mapfile != DEFAULT_MAP ); + digest.SetFlag( nServerInfo::SettingsDigest::Flags_TeamPlay, + multiPlayer.maxPlayersPerTeam > 1 ); + + digest.wallsLength_ = multiPlayer.wallsLength/gCycleMovement::MaximalSpeed(); } static nCallbackFillServerInfo sg_fillServerSettings(sg_FillServerSettings); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2011-10-23 10:22:07
|
Revision: 10081 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10081&view=rev Author: z-man Date: 2011-10-23 10:22:01 +0000 (Sun, 23 Oct 2011) Log Message: ----------- Merging branch 0.2.8 from revision 10077 to 10080: ------------------------------------------------------------------------ r10079 | bazaaarmagetron | 2011-10-23 11:37:22 +0200 (Sun, 23 Oct 2011) | 2 lines Manuel Moos: Acceleration digest now simply is maxspeed/speed - 1. ------------------------------------------------------------------------ Revision Links: -------------- http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10077&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10079&view=rev Modified Paths: -------------- armagetronad/branches/0.4/armagetronad/src/tron/gCycleMovement.cpp Property Changed: ---------------- armagetronad/branches/0.4/ Property changes on: armagetronad/branches/0.4 ___________________________________________________________________ Modified: svn:mergeinfo - /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10077 /armagetronad/branches/0.2.8.3:9309-10004 + /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10080 /armagetronad/branches/0.2.8.3:9309-10004 Modified: armagetronad/branches/0.4/armagetronad/src/tron/gCycleMovement.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/tron/gCycleMovement.cpp 2011-10-23 09:56:21 UTC (rev 10080) +++ armagetronad/branches/0.4/armagetronad/src/tron/gCycleMovement.cpp 2011-10-23 10:22:01 UTC (rev 10081) @@ -4474,17 +4474,7 @@ // fetch base values REAL speed = sg_speedCycle * gCycleMovement::SpeedMultiplier(); REAL rubber = sg_rubberCycle; - REAL maxWallAcceleration = 0; - REAL wallAcceleration = sg_accelerationCycleTeam * sg_accelerationCycle; - if ( wallAcceleration > maxWallAcceleration ) - maxWallAcceleration = wallAcceleration; - wallAcceleration = sg_accelerationCycleEnemy * sg_accelerationCycle; - if ( wallAcceleration > maxWallAcceleration ) - maxWallAcceleration = wallAcceleration; - wallAcceleration = sg_accelerationCycleRim * sg_accelerationCycle; - if ( wallAcceleration > maxWallAcceleration ) - maxWallAcceleration = wallAcceleration; - maxWallAcceleration *= gCycleMovement::SpeedMultiplier(); + REAL maxSpeed = gCycleMovement::MaximalSpeed(); REAL delay = sg_delayCycle; if( su_doubleBindTimeout > delay ) @@ -4498,7 +4488,7 @@ nServerInfo::SettingsDigest & digest = *nCallbackFillServerInfo::ToFill(); digest.cycleDelay_ = delay; - digest.acceleration_ = maxWallAcceleration/(speed+.001); + digest.acceleration_ = (maxSpeed-speed)/(speed+.001); digest.rubberWallHump_ = rubber/(speed*delay); // if humping is possible basically, check whether it's prevented or handicaped by // cycle_rubber_delay This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2011-10-25 09:46:10
|
Revision: 10088 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10088&view=rev Author: z-man Date: 2011-10-25 09:46:03 +0000 (Tue, 25 Oct 2011) Log Message: ----------- Merging branch 0.2.8 from revision 10080 to 10087: ------------------------------------------------------------------------ r10087 | bazaaarmagetron | 2011-10-25 11:23:10 +0200 (Tue, 25 Oct 2011) | 2 lines Manuel Moos: Correctly take values of CYCLE_RUBBER_DELAY between 0 and 1 into account when applying the bonus for the digest. ------------------------------------------------------------------------ r10082 | bazaaarmagetron | 2011-10-23 15:28:47 +0200 (Sun, 23 Oct 2011) | 2 lines Manuel Moos: Delay digest now takes speed multiplier into account. ------------------------------------------------------------------------ Revision Links: -------------- http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10080&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10087&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10082&view=rev Modified Paths: -------------- armagetronad/branches/0.4/armagetronad/src/tron/gCycleMovement.cpp Property Changed: ---------------- armagetronad/branches/0.4/ Property changes on: armagetronad/branches/0.4 ___________________________________________________________________ Modified: svn:mergeinfo - /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10080 /armagetronad/branches/0.2.8.3:9309-10004 + /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10087 /armagetronad/branches/0.2.8.3:9309-10004 Modified: armagetronad/branches/0.4/armagetronad/src/tron/gCycleMovement.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/tron/gCycleMovement.cpp 2011-10-25 09:23:10 UTC (rev 10087) +++ armagetronad/branches/0.4/armagetronad/src/tron/gCycleMovement.cpp 2011-10-25 09:46:03 UTC (rev 10088) @@ -4476,7 +4476,7 @@ REAL rubber = sg_rubberCycle; REAL maxSpeed = gCycleMovement::MaximalSpeed(); - REAL delay = sg_delayCycle; + REAL delay = sg_delayCycle/gCycleMovement::SpeedMultiplier(); if( su_doubleBindTimeout > delay ) { delay = su_doubleBindTimeout; @@ -4494,7 +4494,9 @@ // cycle_rubber_delay if( digest.rubberWallHump_ > 1 && sg_rubberCycleDelay > 0 ) { - digest.rubberWallHump_ *= sg_rubberCycleDelayBonus; + REAL rubberDelayCount = sg_rubberCycleDelay > .999 ? .999 : sg_rubberCycleDelay; + REAL bonus = sg_rubberCycleDelayBonus > 0 ? sg_rubberCycleDelayBonus : 0; + digest.rubberWallHump_ *= bonus/(rubberDelayCount+bonus*(1-rubberDelayCount)); // but not too much. if( digest.rubberWallHump_ < 1 ) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2011-10-28 13:43:30
|
Revision: 10110 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10110&view=rev Author: z-man Date: 2011-10-28 13:43:23 +0000 (Fri, 28 Oct 2011) Log Message: ----------- Merging branch 0.2.8 from revision 10087 to 10109: ------------------------------------------------------------------------ r10109 | bazaaarmagetron | 2011-10-28 14:52:33 +0200 (Fri, 28 Oct 2011) | 2 lines Manuel Moos: Fixed conversion compiler warnings. ------------------------------------------------------------------------ r10108 | bazaaarmagetron | 2011-10-28 14:43:14 +0200 (Fri, 28 Oct 2011) | 2 lines Manuel Moos: Properly passing out failure status. ------------------------------------------------------------------------ r10101 | bazaaarmagetron | 2011-10-26 23:49:09 +0200 (Wed, 26 Oct 2011) | 1 line Manuel Moos: Banning unreliable us.to DNS names from the master list. Really now instead of everything else. ------------------------------------------------------------------------ r10100 | bazaaarmagetron | 2011-10-26 23:04:56 +0200 (Wed, 26 Oct 2011) | 1 line Manuel Moos: Banning unreliable us.to DNS names from the master list. ------------------------------------------------------------------------ r10097 | bazaaarmagetron | 2011-10-25 23:16:29 +0200 (Tue, 25 Oct 2011) | 2 lines Manuel Moos: Adding MIN/MAX_PROTOCOL_VERSION for better control of supported clients and features. ------------------------------------------------------------------------ Revision Links: -------------- http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10087&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10109&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10108&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10101&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10100&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10097&view=rev Modified Paths: -------------- armagetronad/branches/0.4/armagetronad/config/settings.cfg armagetronad/branches/0.4/armagetronad/language/english_base.txt armagetronad/branches/0.4/armagetronad/src/engine/ePlayer.cpp armagetronad/branches/0.4/armagetronad/src/network/nNetwork.cpp armagetronad/branches/0.4/armagetronad/src/network/nServerInfo.cpp armagetronad/branches/0.4/build_eclipse/confmake Property Changed: ---------------- armagetronad/branches/0.4/ armagetronad/branches/0.4/build_eclipse/ Property changes on: armagetronad/branches/0.4 ___________________________________________________________________ Modified: svn:mergeinfo - /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10087 /armagetronad/branches/0.2.8.3:9309-10004 + /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10109 /armagetronad/branches/0.2.8.3:9309-10004 Modified: armagetronad/branches/0.4/armagetronad/config/settings.cfg =================================================================== --- armagetronad/branches/0.4/armagetronad/config/settings.cfg 2011-10-28 12:52:33 UTC (rev 10109) +++ armagetronad/branches/0.4/armagetronad/config/settings.cfg 2011-10-28 13:43:23 UTC (rev 10110) @@ -48,9 +48,17 @@ # ############################################################################################ +# Artificially limiting compatibility of hosted games: BACKWARD_COMPATIBILITY 1000 # Maximum number of network protocol versions backward compatibility ( will be clamped to maximal supported value; set to zero to not accept logins from older clients ) -NEW_FEATURE_DELAY 0 # Disable features that only came in during the last X protocol versions. +NEW_FEATURE_DELAY 0 # Disable features that only came in during the last X protocol versions +. +# To the same effect, but uses absolute protocol versions (look up the help file versions.html) +# so if you want to set your limits at specific feature sets and not worry about updating +# your config when you install a game update, use these. +MIN_PROTOCOL_VERSION 0 # Minimum protocol version allowed to play. +MAX_PROTOCOL_VERSION 0 # If > 0, maximum protocol version allowed to play; features not supported by this version are going to be permanently disabled. + MAX_CLIENTS 16 # maximum number of clients that can connect to this machine MAX_CLIENTS_SAME_IP_SOFT 4 # maximum number of clients from the same IP (soft limit, more users from the same IP will be kicked when the server is full and someone new connects) MAX_CLIENTS_SAME_IP_HARD 8 # maximum number of clients from the same IP (hard limit, more logins will be ignored) Modified: armagetronad/branches/0.4/armagetronad/language/english_base.txt =================================================================== --- armagetronad/branches/0.4/armagetronad/language/english_base.txt 2011-10-28 12:52:33 UTC (rev 10109) +++ armagetronad/branches/0.4/armagetronad/language/english_base.txt 2011-10-28 13:43:23 UTC (rev 10110) @@ -997,6 +997,8 @@ backward_compatibility_help Maximum number of old protocol versions to support. new_feature_delay_help Disable features that only came in during the last X protocol versions. +min_protocol_version_help Minimum protocol version allowed to play. +max_protocol_version_help If > 0, maximum protocol version allowed to play; features not supported by this version are going to be permanently disabled. # program control quit_help Shuts the dedicated server down and quits. Modified: armagetronad/branches/0.4/armagetronad/src/engine/ePlayer.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/engine/ePlayer.cpp 2011-10-28 12:52:33 UTC (rev 10109) +++ armagetronad/branches/0.4/armagetronad/src/engine/ePlayer.cpp 2011-10-28 13:43:23 UTC (rev 10110) @@ -10148,9 +10148,9 @@ { nServerInfo::SettingsDigest & digest = *nCallbackFillServerInfo::ToFill(); - digest.minPlayTimeTotal_ = se_minPlayTimeTotal; - digest.minPlayTimeOnline_ = se_minPlayTimeOnline; - digest.minPlayTimeTeam_ = se_minPlayTimeTeam; + digest.minPlayTimeTotal_ = int(se_minPlayTimeTotal); + digest.minPlayTimeOnline_ = int(se_minPlayTimeOnline); + digest.minPlayTimeTeam_ = int(se_minPlayTimeTeam); digest.SetFlag( nServerInfo::SettingsDigest::Flags_AuthenticationRequired, #ifdef KRAWALL_SERVER Modified: armagetronad/branches/0.4/armagetronad/src/network/nNetwork.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/network/nNetwork.cpp 2011-10-28 12:52:33 UTC (rev 10109) +++ armagetronad/branches/0.4/armagetronad/src/network/nNetwork.cpp 2011-10-28 13:43:23 UTC (rev 10110) @@ -296,6 +296,12 @@ static int sn_MaxBackwardsCompatibility = 1000; static tSettingItem<int> sn_mxc("BACKWARD_COMPATIBILITY",sn_MaxBackwardsCompatibility); +static int sn_minVersion = 0; +static tSettingItem<int> sn_miv("MIN_PROTOCOL_VERSION",sn_minVersion); + +static int sn_maxVersion = 0; +static tSettingItem<int> sn_mav("MAX_PROTOCOL_VERSION",sn_maxVersion); + static int sn_newFeatureDelay = 0; static tSettingItem<int> sn_nfd("NEW_FEATURE_DELAY",sn_newFeatureDelay); @@ -488,9 +494,13 @@ int min = sn_myVersion.Max() - sn_MaxBackwardsCompatibility; if ( min < sn_myVersion.Min() ) min = sn_myVersion.Min(); + if( min < sn_minVersion ) + min = sn_minVersion; // disable features that are too new int max = sn_myVersion.Max() - sn_newFeatureDelay; + if( sn_maxVersion > 0 && max > sn_maxVersion ) + max = sn_maxVersion; if ( max < min ) max = min; Modified: armagetronad/branches/0.4/armagetronad/src/network/nServerInfo.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/network/nServerInfo.cpp 2011-10-28 12:52:33 UTC (rev 10109) +++ armagetronad/branches/0.4/armagetronad/src/network/nServerInfo.cpp 2011-10-28 13:43:23 UTC (rev 10110) @@ -2847,7 +2847,8 @@ port_ = info.port(); // get the port sn_ReadFiltered( info.hostname(), connectionName_ ); // get the connection name - if ( ( sn_IsMaster || sn_AcceptingFromBroadcast || sn_AcceptingFromMaster ) && connectionName_.Len()>1 ) // no valid name (must come directly from the server who does not know his own address) + // ban us.to dns service, it's down too often + if ( ( ( sn_IsMaster && !connectionName_.EndsWith( ".us.to" ) ) || sn_AcceptingFromBroadcast || sn_AcceptingFromMaster ) && connectionName_.Len()>1 ) // valid name (must come directly from the server who does not know his own address) { // resolve DNS connectionName_ = S_LocalizeName( connectionName_ ); Property changes on: armagetronad/branches/0.4/build_eclipse ___________________________________________________________________ Modified: bzr:revision-info - timestamp: 2008-02-09 11:43:38.194999933 +0100 committer: Manuel Moos <manuel@kermit> properties: branch-nick: build_eclipse + timestamp: 2011-10-28 14:37:27.266999960 +0200 committer: Manuel Moos <z-...@us...> properties: branch-nick: build_eclipse Modified: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 3 z-...@us...-20080208084927-hy2x4ka23feeinm6 4 z-...@us...-20080208093651-sy1m2atik1dlj53c 5 z-...@us...-20080208093751-cxw0ah6k77oewofy 7 z-...@us...-20080208103138-eqcqxtkhy78r87wl 9 z-...@us...-20080208111739-58jyugw1waxk2j4o 10 z-...@us...-20080208112657-c4kgxx10lof422a3 12 z-...@us...-20080208114409-rrlulkn6mmp56x1z 13 z-...@us...-20080208115023-3tgps4w7cv3m2qeh 14 manuel@kermit-20080209104338-1j7wow4zq8mc7giz + 3 z-...@us...-20080208084927-hy2x4ka23feeinm6 4 z-...@us...-20080208093651-sy1m2atik1dlj53c 5 z-...@us...-20080208093751-cxw0ah6k77oewofy 7 z-...@us...-20080208103138-eqcqxtkhy78r87wl 9 z-...@us...-20080208111739-58jyugw1waxk2j4o 10 z-...@us...-20080208112657-c4kgxx10lof422a3 12 z-...@us...-20080208114409-rrlulkn6mmp56x1z 13 z-...@us...-20080208115023-3tgps4w7cv3m2qeh 14 manuel@kermit-20080209104338-1j7wow4zq8mc7giz 16 z-...@us...-20111028123727-ityyp2nfro5dvjuc Modified: armagetronad/branches/0.4/build_eclipse/confmake =================================================================== --- armagetronad/branches/0.4/build_eclipse/confmake 2011-10-28 12:52:33 UTC (rev 10109) +++ armagetronad/branches/0.4/build_eclipse/confmake 2011-10-28 13:43:23 UTC (rev 10110) @@ -1,12 +1,11 @@ #!/bin/bash -bash ./configure "$@" +bash ./configure "$@" || exit 1 CONFIG=$1 shift test -z "$MAKEFLAGS" || MAKEFLAGS=-"$MAKEFLAGS" -pushd build/$CONFIG > /dev/null -$MAKE $MAKEFLAGS -popd > /dev/null +$MAKE -C build/$CONFIG $MAKEFLAGS || exit 1 + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2011-10-31 18:02:44
|
Revision: 10120 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10120&view=rev Author: z-man Date: 2011-10-31 18:02:37 +0000 (Mon, 31 Oct 2011) Log Message: ----------- Merging branch 0.2.8 from revision 10109 to 10119: ------------------------------------------------------------------------ r10118 | bazaaarmagetron | 2011-10-30 22:11:32 +0100 (Sun, 30 Oct 2011) | 2 lines Manuel Moos: Replacing misplaced dot. ------------------------------------------------------------------------ Revision Links: -------------- http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10109&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10118&view=rev Modified Paths: -------------- armagetronad/branches/0.4/armagetronad/config/settings.cfg Property Changed: ---------------- armagetronad/branches/0.4/ Property changes on: armagetronad/branches/0.4 ___________________________________________________________________ Modified: svn:mergeinfo - /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10109 /armagetronad/branches/0.2.8.3:9309-10004 + /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10119 /armagetronad/branches/0.2.8.3:9309-10004 Modified: armagetronad/branches/0.4/armagetronad/config/settings.cfg =================================================================== --- armagetronad/branches/0.4/armagetronad/config/settings.cfg 2011-10-31 15:33:03 UTC (rev 10119) +++ armagetronad/branches/0.4/armagetronad/config/settings.cfg 2011-10-31 18:02:37 UTC (rev 10120) @@ -50,8 +50,7 @@ # Artificially limiting compatibility of hosted games: BACKWARD_COMPATIBILITY 1000 # Maximum number of network protocol versions backward compatibility ( will be clamped to maximal supported value; set to zero to not accept logins from older clients ) -NEW_FEATURE_DELAY 0 # Disable features that only came in during the last X protocol versions -. +NEW_FEATURE_DELAY 0 # Disable features that only came in during the last X protocol versions. # To the same effect, but uses absolute protocol versions (look up the help file versions.html) # so if you want to set your limits at specific feature sets and not worry about updating This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2011-11-01 21:15:47
|
Revision: 10162 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10162&view=rev Author: z-man Date: 2011-11-01 21:15:41 +0000 (Tue, 01 Nov 2011) Log Message: ----------- Merging branch 0.2.8 from revision 10119 to 10161: ------------------------------------------------------------------------ r10152 | bazaaarmagetron | 2011-11-01 14:27:27 +0100 (Tue, 01 Nov 2011) | 2 lines Manuel Moos: Adding sound lock when alpha objects get resorted. ------------------------------------------------------------------------ Revision Links: -------------- http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10119&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10152&view=rev Modified Paths: -------------- armagetronad/branches/0.4/armagetronad/src/engine/eGameObject.cpp Property Changed: ---------------- armagetronad/branches/0.4/ Property changes on: armagetronad/branches/0.4 ___________________________________________________________________ Modified: svn:mergeinfo - /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10119 /armagetronad/branches/0.2.8.3:9309-10004 + /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10161 /armagetronad/branches/0.2.8.3:9309-10004 Modified: armagetronad/branches/0.4/armagetronad/src/engine/eGameObject.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/engine/eGameObject.cpp 2011-11-01 14:00:12 UTC (rev 10161) +++ armagetronad/branches/0.4/armagetronad/src/engine/eGameObject.cpp 2011-11-01 21:15:41 UTC (rev 10162) @@ -905,6 +905,9 @@ // but the small flickering error is to be tolerated, especially // since alpha blended game objects tend to gently fade in. int firstAlphaID = firstAlpha->id; + + eSoundLocker locker; + grid->gameObjects.Remove(firstAlpha,firstAlpha->id); grid->gameObjects.Add(firstAlpha,firstAlpha->id); grid->gameObjects.Remove(object,object->id); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2011-11-08 18:31:12
|
Revision: 10183 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10183&view=rev Author: z-man Date: 2011-11-08 18:31:06 +0000 (Tue, 08 Nov 2011) Log Message: ----------- Merging branch 0.2.8 from revision 10161 to 10182: ------------------------------------------------------------------------ r10182 | bazaaarmagetron | 2011-11-08 17:07:04 +0100 (Tue, 08 Nov 2011) | 1 line Manuel Moos: Switching to glColor4f because Intel drivers don't like it if you alternate between them and glColor3f in different glBegin()/glEnd() blocks. ------------------------------------------------------------------------ Revision Links: -------------- http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10161&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10182&view=rev Modified Paths: -------------- armagetronad/branches/0.4/armagetronad/src/tron/gWall.cpp Property Changed: ---------------- armagetronad/branches/0.4/ Property changes on: armagetronad/branches/0.4 ___________________________________________________________________ Modified: svn:mergeinfo - /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10161 /armagetronad/branches/0.2.8.3:9309-10004 + /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10182 /armagetronad/branches/0.2.8.3:9309-10004 Modified: armagetronad/branches/0.4/armagetronad/src/tron/gWall.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/tron/gWall.cpp 2011-11-08 16:07:04 UTC (rev 10182) +++ armagetronad/branches/0.4/armagetronad/src/tron/gWall.cpp 2011-11-08 18:31:06 UTC (rev 10183) @@ -1141,19 +1141,19 @@ { BeginQuads(); - glColor3f(r,g,b); + glColor4f(r,g,b,1); glTexCoord2f(ta,hfrac); glVertex3f(p1.x,p1.y,extrarise); - glColor3f(r,g,b); + glColor4f(r,g,b,1); glTexCoord2f(ta,0); glVertex3f(p1.x,p1.y,extrarise + h*hfrac); - glColor3f(r,g,b); + glColor4f(r,g,b,1); glTexCoord2f(te,0); glVertex3f(p2.x,p2.y,extrarise + h*hfrac); - glColor3f(r,g,b); + glColor4f(r,g,b,1); glTexCoord2f(te,hfrac); glVertex3f(p2.x,p2.y,extrarise); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2011-11-17 12:32:58
|
Revision: 10241 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10241&view=rev Author: z-man Date: 2011-11-17 12:32:47 +0000 (Thu, 17 Nov 2011) Log Message: ----------- Merging branch 0.2.8 from revision 10182 to 10240: ------------------------------------------------------------------------ r10240 | bazaaarmagetron | 2011-11-17 12:47:18 +0100 (Thu, 17 Nov 2011) | 2 lines Manuel Moos: Disabling forced expiration. This branch is as stable as it's ever going to get. ------------------------------------------------------------------------ r10219 | bazaaarmagetron | 2011-11-14 09:33:01 +0100 (Mon, 14 Nov 2011) | 2 lines Manuel Moos: Proper name for current network version: 0.2.9_alpha ------------------------------------------------------------------------ Revision Links: -------------- http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10182&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10240&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10219&view=rev Modified Paths: -------------- armagetronad/branches/0.4/armagetronad/src/network/nConfig.cpp Property Changed: ---------------- armagetronad/branches/0.4/ Property changes on: armagetronad/branches/0.4 ___________________________________________________________________ Modified: svn:mergeinfo - /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10182 /armagetronad/branches/0.2.8.3:9309-10004 + /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10240 /armagetronad/branches/0.2.8.3:9309-10004 Modified: armagetronad/branches/0.4/armagetronad/src/network/nConfig.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/network/nConfig.cpp 2011-11-17 11:47:18 UTC (rev 10240) +++ armagetronad/branches/0.4/armagetronad/src/network/nConfig.cpp 2011-11-17 12:32:47 UTC (rev 10241) @@ -571,8 +571,8 @@ "0.2.8.3_alpha_auth", // 15 "0.2.8.3.X", // 16, was: 0.2.8.3_beta2 "0.2.9_alpha", // 17 - "0.2.8.5_alpha", // 18 - "0.2.8.5", // 19 + "0.2.9_alpha2", // 18 + "0.2.9_alpha3", // 19 "0.3.1", // 20 "0.3.1_pb", // 21 "0.4_auto_team", // 22 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2011-11-20 20:14:27
|
Revision: 10269 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10269&view=rev Author: z-man Date: 2011-11-20 20:14:20 +0000 (Sun, 20 Nov 2011) Log Message: ----------- Merging branch 0.2.8 from revision 10240 to 10268: ------------------------------------------------------------------------ r10268 | bazaaarmagetron | 2011-11-20 20:36:52 +0100 (Sun, 20 Nov 2011) | 2 lines Manuel Moos: Reverting Uninvite change for now, I don't understand it properly. ------------------------------------------------------------------------ r10266 | bazaaarmagetron | 2011-11-20 19:08:01 +0100 (Sun, 20 Nov 2011) | 2 lines Manuel Moos: Merging scriptlaunch branch. ------------------------------------------------------------------------ r10254 | bazaaarmagetron | 2011-11-19 19:11:35 +0100 (Sat, 19 Nov 2011) | 1 line Manuel Moos: Filtering team management spam. ------------------------------------------------------------------------ Revision Links: -------------- http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10240&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10268&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10266&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10254&view=rev Modified Paths: -------------- armagetronad/branches/0.4/armagetronad/NEWS armagetronad/branches/0.4/armagetronad/language/english_base.txt armagetronad/branches/0.4/armagetronad/src/engine/ePlayer.cpp armagetronad/branches/0.4/armagetronad/src/render/rConsole.h armagetronad/branches/0.4/armagetronad/src/render/rConsoleCout.cpp armagetronad/branches/0.4/armagetronad/src/render/rConsoleGraph.cpp armagetronad/branches/0.4/armagetronad/src/tron/gGame.cpp Added Paths: ----------- armagetronad/branches/0.4/armagetronad/config/examples/scripts/ armagetronad/branches/0.4/armagetronad/scripts/ armagetronad/branches/0.4/armagetronad/scripts/examples/ Removed Paths: ------------- armagetronad/branches/0.4/armagetronad/scripts/examples/ Property Changed: ---------------- armagetronad/branches/0.4/ Property changes on: armagetronad/branches/0.4 ___________________________________________________________________ Modified: svn:mergeinfo - /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10240 /armagetronad/branches/0.2.8.3:9309-10004 + /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10268 /armagetronad/branches/0.2.8.3:9309-10004 Modified: armagetronad/branches/0.4/armagetronad/NEWS =================================================================== --- armagetronad/branches/0.4/armagetronad/NEWS 2011-11-20 19:36:52 UTC (rev 10268) +++ armagetronad/branches/0.4/armagetronad/NEWS 2011-11-20 20:14:20 UTC (rev 10269) @@ -158,6 +158,13 @@ TEAM_RENAMED <old team name> <new team name> TEAM_PLAYER_ADDED <team name> <player> TEAM_PLAYER_REMOVED <team name> <player> +- Manage external scripts on Unix dedicated servers: SPAWN_SCRIPT always + launches a script (the main script must be in the scripts subdirectory on the data + path), RESPAWN_SCRIPT only spawns it if a previous instance exited, KILL_SCRIPT + kills the script. + Scripts are fed the ladderlog on stdin (and need to read it) and their stdout + output is interpreted as console input on the server. Environment variables + are set so the script knows all about the server configuration at time of launch. Changes since 0.2.8.3.1: - security fix: old style action commands from clients no loger cause hangs and crashes Modified: armagetronad/branches/0.4/armagetronad/language/english_base.txt =================================================================== --- armagetronad/branches/0.4/armagetronad/language/english_base.txt 2011-11-20 19:36:52 UTC (rev 10268) +++ armagetronad/branches/0.4/armagetronad/language/english_base.txt 2011-11-20 20:14:20 UTC (rev 10269) @@ -349,6 +349,11 @@ wait_for_external_script_help Let the server wait for an external script between two rounds until the script switches this setting back to 0. wait_for_external_script_timeout_help If the server has been paused by WAIT_FOR_EXTERNAL_SCRIPT for more seconds than this, kickstart the game. +spawn_script_help Spawns an external script from a scripts/ subdirectory on the data path. +respawn_script_help Spawns an external script from a scripts/ subdirectory on the data path if no already running instance is found. +kill_script_help Kills a script. Argument must match the SPAWN_SCRIPT argument. +check_script_help Should safety checks be done on script commands? Very much recommended to leave this on. + chatter_remove_time_help Time in seconds after which a permanent chatter is removed from the game idle_remove_time_help Time in seconds after which an inactive player is removed from the game idle_kick_time_help Time in seconds after which an inactive player is kicked @@ -3328,6 +3333,7 @@ nconfig_error_ignoreold Ignoring old conf message for setting \1.\n nconfig_value_changed \1 changed from \2 to \3 on server order.\n +config_accesslevel_-1 Shell config_accesslevel_0 Owner config_accesslevel_1 Administrator config_accesslevel_2 Moderator @@ -3345,6 +3351,9 @@ access_level_help Changes the access level of a configuration item to make it available to lower ranked users access_level_usage usage: ACCESS_LEVEL <config command> <required minimal access level (numerical)>\n access_level_change Required access level of command \1 changed to "\2".\n +access_level_nochange_now Cannot change access level of \1: it is currently at "\2", you only have "\3", you would steal access.\n +access_level_nochange_later Cannot change access level of \1 to "\2", you only have "\3" and would not be able to change it back.\n +access_level_change Required access level of command \1 changed to "\2".\n access_level_error Required access level of command \1 is "\2", you only have "\3".\n casacl_help For the duration of the rest of the configuration file this directive appears in, elevate the access level. Modified: armagetronad/branches/0.4/armagetronad/src/engine/ePlayer.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/engine/ePlayer.cpp 2011-11-20 19:36:52 UTC (rev 10268) +++ armagetronad/branches/0.4/armagetronad/src/engine/ePlayer.cpp 2011-11-20 20:14:20 UTC (rev 10269) @@ -2807,6 +2807,9 @@ eAdminConsoleFilter consoleFilter( p->Owner() ); try { + // forbid CASACL + tCasaclPreventer preventer; + tConfItemBase::LoadLine(stream); } catch (tAbortLoading) @@ -2851,18 +2854,42 @@ } else if ( command == "/invite" ) { + spam.factor_ = 0.4; + if( spam.Block() ) + { + return; + } + se_Invite( command, p, s, &eTeam::Invite ); } else if ( command == "/uninvite" ) { + spam.factor_ = 0.4; + if( spam.Block() ) + { + return; + } + se_Invite( command, p, s, &eTeam::UnInvite ); } else if ( command == "/lock" ) { + spam.factor_ = 0.4; + if( spam.Block() ) + { + return; + } + se_Lock( command, p, s, true ); } else if ( command == "/unlock" ) { + spam.factor_ = 0.4; + if( spam.Block() ) + { + return; + } + se_Lock( command, p, s, false ); } #endif @@ -5252,6 +5279,11 @@ virtual bool Save(){ return false; } + + // CAN this be saved at all? + virtual bool CanSave(){ + return false; + } }; // changes the access level of a player @@ -6462,10 +6494,15 @@ { std::ofstream o; if ( tDirectories::Var().Open(o, "ladderlog.txt", std::ios::app) ) + { + std::stringstream s; if(se_ladderlogDecorateTS) { - o << st_GetCurrentTime("%Y/%m/%d-%H:%M:%S "); + s << st_GetCurrentTime("%Y/%m/%d-%H:%M:%S "); } - o << out << std::endl;; + s << out << std::endl; + sr_InputForScripts( s.str().c_str() ); + o << s.str(); + } } } Modified: armagetronad/branches/0.4/armagetronad/src/render/rConsole.h =================================================================== --- armagetronad/branches/0.4/armagetronad/src/render/rConsole.h 2011-11-20 19:36:52 UTC (rev 10268) +++ armagetronad/branches/0.4/armagetronad/src/render/rConsole.h 2011-11-20 20:14:20 UTC (rev 10269) @@ -97,6 +97,9 @@ void sr_Read_stdin(); #endif +// passes ladderlog output to external scripts +void sr_InputForScripts( char const * input ); + class rForceTextCallback:public tCallbackOr{ public: rForceTextCallback(BOOLRETFUNC *f); Modified: armagetronad/branches/0.4/armagetronad/src/render/rConsoleCout.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/render/rConsoleCout.cpp 2011-11-20 19:36:52 UTC (rev 10268) +++ armagetronad/branches/0.4/armagetronad/src/render/rConsoleCout.cpp 2011-11-20 20:14:20 UTC (rev 10269) @@ -29,6 +29,8 @@ #include "rConsole.h" #include "rFont.h" #include "tConfiguration.h" +#include "tRecorder.h" +#include "tDirectories.h" #include <stdio.h> #include <fcntl.h> @@ -45,39 +47,34 @@ //#define fcntl _fcntl #else #include <signal.h> +#include <sys/wait.h> #endif -class rInputStream +class rStream: public tReferencable< rStream > { + rStream( rStream const & other ); public: + rStream(){}; + virtual ~rStream(){}; + + // reads from the descriptor and + // executes commands on newlines. + // Return value of 'false' means the stream should be removed. + virtual bool HandleInput(){ return true; } + + // writes output to potential scripts + virtual void Output( char const * output ){} +}; + +class rInputStream: public rStream +{ +public: #ifdef WIN32 typedef HANDLE Descriptor; #else typedef int Descriptor; #endif - rInputStream( rInputStream const & other ) - { - descriptor_ = other.descriptor_; - file_ = other.file_; - line_in_ = other.line_in_; - name_ = other.name_; - - other.file_ = 0; - } - - rInputStream & operator = ( rInputStream const & other ) - { - descriptor_ = other.descriptor_; - file_ = other.file_; - line_in_ = other.line_in_; - name_ = other.name_; - - other.file_ = 0; - - return * this; - } - rInputStream() { descriptor_ = @@ -91,7 +88,7 @@ Unblock(); } - explicit rInputStream( Descriptor descriptor, char const * name, FILE * file = NULL ) + rInputStream( Descriptor descriptor, char const * name, FILE * file = NULL ) : descriptor_( descriptor ), file_( file ), name_( name ) { Unblock(); @@ -99,7 +96,7 @@ // reads from the descriptor and // executes commands on newlines - void HandleInput(); + bool HandleInput(); ~rInputStream() { @@ -109,6 +106,16 @@ file_ = NULL; } } + + tString const & GetName() + { + return name_; + } +protected: + Descriptor descriptor_; + FILE * file_; + tString name_; + private: void Unblock() { @@ -118,12 +125,71 @@ #endif } - Descriptor descriptor_; - mutable FILE * file_; tString line_in_; - tString name_; }; +#ifndef WIN32 +// stream to and from an external script +class rScriptStream: public rInputStream +{ +public: + explicit rScriptStream( Descriptor in, Descriptor out, char const * name, pid_t pid ) + : rInputStream( in, name ), pid_( pid ), outDescriptor_( out ) + { + } + + virtual bool HandleInput() + { + return rInputStream::HandleInput() && ( 0 == kill( pid_, 0 ) ); + } + + // writes output to potential scripts + virtual void Output( char const * output ) + { + int len = strlen( output ); + while( len > 0 ) + { + int written = write( outDescriptor_, output, len ); + if( written <= 0 ) + { + std::cerr << "Error writing to input stream of script '" << name_ << "' : " + << strerror( errno ) << ". Killing script.\n"; + Close(); + return; + } + output += written; + len -= written; + } + } + + ~rScriptStream() + { + Close(); + } + + // closes the streams, hopefully killing the script + void Close() + { + // close the streams + if( !file_ && descriptor_ >= 0 ) + { + close( descriptor_ ); + descriptor_ = -1; + } + if( outDescriptor_ >= 0 ) + { + close( outDescriptor_ ); + outDescriptor_ = -1; + } + + name_ = ""; + } +private: + pid_t pid_; + Descriptor outDescriptor_; +}; +#endif + void rConsole::DoCenterDisplay(const tString &s,REAL timeout,REAL r,REAL g,REAL b){ std::cout << tColoredString::RemoveColors(s) << '\n'; DisplayAtNewline(); @@ -141,11 +207,22 @@ sr_Unblock_stdin(); } +#ifndef WIN32 +static void sr_HandleSigChild( int signal ) +{ + int stat; + + /*Kills all the zombie processes*/ + while(waitpid(-1, &stat, WNOHANG) > 0); +} +#endif + void sr_Unblock_stdin(){ #ifndef WIN32 if ( !unblocked ) { signal( SIGCONT, &sr_HandleSigCont ); + signal( SIGCHLD, &sr_HandleSigChild ); } #endif @@ -160,9 +237,18 @@ #endif } -static tArray< rInputStream > sr_inputStreams; +static tArray< tJUST_CONTROLLED_PTR< rStream > > sr_inputStreams; static bool sr_daemon; +// passes ladderlog output to external scripts +void sr_InputForScripts( char const * input ) +{ + for( int i = sr_inputStreams.Len()-1; i >= 0; --i ) + { + sr_inputStreams[i]->Output( input ); + } +} + void sr_Read_stdin(){ static bool inited = false; if( !inited ) @@ -171,13 +257,25 @@ if( !sr_daemon ) { sr_Unblock_stdin(); - sr_inputStreams[sr_inputStreams.Len()]=rInputStream(); + sr_inputStreams[sr_inputStreams.Len()]= tNEW(rInputStream)(); } } for( int i = sr_inputStreams.Len()-1; i >= 0; --i ) { - sr_inputStreams[i].HandleInput(); + if( !sr_inputStreams[i]->HandleInput() ) + { + // delete stream + if( i < sr_inputStreams.Len()-1 ) + { + sr_inputStreams[i] = sr_inputStreams[ sr_inputStreams.Len()-1 ]; + } + else + { + sr_inputStreams[i] = 0; + } + sr_inputStreams.SetLen( sr_inputStreams.Len()-1 ); + } } } @@ -201,7 +299,7 @@ FILE * f = fopen( pipe, "r" ); if( f ) { - sr_inputStreams[sr_inputStreams.Len()]=rInputStream( fileno(f), pipe, f ); + sr_inputStreams[sr_inputStreams.Len()] = tNEW(rInputStream)( fileno(f), pipe, f ); fseek( f, 0, SEEK_END ); } else @@ -229,7 +327,7 @@ static rInputCommandLineAnalyzer sr_analyzer; #endif -void rInputStream::HandleInput() +bool rInputStream::HandleInput() { // stdin commands are executed at owner level tCurrentAccessLevel level( tAccessLevel_Owner, true ); @@ -273,10 +371,11 @@ goon = false; } - + return true; #else - char c; - while ( read(descriptor_,&c,1)>0){ + char c = 0; + int lenRead; + while ( (lenRead=read(descriptor_,&c,1))>0){ line_in_ << c; if (c=='\n') { @@ -289,9 +388,295 @@ line_in_=""; } } + + // 0 return on lenRead means end of file, + // -1 means an error unless errno has these specific values, + // in which case there is just no data currently. + return lenRead != 0 && ( errno == EAGAIN || errno == EWOULDBLOCK ); #endif } void rConsole::DisplayAtNewline(){ } +#ifdef HAVE_UNISTD_H + +#define READ 0 +#define WRITE 1 + +// launches shell command with pipes attached to it +pid_t +popen2(const char *command, int *infp, int *outfp, char const ** envp) +{ + int p_stdin[2], p_stdout[2]; + pid_t pid; + + if (pipe(p_stdin) != 0 || pipe(p_stdout) != 0) + return -1; + + pid = fork(); + + if (pid < 0) + return pid; + else if (pid == 0) + { + close(p_stdin[WRITE]); + dup2(p_stdin[READ], READ); + close(p_stdout[READ]); + dup2(p_stdout[WRITE], WRITE); + + execle("/bin/sh", "sh", "-c", command, NULL, envp); + perror("execl"); + exit(1); + } + + if (infp == NULL) + close(p_stdin[WRITE]); + else + *infp = p_stdin[WRITE]; + + if (outfp == NULL) + close(p_stdout[READ]); + else + *outfp = p_stdout[READ]; + + return pid; +} + +#ifdef KRAWALL_SERVER +static rScriptStream * sr_FindScriptStream( tString const & name ) +{ + for( int i = sr_inputStreams.Len()-1; i >= 0; --i ) + { + rScriptStream * script = dynamic_cast< rScriptStream * >( (rStream*)sr_inputStreams[i] ); + if( script && script->GetName() == name ) + { + return script; + } + } + + return NULL; +} + +static bool sr_sanityCheckScript = true; +static tConfItem<bool> src_sanityCheckScript( "CHECK_SCRIPT", sr_sanityCheckScript ); +static tAccessLevelSetter src_sanityCheckScriptALS( src_sanityCheckScript, tAccessLevel_Owner ); + +class rEnvironment +{ +public: + const char ** GetRaw() + { + // fill and terminate envp + envp_.SetLen(0); + for( int i = 0; i < strings_.Len(); ++i ) + { + envp_[i] = strings_[i]; + } + envp_[strings_.Len()] = NULL; + + return &envp_[0]; + } + + rEnvironment() + { + } + + void Add( char const * var, tString const & value ) + { + strings_[strings_.Len()] = tString(var) + "=" + value; + } + + void AddPath( char const * var, tPath const & path ) + { + Add( var, path.GetPaths(":","") ); + } +private: + tArray< char const * > envp_; + tArray< tString > strings_; +}; + +static void sr_SpawnScript( tString const & command ) +{ + // yes, rincludes are the one bit where CASACL is forbidden. And Maps, which + // are equivalent to RINCLUDES. + // change that assumption and hopefully, the name of this + // function will tip you off something needs to be changed here. + if( tCasaclPreventer::InRInclude() ) + { + con << "Launching scripts from RINCLUDE or maps is not possible for security reasons. Work around it by delegating the actual script launch to a local configuration file.\n"; + return; + } + + if( sr_sanityCheckScript ) + { + char needle[2]; + needle[1] = 0; + char const * allowed = ".,?/\\\"!@#$%^*-_+=[]~"; + + for( int i = command.Len()-2; i >= 0; --i ) + { + // only whitespace and alphanumeric characters plus a few exceptions are allowed + needle[0] = command[i]; + if( !isalnum(needle[0]) && !isblank(needle[0]) && !strstr( allowed, needle ) ) + { + con << "External command \'" << command << "\' contains forbidden characters, only alphanumeric or blank characters are allowed, plus any of '" << allowed << "'.\n"; + return; + } + } + } + + if( !tRecorder::IsPlayingBack() ) + { + tString fullCommand; + + { + tString script; + tString arguments; + { + std::stringstream s( command ); + s >> script; + arguments.ReadLine(s); + } + + // find full path + tString path = tDirectories::Data().GetReadPath(tString("scripts/") + script); + if( path.Len() > 1 ) + { + fullCommand = path + ' ' + arguments; + } + else if( sr_sanityCheckScript ) + { + con << "External command \'" << command << "\' not found anywhere in <datapath>/scripts/.\n"; + return; + } + else + { + fullCommand = command; + } + } + + con << "Launching external command \'" << fullCommand << "\'...\n"; + + // get the var directory; it's the last entry + // tArray<tString> varPaths; + // tDirectories::Var().Paths(varPaths); + // tString varPath = varPaths(varPaths.Len()-1); + tString varPath = tDirectories::Var().GetWritePath("x"); + if( varPath.Len() > 2 ) + { + varPath = varPath.SubStr(0, varPath.Len()-3); + } + else + { + varPath = "./"; + } + + tString resourcePath = tDirectories::Resource().GetWritePath("x"); + if( resourcePath.Len() > 2 ) + { + resourcePath = resourcePath.SubStr(0, resourcePath.Len()-3); + } + else + { + resourcePath = "./"; + } + + rEnvironment env; + tString newPath= + tDirectories::Data().GetPaths("/scripts:","/scripts:") + + tDirectories::Config().GetPaths(":",":") + + getenv("PATH"); + env.Add( "PATH", newPath ); + + // add special directories + env.Add( "ARMAGETRONAD_DIR_VAR", varPath ); + env.Add( "ARMAGETRONAD_DIR_RESOURCE", resourcePath ); + env.Add( "ARMAGETRONAD_DIR_RESOURCE_INCLUDED", tDirectories::Resource().GetDirPath() ); + + // add path collections + env.AddPath( "ARMAGETRONAD_PATH_DATA", tDirectories::Data() ); + env.AddPath( "ARMAGETRONAD_PATH_CONFIG", tDirectories::Config() ); + env.AddPath( "ARMAGETRONAD_PATH_VAR", tDirectories::Var() ); + env.AddPath( "ARMAGETRONAD_PATH_SCREENSHOT", tDirectories::Screenshot() ); + env.AddPath( "ARMAGETRONAD_PATH_RESOURCE", tDirectories::Resource() ); + + // add all settings + tConfItemBase::tConfItemMap const & confItemMap = tConfItemBase::GetConfItemMap(); + for( tConfItemBase::tConfItemMap::const_iterator iter = confItemMap.begin(); + iter != confItemMap.end(); ++iter ) + { + if( !(*iter).second->CanSave() || (*iter).first.StartsWith( "PASSWORD" ) ) + { + // yeah, well, password storage. Not really an issue, unlikely to be + // set on the server anyway, the script can read the config directly + // just as well, but we don't want script authors ot freak out when they + // notice it in the environment. + continue; + } + + std::stringstream s; + (*iter).second->WriteVal(s); + env.Add( tString("ARMAGETRONAD_") + (*iter).first, tString( s.str().c_str() ) ); + } + + int infp, outfp; + pid_t pid = popen2( fullCommand, &infp, &outfp, env.GetRaw() ); + sr_inputStreams[sr_inputStreams.Len()] = tNEW(rScriptStream)( outfp, infp, command, pid ); + } + else + { + con << "Launching external command \'" << command << "\'...\n"; + } +} + +// spawns a script +static void sr_SpawnScriptCommand( std::istream & s ) +{ + tString command; + command.ReadLine(s); + + sr_SpawnScript( command ); +} + +static tConfItemFunc sr_spawnScript( "SPAWN_SCRIPT", sr_SpawnScriptCommand ); +static tAccessLevelSetter sr_spawnScriptALS( sr_spawnScript, tAccessLevel_Owner ); + +// respawns a script +static void sr_RespawnScriptCommand( std::istream & s ) +{ + tString command; + command.ReadLine(s); + + if( !sr_FindScriptStream( command ) ) + { + sr_SpawnScript( command ); + } +} + +static tConfItemFunc sr_respawnScript( "RESPAWN_SCRIPT", sr_RespawnScriptCommand ); +static tAccessLevelSetter sr_respawnScriptALS( sr_respawnScript, tAccessLevel_Owner ); + +// respawns a script +static void sr_KillScriptCommand( std::istream & s ) +{ + tString command; + command.ReadLine(s); + + rScriptStream * stream = sr_FindScriptStream( command ); + if( stream ) + { + con << "Killing script \'" << command << "\'.\n"; + stream->Close(); + } + else + { + con << "No script named \'" << command << "\' running.\n"; + } +} + +static tConfItemFunc sr_killScript( "KILL_SCRIPT", sr_KillScriptCommand ); +static tAccessLevelSetter sr_killScriptALS( sr_killScript, tAccessLevel_Owner ); +#endif + +#endif Modified: armagetronad/branches/0.4/armagetronad/src/render/rConsoleGraph.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/render/rConsoleGraph.cpp 2011-11-20 19:36:52 UTC (rev 10268) +++ armagetronad/branches/0.4/armagetronad/src/render/rConsoleGraph.cpp 2011-11-20 20:14:20 UTC (rev 10269) @@ -250,6 +250,10 @@ return tSysTimeFloat() - center_fadetime < 1.5; } +// passes ladderlog output to external scripts (do nothing here) +void sr_InputForScripts( char const * input ) +{} + #else #include "rConsoleCout.cpp" #endif Modified: armagetronad/branches/0.4/armagetronad/src/tron/gGame.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/tron/gGame.cpp 2011-11-20 19:36:52 UTC (rev 10268) +++ armagetronad/branches/0.4/armagetronad/src/tron/gGame.cpp 2011-11-20 20:14:20 UTC (rev 10269) @@ -886,6 +886,9 @@ // let settings in the map file be executed with the rights of the person // who set the map tCurrentAccessLevel level( conf_mapfile.GetSetting().GetSetLevel(), true ); + + // and disallow CASACL and script spawning just in case + tCasaclPreventer preventer; Arena.PrepareGrid(grid, aParser); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2011-11-27 16:01:05
|
Revision: 10290 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10290&view=rev Author: z-man Date: 2011-11-27 16:00:58 +0000 (Sun, 27 Nov 2011) Log Message: ----------- Merging branch 0.2.8 from revision 10268 to 10289: ------------------------------------------------------------------------ r10289 | bazaaarmagetron | 2011-11-27 14:05:27 +0100 (Sun, 27 Nov 2011) | 2 lines Manuel Moos: Adding zthread to build dependencies on Ubuntu Maverick and up. ------------------------------------------------------------------------ r10286 | bazaaarmagetron | 2011-11-25 12:26:08 +0100 (Fri, 25 Nov 2011) | 2 lines Manuel Moos: Enabling authentication by default. ------------------------------------------------------------------------ r10279 | bazaaarmagetron | 2011-11-23 14:03:49 +0100 (Wed, 23 Nov 2011) | 2 lines Manuel Moos: Slightly less old changetag, it should be newer than the dummy ChangeLog created by bootstrap.sh. ------------------------------------------------------------------------ r10276 | bazaaarmagetron | 2011-11-21 21:37:38 +0100 (Mon, 21 Nov 2011) | 2 lines Manuel Moos: Fixing voter maturity, it now checks the right player's age. ------------------------------------------------------------------------ Revision Links: -------------- http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10268&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10289&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10286&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10279&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10276&view=rev Modified Paths: -------------- armagetronad/branches/0.4/armagetronad/Makefile.manual armagetronad/branches/0.4/armagetronad/NEWS armagetronad/branches/0.4/armagetronad/configure.ac armagetronad/branches/0.4/armagetronad/src/engine/eVoter.cpp Property Changed: ---------------- armagetronad/branches/0.4/ Property changes on: armagetronad/branches/0.4 ___________________________________________________________________ Modified: svn:mergeinfo - /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10268 /armagetronad/branches/0.2.8.3:9309-10004 + /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10289 /armagetronad/branches/0.2.8.3:9309-10004 Modified: armagetronad/branches/0.4/armagetronad/Makefile.manual =================================================================== --- armagetronad/branches/0.4/armagetronad/Makefile.manual 2011-11-27 13:05:27 UTC (rev 10289) +++ armagetronad/branches/0.4/armagetronad/Makefile.manual 2011-11-27 16:00:58 UTC (rev 10290) @@ -143,7 +143,7 @@ # initial rule for source change tag (make it really old) .changetag: - touch -t 7001010101 $@ + touch -t 9001010101 $@ # make snapshot of SVN state, tracking relevant changes in .changetag fingerprint: .changetag Modified: armagetronad/branches/0.4/armagetronad/NEWS =================================================================== --- armagetronad/branches/0.4/armagetronad/NEWS 2011-11-27 13:05:27 UTC (rev 10289) +++ armagetronad/branches/0.4/armagetronad/NEWS 2011-11-27 16:00:58 UTC (rev 10290) @@ -169,6 +169,7 @@ Scripts are fed the ladderlog on stdin (and need to read it) and their stdout output is interpreted as console input on the server. Environment variables are set so the script knows all about the server configuration at time of launch. +- Authentication is now enabled by default. Changes since 0.2.8.3.1: - security fix: old style action commands from clients no loger cause hangs and crashes Modified: armagetronad/branches/0.4/armagetronad/configure.ac =================================================================== --- armagetronad/branches/0.4/armagetronad/configure.ac 2011-11-27 13:05:27 UTC (rev 10289) +++ armagetronad/branches/0.4/armagetronad/configure.ac 2011-11-27 16:00:58 UTC (rev 10290) @@ -214,7 +214,7 @@ AC_ARG_ENABLE(authentication, AC_HELP_STRING([--enable-authentication], - [enable server side code for the krawall style user authentication (default=disabled)]), + [enable server side code for the krawall style user authentication (default=enabled)]), [case "${enableval}" in yes) enable_armathentication=yes ;; Modified: armagetronad/branches/0.4/armagetronad/src/engine/eVoter.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/engine/eVoter.cpp 2011-11-27 13:05:27 UTC (rev 10289) +++ armagetronad/branches/0.4/armagetronad/src/engine/eVoter.cpp 2011-11-27 16:00:58 UTC (rev 10290) @@ -1143,10 +1143,21 @@ double time = tSysTimeFloat(); + // get the oldest player from the sending client + double timeCreated = time; + for ( int i = se_PlayerNetIDs.Len()-1; i>=0; --i ) + { + ePlayerNetID * senderPlayer = se_PlayerNetIDs(i); + if( senderPlayer->Owner() == senderID && senderPlayer->GetTimeCreated() < timeCreated ) + { + timeCreated = senderPlayer->GetTimeCreated(); + } + } + // check whether the issuer is allowed to start a vote - if ( sender && player_ && player_->GetTimeCreated() + se_votingMaturity > time ) + if ( sender && player_ && timeCreated + se_votingMaturity > time ) { - REAL timeLeft = player_->GetTimeCreated() + se_votingMaturity - time; + REAL timeLeft = timeCreated + se_votingMaturity - time; tOutput message( "$vote_maturity", timeLeft ); sn_ConsoleOut( message, senderID ); return false; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2011-12-04 15:57:53
|
Revision: 10304 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10304&view=rev Author: z-man Date: 2011-12-04 15:57:47 +0000 (Sun, 04 Dec 2011) Log Message: ----------- Merging branch 0.2.8 from revision 10289 to 10303: ------------------------------------------------------------------------ r10299 | bazaaarmagetron | 2011-11-30 23:57:26 +0100 (Wed, 30 Nov 2011) | 2 lines Manuel Moos: Requiring correct version of libstdc++ for autopackages, as if that would matter any more. ------------------------------------------------------------------------ r10298 | bazaaarmagetron | 2011-11-30 21:32:21 +0100 (Wed, 30 Nov 2011) | 2 lines Manuel Moos: Avoiding temporary deletion of changelog. ------------------------------------------------------------------------ r10291 | bazaaarmagetron | 2011-11-27 21:51:45 +0100 (Sun, 27 Nov 2011) | 2 lines Manuel Moos: Ok, apparently zthread isn't really available on natty and maverick, either. (not merging, zthread is irrelevant now) ------------------------------------------------------------------------ Revision Links: -------------- http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10289&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10299&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10298&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10291&view=rev Modified Paths: -------------- armagetronad/branches/0.4/armagetronad/Makefile.manual armagetronad/branches/0.4/build/package/default.apspec Property Changed: ---------------- armagetronad/branches/0.4/ Property changes on: armagetronad/branches/0.4 ___________________________________________________________________ Modified: svn:mergeinfo - /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10289 /armagetronad/branches/0.2.8.3:9309-10004 + /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10303 /armagetronad/branches/0.2.8.3:9309-10004 Modified: armagetronad/branches/0.4/armagetronad/Makefile.manual =================================================================== --- armagetronad/branches/0.4/armagetronad/Makefile.manual 2011-12-04 03:19:04 UTC (rev 10303) +++ armagetronad/branches/0.4/armagetronad/Makefile.manual 2011-12-04 15:57:47 UTC (rev 10304) @@ -162,7 +162,6 @@ # Keep the changelog up to date as well (triggered by make dist only) $(srcdir)/ChangeLog: .changetag - rm -f $@ @echo -e "\nGenerating ChangeLog from SVN/BZR, please be patient...\n" cd ${srcdir}; bzr log --gnu-changelog 2>&1 > ChangeLog || svn log 2>&1 > ChangeLog || echo "No official releasse: no changelog" > ChangeLog test -r $@ || touch $@ Modified: armagetronad/branches/0.4/build/package/default.apspec =================================================================== --- armagetronad/branches/0.4/build/package/default.apspec 2011-12-04 03:19:04 UTC (rev 10303) +++ armagetronad/branches/0.4/build/package/default.apspec 2011-12-04 15:57:47 UTC (rev 10304) @@ -48,7 +48,7 @@ [Prepare] # Dependency checking -require @gnu.org/libstdc++ 3 +require @gnu.org/libstdc++ 4 require @xmlsoft.org/libxml2 2.6 #client_require @libsdl.org/sdl 1.2 #client_require @libsdl.org/sdl_mixer 1.2 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2011-12-15 15:48:51
|
Revision: 10335 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10335&view=rev Author: z-man Date: 2011-12-15 15:48:38 +0000 (Thu, 15 Dec 2011) Log Message: ----------- Merging branch 0.2.8 from revision 10303 to 10334: ------------------------------------------------------------------------ r10334 | bazaaarmagetron | 2011-12-15 16:39:07 +0100 (Thu, 15 Dec 2011) | 2 lines Manuel Moos: 0upload-tag does no longer get in the way. ------------------------------------------------------------------------ r10333 | bazaaarmagetron | 2011-12-15 13:10:18 +0100 (Thu, 15 Dec 2011) | 2 lines Manuel Moos: Moving zeroinstall files into ZeroInstall subfolder. ------------------------------------------------------------------------ r10332 | bazaaarmagetron | 2011-12-15 12:57:12 +0100 (Thu, 15 Dec 2011) | 1 line Manuel Moos: Removing duplicate tooltip help on screen and window resolution menu items. ------------------------------------------------------------------------ Revision Links: -------------- http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10303&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10334&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10333&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10332&view=rev Modified Paths: -------------- armagetronad/branches/0.4/armagetronad/src/tron/gMenus.cpp armagetronad/branches/0.4/build/WorkMakefile armagetronad/branches/0.4/build/scripts/handledist Property Changed: ---------------- armagetronad/branches/0.4/ Property changes on: armagetronad/branches/0.4 ___________________________________________________________________ Modified: svn:mergeinfo - /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10303 /armagetronad/branches/0.2.8.3:9309-10004 + /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10334 /armagetronad/branches/0.2.8.3:9309-10004 Modified: armagetronad/branches/0.4/armagetronad/src/tron/gMenus.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/tron/gMenus.cpp 2011-12-15 15:39:07 UTC (rev 10334) +++ armagetronad/branches/0.4/armagetronad/src/tron/gMenus.cpp 2011-12-15 15:48:38 UTC (rev 10335) @@ -280,7 +280,7 @@ else s << tOutput("$screen_size_desktop"); - res_men.NewChoice( s.str().c_str(), help, size ); + res_men.NewChoice( s.str().c_str(), "", size ); } #endif Modified: armagetronad/branches/0.4/build/WorkMakefile =================================================================== --- armagetronad/branches/0.4/build/WorkMakefile 2011-12-15 15:39:07 UTC (rev 10334) +++ armagetronad/branches/0.4/build/WorkMakefile 2011-12-15 15:48:38 UTC (rev 10335) @@ -49,6 +49,13 @@ test -d $(UPLOAD) || mkdir $(UPLOAD) echo "" > $@ +# upload directory for zeroinstall archives +0UPLOAD=$(UPLOAD)/ZeroInstall +0UPLOADTAG=$(RCDIR)/.0uploadtag +$(0UPLOADTAG): $(UPLOAD)/.tag + test -d $(0UPLOAD) || mkdir $(0UPLOAD) + echo "" > $@ + ZEROINSTTAG=$(RCDIR)/.$(BINARY_TARBALL_NAME).0installtag uploadcheck: $(UPLOAD)/.tag @@ -566,13 +573,13 @@ BINARY_TARBALL_LIBS_NAME=${PACKAGE}-libs-${VERSION}.${OSTAG_GENERIC} CLIENT_TARBALL_DIR=$(RCDIR)/$(BINARY_CLIENT_TARBALL_NAME).fortar binary_tarball_dir: $(CLIENT_TARBALL_DIR).tag -BINARY_CLIENT_TARBALL=$(UPLOAD)/$(BINARY_CLIENT_TARBALL_NAME).bin.tar.bz2 -BINARY_TARBALL_DATA=$(UPLOAD)/$(BINARY_TARBALL_DATA_NAME).bin.tar.bz2 -BINARY_TARBALL_LIBS=$(UPLOAD)/$(BINARY_TARBALL_LIBS_NAME).bin.tar.bz2 +BINARY_CLIENT_TARBALL=$(0UPLOAD)/$(BINARY_CLIENT_TARBALL_NAME).bin.tar.bz2 +BINARY_TARBALL_DATA=$(0UPLOAD)/$(BINARY_TARBALL_DATA_NAME).bin.tar.bz2 +BINARY_TARBALL_LIBS=$(0UPLOAD)/$(BINARY_TARBALL_LIBS_NAME).bin.tar.bz2 binary_client_tarball: $(BINARY_CLIENT_TARBALL) binary_tarball_data: $(BINARY_TARBALL_DATA) binary_tarball_libs: $(BINARY_TARBALL_LIBS) -$(CLIENT_TARBALL_DIR).tag: $(APPDIR_CLIENT).tag WorkMakefile portable/AppRun $(UPLOAD)/.tag +$(CLIENT_TARBALL_DIR).tag: $(APPDIR_CLIENT).tag WorkMakefile portable/AppRun $(0UPLOADTAG) # # ***************************************** # * package client as tarball, preparation @@ -635,9 +642,9 @@ # plain binary tarball BINARY_SERVER_TARBALL_NAME=${PACKAGE}-dedicated-${VERSION}.${OSTAG_GENERIC} SERVER_TARBALL_DIR=$(RCDIR)/$(BINARY_SERVER_TARBALL_NAME).fortar -BINARY_SERVER_TARBALL=$(UPLOAD)/$(BINARY_SERVER_TARBALL_NAME).bin.tar.bz2 +BINARY_SERVER_TARBALL=$(0UPLOAD)/$(BINARY_SERVER_TARBALL_NAME).bin.tar.bz2 binary_server_tarball: $(BINARY_SERVER_TARBALL) -$(BINARY_SERVER_TARBALL): $(GENERIC_SERVER_DIR).tag WorkMakefile portable/fixlinks portable/AppRun $(UPLOAD)/.tag +$(BINARY_SERVER_TARBALL): $(GENERIC_SERVER_DIR).tag WorkMakefile portable/fixlinks portable/AppRun $(0UPLOADTAG) # # ***************************************** # * package server as tarball Modified: armagetronad/branches/0.4/build/scripts/handledist =================================================================== --- armagetronad/branches/0.4/build/scripts/handledist 2011-12-15 15:39:07 UTC (rev 10334) +++ armagetronad/branches/0.4/build/scripts/handledist 2011-12-15 15:48:38 UTC (rev 10335) @@ -21,11 +21,12 @@ #rm -f *_dedicated.exe rm -f *_master.exe rm -f *.a *.def banner.bmp var +mkdir -p ../ZeroInstall zip -r ../../${PACKAGE}-libs-${VERSION}.win32.zip *.dll || exit 1 rm -f *.dll rm -rf textures models sound music -zip -r ../${PACKAGE}-${VERSION}.win32.zip * -x *_dedicated.exe || exit 1 -zip -r ../${PACKAGE}-dedicated-${VERSION}.win32.zip * -x armagetronad.exe ArmagetronAd.exe || exit 1 +zip -r ../ZeroInstall/${PACKAGE}-${VERSION}.win32.zip * -x *_dedicated.exe || exit 1 +zip -r ../ZeroInstall/${PACKAGE}-dedicated-${VERSION}.win32.zip * -x armagetronad.exe ArmagetronAd.exe || exit 1 popd # discard garbage This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2011-12-21 15:36:18
|
Revision: 10348 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10348&view=rev Author: z-man Date: 2011-12-21 15:36:12 +0000 (Wed, 21 Dec 2011) Log Message: ----------- Merging branch 0.2.8 from revision 10334 to 10347: ------------------------------------------------------------------------ r10347 | bazaaarmagetron | 2011-12-21 14:01:37 +0100 (Wed, 21 Dec 2011) | 2 lines Manuel Moos: Backporting color randomization fix and input menu reordering. (Not merging) ------------------------------------------------------------------------ r10341 | bazaaarmagetron | 2011-12-17 17:17:20 +0100 (Sat, 17 Dec 2011) | 1 line Manuel Moos: README.txt instad of README.TXT for ZeroInstall warning; also, better message. ------------------------------------------------------------------------ r10340 | bazaaarmagetron | 2011-12-17 17:16:54 +0100 (Sat, 17 Dec 2011) | 2 lines Manuel Moos: README.txt file for ZeroInstall subdirectory. ------------------------------------------------------------------------ Revision Links: -------------- http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10334&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10347&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10341&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10340&view=rev Modified Paths: -------------- armagetronad/branches/0.4/build/WorkMakefile Property Changed: ---------------- armagetronad/branches/0.4/ Property changes on: armagetronad/branches/0.4 ___________________________________________________________________ Modified: svn:mergeinfo - /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10334 /armagetronad/branches/0.2.8.3:9309-10004 + /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10347 /armagetronad/branches/0.2.8.3:9309-10004 Modified: armagetronad/branches/0.4/build/WorkMakefile =================================================================== --- armagetronad/branches/0.4/build/WorkMakefile 2011-12-21 13:01:37 UTC (rev 10347) +++ armagetronad/branches/0.4/build/WorkMakefile 2011-12-21 15:36:12 UTC (rev 10348) @@ -51,10 +51,11 @@ # upload directory for zeroinstall archives 0UPLOAD=$(UPLOAD)/ZeroInstall -0UPLOADTAG=$(RCDIR)/.0uploadtag +0UPLOADTAG=$(0UPLOAD)/README.txt $(0UPLOADTAG): $(UPLOAD)/.tag test -d $(0UPLOAD) || mkdir $(0UPLOAD) - echo "" > $@ + echo "IMPORTANT, READ ME:\nThese files are for the ZeroInstall system and hard to get working if you donwload them manually.\nStick to the files one folder up or use our ZeroInstall feeds (which we very much recommend):\nhttp://wiki.armagetronad.org/index.php/0Install" > $@ + todos $@ ZEROINSTTAG=$(RCDIR)/.$(BINARY_TARBALL_NAME).0installtag This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2012-01-10 16:37:16
|
Revision: 10352 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10352&view=rev Author: z-man Date: 2012-01-10 16:37:07 +0000 (Tue, 10 Jan 2012) Log Message: ----------- Merging branch 0.2.8 from revision 10347 to 10351: ------------------------------------------------------------------------ r10351 | bazaaarmagetron | 2012-01-09 20:25:42 +0100 (Mon, 09 Jan 2012) | 2 lines Manuel Moos: Updated (README-Subversion). ------------------------------------------------------------------------ r10350 | bazaaarmagetron | 2012-01-09 20:18:58 +0100 (Mon, 09 Jan 2012) | 2 lines Manuel Moos: Updated horribly outdated README.txt. ------------------------------------------------------------------------ Revision Links: -------------- http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10347&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10351&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10350&view=rev Modified Paths: -------------- armagetronad/branches/0.4/armagetronad/README-Subversion Property Changed: ---------------- armagetronad/branches/0.4/ Property changes on: armagetronad/branches/0.4 ___________________________________________________________________ Modified: svn:mergeinfo - /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10347 /armagetronad/branches/0.2.8.3:9309-10004 + /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10351 /armagetronad/branches/0.2.8.3:9309-10004 Modified: armagetronad/branches/0.4/armagetronad/README-Subversion =================================================================== --- armagetronad/branches/0.4/armagetronad/README-Subversion 2012-01-09 19:25:42 UTC (rev 10351) +++ armagetronad/branches/0.4/armagetronad/README-Subversion 2012-01-10 16:37:07 UTC (rev 10352) @@ -10,6 +10,7 @@ directory and check out module X from the same repository where you got this module from, so that the parent directory looks like this:: + parent_directory: armagetronad: README-Subversion and other files @@ -22,6 +23,9 @@ distribution). To build tarball distributions, you also need a 'svn' command line tool that can generate ChangeLogs. +The instructions also apply if you're using BZR to fetch the sources; +there, 'modules' are just individual branches named +0.2.8-<modulename>-work. Unix vanilla ============= @@ -56,6 +60,8 @@ KDevelop 3.0 ============ +(No longer supported) + 1. First, you need to bootstrap. Execute: sh ./bootstrap.sh 2. Run 'kdevelop' if you haven't done so already. 3. From the Project menu, choose Open Project. Select 'armagetron.kdevelop' @@ -80,9 +86,7 @@ Aditional Required Software --------------------------- - If you are running Mac OS X 10.5 then nothing else is required. - If you are running 10.4 then you must install: * rake: macports name rb-rake. http://rake.rubyforge.org @@ -91,19 +95,8 @@ You must also add a user-defined setting in Xcode, BISON. Its value should be the path of the newly installed bison. +******************* +* Windows + Mingw * +******************* -Windows + VisualC -================= -You'll need to check out the additional module build_visualc parallel to this -module. In it, you'll find a README describing how to proceed; you'll need to -download some libraries and put them in the right place. - -Windows + Cygwin -================ - -Not supported yet. - -Windows + Mingw -=============== - -Not supported yet. +Supported via the Code::Blocks IDE. Specific instructions are in win32/README.txt. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2012-02-06 10:21:55
|
Revision: 10360 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10360&view=rev Author: z-man Date: 2012-02-06 10:21:43 +0000 (Mon, 06 Feb 2012) Log Message: ----------- Merging branch 0.2.8 from revision 10351 to 10359: ------------------------------------------------------------------------ r10357 | bazaaarmagetron | 2012-02-04 18:45:49 +0100 (Sat, 04 Feb 2012) | 4 lines author: Manuel Moos Changing 'local user not found' error message so maybe we don't get so many noobs ask how to log in on the forums. ------------------------------------------------------------------------ r10356 | bazaaarmagetron | 2012-01-31 11:54:35 +0100 (Tue, 31 Jan 2012) | 2 lines Manuel Moos: Added missing language strings. ------------------------------------------------------------------------ r10353 | bazaaarmagetron | 2012-01-26 18:10:10 +0100 (Thu, 26 Jan 2012) | 1 line Manuel Moos: Silenced players can't rename or start polls to annoy. ------------------------------------------------------------------------ Revision Links: -------------- http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10351&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10357&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10356&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10353&view=rev Modified Paths: -------------- armagetronad/branches/0.4/armagetronad/language/deutsch.txt armagetronad/branches/0.4/armagetronad/language/english_base.txt armagetronad/branches/0.4/armagetronad/src/engine/ePlayer.cpp armagetronad/branches/0.4/armagetronad/src/engine/eVoter.cpp Property Changed: ---------------- armagetronad/branches/0.4/ Property changes on: armagetronad/branches/0.4 ___________________________________________________________________ Modified: svn:mergeinfo - /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10351 /armagetronad/branches/0.2.8.3:9309-10004 + /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10359 /armagetronad/branches/0.2.8.3:9309-10004 Modified: armagetronad/branches/0.4/armagetronad/language/deutsch.txt =================================================================== --- armagetronad/branches/0.4/armagetronad/language/deutsch.txt 2012-02-06 00:45:36 UTC (rev 10359) +++ armagetronad/branches/0.4/armagetronad/language/deutsch.txt 2012-02-06 10:21:43 UTC (rev 10360) @@ -2910,7 +2910,7 @@ login_error_invalidclaim Meldeamt "\1" Versucht vergeblich, dich als "\2" auszugeben. login_error_unexpected_answer Antwort "\2" vom Server erwartet, stattdessen \2 erhalten. -login_error_local_nouser Lokalen Benutzer \1 nicht gefunden. +login_error_local_nouser Lokalen Benutzer \1 nicht gefunden. Versuche "/login \1@forums". login_error_local_password Passwort f\xFCr lokalen Benutzer \1 falsch. chatcommand_requires_player \1 ben\xF6tigt einen Benutzernamen als zus\xE4tzliches Argument.\n Modified: armagetronad/branches/0.4/armagetronad/language/english_base.txt =================================================================== --- armagetronad/branches/0.4/armagetronad/language/english_base.txt 2012-02-06 00:45:36 UTC (rev 10359) +++ armagetronad/branches/0.4/armagetronad/language/english_base.txt 2012-02-06 10:21:43 UTC (rev 10360) @@ -2830,6 +2830,8 @@ spam_protection_silenceall SPAM PROTECTION: public chat is disabled.\n spam_protection_silenced SPAM PROTECTION: you have been silenced by the server administrator.\n spam_protection_silenced_default SPAM PROTECTION: you have to be given voice in order to chat publicly.\n +vote_silenced You are not allowed to call a new vote while you are silenced.\n +player_rename_silenced You are not allowed to rename while you are silenced.\n player_silenced \10xff7777 has been silenced.\n player_silenced_local \10xff7777 has been locally silenced.\n player_voiced \10x77ff77 has been given his voice back.\n @@ -3544,7 +3546,7 @@ login_error_invalidclaim Authority "\1" can't claim you to be "\2"! login_error_unexpected_answer Answer "\1" expected from server, but got \2 instead. -login_error_local_nouser Local user \1 not found. +login_error_local_nouser Local user \1 not found. Try "/login \1@forums" instead. login_error_local_password Supplied password for local user \1 incorrect. chatcommand_requires_player \1 requires a player username as additional parameter.\n Modified: armagetronad/branches/0.4/armagetronad/src/engine/ePlayer.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/engine/ePlayer.cpp 2012-02-06 00:45:36 UTC (rev 10359) +++ armagetronad/branches/0.4/armagetronad/src/engine/ePlayer.cpp 2012-02-06 10:21:43 UTC (rev 10360) @@ -9370,6 +9370,13 @@ con << message; return false; } + // don't let the player rename if s/he is silenced. + if ( this->IsSilenced() ) + { + tOutput message("$player_rename_silenced"); + sn_ConsoleOut( message, Owner() ); + return false; + } // disallow name changes if there was a kick vote recently if ( !( !bool(this->voter_) || voter_->AllowNameChange() || nameFromServer_.Len() <= 1 ) && nameFromServer_ != nameFromClient_ ) { Modified: armagetronad/branches/0.4/armagetronad/src/engine/eVoter.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/engine/eVoter.cpp 2012-02-06 00:45:36 UTC (rev 10359) +++ armagetronad/branches/0.4/armagetronad/src/engine/eVoter.cpp 2012-02-06 10:21:43 UTC (rev 10360) @@ -1154,6 +1154,14 @@ } } + // don't let the player call a vote if s/he is silenced. + if ( player_->IsSilenced() ) + { + tOutput message("$vote_silenced"); + sn_ConsoleOut( message, player_->Owner() ); + return false; + } + // check whether the issuer is allowed to start a vote if ( sender && player_ && timeCreated + se_votingMaturity > time ) { @@ -1846,7 +1854,7 @@ // ************************************************************************************** -// menu item to silence selected players +// menu item to kick selected players class eMenuItemKick: public uMenuItemAction { public: @@ -2291,6 +2299,14 @@ return; } + // don't let the player call a vote if s/he is silenced. + if ( p->IsSilenced() ) + { + tOutput message("$vote_silenced"); + sn_ConsoleOut( message, p->Owner() ); + return; + } + // read command part (kick, remove, include) tString command; message >> command; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2012-02-20 16:09:19
|
Revision: 10368 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10368&view=rev Author: z-man Date: 2012-02-20 16:09:12 +0000 (Mon, 20 Feb 2012) Log Message: ----------- Merging branch 0.2.8 from revision 10359 to 10367: ------------------------------------------------------------------------ r10367 | bazaaarmagetron | 2012-02-20 16:53:56 +0100 (Mon, 20 Feb 2012) | 2 lines Manuel Moos: Network wait loops are now abortable if you hammer ESC. ------------------------------------------------------------------------ r10366 | bazaaarmagetron | 2012-02-20 13:23:38 +0100 (Mon, 20 Feb 2012) | 5 lines author: Manuel Moos Server browser tooltips are now displayed in small font using the same text output area as the server details, avoiding overlaps; the server lists now shrinks to make room for extra long server details. ------------------------------------------------------------------------ r10365 | bazaaarmagetron | 2012-02-20 00:44:37 +0100 (Mon, 20 Feb 2012) | 2 lines Manuel Moos: Better face replacement finding, less likely to fail. ------------------------------------------------------------------------ r10364 | bazaaarmagetron | 2012-02-18 06:17:48 +0100 (Sat, 18 Feb 2012) | 1 line Daniel Lee Harple: Fix language string identifier typo. ------------------------------------------------------------------------ Revision Links: -------------- http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10359&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10367&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10366&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10365&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10364&view=rev Modified Paths: -------------- armagetronad/branches/0.4/armagetronad/src/engine/eGrid.cpp armagetronad/branches/0.4/armagetronad/src/engine/ePlayer.cpp armagetronad/branches/0.4/armagetronad/src/network/nNetObject.cpp armagetronad/branches/0.4/armagetronad/src/tron/gServerBrowser.cpp armagetronad/branches/0.4/armagetronad/src/ui/uMenu.cpp armagetronad/branches/0.4/armagetronad/src/ui/uMenu.h Property Changed: ---------------- armagetronad/branches/0.4/ Property changes on: armagetronad/branches/0.4 ___________________________________________________________________ Modified: svn:mergeinfo - /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10359 /armagetronad/branches/0.2.8.3:9309-10004 + /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10367 /armagetronad/branches/0.2.8.3:9309-10004 Modified: armagetronad/branches/0.4/armagetronad/src/engine/eGrid.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/engine/eGrid.cpp 2012-02-20 15:53:56 UTC (rev 10367) +++ armagetronad/branches/0.4/armagetronad/src/engine/eGrid.cpp 2012-02-20 16:09:12 UTC (rev 10368) @@ -359,7 +359,7 @@ { // return invalid return if the face was already visited if ( arg.visited.find( old ) != arg.visited.end() ) - return eFaceScorePair( 0, -se_maxGridSize ); + return eFaceScorePair( 0, -se_maxGridSize*se_maxGridSize ); // register face as visited arg.visited.insert( old ); @@ -374,7 +374,7 @@ // iterate it // the currently best face/insideness pair - std::pair< eFace*, REAL > best( 0, -100000 ); + std::pair< eFace*, REAL > best( 0, -se_maxGridSize*se_maxGridSize ); for( eReplacementStorage::const_iterator i = storage.begin(); i != storage.end(); ++i ) { // the current face/insideness pair @@ -396,8 +396,10 @@ current = se_FindBestReplacement( face, arg ); } - if ( current.second > best.second && current.first ) + if ( ( current.second > best.second && current.first ) || !best.first ) + { best = current; + } } return best; Modified: armagetronad/branches/0.4/armagetronad/src/engine/ePlayer.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/engine/ePlayer.cpp 2012-02-20 15:53:56 UTC (rev 10367) +++ armagetronad/branches/0.4/armagetronad/src/engine/ePlayer.cpp 2012-02-20 16:09:12 UTC (rev 10368) @@ -9381,7 +9381,7 @@ if ( !( !bool(this->voter_) || voter_->AllowNameChange() || nameFromServer_.Len() <= 1 ) && nameFromServer_ != nameFromClient_ ) { // inform victim to avoid complaints - tOutput message( "$player_rename_rejected_kickvote", nameFromServer_, nameFromClient_ ); + tOutput message( "$player_rename_rejected_votekick", nameFromServer_, nameFromClient_ ); sn_ConsoleOut( message, Owner() ); con << message; return false; Modified: armagetronad/branches/0.4/armagetronad/src/network/nNetObject.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/network/nNetObject.cpp 2012-02-20 15:53:56 UTC (rev 10367) +++ armagetronad/branches/0.4/armagetronad/src/network/nNetObject.cpp 2012-02-20 16:09:12 UTC (rev 10368) @@ -483,6 +483,12 @@ sn_SendPlanned(); // st_Breakpoint(); tAdvanceFrame(1000000); + + // check for user abort, but just make it time out faster + if ( tConsole::Idle() ) + { + timeout -= 10; + } } if (tSysTimeFloat()>=timeout) tERR_ERROR_INT("Not enough nNetObject IDs to distribute. Sorry!\n"); @@ -1112,7 +1118,15 @@ bool printMessage=true; while (sn_Connections[0].socket && - NULL==(ret=sn_netObjects[i]) && timeout >tSysTimeFloat()){ // wait until it is spawned + NULL==(ret=sn_netObjects[i]) && timeout >tSysTimeFloat()) + { // wait until it is spawned + + // check for user abort, but just make it time out faster + if ( tConsole::Idle() ) + { + timeout -= 10; + } + if (tSysTimeFloat()>timeout-(totalTimeout + printMessageTimeout)) { if (printMessage) @@ -2077,6 +2091,13 @@ if (sync_sn_netObjects) nNetObject::SyncAll(); sn_SendPlanned(); + + // check for user abort, but just make it time out faster + if ( tConsole::Idle() ) + { + endTime -= 10; + timeout *= .5; + } } // decrease timeout for next try @@ -2113,6 +2134,12 @@ } } + // check for user abort, but just make it time out faster + if ( tConsole::Idle() ) + { + endTime -= 10; + } + if (tSysTimeFloat()>endTime) { goon=false; Modified: armagetronad/branches/0.4/armagetronad/src/tron/gServerBrowser.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/tron/gServerBrowser.cpp 2012-02-20 15:53:56 UTC (rev 10367) +++ armagetronad/branches/0.4/armagetronad/src/tron/gServerBrowser.cpp 2012-02-20 16:09:12 UTC (rev 10368) @@ -130,6 +130,9 @@ class gBrowserMenuItem: public uMenuItem { protected: + bool displayHelp_; + REAL helpAlpha_; + gBrowserMenuItem(uMenu *M,const tOutput &help): uMenuItem( M, help ) { } @@ -138,6 +141,13 @@ virtual bool Event( SDL_Event& event ); virtual void RenderBackground(); + + virtual bool DisplayHelp( bool display, REAL y, REAL alpha ) + { + helpAlpha_ = alpha; + displayHelp_ = display; + return false; + } }; class gServerMenuItem: public gBrowserMenuItem @@ -687,18 +697,22 @@ #endif } +static REAL sg_menuBottom = -.9; +static REAL sg_requestBottom = -.9; void gServerMenuItem::RenderBackground() { #ifndef DEDICATED + REAL helpTopReal = sg_requestBottom*shrink + displace - .05;; + gBrowserMenuItem::RenderBackground(); + rTextField::SetDefaultColor( tColor(1,1,1) ); + + rTextField players( -.9, helpTopReal, text_height, sr_fontServerDetails ); + players.EnableLineWrap(); if ( server ) { - rTextField::SetDefaultColor( tColor(1,1,1) ); - - rTextField players( -.9, -.3, text_height, sr_fontServerDetails ); - players.EnableLineWrap(); players << tOutput( "$network_master_players" ); if ( server->UserNamesOneLine().Len() > 2 ) players << server->UserNamesOneLine(); @@ -712,6 +726,28 @@ options << server->Options(); players << tOutput( "$network_master_serverinfo", server->Release(), uri, options ); } + + if( displayHelp_ ) + { + players << "\n"; + players.SetColor(tColor(1,1,1,helpAlpha_)); + players << Help(); + } + + REAL helpSpace = players.GetTop() - players.GetBottom(); + REAL helpTop = -.85 + helpSpace; + REAL helpTopScaled = ( helpTop - displace )/shrink; + REAL helpTopMax = .25; + REAL helpTopMin = -.9; + if( helpTopScaled > helpTopMax ) + { + helpTopScaled = helpTopMax; + } + if( helpTopScaled < helpTopMin ) + { + helpTopScaled = helpTopMin; + } + sg_requestBottom = helpTopScaled; #endif } @@ -823,6 +859,24 @@ void gBrowserMenuItem::RenderBackground() { + if( menu ) + { + double now = tSysTimeFloat(); + static double lastTime = now; + if( sg_menuBottom > sg_requestBottom ) + { + sg_menuBottom -= now - lastTime; + } + lastTime = now; + if( sg_menuBottom < sg_requestBottom ) + { + sg_menuBottom = sg_requestBottom; + } + + menu->SetBot( sg_menuBottom ); + sg_requestBottom = -.9; + } + sn_Receive(); sn_SendPlanned(); Modified: armagetronad/branches/0.4/armagetronad/src/ui/uMenu.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/ui/uMenu.cpp 2012-02-20 15:53:56 UTC (rev 10367) +++ armagetronad/branches/0.4/armagetronad/src/ui/uMenu.cpp 2012-02-20 16:09:12 UTC (rev 10368) @@ -350,21 +350,27 @@ if (YPos(menuentries-1)>menuTop && (int(tSysTimeFloat())+1)%2) arrow(.9,menuTop,1,.05); - if (tSysTimeFloat()-lastkey>timeout){ - disphelp=true; + REAL helpAlpha = tSysTimeFloat()-lastkey-timeout; + if( helpAlpha > 1 ) + { + helpAlpha = 1; + } + + disphelp = helpAlpha > 0; + if ( items[selected]->DisplayHelp( disphelp, menuBot, helpAlpha ) ) + { if (sr_alphaBlend) - glColor4f(1,.8,.8,tSysTimeFloat()-lastkey-timeout); + glColor4f(1,.8,.8, helpAlpha ); else - Color(tSysTimeFloat()-lastkey-timeout, - .8*(tSysTimeFloat()-lastkey-timeout), - .8*(tSysTimeFloat()-lastkey-timeout)); + Color(helpAlpha, + .8*helpAlpha, + .8*helpAlpha); rTextField c(-.95f,menuBot-.04f,rCHEIGHT_NORMAL, sr_fontMenu); c.SetWidth(1.9f-items[selected]->SpaceRight()); c.EnableLineWrap(); c << items[selected]->Help(); } - else disphelp=false; } else #endif Modified: armagetronad/branches/0.4/armagetronad/src/ui/uMenu.h =================================================================== --- armagetronad/branches/0.4/armagetronad/src/ui/uMenu.h 2012-02-20 15:53:56 UTC (rev 10367) +++ armagetronad/branches/0.4/armagetronad/src/ui/uMenu.h 2012-02-20 16:09:12 UTC (rev 10368) @@ -232,7 +232,13 @@ menu->items.Remove(this,idnum); } -virtual tString Help(){return tString(helpText);} + //! called when the menu item is selected, the incoming parameter says + //! whether help should be displayed, the function returns true if + //! the menu code itself should handle the display or whether the menu item + //! does that. + virtual bool DisplayHelp( bool display, REAL y, REAL alpha ){return display;} + + virtual tString Help(){return tString(helpText);} // displays the menuitem at position x,y. set selected to true // if the item is currently under the cursor virtual void Render(REAL ,REAL ,REAL =1,bool =0){} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2012-02-25 15:37:47
|
Revision: 10373 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10373&view=rev Author: z-man Date: 2012-02-25 15:37:40 +0000 (Sat, 25 Feb 2012) Log Message: ----------- Merging branch 0.2.8 from revision 10367 to 10372: ------------------------------------------------------------------------ r10372 | bazaaarmagetron | 2012-02-25 16:22:34 +0100 (Sat, 25 Feb 2012) | 2 lines Manuel Moos: New setting: CONSOLE_LOG makes the console get logged into var/consolelog.txt. ------------------------------------------------------------------------ r10371 | bazaaarmagetron | 2012-02-24 06:29:56 +0100 (Fri, 24 Feb 2012) | 1 line Daniel Lee Harple: Fix issue with rInputStream for regular files being immediately deleted. ------------------------------------------------------------------------ r10370 | bazaaarmagetron | 2012-02-23 01:36:37 +0100 (Thu, 23 Feb 2012) | 7 lines author: Manuel Moos Only pumping events during mid-round sync pauses, this still lets them react to application quits and makes the game appear responsive and non-stuck. It would actually be responsive if events would also be processed in all situations, but we can't do that; activating the menu during sync pauses would mess a lot up. ------------------------------------------------------------------------ Revision Links: -------------- http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10367&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10372&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10371&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10370&view=rev Modified Paths: -------------- armagetronad/branches/0.4/armagetronad/language/english_base.txt armagetronad/branches/0.4/armagetronad/src/network/nNetObject.cpp armagetronad/branches/0.4/armagetronad/src/network/nNetwork.cpp armagetronad/branches/0.4/armagetronad/src/render/rConsole.cpp armagetronad/branches/0.4/armagetronad/src/render/rConsoleCout.cpp armagetronad/branches/0.4/armagetronad/src/tools/tConsole.cpp armagetronad/branches/0.4/armagetronad/src/tools/tConsole.h armagetronad/branches/0.4/armagetronad/src/ui/uMenu.cpp armagetronad/branches/0.4/armagetronad/src/ui/uMenu.h Property Changed: ---------------- armagetronad/branches/0.4/ Property changes on: armagetronad/branches/0.4 ___________________________________________________________________ Modified: svn:mergeinfo - /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10367 /armagetronad/branches/0.2.8.3:9309-10004 + /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10372 /armagetronad/branches/0.2.8.3:9309-10004 Modified: armagetronad/branches/0.4/armagetronad/language/english_base.txt =================================================================== --- armagetronad/branches/0.4/armagetronad/language/english_base.txt 2012-02-25 15:22:34 UTC (rev 10372) +++ armagetronad/branches/0.4/armagetronad/language/english_base.txt 2012-02-25 15:37:40 UTC (rev 10373) @@ -885,6 +885,7 @@ ladderlog_write_team_player_removed_help Write to ladderlog: TEAM_PLAYER_REMOVED <team name> <player> ladderlog_game_time_interval_help If non-negative, write a line with the current game time to the ladder log every n seconds. chat_log_help Write machine parsable chat messages to var/chatlog.txt +console_log_help Write all console messages to var/consolelog.txt show_fps_help Enable fps display floor_mirror_help Floor mirror mode floor_detail_help Floor detail settings Modified: armagetronad/branches/0.4/armagetronad/src/network/nNetObject.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/network/nNetObject.cpp 2012-02-25 15:22:34 UTC (rev 10372) +++ armagetronad/branches/0.4/armagetronad/src/network/nNetObject.cpp 2012-02-25 15:37:40 UTC (rev 10373) @@ -485,7 +485,7 @@ tAdvanceFrame(1000000); // check for user abort, but just make it time out faster - if ( tConsole::Idle() ) + if ( tConsole::Idle(false) ) { timeout -= 10; } @@ -1122,7 +1122,7 @@ { // wait until it is spawned // check for user abort, but just make it time out faster - if ( tConsole::Idle() ) + if ( tConsole::Idle(false) ) { timeout -= 10; } @@ -2093,7 +2093,7 @@ sn_SendPlanned(); // check for user abort, but just make it time out faster - if ( tConsole::Idle() ) + if ( tConsole::Idle(false) ) { endTime -= 10; timeout *= .5; @@ -2135,7 +2135,7 @@ } // check for user abort, but just make it time out faster - if ( tConsole::Idle() ) + if ( tConsole::Idle(false) ) { endTime -= 10; } Modified: armagetronad/branches/0.4/armagetronad/src/network/nNetwork.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/network/nNetwork.cpp 2012-02-25 15:22:34 UTC (rev 10372) +++ armagetronad/branches/0.4/armagetronad/src/network/nNetwork.cpp 2012-02-25 15:37:40 UTC (rev 10373) @@ -3157,7 +3157,7 @@ sn_SendPlanned(); // check for user abort - if ( tConsole::Idle() ) + if ( tConsole::Idle(true) ) { con << tOutput("$network_login_failed_abort"); sn_SetNetState(nSTANDALONE); Modified: armagetronad/branches/0.4/armagetronad/src/render/rConsole.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/render/rConsole.cpp 2012-02-25 15:22:34 UTC (rev 10372) +++ armagetronad/branches/0.4/armagetronad/src/render/rConsole.cpp 2012-02-25 15:37:40 UTC (rev 10373) @@ -30,6 +30,8 @@ #include "tConfiguration.h" #include "rConsole.h" #include "rScreen.h" +#include "tDirectories.h" +#include "tRecorder.h" #include <iostream> @@ -92,8 +94,9 @@ REAL rCWIDTH_CON=REAL(16/640.0); REAL rCHEIGHT_CON=REAL(32/480.0); +static bool sr_consoleLog = false; +static tConfItem<bool> sr_consoleLogConf("CONSOLE_LOG", sr_consoleLog); - tConsole & rConsole::DoPrint(const tString &s){ bool print_to_stdout=false; #ifdef DEBUG @@ -109,6 +112,13 @@ std::cout.flush(); } + if(!tRecorder::IsPlayingBack() && sr_consoleLog) { + std::ofstream o; + if ( tDirectories::Var().Open(o, "consolelog.txt", std::ios::app) ) { + o << st_GetCurrentTime("[%Y/%m/%d-%H:%M:%S] ") << tColoredString::RemoveColors(s); + } + } + if (sr_screen){ const char *c=s; while (*c!=0){ Modified: armagetronad/branches/0.4/armagetronad/src/render/rConsoleCout.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/render/rConsoleCout.cpp 2012-02-25 15:22:34 UTC (rev 10372) +++ armagetronad/branches/0.4/armagetronad/src/render/rConsoleCout.cpp 2012-02-25 15:37:40 UTC (rev 10373) @@ -397,7 +397,7 @@ // 0 return on lenRead means end of file, // -1 means an error unless errno has these specific values, // in which case there is just no data currently. - return lenRead != 0 && ( errno == EAGAIN || errno == EWOULDBLOCK ); + return ( lenRead == -1 && ( errno == EAGAIN || errno == EWOULDBLOCK ) ) || ( lenRead == 0 && file_ ); #endif } Modified: armagetronad/branches/0.4/armagetronad/src/tools/tConsole.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/tools/tConsole.cpp 2012-02-25 15:22:34 UTC (rev 10372) +++ armagetronad/branches/0.4/armagetronad/src/tools/tConsole.cpp 2012-02-25 15:37:40 UTC (rev 10373) @@ -311,10 +311,10 @@ s_idleCallback = a_callback; } -bool tConsole::Idle(){ +bool tConsole::Idle( bool processInput ){ if (s_idleCallback) { - return (*s_idleCallback)(); + return (*s_idleCallback)( processInput ); } else { Modified: armagetronad/branches/0.4/armagetronad/src/tools/tConsole.h =================================================================== --- armagetronad/branches/0.4/armagetronad/src/tools/tConsole.h 2012-02-25 15:22:34 UTC (rev 10372) +++ armagetronad/branches/0.4/armagetronad/src/tools/tConsole.h 2012-02-25 15:37:40 UTC (rev 10373) @@ -73,8 +73,9 @@ typedef bool MessageCallback(const tOutput& message, const tOutput& interpretation, REAL timeout); // idle callback; called from various spots when the progam is waiting. - // return true if the waiting should be aborted - typedef bool IdleCallback(); + // return true if the waiting should be aborted, parameter is true if input should + // actually be processed + typedef bool IdleCallback( bool ); virtual ~tConsole(); @@ -91,8 +92,9 @@ // give a message to the user static bool Message(const tOutput& message, const tOutput& interpetation, REAL timeout = -1); - // idle around a bit (return value true: abort whatever you're doing) - static bool Idle(); + // idle around a bit (return value true: abort whatever you're doing), + // input value determines whether input is actually processed + static bool Idle( bool processInput ); virtual tString ColorString(REAL r, REAL g, REAL b) const; Modified: armagetronad/branches/0.4/armagetronad/src/ui/uMenu.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/ui/uMenu.cpp 2012-02-25 15:22:34 UTC (rev 10372) +++ armagetronad/branches/0.4/armagetronad/src/ui/uMenu.cpp 2012-02-25 15:37:40 UTC (rev 10373) @@ -503,6 +503,10 @@ return start; } +#ifndef DEDICATED +static bool s_idleBackground = false; +#endif + // select the menu item above "start" int uMenu::GetNextSelectable(int start) { @@ -531,6 +535,8 @@ #ifndef DEDICATED if (idle) { + s_idleBackground = true; + try { // throw tGenericException("test"); // (test exception throw to see if error handling works right) @@ -574,10 +580,13 @@ } catch ( ... ) { + s_idleBackground = false; + // the idle background function is broken. Disable it and rethrow. idle = 0; throw; } + s_idleBackground = false; } else if (sr_glOut){ uCallbackMenuBackground::MenuBackground(); @@ -1521,12 +1530,20 @@ } // poll input, return true if ESC was pressed -bool uMenu::IdleInput() +bool uMenu::IdleInput( bool processInput ) { #ifndef DEDICATED + if( !processInput ) + { + sr_LockSDL(); + SDL_PumpEvents(); + sr_UnlockSDL(); + return uMenu::quickexit != uMenu::QuickExit_Off; + } + SDL_Event event; uInputProcessGuard inputProcessGuard; - while (su_GetSDLInput(event)) + while (!s_idleBackground && su_GetSDLInput(event)) { switch (event.type) { @@ -1545,6 +1562,8 @@ break; } } + + return uMenu::quickexit != uMenu::QuickExit_Off; #endif return false; Modified: armagetronad/branches/0.4/armagetronad/src/ui/uMenu.h =================================================================== --- armagetronad/branches/0.4/armagetronad/src/ui/uMenu.h 2012-02-25 15:22:34 UTC (rev 10372) +++ armagetronad/branches/0.4/armagetronad/src/ui/uMenu.h 2012-02-25 15:37:40 UTC (rev 10373) @@ -135,7 +135,7 @@ static void SetIdle(FUNCPTR idle_func) {idle=idle_func;} // poll input, return true if ESC was pressed - static bool IdleInput(); + static bool IdleInput( bool processInput ); void SetCenter(REAL c) {center=c;} void SetTop(REAL t) {menuTop=t;} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2012-03-12 12:17:53
|
Revision: 10380 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10380&view=rev Author: z-man Date: 2012-03-12 12:17:45 +0000 (Mon, 12 Mar 2012) Log Message: ----------- Merging branch 0.2.8 from revision 10374 to 10379: ------------------------------------------------------------------------ r10379 | bazaaarmagetron | 2012-03-11 07:48:54 +0100 (Sun, 11 Mar 2012) | 2 lines Daniel Lee Harple: Added FORCE_RESPAWN_SCRIPT command to make the development-cycle for scripts more simple. Also moved script documentation to settings_dedcaited.cfg. ------------------------------------------------------------------------ r10376 | bazaaarmagetron | 2012-03-03 00:46:15 +0100 (Sat, 03 Mar 2012) | 4 lines author: Manuel Moos Applying patch that fixes the mouse cursor freeze issue, source: http://bugzilla.libsdl.org/attachment.cgi?id=460&action=diff&context=patch&collapsed=&headers=1&format=raw ------------------------------------------------------------------------ Revision Links: -------------- http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10374&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10379&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10376&view=rev Modified Paths: -------------- armagetronad/branches/0.4/armagetronad/NEWS armagetronad/branches/0.4/armagetronad/config/settings_dedicated.cfg armagetronad/branches/0.4/armagetronad/language/english_base.txt armagetronad/branches/0.4/armagetronad/src/render/rConsoleCout.cpp Property Changed: ---------------- armagetronad/branches/0.4/ Property changes on: armagetronad/branches/0.4 ___________________________________________________________________ Modified: svn:mergeinfo - /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10374 /armagetronad/branches/0.2.8.3:9309-10004 + /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10379 /armagetronad/branches/0.2.8.3:9309-10004 Modified: armagetronad/branches/0.4/armagetronad/NEWS =================================================================== --- armagetronad/branches/0.4/armagetronad/NEWS 2012-03-11 06:48:54 UTC (rev 10379) +++ armagetronad/branches/0.4/armagetronad/NEWS 2012-03-12 12:17:45 UTC (rev 10380) @@ -163,13 +163,9 @@ TEAM_RENAMED <old team name> <new team name> TEAM_PLAYER_ADDED <team name> <player> TEAM_PLAYER_REMOVED <team name> <player> -- Manage external scripts on Unix dedicated servers: SPAWN_SCRIPT always - launches a script (the main script must be in the scripts subdirectory on the data - path), RESPAWN_SCRIPT only spawns it if a previous instance exited, KILL_SCRIPT - kills the script. - Scripts are fed the ladderlog on stdin (and need to read it) and their stdout - output is interpreted as console input on the server. Environment variables - are set so the script knows all about the server configuration at time of launch. +- Manage external scripts on Unix dedicated servers. New commands: + SPAWN_SCRIPT, RESPAWN_SCRIPT, FORCE_RESPAWN_SCRIPT, KILL_SCRIPT, + CHECK_SCRIPT. - Authentication is now enabled by default. Changes since 0.2.8.3.1: Modified: armagetronad/branches/0.4/armagetronad/config/settings_dedicated.cfg =================================================================== --- armagetronad/branches/0.4/armagetronad/config/settings_dedicated.cfg 2012-03-11 06:48:54 UTC (rev 10379) +++ armagetronad/branches/0.4/armagetronad/config/settings_dedicated.cfg 2012-03-12 12:17:45 UTC (rev 10380) @@ -228,7 +228,6 @@ CONSOLE_DECORATE_ID 1 # Decorates every line of console output with the client ID CONSOLE_DECORATE_IP 0 # Decorates every line of console output with the client IP -LADDERLOG_GAME_TIME_INTERVAL -1 # write a line to ladderlog.txt indicating how "old" the current game is at most every n seconds. Negative values disable this feature. SINCLUDE server_info.cfg # ping flood response DOS protection: if pings from a single machine are requested more often than this, @@ -327,9 +326,6 @@ MIN_PLAYERS 0 # minimum number of players; missing humans are filled up with AIs NUM_AIS 0 # minimum number of AIs -WAIT_FOR_EXTERNAL_SCRIPT 0 # set to 1 if you want the server to sleep between rounds until it is set back to 0 or -WAIT_FOR_EXTERNAL_SCRIPT_TIMEOUT 3 # seconds - # team name ALLOW_TEAM_NAME_COLOR 1 # allow teams to be named after a color ALLOW_TEAM_NAME_PLAYER 1 # allow teams to be named after the leading player @@ -404,6 +400,31 @@ ############################################################################################ # +# Scripting +# +############################################################################################ + +# Scripts are fed the ladderlog on stdin (and need to read it) and their +# stdout output is interpreted as console input on the server. Environment +# variables are set so the script knows all about the server configuration at +# time of launch. + +# SPAWN_SCRIPT Spawns an external script from a scripts/ subdirectory on the data path. +# RESPAWN_SCRIPT Spawns an external script from a scripts/ subdirectory on the data path if no already running instance is found. +# FORCE_RESPAWN_SCRIPT Spawns an external script from a scripts/ subdirectory on the data path after killing the other possibly running instance. +# KILL_SCRIPT Kills a script. Argument must match the SPAWN_SCRIPT argument. + +# Should safety checks be done on script commands? Very much recommended to leave this on. +CHECK_SCRIPT 1 + +LADDERLOG_GAME_TIME_INTERVAL -1 # write a line to ladderlog.txt indicating how "old" the current game is at most every n seconds. Negative values disable this feature. +WAIT_FOR_EXTERNAL_SCRIPT 0 # set to 1 if you want the server to sleep between rounds until it is set back to 0 or +WAIT_FOR_EXTERNAL_SCRIPT_TIMEOUT 3 # seconds + + + +############################################################################################ +# # Debugging (only available if compiled for debug) # ############################################################################################ Modified: armagetronad/branches/0.4/armagetronad/language/english_base.txt =================================================================== --- armagetronad/branches/0.4/armagetronad/language/english_base.txt 2012-03-11 06:48:54 UTC (rev 10379) +++ armagetronad/branches/0.4/armagetronad/language/english_base.txt 2012-03-12 12:17:45 UTC (rev 10380) @@ -352,6 +352,7 @@ spawn_script_help Spawns an external script from a scripts/ subdirectory on the data path. respawn_script_help Spawns an external script from a scripts/ subdirectory on the data path if no already running instance is found. +force_respawn_script_help Spawns an external script from a scripts/ subdirectory on the data path after killing the other possibly running instance. kill_script_help Kills a script. Argument must match the SPAWN_SCRIPT argument. check_script_help Should safety checks be done on script commands? Very much recommended to leave this on. Modified: armagetronad/branches/0.4/armagetronad/src/render/rConsoleCout.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/render/rConsoleCout.cpp 2012-03-11 06:48:54 UTC (rev 10379) +++ armagetronad/branches/0.4/armagetronad/src/render/rConsoleCout.cpp 2012-03-12 12:17:45 UTC (rev 10380) @@ -662,24 +662,42 @@ static tConfItemFunc sr_respawnScript( "RESPAWN_SCRIPT", sr_RespawnScriptCommand ); static tAccessLevelSetter sr_respawnScriptALS( sr_respawnScript, tAccessLevel_Owner ); -// respawns a script -static void sr_KillScriptCommand( std::istream & s ) +static void sr_KillScript( tString const & command, bool shouldWarn=true ) { - tString command; - command.ReadLine(s); - rScriptStream * stream = sr_FindScriptStream( command ); if( stream ) { con << "Killing script \'" << command << "\'.\n"; stream->Close(); } - else + else if ( shouldWarn ) { con << "No script named \'" << command << "\' running.\n"; } } +// force respawn a script +static void sr_ForceRespawnScriptCommand( std::istream & s ) +{ + tString command; + command.ReadLine(s); + + sr_KillScript( command, false ); + sr_SpawnScript( command ); +} + +static tConfItemFunc sr_forceRespawnScript( "FORCE_RESPAWN_SCRIPT", sr_ForceRespawnScriptCommand ); +static tAccessLevelSetter sr_forceRespawnScriptALS( sr_forceRespawnScript, tAccessLevel_Owner ); + +// kills a script +static void sr_KillScriptCommand( std::istream & s ) +{ + tString command; + command.ReadLine(s); + + sr_KillScript( command ); +} + static tConfItemFunc sr_killScript( "KILL_SCRIPT", sr_KillScriptCommand ); static tAccessLevelSetter sr_killScriptALS( sr_killScript, tAccessLevel_Owner ); #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2012-03-28 10:07:12
|
Revision: 10387 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10387&view=rev Author: z-man Date: 2012-03-28 10:07:05 +0000 (Wed, 28 Mar 2012) Log Message: ----------- Merging branch 0.2.8 from revision 10379 to 10386: ------------------------------------------------------------------------ r10386 | bazaaarmagetron | 2012-03-28 11:57:27 +0200 (Wed, 28 Mar 2012) | 2 lines Manuel Moos: Taking full control of Windows display driver selection to make sure DirectX is used if we want to. ------------------------------------------------------------------------ r10385 | bazaaarmagetron | 2012-03-26 23:04:04 +0200 (Mon, 26 Mar 2012) | 4 lines author: Manuel Moos "About" display now uses pure clientside fullscreen messages; invoking it on a hybrid server would display the info on all clients. ------------------------------------------------------------------------ r10384 | bazaaarmagetron | 2012-03-26 23:03:24 +0200 (Mon, 26 Mar 2012) | 2 lines Manuel Moos: Fixing freeze after client controlled fullscreen messages. ------------------------------------------------------------------------ r10383 | bazaaarmagetron | 2012-03-26 23:02:46 +0200 (Mon, 26 Mar 2012) | 2 lines Manuel Moos: Fixing recording/playback when Select() is invoked in local games. ------------------------------------------------------------------------ r10382 | bazaaarmagetron | 2012-03-25 12:18:49 +0200 (Sun, 25 Mar 2012) | 2 lines Manuel Moos: Clarification. ------------------------------------------------------------------------ r10381 | bazaaarmagetron | 2012-03-16 20:39:12 +0100 (Fri, 16 Mar 2012) | 1 line Daniel Lee Harple: Move se_commandWriter definition to file scope, so it is initialized on program startup. ------------------------------------------------------------------------ Revision Links: -------------- http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10379&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10386&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10385&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10384&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10383&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10382&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10381&view=rev Modified Paths: -------------- armagetronad/branches/0.4/armagetronad/config/settings_dedicated.cfg armagetronad/branches/0.4/armagetronad/src/engine/ePlayer.cpp armagetronad/branches/0.4/armagetronad/src/network/nSocket.cpp armagetronad/branches/0.4/armagetronad/src/tron/gArmagetron.cpp armagetronad/branches/0.4/armagetronad/src/tron/gGame.cpp Property Changed: ---------------- armagetronad/branches/0.4/ Property changes on: armagetronad/branches/0.4 ___________________________________________________________________ Modified: svn:mergeinfo - /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10379 /armagetronad/branches/0.2.8.3:9309-10004 + /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10386 /armagetronad/branches/0.2.8.3:9309-10004 Modified: armagetronad/branches/0.4/armagetronad/config/settings_dedicated.cfg =================================================================== --- armagetronad/branches/0.4/armagetronad/config/settings_dedicated.cfg 2012-03-28 09:57:27 UTC (rev 10386) +++ armagetronad/branches/0.4/armagetronad/config/settings_dedicated.cfg 2012-03-28 10:07:05 UTC (rev 10387) @@ -417,6 +417,8 @@ # Should safety checks be done on script commands? Very much recommended to leave this on. CHECK_SCRIPT 1 +# The commands above are only available on Unix. + LADDERLOG_GAME_TIME_INTERVAL -1 # write a line to ladderlog.txt indicating how "old" the current game is at most every n seconds. Negative values disable this feature. WAIT_FOR_EXTERNAL_SCRIPT 0 # set to 1 if you want the server to sleep between rounds until it is set back to 0 or WAIT_FOR_EXTERNAL_SCRIPT_TIMEOUT 3 # seconds Modified: armagetronad/branches/0.4/armagetronad/src/engine/ePlayer.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/engine/ePlayer.cpp 2012-03-28 09:57:27 UTC (rev 10386) +++ armagetronad/branches/0.4/armagetronad/src/engine/ePlayer.cpp 2012-03-28 10:07:05 UTC (rev 10387) @@ -2169,9 +2169,9 @@ static tSettingItem< tAccessLevel > se_adminAccessLevelConf( "ACCESS_LEVEL_ADMIN", se_adminAccessLevel ); static tAccessLevelSetter se_adminAccessLevelConfLevel( se_adminAccessLevelConf, tAccessLevel_Owner ); +static eLadderLogWriter se_commandWriter( "COMMAND", true ); + void handle_command_intercept( ePlayerNetID *p, tString const & command, std::istream & s, tString const & say ) { - static eLadderLogWriter se_commandWriter( "COMMAND", true ); - tString commandArguments; commandArguments.ReadLine( s ); Modified: armagetronad/branches/0.4/armagetronad/src/network/nSocket.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/network/nSocket.cpp 2012-03-28 09:57:27 UTC (rev 10386) +++ armagetronad/branches/0.4/armagetronad/src/network/nSocket.cpp 2012-03-28 10:07:05 UTC (rev 10387) @@ -2997,35 +2997,36 @@ if ( controlSocket_.GetSocket() < 0 ) { tDelay( int( dt * 1000000 ) ); - return false; } + else + { + fd_set rfds; // set of sockets to watch + struct timeval tv; // time value to pass to select() - fd_set rfds; // set of sockets to wathc - struct timeval tv; // time value to pass to select() + FD_ZERO( &rfds ); - FD_ZERO( &rfds ); + // watch the control socket + FD_SET( controlSocket_.GetSocket(), &rfds ); + // con << "Watching " << controlSocket_.GetSocket(); - // watch the control socket - FD_SET( controlSocket_.GetSocket(), &rfds ); - // con << "Watching " << controlSocket_.GetSocket(); + int max = controlSocket_.GetSocket(); - int max = controlSocket_.GetSocket(); + // watch listening sockets + for( nSocketListener::SocketArray::const_iterator iter = listener_.GetSockets().begin(); iter != listener_.GetSockets().end(); ++iter ) + { + FD_SET( (*iter).GetSocket(), &rfds ); + if ( (*iter).GetSocket() > max ) + max = (*iter).GetSocket(); + // con << ", " << (*iter).GetSocket(); + } - // watch listening sockets - for( nSocketListener::SocketArray::const_iterator iter = listener_.GetSockets().begin(); iter != listener_.GetSockets().end(); ++iter ) - { - FD_SET( (*iter).GetSocket(), &rfds ); - if ( (*iter).GetSocket() > max ) - max = (*iter).GetSocket(); - // con << ", " << (*iter).GetSocket(); + // set time + tv.tv_sec = static_cast< long int >( dt ); + tv.tv_usec = static_cast< long int >( (dt-tv.tv_sec)*1000000 ); + + // delegate to system select + retval = select(max+1, &rfds, NULL, NULL, &tv); } - - // set time - tv.tv_sec = static_cast< long int >( dt ); - tv.tv_usec = static_cast< long int >( (dt-tv.tv_sec)*1000000 ); - - // delegate to system select - retval = select(max+1, &rfds, NULL, NULL, &tv); } tRecorder::Record( section, retval ); Modified: armagetronad/branches/0.4/armagetronad/src/tron/gArmagetron.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/tron/gArmagetron.cpp 2012-03-28 09:57:27 UTC (rev 10386) +++ armagetronad/branches/0.4/armagetronad/src/tron/gArmagetron.cpp 2012-03-28 10:07:05 UTC (rev 10387) @@ -666,8 +666,14 @@ #ifdef WIN32 // disable DirectX by default; it causes problems with some boards. - if (!use_directx && !getenv("SDL_VIDEODRIVER") ) { - sg_PutEnv("SDL_VIDEODRIVER=windib"); + if (!getenv( "SDL_VIDEODRIVER") ) { + if (use_directx) { + sg_PutEnv( "SDL_VIDEODRIVER=directx" ); + } + else + { + sg_PutEnv( "SDL_VIDEODRIVER=windib" ); + } } #endif Modified: armagetronad/branches/0.4/armagetronad/src/tron/gGame.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/tron/gGame.cpp 2012-03-28 09:57:27 UTC (rev 10386) +++ armagetronad/branches/0.4/armagetronad/src/tron/gGame.cpp 2012-03-28 10:07:05 UTC (rev 10387) @@ -2176,7 +2176,7 @@ versionInfo << "$version_info_gl_version"; versionInfo << gl_version; - sg_FullscreenMessage("$version_info_title", versionInfo, 1000); + sg_ClientFullscreenMessage("$version_info_title", versionInfo, 1000); } void sg_StartupPlayerMenu(); @@ -5015,6 +5015,11 @@ void sg_FullscreenMessageWait() { + if( sn_GetNetState() != nSERVER ) + { + return; + } + // wait for the clients to have seen the message { // stop the game This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <z-...@us...> - 2012-03-28 14:10:42
|
Revision: 10390 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10390&view=rev Author: z-man Date: 2012-03-28 14:10:33 +0000 (Wed, 28 Mar 2012) Log Message: ----------- Merging branch 0.2.8 from revision 10386 to 10389: ------------------------------------------------------------------------ r10389 | bazaaarmagetron | 2012-03-28 16:03:08 +0200 (Wed, 28 Mar 2012) | 2 lines Manuel Moos: Made HUD update cache configurable. (Not merged, HUD no longer exists.) ------------------------------------------------------------------------ r10388 | bazaaarmagetron | 2012-03-28 15:45:53 +0200 (Wed, 28 Mar 2012) | 1 line Manuel Moos: DirectX input mode crashes on Windows 7 for me, but maybe not for everyone; this change reverts to regular input after two such crashes and disables DirectX mode for new users. ------------------------------------------------------------------------ Revision Links: -------------- http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10386&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10389&view=rev http://armagetronad.svn.sourceforge.net/armagetronad/?rev=10388&view=rev Modified Paths: -------------- armagetronad/branches/0.4/armagetronad/src/render/rScreen.cpp armagetronad/branches/0.4/armagetronad/src/tron/gArmagetron.cpp Property Changed: ---------------- armagetronad/branches/0.4/ Property changes on: armagetronad/branches/0.4 ___________________________________________________________________ Modified: svn:mergeinfo - /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10386 /armagetronad/branches/0.2.8.3:9309-10004 + /armagetronad/branches/0.2.8:8751-8852,8855-9185,9192-9201,9220-9514,9529-10044,10054-10389 /armagetronad/branches/0.2.8.3:9309-10004 Modified: armagetronad/branches/0.4/armagetronad/src/render/rScreen.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/render/rScreen.cpp 2012-03-28 14:03:08 UTC (rev 10389) +++ armagetronad/branches/0.4/armagetronad/src/render/rScreen.cpp 2012-03-28 14:10:33 UTC (rev 10390) @@ -496,6 +496,10 @@ #endif // SDL_OPENGL #endif // DEDICATED +// flag indicating whether directX is supposed to be used for input (defaults to false, crashes on my Win7) +bool sr_useDirectX = false; +static bool use_directx_back = false; + static bool lowlevel_sr_InitDisplay(){ #ifndef DEDICATED rScreenSize & res = currentScreensetting.fullscreen ? currentScreensetting.res : currentScreensetting.windowSize; @@ -845,6 +849,7 @@ lastSuccess=currentScreensetting; failed_attempts = 0; + sr_useDirectX = use_directx_back; st_SaveConfig(); #endif return true; @@ -853,6 +858,8 @@ bool cycleprograminited = false; bool sr_InitDisplay(){ + use_directx_back = sr_useDirectX; + cycleprograminited = false; while (failed_attempts <= MAXEMERGENCY+1) { @@ -863,6 +870,8 @@ std::cout.flush(); #endif currentScreensetting = *emergency[failed_attempts]; + + sr_useDirectX = false; } // prepare for crash, note failure and save config Modified: armagetronad/branches/0.4/armagetronad/src/tron/gArmagetron.cpp =================================================================== --- armagetronad/branches/0.4/armagetronad/src/tron/gArmagetron.cpp 2012-03-28 14:03:08 UTC (rev 10389) +++ armagetronad/branches/0.4/armagetronad/src/tron/gArmagetron.cpp 2012-03-28 14:10:33 UTC (rev 10390) @@ -140,11 +140,11 @@ static gMainCommandLineAnalyzer commandLineAnalyzer; -static bool use_directx=true; +extern bool sr_useDirectX; // rScreen.cpp #ifdef WIN32 static tConfItem<bool> udx("USE_DIRECTX","makes use of the DirectX input " "fuctions; causes some graphic cards to fail to work (VooDoo 3,...)", - use_directx); + sr_useDirectX); #endif extern void exit_game_objects(eGrid *grid); @@ -667,7 +667,7 @@ #ifdef WIN32 // disable DirectX by default; it causes problems with some boards. if (!getenv( "SDL_VIDEODRIVER") ) { - if (use_directx) { + if (sr_useDirectX) { sg_PutEnv( "SDL_VIDEODRIVER=directx" ); } else @@ -737,9 +737,9 @@ if ( commandLineAnalyzer.windowed_ ) currentScreensetting.fullscreen = false; if ( commandLineAnalyzer.use_directx_ ) - use_directx = true; + sr_useDirectX = true; if ( commandLineAnalyzer.dont_use_directx_ ) - use_directx = false; + sr_useDirectX = false; //gAICharacter::LoadAll(tString( "aiplayers.cfg" ) ); gAICharacter::LoadAll( aiPlayersConfig ); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |