aboutsummaryrefslogtreecommitdiff
path: root/games
diff options
context:
space:
mode:
authorMax Brazhnikov <makc@FreeBSD.org>2015-02-27 14:54:41 +0000
committerMax Brazhnikov <makc@FreeBSD.org>2015-02-27 14:54:41 +0000
commitb06e02969252726be6d23b0477c90d5655632281 (patch)
tree1766cc7d2a5e68c3531b5c9bc9633e78b2fce7b2 /games
parentd0adffe35ae7ddd216d3cd9cbd813fbd4ad25836 (diff)
downloadports-b06e02969252726be6d23b0477c90d5655632281.tar.gz
ports-b06e02969252726be6d23b0477c90d5655632281.zip
Notes
Diffstat (limited to 'games')
-rw-r--r--games/dustrac/Makefile2
-rw-r--r--games/dustrac/distinfo4
-rw-r--r--games/dustrac/files/patch-git6a7c41451
-rw-r--r--games/dustrac/pkg-plist3
4 files changed, 5 insertions, 455 deletions
diff --git a/games/dustrac/Makefile b/games/dustrac/Makefile
index fd8d66773dc2..b18eeb38ba19 100644
--- a/games/dustrac/Makefile
+++ b/games/dustrac/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
PORTNAME= dustrac
-PORTVERSION= 1.8.1
+PORTVERSION= 1.9.2
CATEGORIES= games
MASTER_SITES= SF/${PORTNAME}/src
diff --git a/games/dustrac/distinfo b/games/dustrac/distinfo
index ea80dc5da009..4f99c1946e07 100644
--- a/games/dustrac/distinfo
+++ b/games/dustrac/distinfo
@@ -1,2 +1,2 @@
-SHA256 (dustrac-1.8.1.tar.gz) = ec0496a91cfa9dfa11225d3a0dd1b2c39250ead88cf062b7d0a00ad16352e289
-SIZE (dustrac-1.8.1.tar.gz) = 25828452
+SHA256 (dustrac-1.9.2.tar.gz) = 6254bc0d6db7f16393ba2d9a8f41d0e3ac33448b5e806e641e859a9105b8eb85
+SIZE (dustrac-1.9.2.tar.gz) = 25892050
diff --git a/games/dustrac/files/patch-git6a7c41 b/games/dustrac/files/patch-git6a7c41
deleted file mode 100644
index 9c96044d3d73..000000000000
--- a/games/dustrac/files/patch-git6a7c41
+++ /dev/null
@@ -1,451 +0,0 @@
-diff --git CMakeLists.txt CMakeLists.txt
-index 5921d71..1692ee0 100644
---- CMakeLists.txt
-+++ CMakeLists.txt
-@@ -39,6 +39,9 @@ endif()
- if(CMAKE_COMPILER_IS_GNUCXX OR MINGW)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -W -Wall -O3 -pedantic")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -ffast-math")
-+elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
-+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -W -Wall -O3 -pedantic")
-+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fomit-frame-pointer -finline-functions -ffast-math")
- endif()
-
- set(GAME_BINARY_NAME "dustrac-game")
-diff --git src/game/MiniCore/CMakeLists.txt src/game/MiniCore/CMakeLists.txt
-index 5144d1a..286cfc9 100644
---- src/game/MiniCore/CMakeLists.txt
-+++ src/game/MiniCore/CMakeLists.txt
-@@ -29,6 +29,7 @@ Graphics/mcglobjectbase.cc
- Graphics/mcglpointparticlerenderer.cc
- Graphics/mcglscene.cc
- Graphics/mcglshaderprogram.cc
-+Graphics/mcrenderlayer.cc
- Graphics/mcshaders.hh
- Graphics/mcshaders30.hh
- Graphics/mcshadersGLES.hh
-diff --git src/game/MiniCore/Graphics/mcrenderlayer.cc src/game/MiniCore/Graphics/mcrenderlayer.cc
-new file mode 100644
-index 0000000..c5f9016
---- /dev/null
-+++ src/game/MiniCore/Graphics/mcrenderlayer.cc
-@@ -0,0 +1,52 @@
-+// This file belongs to the "MiniCore" game engine.
-+// Copyright (C) 2014 Jussi Lind <jussi.lind@iki.fi>
-+//
-+// 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., 51 Franklin Street, Fifth Floor, Boston,
-+// MA 02110-1301, USA.
-+//
-+
-+#include "mcrenderlayer.hh"
-+#include "mccamera.hh"
-+#include "mcobject.hh"
-+
-+MCRenderLayer::MCRenderLayer()
-+ : m_depthTestEnabled(false)
-+{
-+}
-+
-+void MCRenderLayer::setDepthTestEnabled(bool enable)
-+{
-+ m_depthTestEnabled = enable;
-+}
-+
-+bool MCRenderLayer::depthTestEnabled() const
-+{
-+ return m_depthTestEnabled;
-+}
-+
-+MCRenderLayer::ObjectSet & MCRenderLayer::objectSet()
-+{
-+ return m_objectSet;
-+}
-+
-+MCRenderLayer::CameraBatchMap & MCRenderLayer::objectBatches()
-+{
-+ return m_objectBatches;
-+}
-+
-+MCRenderLayer::CameraBatchMap & MCRenderLayer::particleBatches()
-+{
-+ return m_particleBatches;
-+}
-diff --git src/game/MiniCore/Graphics/mcrenderlayer.hh src/game/MiniCore/Graphics/mcrenderlayer.hh
-new file mode 100644
-index 0000000..0b2fae4
---- /dev/null
-+++ src/game/MiniCore/Graphics/mcrenderlayer.hh
-@@ -0,0 +1,63 @@
-+// This file belongs to the "MiniCore" game engine.
-+// Copyright (C) 2014 Jussi Lind <jussi.lind@iki.fi>
-+//
-+// 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., 51 Franklin Street, Fifth Floor, Boston,
-+// MA 02110-1301, USA.
-+//
-+
-+#ifndef MCRENDERLAYER_HH
-+#define MCRENDERLAYER_HH
-+
-+#include <map>
-+#include <unordered_set>
-+#include <vector>
-+
-+class MCCamera;
-+class MCObject;
-+
-+class MCRenderLayer
-+{
-+public:
-+
-+ MCRenderLayer();
-+
-+ void setDepthTestEnabled(bool enable);
-+
-+ bool depthTestEnabled() const;
-+
-+ typedef std::unordered_set<MCObject *> ObjectSet;
-+
-+ ObjectSet & objectSet();
-+
-+ typedef int ObjectTypeId;
-+ typedef std::map<ObjectTypeId, std::vector<MCObject *> > BatchMap;
-+ typedef std::map<MCCamera *, BatchMap> CameraBatchMap;
-+
-+ CameraBatchMap & objectBatches();
-+
-+ CameraBatchMap & particleBatches();
-+
-+private:
-+
-+ bool m_depthTestEnabled;
-+
-+ ObjectSet m_objectSet;
-+
-+ CameraBatchMap m_objectBatches;
-+
-+ CameraBatchMap m_particleBatches;
-+};
-+
-+#endif // MCRENDERLAYER_HH
-diff --git src/game/MiniCore/Graphics/mcworldrenderer.cc src/game/MiniCore/Graphics/mcworldrenderer.cc
-index 41e6607..ab8cb8a 100644
---- src/game/MiniCore/Graphics/mcworldrenderer.cc
-+++ src/game/MiniCore/Graphics/mcworldrenderer.cc
-@@ -31,10 +31,6 @@
-
- MCWorldRenderer::MCWorldRenderer()
- {
-- for (unsigned i = 0; i < MCWorld::MaxLayers; i++)
-- {
-- m_depthTestEnabled[i] = false;
-- }
- }
-
- void MCWorldRenderer::registerPointParticleRenderer(MCUint typeId, MCGLPointParticleRenderer & renderer)
-@@ -61,13 +57,15 @@ void MCWorldRenderer::buildBatches(MCCamera * camera)
- // Grouping the objects like this reduces texture switches etc and increases
- // overall performance.
-
-- for (int i = 0; i < MCWorld::MaxLayers; i++)
-+ auto layerIter = m_layers.begin();
-+ while (layerIter != m_layers.end())
- {
-- m_objectBatches[camera][i].clear();
-- m_particleBatches[camera][i].clear();
-+ MCRenderLayer & layer = layerIter->second;
-
-- const auto end = m_layers[i].end();
-- for (auto objectIter = m_layers[i].begin(); objectIter != end; objectIter++)
-+ layer.objectBatches().clear();
-+ layer.particleBatches().clear();
-+
-+ for (auto objectIter = layer.objectSet().begin(); objectIter != layer.objectSet().end(); objectIter++)
- {
- MCObject & object = **objectIter;
- if (object.isRenderable())
-@@ -83,7 +81,7 @@ void MCWorldRenderer::buildBatches(MCCamera * camera)
- bbox.translate(MCVector2dF(object.location()));
- if (!camera || camera->isVisible(bbox))
- {
-- m_objectBatches[camera][i][object.typeID()].push_back(&object);
-+ layer.objectBatches()[camera][object.typeID()].push_back(&object);
- }
- }
- }
-@@ -93,7 +91,7 @@ void MCWorldRenderer::buildBatches(MCCamera * camera)
- {
- if (camera->isVisible(object.bbox()))
- {
-- m_particleBatches[camera][i][object.typeID()].push_back(&object);
-+ layer.particleBatches()[camera][object.typeID()].push_back(&object);
- }
- else
- {
-@@ -120,12 +118,14 @@ void MCWorldRenderer::buildBatches(MCCamera * camera)
- }
- else
- {
-- m_particleBatches[camera][i][object.typeID()].push_back(&object);
-+ layer.particleBatches()[camera][object.typeID()].push_back(&object);
- }
- }
- }
- }
- }
-+
-+ layerIter++;
- }
- }
-
-@@ -135,11 +135,14 @@ void MCWorldRenderer::renderBatches(MCCamera * camera)
- // layer-specific.
-
- bool depthTest = false;
-- for (int layer = 0; layer < MCWorld::MaxLayers; layer++)
-+ auto layerIter = m_layers.begin();
-+ while (layerIter != m_layers.end())
- {
-+ MCRenderLayer & layer = layerIter->second;
-+
- // The depth test is enabled/disabled separately on
- // each object layer.
-- if (m_depthTestEnabled[layer] && !depthTest)
-+ if (layer.depthTestEnabled() && !depthTest)
- {
- glEnable(GL_DEPTH_TEST);
- depthTest = true;
-@@ -152,13 +155,15 @@ void MCWorldRenderer::renderBatches(MCCamera * camera)
-
- renderObjectBatches(camera, layer);
- renderParticleBatches(camera, layer);
-+
-+ layerIter++;
- }
- }
-
--void MCWorldRenderer::renderObjectBatches(MCCamera * camera, int layer)
-+void MCWorldRenderer::renderObjectBatches(MCCamera * camera, MCRenderLayer & layer)
- {
-- auto iter = m_objectBatches[camera][layer].begin();
-- const auto end = m_objectBatches[camera][layer].end();
-+ auto iter = layer.objectBatches()[camera].begin();
-+ const auto end = layer.objectBatches()[camera].end();
- while (iter != end)
- {
- const int itemCountInBatch = iter->second.size();
-@@ -185,11 +190,11 @@ void MCWorldRenderer::renderObjectBatches(MCCamera * camera, int layer)
- }
- }
-
--void MCWorldRenderer::renderParticleBatches(MCCamera * camera, int layer)
-+void MCWorldRenderer::renderParticleBatches(MCCamera * camera, MCRenderLayer & layer)
- {
- // Render particle batches
-- auto batchIter = m_particleBatches[camera][layer].begin();
-- const auto end = m_particleBatches[camera][layer].end();
-+ auto batchIter = layer.particleBatches()[camera].begin();
-+ const auto end = layer.particleBatches()[camera].end();
- while (batchIter != end)
- {
- if (!batchIter->second.size())
-@@ -233,17 +238,20 @@ void MCWorldRenderer::renderShadows(MCCamera * camera)
- {
- glDisable(GL_DEPTH_TEST);
-
-- for (int i = 0; i < MCWorld::MaxLayers; i++)
-+ auto layerIter = m_layers.begin();
-+ while (layerIter != m_layers.end())
- {
-+ MCRenderLayer & layer = layerIter->second;
-+
- // Render batches
-- auto iter = m_objectBatches[camera][i].begin();
-- const auto end = m_objectBatches[camera][i].end();
-- while (iter != end)
-+ auto batchIter = layer.objectBatches()[camera].begin();
-+ const auto end = layer.objectBatches()[camera].end();
-+ while (batchIter != end)
- {
-- const int itemCountInBatch = iter->second.size();
-+ const int itemCountInBatch = batchIter->second.size();
- if (itemCountInBatch > 0)
- {
-- MCObject * object = iter->second[0];
-+ MCObject * object = batchIter->second[0];
- std::shared_ptr<MCShapeView> view = object->shape()->view();
- if (view && view->hasShadow())
- {
-@@ -252,10 +260,10 @@ void MCWorldRenderer::renderShadows(MCCamera * camera)
-
- for (int i = 1; i < itemCountInBatch - 1; i++)
- {
-- iter->second[i]->renderShadow(camera);
-+ batchIter->second[i]->renderShadow(camera);
- }
-
-- object = iter->second[itemCountInBatch - 1];
-+ object = batchIter->second[itemCountInBatch - 1];
- object->renderShadow(camera);
-
- view = object->shape()->view();
-@@ -263,31 +271,26 @@ void MCWorldRenderer::renderShadows(MCCamera * camera)
- }
- }
-
-- iter++;
-+ batchIter++;
- }
-+
-+ layerIter++;
- }
- }
-
- void MCWorldRenderer::enableDepthTestOnLayer(int layer, bool enable)
- {
-- if (layer < MCWorld::MaxLayers)
-- {
-- m_depthTestEnabled[layer] = enable;
-- }
-+ m_layers[layer].setDepthTestEnabled(enable);
- }
-
- void MCWorldRenderer::addToLayerMap(MCObject & object)
- {
-- const int layerIndex =
-- object.renderLayer() >= MCWorld::MaxLayers ? MCWorld::MaxLayers - 1 : object.renderLayer();
-- m_layers[layerIndex].insert(&object);
-+ m_layers[object.renderLayer()].objectSet().insert(&object);
- }
-
- void MCWorldRenderer::removeFromLayerMap(MCObject & object)
- {
-- const int layerIndex =
-- object.renderLayer() >= MCWorld::MaxLayers ? MCWorld::MaxLayers - 1 : object.renderLayer();
-- m_layers[layerIndex].erase(&object);
-+ m_layers[object.renderLayer()].objectSet().erase(&object);
- }
-
- void MCWorldRenderer::addParticleVisibilityCamera(MCCamera & camera)
-@@ -302,8 +305,5 @@ void MCWorldRenderer::removeParticleVisibilityCameras()
-
- void MCWorldRenderer::clear()
- {
-- for (int i = 0; i < MCWorld::MaxLayers; i++)
-- {
-- m_layers[i].clear();
-- }
-+ m_layers.clear();
- }
-diff --git src/game/MiniCore/Graphics/mcworldrenderer.hh src/game/MiniCore/Graphics/mcworldrenderer.hh
-index 0a45a49..287af58 100644
---- src/game/MiniCore/Graphics/mcworldrenderer.hh
-+++ src/game/MiniCore/Graphics/mcworldrenderer.hh
-@@ -20,6 +20,7 @@
- #ifndef MCWORLDRENDERER_HH
- #define MCWORLDRENDERER_HH
-
-+#include "mcrenderlayer.hh"
- #include "mctypes.hh"
- #include "mcworld.hh"
-
-@@ -72,24 +73,17 @@ private:
-
- void renderBatches(MCCamera * camera = nullptr);
-
-- void renderObjectBatches(MCCamera * camera, int layer);
-+ void renderObjectBatches(MCCamera * camera, MCRenderLayer & layer);
-
-- void renderParticleBatches(MCCamera * camera, int layer);
-+ void renderParticleBatches(MCCamera * camera, MCRenderLayer & layer);
-
-- typedef std::unordered_set<MCObject *> LayerSet;
-- LayerSet m_layers[MCWorld::MaxLayers];
--
-- typedef std::map<int, std::vector<MCObject *> > BatchMap;
-- typedef std::map<MCCamera *, BatchMap[MCWorld::MaxLayers]> CameraBatchMap;
--
-- CameraBatchMap m_objectBatches;
-- CameraBatchMap m_particleBatches;
--
-- bool m_depthTestEnabled[MCWorld::MaxLayers];
-+ typedef int LayerId;
-+ std::map<LayerId, MCRenderLayer> m_layers;
-
- std::vector<MCCamera *> m_visibilityCameras;
-
-- typedef std::map<int, MCGLPointParticleRenderer *> ParticleRendererMap;
-+ typedef int ParticleTypeId;
-+ typedef std::map<ParticleTypeId, MCGLPointParticleRenderer *> ParticleRendererMap;
- ParticleRendererMap m_particleRenderers;
- };
-
-diff --git src/game/checkeredflag.cpp src/game/checkeredflag.cpp
-index 10fd62d..67bb608 100644
---- src/game/checkeredflag.cpp
-+++ src/game/checkeredflag.cpp
-@@ -23,7 +23,6 @@
- static const int FLAG_W = 32;
- static const int FLAG_H = 24;
- static const int V_SPACING = 20;
--static const float APPEARANCE_SPEED = 0.05f;
-
- CheckeredFlag::CheckeredFlag()
- : m_surface(MCAssetManager::surfaceManager().surface("checkeredFlag"))
-diff --git src/game/game.cpp src/game/game.cpp
-index db4a55a..5ad81ac 100644
---- src/game/game.cpp
-+++ src/game/game.cpp
-@@ -44,8 +44,7 @@
-
- #include <cassert>
-
--static const unsigned int MAX_PLAYERS = 2;
--static const float DEFAULT_VOLUME = 0.5;
-+static const unsigned int MAX_PLAYERS = 2;
-
- Game * Game::m_instance = nullptr;
-
-diff --git src/game/game.pro src/game/game.pro
-index 055d28c..a73daae 100644
---- src/game/game.pro
-+++ src/game/game.pro
-@@ -152,6 +152,7 @@ HEADERS += \
- MiniCore/Graphics/mcshaders.hh \
- MiniCore/Graphics/mcshaders30.hh \
- MiniCore/Graphics/mcshadersGLES.hh \
-+ MiniCore/Graphics/mcrenderlayer.hh \
- MiniCore/Graphics/mcshapeview.hh \
- MiniCore/Graphics/mcsurface.hh \
- MiniCore/Graphics/mcsurfaceconfigloader.hh \
-@@ -292,6 +293,7 @@ SOURCES += \
- MiniCore/Graphics/mcmeshmanager.cc \
- MiniCore/Graphics/mcmeshobjectdata.cc \
- MiniCore/Graphics/mcmeshview.cc \
-+ MiniCore/Graphics/mcrenderlayer.cc \
- MiniCore/Graphics/mcsurface.cc \
- MiniCore/Graphics/mcsurfaceconfigloader.cc \
- MiniCore/Graphics/mcsurfacemanager.cc \
diff --git a/games/dustrac/pkg-plist b/games/dustrac/pkg-plist
index ec24ad4ec348..9c0d0fd71c3d 100644
--- a/games/dustrac/pkg-plist
+++ b/games/dustrac/pkg-plist
@@ -11,7 +11,7 @@ share/applications/dustrac-game.desktop
%%DATADIR%%/fonts/UbuntuMono-B.ttf
%%DATADIR%%/fonts/UbuntuMono-R.ttf
%%DATADIR%%/images/about.png
-%%DATADIR%%/images/asphalt.jpg
+%%DATADIR%%/images/asphalt.png
%%DATADIR%%/images/brake.png
%%DATADIR%%/images/bridge.png
%%DATADIR%%/images/bridgeEditor.png
@@ -101,6 +101,7 @@ share/applications/dustrac-game.desktop
%%DATADIR%%/levels/monza.trk
%%DATADIR%%/levels/ring.trk
%%DATADIR%%/levels/straight.trk
+%%DATADIR%%/levels/suzuka.trk
%%DATADIR%%/levels/triangle.trk
%%DATADIR%%/levels/twister.trk
%%DATADIR%%/meshes.conf