# HG changeset patch
# User prock@33b003aa-7bff-0310-803a-e67f0ece8222
# Date 1289239565 0
# Node ID 3944096d12cec53519c31cd6dc1356fede7afbbd
# Parent 0a798d5c241a8161ab14598b2d6f134deb5b7bd7
* More updates to CHANGES
* Updated the shooter demo settings-dist.xml to disable lights
* Removed FIFE::CamreaZoneRenderer as it is not used
diff -r 0a798d5c241a -r 3944096d12ce CHANGES
--- a/CHANGES Mon Nov 08 16:52:13 2010 +0000
+++ b/CHANGES Mon Nov 08 18:06:05 2010 +0000
@@ -10,10 +10,13 @@
_\///_______________\///////////___\///_______________\///////////////__
================================================================================
-== 0.3.2 (2010) ==
+== 0.3.2 (November 19th, 2010) ==
================================================================================
=== Engine ===
+ * Removed the Camreazone renderer
+ * Added light support (OpenGL only) by merging the light branch. Speacial
+ thanks to Helios for all his hard work in this area (#364)
* Added a percentage bar widget (#411)
* Modified some size_t definitions to more appropriate ones (#152)
* Instance rotation changes are reported to the instance change listeners
diff -r 0a798d5c241a -r 3944096d12ce demos/shooter/settings-dist.xml
--- a/demos/shooter/settings-dist.xml Mon Nov 08 16:52:13 2010 +0000
+++ b/demos/shooter/settings-dist.xml Mon Nov 08 18:06:05 2010 +0000
@@ -13,11 +13,13 @@
fonts/FreeSans.ttf
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.,!?-+/():;%&`'*#=[]\"
16
- controller ; audio ; vfs ; script ; loaders ; pool ; view ; video ; model ; metamodel ; event_channel ; xml
+ controller ; video
False
1
+ False
+ False
0
- 0
+ 0
100
diff -r 0a798d5c241a -r 3944096d12ce engine/core/controller/engine.cpp
--- a/engine/core/controller/engine.cpp Mon Nov 08 16:52:13 2010 +0000
+++ b/engine/core/controller/engine.cpp Mon Nov 08 18:06:05 2010 +0000
@@ -66,7 +66,6 @@
#include "pathfinder/routepather/routepather.h"
#include "model/metamodel/grids/hexgrid.h"
#include "model/metamodel/grids/squaregrid.h"
-#include "view/renderers/camerazonerenderer.h"
#include "view/renderers/quadtreerenderer.h"
#include "view/renderers/gridrenderer.h"
#include "view/renderers/instancerenderer.h"
@@ -287,7 +286,6 @@
m_soundmanager->setVolume(static_cast(m_settings.getInitialVolume()) / 10);
FL_LOG(_log, "Creating renderers");
- m_renderers.push_back(new CameraZoneRenderer(m_renderbackend, 0, m_imagepool));
m_renderers.push_back(new InstanceRenderer(m_renderbackend, 10, m_imagepool, m_animpool));
m_renderers.push_back(new GridRenderer(m_renderbackend, 20));
m_renderers.push_back(new CellSelectionRenderer(m_renderbackend, 30));
diff -r 0a798d5c241a -r 3944096d12ce engine/core/view/renderers/camerazonerenderer.cpp
--- a/engine/core/view/renderers/camerazonerenderer.cpp Mon Nov 08 16:52:13 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2005-2008 by the FIFE team *
- * http://www.fifengine.de *
- * This file is part of FIFE. *
- * *
- * FIFE is free software; you can redistribute it and/or *
- * modify it under the terms of the GNU Lesser General Public *
- * License as published by the Free Software Foundation; either *
- * version 2.1 of the License, or (at your option) any later version. *
- * *
- * This library 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 *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this library; if not, write to the *
- * Free Software Foundation, Inc., *
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
- ***************************************************************************/
-
-// Standard C++ library includes
-
-// 3rd party library includes
-
-// FIFE includes
-// These includes are split up in two parts, separated by one empty line
-// First block: files included from the FIFE root src directory
-// Second block: files included from the same folder
-#include "video/renderbackend.h"
-#include "video/image.h"
-#include "util/math/fife_math.h"
-#include "util/log/logger.h"
-#include "model/metamodel/grids/cellgrid.h"
-#include "model/structures/instance.h"
-#include "model/structures/layer.h"
-#include "model/structures/location.h"
-
-#include "view/camera.h"
-#include "camerazonerenderer.h"
-
-
-
-namespace FIFE {
- static Logger _log(LM_VIEWVIEW);
-
- CameraZoneRenderer::CameraZoneRenderer(RenderBackend* renderbackend, int position, ImagePool* imagepool):
- RendererBase(renderbackend, position),
- m_imagepool(imagepool),
- m_zone_image(NULL) {
- setEnabled(false);
- }
-
- CameraZoneRenderer::CameraZoneRenderer(const CameraZoneRenderer& old):
- RendererBase(old),
- m_imagepool(old.m_imagepool),
- m_zone_image(NULL) {
- setEnabled(false);
- }
-
- RendererBase* CameraZoneRenderer::clone() {
- return new CameraZoneRenderer(*this);
- }
-
- CameraZoneRenderer::~CameraZoneRenderer() {
- delete m_zone_image;
- }
-
-
-
- void CameraZoneRenderer::render(Camera* cam, Layer* layer, RenderList& instances) {
- CellGrid* cg = layer->getCellGrid();
- if (!cg) {
- FL_WARN(_log, "No cellgrid assigned to layer, cannot draw camera zones");
- return;
- }
- // draw this layer's grid as the camera sees it
- Rect rect = cam->getViewPort();
- if (!m_zone_image) {
- // build zone image
- int dataSize = rect.w * rect.h;
-
- // initally all pixels are transparent
- uint32_t* data = new uint32_t[dataSize];
- uint32_t* end = data + dataSize;
-
- #if SDL_BYTEORDER == SDL_BIG_ENDIAN
- uint32_t empty_pixel = 0;//0xff << 24;
- uint32_t edge_pixel = 0xff << 16 | 0xff << 24;
- #else
- uint32_t empty_pixel = 0;//0xff;
- uint32_t edge_pixel = 0xff << 8 | 0xff;
- #endif
-
- std::fill(data, end, empty_pixel);
-
- // go from screen coords to grid coords (layer coords)
- // Search through pixel space, drawing pixels at boundaries
- ModelCoordinate prevLayerCoord;
- for (int y = 0; y < rect.h; y++) {
- for (int x = 0; x < rect.w; x++) {
- ExactModelCoordinate mapCoord = cam->toMapCoordinates(ScreenPoint(x, y));
- ModelCoordinate layerCoord = cg->toLayerCoordinates(mapCoord);
-
- if (prevLayerCoord != layerCoord) {
- data[x + rect.w * y] = edge_pixel;
- }
- prevLayerCoord = layerCoord;
- }
- }
-
-
- for (int x = 0; x < rect.w; x++) {
- for (int y = 0; y < rect.h; y++) {
- ExactModelCoordinate mapCoord = cam->toMapCoordinates(ScreenPoint(x, y));
- ModelCoordinate layerCoord = cg->toLayerCoordinates(mapCoord);
-
- if (prevLayerCoord != layerCoord) {
- data[x + rect.w * y] = edge_pixel;
- }
- prevLayerCoord = layerCoord;
- }
- }
-
- m_zone_image = m_renderbackend->createImage((uint8_t*) data, rect.w, rect.h);
- delete data;
- }
- m_zone_image->render(rect);
- }
-
- void CameraZoneRenderer::setEnabled(bool enabled) {
- if (!enabled) {
- delete m_zone_image;
- m_zone_image = NULL;
- }
- }
-}
diff -r 0a798d5c241a -r 3944096d12ce engine/core/view/renderers/camerazonerenderer.h
--- a/engine/core/view/renderers/camerazonerenderer.h Mon Nov 08 16:52:13 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2005-2008 by the FIFE team *
- * http://www.fifengine.de *
- * This file is part of FIFE. *
- * *
- * FIFE is free software; you can redistribute it and/or *
- * modify it under the terms of the GNU Lesser General Public *
- * License as published by the Free Software Foundation; either *
- * version 2.1 of the License, or (at your option) any later version. *
- * *
- * This library 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 *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this library; if not, write to the *
- * Free Software Foundation, Inc., *
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
- ***************************************************************************/
-
-#ifndef FIFE_CAMERAZONERENDERER_H
-#define FIFE_CAMERAZONERENDERER_H
-
-// Standard C++ library includes
-
-// 3rd party library includes
-
-// FIFE includes
-// These includes are split up in two parts, separated by one empty line
-// First block: files included from the FIFE root src directory
-// Second block: files included from the same folder
-#include "view/rendererbase.h"
-
-namespace FIFE {
- class RenderBackend;
- class ImagePool;
-
- class CameraZoneRenderer: public RendererBase {
- public:
- /** constructor.
- * @param renderbackend to use
- * @param position position for this renderer in rendering pipeline
- * @param imagepool image pool where from fetch images
- */
- CameraZoneRenderer(RenderBackend* renderbackend, int position, ImagePool* imagepool);
-
- CameraZoneRenderer(const CameraZoneRenderer& old);
-
- RendererBase* clone();
-
- /** Destructor.
- */
- virtual ~CameraZoneRenderer();
-
- void render(Camera* cam, Layer* layer, RenderList& instances);
-
- std::string getName() { return "CameraZoneRenderer"; }
-
- void setEnabled(bool enabled);
-
- private:
- ImagePool* m_imagepool;
- Image* m_zone_image;
- };
-
-}
-
-#endif