Allow display lists to be deactivated in the preferences file. patched
authorachurch
Fri, 15 Apr 2011 21:08:02 +0900
branchpatched
changeset 670 cf463d9b56ad
parent 668 45b329ff7d2b
child 671 2617a45b9847
child 674 813441490f18
Allow display lists to be deactivated in the preferences file. This patch adds a "displaylists" attribute to the <ScreenMode> tag of the <Video> block in the preferences file (usersettings.xml), allowing the use of OpenGL display lists to be selected at runtime. The default value of this attribute is 1 (display lists enabled); by setting it to 0, the use of display lists will be inhibited, which may improve performance with low-end video hardware or software renderers.
Aquaria/Game.cpp
Aquaria/UserSettings.cpp
Aquaria/UserSettings.h
--- a/Aquaria/Game.cpp	Fri Apr 15 00:46:34 2011 +0900
+++ b/Aquaria/Game.cpp	Fri Apr 15 21:08:02 2011 +0900
@@ -6109,7 +6109,7 @@
 		if (i == LR_ELEMENTS11)
 			continue;
 
-		dsq->getRenderObjectLayer(i)->setOptimizeStatic(!isSceneEditorActive());
+		dsq->getRenderObjectLayer(i)->setOptimizeStatic(!isSceneEditorActive() && dsq->user.video.displaylists);
 	}
 }
 
--- a/Aquaria/UserSettings.cpp	Fri Apr 15 00:46:34 2011 +0900
+++ b/Aquaria/UserSettings.cpp	Fri Apr 15 21:08:02 2011 +0900
@@ -129,6 +129,7 @@
 				xml_screenMode.SetAttribute("vsync",			video.vsync);
 				xml_screenMode.SetAttribute("darkfbuffer",		video.darkfbuffer);
 				xml_screenMode.SetAttribute("darkbuffersize",	video.darkbuffersize);
+				xml_screenMode.SetAttribute("displaylists",		video.displaylists);
 			}
 			xml_video.InsertEndChild(xml_screenMode);
 
@@ -411,6 +412,7 @@
 			readIntAtt(xml_screenMode, "vsync",				&video.vsync);
 			readIntAtt(xml_screenMode, "darkfbuffer",		&video.darkfbuffer);
 			readIntAtt(xml_screenMode, "darkbuffersize",	&video.darkbuffersize);
+			readIntAtt(xml_screenMode, "displaylists",		&video.displaylists);
 		}
 
 		readInt(xml_video, "SaveSlotScreens", "on", &video.saveSlotScreens);
--- a/Aquaria/UserSettings.h	Fri Apr 15 00:46:34 2011 +0900
+++ b/Aquaria/UserSettings.h	Fri Apr 15 21:08:02 2011 +0900
@@ -109,6 +109,7 @@
 			bits = 32;
 			vsync = 1;
 			darkbuffersize = 256;
+			displaylists = 1;
 		}
 		int shader;
 		int blur;
@@ -118,6 +119,7 @@
 		int saveSlotScreens;
 		int parallaxOn0, parallaxOn1, parallaxOn2;
 		int numParticles;
+		int displaylists;
 	} video;
 
 	struct Control