diff --git a/docs/notework.txt b/docs/notework.txt index d7cafd6..24e024a 100644 --- a/docs/notework.txt +++ b/docs/notework.txt @@ -12,6 +12,8 @@ ______________________________________________________________________ Notes for GoldED+ 1.1.5, /snapshot/ ______________________________________________________________________ +! Old logo returned back with Pavel Gulchouck's patch :-) + - Fixed double WAZOO FREQ bug (Thanx to Dmitry Lebus for discovering problem). diff --git a/golded3/geinit.cpp b/golded3/geinit.cpp index 85d207c..1545743 100644 --- a/golded3/geinit.cpp +++ b/golded3/geinit.cpp @@ -376,12 +376,23 @@ static void w_brag() { W_READ = wopen_(1, 2, MAXROW-4, MAXCOL-5, W_BBRAG, C_BRAGB, C_BRAGW); w_shadow(); - wprints(0, 0, C_BRAGB, " 88 88 88 "); - wprints(1, 0, C_BRAGB, " oooooo oooooo 88 oooo88 oooooo oooo88 o "); - wprints(2, 0, C_BRAGB, " 88 88 88 88 88 88 88 88oo88 88 88 o8o "); - wprints(3, 0, C_BRAGB, " 88oo88 88oo88 88 88oo88 88oooo 88oo88 8 "); - wprints(4, 0, C_BRAGB, " oo 88 "); - wprints(5, 0, C_BRAGB, " 88oooooo88 "); + + if(W_BBRAG == 7) { + wprints(0, 0, C_BRAGB, " 88 88 88 "); + wprints(1, 0, C_BRAGB, " oooooo oooooo 88 oooo88 oooooo oooo88 o "); + wprints(2, 0, C_BRAGB, " 88 88 88 88 88 88 88 88oo88 88 88 o8o "); + wprints(3, 0, C_BRAGB, " 88oo88 88oo88 88 88oo88 88oooo 88oo88 8 "); + wprints(4, 0, C_BRAGB, " oo 88 "); + wprints(5, 0, C_BRAGB, " 88oooooo88 "); + } + else { + wprints_box(0, 0, C_BRAGT|ACSET, " É» É» É» "); + wprints_box(1, 0, C_BRAGT|ACSET, " ÉËÍÍË» ÉËÍÍË» ºº ÉËÍ͹º ÉËÍÍË» ÉËÍ͹º Ë "); + wprints_box(2, 0, C_BRAGT|ACSET, " ºº ºº ºº ºº ºº ºº ºº ºÌÍÍʼ ºº ºº ÍÎÍ "); + wprints_box(3, 0, C_BRAGT|ACSET, " ÈÊÍ͹º ÈÊÍÍʼ ȼ ÈÊÍÍʼ ÈÊÍÍʼ ÈÊÍÍʼ Ê "); + wprints_box(4, 0, C_BRAGT|ACSET, " É» ºº "); + wprints_box(5, 0, C_BRAGT|ACSET, " ÈÊÍÍÍÍÍÍʼ "); + } wprints(4, 46-strlen(__gver_longpid__)-1-strlen(__gver_ver__), C_BRAGW, __gver_longpid__); wprints(4, 46-strlen(__gver_ver__), C_BRAGW, __gver_ver__); diff --git a/golded3/geline.cpp b/golded3/geline.cpp index e25873d..a6ed273 100644 --- a/golded3/geline.cpp +++ b/golded3/geline.cpp @@ -34,7 +34,7 @@ // ------------------------------------------------------------------ #ifdef __UNIX__ -#define GOLDMARK '\xB2' +#define GOLDMARK '^' // xwindow fonts has no square sign :( #else #define GOLDMARK '\xFD' #endif diff --git a/goldlib/gall/gvidall.h b/goldlib/gall/gvidall.h index 7217f79..f230d3a 100644 --- a/goldlib/gall/gvidall.h +++ b/goldlib/gall/gvidall.h @@ -369,6 +369,7 @@ void vputws (int row, int col, vatch* buf, uint len); void vputc (int row, int col, int atr, vchar chr); void vputvs (int row, int col, int atr, const vchar* str); void vputs (int row, int col, int atr, const char* str); +void vputs_box (int row, int col, int atr, const char* str); void vputns (int row, int col, int atr, const char* str, uint len); void vputx (int row, int col, int atr, vchar chr, uint len); void vputy (int row, int col, int atr, vchar chr, uint len); diff --git a/goldlib/gall/gvidbase.cpp b/goldlib/gall/gvidbase.cpp index e39339d..676d8e0 100644 --- a/goldlib/gall/gvidbase.cpp +++ b/goldlib/gall/gvidbase.cpp @@ -79,6 +79,7 @@ // ------------------------------------------------------------------ static bool __vcurhidden = false; +static unsigned long gvid_boxcvtc(char); #if !defined(__USE_NCURSES__) @@ -779,6 +780,20 @@ void vputvs(int row, int col, int atr, const vchar* str) { // ------------------------------------------------------------------ // Print string with attribute at specfied location +void vputs_box(int row, int col, int atr, const char* str) { +#if defined(__USE_NCURSES__) + uint counter; + int len = strlen(str); + int attr = gvid_attrcalc(atr); + move(row, col); + for(counter = 0; counter < len; counter++) + addch(gvid_tcpr(gvid_boxcvtc(str[counter])) | attr); + refresh(); +#else + vputs(row, col, atr, str); +#endif +} + void vputs(int row, int col, int atr, const char* str) { #if defined(__USE_NCURSES__) @@ -2069,25 +2084,52 @@ chtype _box_table(int type, int c) { // ------------------------------------------------------------------ -#if defined(__UNIX__) && !defined(__USE_NCURSES__) +#if defined(__UNIX__) void gvid_boxcvt(char* s) { + while(*s) + *s++ = (char)gvid_boxcvtc(*s); +} - while(*s) { - switch(*s) { - case 'Ú': *s = _box_table(8, 0); break; - case 'Ä': *s = _box_table(8, 1); break; - case '¿': *s = _box_table(8, 2); break; - case '³': *s = _box_table(8, 4); break; - case 'À': *s = _box_table(8, 5); break; - case 'Ù': *s = _box_table(8, 7); break; - case 'Å': *s = _box_table(8, 8); break; - case 'Ã': *s = _box_table(8, 9); break; - case '´': *s = _box_table(8, 10); break; - case 'Â': *s = _box_table(8, 11); break; - case 'Á': *s = _box_table(8, 12); break; +static unsigned long gvid_boxcvtc(char c) { + switch(c) { +#if 0 + case 'Ú': return _box_table(8, 0); + case 'Ä': return _box_table(8, 1); + case '¿': return _box_table(8, 2); + case '³': return _box_table(8, 4); + case 'À': return _box_table(8, 5); + case 'Ù': return _box_table(8, 7); + case 'Å': return _box_table(8, 8); + case 'Ã': return _box_table(8, 9); + case '´': return _box_table(8, 10); + case 'Â': return _box_table(8, 11); + case 'Á': return _box_table(8, 12); +#else + case 'Ú': return _box_table(0, 0); + case 'Ä': return _box_table(0, 1); + case '¿': return _box_table(0, 2); + case '³': return _box_table(0, 4); + case 'À': return _box_table(0, 5); + case 'Ù': return _box_table(0, 7); + case 'Å': return _box_table(0, 8); + case 'Ã': return _box_table(0, 9); + case '´': return _box_table(0, 10); + case 'Â': return _box_table(0, 11); + case 'Á': return _box_table(0, 12); + case 'É': return _box_table(1, 0); + case 'Í': return _box_table(1, 1); + case '»': return _box_table(1, 2); + case 'º': return _box_table(1, 4); + case 'È': return _box_table(1, 5); + case '¼': return _box_table(1, 7); + case 'Î': return _box_table(1, 8); + case 'Ì': return _box_table(1, 9); + case '¹': return _box_table(1, 10); + case 'Ë': return _box_table(1, 11); + case 'Ê': return _box_table(1, 12); +#endif } - s++; - } + return c; } #endif diff --git a/goldlib/gall/gwinall.h b/goldlib/gall/gwinall.h index fe89e9d..1f66254 100644 --- a/goldlib/gall/gwinall.h +++ b/goldlib/gall/gwinall.h @@ -376,6 +376,7 @@ int wprintf (const char* format, ...) __attribute__ ((format (printf, int wprintaf (int attr, const char* format, ...) __attribute__ ((format (printf, 2, 3))); int wprintfs (int wrow, int wcol, int attr, const char* format, ...) __attribute__ ((format (printf, 4, 5))); int wprints (int wrow, int wcol, int attr, const char* str); +int wprints_box (int wrow, int wcol, int attr, const char* str); int wprintvs (int wrow, int wcol, int attr, const vchar* str); int wprintns (int wrow, int wcol, int attr, const char* str, uint len, vchar fill=' ', int fill_attr=-1); int wprintsf (int wrow, int wcol, int attr, const char* format, const char* str); diff --git a/goldlib/gall/gwinbase.cpp b/goldlib/gall/gwinbase.cpp index 5b8f295..b7e0c20 100644 --- a/goldlib/gall/gwinbase.cpp +++ b/goldlib/gall/gwinbase.cpp @@ -886,6 +886,23 @@ int wprints(int wrow, int wcol, int attr, const char* str) { return gwin.werrno=W_NOERROR; } +int wprints_box(int wrow, int wcol, int attr, const char* str) { + + // check for active window + if(!gwin.total) + return gwin.werrno=W_NOACTIVE; + + // check for valid coordinates + #ifdef GOLD_WCHK + if(wchkcoord(wrow,wcol)) + return gwin.werrno=W_INVCOORD; + #endif + + const int &border = gwin.active->border; + vputs_box(gwin.active->srow+wrow+border,gwin.active->scol+wcol+border,attr,str); + return gwin.werrno=W_NOERROR; +} + // ------------------------------------------------------------------ // Displays a string inside active window