diff --git a/CHANGELOG b/CHANGELOG
new file mode 100644
index 0000000..0d79764
--- /dev/null
+++ b/CHANGELOG
@@ -0,0 +1,29 @@
+История версий:
+
+20.04.2012:
+- Опубликован исходный код под лицензией GNU General Public License v3.0
+01.02.2012 beta:
+- Добавлена возможность редактирования монстров
+- Бета версия (две неизвестные характеристики монстров в процессе изучения)
+24.01.2012:
+- Изменён фильтр в диалоге открытия файла
+- Улучшен интерфейс (скроллинг заменили на вкладки)
+- Добавили кнопку сворачивания
+- Изменены некоторые надписи
+- Для компактности сгруппировали некоторые элементы окна
+upd 25.01.2012 02:25
+- Внесено ещё несколько корректировок в интерфейс
+23.01.2012:
+- Исправлена одна грамматическая и несколько смысловых ошибок
+21.01.2012:
+- Программа переименована в Doom2D DeHacker by Stas'M, наподобие похожей по функционалу программы DeHackEd для оригинального Doom-а.
+- Благодаря замечаниям и предложениям от Чёрного Думера, был подкорректирован интерфейс программы
+- Теперь есть две кнопки: Сохранить и Сохранить как...
+- Добавлена возможность изменять звук при использовании чита IDDQD
+20.01.2012:
+- Стабильная версия
+- Реализован желаемый минимальный функционал
+- Багов в работе программы обнаружено не было
+17.01.2012:
+- Первый релиз (нестабильная версия)
+- На сайте опубликован не был
diff --git a/README.md b/README.md
index bea3abf..99393f5 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,4 @@
-# D2DeHacker
-Doom2D DeHacker by Stas'M
+# Doom2D DeHacker by Stas'M
+Программа предназначена для изменения стандартных значений в игре Doom2D, тем самым позволяя создавать различные модификации игры. Пока что возможность вносить изменения доступна только для версии 1.30, но в ближайшем будущем по мере исследования версии 1.40 будет реализована поддержка и для неё. Создана специально для doom2d.org. Open Source продукт под GPL v3.0 лицензией.
+
+Обсуждение на форуме: http://doom2d.org/forum/viewtopic.php?f=8&t=882
\ No newline at end of file
diff --git a/res/10h.png b/res/10h.png
new file mode 100644
index 0000000..493b2aa
Binary files /dev/null and b/res/10h.png differ
diff --git a/res/20h.png b/res/20h.png
new file mode 100644
index 0000000..c875012
Binary files /dev/null and b/res/20h.png differ
diff --git a/res/30h.png b/res/30h.png
new file mode 100644
index 0000000..ea0700b
Binary files /dev/null and b/res/30h.png differ
diff --git a/res/40h.png b/res/40h.png
new file mode 100644
index 0000000..be0cad8
Binary files /dev/null and b/res/40h.png differ
diff --git a/res/50h.png b/res/50h.png
new file mode 100644
index 0000000..e8ee485
Binary files /dev/null and b/res/50h.png differ
diff --git a/res/60h.png b/res/60h.png
new file mode 100644
index 0000000..db39fac
Binary files /dev/null and b/res/60h.png differ
diff --git a/res/70h.png b/res/70h.png
new file mode 100644
index 0000000..30052b7
Binary files /dev/null and b/res/70h.png differ
diff --git a/res/80h.png b/res/80h.png
new file mode 100644
index 0000000..76a0a49
Binary files /dev/null and b/res/80h.png differ
diff --git a/res/B0h.png b/res/B0h.png
new file mode 100644
index 0000000..fba7c08
Binary files /dev/null and b/res/B0h.png differ
diff --git a/res/C0h.png b/res/C0h.png
new file mode 100644
index 0000000..967d7aa
Binary files /dev/null and b/res/C0h.png differ
diff --git a/res/D0h.png b/res/D0h.png
new file mode 100644
index 0000000..14daebd
Binary files /dev/null and b/res/D0h.png differ
diff --git a/res/doom.ico b/res/doom.ico
new file mode 100644
index 0000000..7d24e2b
Binary files /dev/null and b/res/doom.ico differ
diff --git a/src/D2DeHacker.dpr b/src/D2DeHacker.dpr
new file mode 100644
index 0000000..e892b6c
--- /dev/null
+++ b/src/D2DeHacker.dpr
@@ -0,0 +1,33 @@
+program D2DeHacker;
+{
+ Doom2D DeHacker
+ Copyright (C) 2012 Stas'M Corp.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see
+}
+uses
+ Forms,
+ Unit1 in 'Unit1.pas' {MainForm},
+ Unit2 in 'Unit2.pas' {FAbout};
+
+{$R *.res}
+
+begin
+ Application.Initialize;
+ Application.MainFormOnTaskbar := True;
+ Application.Title := 'Doom2D DeHacker';
+ Application.CreateForm(TMainForm, MainForm);
+ Application.CreateForm(TFAbout, FAbout);
+ Application.Run;
+end.
\ No newline at end of file
diff --git a/src/D2DeHacker.dproj b/src/D2DeHacker.dproj
new file mode 100644
index 0000000..be98f3b
--- /dev/null
+++ b/src/D2DeHacker.dproj
@@ -0,0 +1,117 @@
+
+
+ {7AE7FF8D-E337-4DD9-9970-E4D942AC5651}
+ 12.0
+ D2DeHacker.dpr
+ Release
+ DCC32
+
+
+ true
+
+
+ true
+ Base
+ true
+
+
+ true
+ Base
+ true
+
+
+ ..\bin\
+ 00400000
+ vclx;vcl;vclimg;dbrtl;Rave77VCL;bdertl;rtl;vclactnband;xmlrtl;vcldb;vcldbx;vcltouch;dsnap;dsnapcon;TeeUI;TeeDB;Tee;vclib;ibxpress;adortl;IndyCore;IndySystem;IndyProtocols;inet;intrawebdb_100_140;Intraweb_100_140;VclSmp;vclie;websnap;webdsnap;inetdb;inetdbbde;inetdbxpress;soaprtl;vclribbon;dbexpress;DbxCommonDriver;DataSnapIndy10ServerTransport;DataSnapProviderClient;DbxClientDriver;DataSnapServer;DBXInterBaseDriver;DBXMySQLDriver;dbxcds;DBXFirebirdDriver;DBXSybaseASEDriver;DBXSybaseASADriver;DBXOracleDriver;DBXMSSQLDriver;DBXInformixDriver;DBXDb2Driver;SWFlash;mstscax;rdpencom
+ ..\bin\D2DeHacker.exe
+ WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;$(DCC_UnitAlias)
+ x86
+ false
+ false
+ false
+ false
+ false
+
+
+ false
+ RELEASE;$(DCC_Define)
+ 0
+ false
+
+
+ DEBUG;$(DCC_Define)
+
+
+
+ MainSource
+
+
+
+
+
+
+
+
+ Base
+
+
+ Cfg_1
+ Base
+
+
+ Cfg_2
+ Base
+
+
+
+
+ Delphi.Personality.12
+
+
+
+
+ False
+ True
+ False
+
+
+ True
+ False
+ 1
+ 0
+ 2
+ 2012
+ False
+ False
+ False
+ False
+ False
+ 1049
+ 1251
+
+
+ Stas'M Corp.
+ Doom2D DeHacker
+ 1.0.2.2012
+ D2DeHacker
+ Copyright © Stas'M Corp. 2012
+ Stas'M Corp.
+ D2DeHacker.exe
+ Doom2D DeHacker (специально для doom2d.org)
+ Сборка 01.02.2012 beta
+ http://stascorp.com
+
+
+
+ Embarcadero C++Builder Office 2000 Servers Package
+ Embarcadero C++Builder Office XP Servers Package
+ Microsoft Office 2000 Sample Automation Server Wrapper Components
+ Microsoft Office XP Sample Automation Server Wrapper Components
+
+
+
+ 12
+
+
diff --git a/src/D2DeHacker.res b/src/D2DeHacker.res
new file mode 100644
index 0000000..ca61f10
Binary files /dev/null and b/src/D2DeHacker.res differ
diff --git a/src/Unit1.dfm b/src/Unit1.dfm
new file mode 100644
index 0000000..fa7aa0e
--- /dev/null
+++ b/src/Unit1.dfm
@@ -0,0 +1,1908 @@
+object MainForm: TMainForm
+ Left = 0
+ Top = 0
+ ActiveControl = BtOpen
+ BorderIcons = [biSystemMenu, biMinimize]
+ BorderStyle = bsSingle
+ Caption = 'Doom2D DeHacker by Stas'#39'M'
+ ClientHeight = 55
+ ClientWidth = 403
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ OldCreateOrder = False
+ Position = poDesktopCenter
+ OnDestroy = FormDestroy
+ PixelsPerInch = 96
+ TextHeight = 13
+ object StatusBar: TStatusBar
+ Left = 0
+ Top = 36
+ Width = 403
+ Height = 19
+ Panels = <>
+ SimplePanel = True
+ SimpleText = #1042#1099#1073#1077#1088#1080#1090#1077' '#1092#1072#1081#1083' '#1076#1083#1103' '#1088#1077#1076#1072#1082#1090#1080#1088#1086#1074#1072#1085#1080#1103
+ end
+ object Panel1: TPanel
+ Left = 0
+ Top = 0
+ Width = 403
+ Height = 38
+ Align = alTop
+ BevelOuter = bvNone
+ TabOrder = 1
+ object BtOpen: TButton
+ Left = 8
+ Top = 8
+ Width = 75
+ Height = 21
+ Caption = #1054#1090#1082#1088#1099#1090#1100
+ TabOrder = 0
+ OnClick = BtOpenClick
+ end
+ object BtAbout: TButton
+ Left = 319
+ Top = 8
+ Width = 75
+ Height = 21
+ Caption = #1054' '#1087#1088#1086#1075#1088#1072#1084#1084#1077
+ TabOrder = 2
+ OnClick = BtAboutClick
+ end
+ object BtClose: TButton
+ Left = 89
+ Top = 8
+ Width = 75
+ Height = 21
+ Caption = #1047#1072#1082#1088#1099#1090#1100
+ Enabled = False
+ TabOrder = 1
+ OnClick = BtCloseClick
+ end
+ end
+ object Panel2: TPanel
+ Left = 0
+ Top = 3
+ Width = 403
+ Height = 33
+ Align = alBottom
+ BevelOuter = bvNone
+ TabOrder = 2
+ Visible = False
+ object BtSave: TButton
+ Left = 184
+ Top = 6
+ Width = 102
+ Height = 21
+ Caption = #1057#1086#1093#1088#1072#1085#1080#1090#1100
+ TabOrder = 0
+ OnClick = BtSaveClick
+ end
+ object BtSaveAs: TButton
+ Left = 292
+ Top = 6
+ Width = 102
+ Height = 21
+ Caption = #1057#1086#1093#1088#1072#1085#1080#1090#1100' '#1082#1072#1082
+ TabOrder = 1
+ OnClick = BtSaveAsClick
+ end
+ end
+ object PG: TPageControl
+ Left = 0
+ Top = 38
+ Width = 403
+ Height = 400
+ ActivePage = TabSheet1
+ Align = alClient
+ TabOrder = 3
+ Visible = False
+ object TabSheet1: TTabSheet
+ Caption = #1048#1085#1074#1077#1085#1090#1072#1088#1100
+ object Label10: TLabel
+ Left = 6
+ Top = 42
+ Width = 112
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 100)'
+ end
+ object Label11: TLabel
+ Left = 200
+ Top = 42
+ Width = 100
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 0)'
+ end
+ object Label12: TLabel
+ Left = 6
+ Top = 69
+ Width = 176
+ Height = 13
+ Caption = #1044#1086#1089#1090#1091#1087#1085#1086#1077' '#1086#1088#1091#1078#1080#1077' '#1074' '#1085#1072#1095#1072#1083#1077' '#1080#1075#1088#1099':'
+ end
+ object Label13: TLabel
+ Left = 200
+ Top = 69
+ Width = 158
+ Height = 13
+ Caption = #1054#1088#1091#1078#1080#1077' '#1080#1075#1088#1086#1082#1072' '#1074' '#1085#1072#1095#1072#1083#1077' '#1080#1075#1088#1099':'
+ end
+ object Label14: TLabel
+ Left = 200
+ Top = 107
+ Width = 141
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = '#1087#1080#1089#1090#1086#1083#1077#1090')'
+ end
+ object Label15: TLabel
+ Left = 6
+ Top = 181
+ Width = 183
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = '#1082#1091#1083#1072#1082' '#1080' '#1087#1080#1089#1090#1086#1083#1077#1090')'
+ end
+ object Label16: TLabel
+ Left = 200
+ Top = 128
+ Width = 190
+ Height = 13
+ Caption = #1055#1072#1090#1088#1086#1085#1099' '#1074' '#1087#1080#1089#1090#1086#1083#1077#1090#1077' '#1074' '#1085#1072#1095#1072#1083#1077' '#1080#1075#1088#1099':'
+ end
+ object Label17: TLabel
+ Left = 200
+ Top = 167
+ Width = 106
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 50)'
+ end
+ object Label18: TLabel
+ Left = 6
+ Top = 208
+ Width = 249
+ Height = 13
+ Caption = #1055#1072#1090#1088#1086#1085#1099' '#1076#1083#1103' '#1086#1089#1090#1072#1083#1100#1085#1086#1075#1086' '#1086#1088#1091#1078#1080#1103' '#1074' '#1085#1072#1095#1072#1083#1077' '#1080#1075#1088#1099':'
+ end
+ object Label19: TLabel
+ Left = 128
+ Top = 227
+ Width = 100
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 0)'
+ end
+ object Label69: TLabel
+ Left = 6
+ Top = 249
+ Width = 178
+ Height = 13
+ Caption = #1054#1073#1099#1095#1085#1099#1081' '#1079#1072#1087#1072#1089' '#1082#1080#1089#1083#1086#1088#1086#1076#1072' '#1080#1075#1088#1086#1082#1072':'
+ end
+ object Label70: TLabel
+ Left = 128
+ Top = 268
+ Width = 112
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 360)'
+ end
+ object Label71: TLabel
+ Left = 6
+ Top = 290
+ Width = 223
+ Height = 13
+ Caption = #1054#1073#1098#1105#1084' '#1082#1080#1089#1083#1086#1088#1086#1076#1072', '#1082#1086#1090#1086#1088#1099#1081' '#1076#1072#1105#1090' '#1072#1082#1074#1072#1083#1072#1085#1075':'
+ end
+ object Label72: TLabel
+ Left = 128
+ Top = 309
+ Width = 118
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 1091)'
+ end
+ object Label8: TLabel
+ Left = 6
+ Top = 3
+ Width = 167
+ Height = 13
+ Caption = #1047#1076#1086#1088#1086#1074#1100#1077' '#1080#1075#1088#1086#1082#1072' '#1074' '#1085#1072#1095#1072#1083#1077' '#1080#1075#1088#1099':'
+ end
+ object Label9: TLabel
+ Left = 200
+ Top = 3
+ Width = 148
+ Height = 13
+ Caption = #1041#1088#1086#1085#1103' '#1080#1075#1088#1086#1082#1072' '#1074' '#1085#1072#1095#1072#1083#1077' '#1080#1075#1088#1099':'
+ end
+ object InvArmor: TSpinEdit
+ Left = 200
+ Top = 19
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 0
+ Value = 0
+ end
+ object InvGlobalAmmo: TSpinEdit
+ Left = 6
+ Top = 224
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 1
+ Value = 0
+ end
+ object InvHealth: TSpinEdit
+ Left = 6
+ Top = 19
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 2
+ Value = 0
+ end
+ object InvOxygen: TSpinEdit
+ Left = 6
+ Top = 265
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 3
+ Value = 0
+ end
+ object InvPistolAmmo: TSpinEdit
+ Left = 200
+ Top = 144
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 4
+ Value = 0
+ end
+ object InvScubagear: TSpinEdit
+ Left = 6
+ Top = 306
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 5
+ Value = 0
+ end
+ object InvWeapList: TCheckListBox
+ Left = 6
+ Top = 85
+ Width = 116
+ Height = 95
+ OnClickCheck = InvWeapListClickCheck
+ ItemHeight = 13
+ Items.Strings = (
+ #1050#1091#1083#1072#1082
+ #1041#1077#1085#1079#1086#1087#1080#1083#1072
+ #1055#1080#1089#1090#1086#1083#1077#1090
+ #1056#1091#1078#1100#1105
+ #1044#1074#1091#1089#1090#1074#1086#1083#1082#1072
+ #1055#1091#1083#1077#1084#1105#1090
+ #1056#1072#1082#1077#1090#1085#1080#1094#1072
+ #1055#1083#1072#1079#1084#1072#1075#1072#1085
+ 'BFG9000'
+ #1057#1091#1087#1077#1088#1087#1091#1083#1077#1084#1105#1090)
+ TabOrder = 6
+ end
+ object InvWeapon: TComboBox
+ Left = 200
+ Top = 85
+ Width = 116
+ Height = 21
+ Style = csDropDownList
+ ItemIndex = 0
+ TabOrder = 7
+ Text = '00h: '#1050#1091#1083#1072#1082
+ Items.Strings = (
+ '00h: '#1050#1091#1083#1072#1082
+ '01h: '#1041#1077#1085#1079#1086#1087#1080#1083#1072
+ '02h: '#1055#1080#1089#1090#1086#1083#1077#1090
+ '03h: '#1056#1091#1078#1100#1105
+ '04h: '#1044#1074#1091#1089#1090#1074#1086#1083#1082#1072
+ '05h: '#1055#1091#1083#1077#1084#1105#1090
+ '06h: '#1056#1072#1082#1077#1090#1085#1080#1094#1072
+ '07h: '#1055#1083#1072#1079#1084#1072#1075#1072#1085
+ '08h: BFG9000'
+ '09h: '#1057#1091#1087#1077#1088#1087#1091#1083#1077#1084#1105#1090
+ 'C0h: '#1050#1091#1083#1072#1082' ('#1073#1099#1089#1090#1088#1077#1077')'
+ 'FFh: '#1050#1091#1083#1072#1082' ('#1084#1077#1076#1083#1077#1085#1085#1077#1077')')
+ end
+ end
+ object TabSheet2: TTabSheet
+ Caption = #1048#1075#1088#1086#1082
+ ImageIndex = 1
+ ExplicitLeft = 0
+ ExplicitTop = 0
+ ExplicitWidth = 0
+ ExplicitHeight = 0
+ object Label2: TLabel
+ Left = 6
+ Top = 44
+ Width = 236
+ Height = 13
+ Caption = #1060#1080#1079#1080#1095#1077#1089#1082#1080#1081' '#1088#1072#1079#1084#1077#1088' '#1084#1086#1076#1077#1083#1080' '#1080#1075#1088#1086#1082#1072' '#1087#1086' '#1096#1080#1088#1080#1085#1077':'
+ end
+ object Label3: TLabel
+ Left = 6
+ Top = 85
+ Width = 235
+ Height = 13
+ Caption = #1060#1080#1079#1080#1095#1077#1089#1082#1080#1081' '#1088#1072#1079#1084#1077#1088' '#1084#1086#1076#1077#1083#1080' '#1080#1075#1088#1086#1082#1072' '#1087#1086' '#1074#1099#1089#1086#1090#1077':'
+ end
+ object Label4: TLabel
+ Left = 128
+ Top = 63
+ Width = 100
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 8)'
+ end
+ object Label5: TLabel
+ Left = 128
+ Top = 104
+ Width = 106
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 26)'
+ end
+ object Label6: TLabel
+ Left = 6
+ Top = 126
+ Width = 227
+ Height = 13
+ Caption = #1057#1090#1072#1090#1080#1095#1085#1086#1077' '#1076#1074#1080#1078#1077#1085#1080#1077' '#1080#1075#1088#1086#1082#1072' '#1074' '#1085#1072#1095#1072#1083#1077' '#1080#1075#1088#1099':'
+ end
+ object Label7: TLabel
+ Left = 128
+ Top = 145
+ Width = 100
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 0)'
+ end
+ object Label73: TLabel
+ Left = 6
+ Top = 3
+ Width = 78
+ Height = 13
+ Caption = #1057#1082#1086#1088#1086#1089#1090#1100' '#1073#1077#1075#1072':'
+ end
+ object Label74: TLabel
+ Left = 128
+ Top = 22
+ Width = 100
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 8)'
+ end
+ object Label77: TLabel
+ Left = 6
+ Top = 167
+ Width = 77
+ Height = 13
+ Caption = #1062#1074#1077#1090' '#1080#1075#1088#1086#1082#1072' 1:'
+ end
+ object Label78: TLabel
+ Left = 128
+ Top = 186
+ Width = 162
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 70h: '#1079#1077#1083#1105#1085#1099#1081')'
+ end
+ object Label79: TLabel
+ Left = 6
+ Top = 208
+ Width = 77
+ Height = 13
+ Caption = #1062#1074#1077#1090' '#1080#1075#1088#1086#1082#1072' 2:'
+ end
+ object Label80: TLabel
+ Left = 128
+ Top = 227
+ Width = 184
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 60h: '#1090#1105#1084#1085#1086'-'#1089#1077#1088#1099#1081')'
+ end
+ object MClipX: TSpinEdit
+ Left = 6
+ Top = 60
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 0
+ Value = 0
+ end
+ object MClipY: TSpinEdit
+ Left = 6
+ Top = 101
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 1
+ Value = 0
+ end
+ object MRunSpeed: TSpinEdit
+ Left = 6
+ Top = 19
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 2
+ Value = 0
+ end
+ object MSlip: TSpinEdit
+ Left = 6
+ Top = 142
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 3
+ Value = 0
+ end
+ object P1Color: TComboBox
+ Left = 6
+ Top = 183
+ Width = 116
+ Height = 22
+ Style = csOwnerDrawFixed
+ ItemIndex = 0
+ TabOrder = 4
+ Text = '10h'
+ OnDrawItem = P1ColorDrawItem
+ Items.Strings = (
+ '10h'
+ '20h'
+ '30h'
+ '40h'
+ '50h'
+ '60h'
+ '70h'
+ '80h'
+ 'B0h'
+ 'C0h'
+ 'D0h')
+ end
+ object P2Color: TComboBox
+ Left = 6
+ Top = 224
+ Width = 116
+ Height = 22
+ Style = csOwnerDrawFixed
+ ItemIndex = 0
+ TabOrder = 5
+ Text = '10h'
+ OnDrawItem = P2ColorDrawItem
+ Items.Strings = (
+ '10h'
+ '20h'
+ '30h'
+ '40h'
+ '50h'
+ '60h'
+ '70h'
+ '80h'
+ 'B0h'
+ 'C0h'
+ 'D0h')
+ end
+ end
+ object TabSheet3: TTabSheet
+ Caption = #1055#1077#1088#1077#1079#1072#1088#1103#1076#1082#1072' '#1086#1088#1091#1078#1080#1103
+ ImageIndex = 2
+ ExplicitLeft = 0
+ ExplicitTop = 0
+ ExplicitWidth = 0
+ ExplicitHeight = 0
+ object Label1: TLabel
+ Left = 6
+ Top = 86
+ Width = 100
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 5)'
+ end
+ object Label35: TLabel
+ Left = 147
+ Top = 47
+ Width = 52
+ Height = 13
+ Caption = #1055#1080#1089#1090#1086#1083#1077#1090':'
+ end
+ object Label37: TLabel
+ Left = 147
+ Top = 86
+ Width = 100
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 6)'
+ end
+ object Label38: TLabel
+ Left = 6
+ Top = 153
+ Width = 106
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 18)'
+ end
+ object Label39: TLabel
+ Left = 6
+ Top = 114
+ Width = 36
+ Height = 13
+ Caption = #1056#1091#1078#1100#1105':'
+ end
+ object Label40: TLabel
+ Left = 147
+ Top = 153
+ Width = 106
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 36)'
+ end
+ object Label41: TLabel
+ Left = 147
+ Top = 114
+ Width = 65
+ Height = 13
+ Caption = #1044#1074#1091#1089#1090#1074#1086#1083#1082#1072':'
+ end
+ object Label42: TLabel
+ Left = 6
+ Top = 219
+ Width = 100
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 2)'
+ end
+ object Label43: TLabel
+ Left = 6
+ Top = 180
+ Width = 47
+ Height = 13
+ Caption = #1055#1091#1083#1077#1084#1105#1090':'
+ end
+ object Label44: TLabel
+ Left = 147
+ Top = 180
+ Width = 58
+ Height = 13
+ Caption = #1056#1072#1082#1077#1090#1085#1080#1094#1072':'
+ end
+ object Label45: TLabel
+ Left = 147
+ Top = 219
+ Width = 106
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 12)'
+ end
+ object Label46: TLabel
+ Left = 6
+ Top = 246
+ Width = 57
+ Height = 13
+ Caption = #1055#1083#1072#1079#1084#1072#1075#1072#1085':'
+ end
+ object Label47: TLabel
+ Left = 6
+ Top = 285
+ Width = 100
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 2)'
+ end
+ object Label48: TLabel
+ Left = 147
+ Top = 246
+ Width = 77
+ Height = 13
+ Caption = #1057#1091#1087#1077#1088#1087#1091#1083#1077#1084#1105#1090':'
+ end
+ object Label49: TLabel
+ Left = 147
+ Top = 285
+ Width = 100
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 2)'
+ end
+ object Label66: TLabel
+ Left = 6
+ Top = 47
+ Width = 35
+ Height = 13
+ Caption = #1050#1091#1083#1072#1082':'
+ end
+ object Label67: TLabel
+ Left = 35
+ Top = 352
+ Width = 55
+ Height = 13
+ Caption = #1056#1077#1079#1077#1088#1074' (?):'
+ Visible = False
+ end
+ object Label68: TLabel
+ Left = 242
+ Top = 352
+ Width = 100
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 2)'
+ Visible = False
+ end
+ object Label75: TLabel
+ Left = 6
+ Top = 3
+ Width = 187
+ Height = 13
+ Caption = #1047#1072#1076#1077#1088#1078#1082#1072' '#1087#1088#1080' '#1089#1084#1077#1085#1077' '#1086#1088#1091#1078#1080#1103' '#1080#1075#1088#1086#1082#1072':'
+ end
+ object Label76: TLabel
+ Left = 128
+ Top = 22
+ Width = 100
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 3)'
+ end
+ object ReChain: TSpinEdit
+ Left = 6
+ Top = 196
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 0
+ Value = 0
+ end
+ object ReDShot: TSpinEdit
+ Left = 147
+ Top = 130
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 1
+ Value = 0
+ end
+ object ReFist: TSpinEdit
+ Left = 6
+ Top = 63
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 2
+ Value = 0
+ end
+ object RePistol: TSpinEdit
+ Left = 147
+ Top = 63
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 3
+ Value = 0
+ end
+ object RePlasm: TSpinEdit
+ Left = 6
+ Top = 262
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 4
+ Value = 0
+ end
+ object ReRocket: TSpinEdit
+ Left = 147
+ Top = 196
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 5
+ Value = 0
+ end
+ object ReSChain: TSpinEdit
+ Left = 147
+ Top = 262
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 6
+ Value = 0
+ end
+ object ReShotgun: TSpinEdit
+ Left = 6
+ Top = 130
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 7
+ Value = 0
+ end
+ object ReSlowFist: TSpinEdit
+ Left = 120
+ Top = 349
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 8
+ Value = 0
+ Visible = False
+ end
+ object WChange: TSpinEdit
+ Left = 6
+ Top = 19
+ Width = 116
+ Height = 22
+ MaxValue = 255
+ MinValue = 0
+ TabOrder = 9
+ Value = 0
+ end
+ end
+ object TabSheet5: TTabSheet
+ Caption = #1052#1086#1085#1089#1090#1088#1099
+ ImageIndex = 5
+ ExplicitLeft = 0
+ ExplicitTop = 0
+ ExplicitWidth = 0
+ ExplicitHeight = 0
+ object Label86: TLabel
+ Left = 6
+ Top = 3
+ Width = 98
+ Height = 13
+ Caption = #1042#1099#1073#1077#1088#1080#1090#1077' '#1084#1086#1085#1089#1090#1088#1072':'
+ end
+ object LMonWidth: TLabel
+ Left = 142
+ Top = 3
+ Width = 84
+ Height = 13
+ Caption = #1064#1080#1088#1080#1085#1072' '#1084#1086#1076#1077#1083#1080':'
+ end
+ object DMonWidth: TLabel
+ Left = 264
+ Top = 22
+ Width = 100
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 0)'
+ end
+ object LMonHeight: TLabel
+ Left = 142
+ Top = 43
+ Width = 81
+ Height = 13
+ Caption = #1042#1099#1089#1086#1090#1072' '#1084#1086#1076#1077#1083#1080':'
+ end
+ object DMonHeight: TLabel
+ Left = 264
+ Top = 62
+ Width = 100
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 0)'
+ end
+ object LMonHealth: TLabel
+ Left = 142
+ Top = 83
+ Width = 53
+ Height = 13
+ Caption = #1047#1076#1086#1088#1086#1074#1100#1077':'
+ end
+ object DMonHealth: TLabel
+ Left = 264
+ Top = 102
+ Width = 100
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 0)'
+ end
+ object LMonUnknown1: TLabel
+ Left = 142
+ Top = 123
+ Width = 128
+ Height = 13
+ Caption = #1053#1077#1080#1079#1074#1077#1089#1090#1085#1086#1077' '#1079#1085#1072#1095#1077#1085#1080#1077' 1:'
+ end
+ object DMonUnknown1: TLabel
+ Left = 264
+ Top = 142
+ Width = 100
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 0)'
+ end
+ object LMonSpeed: TLabel
+ Left = 142
+ Top = 163
+ Width = 52
+ Height = 13
+ Caption = #1057#1082#1086#1088#1086#1089#1090#1100':'
+ end
+ object DMonSpeed: TLabel
+ Left = 264
+ Top = 182
+ Width = 100
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 0)'
+ end
+ object LMonJump: TLabel
+ Left = 142
+ Top = 203
+ Width = 84
+ Height = 13
+ Caption = #1042#1099#1089#1086#1090#1072' '#1087#1088#1099#1078#1082#1072':'
+ end
+ object DMonJump: TLabel
+ Left = 264
+ Top = 222
+ Width = 100
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 0)'
+ end
+ object LMonShit: TLabel
+ Left = 142
+ Top = 243
+ Width = 97
+ Height = 13
+ Caption = #1050#1088#1080#1090#1080#1095#1077#1089#1082#1080#1081' '#1091#1088#1086#1085':'
+ end
+ object DMonShit: TLabel
+ Left = 264
+ Top = 264
+ Width = 100
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 0)'
+ end
+ object LMonUnknown2: TLabel
+ Left = 142
+ Top = 283
+ Width = 128
+ Height = 13
+ Caption = #1053#1077#1080#1079#1074#1077#1089#1090#1085#1086#1077' '#1079#1085#1072#1095#1077#1085#1080#1077' 2:'
+ end
+ object DMonUnknown2: TLabel
+ Left = 264
+ Top = 302
+ Width = 100
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 0)'
+ end
+ object MonLst: TListBox
+ Left = 3
+ Top = 19
+ Width = 110
+ Height = 302
+ ItemHeight = 13
+ Items.Strings = (
+ #1044#1077#1084#1086#1085
+ #1041#1077#1089
+ #1047#1086#1084#1073#1080
+ #1057#1077#1088#1078#1072#1085#1090
+ #1050#1080#1073#1077#1088#1076#1077#1084#1086#1085
+ #1055#1091#1083#1077#1084#1105#1090#1095#1080#1082
+ #1041#1072#1088#1086#1085' '#1072#1076#1072
+ #1056#1099#1094#1072#1088#1100' '#1072#1076#1072
+ #1050#1072#1082#1086#1076#1077#1084#1086#1085
+ #1063#1077#1088#1077#1087
+ #1040#1074#1080#1072#1073#1072#1079#1072
+ #1041#1086#1083#1100#1096#1086#1081' '#1087#1072#1091#1082
+ #1040#1088#1072#1093#1085#1086#1090#1088#1086#1085
+ #1052#1072#1085#1082#1091#1073#1091#1089
+ #1057#1082#1077#1083#1077#1090
+ #1050#1086#1083#1076#1091#1085
+ #1056#1099#1073#1072
+ #1041#1086#1095#1082#1072
+ #1056#1086#1073#1086#1090
+ #1055#1088#1080#1082#1086#1083#1080#1089#1090)
+ TabOrder = 0
+ OnClick = MonLstClick
+ end
+ object MonWidth: TSpinEdit
+ Left = 142
+ Top = 19
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = 0
+ TabOrder = 1
+ Value = 0
+ OnChange = MonWidthChange
+ end
+ object MonHeight: TSpinEdit
+ Left = 142
+ Top = 59
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = 0
+ TabOrder = 2
+ Value = 0
+ OnChange = MonHeightChange
+ end
+ object MonHealth: TSpinEdit
+ Left = 142
+ Top = 99
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 3
+ Value = 0
+ OnChange = MonHealthChange
+ end
+ object MonUnknown1: TSpinEdit
+ Left = 142
+ Top = 139
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = 0
+ TabOrder = 4
+ Value = 0
+ OnChange = MonUnknown1Change
+ end
+ object MonSpeed: TSpinEdit
+ Left = 142
+ Top = 179
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 5
+ Value = 0
+ OnChange = MonSpeedChange
+ end
+ object MonJump: TSpinEdit
+ Left = 142
+ Top = 219
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 6
+ Value = 0
+ OnChange = MonJumpChange
+ end
+ object MonShit: TSpinEdit
+ Left = 142
+ Top = 259
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 7
+ Value = 0
+ OnChange = MonShitChange
+ end
+ object MonUnknown2: TSpinEdit
+ Left = 142
+ Top = 299
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = 0
+ TabOrder = 8
+ Value = 0
+ OnChange = MonUnknown2Change
+ end
+ end
+ object TabSheet4: TTabSheet
+ Caption = #1063#1080#1090'-'#1082#1086#1076#1099
+ ImageIndex = 3
+ ExplicitLeft = 0
+ ExplicitTop = 0
+ ExplicitWidth = 0
+ ExplicitHeight = 0
+ object Label22: TLabel
+ Left = 6
+ Top = 18
+ Width = 53
+ Height = 13
+ Caption = #1047#1076#1086#1088#1086#1074#1100#1077':'
+ end
+ object Label23: TLabel
+ Left = 175
+ Top = 18
+ Width = 34
+ Height = 13
+ Caption = #1041#1088#1086#1085#1103':'
+ end
+ object Label24: TLabel
+ Left = 6
+ Top = 57
+ Width = 112
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 200)'
+ end
+ object Label25: TLabel
+ Left = 175
+ Top = 57
+ Width = 112
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 200)'
+ end
+ object Label33: TLabel
+ Left = 175
+ Top = 192
+ Width = 124
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 30000)'
+ end
+ object Label32: TLabel
+ Left = 175
+ Top = 154
+ Width = 40
+ Height = 13
+ Caption = #1055#1083#1072#1079#1084#1072':'
+ end
+ object Label28: TLabel
+ Left = 6
+ Top = 131
+ Width = 124
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 30000)'
+ end
+ object Label27: TLabel
+ Left = 175
+ Top = 93
+ Width = 41
+ Height = 13
+ Caption = #1043#1080#1083#1100#1079#1099':'
+ end
+ object Label26: TLabel
+ Left = 6
+ Top = 92
+ Width = 49
+ Height = 13
+ Caption = #1055#1072#1090#1088#1086#1085#1099':'
+ end
+ object Label31: TLabel
+ Left = 6
+ Top = 192
+ Width = 124
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 30000)'
+ end
+ object Label30: TLabel
+ Left = 6
+ Top = 153
+ Width = 42
+ Height = 13
+ Caption = #1056#1072#1082#1077#1090#1099':'
+ end
+ object Label29: TLabel
+ Left = 175
+ Top = 131
+ Width = 124
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 30000)'
+ end
+ object Label82: TLabel
+ Left = 213
+ Top = 258
+ Width = 128
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = HAHA1)'
+ end
+ object Label34: TLabel
+ Left = 6
+ Top = 233
+ Width = 29
+ Height = 13
+ Caption = #1059#1088#1086#1085':'
+ end
+ object Label36: TLabel
+ Left = 213
+ Top = 233
+ Width = 112
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 400)'
+ end
+ object Label81: TLabel
+ Left = 6
+ Top = 258
+ Width = 28
+ Height = 13
+ Caption = #1047#1074#1091#1082':'
+ end
+ object Label83: TLabel
+ Left = 111
+ Top = 76
+ Width = 81
+ Height = 13
+ Caption = #1063#1080#1090'-'#1082#1086#1076' RAMBO'
+ Enabled = False
+ end
+ object Label84: TLabel
+ Left = 116
+ Top = 3
+ Width = 71
+ Height = 13
+ Caption = #1063#1080#1090'-'#1082#1086#1076' TANK'
+ Enabled = False
+ end
+ object Label85: TLabel
+ Left = 112
+ Top = 211
+ Width = 78
+ Height = 13
+ Caption = #1063#1080#1090'-'#1082#1086#1076' IDDQD'
+ Enabled = False
+ end
+ object TankArmor: TSpinEdit
+ Left = 175
+ Top = 34
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 0
+ Value = 0
+ end
+ object TankHealth: TSpinEdit
+ Left = 6
+ Top = 34
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 1
+ Value = 0
+ end
+ object RBullets: TSpinEdit
+ Left = 6
+ Top = 108
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 2
+ Value = 0
+ end
+ object RShells: TSpinEdit
+ Left = 175
+ Top = 108
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 3
+ Value = 0
+ end
+ object RRockets: TSpinEdit
+ Left = 6
+ Top = 169
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 4
+ Value = 0
+ end
+ object RCells: TSpinEdit
+ Left = 175
+ Top = 169
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 5
+ Value = 0
+ end
+ object GodDamage: TSpinEdit
+ Left = 91
+ Top = 230
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 6
+ Value = 0
+ end
+ object IddqdSnd: TEdit
+ Left = 91
+ Top = 255
+ Width = 116
+ Height = 21
+ MaxLength = 5
+ TabOrder = 7
+ end
+ object Panel3: TPanel
+ Left = 6
+ Top = 10
+ Width = 106
+ Height = 2
+ BevelOuter = bvLowered
+ TabOrder = 8
+ end
+ object Panel4: TPanel
+ Left = 191
+ Top = 10
+ Width = 108
+ Height = 2
+ BevelOuter = bvLowered
+ TabOrder = 9
+ end
+ object Panel5: TPanel
+ Left = 6
+ Top = 84
+ Width = 101
+ Height = 2
+ BevelOuter = bvLowered
+ TabOrder = 10
+ end
+ object Panel6: TPanel
+ Left = 196
+ Top = 84
+ Width = 103
+ Height = 2
+ BevelOuter = bvLowered
+ TabOrder = 11
+ end
+ object Panel7: TPanel
+ Left = 6
+ Top = 217
+ Width = 102
+ Height = 2
+ BevelOuter = bvLowered
+ TabOrder = 12
+ end
+ object Panel8: TPanel
+ Left = 194
+ Top = 217
+ Width = 105
+ Height = 2
+ BevelOuter = bvLowered
+ TabOrder = 13
+ end
+ end
+ object TabSheet7: TTabSheet
+ Caption = #1056#1072#1079#1085#1086#1077
+ ImageIndex = 6
+ ExplicitLeft = 0
+ ExplicitTop = 0
+ ExplicitWidth = 0
+ ExplicitHeight = 344
+ object Label20: TLabel
+ Left = 128
+ Top = 145
+ Width = 100
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 0)'
+ end
+ object Label21: TLabel
+ Left = 6
+ Top = 126
+ Width = 234
+ Height = 13
+ Caption = #1042#1088#1077#1084#1103' '#1076#1077#1081#1089#1090#1074#1080#1103' '#1085#1077#1091#1103#1079#1074#1080#1084#1086#1089#1090#1080' '#1074' '#1085#1072#1095#1072#1083#1077' '#1080#1075#1088#1099':'
+ end
+ object Label50: TLabel
+ Left = 6
+ Top = 3
+ Width = 288
+ Height = 13
+ Caption = #1048#1079#1084#1077#1085#1077#1085#1080#1077' '#1079#1076#1086#1088#1086#1074#1100#1103' '#1080#1075#1088#1086#1082#1086#1074' '#1087#1088#1080' '#1087#1086#1087#1072#1076#1072#1085#1080#1080' '#1074' '#1083#1086#1074#1091#1096#1082#1091':'
+ end
+ object Label51: TLabel
+ Left = 128
+ Top = 22
+ Width = 116
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = -100)'
+ end
+ object Label52: TLabel
+ Left = 128
+ Top = 63
+ Width = 116
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = -100)'
+ end
+ object Label53: TLabel
+ Left = 6
+ Top = 44
+ Width = 294
+ Height = 13
+ Caption = #1048#1079#1084#1077#1085#1077#1085#1080#1077' '#1079#1076#1086#1088#1086#1074#1100#1103' '#1084#1086#1085#1089#1090#1088#1086#1074' '#1087#1088#1080' '#1087#1086#1087#1072#1076#1072#1085#1080#1080' '#1074' '#1083#1086#1074#1091#1096#1082#1091':'
+ end
+ object Label54: TLabel
+ Left = 128
+ Top = 104
+ Width = 100
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 0)'
+ end
+ object Label55: TLabel
+ Left = 6
+ Top = 85
+ Width = 274
+ Height = 13
+ Caption = #1059#1088#1086#1074#1077#1085#1100' '#1073#1086#1083#1080' ('#1082#1088#1072#1089#1085#1099#1081' '#1101#1082#1088#1072#1085') '#1080#1075#1088#1086#1082#1072' '#1074' '#1085#1072#1095#1072#1083#1077' '#1080#1075#1088#1099':'
+ end
+ object Label56: TLabel
+ Left = 6
+ Top = 207
+ Width = 232
+ Height = 13
+ Caption = #1057#1084#1077#1097#1077#1085#1080#1077' '#1087#1086' '#1086#1089#1080' Y '#1075#1083#1072#1074#1085#1086#1075#1086' '#1084#1077#1085#1102' '#1085#1072' '#1101#1082#1088#1072#1085#1077':'
+ end
+ object Label57: TLabel
+ Left = 128
+ Top = 226
+ Width = 112
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 200)'
+ end
+ object Label58: TLabel
+ Left = 6
+ Top = 248
+ Width = 236
+ Height = 13
+ Caption = #1057#1084#1077#1097#1077#1085#1080#1077' '#1087#1086' '#1086#1089#1080' Y '#1080#1075#1088#1086#1074#1086#1081' '#1087#1072#1085#1077#1083#1080' '#1085#1072' '#1101#1082#1088#1072#1085#1077':'
+ end
+ object Label59: TLabel
+ Left = 128
+ Top = 267
+ Width = 112
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 200)'
+ end
+ object Label60: TLabel
+ Left = 6
+ Top = 289
+ Width = 274
+ Height = 13
+ Caption = #1057#1084#1077#1097#1077#1085#1080#1077' '#1087#1086' '#1086#1089#1080' X '#1080#1085#1076#1080#1082#1072#1090#1086#1088#1072' '#1082#1080#1089#1083#1086#1088#1086#1076#1072' '#1085#1072' '#1101#1082#1088#1072#1085#1077':'
+ end
+ object Label61: TLabel
+ Left = 128
+ Top = 308
+ Width = 112
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 200)'
+ end
+ object Label62: TLabel
+ Left = 6
+ Top = 167
+ Width = 294
+ Height = 13
+ Caption = #1056#1077#1078#1080#1084' '#1056#1101#1084#1073#1086' ('#1087#1088#1080' '#1074#1082#1083#1102#1095#1077#1085#1080#1080' '#1076#1088#1091#1075#1080#1077' '#1095#1080#1090#1099' '#1085#1077' '#1088#1072#1073#1086#1090#1072#1102#1090'):'
+ end
+ object Label63: TLabel
+ Left = 128
+ Top = 186
+ Width = 120
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = '#1074#1099#1082#1083')'
+ end
+ object Label64: TLabel
+ Left = 6
+ Top = 330
+ Width = 151
+ Height = 13
+ Caption = #1062#1074#1077#1090' '#1080#1085#1076#1080#1082#1072#1090#1086#1088#1072' '#1082#1080#1089#1083#1086#1088#1086#1076#1072':'
+ end
+ object Label65: TLabel
+ Left = 128
+ Top = 349
+ Width = 112
+ Height = 13
+ Caption = '('#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102' = 200)'
+ end
+ object ColorAero: TSpinEdit
+ Left = 6
+ Top = 346
+ Width = 116
+ Height = 22
+ MaxValue = 255
+ MinValue = 0
+ TabOrder = 0
+ Value = 0
+ end
+ object InvInvuln: TSpinEdit
+ Left = 6
+ Top = 142
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 1
+ Value = 0
+ end
+ object MDamage: TSpinEdit
+ Left = 6
+ Top = 101
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 2
+ Value = 0
+ end
+ object MRambo: TComboBox
+ Left = 6
+ Top = 183
+ Width = 116
+ Height = 21
+ Style = csDropDownList
+ ItemIndex = 0
+ TabOrder = 3
+ Text = '90h: NOP ('#1074#1099#1082#1083')'
+ Items.Strings = (
+ '90h: NOP ('#1074#1099#1082#1083')'
+ '00h: '#1087#1072#1090#1088#1086#1085#1099' '#1085#1077' '#1079#1072#1082#1072#1085#1095#1080#1074#1072#1102#1090#1089#1103)
+ end
+ object PAero: TSpinEdit
+ Left = 6
+ Top = 305
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 4
+ Value = 0
+ end
+ object PMenu: TSpinEdit
+ Left = 6
+ Top = 223
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 5
+ Value = 0
+ end
+ object PStone: TSpinEdit
+ Left = 6
+ Top = 264
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 6
+ Value = 0
+ end
+ object TrapMonster: TSpinEdit
+ Left = 6
+ Top = 60
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 7
+ Value = 0
+ end
+ object TrapPlayer: TSpinEdit
+ Left = 6
+ Top = 19
+ Width = 116
+ Height = 22
+ MaxValue = 2147483647
+ MinValue = -2147483648
+ TabOrder = 8
+ Value = 0
+ end
+ end
+ end
+ object OpenDialog: TOpenDialog
+ Filter = #1048#1089#1087#1086#1083#1085#1103#1077#1084#1099#1077' '#1092#1072#1081#1083#1099'|*.exe'
+ Left = 144
+ end
+ object PlayerColors: TImageList
+ Left = 256
+ Bitmap = {
+ 494C01010B000D00040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
+ 0000000000003600000028000000400000003000000001002000000000000030
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000550000005500000055000000550000005500000055000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000006500000065000000650000006500000065000000650000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000055BA000055BA000055BA000055BA000055BA000055BA000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 6100000061000000610000006100000061000000610000006100000061000000
+ 6100000061000000000000000000000000000000000000000000000000007D00
+ 00007D0000007D0000007D0000007D0000007D0000007D0000007D0000007D00
+ 00007D0000000000000000000000000000000000000000000000000000000059
+ C3000059C3000059C3000059C3000059C3000059C3000059C3000059C3000059
+ C3000059C3000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000000000000006D000000
+ 6D0000006D0000006D0000006D0000006D0000006D0000006D0000006D000000
+ 6D0000006D0000006D0000000000000000000000000000000000920000009200
+ 0000920000009200000092000000920000009200000092000000920000009200
+ 00009200000092000000000000000000000000000000000000000061CB000061
+ CB000061CB000061CB000061CB000061CB000061CB000061CB000061CB000061
+ CB000061CB000061CB0000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000007900000079000000
+ 7900000079000000790000007900000079000000790000007900000079000000
+ 79000000790000007900000079000000000000000000AA000000AA000000AA00
+ 0000AA000000AA000000AA000000AA000000AA000000AA000000AA000000AA00
+ 0000AA000000AA000000AA00000000000000000000000869D3000869D3000869
+ D3000869D3000869D3000869D3000869D3000869D3000869D3000869D3000869
+ D3000869D3000869D3000869D300000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000008200000082000000
+ 8200000082000000820000008200000082000000820000008200000082000000
+ 82000000820000008200000082000000000000000000BE000000BE000000BE00
+ 0000BE000000BE000000BE000000BE000000BE000000BE000000BE000000BE00
+ 0000BE000000BE000000BE00000000000000000000000C71DB000C71DB000C71
+ DB000C71DB000C71DB000C71DB000C71DB000C71DB000C71DB000C71DB000C71
+ DB000C71DB000C71DB000C71DB00000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000008E0000008E0000008E000000
+ 8E0000008E0000008E0000008E0000008E0000008E0000008E0000008E000000
+ 8E0000008E0000008E0000008E0000008E00D3000000D3000000D3000000D300
+ 0000D3000000D3000000D3000000D3000000D3000000D3000000D3000000D300
+ 0000D3000000D3000000D3000000D30000001479E3001479E3001479E3001479
+ E3001479E3001479E3001479E3001479E3001479E3001479E3001479E3001479
+ E3001479E3001479E3001479E3001479E3000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000009A0000009A0000009A000000
+ 9A0000009A0000009A0000009A0000009A0000009A0000009A0000009A000000
+ 9A0000009A0000009A0000009A0000009A00E7000000E7000000E7000000E700
+ 0000E7000000E7000000E7000000E7000000E7000000E7000000E7000000E700
+ 0000E7000000E7000000E7000000E7000000147DEB00147DEB00147DEB00147D
+ EB00147DEB00147DEB00147DEB00147DEB00147DEB00147DEB00147DEB00147D
+ EB00147DEB00147DEB00147DEB00147DEB000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000AA000000AA000000AA000000
+ AA000000AA000000AA000000AA000000AA000000AA000000AA000000AA000000
+ AA000000AA000000AA000000AA000000AA00FF000000FF000000FF000000FF00
+ 0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00
+ 0000FF000000FF000000FF000000FF0000002082F3002082F3002082F3002082
+ F3002082F3002082F3002082F3002082F3002082F3002082F3002082F3002082
+ F3002082F3002082F3002082F3002082F3000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000B2000000B2000000B2000000
+ B2000000B2000000B2000000B2000000B2000000B2000000B2000000B2000000
+ B2000000B2000000B2000000B2000000B200FF242400FF242400FF242400FF24
+ 2400FF242400FF242400FF242400FF242400FF242400FF242400FF242400FF24
+ 2400FF242400FF242400FF242400FF242400248EFF00248EFF00248EFF00248E
+ FF00248EFF00248EFF00248EFF00248EFF00248EFF00248EFF00248EFF00248E
+ FF00248EFF00248EFF00248EFF00248EFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000BE000000BE000000BE000000
+ BE000000BE000000BE000000BE000000BE000000BE000000BE000000BE000000
+ BE000000BE000000BE000000BE000000BE00FF454500FF454500FF454500FF45
+ 4500FF454500FF454500FF454500FF454500FF454500FF454500FF454500FF45
+ 4500FF454500FF454500FF454500FF454500499EFF00499EFF00499EFF00499E
+ FF00499EFF00499EFF00499EFF00499EFF00499EFF00499EFF00499EFF00499E
+ FF00499EFF00499EFF00499EFF00499EFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000C7000000C7000000C7000000
+ C7000000C7000000C7000000C7000000C7000000C7000000C7000000C7000000
+ C7000000C7000000C7000000C7000000C700FF656500FF656500FF656500FF65
+ 6500FF656500FF656500FF656500FF656500FF656500FF656500FF656500FF65
+ 6500FF656500FF656500FF656500FF6565006DAEFF006DAEFF006DAEFF006DAE
+ FF006DAEFF006DAEFF006DAEFF006DAEFF006DAEFF006DAEFF006DAEFF006DAE
+ FF006DAEFF006DAEFF006DAEFF006DAEFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000000D3000000D3000000
+ D3000000D3000000D3000000D3000000D3000000D3000000D3000000D3000000
+ D3000000D3000000D3000000D3000000000000000000FF828200FF828200FF82
+ 8200FF828200FF828200FF828200FF828200FF828200FF828200FF828200FF82
+ 8200FF828200FF828200FF82820000000000000000008ABEFF008ABEFF008ABE
+ FF008ABEFF008ABEFF008ABEFF008ABEFF008ABEFF008ABEFF008ABEFF008ABE
+ FF008ABEFF008ABEFF008ABEFF00000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000000DB000000DB000000
+ DB000000DB000000DB000000DB000000DB000000DB000000DB000000DB000000
+ DB000000DB000000DB000000DB000000000000000000FF9E9E00FF9E9E00FF9E
+ 9E00FF9E9E00FF9E9E00FF9E9E00FF9E9E00FF9E9E00FF9E9E00FF9E9E00FF9E
+ 9E00FF9E9E00FF9E9E00FF9E9E000000000000000000AACFFF00AACFFF00AACF
+ FF00AACFFF00AACFFF00AACFFF00AACFFF00AACFFF00AACFFF00AACFFF00AACF
+ FF00AACFFF00AACFFF00AACFFF00000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000000000000000E7000000
+ E7000000E7000000E7000000E7000000E7000000E7000000E7000000E7000000
+ E7000000E7000000E70000000000000000000000000000000000FFB6B600FFB6
+ B600FFB6B600FFB6B600FFB6B600FFB6B600FFB6B600FFB6B600FFB6B600FFB6
+ B600FFB6B600FFB6B60000000000000000000000000000000000C3DBFF00C3DB
+ FF00C3DBFF00C3DBFF00C3DBFF00C3DBFF00C3DBFF00C3DBFF00C3DBFF00C3DB
+ FF00C3DBFF00C3DBFF0000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ EF000000EF000000EF000000EF000000EF000000EF000000EF000000EF000000
+ EF000000EF00000000000000000000000000000000000000000000000000FFCF
+ CF00FFCFCF00FFCFCF00FFCFCF00FFCFCF00FFCFCF00FFCFCF00FFCFCF00FFCF
+ CF00FFCFCF00000000000000000000000000000000000000000000000000DFEB
+ FF00DFEBFF00DFEBFF00DFEBFF00DFEBFF00DFEBFF00DFEBFF00DFEBFF00DFEB
+ FF00DFEBFF000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000FF000000FF000000FF000000FF000000FF000000FF000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000FFEBEB00FFEBEB00FFEBEB00FFEBEB00FFEBEB00FFEBEB000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000009A9A9A009A9A9A009A9A9A009A9A9A009A9A9A009A9A9A000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000003030300030303000303030003030300030303000303030000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000008200C0008200C0008200C0008200C0008200C0008200C000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000003C4D65003C4D65003C4D65003C4D65003C4D65003C4D65000000
+ 000000000000000000000000000000000000000000000000000000000000A2A2
+ A200A2A2A200A2A2A200A2A2A200A2A2A200A2A2A200A2A2A200A2A2A200A2A2
+ A200A2A2A2000000000000000000000000000000000000000000000000003434
+ 3400343434003434340034343400343434003434340034343400343434003434
+ 3400343434000000000000000000000000000000000000000000000000000C30
+ 18000C3018000C3018000C3018000C3018000C3018000C3018000C3018000C30
+ 18000C3018000000000000000000000000000000000000000000000000004155
+ 6900415569004155690041556900415569004155690041556900415569004155
+ 6900415569000000000000000000000000000000000000000000A6A6A600A6A6
+ A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6A600A6A6
+ A600A6A6A600A6A6A600000000000000000000000000000000003C3C3C003C3C
+ 3C003C3C3C003C3C3C003C3C3C003C3C3C003C3C3C003C3C3C003C3C3C003C3C
+ 3C003C3C3C003C3C3C0000000000000000000000000000000000144120001441
+ 2000144120001441200014412000144120001441200014412000144120001441
+ 2000144120001441200000000000000000000000000000000000455D7100455D
+ 7100455D7100455D7100455D7100455D7100455D7100455D7100455D7100455D
+ 7100455D7100455D7100000000000000000000000000AAAAAA00AAAAAA00AAAA
+ AA00AAAAAA00AAAAAA00AAAAAA00AAAAAA00AAAAAA00AAAAAA00AAAAAA00AAAA
+ AA00AAAAAA00AAAAAA00AAAAAA00000000000000000045454500454545004545
+ 4500454545004545450045454500454545004545450045454500454545004545
+ 4500454545004545450045454500000000000000000020552800205528002055
+ 2800205528002055280020552800205528002055280020552800205528002055
+ 280020552800205528002055280000000000000000004D6579004D6579004D65
+ 79004D6579004D6579004D6579004D6579004D6579004D6579004D6579004D65
+ 79004D6579004D6579004D6579000000000000000000B2B2B200B2B2B200B2B2
+ B200B2B2B200B2B2B200B2B2B200B2B2B200B2B2B200B2B2B200B2B2B200B2B2
+ B200B2B2B200B2B2B200B2B2B200000000000000000049494900494949004949
+ 4900494949004949490049494900494949004949490049494900494949004949
+ 4900494949004949490049494900000000000000000024653400246534002465
+ 3400246534002465340024653400246534002465340024653400246534002465
+ 3400246534002465340024653400000000000000000055697D0055697D005569
+ 7D0055697D0055697D0055697D0055697D0055697D0055697D0055697D005569
+ 7D0055697D0055697D0055697D0000000000B6B6B600B6B6B600B6B6B600B6B6
+ B600B6B6B600B6B6B600B6B6B600B6B6B600B6B6B600B6B6B600B6B6B600B6B6
+ B600B6B6B600B6B6B600B6B6B600B6B6B6005555550055555500555555005555
+ 5500555555005555550055555500555555005555550055555500555555005555
+ 55005555550055555500555555005555550030753C0030753C0030753C003075
+ 3C0030753C0030753C0030753C0030753C0030753C0030753C0030753C003075
+ 3C0030753C0030753C0030753C0030753C005D7186005D7186005D7186005D71
+ 86005D7186005D7186005D7186005D7186005D7186005D7186005D7186005D71
+ 86005D7186005D7186005D7186005D718600BEBEBE00BEBEBE00BEBEBE00BEBE
+ BE00BEBEBE00BEBEBE00BEBEBE00BEBEBE00BEBEBE00BEBEBE00BEBEBE00BEBE
+ BE00BEBEBE00BEBEBE00BEBEBE00BEBEBE005959590059595900595959005959
+ 5900595959005959590059595900595959005959590059595900595959005959
+ 5900595959005959590059595900595959003882450038824500388245003882
+ 4500388245003882450038824500388245003882450038824500388245003882
+ 45003882450038824500388245003882450061758A0061758A0061758A006175
+ 8A0061758A0061758A0061758A0061758A0061758A0061758A0061758A006175
+ 8A0061758A0061758A0061758A0061758A00C3C3C300C3C3C300C3C3C300C3C3
+ C300C3C3C300C3C3C300C3C3C300C3C3C300C3C3C300C3C3C300C3C3C300C3C3
+ C300C3C3C300C3C3C300C3C3C300C3C3C3006161610061616100616161006161
+ 6100616161006161610061616100616161006161610061616100616161006161
+ 6100616161006161610061616100616161003C924D003C924D003C924D003C92
+ 4D003C924D003C924D003C924D003C924D003C924D003C924D003C924D003C92
+ 4D003C924D003C924D003C924D003C924D00697D9200697D9200697D9200697D
+ 9200697D9200697D9200697D9200697D9200697D9200697D9200697D9200697D
+ 9200697D9200697D9200697D9200697D9200C7C7C700C7C7C700C7C7C700C7C7
+ C700C7C7C700C7C7C700C7C7C700C7C7C700C7C7C700C7C7C700C7C7C700C7C7
+ C700C7C7C700C7C7C700C7C7C700C7C7C7006969690069696900696969006969
+ 6900696969006969690069696900696969006969690069696900696969006969
+ 69006969690069696900696969006969690045A2550045A2550045A2550045A2
+ 550045A2550045A2550045A2550045A2550045A2550045A2550045A2550045A2
+ 550045A2550045A2550045A2550045A255006D829A006D829A006D829A006D82
+ 9A006D829A006D829A006D829A006D829A006D829A006D829A006D829A006D82
+ 9A006D829A006D829A006D829A006D829A00CFCFCF00CFCFCF00CFCFCF00CFCF
+ CF00CFCFCF00CFCFCF00CFCFCF00CFCFCF00CFCFCF00CFCFCF00CFCFCF00CFCF
+ CF00CFCFCF00CFCFCF00CFCFCF00CFCFCF006D6D6D006D6D6D006D6D6D006D6D
+ 6D006D6D6D006D6D6D006D6D6D006D6D6D006D6D6D006D6D6D006D6D6D006D6D
+ 6D006D6D6D006D6D6D006D6D6D006D6D6D004DAA5D004DAA5D004DAA5D004DAA
+ 5D004DAA5D004DAA5D004DAA5D004DAA5D004DAA5D004DAA5D004DAA5D004DAA
+ 5D004DAA5D004DAA5D004DAA5D004DAA5D00758AA200758AA200758AA200758A
+ A200758AA200758AA200758AA200758AA200758AA200758AA200758AA200758A
+ A200758AA200758AA200758AA200758AA200D3D3D300D3D3D300D3D3D300D3D3
+ D300D3D3D300D3D3D300D3D3D300D3D3D300D3D3D300D3D3D300D3D3D300D3D3
+ D300D3D3D300D3D3D300D3D3D300D3D3D3007575750075757500757575007575
+ 7500757575007575750075757500757575007575750075757500757575007575
+ 75007575750075757500757575007575750059BA650059BA650059BA650059BA
+ 650059BA650059BA650059BA650059BA650059BA650059BA650059BA650059BA
+ 650059BA650059BA650059BA650059BA65007D8EAA007D8EAA007D8EAA007D8E
+ AA007D8EAA007D8EAA007D8EAA007D8EAA007D8EAA007D8EAA007D8EAA007D8E
+ AA007D8EAA007D8EAA007D8EAA007D8EAA0000000000DBDBDB00DBDBDB00DBDB
+ DB00DBDBDB00DBDBDB00DBDBDB00DBDBDB00DBDBDB00DBDBDB00DBDBDB00DBDB
+ DB00DBDBDB00DBDBDB00DBDBDB0000000000000000007D7D7D007D7D7D007D7D
+ 7D007D7D7D007D7D7D007D7D7D007D7D7D007D7D7D007D7D7D007D7D7D007D7D
+ 7D007D7D7D007D7D7D007D7D7D00000000000000000061C76D0061C76D0061C7
+ 6D0061C76D0061C76D0061C76D0061C76D0061C76D0061C76D0061C76D0061C7
+ 6D0061C76D0061C76D0061C76D0000000000000000007D96AA007D96AA007D96
+ AA007D96AA007D96AA007D96AA007D96AA007D96AA007D96AA007D96AA007D96
+ AA007D96AA007D96AA007D96AA000000000000000000DFDFDF00DFDFDF00DFDF
+ DF00DFDFDF00DFDFDF00DFDFDF00DFDFDF00DFDFDF00DFDFDF00DFDFDF00DFDF
+ DF00DFDFDF00DFDFDF00DFDFDF0000000000000000007D7D7D007D7D7D007D7D
+ 7D007D7D7D007D7D7D007D7D7D007D7D7D007D7D7D007D7D7D007D7D7D007D7D
+ 7D007D7D7D007D7D7D007D7D7D00000000000000000069D7710069D7710069D7
+ 710069D7710069D7710069D7710069D7710069D7710069D7710069D7710069D7
+ 710069D7710069D7710069D771000000000000000000869EB200869EB200869E
+ B200869EB200869EB200869EB200869EB200869EB200869EB200869EB200869E
+ B200869EB200869EB200869EB200000000000000000000000000E3E3E300E3E3
+ E300E3E3E300E3E3E300E3E3E300E3E3E300E3E3E300E3E3E300E3E3E300E3E3
+ E300E3E3E300E3E3E30000000000000000000000000000000000868686008686
+ 8600868686008686860086868600868686008686860086868600868686008686
+ 860086868600868686000000000000000000000000000000000071E3790071E3
+ 790071E3790071E3790071E3790071E3790071E3790071E3790071E3790071E3
+ 790071E3790071E37900000000000000000000000000000000008EA6BA008EA6
+ BA008EA6BA008EA6BA008EA6BA008EA6BA008EA6BA008EA6BA008EA6BA008EA6
+ BA008EA6BA008EA6BA000000000000000000000000000000000000000000EBEB
+ EB00EBEBEB00EBEBEB00EBEBEB00EBEBEB00EBEBEB00EBEBEB00EBEBEB00EBEB
+ EB00EBEBEB000000000000000000000000000000000000000000000000008E8E
+ 8E008E8E8E008E8E8E008E8E8E008E8E8E008E8E8E008E8E8E008E8E8E008E8E
+ 8E008E8E8E0000000000000000000000000000000000000000000000000079EF
+ 7D0079EF7D0079EF7D0079EF7D0079EF7D0079EF7D0079EF7D0079EF7D0079EF
+ 7D0079EF7D0000000000000000000000000000000000000000000000000096AA
+ C30096AAC30096AAC30096AAC30096AAC30096AAC30096AAC30096AAC30096AA
+ C30096AAC3000000000000000000000000000000000000000000000000000000
+ 000000000000EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000009292920092929200929292009292920092929200929292000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000007DFF86007DFF86007DFF86007DFF86007DFF86007DFF86000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000009EB2C7009EB2C7009EB2C7009EB2C7009EB2C7009EB2C7000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000004949AE004949AE004949AE004949AE004949AE004949AE000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000550000005500000055000000550000005500000055000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000618ED300618ED300618ED300618ED300618ED300618ED3000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000001430380014303800143038001430380014303800143038000000
+ 0000000000000000000000000000000000000000000000000000000000004D4D
+ B2004D4DB2004D4DB2004D4DB2004D4DB2004D4DB2004D4DB2004D4DB2004D4D
+ B2004D4DB2000000000000000000000000000000000000000000000000000000
+ 5900000059000000590000005900000059000000590000005900000059000000
+ 5900000059000000000000000000000000000000000000000000000000006592
+ D7006592D7006592D7006592D7006592D7006592D7006592D7006592D7006592
+ D7006592D7000000000000000000000000000000000000000000000000001838
+ 4100183841001838410018384100183841001838410018384100183841001838
+ 41001838410000000000000000000000000000000000000000005959BA005959
+ BA005959BA005959BA005959BA005959BA005959BA005959BA005959BA005959
+ BA005959BA005959BA0000000000000000000000000000000000000061000000
+ 6100000061000000610000006100000061000000610000006100000061000000
+ 61000000610000006100000000000000000000000000000000006D9ADB006D9A
+ DB006D9ADB006D9ADB006D9ADB006D9ADB006D9ADB006D9ADB006D9ADB006D9A
+ DB006D9ADB006D9ADB0000000000000000000000000000000000203C4D00203C
+ 4D00203C4D00203C4D00203C4D00203C4D00203C4D00203C4D00203C4D00203C
+ 4D00203C4D00203C4D000000000000000000000000006161BE006161BE006161
+ BE006161BE006161BE006161BE006161BE006161BE006161BE006161BE006161
+ BE006161BE006161BE006161BE00000000000000000008086500080865000808
+ 6500080865000808650008086500080865000808650008086500080865000808
+ 6500080865000808650008086500000000000000000075A2E30075A2E30075A2
+ E30075A2E30075A2E30075A2E30075A2E30075A2E30075A2E30075A2E30075A2
+ E30075A2E30075A2E30075A2E300000000000000000024455D0024455D002445
+ 5D0024455D0024455D0024455D0024455D0024455D0024455D0024455D002445
+ 5D0024455D0024455D0024455D0000000000000000006969C3006969C3006969
+ C3006969C3006969C3006969C3006969C3006969C3006969C3006969C3006969
+ C3006969C3006969C3006969C300000000000000000008086D0008086D000808
+ 6D0008086D0008086D0008086D0008086D0008086D0008086D0008086D000808
+ 6D0008086D0008086D0008086D0000000000000000007DAAEB007DAAEB007DAA
+ EB007DAAEB007DAAEB007DAAEB007DAAEB007DAAEB007DAAEB007DAAEB007DAA
+ EB007DAAEB007DAAEB007DAAEB000000000000000000284D6500284D6500284D
+ 6500284D6500284D6500284D6500284D6500284D6500284D6500284D6500284D
+ 6500284D6500284D6500284D6500000000006D6DC7006D6DC7006D6DC7006D6D
+ C7006D6DC7006D6DC7006D6DC7006D6DC7006D6DC7006D6DC7006D6DC7006D6D
+ C7006D6DC7006D6DC7006D6DC7006D6DC7000808710008087100080871000808
+ 7100080871000808710008087100080871000808710008087100080871000808
+ 71000808710008087100080871000808710082AEEF0082AEEF0082AEEF0082AE
+ EF0082AEEF0082AEEF0082AEEF0082AEEF0082AEEF0082AEEF0082AEEF0082AE
+ EF0082AEEF0082AEEF0082AEEF0082AEEF003055710030557100305571003055
+ 7100305571003055710030557100305571003055710030557100305571003055
+ 7100305571003055710030557100305571007575CF007575CF007575CF007575
+ CF007575CF007575CF007575CF007575CF007575CF007575CF007575CF007575
+ CF007575CF007575CF007575CF007575CF000C0C79000C0C79000C0C79000C0C
+ 79000C0C79000C0C79000C0C79000C0C79000C0C79000C0C79000C0C79000C0C
+ 79000C0C79000C0C79000C0C79000C0C79008AB6F7008AB6F7008AB6F7008AB6
+ F7008AB6F7008AB6F7008AB6F7008AB6F7008AB6F7008AB6F7008AB6F7008AB6
+ F7008AB6F7008AB6F7008AB6F7008AB6F70034597D0034597D0034597D003459
+ 7D0034597D0034597D0034597D0034597D0034597D0034597D0034597D003459
+ 7D0034597D0034597D0034597D0034597D007D7DD3007D7DD3007D7DD3007D7D
+ D3007D7DD3007D7DD3007D7DD3007D7DD3007D7DD3007D7DD3007D7DD3007D7D
+ D3007D7DD3007D7DD3007D7DD3007D7DD30014147D0014147D0014147D001414
+ 7D0014147D0014147D0014147D0014147D0014147D0014147D0014147D001414
+ 7D0014147D0014147D0014147D0014147D0092BEFF0092BEFF0092BEFF0092BE
+ FF0092BEFF0092BEFF0092BEFF0092BEFF0092BEFF0092BEFF0092BEFF0092BE
+ FF0092BEFF0092BEFF0092BEFF0092BEFF003861860038618600386186003861
+ 8600386186003861860038618600386186003861860038618600386186003861
+ 8600386186003861860038618600386186008282DB008282DB008282DB008282
+ DB008282DB008282DB008282DB008282DB008282DB008282DB008282DB008282
+ DB008282DB008282DB008282DB008282DB001818820018188200181882001818
+ 8200181882001818820018188200181882001818820018188200181882001818
+ 820018188200181882001818820018188200A2C3FF00A2C3FF00A2C3FF00A2C3
+ FF00A2C3FF00A2C3FF00A2C3FF00A2C3FF00A2C3FF00A2C3FF00A2C3FF00A2C3
+ FF00A2C3FF00A2C3FF00A2C3FF00A2C3FF003C658E003C658E003C658E003C65
+ 8E003C658E003C658E003C658E003C658E003C658E003C658E003C658E003C65
+ 8E003C658E003C658E003C658E003C658E008A8ADF008A8ADF008A8ADF008A8A
+ DF008A8ADF008A8ADF008A8ADF008A8ADF008A8ADF008A8ADF008A8ADF008A8A
+ DF008A8ADF008A8ADF008A8ADF008A8ADF002020860020208600202086002020
+ 8600202086002020860020208600202086002020860020208600202086002020
+ 860020208600202086002020860020208600AAC7FF00AAC7FF00AAC7FF00AAC7
+ FF00AAC7FF00AAC7FF00AAC7FF00AAC7FF00AAC7FF00AAC7FF00AAC7FF00AAC7
+ FF00AAC7FF00AAC7FF00AAC7FF00AAC7FF004169960041699600416996004169
+ 9600416996004169960041699600416996004169960041699600416996004169
+ 9600416996004169960041699600416996009696E3009696E3009696E3009696
+ E3009696E3009696E3009696E3009696E3009696E3009696E3009696E3009696
+ E3009696E3009696E3009696E3009696E30024248E0024248E0024248E002424
+ 8E0024248E0024248E0024248E0024248E0024248E0024248E0024248E002424
+ 8E0024248E0024248E0024248E0024248E00B2CFFF00B2CFFF00B2CFFF00B2CF
+ FF00B2CFFF00B2CFFF00B2CFFF00B2CFFF00B2CFFF00B2CFFF00B2CFFF00B2CF
+ FF00B2CFFF00B2CFFF00B2CFFF00B2CFFF0045719E0045719E0045719E004571
+ 9E0045719E0045719E0045719E0045719E0045719E0045719E0045719E004571
+ 9E0045719E0045719E0045719E0045719E00000000009E9EEB009E9EEB009E9E
+ EB009E9EEB009E9EEB009E9EEB009E9EEB009E9EEB009E9EEB009E9EEB009E9E
+ EB009E9EEB009E9EEB009E9EEB00000000000000000028289200282892002828
+ 9200282892002828920028289200282892002828920028289200282892002828
+ 92002828920028289200282892000000000000000000BED7FF00BED7FF00BED7
+ FF00BED7FF00BED7FF00BED7FF00BED7FF00BED7FF00BED7FF00BED7FF00BED7
+ FF00BED7FF00BED7FF00BED7FF0000000000000000004975AA004975AA004975
+ AA004975AA004975AA004975AA004975AA004975AA004975AA004975AA004975
+ AA004975AA004975AA004975AA000000000000000000A6A6EB00A6A6EB00A6A6
+ EB00A6A6EB00A6A6EB00A6A6EB00A6A6EB00A6A6EB00A6A6EB00A6A6EB00A6A6
+ EB00A6A6EB00A6A6EB00A6A6EB00000000000000000030309A0030309A003030
+ 9A0030309A0030309A0030309A0030309A0030309A0030309A0030309A003030
+ 9A0030309A0030309A0030309A000000000000000000C3DBFF00C3DBFF00C3DB
+ FF00C3DBFF00C3DBFF00C3DBFF00C3DBFF00C3DBFF00C3DBFF00C3DBFF00C3DB
+ FF00C3DBFF00C3DBFF00C3DBFF0000000000000000004D7DAE004D7DAE004D7D
+ AE004D7DAE004D7DAE004D7DAE004D7DAE004D7DAE004D7DAE004D7DAE004D7D
+ AE004D7DAE004D7DAE004D7DAE00000000000000000000000000AEAEF300AEAE
+ F300AEAEF300AEAEF300AEAEF300AEAEF300AEAEF300AEAEF300AEAEF300AEAE
+ F300AEAEF300AEAEF3000000000000000000000000000000000038389E003838
+ 9E0038389E0038389E0038389E0038389E0038389E0038389E0038389E003838
+ 9E0038389E0038389E0000000000000000000000000000000000CFDFFF00CFDF
+ FF00CFDFFF00CFDFFF00CFDFFF00CFDFFF00CFDFFF00CFDFFF00CFDFFF00CFDF
+ FF00CFDFFF00CFDFFF0000000000000000000000000000000000557DB600557D
+ B600557DB600557DB600557DB600557DB600557DB600557DB600557DB600557D
+ B600557DB600557DB6000000000000000000000000000000000000000000B6B6
+ F700B6B6F700B6B6F700B6B6F700B6B6F700B6B6F700B6B6F700B6B6F700B6B6
+ F700B6B6F7000000000000000000000000000000000000000000000000003C3C
+ A6003C3CA6003C3CA6003C3CA6003C3CA6003C3CA6003C3CA6003C3CA6003C3C
+ A6003C3CA600000000000000000000000000000000000000000000000000DBE7
+ FF00DBE7FF00DBE7FF00DBE7FF00DBE7FF00DBE7FF00DBE7FF00DBE7FF00DBE7
+ FF00DBE7FF000000000000000000000000000000000000000000000000005982
+ BE005982BE005982BE005982BE005982BE005982BE005982BE005982BE005982
+ BE005982BE000000000000000000000000000000000000000000000000000000
+ 000000000000C3C3FF00C3C3FF00C3C3FF00C3C3FF00C3C3FF00C3C3FF000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000004141AA004141AA004141AA004141AA004141AA004141AA000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000E3EBFF00E3EBFF00E3EBFF00E3EBFF00E3EBFF00E3EBFF000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000005D8AC7005D8AC7005D8AC7005D8AC7005D8AC7005D8AC7000000
+ 000000000000000000000000000000000000424D3E000000000000003E000000
+ 2800000040000000300000000100010000000000800100000000000000000000
+ 000000000000000000000000FFFFFF00F81FF81FF81F0000E007E007E0070000
+ C003C003C0030000800180018001000080018001800100000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000080018001800100008001800180010000C003C003C0030000
+ E007E007E0070000F81FF81FF81F0000F81FF81FF81FF81FE007E007E007E007
+ C003C003C003C003800180018001800180018001800180010000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000080018001800180018001800180018001C003C003C003C003
+ E007E007E007E007F81FF81FF81FF81FF81FF81FF81FF81FE007E007E007E007
+ C003C003C003C003800180018001800180018001800180010000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000080018001800180018001800180018001C003C003C003C003
+ E007E007E007E007F81FF81FF81FF81F00000000000000000000000000000000
+ 000000000000}
+ end
+ object SaveDialog: TSaveDialog
+ Filter = #1048#1089#1087#1086#1083#1085#1103#1077#1084#1099#1077' '#1092#1072#1081#1083#1099'|*.exe'
+ Left = 200
+ end
+end
diff --git a/src/Unit1.pas b/src/Unit1.pas
new file mode 100644
index 0000000..5e3e66a
--- /dev/null
+++ b/src/Unit1.pas
@@ -0,0 +1,1261 @@
+unit Unit1;
+{
+ Doom2D DeHacker / Main Unit
+ Copyright (C) 2012 Stas'M Corp.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see
+}
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, CategoryButtons, StdCtrls, CheckLst, ExtCtrls, ComCtrls, Spin, Unit2,
+ ImgList;
+
+type
+ TMainForm = class(TForm)
+ BtOpen: TButton;
+ BtAbout: TButton;
+ OpenDialog: TOpenDialog;
+ Label2: TLabel;
+ MClipX: TSpinEdit;
+ Label3: TLabel;
+ MClipY: TSpinEdit;
+ Label4: TLabel;
+ Label5: TLabel;
+ Label6: TLabel;
+ MSlip: TSpinEdit;
+ Label7: TLabel;
+ StatusBar: TStatusBar;
+ Panel1: TPanel;
+ Label8: TLabel;
+ Label9: TLabel;
+ Label10: TLabel;
+ Label11: TLabel;
+ InvHealth: TSpinEdit;
+ InvArmor: TSpinEdit;
+ Label12: TLabel;
+ InvWeapList: TCheckListBox;
+ InvWeapon: TComboBox;
+ Label13: TLabel;
+ Label14: TLabel;
+ Label15: TLabel;
+ Label16: TLabel;
+ InvPistolAmmo: TSpinEdit;
+ Label17: TLabel;
+ Label18: TLabel;
+ InvGlobalAmmo: TSpinEdit;
+ Label19: TLabel;
+ InvInvuln: TSpinEdit;
+ Label20: TLabel;
+ Label21: TLabel;
+ Label22: TLabel;
+ Label23: TLabel;
+ Label24: TLabel;
+ Label25: TLabel;
+ TankHealth: TSpinEdit;
+ TankArmor: TSpinEdit;
+ Label26: TLabel;
+ Label27: TLabel;
+ Label28: TLabel;
+ Label29: TLabel;
+ RBullets: TSpinEdit;
+ RShells: TSpinEdit;
+ Label30: TLabel;
+ RRockets: TSpinEdit;
+ Label31: TLabel;
+ Label32: TLabel;
+ RCells: TSpinEdit;
+ Label33: TLabel;
+ Label34: TLabel;
+ Label36: TLabel;
+ GodDamage: TSpinEdit;
+ Label35: TLabel;
+ Label37: TLabel;
+ RePistol: TSpinEdit;
+ Label38: TLabel;
+ ReShotgun: TSpinEdit;
+ Label39: TLabel;
+ Label40: TLabel;
+ ReDShot: TSpinEdit;
+ Label41: TLabel;
+ Label42: TLabel;
+ ReChain: TSpinEdit;
+ Label43: TLabel;
+ Label44: TLabel;
+ ReRocket: TSpinEdit;
+ Label45: TLabel;
+ Label46: TLabel;
+ RePlasm: TSpinEdit;
+ Label47: TLabel;
+ Label48: TLabel;
+ ReSChain: TSpinEdit;
+ Label49: TLabel;
+ Label50: TLabel;
+ Label51: TLabel;
+ Label52: TLabel;
+ Label53: TLabel;
+ Label54: TLabel;
+ Label55: TLabel;
+ TrapPlayer: TSpinEdit;
+ TrapMonster: TSpinEdit;
+ MDamage: TSpinEdit;
+ Label56: TLabel;
+ PMenu: TSpinEdit;
+ Label57: TLabel;
+ Label58: TLabel;
+ PStone: TSpinEdit;
+ Label59: TLabel;
+ Label60: TLabel;
+ PAero: TSpinEdit;
+ Label61: TLabel;
+ MRambo: TComboBox;
+ Label62: TLabel;
+ Label63: TLabel;
+ Label64: TLabel;
+ ColorAero: TSpinEdit;
+ Label65: TLabel;
+ Panel2: TPanel;
+ BtSave: TButton;
+ BtClose: TButton;
+ Label1: TLabel;
+ Label66: TLabel;
+ ReFist: TSpinEdit;
+ Label67: TLabel;
+ ReSlowFist: TSpinEdit;
+ Label68: TLabel;
+ Label69: TLabel;
+ InvOxygen: TSpinEdit;
+ Label70: TLabel;
+ Label71: TLabel;
+ InvScubagear: TSpinEdit;
+ Label72: TLabel;
+ Label73: TLabel;
+ MRunSpeed: TSpinEdit;
+ Label74: TLabel;
+ Label75: TLabel;
+ WChange: TSpinEdit;
+ Label76: TLabel;
+ P1Color: TComboBox;
+ Label77: TLabel;
+ Label78: TLabel;
+ P2Color: TComboBox;
+ Label79: TLabel;
+ Label80: TLabel;
+ PlayerColors: TImageList;
+ SaveDialog: TSaveDialog;
+ BtSaveAs: TButton;
+ IddqdSnd: TEdit;
+ Label81: TLabel;
+ Label82: TLabel;
+ PG: TPageControl;
+ TabSheet1: TTabSheet;
+ TabSheet2: TTabSheet;
+ TabSheet3: TTabSheet;
+ TabSheet4: TTabSheet;
+ TabSheet7: TTabSheet;
+ Panel3: TPanel;
+ Panel4: TPanel;
+ Panel5: TPanel;
+ Label83: TLabel;
+ Panel6: TPanel;
+ Label84: TLabel;
+ Label85: TLabel;
+ Panel7: TPanel;
+ Panel8: TPanel;
+ TabSheet5: TTabSheet;
+ MonLst: TListBox;
+ Label86: TLabel;
+ LMonWidth: TLabel;
+ MonWidth: TSpinEdit;
+ DMonWidth: TLabel;
+ MonHeight: TSpinEdit;
+ LMonHeight: TLabel;
+ DMonHeight: TLabel;
+ MonHealth: TSpinEdit;
+ LMonHealth: TLabel;
+ DMonHealth: TLabel;
+ MonUnknown1: TSpinEdit;
+ LMonUnknown1: TLabel;
+ DMonUnknown1: TLabel;
+ MonSpeed: TSpinEdit;
+ LMonSpeed: TLabel;
+ DMonSpeed: TLabel;
+ MonJump: TSpinEdit;
+ LMonJump: TLabel;
+ DMonJump: TLabel;
+ MonShit: TSpinEdit;
+ LMonShit: TLabel;
+ DMonShit: TLabel;
+ MonUnknown2: TSpinEdit;
+ LMonUnknown2: TLabel;
+ DMonUnknown2: TLabel;
+ procedure BtOpenClick(Sender: TObject);
+ procedure BtSaveClick(Sender: TObject);
+ procedure FormDestroy(Sender: TObject);
+ procedure BtCloseClick(Sender: TObject);
+ procedure BtAboutClick(Sender: TObject);
+ procedure P1ColorDrawItem(Control: TWinControl; Index: Integer;
+ Rect: TRect; State: TOwnerDrawState);
+ procedure P2ColorDrawItem(Control: TWinControl; Index: Integer; Rect: TRect;
+ State: TOwnerDrawState);
+ procedure InvWeapListClickCheck(Sender: TObject);
+ procedure BtSaveAsClick(Sender: TObject);
+ procedure MonLstClick(Sender: TObject);
+ procedure MonWidthChange(Sender: TObject);
+ procedure MonHeightChange(Sender: TObject);
+ procedure MonHealthChange(Sender: TObject);
+ procedure MonUnknown1Change(Sender: TObject);
+ procedure MonSpeedChange(Sender: TObject);
+ procedure MonJumpChange(Sender: TObject);
+ procedure MonShitChange(Sender: TObject);
+ procedure MonUnknown2Change(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+type
+ MonData = record
+ Width: DWORD;
+ Height: DWORD;
+ Health: Integer;
+ Val1: DWORD;
+ Speed: Integer;
+ Jump: Integer;
+ Shit: Integer;
+ Val2: DWORD;
+ end;
+
+var
+ MainForm: TMainForm;
+ FStrm: TFileStream;
+ MonArray: Array[0..19] of MonData;
+
+implementation
+
+{$R *.dfm}
+
+procedure TMainForm.BtCloseClick(Sender: TObject);
+begin
+ PG.Visible := False;
+ Panel2.Visible := False;
+ ClientHeight := 55;
+ BtClose.Enabled := False;
+ StatusBar.SimpleText := ': ';
+ FStrm.Free;
+end;
+
+procedure TMainForm.FormDestroy(Sender: TObject);
+begin
+ if BtClose.Enabled then FStrm.Free;
+end;
+
+procedure TMainForm.InvWeapListClickCheck(Sender: TObject);
+var
+ W: Word;
+begin
+ W := 0;
+ W := (W shl 1) or Byte(MainForm.InvWeapList.Checked[9]);
+ W := (W shl 1) or Byte(MainForm.InvWeapList.Checked[8]);
+ W := (W shl 1) or Byte(MainForm.InvWeapList.Checked[7]);
+ W := (W shl 1) or Byte(MainForm.InvWeapList.Checked[6]);
+ W := (W shl 1) or Byte(MainForm.InvWeapList.Checked[5]);
+ W := (W shl 1) or Byte(MainForm.InvWeapList.Checked[4]);
+ W := (W shl 1) or Byte(MainForm.InvWeapList.Checked[3]);
+ W := (W shl 1) or Byte(MainForm.InvWeapList.Checked[2]);
+ W := (W shl 1) or Byte(MainForm.InvWeapList.Checked[1]);
+ W := (W shl 1) or Byte(MainForm.InvWeapList.Checked[0]);
+ if W = 0 then MessageBox(Handle, '! '+
+ ' , , .',
+ '', mb_IconWarning or mb_Ok);
+end;
+
+procedure TMainForm.MonHealthChange(Sender: TObject);
+begin
+ MonArray[MonLst.ItemIndex].Health := MonHealth.Value;
+end;
+
+procedure TMainForm.MonHeightChange(Sender: TObject);
+begin
+ MonArray[MonLst.ItemIndex].Height := MonHeight.Value;
+end;
+
+procedure TMainForm.MonJumpChange(Sender: TObject);
+begin
+ MonArray[MonLst.ItemIndex].Jump := MonJump.Value;
+end;
+
+procedure TMainForm.MonLstClick(Sender: TObject);
+begin
+ case MonLst.ItemIndex of
+ 0: begin
+ LMonWidth.Caption := ' ';
+ LMonHeight.Caption := ' ';
+ LMonHealth.Caption := ' ';
+ LMonSpeed.Caption := ' ';
+ LMonJump.Caption := ' ';
+ LMonShit.Caption := ' ';
+ DMonWidth.Caption := '( = 15)';
+ DMonHeight.Caption := '( = 28)';
+ DMonHealth.Caption := '( = 60)';
+ DMonUnknown1.Caption := '( = 20)';
+ DMonSpeed.Caption := '( = 7)';
+ DMonJump.Caption := '( = 10)';
+ DMonShit.Caption := '( = 0)';
+ DMonUnknown2.Caption := '( = 10)';
+ end;
+ 1: begin
+ LMonWidth.Caption := ' ';
+ LMonHeight.Caption := ' ';
+ LMonHealth.Caption := ' ';
+ LMonSpeed.Caption := ' ';
+ LMonJump.Caption := ' ';
+ LMonShit.Caption := ' ';
+ DMonWidth.Caption := '( = 10)';
+ DMonHeight.Caption := '( = 28)';
+ DMonHealth.Caption := '( = 25)';
+ DMonUnknown1.Caption := '( = 15)';
+ DMonSpeed.Caption := '( = 3)';
+ DMonJump.Caption := '( = 10)';
+ DMonShit.Caption := '( = 30)';
+ DMonUnknown2.Caption := '( = 0)';
+ end;
+ 2: begin
+ LMonWidth.Caption := ' ';
+ LMonHeight.Caption := ' ';
+ LMonHealth.Caption := ' ';
+ LMonSpeed.Caption := ' ';
+ LMonJump.Caption := ' ';
+ LMonShit.Caption := ' ';
+ DMonWidth.Caption := '( = 10)';
+ DMonHeight.Caption := '( = 28)';
+ DMonHealth.Caption := '( = 15)';
+ DMonUnknown1.Caption := '( = 10)';
+ DMonSpeed.Caption := '( = 3)';
+ DMonJump.Caption := '( = 10)';
+ DMonShit.Caption := '( = 30)';
+ DMonUnknown2.Caption := '( = 0)';
+ end;
+ 3: begin
+ LMonWidth.Caption := ' ';
+ LMonHeight.Caption := ' ';
+ LMonHealth.Caption := ' ';
+ LMonSpeed.Caption := ' ';
+ LMonJump.Caption := ' ';
+ LMonShit.Caption := ' ';
+ DMonWidth.Caption := '( = 10)';
+ DMonHeight.Caption := '( = 28)';
+ DMonHealth.Caption := '( = 20)';
+ DMonUnknown1.Caption := '( = 10)';
+ DMonSpeed.Caption := '( = 3)';
+ DMonJump.Caption := '( = 10)';
+ DMonShit.Caption := '( = 30)';
+ DMonUnknown2.Caption := '( = 0)';
+ end;
+ 4: begin
+ LMonWidth.Caption := ' ';
+ LMonHeight.Caption := ' ';
+ LMonHealth.Caption := ' ';
+ LMonSpeed.Caption := ' ';
+ LMonJump.Caption := ' ';
+ LMonShit.Caption := ' ';
+ DMonWidth.Caption := '( = 20)';
+ DMonHeight.Caption := '( = 55)';
+ DMonHealth.Caption := '( = 500)';
+ DMonUnknown1.Caption := '( = 70)';
+ DMonSpeed.Caption := '( = 5)';
+ DMonJump.Caption := '( = 10)';
+ DMonShit.Caption := '( = 0)';
+ DMonUnknown2.Caption := '( = 50)';
+ end;
+ 5: begin
+ LMonWidth.Caption := ' ';
+ LMonHeight.Caption := ' ';
+ LMonHealth.Caption := ' ';
+ LMonSpeed.Caption := ' ';
+ LMonJump.Caption := ' ';
+ LMonShit.Caption := ' ';
+ DMonWidth.Caption := '( = 12)';
+ DMonHeight.Caption := '( = 28)';
+ DMonHealth.Caption := '( = 60)';
+ DMonUnknown1.Caption := '( = 20)';
+ DMonSpeed.Caption := '( = 3)';
+ DMonJump.Caption := '( = 10)';
+ DMonShit.Caption := '( = 30)';
+ DMonUnknown2.Caption := '( = 10)';
+ end;
+ 6: begin
+ LMonWidth.Caption := ' ';
+ LMonHeight.Caption := ' ';
+ LMonHealth.Caption := ' ';
+ LMonSpeed.Caption := ' ';
+ LMonJump.Caption := ' ';
+ LMonShit.Caption := ' ';
+ DMonWidth.Caption := '( = 12)';
+ DMonHeight.Caption := '( = 32)';
+ DMonHealth.Caption := '( = 150)';
+ DMonUnknown1.Caption := '( = 40)';
+ DMonSpeed.Caption := '( = 3)';
+ DMonJump.Caption := '( = 10)';
+ DMonShit.Caption := '( = 0)';
+ DMonUnknown2.Caption := '( = 30)';
+ end;
+ 7: begin
+ LMonWidth.Caption := ' ';
+ LMonHeight.Caption := ' ';
+ LMonHealth.Caption := ' ';
+ LMonSpeed.Caption := ' ';
+ LMonJump.Caption := ' ';
+ LMonShit.Caption := ' ';
+ DMonWidth.Caption := '( = 12)';
+ DMonHeight.Caption := '( = 32)';
+ DMonHealth.Caption := '( = 75)';
+ DMonUnknown1.Caption := '( = 40)';
+ DMonSpeed.Caption := '( = 3)';
+ DMonJump.Caption := '( = 10)';
+ DMonShit.Caption := '( = 0)';
+ DMonUnknown2.Caption := '( = 30)';
+ end;
+ 8: begin
+ LMonWidth.Caption := ' ';
+ LMonHeight.Caption := ' ';
+ LMonHealth.Caption := ' ';
+ LMonSpeed.Caption := ' ';
+ LMonJump.Caption := ' ';
+ LMonShit.Caption := ' ';
+ DMonWidth.Caption := '( = 15)';
+ DMonHeight.Caption := '( = 28)';
+ DMonHealth.Caption := '( = 100)';
+ DMonUnknown1.Caption := '( = 10)';
+ DMonSpeed.Caption := '( = 4)';
+ DMonJump.Caption := '( = 4)';
+ DMonShit.Caption := '( = 0)';
+ DMonUnknown2.Caption := '( = 0)';
+ end;
+ 9: begin
+ LMonWidth.Caption := ' ';
+ LMonHeight.Caption := ' ';
+ LMonHealth.Caption := ' ';
+ LMonSpeed.Caption := ' ';
+ LMonJump.Caption := ' ';
+ LMonShit.Caption := ' ';
+ DMonWidth.Caption := '( = 8)';
+ DMonHeight.Caption := '( = 18)';
+ DMonHealth.Caption := '( = 60)';
+ DMonUnknown1.Caption := '( = 10)';
+ DMonSpeed.Caption := '( = 4)';
+ DMonJump.Caption := '( = 4)';
+ DMonShit.Caption := '( = 0)';
+ DMonUnknown2.Caption := '( = 0)';
+ end;
+ 10: begin
+ LMonWidth.Caption := ' ';
+ LMonHeight.Caption := ' ';
+ LMonHealth.Caption := ' ';
+ LMonSpeed.Caption := ' ';
+ LMonJump.Caption := ' ';
+ LMonShit.Caption := ' ';
+ DMonWidth.Caption := '( = 15)';
+ DMonHeight.Caption := '( = 28)';
+ DMonHealth.Caption := '( = 100)';
+ DMonUnknown1.Caption := '( = 10)';
+ DMonSpeed.Caption := '( = 4)';
+ DMonJump.Caption := '( = 4)';
+ DMonShit.Caption := '( = 0)';
+ DMonUnknown2.Caption := '( = 0)';
+ end;
+ 11: begin
+ LMonWidth.Caption := ' ';
+ LMonHeight.Caption := ' ';
+ LMonHealth.Caption := ' ';
+ LMonSpeed.Caption := ' ';
+ LMonJump.Caption := ' ';
+ LMonShit.Caption := ' ';
+ DMonWidth.Caption := '( = 64)';
+ DMonHeight.Caption := '( = 50)';
+ DMonHealth.Caption := '( = 500)';
+ DMonUnknown1.Caption := '( = 70)';
+ DMonSpeed.Caption := '( = 4)';
+ DMonJump.Caption := '( = 10)';
+ DMonShit.Caption := '( = 0)';
+ DMonUnknown2.Caption := '( = 50)';
+ end;
+ 12: begin
+ LMonWidth.Caption := ' ';
+ LMonHeight.Caption := ' ';
+ LMonHealth.Caption := ' ';
+ LMonSpeed.Caption := ' ';
+ LMonJump.Caption := ' ';
+ LMonShit.Caption := ' ';
+ DMonWidth.Caption := '( = 25)';
+ DMonHeight.Caption := '( = 27)';
+ DMonHealth.Caption := '( = 150)';
+ DMonUnknown1.Caption := '( = 20)';
+ DMonSpeed.Caption := '( = 4)';
+ DMonJump.Caption := '( = 10)';
+ DMonShit.Caption := '( = 0)';
+ DMonUnknown2.Caption := '( = 0)';
+ end;
+ 13: begin
+ LMonWidth.Caption := ' ';
+ LMonHeight.Caption := ' ';
+ LMonHealth.Caption := ' ';
+ LMonSpeed.Caption := ' ';
+ LMonJump.Caption := ' ';
+ LMonShit.Caption := ' ';
+ DMonWidth.Caption := '( = 18)';
+ DMonHeight.Caption := '( = 30)';
+ DMonHealth.Caption := '( = 200)';
+ DMonUnknown1.Caption := '( = 40)';
+ DMonSpeed.Caption := '( = 3)';
+ DMonJump.Caption := '( = 7)';
+ DMonShit.Caption := '( = 0)';
+ DMonUnknown2.Caption := '( = 20)';
+ end;
+ 14: begin
+ LMonWidth.Caption := ' ';
+ LMonHeight.Caption := ' ';
+ LMonHealth.Caption := ' ';
+ LMonSpeed.Caption := ' ';
+ LMonJump.Caption := ' ';
+ LMonShit.Caption := ' ';
+ DMonWidth.Caption := '( = 17)';
+ DMonHeight.Caption := '( = 36)';
+ DMonHealth.Caption := '( = 200)';
+ DMonUnknown1.Caption := '( = 40)';
+ DMonSpeed.Caption := '( = 6)';
+ DMonJump.Caption := '( = 11)';
+ DMonShit.Caption := '( = 0)';
+ DMonUnknown2.Caption := '( = 20)';
+ end;
+ 15: begin
+ LMonWidth.Caption := ' ';
+ LMonHeight.Caption := ' ';
+ LMonHealth.Caption := ' ';
+ LMonSpeed.Caption := ' ';
+ LMonJump.Caption := ' ';
+ LMonShit.Caption := ' ';
+ DMonWidth.Caption := '( = 17)';
+ DMonHeight.Caption := '( = 36)';
+ DMonHealth.Caption := '( = 150)';
+ DMonUnknown1.Caption := '( = 30)';
+ DMonSpeed.Caption := '( = 7)';
+ DMonJump.Caption := '( = 12)';
+ DMonShit.Caption := '( = 0)';
+ DMonUnknown2.Caption := '( = 10)';
+ end;
+ 16: begin
+ LMonWidth.Caption := ' ';
+ LMonHeight.Caption := ' ';
+ LMonHealth.Caption := ' ';
+ LMonSpeed.Caption := ' ';
+ LMonJump.Caption := ' ';
+ LMonShit.Caption := ' ';
+ DMonWidth.Caption := '( = 5)';
+ DMonHeight.Caption := '( = 5)';
+ DMonHealth.Caption := '( = 35)';
+ DMonUnknown1.Caption := '( = 20)';
+ DMonSpeed.Caption := '( = 14)';
+ DMonJump.Caption := '( = 6)';
+ DMonShit.Caption := '( = 0)';
+ DMonUnknown2.Caption := '( = 10)';
+ end;
+ 17: begin
+ LMonWidth.Caption := ' ';
+ LMonHeight.Caption := ' ';
+ LMonHealth.Caption := ' ';
+ LMonSpeed.Caption := ' ';
+ LMonJump.Caption := ' ';
+ LMonShit.Caption := ' ';
+ DMonWidth.Caption := '( = 5)';
+ DMonHeight.Caption := '( = 17)';
+ DMonHealth.Caption := '( = 20)';
+ DMonUnknown1.Caption := '( = 0)';
+ DMonSpeed.Caption := '( = 7)';
+ DMonJump.Caption := '( = 6)';
+ DMonShit.Caption := '( = 0)';
+ DMonUnknown2.Caption := '( = 0)';
+ end;
+ 18: begin
+ LMonWidth.Caption := ' ';
+ LMonHeight.Caption := ' ';
+ LMonHealth.Caption := ' ';
+ LMonSpeed.Caption := ' ';
+ LMonJump.Caption := ' ';
+ LMonShit.Caption := ' ';
+ DMonWidth.Caption := '( = 17)';
+ DMonHeight.Caption := '( = 38)';
+ DMonHealth.Caption := '( = 20)';
+ DMonUnknown1.Caption := '( = 40)';
+ DMonSpeed.Caption := '( = 3)';
+ DMonJump.Caption := '( = 6)';
+ DMonShit.Caption := '( = 0)';
+ DMonUnknown2.Caption := '( = 20)';
+ end;
+ 19: begin
+ LMonWidth.Caption := ' ';
+ LMonHeight.Caption := ' ';
+ LMonHealth.Caption := ' ';
+ LMonSpeed.Caption := ' ';
+ LMonJump.Caption := ' ';
+ LMonShit.Caption := ' ';
+ DMonWidth.Caption := '( = 8)';
+ DMonHeight.Caption := '( = 26)';
+ DMonHealth.Caption := '( = 400)';
+ DMonUnknown1.Caption := '( = 70)';
+ DMonSpeed.Caption := '( = 8)';
+ DMonJump.Caption := '( = 10)';
+ DMonShit.Caption := '( = 30)';
+ DMonUnknown2.Caption := '( = 50)';
+ end;
+ end;
+ MonWidth.Value := MonArray[MonLst.ItemIndex].Width;
+ MonHeight.Value := MonArray[MonLst.ItemIndex].Height;
+ MonHealth.Value := MonArray[MonLst.ItemIndex].Health;
+ MonUnknown1.Value := MonArray[MonLst.ItemIndex].Val1;
+ MonSpeed.Value := MonArray[MonLst.ItemIndex].Speed;
+ MonJump.Value := MonArray[MonLst.ItemIndex].Jump;
+ MonShit.Value := MonArray[MonLst.ItemIndex].Shit;
+ MonUnknown2.Value := MonArray[MonLst.ItemIndex].Val2;
+end;
+
+procedure TMainForm.MonShitChange(Sender: TObject);
+begin
+ MonArray[MonLst.ItemIndex].Shit := MonShit.Value;
+end;
+
+procedure TMainForm.MonSpeedChange(Sender: TObject);
+begin
+ MonArray[MonLst.ItemIndex].Speed := MonSpeed.Value;
+end;
+
+procedure TMainForm.MonUnknown1Change(Sender: TObject);
+begin
+ MonArray[MonLst.ItemIndex].Val1 := MonUnknown1.Value;
+end;
+
+procedure TMainForm.MonUnknown2Change(Sender: TObject);
+begin
+ MonArray[MonLst.ItemIndex].Val2 := MonUnknown2.Value;
+end;
+
+procedure TMainForm.MonWidthChange(Sender: TObject);
+begin
+ MonArray[MonLst.ItemIndex].Width := MonWidth.Value;
+end;
+
+procedure GetValues;
+var
+ I: Integer;
+ W: Word;
+ B: Byte;
+ Buf: Pointer;
+begin
+ // Starting health value
+ FStrm.Seek(45001, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.InvHealth.Value := I;
+ // Starting armor value
+ FStrm.Seek(45008, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.InvArmor.Value := I;
+ // Starting weapon
+ FStrm.Seek(45028, soFromBeginning);
+ FStrm.ReadBuffer(B, 1);
+ case B of
+ 0: MainForm.InvWeapon.ItemIndex := 0;
+ 1: MainForm.InvWeapon.ItemIndex := 1;
+ 2: MainForm.InvWeapon.ItemIndex := 2;
+ 3: MainForm.InvWeapon.ItemIndex := 3;
+ 4: MainForm.InvWeapon.ItemIndex := 4;
+ 5: MainForm.InvWeapon.ItemIndex := 5;
+ 6: MainForm.InvWeapon.ItemIndex := 6;
+ 7: MainForm.InvWeapon.ItemIndex := 7;
+ 8: MainForm.InvWeapon.ItemIndex := 8;
+ 9: MainForm.InvWeapon.ItemIndex := 9;
+ 192: MainForm.InvWeapon.ItemIndex := 10;
+ 255: MainForm.InvWeapon.ItemIndex := 11;
+ else MainForm.InvWeapon.Text := IntToHex(B, 1) + 'h: ';
+ end;
+ // Starting available weapons
+ FStrm.Seek(45023, soFromBeginning);
+ FStrm.ReadBuffer(W, 2);
+ MainForm.InvWeapList.Checked[0] := Boolean(W and 1);
+ MainForm.InvWeapList.Checked[1] := Boolean((W shr 1) and 1);
+ MainForm.InvWeapList.Checked[2] := Boolean((W shr 2) and 1);
+ MainForm.InvWeapList.Checked[3] := Boolean((W shr 3) and 1);
+ MainForm.InvWeapList.Checked[4] := Boolean((W shr 4) and 1);
+ MainForm.InvWeapList.Checked[5] := Boolean((W shr 5) and 1);
+ MainForm.InvWeapList.Checked[6] := Boolean((W shr 6) and 1);
+ MainForm.InvWeapList.Checked[7] := Boolean((W shr 7) and 1);
+ MainForm.InvWeapList.Checked[8] := Boolean((W shr 8) and 1);
+ MainForm.InvWeapList.Checked[9] := Boolean((W shr 9) and 1);
+ // Starting bullets value
+ FStrm.Seek(45032, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.InvPistolAmmo.Value := I;
+ // Ammo for all starting weapons
+ FStrm.Seek(45039, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.InvGlobalAmmo.Value := I;
+ // Starting invulnerability value (time)
+ FStrm.Seek(44956, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.InvInvuln.Value := I;
+ // Oxygene value
+ FStrm.Seek(45015, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.InvOxygen.Value := I;
+ // Oxygene full
+ FStrm.Seek(47270, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.InvScubagear.Value := I;
+ // Player speed
+ FStrm.Seek(44795, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.MRunSpeed.Value := I;
+ // Clipping value X
+ FStrm.Seek(44942, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.MClipX.Value := I;
+ // Clipping value Y
+ FStrm.Seek(44949, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.MClipY.Value := I;
+ // Starting movement (horisontal) static
+ FStrm.Seek(44935, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.MSlip.Value := I;
+ // Player 1 color
+ FStrm.Seek(86738, soFromBeginning);
+ FStrm.ReadBuffer(B, 1);
+ case B of
+ 16: MainForm.P1Color.ItemIndex := 0;
+ 32: MainForm.P1Color.ItemIndex := 1;
+ 48: MainForm.P1Color.ItemIndex := 2;
+ 64: MainForm.P1Color.ItemIndex := 3;
+ 80: MainForm.P1Color.ItemIndex := 4;
+ 96: MainForm.P1Color.ItemIndex := 5;
+ 112: MainForm.P1Color.ItemIndex := 6;
+ 128: MainForm.P1Color.ItemIndex := 7;
+ 176: MainForm.P1Color.ItemIndex := 8;
+ 192: MainForm.P1Color.ItemIndex := 9;
+ 208: MainForm.P1Color.ItemIndex := 10;
+ else MainForm.P1Color.Text := IntToHex(B, 1) + 'h ?';
+ end;
+ // Player 2 color
+ FStrm.Seek(86745, soFromBeginning);
+ FStrm.ReadBuffer(B, 1);
+ case B of
+ 16: MainForm.P2Color.ItemIndex := 0;
+ 32: MainForm.P2Color.ItemIndex := 1;
+ 48: MainForm.P2Color.ItemIndex := 2;
+ 64: MainForm.P2Color.ItemIndex := 3;
+ 80: MainForm.P2Color.ItemIndex := 4;
+ 96: MainForm.P2Color.ItemIndex := 5;
+ 112: MainForm.P2Color.ItemIndex := 6;
+ 128: MainForm.P2Color.ItemIndex := 7;
+ 176: MainForm.P2Color.ItemIndex := 8;
+ 192: MainForm.P2Color.ItemIndex := 9;
+ 208: MainForm.P2Color.ItemIndex := 10;
+ else MainForm.P2Color.Text := IntToHex(B, 1) + 'h ?';
+ end;
+ // TANK word, health value
+ FStrm.Seek(80903, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.TankHealth.Value := I;
+ // TANK word, armor value
+ FStrm.Seek(80893, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.TankArmor.Value := I;
+ // RAMBO word, ammo bullets value
+ FStrm.Seek(81133, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.RBullets.Value := I;
+ // RAMBO word, ammo shells value
+ FStrm.Seek(81123, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.RShells.Value := I;
+ // RAMBO word, ammo rockets value
+ FStrm.Seek(81113, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.RRockets.Value := I;
+ // RAMBO word, ammo cells value
+ FStrm.Seek(81103, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.RCells.Value := I;
+ // IDDQD word, damage value
+ FStrm.Seek(80802, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.GodDamage.Value := I;
+ // IDDQD word, sound sample
+ FStrm.Seek(130144, soFromBeginning);
+ Buf := AllocMem(5);
+ FStrm.ReadBuffer(Buf^, 5);
+ MainForm.IddqdSnd.Text := PAnsiChar(Buf);
+ FreeMem(Buf, 5);
+ // Weapon change speed
+ FStrm.Seek(44533, soFromBeginning);
+ FStrm.ReadBuffer(B, 1);
+ MainForm.WChange.Value := B;
+ // fist reload time
+ FStrm.Seek(133352, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.ReFist.Value := I;
+ // reserved
+ FStrm.Seek(133356, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.ReSlowFist.Value := I;
+ // pistol reload time
+ FStrm.Seek(133360, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.RePistol.Value := I;
+ // shotgun reload time
+ FStrm.Seek(133364, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.ReShotgun.Value := I;
+ // double shotgun reload time
+ FStrm.Seek(133368, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.ReDShot.Value := I;
+ // chaingun reload time
+ FStrm.Seek(133372, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.ReChain.Value := I;
+ // rocket launcher reload time
+ FStrm.Seek(133376, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.ReRocket.Value := I;
+ // plasma gun reload time
+ FStrm.Seek(133380, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.RePlasm.Value := I;
+ // super chaingun reload time
+ FStrm.Seek(133388, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.ReSChain.Value := I;
+ // Trap hurts players
+ FStrm.Seek(45277, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.TrapPlayer.Value := I;
+ // Trap hurts monsters
+ FStrm.Seek(70281, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.TrapMonster.Value := I;
+ // Starting hurt value
+ FStrm.Seek(44984, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.MDamage.Value := I;
+ // always unlimited ammo
+ FStrm.Seek(81093, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ case I of
+ 0: MainForm.MRambo.ItemIndex := 1;
+ 144: MainForm.MRambo.ItemIndex := 0;
+ else MainForm.MRambo.Text := IntToHex(I, 4) + 'h: ';
+ end;
+ // menu position
+ FStrm.Seek(84733, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.PMenu.Value := I;
+ // stone position
+ FStrm.Seek(99411, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.PStone.Value := I;
+ // oxygene indicator position
+ FStrm.Seek(99556, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.PAero.Value := I;
+ // oxygene indicator color
+ FStrm.Seek(99619, soFromBeginning);
+ FStrm.ReadBuffer(I, 4);
+ MainForm.ColorAero.Value := I;
+ // monsters
+ FStrm.Seek(134460, soFromBeginning);
+ for I := 0 to 19 do begin
+ FStrm.ReadBuffer(MonArray[I].Width, 4);
+ FStrm.ReadBuffer(MonArray[I].Height, 4);
+ FStrm.ReadBuffer(MonArray[I].Health, 4);
+ FStrm.ReadBuffer(MonArray[I].Val1, 4);
+ FStrm.ReadBuffer(MonArray[I].Speed, 4);
+ FStrm.ReadBuffer(MonArray[I].Jump, 4);
+ FStrm.ReadBuffer(MonArray[I].Shit, 4);
+ FStrm.ReadBuffer(MonArray[I].Val2, 4);
+ end;
+end;
+
+procedure StoreValues;
+var
+ I: Integer;
+ W: Word;
+ B: Byte;
+ A: PAnsiChar;
+begin
+ // Starting health value
+ FStrm.Seek(45001, soFromBeginning);
+ I := MainForm.InvHealth.Value;
+ FStrm.WriteBuffer(I, 4);
+ // Starting armor value
+ FStrm.Seek(45008, soFromBeginning);
+ I := MainForm.InvArmor.Value;
+ FStrm.WriteBuffer(I, 4);
+ // Starting weapon
+ FStrm.Seek(45028, soFromBeginning);
+ case MainForm.InvWeapon.ItemIndex of
+ 0: B := 0;
+ 1: B := 1;
+ 2: B := 2;
+ 3: B := 3;
+ 4: B := 4;
+ 5: B := 5;
+ 6: B := 6;
+ 7: B := 7;
+ 8: B := 8;
+ 9: B := 9;
+ 10: B := 192;
+ 11: B := 255;
+ else B := 2;
+ end;
+ FStrm.WriteBuffer(B, 1);
+ // Starting available weapons
+ FStrm.Seek(45023, soFromBeginning);
+ W := 0;
+ W := (W shl 1) or Byte(MainForm.InvWeapList.Checked[9]);
+ W := (W shl 1) or Byte(MainForm.InvWeapList.Checked[8]);
+ W := (W shl 1) or Byte(MainForm.InvWeapList.Checked[7]);
+ W := (W shl 1) or Byte(MainForm.InvWeapList.Checked[6]);
+ W := (W shl 1) or Byte(MainForm.InvWeapList.Checked[5]);
+ W := (W shl 1) or Byte(MainForm.InvWeapList.Checked[4]);
+ W := (W shl 1) or Byte(MainForm.InvWeapList.Checked[3]);
+ W := (W shl 1) or Byte(MainForm.InvWeapList.Checked[2]);
+ W := (W shl 1) or Byte(MainForm.InvWeapList.Checked[1]);
+ W := (W shl 1) or Byte(MainForm.InvWeapList.Checked[0]);
+ FStrm.WriteBuffer(W, 2);
+ // Starting bullets value
+ FStrm.Seek(45032, soFromBeginning);
+ I := MainForm.InvPistolAmmo.Value;
+ FStrm.WriteBuffer(I, 4);
+ // Ammo for all starting weapons
+ FStrm.Seek(45039, soFromBeginning);
+ I := MainForm.InvGlobalAmmo.Value;
+ FStrm.WriteBuffer(I, 4);
+ // Starting invulnerability value (time)
+ FStrm.Seek(44956, soFromBeginning);
+ I := MainForm.InvInvuln.Value;
+ FStrm.WriteBuffer(I, 4);
+ // Oxygene value
+ FStrm.Seek(45015, soFromBeginning);
+ I := MainForm.InvOxygen.Value;
+ FStrm.WriteBuffer(I, 4);
+ // Oxygene full
+ FStrm.Seek(47270, soFromBeginning);
+ I := MainForm.InvScubagear.Value;
+ FStrm.WriteBuffer(I, 4);
+ // Player speed
+ FStrm.Seek(44795, soFromBeginning);
+ I := MainForm.MRunSpeed.Value;
+ FStrm.WriteBuffer(I, 4);
+ // Clipping value X
+ FStrm.Seek(44942, soFromBeginning);
+ I := MainForm.MClipX.Value;
+ FStrm.WriteBuffer(I, 4);
+ // Clipping value Y
+ FStrm.Seek(44949, soFromBeginning);
+ I := MainForm.MClipY.Value;
+ FStrm.WriteBuffer(I, 4);
+ // Starting movement (horisontal) static
+ FStrm.Seek(44935, soFromBeginning);
+ I := MainForm.MSlip.Value;
+ FStrm.WriteBuffer(I, 4);
+ // Player 1 color
+ FStrm.Seek(86738, soFromBeginning);
+ case MainForm.P1Color.ItemIndex of
+ 0: B := 16;
+ 1: B := 32;
+ 2: B := 48;
+ 3: B := 64;
+ 4: B := 80;
+ 5: B := 96;
+ 6: B := 112;
+ 7: B := 128;
+ 8: B := 176;
+ 9: B := 192;
+ 10: B := 208;
+ else B := 112;
+ end;
+ FStrm.WriteBuffer(B, 1);
+ // Player 2 color
+ FStrm.Seek(86745, soFromBeginning);
+ case MainForm.P2Color.ItemIndex of
+ 0: B := 16;
+ 1: B := 32;
+ 2: B := 48;
+ 3: B := 64;
+ 4: B := 80;
+ 5: B := 96;
+ 6: B := 112;
+ 7: B := 128;
+ 8: B := 176;
+ 9: B := 192;
+ 10: B := 208;
+ else B := 112;
+ end;
+ FStrm.WriteBuffer(B, 1);
+ // TANK word, health value
+ FStrm.Seek(80903, soFromBeginning);
+ I := MainForm.TankHealth.Value;
+ FStrm.WriteBuffer(I, 4);
+ // TANK word, armor value
+ FStrm.Seek(80893, soFromBeginning);
+ I := MainForm.TankArmor.Value;
+ FStrm.WriteBuffer(I, 4);
+ // RAMBO word, ammo bullets value
+ FStrm.Seek(81133, soFromBeginning);
+ I := MainForm.RBullets.Value;
+ FStrm.WriteBuffer(I, 4);
+ // RAMBO word, ammo shells value
+ FStrm.Seek(81123, soFromBeginning);
+ I := MainForm.RShells.Value;
+ FStrm.WriteBuffer(I, 4);
+ // RAMBO word, ammo rockets value
+ FStrm.Seek(81113, soFromBeginning);
+ I := MainForm.RRockets.Value;
+ FStrm.WriteBuffer(I, 4);
+ // RAMBO word, ammo cells value
+ FStrm.Seek(81103, soFromBeginning);
+ I := MainForm.RCells.Value;
+ FStrm.WriteBuffer(I, 4);
+ // IDDQD word, damage value
+ FStrm.Seek(80802, soFromBeginning);
+ I := MainForm.GodDamage.Value;
+ FStrm.WriteBuffer(I, 4);
+ // IDDQD word, sound sample
+ FStrm.Seek(130144, soFromBeginning);
+ A := PAnsiChar(AnsiString(MainForm.IddqdSnd.Text));
+ FStrm.WriteBuffer(A^, 5);
+ // Weapon change speed
+ FStrm.Seek(44533, soFromBeginning);
+ B := MainForm.WChange.Value;
+ FStrm.WriteBuffer(B, 1);
+ // fist reload time
+ FStrm.Seek(133352, soFromBeginning);
+ I := MainForm.ReFist.Value;
+ FStrm.WriteBuffer(I, 4);
+ // reserved
+ FStrm.Seek(133356, soFromBeginning);
+ I := MainForm.ReSlowFist.Value;
+ FStrm.WriteBuffer(I, 4);
+ // pistol reload time
+ FStrm.Seek(133360, soFromBeginning);
+ I := MainForm.RePistol.Value;
+ FStrm.WriteBuffer(I, 4);
+ // shotgun reload time
+ FStrm.Seek(133364, soFromBeginning);
+ I := MainForm.ReShotgun.Value;
+ FStrm.WriteBuffer(I, 4);
+ // double shotgun reload time
+ FStrm.Seek(133368, soFromBeginning);
+ I := MainForm.ReDShot.Value;
+ FStrm.WriteBuffer(I, 4);
+ // chaingun reload time
+ FStrm.Seek(133372, soFromBeginning);
+ I := MainForm.ReChain.Value;
+ FStrm.WriteBuffer(I, 4);
+ // rocket launcher reload time
+ FStrm.Seek(133376, soFromBeginning);
+ I := MainForm.ReRocket.Value;
+ FStrm.WriteBuffer(I, 4);
+ // plasma gun reload time
+ FStrm.Seek(133380, soFromBeginning);
+ I := MainForm.RePlasm.Value;
+ FStrm.WriteBuffer(I, 4);
+ // super chaingun reload time
+ FStrm.Seek(133388, soFromBeginning);
+ I := MainForm.ReSChain.Value;
+ FStrm.WriteBuffer(I, 4);
+ // Trap hurts players
+ FStrm.Seek(45277, soFromBeginning);
+ I := MainForm.TrapPlayer.Value;
+ FStrm.WriteBuffer(I, 4);
+ // Trap hurts monsters
+ FStrm.Seek(70281, soFromBeginning);
+ I := MainForm.TrapMonster.Value;
+ FStrm.WriteBuffer(I, 4);
+ // Starting hurt value
+ FStrm.Seek(44984, soFromBeginning);
+ I := MainForm.MDamage.Value;
+ FStrm.WriteBuffer(I, 4);
+ // always unlimited ammo
+ FStrm.Seek(81093, soFromBeginning);
+ case MainForm.MRambo.ItemIndex of
+ 0: I := 144;
+ 1: I := 0;
+ else I := 144;
+ end;
+ FStrm.WriteBuffer(I, 4);
+ // menu position
+ FStrm.Seek(84733, soFromBeginning);
+ I := MainForm.PMenu.Value;
+ FStrm.WriteBuffer(I, 4);
+ // stone position
+ FStrm.Seek(99411, soFromBeginning);
+ I := MainForm.PStone.Value;
+ FStrm.WriteBuffer(I, 4);
+ // oxygene indicator position
+ FStrm.Seek(99556, soFromBeginning);
+ I := MainForm.PAero.Value;
+ FStrm.WriteBuffer(I, 4);
+ // oxygene indicator color
+ FStrm.Seek(99619, soFromBeginning);
+ I := MainForm.ColorAero.Value;
+ FStrm.WriteBuffer(I, 4);
+ // monsters
+ FStrm.Seek(134460, soFromBeginning);
+ for I := 0 to 19 do begin
+ FStrm.WriteBuffer(MonArray[I].Width, 4);
+ FStrm.WriteBuffer(MonArray[I].Height, 4);
+ FStrm.WriteBuffer(MonArray[I].Health, 4);
+ FStrm.WriteBuffer(MonArray[I].Val1, 4);
+ FStrm.WriteBuffer(MonArray[I].Speed, 4);
+ FStrm.WriteBuffer(MonArray[I].Jump, 4);
+ FStrm.WriteBuffer(MonArray[I].Shit, 4);
+ FStrm.WriteBuffer(MonArray[I].Val2, 4);
+ end;
+end;
+
+procedure TMainForm.BtOpenClick(Sender: TObject);
+var
+ Buf: Pointer;
+ Sig1, Sig2, Sig3, Sig4, Sig5: AnsiString;
+begin
+ if OpenDialog.Execute(Handle) then begin
+ if BtClose.Enabled then FStrm.Free;
+ FStrm := TFileStream.Create(OpenDialog.FileName, fmOpenReadWrite or fmShareDenyWrite);
+ if (FStrm.Size < 139800) or (FStrm.Size > 194080) then begin
+ StatusBar.SimpleText := ': ';
+ FStrm.Free;
+ Exit;
+ end;
+ FStrm.Seek(9573, soFromBeginning);
+ Buf := AllocMem(6);
+ FStrm.ReadBuffer(Buf^, 6);
+ Sig1 := PAnsiChar(Buf);
+ FreeMem(Buf, 6);
+
+ FStrm.Seek(128020, soFromBeginning);
+ Buf := AllocMem(10);
+ FStrm.ReadBuffer(Buf^, 10);
+ Sig2 := PAnsiChar(Buf);
+ FreeMem(Buf, 10);
+
+ FStrm.Seek(137410, soFromBeginning);
+ Buf := AllocMem(10);
+ FStrm.ReadBuffer(Buf^, 10);
+ Sig3 := PAnsiChar(Buf);
+ FreeMem(Buf, 10);
+
+ if FStrm.Size>140000 then begin
+ FStrm.Seek(11029, soFromBeginning);
+ Buf := AllocMem(6);
+ FStrm.ReadBuffer(Buf^, 6);
+ Sig4 := PAnsiChar(Buf);
+ FreeMem(Buf, 6);
+
+ FStrm.Seek(177176, soFromBeginning);
+ Buf := AllocMem(10);
+ FStrm.ReadBuffer(Buf^, 10);
+ Sig5 := PAnsiChar(Buf);
+ FreeMem(Buf, 10);
+ end;
+
+ if (Sig1 = 'doom2d') and (Sig2 = 'Doom2D.wad')
+ and (Sig3 = 'DOOM2D.CFG') then begin
+ StatusBar.SimpleText := ': 1.30 ';
+ GetValues;
+ MonLst.ItemIndex := 0;
+ MonLstClick(Sender);
+ ClientHeight := 490;
+ PG.Visible := True;
+ Panel2.Visible := True;
+ BtClose.Enabled := True;
+ Exit;
+ end;
+ if (Sig4='doom2d') and (Sig5='DOOM2D.WAD') then begin
+ StatusBar.SimpleText := ': 1.40 , ';
+ FStrm.Free;
+ Exit;
+ end;
+ PG.Visible := False;
+ Panel2.Visible := False;
+ ClientHeight := 55;
+ StatusBar.SimpleText := ': Doom2D';
+ FStrm.Free;
+ end;
+end;
+
+procedure TMainForm.P1ColorDrawItem(Control: TWinControl; Index: Integer;
+ Rect: TRect; State: TOwnerDrawState);
+begin
+ P1Color.Canvas.FillRect(Rect);
+ PlayerColors.Draw(P1Color.Canvas, Rect.Left, Rect.Top, Index);
+ P1Color.Canvas.TextOut(Rect.Left + PlayerColors.Width + 2, Rect.Top, P1Color.Items[Index]);
+end;
+
+procedure TMainForm.P2ColorDrawItem(Control: TWinControl; Index: Integer;
+ Rect: TRect; State: TOwnerDrawState);
+begin
+ P2Color.Canvas.FillRect(Rect);
+ PlayerColors.Draw(P2Color.Canvas, Rect.Left, Rect.Top, Index);
+ P2Color.Canvas.TextOut(Rect.Left + PlayerColors.Width + 2, Rect.Top, P2Color.Items[Index]);
+end;
+
+procedure TMainForm.BtAboutClick(Sender: TObject);
+begin
+ FAbout.ShowModal;
+end;
+
+procedure TMainForm.BtSaveClick(Sender: TObject);
+begin
+ if not BtClose.Enabled then
+ Exit;
+ StoreValues;
+end;
+
+procedure TMainForm.BtSaveAsClick(Sender: TObject);
+var
+ err: Boolean;
+begin
+ if SaveDialog.Execute(Handle) then begin
+ if not BtClose.Enabled then
+ Exit;
+ err := False;
+ try
+ CopyFile(PWideChar(FStrm.FileName), PWideChar(SaveDialog.FileName), False);
+ except
+ err := True;
+ end;
+ if err then begin
+ MessageBox(Handle, ' . , , .', '', mb_IconError or mb_Ok);
+ Exit;
+ end;
+ OpenDialog.FileName := SaveDialog.FileName;
+ FStrm.Free;
+ FStrm := TFileStream.Create(SaveDialog.FileName, fmOpenReadWrite or fmShareDenyWrite);
+ StoreValues;
+ end;
+end;
+
+end.
diff --git a/src/Unit2.dfm b/src/Unit2.dfm
new file mode 100644
index 0000000..62372ca
--- /dev/null
+++ b/src/Unit2.dfm
@@ -0,0 +1,235 @@
+object FAbout: TFAbout
+ Left = 0
+ Top = 0
+ ActiveControl = Button1
+ BorderStyle = bsDialog
+ Caption = #1054' '#1087#1088#1086#1075#1088#1072#1084#1084#1077
+ ClientHeight = 218
+ ClientWidth = 236
+ Color = clBtnFace
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ OldCreateOrder = False
+ Position = poMainFormCenter
+ OnCreate = FormCreate
+ PixelsPerInch = 96
+ TextHeight = 13
+ object Image1: TImage
+ Left = 8
+ Top = 8
+ Width = 32
+ Height = 32
+ AutoSize = True
+ Picture.Data = {
+ 055449636F6E0000010002002020000000000000A80C00002600000010100000
+ 0000000068030000CE0C00002800000020000000400000000100180000000000
+ 000C000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000000027476B375F8F3F6B
+ A33F6BA33F6BA33F6BA3375F8F27476B00000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000001F3F533357874773B35B8BD76B9B
+ E79BBFFF9BBFFF6B9BE75B8BD74773B33357871F3F5300000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000027476B436FAB5383CF6393DF4F7FCB4F7F
+ CB6B9BE76B9BE74F7FCB4F7FCB6393DF5383CF436FAB27476B00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000027476B436FAB5383CF6393DF4F7FCB436FAB375F
+ 8F2F537F2F537F375F8F436FAB4F7FCB6393DF5383CF436FAB27476B00000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000001F3F53375F8F4773B34F7FCB4F7FCB4F7FCB5B8BD76B9B
+ E75BA3FF5BA3FF6B9BE75B8BD74F7FCB4F7FCB4F7FCB4773B3375F8F1F3F5300
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000335787436FAB4F7FCB5B8BD7375F8F2B4F77135B9B135B
+ 9B135B9B135B9B135B9B135B9B2B4F77375F8F5B8BD74F7FCB436FAB33578700
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000001F3F53436FAB3F6BA35B8BD76B9BE75383CF5B8BD77BABF79BBF
+ FF6393DF6393DF9BBFFF7BABF75B8BD75383CF6B9BE75B8BD73F6BA3436FAB1F
+ 3F53000000000000000000000000000000000000000000000000000000000000
+ 00000000000023435F4F7FCB3B639B6B9BE77BABF75383CF5383CF5B8BD74B7B
+ BF3F6BA33F6BA34B7BBF5B8BD75383CF5383CF7BABF76B9BE73B639B4F7FCB23
+ 435F000000000000000000000000000000000000000000000000000000000000
+ 0000000000002B4F774773B33B639B5B8BD793BBFF6B9BE74B7BBF1F3F532B4F
+ 773357873357872B4F771F3F534B7BBF6B9BE793BBFF5B8BD73B639B4773B32B
+ 4F77000000000000000000000000000000000000000000000000000000000000
+ 00000023435F2B4F773B639B3F6BA34B7BBF73A3EF7BABF75B8BD7436FAB3B63
+ 9B63839F63839F3B639B436FAB5B8BD77BABF773A3EF4B7BBF3F6BA33B639B2B
+ 4F7723435F000000000000000000000000000000000000000000000000000000
+ 00000023435F3357873F6BA3436FAB4B7BBF5B8BD75BA3FFA7C7FF6393DF5B8B
+ D77BB3FFBBD7FF5B8BD76393DFA7C7FF5BA3FF5B8BD74B7BBF436FAB3F6BA333
+ 578723435F000000000000000000000000000000000000000000000000000000
+ 375F8F23435F375F8F5383CF6393DF73A3EF6393DF4F7FCB5BA3FF93BBFF6B9B
+ E75BA3FF7BB3FF6B9BE793BBFF5BA3FF4F7FCB6393DF73A3EF6393DF5383CF37
+ 5F8F23435F375F8F000000000000000000000000000000000000000000000000
+ 33578723435F3357877B7BDB5B8BD74B7BBF436FAB375F8F436FAB4F7FCB5B8B
+ D75BA3FF7BB3FF5B8BD74F7FCB436FAB375F8F436FAB4B7BBF5B8BD77B7BDB33
+ 578723435F335787000000000000000000000000000000000000000000000000
+ 27476B23435F3357874773B3375F8F436FAB2F9BC343BBD72F9BC31F7BAF375F
+ 8F5383CF6B9BE7375F8F1F7BAF2F9BC343BBD72F9BC3436FAB375F8F4773B333
+ 578723435F27476B000000000000000000000000000000000000000000000000
+ 375F8F27476B3353674773B32B4F772F9BC3D7FFFFFFFFFF43BBD72F9BC3135B
+ 9B5B8BD75B8BD7135B9B2F9BC343BBD7FFFFFFD7FFFF2F9BC32B4F774773B333
+ 536727476B375F8F000000000000000000000000000000000000000000000000
+ 4773B327476B233347375F8F436FAB436FAB3B639B3357872B4F7727476B2747
+ 6B375F8F375F8F27476B27476B2B4F773357873B639B436FAB436FAB375F8F23
+ 334727476B4773B3000000000000000000000000000000000000000000000000
+ 4773B327476B1B374B2B4F7727476B27476B1F3F533F6BA36393DF4773B32B4F
+ 774773B34773B32B4F774773B36393DF3F6BA31F3F5327476B27476B2B4F771B
+ 374B27476B4773B3000000000000000000000000000000000000000000000000
+ 0000000F232B1B374B2B4F774773B36B9BE7C7DBFF83B3FF6B9BE76B9BE75383
+ CF5B8BD75B8BD75383CF6B9BE76B9BE783B3FFC7DBFF6B9BE74773B32B4F771B
+ 374B0F232B000000000000000000000000000000000000000000000000000000
+ 0000000F232B1B374B2B4F773B639B5383CF73A3EF6B9BE75383CF4B7BBF3F6B
+ A3375F8F375F8F3F6BA34B7BBF5383CF6B9BE773A3EF5383CF3B639B2B4F771B
+ 374B0F232B000000000000000000000000000000000000000000000000000000
+ 0000000F232B1B374B2B4F773B639B5383CF4F7FCB4F7FCB4773B33F6BA3436F
+ AB436FAB436FAB436FAB3F6BA34773B34F7FCB4F7FCB5383CF3B639B23435F1B
+ 374B0F232B000000000000000000000000000000000000000000000000000000
+ 0000000F232B1B374B23435F375F8F436FAB4773B33F6BA33F6BA34773B34773
+ B34773B34773B34773B34773B33F6BA33F6BA34773B3436FAB375F8F1F3F531B
+ 374B0F232B000000000000000000000000000000000000000000000000000000
+ 0000000F232B1B374B1F3F532B4F77375F8F2B4F771F3F533F6BA31F3F532B4F
+ 77375F8F3F6BA34773B33B639B3F6BA3375F8F375F8F375F8F27476B1B374B1B
+ 374B0F232B000000000000000000000000000000000000000000000000000000
+ 0000000F232B1B374B1B374B2B4F772B4F771F3F53375F8F1F3F5327476B2B4F
+ 7727476B27476B375F8F375F8F375F8F33578733578727476B1B374B172F3F1B
+ 374B0F232B000000000000000000000000000000000000000000000000000000
+ 0000000F232B172F3F1B374B1F3F5323435F375F8F1F3F533B639B27476B2747
+ 6B375F8F27476B1B374B27476B1B374B172F3F23435F0F232B132B33132B3317
+ 2F3F0F232B000000000000000000000000000000000000000000000000000000
+ 0000000F232B172F3F23435F2B4F7723435F375F8F3B639B375F8F375F8F375F
+ 8F375F8F1B374B375F8F23435F1B374B23435F1B374B132B330F232B0F232B0F
+ 232B0F232B000000000000000000000000000000000000000000000000000000
+ 000000000000132B332B4F773357872B4F77375F8F3B639B4773B3335787436F
+ AB375F8F3F6BA32B4F772B4F772B4F772B4F7723435F1F3F53132B33132B330F
+ 232B000000000000000000000000000000000000000000000000000000000000
+ 000000000000132B3323435F2B4F77375F8F3B639B4B7BBF4F7FCB5383CF3F6B
+ A34773B33B639B3B639B3B639B375F8F375F8F2B4F772B4F771F3F531B374B13
+ 2B33000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000132B3323435F1F3F5323435F27476B375F8F4B7BBF4773
+ B35383CF5383CF4773B3436FAB3B639B2B4F7723435F1F3F5323435F132B3300
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000001B374B23435F23435F23435F27476B2B4F
+ 772B4F772B4F772B4F772B4F7727476B23435F23435F1B374B00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFF00FFF
+ FFC003FFFF8001FFFF0000FFFE00007FFE00007FFC00003FFC00003FFC00003F
+ F800001FF800001FF000000FF000000FF000000FF000000FF000000FF000000F
+ F800001FF800001FF800001FF800001FF800001FF800001FF800001FF800001F
+ FC00003FFC00003FFE00007FFF8001FFFFFFFFFF280000001000000020000000
+ 0100180000000000000300000000000000000000000000000000000000000027
+ 476B436FAB5383CF6393DF4F7FCB4F7FCB6B9BE76B9BE74F7FCB4F7FCB6393DF
+ 5383CF436FAB27476B00000027476B436FAB5383CF6393DF4F7FCB436FAB375F
+ 8F2F537F2F537F375F8F436FAB4F7FCB6393DF5383CF436FAB27476B375F8F47
+ 73B34F7FCB4F7FCB4F7FCB5B8BD76B9BE75BA3FF5BA3FF6B9BE75B8BD74F7FCB
+ 4F7FCB4F7FCB4773B3375F8F436FAB4F7FCB5B8BD7375F8F2B4F77135B9B135B
+ 9B135B9B135B9B135B9B135B9B2B4F77375F8F5B8BD74F7FCB436FAB3F6BA35B
+ 8BD76B9BE75383CF5B8BD77BABF79BBFFF6393DF6393DF9BBFFF7BABF75B8BD7
+ 5383CF6B9BE75B8BD73F6BA33B639B6B9BE77BABF75383CF5383CF5B8BD74B7B
+ BF3F6BA33F6BA34B7BBF5B8BD75383CF5383CF7BABF76B9BE73B639B3B639B5B
+ 8BD793BBFF6B9BE74B7BBF1F3F532B4F773357873357872B4F771F3F534B7BBF
+ 6B9BE793BBFF5B8BD73B639B3F6BA34B7BBF73A3EF7BABF75B8BD7436FAB3B63
+ 9B63839F63839F3B639B436FAB5B8BD77BABF773A3EF4B7BBF3F6BA3436FAB4B
+ 7BBF5B8BD75BA3FFA7C7FF6393DF5B8BD77BB3FFBBD7FF5B8BD76393DFA7C7FF
+ 5BA3FF5B8BD74B7BBF436FAB6393DF73A3EF6393DF4F7FCB5BA3FF93BBFF6B9B
+ E75BA3FF7BB3FF6B9BE793BBFF5BA3FF4F7FCB6393DF73A3EF6393DF5B8BD74B
+ 7BBF436FAB375F8F436FAB4F7FCB5B8BD75BA3FF7BB3FF5B8BD74F7FCB436FAB
+ 375F8F436FAB4B7BBF5B8BD7375F8F436FAB2F9BC343BBD72F9BC31F7BAF375F
+ 8F5383CF6B9BE7375F8F1F7BAF2F9BC343BBD72F9BC3436FAB375F8F2B4F772F
+ 9BC3D7FFFFFFFFFF43BBD72F9BC3135B9B5B8BD75B8BD7135B9B2F9BC343BBD7
+ FFFFFFD7FFFF2F9BC32B4F77436FAB436FAB3B639B3357872B4F7727476B2747
+ 6B375F8F375F8F27476B27476B2B4F773357873B639B436FAB436FAB27476B27
+ 476B1F3F533F6BA36393DF4773B32B4F774773B34773B32B4F774773B36393DF
+ 3F6BA31F3F5327476B27476B4773B36B9BE7C7DBFF83B3FF6B9BE76B9BE75383
+ CF5B8BD75B8BD75383CF6B9BE76B9BE783B3FFC7DBFF6B9BE74773B380010000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000000000000000}
+ end
+ object Label1: TLabel
+ Left = 46
+ Top = 8
+ Width = 138
+ Height = 13
+ Caption = 'Doom2D DeHacker by Stas'#39'M'
+ end
+ object Label2: TLabel
+ Left = 46
+ Top = 27
+ Width = 151
+ Height = 13
+ Caption = 'Copyright '#169' Stas'#39'M Corp. 2012'
+ end
+ object Label3: TLabel
+ Left = 8
+ Top = 178
+ Width = 96
+ Height = 13
+ Cursor = crHandPoint
+ Caption = 'http://stascorp.com'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clBlue
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = [fsUnderline]
+ ParentFont = False
+ OnClick = Label3Click
+ end
+ object Label4: TLabel
+ Left = 8
+ Top = 197
+ Width = 90
+ Height = 13
+ Cursor = crHandPoint
+ Caption = 'http://doom2d.org'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clBlue
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = [fsUnderline]
+ ParentFont = False
+ OnClick = Label4Click
+ end
+ object Memo1: TMemo
+ Left = 4
+ Top = 46
+ Width = 228
+ Height = 126
+ BevelKind = bkSoft
+ BorderStyle = bsNone
+ Lines.Strings = (
+ #1051#1080#1094#1077#1085#1079#1080#1088#1086#1074#1072#1085#1086' '#1087#1086#1076' GNU GPL v3'
+ 'http://www.gnu.org/licenses/'
+ ''
+ '-= '#1057#1086#1079#1076#1072#1085#1086' '#1089#1087#1077#1094#1080#1072#1083#1100#1085#1086' '#1076#1083#1103' doom2d.org =-'
+ #1053#1072' '#1076#1072#1085#1085#1099#1081' '#1084#1086#1084#1077#1085#1090' '#1087#1086#1076#1076#1077#1088#1078#1080#1074#1072#1077#1090#1089#1103
+ #1090#1086#1083#1100#1082#1086' Doom2D '#1074#1077#1088#1089#1080#1103' 1.30'
+ ''
+ #1042' '#1073#1083#1080#1078#1072#1081#1096#1077#1084' '#1073#1091#1076#1091#1097#1077#1084' '#1088#1077#1072#1083#1080#1079#1091#1102
+ #1087#1086#1076#1076#1077#1088#1078#1082#1091' '#1074#1077#1088#1089#1080#1080' 1.40')
+ ReadOnly = True
+ TabOrder = 0
+ WordWrap = False
+ end
+ object Button1: TButton
+ Left = 151
+ Top = 183
+ Width = 75
+ Height = 25
+ Caption = 'OK'
+ Default = True
+ DoubleBuffered = True
+ ParentDoubleBuffered = False
+ TabOrder = 1
+ OnClick = SpeedButton1Click
+ end
+end
diff --git a/src/Unit2.pas b/src/Unit2.pas
new file mode 100644
index 0000000..baadd44
--- /dev/null
+++ b/src/Unit2.pas
@@ -0,0 +1,75 @@
+unit Unit2;
+{
+ Doom2D DeHacker / About box
+ Copyright (C) 2012 Stas'M Corp.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see
+}
+interface
+
+uses
+ Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+ Dialogs, Buttons, StdCtrls, ExtCtrls, ShellAPI;
+
+type
+ TFAbout = class(TForm)
+ Image1: TImage;
+ Label1: TLabel;
+ Label2: TLabel;
+ Memo1: TMemo;
+ Label3: TLabel;
+ Label4: TLabel;
+ Button1: TButton;
+ procedure SpeedButton1Click(Sender: TObject);
+ procedure Label3Click(Sender: TObject);
+ procedure Label4Click(Sender: TObject);
+ procedure FormCreate(Sender: TObject);
+ private
+ { Private declarations }
+ public
+ { Public declarations }
+ end;
+
+var
+ FAbout: TFAbout;
+
+implementation
+
+{$R *.dfm}
+
+procedure TFAbout.FormCreate(Sender: TObject);
+var
+ S: String;
+begin
+ S := Memo1.Text;
+ Delete(S, Length(S) - 1, 2);
+ Memo1.Text := S;
+end;
+
+procedure TFAbout.Label3Click(Sender: TObject);
+begin
+ ShellExecute(Handle, 'open', 'http://stascorp.com', nil, nil, 0);
+end;
+
+procedure TFAbout.Label4Click(Sender: TObject);
+begin
+ ShellExecute(Handle, 'open', 'http://doom2d.org', nil, nil, 0);
+end;
+
+procedure TFAbout.SpeedButton1Click(Sender: TObject);
+begin
+ Close;
+end;
+
+end.