Commit ef1b9f48581f0369063c565c51a3fe61b903d280

Authored by Carlos Picanco
1 parent 8384ec9f
Exists in master

rename experiment runner project

cultural_matrix.ico
No preview for this file type
cultural_matrix.lpi
@@ -1,198 +0,0 @@ @@ -1,198 +0,0 @@
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<CONFIG>  
3 - <ProjectOptions>  
4 - <Version Value="9"/>  
5 - <General>  
6 - <SessionStorage Value="InProjectDir"/>  
7 - <MainUnit Value="0"/>  
8 - <Title Value="cultural_matrix"/>  
9 - <ResourceType Value="res"/>  
10 - <UseXPManifest Value="True"/>  
11 - <Icon Value="0"/>  
12 - </General>  
13 - <i18n>  
14 - <EnableI18N LFM="False"/>  
15 - </i18n>  
16 - <VersionInfo>  
17 - <StringTable ProductVersion=""/>  
18 - </VersionInfo>  
19 - <BuildModes Count="3">  
20 - <Item1 Name="Linux64" Default="True"/>  
21 - <Item2 Name="Win32 Debug">  
22 - <CompilerOptions>  
23 - <Version Value="11"/>  
24 - <Target>  
25 - <Filename Value="cultural_matrix"/>  
26 - </Target>  
27 - <SearchPaths>  
28 - <IncludeFiles Value="$(ProjOutDir)"/>  
29 - <Libraries Value="/usr/lib/gcc/x86_64-linux-gnu/4.9/"/>  
30 - <OtherUnitFiles Value="units;../../dependency/delphizmq;../../units"/>  
31 - <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>  
32 - </SearchPaths>  
33 - <Linking>  
34 - <Options>  
35 - <Win32>  
36 - <GraphicApplication Value="True"/>  
37 - </Win32>  
38 - </Options>  
39 - </Linking>  
40 - </CompilerOptions>  
41 - </Item2>  
42 - <Item3 Name="Win32 Release">  
43 - <CompilerOptions>  
44 - <Version Value="11"/>  
45 - <Target>  
46 - <Filename Value="cultural_matrix"/>  
47 - </Target>  
48 - <SearchPaths>  
49 - <IncludeFiles Value="$(ProjOutDir)"/>  
50 - <Libraries Value="/usr/lib/gcc/x86_64-linux-gnu/4.9/"/>  
51 - <OtherUnitFiles Value="units;../../dependency/delphizmq;../../units"/>  
52 - <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>  
53 - </SearchPaths>  
54 - <CodeGeneration>  
55 - <SmartLinkUnit Value="True"/>  
56 - <Optimizations>  
57 - <OptimizationLevel Value="4"/>  
58 - </Optimizations>  
59 - </CodeGeneration>  
60 - <Linking>  
61 - <Debugging>  
62 - <GenerateDebugInfo Value="False"/>  
63 - <StripSymbols Value="True"/>  
64 - </Debugging>  
65 - <LinkSmart Value="True"/>  
66 - <Options>  
67 - <Win32>  
68 - <GraphicApplication Value="True"/>  
69 - </Win32>  
70 - </Options>  
71 - </Linking>  
72 - </CompilerOptions>  
73 - </Item3>  
74 - </BuildModes>  
75 - <PublishOptions>  
76 - <Version Value="2"/>  
77 - </PublishOptions>  
78 - <RunParams>  
79 - <local>  
80 - <FormatVersion Value="1"/>  
81 - </local>  
82 - </RunParams>  
83 - <RequiredPackages Count="2">  
84 - <Item1>  
85 - <PackageName Value="FCL"/>  
86 - </Item1>  
87 - <Item2>  
88 - <PackageName Value="LCL"/>  
89 - </Item2>  
90 - </RequiredPackages>  
91 - <Units Count="15">  
92 - <Unit0>  
93 - <Filename Value="cultural_matrix.lpr"/>  
94 - <IsPartOfProject Value="True"/>  
95 - </Unit0>  
96 - <Unit1>  
97 - <Filename Value="form_matrixgame.pas"/>  
98 - <IsPartOfProject Value="True"/>  
99 - <ComponentName Value="FormMatrixGame"/>  
100 - <HasResources Value="True"/>  
101 - <ResourceBaseClass Value="Form"/>  
102 - </Unit1>  
103 - <Unit2>  
104 - <Filename Value="README.md"/>  
105 - <IsPartOfProject Value="True"/>  
106 - </Unit2>  
107 - <Unit3>  
108 - <Filename Value="units/zmq_network.pas"/>  
109 - <IsPartOfProject Value="True"/>  
110 - </Unit3>  
111 - <Unit4>  
112 - <Filename Value="units/game_zmq_actors.pas"/>  
113 - <IsPartOfProject Value="True"/>  
114 - </Unit4>  
115 - <Unit5>  
116 - <Filename Value="units/game_actors.pas"/>  
117 - <IsPartOfProject Value="True"/>  
118 - </Unit5>  
119 - <Unit6>  
120 - <Filename Value="units/game_experiment.pas"/>  
121 - <IsPartOfProject Value="True"/>  
122 - </Unit6>  
123 - <Unit7>  
124 - <Filename Value="units/game_file_methods.pas"/>  
125 - <IsPartOfProject Value="True"/>  
126 - </Unit7>  
127 - <Unit8>  
128 - <Filename Value="units/game_resources.pas"/>  
129 - <IsPartOfProject Value="True"/>  
130 - </Unit8>  
131 - <Unit9>  
132 - <Filename Value="units/game_control.pas"/>  
133 - <IsPartOfProject Value="True"/>  
134 - </Unit9>  
135 - <Unit10>  
136 - <Filename Value="units/string_methods.pas"/>  
137 - <IsPartOfProject Value="True"/>  
138 - </Unit10>  
139 - <Unit11>  
140 - <Filename Value="units/game_actors_point.pas"/>  
141 - <IsPartOfProject Value="True"/>  
142 - </Unit11>  
143 - <Unit12>  
144 - <Filename Value="units/game_visual_elements.pas"/>  
145 - <IsPartOfProject Value="True"/>  
146 - </Unit12>  
147 - <Unit13>  
148 - <Filename Value="form_chooseactor.pas"/>  
149 - <IsPartOfProject Value="True"/>  
150 - <ComponentName Value="FormChooseActor"/>  
151 - <HasResources Value="True"/>  
152 - <ResourceBaseClass Value="Form"/>  
153 - </Unit13>  
154 - <Unit14>  
155 - <Filename Value="units/csv_writer.pas"/>  
156 - <IsPartOfProject Value="True"/>  
157 - </Unit14>  
158 - </Units>  
159 - </ProjectOptions>  
160 - <CompilerOptions>  
161 - <Version Value="11"/>  
162 - <Target>  
163 - <Filename Value="cultural_matrix"/>  
164 - </Target>  
165 - <SearchPaths>  
166 - <IncludeFiles Value="$(ProjOutDir)"/>  
167 - <Libraries Value="/usr/lib/gcc/x86_64-linux-gnu/4.9/"/>  
168 - <OtherUnitFiles Value="units;../../dependency/delphizmq;../../units"/>  
169 - <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>  
170 - </SearchPaths>  
171 - <Linking>  
172 - <Options>  
173 - <Win32>  
174 - <GraphicApplication Value="True"/>  
175 - </Win32>  
176 - </Options>  
177 - </Linking>  
178 - <Other>  
179 - <CustomOptions Value="-dUseCThreads"/>  
180 - <OtherDefines Count="1">  
181 - <Define0 Value="UseCThreads"/>  
182 - </OtherDefines>  
183 - </Other>  
184 - </CompilerOptions>  
185 - <Debugging>  
186 - <Exceptions Count="3">  
187 - <Item1>  
188 - <Name Value="EAbort"/>  
189 - </Item1>  
190 - <Item2>  
191 - <Name Value="ECodetoolError"/>  
192 - </Item2>  
193 - <Item3>  
194 - <Name Value="EFOpenError"/>  
195 - </Item3>  
196 - </Exceptions>  
197 - </Debugging>  
198 -</CONFIG>  
cultural_matrix.lpr
@@ -1,120 +0,0 @@ @@ -1,120 +0,0 @@
1 -{  
2 - Stimulus Control  
3 - Copyright (C) 2014-2016 Carlos Rafael Fernandes Picanço, Universidade Federal do Pará.  
4 -  
5 - The present file is distributed under the terms of the GNU General Public License (GPL v3.0).  
6 -  
7 - You should have received a copy of the GNU General Public License  
8 - along with this program. If not, see <http://www.gnu.org/licenses/>.  
9 -}  
10 -program cultural_matrix;  
11 -  
12 -{$mode objfpc}{$H+}  
13 -  
14 -{$DEFINE DEBUG}  
15 -  
16 -uses  
17 - {$IFDEF UNIX}{$IFDEF UseCThreads}  
18 - cthreads,  
19 - {$ENDIF}{$ENDIF}  
20 - Interfaces // this includes the LCL widgetset  
21 - {$IFDEF DEBUG}  
22 - , Dialogs, FileUtil, LazFileUtils  
23 - {$IFDEF LINUX}  
24 - , BaseUnix  
25 - {$ENDIF}  
26 - {$ENDIF}  
27 - , StrUtils, Forms, Classes, sysutils  
28 - , form_matrixgame, game_actors  
29 - , zhelpers, form_chooseactor  
30 - ;  
31 -  
32 -  
33 -var  
34 - ApplicationPath,  
35 - F : string;  
36 -  
37 -const  
38 - PAdmin : array [0..3] of string = ('--admin','--adm','-admin','-adm');  
39 - PPlayer : array [0..3] of string = ('--player','--play','-player','-play');  
40 - PWatcher : array [0..3] of string = ('--watcher','--watch','-watcher','-watch');  
41 -  
42 -{$R *.res}  
43 -  
44 -  
45 -{$IFDEF DEBUG}  
46 - function CreateDebugFoldersForPlayers:Boolean;  
47 - var  
48 - i : integer;  
49 - begin  
50 - Result := True;  
51 - for i := 0 to 2 do  
52 - begin  
53 - if Pos(('Participant'), Application.ExeName) > 0 then  
54 - Break;  
55 - F := ApplicationPath+'Participant'+IntToStr(i+1);  
56 - WriteLn(F);  
57 - if ForceDirectoriesUTF8(F) then // ensure we have always the newer version for tests  
58 - begin  
59 - CopyFile(Application.ExeName,F+PathDelim+ApplicationName,[cffOverwriteFile]);  
60 - {$IFDEF LINUX}  
61 - FpChmod(F+PathDelim+ApplicationName,S_IRWXU);  
62 - {$ENDIF}  
63 - end  
64 - else Result := False;  
65 - end;  
66 - end;  
67 -{$ENDIF}  
68 -  
69 - function GetZMQNetworkID(var F:string):Boolean;  
70 - var ID : TStringList;  
71 - begin  
72 - Result := True;  
73 - ID := TStringList.Create;  
74 - if FileExists(F) then  
75 - try  
76 - ID.LoadFromFile(F);  
77 - F := Copy(ID.Text,0,Length(ID.Text)-2);  
78 - finally  
79 - ID.Free;  
80 - end  
81 - else  
82 - try  
83 - ID.Text := s_random(32);  
84 - ID.SaveToFile(F);  
85 - F := Copy(ID.Text,0,Length(ID.Text)-2);  
86 - except  
87 - on E: Exception do  
88 - begin  
89 - ID.Free;  
90 - {$IFDEF DEBUG}  
91 - ShowMessage(E.Message);  
92 - {$ENDIF}  
93 - Result := False;  
94 - end;  
95 - end;  
96 - end;  
97 -  
98 -begin  
99 - ApplicationPath := ExtractFilePath(Application.ExeName);  
100 - {$IFDEF DEBUG}  
101 - if not CreateDebugFoldersForPlayers then Exit;  
102 - {$ENDIF}  
103 - Application.Initialize;  
104 - F := ApplicationPath+PathDelim+'id';  
105 - if not GetZMQNetworkID(F) then Exit;  
106 - Application.CreateForm(TFormMatrixGame, FormMatrixGame);  
107 -  
108 - FormMatrixGame.SetID(F);  
109 - if Paramcount > 0 then  
110 - begin  
111 - if AnsiMatchStr(lowercase(ParamStr(0)), PAdmin) then  
112 - FormMatrixGame.SetGameActor(gaAdmin);  
113 - if AnsiMatchStr(lowercase(ParamStr(0)), PPlayer) then  
114 - FormMatrixGame.SetGameActor(gaPlayer);  
115 - if AnsiMatchStr(lowercase(ParamStr(0)), PWatcher) then  
116 - FormMatrixGame.SetGameActor(gaWatcher);  
117 - end;  
118 - Application.Run;  
119 -end.  
120 -  
experiment_runner.ico 0 → 100644
No preview for this file type
experiment_runner.lpi 0 → 100644
@@ -0,0 +1,198 @@ @@ -0,0 +1,198 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<CONFIG>
  3 + <ProjectOptions>
  4 + <Version Value="9"/>
  5 + <General>
  6 + <SessionStorage Value="InProjectDir"/>
  7 + <MainUnit Value="0"/>
  8 + <Title Value="experiment_runner"/>
  9 + <ResourceType Value="res"/>
  10 + <UseXPManifest Value="True"/>
  11 + <Icon Value="0"/>
  12 + </General>
  13 + <i18n>
  14 + <EnableI18N LFM="False"/>
  15 + </i18n>
  16 + <VersionInfo>
  17 + <StringTable ProductVersion=""/>
  18 + </VersionInfo>
  19 + <BuildModes Count="3">
  20 + <Item1 Name="Linux64" Default="True"/>
  21 + <Item2 Name="Win32 Debug">
  22 + <CompilerOptions>
  23 + <Version Value="11"/>
  24 + <Target>
  25 + <Filename Value="experiment_runner"/>
  26 + </Target>
  27 + <SearchPaths>
  28 + <IncludeFiles Value="$(ProjOutDir)"/>
  29 + <Libraries Value="/usr/lib/gcc/x86_64-linux-gnu/4.9/"/>
  30 + <OtherUnitFiles Value="units;../../dependency/delphizmq;../../units"/>
  31 + <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
  32 + </SearchPaths>
  33 + <Linking>
  34 + <Options>
  35 + <Win32>
  36 + <GraphicApplication Value="True"/>
  37 + </Win32>
  38 + </Options>
  39 + </Linking>
  40 + </CompilerOptions>
  41 + </Item2>
  42 + <Item3 Name="Win32 Release">
  43 + <CompilerOptions>
  44 + <Version Value="11"/>
  45 + <Target>
  46 + <Filename Value="experiment_runner"/>
  47 + </Target>
  48 + <SearchPaths>
  49 + <IncludeFiles Value="$(ProjOutDir)"/>
  50 + <Libraries Value="/usr/lib/gcc/x86_64-linux-gnu/4.9/"/>
  51 + <OtherUnitFiles Value="units;../../dependency/delphizmq;../../units"/>
  52 + <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
  53 + </SearchPaths>
  54 + <CodeGeneration>
  55 + <SmartLinkUnit Value="True"/>
  56 + <Optimizations>
  57 + <OptimizationLevel Value="4"/>
  58 + </Optimizations>
  59 + </CodeGeneration>
  60 + <Linking>
  61 + <Debugging>
  62 + <GenerateDebugInfo Value="False"/>
  63 + <StripSymbols Value="True"/>
  64 + </Debugging>
  65 + <LinkSmart Value="True"/>
  66 + <Options>
  67 + <Win32>
  68 + <GraphicApplication Value="True"/>
  69 + </Win32>
  70 + </Options>
  71 + </Linking>
  72 + </CompilerOptions>
  73 + </Item3>
  74 + </BuildModes>
  75 + <PublishOptions>
  76 + <Version Value="2"/>
  77 + </PublishOptions>
  78 + <RunParams>
  79 + <local>
  80 + <FormatVersion Value="1"/>
  81 + </local>
  82 + </RunParams>
  83 + <RequiredPackages Count="2">
  84 + <Item1>
  85 + <PackageName Value="FCL"/>
  86 + </Item1>
  87 + <Item2>
  88 + <PackageName Value="LCL"/>
  89 + </Item2>
  90 + </RequiredPackages>
  91 + <Units Count="15">
  92 + <Unit0>
  93 + <Filename Value="experiment_runner.lpr"/>
  94 + <IsPartOfProject Value="True"/>
  95 + </Unit0>
  96 + <Unit1>
  97 + <Filename Value="form_matrixgame.pas"/>
  98 + <IsPartOfProject Value="True"/>
  99 + <ComponentName Value="FormMatrixGame"/>
  100 + <HasResources Value="True"/>
  101 + <ResourceBaseClass Value="Form"/>
  102 + </Unit1>
  103 + <Unit2>
  104 + <Filename Value="README.md"/>
  105 + <IsPartOfProject Value="True"/>
  106 + </Unit2>
  107 + <Unit3>
  108 + <Filename Value="units/zmq_network.pas"/>
  109 + <IsPartOfProject Value="True"/>
  110 + </Unit3>
  111 + <Unit4>
  112 + <Filename Value="units/game_zmq_actors.pas"/>
  113 + <IsPartOfProject Value="True"/>
  114 + </Unit4>
  115 + <Unit5>
  116 + <Filename Value="units/game_actors.pas"/>
  117 + <IsPartOfProject Value="True"/>
  118 + </Unit5>
  119 + <Unit6>
  120 + <Filename Value="units/game_experiment.pas"/>
  121 + <IsPartOfProject Value="True"/>
  122 + </Unit6>
  123 + <Unit7>
  124 + <Filename Value="units/game_file_methods.pas"/>
  125 + <IsPartOfProject Value="True"/>
  126 + </Unit7>
  127 + <Unit8>
  128 + <Filename Value="units/game_resources.pas"/>
  129 + <IsPartOfProject Value="True"/>
  130 + </Unit8>
  131 + <Unit9>
  132 + <Filename Value="units/game_control.pas"/>
  133 + <IsPartOfProject Value="True"/>
  134 + </Unit9>
  135 + <Unit10>
  136 + <Filename Value="units/string_methods.pas"/>
  137 + <IsPartOfProject Value="True"/>
  138 + </Unit10>
  139 + <Unit11>
  140 + <Filename Value="units/game_actors_point.pas"/>
  141 + <IsPartOfProject Value="True"/>
  142 + </Unit11>
  143 + <Unit12>
  144 + <Filename Value="units/game_visual_elements.pas"/>
  145 + <IsPartOfProject Value="True"/>
  146 + </Unit12>
  147 + <Unit13>
  148 + <Filename Value="form_chooseactor.pas"/>
  149 + <IsPartOfProject Value="True"/>
  150 + <ComponentName Value="FormChooseActor"/>
  151 + <HasResources Value="True"/>
  152 + <ResourceBaseClass Value="Form"/>
  153 + </Unit13>
  154 + <Unit14>
  155 + <Filename Value="units/csv_writer.pas"/>
  156 + <IsPartOfProject Value="True"/>
  157 + </Unit14>
  158 + </Units>
  159 + </ProjectOptions>
  160 + <CompilerOptions>
  161 + <Version Value="11"/>
  162 + <Target>
  163 + <Filename Value="experiment_runner"/>
  164 + </Target>
  165 + <SearchPaths>
  166 + <IncludeFiles Value="$(ProjOutDir)"/>
  167 + <Libraries Value="/usr/lib/gcc/x86_64-linux-gnu/4.9/"/>
  168 + <OtherUnitFiles Value="units;../../dependency/delphizmq;../../units"/>
  169 + <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
  170 + </SearchPaths>
  171 + <Linking>
  172 + <Options>
  173 + <Win32>
  174 + <GraphicApplication Value="True"/>
  175 + </Win32>
  176 + </Options>
  177 + </Linking>
  178 + <Other>
  179 + <CustomOptions Value="-dUseCThreads"/>
  180 + <OtherDefines Count="1">
  181 + <Define0 Value="UseCThreads"/>
  182 + </OtherDefines>
  183 + </Other>
  184 + </CompilerOptions>
  185 + <Debugging>
  186 + <Exceptions Count="3">
  187 + <Item1>
  188 + <Name Value="EAbort"/>
  189 + </Item1>
  190 + <Item2>
  191 + <Name Value="ECodetoolError"/>
  192 + </Item2>
  193 + <Item3>
  194 + <Name Value="EFOpenError"/>
  195 + </Item3>
  196 + </Exceptions>
  197 + </Debugging>
  198 +</CONFIG>
