protected virtual void DecodeParseString(int m, int n)
{
byte b = ReadByte();
switch (b)
{
case 65: // SO_AT
var y = (short)Pop();
var x = (short)Pop();
String[m].Position = new Core.Graphics.Point(x, y);
String[m].Overhead = false;
break;
case 66: // SO_COLOR
String[m].Color = (byte)Pop();
break;
case 67: // SO_CLIPPED
var r = Pop();
String[m].Right = (short)r;
break;
case 69: // SO_CENTER
String[m].Center = true;
String[m].Overhead = false;
break;
case 71: // SO_LEFT
String[m].Center = false;
String[m].Overhead = false;
break;
case 72: // SO_OVERHEAD
String[m].Overhead = true;
String[m].NoTalkAnim = false;
break;
case 74: // SO_MUMBLE
String[m].NoTalkAnim = true;
break;
case 75: // SO_TEXTSTRING
var text = ReadCharacters();
PrintString(m, text);
break;
case 0xFE:
String[m].LoadDefault();
if (n != 0)
_actorToPrintStrFor = Pop();
break;
case 0xFF:
String[m].SaveDefault();
break;
default:
throw new NotSupportedException(string.Format("DecodeParseString: default case 0x{0:X}", b));
}
}
}