summaryrefslogtreecommitdiff
path: root/plugins/Actman30/iac_text.pas
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/Actman30/iac_text.pas')
-rw-r--r--plugins/Actman30/iac_text.pas28
1 files changed, 27 insertions, 1 deletions
diff --git a/plugins/Actman30/iac_text.pas b/plugins/Actman30/iac_text.pas
index ddebb3f3c8..d7d9890192 100644
--- a/plugins/Actman30/iac_text.pas
+++ b/plugins/Actman30/iac_text.pas
@@ -7,7 +7,7 @@ implementation
uses
windows, messages, commctrl,
global, iac_global, m_api, editwrapper,
- dbsettings, common, io,
+ dbsettings, common, io, inouttext,
mirutils, syswin, wrapper;
{$include i_cnst_text.inc}
@@ -26,6 +26,9 @@ const
ACF_TEXTSCRIPT = $00000001;
ACF_POSTPROCESS = $00000002;
+const // V2
+ ACF2_TXT_TEXT = $00000002;
+
type
tTextAction = class(tBaseAction)
private
@@ -330,6 +333,7 @@ procedure tTextAction.Load(node:pointer;fmt:integer);
var
section: array [0..127] of AnsiChar;
pc:pAnsiChar;
+ flags2:dword;
begin
inherited Load(node,fmt);
case fmt of
@@ -339,6 +343,23 @@ begin
StrCopy(pc,opt_text); text:=DBReadUnicode(0,DBBranch,section,nil);
end;
+ 100: begin
+ pc:=StrCopyE(section,pAnsiChar(node));
+
+ StrCopy(pc,opt_text); text:=DBReadUnicode(0,DBBranch,section,nil);
+
+ StrCopy(pc,'flags2'); flags2:=DBReadDWord(0,DBBranch,section,0);
+ flags:=flags and not ACF_MASK;
+
+ if (flags2 and ACF2_TXT_TEXT)<>0 then flags:=flags or ACF_TEXTSCRIPT;
+ end;
+
+ 101: begin // v2, from "Advanced"
+ pc:=StrCopyE(section,pAnsiChar(node));
+ StrCopy(pc,'varval'); text:=DBReadUnicode(0,DBBranch,section);
+ flags:=flags or ACF_TEXTSCRIPT;
+ end;
+
1: begin
with xmlparser do
begin
@@ -375,6 +396,11 @@ begin
1: begin
end;
}
+ 13: begin
+ tTextExport(node).AddTextW('text' ,text);
+ tTextExport(node).AddFlag ('script' ,(flags or ACF_TEXTSCRIPT )<>0);
+ tTextExport(node).AddFlag ('postprocess',(flags or ACF_POSTPROCESS)<>0);
+ end;
end;
end;