From 209ad8702634e72d8cb528d3df181e2300a31115 Mon Sep 17 00:00:00 2001 From: "madmaxoft@gmail.com" Date: Sat, 6 Jul 2013 19:43:13 +0000 Subject: BiomeVisualiser: Moved into the Tools folder git-svn-id: http://mc-server.googlecode.com/svn/trunk@1655 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- BiomeVisualiser/BiomeRenderer.cpp | 147 -------------------------------------- 1 file changed, 147 deletions(-) delete mode 100644 BiomeVisualiser/BiomeRenderer.cpp (limited to 'BiomeVisualiser/BiomeRenderer.cpp') diff --git a/BiomeVisualiser/BiomeRenderer.cpp b/BiomeVisualiser/BiomeRenderer.cpp deleted file mode 100644 index 7c4302d70..000000000 --- a/BiomeVisualiser/BiomeRenderer.cpp +++ /dev/null @@ -1,147 +0,0 @@ - -// BiomeRenderer.cpp - -// Implements the cBiomeRenderer class representing the rendering engine - -#include "Globals.h" -#include "BiomeRenderer.h" -#include "Pixmap.h" -#include "Timer.h" - - - - - -cBiomeRenderer::cBiomeRenderer(void) : - m_OriginX(160), - m_OriginY(160), - m_Zoom(1) -{ -} - - - - -void cBiomeRenderer::SetSource(cBiomeSource * a_Source) -{ - m_Cache.SetSource(a_Source); -} - - - - - -bool cBiomeRenderer::Render(cPixmap & a_Pixmap) -{ - cTimer Timer("cBiomeRenderer::Render"); - - int Wid = a_Pixmap.GetWidth(); - int Hei = a_Pixmap.GetHeight(); - - // Hint the approximate view area to the biome source so that it can adjust its caches: - int MinBlockX = ( - m_OriginX) / m_Zoom; - int MaxBlockX = (Wid - m_OriginX) / m_Zoom; - int MinBlockZ = ( - m_OriginY) / m_Zoom; - int MaxBlockZ = (Hei - m_OriginY) / m_Zoom; - m_Cache.HintViewArea(MinBlockX / 16 - 1, MaxBlockX / 16 + 1, MinBlockZ / 16 - 1, MaxBlockZ / 16 + 1); - - // Hold one current chunk of biome data: - int CurChunkX = -10000; - int CurChunkZ = -10000; - cChunkDef::BiomeMap CurBiomes; - - bool res = false; - - for (int y = 0; y < Hei; y++) - { - int BlockZ = (y - m_OriginY) / m_Zoom; - int ChunkZ = (BlockZ >= 0) ? (BlockZ / 16) : ((BlockZ + 1) / 16 - 1); - int RelZ = BlockZ - ChunkZ * 16; - for (int x = 0; x < Wid; x++) - { - int BlockX = (x - m_OriginX) / m_Zoom; - int ChunkX = (BlockX >= 0) ? (BlockX / 16) : ((BlockX + 1) / 16 - 1); - int RelX = BlockX - ChunkX * 16; - if ((ChunkZ != CurChunkZ) || (ChunkX != CurChunkX)) - { - CurChunkX = ChunkX; - CurChunkZ = ChunkZ; - switch (m_Cache.GetBiome(CurChunkX, CurChunkZ, CurBiomes)) - { - case cBiomeSource::baLater: - { - res = true; - // fallthrough: - } - case cBiomeSource::baNever: - { - for (int i = 0; i < ARRAYCOUNT(CurBiomes); i++) - { - CurBiomes[i] = (EMCSBiome)-1; - } - break; - } - } // switch (Biome availability) - } - EMCSBiome Biome = cChunkDef::GetBiome(CurBiomes, RelX, RelZ); - a_Pixmap.SetPixel(x, y, GetBiomeColor(Biome)); - } // for x - } // for y - return res; -} - - - - - -int cBiomeRenderer::GetBiomeColor(EMCSBiome a_Biome) -{ - if ((a_Biome < 0) || (a_Biome > biMaxBiome)) - { - return 0xcfcfcf; // LtGray for unknown biomes - } - - static int BiomeColor[] = - { - // RGB: - 0x0000ff, /* Ocean */ - 0x00cf3f, /* Plains */ - 0xffff00, /* Desert */ - 0x7f7f7f, /* Extreme Hills */ - 0x00cf00, /* Forest */ - 0x007f3f, /* Taiga */ - 0x3f7f00, /* Swampland */ - 0x003fff, /* River */ - 0x7f0000, /* Hell */ - 0x007fff, /* Sky */ - 0x3f3fff, /* Frozen Ocean */ - 0x3f3fff, /* Frozen River */ - 0x7fffcf, /* Ice Plains */ - 0x3fcf7f, /* Ice Mountains */ - 0xcf00cf, /* Mushroom Island */ - 0x7f00ff, /* Mushroom Island Shore */ - 0xffff3f, /* Beach */ - 0xcfcf00, /* Desert Hills */ - 0x00cf3f, /* Forest Hills */ - 0x006f1f, /* Taiga Hills */ - 0x7f8f7f, /* Extreme Hills Edge */ - 0x004f00, /* Jungle */ - 0x003f00, /* Jungle Hills */ - } ; - - return BiomeColor[a_Biome]; -} - - - - - -void cBiomeRenderer::MoveViewBy(int a_OffsX, int a_OffsY) -{ - m_OriginX += a_OffsX; - m_OriginY += a_OffsY; -} - - - - -- cgit v1.2.3