--- a/src/news_gui.cpp Wed Jun 13 11:17:30 2007 +0000
+++ b/src/news_gui.cpp Wed Jun 13 11:45:14 2007 +0000
@@ -427,7 +427,7 @@
w = AllocateWindowDesc(&_news_type13_desc);
if (ni->flags & NF_VIEWPORT)
AssignWindowViewport(w, 2, 58, 0x1AA, 0x6E,
- ni->data_a | (ni->flags & NF_VEHICLE ? 0x80000000 : 0), 0);
+ ni->data_a | (ni->flags & NF_VEHICLE ? 0x80000000 : 0), ZOOM_LVL_NEWS);
break;
}
@@ -436,7 +436,7 @@
w = AllocateWindowDesc(&_news_type2_desc);
if (ni->flags & NF_VIEWPORT)
AssignWindowViewport(w, 2, 58, 0x1AA, 0x46,
- ni->data_a | (ni->flags & NF_VEHICLE ? 0x80000000 : 0), 0);
+ ni->data_a | (ni->flags & NF_VEHICLE ? 0x80000000 : 0), ZOOM_LVL_NEWS);
break;
}
@@ -445,7 +445,7 @@
w = AllocateWindowDesc(&_news_type0_desc);
if (ni->flags & NF_VIEWPORT)
AssignWindowViewport(w, 3, 17, 0x112, 0x2F,
- ni->data_a | (ni->flags & NF_VEHICLE ? 0x80000000 : 0), 0);
+ ni->data_a | (ni->flags & NF_VEHICLE ? 0x80000000 : 0), ZOOM_LVL_NEWS);
break;
}
}
@@ -620,15 +620,21 @@
* from it such as big fonts, etc. */
ptr = buffer;
dest = buffer2;
+ WChar c_last = '\0';
for (;;) {
WChar c = Utf8Consume(&ptr);
if (c == 0) break;
- if (c == '\r') {
+ /* Make a space from a newline, but ignore multiple newlines */
+ if (c == '\n' && c_last != '\n') {
+ dest[0] = ' ';
+ dest++;
+ } else if (c == '\r') {
dest[0] = dest[1] = dest[2] = dest[3] = ' ';
dest += 4;
} else if (IsPrintable(c)) {
dest += Utf8Encode(dest, c);
}
+ c_last = c;
}
*dest = '\0';