Bigtile patch with David Gervais 32x32 tile support This new mode 'Bigtile mode' will display each tile in double width. When you are using 12x24 size font, tile will be 24x24 size. Additionally this patch provides support for David Gervais 32x32 tile set on Non-TK version of Angband. For now, support for David Gervais tile set is Linux only. I believe someone can easily make patch to support other port. Since this tile set is from Angband TK, there are few new objects and monsters which don't have corresponding tiles; these will be displayed using original ASCII characters. === Patches Here are the patch: http://groups.yahoo.com/group/gridbug/files/bigtile-v301.diff Image files are here: The tileset of David Gervais (converted to BMP format) http://groups.yahoo.com/group/gridbug/files/david-gervais-bmptileset.tar.gz === How to patch and compile (For Linux) % tar xvzf ~/angband-3.0.1.tar.gz % cd angband-3.0.1 % patch -p1 < ~/bigtile-v301.diff % cd lib/xtra % tar xvzf ~/david-gervais-bmptileset.tar.gz % cd ../../ % ./configure % make install === How to use (For Linux) I suggest to use vector font as below (if you are using csh); % setenv ANGBAND_X11_FONT_0 '-b&h-*-medium-r-normal--27-*-*-*-*-*-iso8859-1' % ./angband -- -b -g Extra option "-b" means Bigtile mode, "-g" means David Gervais tileset. Additionally, I have created two more extra options "-o" and "-a" for original tileset and Adam Bolt tileset. (For Windows and Macintosh) If you are using Windows or Macintosh port, choose your favorite tile set, and then select a menu named 'Bigtile mode'. (Note for all port) In Bigtile mode, you need a bit larger screen, so resize the main screen using your mouse (Angband 3.0.x support the bigscreen). === Internal If you are interested in the internal of this patch, here are some technical note below: This patch will do some hacking mainly on cave.c, z-term.c, and main-xxx.c. Currently this patch support main-x11.c main-xaw.c main-win.c main-mac.c. Technical note about this patch: 1. (defines.h) PANEL_WID and SCREEN_WID will be changed to; #define PANEL_WID (use_bigtile ? 16 : 33) #define SCREEN_WID ((Term->wid - COL_MAP - 1) / (use_bigtile ? 2 : 1)) 2. (lite_spot(), print_rel(), prt_map() and display_map() in cave.c) Each tile will be placed on two byte of screen space; first byte is originaly attr/char pair and second byte will be dummy data 255/-1. 3. (z-term.c) A few modification to refresh/remove bigtile correctly. 4. (main-x11.c main-xaw.c main-win.c main-mac.c) - Draw double width tile; location of each tile need not to be modified, because of second byte dummy char which is ignored. - Double width cursor; Added new hook functiont Term_bigcurs_???() to drow the double width cursor. The main-???.cs no longer need direct access to Term->old->a[][]. - When we change Bigtile mode from menu item, we need to redraw whole screen; I had inserted Term_key_push(KTRL('R')); only in main-win.c. Since this code may have some problem, I had not inserted it in main-mac.c. But win port seems to work completely. Mogami mogami@het.ph.tsukuba.ac.jp