diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/glk/frotz/processor.cpp | 6 | ||||
-rw-r--r-- | engines/glk/frotz/processor.h | 4 | ||||
-rw-r--r-- | engines/glk/frotz/processor_screen.cpp | 15 |
3 files changed, 25 insertions, 0 deletions
diff --git a/engines/glk/frotz/processor.cpp b/engines/glk/frotz/processor.cpp index 8e719e2bf5..fdfafaa3bd 100644 --- a/engines/glk/frotz/processor.cpp +++ b/engines/glk/frotz/processor.cpp @@ -22,6 +22,7 @@ #include "glk/frotz/processor.h" #include "glk/frotz/frotz.h" +#include "glk/conf.h" namespace Glk { namespace Frotz { @@ -197,6 +198,11 @@ void Processor::initialize() { op0_opcodes[9] = &Processor::z_catch; op1_opcodes[15] = &Processor::z_call_n; } + + PropFontInfo &pi = g_conf->_propInfo; + _quotes = pi._quotes; + _dashes = pi._quotes; + _spaces = pi._spaces; } void Processor::load_operand(zbyte type) { diff --git a/engines/glk/frotz/processor.h b/engines/glk/frotz/processor.h index dddcc7609a..15b8c512e7 100644 --- a/engines/glk/frotz/processor.h +++ b/engines/glk/frotz/processor.h @@ -95,6 +95,10 @@ private: bool istream_replay; bool message; Common::FixedStack<Redirect, MAX_NESTING> _redirect; + + int _quotes; + int _dashes; + int _spaces; protected: /** * \defgroup General support methods diff --git a/engines/glk/frotz/processor_screen.cpp b/engines/glk/frotz/processor_screen.cpp index 3f45b06c6b..0bcf98278f 100644 --- a/engines/glk/frotz/processor_screen.cpp +++ b/engines/glk/frotz/processor_screen.cpp @@ -22,6 +22,7 @@ #include "glk/frotz/processor.h" #include "glk/frotz/frotz.h" +#include "glk/conf.h" #include "glk/events.h" namespace Glk { @@ -382,6 +383,20 @@ void Processor::z_set_font() { store(0); break; } + + PropFontInfo &pi = g_conf->_propInfo; + if (curr_font == GRAPHICS_FONT) { + _quotes = pi._quotes; + _dashes = pi._dashes; + _spaces = pi._spaces; + pi._quotes = 0; + pi._dashes = 0; + pi._spaces = 0; + } else { + pi._quotes = _quotes; + pi._dashes = _dashes; + pi._spaces = _spaces; + } } void Processor::z_set_cursor() { |