From: <baz...@us...> - 2008-02-10 00:34:19
|
Revision: 7837 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7837&view=rev Author: bazaarmagetron Date: 2008-02-09 16:34:23 -0800 (Sat, 09 Feb 2008) Log Message: ----------- eGameObject::DeleteAll no longer calls Kill(), only RemoveFromGame(). Several spurious explosion generations in gCycle were removed. The desired effect: no more unwanted explosions, and a cleaner game exit at round end. Some arcane bits of ancient code were removed here, I hope without ill side effects. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/src/engine/eGameObject.cpp armagetronad/branches/0.2.8/armagetronad/src/tools/tDirectories.cpp armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-09 14:03:01.503999949 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad + timestamp: 2008-02-10 01:27:29.801000118 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad bugs: https://launchpad.net/bugs/190574 fixed Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj Modified: armagetronad/branches/0.2.8/armagetronad/src/engine/eGameObject.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/engine/eGameObject.cpp 2008-02-09 23:45:02 UTC (rev 7836) +++ armagetronad/branches/0.2.8/armagetronad/src/engine/eGameObject.cpp 2008-02-10 00:34:23 UTC (rev 7837) @@ -862,9 +862,7 @@ for(i=grid->gameObjects.Len()-1;i>=0;i--) { eGameObject* o = grid->gameObjects(i); - o->Kill(); - if (o->autodelete) - o->RemoveFromGame(); + o->RemoveFromGame(); #ifdef POWERPAK_DEB if (pp_out) o->PPDisplay(); #endif Modified: armagetronad/branches/0.2.8/armagetronad/src/tools/tDirectories.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tools/tDirectories.cpp 2008-02-09 23:45:02 UTC (rev 7836) +++ armagetronad/branches/0.2.8/armagetronad/src/tools/tDirectories.cpp 2008-02-10 00:34:23 UTC (rev 7837) @@ -695,7 +695,7 @@ tString fullname = GetWritePath(filename); #ifndef WIN32 - mode_t oldmask; + mode_t oldmask=0; if(sensitive && st_protectFiles) { oldmask = umask(0600); Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp 2008-02-09 23:45:02 UTC (rev 7836) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp 2008-02-10 00:34:23 UTC (rev 7837) @@ -2319,27 +2319,19 @@ { // keep this cycle alive tJUST_CONTROLLED_PTR< gCycle > keep; - + if ( this->GetRefcount() > 0 ) { keep = this; this->Turn(0); - this->Kill(); - // really kill the cycle even on the client - if ( this->Alive() && lastTime < se_GameTime() + 10.0f ) - { - Die( lastTime ); - tNEW(gExplosion)(grid, pos, lastTime, color_, this); - } - if ( sn_GetNetState() == nSERVER ) RequestSync(); } if (currentWall) - currentWall->CopyIntoGrid( grid ); + currentWall->CopyIntoGrid(0); currentWall=NULL; lastWall=NULL; @@ -3646,7 +3638,7 @@ if (sn_GetNetState()!=nCLIENT){ RequestSync(true); - if (Alive()){ + if (Alive() && grid && GOID() >= 0 ){ Die( lastTime ); tNEW(gExplosion)(grid, pos,lastTime, color_, this ); // eEdge::SeethroughHasChanged(); @@ -5000,7 +4992,7 @@ } // killed? - if (Alive() && sync_alive!=1) + if (Alive() && sync_alive!=1 && GOID() >= 0 && grid ) { Die( lastSyncMessage_.time ); MoveSafely( lastSyncMessage_.pos, lastTime, deathTime ); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nem...@us...> - 2008-02-10 07:26:42
|
Revision: 7838 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7838&view=rev Author: nemostultae Date: 2008-02-09 23:26:33 -0800 (Sat, 09 Feb 2008) Log Message: ----------- * Fixed dedicated compilation by adding a "Copy Headers" build phase to every target with the correct config.h for that target. The file's role is set to Project so it doesn't actually get copied. The other solution attempts failed: tried putting the src/macosx/dedicated or src/macosx/client folder in the search path for each respective target, and header files aren't members of a target so we couldn't exclude them (annoying). * Enabled auth server support on server * Enabled ZThread support in both client and server Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/MacOS/Armagetron Advanced.xcodeproj/project.pbxproj armagetronad/branches/0.2.8/armagetronad/src/macosx/config_common.h.in armagetronad/branches/0.2.8/armagetronad/src/macosx/dedicated/config.h Modified: armagetronad/branches/0.2.8/armagetronad/MacOS/Armagetron Advanced.xcodeproj/project.pbxproj =================================================================== --- armagetronad/branches/0.2.8/armagetronad/MacOS/Armagetron Advanced.xcodeproj/project.pbxproj 2008-02-10 00:34:23 UTC (rev 7837) +++ armagetronad/branches/0.2.8/armagetronad/MacOS/Armagetron Advanced.xcodeproj/project.pbxproj 2008-02-10 07:26:33 UTC (rev 7838) @@ -383,6 +383,11 @@ 9B5414EA0A45C7CB00745CE6 /* SDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B5414E80A45C7CB00745CE6 /* SDL.framework */; }; 9B54150F0A45C7D700745CE6 /* SDL_image.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 9B5414E70A45C7CB00745CE6 /* SDL_image.framework */; }; 9B5415100A45C7D700745CE6 /* SDL.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 9B5414E80A45C7CB00745CE6 /* SDL.framework */; }; + 9B5E119F0D5EBCD700175ABB /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = 8CBA62A1089F1A95007E21DC /* config.h */; }; + 9B5E11AA0D5EBD1600175ABB /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = 8CAD9136095A379B00DA0ECC /* config.h */; }; + 9B5E11BF0D5EC32500175ABB /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B5E11BE0D5EC32500175ABB /* CoreServices.framework */; }; + 9B5E11C00D5EC32500175ABB /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B5E11BE0D5EC32500175ABB /* CoreServices.framework */; }; + 9B5E11C10D5EC32500175ABB /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B5E11BE0D5EC32500175ABB /* CoreServices.framework */; }; 9B5FE82F0D57B2FC004AC137 /* nAuthentication.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B5FE82E0D57B2FC004AC137 /* nAuthentication.cpp */; }; 9B5FE8300D57B2FC004AC137 /* nAuthentication.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B5FE82E0D57B2FC004AC137 /* nAuthentication.cpp */; }; 9B5FE8310D57B2FC004AC137 /* nAuthentication.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B5FE82E0D57B2FC004AC137 /* nAuthentication.cpp */; }; @@ -390,6 +395,9 @@ 9B69F6250A63E1A700F5F2E4 /* eLagCompensation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B69F6210A63E1A700F5F2E4 /* eLagCompensation.cpp */; }; 9B69F6260A63E1A700F5F2E4 /* eLagCompensation.h in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 9B69F6220A63E1A700F5F2E4 /* eLagCompensation.h */; }; 9B69F6270A63E1A700F5F2E4 /* eLagCompensation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B69F6210A63E1A700F5F2E4 /* eLagCompensation.cpp */; }; + 9B7870680D5E4FD20088A96F /* libZThread.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B7870670D5E4FD20088A96F /* libZThread.a */; }; + 9B7870690D5E4FD20088A96F /* libZThread.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B7870670D5E4FD20088A96F /* libZThread.a */; }; + 9B78706A0D5E4FD20088A96F /* libZThread.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B7870670D5E4FD20088A96F /* libZThread.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -691,10 +699,12 @@ 9B5414A40A45C78200745CE6 /* SDL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL.framework; path = /Library/Frameworks/ArmagetronAdvanced/current/SDL.framework; sourceTree = "<absolute>"; }; 9B5414E70A45C7CB00745CE6 /* SDL_image.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL_image.framework; path = /Library/Frameworks/ArmagetronAdvanced/10.2.8/SDL_image.framework; sourceTree = "<absolute>"; }; 9B5414E80A45C7CB00745CE6 /* SDL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL.framework; path = /Library/Frameworks/ArmagetronAdvanced/10.2.8/SDL.framework; sourceTree = "<absolute>"; }; + 9B5E11BE0D5EC32500175ABB /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; }; 9B5FE82D0D57B2FC004AC137 /* nAuthentication.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nAuthentication.h; sourceTree = "<group>"; }; 9B5FE82E0D57B2FC004AC137 /* nAuthentication.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = nAuthentication.cpp; sourceTree = "<group>"; }; 9B69F6210A63E1A700F5F2E4 /* eLagCompensation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eLagCompensation.cpp; sourceTree = "<group>"; }; 9B69F6220A63E1A700F5F2E4 /* eLagCompensation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eLagCompensation.h; sourceTree = "<group>"; }; + 9B7870670D5E4FD20088A96F /* libZThread.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libZThread.a; path = /Library/Frameworks/ArmagetronAdvanced/current/libZThread.a; sourceTree = "<absolute>"; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -702,6 +712,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 9B78706A0D5E4FD20088A96F /* libZThread.a in Frameworks */, + 9B5E11C10D5EC32500175ABB /* CoreServices.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -714,6 +726,8 @@ 9B5414E90A45C7CB00745CE6 /* SDL_image.framework in Frameworks */, 9B5414EA0A45C7CB00745CE6 /* SDL.framework in Frameworks */, 6459A1320D2AE2B40042EFE8 /* libpng.framework in Frameworks */, + 9B7870690D5E4FD20088A96F /* libZThread.a in Frameworks */, + 9B5E11C00D5EC32500175ABB /* CoreServices.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -726,6 +740,8 @@ 9B5414A50A45C78200745CE6 /* libpng.framework in Frameworks */, 9B5414A60A45C78200745CE6 /* SDL_image.framework in Frameworks */, 9B5414A70A45C78200745CE6 /* SDL.framework in Frameworks */, + 9B7870680D5E4FD20088A96F /* libZThread.a in Frameworks */, + 9B5E11BF0D5EC32500175ABB /* CoreServices.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -773,11 +789,12 @@ 29B97323FDCFA39411CA2CEA /* Frameworks */ = { isa = PBXGroup; children = ( + 9B5414E60A45C7B900745CE6 /* 10.2.8 */, 9B5414DF0A45C7A200745CE6 /* current */, - 9B5414E60A45C7B900745CE6 /* 10.2.8 */, 29B97324FDCFA39411CA2CEA /* AppKit.framework */, 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */, + 9B5E11BE0D5EC32500175ABB /* CoreServices.framework */, 29B97325FDCFA39411CA2CEA /* Foundation.framework */, 8CBA60B0089F00F2007E21DC /* OpenGL.framework */, ); @@ -1121,8 +1138,9 @@ isa = PBXGroup; children = ( 9B5414A20A45C78200745CE6 /* libpng.framework */, + 9B7870670D5E4FD20088A96F /* libZThread.a */, + 9B5414A40A45C78200745CE6 /* SDL.framework */, 9B5414A30A45C78200745CE6 /* SDL_image.framework */, - 9B5414A40A45C78200745CE6 /* SDL.framework */, ); name = current; sourceTree = "<group>"; @@ -1140,6 +1158,25 @@ }; /* End PBXGroup section */ +/* Begin PBXHeadersBuildPhase section */ + 9B5E11A10D5EBCDE00175ABB /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 9B5E119F0D5EBCD700175ABB /* config.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9B5E11AC0D5EBD2400175ABB /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 9B5E11AA0D5EBD1600175ABB /* config.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + /* Begin PBXNativeTarget section */ 8C11CA41095A268E007AE0EA /* Armagetron Advanced Dedicated */ = { isa = PBXNativeTarget; @@ -1147,6 +1184,7 @@ buildPhases = ( 8CAD9172095A3BB700DA0ECC /* Process Files */, 8CAD917A095A3BD000DA0ECC /* Sort Resources */, + 9B5E11AC0D5EBD2400175ABB /* Headers */, 8C11CA3F095A268E007AE0EA /* Sources */, 8C11CA40095A268E007AE0EA /* Frameworks */, ); @@ -1190,6 +1228,7 @@ 8CA7C30608B71B3B00BE10F2 /* Sort Resources */, 8D1107290486CEB800E47090 /* Resources */, 8CBA5DD5089EEBB3007E21DC /* Copy Frameworks */, + 9B5E11A10D5EBCDE00175ABB /* Headers */, 8D11072C0486CEB800E47090 /* Sources */, 8D11072E0486CEB800E47090 /* Frameworks */, 8C6EF3CA08A3168C00816348 /* Sort Package */, @@ -1804,9 +1843,16 @@ COPY_PHASE_STRIP = NO; GCC_GENERATE_DEBUGGING_SYMBOLS = YES; GCC_MODEL_TUNING = G5; - HEADER_SEARCH_PATHS = /usr/include/libxml2; + HEADER_SEARCH_PATHS = ( + /usr/include/libxml2, + /Library/Frameworks/ArmagetronAdvanced/current/include, + ); INSTALL_PATH = "$(HOME)/bin"; - LIBRARY_SEARCH_PATHS = /usr/lib; + LIBRARY_SEARCH_PATHS = ( + /usr/lib, + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + ); + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/ArmagetronAdvanced/current\""; OPTIMIZATION_CFLAGS = "-O0"; OTHER_CFLAGS = ""; OTHER_LDFLAGS = ( @@ -1834,9 +1880,16 @@ COPY_PHASE_STRIP = YES; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_MODEL_TUNING = G5; - HEADER_SEARCH_PATHS = /usr/include/libxml2; + HEADER_SEARCH_PATHS = ( + /usr/include/libxml2, + /Library/Frameworks/ArmagetronAdvanced/current/include, + ); INSTALL_PATH = "$(HOME)/bin"; - LIBRARY_SEARCH_PATHS = /usr/lib; + LIBRARY_SEARCH_PATHS = ( + /usr/lib, + "$(LIBRARY_SEARCH_PATHS_QUOTED_1)", + ); + LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/ArmagetronAdvanced/current\""; OPTIMIZATION_CFLAGS = "-O2"; OTHER_CFLAGS = ""; OTHER_LDFLAGS = ( @@ -1887,8 +1940,10 @@ LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2)", ); LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../Library/Frameworks/Platforms/10.2\""; + LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/ArmagetronAdvanced/current\""; OTHER_LDFLAGS = ( "$(OTHER_LDFLAGS_QUOTED_1)", "$(OTHER_LDFLAGS_QUOTED_2)", @@ -1939,7 +1994,9 @@ LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_1)", ); + LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(LOCAL_LIBRARY_DIR)/Frameworks/ArmagetronAdvanced/current\""; LIBRARY_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../Library/Frameworks/Platforms/10.2\""; MACOSX_DEPLOYMENT_TARGET = 10.2; OTHER_LDFLAGS = ( @@ -1982,6 +2039,7 @@ /Library/Frameworks/ArmagetronAdvanced/current/SDL_image.framework/Headers, /Library/Frameworks/ArmagetronAdvanced/current/libpng.framework/Headers, /usr/include/libxml2, + /Library/Frameworks/ArmagetronAdvanced/current/include, ); INFOPLIST_FILE = ../src/macosx/Info.plist; INSTALL_PATH = "$(HOME)/Applications"; @@ -1989,6 +2047,7 @@ /usr/lib, /Library/Frameworks/ArmagetronAdvanced/current, ); + MACOSX_DEPLOYMENT_TARGET = 10.3; OTHER_LDFLAGS = ( "$(OTHER_LDFLAGS_QUOTED_1)", "$(OTHER_LDFLAGS_QUOTED_2)", @@ -2031,6 +2090,7 @@ /Library/Frameworks/ArmagetronAdvanced/current/SDL_image.framework/Headers, /Library/Frameworks/ArmagetronAdvanced/current/libpng.framework/Headers, /usr/include/libxml2, + /Library/Frameworks/ArmagetronAdvanced/current/include, ); INFOPLIST_FILE = ../src/macosx/Info.plist; INSTALL_PATH = "$(HOME)/Applications"; Modified: armagetronad/branches/0.2.8/armagetronad/src/macosx/config_common.h.in =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/macosx/config_common.h.in 2008-02-10 00:34:23 UTC (rev 7837) +++ armagetronad/branches/0.2.8/armagetronad/src/macosx/config_common.h.in 2008-02-10 07:26:33 UTC (rev 7838) @@ -5,6 +5,8 @@ #define MACOSX_VERSION_10_2 1 #endif +#define HAVE_LIBZTHREAD 1 + /* AIX */ /* #undef AIX */ Modified: armagetronad/branches/0.2.8/armagetronad/src/macosx/dedicated/config.h =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/macosx/dedicated/config.h 2008-02-10 00:34:23 UTC (rev 7837) +++ armagetronad/branches/0.2.8/armagetronad/src/macosx/dedicated/config.h 2008-02-10 07:26:33 UTC (rev 7838) @@ -2,3 +2,4 @@ #define USER_DATA_DIR "~/Library/Application Support/Armagetron Advanced Dedicated" #define DEDICATED 1 +#define KRAWALL_SERVER 1 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-10 14:53:43
|
Revision: 7842 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7842&view=rev Author: bazaarmagetron Date: 2008-02-10 06:53:47 -0800 (Sun, 10 Feb 2008) Log Message: ----------- Fixed a mixup where the menu item labels for hiding your global id and spectator mode were swapped Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/language/english_base.txt Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-10 01:27:29.801000118 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad bugs: https://launchpad.net/bugs/190574 fixed + timestamp: 2008-02-10 16:36:10.601999998 +0100 committer: wrtlprnft <wrt...@us...> properties: branch-nick: 0.2.8 Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og Modified: armagetronad/branches/0.2.8/armagetronad/language/english_base.txt =================================================================== --- armagetronad/branches/0.2.8/armagetronad/language/english_base.txt 2008-02-10 14:33:41 UTC (rev 7841) +++ armagetronad/branches/0.2.8/armagetronad/language/english_base.txt 2008-02-10 14:53:47 UTC (rev 7842) @@ -1553,11 +1553,11 @@ player_autologin_text Auto Login: player_autologin_help When enabled, you will automatically initiate the (usually completely optional) login procedure as soon as you enter a server. -player_spectator_text Hide Global ID: -player_spectator_help Usually your global ID is shown to everyone when you log in or when someone uses the /players chat command. Enabling this tells the server that you prefer to remain anonymous. The server may still show your ID to moderators and administrators on the server or even decide to ignore your request. +player_stealth_text Hide Global ID: +player_stealth_help Usually your global ID is shown to everyone when you log in or when someone uses the /players chat command. Enabling this tells the server that you prefer to remain anonymous. The server may still show your ID to moderators and administrators on the server or even decide to ignore your request. -player_stealth_text Spectator Mode: -player_stealth_help In spectator mode, you do not control a cycle; you just watch the game as if you were already dead. The other players will see you on the score table and you can chat with them, but you won't be spawned at the beginng of a round. +player_spectator_text Spectator Mode: +player_spectator_help In spectator mode, you do not control a cycle; you just watch the game as if you were already dead. The other players will see you on the score table and you can chat with them, but you won't be spawned at the beginng of a round. player_name_team_text Name Team after Player: player_name_team_help You can set your prefered method for naming your team here: On indicates you want the team to be named after its most senior player, Off means you want a simple colour label. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-10 21:27:17
|
Revision: 7848 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7848&view=rev Author: bazaarmagetron Date: 2008-02-10 13:27:14 -0800 (Sun, 10 Feb 2008) Log Message: ----------- Manuel Moos: Merged memory leak fix from Pig Sty Branch. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/src/network/nNetwork.cpp Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-10 16:36:10.601999998 +0100 committer: wrtlprnft <wrt...@us...> properties: branch-nick: 0.2.8 + timestamp: 2008-02-10 22:22:53.944999933 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 Modified: armagetronad/branches/0.2.8/armagetronad/src/network/nNetwork.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/network/nNetwork.cpp 2008-02-10 18:04:42 UTC (rev 7847) +++ armagetronad/branches/0.2.8/armagetronad/src/network/nNetwork.cpp 2008-02-10 21:27:14 UTC (rev 7848) @@ -2876,7 +2876,7 @@ void sn_CenterMessage(const tOutput &o,int client){ tString message(o); - nMessage *m=new nMessage(client_cen_nd); + tJUST_CONTROLLED_PTR< nMessage > m=new nMessage(client_cen_nd); *m << message; if (client<0){ m->BroadCast(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-11 08:53:40
|
Revision: 7852 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7852&view=rev Author: bazaarmagetron Date: 2008-02-11 00:53:45 -0800 (Mon, 11 Feb 2008) Log Message: ----------- Manuel Moos: Performance improvement: the cycle now triggers rendering of its walls, the renderer does not have to traverse all walls (and render them multiple times). Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.h armagetronad/branches/0.2.8/armagetronad/src/engine/eDisplay.cpp armagetronad/branches/0.2.8/armagetronad/src/tools/tLinkedList.h armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.h armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.h Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-10 22:22:53.944999933 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad + timestamp: 2008-02-11 09:48:00.394000053 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x Modified: armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.h =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.h 2008-02-11 00:21:35 UTC (rev 7851) +++ armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.h 2008-02-11 08:53:45 UTC (rev 7852) @@ -57,7 +57,7 @@ } #endif -virtual REAL Height() const{return height;} + virtual REAL Height() const{return height;} virtual REAL SeeHeight() const{return height*40;} Modified: armagetronad/branches/0.2.8/armagetronad/src/engine/eDisplay.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/engine/eDisplay.cpp 2008-02-11 00:21:35 UTC (rev 7851) +++ armagetronad/branches/0.2.8/armagetronad/src/engine/eDisplay.cpp 2008-02-11 08:53:45 UTC (rev 7852) @@ -506,8 +506,8 @@ glEnable(GL_DEPTH_TEST); if (eWalls){ - glDisable(GL_CULL_FACE); - draw_eWall(this,viewer,0,zNear,cameras(viewer)); + // glDisable(GL_CULL_FACE); + // draw_eWall(this,viewer,0,zNear,cameras(viewer)); /* #ifdef DEBUG Modified: armagetronad/branches/0.2.8/armagetronad/src/tools/tLinkedList.h =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tools/tLinkedList.h 2008-02-11 00:21:35 UTC (rev 7851) +++ armagetronad/branches/0.2.8/armagetronad/src/tools/tLinkedList.h 2008-02-11 08:53:45 UTC (rev 7852) @@ -28,6 +28,8 @@ #ifndef ArmageTron_tLinkedList_H #define ArmageTron_tLinkedList_H +#include "tError.h" + #include <stdlib.h> class tListItemBase{ @@ -63,7 +65,11 @@ template <class T> class tListItem:public tListItemBase{ public: - tListItem():tListItemBase(){}; + tListItem():tListItemBase() + { + // this class only works under this condition: + tASSERT( static_cast< tListItemBase * >( ( T * )(NULL) ) == NULL ); + }; tListItem(T *&a):tListItemBase(reinterpret_cast<tListItemBase*&>(a)){}; T *Next(){return reinterpret_cast<T*>(next);} Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp 2008-02-11 00:21:35 UTC (rev 7851) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp 2008-02-11 08:53:45 UTC (rev 7852) @@ -2264,6 +2264,7 @@ turning(NULL), skew(0),skewDot(0), rotationFrontWheel(1,0),rotationRearWheel(1,0),heightFrontWheel(0),heightRearWheel(0), + wallList_(NULL), currentWall(NULL), lastWall(NULL) { @@ -2454,6 +2455,12 @@ } bool gCycle::Timestep(REAL currentTime){ + // keep cycle in list for rendering as long as walls are active + if ( !Alive() && wallList_ ) + { + return false; + } + // clear out dangerous info when we're done gMaxSpaceAheadHitInfoClearer hitInfoClearer( maxSpaceHit_ ); @@ -2628,6 +2635,12 @@ currentWall->Update(predictTime, PredictPosition() ); } + // keep cycle in list for rendering as long as walls are active + if ( wallList_ ) + { + return false; + } + return ret; } @@ -3843,7 +3856,39 @@ } +static REAL mp_eWall_stretch=4; +static tSettingItem<REAL> mpws +("MOVIEPACK_WALL_STRETCH",mp_eWall_stretch); + +static rFileTexture dir_eWall(rTextureGroups::TEX_WALL,"textures/dir_wall.png",1,0,1); +static rFileTexture dir_eWall_moviepack(rTextureGroups::TEX_WALL,"moviepack/dir_wall.png",1,0,1); + +static void dir_eWall_select() +{ + if (sg_MoviePack()){ + TexMatrix(); + IdentityMatrix(); + ScaleMatrix(1/mp_eWall_stretch,1,1); + dir_eWall_moviepack.Select(); + } + else + { + dir_eWall.Select(); + } +} + void gCycle::Render(const eCamera *cam){ + dir_eWall_select(); + + // render walls + gNetPlayerWall * run = wallList_; + while( run ) + { + run->Render( cam ); + run = run->Next(); + } + + // are we blinking from invulnerability? bool blinking = false; if ( lastTime > spawnTime_ && !Vulnerable() ) { @@ -4516,6 +4561,7 @@ spark(NULL), skew(0),skewDot(0), rotationFrontWheel(1,0),rotationRearWheel(1,0),heightFrontWheel(0),heightRearWheel(0), + wallList_(NULL), currentWall(NULL), lastWall(NULL) { Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.h =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.h 2008-02-11 00:21:35 UTC (rev 7851) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.h 2008-02-11 08:53:45 UTC (rev 7852) @@ -170,6 +170,7 @@ private: void TransferPositionCorrectionToDistanceCorrection(); + gNetPlayerWall * wallList_; //!< linked list of all walls tCHECKED_PTR(gNetPlayerWall) currentWall; //!< the wall that currenly is attached to the cycle tCHECKED_PTR(gNetPlayerWall) lastWall; //!< the last wall that was attached to this cycle tCHECKED_PTR(gNetPlayerWall) lastNetWall; //!< the last wall received over the network Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp 2008-02-11 00:21:35 UTC (rev 7851) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp 2008-02-11 08:53:45 UTC (rev 7852) @@ -105,10 +105,6 @@ static nSettingItem<tString> lalala_mp_dir_eWall("TEXTURE_MP_DIR_WALL", lala_mp_dir_eWall); rFileTexture dir_eWall_moviepack(rTextureGroups::TEX_WALL, lala_mp_dir_eWall, 1,0); */ - -static rFileTexture dir_eWall(rTextureGroups::TEX_WALL,"textures/dir_wall.png",1,0,1); -static rFileTexture dir_eWall_moviepack(rTextureGroups::TEX_WALL,"moviepack/dir_wall.png",1,0,1); - #endif static REAL sg_RimStretchX=100; @@ -128,25 +124,6 @@ static tSettingItem<REAL> sg_MPRimStretchYConf ("MOVIEPACK_RIM_WALL_STRETCH_Y",sg_MPRimStretchY); -static REAL mp_eWall_stretch=4; -static tSettingItem<REAL> mpws -("MOVIEPACK_WALL_STRETCH",mp_eWall_stretch); - -#ifndef DEDICATED -static void dir_eWall_select(){ - if (sg_MoviePack()){ - TexMatrix(); - IdentityMatrix(); - ScaleMatrix(1/mp_eWall_stretch,1,1); - dir_eWall_moviepack.Select(); - } - else - dir_eWall.Select(); -} - - -#endif - /* ********************************************** RimWall ********************************************** */ @@ -885,8 +862,6 @@ glCallList(displayList_); else { - dir_eWall_select(); - REAL r,g,b; if (cycle_){ r=cycle_->trailColor_.r; @@ -1059,12 +1034,12 @@ glVertex3f(p2.x,p2.y,h*hfrac); RenderEnd(); sr_DepthOffset(false); + if ( rTextureGroups::TextureMode[rTextureGroups::TEX_WALL] != 0 ) + glEnable(GL_TEXTURE_2D); } //glColor4f(r,g,b,a); - dir_eWall_select(); - glColor3f(r,g,b); #ifdef XDEBUG @@ -1166,15 +1141,12 @@ } RenderEnd(); sr_DepthOffset(false); + if ( rTextureGroups::TextureMode[rTextureGroups::TEX_WALL] != 0 ) + glEnable(GL_TEXTURE_2D); } - dir_eWall_select(); - - BeginQuadStrip(); - - //REAL H=h*hfrac; //ppos=ePlayer->pos-ePlayer->dir*gCYCLE__LEN; @@ -1484,6 +1456,14 @@ void gNetPlayerWall::MyInitAfterCreation() { +#ifndef DEDICATED + // put yourself into rendering list + if ( cycle_ ) + { + Insert( cycle_->wallList_ ); + } +#endif + //w= #ifdef DEBUG if (!finite(end.x) || !finite(end.y)) Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.h =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.h 2008-02-11 00:21:35 UTC (rev 7851) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.h 2008-02-11 08:53:45 UTC (rev 7852) @@ -144,7 +144,7 @@ // the sn_netObjects that represents eWalls across the network. -class gNetPlayerWall: public nNetObject{ +class gNetPlayerWall: public tListItem< gNetPlayerWall >, public nNetObject{ friend class gCycle; int id,griddedid; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-11 09:36:11
|
Revision: 7853 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7853&view=rev Author: bazaarmagetron Date: 2008-02-11 01:36:16 -0800 (Mon, 11 Feb 2008) Log Message: ----------- Manuel Moos: Avoiding state changes when rendering rim walls (at least, when no moviepack is selected). Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.h armagetronad/branches/0.2.8/armagetronad/src/engine/eDisplay.cpp armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-11 09:48:00.394000053 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad + timestamp: 2008-02-11 10:28:07.138999939 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc Modified: armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.h =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.h 2008-02-11 08:53:45 UTC (rev 7852) +++ armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.h 2008-02-11 09:36:16 UTC (rev 7853) @@ -45,7 +45,6 @@ virtual bool Splittable() const; - // virtual void Split(eWall *& w1,eWall *& w2,REAL a); #ifndef DEDICATED Modified: armagetronad/branches/0.2.8/armagetronad/src/engine/eDisplay.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/engine/eDisplay.cpp 2008-02-11 08:53:45 UTC (rev 7852) +++ armagetronad/branches/0.2.8/armagetronad/src/engine/eDisplay.cpp 2008-02-11 09:36:16 UTC (rev 7853) @@ -293,6 +293,13 @@ glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); } +static bool se_RimWrapY=true; +static tSettingItem<bool> se_RimWrapYConf +("RIM_WALL_WRAP_Y",se_RimWrapY); + +static rFileTexture se_RimWallNoWrap(rTextureGroups::TEX_WALL,"textures/rim_wall.png",1,0); +static rFileTexture se_RimWallWrap(rTextureGroups::TEX_WALL,"textures/rim_wall.png",1,1); + void eGrid::display_simple( int viewer,bool floor, bool sr_upperSky,bool sr_lowerSky, REAL flooralpha, @@ -474,12 +481,22 @@ // glDisable(GL_TEXTURE_GEN_Q); // glDisable(GL_TEXTURE_GEN_R); - glEnable(GL_DEPTH_TEST); + if(eWalls){ + { + glEnable(GL_DEPTH_TEST); + glDisable(GL_CULL_FACE); - if(eWalls){ - for(int i=se_rimWalls.Len()-1;i>=0;i--){ - su_FetchAndStoreSDLInput(); - se_rimWalls(i)->RenderReal(cameras(viewer)); + if ( !sg_MoviePack() ) + { + ( se_RimWrapY ? se_RimWallWrap : se_RimWallNoWrap).Select(); + } + + for(int i=se_rimWalls.Len()-1;i>=0;i--){ + su_FetchAndStoreSDLInput(); + se_rimWalls(i)->RenderReal(cameras(viewer)); + } + + glEnable(GL_CULL_FACE); } if (sr_lowerSky && sr_highRim){ Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp 2008-02-11 08:53:45 UTC (rev 7852) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp 2008-02-11 09:36:16 UTC (rev 7853) @@ -84,9 +84,6 @@ rFileTexture gWallRim_d(rTextureGroups::TEX_WALL, lala_mp_wallRimD, 0,0); */ -static rFileTexture sg_RimWallNoWrap(rTextureGroups::TEX_WALL,"textures/rim_wall.png",1,0); -static rFileTexture sg_RimWallWrap(rTextureGroups::TEX_WALL,"textures/rim_wall.png",1,1); - //static rTexture gWallRim_text_moviepack(rTEX_WALL,"moviepack/gWallRim2.png",1,0); static rFileTexture gWallRim_a(rTextureGroups::TEX_WALL,"moviepack/rim_wall_a.png",0,0); static rFileTexture gWallRim_b(rTextureGroups::TEX_WALL,"moviepack/rim_wall_b.png",0,0); @@ -113,9 +110,6 @@ static REAL sg_RimStretchY=100; static tSettingItem<REAL> sg_RimStretchYConf ("RIM_WALL_STRETCH_Y",sg_RimStretchY); -static bool sg_RimWrapY=true; -static tSettingItem<bool> sg_RimWrapYConf -("RIM_WALL_WRAP_Y",sg_RimWrapY); static REAL sg_MPRimStretchX=50; static tSettingItem<REAL> sg_MPRimStretchXConf @@ -271,9 +265,6 @@ const eCoord *p1=&EndPoint(0); const eCoord *p2=&EndPoint(1); - if (bf_cull) - glDisable(GL_CULL_FACE); - REAL X_SCALE=sg_RimStretchX; REAL Z_SCALE=sg_RimStretchY; @@ -283,7 +274,7 @@ if ( transparency ) glDisable( GL_DEPTH_TEST ); - if (sg_MoviePack()){ + if (sg_MoviePack()){ X_SCALE=sg_MPRimStretchX; Z_SCALE=sg_MPRimStretchY; } @@ -466,15 +457,11 @@ tBeg += offset; tEnd += offset; - ( sg_RimWrapY ? sg_RimWallWrap : sg_RimWallNoWrap).Select(); gWallRim_helper(*p1,*p2,tBeg,tEnd,h,Z_SCALE,false); } //eWall::Render_helper(edge,(p1->x+p1->y)/SCALE,(p2->x+p2->y)/SCALE,40,height); - - if (bf_cull) - glEnable(GL_CULL_FACE); - + if ( transparency ) glEnable( GL_DEPTH_TEST ); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-11 09:36:42
|
Revision: 7854 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7854&view=rev Author: bazaarmagetron Date: 2008-02-11 01:36:47 -0800 (Mon, 11 Feb 2008) Log Message: ----------- Manuel Moos: Disabling backface culling for cycle walls. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-11 10:28:07.138999939 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad + timestamp: 2008-02-11 10:31:18.963999987 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp 2008-02-11 09:36:16 UTC (rev 7853) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp 2008-02-11 09:36:47 UTC (rev 7854) @@ -3878,14 +3878,17 @@ } void gCycle::Render(const eCamera *cam){ - dir_eWall_select(); - - // render walls - gNetPlayerWall * run = wallList_; - while( run ) { - run->Render( cam ); - run = run->Next(); + dir_eWall_select(); + glDisable(GL_CULL_FACE); + + // render walls + gNetPlayerWall * run = wallList_; + while( run ) + { + run->Render( cam ); + run = run->Next(); + } } // are we blinking from invulnerability? This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-11 11:02:25
|
Revision: 7855 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7855&view=rev Author: bazaarmagetron Date: 2008-02-11 03:02:27 -0800 (Mon, 11 Feb 2008) Log Message: ----------- Manuel Moos: Still more performance: putting all rim walls into one display list (as long as they are not lowered for rendering). Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.cpp armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.h armagetronad/branches/0.2.8/armagetronad/src/engine/eDisplay.cpp armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-11 10:31:18.963999987 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad + timestamp: 2008-02-11 11:50:13.102999926 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: 0.2.8-armagetronad-work Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy Modified: armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.cpp 2008-02-11 09:36:47 UTC (rev 7854) +++ armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.cpp 2008-02-11 11:02:27 UTC (rev 7855) @@ -50,11 +50,13 @@ // if(bf_cull && sr_ZTrick) se_rimWalls.Add(this,rim_id); -} + DestroyDisplayList();} + eWallRim::~eWallRim() { se_rimWalls.Remove(this,rim_id); + DestroyDisplayList(); } //ArmageTron_eWalltype gWallRim::type(){return ArmageTron_RIM;} @@ -109,8 +111,111 @@ return se_OffsetBounds( offset ).Contains( x ); } +#ifndef DEDICATED +static GLuint se_rimDisplayList=0; +static int se_destroyDisplayList=0; + +extern bool sg_MoviePack(); + +static bool se_RimWrapY=true; +static tSettingItem<bool> se_RimWrapYConf +("RIM_WALL_WRAP_Y",se_RimWrapY); + +static rFileTexture se_RimWallNoWrap(rTextureGroups::TEX_WALL,"textures/rim_wall.png",1,0); +static rFileTexture se_RimWallWrap(rTextureGroups::TEX_WALL,"textures/rim_wall.png",1,1); + +#endif + // ******************************************************************************************* // * +// * RenderAll +// * +// ******************************************************************************************* +//! @param camera camera used for rendering +// ******************************************************************************************* +void eWallRim::RenderAll( eCamera * camera ) +{ +#ifndef DEDICATED + bool useDisplayList = sr_useDisplayLists && se_destroyDisplayList == 0; + + if ( se_rimDisplayList ) + { + if ( useDisplayList ) + { + glCallList( se_rimDisplayList ); + return; + } + else + { + DestroyDisplayList(); + } + } + + if (useDisplayList) + { + se_rimDisplayList=glGenLists(1); + glNewList(se_rimDisplayList,GL_COMPILE_AND_EXECUTE); + } + + if ( se_destroyDisplayList > 0 ) + { + se_destroyDisplayList--; + } + + glEnable(GL_DEPTH_TEST); + glDisable(GL_CULL_FACE); + + if ( !sg_MoviePack() ) + { + ( se_RimWrapY ? se_RimWallWrap : se_RimWallNoWrap).Select(); + } + + for(int i=se_rimWalls.Len()-1;i>=0;i--){ + se_rimWalls(i)->RenderReal( camera ); + } + + glEnable(GL_CULL_FACE); + + if (useDisplayList) + { + glEndList(); + } +#endif +} + +// ******************************************************************************************* +// * +// * DestroyDisplayList +// * +// ******************************************************************************************* +void eWallRim::DestroyDisplayList() +{ +#ifndef DEDICATED + if ( se_rimDisplayList ) + { + glDeleteLists(se_rimDisplayList,1); + } + se_rimDisplayList = 0; +#endif +} + +// ******************************************************************************************* +// * +// * PlanDestroyDisplayList +// * +// ******************************************************************************************* +void eWallRim::PlanDestroyDisplayList() +{ +#ifndef DEDICATED + // destroy the playlist and don't generate it again for 10 frames. + se_destroyDisplayList = 10; +#endif +} + +static rCallbackBeforeScreenModeChange unload(&eWallRim::DestroyDisplayList); + +// ******************************************************************************************* +// * // * Clip // * // ******************************************************************************************* Modified: armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.h =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.h 2008-02-11 09:36:47 UTC (rev 7854) +++ armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.h 2008-02-11 11:02:27 UTC (rev 7855) @@ -69,6 +69,13 @@ //! is x by offset inside the bounds of the rim eWalls? static bool IsBound(const eCoord &x,REAL offset=0); + + //! renders all rim walls + static void RenderAll( eCamera * camera ); + //! destroys the display list (call when geometry is updated) + static void DestroyDisplayList(); + //! destroys the display list on the next possible opportunity + static void PlanDestroyDisplayList(); //! brings x into the bounds of the rim eWalls with a min distance of offset static REAL Bound(eCoord &x,REAL offset=0); //! brings out inside the bounds of the rim walls, moving it closer to in. Modified: armagetronad/branches/0.2.8/armagetronad/src/engine/eDisplay.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/engine/eDisplay.cpp 2008-02-11 09:36:47 UTC (rev 7854) +++ armagetronad/branches/0.2.8/armagetronad/src/engine/eDisplay.cpp 2008-02-11 11:02:27 UTC (rev 7855) @@ -293,13 +293,6 @@ glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); } -static bool se_RimWrapY=true; -static tSettingItem<bool> se_RimWrapYConf -("RIM_WALL_WRAP_Y",se_RimWrapY); - -static rFileTexture se_RimWallNoWrap(rTextureGroups::TEX_WALL,"textures/rim_wall.png",1,0); -static rFileTexture se_RimWallWrap(rTextureGroups::TEX_WALL,"textures/rim_wall.png",1,1); - void eGrid::display_simple( int viewer,bool floor, bool sr_upperSky,bool sr_lowerSky, REAL flooralpha, @@ -483,20 +476,9 @@ if(eWalls){ { - glEnable(GL_DEPTH_TEST); - glDisable(GL_CULL_FACE); - - if ( !sg_MoviePack() ) - { - ( se_RimWrapY ? se_RimWallWrap : se_RimWallNoWrap).Select(); - } - - for(int i=se_rimWalls.Len()-1;i>=0;i--){ - su_FetchAndStoreSDLInput(); - se_rimWalls(i)->RenderReal(cameras(viewer)); - } - - glEnable(GL_CULL_FACE); + su_FetchAndStoreSDLInput(); + + eWallRim::RenderAll( cameras(viewer) ); } if (sr_lowerSky && sr_highRim){ Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp 2008-02-11 09:36:47 UTC (rev 7854) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp 2008-02-11 11:02:27 UTC (rev 7855) @@ -476,12 +476,21 @@ lastUpdate_ = time; if ( renderHeight_ < .25 ) + { renderHeight_ = .25; + } renderHeight_ *= 1 + 10 * ts; renderHeight_ += 5 * ts; if ( renderHeight_ > height ) + { renderHeight_ = height; + } } + + if ( renderHeight_ < height ) + { + PlanDestroyDisplayList(); + } } } @@ -502,7 +511,8 @@ if ( height < renderHeight_ ) { renderHeight_ = height; - } + PlanDestroyDisplayList(); + } if ( renderHeight_ < .25 ) renderHeight_ = .25; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-11 11:34:54
|
Revision: 7856 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7856&view=rev Author: bazaarmagetron Date: 2008-02-11 03:34:46 -0800 (Mon, 11 Feb 2008) Log Message: ----------- Manuel Moos: Hmm, odd rendering height bug for the rim walls. It seems the code renders them wrongly the first time around. Oh well, let's just create the display list some frames into the round :) Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.cpp armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-11 11:50:13.102999926 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: 0.2.8-armagetronad-work + timestamp: 2008-02-11 12:26:08.933000088 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l Modified: armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.cpp 2008-02-11 11:02:27 UTC (rev 7855) +++ armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.cpp 2008-02-11 11:34:46 UTC (rev 7856) @@ -50,7 +50,7 @@ // if(bf_cull && sr_ZTrick) se_rimWalls.Add(this,rim_id); - DestroyDisplayList();} + PlanDestroyDisplayList();} eWallRim::~eWallRim() Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp 2008-02-11 11:02:27 UTC (rev 7855) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp 2008-02-11 11:34:46 UTC (rev 7856) @@ -507,11 +507,12 @@ void gWallRim::OnBlocksCamera( eCamera * camera, REAL height ) const { + PlanDestroyDisplayList(); + // lower the wall so it now longer blocks the view if ( height < renderHeight_ ) { renderHeight_ = height; - PlanDestroyDisplayList(); } if ( renderHeight_ < .25 ) renderHeight_ = .25; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-11 14:08:49
|
Revision: 7858 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7858&view=rev Author: bazaarmagetron Date: 2008-02-11 06:08:54 -0800 (Mon, 11 Feb 2008) Log Message: ----------- author: Manuel Moos Added display list wrapper for convenient caching of renderings. Used it for the console and individual cycle walls. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/src/Makefile.am armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.cpp armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.h armagetronad/branches/0.2.8/armagetronad/src/render/rConsoleGraph.cpp armagetronad/branches/0.2.8/armagetronad/src/render/rModel.cpp armagetronad/branches/0.2.8/armagetronad/src/render/rModel.h armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.h Added Paths: ----------- armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.cpp armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.h Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-11 12:26:08.933000088 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad + timestamp: 2008-02-11 15:02:16.605000019 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad Name: bzr:file-ids - + src/render/rDisplayList.cpp rdisplaylist.cpp-20080211124807-2xccatbv93wzpd4c-1 src/render/rDisplayList.h rdisplaylist.h-20080211124809-nww2cm3va8vyzca5-1 Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se Modified: armagetronad/branches/0.2.8/armagetronad/src/Makefile.am =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/Makefile.am 2008-02-11 12:58:40 UTC (rev 7857) +++ armagetronad/branches/0.2.8/armagetronad/src/Makefile.am 2008-02-11 14:08:54 UTC (rev 7858) @@ -92,6 +92,7 @@ librender_a_SOURCES=render/rConsole.cpp render/rConsoleGraph.cpp render/rConsole.h render/rFont.cpp\ render/rFont.h render/rGL.h render/rGLRender.cpp render/rModel.cpp render/rModel.h render/rRender.cpp\ + render/rDisplayList.h render/rDisplayList.cpp \ render/rRender.h render/rScreen.cpp render/rScreen.h render/rSDL.h render/rSysdep.cpp render/rSysdep.h\ render/rTexture.cpp render/rTexture.h render/rViewport.cpp render/rViewport.h Modified: armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.cpp 2008-02-11 12:58:40 UTC (rev 7857) +++ armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.cpp 2008-02-11 14:08:54 UTC (rev 7858) @@ -28,6 +28,7 @@ #include "eWall.h" #include "math.h" #include "rTexture.h" +#include "rDisplayList.h" #include "eTimer.h" #include "rScreen.h" #include "eAdvWall.h" @@ -50,7 +51,7 @@ // if(bf_cull && sr_ZTrick) se_rimWalls.Add(this,rim_id); - PlanDestroyDisplayList();} + DestroyDisplayList();} eWallRim::~eWallRim() @@ -112,8 +113,7 @@ } #ifndef DEDICATED -static GLuint se_rimDisplayList=0; -static int se_destroyDisplayList=0; +static rDisplayList se_rimDisplayList; extern bool sg_MoviePack(); @@ -136,32 +136,13 @@ void eWallRim::RenderAll( eCamera * camera ) { #ifndef DEDICATED - bool useDisplayList = sr_useDisplayLists && se_destroyDisplayList == 0; - - if ( se_rimDisplayList ) + // call or fill display list + if ( se_rimDisplayList.Call() ) { - if ( useDisplayList ) - { - glCallList( se_rimDisplayList ); - return; - } - else - { - DestroyDisplayList(); - } + return; } + rDisplayListFiller filler( se_rimDisplayList ); - if (useDisplayList) - { - se_rimDisplayList=glGenLists(1); - glNewList(se_rimDisplayList,GL_COMPILE_AND_EXECUTE); - } - - if ( se_destroyDisplayList > 0 ) - { - se_destroyDisplayList--; - } - glEnable(GL_DEPTH_TEST); glDisable(GL_CULL_FACE); @@ -175,11 +156,6 @@ } glEnable(GL_CULL_FACE); - - if (useDisplayList) - { - glEndList(); - } #endif } @@ -190,28 +166,9 @@ // ******************************************************************************************* void eWallRim::DestroyDisplayList() { -#ifndef DEDICATED - if ( se_rimDisplayList ) - { - glDeleteLists(se_rimDisplayList,1); - } - se_rimDisplayList = 0; -#endif + se_rimDisplayList.Clear( 3 ); } -// ******************************************************************************************* -// * -// * PlanDestroyDisplayList -// * -// ******************************************************************************************* -void eWallRim::PlanDestroyDisplayList() -{ -#ifndef DEDICATED - // destroy the playlist and don't generate it again for 10 frames. - se_destroyDisplayList = 10; -#endif -} - static rCallbackBeforeScreenModeChange unload(&eWallRim::DestroyDisplayList); // ******************************************************************************************* Modified: armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.h =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.h 2008-02-11 12:58:40 UTC (rev 7857) +++ armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.h 2008-02-11 14:08:54 UTC (rev 7858) @@ -74,8 +74,6 @@ static void RenderAll( eCamera * camera ); //! destroys the display list (call when geometry is updated) static void DestroyDisplayList(); - //! destroys the display list on the next possible opportunity - static void PlanDestroyDisplayList(); //! brings x into the bounds of the rim eWalls with a min distance of offset static REAL Bound(eCoord &x,REAL offset=0); //! brings out inside the bounds of the rim walls, moving it closer to in. Modified: armagetronad/branches/0.2.8/armagetronad/src/render/rConsoleGraph.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/render/rConsoleGraph.cpp 2008-02-11 12:58:40 UTC (rev 7857) +++ armagetronad/branches/0.2.8/armagetronad/src/render/rConsoleGraph.cpp 2008-02-11 14:08:54 UTC (rev 7858) @@ -36,12 +36,15 @@ #include "rScreen.h" #include "rGL.h" #include "tConfiguration.h" +#include "rDisplayList.h" static tString sr_centerString; static REAL center_r,center_g,center_b,center_fadetime; static REAL Time; +static rDisplayList sr_consoleDisplayList; + static void sr_ConsolePerFrame(){ if (sr_con.autoDisplayAtSwap) sr_con.Render(); @@ -99,6 +102,21 @@ if (sr_screen){ Time=tSysTimeFloat(); + if (Time-center_fadetime<2){ + REAL alpha=center_fadetime-Time+1; + if (alpha>1) alpha=1; + if (alpha<0) alpha=0; + rTextField::SetDefaultColor( tColor(center_r,center_g,center_b,alpha) ); + + REAL space = 1.6; + REAL needed = rCWIDTH_CON * 4 * sr_centerString.Len(); + REAL fak = 1; + if (needed > space) + fak = space/needed; + + DisplayText(0,centerMessageY,rCWIDTH_CON*4*fak,rCHEIGHT_CON*4*fak,sr_centerString); + } + if (sr_textOut || rForceTextCallback::ForceText()){ if (lastCustomTimeout<Time-5 && lastTimeout+timeout<Time && currentTop<currentIn){ @@ -106,8 +124,23 @@ lastTimeout=Time; } + static int lastTop = currentTop; + static int lastIn = currentIn; + if ( lastTop != currentTop || lastIn != currentIn ) + { + lastTop = currentTop; + lastIn = currentIn; + sr_consoleDisplayList.Clear(); + } + rTextField::SetDefaultColor( tColor(1,1,1) ); + if ( sr_consoleDisplayList.Call() ) + { + return; + } + rDisplayListFiller filler( sr_consoleDisplayList ); + rTextField out(-.95f,.99f,rCWIDTH_CON,rCHEIGHT_CON);//,&rFont::s_defaultFontSmall); out.SetWidth(static_cast<int>(1.9f/out.GetCWidth())); out.SetIndent(sr_indent); @@ -132,21 +165,6 @@ } } - if (Time-center_fadetime<2){ - REAL alpha=center_fadetime-Time+1; - if (alpha>1) alpha=1; - if (alpha<0) alpha=0; - rTextField::SetDefaultColor( tColor(center_r,center_g,center_b,alpha) ); - - REAL space = 1.6; - REAL needed = rCWIDTH_CON * 4 * sr_centerString.Len(); - REAL fak = 1; - if (needed > space) - fak = space/needed; - - DisplayText(0,centerMessageY,rCWIDTH_CON*4*fak,rCHEIGHT_CON*4*fak,sr_centerString); - } - rTextField::SetDefaultColor( tColor(1,1,1) ); } } Added: armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.cpp (rev 0) +++ armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.cpp 2008-02-11 14:08:54 UTC (rev 7858) @@ -0,0 +1,139 @@ +/* + +************************************************************************* + +ArmageTron -- Just another Tron Lightcycle Game in 3D. +Copyright (C) 2008 Manuel Moos (ma...@mo...) and the AA Development Team + +************************************************************************** + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +*************************************************************************** + +*/ + +#include "rDisplayList.h" + +#include "rScreen.h" + +static rDisplayList * se_displayListAnchor = NULL; + +rDisplayList::rDisplayList() + : tListItem< rDisplayList >( se_displayListAnchor ) + , list_( 0 ) + , inhibit_( 0 ) + , filling_( false ) +{ +} + +rDisplayList::~rDisplayList() +{ + Clear(); + + tASSERT( !list_ ); +} + +// calls the display list, returns true if there was a list to call +bool rDisplayList::Call() +{ + tASSERT( !filling_ ); + + if ( inhibit_ > 0 ) + { + Clear(); + --inhibit_; + return false; + } + + if ( list_ ) + { + glCallList( list_ ); + return true; + } + + return false; +} + +//! clears the display list and don't regenerate it for the next few calls +void rDisplayList::Clear( int inhibitGeneration ) +{ + // clear the list + if ( !filling_ && list_ ) + { + glDeleteLists( list_, 1 ); + list_ = 0; + } + else + { + // clear it later + if ( inhibitGeneration < 1 ) + { + inhibitGeneration = 1; + } + } + + // memorize inhibit counter + if ( inhibit_ < inhibitGeneration ) + { + inhibit_ = inhibitGeneration; + } +} + +// clears all display lists +void rDisplayList::ClearAll() +{ +#ifndef DEDICATED + rDisplayList *run = se_displayListAnchor; + while (run) + { + run->Clear(); + run = run->Next(); + } +#endif +} + +//! constructor, automatically starting to fill teh list +rDisplayListFiller::rDisplayListFiller( rDisplayList & list ) + : list_( list ) +{ + bool useList = sr_useDisplayLists && list_.inhibit_ == 0; + if ( useList ) + { + if ( !list_.list_ ) + { + list_.list_=glGenLists(1); + } + glNewList(list_.list_,GL_COMPILE_AND_EXECUTE); + list_.filling_ = true; + } +} + +rDisplayListFiller::~rDisplayListFiller() +{ + Stop(); +} + +//! stops filling the display list (done automatically on destruction) +void rDisplayListFiller::Stop() +{ + if ( list_.filling_ ) + { + list_.filling_ = false; + glEndList(); + } +} + +static rCallbackBeforeScreenModeChange sr_unload( &rDisplayList::ClearAll ); Added: armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.h =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.h (rev 0) +++ armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.h 2008-02-11 14:08:54 UTC (rev 7858) @@ -0,0 +1,99 @@ +/* + +************************************************************************* + +ArmageTron -- Just another Tron Lightcycle Game in 3D. +Copyright (C) 2008 Manuel Moos (ma...@mo...) and the AA Development Team + +************************************************************************** + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +*************************************************************************** + +*/ + +#ifndef ArmageTron_DISPLAYLIST_H +#define ArmageTron_DISPLAYLIST_H + +#include "rGL.h" +#include "tLinkedList.h" + + +// Usage example for caching display elements: + +#if 0 +void example() +{ + static rDisplayList list; + + // + some logic calling list.Clear() when it needs updating + + if ( !list.Call() ) + { + rDisplayListFiller filler( list ); + + // + rendering code + } +} +#endif + +//! display list wrapper +class rDisplayList: public tListItem< rDisplayList > +{ + friend class rDisplayListFiller; +public: + rDisplayList(); + ~rDisplayList(); + + //! calls the display list, returns true if there was a list to call + bool Call(); + + //! clears the display list and don't regenerate it for the next few calls + void Clear( int inhibitGeneration = 1 ); + + //! clears all display lists + static void ClearAll(); +private: + rDisplayList( rDisplayList const & ); + rDisplayList & operator = ( rDisplayList const & ); + + GLuint list_; //!< the display list + int inhibit_; //!< inhibit display list generation for a while + bool filling_; //!< set if we're just filling the list +}; + +//! create an object of this type to fill a display list while you render +class rDisplayListFiller +{ +public: + //! constructor, automatically starting to fill teh list + explicit rDisplayListFiller( rDisplayList & list ); + ~rDisplayListFiller(); + + //! stops filling the display list (done automatically on destruction) + void Stop(); + +private: + rDisplayListFiller( rDisplayListFiller const & ); + rDisplayListFiller & operator = ( rDisplayListFiller const & ); + + //! the list + rDisplayList & list_; +}; + +#endif + + Modified: armagetronad/branches/0.2.8/armagetronad/src/render/rModel.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/render/rModel.cpp 2008-02-11 12:58:40 UTC (rev 7857) +++ armagetronad/branches/0.2.8/armagetronad/src/render/rModel.cpp 2008-02-11 14:08:54 UTC (rev 7858) @@ -37,8 +37,6 @@ #include "rGL.h" #include <string.h> -static rModel *sr_ModelAnchor; - static tConfItem<bool> mod_udl("USE_DISPLAYLISTS", sr_useDisplayLists); #ifndef DEDICATED @@ -238,8 +236,6 @@ } rModel::rModel(const char *fileName,const char *fileName_alt) - :tListItem<rModel>(sr_ModelAnchor), displayList(0) - // ,vertices(0),normals(0),modelFaces(0) { #ifndef DEDICATED // tString s; @@ -275,16 +271,10 @@ void rModel::Render(){ if (!sr_glOut) return; - if(displayList) - glCallList(displayList); - else + if ( !displayList_.Call() ) { - if (sr_useDisplayLists) - { - displayList=glGenLists(1); - glNewList(displayList,GL_COMPILE_AND_EXECUTE); - } - + rDisplayListFiller filler( displayList_ ); + if (normals.Len()>=vertices.Len()){ glNormalPointer(GL_FLOAT,0,&normals[0]); glEnableClientState(GL_NORMAL_ARRAY); @@ -324,39 +314,15 @@ glDisableClientState(GL_NORMAL_ARRAY); glDisable(GL_CULL_FACE); - - if (sr_useDisplayLists) - { - glEndList(); - } } } #endif rModel::~rModel(){ -#ifndef DEDICATED - if (displayList) glDeleteLists(displayList,1); -#endif tCHECK_DEST; } -void rModel::UnloadAllDisplayLists() -{ -#ifndef DEDICATED - rModel *run = sr_ModelAnchor; - while (run) - { - if (run->displayList && sr_glOut) - { - glDeleteLists(run->displayList, 1); - run->displayList = 0; - } - run = run->Next(); - } -#endif -} -static rCallbackBeforeScreenModeChange unload(&rModel::UnloadAllDisplayLists); Modified: armagetronad/branches/0.2.8/armagetronad/src/render/rModel.h =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/render/rModel.h 2008-02-11 12:58:40 UTC (rev 7857) +++ armagetronad/branches/0.2.8/armagetronad/src/render/rModel.h 2008-02-11 14:08:54 UTC (rev 7858) @@ -33,6 +33,7 @@ #include "tLinkedList.h" #include <math.h> #include "rGL.h" +#include "rDisplayList.h" class Vec3{ public: @@ -56,8 +57,9 @@ ~rModelFace(){}; }; -class rModel: public tListItem<rModel>{ - GLuint displayList; +class rModel +{ + rDisplayList displayList_; tArray<Vec3> vertices; tArray<Vec3> texVert; @@ -70,8 +72,6 @@ ~rModel(); void Render(); - - static void UnloadAllDisplayLists(); }; #endif Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp 2008-02-11 12:58:40 UTC (rev 7857) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp 2008-02-11 14:08:54 UTC (rev 7858) @@ -489,7 +489,7 @@ if ( renderHeight_ < height ) { - PlanDestroyDisplayList(); + DestroyDisplayList(); } } } @@ -507,7 +507,7 @@ void gWallRim::OnBlocksCamera( eCamera * camera, REAL height ) const { - PlanDestroyDisplayList(); + DestroyDisplayList(); // lower the wall so it now longer blocks the view if ( height < renderHeight_ ) @@ -856,10 +856,21 @@ } #endif - if (displayList_ && cycle_->Alive() && list) - glCallList(displayList_); - else + // clear list if walls are vanishing + // or if the wall end was reached + // or this is the cycle's first wall + if ( ( !cycle_->Alive() && gCycle::WallsStayUpDelay() >= 0 && se_GameTime()-cycle_->deathTime-gCycle::WallsStayUpDelay() > 0 ) || + ( cycle_->ThisWallsLength() > 0 && cycle_->GetDistance() - cycle_->ThisWallsLength() > dbegin ) || + this == cycle_->currentWall + ) { + displayList_.Clear(5); + } + + if ( !displayList_.Call() ) + { + rDisplayListFiller filler( displayList_ ); + REAL r,g,b; if (cycle_){ r=cycle_->trailColor_.r; @@ -945,19 +956,13 @@ } if (te+gBEG_LEN<=time){ - /* if (!ePlayer->Alive()) - RenderNormal(p1,p2,ta,te,r,g,b,a); - else if (list){ - displayList=glGenLists(1); - glNewList(displayList,GL_COMPILE_AND_EXECUTE); - RenderNormal(p1,p2,ta,te,r,g,b,a); - glEndList(); - } - else */ RenderNormal(p1,p2,ta,te,r,g,b,a); } else{ // complicated + // can't squeeze that into a display list + displayList_.Clear(); + if (ta+gBEG_LEN>=time){ RenderBegin(p1,p2,ta,te, 1+(ta-time)/gBEG_LEN, @@ -1476,8 +1481,6 @@ InitArray(); } - displayList_ = 0; - CreateEdge(); id=-1; @@ -1944,11 +1947,6 @@ gNetPlayerWall::~gNetPlayerWall() { ReleaseData(); - -#ifndef DEDICATED - if (this->displayList_!=0) - glDeleteLists(this->displayList_,1); -#endif } bool gNetPlayerWall::ActionOnQuit() @@ -2403,6 +2401,8 @@ { CHECKWALL; + displayList_.Clear(); + #ifdef DEBUG // std::cout << beg << ',' << end << '(' << BegPos() << ',' << EndPos() << ")\n"; #endif Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.h =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.h 2008-02-11 12:58:40 UTC (rev 7857) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.h 2008-02-11 14:08:54 UTC (rev 7858) @@ -31,6 +31,7 @@ #include "eAdvWall.h" #include "nNetObject.h" +#include "rDisplayList.h" //#include "nObserver.h" class gExplosion; class gCycle; @@ -258,7 +259,7 @@ private: tArray<gPlayerWallCoord> coords_; - unsigned int displayList_; + rDisplayList displayList_; }; extern tList<gNetPlayerWall> sg_netPlayerWalls; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-11 15:23:24
|
Revision: 7860 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7860&view=rev Author: bazaarmagetron Date: 2008-02-11 07:22:47 -0800 (Mon, 11 Feb 2008) Log Message: ----------- Manuel Moos: Server compatibility restored. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.cpp armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.h Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-11 15:02:16.605000019 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad + timestamp: 2008-02-11 16:18:12.884999990 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad Name: bzr:file-ids - src/render/rDisplayList.cpp rdisplaylist.cpp-20080211124807-2xccatbv93wzpd4c-1 src/render/rDisplayList.h rdisplaylist.h-20080211124809-nww2cm3va8vyzca5-1 + Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se 571 z-...@us...-20080211151812-grth0h6loq9xxd3o Modified: armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.cpp 2008-02-11 14:20:02 UTC (rev 7859) +++ armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.cpp 2008-02-11 15:22:47 UTC (rev 7860) @@ -51,6 +51,7 @@ { tASSERT( !filling_ ); +#ifndef DEDICATED if ( inhibit_ > 0 ) { Clear(); @@ -63,6 +64,7 @@ glCallList( list_ ); return true; } +#endif return false; } @@ -70,6 +72,7 @@ //! clears the display list and don't regenerate it for the next few calls void rDisplayList::Clear( int inhibitGeneration ) { +#ifndef DEDICATED // clear the list if ( !filling_ && list_ ) { @@ -90,6 +93,7 @@ { inhibit_ = inhibitGeneration; } +#endif } // clears all display lists @@ -109,6 +113,7 @@ rDisplayListFiller::rDisplayListFiller( rDisplayList & list ) : list_( list ) { +#ifndef DEDICATED bool useList = sr_useDisplayLists && list_.inhibit_ == 0; if ( useList ) { @@ -119,6 +124,7 @@ glNewList(list_.list_,GL_COMPILE_AND_EXECUTE); list_.filling_ = true; } +#endif } rDisplayListFiller::~rDisplayListFiller() @@ -129,11 +135,13 @@ //! stops filling the display list (done automatically on destruction) void rDisplayListFiller::Stop() { +#ifndef DEDICATED if ( list_.filling_ ) { list_.filling_ = false; glEndList(); } +#endif } static rCallbackBeforeScreenModeChange sr_unload( &rDisplayList::ClearAll ); Modified: armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.h =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.h 2008-02-11 14:20:02 UTC (rev 7859) +++ armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.h 2008-02-11 15:22:47 UTC (rev 7860) @@ -28,6 +28,8 @@ #ifndef ArmageTron_DISPLAYLIST_H #define ArmageTron_DISPLAYLIST_H +#include "config.h" + #include "rGL.h" #include "tLinkedList.h" @@ -57,6 +59,11 @@ public: rDisplayList(); ~rDisplayList(); + + bool IsSet() const + { + return list_ && !inhibit_; + } //! calls the display list, returns true if there was a list to call bool Call(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-11 15:51:42
|
Revision: 7861 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7861&view=rev Author: bazaarmagetron Date: 2008-02-11 07:51:43 -0800 (Mon, 11 Feb 2008) Log Message: ----------- Manuel Moos: Static player walls now also get a display list. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.cpp armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.h armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.h Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-11 16:18:12.884999990 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad + timestamp: 2008-02-11 16:18:34.878999949 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se 571 z-...@us...-20080211151812-grth0h6loq9xxd3o + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se 571 z-...@us...-20080211151812-grth0h6loq9xxd3o 572 z-...@us...-20080211151834-b3vk44tzyhtm744f Modified: armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.cpp 2008-02-11 15:22:47 UTC (rev 7860) +++ armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.cpp 2008-02-11 15:51:43 UTC (rev 7861) @@ -166,7 +166,9 @@ // ******************************************************************************************* void eWallRim::DestroyDisplayList() { +#ifndef DEDICATED se_rimDisplayList.Clear( 3 ); +#endif } static rCallbackBeforeScreenModeChange unload(&eWallRim::DestroyDisplayList); Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp 2008-02-11 15:22:47 UTC (rev 7860) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp 2008-02-11 15:51:43 UTC (rev 7861) @@ -2264,7 +2264,6 @@ turning(NULL), skew(0),skewDot(0), rotationFrontWheel(1,0),rotationRearWheel(1,0),heightFrontWheel(0),heightRearWheel(0), - wallList_(NULL), currentWall(NULL), lastWall(NULL) { @@ -2456,7 +2455,7 @@ bool gCycle::Timestep(REAL currentTime){ // keep cycle in list for rendering as long as walls are active - if ( !Alive() && wallList_ ) + if ( !Alive() && displayList_.Walls() ) { return false; } @@ -2636,7 +2635,7 @@ } // keep cycle in list for rendering as long as walls are active - if ( wallList_ ) + if ( displayList_.Walls() ) { return false; } @@ -3877,20 +3876,96 @@ } } -void gCycle::Render(const eCamera *cam){ +gCycleWallsDisplayListManager::gCycleWallsDisplayListManager() + : wallList_(0) + , wallsWithDisplayList_(0) + , wallsWithDisplayListMinDistance_(0) +{ +} + +bool gCycleWallsDisplayListManager::CannotHaveList( REAL distance, gCycle const * cycle ) +{ + return + ( !cycle->Alive() && gCycle::WallsStayUpDelay() >= 0 && se_GameTime()-cycle->DeathTime()-gCycle::WallsStayUpDelay() > 0 ) + + || + + ( cycle->ThisWallsLength() > 0 && cycle->GetDistance() - cycle->ThisWallsLength() > distance ); +} + +void gCycleWallsDisplayListManager::RenderAll( eCamera const * camera, gCycle * cycle ) +{ + dir_eWall_select(); + + glDisable(GL_CULL_FACE); + + gNetPlayerWall * run = 0; + // transfer walls with display list into their list + + run = wallList_; + while( run ) { - dir_eWall_select(); - glDisable(GL_CULL_FACE); - - // render walls - gNetPlayerWall * run = wallList_; - while( run ) + gNetPlayerWall * next = run->Next(); + if ( run->HasDisplayList() ) { - run->Render( cam ); - run = run->Next(); + run->Insert( wallsWithDisplayList_ ); + displayList_.Clear(); } + else + { + // render walls that have no display list + run->Render( camera ); + } + run = next; } + // clear display list if needed + if ( CannotHaveList( wallsWithDisplayListMinDistance_, cycle ) ) + { + displayList_.Clear(); + } + + // call display list + if ( displayList_.Call() ) + { + return; + } + + // remove and render walls without display list + run = wallsWithDisplayList_; + while( run ) + { + gNetPlayerWall * next = run->Next(); + if ( !run->HasDisplayList() ) + { + run->Render( camera ); + run->Insert( wallList_ ); + } + run = next; + } + + // fill display list + rDisplayListFiller filler( displayList_ ); + + wallsWithDisplayListMinDistance_ = 1E+30; + + // render walls + run = wallsWithDisplayList_; + while( run ) + { + if ( run->BegPos() < wallsWithDisplayListMinDistance_ ) + { + wallsWithDisplayListMinDistance_ = run->BegPos(); + } + + run->Render( camera ); + run = run->Next(); + } +} + +void gCycle::Render(const eCamera *cam){ + displayList_.RenderAll( cam, this ); + // are we blinking from invulnerability? bool blinking = false; if ( lastTime > spawnTime_ && !Vulnerable() ) @@ -4564,7 +4639,6 @@ spark(NULL), skew(0),skewDot(0), rotationFrontWheel(1,0),rotationRearWheel(1,0),heightFrontWheel(0),heightRearWheel(0), - wallList_(NULL), currentWall(NULL), lastWall(NULL) { Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.h =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.h 2008-02-11 15:22:47 UTC (rev 7860) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.h 2008-02-11 15:51:43 UTC (rev 7861) @@ -37,6 +37,7 @@ #include "eNetGameObject.h" #include "tList.h" #include "nObserver.h" +#include "rDisplayList.h" #include "gCycleMovement.h" @@ -115,6 +116,33 @@ class gCycleChatBot; +class gCycleWallsDisplayListManager +{ + friend class gNetPlayerWall; + +public: + gCycleWallsDisplayListManager(); + + //! checks whether a wall at a certain distance can have a display list + static bool CannotHaveList( REAL distance, gCycle const * cycle ); + + void RenderAll( eCamera const * camera, gCycle * cycle ); + bool Walls() const + { + return wallList_ || wallsWithDisplayList_; + } + + void Clear() + { + displayList_.Clear(); + } +private: + gNetPlayerWall * wallList_; //!< linked list of all walls + gNetPlayerWall * wallsWithDisplayList_; //!< linked list of all walls with display list + rDisplayList displayList_; //!< combined display list + REAL wallsWithDisplayListMinDistance_; //!< minimal distance of the walls with display list +}; + // a complete lightcycle class gCycle: public gCycleMovement { @@ -170,7 +198,8 @@ private: void TransferPositionCorrectionToDistanceCorrection(); - gNetPlayerWall * wallList_; //!< linked list of all walls + class gCycleWallsDisplayListManager displayList_; //!< display list manager + tCHECKED_PTR(gNetPlayerWall) currentWall; //!< the wall that currenly is attached to the cycle tCHECKED_PTR(gNetPlayerWall) lastWall; //!< the last wall that was attached to this cycle tCHECKED_PTR(gNetPlayerWall) lastNetWall; //!< the last wall received over the network Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp 2008-02-11 15:22:47 UTC (rev 7860) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp 2008-02-11 15:51:43 UTC (rev 7861) @@ -859,12 +859,11 @@ // clear list if walls are vanishing // or if the wall end was reached // or this is the cycle's first wall - if ( ( !cycle_->Alive() && gCycle::WallsStayUpDelay() >= 0 && se_GameTime()-cycle_->deathTime-gCycle::WallsStayUpDelay() > 0 ) || - ( cycle_->ThisWallsLength() > 0 && cycle_->GetDistance() - cycle_->ThisWallsLength() > dbegin ) || - this == cycle_->currentWall - ) + if ( gCycleWallsDisplayListManager::CannotHaveList( dbegin, cycle_ ) || + this == cycle_->currentWall ) { - displayList_.Clear(5); + displayList_.Clear(2); + cycle_->displayList_.Clear(); } if ( !displayList_.Call() ) @@ -1463,7 +1462,7 @@ // put yourself into rendering list if ( cycle_ ) { - Insert( cycle_->wallList_ ); + Insert( cycle_->displayList_.wallList_ ); } #endif @@ -2402,6 +2401,10 @@ CHECKWALL; displayList_.Clear(); + if ( cycle_ ) + { + cycle_->displayList_.Clear(); + } #ifdef DEBUG // std::cout << beg << ',' << end << '(' << BegPos() << ',' << EndPos() << ")\n"; Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.h =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.h 2008-02-11 15:22:47 UTC (rev 7860) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.h 2008-02-11 15:51:43 UTC (rev 7861) @@ -256,6 +256,11 @@ static void Clear(); // delete all sg_netPlayerWalls. void Check() const; + + bool HasDisplayList() + { + return displayList_.IsSet(); + } private: tArray<gPlayerWallCoord> coords_; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-11 15:52:14
|
Revision: 7862 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7862&view=rev Author: bazaarmagetron Date: 2008-02-11 07:52:13 -0800 (Mon, 11 Feb 2008) Log Message: ----------- Manuel Moos: Dedicated server compatibility, again. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.h Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-11 16:18:34.878999949 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad + timestamp: 2008-02-11 16:24:18.061000109 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se 571 z-...@us...-20080211151812-grth0h6loq9xxd3o 572 z-...@us...-20080211151834-b3vk44tzyhtm744f + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se 571 z-...@us...-20080211151812-grth0h6loq9xxd3o 572 z-...@us...-20080211151834-b3vk44tzyhtm744f 573 z-...@us...-20080211152418-o4a4kj326igqh1k8 Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.h =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.h 2008-02-11 15:51:43 UTC (rev 7861) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.h 2008-02-11 15:52:13 UTC (rev 7862) @@ -116,6 +116,7 @@ class gCycleChatBot; +#ifndef DEDICATED class gCycleWallsDisplayListManager { friend class gNetPlayerWall; @@ -142,6 +143,7 @@ rDisplayList displayList_; //!< combined display list REAL wallsWithDisplayListMinDistance_; //!< minimal distance of the walls with display list }; +#endif // a complete lightcycle class gCycle: public gCycleMovement @@ -198,7 +200,9 @@ private: void TransferPositionCorrectionToDistanceCorrection(); - class gCycleWallsDisplayListManager displayList_; //!< display list manager +#ifndef DEDICATED + gCycleWallsDisplayListManager displayList_; //!< display list manager +#endif tCHECKED_PTR(gNetPlayerWall) currentWall; //!< the wall that currenly is attached to the cycle tCHECKED_PTR(gNetPlayerWall) lastWall; //!< the last wall that was attached to this cycle This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-11 15:52:53
|
Revision: 7863 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7863&view=rev Author: bazaarmagetron Date: 2008-02-11 07:52:57 -0800 (Mon, 11 Feb 2008) Log Message: ----------- Manuel Moos: Even better server compatibility. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.cpp armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.h armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-11 16:24:18.061000109 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad + timestamp: 2008-02-11 16:42:53.788000107 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se 571 z-...@us...-20080211151812-grth0h6loq9xxd3o 572 z-...@us...-20080211151834-b3vk44tzyhtm744f 573 z-...@us...-20080211152418-o4a4kj326igqh1k8 + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se 571 z-...@us...-20080211151812-grth0h6loq9xxd3o 572 z-...@us...-20080211151834-b3vk44tzyhtm744f 573 z-...@us...-20080211152418-o4a4kj326igqh1k8 574 z-...@us...-20080211154253-1etqludquvn7co8g Modified: armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.cpp 2008-02-11 15:52:13 UTC (rev 7862) +++ armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.cpp 2008-02-11 15:52:57 UTC (rev 7863) @@ -29,29 +29,35 @@ #include "rScreen.h" +#ifndef DEDICATED static rDisplayList * se_displayListAnchor = NULL; +#endif rDisplayList::rDisplayList() +#ifndef DEDICATED : tListItem< rDisplayList >( se_displayListAnchor ) , list_( 0 ) , inhibit_( 0 ) , filling_( false ) +#endif { } rDisplayList::~rDisplayList() { +#ifndef DEDICATED Clear(); tASSERT( !list_ ); +#endif } // calls the display list, returns true if there was a list to call bool rDisplayList::Call() { +#ifndef DEDICATED tASSERT( !filling_ ); -#ifndef DEDICATED if ( inhibit_ > 0 ) { Clear(); @@ -111,7 +117,9 @@ //! constructor, automatically starting to fill teh list rDisplayListFiller::rDisplayListFiller( rDisplayList & list ) +#ifndef DEDICATED : list_( list ) +#endif { #ifndef DEDICATED bool useList = sr_useDisplayLists && list_.inhibit_ == 0; Modified: armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.h =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.h 2008-02-11 15:52:13 UTC (rev 7862) +++ armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.h 2008-02-11 15:52:57 UTC (rev 7863) @@ -62,7 +62,11 @@ bool IsSet() const { +#ifndef DEDICATED return list_ && !inhibit_; +#else + return false; +#endif } //! calls the display list, returns true if there was a list to call @@ -77,9 +81,11 @@ rDisplayList( rDisplayList const & ); rDisplayList & operator = ( rDisplayList const & ); +#ifndef DEDICATED GLuint list_; //!< the display list int inhibit_; //!< inhibit display list generation for a while bool filling_; //!< set if we're just filling the list +#endif }; //! create an object of this type to fill a display list while you render @@ -97,8 +103,10 @@ rDisplayListFiller( rDisplayListFiller const & ); rDisplayListFiller & operator = ( rDisplayListFiller const & ); +#ifndef DEDICATED //! the list rDisplayList & list_; +#endif }; #endif Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp 2008-02-11 15:52:13 UTC (rev 7862) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp 2008-02-11 15:52:57 UTC (rev 7863) @@ -2455,10 +2455,12 @@ bool gCycle::Timestep(REAL currentTime){ // keep cycle in list for rendering as long as walls are active +#ifndef DEDICATED if ( !Alive() && displayList_.Walls() ) { return false; } +#endif // clear out dangerous info when we're done gMaxSpaceAheadHitInfoClearer hitInfoClearer( maxSpaceHit_ ); @@ -2635,10 +2637,12 @@ } // keep cycle in list for rendering as long as walls are active +#ifndef DEDICATED if ( displayList_.Walls() ) { return false; } +#endif return ret; } Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp 2008-02-11 15:52:13 UTC (rev 7862) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp 2008-02-11 15:52:57 UTC (rev 7863) @@ -837,6 +837,28 @@ RenderList(true); } +/* +class gPerformanceCounter +{ +public: + gPerformanceCounter(): count_(0){ tRealSysTimeFloat(); } + unsigned int Count(){ return count_++; } + ~gPerformanceCounter() + { + double time = tRealSysTimeFloat(); + std::stringstream s; + s << count_ << " walls in " << time << " seconds: " << count_ / time << " wps.\n"; +#ifdef WIN32 + MessageBox (NULL, s.str().c_str() , "Performance", MB_OK); +#else + std::cout << s.str(); +#endif + } +private: + unsigned int count_; +}; +*/ + void gPlayerWall::RenderList(bool list) { netWall_->RenderList( list ); @@ -868,6 +890,9 @@ if ( !displayList_.Call() ) { + // static gPerformanceCounter counter; + // counter.Count(); + rDisplayListFiller filler( displayList_ ); REAL r,g,b; @@ -2400,11 +2425,13 @@ { CHECKWALL; +#ifndef DEDICATED displayList_.Clear(); if ( cycle_ ) { cycle_->displayList_.Clear(); } +#endif #ifdef DEBUG // std::cout << beg << ',' << end << '(' << BegPos() << ',' << EndPos() << ")\n"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-11 16:08:12
|
Revision: 7864 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7864&view=rev Author: bazaarmagetron Date: 2008-02-11 08:08:17 -0800 (Mon, 11 Feb 2008) Log Message: ----------- Manuel Moos: Fixed performance bug, cycle wall display list was deleted too often. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-11 16:42:53.788000107 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad + timestamp: 2008-02-11 17:04:28.683000088 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se 571 z-...@us...-20080211151812-grth0h6loq9xxd3o 572 z-...@us...-20080211151834-b3vk44tzyhtm744f 573 z-...@us...-20080211152418-o4a4kj326igqh1k8 574 z-...@us...-20080211154253-1etqludquvn7co8g + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se 571 z-...@us...-20080211151812-grth0h6loq9xxd3o 572 z-...@us...-20080211151834-b3vk44tzyhtm744f 573 z-...@us...-20080211152418-o4a4kj326igqh1k8 574 z-...@us...-20080211154253-1etqludquvn7co8g 575 z-...@us...-20080211160428-8ilc9qovrarz8w62 Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp 2008-02-11 15:52:57 UTC (rev 7863) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp 2008-02-11 16:08:17 UTC (rev 7864) @@ -884,14 +884,17 @@ if ( gCycleWallsDisplayListManager::CannotHaveList( dbegin, cycle_ ) || this == cycle_->currentWall ) { + if ( displayList_.IsSet() ) + { + cycle_->displayList_.Clear(); + } displayList_.Clear(2); - cycle_->displayList_.Clear(); } if ( !displayList_.Call() ) { - // static gPerformanceCounter counter; - // counter.Count(); + //static gPerformanceCounter counter; + //counter.Count(); rDisplayListFiller filler( displayList_ ); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-11 19:45:04
|
Revision: 7865 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7865&view=rev Author: bazaarmagetron Date: 2008-02-11 11:45:01 -0800 (Mon, 11 Feb 2008) Log Message: ----------- author: Manuel Moos Fixed two bugs from the new display list code: - walls that were updated on server order did not update the display list - walls of players who quit a server would get invisible. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.h Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-11 17:04:28.683000088 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad + timestamp: 2008-02-11 20:38:58.181999922 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se 571 z-...@us...-20080211151812-grth0h6loq9xxd3o 572 z-...@us...-20080211151834-b3vk44tzyhtm744f 573 z-...@us...-20080211152418-o4a4kj326igqh1k8 574 z-...@us...-20080211154253-1etqludquvn7co8g 575 z-...@us...-20080211160428-8ilc9qovrarz8w62 + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se 571 z-...@us...-20080211151812-grth0h6loq9xxd3o 572 z-...@us...-20080211151834-b3vk44tzyhtm744f 573 z-...@us...-20080211152418-o4a4kj326igqh1k8 574 z-...@us...-20080211154253-1etqludquvn7co8g 575 z-...@us...-20080211160428-8ilc9qovrarz8w62 576 z-...@us...-20080211193858-at0c5em1d3lm8nbe Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp 2008-02-11 16:08:17 UTC (rev 7864) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp 2008-02-11 19:45:01 UTC (rev 7865) @@ -2315,11 +2315,16 @@ */ } +#ifndef DEDICATED +// manager for walls not belonging to any cycle +static gCycleWallsDisplayListManager lostWalls_; +#endif + void gCycle::OnRemoveFromGame() { // keep this cycle alive tJUST_CONTROLLED_PTR< gCycle > keep; - + if ( this->GetRefcount() > 0 ) { keep = this; @@ -2335,7 +2340,15 @@ currentWall=NULL; lastWall=NULL; - gCycleMovement::OnRemoveFromGame(); + // only really leave if we have no walls left + if ( !displayList_.Walls() ) + { + gCycleMovement::OnRemoveFromGame(); + } + else + { + Die( lastTime ); + } } // called when the round ends Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp 2008-02-11 16:08:17 UTC (rev 7864) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp 2008-02-11 19:45:01 UTC (rev 7865) @@ -884,11 +884,7 @@ if ( gCycleWallsDisplayListManager::CannotHaveList( dbegin, cycle_ ) || this == cycle_->currentWall ) { - if ( displayList_.IsSet() ) - { - cycle_->displayList_.Clear(); - } - displayList_.Clear(2); + ClearDisplayList(); } if ( !displayList_.Call() ) @@ -988,7 +984,7 @@ else{ // complicated // can't squeeze that into a display list - displayList_.Clear(); + ClearDisplayList(); if (ta+gBEG_LEN>=time){ RenderBegin(p1,p2,ta,te, @@ -1284,6 +1280,15 @@ return ret; } +void gNetPlayerWall::ClearDisplayList() +{ + if ( HasDisplayList() && cycle_ ) + { + cycle_->displayList_.Clear(); + } + displayList_.Clear(); +} + REAL gPlayerWall::GlobalToLocal( REAL a ) const { CHECKWALL; @@ -1974,6 +1979,7 @@ gNetPlayerWall::~gNetPlayerWall() { ReleaseData(); + ClearDisplayList(); } bool gNetPlayerWall::ActionOnQuit() @@ -2055,6 +2061,8 @@ void gNetPlayerWall::ReadSync(nMessage &m){ nNetObject::ReadSync(m); + ClearDisplayList(); + REAL tEnd_new; eCoord end_new; @@ -2429,11 +2437,7 @@ CHECKWALL; #ifndef DEDICATED - displayList_.Clear(); - if ( cycle_ ) - { - cycle_->displayList_.Clear(); - } + ClearDisplayList(); #endif #ifdef DEBUG Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.h =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.h 2008-02-11 16:08:17 UTC (rev 7864) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.h 2008-02-11 19:45:01 UTC (rev 7865) @@ -261,6 +261,9 @@ { return displayList_.IsSet(); } + + //! clears the display list + void ClearDisplayList(); private: tArray<gPlayerWallCoord> coords_; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-11 20:09:29
|
Revision: 7866 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7866&view=rev Author: bazaarmagetron Date: 2008-02-11 12:09:24 -0800 (Mon, 11 Feb 2008) Log Message: ----------- Manuel Moos: Added flag to first compile the display lists, then execute them, instead of using GL_COMPILE_AND_EXECUTE. For expermients. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.cpp Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-11 20:38:58.181999922 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad + timestamp: 2008-02-11 21:04:18.628000021 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se 571 z-...@us...-20080211151812-grth0h6loq9xxd3o 572 z-...@us...-20080211151834-b3vk44tzyhtm744f 573 z-...@us...-20080211152418-o4a4kj326igqh1k8 574 z-...@us...-20080211154253-1etqludquvn7co8g 575 z-...@us...-20080211160428-8ilc9qovrarz8w62 576 z-...@us...-20080211193858-at0c5em1d3lm8nbe + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se 571 z-...@us...-20080211151812-grth0h6loq9xxd3o 572 z-...@us...-20080211151834-b3vk44tzyhtm744f 573 z-...@us...-20080211152418-o4a4kj326igqh1k8 574 z-...@us...-20080211154253-1etqludquvn7co8g 575 z-...@us...-20080211160428-8ilc9qovrarz8w62 576 z-...@us...-20080211193858-at0c5em1d3lm8nbe 577 z-...@us...-20080211200418-qdmnetojj8pme9xy Modified: armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.cpp 2008-02-11 19:45:01 UTC (rev 7865) +++ armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.cpp 2008-02-11 20:09:24 UTC (rev 7866) @@ -115,6 +115,11 @@ #endif } +#ifndef DEDICATED +// set if you want the display lists to be compiled only, then executed. +static bool sr_compileOnly = false; +#endif + //! constructor, automatically starting to fill teh list rDisplayListFiller::rDisplayListFiller( rDisplayList & list ) #ifndef DEDICATED @@ -129,7 +134,7 @@ { list_.list_=glGenLists(1); } - glNewList(list_.list_,GL_COMPILE_AND_EXECUTE); + glNewList(list_.list_, sr_compileOnly ? GL_COMPILE : GL_COMPILE_AND_EXECUTE ); list_.filling_ = true; } #endif @@ -148,6 +153,11 @@ { list_.filling_ = false; glEndList(); + + if ( sr_compileOnly ) + { + list_.Call(); + } } #endif } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-11 20:16:00
|
Revision: 7867 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7867&view=rev Author: bazaarmagetron Date: 2008-02-11 12:15:57 -0800 (Mon, 11 Feb 2008) Log Message: ----------- Manuel Moos: And again: Server compilation fixes. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-11 21:04:18.628000021 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad + timestamp: 2008-02-11 21:07:16.470000029 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se 571 z-...@us...-20080211151812-grth0h6loq9xxd3o 572 z-...@us...-20080211151834-b3vk44tzyhtm744f 573 z-...@us...-20080211152418-o4a4kj326igqh1k8 574 z-...@us...-20080211154253-1etqludquvn7co8g 575 z-...@us...-20080211160428-8ilc9qovrarz8w62 576 z-...@us...-20080211193858-at0c5em1d3lm8nbe 577 z-...@us...-20080211200418-qdmnetojj8pme9xy + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se 571 z-...@us...-20080211151812-grth0h6loq9xxd3o 572 z-...@us...-20080211151834-b3vk44tzyhtm744f 573 z-...@us...-20080211152418-o4a4kj326igqh1k8 574 z-...@us...-20080211154253-1etqludquvn7co8g 575 z-...@us...-20080211160428-8ilc9qovrarz8w62 576 z-...@us...-20080211193858-at0c5em1d3lm8nbe 577 z-...@us...-20080211200418-qdmnetojj8pme9xy 578 z-...@us...-20080211200716-e44opbnzxkha3c75 Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp 2008-02-11 20:09:24 UTC (rev 7866) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gCycle.cpp 2008-02-11 20:15:57 UTC (rev 7867) @@ -2341,13 +2341,15 @@ lastWall=NULL; // only really leave if we have no walls left - if ( !displayList_.Walls() ) +#ifndef DEDICATED + if ( displayList_.Walls() ) { - gCycleMovement::OnRemoveFromGame(); + Die( lastTime ); } else +#endif { - Die( lastTime ); + gCycleMovement::OnRemoveFromGame(); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-11 20:17:37
|
Revision: 7868 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7868&view=rev Author: bazaarmagetron Date: 2008-02-11 12:17:40 -0800 (Mon, 11 Feb 2008) Log Message: ----------- Manuel Moos: And another server fix. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-11 21:07:16.470000029 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad + timestamp: 2008-02-11 21:08:26.040999889 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se 571 z-...@us...-20080211151812-grth0h6loq9xxd3o 572 z-...@us...-20080211151834-b3vk44tzyhtm744f 573 z-...@us...-20080211152418-o4a4kj326igqh1k8 574 z-...@us...-20080211154253-1etqludquvn7co8g 575 z-...@us...-20080211160428-8ilc9qovrarz8w62 576 z-...@us...-20080211193858-at0c5em1d3lm8nbe 577 z-...@us...-20080211200418-qdmnetojj8pme9xy 578 z-...@us...-20080211200716-e44opbnzxkha3c75 + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se 571 z-...@us...-20080211151812-grth0h6loq9xxd3o 572 z-...@us...-20080211151834-b3vk44tzyhtm744f 573 z-...@us...-20080211152418-o4a4kj326igqh1k8 574 z-...@us...-20080211154253-1etqludquvn7co8g 575 z-...@us...-20080211160428-8ilc9qovrarz8w62 576 z-...@us...-20080211193858-at0c5em1d3lm8nbe 577 z-...@us...-20080211200418-qdmnetojj8pme9xy 578 z-...@us...-20080211200716-e44opbnzxkha3c75 579 z-...@us...-20080211200826-m9ogo5duturpmsmt Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp 2008-02-11 20:15:57 UTC (rev 7867) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp 2008-02-11 20:17:40 UTC (rev 7868) @@ -1282,11 +1282,13 @@ void gNetPlayerWall::ClearDisplayList() { +#ifndef DEDICATED if ( HasDisplayList() && cycle_ ) { cycle_->displayList_.Clear(); } displayList_.Clear(); +#endif } REAL gPlayerWall::GlobalToLocal( REAL a ) const This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-11 22:20:15
|
Revision: 7870 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7870&view=rev Author: bazaarmagetron Date: 2008-02-11 14:20:11 -0800 (Mon, 11 Feb 2008) Log Message: ----------- wrtlprnft: Fixed color overflow in the configuration change message (hi there K-Yo!). I hope z-man doesn't rip my head off for removing yet another color code related bug that he can use as proof that color codes aren't officially supported (they're still not!) Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/src/tools/tConfiguration.cpp Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-11 21:08:26.040999889 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad + timestamp: 2008-02-11 23:12:32.572999954 +0100 committer: wrtlprnft <wrt...@us...> properties: branch-nick: 0.2.8 Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se 571 z-...@us...-20080211151812-grth0h6loq9xxd3o 572 z-...@us...-20080211151834-b3vk44tzyhtm744f 573 z-...@us...-20080211152418-o4a4kj326igqh1k8 574 z-...@us...-20080211154253-1etqludquvn7co8g 575 z-...@us...-20080211160428-8ilc9qovrarz8w62 576 z-...@us...-20080211193858-at0c5em1d3lm8nbe 577 z-...@us...-20080211200418-qdmnetojj8pme9xy 578 z-...@us...-20080211200716-e44opbnzxkha3c75 579 z-...@us...-20080211200826-m9ogo5duturpmsmt + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se 571 z-...@us...-20080211151812-grth0h6loq9xxd3o 572 z-...@us...-20080211151834-b3vk44tzyhtm744f 573 z-...@us...-20080211152418-o4a4kj326igqh1k8 574 z-...@us...-20080211154253-1etqludquvn7co8g 575 z-...@us...-20080211160428-8ilc9qovrarz8w62 576 z-...@us...-20080211193858-at0c5em1d3lm8nbe 577 z-...@us...-20080211200418-qdmnetojj8pme9xy 578 z-...@us...-20080211200716-e44opbnzxkha3c75 579 z-...@us...-20080211200826-m9ogo5duturpmsmt 580 wrt...@us...-20080211221232-nqw6a4oxgj4ntika Modified: armagetronad/branches/0.2.8/armagetronad/src/tools/tConfiguration.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tools/tConfiguration.cpp 2008-02-11 21:48:49 UTC (rev 7869) +++ armagetronad/branches/0.2.8/armagetronad/src/tools/tConfiguration.cpp 2008-02-11 22:20:11 UTC (rev 7870) @@ -304,7 +304,7 @@ else if ( tCurrentAccessLevel::GetAccessLevel() > required ) { con << tOutput( "$access_level_error", - "SUDO", + "SUDO", tCurrentAccessLevel::GetName( required ), tCurrentAccessLevel::GetName( tCurrentAccessLevel::GetAccessLevel() ) ); @@ -933,10 +933,14 @@ if(strcmp(dummy,*target)){ if (printChange) { + tColoredString oldval; + oldval << *target << tColoredString::ColorString(1,1,1); + tColoredString newval; + newval << dummy << tColoredString::ColorString(1,1,1); tOutput o; o.SetTemplateParameter(1, title); - o.SetTemplateParameter(2, *target); - o.SetTemplateParameter(3, dummy); + o.SetTemplateParameter(2, oldval); + o.SetTemplateParameter(3, newval); o << "$config_value_changed"; con << o; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-12 00:27:12
|
Revision: 7871 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7871&view=rev Author: bazaarmagetron Date: 2008-02-11 16:27:09 -0800 (Mon, 11 Feb 2008) Log Message: ----------- Manuel Moos: Fixed cycle memory leaks. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/src/engine/eGrid.cpp Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-11 23:12:32.572999954 +0100 committer: wrtlprnft <wrt...@us...> properties: branch-nick: 0.2.8 + timestamp: 2008-02-12 00:29:08.391000032 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad rebase-of: z-...@us...-20080211232908-oykg1dcybu0igpxz Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se 571 z-...@us...-20080211151812-grth0h6loq9xxd3o 572 z-...@us...-20080211151834-b3vk44tzyhtm744f 573 z-...@us...-20080211152418-o4a4kj326igqh1k8 574 z-...@us...-20080211154253-1etqludquvn7co8g 575 z-...@us...-20080211160428-8ilc9qovrarz8w62 576 z-...@us...-20080211193858-at0c5em1d3lm8nbe 577 z-...@us...-20080211200418-qdmnetojj8pme9xy 578 z-...@us...-20080211200716-e44opbnzxkha3c75 579 z-...@us...-20080211200826-m9ogo5duturpmsmt 580 wrt...@us...-20080211221232-nqw6a4oxgj4ntika + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se 571 z-...@us...-20080211151812-grth0h6loq9xxd3o 572 z-...@us...-20080211151834-b3vk44tzyhtm744f 573 z-...@us...-20080211152418-o4a4kj326igqh1k8 574 z-...@us...-20080211154253-1etqludquvn7co8g 575 z-...@us...-20080211160428-8ilc9qovrarz8w62 576 z-...@us...-20080211193858-at0c5em1d3lm8nbe 577 z-...@us...-20080211200418-qdmnetojj8pme9xy 578 z-...@us...-20080211200716-e44opbnzxkha3c75 579 z-...@us...-20080211200826-m9ogo5duturpmsmt 580 wrt...@us...-20080211221232-nqw6a4oxgj4ntika 581 z-...@us...-20080211232908-79iedh9xr87l8yta Modified: armagetronad/branches/0.2.8/armagetronad/src/engine/eGrid.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/engine/eGrid.cpp 2008-02-11 22:20:11 UTC (rev 7870) +++ armagetronad/branches/0.2.8/armagetronad/src/engine/eGrid.cpp 2008-02-12 00:27:09 UTC (rev 7871) @@ -2135,6 +2135,8 @@ A=B=C=NULL; a=b=c=NULL; + eGameObject::DeleteAll( this ); + // se_faceReplacements.clear(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-12 00:27:56
|
Revision: 7872 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7872&view=rev Author: bazaarmagetron Date: 2008-02-11 16:27:59 -0800 (Mon, 11 Feb 2008) Log Message: ----------- Manuel Moos: Using a single glBegin(GL_QUADS) block for all rim walls now. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.cpp armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-12 00:29:08.391000032 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad rebase-of: z-...@us...-20080211232908-oykg1dcybu0igpxz + timestamp: 2008-02-12 00:29:37.539999962 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad rebase-of: z-...@us...-20080211232937-bp08irl5zmylveox Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se 571 z-...@us...-20080211151812-grth0h6loq9xxd3o 572 z-...@us...-20080211151834-b3vk44tzyhtm744f 573 z-...@us...-20080211152418-o4a4kj326igqh1k8 574 z-...@us...-20080211154253-1etqludquvn7co8g 575 z-...@us...-20080211160428-8ilc9qovrarz8w62 576 z-...@us...-20080211193858-at0c5em1d3lm8nbe 577 z-...@us...-20080211200418-qdmnetojj8pme9xy 578 z-...@us...-20080211200716-e44opbnzxkha3c75 579 z-...@us...-20080211200826-m9ogo5duturpmsmt 580 wrt...@us...-20080211221232-nqw6a4oxgj4ntika 581 z-...@us...-20080211232908-79iedh9xr87l8yta + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se 571 z-...@us...-20080211151812-grth0h6loq9xxd3o 572 z-...@us...-20080211151834-b3vk44tzyhtm744f 573 z-...@us...-20080211152418-o4a4kj326igqh1k8 574 z-...@us...-20080211154253-1etqludquvn7co8g 575 z-...@us...-20080211160428-8ilc9qovrarz8w62 576 z-...@us...-20080211193858-at0c5em1d3lm8nbe 577 z-...@us...-20080211200418-qdmnetojj8pme9xy 578 z-...@us...-20080211200716-e44opbnzxkha3c75 579 z-...@us...-20080211200826-m9ogo5duturpmsmt 580 wrt...@us...-20080211221232-nqw6a4oxgj4ntika 581 z-...@us...-20080211232908-79iedh9xr87l8yta 582 z-...@us...-20080211232937-iolwhcxmqa1njxcb Modified: armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.cpp 2008-02-12 00:27:09 UTC (rev 7871) +++ armagetronad/branches/0.2.8/armagetronad/src/engine/eAdvWall.cpp 2008-02-12 00:27:59 UTC (rev 7872) @@ -35,6 +35,7 @@ #include "eCamera.h" #include "tConfiguration.h" #include "eRectangle.h" +#include "rRender.h" /* ********************************************** RimWall @@ -150,10 +151,12 @@ { ( se_RimWrapY ? se_RimWallWrap : se_RimWallNoWrap).Select(); } - + + BeginQuads(); for(int i=se_rimWalls.Len()-1;i>=0;i--){ se_rimWalls(i)->RenderReal( camera ); } + RenderEnd(); glEnable(GL_CULL_FACE); #endif Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp 2008-02-12 00:27:09 UTC (rev 7871) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gWall.cpp 2008-02-12 00:27:59 UTC (rev 7872) @@ -201,8 +201,6 @@ } if (h<9000 || !sr_infinityPlane){ - BeginQuads(); - IsEdge(false); TexVertex(p1.x, p1.y, 0, tBeg , 1); @@ -217,13 +215,9 @@ TexVertex(p2.x, p2.y, 0, tEnd , 1); - - RenderEnd(); } else{ - BeginTriangles(); - IsEdge(false); TexVertex(p1.x, p1.y, 0, tBeg, 1); @@ -233,14 +227,15 @@ #ifndef WIN32 Vertex(0,0,1,0); + Vertex(0,0,1,0); #else Vertex(0.001f,0.001f,1,0); // Windows OpenGL has problems with // infitite points perpenticular to the viewing direction + Vertex(0.001f,0.001f,1,0); #endif TexVertex(p2.x, p2.y, 0, tEnd, 1); - RenderEnd(); } } @@ -409,13 +404,11 @@ eCoord P4=P2+normal*extension; // render shadow - BeginQuads(); Color(0,0,0); Vertex(P1.x, P1.y, 0); Vertex(P2.x, P2.y, 0); Vertex(P4.x, P4.y, 0); Vertex(P3.x, P3.y, 0); - RenderEnd(); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-12 00:28:37
|
Revision: 7873 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7873&view=rev Author: bazaarmagetron Date: 2008-02-11 16:28:37 -0800 (Mon, 11 Feb 2008) Log Message: ----------- Manuel Moos: Avoiding mode changes. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/src/render/rFont.cpp Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-12 00:29:37.539999962 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad rebase-of: z-...@us...-20080211232937-bp08irl5zmylveox + timestamp: 2008-02-12 00:30:09.737999916 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad rebase-of: z-...@us...-20080211233009-3s2ynr35m3e4er76 Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se 571 z-...@us...-20080211151812-grth0h6loq9xxd3o 572 z-...@us...-20080211151834-b3vk44tzyhtm744f 573 z-...@us...-20080211152418-o4a4kj326igqh1k8 574 z-...@us...-20080211154253-1etqludquvn7co8g 575 z-...@us...-20080211160428-8ilc9qovrarz8w62 576 z-...@us...-20080211193858-at0c5em1d3lm8nbe 577 z-...@us...-20080211200418-qdmnetojj8pme9xy 578 z-...@us...-20080211200716-e44opbnzxkha3c75 579 z-...@us...-20080211200826-m9ogo5duturpmsmt 580 wrt...@us...-20080211221232-nqw6a4oxgj4ntika 581 z-...@us...-20080211232908-79iedh9xr87l8yta 582 z-...@us...-20080211232937-iolwhcxmqa1njxcb + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se 571 z-...@us...-20080211151812-grth0h6loq9xxd3o 572 z-...@us...-20080211151834-b3vk44tzyhtm744f 573 z-...@us...-20080211152418-o4a4kj326igqh1k8 574 z-...@us...-20080211154253-1etqludquvn7co8g 575 z-...@us...-20080211160428-8ilc9qovrarz8w62 576 z-...@us...-20080211193858-at0c5em1d3lm8nbe 577 z-...@us...-20080211200418-qdmnetojj8pme9xy 578 z-...@us...-20080211200716-e44opbnzxkha3c75 579 z-...@us...-20080211200826-m9ogo5duturpmsmt 580 wrt...@us...-20080211221232-nqw6a4oxgj4ntika 581 z-...@us...-20080211232908-79iedh9xr87l8yta 582 z-...@us...-20080211232937-iolwhcxmqa1njxcb 583 z-...@us...-20080211233009-zdmtdhf1vg9bdbqt Modified: armagetronad/branches/0.2.8/armagetronad/src/render/rFont.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/render/rFont.cpp 2008-02-12 00:27:59 UTC (rev 7872) +++ armagetronad/branches/0.2.8/armagetronad/src/render/rFont.cpp 2008-02-12 00:28:37 UTC (rev 7873) @@ -129,6 +129,7 @@ // displays c #ifndef DEDICATED +static rFont * sr_lastSelected = 0; void rFont::Render(unsigned char c,REAL left,REAL top,REAL right,REAL bot){ // if (c > 128 && this == &rFont::s_defaultFont) //rFont::s_defaultFontSmall.Render(c, left, top, right, bot); @@ -157,9 +158,14 @@ ttop -= 1; select = select->lowerPart; } - select->Select(true); + if ( sr_lastSelected != select ) + { + sr_lastSelected = select; + RenderEnd(); + select->Select(true); + BeginQuads(); + } - BeginQuads(); glTexCoord2f(tleft,ttop); glVertex2f( left, top); @@ -171,7 +177,6 @@ glTexCoord2f(tleft,tbot); glVertex2f( left, bot); - RenderEnd(); } } #endif @@ -279,14 +284,14 @@ if (sr_glOut) { + BeginQuads(); + // render bright background if ( r < sr_minR && g < sr_minG && b < sr_minG || r+g+b < sr_minTotal ) { + glDisable(GL_TEXTURE_2D); if ( sr_alphaBlend ) { - - glDisable(GL_TEXTURE_2D); - glColor4f( blendColor_.r_, blendColor_.g_, blendColor_.b_, a * blendColor_.a_ ); REAL l=left+realx*cwidth; @@ -294,7 +299,6 @@ REAL r=l + cwidth * len; REAL b=t - cheight; - BeginQuads(); glVertex2f( l, t); glVertex2f( r ,t); @@ -302,7 +306,6 @@ glVertex2f( r, b); glVertex2f( l, b); - RenderEnd(); } else { @@ -312,21 +315,25 @@ } } + glEnable(GL_TEXTURE_2D); + glColor4f(r * blendColor_.r_,g * blendColor_.g_,b * blendColor_.b_,a * blendColor_.a_); - } + sr_lastSelected = 0; - for (i=0;i<=len;i++){ - REAL l=left+realx*cwidth; - REAL t=top-y*cheight; - - if (0 <= cursorPos--){ - cursor_x=l; - cursor_y=t; + for (i=0;i<=len;i++){ + REAL l=left+realx*cwidth; + REAL t=top-y*cheight; + + if (0 <= cursorPos--){ + cursor_x=l; + cursor_y=t; + } + if (i<len){ + F->Render(buffer[realx],l,t,l+cwidth,t-cheight); + realx++; + } } - if (i<len){ - F->Render(buffer[realx],l,t,l+cwidth,t-cheight); - realx++; - } + RenderEnd(); } #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-12 00:29:35
|
Revision: 7874 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7874&view=rev Author: bazaarmagetron Date: 2008-02-11 16:29:40 -0800 (Mon, 11 Feb 2008) Log Message: ----------- Manuel Moos: Made the display list menu a threefold choice: off, create and call, create and execute. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/language/english_base.txt armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.cpp armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.h armagetronad/branches/0.2.8/armagetronad/src/render/rModel.cpp armagetronad/branches/0.2.8/armagetronad/src/render/rScreen.cpp armagetronad/branches/0.2.8/armagetronad/src/render/rScreen.h armagetronad/branches/0.2.8/armagetronad/src/tron/gMenus.cpp Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-12 00:30:09.737999916 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad rebase-of: z-...@us...-20080211233009-3s2ynr35m3e4er76 + timestamp: 2008-02-12 00:30:52.290999889 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad rebase-of: z-...@us...-20080211233052-qn86zwrt37vw0gj9 Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se 571 z-...@us...-20080211151812-grth0h6loq9xxd3o 572 z-...@us...-20080211151834-b3vk44tzyhtm744f 573 z-...@us...-20080211152418-o4a4kj326igqh1k8 574 z-...@us...-20080211154253-1etqludquvn7co8g 575 z-...@us...-20080211160428-8ilc9qovrarz8w62 576 z-...@us...-20080211193858-at0c5em1d3lm8nbe 577 z-...@us...-20080211200418-qdmnetojj8pme9xy 578 z-...@us...-20080211200716-e44opbnzxkha3c75 579 z-...@us...-20080211200826-m9ogo5duturpmsmt 580 wrt...@us...-20080211221232-nqw6a4oxgj4ntika 581 z-...@us...-20080211232908-79iedh9xr87l8yta 582 z-...@us...-20080211232937-iolwhcxmqa1njxcb 583 z-...@us...-20080211233009-zdmtdhf1vg9bdbqt + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se 571 z-...@us...-20080211151812-grth0h6loq9xxd3o 572 z-...@us...-20080211151834-b3vk44tzyhtm744f 573 z-...@us...-20080211152418-o4a4kj326igqh1k8 574 z-...@us...-20080211154253-1etqludquvn7co8g 575 z-...@us...-20080211160428-8ilc9qovrarz8w62 576 z-...@us...-20080211193858-at0c5em1d3lm8nbe 577 z-...@us...-20080211200418-qdmnetojj8pme9xy 578 z-...@us...-20080211200716-e44opbnzxkha3c75 579 z-...@us...-20080211200826-m9ogo5duturpmsmt 580 wrt...@us...-20080211221232-nqw6a4oxgj4ntika 581 z-...@us...-20080211232908-79iedh9xr87l8yta 582 z-...@us...-20080211232937-iolwhcxmqa1njxcb 583 z-...@us...-20080211233009-zdmtdhf1vg9bdbqt 584 z-...@us...-20080211233052-bzwl4p5d9kmxqrez Modified: armagetronad/branches/0.2.8/armagetronad/language/english_base.txt =================================================================== --- armagetronad/branches/0.2.8/armagetronad/language/english_base.txt 2008-02-12 00:28:37 UTC (rev 7873) +++ armagetronad/branches/0.2.8/armagetronad/language/english_base.txt 2008-02-12 00:29:40 UTC (rev 7874) @@ -1918,7 +1918,13 @@ #tweaks menu tweaks_displaylists_text Display Lists: -tweaks_displaylists_help Display lists are a feature of OpenGL for rendering the same thing many times; it is normally used for the cycles. Some implementations are broken however; if you do no see the cycles, you should disable this feature. +tweaks_displaylists_help Display lists are a feature of OpenGL for rendering the same thing many times; it is normally used for the cycles and other geometry. Some implementations are broken however; if you do no see the cycles, you should disable this feature. +tweaks_displaylists_off_text Off +tweaks_displaylists_off_help Don't use display lists at all. +tweaks_displaylists_cac_text Create and Call +tweaks_displaylists_cac_help Use displaylists; Create them and call them directly. This is the recommended way. +tweaks_displaylists_cae_text Create and Execute +tweaks_displaylists_cae_help Use displaylists; Create them let them be executed while they are filled. The expers say this is slower than Create and Call. tweaks_ztrick_text ZTrick: tweaks_ztrick_help A speedup that probably only works on old 3dfx cards: instead of clearing the screen after each frame, we just draw the backgroud (floor and rim walls). Modified: armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.cpp 2008-02-12 00:28:37 UTC (rev 7873) +++ armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.cpp 2008-02-12 00:29:40 UTC (rev 7874) @@ -52,6 +52,14 @@ #endif } +static bool sr_isRecording = false; + +//! check whether a displaylist is currently being recorded. +bool rDisplayList::IsRecording() +{ + return sr_isRecording; +} + // calls the display list, returns true if there was a list to call bool rDisplayList::Call() { @@ -61,7 +69,6 @@ if ( inhibit_ > 0 ) { Clear(); - --inhibit_; return false; } @@ -115,11 +122,6 @@ #endif } -#ifndef DEDICATED -// set if you want the display lists to be compiled only, then executed. -static bool sr_compileOnly = false; -#endif - //! constructor, automatically starting to fill teh list rDisplayListFiller::rDisplayListFiller( rDisplayList & list ) #ifndef DEDICATED @@ -127,16 +129,20 @@ #endif { #ifndef DEDICATED - bool useList = sr_useDisplayLists && list_.inhibit_ == 0; + bool useList = sr_useDisplayLists != rDisplayList_Off && list_.inhibit_ == 0 && !sr_isRecording; if ( useList ) { if ( !list_.list_ ) { list_.list_=glGenLists(1); } - glNewList(list_.list_, sr_compileOnly ? GL_COMPILE : GL_COMPILE_AND_EXECUTE ); + glNewList(list_.list_, sr_useDisplayLists == rDisplayList_CAC ? GL_COMPILE : GL_COMPILE_AND_EXECUTE ); list_.filling_ = true; } + else if ( list_.inhibit_ > 0 ) + { + --list_.inhibit_; + } #endif } @@ -154,7 +160,7 @@ list_.filling_ = false; glEndList(); - if ( sr_compileOnly ) + if ( sr_useDisplayLists == rDisplayList_CAC ) { list_.Call(); } Modified: armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.h =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.h 2008-02-12 00:28:37 UTC (rev 7873) +++ armagetronad/branches/0.2.8/armagetronad/src/render/rDisplayList.h 2008-02-12 00:29:40 UTC (rev 7874) @@ -68,6 +68,9 @@ return false; #endif } + + //! check whether a displaylist is currently being recorded. + static bool IsRecording(); //! calls the display list, returns true if there was a list to call bool Call(); Modified: armagetronad/branches/0.2.8/armagetronad/src/render/rModel.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/render/rModel.cpp 2008-02-12 00:28:37 UTC (rev 7873) +++ armagetronad/branches/0.2.8/armagetronad/src/render/rModel.cpp 2008-02-12 00:29:40 UTC (rev 7874) @@ -37,8 +37,10 @@ #include "rGL.h" #include <string.h> -static tConfItem<bool> mod_udl("USE_DISPLAYLISTS", sr_useDisplayLists); +tCONFIG_ENUM(rDisplayListUsage); +static tConfItem<rDisplayListUsage> mod_udl("USE_DISPLAYLISTS", sr_useDisplayLists); + #ifndef DEDICATED void Vec3::RenderVertex(){ Modified: armagetronad/branches/0.2.8/armagetronad/src/render/rScreen.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/render/rScreen.cpp 2008-02-12 00:28:37 UTC (rev 7873) +++ armagetronad/branches/0.2.8/armagetronad/src/render/rScreen.cpp 2008-02-12 00:29:40 UTC (rev 7874) @@ -70,7 +70,7 @@ #endif bool sr_ZTrick=false; -bool sr_useDisplayLists=false; +rDisplayListUsage sr_useDisplayLists=rDisplayList_Off; static int width[ArmageTron_Custom+2] = {0, 320, 320, 400, 512, 640, 800, 1024 , 1280, 1280, 1280, 1600, 1680, 2048,800,320}; static int height[ArmageTron_Custom+2] = {0, 200, 240, 300, 384, 480, 600, 768 , 800, 854, 1024, 1200, 1050, 1572,600,200}; @@ -863,7 +863,7 @@ sr_perspectiveCorrection=rFEAT_DEFAULT; sr_alphaBlend=true; sr_ZTrick=false; - sr_useDisplayLists=false; + sr_useDisplayLists=rDisplayList_Off; sr_textOut=true; sr_dither=true; sr_smoothShading=true; @@ -913,7 +913,7 @@ else if(strstr(gl_vendor,"NVIDIA")){ // infinity , display lists and glFlush swapping work for NVIDIA sr_infinityPlane=true; - sr_useDisplayLists=true; + sr_useDisplayLists=rDisplayList_CAC; rSysDep::swapMode_=rSysDep::rSwap_glFlush; } #ifdef MACOSX Modified: armagetronad/branches/0.2.8/armagetronad/src/render/rScreen.h =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/render/rScreen.h 2008-02-12 00:28:37 UTC (rev 7873) +++ armagetronad/branches/0.2.8/armagetronad/src/render/rScreen.h 2008-02-12 00:29:40 UTC (rev 7874) @@ -98,7 +98,17 @@ extern bool sr_textOut; // display game text graphically? extern bool sr_FPSOut; // display frame counter? extern bool sr_ZTrick; // Quake-Style z-buffer trick: do -extern bool sr_useDisplayLists; // use GL display lists + +//! how should caching display lists be used? +enum rDisplayListUsage +{ + rDisplayList_Off=0, // not at all + rDisplayList_CAC, // yes, with GL_COMPILE, then glCallList. + rDisplayList_CAE, // yes, with GL_COMPILE_AND_EXECUTE + rDisplayList_Count +}; + +extern rDisplayListUsage sr_useDisplayLists; // use GL display lists // not delete the screen, just pait the background with depth test // disabled. Gives 20% speedup. Modified: armagetronad/branches/0.2.8/armagetronad/src/tron/gMenus.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/tron/gMenus.cpp 2008-02-12 00:28:37 UTC (rev 7873) +++ armagetronad/branches/0.2.8/armagetronad/src/tron/gMenus.cpp 2008-02-12 00:29:40 UTC (rev 7874) @@ -530,9 +530,12 @@ "$pref_sparks_help", crash_sparks); -static uMenuItemToggle dl +static uMenuItemSelection<rDisplayListUsage> dl (&screen_menu_tweaks,"$tweaks_displaylists_text", "$tweaks_displaylists_help", sr_useDisplayLists); +static uSelectEntry<rDisplayListUsage> dl_off(dl,"$tweaks_displaylists_off_text","$tweaks_displaylists_off_help",rDisplayList_Off); +static uSelectEntry<rDisplayListUsage> dl_cac(dl,"$tweaks_displaylists_cac_text","$tweaks_displaylists_cac_help",rDisplayList_CAC); +static uSelectEntry<rDisplayListUsage> dl_cae(dl,"$tweaks_displaylists_cae_text","$tweaks_displaylists_cae_help",rDisplayList_CAE); static uMenuItemToggle zt (&screen_menu_tweaks,"$tweaks_ztrick_text", This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <baz...@us...> - 2008-02-12 00:30:13
|
Revision: 7875 http://armagetronad.svn.sourceforge.net/armagetronad/?rev=7875&view=rev Author: bazaarmagetron Date: 2008-02-11 16:30:11 -0800 (Mon, 11 Feb 2008) Log Message: ----------- Manuel Moos: Avoiding more mode switches. Modified Paths: -------------- armagetronad/branches/0.2.8/armagetronad/src/render/rFont.cpp Property Changed: ---------------- armagetronad/branches/0.2.8/armagetronad/ Property changes on: armagetronad/branches/0.2.8/armagetronad ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2008-02-12 00:30:52.290999889 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad rebase-of: z-...@us...-20080211233052-qn86zwrt37vw0gj9 + timestamp: 2008-02-12 00:59:37.023999929 +0100 committer: Manuel Moos <z-...@us...> properties: branch-nick: armagetronad rebase-of: z-...@us...-20080211235937-cznfej0c8e4t0irl Name: bzr:revision-id:v3-list-QlpoOTFBWSZTWZvbKhsAAAdRgAAQABK6798QIABURMgAAaeoNT1TxT1DQbKaeobXKiyAmlWT7Y5MkdJOtXDtB7w7DOGFBHiOBxaUIu7HQyyQSvxdyRThQkJvbKhs - 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se 571 z-...@us...-20080211151812-grth0h6loq9xxd3o 572 z-...@us...-20080211151834-b3vk44tzyhtm744f 573 z-...@us...-20080211152418-o4a4kj326igqh1k8 574 z-...@us...-20080211154253-1etqludquvn7co8g 575 z-...@us...-20080211160428-8ilc9qovrarz8w62 576 z-...@us...-20080211193858-at0c5em1d3lm8nbe 577 z-...@us...-20080211200418-qdmnetojj8pme9xy 578 z-...@us...-20080211200716-e44opbnzxkha3c75 579 z-...@us...-20080211200826-m9ogo5duturpmsmt 580 wrt...@us...-20080211221232-nqw6a4oxgj4ntika 581 z-...@us...-20080211232908-79iedh9xr87l8yta 582 z-...@us...-20080211232937-iolwhcxmqa1njxcb 583 z-...@us...-20080211233009-zdmtdhf1vg9bdbqt 584 z-...@us...-20080211233052-bzwl4p5d9kmxqrez + 538 z-...@us...-20080207163247-91eo4mrbiind6xrz 540 z-...@us...-20080208122252-nvhak6io6j0ui3aa 541 z-...@us...-20080208123045-76r9p0l7iwpbq1hy 542 z-...@us...-20080208124439-10s870zpb61b8buo 543 z-...@us...-20080208133845-a22a5j0z6vjgfaby 544 z-...@us...-20080208134134-bxi2z09linxnzl63 545 z-...@us...-20080208165812-xabnqfq34666e2z5 546 z-...@us...-20080208170201-jmubp7bm7lrpmw4z 551 z-...@us...-20080209115751-1w0yo2lwtv1xxmsc 552 z-...@us...-20080209121700-8mf9ure4bfaxtqfp 553 z-...@us...-20080209130301-0kw4jxjm7cvmbptp 561 z-...@us...-20080210002729-ee7t2nfh542nxksj 563 wrt...@us...-20080210153610-ucwvl013f1yil7og 564 z-...@us...-20080210212253-bxpkh4mtyisctr39 565 z-...@us...-20080211084800-j2c13scyxqc31m8x 566 z-...@us...-20080211092807-gx4kehlz96356bpc 567 z-...@us...-20080211093118-7l2xf6tr891yx5ap 568 z-...@us...-20080211105013-2k81i8bnj2k4hhoy 569 z-...@us...-20080211112608-8qx1tlf94iwrrt1l 570 z-...@us...-20080211140216-bdm3bpx8zkv5z3se 571 z-...@us...-20080211151812-grth0h6loq9xxd3o 572 z-...@us...-20080211151834-b3vk44tzyhtm744f 573 z-...@us...-20080211152418-o4a4kj326igqh1k8 574 z-...@us...-20080211154253-1etqludquvn7co8g 575 z-...@us...-20080211160428-8ilc9qovrarz8w62 576 z-...@us...-20080211193858-at0c5em1d3lm8nbe 577 z-...@us...-20080211200418-qdmnetojj8pme9xy 578 z-...@us...-20080211200716-e44opbnzxkha3c75 579 z-...@us...-20080211200826-m9ogo5duturpmsmt 580 wrt...@us...-20080211221232-nqw6a4oxgj4ntika 581 z-...@us...-20080211232908-79iedh9xr87l8yta 582 z-...@us...-20080211232937-iolwhcxmqa1njxcb 583 z-...@us...-20080211233009-zdmtdhf1vg9bdbqt 584 z-...@us...-20080211233052-bzwl4p5d9kmxqrez 585 z-...@us...-20080211235937-6r1abzr9i24hi28j Modified: armagetronad/branches/0.2.8/armagetronad/src/render/rFont.cpp =================================================================== --- armagetronad/branches/0.2.8/armagetronad/src/render/rFont.cpp 2008-02-12 00:29:40 UTC (rev 7874) +++ armagetronad/branches/0.2.8/armagetronad/src/render/rFont.cpp 2008-02-12 00:30:11 UTC (rev 7875) @@ -234,9 +234,11 @@ rTextField::~rTextField(){ +#ifndef DEDICATED + BeginQuads(); FlushLine(); + RenderEnd(); -#ifndef DEDICATED if (cursor && sr_glOut){ if (cursor==2) glColor4f(1,1,1,.5); @@ -284,8 +286,7 @@ if (sr_glOut) { - BeginQuads(); - + // render bright background if ( r < sr_minR && g < sr_minG && b < sr_minG || r+g+b < sr_minTotal ) { @@ -333,7 +334,6 @@ realx++; } } - RenderEnd(); } #endif @@ -410,9 +410,11 @@ } */ +#ifndef DEDICATED static REAL CTR(int x){ return x/255.0; } +#endif static char hex_array[]="0123456789abcdef"; @@ -433,6 +435,9 @@ rTextField & rTextField::StringOutput(const char * c, ColorMode colorMode ) { +#ifndef DEDICATED + bool begun = false; + // run through string while (*c!='\0') { @@ -517,6 +522,11 @@ // apply color if ( use ) { + if ( !begun ) + { + BeginQuads(); + begun = true; + } FlushLine(false); cursorPos++; color_ = color; @@ -526,6 +536,13 @@ // normal operation: add char WriteChar(*(c++)); } + + if ( begun ) + { + RenderEnd(); + } +#endif + return *this; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |