From a3b7ac12b84d50aa39d744ffaf44a945bc5ffefa Mon Sep 17 00:00:00 2001 From: Ean McLaughlin Date: Wed, 3 Sep 2014 01:36:44 -0600 Subject: [PATCH 1/5] Added definitions for the new fence gates. Hopefully I got the C side right. Close #1148 --- overviewer_core/src/iterate.c | 4 +++- overviewer_core/textures.py | 18 ++++++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/overviewer_core/src/iterate.c b/overviewer_core/src/iterate.c index 91418c6..af0fbf5 100644 --- a/overviewer_core/src/iterate.c +++ b/overviewer_core/src/iterate.c @@ -313,7 +313,9 @@ generate_pseudo_data(RenderState *state, unsigned short ancilData) { } else if ((state->block == 85) || (state->block == 188) || (state->block == 189) || (state->block == 190) || (state->block == 191) || (state->block == 192)) { /* fences */ /* check for fences AND fence gates */ - return check_adjacent_blocks(state, x, y, z, state->block) | check_adjacent_blocks(state, x, y, z, 107); + return check_adjacent_blocks(state, x, y, z, state->block) | check_adjacent_blocks(state, x, y, z, 107) + | check_adjacent_blocks(state, x, y, z, 183) | check_adjacent_blocks(state, x, y, z, 184) | check_adjacent_blocks(state, x, y, z, 185) + | check_adjacent_blocks(state, x, y, z, 186) | check_adjacent_blocks(state, x, y, z, 187); } else if (state->block == 55) { /* redstone */ /* three addiotional bit are added, one for on/off state, and diff --git a/overviewer_core/textures.py b/overviewer_core/textures.py index f81665d..d70305e 100644 --- a/overviewer_core/textures.py +++ b/overviewer_core/textures.py @@ -3590,7 +3590,7 @@ def vines(self, blockid, data): return img # fence gates -@material(blockid=107, data=range(8), transparent=True, nospawn=True) +@material(blockid=[107, 183, 184, 185, 186, 187] data=range(8), transparent=True, nospawn=True) def fence_gate(self, blockid, data): # rotation @@ -3617,7 +3617,21 @@ def fence_gate(self, blockid, data): data = data | 0x4 # create the closed gate side - gate_side = self.load_image_texture("assets/minecraft/textures/blocks/planks_oak.png").copy() + if blockid == 107: # Oak + gate_side = self.load_image_texture("assets/minecraft/textures/blocks/planks_oak.png").copy() + elif blockid == 183: # Spruce + gate_side = self.load_image_texture("assets/minecraft/textures/blocks/planks_spruce.png").copy() + elif blockid == 184: # Birch + gate_side = self.load_image_texture("assets/minecraft/textures/blocks/planks_birch.png").copy() + elif blockid == 185: # Jungle + gate_side = self.load_image_texture("assets/minecraft/textures/blocks/planks_jungle.png").copy() + elif blockid == 186: # Dark Oak + gate_side = self.load_image_texture("assets/minecraft/textures/blocks/planks_big_oak.png").copy() + elif blockid == 187: # Acacia + gate_side = self.load_image_texture("assets/minecraft/textures/blocks/planks_acacia.png").copy() + else + return None + gate_side_draw = ImageDraw.Draw(gate_side) gate_side_draw.rectangle((7,0,15,0),outline=(0,0,0,0),fill=(0,0,0,0)) gate_side_draw.rectangle((7,4,9,6),outline=(0,0,0,0),fill=(0,0,0,0)) From 893ca074190c708ea828a3c31aa396351209894b Mon Sep 17 00:00:00 2001 From: Ean McLaughlin Date: Wed, 3 Sep 2014 01:45:29 -0600 Subject: [PATCH 2/5] Might as well slip a tiny bit of clean up in. --- overviewer_core/textures.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/overviewer_core/textures.py b/overviewer_core/textures.py index d70305e..032173f 100644 --- a/overviewer_core/textures.py +++ b/overviewer_core/textures.py @@ -1606,10 +1606,7 @@ def slabs(self, blockid, data): else: return None - if blockid == 43: # double slab - return self.build_block(top, side) - - if blockid == 181: # double red sandstone slab + if blockid == 43 or blockid == 181: # double slab return self.build_block(top, side) # cut the side texture in half From f5b610e81cfa18ca1892269b526c68c97923d240 Mon Sep 17 00:00:00 2001 From: Ean McLaughlin Date: Wed, 3 Sep 2014 01:50:49 -0600 Subject: [PATCH 3/5] Update C extension version number. --- overviewer_core/src/overviewer.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/overviewer_core/src/overviewer.h b/overviewer_core/src/overviewer.h index db3a7d9..873dcaa 100644 --- a/overviewer_core/src/overviewer.h +++ b/overviewer_core/src/overviewer.h @@ -26,7 +26,7 @@ // increment this value if you've made a change to the c extesion // and want to force users to rebuild -#define OVERVIEWER_EXTENSION_VERSION 48 +#define OVERVIEWER_EXTENSION_VERSION 49 /* Python PIL, and numpy headers */ #include From 8f909f99de1b5068b4fd18c2d653752ee50baa9f Mon Sep 17 00:00:00 2001 From: Ean McLaughlin Date: Wed, 3 Sep 2014 02:06:51 -0600 Subject: [PATCH 4/5] Added missing comma in function call for fence gate material definition. --- overviewer_core/src/iterate.c | 6 +++--- overviewer_core/textures.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/overviewer_core/src/iterate.c b/overviewer_core/src/iterate.c index af0fbf5..8a2e324 100644 --- a/overviewer_core/src/iterate.c +++ b/overviewer_core/src/iterate.c @@ -313,9 +313,9 @@ generate_pseudo_data(RenderState *state, unsigned short ancilData) { } else if ((state->block == 85) || (state->block == 188) || (state->block == 189) || (state->block == 190) || (state->block == 191) || (state->block == 192)) { /* fences */ /* check for fences AND fence gates */ - return check_adjacent_blocks(state, x, y, z, state->block) | check_adjacent_blocks(state, x, y, z, 107) - | check_adjacent_blocks(state, x, y, z, 183) | check_adjacent_blocks(state, x, y, z, 184) | check_adjacent_blocks(state, x, y, z, 185) - | check_adjacent_blocks(state, x, y, z, 186) | check_adjacent_blocks(state, x, y, z, 187); + return check_adjacent_blocks(state, x, y, z, state->block) | check_adjacent_blocks(state, x, y, z, 107) | + check_adjacent_blocks(state, x, y, z, 183) | check_adjacent_blocks(state, x, y, z, 184) | check_adjacent_blocks(state, x, y, z, 185) | + check_adjacent_blocks(state, x, y, z, 186) | check_adjacent_blocks(state, x, y, z, 187); } else if (state->block == 55) { /* redstone */ /* three addiotional bit are added, one for on/off state, and diff --git a/overviewer_core/textures.py b/overviewer_core/textures.py index 032173f..6b7fb11 100644 --- a/overviewer_core/textures.py +++ b/overviewer_core/textures.py @@ -3587,7 +3587,7 @@ def vines(self, blockid, data): return img # fence gates -@material(blockid=[107, 183, 184, 185, 186, 187] data=range(8), transparent=True, nospawn=True) +@material(blockid=[107, 183, 184, 185, 186, 187], data=range(8), transparent=True, nospawn=True) def fence_gate(self, blockid, data): # rotation From 97350e81e3d1ba35f602802dad7e3d0c65fb6d8b Mon Sep 17 00:00:00 2001 From: Ean McLaughlin Date: Wed, 3 Sep 2014 02:10:50 -0600 Subject: [PATCH 5/5] Missing colon from else statement. --- overviewer_core/textures.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/overviewer_core/textures.py b/overviewer_core/textures.py index 6b7fb11..36ce0fd 100644 --- a/overviewer_core/textures.py +++ b/overviewer_core/textures.py @@ -3626,7 +3626,7 @@ def fence_gate(self, blockid, data): gate_side = self.load_image_texture("assets/minecraft/textures/blocks/planks_big_oak.png").copy() elif blockid == 187: # Acacia gate_side = self.load_image_texture("assets/minecraft/textures/blocks/planks_acacia.png").copy() - else + else: return None gate_side_draw = ImageDraw.Draw(gate_side)