I wrote a quick kludge to display experience similar to the gtk client. I don't know if this should be in the official version, but some other players might find it useful. Enjoy. :) Index: x11.c =================================================================== RCS file: /cvsroot/crossfire/client/x11/x11.c,v retrieving revision 1.6 diff -c -r1.6 x11.c *** x11.c 15 Jan 2002 07:33:01 -0000 1.6 --- x11.c 20 Mar 2002 12:11:07 -0000 *************** *** 1076,1082 **** stathint.x=INV_WIDTH + WINDOW_SPACING; stathint.y=0; stathint.width=GAME_WIDTH; ! stathint.height=100; stathint.min_width=stathint.max_width=stathint.width; stathint.min_height=stathint.max_height=stathint.height; stathint.flags=PPosition | PSize; --- 1076,1082 ---- stathint.x=INV_WIDTH + WINDOW_SPACING; stathint.y=0; stathint.width=GAME_WIDTH; ! stathint.height=140; stathint.min_width=stathint.max_width=stathint.width; stathint.min_height=stathint.max_height=stathint.height; stathint.flags=PPosition | PSize; *************** *** 1107,1112 **** --- 1107,1114 ---- void draw_stats(int redraw) { char buff[MAX_BUF]; static char last_name[MAX_BUF]="", last_range[MAX_BUF]=""; + int i; + char *s; if (strcmp(cpl.title, last_name) || redraw) { strcpy(last_name,cpl.title); *************** *** 1236,1241 **** --- 1238,1270 ---- XDrawImageString(display,win_stats, gc_stats,10,94, buff,strlen(buff)); } + + if (redraw) { + i = 0; + } else { + for (i=0; i<MAX_SKILL; i++) { + if (cpl.stats.skill_level[i] != last_stats.skill_level[i] || + cpl.stats.skill_exp[i] != last_stats.skill_exp[i]) + break; + } + } + + if (i < MAX_SKILL) { + *buff = '\0'; + s = buff; + for (i=0; i<MAX_SKILL; i++) { + last_stats.skill_level[i] = cpl.stats.skill_level[i]; + last_stats.skill_exp[i] = cpl.stats.skill_exp[i]; + s += sprintf(s,"%.3s: %5d (%d) ", skill_names[i], cpl.stats.skill_exp[i], + cpl.stats.skill_level[i]); + if ((i % 2) == 1) { + XDrawImageString(display,win_stats,gc_stats,10, + 108 + (14 * (i / 2)), buff,strlen(buff)); + *buff = '\0'; + s = buff; + } + } + } } /*********************************************************************** *************** *** 2645,2650 **** --- 2674,2680 ---- load_defaults(); /* Load these first, so they can get overwritten by * command line options. */ + want_skill_exp=1; for (on_arg=1; on_arg<argc; on_arg++) { if (!strcmp(argv[on_arg],"-display")) { if (++on_arg == argc) {