root/trunk/MainForm.cpp

Revision 16, 117.2 kB (checked in by sagrer, 8 months ago)
  • Исправлены ошибки в чтении\записи\редактировании неизвестных байтовых значений в рычагах и ловушках.
  • Параметр объектов UncnByte?1 - установлено назначение - при значении 1 показывается тень объекта, при значении 0 тень не показывается вообще. Параметр переименован в ShowShadow?.
  • Номер версии переведен на 0.3.7 - это будет багфикс релиз.
Line 
1 ///////////////////////////////////////////////////////////
2 //                      MobSurgeon                       //
3 //          Ðåäàêòîð mob-îâ äëÿ Ïðîêëÿòûõ Çåìåëü         //
4 //           Copyright (C) 2005-2007 Gipat Group         //
5 //              Ðàñïðîñòðàíÿåòñÿ íà óñëîâèÿõ             //
6 //    Gipat Group's opened EI-editor-utility license     //
7 //                      âåðñèè 1.0                       //
8 //                                                       //
9 //                  www.gipatgroup.org                   //
10 ///////////////////////////////////////////////////////////
11
12 //Ê ðàáîòå íàä äàííûì ôàéëîì ïðèëîæèëè ðóêè, íîãè.... êîðî÷å àôôòàðû:
13 // 1) Sagrer (sagrer@yandex.ru)
14
15 ////////////////////////////////////////////////////////////////////////
16
17 //---------------------------------------------------------------------------
18
19 #include <vcl.h>
20 #pragma hdrstop
21
22 #include "MainForm.h"
23 #include "initer.h"
24 #include "AboutForm.h"
25 #include "SettsForm.h"
26 #include "MobFormat.h"
27 #include "winuser.h"
28 #include "SearchRepForm.h"
29 #include "math.h"
30 #include "KeyChangerForm.h"
31 #include "MySys.hpp"
32
33 //---------------------------------------------------------------------------
34 #pragma package(smart_init)
35 #pragma link "SynEdit"
36 #pragma link "SynEditHighlighter"
37 #pragma link "SynHighlighterEIScript"
38 #pragma link "OrientatorFrame"
39 #pragma link "SynEditMiscClasses"
40 #pragma link "SynEditSearch"
41 #pragma resource "*.dfm"
42 TMainF *MainF;
43 //---------------------------------------------------------------------------
44 __fastcall TMainF::TMainF(TComponent* Owner)
45         : TForm(Owner)
46 {
47   FirstShowed = false;
48   ObjEditorChanging = false;
49   ObjEditorActive = false;
50 }
51 //---------------------------------------------------------------------------
52 void __fastcall TMainF::FormShow(TObject *Sender)
53 {
54   if (FirstShowed == false)
55   {
56     Caption = MobSurgeon_AppName;
57     PLastFocus = NULL;
58     BlockingInterfNow = false;
59
60     //Ïî óìîë÷àíèþ ïåðâîé âñåãäà îòêðûòà âêëàäêà ñêðèïòà.
61     MainF_PK->ActivePage = ScriptSh;
62
63     //Íàñòðîéêà èíòåðôåéñà...
64     UpdateMainInterf();  //Îáíîâèòü îñíîâíóþ ÷àñòü èíòåðôåéñà.
65     Set_MC_Interf();    //Âûñòàâèòü ïàðàìåòðû èíòåðôåéñà ìàññîâûõ èçìåíåíèé.
66     if ((VitInfo->Status == VIT_Status_ReleaseCandidat) || (VitInfo->Status == VIT_Status_Release))
67     {
68       //Åñëè ýòî ïðåòåíçèÿ íà ðåëèç - ñïðÿòàòü òåñòîâóþ ìåíþõó.
69       TestMenuMenu->Visible = false;
70     };
71
72
73     //Îáðàáîòàòü ïàðàìåòðû êîìàíäíîé ñòðîêè åñëè îíè åñòü...
74     if (ParamCount() > 0)
75     {
76       //Åñëè îíè åñòü, ïàðàìåòðû åòè...
77       OpenMobComm(ParamStr(1));
78     };
79   }
80 }
81 //---------------------------------------------------------------------------
82
83 void __fastcall TMainF::ExitMenuClick(TObject *Sender)
84 {
85   Close();  //Ïðîñòî çàêðûòü ãëàâíîå îêíî -->> âûéòè èç ïðîãè.
86 }
87 //---------------------------------------------------------------------------
88
89 void __fastcall TMainF::AboutMenuClick(TObject *Sender)
90 {
91   AboutF = new TAboutF(this);
92   AboutF->ShowModal();
93   delete AboutF;
94 }
95 //---------------------------------------------------------------------------
96
97 void __fastcall TMainF::TestMenuMenuClick(TObject *Sender)
98 {
99   //Íó òèïà òóò áóäó âñÿêèå òåñòû...
100
101   //Ðóãàëêà. Ïðè òåñòèðîâàíèè åå ìîæíî çàêîììåíòèòü ÷òîá íå ìåøàëà.
102   //Ïîñëå çàâåðøåíèÿ òåñòèðîâàíèÿ - òåñòû çàêîììåíòèòü
103   //à ðóãàëêó åññíî ðàñêîììåíòèòü :).
104   //ShowMessage("Âîò ëþäè.... íó íàôèãà æìàòü êóäà íå íàäî à?! À åñëè ÿ òå âèíò ôîðìàòíó? Èëè ïðîö ïðîæãó à? Ñêàçàíî æå - íå æìàòü.... ìëÿ, âîò ëþäè åïò....");
105
106   //SynEIScriptSyn = TSynEIScriptSyn->Create();
107   //SynEIScriptSyn->
108   //ScriptEd->Highlighter = SynEIScriptSyn;
109   //Íó à íèæå åòîãî êîììåíòà óæå ìîæíî ïèñàòü âñÿêèå òåñòû :).
110
111   //ShowMessage(IntToStr(MobSignature));
112
113   //Òåñò êëàññà, ðàáîòàþùåãî ñ ìîáàìè...
114   //MobInMm1->LoadMob("startzone.mob");
115
116   //Òåñò ñîõðàíÿëêè...
117   /*MobInMem1->UsingThread = true;  //Îòêðûâàòü â îòäåëüíîé íèòêå.
118   MobInMem1->LogEd = MainF->LogEd;
119   MobInMem1->SaveMob(ProgPath+"TestSaveMob.mob");*/
120
121   //__int32 Test = 0;
122   //Test = -1;
123   //ShowMessage(Test);
124
125   //SUnitObjBlock teststruct;
126   //teststruct.Armour = new DynamicArray <String>;
127   //teststruct.Armour->Length = 0;
128
129   /*TFileStream *File1;
130   File1 = new TFileStream("test1.txt",fmCreate);
131
132   //ShowMessage(MobInMem1->ScriptText.Length());
133
134   //Ïèøåì èíôó â ôàéë...
135   File1->Write(&MobInMem1->ScriptText[1],MobInMem1->ScriptText.Length());
136
137   //Çàêðûâàåì ôàéë...
138   delete File1;*/
139
140   //ScriptEd->Enabled = false;
141   //ShowMessage(DecimalSeparator);
142
143   //ShowMessage(pow(2,4));
144
145   //ShowMessage(Norm_StrCommaList("1  ,  2  ,3,  4,  5"));
146
147   //this->ValuesEditor->Selection = NULL;
148 }
149 //---------------------------------------------------------------------------
150
151 void __fastcall TMainF::OpenMobMenuClick(TObject *Sender)
152 {
153   //Ýòîò ïóíêò ìåíþ îòêðûâàåò ìîá.
154   OpenMobComm("NULL");
155 }
156 //---------------------------------------------------------------------------
157
158 void __fastcall TMainF::SaveMob_menuClick(TObject *Sender)
159 {
160   //Ýòîò ïóíêò ìåíþ ñåéâèò ìîá.
161   if (MobLoaded == true)
162   {
163     //Åñëè ðåäàêòèðîâàëîñü çíà÷åíèå â ðåäàêòîðå îáúåêòîâ...
164     if (ObjEditorActive == true)
165     {
166       //Îáðàáîòêà áóäòî îí ôîêóñ ïîòåðÿë - ÷òîá èíôà ñîõðàíèëàñü....
167       this->ValuesEditorExit(Sender);
168       ObjEditorActive = true;
169     };
170     SaveMobComm();
171   };
172 }
173 //---------------------------------------------------------------------------
174
175
176 void __fastcall TMainF::SaveAsMobMenuClick(TObject *Sender)
177 {
178   //Ýòîò ïóíêò ìåíþ ïûòàåòñÿ çàñåéâèòü ìîá ïîä äðóãèì èìåíåì.
179   //Åñëè ðåäàêòèðîâàëîñü çíà÷åíèå â ðåäàêòîðå îáúåêòîâ...
180   if (ObjEditorActive == true)
181   {
182     //Îáðàáîòêà áóäòî îí ôîêóñ ïîòåðÿë - ÷òîá èíôà ñîõðàíèëàñü....
183     this->ValuesEditorExit(Sender);
184     ObjEditorActive = true;
185   };
186   SaveAsMobComm();
187 }
188 //---------------------------------------------------------------------------
189
190
191 void __fastcall TMainF::LogShShow(TObject *Sender)
192 {
193   //Òèïà ïðè ïîêàçå òàáà.
194
195   //Ïîñòàâèòü ôîêóñ íà ïîëå ñ ëîãîì...
196   LogEd->SetFocus();
197   //Ïîñòàâèòü êóðñîð âíèç
198   LogEd->SelStart = LogEd->Lines->Text.Length()-1;
199   //È ïðîêðóòèòü äî ñàìîãî íèçà :)
200   LogEd->Perform(WM_VSCROLL,SB_BOTTOM,0);
201  
202 }
203 //---------------------------------------------------------------------------
204
205 void __fastcall TMainF::FormClose(TObject *Sender, TCloseAction &Action)
206 {
207   //Òèïà ïî çàêðûòèþ îêíà...
208
209   //Ïåðåìåííûå.
210   bool AllOk;
211
212   //Çàêðûòü ìîá.
213   AllOk = CloseMobComm();
214
215   //Åñëè ìîá çàêðûò óñïåøíî - ïðîäîëæèòü ïðîöåäóðó çàêðûòèÿ ïðîãè.
216   if (AllOk == true)
217   {
218     //Çàñàâèòü èçìåíåíèÿ â èíòåðôåéñå...
219     Save_MC_Interf();  //Ìàññîâûå èçìåíåíèÿ...
220
221     //Äåèíèöèàëèçàöèÿ OGL...
222     ObjectOrientator->GLDeInitialize();
223   }
224   else
225   {
226     //Íååå, íèôèããà, çàêðûâàööî íåëüçÿ ).
227     Action = caNone;
228   };
229 }
230 //---------------------------------------------------------------------------
231
232 void __fastcall TMainF::ProgSettsMenuClick(TObject *Sender)
233 {
234   SettsF = new TSettsF(this);
235   SettsF->ShowModal();
236   delete SettsF;
237 }
238 //---------------------------------------------------------------------------
239
240 void TMainF::BlockInterf()
241 //Òèïà çàáëîêèðîâàòü èíòåðôåéñ...
242 {
243   // òàãàõ - ñàâèì òèïà ïðåäûäóùåå çíà÷åíèå :).
244
245   BlockingInterfNow = true;
246
247   //Ðåäàêòîð ñêðèïòà
248   ScriptEd->Tag = ScriptEd->Enabled;
249   ScriptEd->Enabled = false;
250   //Ìåíþõè
251   FileMenu->Tag = FileMenu->Enabled;
252   FileMenu->Enabled = false;
253   HelpMenu->Tag = HelpMenu->Enabled;
254   HelpMenu->Enabled = false;
255   //Âêëàäêà ðåäàêòîðà îáúåêòîâ...
256   ObjectsTree->Tag = ObjectsTree->Enabled;
257   ObjectsTree->Enabled = false;
258   ValuesEditor->Tag = ValuesEditor->Enabled;
259   ValuesEditor->Enabled = false;
260   //Âêëàäêà ìàññîâûõ èçìåíåíèé
261   MC_KR_Param_Name1CB->Tag = MC_KR_Param_Name1CB->Enabled;
262   MC_KR_Param_Name1CB->Enabled = false;
263   MC_KR_Param_Name1Ed->Tag = MC_KR_Param_Name1Ed->Enabled;
264   MC_KR_Param_Name1Ed->Enabled = false;
265   MC_KR_Param_Name2CB->Tag = MC_KR_Param_Name2CB->Enabled;
266   MC_KR_Param_Name2CB->Enabled = false;
267   MC_KR_Param_Name2Ed->Tag = MC_KR_Param_Name2Ed->Enabled;
268   MC_KR_Param_Name2Ed->Enabled = false;
269   MC_KR_Param_ScriptVariableNameCB->Tag = MC_KR_Param_ScriptVariableNameCB->Enabled;
270   MC_KR_Param_ScriptVariableNameCB->Enabled = false;
271   MC_KR_Param_ScriptVariableNameEd->Tag = MC_KR_Param_ScriptVariableNameEd->Enabled;
272   MC_KR_Param_ScriptVariableNameEd->Enabled = false;
273   MC_KR_Param_Model3dCB->Tag = MC_KR_Param_Model3dCB->Enabled;
274   MC_KR_Param_Model3dCB->Enabled = false;
275   MC_KR_Param_Model3dEd->Tag = MC_KR_Param_Model3dEd->Enabled;
276   MC_KR_Param_Model3dEd->Enabled = false;
277   MC_KR_Param_FirstTextureCB->Tag = MC_KR_Param_FirstTextureCB->Enabled;
278   MC_KR_Param_FirstTextureCB->Enabled = false;
279   MC_KR_Param_FirstTextureEd->Tag = MC_KR_Param_FirstTextureEd->Enabled;
280   MC_KR_Param_FirstTextureEd->Enabled = false;
281   MC_KR_Param_SecondTextureCB->Tag = MC_KR_Param_SecondTextureCB->Enabled;
282   MC_KR_Param_SecondTextureCB->Enabled = false;
283   MC_KR_Param_SecondTextureEd->Tag = MC_KR_Param_SecondTextureEd->Enabled;
284   MC_KR_Param_SecondTextureEd->Enabled = false;
285   MC_KR_Param_PlayerNumberCB->Tag = MC_KR_Param_PlayerNumberCB->Enabled;
286   MC_KR_Param_PlayerNumberCB->Enabled = false;
287   MC_KR_Param_PlayerNumberEd->Tag = MC_KR_Param_PlayerNumberEd->Enabled;
288   MC_KR_Param_PlayerNumberEd->Enabled = false;
289   MC_KR_Coords_PramouglCB->Tag = MC_KR_Coords_PramouglCB->Enabled;
290   MC_KR_Coords_PramouglCB->Enabled = false;
291   MC_KR_Coords_Pramougl_X1Ed->Tag = MC_KR_Coords_Pramougl_X1Ed->Enabled;
292   MC_KR_Coords_Pramougl_X1Ed->Enabled = false;
293   MC_KR_Coords_Pramougl_Y1Ed->Tag = MC_KR_Coords_Pramougl_Y1Ed->Enabled;
294   MC_KR_Coords_Pramougl_Y1Ed->Enabled = false;
295   MC_KR_Coords_Pramougl_X2Ed->Tag = MC_KR_Coords_Pramougl_X2Ed->Enabled;
296   MC_KR_Coords_Pramougl_X2Ed->Enabled = false;
297   MC_KR_Coords_Pramougl_Y2Ed->Tag = MC_KR_Coords_Pramougl_Y2Ed->Enabled;
298   MC_KR_Coords_Pramougl_Y2Ed->Enabled = false;
299   MC_KR_Coords_KrugCB->Tag = MC_KR_Coords_KrugCB->Enabled;
300   MC_KR_Coords_KrugCB->Enabled = false;
301   MC_KR_Coords_Krug_XEd->Tag = MC_KR_Coords_Krug_XEd->Enabled;
302   MC_KR_Coords_Krug_XEd->Enabled = false;
303   MC_KR_Coords_Krug_YEd->Tag = MC_KR_Coords_Krug_YEd->Enabled;
304   MC_KR_Coords_Krug_YEd->Enabled = false;
305   MC_KR_Coords_Krug_RadEd->Tag = MC_KR_Coords_Krug_RadEd->Enabled;
306   MC_KR_Coords_Krug_RadEd->Enabled = false;
307   MC_KR_Type_UnitCB->Tag = MC_KR_Type_UnitCB->Enabled;
308   MC_KR_Type_UnitCB->Enabled = false;
309   MC_KR_Type_ObjectCB->Tag = MC_KR_Type_ObjectCB->Enabled;
310   MC_KR_Type_ObjectCB->Enabled = false;
311   MC_KR_Type_LeverCB->Tag = MC_KR_Type_LeverCB->Enabled;
312   MC_KR_Type_LeverCB->Enabled = false;
313   MC_KR_Type_TrapCB->Tag = MC_KR_Type_TrapCB->Enabled;
314   MC_KR_Type_TrapCB->Enabled = false;
315   MC_KR_Type_FlameCB->Tag = MC_KR_Type_FlameCB->Enabled;
316   MC_KR_Type_FlameCB->Enabled = false;
317   MC_KR_Type_Particle1CB->Tag = MC_KR_Type_Particle1CB->Enabled;
318   MC_KR_Type_Particle1CB->Enabled = false;
319   MC_KR_Type_Particle2CB->Tag = MC_KR_Type_Particle2CB->Enabled;
320   MC_KR_Type_Particle2CB->Enabled = false;
321   MC_KR_Type_Particle3CB->Tag = MC_KR_Type_Particle3CB->Enabled;
322   MC_KR_Type_Particle3CB->Enabled = false;
323   MC_AS_Obj_DelRB->Tag = MC_AS_Obj_DelRB->Enabled;
324   MC_AS_Obj_DelRB->Enabled = false;
325   MC_AS_Obj_CopyRB->Tag = MC_AS_Obj_CopyRB->Enabled;
326   MC_AS_Obj_CopyRB->Enabled = false;
327   MC_AS_Obj_MoveRB->Tag = MC_AS_Obj_MoveRB->Enabled;
328   MC_AS_Obj_MoveRB->Enabled = false;
329   MC_AS_Obj_TargetMobSelBut->Tag = MC_AS_Obj_TargetMobSelBut->Enabled;
330   MC_AS_Obj_TargetMobSelBut->Enabled = false;
331   MC_AS_Obj_TargetMobEd->Tag = MC_AS_Obj_TargetMobEd->Enabled;
332   MC_AS_Obj_TargetMobEd->Enabled = false;
333   MC_AS_Obj_ReplaceCB->Tag = MC_AS_Obj_ReplaceCB->Enabled;
334   MC_AS_Obj_ReplaceCB->Enabled = false;
335   MC_AS_Params_Name1CB->Tag = MC_AS_Params_Name1CB->Enabled;
336   MC_AS_Params_Name1CB->Enabled = false;
337   MC_AS_Params_Name1Ed->Tag = MC_AS_Params_Name1Ed->Enabled;
338   MC_AS_Params_Name1Ed->Enabled = false;
339   MC_AS_Params_Name2CB->Tag = MC_AS_Params_Name2CB->Enabled;
340   MC_AS_Params_Name2CB->Enabled = false;
341   MC_AS_Params_Name2Ed->Tag = MC_AS_Params_Name2Ed->Enabled;
342   MC_AS_Params_Name2Ed->Enabled = false;
343   MC_AS_Params_ScriptVariableNameCB->Tag = MC_AS_Params_ScriptVariableNameCB->Enabled;
344   MC_AS_Params_ScriptVariableNameCB->Enabled = false;
345   MC_AS_Params_ScriptVariableNameEd->Tag = MC_AS_Params_ScriptVariableNameEd->Enabled;
346   MC_AS_Params_ScriptVariableNameEd->Enabled = false;
347   MC_AS_Params_Model3dCB->Tag = MC_AS_Params_Model3dCB->Enabled;
348   MC_AS_Params_Model3dCB->Enabled = false;
349   MC_AS_Params_Model3dEd->Tag = MC_AS_Params_Model3dEd->Enabled;
350   MC_AS_Params_Model3dEd->Enabled = false;
351   MC_AS_Params_FirstTextureCB->Tag = MC_AS_Params_FirstTextureCB->Enabled;
352   MC_AS_Params_FirstTextureCB->Enabled = false;
353   MC_AS_Params_FirstTextureEd->Tag = MC_AS_Params_FirstTextureEd->Enabled;
354   MC_AS_Params_FirstTextureEd->Enabled = false;
355   MC_AS_Params_SecondTextureCB->Tag = MC_AS_Params_SecondTextureCB->Enabled;
356   MC_AS_Params_SecondTextureCB->Enabled = false;
357   MC_AS_Params_SecondTextureEd->Tag = MC_AS_Params_SecondTextureEd->Enabled;
358   MC_AS_Params_SecondTextureEd->Enabled = false;
359   MC_AS_Params_OffsetCB->Tag = MC_AS_Params_OffsetCB->Enabled;
360   MC_AS_Params_OffsetCB->Enabled = false;
361   MC_AS_Params_OffsetXEd->Tag = MC_AS_Params_OffsetXEd->Enabled;
362   MC_AS_Params_OffsetXEd->Enabled = false;
363   MC_AS_Params_OffsetYEd->Tag = MC_AS_Params_OffsetYEd->Enabled;
364   MC_AS_Params_OffsetYEd->Enabled = false;
365   MC_AS_Params_PlayerNumberCB->Tag = MC_AS_Params_PlayerNumberCB->Enabled;
366   MC_AS_Params_PlayerNumberCB->Enabled = false;
367   MC_AS_Params_PlayerNumberEd->Tag = MC_AS_Params_PlayerNumberEd->Enabled;
368   MC_AS_Params_PlayerNumberEd->Enabled = false;
369   MC_ResetBut->Tag = MC_ResetBut->Enabled;
370   MC_ResetBut->Enabled = false;
371   MC_GoBut->Tag = MC_GoBut->Enabled;
372   MC_GoBut->Enabled = false;
373   MC_AS_Obj_OnlyParamsRB->Tag = MC_AS_Obj_OnlyParamsRB->Enabled;
374   MC_AS_Obj_OnlyParamsRB->Enabled = false;
375
376   BlockingInterfNow = false;
377
378 };
379 //---------------------------------------------------------------------------
380
381 void TMainF::UnBlockInterf()
382 //Òèïà ðàçáëîêèðîâàòü èíòåðôåéñ...
383 {
384   //Ðåäàêòîð ñêðèïòà
385   ScriptEd->Enabled = ScriptEd->Tag;
386   //Ìåíþõè
387   FileMenu->Enabled = FileMenu->Tag;
388   HelpMenu->Enabled = HelpMenu->Tag;
389   //Âêëàäêà ðåäàêòîðà îáúåêòîâ...
390   ObjectsTree->Enabled = ObjectsTree->Tag;
391   ValuesEditor->Enabled = ValuesEditor->Tag;
392   //Âêëàäêà ìàññîâûõ èçìåíåíèé
393   MC_KR_Param_Name1CB->Enabled = MC_KR_Param_Name1CB->Tag;
394   MC_KR_Param_Name1Ed->Enabled = MC_KR_Param_Name1Ed->Tag;
395   MC_KR_Param_Name2CB->Enabled = MC_KR_Param_Name2CB->Tag;
396   MC_KR_Param_Name2Ed->Enabled = MC_KR_Param_Name2Ed->Tag;
397   MC_KR_Param_ScriptVariableNameCB->Enabled = MC_KR_Param_ScriptVariableNameCB->Tag;
398   MC_KR_Param_ScriptVariableNameEd->Enabled = MC_KR_Param_ScriptVariableNameEd->Tag;
399   MC_KR_Param_Model3dCB->Enabled = MC_KR_Param_Model3dCB->Tag;
400   MC_KR_Param_Model3dEd->Enabled = MC_KR_Param_Model3dEd->Tag;
401   MC_KR_Param_FirstTextureCB->Enabled = MC_KR_Param_FirstTextureCB->Tag;
402   MC_KR_Param_FirstTextureEd->Enabled = MC_KR_Param_FirstTextureEd->Tag;
403   MC_KR_Param_SecondTextureCB->Enabled = MC_KR_Param_SecondTextureCB->Tag;
404   MC_KR_Param_SecondTextureEd->Enabled = MC_KR_Param_SecondTextureEd->Tag;
405   MC_KR_Param_PlayerNumberCB->Enabled = MC_KR_Param_PlayerNumberCB->Tag;
406   MC_KR_Param_PlayerNumberEd->Enabled = MC_KR_Param_PlayerNumberEd->Tag;
407   MC_KR_Coords_PramouglCB->Enabled = MC_KR_Coords_PramouglCB->Tag;
408   MC_KR_Coords_Pramougl_X1Ed->Enabled = MC_KR_Coords_Pramougl_X1Ed->Tag;
409   MC_KR_Coords_Pramougl_Y1Ed->Enabled = MC_KR_Coords_Pramougl_Y1Ed->Tag;
410   MC_KR_Coords_Pramougl_X2Ed->Enabled = MC_KR_Coords_Pramougl_X2Ed->Tag;
411   MC_KR_Coords_Pramougl_Y2Ed->Enabled = MC_KR_Coords_Pramougl_Y2Ed->Tag;
412   MC_KR_Coords_KrugCB->Enabled = MC_KR_Coords_KrugCB->Tag;
413   MC_KR_Coords_Krug_XEd->Enabled = MC_KR_Coords_Krug_XEd->Tag;
414   MC_KR_Coords_Krug_YEd->Enabled = MC_KR_Coords_Krug_YEd->Tag;
415   MC_KR_Coords_Krug_RadEd->Enabled = MC_KR_Coords_Krug_RadEd->Tag;
416   MC_KR_Type_UnitCB->Enabled = MC_KR_Type_UnitCB->Tag;
417   MC_KR_Type_ObjectCB->Enabled = MC_KR_Type_ObjectCB->Tag;
418   MC_KR_Type_LeverCB->Enabled = MC_KR_Type_LeverCB->Tag;
419   MC_KR_Type_TrapCB->Enabled = MC_KR_Type_TrapCB->Tag;
420   MC_KR_Type_FlameCB->Enabled = MC_KR_Type_FlameCB->Tag;
421   MC_KR_Type_Particle1CB->Enabled = MC_KR_Type_Particle1CB->Tag;
422   MC_KR_Type_Particle2CB->Enabled = MC_KR_Type_Particle2CB->Tag;
423   MC_KR_Type_Particle3CB->Enabled = MC_KR_Type_Particle3CB->Tag;
424   MC_AS_Obj_DelRB->Enabled = MC_AS_Obj_DelRB->Tag;
425   MC_AS_Obj_CopyRB->Enabled = MC_AS_Obj_CopyRB->Tag;
426   MC_AS_Obj_MoveRB->Enabled = MC_AS_Obj_MoveRB->Tag;
427   MC_AS_Obj_TargetMobSelBut->Enabled = MC_AS_Obj_TargetMobSelBut->Tag;
428   MC_AS_Obj_TargetMobEd->Enabled = MC_AS_Obj_TargetMobEd->Tag;
429   MC_AS_Obj_ReplaceCB->Enabled = MC_AS_Obj_ReplaceCB->Tag;
430   MC_AS_Params_Name1CB->Enabled = MC_AS_Params_Name1CB->Tag;
431   MC_AS_Params_Name1Ed->Enabled = MC_AS_Params_Name1Ed->Tag;
432   MC_AS_Params_Name2CB->Enabled = MC_AS_Params_Name2CB->Tag;
433   MC_AS_Params_Name2Ed->Enabled = MC_AS_Params_Name2Ed->Tag;
434   MC_AS_Params_ScriptVariableNameCB->Enabled = MC_AS_Params_ScriptVariableNameCB->Tag;
435   MC_AS_Params_ScriptVariableNameEd->Enabled = MC_AS_Params_ScriptVariableNameEd->Tag;
436   MC_AS_Params_Model3dCB->Enabled = MC_AS_Params_Model3dCB->Tag;
437   MC_AS_Params_Model3dEd->Enabled = MC_AS_Params_Model3dEd->Tag;
438   MC_AS_Params_FirstTextureCB->Enabled = MC_AS_Params_FirstTextureCB->Tag;
439   MC_AS_Params_FirstTextureEd->Enabled = MC_AS_Params_FirstTextureEd->Tag;
440   MC_AS_Params_SecondTextureCB->Enabled = MC_AS_Params_SecondTextureCB->Tag;
441   MC_AS_Params_SecondTextureEd->Enabled = MC_AS_Params_SecondTextureEd->Tag;
442   MC_AS_Params_OffsetCB->Enabled = MC_AS_Params_OffsetCB->Tag;
443   MC_AS_Params_OffsetXEd->Enabled = MC_AS_Params_OffsetXEd->Tag;
444   MC_AS_Params_OffsetYEd->Enabled = MC_AS_Params_OffsetYEd->Tag;
445   MC_AS_Params_PlayerNumberCB->Enabled = MC_AS_Params_PlayerNumberCB->Tag;
446   MC_AS_Params_PlayerNumberEd->Enabled = MC_AS_Params_PlayerNumberEd->Tag;
447   MC_ResetBut->Enabled = MC_ResetBut->Tag;
448   MC_GoBut->Enabled = MC_GoBut->Tag;
449   MC_AS_Obj_OnlyParamsRB->Enabled = MC_AS_Obj_OnlyParamsRB->Tag;
450
451   //È âåðíóòü ôîêóñ òóäà ãäå îí áûë...
452   ReturnFocus();
453 };
454 //---------------------------------------------------------------------------
455
456 void TMainF::ReturnFocus()
457 //Âîçâðàùàåò ôîêóñ ïîñëåäíåìó ôîêóñèðîâàâøåìóñÿ ýëåìåíòó :).
458 {
459   //Ïðîñòî çàôîêóñèòü åãî :).
460   if (PLastFocus != NULL)
461   {
462       PLastFocus->SetFocus();
463   }; 
464 };
465 //---------------------------------------------------------------------------
466 void __fastcall TMainF::ScriptEdEnter(TObject *Sender)
467 {
468   //Òèïà ôîêóñ ñþäà ïîñëåäíèé...
469   PLastFocus = ScriptEd;
470   UpdateEditMenu();
471 }
472 //---------------------------------------------------------------------------
473
474 void __fastcall TMainF::ScriptEdExit(TObject *Sender)
475 {
476   if (BlockingInterfNow == false)
477   {
478     //Íî òîêà åñëè ýòî ïðîèñõîäèò íå ïðè áëîêèðîâêå èíòåðôåéñà...
479     PLastFocus = NULL;   //Òèïà ôîêóñà íåòó íèôèãà.
480   };
481
482   UpdateEditMenu(); 
483 }
484 //---------------------------------------------------------------------------
485
486 void TMainF::UpdateMainInterf()
487 //Îáíîâëÿåò îñíîâíóþ ÷àñòü èíòåðôåéñà â ñîîòâ. ñ èçìåíèâøèìèñÿ óñëîâèÿìè :).
488 {
489   //Íó òèïà... â îáùåì òàê - â íà÷àëå âûâåñòè èìåíà çàãðóæåíûõ ôàéëîâ.
490   Caption = MobSurgeon_AppName;
491   Application->Title = MobSurgeon_AppName;
492   UpdateEditMenu();  //ìåíþõà ðåäàêòèðîâàíèÿ.
493   if (MobLoaded == true)
494   {
495     //Ìîá çàãðóæåí - âûâåñòè åãî èìÿ ôàéëà...
496     Caption = Caption + ' ' + ExtractFileName(MobFileName);
497     if (MobModified == true) Caption = Caption + " *";    //Îòìåòêà î ìîäèôèöèðîâàííîñòè ôàéëà.
498     Application->Title = ExtractFileName(MobFileName);
499   };
500
501   //Òåïåðü - áëîêèðîâêà ýëåìåíòîâ èíòåðôåéñà â çàâèñèìîñòè îò òîãî êàêèå ôàéëû áûëè îòêðûòû...
502   if (MobLoaded == true)
503   {
504     //Ìîá çàãðóæåí.
505
506     //Ðàçáëîêèðîâàòü ìåíþõó...
507     SaveMob_menu->Enabled = true;
508     SaveAsMobMenu->Enabled = true;
509     BackupMobMenu->Enabled = true;
510     CloseMobMenu->Enabled = true;
511
512     //Ðàçáëîêèðîâàòü ðåäàêòîð ñêðèïòà...
513     ScriptEd->Enabled = true;
514     if (MainF_PK->ActivePage == ScriptSh)
515     {
516       PLastFocus = ScriptEd;
517       ReturnFocus();
518       UpdateEditMenu();  //ìåíþõà ðåäàêòèðîâàíèÿ.
519     };
520
521     //Ðàçáëîêèðîâàòü èíòåðôåéñ ðåäàêòîðà îáúåêòîâ...
522     ObjectsTree->Enabled = true;
523     ValuesEditor->Enabled = true;
524
525     //Ðàçáëîêèðîâàòü èíòåðôåéñ âêëàäêè ìàññîâûõ èçìåíåíèé
526     MC_KR_Param_Name1CB->Enabled = true;
527     MC_KR_Param_Name1Ed->Enabled = true;
528     MC_KR_Param_Name2CB->Enabled = true;
529     MC_KR_Param_Name2Ed->Enabled = true;
530     MC_KR_Param_ScriptVariableNameCB->Enabled = true;
531     MC_KR_Param_ScriptVariableNameEd->Enabled = true;
532     MC_KR_Param_Model3dCB->Enabled = true;
533     MC_KR_Param_Model3dEd->Enabled = true;
534     MC_KR_Param_FirstTextureCB->Enabled = true;
535     MC_KR_Param_FirstTextureEd->Enabled = true;
536     MC_KR_Param_SecondTextureCB->Enabled = true;
537     MC_KR_Param_SecondTextureEd->Enabled = true;
538     MC_KR_Param_PlayerNumberCB->Enabled = true;
539     MC_KR_Param_PlayerNumberEd->Enabled = true;
540     MC_KR_Coords_PramouglCB->Enabled = true;
541     MC_KR_Coords_Pramougl_X1Ed->Enabled = true;
542     MC_KR_Coords_Pramougl_Y1Ed->Enabled = true;
543     MC_KR_Coords_Pramougl_X2Ed->Enabled = true;
544     MC_KR_Coords_Pramougl_Y2Ed->Enabled = true;
545     MC_KR_Coords_KrugCB->Enabled = true;
546     MC_KR_Coords_Krug_XEd->Enabled = true;
547     MC_KR_Coords_Krug_YEd->Enabled = true;
548     MC_KR_Coords_Krug_RadEd->Enabled = true;
549     MC_KR_Type_UnitCB->Enabled = true;
550     MC_KR_Type_ObjectCB->Enabled = true;
551     MC_KR_Type_LeverCB->Enabled = true;
552     MC_KR_Type_TrapCB->Enabled = true;
553     MC_KR_Type_FlameCB->Enabled = true;
554     MC_KR_Type_Particle1CB->Enabled = true;
555     MC_KR_Type_Particle2CB->Enabled = true;
556     MC_KR_Type_Particle3CB->Enabled = true;
557     MC_AS_Obj_DelRB->Enabled = true;
558     MC_AS_Obj_CopyRB->Enabled = true;
559     MC_AS_Obj_MoveRB->Enabled = true;
560     MC_AS_Obj_TargetMobSelBut->Enabled = true;
561     MC_AS_Obj_TargetMobEd->Enabled = true;
562     MC_AS_Obj_ReplaceCB->Enabled = true;
563     MC_AS_Params_Name1CB->Enabled = true;
564     MC_AS_Params_Name1Ed->Enabled = true;
565     MC_AS_Params_Name2CB->Enabled = true;
566     MC_AS_Params_Name2Ed->Enabled = true;
567     MC_AS_Params_ScriptVariableNameCB->Enabled = true;
568     MC_AS_Params_ScriptVariableNameEd->Enabled = true;
569     MC_AS_Params_Model3dCB->Enabled = true;
570     MC_AS_Params_Model3dEd->Enabled = true;
571     MC_AS_Params_FirstTextureCB->Enabled = true;
572     MC_AS_Params_FirstTextureEd->Enabled = true;
573     MC_AS_Params_SecondTextureCB->Enabled = true;
574     MC_AS_Params_SecondTextureEd->Enabled = true;
575     MC_AS_Params_OffsetCB->Enabled = true;
576     MC_AS_Params_OffsetXEd->Enabled = true;
577     MC_AS_Params_OffsetYEd->Enabled = true;
578     MC_AS_Params_PlayerNumberCB->Enabled = true;
579     MC_AS_Params_PlayerNumberEd->Enabled = true;
580     MC_ResetBut->Enabled = true;
581     MC_GoBut->Enabled = true;
582     MC_AS_Obj_OnlyParamsRB->Enabled = true;
583     MC_AS_UpdDel();  //Îáíîâèòü èíòåðôåéñ â çàâèñèìîñòè îò íàñòðîåê óäàëåíèÿ îáúåêòîâ â ìàññîâûõ èçìåíåíèÿõ.
584
585   }
586   else
587   {
588     //Íèêóà îí íå çàãðóæåí (ìîá).
589
590     //Çàáëîêèðîâàòü ìåíþõó...
591     SaveMob_menu->Enabled = false;
592     SaveAsMobMenu->Enabled = false;
593     BackupMobMenu->Enabled = false;
594     CloseMobMenu->Enabled = false;
595
596     //Çàáëîêèðîâàòü ðåäàêòîð ñêðèïòà...
597     ScriptEd->Enabled = false;
598
599     //Çàáëîêèðîâàòü èíòåðôåéñ ðåäàêòîðà îáúåêòîâ...
600     ObjectsTree->Enabled = false;
601     ValuesEditor->Enabled = false;
602
603     //Çàáëîêèðîâàòü èíòåðôåéñ âêëàäêè ìàññîâûõ èçìåíåíèé
604     MC_KR_Param_Name1CB->Enabled = false;
605     MC_KR_Param_Name1Ed->Enabled = false;
606     MC_KR_Param_Name2CB->Enabled = false;
607     MC_KR_Param_Name2Ed->Enabled = false;
608     MC_KR_Param_ScriptVariableNameCB->Enabled = false;
609     MC_KR_Param_ScriptVariableNameEd->Enabled = false;
610     MC_KR_Param_Model3dCB->Enabled = false;
611     MC_KR_Param_Model3dEd->Enabled = false;
612     MC_KR_Param_FirstTextureCB->Enabled = false;
613     MC_KR_Param_FirstTextureEd->Enabled = false;
614     MC_KR_Param_SecondTextureCB->Enabled = false;
615     MC_KR_Param_SecondTextureEd->Enabled = false;
616     MC_KR_Param_PlayerNumberCB->Enabled = false;
617     MC_KR_Param_PlayerNumberEd->Enabled = false;
618     MC_KR_Coords_PramouglCB->Enabled = false;
619     MC_KR_Coords_Pramougl_X1Ed->Enabled = false;
620     MC_KR_Coords_Pramougl_Y1Ed->Enabled = false;
621     MC_KR_Coords_Pramougl_X2Ed->Enabled = false;
622     MC_KR_Coords_Pramougl_Y2Ed->Enabled = false;
623     MC_KR_Coords_KrugCB->Enabled = false;
624     MC_KR_Coords_Krug_XEd->Enabled = false;
625     MC_KR_Coords_Krug_YEd->Enabled = false;
626     MC_KR_Coords_Krug_RadEd->Enabled = false;
627     MC_KR_Type_UnitCB->Enabled = false;
628     MC_KR_Type_ObjectCB->Enabled = false;
629     MC_KR_Type_LeverCB->Enabled = false;
630     MC_KR_Type_TrapCB->Enabled = false;
631     MC_KR_Type_FlameCB->Enabled = false;
632     MC_KR_Type_Particle1CB->Enabled = false;
633     MC_KR_Type_Particle2CB->Enabled = false;
634     MC_KR_Type_Particle3CB->Enabled = false;
635     MC_AS_Obj_DelRB->Enabled = false;
636     MC_AS_Obj_CopyRB->Enabled = false;
637     MC_AS_Obj_MoveRB->Enabled = false;
638     MC_AS_Obj_TargetMobSelBut->Enabled = false;
639     MC_AS_Obj_TargetMobEd->Enabled = false;
640     MC_AS_Obj_ReplaceCB->Enabled = false;
641     MC_AS_Params_Name1CB->Enabled = false;
642     MC_AS_Params_Name1Ed->Enabled = false;
643     MC_AS_Params_Name2CB->Enabled = false;
644     MC_AS_Params_Name2Ed->Enabled = false;
645     MC_AS_Params_ScriptVariableNameCB->Enabled = false;
646     MC_AS_Params_ScriptVariableNameEd->Enabled = false;
647     MC_AS_Params_Model3dCB->Enabled = false;
648     MC_AS_Params_Model3dEd->Enabled = false;
649     MC_AS_Params_FirstTextureCB->Enabled = false;
650     MC_AS_Params_FirstTextureEd->Enabled = false;
651     MC_AS_Params_SecondTextureCB->Enabled = false;
652     MC_AS_Params_SecondTextureEd->Enabled = false;
653     MC_AS_Params_OffsetCB->Enabled = false;
654     MC_AS_Params_OffsetXEd->Enabled = false;
655     MC_AS_Params_OffsetYEd->Enabled = false;
656     MC_AS_Params_PlayerNumberCB->Enabled = false;
657     MC_AS_Params_PlayerNumberEd->Enabled = false;
658     MC_ResetBut->Enabled = false;
659     MC_GoBut->Enabled = false;
660     MC_AS_Obj_OnlyParamsRB->Enabled = false;
661    
662   };
663
664 };
665 //---------------------------------------------------------------------------
666
667
668 void __fastcall TMainF::FormKeyDown(TObject *Sender, WORD &Key,
669       TShiftState Shift)
670 {
671   //Îáðàáîò÷èê ñîáûòèé ñ êëàâû
672   if ( (Key == 'S') && ( Shift.Contains(ssCtrl)) && (Shift.Contains(ssShift) == false))
673   {
674     //Òèïà ñàâ äëÿ ìîáà...
675     if (SaveMob_menu->Enabled == true)
676     {
677       SaveMob_menuClick(Sender);
678     };
679
680     //È îáíóëèòü ïîëó÷åííûé êåé :)
681     Key = NULL;
682   };
683
684   if ( (Key == 'S') && ( Shift.Contains(ssCtrl)) && (Shift.Contains(ssShift)) )
685   {
686     //Òèïà ñàâ àç äëÿ ìîáà...
687     if (SaveAsMobMenu->Enabled == true)
688     {
689       SaveAsMobMenuClick(Sender);
690     };
691
692     //È îáíóëèòü ïîëó÷åííûé êåé :)
693     Key = NULL;
694   };
695
696   if ( (Key == 'O') && ( Shift.Contains(ssCtrl)) )
697   {
698     //Òèïà ëîàä äëÿ ìîáà...
699     if (OpenMobMenu->Enabled == true)
700     {
701       OpenMobMenuClick(Sender);
702     };
703
704     //È îáíóëèòü ïîëó÷åííûé êåé :)
705     Key = NULL;
706   };
707
708   if ( (Key == 'F') && ( Shift.Contains(ssCtrl)) )
709   {
710     //Òèïà ïîèñê.
711     if (SearchRepMenu->Enabled == true)
712     {
713       SearchRepMenuClick(Sender);
714     };
715
716     //È îáíóëèòü ïîëó÷åííûé êåé :)
717     Key = NULL;
718   };
719
720   if (Key == VK_F3)
721   {
722     //Òèïà ïîèñê äàëåå.
723     if (SearchNextMenu->Enabled == true)
724     {
725       SearchNextMenuClick(Sender);
726     };
727
728     //È îáíóëèòü ïîëó÷åííûé êåé :)
729     Key = NULL;
730   };
731
732   if ( (Key == 'R') && ( Shift.Contains(ssCtrl)) )
733   {
734     //Òèïà çàìåíà...
735     if (ReplaceNextMenu->Enabled == true)
736     {
737       ReplaceNextMenuClick(Sender);
738     };
739
740     //È îáíóëèòü ïîëó÷åííûé êåé :)
741     Key = NULL;
742   };
743
744   if ( (Key == 'K') && ( Shift.Contains(ssCtrl)) && (Shift.Contains(ssShift)) && (Shift.Contains(ssAlt)) )
745   {
746     if (MobLoaded == true)
747     {
748       //Òèïà çàìåíà êëþ÷à ñêðèïòà.
749       KeyChangerF = new TKeyChangerF(this);
750       KeyChangerF->KeyEditF->Text = IntToStr(MobInMem1->ScriptKey);
751       KeyChangerF->ShowModal();
752       if (KeyChangerF->ModalResult == mrOk)
753       {
754         //Ââåäåí êëþ÷ - ìîæíî ñìåíèòü.
755         MobInMem1->ScriptKey = StrToInt(KeyChangerF->KeyEditF->Text);
756       };
757       delete KeyChangerF;
758     };
759
760     //È îáíóëèòü ïîëó÷åííûé êåé :)
761     Key = NULL;
762   };
763 }
764 //---------------------------------------------------------------------------
765
766 void __fastcall TMainF::BackupMobMenuClick(TObject *Sender)
767 {
768   //Çàáåêàïèòü ìîá¹1
769   MakeUserBackup(MobFileName);
770 }
771 //---------------------------------------------------------------------------
772
773 void TMainF::UpdateEditMenu()
774 //Îáíîâëÿåò èíòåðôåéñ ìåíþõè ðåäàêòèðîâàíèÿ :).
775 {
776   if (PLastFocus == ScriptEd)
777   {
778     //Åñëè ôîêóñèðîâêà íà ðåäàêòîðå ñêðèïòà.
779     UndoMenu->Enabled = true;
780     RedoMenu->Enabled = true;
781     CopyMenu->Enabled = true;
782     CutMenu->Enabled = true;
783     PasteMenu->Enabled = true;
784     SelectAllMenu->Enabled = true;
785     SearchRepMenu->Enabled = true;
786     SearchNextMenu->Enabled = true;
787     ReplaceNextMenu->Enabled = true;
788   }
789   else
790   {
791     //åñëè íèôèããà...
792     UndoMenu->Enabled = false;
793     RedoMenu->Enabled = false;
794     CopyMenu->Enabled = false;
795     CutMenu->Enabled = false;
796     PasteMenu->Enabled = false;
797     SelectAllMenu->Enabled = false;
798     SearchRepMenu->Enabled = false;
799     SearchNextMenu->Enabled = false;
800     ReplaceNextMenu->Enabled = false;
801   };
802 };
803 //---------------------------------------------------------------------------
804
805 void __fastcall TMainF::SearchRepMenuClick(TObject *Sender)
806 {
807   //Âûçâàòü äèàëîã ñ çàïðîñîì...
808   SearchRepF = new TSearchRepF(this);
809   SearchRepF->ShowModal();
810   delete SearchRepF;
811
812   //Åñëè â äèàëîãå îêàëè - òî âûïîëíèòü çàïðîñ :)
813   if (SearchDialCanceled == false)
814   {
815     if (MakeReplace == false)
816     {
817       //Íàäî ñäåëàòü ïîèñê.
818       MakeASearch();
819     }
820     else
821     {
822       //Íàäî ñäåëàòü çàìåíó...
823       MakeAReplace();
824     };
825   };
826 }
827 //---------------------------------------------------------------------------
828
829 void TMainF::MakeASearch()
830 //Âûïîëíÿåò ïîèñê ïî óæå ëåæàùèì â ïàìÿòè ïåðåìåííûì
831 {
832   if (SearchStr.Length() != 0)
833   {
834     //Åñëè åñòü ÷åãî èñêàòü...
835     TSynSearchOptions SO;
836     ScriptEd->SearchReplace(SearchStr,NULL,SO);
837   };
838 };
839 //---------------------------------------------------------------------------
840
841 void TMainF::MakeAReplace()
842 //Âûïîëíÿåò çàìåíó ïî óæå ëåæàùèì â ïàìÿòè ïåðåìåííûì
843 {
844   if ( (SearchStr.Length() != 0) && (RepStr.Length() != 0) && (MakeReplace == true) )
845   {
846     //Åñëè åñòü ÷åãî èñêàòü, íà ÷òî çàìåíÿòü è âîîáùå ðàçðåøåíî...
847     TSynSearchOptions SO;
848     SO << ssoReplace;
849     SO << ssoPrompt;
850     ScriptEd->SearchReplace(SearchStr,RepStr,SO);
851   };
852 };
853 //---------------------------------------------------------------------------
854
855 void __fastcall TMainF::UndoMenuClick(TObject *Sender)
856 {
857   ScriptEd->Undo();       
858 }
859 //---------------------------------------------------------------------------
860
861 void __fastcall TMainF::RedoMenuClick(TObject *Sender)
862 {
863   ScriptEd->Redo();       
864 }
865 //---------------------------------------------------------------------------
866
867 void __fastcall TMainF::CopyMenuClick(TObject *Sender)
868 {
869   ScriptEd->CopyToClipboard();       
870 }
871 //---------------------------------------------------------------------------
872
873 void __fastcall TMainF::CutMenuClick(TObject *Sender)
874 {
875   ScriptEd->CutToClipboard();
876 }
877 //---------------------------------------------------------------------------
878
879 void __fastcall TMainF::PasteMenuClick(TObject *Sender)
880 {
881   ScriptEd->PasteFromClipboard();
882 }
883 //---------------------------------------------------------------------------
884
885 void __fastcall TMainF::SelectAllMenuClick(TObject *Sender)
886 {
887   ScriptEd->SelectAll();       
888 }
889 //---------------------------------------------------------------------------
890
891 void __fastcall TMainF::SearchNextMenuClick(TObject *Sender)
892 {
893   //Çàïóñòèòü ïîèñê ñëåäóþùåãî ýëåìåíòà...
894   MakeASearch();       
895 }
896 //---------------------------------------------------------------------------
897
898 void __fastcall TMainF::ReplaceNextMenuClick(TObject *Sender)
899 {
900   //Çàïóñòèòü ðèïëåéñ äëÿ ñëåäóþùåãî ýëåìåíòà...
901   MakeAReplace();
902 }
903 //---------------------------------------------------------------------------
904
905
906 void __fastcall TMainF::MC_KR_Param_Name1EdChange(TObject *Sender)
907 {
908   //Ñòàâèò èëè óáèðàåò ñîîòâ. ãàëêó
909   if (MC_KR_Param_Name1Ed->Text.Length() == 0)
910   {
911     MC_KR_Param_Name1CB->Checked = false;
912   }
913   else
914   {
915     MC_KR_Param_Name1CB->Checked = true;
916   };
917 }
918 //---------------------------------------------------------------------------
919
920 void __fastcall TMainF::MC_KR_Param_Name2EdChange(TObject *Sender)
921 {
922   //Ñòàâèò èëè óáèðàåò ñîîòâ. ãàëêó
923   if (MC_KR_Param_Name2Ed->Text.Length() == 0)
924   {
925     MC_KR_Param_Name2CB->Checked = false;
926   }
927   else
928   {
929     MC_KR_Param_Name2CB->Checked = true;
930   };
931 }
932 //---------------------------------------------------------------------------
933
934 void __fastcall TMainF::MC_KR_Param_ScriptVariableNameEdChange(
935       TObject *Sender)
936 {
937   //Ñòàâèò èëè óáèðàåò ñîîòâ. ãàëêó
938   if (MC_KR_Param_ScriptVariableNameEd->Text.Length() == 0)
939   {
940     MC_KR_Param_ScriptVariableNameCB->Checked = false;
941   }
942   else
943   {
944     MC_KR_Param_ScriptVariableNameCB->Checked = true;
945   };       
946 }
947 //---------------------------------------------------------------------------
948
949 void __fastcall TMainF::MC_KR_Param_Model3dEdChange(TObject *Sender)
950 {
951   //Ñòàâèò èëè óáèðàåò ñîîòâ. ãàëêó
952   if (MC_KR_Param_Model3dEd->Text.Length() == 0)
953   {
954     MC_KR_Param_Model3dCB->Checked = false;
955   }
956   else
957   {
958     MC_KR_Param_Model3dCB->Checked = true;
959   };       
960 }
961 //---------------------------------------------------------------------------
962
963 void __fastcall TMainF::MC_KR_Param_FirstTextureEdChange(TObject *Sender)
964 {
965   //Ñòàâèò èëè óáèðàåò ñîîòâ. ãàëêó
966   if (MC_KR_Param_FirstTextureEd->Text.Length() == 0)
967   {
968     MC_KR_Param_FirstTextureCB->Checked = false;
969   }
970   else
971   {
972     MC_KR_Param_FirstTextureCB->Checked = true;
973   };       
974 }
975 //---------------------------------------------------------------------------
976
977 void __fastcall TMainF::MC_KR_Param_SecondTextureEdChange(TObject *Sender)
978 {
979   //Ñòàâèò èëè óáèðàåò ñîîòâ. ãàëêó
980   if (MC_KR_Param_SecondTextureEd->Text.Length() == 0)
981   {
982     MC_KR_Param_SecondTextureCB->Checked = false;
983   }
984   else
985   {
986     MC_KR_Param_SecondTextureCB->Checked = true;
987   };
988 }
989 //---------------------------------------------------------------------------
990
991 void __fastcall TMainF::MC_KR_Coords_Pramougl_X1EdChange(TObject *Sender)
992 {
993   //Ñòàâèò èëè óáèðàåò ñîîòâ. ãàëêó
994   if ( (MC_KR_Coords_Pramougl_X1Ed->Text.Length() == 0) ||
995     (MC_KR_Coords_Pramougl_Y1Ed->Text.Length() == 0) ||
996     (MC_KR_Coords_Pramougl_X2Ed->Text.Length() == 0) ||
997     (MC_KR_Coords_Pramougl_Y2Ed->Text.Length() == 0) )
998   {
999     MC_KR_Coords_PramouglCB->Checked = false;
1000   };
1001   if ( (MC_KR_Coords_Pramougl_X1Ed->Text.Length() != 0) &&
1002     (MC_KR_Coords_Pramougl_Y1Ed->Text.Length() != 0) &&
1003     (MC_KR_Coords_Pramougl_X2Ed->Text.Length() != 0) &&
1004     (MC_KR_Coords_Pramougl_Y2Ed->Text.Length() != 0) )
1005   {
1006     MC_KR_Coords_PramouglCB->Checked = true;
1007   };
1008 }
1009 //---------------------------------------------------------------------------
1010
1011 void __fastcall TMainF::MC_KR_Coords_Pramougl_Y1EdChange(TObject *Sender)
1012 {
1013   MC_KR_Coords_Pramougl_X1EdChange(Sender);
1014 }
1015 //---------------------------------------------------------------------------
1016
1017 void __fastcall TMainF::MC_KR_Coords_Pramougl_X2EdChange(TObject *Sender)
1018 {
1019   MC_KR_Coords_Pramougl_X1EdChange(Sender);
1020 }
1021 //---------------------------------------------------------------------------
1022
1023 void __fastcall TMainF::MC_KR_Coords_Pramougl_Y2EdChange(TObject *Sender)
1024 {
1025   MC_KR_Coords_Pramougl_X1EdChange(Sender);       
1026 }
1027 //---------------------------------------------------------------------------
1028
1029
1030 void __fastcall TMainF::MC_KR_Coords_Krug_XEdChange(TObject *Sender)
1031 {
1032   //Ñòàâèò èëè óáèðàåò ñîîòâ. ãàëêó
1033   if ( (MC_KR_Coords_Krug_XEd->Text.Length() == 0) ||
1034     (MC_KR_Coords_Krug_YEd->Text.Length() == 0) ||
1035     (MC_KR_Coords_Krug_RadEd->Text.Length() == 0) )
1036   {
1037     MC_KR_Coords_KrugCB->Checked = false;
1038   };
1039   if ( (MC_KR_Coords_Krug_XEd->Text.Length() != 0) &&
1040     (MC_KR_Coords_Krug_YEd->Text.Length() != 0) &&
1041     (MC_KR_Coords_Krug_RadEd->Text.Length() != 0) )
1042   {
1043     MC_KR_Coords_KrugCB->Checked = true;
1044   };
1045 }
1046 //---------------------------------------------------------------------------
1047
1048 void __fastcall TMainF::MC_KR_Coords_Krug_YEdChange(TObject *Sender)
1049 {
1050   MC_KR_Coords_Krug_XEdChange(Sender);       
1051 }
1052 //---------------------------------------------------------------------------
1053
1054 void __fastcall TMainF::MC_KR_Coords_Krug_RadEdChange(TObject *Sender)
1055 {
1056   MC_KR_Coords_Krug_XEdChange(Sender);       
1057 }
1058 //---------------------------------------------------------------------------
1059
1060 void __fastcall TMainF::MC_AS_Params_Name1EdChange(TObject *Sender)
1061 {
1062   //Ñòàâèò èëè óáèðàåò ñîîòâ. ãàëêó
1063   if (MC_AS_Params_Name1Ed->Text.Length() == 0)
1064   {
1065     MC_AS_Params_Name1CB->Checked = false;
1066   }
1067   else
1068   {
1069     MC_AS_Params_Name1CB->Checked = true;
1070   };
1071 }
1072 //---------------------------------------------------------------------------
1073
1074 void __fastcall TMainF::MC_AS_Params_Name2EdChange(TObject *Sender)
1075 {
1076   //Ñòàâèò èëè óáèðàåò ñîîòâ. ãàëêó
1077   if (MC_AS_Params_Name2Ed->Text.Length() == 0)
1078   {
1079     MC_AS_Params_Name2CB->Checked = false;
1080   }
1081   else
1082   {
1083     MC_AS_Params_Name2CB->Checked = true;
1084   };
1085 }
1086 //---------------------------------------------------------------------------
1087
1088 void __fastcall TMainF::MC_AS_Params_ScriptVariableNameEdChange(
1089       TObject *Sender)
1090 {
1091   //Ñòàâèò èëè óáèðàåò ñîîòâ. ãàëêó
1092   if (MC_AS_Params_ScriptVariableNameEd->Text.Length() == 0)
1093   {
1094     MC_AS_Params_ScriptVariableNameCB->Checked = false;
1095   }
1096   else
1097   {
1098     MC_AS_Params_ScriptVariableNameCB->Checked = true;
1099   };
1100 }
1101 //---------------------------------------------------------------------------
1102
1103 void __fastcall TMainF::MC_AS_Params_Model3dEdChange(TObject *Sender)
1104 {
1105   //Ñòàâèò èëè óáèðàåò ñîîòâ. ãàëêó
1106   if (MC_AS_Params_Model3dEd->Text.Length() == 0)
1107   {
1108     MC_AS_Params_Model3dCB->Checked = false;
1109   }
1110   else
1111   {
1112     MC_AS_Params_Model3dCB->Checked = true;
1113   };
1114 }
1115 //---------------------------------------------------------------------------
1116
1117 void __fastcall TMainF::MC_AS_Params_FirstTextureEdChange(TObject *Sender)
1118 {
1119   //Ñòàâèò èëè óáèðàåò ñîîòâ. ãàëêó
1120   if (MC_AS_Params_FirstTextureEd->Text.Length() == 0)
1121   {
1122     MC_AS_Params_FirstTextureCB->Checked = false;
1123   }
1124   else
1125   {
1126     MC_AS_Params_FirstTextureCB->Checked = true;
1127   };         
1128 }
1129 //---------------------------------------------------------------------------
1130
1131 void __fastcall TMainF::MC_AS_Params_SecondTextureEdChange(TObject *Sender)
1132 {
1133   //Ñòàâèò èëè óáèðàåò ñîîòâ. ãàëêó
1134   if (MC_AS_Params_SecondTextureEd->Text.Length() == 0)
1135   {
1136     MC_AS_Params_SecondTextureCB->Checked = false;
1137   }
1138   else
1139   {
1140     MC_AS_Params_SecondTextureCB->Checked = true;
1141   };
1142 }
1143 //---------------------------------------------------------------------------
1144
1145 void __fastcall TMainF::MC_AS_Params_OffsetXEdChange(TObject *Sender)
1146 {
1147   //Ñòàâèò èëè óáèðàåò ñîîòâ. ãàëêó
1148   if ( (MC_AS_Params_OffsetXEd->Text.Length() == 0) ||
1149     (MC_AS_Params_OffsetYEd->Text.Length() == 0) )
1150   {
1151     MC_AS_Params_OffsetCB->Checked = false;
1152   };
1153   if ( (MC_AS_Params_OffsetXEd->Text.Length() != 0) &&
1154     (MC_AS_Params_OffsetYEd->Text.Length() != 0) )
1155   {
1156     MC_AS_Params_OffsetCB->Checked = true;
1157   };
1158 }
1159 //---------------------------------------------------------------------------
1160
1161 void __fastcall TMainF::MC_AS_Params_OffsetYEdChange(TObject *Sender)
1162 {
1163   MC_AS_Params_OffsetXEdChange(Sender);       
1164 }
1165 //---------------------------------------------------------------------------
1166
1167 void TMainF::MC_AS_UpdDel()
1168 //Â çàâèñèìîñòè îò òîãî óäàëÿþòñÿ èëè íåò îáúåêòû â äåéñòâèÿõ ïðè ìàññîâîì
1169 //èçìåíåíèè - áëîêèðóåò \ ðàçáëîêèðóåò èíòåðôåéñ.
1170 {
1171   if (MobLoaded == true)
1172   {
1173     //Òîêà åñëè ìîá-1 çàãðóæåí.
1174     if (MC_AS_Obj_DelRB->Checked == true)
1175     {
1176       //çàáëîêèðîâàòü âñå äåéñòâèÿ íàä ïàðàìåòðàìè...
1177       MC_AS_Params_Name1CB->Enabled = false;
1178       MC_AS_Params_Name1Ed->Enabled = false;
1179       MC_AS_Params_Name2CB->Enabled = false;
1180       MC_AS_Params_Name2Ed->Enabled = false;
1181       MC_AS_Params_ScriptVariableNameCB->Enabled = false;
1182       MC_AS_Params_ScriptVariableNameEd->Enabled = false;
1183       MC_AS_Params_Model3dCB->Enabled = false;
1184       MC_AS_Params_Model3dEd->Enabled = false;
1185       MC_AS_Params_FirstTextureCB->Enabled = false;
1186       MC_AS_Params_FirstTextureEd->Enabled = false;