1
0
Fork 0

ANSI emulation is activated for the session when an escape sequence is encountered other than those used by internal messages. Fixes LucasArts setup programs (Bug #458) provided that ANSI emulation is not activated.

Compatible scroll fill for ANSI emulation.

Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4097
This commit is contained in:
ripsaw8080 2018-05-03 16:49:48 +00:00
parent c7ced14d56
commit 630b9befb5
4 changed files with 28 additions and 9 deletions

View file

@ -138,6 +138,7 @@ void Program::WriteOut(const char * format,...) {
va_end(msg);
Bit16u size = (Bit16u)strlen(buf);
dos.internal_output=true;
for(Bit16u i = 0; i < size;i++) {
Bit8u out;Bit16u s=1;
if (buf[i] == 0xA && last_written_character != 0xD) {
@ -146,6 +147,7 @@ void Program::WriteOut(const char * format,...) {
last_written_character = out = buf[i];
DOS_WriteFile(STDOUT,&out,&s);
}
dos.internal_output=false;
// DOS_WriteFile(STDOUT,(Bit8u *)buf,&size);
}
@ -153,6 +155,7 @@ void Program::WriteOut(const char * format,...) {
void Program::WriteOut_NoParsing(const char * format) {
Bit16u size = (Bit16u)strlen(format);
char const* buf = format;
dos.internal_output=true;
for(Bit16u i = 0; i < size;i++) {
Bit8u out;Bit16u s=1;
if (buf[i] == 0xA && last_written_character != 0xD) {
@ -161,6 +164,7 @@ void Program::WriteOut_NoParsing(const char * format) {
last_written_character = out = buf[i];
DOS_WriteFile(STDOUT,&out,&s);
}
dos.internal_output=false;
// DOS_WriteFile(STDOUT,(Bit8u *)format,&size);
}