doomlegacy-devel: Update to SVN revision 1522
- Remove pkgsrc patch for Bug #659 (merged upstream) - Update man page - Update TODO
This commit is contained in:
parent
ac528a206c
commit
9944df5d4b
|
@ -2,7 +2,7 @@
|
|||
|
||||
VERS= 1.47.2
|
||||
#PKGNAME= doomlegacy-${VERS}
|
||||
SVNVERS= 1518
|
||||
SVNVERS= 1522
|
||||
DISTNAME= doomlegacy-devel-0r${SVNVERS}
|
||||
CATEGORIES= games
|
||||
|
||||
|
|
|
@ -98,25 +98,47 @@ On some maps the rendering is broken (only in parts of the map).
|
|||
Part 5 finished.
|
||||
|
||||
|
||||
Part 6: Import final release
|
||||
============================
|
||||
|
||||
[ ] Import version 1.48.2
|
||||
Not released yet
|
||||
|
||||
|
||||
Part 7: Support for extended nodes
|
||||
==================================
|
||||
[X] Add patch to support DeeP and ZDoom extended nodes
|
||||
This code is based on woof 1.2.0
|
||||
[X] Created upstream feature request #95
|
||||
|
||||
|
||||
Part 8: Fix output of ENDOOM lump to terminal
|
||||
Part 6: Fix output of ENDOOM lump to terminal
|
||||
=============================================
|
||||
Documentation says "-noendtext" to disable output, but the implementation
|
||||
uses "-noendtxt".
|
||||
|
||||
[X] Add patch to fix endianess
|
||||
[X] Add patch to fix interpretation of blinking flag
|
||||
[X] Add patch to convert text from IBM437 codepage to Unicode
|
||||
[X] Reported upstream as Bug #659
|
||||
[X] Fixed in SVN revision 1521
|
||||
=> "-noendtext", as documented, was added
|
||||
=> Works as expected (Reported in bugtracker for #659)
|
||||
[X] pkgsrc patch removed
|
||||
[X] man page updated
|
||||
|
||||
Part 6 finished.
|
||||
|
||||
|
||||
Part 7: Import final release
|
||||
============================
|
||||
|
||||
[ ] Import version 1.48.3
|
||||
Not released yet
|
||||
|
||||
|
||||
Part 8: Support for extended nodes
|
||||
==================================
|
||||
[X] Add patch to support DeeP and ZDoom extended nodes
|
||||
This code is based on woof 1.2.0
|
||||
Fixes Bug #657
|
||||
[X] Created upstream feature request #95
|
||||
=> Deferred (not considered for 1.48 release)
|
||||
|
||||
|
||||
Part 9: Support for internal blockmap creation
|
||||
==============================================
|
||||
Make it possible to play maps with broken blockmaps (or no blockmaps at all).
|
||||
|
||||
[ ] Fix for NOVA II (Bug #658)
|
||||
[ ] Fix for NOVA III (blockmaps missing completely)
|
||||
[ ] Command line option "-blockmap" like in PrBoom+
|
||||
|
||||
|
||||
EOF
|
||||
|
|
|
@ -9,4 +9,3 @@ SHA1 (patch-src_am__map.c) = 14b3c8b70c63778ad043827ab2f0b6f4fe07bcde
|
|||
SHA1 (patch-src_doomdata.h) = 8c3186dafbf11a8a75262a06755dd9807cb58612
|
||||
SHA1 (patch-src_p__setup.c) = 526a5dcf97d4b2db3d05a8c655126fcd70deac21
|
||||
SHA1 (patch-src_r__defs.h) = 91e6543674e3474c9afdb0ba19d6869b658d0543
|
||||
SHA1 (patch-src_sdl_endtxt.c) = 4a9fe6a2eb271b04a499d83e51f288527c93e2ff
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
.\" Copyright (c) 2019-2020 by Michael Baeuerle.
|
||||
.\" License: GNU Free Documentation License (GFDL)
|
||||
.\"
|
||||
.TH $NAME 6 2020-04-29 Unix "$NAME $VERSION manual"
|
||||
.TH $NAME 6 2020-05-05 Unix "$NAME $VERSION manual"
|
||||
.\"
|
||||
.\"
|
||||
.\"=============================================================================
|
||||
|
@ -109,7 +109,12 @@ This also determines the game mode when -game is not used.
|
|||
.BI -noendtext
|
||||
Suppress the game EndText screen, which could disrupt some terminal emulations
|
||||
because of the special character attributes used.
|
||||
.TP
|
||||
.PP
|
||||
.RS 25
|
||||
For encoding of EndText data see config.cfg file entry textout.
|
||||
Supported values: Off, Vanilla, UTF8.
|
||||
.RE
|
||||
.TP 25
|
||||
.BI -opengl
|
||||
Hardware accelerated rendering using the OpenGL library.
|
||||
Will use hardware acceleration for OpenGL if available.
|
||||
|
|
|
@ -1,299 +0,0 @@
|
|||
$NetBSD$
|
||||
|
||||
Fix printing of exit text from ENDOOM lump.
|
||||
This works only if the terminal uses an Unicode locale and can handle
|
||||
ANSI control sequences.
|
||||
|
||||
Upstream bug report:
|
||||
https://sourceforge.net/p/doomlegacy/bugs/659/
|
||||
|
||||
--- src/sdl/endtxt.c.orig 2020-04-29 12:06:57.000000000 +0000
|
||||
+++ src/sdl/endtxt.c
|
||||
@@ -28,13 +28,35 @@
|
||||
#include "w_wad.h"
|
||||
#include "z_zone.h"
|
||||
#include "m_argv.h"
|
||||
+#include "m_swap.h"
|
||||
+
|
||||
+// [MB] 2020-04-28: Added UTF-8 sequences for IBM437 codepage
|
||||
+static const char *cp437[256] =
|
||||
+{
|
||||
+ " ", "\xE2\x98\xBA", "\xE2\x98\xBB", "\xE2\x99\xA5", "\xE2\x99\xA6", "\xE2\x99\xA3", "\xE2\x99\xA0", "\xE2\x80\xA2", "\xE2\x97\x98", "\xE2\x97\x8B", "\xE2\x97\x99", "\xE2\x99\x82", "\xE2\x99\x80", "\xE2\x99\xAA", "\xE2\x99\xAB", "\xE2\x98\xBC",
|
||||
+ "\xE2\x96\xBA", "\xE2\x97\x84", "\xE2\x86\x95", "\xE2\x80\xBC", "\xC2\xB6", "\xC2\xA7", "\xE2\x96\xAC", "\xE2\x86\xA8", "\xE2\x86\x91", "\xE2\x86\x93", "\xE2\x86\x92", "\xE2\x86\x90", "\xE2\x88\x9F", "\xE2\x86\x94", "\xE2\x96\xB2", "\xE2\x96\xBC",
|
||||
+ " ", "!", "\x22", "#", "$", "%", "&", "\x27", "(", ")", "*", "+", ",", "-", ".", "/",
|
||||
+ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ":", ";", "<", "=", ">", "?",
|
||||
+ "@", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O",
|
||||
+ "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "[", "\x5C", "]", "^", "_",
|
||||
+ "\x60", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o",
|
||||
+ "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "{", "\xC2\xA6", "}", "~", "\xE2\x8C\x82",
|
||||
+ "\xC3\x87", "\xC3\xBC", "\xC3\xA9", "\xC3\xA2", "\xC3\xA4", "\xC3\xA0", "\xC3\xA5", "\xC3\xA7", "\xC3\xAA", "\xC3\xAB", "\xC3\xA8", "\xC3\xAF", "\xC3\xAE", "\xC3\xAC", "\xC3\x84", "\xC3\x85",
|
||||
+ "\xC3\x89", "\xC3\xA6", "\xC3\x86", "\xC3\xB4", "\xC3\xB6", "\xC3\xB2", "\xC3\xBB", "\xC3\xB9", "\xC3\xBF", "\xC3\x96", "\xC3\x9C", "\xC2\xA2", "\xC2\xA3", "\xC2\xA5", "\xE2\x82\xA7", "\xC6\x92",
|
||||
+ "\xC3\xA1", "\xC3\xAD", "\xC3\xB3", "\xC3\xBA", "\xC3\xB1", "\xC3\x91", "\xC2\xAA", "\xC2\xBA", "\xC2\xBF", "\xE2\x8C\x90", "\xC2\xAC", "\xC2\xBD", "\xC2\xBC", "\xC2\xA1", "\xC2\xAB", "\xC2\xBB",
|
||||
+ "\xE2\x96\x91", "\xE2\x96\x92", "\xE2\x96\x93", "\xE2\x94\x82", "\xE2\x94\xA4", "\xE2\x95\xA1", "\xE2\x95\xA2", "\xE2\x95\x96", "\xE2\x95\x95", "\xE2\x95\xA3", "\xE2\x95\x91", "\xE2\x95\x97", "\xE2\x95\x9D", "\xE2\x95\x9C", "\xE2\x95\x9B", "\xE2\x94\x90",
|
||||
+ "\xE2\x94\x94", "\xE2\x94\xB4", "\xE2\x94\xAC", "\xE2\x94\x9C", "\xE2\x94\x80", "\xE2\x94\xBC", "\xE2\x95\x9E", "\xE2\x95\x9F", "\xE2\x95\x9A", "\xE2\x95\x94", "\xE2\x95\xA9", "\xE2\x95\xA6", "\xE2\x95\xA0", "\xE2\x95\x90", "\xE2\x95\xAC", "\xE2\x95\xA7",
|
||||
+ "\xE2\x95\xA8", "\xE2\x95\xA4", "\xE2\x95\xA5", "\xE2\x95\x99", "\xE2\x95\x98", "\xE2\x95\x92", "\xE2\x95\x93", "\xE2\x95\xAB", "\xE2\x95\xAA", "\xE2\x94\x98", "\xE2\x94\x8C", "\xE2\x96\x88", "\xE2\x96\x84", "\xE2\x96\x8C", "\xE2\x96\x90", "\xE2\x96\x80",
|
||||
+ "\xCE\xB1", "\xC3\x9F", "\xCE\x93", "\xCF\x80", "\xCE\xA3", "\xCF\x83", "\xC2\xB5", "\xCF\x84", "\xCE\xA6", "\xCE\x98", "\xCE\xA9", "\xCE\xB4", "\xE2\x88\x9E", "\xCF\x86", "\xCE\xB5", "\xE2\x88\xA9",
|
||||
+ "\xE2\x89\xA1", "\xC2\xB1", "\xE2\x89\xA5", "\xE2\x89\xA4", "\xE2\x8C\xA0", "\xE2\x8C\xA1", "\xC3\xB7", "\xE2\x89\x88", "\xC2\xB0", "\xE2\x88\x99", "\xC2\xB7", "\xE2\x88\x9A", "\xE2\x81\xBF", "\xC2\xB2", "\xE2\x96\xA0", " "
|
||||
+};
|
||||
|
||||
// [WDJ] Changed to public interface name.
|
||||
// Original name was ShowEndText.
|
||||
void I_Show_EndText( uint16_t * text )
|
||||
{
|
||||
- int i, j;
|
||||
- int att = 0;
|
||||
+ int i;
|
||||
+ int c, att, bg, fg;
|
||||
int nlflag = 1;
|
||||
#if 0
|
||||
unsigned short *text;
|
||||
@@ -59,127 +81,137 @@ void I_Show_EndText( uint16_t * text )
|
||||
|
||||
/* print 80x25 text and deal with the attributes too */
|
||||
for (i=1; i<=80*25; i++) {
|
||||
+ // [MB] 2020-04-26: Reset color configuration
|
||||
+ printf("\033[0m");
|
||||
/* attribute first */
|
||||
- /* attribute changed? */
|
||||
- if ((j = *text >> 8) != att) {
|
||||
- /* save current attribute */
|
||||
- att = j;
|
||||
- /* set new attribute, forground color first */
|
||||
- printf("\033[");
|
||||
- switch (j & 0x0f) {
|
||||
- case 0: /* black */
|
||||
- printf("30");
|
||||
- break;
|
||||
- case 1: /* blue */
|
||||
- printf("34");
|
||||
- break;
|
||||
- case 2: /* green */
|
||||
- printf("32");
|
||||
- break;
|
||||
- case 3: /* cyan */
|
||||
- printf("36");
|
||||
- break;
|
||||
- case 4: /* red */
|
||||
- printf("31");
|
||||
- break;
|
||||
- case 5: /* magenta */
|
||||
- printf("35");
|
||||
- break;
|
||||
- case 6: /* brown */
|
||||
- printf("33");
|
||||
- break;
|
||||
- case 7: /* bright grey */
|
||||
- printf("37");
|
||||
- break;
|
||||
- case 8: /* dark grey */
|
||||
- printf("1;30");
|
||||
- break;
|
||||
- case 9: /* bright blue */
|
||||
- printf("1;34");
|
||||
- break;
|
||||
- case 10: /* bright green */
|
||||
- printf("1;32");
|
||||
- break;
|
||||
- case 11: /* bright cyan */
|
||||
- printf("1;36");
|
||||
- break;
|
||||
- case 12: /* bright red */
|
||||
- printf("1;31");
|
||||
- break;
|
||||
- case 13: /* bright magenta */
|
||||
- printf("1;35");
|
||||
- break;
|
||||
- case 14: /* yellow */
|
||||
- printf("1;33");
|
||||
- break;
|
||||
- case 15: /* white */
|
||||
- printf("1;37");
|
||||
- break;
|
||||
- }
|
||||
- printf("m");
|
||||
- /* now background color */
|
||||
- printf("\033[");
|
||||
- switch((j >> 4) & 0x0f) {
|
||||
- case 0: /* black */
|
||||
- printf("40");
|
||||
- break;
|
||||
- case 1: /* blue */
|
||||
- printf("44");
|
||||
- break;
|
||||
- case 2: /* green */
|
||||
- printf("42");
|
||||
- break;
|
||||
- case 3: /* cyan */
|
||||
- printf("46");
|
||||
- break;
|
||||
- case 4: /* red */
|
||||
- printf("41");
|
||||
- break;
|
||||
- case 5: /* magenta */
|
||||
- printf("45");
|
||||
- break;
|
||||
- case 6: /* brown */
|
||||
- printf("43");
|
||||
- break;
|
||||
- case 7: /* bright grey */
|
||||
- printf("47");
|
||||
- break;
|
||||
- case 8: /* dark grey */
|
||||
- printf("1;40");
|
||||
- break;
|
||||
- case 9: /* bright blue */
|
||||
- printf("1;44");
|
||||
- break;
|
||||
- case 10: /* bright green */
|
||||
- printf("1;42");
|
||||
- break;
|
||||
- case 11: /* bright cyan */
|
||||
- printf("1;46");
|
||||
- break;
|
||||
- case 12: /* bright red */
|
||||
- printf("1;41");
|
||||
- break;
|
||||
- case 13: /* bright magenta */
|
||||
- printf("1;45");
|
||||
- break;
|
||||
- case 14: /* yellow */
|
||||
- printf("1;43");
|
||||
- break;
|
||||
- case 15: /* white */
|
||||
- printf("1;47");
|
||||
- break;
|
||||
- }
|
||||
- printf("m");
|
||||
+ // [MB] 2020-04-26: Fixed endianess
|
||||
+ att = ((uint16_t)LE_SWAP16(*text)) >> 8;
|
||||
+#if 0 // [MB] 2020-04-26: Blink support does not work correctly
|
||||
+ if(att & 0x80)
|
||||
+ printf("\033[5m");
|
||||
+#endif
|
||||
+ /* set new attribute, forground color first */
|
||||
+ fg = att & 0x0f;
|
||||
+ printf("\033[");
|
||||
+ switch (fg) {
|
||||
+ case 0: /* black */
|
||||
+ printf("30");
|
||||
+ break;
|
||||
+ case 1: /* blue */
|
||||
+ printf("34");
|
||||
+ break;
|
||||
+ case 2: /* green */
|
||||
+ printf("32");
|
||||
+ break;
|
||||
+ case 3: /* cyan */
|
||||
+ printf("36");
|
||||
+ break;
|
||||
+ case 4: /* red */
|
||||
+ printf("31");
|
||||
+ break;
|
||||
+ case 5: /* magenta */
|
||||
+ printf("35");
|
||||
+ break;
|
||||
+ case 6: /* brown */
|
||||
+ printf("33");
|
||||
+ break;
|
||||
+ case 7: /* bright grey */
|
||||
+ printf("37");
|
||||
+ break;
|
||||
+ case 8: /* dark grey */
|
||||
+ printf("1;30");
|
||||
+ break;
|
||||
+ case 9: /* bright blue */
|
||||
+ printf("1;34");
|
||||
+ break;
|
||||
+ case 10: /* bright green */
|
||||
+ printf("1;32");
|
||||
+ break;
|
||||
+ case 11: /* bright cyan */
|
||||
+ printf("1;36");
|
||||
+ break;
|
||||
+ case 12: /* bright red */
|
||||
+ printf("1;31");
|
||||
+ break;
|
||||
+ case 13: /* bright magenta */
|
||||
+ printf("1;35");
|
||||
+ break;
|
||||
+ case 14: /* yellow */
|
||||
+ printf("1;33");
|
||||
+ break;
|
||||
+ case 15: /* white */
|
||||
+ printf("1;37");
|
||||
+ break;
|
||||
+ }
|
||||
+ printf("m");
|
||||
+ /* now background color */
|
||||
+ bg = (att >> 4) & 0x0f;
|
||||
+ printf("\033[");
|
||||
+ // [MB] 2020-04-26: Mask only bg color bits here
|
||||
+ switch(bg & 0x07) {
|
||||
+ case 0: /* black */
|
||||
+ printf("40");
|
||||
+ break;
|
||||
+ case 1: /* blue */
|
||||
+ printf("44");
|
||||
+ break;
|
||||
+ case 2: /* green */
|
||||
+ printf("42");
|
||||
+ break;
|
||||
+ case 3: /* cyan */
|
||||
+ printf("46");
|
||||
+ break;
|
||||
+ case 4: /* red */
|
||||
+ printf("41");
|
||||
+ break;
|
||||
+ case 5: /* magenta */
|
||||
+ printf("45");
|
||||
+ break;
|
||||
+ case 6: /* brown */
|
||||
+ printf("43");
|
||||
+ break;
|
||||
+ case 7: /* bright grey */
|
||||
+ printf("47");
|
||||
+ break;
|
||||
+#if 0 // [MB] 2020-04-26: Not available for bg color (MSB is the blink flag)
|
||||
+ case 8: /* dark grey */
|
||||
+ printf("1;40");
|
||||
+ break;
|
||||
+ case 9: /* bright blue */
|
||||
+ printf("1;44");
|
||||
+ break;
|
||||
+ case 10: /* bright green */
|
||||
+ printf("1;42");
|
||||
+ break;
|
||||
+ case 11: /* bright cyan */
|
||||
+ printf("1;46");
|
||||
+ break;
|
||||
+ case 12: /* bright red */
|
||||
+ printf("1;41");
|
||||
+ break;
|
||||
+ case 13: /* bright magenta */
|
||||
+ printf("1;45");
|
||||
+ break;
|
||||
+ case 14: /* yellow */
|
||||
+ printf("1;43");
|
||||
+ break;
|
||||
+ case 15: /* white */
|
||||
+ printf("1;47");
|
||||
+ break;
|
||||
+#endif
|
||||
}
|
||||
+ printf("m");
|
||||
|
||||
/* now the text */
|
||||
- putchar(*text++ & 0xff);
|
||||
+ // [MB] 2020-04-26: Fixed endianess
|
||||
+ c = (uint16_t)LE_SWAP16(*text++) & 0xff;
|
||||
+ // [MB] 2020-04-26: Convert data to Unicode and print as UTF-8
|
||||
+ printf(cp437[c]);
|
||||
|
||||
/* do we need a nl? */
|
||||
if (nlflag) {
|
||||
if (!(i % 80)) {
|
||||
printf("\033[0m");
|
||||
- att = 0;
|
||||
printf("\n");
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue