summaryrefslogtreecommitdiff
path: root/src/gui/widgets/tabs/setup_perfomance.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/widgets/tabs/setup_perfomance.cpp')
-rw-r--r--src/gui/widgets/tabs/setup_perfomance.cpp163
1 files changed, 163 insertions, 0 deletions
diff --git a/src/gui/widgets/tabs/setup_perfomance.cpp b/src/gui/widgets/tabs/setup_perfomance.cpp
new file mode 100644
index 000000000..25d91841e
--- /dev/null
+++ b/src/gui/widgets/tabs/setup_perfomance.cpp
@@ -0,0 +1,163 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2009 The Mana World Development Team
+ * Copyright (C) 2009-2010 Andrei Karas
+ * Copyright (C) 2011-2013 The ManaPlus Developers
+ *
+ * This file is part of The ManaPlus Client.
+ *
+ * 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
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "gui/widgets/tabs/setup_perfomance.h"
+
+#include "gui/widgets/layouthelper.h"
+#include "gui/widgets/namesmodel.h"
+#include "gui/widgets/scrollarea.h"
+#include "gui/widgets/setupitem.h"
+
+#include "utils/gettext.h"
+
+#include "debug.h"
+
+static const int texturesListSize = 4;
+
+static const char *const texturesList[] =
+{
+ // TRANSLATORS: texture compression type
+ N_("No"),
+ "s3tc",
+ "fxt1",
+ "ARB"
+};
+
+Setup_Perfomance::Setup_Perfomance(const Widget2 *const widget) :
+ SetupTabScroll(widget),
+ mTexturesList(new NamesModel)
+{
+ // TRANSLATORS: settings tab name
+ setName(_("Performance"));
+
+ // Do the layout
+ LayoutHelper h(this);
+ ContainerPlacer place = h.getPlacer(0, 0);
+ place(0, 0, mScroll, 10, 10);
+
+ // TRANSLATORS: settings option
+ new SetupItemLabel(_("Better performance (enable for better performance)"),
+ "", this);
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Auto adjust performance"), "",
+ "adjustPerfomance", this, "adjustPerfomanceEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Hw acceleration"), "",
+ "hwaccel", this, "hwaccelEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Enable opacity cache (Software, can "
+ "use much memory)"), "", "alphaCache", this, "alphaCacheEvent");
+
+#ifndef USE_SDL2
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Enable map reduce (Software)"), "",
+ "enableMapReduce", this, "enableMapReduceEvent");
+#endif
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Enable compound sprite delay (Software)"), "",
+ "enableCompoundSpriteDelay", this, "enableCompoundSpriteDelayEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Enable delayed images load (OpenGL)"), "",
+ "enableDelayedAnimations", this, "enableDelayedAnimationsEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Enable texture sampler (OpenGL)"), "",
+ "useTextureSampler", this, "useTextureSamplerEvent");
+
+
+ // TRANSLATORS: settings option
+ new SetupItemLabel(_("Better quality (disable for better performance)"),
+ "", this);
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Enable alpha channel fix (Software, can "
+ "be very slow)"), "Can slow down drawing", "enableAlphaFix",
+ this, "enableAlphaFixEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Show beings transparency"), "",
+ "beingopacity", this, "beingopacityEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Enable reorder sprites."), "",
+ "enableReorderSprites", this, "enableReorderSpritesEvent");
+
+
+ // TRANSLATORS: settings option
+ new SetupItemLabel(_("Small memory (enable for lower memory usage)"),
+ "", this);
+
+#ifndef USE_SDL2
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Disable advanced beings caching (Software)"), "",
+ "disableAdvBeingCaching", this, "disableAdvBeingCachingEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Disable beings caching (Software)"), "",
+ "disableBeingCaching", this, "disableBeingCachingEvent");
+#endif
+
+ // TRANSLATORS: settings group
+ new SetupItemLabel(_("Different options (enable or disable can "
+ "improve performance)"), "", this);
+
+
+ mTexturesList->fillFromArray(&texturesList[0], texturesListSize);
+ // TRANSLATORS: settings option
+ new SetupItemDropDown(_("Enable texture compression (OpenGL)"), "",
+ "compresstextures", this, "compresstexturesEvent", mTexturesList, 100);
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Enable rectangular texture extension (OpenGL)"),
+ "", "rectangulartextures", this, "rectangulartexturesEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Use new texture internal format (OpenGL)"),
+ "", "newtextures", this, "newtexturesEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Enable texture atlases (OpenGL)"), "",
+ "useAtlases", this, "useAtlasesEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Cache all sprites per map (can use "
+ "additinal memory)"), "", "uselonglivesprites", this,
+ "uselonglivespritesEvent");
+
+ // TRANSLATORS: settings option
+ new SetupItemCheckBox(_("Cache all sounds (can use additinal memory)"),
+ "", "uselonglivesounds", this,
+ "uselonglivesoundsEvent");
+
+ setDimension(gcn::Rectangle(0, 0, 550, 350));
+}
+
+Setup_Perfomance::~Setup_Perfomance()
+{
+ delete mTexturesList;
+ mTexturesList = nullptr;
+}