experiment_runner.lpr 0 → 100644
@@ -0,0 +1,120 @@ @@ -0,0 +1,120 @@
  1 +{
  2 + Stimulus Control
  3 + Copyright (C) 2014-2016 Carlos Rafael Fernandes Picanço, Universidade Federal do Pará.
  4 +
  5 + The present file is distributed under the terms of the GNU General Public License (GPL v3.0).
  6 +
  7 + You should have received a copy of the GNU General Public License
  8 + along with this program. If not, see <http://www.gnu.org/licenses/>.
  9 +}
  10 +program experiment_runner;
  11 +
  12 +{$mode objfpc}{$H+}
  13 +
  14 +{$DEFINE DEBUG}
  15 +
  16 +uses
  17 + {$IFDEF UNIX}{$IFDEF UseCThreads}
  18 + cthreads,
  19 + {$ENDIF}{$ENDIF}
  20 + Interfaces // this includes the LCL widgetset
  21 + {$IFDEF DEBUG}
  22 + , Dialogs, FileUtil, LazFileUtils
  23 + {$IFDEF LINUX}
  24 + , BaseUnix
  25 + {$ENDIF}
  26 + {$ENDIF}
  27 + , StrUtils, Forms, Classes, sysutils
  28 + , form_matrixgame, game_actors
  29 + , zhelpers, form_chooseactor
  30 + ;
  31 +
  32 +
  33 +var
  34 + ApplicationPath,
  35 + F : string;
  36 +
  37 +const
  38 + PAdmin : array [0..3] of string = ('--admin','--adm','-admin','-adm');
  39 + PPlayer : array [0..3] of string = ('--player','--play','-player','-play');
  40 + PWatcher : array [0..3] of string = ('--watcher','--watch','-watcher','-watch');
  41 +
  42 +{$R *.res}
  43 +
  44 +
  45 +{$IFDEF DEBUG}
  46 + function CreateDebugFoldersForPlayers:Boolean;
  47 + var
  48 + i : integer;
  49 + begin
  50 + Result := True;
  51 + for i := 0 to 2 do
  52 + begin
  53 + if Pos(('Participant'), Application.ExeName) > 0 then
  54 + Break;
  55 + F := ApplicationPath+'Participant'+IntToStr(i+1);
  56 + WriteLn(F);
  57 + if ForceDirectoriesUTF8(F) then // ensure we have always the newer version for tests
  58 + begin
  59 + CopyFile(Application.ExeName,F+PathDelim+ApplicationName,[cffOverwriteFile]);
  60 + {$IFDEF LINUX}
  61 + FpChmod(F+PathDelim+ApplicationName,S_IRWXU);
  62 + {$ENDIF}
  63 + end
  64 + else Result := False;
  65 + end;
  66 + end;
  67 +{$ENDIF}
  68 +
  69 + function GetZMQNetworkID(var F:string):Boolean;
  70 + var ID : TStringList;
  71 + begin
  72 + Result := True;
  73 + ID := TStringList.Create;
  74 + if FileExists(F) then
  75 + try
  76 + ID.LoadFromFile(F);
  77 + F := Copy(ID.Text,0,Length(ID.Text)-2);
  78 + finally
  79 + ID.Free;
  80 + end
  81 + else
  82 + try
  83 + ID.Text := s_random(32);
  84 + ID.SaveToFile(F);
  85 + F := Copy(ID.Text,0,Length(ID.Text)-2);
  86 + except
  87 + on E: Exception do
  88 + begin
  89 + ID.Free;
  90 + {$IFDEF DEBUG}
  91 + ShowMessage(E.Message);
  92 + {$ENDIF}
  93 + Result := False;
  94 + end;
  95 + end;
  96 + end;
  97 +
  98 +begin
  99 + ApplicationPath := ExtractFilePath(Application.ExeName);
  100 + {$IFDEF DEBUG}
  101 + if not CreateDebugFoldersForPlayers then Exit;
  102 + {$ENDIF}
  103 + Application.Initialize;
  104 + F := ApplicationPath+PathDelim+'id';
  105 + if not GetZMQNetworkID(F) then Exit;
  106 + Application.CreateForm(TFormMatrixGame, FormMatrixGame);
  107 +
  108 + FormMatrixGame.SetID(F);
  109 + if Paramcount > 0 then
  110 + begin
  111 + if AnsiMatchStr(lowercase(ParamStr(0)), PAdmin) then
  112 + FormMatrixGame.SetGameActor(gaAdmin);
  113 + if AnsiMatchStr(lowercase(ParamStr(0)), PPlayer) then
  114 + FormMatrixGame.SetGameActor(gaPlayer);
  115 + if AnsiMatchStr(lowercase(ParamStr(0)), PWatcher) then
  116 + FormMatrixGame.SetGameActor(gaWatcher);
  117 + end;
  118 + Application.Run;
  119 +end.
  120 +