[Scummvm-cvs-logs] CVS: scummvm/saga actionmap.cpp,1.21,1.22 actor.cpp,1.22,1.23 animation.cpp,1.20,1.21 console.cpp,1.10,1.11 console.h,1.3,1.4 cvar.cpp,1.10,1.11 events.cpp,1.19,1.20 input.cpp,1.9,1.10 interface.cpp,1.19,1.20 objectmap.cpp,1.17,1.18 render.cpp,1.29,1.30 saga.cpp,1.42,1.43 saga.h,1.32,1.33 scene.cpp,1.26,1.27 script.cpp,1.17,1.18 sdebug.cpp,1.14,1.15 sfuncs.cpp,1.13,1.14 sstack.cpp,1.7,1.8 sthread.cpp,1.18,1.19 console_mod.h,1.2,NONE

Eugene Sandulenko sev at users.sourceforge.net
Tue Aug 10 11:33:07 CEST 2004


Update of /cvsroot/scummvm/scummvm/saga
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2912

Modified Files:
	actionmap.cpp actor.cpp animation.cpp console.cpp console.h 
	cvar.cpp events.cpp input.cpp interface.cpp objectmap.cpp 
	render.cpp saga.cpp saga.h scene.cpp script.cpp sdebug.cpp 
	sfuncs.cpp sstack.cpp sthread.cpp 
Removed Files:
	console_mod.h 
Log Message:
Move CON_* to a class.


Index: actionmap.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/actionmap.cpp,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- actionmap.cpp	2 Aug 2004 16:20:34 -0000	1.21
+++ actionmap.cpp	10 Aug 2004 18:31:32 -0000	1.22
@@ -26,7 +26,7 @@
 
 #include "saga/cvar_mod.h"
 #include "saga/gfx.h"
-#include "saga/console_mod.h"
+#include "saga/console.h"
 
 #include "saga/actionmap.h"
 
@@ -183,10 +183,10 @@
 		return;
 	}
 
-	CON_Print("%d exits loaded.\n", _n_exits);
+	_vm->_console->print("%d exits loaded.\n", _n_exits);
 
 	for (i = 0; i < _n_exits; i++) {
-		CON_Print ("Action %d: Exit to: %d; Pts: %d; Unk0: %d Unk2: %d Scr_N: %d",
+		_vm->_console->print ("Action %d: Exit to: %d; Pts: %d; Unk0: %d Unk2: %d Scr_N: %d",
 				   i, _exits_tbl[i].exit_scene,
 				   _exits_tbl[i].pt_count,
 				   _exits_tbl[i].unknown00,
@@ -196,7 +196,7 @@
 		for (pt_i = 0; pt_i < _exits_tbl[i].pt_count; pt_i++) {
 			pt = &_exits_tbl[i].pt_tbl[pt_i];
 
-			CON_Print("   pt: %d (%d, %d)", pt_i, pt->x, pt->y);
+			_vm->_console->print("   pt: %d (%d, %d)", pt_i, pt->x, pt->y);
 		}
 	}
 }

Index: actor.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/actor.cpp,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -d -r1.22 -r1.23
--- actor.cpp	3 Aug 2004 01:07:34 -0000	1.22
+++ actor.cpp	10 Aug 2004 18:31:32 -0000	1.23
@@ -27,7 +27,7 @@
 
 #include "saga/game_mod.h"
 #include "saga/cvar_mod.h"
-#include "saga/console_mod.h"
+#include "saga/console.h"
 #include "saga/rscfile_mod.h"
 #include "saga/script_mod.h"
 #include "saga/sndres.h"
@@ -1139,26 +1139,24 @@
 
 	actor = ((Actor *)refCon)->lookupActor(index);
 	if (actor == NULL) {
-		CON_Print("Invalid actor index.");
+		_vm->_console->print("Invalid actor index.");
 
 		return;
 	}
 
 	if ((action_n < 0) || (action_n >= actor->action_ct)) {
-		CON_Print("Invalid action number.");
+		_vm->_console->print("Invalid action number.");
 
 		return;
 	}
 
-	CON_Print("Action frame counts: %d %d %d %d.",
+	_vm->_console->print("Action frame counts: %d %d %d %d.",
 			actor->act_tbl[action_n].dir[0].frame_count,
 			actor->act_tbl[action_n].dir[1].frame_count,
 			actor->act_tbl[action_n].dir[2].frame_count,
 			actor->act_tbl[action_n].dir[3].frame_count);
 
 	((Actor *)refCon)->setAction(index, action_n, ACTION_LOOP);
-
-	return;
 }
 
 } // End of namespace Saga

Index: animation.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/animation.cpp,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- animation.cpp	2 Aug 2004 16:20:34 -0000	1.20
+++ animation.cpp	10 Aug 2004 18:31:32 -0000	1.21
@@ -26,7 +26,7 @@
 #include "saga/gfx.h"
 
 #include "saga/cvar_mod.h"
-#include "saga/console_mod.h"
+#include "saga/console.h"
 #include "saga/game_mod.h"
 #include "saga/events_mod.h"
 #include "saga/render.h"
@@ -905,14 +905,14 @@
 
 	anim_ct = _anim_count;
 
-	CON_Print("There are %d animations loaded:", anim_ct);
+	_vm->_console->print("There are %d animations loaded:", anim_ct);
 
 	for (idx = 0, i = 0; i < anim_ct; idx++, i++) {
 		while (_anim_tbl[idx] == NULL) {
 			idx++;
 		}
 
-		CON_Print("%02d: Frames: %u Flags: %u", i, _anim_tbl[idx]->n_frames, _anim_tbl[idx]->flags);
+		_vm->_console->print("%02d: Frames: %u Flags: %u", i, _anim_tbl[idx]->n_frames, _anim_tbl[idx]->flags);
 	}
 }
 

Index: console.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/console.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- console.cpp	3 Aug 2004 00:06:18 -0000	1.10
+++ console.cpp	10 Aug 2004 18:31:32 -0000	1.11
@@ -29,55 +29,48 @@
 #include "saga/cvar_mod.h"
 #include "saga/events_mod.h"
 
