Qt's 3.6 status conditions

Replace the blank placeholder icon with individual placeholders
for Stone, Slime, Strngl, Deaf, Lev, Fly, and Ride.  They're just
40x40 tiles showing solid color (different for each) holding white
block letters spelling the condition.  For the first four of those,
the text runs from upper-left to lower-right, for Lev and Fly the
text runs from lower-left towards upper-right, and for Ride it's
horizontal.  Not particularly exciting but better than blank.  We
still need real artwork to make them be similar to the older
conditions.

Also moves the two petmarks and the pilemark from qt_xpms.h to
qt_map.cpp.  The marks and the assorted status icons are all
static arrays, and including that header in two source files
meant that they were all duplicated unless the compiler or linker
was smart enough to discard the unused ones.
This commit is contained in:
PatR
2020-09-23 16:40:26 -07:00
parent b672511513
commit 10d80eb150
4 changed files with 402 additions and 50 deletions

View File

@@ -1,5 +1,5 @@
# NetHack Makefile.
# NetHack 3.7 Makefile.src $NHDT-Date: 1597704252 2020/08/17 22:44:12 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.107 $
# NetHack 3.7 Makefile.src $NHDT-Date: 1600904413 2020/09/23 23:40:13 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.108 $
# Copyright (c) 2018 by Pasi Kallinen
# NetHack may be freely redistributed. See license for details.
@@ -900,9 +900,8 @@ qt_main.o: ../win/Qt/qt_main.cpp $(HACK_H) ../win/Qt/qt_pre.h \
qt_map.o: ../win/Qt/qt_map.cpp $(HACK_H) ../win/Qt/qt_pre.h \
../win/Qt/qt_post.h ../win/Qt/qt_map.h ../win/Qt/qt_win.h \
../win/Qt/qt_clust.h qt_map.moc ../win/Qt/qt_click.h \
../win/Qt/qt_glyph.h ../win/Qt/qt_xpms.h ../win/Qt/qt_set.h \
../win/Qt/qt_bind.h ../win/Qt/qt_main.h ../win/Qt/qt_kde0.h \
../win/Qt/qt_str.h
../win/Qt/qt_glyph.h ../win/Qt/qt_set.h ../win/Qt/qt_bind.h \
../win/Qt/qt_main.h ../win/Qt/qt_kde0.h ../win/Qt/qt_str.h
$(CXX) $(CXXFLAGS) -c -o $@ ../win/Qt/qt_map.cpp
qt_menu.o: ../win/Qt/qt_menu.cpp $(HACK_H) ../win/Qt/qt_pre.h \
../win/Qt/qt_post.h ../win/Qt/qt_menu.h ../win/Qt/qt_win.h \

View File

