From 53e7f60fe042d11848a16cfdf11e696d0a0b5446 Mon Sep 17 00:00:00 2001 From: Rodrigo Braz Monteiro Date: Fri, 18 Jan 2008 22:27:42 +0000 Subject: [PATCH] Fixed tag transformation with Lua expressions (%), issue #637 Originally committed to SVN as r1769. --- aegisub/ass_override.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/aegisub/ass_override.cpp b/aegisub/ass_override.cpp index 840ce145e..66b761c34 100644 --- a/aegisub/ass_override.cpp +++ b/aegisub/ass_override.cpp @@ -659,10 +659,13 @@ end_tokenizing: } if (isDefault == false) { + wxChar firstChar = curtok[0]; + bool notAuto4 = firstChar != _T('!') && firstChar != _T('$') && firstChar != _T('%'); + // Determine parameter type and set value switch (curproto->type) { case VARDATA_INT: { - if (!(curtok.StartsWith(_T("!")) || curtok.StartsWith(_T("$")))) { + if (notAuto4) { long temp = 0; curtok.ToLong(&temp); newparam->SetInt(temp); @@ -671,7 +674,7 @@ end_tokenizing: break; } case VARDATA_FLOAT: { - if (!(curtok.StartsWith(_T("!")) || curtok.StartsWith(_T("$")))) { + if (notAuto4) { double temp = 0.0; curtok.ToDouble(&temp); newparam->SetFloat(temp); @@ -684,7 +687,7 @@ end_tokenizing: break; } case VARDATA_BOOL: { - if (!(curtok.StartsWith(_T("!")) || curtok.StartsWith(_T("$")))) { + if (notAuto4) { long temp = false; curtok.ToLong(&temp); newparam->SetBool(temp != 0);