From 143b9f6c78f7cf4c9ed603e57cedb3abf8fb7a3d Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Sun, 1 Feb 2015 15:10:07 +0100 Subject: Add support for biome colors, fix block type indices --- src/CMakeLists.txt | 1 + src/MinedMap.cpp | 2 +- src/World/Biome.cpp | 205 ++++++++++++++++++++++++++++ src/World/Biome.hpp | 39 ++++++ src/World/Block.cpp | 21 ++- src/World/Block.hpp | 2 +- src/World/BlockType.cpp | 347 ++++++++++++++++++++++++------------------------ src/World/BlockType.hpp | 1 + 8 files changed, 441 insertions(+), 177 deletions(-) create mode 100644 src/World/Biome.cpp create mode 100644 src/World/Biome.hpp diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 5146071..6869adb 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -4,6 +4,7 @@ link_directories(${ZLIB_LIBRARY_DIRS} ${LIBPNG_LIBRARY_DIRS}) add_executable(MinedMap MinedMap.cpp NBT/Tag.cpp + World/Biome.cpp World/Block.cpp World/BlockType.cpp World/Chunk.cpp diff --git a/src/MinedMap.cpp b/src/MinedMap.cpp index 594268c..c33dabb 100644 --- a/src/MinedMap.cpp +++ b/src/MinedMap.cpp @@ -97,7 +97,7 @@ int main(int argc, char *argv[]) { for (size_t x = 0; x < World::Chunk::SIZE; x++) { for (size_t z = 0; z < World::Chunk::SIZE; z++) - image[Z*World::Chunk::SIZE+z][X*World::Chunk::SIZE+x] = htonl(layer.blocks[x][z].getColor()); + image[Z*World::Chunk::SIZE+z][X*World::Chunk::SIZE+x] = htonl(layer.blocks[x][z].getColor(0)); } } } diff --git a/src/World/Biome.cpp b/src/World/Biome.cpp new file mode 100644 index 0000000..f90e54c --- /dev/null +++ b/src/World/Biome.cpp @@ -0,0 +1,205 @@ +/* + Copyright (c) 2015, Matthias Schiffer + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + + +#include "Biome.hpp" + + +namespace MinedMap { +namespace World { + +const Biome BIOMES[256] = { + /* 0 */ {0.25, 1, 0.25}, + /* 1 */ {0.3, 1, 0.3}, + /* 2 */ {1, 1, 0.25}, + /* 3 */ {0.3, 0.9, 0.3}, + /* 4 */ {0.15, 0.75, 0.15}, + /* 5 */ {0.5, 0.75, 0.5}, + /* 6 */ {0.75, 1, 0.25}, + /* 7 */ {0.25, 1, 0.25}, + /* 8 */ {1, 0.1, 0.1}, + /* 9 */ {1.5, 1.5, 0.75}, + /* 10 */ {0.25, 1, 0.25}, + /* 11 */ {0.25, 1, 0.25}, + /* 12 */ {0.3, 1, 0.3}, + /* 13 */ {0.3, 0.9, 0.3}, + /* 14 */ {0.75, 0.1, 0.75}, + /* 15 */ {0.75, 0.1, 0.75}, + /* 16 */ {1, 1, 0.25}, + /* 17 */ {1, 1, 0.25}, + /* 18 */ {0.15, 0.75, 0.15}, + /* 19 */ {0.5, 0.75, 0.5}, + /* 20 */ {0.3, 0.9, 0.3}, + /* 21 */ {0.1, 1.25, 0.1}, + /* 22 */ {0.1, 1.25, 0.1}, + /* 23 */ {0.1, 1.25, 0.1}, + /* 24 */ {0.25, 1, 0.25}, + /* 25 */ {1, 1, 0.25}, + /* 26 */ {1, 1, 0.25}, + /* 27 */ {0.15, 0.75, 0.15}, + /* 28 */ {0.15, 0.75, 0.15}, + /* 29 */ {0.15, 0.75, 0.15}, + /* 30 */ {0.5, 0.75, 0.5}, + /* 31 */ {0.5, 0.75, 0.5}, + /* 32 */ {0.5, 0.75, 0.5}, + /* 33 */ {0.5, 0.75, 0.5}, + /* 34 */ {0.3, 0.9, 0.3}, + /* 35 */ {0.6, 1, 0.25}, + /* 36 */ {0.6, 1, 0.25}, + /* 37 */ {0.25, 1, 1.25}, + /* 38 */ {0.25, 1, 1.25}, + /* 39 */ {0.25, 1, 1.25}, + /* 40 */ {}, + /* 41 */ {}, + /* 42 */ {}, + /* 43 */ {}, + /* 44 */ {}, + /* 45 */ {}, + /* 46 */ {}, + /* 47 */ {}, + /* 48 */ {}, + /* 49 */ {}, + /* 50 */ {}, + /* 51 */ {}, + /* 52 */ {}, + /* 53 */ {}, + /* 54 */ {}, + /* 55 */ {}, + /* 56 */ {}, + /* 57 */ {}, + /* 58 */ {}, + /* 59 */ {}, + /* 60 */ {}, + /* 61 */ {}, + /* 62 */ {}, + /* 63 */ {}, + /* 64 */ {}, + /* 65 */ {}, + /* 66 */ {}, + /* 67 */ {}, + /* 68 */ {}, + /* 69 */ {}, + /* 70 */ {}, + /* 71 */ {}, + /* 72 */ {}, + /* 73 */ {}, + /* 74 */ {}, + /* 75 */ {}, + /* 76 */ {}, + /* 77 */ {}, + /* 78 */ {}, + /* 79 */ {}, + /* 80 */ {}, + /* 81 */ {}, + /* 82 */ {}, + /* 83 */ {}, + /* 84 */ {}, + /* 85 */ {}, + /* 86 */ {}, + /* 87 */ {}, + /* 88 */ {}, + /* 89 */ {}, + /* 90 */ {}, + /* 91 */ {}, + /* 92 */ {}, + /* 93 */ {}, + /* 94 */ {}, + /* 95 */ {}, + /* 96 */ {}, + /* 97 */ {}, + /* 98 */ {}, + /* 99 */ {}, + /* 100 */ {}, + /* 101 */ {}, + /* 102 */ {}, + /* 103 */ {}, + /* 104 */ {}, + /* 105 */ {}, + /* 106 */ {}, + /* 107 */ {}, + /* 108 */ {}, + /* 109 */ {}, + /* 110 */ {}, + /* 111 */ {}, + /* 112 */ {}, + /* 113 */ {}, + /* 114 */ {}, + /* 115 */ {}, + /* 116 */ {}, + /* 117 */ {}, + /* 118 */ {}, + /* 119 */ {}, + /* 120 */ {}, + /* 121 */ {}, + /* 122 */ {}, + /* 123 */ {}, + /* 124 */ {}, + /* 125 */ {}, + /* 126 */ {}, + /* 127 */ {}, + /* 128 */ {}, + /* 129 */ {0.3, 1, 0.3}, + /* 130 */ {1, 1, 0.25}, + /* 131 */ {0.3, 0.9, 0.3}, + /* 132 */ {0.15, 0.75, 0.15}, + /* 133 */ {0.5, 0.75, 0.5}, + /* 134 */ {0.75, 1, 0.25}, + /* 135 */ {}, + /* 136 */ {}, + /* 137 */ {}, + /* 138 */ {}, + /* 139 */ {}, + /* 140 */ {0.3, 1, 0.3}, + /* 141 */ {}, + /* 142 */ {}, + /* 143 */ {}, + /* 144 */ {}, + /* 145 */ {}, + /* 146 */ {}, + /* 147 */ {}, + /* 148 */ {}, + /* 149 */ {0.1, 1.25, 0.1}, + /* 150 */ {}, + /* 151 */ {0.1, 1.25, 0.1}, + /* 152 */ {}, + /* 153 */ {}, + /* 154 */ {}, + /* 155 */ {0.15, 0.75, 0.15}, + /* 156 */ {0.15, 0.75, 0.15}, + /* 157 */ {0.15, 0.75, 0.15}, + /* 158 */ {0.5, 0.75, 0.5}, + /* 159 */ {}, + /* 160 */ {0.5, 0.75, 0.5}, + /* 161 */ {0.5, 0.75, 0.5}, + /* 162 */ {0.3, 0.9, 0.3}, + /* 163 */ {0.6, 1, 0.25}, + /* 164 */ {0.6, 1, 0.25}, + /* 165 */ {0.25, 1, 1.25}, + /* 166 */ {0.25, 1, 1.25}, + /* 167 */ {0.25, 1, 1.25}, +}; + +} +} diff --git a/src/World/Biome.hpp b/src/World/Biome.hpp new file mode 100644 index 0000000..4534db0 --- /dev/null +++ b/src/World/Biome.hpp @@ -0,0 +1,39 @@ +/* + Copyright (c) 2015, Matthias Schiffer + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + + +#pragma once + +namespace MinedMap { +namespace World { + +struct Biome { + float r, g, b; +}; + +extern const Biome BIOMES[256]; + +} +} diff --git a/src/World/Block.cpp b/src/World/Block.cpp index 3aa4af3..f02c107 100644 --- a/src/World/Block.cpp +++ b/src/World/Block.cpp @@ -26,20 +26,21 @@ #include "Block.hpp" #include "BlockType.hpp" +#include "Biome.hpp" namespace MinedMap { namespace World { -uint32_t Block::getColor() const { +uint32_t Block::getColor(uint8_t biome) const { const World::BlockType &t = World::BLOCK_TYPES[id]; if (!t.opaque) return 0; - uint8_t r = t.color >> 16; - uint8_t g = t.color >> 8; - uint8_t b = t.color; + unsigned r = uint8_t(t.color >> 16); + unsigned g = uint8_t(t.color >> 8); + unsigned b = uint8_t(t.color); uint8_t light = (blockLight > skyLight) ? blockLight : skyLight; @@ -50,6 +51,18 @@ uint32_t Block::getColor() const { g *= lightCoef * heightCoef; b *= lightCoef * heightCoef; + if (t.green) { + const Biome &biomeDef = BIOMES[biome]; + + r *= biomeDef.r; + g *= biomeDef.g; + b *= biomeDef.b; + } + + if (r > 255) r = 255; + if (g > 255) g = 255; + if (b > 255) b = 255; + return (r << 24) | (g << 16) | (b << 8) | 0xff; } diff --git a/src/World/Block.hpp b/src/World/Block.hpp index f2d481a..2bdbaa5 100644 --- a/src/World/Block.hpp +++ b/src/World/Block.hpp @@ -43,7 +43,7 @@ struct Block { Block() : id(0), data(0), height(0), blockLight(0), skyLight(0) {} - uint32_t getColor() const; + uint32_t getColor(uint8_t biome) const; }; } diff --git a/src/World/BlockType.cpp b/src/World/BlockType.cpp index a65e3eb..1f39ebd 100644 --- a/src/World/BlockType.cpp +++ b/src/World/BlockType.cpp @@ -31,177 +31,182 @@ namespace MinedMap { namespace World { const BlockType BLOCK_TYPES[256] = { - /* 0 */ {false, 0}, - /* 1 */ {true, 8224125}, - /* 2 */ {true, 9671571}, - /* 3 */ {true, 8806467}, - /* 4 */ {true, 8026746}, - /* 5 */ {true, 10256206}, - /* 6 */ {true, 4679205}, - /* 7 */ {true, 5460819}, - /* 8 */ {true, 3229684}, - /* 9 */ {true, 3032052}, - /* 10 */ {true, 13589267}, - /* 11 */ {true, 13916690}, - /* 12 */ {true, 14406560}, - /* 13 */ {true, 8289402}, - /* 14 */ {true, 9407356}, - /* 15 */ {true, 8880766}, - /* 16 */ {true, 7566195}, - /* 17 */ {true, 10124621}, - /* 18 */ {true, 8882055}, - /* 19 */ {true, 11974201}, - /* 20 */ {true, 14348532}, - /* 21 */ {true, 6713478}, - /* 22 */ {true, 2507657}, - /* 23 */ {true, 6316128}, - /* 24 */ {true, 14340766}, - /* 25 */ {true, 6570802}, - /* 26 */ {true, 9311766}, - /* 27 */ {true, 8678472}, - /* 28 */ {true, 7890265}, - /* 29 */ {true, 6316128}, - /* 30 */ {true, 14474460}, - /* 31 */ {false, 0}, - /* 32 */ {false, 0}, - /* 33 */ {true, 6316128}, - /* 34 */ {true, 10060121}, - /* 35 */ {true, 14540253}, - /* 36 */ {false, 0}, - /* 37 */ {false, 0}, - /* 38 */ {false, 0}, - /* 39 */ {false, 0}, - /* 40 */ {false, 0}, - /* 41 */ {true, 16378958}, - /* 42 */ {true, 14408667}, - /* 43 */ {true, 10461087}, - /* 44 */ {true, 10461087}, - /* 45 */ {true, 9593686}, - /* 46 */ {true, 8536367}, - /* 47 */ {true, 10256206}, - /* 48 */ {true, 6781287}, - /* 49 */ {true, 1315357}, - /* 50 */ {false, 0}, - /* 51 */ {true, 13863989}, - /* 52 */ {true, 1713969}, - /* 53 */ {true, 10256206}, - /* 54 */ {true, 10256206}, - /* 55 */ {true, 11213577}, - /* 56 */ {true, 8490127}, - /* 57 */ {true, 6413269}, - /* 58 */ {true, 7030570}, - /* 59 */ {true, 45842}, - /* 60 */ {true, 7555885}, - /* 61 */ {true, 6316128}, - /* 62 */ {true, 6316128}, - /* 63 */ {false, 0}, - /* 64 */ {true, 8807730}, - /* 65 */ {false, 0}, - /* 66 */ {true, 7957592}, - /* 67 */ {true, 8026746}, - /* 68 */ {false, 0}, - /* 69 */ {false, 0}, - /* 70 */ {true, 8224125}, - /* 71 */ {true, 10724259}, - /* 72 */ {true, 10256206}, - /* 73 */ {true, 8678251}, - /* 74 */ {true, 8678251}, - /* 75 */ {true, 11213577}, - /* 76 */ {true, 11213577}, - /* 77 */ {false, 0}, - /* 78 */ {true, 15727611}, - /* 79 */ {true, 8236543}, - /* 80 */ {true, 15727611}, - /* 81 */ {true, 877336}, - /* 82 */ {true, 10396848}, - /* 83 */ {true, 9748581}, - /* 84 */ {true, 7031095}, - /* 85 */ {true, 10256206}, - /* 86 */ {true, 12613141}, - /* 87 */ {true, 7288372}, - /* 88 */ {true, 5521459}, - /* 89 */ {true, 9401925}, - /* 90 */ {true, 5704383}, - /* 91 */ {true, 12613141}, - /* 92 */ {true, 14994894}, - /* 93 */ {true, 9933715}, - /* 94 */ {true, 10523539}, - /* 95 */ {true, 16777215}, - /* 96 */ {true, 8281389}, - /* 97 */ {true, 8224125}, - /* 98 */ {true, 8026746}, - /* 99 */ {true, 9267795}, - /* 100 */ {true, 11937060}, - /* 101 */ {true, 7171178}, - /* 102 */ {true, 14348532}, - /* 103 */ {true, 9935140}, - /* 104 */ {false, 0}, - /* 105 */ {false, 0}, - /* 106 */ {true, 7303023}, - /* 107 */ {true, 10256206}, - /* 108 */ {true, 9593686}, - /* 109 */ {true, 8026746}, - /* 110 */ {true, 7299945}, - /* 111 */ {true, 7763574}, - /* 112 */ {true, 2889242}, - /* 113 */ {true, 2889242}, - /* 114 */ {true, 2889242}, - /* 115 */ {true, 6950430}, - /* 116 */ {true, 6766651}, - /* 117 */ {true, 6974058}, - /* 118 */ {true, 3618615}, - /* 119 */ {true, 788751}, - /* 120 */ {true, 5862752}, - /* 121 */ {true, 14540709}, - /* 122 */ {true, 788751}, - /* 123 */ {true, 4598554}, - /* 124 */ {true, 7821623}, - /* 125 */ {true, 10256206}, - /* 126 */ {true, 10256206}, - /* 127 */ {true, 9079872}, - /* 128 */ {true, 14340766}, - /* 129 */ {true, 7176308}, - /* 130 */ {true, 788751}, - /* 131 */ {false, 0}, - /* 132 */ {false, 0}, - /* 133 */ {true, 5364085}, - /* 134 */ {true, 6769966}, - /* 135 */ {true, 12825467}, - /* 136 */ {true, 10120781}, - /* 137 */ {true, 11700591}, - /* 138 */ {true, 7658967}, - /* 139 */ {true, 8026746}, - /* 140 */ {true, 7749939}, - /* 141 */ {true, 109328}, - /* 142 */ {true, 109328}, - /* 143 */ {false, 0}, - /* 144 */ {false, 0}, - /* 145 */ {true, 4209724}, - /* 146 */ {true, 10256206}, - /* 147 */ {true, 16378958}, - /* 148 */ {true, 14408667}, - /* 149 */ {true, 10262165}, - /* 150 */ {true, 10851732}, - /* 151 */ {true, 8549470}, - /* 152 */ {true, 11213577}, - /* 153 */ {true, 8213583}, - /* 154 */ {true, 3618615}, - /* 155 */ {true, 15526370}, - /* 156 */ {true, 15526370}, - /* 157 */ {true, 6837063}, - /* 158 */ {true, 6316128}, - /* 159 */ {true, 13742753}, - /* 160 */ {true, 16777215}, - /* 161 */ {true, 8882055}, - /* 162 */ {true, 10115904}, - /* 163 */ {true, 11098931}, - /* 164 */ {true, 4007698}, - /* 170 */ {true, 11045648}, - /* 171 */ {true, 14540253}, - /* 172 */ {true, 9854018}, - /* 173 */ {true, 1184274}, - /* 174 */ {true, 10863349}, - /* 175 */ {false, 0}, + /* 0 */ {false, false, 0}, + /* 1 */ {true, false, 8224125}, + /* 2 */ {true, true, 9671571}, + /* 3 */ {true, false, 8806467}, + /* 4 */ {true, false, 8026746}, + /* 5 */ {true, false, 10256206}, + /* 6 */ {true, false, 4679205}, + /* 7 */ {true, false, 5460819}, + /* 8 */ {true, false, 3229684}, + /* 9 */ {true, false, 3032052}, + /* 10 */ {true, false, 13589267}, + /* 11 */ {true, false, 13916690}, + /* 12 */ {true, false, 14406560}, + /* 13 */ {true, false, 8289402}, + /* 14 */ {true, false, 9407356}, + /* 15 */ {true, false, 8880766}, + /* 16 */ {true, false, 7566195}, + /* 17 */ {true, false, 10124621}, + /* 18 */ {true, true, 8882055}, + /* 19 */ {true, false, 11974201}, + /* 20 */ {true, false, 14348532}, + /* 21 */ {true, false, 6713478}, + /* 22 */ {true, false, 2507657}, + /* 23 */ {true, false, 6316128}, + /* 24 */ {true, false, 14340766}, + /* 25 */ {true, false, 6570802}, + /* 26 */ {true, false, 9311766}, + /* 27 */ {true, false, 8678472}, + /* 28 */ {true, false, 7890265}, + /* 29 */ {true, false, 6316128}, + /* 30 */ {true, false, 14474460}, + /* 31 */ {false, true, 0}, + /* 32 */ {false, true, 0}, + /* 33 */ {true, false, 6316128}, + /* 34 */ {true, false, 10060121}, + /* 35 */ {true, false, 14540253}, + /* 36 */ {false, false, 0}, + /* 37 */ {false, false, 0}, + /* 38 */ {false, false, 0}, + /* 39 */ {false, false, 0}, + /* 40 */ {false, false, 0}, + /* 41 */ {true, false, 16378958}, + /* 42 */ {true, false, 14408667}, + /* 43 */ {true, false, 10461087}, + /* 44 */ {true, false, 10461087}, + /* 45 */ {true, false, 9593686}, + /* 46 */ {true, false, 8536367}, + /* 47 */ {true, false, 10256206}, + /* 48 */ {true, false, 6781287}, + /* 49 */ {true, false, 1315357}, + /* 50 */ {false, false, 0}, + /* 51 */ {true, false, 13863989}, + /* 52 */ {true, false, 1713969}, + /* 53 */ {true, false, 10256206}, + /* 54 */ {true, false, 10256206}, + /* 55 */ {true, false, 11213577}, + /* 56 */ {true, false, 8490127}, + /* 57 */ {true, false, 6413269}, + /* 58 */ {true, false, 7030570}, + /* 59 */ {true, false, 45842}, + /* 60 */ {true, false, 7555885}, + /* 61 */ {true, false, 6316128}, + /* 62 */ {true, false, 6316128}, + /* 63 */ {false, false, 0}, + /* 64 */ {true, false, 8807730}, + /* 65 */ {false, false, 0}, + /* 66 */ {true, false, 7957592}, + /* 67 */ {true, false, 8026746}, + /* 68 */ {false, false, 0}, + /* 69 */ {false, false, 0}, + /* 70 */ {true, false, 8224125}, + /* 71 */ {true, false, 10724259}, + /* 72 */ {true, false, 10256206}, + /* 73 */ {true, false, 8678251}, + /* 74 */ {true, false, 8678251}, + /* 75 */ {true, false, 11213577}, + /* 76 */ {true, false, 11213577}, + /* 77 */ {false, false, 0}, + /* 78 */ {true, false, 15727611}, + /* 79 */ {true, false, 8236543}, + /* 80 */ {true, false, 15727611}, + /* 81 */ {true, false, 877336}, + /* 82 */ {true, false, 10396848}, + /* 83 */ {true, false, 9748581}, + /* 84 */ {true, false, 7031095}, + /* 85 */ {true, false, 10256206}, + /* 86 */ {true, false, 12613141}, + /* 87 */ {true, false, 7288372}, + /* 88 */ {true, false, 5521459}, + /* 89 */ {true, false, 9401925}, + /* 90 */ {true, false, 5704383}, + /* 91 */ {true, false, 12613141}, + /* 92 */ {true, false, 14994894}, + /* 93 */ {true, false, 9933715}, + /* 94 */ {true, false, 10523539}, + /* 95 */ {true, false, 16777215}, + /* 96 */ {true, false, 8281389}, + /* 97 */ {true, false, 8224125}, + /* 98 */ {true, false, 8026746}, + /* 99 */ {true, false, 9267795}, + /* 100 */ {true, false, 11937060}, + /* 101 */ {true, false, 7171178}, + /* 102 */ {true, false, 14348532}, + /* 103 */ {true, false, 9935140}, + /* 104 */ {false, false, 0}, + /* 105 */ {false, false, 0}, + /* 106 */ {true, true, 7303023}, + /* 107 */ {true, false, 10256206}, + /* 108 */ {true, false, 9593686}, + /* 109 */ {true, false, 8026746}, + /* 110 */ {true, false, 7299945}, + /* 111 */ {true, true, 7763574}, + /* 112 */ {true, false, 2889242}, + /* 113 */ {true, false, 2889242}, + /* 114 */ {true, false, 2889242}, + /* 115 */ {true, false, 6950430}, + /* 116 */ {true, false, 6766651}, + /* 117 */ {true, false, 6974058}, + /* 118 */ {true, false, 3618615}, + /* 119 */ {true, false, 788751}, + /* 120 */ {true, false, 5862752}, + /* 121 */ {true, false, 14540709}, + /* 122 */ {true, false, 788751}, + /* 123 */ {true, false, 4598554}, + /* 124 */ {true, false, 7821623}, + /* 125 */ {true, false, 10256206}, + /* 126 */ {true, false, 10256206}, + /* 127 */ {true, false, 9079872}, + /* 128 */ {true, false, 14340766}, + /* 129 */ {true, false, 7176308}, + /* 130 */ {true, false, 788751}, + /* 131 */ {false, false, 0}, + /* 132 */ {false, false, 0}, + /* 133 */ {true, false, 5364085}, + /* 134 */ {true, false, 6769966}, + /* 135 */ {true, false, 12825467}, + /* 136 */ {true, false, 10120781}, + /* 137 */ {true, false, 11700591}, + /* 138 */ {true, false, 7658967}, + /* 139 */ {true, false, 8026746}, + /* 140 */ {true, false, 7749939}, + /* 141 */ {true, false, 109328}, + /* 142 */ {true, false, 109328}, + /* 143 */ {false, false, 0}, + /* 144 */ {false, false, 0}, + /* 145 */ {true, false, 4209724}, + /* 146 */ {true, false, 10256206}, + /* 147 */ {true, false, 16378958}, + /* 148 */ {true, false, 14408667}, + /* 149 */ {true, false, 10262165}, + /* 150 */ {true, false, 10851732}, + /* 151 */ {true, false, 8549470}, + /* 152 */ {true, false, 11213577}, + /* 153 */ {true, false, 8213583}, + /* 154 */ {true, false, 3618615}, + /* 155 */ {true, false, 15526370}, + /* 156 */ {true, false, 15526370}, + /* 157 */ {true, false, 6837063}, + /* 158 */ {true, false, 6316128}, + /* 159 */ {true, false, 13742753}, + /* 160 */ {true, false, 16777215}, + /* 161 */ {true, true, 8882055}, + /* 162 */ {true, true, 10115904}, + /* 163 */ {true, true, 11098931}, + /* 164 */ {true, true, 4007698}, + /* 165 */ {false, false, 0}, + /* 166 */ {false, false, 0}, + /* 167 */ {false, false, 0}, + /* 168 */ {false, false, 0}, + /* 169 */ {false, false, 0}, + /* 170 */ {true, true, 11045648}, + /* 171 */ {true, false, 14540253}, + /* 172 */ {true, false, 9854018}, + /* 173 */ {true, false, 1184274}, + /* 174 */ {true, false, 10863349}, + /* 175 */ {false, false, 0}, }; } diff --git a/src/World/BlockType.hpp b/src/World/BlockType.hpp index d131487..5d2454c 100644 --- a/src/World/BlockType.hpp +++ b/src/World/BlockType.hpp @@ -33,6 +33,7 @@ namespace World { struct BlockType { bool opaque; + bool green; uint32_t color; }; -- cgit v1.2.3