git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2629 c06c8d41-db1a-0410-9941-cceddc491573
FWVE7KM7BGEZUFQVM7H7UFGM3QMMPT7QHLNXSP62HG3SMBIPZBSQC W7GNFYY2W7NCSNNNXIVZ5FN6F2MIZO2JUQXV2JBOLGUC2DXST7OQC 5Y4NFPALXJQZGM7RQZVXDAOZSYDWUA4VXFARYR5GKPMZBC27YR6AC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC PL6I2CMSTHY5ZHWVMIQE5YTM5S5VPKBNZM6QJVHZSSKOJGIJ5W4AC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC JM6GKZ6VMX6FNVOZIDXIV22HGX7YESMIFZFE6EEQVCMFJIEA3FNAC RC6L3CIBLJEH4GWRFD7UQNGI6PZT74FRUVOYHSAN2XCC74NZUASQC TAHSTXR7ROOMDFUSBUU4ZAIEWQLAS5CIRCTARLD4Q2BGNLSL7E5QC EOMCPVNQLX3IMLC46EAO67DPBH5KEG2FQTPBLGU62HIRWA3UQ7XQC WT66JDIRTLLP37SHTV4GI3V64JFJ4D25LNRLGCHFG6CLEFKJ3QGQC UPJVSMMMHGRDUIJG4MZX6IBLQ4ODBF5Z3PF3RHDYTSAEOCVDZM5AC W6IY6LF3MREPXC23AAKA2BJNUCJYCSOWY55DIWJWFLUEE2Y3LGNQC TOKBONNNPTP2CIEHMMR4QAJZTXYETS55OGGDA6FY6NIMNDYMWJDAC SVY2PTCLXR3KNPQAWXVXTTGCC5DR334HOAKHYO3VDDRWM2BWMALAC #ifdef USE_CURSES// NOTE: This affects libunix.cc draw state; use this just before setting// textcolour and drawing a character and call set_altcharset(false)// after you're done drawing.//static int cset_adjust(int raw){if (Options.char_set != CSET_ASCII && Options.char_set != CSET_UNICODE){// switch to alternate char set for 8-bit characters:set_altcharset( raw > 127 );// shift the DEC line drawing set:if (Options.char_set == CSET_DEC&& raw >= 0xE0){raw &= 0x7F;}}return (raw);}#endif
// newlineif (screen_x == 0 && screen_y > 0)gotoxy( 1, screen_y + top );unsigned ch = buffer2[bufcount2 - 2];#ifdef USE_CURSESch = cset_adjust( ch );#endiftextattr( buffer2[bufcount2 - 1] );putwch(ch);
bufcount = 0;for (count_y = 0; count_y < crawl_view.viewsz.y; count_y++){gotoxy( crawl_view.viewp.x, crawl_view.viewp.y + count_y );for (count_x = 0; count_x < crawl_view.viewsz.x; count_x++){#ifdef USE_CURSESbuffy[bufcount] = cset_adjust( buffy[bufcount] );#endiftextattr( buffy[bufcount + 1] );putwch( buffy[bufcount] );bufcount += 2;}}
puttext(crawl_view.viewp.x, crawl_view.viewp.y,crawl_view.viewp.x + crawl_view.viewsz.x - 1,crawl_view.viewp.y + crawl_view.viewsz.y - 1,buffy);
// crawl_view_buffercrawl_view_buffer::crawl_view_buffer(): buffer(NULL){}crawl_view_buffer::~crawl_view_buffer(){delete [] buffer;}void crawl_view_buffer::size(const coord_def &sz){delete [] buffer;buffer = new screen_buffer_t [ sz.x * sz.y * 2 ];}//////////////////////////////////////////////////////////////////////////////
}// NOTE: This affects libunix.cc draw state; use this just before setting// textcolour and drawing a character and call set_altcharset(false)// after you're done drawing.//int cset_adjust(int raw){if (Options.char_set != CSET_ASCII && Options.char_set != CSET_UNICODE){// switch to alternate char set for 8-bit characters:set_altcharset( raw > 127 );// shift the DEC line drawing set:if (Options.char_set == CSET_DEC&& raw >= 0xE0){raw &= 0x7F;}}return (raw);
void puttext(int x1, int y1, int x2, int y2, const screen_buffer_t *buf){for (int y = y1; y <= y2; ++y){gotoxy(x1, y);for (int x = x1; x <= x2; ++x){const screen_buffer_t ch = cset_adjust( *buf );textattr( buf[1] );putwch( ch );buf += 2;}}set_altcharset(false);update_screen();}