Merge branch 'qt-utf16' of https://github.com/chasonr/NetHack into NetHack-3.7
This commit is contained in:
@@ -145,7 +145,9 @@ ifdef WANT_WIN_QT
|
|||||||
WINCFLAGS += -DQT_GRAPHICS
|
WINCFLAGS += -DQT_GRAPHICS
|
||||||
WINSRC += $(WINQTSRC)
|
WINSRC += $(WINQTSRC)
|
||||||
WINOBJ0 += $(WINQTOBJ)
|
WINOBJ0 += $(WINQTOBJ)
|
||||||
|
ifndef WANT_WIN_QT4
|
||||||
SNDCFLAGS += -DSND_LIB_QTSOUND
|
SNDCFLAGS += -DSND_LIB_QTSOUND
|
||||||
|
endif #! WANT_WIN_QT4
|
||||||
HAVE_SNDLIB = 1
|
HAVE_SNDLIB = 1
|
||||||
NEEDS_SND_USERSOUNDS = 1
|
NEEDS_SND_USERSOUNDS = 1
|
||||||
NEEDS_SND_SEAUTOMAP = 1
|
NEEDS_SND_SEAUTOMAP = 1
|
||||||
|
|||||||
+2
-9
@@ -1043,7 +1043,7 @@ boolean NetHackQtBind::msgs_initd = false;
|
|||||||
static void Qt_positionbar(char *) {}
|
static void Qt_positionbar(char *) {}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(SND_LIB_QTSOUND) && !defined(NO_QT_SOUND)
|
#if defined(SND_LIB_QTSOUND) && !defined(QT_NO_SOUND)
|
||||||
void NetHackQtBind::qtsound_init_nhsound(void)
|
void NetHackQtBind::qtsound_init_nhsound(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@@ -1069,15 +1069,11 @@ void NetHackQtBind::qtsound_ambience(int32_t ambienceid UNUSED, int32_t ambience
|
|||||||
void NetHackQtBind::qtsound_verbal(char *text UNUSED, int32_t gender UNUSED, int32_t tone UNUSED, int32_t vol UNUSED, int32_t moreinfo UNUSED)
|
void NetHackQtBind::qtsound_verbal(char *text UNUSED, int32_t gender UNUSED, int32_t tone UNUSED, int32_t vol UNUSED, int32_t moreinfo UNUSED)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(USER_SOUNDS) && !defined(QT_NO_SOUND)
|
|
||||||
QSoundEffect *effect = NULL;
|
QSoundEffect *effect = NULL;
|
||||||
#endif
|
|
||||||
|
|
||||||
void NetHackQtBind::qtsound_play_usersound(char *filename, int32_t volume, int32_t idx UNUSED)
|
void NetHackQtBind::qtsound_play_usersound(char *filename, int32_t volume, int32_t idx UNUSED)
|
||||||
{
|
{
|
||||||
#if defined(USER_SOUNDS) && !defined(QT_NO_SOUND)
|
|
||||||
if (!effect)
|
if (!effect)
|
||||||
effect = new QSoundEffect(nethack_qt_::NetHackQtBind::mainWidget());
|
effect = new QSoundEffect(nethack_qt_::NetHackQtBind::mainWidget());
|
||||||
if (effect) {
|
if (effect) {
|
||||||
@@ -1086,11 +1082,8 @@ void NetHackQtBind::qtsound_play_usersound(char *filename, int32_t volume, int32
|
|||||||
effect->setSource(QUrl::fromLocalFile(filename));
|
effect->setSource(QUrl::fromLocalFile(filename));
|
||||||
effect->play();
|
effect->play();
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
nhUse(filename);
|
|
||||||
nhUse(volume);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
} // namespace nethack_qt_
|
} // namespace nethack_qt_
|
||||||
|
|
||||||
|
|||||||
+10
-1
@@ -211,8 +211,17 @@ void NetHackQtMapViewport::paintEvent(QPaintEvent* event)
|
|||||||
painter.setPen(Qt::green);
|
painter.setPen(Qt::green);
|
||||||
#endif
|
#endif
|
||||||
if (!DrawWalls(painter, i * gW, j * gH, gW, gH, ch)) {
|
if (!DrawWalls(painter, i * gW, j * gH, gW, gH, ch)) {
|
||||||
|
ushort utf16[3];
|
||||||
|
if (ch < 0x10000) {
|
||||||
|
utf16[0] = static_cast<ushort>(ch);
|
||||||
|
utf16[1] = 0;
|
||||||
|
} else {
|
||||||
|
utf16[0] = static_cast<ushort>((ch >> 10) + 0xD7C0);
|
||||||
|
utf16[1] = static_cast<ushort>((ch & 0x3FF) + 0xDC00);
|
||||||
|
utf16[2] = 0;
|
||||||
|
}
|
||||||
painter.drawText(i * gW, j * gH, gW, gH, Qt::AlignCenter,
|
painter.drawText(i * gW, j * gH, gW, gH, Qt::AlignCenter,
|
||||||
QString(QChar(ch)).left(1));
|
QString::fromUtf16(utf16));
|
||||||
}
|
}
|
||||||
if ((special & MG_PET) != 0 && ::iflags.hilite_pet) {
|
if ((special & MG_PET) != 0 && ::iflags.hilite_pet) {
|
||||||
painter.drawPixmap(QPoint(i * gW, j * gH),
|
painter.drawPixmap(QPoint(i * gW, j * gH),
|
||||||
|
|||||||
Reference in New Issue
Block a user