mirror of
https://github.com/libretro/scummvm.git
synced 2025-05-13 09:36:21 +00:00
AVALANCHE: Logger: replace namespace with class.
This commit is contained in:
parent
5ce7e689b4
commit
edaba46087
@ -25,235 +25,238 @@
|
||||
* Copyright (c) 1994-1995 Mike, Mark and Thomas Thurman.
|
||||
*/
|
||||
|
||||
/* LOGGER Handles the logging. */
|
||||
|
||||
#include "avalanche/logger2.h"
|
||||
#include "avalanche/gyro2.h"
|
||||
#include "avalanche/avalanche.h"
|
||||
//#include "avalanche/trip6.h"
|
||||
|
||||
#include "common/system.h"
|
||||
#include "common/textconsole.h"
|
||||
|
||||
namespace Avalanche {
|
||||
const char Logger::divide[] = "--- oOo ---";
|
||||
|
||||
namespace Logger {
|
||||
/* Epson codes:
|
||||
|
||||
const char divide[] = "--- oOo ---";
|
||||
startwith='';
|
||||
endwith='';
|
||||
double_width = #14; { shift out (SO) }
|
||||
double_off = #20; { device control 4 (DC4) }
|
||||
italic = #27+'4'; { switches italics on... }
|
||||
italic_off = #27+'5'; { and off. }
|
||||
emph_on = #27+#69;
|
||||
emph_off = #27+#70;
|
||||
divide_indent = 15;
|
||||
|
||||
/* Epson codes:
|
||||
*/
|
||||
|
||||
startwith='';
|
||||
endwith='';
|
||||
double_width = #14; { shift out (SO) }
|
||||
double_off = #20; { device control 4 (DC4) }
|
||||
italic = #27+'4'; { switches italics on... }
|
||||
italic_off = #27+'5'; { and off. }
|
||||
emph_on = #27+#69;
|
||||
emph_off = #27+#70;
|
||||
divide_indent = 15;
|
||||
/* L'jet codes: */
|
||||
|
||||
*/
|
||||
|
||||
/* L'jet codes: */
|
||||
|
||||
//// Not sure if these will be needed at all...
|
||||
//
|
||||
//const Common::String startwith = Common::String('\33') + '\50' + "10J" + '\130';
|
||||
//const Common::String endwith = Common::String('\33') + '\105';
|
||||
//const Common::String italic = Common::String('\33') + '\50' + '\163' + '\61' + '\123'; /* switches italics on... */
|
||||
//const Common::String italic_off = Common::String('\33') + '\50' + '\163' + '\60' + '\123'; /* and off. */
|
||||
//const Common::String emph_on = Common::String('\33') + '\50' + '\163' + '\63' + '\102';
|
||||
//const Common::String emph_off = Common::String('\33') + '\50' + '\163' + '\60' + '\102';
|
||||
//
|
||||
//const Common::String double_width = emph_on; /* There IS no double-width. */
|
||||
//const Common::String double_off = emph_off; /* So we'll have to use bold. */
|
||||
//// Not sure if these will be needed at all...
|
||||
//
|
||||
//const Common::String startwith = Common::String('\33') + '\50' + "10J" + '\130';
|
||||
//const Common::String endwith = Common::String('\33') + '\105';
|
||||
//const Common::String italic = Common::String('\33') + '\50' + '\163' + '\61' + '\123'; /* switches italics on... */
|
||||
//const Common::String italic_off = Common::String('\33') + '\50' + '\163' + '\60' + '\123'; /* and off. */
|
||||
//const Common::String emph_on = Common::String('\33') + '\50' + '\163' + '\63' + '\102';
|
||||
//const Common::String emph_off = Common::String('\33') + '\50' + '\163' + '\60' + '\102';
|
||||
//
|
||||
//const Common::String double_width = emph_on; /* There IS no double-width. */
|
||||
//const Common::String double_off = emph_off; /* So we'll have to use bold. */
|
||||
|
||||
|
||||
const Common::String quote = "ª";
|
||||
const Common::String unquote = "º";
|
||||
const Common::String copyright = "(c)";
|
||||
const int16 divide_indent = 30;
|
||||
|
||||
Common::String scroll_line;
|
||||
byte scroll_line_length;
|
||||
const Common::String Logger::quote = "ª";
|
||||
const Common::String Logger::unquote = "º";
|
||||
const Common::String Logger::copyright = "(c)";
|
||||
const int16 Logger::divide_indent = 30;
|
||||
|
||||
void centre(byte size, byte x) { /* Prints req'd number of spaces. */
|
||||
byte fv;
|
||||
if (! Gyro::logging) return;
|
||||
|
||||
warning("STUB: Logger::centre()");
|
||||
/*for (fv = 1; fv <= size - (x / 2); fv ++)
|
||||
output << logfile << ' ';*/
|
||||
|
||||
void Logger::setParent(AvalancheEngine *vm) {
|
||||
_vm = vm;
|
||||
}
|
||||
|
||||
void Logger::centre(byte size, byte x) { /* Prints req'd number of spaces. */
|
||||
byte fv;
|
||||
|
||||
if (! _vm->_gyro.logging) return;
|
||||
|
||||
warning("STUB: Logger::centre()");
|
||||
/*for (fv = 1; fv <= size - (x / 2); fv ++)
|
||||
output << logfile << ' ';*/
|
||||
}
|
||||
|
||||
void Logger::log_setup(Common::String name, bool printing) { /* Sets up. */
|
||||
|
||||
warning("STUB: Logger::log_setup()");
|
||||
|
||||
/* assign(logfile, name);
|
||||
rewrite(logfile);
|
||||
output << logfile << startwith;
|
||||
log_epson = printing;
|
||||
logging = true;
|
||||
|
||||
if (! printing) {
|
||||
quote = '"';
|
||||
unquote = '"';
|
||||
copyright = "(c)";
|
||||
}*/
|
||||
}
|
||||
|
||||
void Logger::log_divider() { /* Prints the divider sign. */
|
||||
byte fv;
|
||||
if (! _vm->_gyro.logging) return;
|
||||
|
||||
warning("STUB: Logger::log_divider()");
|
||||
|
||||
/*if (_vm->_gyro.log_epson) {
|
||||
output << logfile << Common::String(' ') + double_width;
|
||||
for (fv = 1; fv <= divide_indent; fv ++) output << logfile << ' ';
|
||||
output << logfile << Common::String(' ') + double_off;
|
||||
} else
|
||||
for (fv = 1; fv <= 36; fv ++) output << logfile << ' ';
|
||||
output << logfile << divide << NL;*/
|
||||
}
|
||||
|
||||
void Logger::log_command(Common::String x) { /* Prints a command */
|
||||
if (! _vm->_gyro.logging) return;
|
||||
|
||||
warning("STUB: Logger::log_command()");
|
||||
|
||||
/*if (_vm->_gyro.log_epson)
|
||||
output << logfile << double_width + '>' + double_off + ' ' + italic + x + italic_off << NL;
|
||||
else
|
||||
output << logfile << Common::String("> ") + x << NL;*/
|
||||
}
|
||||
|
||||
void Logger::log_addstuff(Common::String x) {
|
||||
if (! _vm->_gyro.logging) return;
|
||||
scroll_line += x;
|
||||
}
|
||||
|
||||
void Logger::log_scrollchar(Common::String x) { /* print one character */
|
||||
Common::String z;
|
||||
if (! _vm->_gyro.logging) return;
|
||||
switch (x[1]) {
|
||||
case '`':
|
||||
z = quote;
|
||||
break; /* Open quotes: "66" */
|
||||
case '"':
|
||||
z = unquote;
|
||||
break; /* Close quotes: "99" */
|
||||
case '\357':
|
||||
z = copyright;
|
||||
break; /* Copyright sign. */
|
||||
default:
|
||||
z = x;
|
||||
}
|
||||
log_addstuff(z);
|
||||
scroll_line_length += z.size();
|
||||
}
|
||||
|
||||
void log_setup(Common::String name, bool printing) { /* Sets up. */
|
||||
void Logger::log_italic() {
|
||||
if (! _vm->_gyro.logging) return;
|
||||
|
||||
warning("STUB: Logger::log_setup()");
|
||||
warning("STUB: Logger::log_italic()");
|
||||
|
||||
/* assign(logfile, name);
|
||||
rewrite(logfile);
|
||||
output << logfile << startwith;
|
||||
log_epson = printing;
|
||||
logging = true;
|
||||
/*if (_vm->_gyro.log_epson)
|
||||
log_addstuff(italic);
|
||||
else
|
||||
log_addstuff("*");*/
|
||||
}
|
||||
|
||||
if (! printing) {
|
||||
quote = '"';
|
||||
unquote = '"';
|
||||
copyright = "(c)";
|
||||
}*/
|
||||
}
|
||||
void Logger::log_roman() {
|
||||
if (! _vm->_gyro.logging) return;
|
||||
|
||||
void log_divider() { /* Prints the divider sign. */
|
||||
byte fv;
|
||||
if (! Gyro::logging) return;
|
||||
warning("STUB: Logger::log_roman()");
|
||||
|
||||
warning("STUB: Logger::log_divider()");
|
||||
/* if (_vm->_gyro.log_epson)
|
||||
log_addstuff(italic_off);
|
||||
else
|
||||
log_addstuff("*");*/
|
||||
}
|
||||
|
||||
/*if (Gyro::log_epson) {
|
||||
output << logfile << Common::String(' ') + double_width;
|
||||
for (fv = 1; fv <= divide_indent; fv ++) output << logfile << ' ';
|
||||
output << logfile << Common::String(' ') + double_off;
|
||||
} else
|
||||
for (fv = 1; fv <= 36; fv ++) output << logfile << ' ';
|
||||
output << logfile << divide << NL;*/
|
||||
}
|
||||
void Logger::log_epsonroman() { /* This only sends the Roman code if you're on Epson.*/
|
||||
if (! _vm->_gyro.logging) return;
|
||||
|
||||
void log_command(Common::String x) { /* Prints a command */
|
||||
if (! Gyro::logging) return;
|
||||
warning("STUB: Logger::log_epsonroman()");
|
||||
|
||||
warning("STUB: Logger::log_command()");
|
||||
//if (_vm->_gyro.log_epson) log_addstuff(italic_off);
|
||||
}
|
||||
|
||||
/*if (Gyro::log_epson)
|
||||
output << logfile << double_width + '>' + double_off + ' ' + italic + x + italic_off << NL;
|
||||
else
|
||||
output << logfile << Common::String("> ") + x << NL;*/
|
||||
}
|
||||
void Logger::log_scrollline() { /* Set up a line for the scroll driver */
|
||||
scroll_line_length = 0;
|
||||
scroll_line = "";
|
||||
}
|
||||
|
||||
void log_addstuff(Common::String x) {
|
||||
if (! Gyro::logging) return;
|
||||
scroll_line += x;
|
||||
}
|
||||
void Logger::log_scrollendline(bool centred) {
|
||||
byte x, fv;
|
||||
if (! _vm->_gyro.logging) return;
|
||||
x = 17;
|
||||
if (centred) x += (50 - scroll_line_length) / 2;
|
||||
|
||||
void log_scrollchar(Common::String x) { /* print one character */
|
||||
Common::String z;
|
||||
if (! Gyro::logging) return;
|
||||
switch (x[1]) {
|
||||
case '`':
|
||||
z = quote;
|
||||
break; /* Open quotes: "66" */
|
||||
case '"':
|
||||
z = unquote;
|
||||
break; /* Close quotes: "99" */
|
||||
case '\357':
|
||||
z = copyright;
|
||||
break; /* Copyright sign. */
|
||||
default:
|
||||
z = x;
|
||||
}
|
||||
log_addstuff(z);
|
||||
scroll_line_length += z.size();
|
||||
}
|
||||
warning("STUB: Logger::log_scrollendline()");
|
||||
|
||||
void log_italic() {
|
||||
if (! Gyro::logging) return;
|
||||
/*for (fv = 1; fv <= x; fv ++) output << logfile << ' ';
|
||||
output << logfile << scroll_line << NL;*/
|
||||
}
|
||||
|
||||
warning("STUB: Logger::log_italic()");
|
||||
void Logger::log_bubbleline(byte linenum, byte whom, Common::String x) {
|
||||
byte fv;
|
||||
if (! _vm->_gyro.logging) return;
|
||||
|
||||
/*if (Gyro::log_epson)
|
||||
log_addstuff(italic);
|
||||
else
|
||||
log_addstuff("*");*/
|
||||
}
|
||||
warning("STUB: Logger::log_bubbleline()");
|
||||
|
||||
void log_roman() {
|
||||
if (! Gyro::logging) return;
|
||||
/*if (linenum == 1) {
|
||||
for (fv = 1; fv <= 15; fv ++) output << logfile << ' ';
|
||||
output << logfile << italic + tr[whom].a.name + ": " + italic_off + x << NL;
|
||||
} else {
|
||||
for (fv = 1; fv <= 17; fv ++) output << logfile << ' ';
|
||||
output << logfile << x << NL;
|
||||
}*/
|
||||
}
|
||||
|
||||
warning("STUB: Logger::log_roman()");
|
||||
void Logger::log_newline() {
|
||||
warning("STUB: Logger::log_newline()");
|
||||
|
||||
/* if (Gyro::log_epson)
|
||||
log_addstuff(italic_off);
|
||||
else
|
||||
log_addstuff("*");*/
|
||||
}
|
||||
//if (_vm->_gyro.logging) output << logfile << NL;
|
||||
}
|
||||
|
||||
void log_epsonroman() { /* This only sends the Roman code if you're on Epson.*/
|
||||
if (! Gyro::logging) return;
|
||||
void Logger::log_newroom(Common::String where) {
|
||||
byte fv;
|
||||
if (! _vm->_gyro.logging) return;
|
||||
|
||||
warning("STUB: Logger::log_epsonroman()");
|
||||
warning("STUB: Logger::log_newroom()");
|
||||
|
||||
//if (Gyro::log_epson) log_addstuff(italic_off);
|
||||
}
|
||||
/*for (fv = 1; fv <= 20; fv ++) output << logfile << ' ';
|
||||
if (_vm->_gyro.log_epson) output << logfile << emph_on;
|
||||
output << logfile << Common::String('(') + where + ')';
|
||||
if (_vm->_gyro.log_epson) output << logfile << emph_off;
|
||||
output << logfile << NL;*/
|
||||
}
|
||||
|
||||
void log_scrollline() { /* Set up a line for the scroll driver */
|
||||
scroll_line_length = 0;
|
||||
scroll_line = "";
|
||||
}
|
||||
void Logger::log_aside(Common::String what)
|
||||
/* This writes "asides" to the printer. For example, moves in Nim. */
|
||||
{
|
||||
if (! _vm->_gyro.logging) return;
|
||||
|
||||
void log_scrollendline(bool centred) {
|
||||
byte x, fv;
|
||||
if (! Gyro::logging) return;
|
||||
x = 17;
|
||||
if (centred) x += (50 - scroll_line_length) / 2;
|
||||
warning("STUB: Logger::log_aside()");
|
||||
|
||||
warning("STUB: Logger::log_scrollendline()");
|
||||
//output << logfile << " (" << italic << what << italic_off << ')' << NL;
|
||||
/* "What" is what to write. */
|
||||
}
|
||||
|
||||
/*for (fv = 1; fv <= x; fv ++) output << logfile << ' ';
|
||||
output << logfile << scroll_line << NL;*/
|
||||
}
|
||||
void Logger::log_score(uint16 credit, uint16 now) {
|
||||
byte fv;
|
||||
if (! _vm->_gyro.logging) return;
|
||||
|
||||
void log_bubbleline(byte linenum, byte whom, Common::String x) {
|
||||
byte fv;
|
||||
if (! Gyro::logging) return;
|
||||
warning("STUB: Logger::log_score()");
|
||||
|
||||
warning("STUB: Logger::log_bubbleline()");
|
||||
|
||||
/*if (linenum == 1) {
|
||||
for (fv = 1; fv <= 15; fv ++) output << logfile << ' ';
|
||||
output << logfile << italic + tr[whom].a.name + ": " + italic_off + x << NL;
|
||||
} else {
|
||||
for (fv = 1; fv <= 17; fv ++) output << logfile << ' ';
|
||||
output << logfile << x << NL;
|
||||
}*/
|
||||
}
|
||||
|
||||
void log_newline() {
|
||||
warning("STUB: Logger::log_newline()");
|
||||
|
||||
//if (Gyro::logging) output << logfile << NL;
|
||||
}
|
||||
|
||||
void log_newroom(Common::String where) {
|
||||
byte fv;
|
||||
if (! Gyro::logging) return;
|
||||
|
||||
warning("STUB: Logger::log_newroom()");
|
||||
|
||||
/*for (fv = 1; fv <= 20; fv ++) output << logfile << ' ';
|
||||
if (Gyro::log_epson) output << logfile << emph_on;
|
||||
output << logfile << Common::String('(') + where + ')';
|
||||
if (Gyro::log_epson) output << logfile << emph_off;
|
||||
output << logfile << NL;*/
|
||||
}
|
||||
|
||||
void log_aside(Common::String what)
|
||||
/* This writes "asides" to the printer. For example, moves in Nim. */
|
||||
{
|
||||
if (! Gyro::logging) return;
|
||||
|
||||
warning("STUB: Logger::log_aside()");
|
||||
|
||||
//output << logfile << " (" << italic << what << italic_off << ')' << NL;
|
||||
/* "What" is what to write. */
|
||||
}
|
||||
|
||||
void log_score(uint16 credit, uint16 now) {
|
||||
byte fv;
|
||||
if (! Gyro::logging) return;
|
||||
|
||||
warning("STUB: Logger::log_score()");
|
||||
|
||||
/*for (fv = 1; fv <= 50; fv ++) output << logfile << ' ';
|
||||
output << logfile << "Score " << italic << "credit : " << credit << italic_off << " total : " << now << NL;*/
|
||||
}
|
||||
|
||||
} // End of namespace Logger
|
||||
/*for (fv = 1; fv <= 50; fv ++) output << logfile << ' ';
|
||||
output << logfile << "Score " << italic << "credit : " << credit << italic_off << " total : " << now << NL;*/
|
||||
}
|
||||
|
||||
} // End of namespace Avalanche
|
||||
|
@ -25,14 +25,21 @@
|
||||
* Copyright (c) 1994-1995 Mike, Mark and Thomas Thurman.
|
||||
*/
|
||||
|
||||
/* LOGGER Handles the logging. */
|
||||
|
||||
#ifndef LOGGER2_H
|
||||
#define LOGGER2_H
|
||||
|
||||
#include "common/system.h"
|
||||
#include "common/scummsys.h"
|
||||
#include "common/str.h"
|
||||
|
||||
|
||||
namespace Avalanche {
|
||||
class AvalancheEngine;
|
||||
|
||||
namespace Logger {
|
||||
class Logger {
|
||||
public:
|
||||
void setParent(AvalancheEngine *vm);
|
||||
|
||||
void log_setup(Common::String name, bool printing);
|
||||
|
||||
@ -62,7 +69,24 @@ namespace Avalanche {
|
||||
|
||||
void log_score(uint16 credit, uint16 now);
|
||||
|
||||
} // End of namespace Logger
|
||||
private:
|
||||
AvalancheEngine *_vm;
|
||||
|
||||
static const char divide[];
|
||||
|
||||
static const Common::String quote;
|
||||
static const Common::String unquote;
|
||||
static const Common::String copyright;
|
||||
static const int16 divide_indent;
|
||||
|
||||
Common::String scroll_line;
|
||||
byte scroll_line_length;
|
||||
|
||||
void centre(byte size, byte x);
|
||||
|
||||
void log_addstuff(Common::String x);
|
||||
|
||||
};
|
||||
|
||||
} // End of namespace Avalanche
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user