-#include "saga/console_mod.h"
 #include "saga/console.h"
 
 namespace Saga {
 
-static R_CONSOLEINFO ConInfo = {
-	0,
-	R_CON_DEFAULTPOS,
-	R_CON_DEFAULTLINES,
-	R_CON_DEFAULTCMDS,
-	0,
-	0,
-	0,
-	0,
-	0,
-	"",
-	0
-};
-
-static R_CON_SCROLLBACK ConScrollback;
-static R_CON_SCROLLBACK ConHistory;
-
-static int CV_ConResize = R_CON_DEFAULTPOS;
-static int CV_ConDroptime = R_CON_DROPTIME;
-
-int CON_Register() {
-	CVAR_Register_I(&CV_ConResize, "con_h", NULL, R_CVAR_NONE, 12, R_CON_DEFAULTPOS);
-	CVAR_Register_I(&CV_ConDroptime, "con_droptime", NULL, R_CVAR_NONE, 0, 5000);
-	CVAR_Register_I(&ConInfo.line_max, "con_lines", NULL, R_CVAR_NONE, 5, 5000);
+int Console::reg() {
+	CVAR_Register_I(&_resize, "con_h", NULL, R_CVAR_NONE, 12, R_CON_DEFAULTPOS);
+	CVAR_Register_I(&_droptime, "con_droptime", NULL, R_CVAR_NONE, 0, 5000);
+	CVAR_Register_I(&_lineMax, "con_lines", NULL, R_CVAR_NONE, 5, 5000);
 	return R_SUCCESS;
 }
 
-int CON_Init() {
-	return R_SUCCESS;
-}
+Console::Console(SagaEngine *vm) : _vm(vm) {
+	memset(&_scrollback, 0, sizeof(_scrollback));
+	memset(&_history, 0, sizeof(_history));
 
-int CON_Shutdown() {
-	debug(0, "CON_Shutdown(): Deleting console scrollback and command history.");
+	_resize = R_CON_DEFAULTPOS;
+	_droptime = R_CON_DROPTIME;
 
-	CON_DeleteScroll(&ConScrollback);
-	CON_DeleteScroll(&ConHistory);
+	_active = false;
+	_yMax = R_CON_DEFAULTPOS;
+	_lineMax = R_CON_DEFAULTLINES;
+	_histMax = R_CON_DEFAULTCMDS;
+	_histPos = 0;
+	_linePos = 0;
+	_yPos = 0;
+	_prompt = NULL;
+	_promptW = 0;
+	*_inputBuf = 0;
+	_inputPos = 0;
+}
 
-	return R_SUCCESS;
+Console::~Console() {
+	debug(0, "~Console(): Deleting console scrollback and command history.");
+
+	deleteScroll(&_scrollback);
+	deleteScroll(&_history);
 }
 
-int CON_Activate() {
+int Console::activate() {
 	R_EVENT con_event;
 
-	if (ConInfo.active) {
+	if (_active) {
 		return R_FAILURE;
 	}
 
@@ -85,19 +78,19 @@
 	con_event.code = R_CONSOLE_EVENT | R_NODESTROY;
 	con_event.op = EVENT_ACTIVATE;
 	con_event.time = 0;
-	con_event.duration = CV_ConDroptime;
+	con_event.duration = _droptime;
 
 	EVENT_Queue(&con_event);
 
-	ConInfo.active = 1;
+	_active = true;
 
 	return R_SUCCESS;
 }
 
-int CON_Deactivate() {
+int Console::deactivate() {
 	R_EVENT con_event;
 
-	if (!ConInfo.active) {
+	if (!_active) {
 		return R_FAILURE;
 	}
 
@@ -105,23 +98,23 @@
 	con_event.code = R_CONSOLE_EVENT | R_NODESTROY;
 	con_event.op = EVENT_DEACTIVATE;
 	con_event.time = 0;
-	con_event.duration = CV_ConDroptime;
+	con_event.duration = _droptime;
 
 	EVENT_Queue(&con_event);
 
 	return R_SUCCESS;
 }
 
-int CON_IsActive(void) {
-	return ConInfo.active;
+bool Console::isActive(void) {
+	return _active;
 }
 
 // Responsible for processing character input to the console and maintaining
 // the console input buffer.
 // Input buffer is processed by EXPR_Parse on enter.
 // High ASCII characters are ignored.
-int CON_Type(int in_char) {
-	int input_pos = ConInfo.input_pos;
+int Console::type(int in_char) {
+	int input_pos = _inputPos;
 	const char *expr;
 	int expr_len;
 	int result;
@@ -133,7 +126,7 @@
 	const char *expr_err;
 	const char *err_str;
 
-	if (ConInfo.y_pos != ConInfo.y_max) {
+	if (_yPos != _yMax) {
 		// Ignore keypress until console fully down
 		return R_SUCCESS;
 	}
@@ -145,17 +138,17 @@
 
 	switch (in_char) {
 	case '\r':
-		expr = ConInfo.input_buf;
-		CON_Print("> %s", ConInfo.input_buf);
-		expr_len = strlen(ConInfo.input_buf);
+		expr = _inputBuf;
+		_vm->_console->print("> %s", _inputBuf);
+		expr_len = strlen(_inputBuf);
 		result = EXPR_Parse(&expr, &expr_len, &con_cvar, &rvalue);
-		CON_AddLine(&ConHistory, ConInfo.hist_max, ConInfo.input_buf);
-		memset(ConInfo.input_buf, 0, R_CON_INPUTBUF_LEN);
-		ConInfo.input_pos = 0;
-		ConInfo.hist_pos = 0;
+		_vm->_console->addLine(&_history, _histMax, _inputBuf);
+		memset(_inputBuf, 0, R_CON_INPUTBUF_LEN);
+		_inputPos = 0;
+		_histPos = 0;
 		if (result != R_SUCCESS) {
 			EXPR_GetError(&expr_err);
-			CON_Print("Parse error: %s", expr_err);
+			_vm->_console->print("Parse error: %s", expr_err);
 			break;
 		}
 
@@ -168,20 +161,20 @@
 			CVAR_Exec(con_cvar, rvalue);
 		} else if (CVAR_SetValue(con_cvar, rvalue) != R_SUCCESS) {
 			CVAR_GetError(&err_str);
-			CON_Print("Illegal assignment: %s.", err_str);
+			_vm->_console->print("Illegal assignment: %s.", err_str);
 		}
 		break;
 	case '\b':
-		ConInfo.input_buf[input_pos] = 0;
+		_inputBuf[input_pos] = 0;
 		if (input_pos > 0) {
-			ConInfo.input_pos--;
-			ConInfo.input_buf[ConInfo.input_pos] = 0;
+			_inputPos--;
+			_inputBuf[_inputPos] = 0;
 		}
 		break;
 	default:
 		if (input_pos < R_CON_INPUTBUF_LEN) {
-			ConInfo.input_buf[input_pos] = (char)in_char;
-			ConInfo.input_pos++;
+			_inputBuf[input_pos] = (char)in_char;
+			_inputPos++;
 		}
 		break;
 	}
@@ -192,7 +185,7 @@
 	return R_SUCCESS;
 }
 
-int CON_Draw(R_SURFACE *ds) {
+int Console::draw(R_SURFACE *ds) {
 	int line_y;
 	R_CONSOLE_LINE *walk_ptr;
 	R_CONSOLE_LINE *start_ptr;
@@ -201,32 +194,32 @@
 	R_RECT fill_rect;
 	int i;
 
-	if (!ConInfo.active) {
+	if (!_active) {
 		return R_FAILURE;
 	}
 
-	if (CV_ConResize != ConInfo.y_max) {
-		ConInfo.y_max = CV_ConResize;
-		ConInfo.y_pos = CV_ConResize;
+	if (_resize != _yMax) {
+		_yMax = _resize;
+		_yPos = _resize;
 	}
 
 	fill_rect.top = 0;
 	fill_rect.left = 0;
-	fill_rect.bottom = ConInfo.y_pos;
+	fill_rect.bottom = _yPos;
 	fill_rect.right = ds->buf_w - 1;
 
 	_vm->_gfx->drawRect(ds, &fill_rect, _vm->_gfx->matchColor(R_CONSOLE_BGCOLOR));
 	txt_fgcolor = _vm->_gfx->matchColor(R_CONSOLE_TXTCOLOR);
 	txt_shcolor = _vm->_gfx->matchColor(R_CONSOLE_TXTSHADOW);
 
-	_vm->_font->draw(SMALL_FONT_ID, ds, ">", 1, 2, ConInfo.y_pos - 10, txt_fgcolor, txt_shcolor, FONT_SHADOW);
-	_vm->_font->draw(SMALL_FONT_ID, ds, ConInfo.input_buf, strlen(ConInfo.input_buf),
-				10, ConInfo.y_pos - 10, txt_fgcolor, txt_shcolor, FONT_SHADOW);
+	_vm->_font->draw(SMALL_FONT_ID, ds, ">", 1, 2, _yPos - 10, txt_fgcolor, txt_shcolor, FONT_SHADOW);
+	_vm->_font->draw(SMALL_FONT_ID, ds, _inputBuf, strlen(_inputBuf),
+				10, _yPos - 10, txt_fgcolor, txt_shcolor, FONT_SHADOW);
 
-	line_y = ConInfo.y_pos - (R_CON_INPUT_H + R_CON_LINE_H);
-	start_ptr = ConScrollback.head;
+	line_y = _yPos - (R_CON_INPUT_H + R_CON_LINE_H);
+	start_ptr = _scrollback.head;
 
-	for (i = 0; i < ConInfo.line_pos; i++) {
+	for (i = 0; i < _linePos; i++) {
 		if (start_ptr->next) {
 			start_ptr = start_ptr->next;
 		} else {
@@ -244,33 +237,33 @@
 	return R_SUCCESS;
 }
 
-int CON_Print(const char *fmt_str, ...) {
+int Console::print(const char *fmt_str, ...) {
 	char vsstr_p[R_CON_PRINTFLIMIT + 1];
 	va_list argptr;
 	int ret_val;
 
 	va_start(argptr, fmt_str);
 	ret_val = vsprintf(vsstr_p, fmt_str, argptr);
-	CON_AddLine(&ConScrollback, ConInfo.line_max, vsstr_p);
+	_vm->_console->addLine(&_scrollback, _lineMax, vsstr_p);
 	va_end(argptr);
-	ConInfo.line_pos = 0;
+	_linePos = 0;
 
 	return ret_val;
 }
 
-int CON_CmdUp() {
-	R_CONSOLE_LINE *start_ptr = ConHistory.head;
+int Console::cmdUp() {
+	R_CONSOLE_LINE *start_ptr = _history.head;
 	int i;
 
 	if (!start_ptr) {
 		return R_SUCCESS;
 	}
 
-	if (ConInfo.hist_pos < ConHistory.lines) {
-		ConInfo.hist_pos++;
+	if (_histPos < _history.lines) {
+		_histPos++;
 	}
 
-	for (i = 1; (i < ConInfo.hist_pos); i++) {
+	for (i = 1; (i < _histPos); i++) {
 		if (start_ptr->next) {
 			start_ptr = start_ptr->next;
 		} else {
@@ -278,32 +271,32 @@
 		}
 	}
 
-	memset(ConInfo.input_buf, 0, R_CON_INPUTBUF_LEN);
-	strcpy(ConInfo.input_buf, start_ptr->str_p);
-	ConInfo.input_pos = start_ptr->str_len - 1;
+	memset(_inputBuf, 0, R_CON_INPUTBUF_LEN);
+	strcpy(_inputBuf, start_ptr->str_p);
+	_inputPos = start_ptr->str_len - 1;
 
-	debug(0, "History pos: %d/%d", ConInfo.hist_pos, ConHistory.lines);
+	debug(0, "History pos: %d/%d", _histPos, _history.lines);
 
 	return R_SUCCESS;
 }
 
-int CON_CmdDown(void) {
-	R_CONSOLE_LINE *start_ptr = ConHistory.head;
+int Console::cmdDown(void) {
+	R_CONSOLE_LINE *start_ptr = _history.head;
 	int i;
 
-	if (ConInfo.hist_pos == 1) {
+	if (_histPos == 1) {
 		debug(0, "Erased input buffer.");
-		memset(ConInfo.input_buf, 0, R_CON_INPUTBUF_LEN);
-		ConInfo.input_pos = 0;
-		ConInfo.hist_pos--;
+		memset(_inputBuf, 0, R_CON_INPUTBUF_LEN);
+		_inputPos = 0;
+		_histPos--;
 		return R_SUCCESS;
-	} else if (ConInfo.hist_pos) {
-		ConInfo.hist_pos--;
+	} else if (_histPos) {
+		_histPos--;
 	} else {
 		return R_SUCCESS;
 	}
 
-	for (i = 1; i < ConInfo.hist_pos; i++) {
+	for (i = 1; i < _histPos; i++) {
 		if (start_ptr->next) {
 			start_ptr = start_ptr->next;
 		} else {
@@ -311,41 +304,41 @@
 		}
 	}
 
-	memset(ConInfo.input_buf, 0, R_CON_INPUTBUF_LEN);
-	strcpy(ConInfo.input_buf, start_ptr->str_p);
-	ConInfo.input_pos = start_ptr->str_len - 1;
+	memset(_inputBuf, 0, R_CON_INPUTBUF_LEN);
+	strcpy(_inputBuf, start_ptr->str_p);
+	_inputPos = start_ptr->str_len - 1;
 
-	debug(0, "History pos: %d/%d", ConInfo.hist_pos, ConHistory.lines);
+	debug(0, "History pos: %d/%d", _histPos, _history.lines);
 
 	return R_SUCCESS;
 }
 
-int CON_PageUp() {
+int Console::pageUp() {
 	int n_lines;
-	n_lines = (ConInfo.y_max - R_CON_INPUT_H) / R_CON_LINE_H;
+	n_lines = (_yMax - R_CON_INPUT_H) / R_CON_LINE_H;
 
-	if (ConInfo.line_pos < (ConScrollback.lines - n_lines)) {
-		ConInfo.line_pos += n_lines;
+	if (_linePos < (_scrollback.lines - n_lines)) {
+		_linePos += n_lines;
 	}
 
-	debug(0, "Line pos: %d", ConInfo.line_pos);
+	debug(0, "Line pos: %d", _linePos);
 	return R_SUCCESS;
 }
 
-int CON_PageDown() {
+int Console::pageDown() {
 	int n_lines;
-	n_lines = (ConInfo.y_max - R_CON_INPUT_H) / R_CON_LINE_H;
+	n_lines = (_yMax - R_CON_INPUT_H) / R_CON_LINE_H;
 
-	if (ConInfo.line_pos > n_lines) {
-		ConInfo.line_pos -= n_lines;
+	if (_linePos > n_lines) {
+		_linePos -= n_lines;
 	} else {
-		ConInfo.line_pos = 0;
+		_linePos = 0;
 	}
 
 	return R_SUCCESS;
 }
 
-int CON_DropConsole(double percent) {
+int Console::dropConsole(double percent) {
 	R_SURFACE *back_buf;
 
 	if (percent > 1.0) {
@@ -353,28 +346,28 @@
 	}
 
 	back_buf = _vm->_gfx->getBackBuffer();
-	CON_SetDropPos(percent);
-	CON_Draw(back_buf);
+	_vm->_console->setDropPos(percent);
+	_vm->_console->draw(back_buf);
 
 	return R_SUCCESS;
 }
 
-int CON_RaiseConsole(double percent) {
+int Console::raiseConsole(double percent) {
 	R_SURFACE *back_buf;
 
 	if (percent >= 1.0) {
 		percent = 1.0;
-		ConInfo.active = 0;
+		_active = false;
 	}
 
 	back_buf = _vm->_gfx->getBackBuffer();
-	CON_SetDropPos(1.0 - percent);
-	CON_Draw(back_buf);
+	_vm->_console->setDropPos(1.0 - percent);
+	_vm->_console->draw(back_buf);
 
 	return R_SUCCESS;
 }
 
-static int CON_SetDropPos(double percent) {
+int Console::setDropPos(double percent) {
 	double exp_percent;
 
 	if (percent > 1.0)
@@ -383,12 +376,12 @@
 		percent = 0.0;
 
 	exp_percent = percent * percent;
-	ConInfo.y_pos = (int)(ConInfo.y_max * exp_percent);
+	_yPos = (int)(_yMax * exp_percent);
 
 	return R_SUCCESS;
 }
 
-static int CON_AddLine(R_CON_SCROLLBACK *scroll, int line_max, const char *constr_p) {
+int Console::addLine(R_CON_SCROLLBACK *scroll, int line_max, const char *constr_p) {
 	int constr_len;
 	char *newstr_p;
 	R_CONSOLE_LINE *newline_p;
@@ -427,14 +420,14 @@
 		del_lines = scroll->lines - line_max;
 
 		for (i = 0; i < del_lines; i++) {
-			CON_DeleteLine(scroll);
+			_vm->_console->deleteLine(scroll);
 		}
 	}
 
 	return R_SUCCESS;
 }
 
-static int CON_DeleteLine(R_CON_SCROLLBACK *scroll) {
+int Console::deleteLine(R_CON_SCROLLBACK *scroll) {
 	R_CONSOLE_LINE *temp_p = scroll->tail;
 
 	if (temp_p->prev == NULL) {
@@ -453,7 +446,7 @@
 	return R_SUCCESS;
 }
 
-static int CON_DeleteScroll(R_CON_SCROLLBACK * scroll) {
+int Console::deleteScroll(R_CON_SCROLLBACK * scroll) {
 	R_CONSOLE_LINE *walk_ptr;
 	R_CONSOLE_LINE *temp_ptr;
 

Index: console.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/console.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- console.h	1 May 2004 06:35:06 -0000	1.3
+++ console.h	10 Aug 2004 18:31:32 -0000	1.4
@@ -34,20 +34,6 @@
 #define R_CONSOLE_TXTCOLOR  0x00FFFFFFUL
 #define R_CONSOLE_TXTSHADOW 0x00202020UL
 
-struct R_CONSOLEINFO {
-	int active;
-	int y_max;
-	int line_max;
-	int hist_max;
-	int hist_pos;
-	int line_pos;
-	int y_pos;
-	char *prompt;
-	int prompt_w;
-	char input_buf[R_CON_INPUTBUF_LEN + 1];
-	int input_pos;
-};
-
 struct R_CONSOLE_LINE {
 	R_CONSOLE_LINE *next;
 	R_CONSOLE_LINE *prev;
@@ -61,11 +47,6 @@
 	int lines;
 };
 
-static int CON_AddLine(R_CON_SCROLLBACK *scroll, int line_max, const char *constr_p);
-static int CON_DeleteLine(R_CON_SCROLLBACK *scroll);
-static int CON_DeleteScroll(R_CON_SCROLLBACK *scroll);
-static int CON_SetDropPos(double percent);
-
 #define R_CON_DEFAULTPOS 136
 #define R_CON_DEFAULTLINES 100
 #define R_CON_DEFAULTCMDS 10
@@ -74,6 +55,56 @@
 #define R_CON_LINE_H 10
 #define R_CON_INPUT_H 10
 
+class Console {
+ public:
+	int reg(void);
+	Console(SagaEngine *vm);
+	~Console(void);
+
+	int activate(void);
+	int deactivate(void);
+	bool isActive(void);
+
+	int type(int in_char);
+	int draw(R_SURFACE *ds);
+	int print(const char *fmt_str, ...);
+
+	int cmdUp(void);
+	int cmdDown(void);
+	int pageUp(void);
+	int pageDown(void);
+
+	int dropConsole(double percent);
+	int raiseConsole(double percent);
+
+ private:
+	int addLine(R_CON_SCROLLBACK *scroll, int line_max, const char *constr_p);
+	int deleteLine(R_CON_SCROLLBACK *scroll);
+	int deleteScroll(R_CON_SCROLLBACK *scroll);
+	int setDropPos(double percent);
+
+ private:
+	SagaEngine *_vm;
+
+	R_CON_SCROLLBACK _scrollback;
+	R_CON_SCROLLBACK _history;
+
+	int _resize;
+	int _droptime;
+
+	bool _active;
+	int _yMax;
+	int _lineMax;
+	int _histMax;
+	int _histPos;
+	int _linePos;
+	int _yPos;
+	char *_prompt;
+	int _promptW;
+	char _inputBuf[R_CON_INPUTBUF_LEN + 1];
+	int _inputPos;
+};
+
 } // End of namespace Saga
 
 #endif

Index: cvar.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/cvar.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- cvar.cpp	2 Aug 2004 16:20:34 -0000	1.10
+++ cvar.cpp	10 Aug 2004 18:31:32 -0000	1.11
@@ -25,7 +25,7 @@
 #include "saga/saga.h"
 #include "saga/gfx.h"
 
-#include "saga/console_mod.h"
+#include "saga/console.h"
 
 #include "saga/cvar_mod.h"
 #include "saga/cvar.h"
@@ -145,7 +145,7 @@
 	cf_argc = EXPR_GetArgs(r_value, &cf_argv);
 
 	if (cf_argc < cvar_func->t.func.min_args) {
-		CON_Print("Too few arguments to function.");
+		_vm->_console->print("Too few arguments to function.");
 		if (cf_argv)
 			free(cf_argv);
 		return R_FAILURE;
@@ -153,7 +153,7 @@
 
 	max_args = cvar_func->t.func.max_args;
 	if ((max_args > -1) && (cf_argc > max_args)) {
-		CON_Print("Too many arguments to function.");
+		_vm->_console->print("Too many arguments to function.");
 		if (cf_argv)
 			free(cf_argv);
 		return R_FAILURE;
@@ -449,31 +449,31 @@
 	switch (con_cvar->type) {
 
 	case R_CVAR_INT:
-		CON_Print("\"%s\"(i) = %d", con_cvar->name, *(con_cvar->t.i.var_p));
+		_vm->_console->print("\"%s\"(i) = %d", con_cvar->name, *(con_cvar->t.i.var_p));
 		break;
 
 	case R_CVAR_UINT:
-		CON_Print("\"%s\"(ui) = %u", con_cvar->name, *(con_cvar->t.ui.var_p));
+		_vm->_console->print("\"%s\"(ui) = %u", con_cvar->name, *(con_cvar->t.ui.var_p));
 		break;
 
 	case R_CVAR_FLOAT:
-		CON_Print("\"%s\"(ui) = %f", con_cvar->name, *(con_cvar->t.f.var_p));
+		_vm->_console->print("\"%s\"(ui) = %f", con_cvar->name, *(con_cvar->t.f.var_p));
 		break;
 
 	case R_CVAR_STRING:
-		CON_Print("\"%s\"(s) = \"%s\"", con_cvar->name, con_cvar->t.s.var_str);
+		_vm->_console->print("\"%s\"(s) = \"%s\"", con_cvar->name, con_cvar->t.s.var_str);
 		break;
 
 	case R_CVAR_FUNC:
 		if (con_cvar->t.func.func_argstr) {
-			CON_Print("\"%s\"(func) Args: %s", con_cvar->name, con_cvar->t.func.func_argstr);
+			_vm->_console->print("\"%s\"(func) Args: %s", con_cvar->name, con_cvar->t.func.func_argstr);
 		} else {
-			CON_Print("\"%s\"(func) No arguments.", con_cvar->name);
+			_vm->_console->print("\"%s\"(func) No arguments.", con_cvar->name);
 		}
 		break;
 
 	default:
-		CON_Print("Invalid variable type.\n");
+		_vm->_console->print("Invalid variable type.\n");
 		break;
 	}
 

Index: events.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/events.cpp,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- events.cpp	6 Aug 2004 01:39:16 -0000	1.19
+++ events.cpp	10 Aug 2004 18:31:32 -0000	1.20
@@ -30,7 +30,7 @@
 #include "saga/yslib.h"
 
 #include "saga/animation.h"
-#include "saga/console_mod.h"
+#include "saga/console.h"
 #include "saga/scene.h"
 #include "saga/interface.h"
 #include "saga/text.h"
@@ -185,10 +185,10 @@
 	case R_CONSOLE_EVENT:
 		switch (event->op) {
 		case EVENT_ACTIVATE:
-			CON_DropConsole(event_pc);
+			_vm->_console->dropConsole(event_pc);
 			break;
 		case EVENT_DEACTIVATE:
-			CON_RaiseConsole(event_pc);
+			_vm->_console->raiseConsole(event_pc);
 			break;
 		default:
 			break;

Index: input.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/input.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- input.cpp	6 Aug 2004 01:39:17 -0000	1.9
+++ input.cpp	10 Aug 2004 18:31:32 -0000	1.10
@@ -24,7 +24,7 @@
 
 #include "saga/gfx.h"
 #include "saga/actor.h"
-#include "saga/console_mod.h"
+#include "saga/console.h"
 #include "saga/interface.h"
 #include "saga/render.h"
 #include "saga/scene.h"
@@ -44,29 +44,29 @@
 
 		switch (event.event_code) {
 		case OSystem::EVENT_KEYDOWN:
-			if (CON_IsActive()) {
+			if (_vm->_console->isActive()) {
 				in_char = event.kbd.ascii;
 				switch (event.kbd.keycode) {
 				case 96: // backquote
-					CON_Deactivate();
+					_vm->_console->deactivate();
 					break;
 				case 280: // page up
-					CON_PageUp();
+					_vm->_console->pageUp();
 					break;
 				case 281: // page down
-					CON_PageDown();
+					_vm->_console->pageDown();
 					break;
 				case 273: // up
 				case 264: // keypad up
-					CON_CmdUp();
+					_vm->_console->cmdUp();
 					break;
 				case 274: // down
 				case 258: // keypad down
-					CON_CmdDown();
+					_vm->_console->cmdDown();
 					break;
 				default:
 					if (in_char) {
-						CON_Type(in_char);
+						_vm->_console->type(in_char);
 					}
 					break;
 				}
@@ -75,7 +75,7 @@
 
 			switch (event.kbd.keycode) {
 			case 96: // back quote
-				CON_Activate();
+				_vm->_console->activate();
 				break;
 			case 114: // r
 				_vm->_interface->draw();

Index: interface.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/interface.cpp,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- interface.cpp	6 Aug 2004 01:39:17 -0000	1.19
+++ interface.cpp	10 Aug 2004 18:31:32 -0000	1.20
@@ -28,7 +28,7 @@
 #include "saga/game_mod.h"
 #include "saga/cvar_mod.h"
 #include "saga/actor.h"
-#include "saga/console_mod.h"
+#include "saga/console.h"
 #include "saga/font.h"
 #include "saga/objectmap.h"
 #include "saga/rscfile_mod.h"
@@ -493,7 +493,7 @@
 	}
 
 	if (_vm->_objectMap->getFlags(object_num, &object_flags) != R_SUCCESS) {
-		CON_Print("Invalid object number: %d\n", object_num);
+		_vm->_console->print("Invalid object number: %d\n", object_num);
 		return R_FAILURE;
 	}
 
@@ -536,7 +536,7 @@
 	}
 
 	if (_vm->_objectMap->getFlags(object_num, &object_flags) != R_SUCCESS) {
-		CON_Print("Invalid object number: %d\n", object_num);
+		_vm->_console->print("Invalid object number: %d\n", object_num);
 		return R_FAILURE;
 	}
 

Index: objectmap.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/objectmap.cpp,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- objectmap.cpp	8 Aug 2004 18:03:52 -0000	1.17
+++ objectmap.cpp	10 Aug 2004 18:31:32 -0000	1.18
@@ -30,7 +30,7 @@
 
 #include "saga/gfx.h"
 #include "saga/cvar_mod.h"
-#include "saga/console_mod.h"
+#include "saga/console.h"
 #include "saga/font.h"
 #include "saga/objectmap.h"
 
@@ -430,11 +430,11 @@
 		return;
 	}
 
-	CON_Print("%d objects loaded.", _n_objects);
+	_vm->_console->print("%d objects loaded.", _n_objects);
 
 	for (i = 0; i < _n_objects; i++) {
-		CON_Print("%s:", _names[i]);
-		CON_Print("%d. Unk1: %d, flags: %X, name_i: %d, scr_n: %d, ca_ct: %d", i, _object_maps[i].unknown0,
+		_vm->_console->print("%s:", _names[i]);
+		_vm->_console->print("%d. Unk1: %d, flags: %X, name_i: %d, scr_n: %d, ca_ct: %d", i, _object_maps[i].unknown0,
 					_object_maps[i].flags,
 					_object_maps[i].object_num,
 					_object_maps[i].script_num,

Index: render.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/render.cpp,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- render.cpp	6 Aug 2004 01:39:17 -0000	1.29
+++ render.cpp	10 Aug 2004 18:31:32 -0000	1.30
@@ -26,7 +26,7 @@
 
 #include "saga/gfx.h"
 #include "saga/actor.h"
-#include "saga/console_mod.h"
+#include "saga/console.h"
 #include "saga/cvar_mod.h"
 #include "saga/font.h"
 #include "saga/game_mod.h"
@@ -183,7 +183,7 @@
 	}
 
 	// Draw console
-	CON_Draw(backbuf_surface);
+	_vm->_console->draw(backbuf_surface);
 
 	_system->copyRectToScreen(backbuf_surface->buf, backbuf_surface->buf_w, 0, 0, 
 							  backbuf_surface->buf_w, backbuf_surface->buf_h);

Index: saga.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/saga.cpp,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -d -r1.42 -r1.43
--- saga.cpp	6 Aug 2004 01:39:17 -0000	1.42
+++ saga.cpp	10 Aug 2004 18:31:33 -0000	1.43
@@ -37,7 +37,7 @@
 #include "saga/render.h"
 #include "saga/actor.h"
 #include "saga/animation.h"
-#include "saga/console_mod.h"
+#include "saga/console.h"
 #include "saga/cvar_mod.h"
 #include "saga/events_mod.h"
 #include "saga/actionmap.h"
@@ -105,14 +105,11 @@
 void SagaEngine::go() {
 	int msec = 0;
 
-	// Register engine modules
-	CON_Register(); // Register console cvars first
-
-	GAME_Register();
-
 	_soundEnabled = 1;
 	_musicEnabled = 1;
 
+	_console = new Console(this);
+
 	CVAR_RegisterFunc(CF_testfunc, "testfunc", "foo [ optional foo ]", R_CVAR_NONE, 0, -1, this);
 
 	CVAR_Register_I(&_soundEnabled, "sound", NULL, R_CVAR_CFG, 0, 1);
@@ -194,6 +191,9 @@
 		debug(0, "Sound disabled.");
 	}
 
+	// Register engine modules
+	_console->reg(); // Register console cvars first
+	GAME_Register();
 	_scene->reg();
 	_actor->reg();
 	_script->reg();
@@ -241,7 +241,7 @@
 	delete _script;
 	delete _sprite;
 	delete _font;
-	CON_Shutdown();
+	delete _console;
 	CVAR_Shutdown();
 	EVENT_Shutdown();
 
@@ -268,10 +268,10 @@
 static void CF_testfunc(int argc, char *argv[], void *refCon) {
 	int i;
 
-	CON_Print("Test function invoked: Got %d arguments.", argc);
+	_vm->_console->print("Test function invoked: Got %d arguments.", argc);
 
 	for (i = 0; i < argc; i++) {
-		CON_Print("Arg %d: %s", i, argv[i]);
+		_vm->_console->print("Arg %d: %s", i, argv[i]);
 	}
 }
 

Index: saga.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/saga.h,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -d -r1.32 -r1.33
--- saga.h	6 Aug 2004 01:39:17 -0000	1.32
+++ saga.h	10 Aug 2004 18:31:33 -0000	1.33
@@ -56,6 +56,7 @@
 class Sprite;
 class Scene;
 class Interface;
+class Console;
 
 using Common::MemoryReadStream;
 
@@ -114,6 +115,7 @@
 	Sprite *_sprite;
 	Scene *_scene;
 	Interface *_interface;
+	Console *_console;
 	
 private:
 	int decodeBGImageRLE(const byte *inbuf, size_t inbuf_len, byte *outbuf, size_t outbuf_len);

Index: scene.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/scene.cpp,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -d -r1.26 -r1.27
--- scene.cpp	4 Aug 2004 20:28:57 -0000	1.26
+++ scene.cpp	10 Aug 2004 18:31:33 -0000	1.27
@@ -28,7 +28,7 @@
 #include "saga/gfx.h"
 #include "saga/game_mod.h"
 #include "saga/animation.h"
-#include "saga/console_mod.h"
+#include "saga/console.h"
 #include "saga/cvar_mod.h"
 #include "saga/events_mod.h"
 #include "saga/actionmap.h"
@@ -830,16 +830,16 @@
 	scene_num = atoi(argv[0]);
 
 	if ((scene_num < 1) || (scene_num > _sceneMax)) {
-		CON_Print("Invalid scene number.");
+		_vm->_console->print("Invalid scene number.");
 		return;
 	}
 
 	clearSceneQueue();
 
 	if (changeScene(scene_num) == R_SUCCESS) {
-		CON_Print("Scene changed.");
+		_vm->_console->print("Scene changed.");
 	} else {
-		CON_Print("Couldn't change scene!");
+		_vm->_console->print("Couldn't change scene!");
 	}
 }
 
@@ -850,17 +850,17 @@
 void Scene::sceneInfoCmd(int argc, char *argv[]) {
 	const char *fmt = "%-20s %d";
 
-	CON_Print(fmt, "Scene number:", _sceneNumber);
-	CON_Print(fmt, "Descriptor R#:", _sceneResNum);
-	CON_Print("-------------------------");
-	CON_Print(fmt, "Unknown:", _desc.unknown0);
-	CON_Print(fmt, "Resource list R#:", _desc.res_list_rn);
-	CON_Print(fmt, "End slope:", _desc.end_slope);
-	CON_Print(fmt, "Begin slope:", _desc.begin_slope);
-	CON_Print(fmt, "Script resource:", _desc.script_num);
-	CON_Print(fmt, "Scene script:", _desc.scene_scriptnum);
-	CON_Print(fmt, "Start script:", _desc.start_scriptnum);
-	CON_Print(fmt, "Music R#", _desc.music_rn);
+	_vm->_console->print(fmt, "Scene number:", _sceneNumber);
+	_vm->_console->print(fmt, "Descriptor R#:", _sceneResNum);
+	_vm->_console->print("-------------------------");
+	_vm->_console->print(fmt, "Unknown:", _desc.unknown0);
+	_vm->_console->print(fmt, "Resource list R#:", _desc.res_list_rn);
+	_vm->_console->print(fmt, "End slope:", _desc.end_slope);
+	_vm->_console->print(fmt, "Begin slope:", _desc.begin_slope);
+	_vm->_console->print(fmt, "Script resource:", _desc.script_num);
+	_vm->_console->print(fmt, "Scene script:", _desc.scene_scriptnum);
+	_vm->_console->print(fmt, "Start script:", _desc.start_scriptnum);
+	_vm->_console->print(fmt, "Music R#", _desc.music_rn);
 }
 
 static void CF_sceneinfo(int argc, char *argv[], void *refCon) {

Index: script.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/script.cpp,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- script.cpp	3 Aug 2004 00:40:16 -0000	1.17
+++ script.cpp	10 Aug 2004 18:31:33 -0000	1.18
@@ -28,7 +28,7 @@
 #include "saga/gfx.h"
 #include "saga/rscfile_mod.h"
 #include "saga/game_mod.h"
-#include "saga/console_mod.h"
+#include "saga/console.h"
 #include "saga/cvar_mod.h"
 
 #include "saga/script_mod.h"
@@ -501,12 +501,12 @@
 
 	n_entrypoints = ((Script *)refCon)->currentScript()->bytecode->n_entrypoints;
 
-	CON_Print("Current script contains %d entrypoints:", n_entrypoints);
+	_vm->_console->print("Current script contains %d entrypoints:", n_entrypoints);
 
 	for (i = 0; i < n_entrypoints; i++) {
 		name_ptr = (char *)((Script *)refCon)->currentScript()->bytecode->bytecode_p +
 							((Script *)refCon)->currentScript()->bytecode->entrypoints[i].name_offset;
-		CON_Print("%lu: %s", i, name_ptr);
+		_vm->_console->print("%lu: %s", i, name_ptr);
 	}
 }
 
@@ -520,16 +520,16 @@
 	ep_num = atoi(argv[0]);
 
 	if (((Script *)refCon)->_dbg_thread == NULL) {
-		CON_Print("Creating debug thread...");
+		_vm->_console->print("Creating debug thread...");
 		((Script *)refCon)->_dbg_thread = STHREAD_Create();
 		if (((Script *)refCon)->_dbg_thread == NULL) {
-			CON_Print("Thread creation failed.");
+			_vm->_console->print("Thread creation failed.");
 			return;
 		}
 	}
 
 	if (ep_num >= ((Script *)refCon)->currentScript()->bytecode->n_entrypoints) {
-		CON_Print("Invalid entrypoint.");
+		_vm->_console->print("Invalid entrypoint.");
 		return;
 	}
 

Index: sdebug.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/sdebug.cpp,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- sdebug.cpp	4 Aug 2004 20:28:57 -0000	1.14
+++ sdebug.cpp	10 Aug 2004 18:31:33 -0000	1.15
@@ -25,7 +25,6 @@
 #include "saga/saga.h"
 
 #include "saga/gfx.h"
-#include "saga/console_mod.h"
 #include "saga/text.h"
 #include "saga/scene.h"
 #include "saga/font.h"

Index: sfuncs.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/sfuncs.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- sfuncs.cpp	6 Aug 2004 01:39:17 -0000	1.13
+++ sfuncs.cpp	10 Aug 2004 18:31:33 -0000	1.14
@@ -28,7 +28,7 @@
 #include "saga/gfx.h"
 #include "saga/actor.h"
 #include "saga/animation.h"
-#include "saga/console_mod.h"
+#include "saga/console.h"
 #include "saga/interface.h"
 
 #include "saga/script.h"
@@ -175,7 +175,7 @@
 	actor_id = _vm->_sdata->readWordS(actor_parm);
 	actor_idx = _vm->_actor->getActorIndex(actor_id);
 	if (actor_idx < 0) {
-		CON_Print(S_WARN_PREFIX "SF.08: Actor id 0x%X not found.", actor_id);
+		_vm->_console->print(S_WARN_PREFIX "SF.08: Actor id 0x%X not found.", actor_id);
 		return R_FAILURE;
 	}
 
@@ -210,7 +210,7 @@
 	orientation = _vm->_sdata->readWordS(orient_parm);
 	actor_idx = _vm->_actor->getActorIndex(actor_id);
 	if (actor_idx < 0) {
-		CON_Print(S_WARN_PREFIX "SF.08: Actor id 0x%X not found.", actor_id);
+		_vm->_console->print(S_WARN_PREFIX "SF.08: Actor id 0x%X not found.", actor_id);
 		return R_FAILURE;
 	}
 
@@ -273,7 +273,7 @@
 	anim_id = _vm->_sdata->readWordS(anim_id_parm);
 
 	if (_vm->_anim->play(anim_id, 0) != R_SUCCESS) {
-		CON_Print(S_WARN_PREFIX "SF.26: Anim::play() failed. Anim id: %u\n", anim_id);
+		_vm->_console->print(S_WARN_PREFIX "SF.26: Anim::play() failed. Anim id: %u\n", anim_id);
 		return R_FAILURE;
 	}
 
@@ -300,7 +300,7 @@
 	actor_id = _vm->_sdata->readWordS(actor_parm);
 	actor_idx = _vm->_actor->getActorIndex(actor_id);
 	if (actor_idx < 0) {
-		CON_Print(S_WARN_PREFIX "SF.08: Actor id 0x%X not found.",
+		_vm->_console->print(S_WARN_PREFIX "SF.08: Actor id 0x%X not found.",
 		    actor_id);
 		return R_FAILURE;
 	}
@@ -343,7 +343,7 @@
 	if (!_vm->_actor->actorExists(actor_id)) {
 		result = _vm->_actor->create(actor_id, pt.x, pt.y);
 		if (result != R_SUCCESS) {
-			CON_Print(S_WARN_PREFIX "SF.30: Couldn't create actor 0x%X.", actor_id);
+			_vm->_console->print(S_WARN_PREFIX "SF.30: Couldn't create actor 0x%X.", actor_id);
 			return R_FAILURE;
 		}
 	} else {
@@ -381,7 +381,7 @@
 
 	actor_idx = _vm->_actor->getActorIndex(_vm->_sdata->readWordS(actor_parm));
 	if (actor_idx < 0) {
-		CON_Print(S_WARN_PREFIX "SF.36: Actor id 0x%X not found.", (int)actor_parm);
+		_vm->_console->print(S_WARN_PREFIX "SF.36: Actor id 0x%X not found.", (int)actor_parm);
 		return R_FAILURE;
 	}
 
@@ -423,7 +423,7 @@
 	actor_idx = _vm->_actor->getActorIndex(actor_id);
 
 	if (_vm->_actor->setAction(actor_idx, action, ACTION_NONE) != R_SUCCESS) {
-		CON_Print(S_WARN_PREFIX "SF.37: Actor::setAction() failed.");
+		_vm->_console->print(S_WARN_PREFIX "SF.37: Actor::setAction() failed.");
 		return R_FAILURE;
 	}
 
@@ -456,7 +456,7 @@
 	actor_idx = _vm->_actor->getActorIndex(actor_id);
 
 	if (_vm->_actor->setAction(actor_idx, action, ACTION_NONE) != R_SUCCESS) {
-		CON_Print(S_WARN_PREFIX "SF.38: Actor::setAction() failed.");
+		_vm->_console->print(S_WARN_PREFIX "SF.38: Actor::setAction() failed.");
 		return R_FAILURE;
 	}
 
@@ -488,7 +488,7 @@
 	anim_id2 = _vm->_sdata->readWordU(anim2_parm);
 
 	if (_vm->_anim->link(anim_id1, anim_id2) != R_SUCCESS) {
-		CON_Print(S_WARN_PREFIX "SF.41: Anim::link() failed. (%u->%u)\n", anim_id1, anim_id2);
+		_vm->_console->print(S_WARN_PREFIX "SF.41: Anim::link() failed. (%u->%u)\n", anim_id1, anim_id2);
 		return R_FAILURE;
 	}
 
@@ -537,7 +537,7 @@
 	if (!_vm->_actor->actorExists(actor_id)) {
 		result = _vm->_actor->create(actor_id, pt.x, pt.y);
 		if (result != R_SUCCESS) {
-			CON_Print(S_WARN_PREFIX "SF.43: Couldn't create actor 0x%X.", actor_id);
+			_vm->_console->print(S_WARN_PREFIX "SF.43: Couldn't create actor 0x%X.", actor_id);
 			return R_FAILURE;
 		}
 	} else {

Index: sstack.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/sstack.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- sstack.cpp	3 Aug 2004 00:40:16 -0000	1.7
+++ sstack.cpp	10 Aug 2004 18:31:33 -0000	1.8
@@ -26,7 +26,7 @@
 #include "saga/saga.h"
 
 #include "saga/gfx.h"
-#include "saga/console_mod.h"
+#include "saga/console.h"
 
 #include "saga/script.h"
 #include "saga/sstack.h"
@@ -136,7 +136,7 @@
 	SDataWord_T *new_data;
 
 	if ((stack->len * 2) > R_STACK_SIZE_LIMIT) {
-		CON_Print(S_ERROR_PREFIX "Stack fault: growing beyond limit.");
+		_vm->_console->print(S_ERROR_PREFIX "Stack fault: growing beyond limit.");
 		return STACK_OVERFLOW;
 	}
 

Index: sthread.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/sthread.cpp,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- sthread.cpp	3 Aug 2004 00:40:16 -0000	1.18
+++ sthread.cpp	10 Aug 2004 18:31:33 -0000	1.19
@@ -27,7 +27,7 @@
 
 #include "saga/gfx.h"
 #include "saga/actor.h"
-#include "saga/console_mod.h"
+#include "saga/console.h"
 
 #include "saga/script.h"
 #include "saga/script_mod.h"
@@ -341,23 +341,23 @@
 				n_args = readS.readByte();
 				func_num = readS.readUint16LE();
 				if (func_num >= R_SFUNC_NUM) {
-					CON_Print(S_ERROR_PREFIX "Invalid script function number: (%X)\n", func_num);
+					_vm->_console->print(S_ERROR_PREFIX "Invalid script function number: (%X)\n", func_num);
 					thread->executing = 0;
 					break;
 				}
 
 				sfunc = SFuncList[func_num].sfunc_fp;
 				if (sfunc == NULL) {
-					CON_Print(S_WARN_PREFIX "%X: Undefined script function number: (%X)\n",
+					_vm->_console->print(S_WARN_PREFIX "%X: Undefined script function number: (%X)\n",
 							thread->i_offset, func_num);
-					CON_Print(S_WARN_PREFIX "Removing %d operand(s) from stack.\n", n_args);
+					_vm->_console->print(S_WARN_PREFIX "Removing %d operand(s) from stack.\n", n_args);
 					for (i = 0; i < n_args; i++) {
 						SSTACK_Pop(thread->stack, NULL);
 					}
 				} else {
 					FIXME_SHADOWED_result = sfunc(thread);
 					if (FIXME_SHADOWED_result != R_SUCCESS) {
-						CON_Print(S_WARN_PREFIX "%X: Script function %d failed.\n", thread->i_offset, func_num);
+						_vm->_console->print(S_WARN_PREFIX "%X: Script function %d failed.\n", thread->i_offset, func_num);
 					}
 				}
 			}
@@ -374,7 +374,7 @@
 		case 0x1C:
 			result = SSTACK_Pop(thread->stack, &data);
 			if (result != STACK_SUCCESS) {
-				CON_Print("Script execution complete.");
+				_vm->_console->print("Script execution complete.");
 				thread->executing = 0;
 			} else {
 				thread->i_offset = data;
@@ -479,7 +479,7 @@
 					}
 				}
 				if (!branch_found) {
-					CON_Print(S_ERROR_PREFIX "%X: Random jump target out of " "bounds.", thread->i_offset);
+					_vm->_console->print(S_ERROR_PREFIX "%X: Random jump target out of " "bounds.", thread->i_offset);
 				}
 			}
 			break;
@@ -721,7 +721,7 @@
 
 				a_index = _vm->_actor->getActorIndex(param1);
 				if (a_index < 0) {
-					CON_Print(S_WARN_PREFIX "%X: DLGP Actor id not found.", thread->i_offset);
+					_vm->_console->print(S_WARN_PREFIX "%X: DLGP Actor id not found.", thread->i_offset);
 				}
 
 				for (i = 0; i < n_voices; i++) {
@@ -766,7 +766,7 @@
 
 		default:
 
-			CON_Print(S_ERROR_PREFIX "%X: Invalid opcode encountered: " "(%X).\n", thread->i_offset, in_char);
+			_vm->_console->print(S_ERROR_PREFIX "%X: Invalid opcode encountered: " "(%X).\n", thread->i_offset, in_char);
 			thread->executing = 0;
 			break;
 		}
@@ -776,7 +776,7 @@
 			thread->i_offset = readS.pos();
 		}
 		if (unhandled) {
-			CON_Print(S_ERROR_PREFIX "%X: Unhandled opcode.\n", thread->i_offset);
+			_vm->_console->print(S_ERROR_PREFIX "%X: Unhandled opcode.\n", thread->i_offset);
 			thread->executing = 0;
 		}
 		if (thread->executing && debug_print) {

--- console_mod.h DELETED ---





More information about the Scummvm-git-logs mailing list