# HG changeset patch # User tron # Date 1154245357 0 # Node ID d70efeb2733d5b7497a75e455c58de10389dd91b # Parent 2acef650361fa00fe4fb99ab02582304c4551dce (svn r5641) -Fix: Adjust/correct some bounding boxes. This fixes some graphical glitches near bridges diff -r 2acef650361f -r d70efeb2733d landscape.c --- a/landscape.c Sat Jul 29 17:39:58 2006 +0000 +++ b/landscape.c Sun Jul 30 07:42:37 2006 +0000 @@ -241,7 +241,7 @@ AddSortableSpriteToDraw( HASBIT(M(SLOPE_W) | M(SLOPE_S) | M(SLOPE_E) | M(SLOPE_N), ti->tileh) ? sprite_base + (f - 15) : SPR_FOUNDATION_BASE + ti->tileh, - ti->x, ti->y, 1, 1, 1, ti->z + ti->x, ti->y, 16, 16, 1, ti->z ); #undef M diff -r 2acef650361f -r d70efeb2733d tunnelbridge_cmd.c --- a/tunnelbridge_cmd.c Sat Jul 29 17:39:58 2006 +0000 +++ b/tunnelbridge_cmd.c Sun Jul 30 07:42:37 2006 +0000 @@ -858,10 +858,10 @@ const byte *p; static const byte _tileh_bits[4][8] = { - {2,1,8,4, 16,11,0,9}, - {1,8,4,2, 11,16,9,0}, - {4,8,1,2, 16,11,0,9}, - {2,4,8,1, 11,16,9,0}, + { 2, 1, 8, 4, 16, 2, 0, 9 }, + { 1, 8, 4, 2, 2, 16, 9, 0 }, + { 4, 8, 1, 2, 16, 2, 0, 9 }, + { 2, 4, 8, 1, 2, 16, 9, 0 } }; if (_display_opt & DO_TRANS_BUILDINGS) MAKE_TRANSPARENT(image); @@ -876,12 +876,15 @@ } for (; z >= front_height || z >= back_height; z -= TILE_HEIGHT) { + /* HACK set height of the BB of pillars to 1, because the origin of the + * sprites is at the top + */ if (z >= front_height) { // front facing pillar - AddSortableSpriteToDraw(image, x, y, p[4], p[5], 0x28, z); + AddSortableSpriteToDraw(image, x, y, p[4], p[5], 1, z); } if (drawfarpillar && z >= back_height && z < i - TILE_HEIGHT) { // back facing pillar - AddSortableSpriteToDraw(image, x - p[6], y - p[7], p[4], p[5], 0x28, z); + AddSortableSpriteToDraw(image, x - p[6], y - p[7], p[4], p[5], 1, z); } } } @@ -987,7 +990,12 @@ // draw ramp if (_display_opt & DO_TRANS_BUILDINGS) MAKE_TRANSPARENT(image); - AddSortableSpriteToDraw(image, ti->x, ti->y, 16, 16, 7, ti->z); + /* HACK set the height of the BB of a sloped ramp to 1 so a vehicle on + * it doesn't disappear behind it + */ + AddSortableSpriteToDraw( + image, ti->x, ti->y, 16, 16, ti->tileh == SLOPE_FLAT ? 1 : 8, ti->z + ); } else { // bridge middle part. Axis axis = GetBridgeAxis(ti->tile);