View Single Post
Old February 10, 2012, 17:26   #3
PowerWyrm
Veteran
 
PowerWyrm's Avatar
 
Join Date: Apr 2008
Posts: 2,417
PowerWyrm is on a distinguished road
There are two problems here:

1) The irregular display of the left border is due to the code in Term_erase() which only works if tile width is 2 (the code has not been changed since bigtile mode -- double tile width -- was removed in favor of variable tile width/height.

This is fixed by adapting the code above to start on the x axis at the beginning of a tile:

Code:
        /* Hack -- Always start at the beginning of a tile in bigtile mode */
        if ((n > 0) && (scr_aa[x] == 255))
        {
            int x0 = ((x - COL_MAP) / tile_width) * tile_width + COL_MAP;

            x = x0;
            n = n + x - x0;
        }
2) The problem with spell description not properly updated when switching to another spell is the same, but this time on the y axis. I tried to fix it in the same function, but gave up after failing miserably (seems *really* tricky to fix). A proposed workaround is to fix the problem directly in the spell menu browser (spell_menu_browser method) by putting more empty lines under spell descriptions until the end of a tile is reached:

Code:
    /* XXX */
    text_out_pad = 0;
    text_out_indent = 0;

    Term_locate(&x, &y);

    /* Hack -- Always finish at the end of a tile in bigtile mode */
    if (tile_height > 1)
    {
        int ymax = ((y - ROW_MAP) / tile_height) * tile_height + ROW_MAP + tile_height - 1;

        while (++y <= ymax) Term_erase(x - 1, y, 255);
    }
__________________
PWMAngband variant maintainer - check http://powerwyrm.monsite-orange.fr (or http://www.mangband.org/forum/viewforum.php?f=9) to learn more about this new variant!
PowerWyrm is offline   Reply With Quote