@@ -18,10 +18,57 @@ extern "C" {
#include "qt_map.moc"
#include "qt_click.h"
#include "qt_glyph.h"
#include "qt_xpms.h"
#include "qt_set.h"
#include "qt_str.h"
// pet- and pile-mark xpm arrays moved out of qt_xpms.h so that we don't
// include it here anymore; including that header in two files resulted in
// two copies of all the static xpm data and all the rest is for qt_stat.cpp
//
/* XPM */
static const char *pet_mark_xpm[] = {
/* width height ncolors chars_per_pixel */
"8 7 2 1",
/* colors */
". c None",
" c #FF0000",
/* pixels */
"........",
".. . .",
". ",
". ",
".. .",
"... ..",
".... ..."
};
/* XPM */
static const char *pet_mark_small_xpm[] = {
/* width height ncolors chars_per_pixel */
"5 5 2 1",
/* colors */
". c None",
"X c #FF0000",
/* pixels */
".X.X.",
"XXXXX",
".XXX.",
"..X.."
};
/* XPM */
static const char *pile_mark_xpm[] = {
/* width height ncolors chars_per_pixel */
"5 5 2 1",
/* colors */
". c None",
"X c #00FF00",
/* pixels */
"..X..",
"..X..",
"XXXXX",
"..X..",
"..X.."
};
// temporary
extern int qt_compact_mode;
// end temporary

View File

@@ -88,19 +88,19 @@ NetHackQtStatusWindow::NetHackQtStatusWindow() :
p_encumber[3] = QPixmap(ext_enc_xpm);
p_encumber[4] = QPixmap(ovr_enc_xpm);
p_stoned = QPixmap(blank_xpm); // placeholder icon
p_slimed = QPixmap(blank_xpm); // placeholder icon
p_strngld = QPixmap(blank_xpm); // placeholder icon
p_stoned = QPixmap(stone_xpm);
p_slimed = QPixmap(slime_xpm);
p_strngld = QPixmap(strngl_xpm);
p_sick_fp = QPixmap(sick_fp_xpm);
p_sick_il = QPixmap(sick_il_xpm);
p_stunned = QPixmap(stunned_xpm);
p_confused = QPixmap(confused_xpm);
p_hallu = QPixmap(hallu_xpm);
p_blind = QPixmap(blind_xpm);
p_deaf = QPixmap(blank_xpm); // placeholder icon
p_lev = QPixmap(blank_xpm); // placeholder icon
p_fly = QPixmap(blank_xpm); // placeholder icon
p_ride = QPixmap(blank_xpm); // placeholder icon
p_deaf = QPixmap(deaf_xpm);
p_lev = QPixmap(lev_xpm);
p_fly = QPixmap(fly_xpm);
p_ride = QPixmap(ride_xpm);
str.setIcon(p_str);
dex.setIcon(p_dex);

View File

@@ -1,4 +1,9 @@
// qt_xpms.h - static xpm arrays for use in status display
//
// In alhpabetical order by array name. Probably not the best ordering...
/* clang-format off */
#if 0 // blank icon for use as placeholder
/* XPM */
static const char *blank_xpm[] = {
/* width height ncolors chars_per_pixel */
@@ -52,6 +57,7 @@ static const char *blank_xpm[] = {
"........................................",
"........................................"
};
#endif
static const char *blind_xpm[] = {
/* width height ncolors chars_per_pixel */
"40 40 5 1",
@@ -391,6 +397,55 @@ static const char *confused_xpm[] = {
#endif
};
/* XPM */
static const char *deaf_xpm[] = { // placeholder for Deaf condition
/* width height ncolors chars_per_pixel */
"40 40 2 1",
/* colors */
"X c None",
"o c #dfdf40",
/* pixels */
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooXXXXooooooooooooooooooooooooooooX",
"XooooooXoooXoooooooooooooooooooooooooooX",
"XooooooXoooXoooooooooooooooooooooooooooX",
"XooooooXoooXoooooooooooooooooooooooooooX",
"XooooooXoooXoooooooooooooooooooooooooooX",
"XooooooXoooXooXXXXXooooooooooooooooooooX",
"XooooooXXXXoooXooooooooooooooooooooooooX",
"XoooooooooooooXooooooooooooooooooooooooX",
"XoooooooooooooXXXXoooooooooooooooooooooX",
"XoooooooooooooXooooooooooooooooooooooooX",
"XoooooooooooooXooooooooXoooooooooooooooX",
"XoooooooooooooXXXXXoooXoXooooooooooooooX",
"XooooooooooooooooooooXoooXoooooooooooooX",
"XooooooooooooooooooooXoooXoooooooooooooX",
"XooooooooooooooooooooXXXXXoooooooooooooX",
"XooooooooooooooooooooXoooXooXXXXXooooooX",
"XooooooooooooooooooooXoooXooXooooooooooX",
"XoooooooooooooooooooooooooooXooooooooooX",
"XoooooooooooooooooooooooooooXXXXoooooooX",
"XoooooooooooooooooooooooooooXooooooooooX",
"XoooooooooooooooooooooooooooXooooooooooX",
"XoooooooooooooooooooooooooooXooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
};
/* XPM */
static const char *dex_xpm[] = {
/* width height ncolors chars_per_pixel */
"40 40 19 1",
@@ -517,6 +572,104 @@ static const char *ext_enc_xpm[] = {
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"
};
/* XPM */
static const char *fly_xpm[] = { // placeholder for Flying condition
/* width height ncolors chars_per_pixel */
"40 40 2 1",
/* colors */
"X c None",
"o c #7fefef",
/* pixels */
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooXoooXoooooooooooX",
"XooooooooooooooooooooooXoooXoooooooooooX",
"XoooooooooooooooooXoooooXoXooooooooooooX",
"XoooooooooooooooooXoooooXoXooooooooooooX",
"XooooooooooXXXXXooXooooooXoooooooooooooX",
"XooooooooooXooooooXooooooXoooooooooooooX",
"XooooooooooXooooooXooooooXoooooooooooooX",
"XooooooooooXXXXoooXooooooooooooooooooooX",
"XooooooooooXooooooXXXXoooooooooooooooooX",
"XooooooooooXoooooooooooooooooooooooooooX",
"XooooooooooXoooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
};
/* XPM */
static const char *lev_xpm[] = { // placeholder for Levitating condition
/* width height ncolors chars_per_pixel */
"40 40 2 1",
/* colors */
"X c None",
"o c #df1010",
/* pixels */
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooXoooooXoooooooooX",
"XooooooooooooooooooooooXoooooXoooooooooX",
"XoooooooooooooooXXXXXoooXoooXooooooooooX",
"XoooooooooooooooXoooooooXoooXooooooooooX",
"XoooooooooXoooooXooooooooXoXoooooooooooX",
"XoooooooooXoooooXXXXoooooXoXoooooooooooX",
"XoooooooooXoooooXoooooooooXooooooooooooX",
"XoooooooooXoooooXooooooooooooooooooooooX",
"XoooooooooXoooooXXXXXooooooooooooooooooX",
"XoooooooooXooooooooooooooooooooooooooooX",
"XoooooooooXXXXoooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
};
/* XPM */
static const char *hallu_xpm[] = {
/* width height ncolors chars_per_pixel */
"40 40 30 1",
@@ -1013,47 +1166,53 @@ static const char *ovr_enc_xpm[] = {
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"
};
/* XPM */
static const char *pet_mark_xpm[] = {
static const char *ride_xpm[] = { // placeholder for Riding condition
/* width height ncolors chars_per_pixel */
"8 7 2 1",
"40 40 2 1",
/* colors */
". c None",
" c #FF0000",
"X c None",
"o c #df7f00",
/* pixels */
"........",
".. . .",
". ",
". ",
".. .",
"... ..",
".... ..."
};
/* XPM */
static const char *pet_mark_small_xpm[] = {
/* width height ncolors chars_per_pixel */
"5 5 2 1",
/* colors */
". c None",
"X c #FF0000",
/* pixels */
".X.X.",
"XXXXX",
".XXX.",
"..X.."
};
/* XPM */
static const char *pile_mark_xpm[] = {
/* width height ncolors chars_per_pixel */
"5 5 2 1",
/* colors */
". c None",
"X c #00FF00",
/* pixels */
"..X..",
"..X..",
"XXXXX",
"..X..",
"..X.."
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XoooooooXXXXoooXXXooXXXXoooXXXXXoooooooX",
"XoooooooXoooXoooXoooXoooXooXoooooooooooX",
"XoooooooXoooXoooXoooXoooXooXoooooooooooX",
"XoooooooXXXXooooXoooXoooXooXXXXooooooooX",
"XoooooooXoXoooooXoooXoooXooXoooooooooooX",
"XoooooooXooXooooXoooXoooXooXoooooooooooX",
"XoooooooXoooXooXXXooXXXXoooXXXXXoooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
};
/* XPM */
static const char *satiated_xpm[] = {
@@ -1273,6 +1432,55 @@ static const char *sick_il_xpm[] = {
"#################$#$####################"
};
/* XPM */
static const char *slime_xpm[] = { // placeholder for Slimed condition
/* width height ncolors chars_per_pixel */
"40 40 2 1",
/* colors */
"X c None",
"o c #40df40",
/* pixels */
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooXXXoooooooooooooooooooooooooooooooX",
"XoooXooooooooooooooooooooooooooooooooooX",
"XoooXooooooooooooooooooooooooooooooooooX",
"XooooXXXoooooooooooooooooooooooooooooooX",
"XoooooooXooooooooooooooooooooooooooooooX",
"XoooooooXooXoooooooooooooooooooooooooooX",
"XooooXXXoooXoooooooooooooooooooooooooooX",
"XooooooooooXoooooooooooooooooooooooooooX",
"XooooooooooXoooooooooooooooooooooooooooX",
"XooooooooooXooooooXXXooooooooooooooooooX",
"XooooooooooXoooooooXoooooooooooooooooooX",
"XooooooooooXXXXXoooXoooooooooooooooooooX",
"XooooooooooooooooooXoooooooooooooooooooX",
"XooooooooooooooooooXoooooooooooooooooooX",
"XooooooooooooooooooXoooXoooooXoooooooooX",
"XoooooooooooooooooXXXooXXoooXXoooooooooX",
"XooooooooooooooooooooooXXXoXXXoooooooooX",
"XooooooooooooooooooooooXoXXXoXoooooooooX",
"XooooooooooooooooooooooXooXooXoooooooooX",
"XooooooooooooooooooooooXoooooXooXXXXXooX",
"XooooooooooooooooooooooXoooooXooXooooooX",
"XoooooooooooooooooooooooooooooooXooooooX",
"XoooooooooooooooooooooooooooooooXXXXoooX",
"XoooooooooooooooooooooooooooooooXooooooX",
"XoooooooooooooooooooooooooooooooXooooooX",
"XoooooooooooooooooooooooooooooooXXXXXooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
};
/* XPM */
static const char *slt_enc_xpm[] = {
/* width height ncolors chars_per_pixel */
"40 40 13 1",
@@ -1333,6 +1541,55 @@ static const char *slt_enc_xpm[] = {
"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"
};
/* XPM */
static const char *stone_xpm[] = { // placeholder for Stoned condition
/* width height ncolors chars_per_pixel */
"40 40 2 1",
/* colors */
"X c None",
"o c #6c91b6",
/* pixels */
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooXXXoooooooooooooooooooooooooooooooX",
"XoooXooooooooooooooooooooooooooooooooooX",
"XoooXooooooooooooooooooooooooooooooooooX",
"XooooXXXoooooooooooooooooooooooooooooooX",
"XoooooooXooooooooooooooooooooooooooooooX",
"XoooooooXooXXXXXoooooooooooooooooooooooX",
"XooooXXXoooooXoooooooooooooooooooooooooX",
"XooooooooooooXoooooooooooooooooooooooooX",
"XooooooooooooXoooooooooooooooooooooooooX",
"XooooooooooooXooooXXXooooooooooooooooooX",
"XooooooooooooXoooXoooXoooooooooooooooooX",
"XooooooooooooXoooXoooXoooooooooooooooooX",
"XooooooooooooooooXoooXoooooooooooooooooX",
"XooooooooooooooooXoooXoooooooooooooooooX",
"XooooooooooooooooXoooXooXoooXooooooooooX",
"XoooooooooooooooooXXXoooXXooXooooooooooX",
"XoooooooooooooooooooooooXXooXooooooooooX",
"XoooooooooooooooooooooooXoXoXooooooooooX",
"XoooooooooooooooooooooooXooXXooooooooooX",
"XoooooooooooooooooooooooXooXXooXXXXXoooX",
"XoooooooooooooooooooooooXoooXooXoooooooX",
"XooooooooooooooooooooooooooooooXoooooooX",
"XooooooooooooooooooooooooooooooXXXXooooX",
"XooooooooooooooooooooooooooooooXoooooooX",
"XooooooooooooooooooooooooooooooXoooooooX",
"XooooooooooooooooooooooooooooooXXXXXoooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
};
/* XPM */
static const char *str_xpm[] = {
/* width height ncolors chars_per_pixel */
"40 40 17 1",
@@ -1397,6 +1654,55 @@ static const char *str_xpm[] = {
"++++++++++++++++++++++++++++++++++++++++"
};
/* XPM */
static const char *strngl_xpm[] = { // placeholder for Strangled condition
/* width height ncolors chars_per_pixel */
"40 40 2 1",
/* colors */
"X c None",
"o c #bf40ff",
/* pixels */
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooXXXoooooooooooooooooooooooooooooooooX",
"XoXooooooooooooooooooooooooooooooooooooX",
"XoXooooooooooooooooooooooooooooooooooooX",
"XoXXXXoooooooooooooooooooooooooooooooooX",
"XoooooXooooooooooooooooooooooooooooooooX",
"XoooooXooXXXXXoooooooooooooooooooooooooX",
"XooXXXoooooXoooooooooooooooooooooooooooX",
"XooooooooooXoooooooooooooooooooooooooooX",
"XooooooooooXoooooooooooooooooooooooooooX",
"XooooooooooXoooooooooooooooooooooooooooX",
"XooooooooooXooXXXXoooooooooooooooooooooX",
"XooooooooooXooXoooXooooooooooooooooooooX",
"XoooooooooooooXoooXooooooooooooooooooooX",
"XoooooooooooooXXXXoooooooooooooooooooooX",
"XoooooooooooooXoXooooooooooooooooooooooX",
"XoooooooooooooXooXoooXoooXoooooooooooooX",
"XoooooooooooooXoooXooXXooXoooooooooooooX",
"XooooooooooooooooooooXXooXoooooooooooooX",
"XooooooooooooooooooooXoXoXoooooooooooooX",
"XooooooooooooooooooooXooXXoooooooooooooX",
"XooooooooooooooooooooXooXXoooXXXoooooooX",
"XooooooooooooooooooooXoooXooXooooooooooX",
"XoooooooooooooooooooooooooooXooooooooooX",
"XoooooooooooooooooooooooooooXoXXXooooooX",
"XoooooooooooooooooooooooooooXoooXooooooX",
"XoooooooooooooooooooooooooooXoooXooXoooX",
"XooooooooooooooooooooooooooooXXXoooXoooX",
"XooooooooooooooooooooooooooooooooooXoooX",
"XooooooooooooooooooooooooooooooooooXoooX",
"XooooooooooooooooooooooooooooooooooXoooX",
"XooooooooooooooooooooooooooooooooooXoooX",
"XooooooooooooooooooooooooooooooooooXXXXX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XooooooooooooooooooooooooooooooooooooooX",
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
};
/* XPM */
static const char *stunned_xpm[] = {
/* width height ncolors chars_per_pixel */
"40 40 12 1",