[Scummvm-cvs-logs] SF.net SVN: scummvm: [28935] scummvm/trunk/engines/saga
thebluegr at users.sourceforge.net
thebluegr at users.sourceforge.net
Tue Sep 18 01:32:25 CEST 2007
Revision: 28935
http://scummvm.svn.sourceforge.net/scummvm/?rev=28935&view=rev
Author: thebluegr
Date: 2007-09-17 16:32:25 -0700 (Mon, 17 Sep 2007)
Log Message:
-----------
Added a debug command for font mapping
Modified Paths:
--------------
scummvm/trunk/engines/saga/console.cpp
scummvm/trunk/engines/saga/console.h
scummvm/trunk/engines/saga/font.cpp
scummvm/trunk/engines/saga/font.h
Modified: scummvm/trunk/engines/saga/console.cpp
===================================================================
--- scummvm/trunk/engines/saga/console.cpp 2007-09-17 22:56:28 UTC (rev 28934)
+++ scummvm/trunk/engines/saga/console.cpp 2007-09-17 23:32:25 UTC (rev 28935)
@@ -76,6 +76,9 @@
DCmd_Register("current_panel_mode", WRAP_METHOD(Console, cmdCurrentPanelMode));
DCmd_Register("set_panel_mode", WRAP_METHOD(Console, cmdSetPanelMode));
+ // Font commands
+ DCmd_Register("set_font_mapping", WRAP_METHOD(Console, cmdSetFontMapping));
+
// Global flags commands
DCmd_Register("global_flags_info", WRAP_METHOD(Console, cmdGlobalFlagsInfo));
DCmd_Register("set_global_flag", WRAP_METHOD(Console, cmdSetGlobalFlag));
@@ -163,6 +166,16 @@
return true;
}
+bool Console::cmdSetFontMapping(int argc, const char **argv) {
+ if (argc != 2) {
+ DebugPrintf("Sets font mapping\nUsage: %s <Font mapping flag>\n", argv[0]);
+ DebugPrintf("Mapping flags:\n0 - default game behavior\n1 - force font mapping\n2 - ignore font mapping\n");
+ } else {
+ _vm->_font->setFontMapping(atoi(argv[1]));
+ }
+ return true;
+}
+
bool Console::cmdGlobalFlagsInfo(int argc, const char **argv) {
DebugPrintf("Global flags status for IHNM:\n");
Modified: scummvm/trunk/engines/saga/console.h
===================================================================
--- scummvm/trunk/engines/saga/console.h 2007-09-17 22:56:28 UTC (rev 28934)
+++ scummvm/trunk/engines/saga/console.h 2007-09-17 23:32:25 UTC (rev 28935)
@@ -55,6 +55,8 @@
bool cmdCurrentPanelMode(int argc, const char **argv);
bool cmdSetPanelMode(int argc, const char **argv);
+ bool cmdSetFontMapping(int argc, const char **argv);
+
bool cmdGlobalFlagsInfo(int argc, const char **argv);
bool cmdSetGlobalFlag(int argc, const char **argv);
bool cmdClearGlobalFlag(int argc, const char **argv);
Modified: scummvm/trunk/engines/saga/font.cpp
===================================================================
--- scummvm/trunk/engines/saga/font.cpp 2007-09-17 22:56:28 UTC (rev 28934)
+++ scummvm/trunk/engines/saga/font.cpp 2007-09-17 23:32:25 UTC (rev 28935)
@@ -49,6 +49,7 @@
}
_initialized = true;
+ _fontMapping = 0;
}
Font::~Font(void) {
@@ -325,8 +326,16 @@
c_code = *textPointer & 0xFFU;
// Translate character
- if (!(flags & kFontDontmap))
+ if (_fontMapping == 0) { // Check font mapping debug flag
+ // Default game behavior
+ if (!(flags & kFontDontmap))
+ c_code = _charMap[c_code];
+ } else if (_fontMapping == 1) {
+ // Force font mapping
c_code = _charMap[c_code];
+ } else {
+ // In all other cases, ignore font mapping
+ }
assert(c_code < FONT_CHARCOUNT);
// Check if character is defined
Modified: scummvm/trunk/engines/saga/font.h
===================================================================
--- scummvm/trunk/engines/saga/font.h 2007-09-17 22:56:28 UTC (rev 28934)
+++ scummvm/trunk/engines/saga/font.h 2007-09-17 23:32:25 UTC (rev 28935)
@@ -141,8 +141,11 @@
}
void textDrawRect(KnownFont font, Surface *ds, const char *text, const Common::Rect &rect, int color, int effectColor, FontEffectFlags flags) {
textDrawRect(knownFont2FontIdx(font), ds, text, rect, color, effectColor, flags);
+ }
+ void setFontMapping(int mapping) {
+ _fontMapping = mapping;
}
-
+
private:
enum FontId {
kSmallFont,
@@ -197,6 +200,7 @@
SagaEngine *_vm;
bool _initialized;
+ int _fontMapping;
int _loadedFonts;
FontData **_fonts;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list