forked from Mirrorlandia_minetest/minetest
Dont crash if facedir > 23
This commit is contained in:
parent
0d60bc55e4
commit
56b9377c1c
@ -711,7 +711,8 @@ TileSpec getNodeTile(MapNode mn, v3s16 p, v3s16 dir, MeshMakeData *data)
|
|||||||
|
|
||||||
// Get rotation for things like chests
|
// Get rotation for things like chests
|
||||||
u8 facedir = mn.getFaceDir(ndef);
|
u8 facedir = mn.getFaceDir(ndef);
|
||||||
assert(facedir <= 23);
|
if (facedir > 23)
|
||||||
|
facedir = 0;
|
||||||
static const u16 dir_to_tile[24 * 16] =
|
static const u16 dir_to_tile[24 * 16] =
|
||||||
{
|
{
|
||||||
// 0 +X +Y +Z -Z -Y -X -> value=tile,rotation
|
// 0 +X +Y +Z -Z -Y -X -> value=tile,rotation
|
||||||
@ -734,17 +735,17 @@ TileSpec getNodeTile(MapNode mn, v3s16 p, v3s16 dir, MeshMakeData *data)
|
|||||||
0,0, 0,2 , 5,3 , 3,1 , 0,0, 2,3 , 4,3 , 1,0 ,
|
0,0, 0,2 , 5,3 , 3,1 , 0,0, 2,3 , 4,3 , 1,0 ,
|
||||||
0,0, 0,1 , 2,3 , 5,1 , 0,0, 4,3 , 3,3 , 1,1 ,
|
0,0, 0,1 , 2,3 , 5,1 , 0,0, 4,3 , 3,3 , 1,1 ,
|
||||||
0,0, 0,0 , 4,3 , 2,1 , 0,0, 3,3 , 5,3 , 1,2 ,
|
0,0, 0,0 , 4,3 , 2,1 , 0,0, 3,3 , 5,3 , 1,2 ,
|
||||||
|
|
||||||
0,0, 1,1 , 2,1 , 4,3 , 0,0, 5,1 , 3,1 , 0,1 , // rotate around x- 16 - 19
|
0,0, 1,1 , 2,1 , 4,3 , 0,0, 5,1 , 3,1 , 0,1 , // rotate around x- 16 - 19
|
||||||
0,0, 1,2 , 4,1 , 3,3 , 0,0, 2,1 , 5,1 , 0,0 ,
|
0,0, 1,2 , 4,1 , 3,3 , 0,0, 2,1 , 5,1 , 0,0 ,
|
||||||
0,0, 1,3 , 3,1 , 5,3 , 0,0, 4,1 , 2,1 , 0,3 ,
|
0,0, 1,3 , 3,1 , 5,3 , 0,0, 4,1 , 2,1 , 0,3 ,
|
||||||
0,0, 1,0 , 5,1 , 2,3 , 0,0, 3,1 , 4,1 , 0,2 ,
|
0,0, 1,0 , 5,1 , 2,3 , 0,0, 3,1 , 4,1 , 0,2 ,
|
||||||
|
|
||||||
0,0, 3,2 , 1,2 , 4,2 , 0,0, 5,2 , 0,2 , 2,2 , // rotate around y- 20 - 23
|
0,0, 3,2 , 1,2 , 4,2 , 0,0, 5,2 , 0,2 , 2,2 , // rotate around y- 20 - 23
|
||||||
0,0, 5,2 , 1,3 , 3,2 , 0,0, 2,2 , 0,1 , 4,2 ,
|
0,0, 5,2 , 1,3 , 3,2 , 0,0, 2,2 , 0,1 , 4,2 ,
|
||||||
0,0, 2,2 , 1,0 , 5,2 , 0,0, 4,2 , 0,0 , 3,2 ,
|
0,0, 2,2 , 1,0 , 5,2 , 0,0, 4,2 , 0,0 , 3,2 ,
|
||||||
0,0, 4,2 , 1,1 , 2,2 , 0,0, 3,2 , 0,3 , 5,2
|
0,0, 4,2 , 1,1 , 2,2 , 0,0, 3,2 , 0,3 , 5,2
|
||||||
|
|
||||||
};
|
};
|
||||||
u16 tile_index=facedir*16 + dir_i;
|
u16 tile_index=facedir*16 + dir_i;
|
||||||
TileSpec spec = getNodeTileN(mn, p, dir_to_tile[tile_index], data);
|
TileSpec spec = getNodeTileN(mn, p, dir_to_tile[tile_index], data);
|
||||||
|
Loading…
Reference in New Issue
Block a user