mirror of
https://github.com/sfall-team/sfall.git
synced 2026-07-27 16:52:34 -07:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e105b8c328 | ||
|
|
e5e2ef5ab0 | ||
|
|
8778d1c695 | ||
|
|
4ee20e06b4 | ||
|
|
aa5bd95dfe | ||
|
|
aa221adea3 | ||
|
|
22cdc32d26 | ||
|
|
fca3307bd9 | ||
|
|
04d7f4aefa | ||
|
|
f5317ad5ee | ||
|
|
119b0afacd | ||
|
|
10a6b76d5b | ||
|
|
3a86f1d134 | ||
|
|
30ac2a9690 | ||
|
|
16a0ef3bdf | ||
|
|
58d5271d49 | ||
|
|
6a226aef34 | ||
|
|
6ac9949feb | ||
|
|
d2cf728131 | ||
|
|
a63ea24572 | ||
|
|
4b221b5367 | ||
|
|
02c2df50ac | ||
|
|
4bc1a422c3 | ||
|
|
88cf6dcd32 | ||
|
|
943cd5d2dc | ||
|
|
bc47c87583 | ||
|
|
0f98591b77 | ||
|
|
42cf5ded97 | ||
|
|
edac0ba393 | ||
|
|
045926c860 | ||
|
|
c65e1ec6d3 | ||
|
|
6a38fd0794 | ||
|
|
f788246283 | ||
|
|
428ac62883 | ||
|
|
1b1b85c3b4 | ||
|
|
28493432db | ||
|
|
1d6150e341 | ||
|
|
3798e5239d | ||
|
|
533020cd8b | ||
|
|
69e3faeb7d | ||
|
|
4cdc028cb7 | ||
|
|
e92b8021c0 | ||
|
|
601d25be97 | ||
|
|
7a2b7dee6a | ||
|
|
dcf0561653 | ||
|
|
5c3f10db91 | ||
|
|
3e49922898 | ||
|
|
564202f225 | ||
|
|
143f6895a4 | ||
|
|
d946850af4 | ||
|
|
ae7245579e | ||
|
|
563fdddc7e | ||
|
|
06bbe3ceb5 | ||
|
|
56083c3bc6 | ||
|
|
dee0065863 | ||
|
|
3614ee355f | ||
|
|
7c05a0fea9 | ||
|
|
dd87a83025 | ||
|
|
da3fd5c671 | ||
|
|
acc51cae03 | ||
|
|
8332a2bba7 | ||
|
|
2cfa20ed47 | ||
|
|
9911eb5f01 | ||
|
|
77f2542919 | ||
|
|
18649329ec | ||
|
|
aa91e9fad4 | ||
|
|
1fd93ba13f | ||
|
|
04eba05e53 | ||
|
|
3cef4784d3 | ||
|
|
656b4c5291 | ||
|
|
82a11d30b2 | ||
|
|
0f036b26ae | ||
|
|
967e642908 | ||
|
|
9eefb6e042 | ||
|
|
f289723431 | ||
|
|
2d38b4bac1 | ||
|
|
3934a804f4 | ||
|
|
ab03186a1d | ||
|
|
15d762deb0 | ||
|
|
d8bb5848f7 | ||
|
|
f84578e84b | ||
|
|
aa36d54b27 | ||
|
|
627c0df484 | ||
|
|
ae3d4fcb69 | ||
|
|
fb31357e3d | ||
|
|
1687e50729 | ||
|
|
36e3a2bd5f | ||
|
|
99664dfa8a | ||
|
|
0980967cee | ||
|
|
8613a4fb8b | ||
|
|
6fdf3ac0b0 | ||
|
|
fe5a148d7f | ||
|
|
d64b33a946 | ||
|
|
1294d27a96 | ||
|
|
41171bbb87 | ||
|
|
170322648e | ||
|
|
af531a3e1d | ||
|
|
d13f33e2ff | ||
|
|
0ed346380f | ||
|
|
664643d83c | ||
|
|
89dbbb9238 | ||
|
|
5daebd18d8 | ||
|
|
4e38eab905 | ||
|
|
7f8d805a9f | ||
|
|
0e91aed2e2 | ||
|
|
3eba5c3054 | ||
|
|
80afdae7ba | ||
|
|
9db3c79c40 | ||
|
|
274223a4ce | ||
|
|
7dbbb8230e | ||
|
|
a95f26a02d | ||
|
|
46850a353b | ||
|
|
e379e71410 | ||
|
|
774e31b9f6 | ||
|
|
82f068c3e7 | ||
|
|
68e8ce8d41 | ||
|
|
a0437304a9 | ||
|
|
34caa1cbbd | ||
|
|
924288a22c | ||
|
|
11ae4f5078 | ||
|
|
c1107e16a8 | ||
|
|
49ef1aec9f | ||
|
|
14d6d36172 | ||
|
|
d2c8667c22 | ||
|
|
edbf777b63 | ||
|
|
26c032379e | ||
|
|
5a455ab942 | ||
|
|
d89603e56d | ||
|
|
7b92d0f939 | ||
|
|
b89663174f | ||
|
|
267d8694c9 | ||
|
|
641ae67a7a | ||
|
|
5d483214e6 | ||
|
|
62e6c41620 | ||
|
|
6cce07991e | ||
|
|
9813d4ae74 | ||
|
|
10c557ad59 | ||
|
|
a2a24918a6 | ||
|
|
ca5c383767 | ||
|
|
ce338fa5d0 | ||
|
|
48ac68b66f | ||
|
|
ecae724411 | ||
|
|
f33f356b7a | ||
|
|
651f23aa5b | ||
|
|
68022f415a | ||
|
|
b0fe927bfb | ||
|
|
cedfce37be | ||
|
|
4249006ba9 | ||
|
|
65755911f4 | ||
|
|
5473b0e4d9 | ||
|
|
c1b6e35a3f | ||
|
|
db2c366376 | ||
|
|
17be216a11 | ||
|
|
770aca0cd2 | ||
|
|
c990b6701d | ||
|
|
3da7c2d0a6 | ||
|
|
0a8c5d704c | ||
|
|
922cdefce6 | ||
|
|
180e743d31 | ||
|
|
950f6b8a1c | ||
|
|
b3a4f2c19e | ||
|
|
8dbe5921ba | ||
|
|
c220e133a2 | ||
|
|
d8bdf785d5 | ||
|
|
d569666447 | ||
|
|
31b36f0c69 | ||
|
|
ab7be3501a | ||
|
|
043c90f71e | ||
|
|
5146b46da3 | ||
|
|
95f2bbfc1f | ||
|
|
8d8522d227 | ||
|
|
5a03db932e | ||
|
|
6e9a87b897 | ||
|
|
de055cd8ec | ||
|
|
4ae4d6dff0 | ||
|
|
60054c9977 | ||
|
|
3c9d5f7cb4 | ||
|
|
f44db1730c | ||
|
|
fbdb9777c7 | ||
|
|
0f1e648e1a | ||
|
|
7bd93af696 | ||
|
|
6319017186 | ||
|
|
29ad288f52 | ||
|
|
a10196e2ca | ||
|
|
88779c10e0 | ||
|
|
919384bac7 | ||
|
|
a60f58c0eb | ||
|
|
558e654dbf | ||
|
|
5ab389a51a | ||
|
|
3203152ca4 | ||
|
|
134dc03dc9 | ||
|
|
1ac8825b1b | ||
|
|
851e9b6d59 | ||
|
|
cbb6afac7c | ||
|
|
bceb505024 | ||
|
|
005684fa3b | ||
|
|
009a6cc21d | ||
|
|
ee64d981fa | ||
|
|
bb13dbd727 | ||
|
|
e813188e67 | ||
|
|
64a59211ba | ||
|
|
88f3622a5d | ||
|
|
e6d958a83b | ||
|
|
6796dc1012 | ||
|
|
90149b4fb6 | ||
|
|
41a398cbf2 | ||
|
|
88cd177ebb | ||
|
|
569721381c | ||
|
|
8af87a5252 | ||
|
|
96cb6c51ea | ||
|
|
5874450f60 | ||
|
|
f088c9bb70 | ||
|
|
7f8481d03a | ||
|
|
f162a5ab0c | ||
|
|
ce69e8123e | ||
|
|
b5e85f2f89 | ||
|
|
f7fe463f42 | ||
|
|
27f2d57ebd | ||
|
|
bbe789d013 | ||
|
|
76ea3ed383 | ||
|
|
c6f3dbfcf6 | ||
|
|
49ce654d72 | ||
|
|
b2a1160492 | ||
|
|
5da2ec76de | ||
|
|
123f69268d | ||
|
|
6d0c84e783 | ||
|
|
c652fae849 | ||
|
|
3399e07958 | ||
|
|
044af677d9 | ||
|
|
752ad8ae01 | ||
|
|
9d9d8ada49 | ||
|
|
6bd7d3ebca | ||
|
|
9bc71a5d2a | ||
|
|
6d66232162 | ||
|
|
fe5f4bb2aa | ||
|
|
8a7d22dd03 | ||
|
|
fac0b73d9e | ||
|
|
2974210ad3 | ||
|
|
bb0f2bb8db | ||
|
|
715b55dda8 | ||
|
|
999d818c86 | ||
|
|
1d7fd442b0 | ||
|
|
3062533492 | ||
|
|
032e1d13f3 | ||
|
|
9f0797f8ad | ||
|
|
a7c66685b9 | ||
|
|
118b186d4d | ||
|
|
a8718dab2f | ||
|
|
ccd897281f | ||
|
|
d200262a2b | ||
|
|
0ebe3ef1a4 | ||
|
|
d0c97f7118 | ||
|
|
0bda53e109 | ||
|
|
93cd7a08ad | ||
|
|
44d668f50b | ||
|
|
f368973299 | ||
|
|
96802c9642 | ||
|
|
39221065af | ||
|
|
95f95e7b38 | ||
|
|
41c8722179 | ||
|
|
3b780110ea | ||
|
|
448dbdb31e | ||
|
|
033376000c | ||
|
|
bc2dabc461 | ||
|
|
08b5e3a769 | ||
|
|
09c9c5cce0 | ||
|
|
b4b1698345 | ||
|
|
2a20209bb8 | ||
|
|
84c7ac0536 | ||
|
|
46f8820ecf | ||
|
|
5d4b8fdd7b | ||
|
|
44603174dd | ||
|
|
d37fbd8390 | ||
|
|
2f22a1e982 | ||
|
|
3f03cf3c18 | ||
|
|
1b3b5dc523 | ||
|
|
fff48407c3 | ||
|
|
841e741e91 | ||
|
|
d4a501d813 | ||
|
|
5e056f1743 | ||
|
|
35a94b5418 | ||
|
|
7eaef76f6f | ||
|
|
30002664ef | ||
|
|
c2f7e38a43 | ||
|
|
8a5674f2d9 | ||
|
|
8c2483a289 | ||
|
|
e14ac89463 | ||
|
|
d5a38eb3aa | ||
|
|
177137f2ee | ||
|
|
76f88eae18 | ||
|
|
28962f428f | ||
|
|
aaa76cb3d1 | ||
|
|
ea1c00ec91 | ||
|
|
410c7ab417 | ||
|
|
ab3ddc68b6 | ||
|
|
1652072391 | ||
|
|
051b1c98aa | ||
|
|
56945c7437 | ||
|
|
2f6f0d8b28 | ||
|
|
0e715236bf | ||
|
|
b24a860d40 | ||
|
|
120a8cd964 | ||
|
|
62d4577152 | ||
|
|
2d8ea2b44c | ||
|
|
4ef20c3526 | ||
|
|
5e0e8dd2f1 | ||
|
|
04bd88cdc2 | ||
|
|
839e86ed26 | ||
|
|
eeef8759d3 | ||
|
|
c4903abd4c | ||
|
|
e0c0b9ba19 | ||
|
|
b9c7f5ea82 | ||
|
|
56fdec8b37 | ||
|
|
470a0b3386 | ||
|
|
279c524da9 | ||
|
|
57c4c0bd5d | ||
|
|
3ff0e77c26 | ||
|
|
15909dbb5b | ||
|
|
ee9010217e | ||
|
|
9fa59a0d75 | ||
|
|
371a299640 | ||
|
|
31f42128e1 | ||
|
|
57225bbd38 | ||
|
|
310d029801 | ||
|
|
b52f4544c0 | ||
|
|
0950efec8c | ||
|
|
d86794be3a | ||
|
|
d6aff61607 | ||
|
|
0eeab768bd | ||
|
|
e474ba1660 | ||
|
|
3abebb8486 | ||
|
|
29910e98bf | ||
|
|
4194feafdf | ||
|
|
1c6729a25f | ||
|
|
39388fd927 | ||
|
|
72093079c5 | ||
|
|
5141ca4ebb | ||
|
|
78e9f08682 | ||
|
|
ce779b4764 | ||
|
|
1a108cade5 | ||
|
|
cc875291d1 | ||
|
|
9e28f8bdfd | ||
|
|
b2894268f6 | ||
|
|
b3e2b8b5b8 | ||
|
|
3227966767 | ||
|
|
9475b8c482 | ||
|
|
8b356b1213 | ||
|
|
90485a205a | ||
|
|
d5be2fdc9b | ||
|
|
a705341e02 | ||
|
|
ca3f59ad1e | ||
|
|
4d0c056e72 | ||
|
|
d388a5c3bb | ||
|
|
9b808cd008 | ||
|
|
fd91be7ea2 | ||
|
|
4fdd1d3cd8 | ||
|
|
9cb2d3df3e | ||
|
|
08242d77d5 | ||
|
|
68d0a3e894 | ||
|
|
16ff0e9ca6 | ||
|
|
218ba3004c | ||
|
|
8473ce5210 | ||
|
|
38a3dba476 | ||
|
|
9c1d439153 | ||
|
|
bc38a02508 |
Generated
+91
-66
@@ -24,16 +24,17 @@
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent() {
|
private void InitializeComponent() {
|
||||||
this.dataGridView1 = new System.Windows.Forms.DataGridView();
|
this.dataGridView1 = new System.Windows.Forms.DataGridView();
|
||||||
|
this.Column0 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||||
|
this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||||
|
this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||||
|
this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||||
this.bGlobals = new System.Windows.Forms.Button();
|
this.bGlobals = new System.Windows.Forms.Button();
|
||||||
this.bMapVars = new System.Windows.Forms.Button();
|
this.bMapVars = new System.Windows.Forms.Button();
|
||||||
this.bCritters = new System.Windows.Forms.Button();
|
this.bCritters = new System.Windows.Forms.Button();
|
||||||
this.bSGlobals = new System.Windows.Forms.Button();
|
this.bSGlobals = new System.Windows.Forms.Button();
|
||||||
this.bArrays = new System.Windows.Forms.Button();
|
this.bArrays = new System.Windows.Forms.Button();
|
||||||
this.Column0 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
|
||||||
this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
|
||||||
this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
|
||||||
this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
|
||||||
this.bEdit = new System.Windows.Forms.Button();
|
this.bEdit = new System.Windows.Forms.Button();
|
||||||
|
this.bCrittersLvar = new System.Windows.Forms.Button();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
@@ -41,84 +42,38 @@
|
|||||||
//
|
//
|
||||||
this.dataGridView1.AllowUserToAddRows = false;
|
this.dataGridView1.AllowUserToAddRows = false;
|
||||||
this.dataGridView1.AllowUserToDeleteRows = false;
|
this.dataGridView1.AllowUserToDeleteRows = false;
|
||||||
|
this.dataGridView1.AllowUserToResizeRows = false;
|
||||||
this.dataGridView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
this.dataGridView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||||
| System.Windows.Forms.AnchorStyles.Left)
|
| System.Windows.Forms.AnchorStyles.Left)
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
this.dataGridView1.ColumnHeadersHeight = 22;
|
||||||
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||||
this.Column0,
|
this.Column0,
|
||||||
this.Column1,
|
this.Column1,
|
||||||
this.Column2,
|
this.Column2,
|
||||||
this.Column3});
|
this.Column3});
|
||||||
this.dataGridView1.Location = new System.Drawing.Point(12, 12);
|
this.dataGridView1.Location = new System.Drawing.Point(12, 12);
|
||||||
|
this.dataGridView1.MultiSelect = false;
|
||||||
this.dataGridView1.Name = "dataGridView1";
|
this.dataGridView1.Name = "dataGridView1";
|
||||||
this.dataGridView1.Size = new System.Drawing.Size(444, 215);
|
this.dataGridView1.RowHeadersVisible = false;
|
||||||
|
this.dataGridView1.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
|
||||||
|
this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
|
||||||
|
this.dataGridView1.Size = new System.Drawing.Size(561, 354);
|
||||||
this.dataGridView1.TabIndex = 0;
|
this.dataGridView1.TabIndex = 0;
|
||||||
|
this.dataGridView1.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellDoubleClick);
|
||||||
this.dataGridView1.CellEndEdit += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellEndEdit);
|
this.dataGridView1.CellEndEdit += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellEndEdit);
|
||||||
//
|
this.dataGridView1.RowsAdded += new System.Windows.Forms.DataGridViewRowsAddedEventHandler(this.dataGridView1_RowsAdded);
|
||||||
// bGlobals
|
|
||||||
//
|
|
||||||
this.bGlobals.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
|
||||||
this.bGlobals.Location = new System.Drawing.Point(12, 233);
|
|
||||||
this.bGlobals.Name = "bGlobals";
|
|
||||||
this.bGlobals.Size = new System.Drawing.Size(100, 23);
|
|
||||||
this.bGlobals.TabIndex = 1;
|
|
||||||
this.bGlobals.Text = "Globals";
|
|
||||||
this.bGlobals.UseVisualStyleBackColor = true;
|
|
||||||
this.bGlobals.Click += new System.EventHandler(this.bGlobals_Click);
|
|
||||||
//
|
|
||||||
// bMapVars
|
|
||||||
//
|
|
||||||
this.bMapVars.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
|
||||||
this.bMapVars.Location = new System.Drawing.Point(118, 233);
|
|
||||||
this.bMapVars.Name = "bMapVars";
|
|
||||||
this.bMapVars.Size = new System.Drawing.Size(100, 23);
|
|
||||||
this.bMapVars.TabIndex = 2;
|
|
||||||
this.bMapVars.Text = "Map variables";
|
|
||||||
this.bMapVars.UseVisualStyleBackColor = true;
|
|
||||||
this.bMapVars.Click += new System.EventHandler(this.bMapVars_Click);
|
|
||||||
//
|
|
||||||
// bCritters
|
|
||||||
//
|
|
||||||
this.bCritters.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
|
||||||
this.bCritters.Location = new System.Drawing.Point(118, 262);
|
|
||||||
this.bCritters.Name = "bCritters";
|
|
||||||
this.bCritters.Size = new System.Drawing.Size(100, 23);
|
|
||||||
this.bCritters.TabIndex = 3;
|
|
||||||
this.bCritters.Text = "Critters";
|
|
||||||
this.bCritters.UseVisualStyleBackColor = true;
|
|
||||||
this.bCritters.Click += new System.EventHandler(this.bCritters_Click);
|
|
||||||
//
|
|
||||||
// bSGlobals
|
|
||||||
//
|
|
||||||
this.bSGlobals.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
|
||||||
this.bSGlobals.Location = new System.Drawing.Point(225, 233);
|
|
||||||
this.bSGlobals.Name = "bSGlobals";
|
|
||||||
this.bSGlobals.Size = new System.Drawing.Size(100, 23);
|
|
||||||
this.bSGlobals.TabIndex = 4;
|
|
||||||
this.bSGlobals.Text = "sfall globals";
|
|
||||||
this.bSGlobals.UseVisualStyleBackColor = true;
|
|
||||||
this.bSGlobals.Click += new System.EventHandler(this.bSGlobals_Click);
|
|
||||||
//
|
|
||||||
// bArrays
|
|
||||||
//
|
|
||||||
this.bArrays.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
|
||||||
this.bArrays.Location = new System.Drawing.Point(12, 262);
|
|
||||||
this.bArrays.Name = "bArrays";
|
|
||||||
this.bArrays.Size = new System.Drawing.Size(100, 23);
|
|
||||||
this.bArrays.TabIndex = 5;
|
|
||||||
this.bArrays.Text = "sfall arrays";
|
|
||||||
this.bArrays.UseVisualStyleBackColor = true;
|
|
||||||
this.bArrays.Click += new System.EventHandler(this.bArrays_Click);
|
|
||||||
//
|
//
|
||||||
// Column0
|
// Column0
|
||||||
//
|
//
|
||||||
this.Column0.HeaderText = "ID";
|
this.Column0.HeaderText = "ID";
|
||||||
this.Column0.Name = "Column0";
|
this.Column0.Name = "Column0";
|
||||||
this.Column0.ReadOnly = true;
|
this.Column0.ReadOnly = true;
|
||||||
|
this.Column0.Width = 50;
|
||||||
//
|
//
|
||||||
// Column1
|
// Column1
|
||||||
//
|
//
|
||||||
|
this.Column1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
|
||||||
this.Column1.HeaderText = "Name";
|
this.Column1.HeaderText = "Name";
|
||||||
this.Column1.Name = "Column1";
|
this.Column1.Name = "Column1";
|
||||||
this.Column1.ReadOnly = true;
|
this.Column1.ReadOnly = true;
|
||||||
@@ -133,10 +88,65 @@
|
|||||||
this.Column3.HeaderText = "Value (Float)";
|
this.Column3.HeaderText = "Value (Float)";
|
||||||
this.Column3.Name = "Column3";
|
this.Column3.Name = "Column3";
|
||||||
//
|
//
|
||||||
|
// bGlobals
|
||||||
|
//
|
||||||
|
this.bGlobals.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||||
|
this.bGlobals.Location = new System.Drawing.Point(12, 372);
|
||||||
|
this.bGlobals.Name = "bGlobals";
|
||||||
|
this.bGlobals.Size = new System.Drawing.Size(100, 23);
|
||||||
|
this.bGlobals.TabIndex = 1;
|
||||||
|
this.bGlobals.Text = "Globals";
|
||||||
|
this.bGlobals.UseVisualStyleBackColor = true;
|
||||||
|
this.bGlobals.Click += new System.EventHandler(this.bGlobals_Click);
|
||||||
|
//
|
||||||
|
// bMapVars
|
||||||
|
//
|
||||||
|
this.bMapVars.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||||
|
this.bMapVars.Location = new System.Drawing.Point(118, 372);
|
||||||
|
this.bMapVars.Name = "bMapVars";
|
||||||
|
this.bMapVars.Size = new System.Drawing.Size(100, 23);
|
||||||
|
this.bMapVars.TabIndex = 2;
|
||||||
|
this.bMapVars.Text = "Map variables";
|
||||||
|
this.bMapVars.UseVisualStyleBackColor = true;
|
||||||
|
this.bMapVars.Click += new System.EventHandler(this.bMapVars_Click);
|
||||||
|
//
|
||||||
|
// bCritters
|
||||||
|
//
|
||||||
|
this.bCritters.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||||
|
this.bCritters.Location = new System.Drawing.Point(12, 401);
|
||||||
|
this.bCritters.Name = "bCritters";
|
||||||
|
this.bCritters.Size = new System.Drawing.Size(100, 23);
|
||||||
|
this.bCritters.TabIndex = 3;
|
||||||
|
this.bCritters.Text = "Critters";
|
||||||
|
this.bCritters.UseVisualStyleBackColor = true;
|
||||||
|
this.bCritters.Click += new System.EventHandler(this.bCritters_Click);
|
||||||
|
//
|
||||||
|
// bSGlobals
|
||||||
|
//
|
||||||
|
this.bSGlobals.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.bSGlobals.Location = new System.Drawing.Point(367, 372);
|
||||||
|
this.bSGlobals.Name = "bSGlobals";
|
||||||
|
this.bSGlobals.Size = new System.Drawing.Size(100, 23);
|
||||||
|
this.bSGlobals.TabIndex = 4;
|
||||||
|
this.bSGlobals.Text = "sfall globals";
|
||||||
|
this.bSGlobals.UseVisualStyleBackColor = true;
|
||||||
|
this.bSGlobals.Click += new System.EventHandler(this.bSGlobals_Click);
|
||||||
|
//
|
||||||
|
// bArrays
|
||||||
|
//
|
||||||
|
this.bArrays.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.bArrays.Location = new System.Drawing.Point(473, 372);
|
||||||
|
this.bArrays.Name = "bArrays";
|
||||||
|
this.bArrays.Size = new System.Drawing.Size(100, 23);
|
||||||
|
this.bArrays.TabIndex = 5;
|
||||||
|
this.bArrays.Text = "sfall arrays";
|
||||||
|
this.bArrays.UseVisualStyleBackColor = true;
|
||||||
|
this.bArrays.Click += new System.EventHandler(this.bArrays_Click);
|
||||||
|
//
|
||||||
// bEdit
|
// bEdit
|
||||||
//
|
//
|
||||||
this.bEdit.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
this.bEdit.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.bEdit.Location = new System.Drawing.Point(225, 262);
|
this.bEdit.Location = new System.Drawing.Point(473, 401);
|
||||||
this.bEdit.Name = "bEdit";
|
this.bEdit.Name = "bEdit";
|
||||||
this.bEdit.Size = new System.Drawing.Size(100, 23);
|
this.bEdit.Size = new System.Drawing.Size(100, 23);
|
||||||
this.bEdit.TabIndex = 6;
|
this.bEdit.TabIndex = 6;
|
||||||
@@ -144,11 +154,23 @@
|
|||||||
this.bEdit.UseVisualStyleBackColor = true;
|
this.bEdit.UseVisualStyleBackColor = true;
|
||||||
this.bEdit.Click += new System.EventHandler(this.bEdit_Click);
|
this.bEdit.Click += new System.EventHandler(this.bEdit_Click);
|
||||||
//
|
//
|
||||||
|
// bCrittersLvar
|
||||||
|
//
|
||||||
|
this.bCrittersLvar.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||||
|
this.bCrittersLvar.Enabled = false;
|
||||||
|
this.bCrittersLvar.Location = new System.Drawing.Point(119, 401);
|
||||||
|
this.bCrittersLvar.Name = "bCrittersLvar";
|
||||||
|
this.bCrittersLvar.Size = new System.Drawing.Size(99, 23);
|
||||||
|
this.bCrittersLvar.TabIndex = 7;
|
||||||
|
this.bCrittersLvar.Text = "Local variables";
|
||||||
|
this.bCrittersLvar.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
// DebugEditor
|
// DebugEditor
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.ClientSize = new System.Drawing.Size(468, 297);
|
this.ClientSize = new System.Drawing.Size(585, 436);
|
||||||
|
this.Controls.Add(this.bCrittersLvar);
|
||||||
this.Controls.Add(this.bEdit);
|
this.Controls.Add(this.bEdit);
|
||||||
this.Controls.Add(this.bArrays);
|
this.Controls.Add(this.bArrays);
|
||||||
this.Controls.Add(this.bSGlobals);
|
this.Controls.Add(this.bSGlobals);
|
||||||
@@ -156,8 +178,10 @@
|
|||||||
this.Controls.Add(this.bMapVars);
|
this.Controls.Add(this.bMapVars);
|
||||||
this.Controls.Add(this.bGlobals);
|
this.Controls.Add(this.bGlobals);
|
||||||
this.Controls.Add(this.dataGridView1);
|
this.Controls.Add(this.dataGridView1);
|
||||||
|
this.MinimumSize = new System.Drawing.Size(450, 300);
|
||||||
this.Name = "DebugEditor";
|
this.Name = "DebugEditor";
|
||||||
this.Text = "DebugEditor";
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
|
this.Text = "sfall Debug Editor";
|
||||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.DebugEditor_FormClosing);
|
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.DebugEditor_FormClosing);
|
||||||
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
@@ -172,11 +196,12 @@
|
|||||||
private System.Windows.Forms.Button bCritters;
|
private System.Windows.Forms.Button bCritters;
|
||||||
private System.Windows.Forms.Button bSGlobals;
|
private System.Windows.Forms.Button bSGlobals;
|
||||||
private System.Windows.Forms.Button bArrays;
|
private System.Windows.Forms.Button bArrays;
|
||||||
|
private System.Windows.Forms.Button bEdit;
|
||||||
private System.Windows.Forms.DataGridViewTextBoxColumn Column0;
|
private System.Windows.Forms.DataGridViewTextBoxColumn Column0;
|
||||||
private System.Windows.Forms.DataGridViewTextBoxColumn Column1;
|
private System.Windows.Forms.DataGridViewTextBoxColumn Column1;
|
||||||
private System.Windows.Forms.DataGridViewTextBoxColumn Column2;
|
private System.Windows.Forms.DataGridViewTextBoxColumn Column2;
|
||||||
private System.Windows.Forms.DataGridViewTextBoxColumn Column3;
|
private System.Windows.Forms.DataGridViewTextBoxColumn Column3;
|
||||||
private System.Windows.Forms.Button bEdit;
|
private System.Windows.Forms.Button bCrittersLvar;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+104
-60
@@ -11,7 +11,9 @@ using BinaryReader=System.IO.BinaryReader;
|
|||||||
using BinaryWriter = System.IO.BinaryWriter;
|
using BinaryWriter = System.IO.BinaryWriter;
|
||||||
|
|
||||||
namespace FalloutClient {
|
namespace FalloutClient {
|
||||||
public partial class DebugEditor : Form {
|
|
||||||
|
public partial class DebugEditor : Form
|
||||||
|
{
|
||||||
[System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Explicit)]
|
[System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Explicit)]
|
||||||
private struct ByteConverter {
|
private struct ByteConverter {
|
||||||
[System.Runtime.InteropServices.FieldOffset(0)]
|
[System.Runtime.InteropServices.FieldOffset(0)]
|
||||||
@@ -45,61 +47,59 @@ namespace FalloutClient {
|
|||||||
private readonly Dictionary<uint, string> CritNames = new Dictionary<uint, string>();
|
private readonly Dictionary<uint, string> CritNames = new Dictionary<uint, string>();
|
||||||
|
|
||||||
private void Redraw() {
|
private void Redraw() {
|
||||||
dataGridView1.SuspendLayout();
|
bEdit.Enabled = false;
|
||||||
dataGridView1.Rows.Clear();
|
|
||||||
switch(mode) {
|
|
||||||
case Mode.Globals:
|
|
||||||
Column2.ReadOnly = false;
|
Column2.ReadOnly = false;
|
||||||
Column3.ReadOnly = false;
|
Column3.ReadOnly = false;
|
||||||
Column2.HeaderText = "Value (Int)";
|
Column2.HeaderText = "Value (Int)";
|
||||||
Column3.HeaderText = "Value (Float)";
|
Column3.HeaderText = "Value (Float)";
|
||||||
bEdit.Enabled=false;
|
dataGridView1.SelectionMode = DataGridViewSelectionMode.CellSelect;
|
||||||
|
dataGridView1.SuspendLayout();
|
||||||
|
dataGridView1.Rows.Clear();
|
||||||
|
switch (mode) {
|
||||||
|
case Mode.Globals:
|
||||||
for (int i = 0; i < connection.Globals.Length; i++) {
|
for (int i = 0; i < connection.Globals.Length; i++) {
|
||||||
string name = GlobNames.ContainsKey(i) ? GlobNames[i] : "";
|
string name = GlobNames.ContainsKey(i) ? GlobNames[i] : "";
|
||||||
dataGridView1.Rows.Add(i, name, connection.Globals[i], converter.GetAsFloat(connection.Globals[i]));
|
dataGridView1.Rows.Add(i, name, connection.Globals[i], converter.GetAsFloat(connection.Globals[i]));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Mode.MapVars:
|
case Mode.MapVars:
|
||||||
Column2.ReadOnly=false;
|
|
||||||
Column3.ReadOnly=false;
|
|
||||||
Column2.HeaderText="Value (Int)";
|
|
||||||
Column3.HeaderText="Value (Float)";
|
|
||||||
bEdit.Enabled=false;
|
|
||||||
for (int i = 0; i < connection.MapVars.Length; i++) {
|
for (int i = 0; i < connection.MapVars.Length; i++) {
|
||||||
dataGridView1.Rows.Add(i, "", connection.MapVars[i], converter.GetAsFloat(connection.MapVars[i]));
|
dataGridView1.Rows.Add(i, "", connection.MapVars[i], converter.GetAsFloat(connection.MapVars[i]));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Mode.SGlobals:
|
case Mode.SGlobals:
|
||||||
Column2.ReadOnly=false;
|
|
||||||
Column3.ReadOnly=false;
|
|
||||||
Column2.HeaderText="Value (Int)";
|
|
||||||
Column3.HeaderText="Value (Float)";
|
|
||||||
bEdit.Enabled=false;
|
|
||||||
for (int i = 0; i < connection.SGlobalKeys.Length; i++) {
|
for (int i = 0; i < connection.SGlobalKeys.Length; i++) {
|
||||||
string s=connection.SGlobalKeys[i]>0xffffffff?new string(System.Text.ASCIIEncoding.ASCII.GetChars(converter.GetAsBytes(connection.SGlobalKeys[i]))):("0x"+connection.SGlobalKeys[i].ToString("x"));
|
string s = connection.SGlobalKeys[i] > 0xffffffff
|
||||||
|
? new string(System.Text.ASCIIEncoding.ASCII.GetChars(converter.GetAsBytes(connection.SGlobalKeys[i])))
|
||||||
|
: (connection.SGlobalKeys[i].ToString());
|
||||||
dataGridView1.Rows.Add(s, "", connection.sGlobals[i], converter.GetAsFloat(connection.sGlobals[i]));
|
dataGridView1.Rows.Add(s, "", connection.sGlobals[i], converter.GetAsFloat(connection.sGlobals[i]));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Mode.Arrays:
|
case Mode.Arrays:
|
||||||
|
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
|
||||||
Column2.ReadOnly = true;
|
Column2.ReadOnly = true;
|
||||||
Column3.ReadOnly = true;
|
Column3.ReadOnly = true;
|
||||||
Column2.HeaderText="Array length";
|
Column2.HeaderText = "Array size";
|
||||||
Column3.HeaderText="Element size";
|
Column3.HeaderText = "Array flags";
|
||||||
bEdit.Enabled = true;
|
bEdit.Enabled = true;
|
||||||
for (int i = 0; i < connection.Arrays.Length; i++) {
|
for (int i = 0; i < connection.Arrays.Length; i++) {
|
||||||
dataGridView1.Rows.Add(connection.Arrays[i], "", connection.ArrayLengths[i], connection.ArrayDataSizes[i]);
|
bool isMap = connection.ArrayIsMap[i];
|
||||||
|
int arrlen = connection.ArrayLengths[i];
|
||||||
|
if (isMap) arrlen /= 2;
|
||||||
|
dataGridView1.Rows.Add(connection.Arrays[i], isMap ? "Map" : "", arrlen, "0x" + connection.ArrayFlag[i].ToString("x").ToUpper());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Mode.Critters:
|
case Mode.Critters:
|
||||||
|
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
|
||||||
Column2.ReadOnly = true;
|
Column2.ReadOnly = true;
|
||||||
Column3.ReadOnly = true;
|
Column3.ReadOnly = true;
|
||||||
Column2.HeaderText="pid";
|
Column2.HeaderText = "PID";
|
||||||
Column3.HeaderText="";
|
Column3.HeaderText = "Pointer";
|
||||||
bEdit.Enabled = true;
|
bEdit.Enabled = true;
|
||||||
for(int i=0;i<connection.Critters.Length;i++) {
|
for (int i = 0; i < connection.Critters.Length / 2; i++) {
|
||||||
uint modcrit=(connection.Critters[i]&0xfffff);
|
uint modcrit = (connection.Critters[i, 0] & 0xfffff);
|
||||||
string name = CritNames.ContainsKey(modcrit) ? CritNames[modcrit] : "";
|
string name = CritNames.ContainsKey(modcrit) ? CritNames[modcrit] : "";
|
||||||
dataGridView1.Rows.Add(i+1, name, connection.Critters[i].ToString("x"), "");
|
dataGridView1.Rows.Add(i + 1, name, connection.Critters[i, 0].ToString("x").ToUpper(), connection.Critters[i, 1].ToString());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -110,7 +110,15 @@ namespace FalloutClient {
|
|||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
this.connection = connection;
|
this.connection = connection;
|
||||||
mode = Mode.Globals;
|
mode = Mode.Globals;
|
||||||
if(File.Exists("globals.txt")) {
|
if (File.Exists(".\\data\\data\\vault13.gam")) {
|
||||||
|
StreamReader sr=new StreamReader(".\\data\\data\\vault13.gam");
|
||||||
|
int gvar = 0;
|
||||||
|
while (!sr.EndOfStream) {
|
||||||
|
string line = sr.ReadLine().TrimStart();
|
||||||
|
if (line.StartsWith("GVAR_")) GlobNames[gvar++] = line.Remove(line.IndexOf(':')).TrimEnd();
|
||||||
|
}
|
||||||
|
sr.Close();
|
||||||
|
} else if (File.Exists("globals.txt")) {
|
||||||
StreamReader sr = new StreamReader("globals.txt");
|
StreamReader sr = new StreamReader("globals.txt");
|
||||||
while (!sr.EndOfStream) {
|
while (!sr.EndOfStream) {
|
||||||
string[] line = sr.ReadLine().Split(' ');
|
string[] line = sr.ReadLine().Split(' ');
|
||||||
@@ -179,8 +187,9 @@ namespace FalloutClient {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (e.ColumnIndex == 2) {
|
if (e.ColumnIndex == 2) {
|
||||||
|
string str = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
|
||||||
int val;
|
int val;
|
||||||
if(!int.TryParse(dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString(), out val)) {
|
if (str == null || !int.TryParse(str, out val)) {
|
||||||
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = array[e.RowIndex];
|
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = array[e.RowIndex];
|
||||||
} else {
|
} else {
|
||||||
array[e.RowIndex] = val;
|
array[e.RowIndex] = val;
|
||||||
@@ -189,8 +198,9 @@ namespace FalloutClient {
|
|||||||
connection.WriteInt(val);
|
connection.WriteInt(val);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
string str = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
|
||||||
float val;
|
float val;
|
||||||
if(!float.TryParse(dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString(), out val)) {
|
if (str == null || !float.TryParse(str, out val)) {
|
||||||
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = array[e.RowIndex];
|
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = array[e.RowIndex];
|
||||||
} else {
|
} else {
|
||||||
array[e.RowIndex] = converter.GetAsInt(val);
|
array[e.RowIndex] = converter.GetAsInt(val);
|
||||||
@@ -202,21 +212,28 @@ namespace FalloutClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void bEdit_Click(object sender, EventArgs e) {
|
private void bEdit_Click(object sender, EventArgs e) {
|
||||||
if(dataGridView1.SelectedRows.Count!=1) return;
|
if (dataGridView1.SelectedRows.Count == 0) return;
|
||||||
int i=dataGridView1.SelectedRows[0].Index;
|
int i = (int)dataGridView1.SelectedRows[0].Tag;
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case Mode.Arrays: {
|
case Mode.Arrays: {
|
||||||
DataType[] types = new DataType[connection.ArrayLengths[i]];
|
DataType[] types = new DataType[connection.ArrayLengths[i]];
|
||||||
|
int[] lenType = new int[connection.ArrayLengths[i]];
|
||||||
string[] strings = new string[connection.ArrayLengths[i]];
|
string[] strings = new string[connection.ArrayLengths[i]];
|
||||||
connection.WriteDataType(DataTypeSend.GetArray);
|
connection.WriteDataType(DataTypeSend.GetArray); // code
|
||||||
connection.WriteInt(i);
|
connection.WriteInt(i); // index
|
||||||
for(int j=0;j<strings.Length;j++) types[j]=(DataType)connection.ReadInt();
|
int lenData = 0;
|
||||||
byte[] buf=connection.ReadBytes(connection.ArrayLengths[i]*connection.ArrayDataSizes[i]);
|
for (int j = 0; j < strings.Length; j++) {
|
||||||
MemoryStream ms=new MemoryStream(buf);
|
types[j] = (DataType)connection.ReadInt();
|
||||||
BinaryReader br=new BinaryReader(ms);
|
lenType[j] = connection.ReadInt(); // len data of type
|
||||||
|
lenData += lenType[j];
|
||||||
|
}
|
||||||
|
byte[] buf = connection.ReadBytes(lenData); // read data
|
||||||
|
BinaryReader br = new BinaryReader(new MemoryStream(buf));
|
||||||
for (int j = 0; j < strings.Length; j++) {
|
for (int j = 0; j < strings.Length; j++) {
|
||||||
ms.Position=j*connection.ArrayDataSizes[i];
|
|
||||||
switch (types[j]) {
|
switch (types[j]) {
|
||||||
|
case DataType.None:
|
||||||
|
br.BaseStream.Position += 4;
|
||||||
|
break;
|
||||||
case DataType.Int:
|
case DataType.Int:
|
||||||
strings[j] = br.ReadInt32().ToString();
|
strings[j] = br.ReadInt32().ToString();
|
||||||
break;
|
break;
|
||||||
@@ -224,21 +241,21 @@ namespace FalloutClient {
|
|||||||
strings[j] = br.ReadSingle().ToString();
|
strings[j] = br.ReadSingle().ToString();
|
||||||
break;
|
break;
|
||||||
case DataType.String:
|
case DataType.String:
|
||||||
byte[] bytes=br.ReadBytes(connection.ArrayDataSizes[i]);
|
byte[] bytes = br.ReadBytes(lenType[j]);
|
||||||
strings[j] = System.Text.Encoding.ASCII.GetString(bytes, 0, Array.IndexOf<byte>(bytes, 0));
|
strings[j] = System.Text.Encoding.ASCII.GetString(bytes, 0, Array.IndexOf<byte>(bytes, 0));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
br.Close();
|
br.Close();
|
||||||
strings=EditorWindow.ShowEditor(null, types, strings);
|
strings = EditorWindow.ShowEditor(this, null, types, strings, connection.ArrayIsMap[i]);
|
||||||
if(strings!=null) {
|
if (strings != null) { // save
|
||||||
connection.WriteDataType(DataTypeSend.SetArray);
|
MemoryStream ms = new MemoryStream(lenData);
|
||||||
connection.WriteInt(i);
|
|
||||||
ms=new MemoryStream(connection.ArrayLengths[i]*connection.ArrayDataSizes[i]);
|
|
||||||
BinaryWriter bw = new BinaryWriter(ms);
|
BinaryWriter bw = new BinaryWriter(ms);
|
||||||
for (int j = 0; j < strings.Length; j++) {
|
for (int j = 0; j < strings.Length; j++) {
|
||||||
ms.Position=j*connection.ArrayDataSizes[i];
|
|
||||||
switch (types[j]) {
|
switch (types[j]) {
|
||||||
|
case DataType.None:
|
||||||
|
bw.BaseStream.Position += 4;
|
||||||
|
break;
|
||||||
case DataType.Int:
|
case DataType.Int:
|
||||||
bw.Write(int.Parse(strings[j]));
|
bw.Write(int.Parse(strings[j]));
|
||||||
break;
|
break;
|
||||||
@@ -247,54 +264,81 @@ namespace FalloutClient {
|
|||||||
break;
|
break;
|
||||||
case DataType.String:
|
case DataType.String:
|
||||||
byte[] bytes = System.Text.Encoding.ASCII.GetBytes(strings[j]);
|
byte[] bytes = System.Text.Encoding.ASCII.GetBytes(strings[j]);
|
||||||
if(bytes.Length<connection.ArrayDataSizes[i]) bw.Write(bytes);
|
if (bytes.Length < lenType[j])
|
||||||
else bw.Write(bytes, 0, connection.ArrayDataSizes[i]-1);
|
bw.Write(bytes);
|
||||||
bw.Write(0);
|
else
|
||||||
|
bw.Write(bytes, 0, lenType[j] - 1);
|
||||||
|
bw.Write((byte)0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
connection.WriteBytes(ms.GetBuffer(), 0, connection.ArrayLengths[i]*connection.ArrayDataSizes[i]);
|
// send data to sfall
|
||||||
|
connection.WriteDataType(DataTypeSend.SetArray);
|
||||||
|
connection.WriteInt(i); // index
|
||||||
|
connection.WriteInt(lenData);
|
||||||
|
connection.WriteBytes(ms.GetBuffer(), 0, lenData);
|
||||||
bw.Close();
|
bw.Close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Mode.Critters: {
|
case Mode.Critters: {
|
||||||
DataType[] types=new DataType[29];
|
DataType[] types = new DataType[33];
|
||||||
string[] strings=new string[29];
|
string[] strings = new string[33];
|
||||||
string[] names=new string[29];
|
string[] names = new string[33];
|
||||||
connection.WriteDataType(DataTypeSend.RetrieveCritter);
|
connection.WriteDataType(DataTypeSend.RetrieveCritter);
|
||||||
connection.WriteInt(i);
|
connection.WriteInt(i);
|
||||||
BinaryReader br=new BinaryReader(new System.IO.MemoryStream(connection.ReadBytes(29*4)));
|
BinaryReader br = new BinaryReader(new System.IO.MemoryStream(connection.ReadBytes(33 * 4)));
|
||||||
for(int j=0;j<29;j++) {
|
for (int j = 0; j < 33; j++) {
|
||||||
types[j] = DataType.Int;
|
types[j] = DataType.Int;
|
||||||
strings[j] = br.ReadInt32().ToString();
|
strings[j] = br.ReadInt32().ToString();
|
||||||
names[j]="0x"+(j*4).ToString("x");
|
|
||||||
}
|
}
|
||||||
br.Close();
|
br.Close();
|
||||||
|
names[0] = " ID";
|
||||||
names[1] = " Tile";
|
names[1] = " Tile";
|
||||||
|
names[6] = " Current frame";
|
||||||
|
names[7] = " Rotation";
|
||||||
|
names[8] = " FID";
|
||||||
|
names[9] = " Flags";
|
||||||
names[10] = " Elevation";
|
names[10] = " Elevation";
|
||||||
names[11] = " Inventory count";
|
names[11] = " Inventory count";
|
||||||
names[13] = " Inventory pointer";
|
names[13] = " Inventory pointer";
|
||||||
|
names[14] = " Reaction";
|
||||||
|
names[15] = " Combat state";
|
||||||
names[16] = " Current AP";
|
names[16] = " Current AP";
|
||||||
names[17]="Crippled limbs";
|
names[17] = " Combat flags";
|
||||||
|
names[18] = " Last Turn Damage";
|
||||||
|
names[19] = " AI Packet";
|
||||||
|
names[20] = " Team";
|
||||||
|
names[21] = " Who hit me";
|
||||||
names[22] = " HP";
|
names[22] = " HP";
|
||||||
names[23] = " Rads";
|
names[23] = " Rads";
|
||||||
names[24] = " Poison";
|
names[24] = " Poison";
|
||||||
names[25] = " Proto ID";
|
names[25] = " Proto ID";
|
||||||
strings=EditorWindow.ShowEditor(names, types, strings);
|
names[26] = " Combat ID";
|
||||||
|
names[29] = " Outline flags";
|
||||||
|
names[30] = " Script ID";
|
||||||
|
names[32] = " Script index";
|
||||||
|
strings = EditorWindow.ShowEditor(this, names, types, strings);
|
||||||
if (strings != null) {
|
if (strings != null) {
|
||||||
MemoryStream ms=new MemoryStream(29*4);
|
MemoryStream ms = new MemoryStream(33 * 4);
|
||||||
BinaryWriter bw = new BinaryWriter(ms);
|
BinaryWriter bw = new BinaryWriter(ms);
|
||||||
for(int j=0;j<29;j++) bw.Write(int.Parse(strings[j]));
|
for (int j = 0; j < 33; j++) bw.Write(int.Parse(strings[j]));
|
||||||
connection.WriteDataType(DataTypeSend.SetCritter);
|
connection.WriteDataType(DataTypeSend.SetCritter);
|
||||||
connection.WriteInt(i);
|
connection.WriteInt(i);
|
||||||
connection.WriteBytes(ms.GetBuffer(), 0, 29*4);
|
connection.WriteBytes(ms.GetBuffer(), 0, 33 * 4);
|
||||||
bw.Close();
|
bw.Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e) {
|
||||||
|
bEdit.PerformClick();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e) {
|
||||||
|
dataGridView1.Rows[e.RowIndex].Tag = e.RowIndex;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,9 @@ using System.Net.Sockets;
|
|||||||
using System.IO;
|
using System.IO;
|
||||||
|
|
||||||
namespace FalloutClient {
|
namespace FalloutClient {
|
||||||
class EditorConnection {
|
|
||||||
|
class EditorConnection
|
||||||
|
{
|
||||||
private TcpClient client;
|
private TcpClient client;
|
||||||
private NetworkStream stream;
|
private NetworkStream stream;
|
||||||
private BinaryReader br;
|
private BinaryReader br;
|
||||||
@@ -11,12 +13,13 @@ namespace FalloutClient {
|
|||||||
|
|
||||||
public readonly int[] Globals;
|
public readonly int[] Globals;
|
||||||
public readonly int[] MapVars;
|
public readonly int[] MapVars;
|
||||||
public readonly uint[] Critters;
|
public readonly uint[,] Critters;
|
||||||
public readonly ulong[] SGlobalKeys;
|
public readonly ulong[] SGlobalKeys;
|
||||||
public readonly int[] sGlobals;
|
public readonly int[] sGlobals;
|
||||||
public readonly uint[] Arrays;
|
public readonly uint[] Arrays;
|
||||||
public readonly int[] ArrayLengths;
|
public readonly int[] ArrayLengths;
|
||||||
public readonly int[] ArrayDataSizes;
|
public readonly int[] ArrayFlag;
|
||||||
|
public readonly bool[] ArrayIsMap;
|
||||||
|
|
||||||
public EditorConnection() {
|
public EditorConnection() {
|
||||||
System.Threading.Thread.Sleep(1000);
|
System.Threading.Thread.Sleep(1000);
|
||||||
@@ -30,8 +33,9 @@ namespace FalloutClient {
|
|||||||
sGlobals = new int[SGlobalKeys.Length];
|
sGlobals = new int[SGlobalKeys.Length];
|
||||||
Arrays = new uint[br.ReadInt32()];
|
Arrays = new uint[br.ReadInt32()];
|
||||||
ArrayLengths = new int[Arrays.Length];
|
ArrayLengths = new int[Arrays.Length];
|
||||||
ArrayDataSizes=new int[Arrays.Length];
|
ArrayFlag = new int[Arrays.Length];
|
||||||
Critters=new uint[br.ReadInt32()];
|
ArrayIsMap = new bool[Arrays.Length];
|
||||||
|
Critters = new uint[br.ReadInt32(), 2];
|
||||||
|
|
||||||
for (int i = 0; i < Globals.Length; i++) Globals[i] = br.ReadInt32();
|
for (int i = 0; i < Globals.Length; i++) Globals[i] = br.ReadInt32();
|
||||||
for (int i = 0; i < MapVars.Length; i++) MapVars[i] = br.ReadInt32();
|
for (int i = 0; i < MapVars.Length; i++) MapVars[i] = br.ReadInt32();
|
||||||
@@ -42,10 +46,14 @@ namespace FalloutClient {
|
|||||||
}
|
}
|
||||||
for (int i = 0; i < Arrays.Length; i++) {
|
for (int i = 0; i < Arrays.Length; i++) {
|
||||||
Arrays[i] = br.ReadUInt32();
|
Arrays[i] = br.ReadUInt32();
|
||||||
|
ArrayIsMap[i] = (br.ReadInt32() != 0);
|
||||||
ArrayLengths[i] = br.ReadInt32();
|
ArrayLengths[i] = br.ReadInt32();
|
||||||
ArrayDataSizes[i]=br.ReadInt32();
|
ArrayFlag[i] = br.ReadInt32();
|
||||||
|
}
|
||||||
|
for (int i = 0; i < Critters.Length / 2; i++) {
|
||||||
|
Critters[i, 0] = br.ReadUInt32();
|
||||||
|
Critters[i, 1] = br.ReadUInt32();
|
||||||
}
|
}
|
||||||
for(int i=0;i<Critters.Length;i++) Critters[i]=br.ReadUInt32();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Close() {
|
public void Close() {
|
||||||
@@ -59,10 +67,12 @@ namespace FalloutClient {
|
|||||||
stream.WriteByte((byte)type);
|
stream.WriteByte((byte)type);
|
||||||
//bw.Write((byte)type);
|
//bw.Write((byte)type);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void WriteByte(byte b) { bw.Write(b); }
|
public void WriteByte(byte b) { bw.Write(b); }
|
||||||
public void WriteInt16(short value) { bw.Write(value); }
|
public void WriteInt16(short value) { bw.Write(value); }
|
||||||
public void WriteInt(int value) { bw.Write(value); }
|
public void WriteInt(int value) { bw.Write(value); }
|
||||||
public void WriteBytes(byte[] buf) { bw.Write(buf); }
|
public void WriteBytes(byte[] buf) { bw.Write(buf); }
|
||||||
|
|
||||||
public void WriteBytes(byte[] buf, int start, int len) {
|
public void WriteBytes(byte[] buf, int start, int len) {
|
||||||
bw.Write(buf, start, len);
|
bw.Write(buf, start, len);
|
||||||
}
|
}
|
||||||
|
|||||||
Generated
+22
-8
@@ -34,8 +34,8 @@
|
|||||||
//
|
//
|
||||||
// bSave
|
// bSave
|
||||||
//
|
//
|
||||||
this.bSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
this.bSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||||
this.bSave.Location = new System.Drawing.Point(281, 265);
|
this.bSave.Location = new System.Drawing.Point(12, 336);
|
||||||
this.bSave.Name = "bSave";
|
this.bSave.Name = "bSave";
|
||||||
this.bSave.Size = new System.Drawing.Size(75, 23);
|
this.bSave.Size = new System.Drawing.Size(75, 23);
|
||||||
this.bSave.TabIndex = 0;
|
this.bSave.TabIndex = 0;
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
// bCancel
|
// bCancel
|
||||||
//
|
//
|
||||||
this.bCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
this.bCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.bCancel.Location = new System.Drawing.Point(200, 265);
|
this.bCancel.Location = new System.Drawing.Point(371, 336);
|
||||||
this.bCancel.Name = "bCancel";
|
this.bCancel.Name = "bCancel";
|
||||||
this.bCancel.Size = new System.Drawing.Size(75, 23);
|
this.bCancel.Size = new System.Drawing.Size(75, 23);
|
||||||
this.bCancel.TabIndex = 1;
|
this.bCancel.TabIndex = 1;
|
||||||
@@ -58,47 +58,61 @@
|
|||||||
//
|
//
|
||||||
this.dataGridView1.AllowUserToAddRows = false;
|
this.dataGridView1.AllowUserToAddRows = false;
|
||||||
this.dataGridView1.AllowUserToDeleteRows = false;
|
this.dataGridView1.AllowUserToDeleteRows = false;
|
||||||
|
this.dataGridView1.AllowUserToResizeRows = false;
|
||||||
this.dataGridView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
this.dataGridView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||||
| System.Windows.Forms.AnchorStyles.Left)
|
| System.Windows.Forms.AnchorStyles.Left)
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
this.dataGridView1.ColumnHeadersHeight = 22;
|
||||||
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||||
this.Column1,
|
this.Column1,
|
||||||
this.Column2,
|
this.Column2,
|
||||||
this.Column3});
|
this.Column3});
|
||||||
this.dataGridView1.Location = new System.Drawing.Point(12, 12);
|
this.dataGridView1.Location = new System.Drawing.Point(12, 12);
|
||||||
|
this.dataGridView1.MultiSelect = false;
|
||||||
this.dataGridView1.Name = "dataGridView1";
|
this.dataGridView1.Name = "dataGridView1";
|
||||||
this.dataGridView1.Size = new System.Drawing.Size(344, 247);
|
this.dataGridView1.RowHeadersVisible = false;
|
||||||
|
this.dataGridView1.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
|
||||||
|
this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.CellSelect;
|
||||||
|
this.dataGridView1.Size = new System.Drawing.Size(434, 318);
|
||||||
this.dataGridView1.TabIndex = 2;
|
this.dataGridView1.TabIndex = 2;
|
||||||
this.dataGridView1.CellEndEdit += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellEndEdit);
|
this.dataGridView1.CellEndEdit += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellEndEdit);
|
||||||
//
|
//
|
||||||
// Column1
|
// Column1
|
||||||
//
|
//
|
||||||
this.Column1.HeaderText = "Name";
|
this.Column1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
|
||||||
|
this.Column1.HeaderText = "Element";
|
||||||
this.Column1.Name = "Column1";
|
this.Column1.Name = "Column1";
|
||||||
this.Column1.ReadOnly = true;
|
this.Column1.ReadOnly = true;
|
||||||
|
this.Column1.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
|
||||||
//
|
//
|
||||||
// Column2
|
// Column2
|
||||||
//
|
//
|
||||||
this.Column2.HeaderText = "Type";
|
this.Column2.HeaderText = "Type";
|
||||||
this.Column2.Name = "Column2";
|
this.Column2.Name = "Column2";
|
||||||
this.Column2.ReadOnly = true;
|
this.Column2.ReadOnly = true;
|
||||||
|
this.Column2.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
|
||||||
|
this.Column2.Width = 75;
|
||||||
//
|
//
|
||||||
// Column3
|
// Column3
|
||||||
//
|
//
|
||||||
this.Column3.HeaderText = "Value";
|
this.Column3.HeaderText = "Value";
|
||||||
this.Column3.Name = "Column3";
|
this.Column3.Name = "Column3";
|
||||||
|
this.Column3.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
|
||||||
|
this.Column3.Width = 150;
|
||||||
//
|
//
|
||||||
// EditorWindow
|
// EditorWindow
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.ClientSize = new System.Drawing.Size(368, 300);
|
this.ClientSize = new System.Drawing.Size(458, 371);
|
||||||
this.Controls.Add(this.dataGridView1);
|
this.Controls.Add(this.dataGridView1);
|
||||||
this.Controls.Add(this.bCancel);
|
this.Controls.Add(this.bCancel);
|
||||||
this.Controls.Add(this.bSave);
|
this.Controls.Add(this.bSave);
|
||||||
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow;
|
||||||
|
this.MinimumSize = new System.Drawing.Size(300, 200);
|
||||||
this.Name = "EditorWindow";
|
this.Name = "EditorWindow";
|
||||||
this.Text = "EditorWindow";
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
|
this.Text = "Edit Values";
|
||||||
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
|||||||
+23
-10
@@ -3,27 +3,38 @@ using System.Collections.Generic;
|
|||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace FalloutClient {
|
namespace FalloutClient {
|
||||||
|
|
||||||
public enum DataType : int { None = 0, Int = 1, Float = 2, String = 3 }
|
public enum DataType : int { None = 0, Int = 1, Float = 2, String = 3 }
|
||||||
public partial class EditorWindow : Form {
|
|
||||||
|
public partial class EditorWindow : Form
|
||||||
|
{
|
||||||
private readonly DataType[] types;
|
private readonly DataType[] types;
|
||||||
private readonly string[] values;
|
private readonly string[] values;
|
||||||
private bool save;
|
private bool save;
|
||||||
|
|
||||||
private EditorWindow(string[] names, DataType[] types, string[] values) {
|
private EditorWindow(string[] names, DataType[] types, string[] values, bool isMap) {
|
||||||
this.types = types;
|
this.types = types;
|
||||||
this.values = values;
|
this.values = values;
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
dataGridView1.SuspendLayout();
|
dataGridView1.SuspendLayout();
|
||||||
if(names==null) for(int i=0;i<types.Length;i++) dataGridView1.Rows.Add(i.ToString(), types[i].ToString(), values[i]);
|
if (names == null)
|
||||||
else for(int i=0;i<types.Length;i++) dataGridView1.Rows.Add(names[i], types[i].ToString(), values[i]);
|
for (int i = 0; i < types.Length; i++) {
|
||||||
|
string element = i.ToString();
|
||||||
|
if (isMap && (i % 2) == 0) element += " - Key";
|
||||||
|
dataGridView1.Rows.Add(element, types[i].ToString(), values[i]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
for (int i = 0; i < types.Length; i++) dataGridView1.Rows.Add("[0x" + (i * 4).ToString("x").ToUpper() + "]" + names[i], types[i].ToString(), values[i]);
|
||||||
dataGridView1.ResumeLayout();
|
dataGridView1.ResumeLayout();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string[] ShowEditor(string[] names, DataType[] types, string[] values) {
|
public static string[] ShowEditor(DebugEditor form, string[] names, DataType[] types, string[] values, bool isMap = false) {
|
||||||
EditorWindow editor=new EditorWindow(names, types, values);
|
EditorWindow editor = new EditorWindow(names, types, values, isMap);
|
||||||
editor.ShowDialog();
|
editor.ShowDialog();
|
||||||
if(editor.save) return editor.values;
|
if (editor.save)
|
||||||
else return null;
|
return editor.values;
|
||||||
|
else
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool CheckInput(DataType type, string str) {
|
private bool CheckInput(DataType type, string str) {
|
||||||
@@ -40,8 +51,10 @@ namespace FalloutClient {
|
|||||||
|
|
||||||
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e) {
|
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e) {
|
||||||
string str = (string)dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
|
string str = (string)dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
|
||||||
if(CheckInput(types[e.RowIndex], str)) values[e.RowIndex]=str;
|
if (str != null && CheckInput(types[e.RowIndex], str))
|
||||||
else dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value=values[e.RowIndex];
|
values[e.RowIndex] = str;
|
||||||
|
else
|
||||||
|
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = values[e.RowIndex];
|
||||||
}
|
}
|
||||||
|
|
||||||
private void bCancel_Click(object sender, EventArgs e) {
|
private void bCancel_Click(object sender, EventArgs e) {
|
||||||
|
|||||||
+9
-3
@@ -15,14 +15,20 @@ namespace FalloutClient {
|
|||||||
if (args.Length == 1 && args[0] == "-debugedit") {
|
if (args.Length == 1 && args[0] == "-debugedit") {
|
||||||
Application.Run(new DebugEditor(new EditorConnection()));
|
Application.Run(new DebugEditor(new EditorConnection()));
|
||||||
} else {
|
} else {
|
||||||
throw new Exception("Multiplayer is no longer supported");
|
MessageBox.Show("The debug editor can only be run from the game.",
|
||||||
|
"sfall Debug Editor", MessageBoxButtons.OK, MessageBoxIcon.Stop);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
enum DataTypeSend {
|
enum DataTypeSend {
|
||||||
Mouse=0, LMouseDown=1, LMouseUp=2, RMouseDown=3, RMouseUp=4, TakeChar=5, ReleaseChar=6,
|
SetGlobal = 0,
|
||||||
SetGlobal=0, SetMapVar=1, RetrieveCritter=2, SetCritter=3, SetSGlobal=4, GetArray=9, SetArray=10,
|
SetMapVar = 1,
|
||||||
|
RetrieveCritter = 2,
|
||||||
|
SetCritter = 3,
|
||||||
|
SetSGlobal = 4,
|
||||||
|
GetArray = 9,
|
||||||
|
SetArray = 10,
|
||||||
Exit = 254
|
Exit = 254
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,12 +5,12 @@ using System.Runtime.InteropServices;
|
|||||||
// General Information about an assembly is controlled through the following
|
// General Information about an assembly is controlled through the following
|
||||||
// set of attributes. Change these attribute values to modify the information
|
// set of attributes. Change these attribute values to modify the information
|
||||||
// associated with an assembly.
|
// associated with an assembly.
|
||||||
[assembly: AssemblyTitle("FalloutClient")]
|
[assembly: AssemblyTitle("sfall Debug Editor")]
|
||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("")]
|
[assembly: AssemblyCompany("")]
|
||||||
[assembly: AssemblyProduct("FalloutClient")]
|
[assembly: AssemblyProduct("sfall")]
|
||||||
[assembly: AssemblyCopyright("Copyright © 2009")]
|
[assembly: AssemblyCopyright("Copyright © 2019")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
|
|||||||
// Build Number
|
// Build Number
|
||||||
// Revision
|
// Revision
|
||||||
//
|
//
|
||||||
[assembly: AssemblyVersion("1.0.0.0")]
|
[assembly: AssemblyVersion("4.1.7.0")]
|
||||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
[assembly: AssemblyFileVersion("4.1.7.0")]
|
||||||
|
|||||||
@@ -16,6 +16,21 @@
|
|||||||
<UpgradeBackupLocation>
|
<UpgradeBackupLocation>
|
||||||
</UpgradeBackupLocation>
|
</UpgradeBackupLocation>
|
||||||
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
|
||||||
|
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||||
|
<PublishUrl>publish\</PublishUrl>
|
||||||
|
<Install>true</Install>
|
||||||
|
<InstallFrom>Disk</InstallFrom>
|
||||||
|
<UpdateEnabled>false</UpdateEnabled>
|
||||||
|
<UpdateMode>Foreground</UpdateMode>
|
||||||
|
<UpdateInterval>7</UpdateInterval>
|
||||||
|
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||||
|
<UpdatePeriodically>false</UpdatePeriodically>
|
||||||
|
<UpdateRequired>false</UpdateRequired>
|
||||||
|
<MapFileExtensions>true</MapFileExtensions>
|
||||||
|
<ApplicationRevision>0</ApplicationRevision>
|
||||||
|
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||||
|
<UseApplicationTrust>false</UseApplicationTrust>
|
||||||
|
<BootstrapperEnabled>false</BootstrapperEnabled>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>true</DebugSymbols>
|
||||||
@@ -33,6 +48,8 @@
|
|||||||
<DefineConstants>TRACE</DefineConstants>
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
<ErrorReport>prompt</ErrorReport>
|
<ErrorReport>prompt</ErrorReport>
|
||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
|
<CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
@@ -62,6 +79,18 @@
|
|||||||
<DependentUpon>EditorWindow.cs</DependentUpon>
|
<DependentUpon>EditorWindow.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||||
|
<Visible>False</Visible>
|
||||||
|
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||||
|
<Install>false</Install>
|
||||||
|
</BootstrapperPackage>
|
||||||
|
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||||
|
<Visible>False</Visible>
|
||||||
|
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||||
|
<Install>false</Install>
|
||||||
|
</BootstrapperPackage>
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
Other similar extension points exist, see Microsoft.Common.targets.
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
@@ -71,6 +100,7 @@
|
|||||||
</Target>
|
</Target>
|
||||||
-->
|
-->
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<PostBuildEvent>copy "$(TargetPath)" "C:\Games\Fallout2\$(TargetName)$(TargetExt)"</PostBuildEvent>
|
<PostBuildEvent>
|
||||||
|
</PostBuildEvent>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||||
# Visual Studio 2010
|
# Visual Studio 2010
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MPClient", "MPClient.csproj", "{80ED0DCE-100E-4EC9-A79D-2FBFA4CAD1E3}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SfallDebugEditor", "SfallDebugEditor.csproj", "{80ED0DCE-100E-4EC9-A79D-2FBFA4CAD1E3}"
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
@@ -14,15 +14,16 @@ Part_0=1 ; Tell sfall that we want to modify the head entries
|
|||||||
|
|
||||||
[c_00_0] ; The entries for the head table of the men critter type.
|
[c_00_0] ; The entries for the head table of the men critter type.
|
||||||
e0_DamageMultiplier=100 ;First level critical
|
e0_DamageMultiplier=100 ;First level critical
|
||||||
e0_EffectFlags=0
|
e0_EffectFlags=0 ; The value of the flags (see DAM_* in Define.h)
|
||||||
|
; For multiple effects, use the sum of the flags (e.g. 2050 = knocked down + bypass armor)
|
||||||
e0_StatCheck=0
|
e0_StatCheck=0
|
||||||
e0_StatMod=0
|
e0_StatMod=0
|
||||||
e0_FailureEffect=0
|
e0_FailureEffect=0
|
||||||
e0_Message=0 ; This is an index into the msg file, not a string
|
e0_Message=0 ; This is an index into the msg file, not a string
|
||||||
e0_FailMessage=0
|
e0_FailMessage=0
|
||||||
e1_... ; Second level critical
|
;e1_... ; Second level critical
|
||||||
... ; And so on up to the hardest hitting level 5 critical
|
;... ; And so on up to the hardest hitting level 5 critical
|
||||||
e5_...
|
;e5_...
|
||||||
|
|
||||||
;You can skip any entries from this section to leave them at their defaults
|
;You can skip any entries from this section to leave them at their defaults
|
||||||
;Any missing entries for critters 19-37 will be replaced by a 0, since they have no default
|
;Any missing entries for critters 19-37 will be replaced by a 0, since they have no default
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
; Allows you to configure advanced settings for drugs.
|
||||||
|
; Maximum 50 drugs are allowed
|
||||||
|
; Note: for vanilla drugs, you can only override the values of NumEffect and AddictTime parameters
|
||||||
|
|
||||||
|
[main]
|
||||||
|
; set to 1 to change Jet addiction to be removed after the time expires
|
||||||
|
JetWithdrawal=0
|
||||||
|
|
||||||
|
; total number of drugs in this file
|
||||||
|
Count=0
|
||||||
|
|
||||||
|
; count starts from 1
|
||||||
|
[1]
|
||||||
|
; drug item PID
|
||||||
|
PID=0
|
||||||
|
; set a limit on the count of first and second delayed effects when using the drug, i.e. if the queue has delayed effects from the drug,
|
||||||
|
; and their count is greater or equal to NumEffects, it is not possible to obtain new effects from using the drug
|
||||||
|
; this count is 4 for Buffout/Mentats/Psycho/Jet
|
||||||
|
; set -1 to leave this parameter unchanged
|
||||||
|
NumEffects=-1
|
||||||
|
; the duration of the addiction effect in game minutes (i.e. 1440 = 24 game hours)
|
||||||
|
; set to 0 to use the default time (7 days for all drugs except Jet)
|
||||||
|
AddictTime=0
|
||||||
|
; the number of the global variable from vault13.gam responsible for displaying addiction in the character screen
|
||||||
|
; set to 0 if the addiction is not required
|
||||||
|
GvarID=0
|
||||||
|
; the index number from editor.msg to display the title of the addiction (the description uses the index number of TextID + 100)
|
||||||
|
TextID=-1
|
||||||
|
; the line number (0-indexed) of the corresponding FRM in skilldex.lst
|
||||||
|
FrmID=-1
|
||||||
@@ -7,8 +7,8 @@
|
|||||||
; have an additional NoHardcode option in this file which can
|
; have an additional NoHardcode option in this file which can
|
||||||
; be used to remove their hardcoded effects, and add new stat/skill effects
|
; be used to remove their hardcoded effects, and add new stat/skill effects
|
||||||
|
|
||||||
;Name=The name of the perk
|
;Name=The name of the perk (max 63 characters)
|
||||||
;Desc=The description of the perk
|
;Desc=The description of the perk (max 255 characters)
|
||||||
;Image=The line number (0-indexed) of the corresponding FRM in skilldex.lst
|
;Image=The line number (0-indexed) of the corresponding FRM in skilldex.lst
|
||||||
;Ranks=The number of perk levels
|
;Ranks=The number of perk levels
|
||||||
;Level=The minimum required level
|
;Level=The minimum required level
|
||||||
@@ -35,10 +35,18 @@
|
|||||||
|
|
||||||
;If the value is set to -99999, the variable will be ignored (similar to comment out that line)
|
;If the value is set to -99999, the variable will be ignored (similar to comment out that line)
|
||||||
|
|
||||||
;This is a modification to perk 119
|
;You can add simple extra perks with ID numbers from 119 to 255
|
||||||
[119]
|
; that do not require using scripting functions to change player stats, and can also be used for Armor perks
|
||||||
|
;These parameters are only for extra perks
|
||||||
|
;Stat1-Stat2 = same as Stat
|
||||||
|
;Stat1Mag-Stat2Mag = same as StatMag
|
||||||
|
;Skill3-Skill5 = The skill to be modified (or -1 for none)
|
||||||
|
;Skill3Mod-Skill5Mod = The increased/decreased value to the modified skill
|
||||||
|
|
||||||
|
;This is a modification to vanilla perk 0
|
||||||
|
[0]
|
||||||
Name=Example
|
Name=Example
|
||||||
Desc=This is an example perk~Second line
|
Desc=This is an example perk description
|
||||||
Image=72
|
Image=72
|
||||||
Ranks=1
|
Ranks=1
|
||||||
Level=1
|
Level=1
|
||||||
@@ -57,6 +65,39 @@ INT=0
|
|||||||
AGL=0
|
AGL=0
|
||||||
LCK=0
|
LCK=0
|
||||||
|
|
||||||
|
;Example for creating extra perks
|
||||||
|
[119]
|
||||||
|
Name=Extra Perk
|
||||||
|
Desc=This perk can change player stats and skills
|
||||||
|
Image=72
|
||||||
|
Ranks=1
|
||||||
|
Level=2
|
||||||
|
Type=0
|
||||||
|
Stat=-1
|
||||||
|
StatMag=0
|
||||||
|
Skill1=-1
|
||||||
|
Skill1Mag=0
|
||||||
|
Skill2=-1
|
||||||
|
Skill2Mag=0
|
||||||
|
STR=0
|
||||||
|
PER=0
|
||||||
|
END=0
|
||||||
|
CHR=0
|
||||||
|
INT=0
|
||||||
|
AGL=0
|
||||||
|
LCK=0
|
||||||
|
; for extra perks only
|
||||||
|
Stat1=-1
|
||||||
|
Stat1Mag=0
|
||||||
|
Stat2=-1
|
||||||
|
Stat2Mag=0
|
||||||
|
Skill3=-1
|
||||||
|
Skill3Mod=0
|
||||||
|
Skill4=-1
|
||||||
|
Skill4Mod=0
|
||||||
|
Skill5=-1
|
||||||
|
Skill5Mod=0
|
||||||
|
|
||||||
;This is a modification to trait 0
|
;This is a modification to trait 0
|
||||||
[t0]
|
[t0]
|
||||||
NoHardcode=0
|
NoHardcode=0
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
[sfall]
|
[sfall]
|
||||||
SaveInCombat=Cannot save at this time
|
SaveInCombat=Cannot save at this time.
|
||||||
KarmaGain=You gained %d karma.
|
KarmaGain=You gained %d karma.
|
||||||
KarmaLoss=You lost %d karma.
|
KarmaLoss=You lost %d karma.
|
||||||
HighlightFail1=You aren't carrying a motion sensor.
|
HighlightFail1=You aren't carrying a motion sensor.
|
||||||
@@ -7,8 +7,12 @@ HighlightFail2=Your motion sensor is out of charge.
|
|||||||
SuperStimExploitMsg=You cannot use a super stim on someone who is not injured!
|
SuperStimExploitMsg=You cannot use a super stim on someone who is not injured!
|
||||||
BlockedCombat=You cannot enter combat at this time.
|
BlockedCombat=You cannot enter combat at this time.
|
||||||
SaveSfallDataFail=ERROR saving extended savegame information! Check if other programs interfere with savegame files/folders and try again.
|
SaveSfallDataFail=ERROR saving extended savegame information! Check if other programs interfere with savegame files/folders and try again.
|
||||||
|
PartyLvlMsg=Lvl:
|
||||||
|
PartyACMsg=AC:
|
||||||
|
PartyAddictMsg=Addict
|
||||||
|
NPCPickupFail=%s cannot pick up the item.
|
||||||
|
|
||||||
[AppearanceMod]
|
[AppearanceMod]
|
||||||
RaceText=Race
|
RaceText=Race
|
||||||
StyleText=Style
|
StyleText=Style
|
||||||
MainButtonText=Appearance
|
DoneBtn=Done
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
; Allows to reassign books to different object PIDs, text messages.
|
; Allows to reassign books to different object PIDs, text messages, and skills.
|
||||||
; Maximum 30 books are allowed (25 if overrideVanilla is 0)
|
; Maximum 50 books are allowed
|
||||||
|
|
||||||
[main]
|
[main]
|
||||||
; total number of books in this file
|
; total number of books in this file
|
||||||
count=5
|
count=1
|
||||||
|
|
||||||
; set to 1 to override all vanilla books, so you will have to define ALL books in this file;
|
; set to 1 to override all vanilla books, so you will have to define ALL the necessary books in this file;
|
||||||
; otherwise only new books are defined here
|
; otherwise only new books are defined here. To just override the text/skill of a vanilla book,
|
||||||
|
; specify its PID in the new book and set the parameters
|
||||||
overrideVanilla=0
|
overrideVanilla=0
|
||||||
|
|
||||||
; count starts from 1
|
; count starts from 1
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
;Controls the elevators
|
;Controls the elevators
|
||||||
;Image must match up with the image of an existing elevator
|
;Image must match up with the image of an existing elevator (can be overrided in sfall 4.1.4/3.8.14 or newer)
|
||||||
;Make sure you specify the correct number of exit targets
|
;Make sure you specify the correct number of exit targets
|
||||||
;The maximum number of elevators is currently capped at 50
|
;The maximum number of elevators is currently capped at 50
|
||||||
|
;Use the line number (0-indexed) of the corresponding FRM in intrface.lst to set the appearance of the elevator
|
||||||
|
|
||||||
;Override elevator 0
|
;Override elevator 0
|
||||||
[000]
|
[0]
|
||||||
;This elevator uses the frm of the original forth elevator
|
;This elevator will use the settings of the original forth elevator
|
||||||
Image=4
|
Image=4
|
||||||
|
|
||||||
;Set up the first exit point
|
;Set up the first exit point
|
||||||
@@ -24,3 +25,22 @@ Elevation3=0
|
|||||||
Tile3=12944
|
Tile3=12944
|
||||||
|
|
||||||
;No forth exit point
|
;No forth exit point
|
||||||
|
|
||||||
|
;Override FRM images of elevator 0. Set ButtonsFrm to -1 to use default buttons from MainFrm
|
||||||
|
MainFrm=143
|
||||||
|
ButtonsFrm=-1
|
||||||
|
|
||||||
|
|
||||||
|
;An example of a new elevator
|
||||||
|
[24]
|
||||||
|
;Set Image to 24 to create a new elevator type (0-23 are the original elevator types)
|
||||||
|
Image=24
|
||||||
|
|
||||||
|
;Set the number of buttons
|
||||||
|
ButtonCount=3
|
||||||
|
|
||||||
|
;Set the appearance of the elevator
|
||||||
|
MainFrm=148
|
||||||
|
ButtonsFrm=151
|
||||||
|
|
||||||
|
;Set up the exit points for all three buttons (see examples above)
|
||||||
|
|||||||
@@ -1,3 +1,15 @@
|
|||||||
|
;WeaponAnims codes
|
||||||
|
; 1 - Knife (D)
|
||||||
|
; 2 - Club (E)
|
||||||
|
; 3 - Sledgehammer (F)
|
||||||
|
; 4 - Spear (G)
|
||||||
|
; 5 - Pistol (H)
|
||||||
|
; 6 - SMG (I)
|
||||||
|
; 7 - Rifle (J)
|
||||||
|
; 8 - Big Gun (K)
|
||||||
|
; 9 - Minigun (L)
|
||||||
|
; 10 - Rocket Launcher (M)
|
||||||
|
; 11-15 - sfall additional weapon animation codes
|
||||||
|
|
||||||
; This section maps 7 armor types to corresponding armor item PIDs
|
; This section maps 7 armor types to corresponding armor item PIDs
|
||||||
[ArmorTypes]
|
[ArmorTypes]
|
||||||
@@ -19,6 +31,7 @@ Robe=16777218
|
|||||||
; Sulik
|
; Sulik
|
||||||
[1]
|
[1]
|
||||||
PID=16777313
|
PID=16777313
|
||||||
|
WeaponAnims=1,3,4,6
|
||||||
Default=16777280
|
Default=16777280
|
||||||
Leather=16777325
|
Leather=16777325
|
||||||
Power=16777324
|
Power=16777324
|
||||||
@@ -29,6 +42,7 @@ Combat=16777322
|
|||||||
; Vic
|
; Vic
|
||||||
[2]
|
[2]
|
||||||
PID=16777278
|
PID=16777278
|
||||||
|
WeaponAnims=1,5,7
|
||||||
Default=16777307
|
Default=16777307
|
||||||
Jacket=16777329
|
Jacket=16777329
|
||||||
Combat=16777330
|
Combat=16777330
|
||||||
@@ -39,6 +53,7 @@ Leather=16777333
|
|||||||
; Cassidy
|
; Cassidy
|
||||||
[3]
|
[3]
|
||||||
PID=16777305
|
PID=16777305
|
||||||
|
WeaponAnims=4,5,7
|
||||||
Default=16777354
|
Default=16777354
|
||||||
Leather=16777260
|
Leather=16777260
|
||||||
Power=16777328
|
Power=16777328
|
||||||
@@ -49,6 +64,7 @@ Combat=16777326
|
|||||||
; Myron
|
; Myron
|
||||||
[4]
|
[4]
|
||||||
PID=16777376
|
PID=16777376
|
||||||
|
WeaponAnims=1,5
|
||||||
Default=16777304
|
Default=16777304
|
||||||
Leather=
|
Leather=
|
||||||
Power=16777349
|
Power=16777349
|
||||||
@@ -57,6 +73,7 @@ Combat=16777350
|
|||||||
; Cat Jules
|
; Cat Jules
|
||||||
[5]
|
[5]
|
||||||
PID=16777734
|
PID=16777734
|
||||||
|
WeaponAnims=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
|
||||||
Default=16777353
|
Default=16777353
|
||||||
Leather=16777347
|
Leather=16777347
|
||||||
Metal=16777348
|
Metal=16777348
|
||||||
@@ -66,6 +83,7 @@ Combat=16777226
|
|||||||
; Kitsune
|
; Kitsune
|
||||||
[6]
|
[6]
|
||||||
PID=16777724
|
PID=16777724
|
||||||
|
WeaponAnims=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
|
||||||
Default=16777222
|
Default=16777222
|
||||||
Leather=16777221
|
Leather=16777221
|
||||||
Metal=16777223
|
Metal=16777223
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
[Highlighting]
|
[Highlighting]
|
||||||
|
|
||||||
; DX scandode of a key to press to highlight items on the ground
|
; DX scancode of a key to press to highlight items on the ground
|
||||||
; 42 - SHIFT key
|
; 42 - SHIFT key
|
||||||
Key=42
|
Key=42
|
||||||
|
|
||||||
; Set to 1 to also highlight containers
|
; Set to 1 to also highlight containers
|
||||||
Containers=1
|
Containers=1
|
||||||
|
|
||||||
; Set to 1 to also highlight corpses
|
; Set to 1 to also highlight lootable corpses
|
||||||
Corpses=1
|
Corpses=1
|
||||||
|
|
||||||
; Set to 1 to only highlight objects in the player's line-of-sight
|
; Set to 1 to only highlight objects in the player's line-of-sight
|
||||||
@@ -38,3 +38,20 @@ MotionScanner=0
|
|||||||
;If you want to control only specific critters, uncomment the PIDList line and set a comma delimited list of PIDs
|
;If you want to control only specific critters, uncomment the PIDList line and set a comma delimited list of PIDs
|
||||||
Mode=0
|
Mode=0
|
||||||
;PIDList=62,89,97,107,160,161
|
;PIDList=62,89,97,107,160,161
|
||||||
|
|
||||||
|
;Choose a notification box to display the name of the controlled critter above the interface bar
|
||||||
|
;Must be between 5 and (4 + the value of BoxBarCount in ddraw.ini)
|
||||||
|
;For sfall 4.1.6+ the number for the notification box is set automatically, so just use any value
|
||||||
|
;Set to 0 to disable
|
||||||
|
DisplayName=0
|
||||||
|
|
||||||
|
;Set the color of display name, available colors:
|
||||||
|
;0 - green
|
||||||
|
;1 - red
|
||||||
|
;2 - white
|
||||||
|
;3 - yellow
|
||||||
|
;4 - dark yellow
|
||||||
|
;5 - blue
|
||||||
|
;6 - purple
|
||||||
|
;7 - dull pink
|
||||||
|
DisplayNameColor=0
|
||||||
|
|||||||
+201
-56
@@ -1,12 +1,20 @@
|
|||||||
;sfall configuration settings
|
;sfall configuration settings
|
||||||
;v4.0.1
|
;v4.1.8
|
||||||
|
|
||||||
[Main]
|
[Main]
|
||||||
;Change to 1 if you want to use command line args to tell sfall to use another ini file.
|
;Change to 1 if you want to use command line args to tell sfall to use another ini file.
|
||||||
UseCommandLine=0
|
UseCommandLine=0
|
||||||
|
|
||||||
;Uncomment and point to a file to get alternate translations for some sfall messages
|
;Uncomment and point to a file to get alternate translations for some sfall messages
|
||||||
;TranslationsINI=./Translations.ini
|
;TranslationsINI=.\Translations.ini
|
||||||
|
|
||||||
|
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||||
|
[ExtraPatches]
|
||||||
|
;This section allows you to set multiple paths to folders containing mods or patches that will be loaded by the game
|
||||||
|
;The priority of read files will be higher than the files in patchXXX.dat. If DataLoadOrderPatch is enabled, the data load order will be:
|
||||||
|
;master_patches > critter_patches > PatchFile99 - PatchFile0 > patchXXX.dat > ...
|
||||||
|
;Paths to folders and Fallout .dat files are supported. The available range for PatchFile option names is from 0 to 99
|
||||||
|
;PatchFile0=mods\RP_data
|
||||||
|
|
||||||
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||||
[Sound]
|
[Sound]
|
||||||
@@ -17,11 +25,12 @@ NumSoundBuffers=0
|
|||||||
;Set to 1 to allow attaching sound files to combat float messages
|
;Set to 1 to allow attaching sound files to combat float messages
|
||||||
AllowSoundForFloats=1
|
AllowSoundForFloats=1
|
||||||
|
|
||||||
;Set to 1 to automatically search for alternative formats when Fallout tries to play an acm
|
;Set to 1 to automatically search for alternative formats (mp3/wma/wav) when Fallout tries to play an acm
|
||||||
|
;Set to 2 to play alternative music files even if original acm files are not present in the music folder
|
||||||
;This does not effect the play_sfall_sound and stop_sfall_sound script functions
|
;This does not effect the play_sfall_sound and stop_sfall_sound script functions
|
||||||
AllowDShowSound=0
|
AllowDShowSound=0
|
||||||
|
|
||||||
;Set to 1 to override the music path used by default if not present in the cfg
|
;Set to 1 to override the music path used by default (i.e. data\sound\music\) if not present in the cfg
|
||||||
;Set to 2 to overwrite all occurances of the music path
|
;Set to 2 to overwrite all occurances of the music path
|
||||||
OverrideMusicDir=2
|
OverrideMusicDir=2
|
||||||
|
|
||||||
@@ -33,18 +42,21 @@ Enable=1
|
|||||||
;The speeds corresponding to each slot in percent. (i.e. 100 is normal speed)
|
;The speeds corresponding to each slot in percent. (i.e. 100 is normal speed)
|
||||||
SpeedMulti0=50
|
SpeedMulti0=50
|
||||||
SpeedMulti1=100
|
SpeedMulti1=100
|
||||||
SpeedMulti2=150
|
SpeedMulti2=200
|
||||||
SpeedMulti3=200
|
SpeedMulti3=300
|
||||||
SpeedMulti4=300
|
SpeedMulti4=400
|
||||||
SpeedMulti5=500
|
SpeedMulti5=500
|
||||||
SpeedMulti6=1000
|
SpeedMulti6=600
|
||||||
SpeedMulti7=100
|
SpeedMulti7=700
|
||||||
SpeedMulti8=100
|
SpeedMulti8=800
|
||||||
SpeedMulti9=100
|
SpeedMulti9=900
|
||||||
|
|
||||||
;The initial speed at game startup
|
;The initial speed at game startup
|
||||||
SpeedMultiInitial=100
|
SpeedMultiInitial=100
|
||||||
|
|
||||||
|
;Set to 1 to also affect the playback speed of mve video files without an audio track
|
||||||
|
AffectPlayback=0
|
||||||
|
|
||||||
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||||
[Graphics]
|
[Graphics]
|
||||||
;Set to 0 for 8 bit fullscreen
|
;Set to 0 for 8 bit fullscreen
|
||||||
@@ -66,13 +78,24 @@ GraphicsHeight=0
|
|||||||
;GPU is faster, but requires v2.0 pixel shader support
|
;GPU is faster, but requires v2.0 pixel shader support
|
||||||
GPUBlt=0
|
GPUBlt=0
|
||||||
|
|
||||||
;Set to 1 to allow using 32 bit graphics for talking heads
|
;Set to 1 to allow using 32-bit textures for talking heads
|
||||||
;Requires graphics mode 4 or 5, and GPUBlt set to 1
|
;The texture files should be placed in art\heads\<name of the talking head FRM file>\ (w/o extension)
|
||||||
|
;The files in the folder should be numbered according to the number of frames in the talking head FRM file (0.png, 1.png, etc.)
|
||||||
|
;See the text file in the modders pack for a detailed description
|
||||||
|
;Requires DX9 graphics mode and v2.0 pixel shader support (see GPUBlt option)
|
||||||
Use32BitHeadGraphics=0
|
Use32BitHeadGraphics=0
|
||||||
|
|
||||||
|
;Set to 1 to automatically search for alternative avi video files when Fallout tries to play the game movies
|
||||||
|
;Requires graphics mode 4 or 5
|
||||||
|
AllowDShowMovies=0
|
||||||
|
|
||||||
|
;Fade effect time percentage modifier
|
||||||
|
;Default is 100. Decrease/increase this value to speed up/slow down fade effects
|
||||||
|
FadeMultiplier=100
|
||||||
|
|
||||||
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||||
[Input]
|
[Input]
|
||||||
;Set to 1 to enable the mouse scroll wheel to scroll through your inventory
|
;Set to 1 to enable the mouse scroll wheel to scroll through the inventory, barter, and loot screens
|
||||||
UseScrollWheel=1
|
UseScrollWheel=1
|
||||||
|
|
||||||
;The mouse Z position is divided by this modifier to calculate the number of inventory
|
;The mouse Z position is divided by this modifier to calculate the number of inventory
|
||||||
@@ -107,7 +130,7 @@ SpeedModKey=-1
|
|||||||
|
|
||||||
;A key to press to toggle the speed tweak on or off
|
;A key to press to toggle the speed tweak on or off
|
||||||
;Specify 0 if you don't want a toggle key, or a DX scancode otherwise
|
;Specify 0 if you don't want a toggle key, or a DX scancode otherwise
|
||||||
SpeedToggleKey=0x00
|
SpeedToggleKey=0
|
||||||
|
|
||||||
;The keys corresponding to the 10 speed slots
|
;The keys corresponding to the 10 speed slots
|
||||||
;Set to 0 to disable a slot, otherwise specify the DX scancode of the key you want to use
|
;Set to 0 to disable a slot, otherwise specify the DX scancode of the key you want to use
|
||||||
@@ -128,19 +151,28 @@ SpeedKey9=0x00
|
|||||||
WindowScrollKey=0
|
WindowScrollKey=0
|
||||||
|
|
||||||
;A key to press to reload your currently equipped weapon
|
;A key to press to reload your currently equipped weapon
|
||||||
|
;Set to 0 if you don't want a reload key, or a DX scancode otherwise
|
||||||
ReloadWeaponKey=0
|
ReloadWeaponKey=0
|
||||||
|
|
||||||
|
;A key to hold down to let you move/drop a whole stack of items at once without the 'Move Items' window
|
||||||
|
;Set to 0 if you don't want to use a modifier key, or a DX scancode otherwise
|
||||||
|
ItemFastMoveKey=29
|
||||||
|
|
||||||
|
;Set to 1 to skip the 'Move Items' window when taking items from containers or corpses and not holding down ItemFastMoveKey
|
||||||
|
;Requires ItemFastMoveKey to be enabled
|
||||||
|
FastMoveFromContainer=0
|
||||||
|
|
||||||
;A key to press to open a debug game editor
|
;A key to press to open a debug game editor
|
||||||
|
;Set to 0 to disable, or a DX scancode otherwise
|
||||||
|
;Requires sfall debugging mode and FalloutClient.exe from the modders pack
|
||||||
DebugEditorKey=0
|
DebugEditorKey=0
|
||||||
|
|
||||||
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||||
[Misc]
|
[Misc]
|
||||||
|
|
||||||
;Time limit in years. Must be between -3 and 13
|
;Time limit in years. Must be between -3 and 13
|
||||||
;Set to 0 if you want to die the instant you leave arroyo
|
;Set to 0 if you want to die the instant you leave arroyo
|
||||||
;Set to -1 to remove the time limit, and automatically reset the date back to 2241 each time you would have reached it
|
;Set to -1 to remove the time limit, and automatically reset the date back to 2241 each time you would have reached it
|
||||||
;Set to -2 to remove the time limit without resetting the date. The game will lock up on 8th of March 2255
|
;Set to -2 or -3 to remove the time limit, automatically reset the date, but override Fallout's GetDate function to return the correct year
|
||||||
;Set to -3 to remove the time limit, automatically reset the date, but override Fallout's GetDate function to return the correct year
|
|
||||||
TimeLimit=13
|
TimeLimit=13
|
||||||
|
|
||||||
;World map travel time percentage modifier
|
;World map travel time percentage modifier
|
||||||
@@ -148,9 +180,6 @@ TimeLimit=13
|
|||||||
;100 is normal speed, 0 stops time from passing
|
;100 is normal speed, 0 stops time from passing
|
||||||
WorldMapTimeMod=100
|
WorldMapTimeMod=100
|
||||||
|
|
||||||
;Set to 1 to enable functions relating to overriding the file system
|
|
||||||
UseFileSystemOverride=0
|
|
||||||
|
|
||||||
;Set to 1 to use the Fallout 1 code to control world map speed
|
;Set to 1 to use the Fallout 1 code to control world map speed
|
||||||
WorldMapFPSPatch=1
|
WorldMapFPSPatch=1
|
||||||
|
|
||||||
@@ -164,7 +193,7 @@ WorldMapEncounterRate=5
|
|||||||
|
|
||||||
;The number of slots available in the locations list panel of the world map
|
;The number of slots available in the locations list panel of the world map
|
||||||
;Set to 0 to leave unchanged. 17 is default.
|
;Set to 0 to leave unchanged. 17 is default.
|
||||||
;Setting this greater than 17 requires a replacement background frm, or you'll get glitched graphics
|
;Setting this greater than 17 requires a replacement background FRM, or you'll get glitched graphics
|
||||||
WorldMapSlots=0
|
WorldMapSlots=0
|
||||||
|
|
||||||
;To start a new game somewhere other than artemple.map, uncomment the next line and set it to the map you want to load
|
;To start a new game somewhere other than artemple.map, uncomment the next line and set it to the map you want to load
|
||||||
@@ -177,18 +206,22 @@ WorldMapSlots=0
|
|||||||
;To use a config file other than fallout2.cfg, uncomment the next line and add the name of your new file
|
;To use a config file other than fallout2.cfg, uncomment the next line and add the name of your new file
|
||||||
;ConfigFile=
|
;ConfigFile=
|
||||||
|
|
||||||
;To use a patch file other than patch000.dat, uncomment the next line and add your new file name
|
;Set to 1 to enable functions relating to overriding the file system
|
||||||
;If you want to check for multiple patch files, you can include a %d in the file name (sprintf syntax)
|
UseFileSystemOverride=0
|
||||||
;By default, only the first patch file found will be used.
|
|
||||||
;If you want to load multiple patch files (up to 1000) at once, uncomment the MultiPatches line and set it to 1
|
|
||||||
;PatchFile=patch%03d.dat
|
|
||||||
;MultiPatches=0
|
|
||||||
|
|
||||||
;Set to 1 to enable the modified data load order for the engine to find game data
|
;To use a patch file other than patch000.dat, uncomment the next line and add your new file name
|
||||||
|
;If you want to load multiple patch files (up to 1000) at once, you can include a %d in the file name (sprintf syntax)
|
||||||
|
;PatchFile=patch%03d.dat
|
||||||
|
|
||||||
|
;Set to 1 to use the modified data load order for the engine to find game data
|
||||||
;Original: patchXXX.dat > critter_patches > critter_dat > f2_res_patches > f2_res_dat > master_patches > master_dat
|
;Original: patchXXX.dat > critter_patches > critter_dat > f2_res_patches > f2_res_dat > master_patches > master_dat
|
||||||
;Modified: master_patches > critter_patches > patchXXX.dat > critter_dat > f2_res_patches > f2_res_dat > master_dat
|
;Modified: master_patches > critter_patches > patchXXX.dat > critter_dat > f2_res_patches > f2_res_dat > master_dat
|
||||||
DataLoadOrderPatch=0
|
DataLoadOrderPatch=0
|
||||||
|
|
||||||
|
;Set to 1 to enable loading alternative dialog msg files from text\<language>\dialog_female\ for female PC
|
||||||
|
;Set to 2 to also load subtitle files from text\<language>\cuts_female\ for female PC
|
||||||
|
FemaleDialogMsgs=0
|
||||||
|
|
||||||
;To change the default and starting player models, uncomment the next four lines.
|
;To change the default and starting player models, uncomment the next four lines.
|
||||||
;The default models can also be changed ingame via script
|
;The default models can also be changed ingame via script
|
||||||
;MaleStartModel=hmwarr
|
;MaleStartModel=hmwarr
|
||||||
@@ -223,7 +256,7 @@ Movie17=credits.mve
|
|||||||
;StartDay=-1
|
;StartDay=-1
|
||||||
|
|
||||||
;To change the limit of the distance away from the player to which you're allowed to scroll the local maps, uncomment the next two lines
|
;To change the limit of the distance away from the player to which you're allowed to scroll the local maps, uncomment the next two lines
|
||||||
;Defaults are 0x1E0 in the x direction and 0x190 in the y direction.
|
;Defaults are 480 in the x direction and 400 in the y direction.
|
||||||
;Not compatible with the res patch!
|
;Not compatible with the res patch!
|
||||||
;LocalMapXLimit=480
|
;LocalMapXLimit=480
|
||||||
;LocalMapYLimit=400
|
;LocalMapYLimit=400
|
||||||
@@ -288,7 +321,7 @@ SaveInCombatFix=1
|
|||||||
;Player's level is capped once the highest specified level is reached
|
;Player's level is capped once the highest specified level is reached
|
||||||
;XPTable=50,100,200
|
;XPTable=50,100,200
|
||||||
|
|
||||||
;Set to 1 to enable additional weapon animations codes from o-t
|
;Set to 1 to enable additional weapon animation codes from o-t
|
||||||
;The 4 byte value at 0x39 of weapon protos may range from 0 to 15 rather than 0 to 10
|
;The 4 byte value at 0x39 of weapon protos may range from 0 to 15 rather than 0 to 10
|
||||||
;Since the letters 'n' and 'r' are in use for other animations, an animation code of 11 corrisponds to 's' and 15 to 't'
|
;Since the letters 'n' and 'r' are in use for other animations, an animation code of 11 corrisponds to 's' and 15 to 't'
|
||||||
AdditionalWeaponAnims=1
|
AdditionalWeaponAnims=1
|
||||||
@@ -322,6 +355,11 @@ PlayIdleAnimOnReload=0
|
|||||||
;Set to 1 to prevent corpses from blocking line of fire
|
;Set to 1 to prevent corpses from blocking line of fire
|
||||||
CorpseLineOfFireFix=0
|
CorpseLineOfFireFix=0
|
||||||
|
|
||||||
|
;Changes the timer (in days) for deleting corpses on a map after you leave (valid range: 0..13)
|
||||||
|
;The corpses of critters with 'Ages' flag or on maps with 'dead_bodies_age=No' set in maps.txt will not disappear
|
||||||
|
;Default is 6. Set to 0 for a 12-hour timer
|
||||||
|
CorpseDeleteTime=6
|
||||||
|
|
||||||
;Set a number of milliseconds to idle each input loop
|
;Set a number of milliseconds to idle each input loop
|
||||||
;Set to -1 to disable
|
;Set to -1 to disable
|
||||||
;Set to 0 to idle only if other processes are waiting for processor time
|
;Set to 0 to idle only if other processes are waiting for processor time
|
||||||
@@ -329,22 +367,33 @@ CorpseLineOfFireFix=0
|
|||||||
ProcessorIdle=-1
|
ProcessorIdle=-1
|
||||||
|
|
||||||
;Set to 1 if using the hero appearance mod
|
;Set to 1 if using the hero appearance mod
|
||||||
|
;You can add AppChCrt.frm and AppChEdt.frm files to art\intrface\ to set a custom background for the character screen
|
||||||
EnableHeroAppearanceMod=0
|
EnableHeroAppearanceMod=0
|
||||||
|
|
||||||
;Set to 1 to skip the 3 opening movies
|
;Set to 1 to skip the 3 opening movies
|
||||||
SkipOpeningMovies=0
|
SkipOpeningMovies=0
|
||||||
|
|
||||||
;Causes NPCs who complete their combat turn with ap left over will try and find other ways to spend it.
|
;Causes NPCs who complete their combat turn with AP left over will try and find other ways to spend it.
|
||||||
;Only NPCs with ap left equal to or greater than the value given here will be considered.
|
;Only NPCs with AP left equal to or greater than the value given here will be considered.
|
||||||
;Set to 0 to disable
|
;Set to 0 to disable
|
||||||
NPCsTryToSpendExtraAP=0
|
NPCsTryToSpendExtraAP=0
|
||||||
|
|
||||||
|
;Set to 1 to fix NPCs not checking weapon perks properly when searching for the best weapon
|
||||||
|
;Note that enabling this option can significantly affect the weapon choice of some NPCs in combat
|
||||||
|
AIBestWeaponFix=0
|
||||||
|
|
||||||
|
;Set to 1 to fix NPCs not taking chem_primary_desire in AI.txt as drug use preference when using drugs in their inventory
|
||||||
|
AIDrugUsePerfFix=0
|
||||||
|
|
||||||
;Allows the use of tiles over 80*36 in size. sfall will just split and resave them at startup
|
;Allows the use of tiles over 80*36 in size. sfall will just split and resave them at startup
|
||||||
;Set to 1 to check all tiles on started (slow)
|
;Set to 1 to check all tiles on started (slow)
|
||||||
;Set to 2 if you provide a XLtiles.lst file in art/tiles/ containing a list of the tile ids that need checking
|
;Set to 2 if you provide a XLtiles.lst file in art\tiles\ containing a list of the tile ids that need checking
|
||||||
AllowLargeTiles=0
|
AllowLargeTiles=0
|
||||||
|
|
||||||
;Change the Skilldex cursor frm numbers
|
;Set to 1 to boost the maximum number of tile FRMs from 4096 to 16383
|
||||||
|
MoreTiles=0
|
||||||
|
|
||||||
|
;Change the Skilldex cursor FRM numbers
|
||||||
;Default is 293 for all skills
|
;Default is 293 for all skills
|
||||||
Lockpick=293
|
Lockpick=293
|
||||||
Steal=293
|
Steal=293
|
||||||
@@ -354,12 +403,15 @@ Doctor=293
|
|||||||
Science=293
|
Science=293
|
||||||
Repair=293
|
Repair=293
|
||||||
|
|
||||||
;Remove window position rounding
|
|
||||||
RemoveWindowRounding=0
|
|
||||||
|
|
||||||
;Set to 1 to add scroll buttons to the pipboy quest list, and remove the quests per area limit
|
;Set to 1 to add scroll buttons to the pipboy quest list, and remove the quests per area limit
|
||||||
|
;Set to 2 to use a different set of scroll buttons
|
||||||
UseScrollingQuestsList=1
|
UseScrollingQuestsList=1
|
||||||
|
|
||||||
|
;To change the location of quest list scroll buttons, uncomment the next two lines
|
||||||
|
;Defaults are 140 for the X-axis and 334 for the Y-axis
|
||||||
|
;QuestsScrollButtonsX=140
|
||||||
|
;QuestsScrollButtonsY=334
|
||||||
|
|
||||||
;Uncomment these lines to control the premade characters offered when starting a new game
|
;Uncomment these lines to control the premade characters offered when starting a new game
|
||||||
;Multiple options should be separated by commas, and there must be the same number of entries in both lines
|
;Multiple options should be separated by commas, and there must be the same number of entries in both lines
|
||||||
;PremadePaths=combat,diplomat,stealth
|
;PremadePaths=combat,diplomat,stealth
|
||||||
@@ -375,11 +427,20 @@ UseScrollingQuestsList=1
|
|||||||
;Set to 1 to add additional pages of save slots
|
;Set to 1 to add additional pages of save slots
|
||||||
ExtraSaveSlots=0
|
ExtraSaveSlots=0
|
||||||
|
|
||||||
|
;To use more than one save slot for quick saving (F6 key) without picking a slot beforehand, set the next two lines
|
||||||
|
;AutoQuickSave sets how many save slots on a page you want to use for quick saving (valid range: 1..10)
|
||||||
|
;AutoQuickSavePage is the page number to use (valid range: 1..1000) if ExtraSaveSlots is enabled
|
||||||
|
;The quick saves will be rotated from the first slot on the page to the n-th slot
|
||||||
|
;Set to 0 to disable. AutoQuickSave will use the current selected page if AutoQuickSavePage is disabled
|
||||||
|
AutoQuickSave=0
|
||||||
|
AutoQuickSavePage=0
|
||||||
|
|
||||||
;Set to 1 to speed up the HP/AC counter animations
|
;Set to 1 to speed up the HP/AC counter animations
|
||||||
;Set to 2 to update the HP/AC counters instantly
|
;Set to 2 to update the HP/AC counters instantly
|
||||||
|
;Set to 3 to update the AC counter instantly when switching to other controlled critters in combat
|
||||||
SpeedInterfaceCounterAnims=0
|
SpeedInterfaceCounterAnims=0
|
||||||
|
|
||||||
;These lines allow you to control the karma frm's displayed on the character screen
|
;These lines allow you to control the karma FRMs displayed on the character screen
|
||||||
;Number of KarmaPoints should be 1 less than number of KarmaFRMs
|
;Number of KarmaPoints should be 1 less than number of KarmaFRMs
|
||||||
;KarmaFRMs=47,48,49
|
;KarmaFRMs=47,48,49
|
||||||
;KarmaPoints=-100,100
|
;KarmaPoints=-100,100
|
||||||
@@ -391,8 +452,11 @@ ScienceOnCritters=0
|
|||||||
;Default is 166
|
;Default is 166
|
||||||
SpeedInventoryPCRotation=166
|
SpeedInventoryPCRotation=166
|
||||||
|
|
||||||
;Uncomment to set the text colour of the extra 5 interface boxes
|
;Modify the number of the extra interface boxes available to modders. (Default is 5, and the maximum is 95)
|
||||||
;The line must contain a 5 digits, each either a 0 for green or 1 for red
|
BoxBarCount=5
|
||||||
|
|
||||||
|
;Uncomment to set the text colour of the extra interface boxes
|
||||||
|
;The line must contain the same number of digits as the value of BoxBarCount, each either a 0 for green or 1 for red
|
||||||
;BoxBarColours=00000
|
;BoxBarColours=00000
|
||||||
|
|
||||||
;Set to 1 to fix the bug that caused bonus HtH damage to not be applied correctly.
|
;Set to 1 to fix the bug that caused bonus HtH damage to not be applied correctly.
|
||||||
@@ -401,6 +465,9 @@ BonusHtHDamageFix=1
|
|||||||
;Set to 1 to display additional points of damage from Bonus HtH/Ranged Damage perks in the inventory
|
;Set to 1 to display additional points of damage from Bonus HtH/Ranged Damage perks in the inventory
|
||||||
DisplayBonusDamage=0
|
DisplayBonusDamage=0
|
||||||
|
|
||||||
|
;Set to 1 to display the range of the second attack mode in the inventory when you switch weapon modes in active item slots
|
||||||
|
DisplaySecondWeaponRange=1
|
||||||
|
|
||||||
;Modify the maximum number of animations allowed to run on a map. (Default is 32, and the maximum is 127)
|
;Modify the maximum number of animations allowed to run on a map. (Default is 32, and the maximum is 127)
|
||||||
AnimationsAtOnceLimit=120
|
AnimationsAtOnceLimit=120
|
||||||
|
|
||||||
@@ -420,23 +487,28 @@ NPCStage6Fix=0
|
|||||||
;2 - Restoring the -1 AP bonus for HtH attacks (i.e. Fallout 1 behaviour)
|
;2 - Restoring the -1 AP bonus for HtH attacks (i.e. Fallout 1 behaviour)
|
||||||
FastShotFix=1
|
FastShotFix=1
|
||||||
|
|
||||||
|
;Set to 1 to boost the maximum number of script names from 1450 to 10000
|
||||||
|
BoostScriptDialogLimit=0
|
||||||
|
|
||||||
;Allows you to edit the skill tables
|
;Allows you to edit the skill tables
|
||||||
;Point the next line at an ini file containing the replacement skill data
|
;Point the next line at an ini file containing the replacement skill data
|
||||||
;SkillsFile=Skills.ini
|
;SkillsFile=Skills.ini
|
||||||
|
|
||||||
;Set to 1 to boost the maximum number of script names from 1450 to 10000
|
|
||||||
BoostScriptDialogLimit=0
|
|
||||||
|
|
||||||
;To change the relationship between SPECIAL stats and derived stats, uncomment the next line
|
;To change the relationship between SPECIAL stats and derived stats, uncomment the next line
|
||||||
;See the Stats.ini in the modders pack for an example file
|
;See the Stats.ini in the modders pack for an example file
|
||||||
;DerivedStats=Stats.ini
|
;DerivedStats=Stats.ini
|
||||||
|
|
||||||
|
;Allows you to change some parameters for drugs and their addictions
|
||||||
|
;See the Drugs.ini in the modders pack for an example file
|
||||||
|
;DrugsFile=Drugs.ini
|
||||||
|
|
||||||
;These options modify the checks to see if a critter can carry an additional item, changing which items are counted towards the weight limit and adding an additional size check
|
;These options modify the checks to see if a critter can carry an additional item, changing which items are counted towards the weight limit and adding an additional size check
|
||||||
;Set the mode to 0 to disable the size check, 1 to apply to the PC only, 2 to apply to the PC and party members, or 3 to apply to all critters
|
;Set the mode to 0 to disable the size check, 1 to apply to the PC only, 2 to apply to the PC and party members, or 3 to apply to all critters
|
||||||
;Only the PC uses CritterInvSizeLimit. Other critters will use the extra unused stat (STAT_unused = 10)
|
;Only the PC uses CritterInvSizeLimit. Other critters will use the unused stat (STAT_unused = 10) or have the size limit of 100 if the stat is not set
|
||||||
;Add 4 to the mode to limit the weight check to used items only
|
;Add 4 to the mode to limit the weight check to used items only
|
||||||
|
;You can use line number 542/543 in proto.msg and line number 35 in inventry.msg to set up custom messages for item size
|
||||||
CritterInvSizeLimitMode=0
|
CritterInvSizeLimitMode=0
|
||||||
CritterInvSizeLimit=200
|
CritterInvSizeLimit=100
|
||||||
|
|
||||||
;Some bit flags to alter behaviour of the motion sensor
|
;Some bit flags to alter behaviour of the motion sensor
|
||||||
;1 - Allow sensor use on automap when motion sensor is in pack rather than hands
|
;1 - Allow sensor use on automap when motion sensor is in pack rather than hands
|
||||||
@@ -463,9 +535,24 @@ SuperStimExploitFix=0
|
|||||||
InventoryApCost=4
|
InventoryApCost=4
|
||||||
QuickPocketsApCostReduction=2
|
QuickPocketsApCostReduction=2
|
||||||
|
|
||||||
;Set to 1 to allow objects seeing through other objects with their ShootThru flag set
|
;Set to 1 to allow objects seeing through other objects that have their ShootThru flag set
|
||||||
|
;Note that enabling this option can cause unexpected NPC behavior in some situations
|
||||||
ObjCanSeeObj_ShootThru_Fix=0
|
ObjCanSeeObj_ShootThru_Fix=0
|
||||||
|
|
||||||
|
;Set to 1 to fix the broken obj_can_hear_obj script function
|
||||||
|
ObjCanHearObjFix=0
|
||||||
|
|
||||||
|
;Set to 1 to enable the mood argument of start_gdialog script function to be available for talking heads
|
||||||
|
;If the argument value is -1, the mood will be determined by the local variable 0 of the script (vanilla behavior)
|
||||||
|
StartGDialogFix=0
|
||||||
|
|
||||||
|
;Set to 1 to fix and repurpose the unused called_shot/num_attacks arguments of attack_complex script function
|
||||||
|
;This also changes the behavior of the result flags arguments
|
||||||
|
;called_shot - additional damage, when the damage received by the target is above the specified minimum damage
|
||||||
|
;num_attacks - the number of free action points on the first turn only
|
||||||
|
;attacker_results - unused, must be 0 or not equal to the target_results argument when specifying result flags for the target
|
||||||
|
AttackComplexFix=0
|
||||||
|
|
||||||
;Set to 1 to enable the balanced bullet distribution formula for burst attacks
|
;Set to 1 to enable the balanced bullet distribution formula for burst attacks
|
||||||
ComputeSprayMod=0
|
ComputeSprayMod=0
|
||||||
|
|
||||||
@@ -523,8 +610,8 @@ StackEmptyWeapons=0
|
|||||||
;If the amount of ammo boxes in the inventory is less than or equal to the reserve, only one box will be used
|
;If the amount of ammo boxes in the inventory is less than or equal to the reserve, only one box will be used
|
||||||
ReloadReserve=-1
|
ReloadReserve=-1
|
||||||
|
|
||||||
;Allows 9 options (lines of text) to be displayed correctly in a dialog window
|
;Set to 1 to change the counter in the 'Move Items' window to start at the maximum number of items
|
||||||
DialogOptions9Lines=1
|
ItemCounterDefaultMax=0
|
||||||
|
|
||||||
;Set to 1 to leave the music playing in dialogue with talking heads
|
;Set to 1 to leave the music playing in dialogue with talking heads
|
||||||
EnableMusicInDialogue=0
|
EnableMusicInDialogue=0
|
||||||
@@ -532,29 +619,74 @@ EnableMusicInDialogue=0
|
|||||||
;Set to 1 to prevent the player from running while sneaking without Silent Running perk
|
;Set to 1 to prevent the player from running while sneaking without Silent Running perk
|
||||||
DontTurnOffSneakIfYouRun=0
|
DontTurnOffSneakIfYouRun=0
|
||||||
|
|
||||||
;Set to 1 to fix the bug that unable to sell used geiger counters or stealth boys
|
;Changes the distance at which the player will switch to walking when trying to use objects (valid range: 0..3)
|
||||||
|
;Set to 0 to disable switching. (Default is 3)
|
||||||
|
UseWalkDistance=3
|
||||||
|
|
||||||
|
;Set to 1 to fix the bug of being unable to sell used geiger counters or stealth boys
|
||||||
CanSellUsedGeiger=1
|
CanSellUsedGeiger=1
|
||||||
|
|
||||||
;Set to 1 to fix the issue with being able to charge the car by using cells on other scenary/critters
|
;Set to 1 to fix the issue with being able to charge the car by using cells on other scenary/critters
|
||||||
|
;Set to 0 if another mod you're using has custom vehicles
|
||||||
CarChargingFix=1
|
CarChargingFix=1
|
||||||
|
|
||||||
;Set to 1 to skip weapon equip/unequip animations when performing various actions
|
;Set to 1 to skip weapon equip/unequip animations when performing various actions
|
||||||
InstantWeaponEquip=0
|
InstantWeaponEquip=0
|
||||||
|
|
||||||
;To add additional game msg files, uncomment the next line and set a comma delimited list of filenames without .msg extension
|
;To add additional game msg files, uncomment the next line and set a comma delimited list of filenames without .msg extension
|
||||||
|
;By default, the files will have consecutive numbers assigned beginning with 0
|
||||||
|
;You can use the syntax 'filename:number' to manually assign numbers to specific msg files, with each pair separated by a comma
|
||||||
|
;If a file after the specified pair does not have a number assigned, it will have the next consecutive number from the last pair
|
||||||
;You need to use the message_str_game script function to get messages from the files
|
;You need to use the message_str_game script function to get messages from the files
|
||||||
;ExtraGameMsgFileList=
|
;ExtraGameMsgFileList=
|
||||||
|
|
||||||
;Set to 1 to display numbered dialogue options
|
;Set to 1 to display numbered dialogue options
|
||||||
NumbersInDialogue=0
|
NumbersInDialogue=0
|
||||||
|
|
||||||
|
;Set to 1 to use Fallout's normal text font instead of DOS-like font on the world map
|
||||||
|
WorldMapFontPatch=0
|
||||||
|
|
||||||
|
;Set to 1 to keep the selected attack mode when moving the weapon between active item slots
|
||||||
|
KeepWeaponSelectMode=1
|
||||||
|
|
||||||
|
;Set to 1 to display full item description for weapon/ammo in the barter screen
|
||||||
|
FullItemDescInBarter=0
|
||||||
|
|
||||||
|
;Set to 1 to display experience points with the bonus from Swift Learner perk when gained from non-scripted situations
|
||||||
|
DisplaySwiftLearnerExp=1
|
||||||
|
|
||||||
|
;Set to 1 to display party member's current level/AC/addict flag on the combat control panel
|
||||||
|
PartyMemberExtraInfo=0
|
||||||
|
|
||||||
|
;Set to 1 to fix the bug of using First Aid/Doctor skills when using them on the player
|
||||||
|
;This will cause the party member to apply his/her skills when you use First Aid/Doctor skills on the player, but only if
|
||||||
|
;the player is standing next to the party member
|
||||||
|
;Note that because the related engine function is not fully implemented, enabling this option without a global script
|
||||||
|
;that overrides First Aid/Doctor functions has very limited usefulness
|
||||||
|
PartyMemberSkillFix=0
|
||||||
|
|
||||||
|
;Set to 1 to skip loading game settings from a saved game, except for the game/combat difficulty settings
|
||||||
|
;Set to 2 to also skip loading the game/combat difficulty settings
|
||||||
|
SkipLoadingGameSettings=0
|
||||||
|
|
||||||
|
;Set to 1 to prevent the inventory/loot/automap interfaces from being placed on top of other script-created windows
|
||||||
|
InterfaceDontMoveOnTop=0
|
||||||
|
|
||||||
|
;Overrides the global variable number used to show the special death message of the Modoc toilet explosion
|
||||||
|
;Set to -1 to disable the special death message when the global variable is set
|
||||||
|
SpecialDeathGVAR=491
|
||||||
|
|
||||||
|
;Set to 1 to disable the special handling of map IDs 19 and 37 in the engine when entering the maps
|
||||||
|
;Note that enabling this option can break the map changes in Modoc and Vault 15
|
||||||
|
DisableSpecialMapIDs=0
|
||||||
|
|
||||||
;Set to 1 to display sfall built-in credits at the bottom of credits.txt contents instead of at the top
|
;Set to 1 to display sfall built-in credits at the bottom of credits.txt contents instead of at the top
|
||||||
CreditsAtBottom=0
|
CreditsAtBottom=0
|
||||||
|
|
||||||
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||||||
[Scripts]
|
[Scripts]
|
||||||
;Comma-separated list of masked paths to load global scripts from
|
;Comma-separated list of masked paths to load global scripts from
|
||||||
;Only use single slash \ as directory separator
|
;Only use single backslash \ as the directory separator
|
||||||
;Paths outside of scripts folder are supported
|
;Paths outside of scripts folder are supported
|
||||||
GlobalScriptPaths=scripts\gl*.int,scripts\sfall\gl*.int
|
GlobalScriptPaths=scripts\gl*.int,scripts\sfall\gl*.int
|
||||||
|
|
||||||
@@ -567,8 +699,8 @@ GlobalScriptPaths=scripts\gl*.int,scripts\sfall\gl*.int
|
|||||||
Enable=0
|
Enable=0
|
||||||
|
|
||||||
;Fallout 2 Debug Patch
|
;Fallout 2 Debug Patch
|
||||||
;Set to 1 to enable debugging output to screen or 2 to create a debug.log file
|
;Set to 1 to send debug output to the screen, 2 to a debug.log file, or 3 to both the screen and a debug.log file
|
||||||
;While you don't need to create an environment variable, you do still need to set the appropriate lines in fallout2.cfg
|
;While you don't need to create an environment variable, you do still need to set the appropriate lines in fallout2.cfg:
|
||||||
;-------
|
;-------
|
||||||
;[debug]
|
;[debug]
|
||||||
;mode=environment
|
;mode=environment
|
||||||
@@ -586,21 +718,34 @@ DebugMode=0
|
|||||||
SkipCompatModeCheck=0
|
SkipCompatModeCheck=0
|
||||||
|
|
||||||
;Set to 1 to skip the executable file size check
|
;Set to 1 to skip the executable file size check
|
||||||
;Does not require enabling sfall debugging mode
|
;Does not require sfall debugging mode
|
||||||
SkipSizeCheck=0
|
SkipSizeCheck=0
|
||||||
|
|
||||||
;If you're testing changes to the Fallout exe, you can override the CRC that sfall looks for here
|
;If you're testing changes to the Fallout exe, you can override the CRC that sfall looks for here
|
||||||
;You can use several hex values, separated by commas
|
;You can use several hex values, separated by commas
|
||||||
;Does not require enabling sfall debugging mode
|
;Does not require sfall debugging mode
|
||||||
;ExtraCRC=0x00000000,0x00000000
|
;ExtraCRC=0x00000000,0x00000000
|
||||||
|
|
||||||
;Set to 1 to stop Fallout from deleting non readonly protos at startup
|
;Set to 1 to stop Fallout from deleting non read-only protos at startup
|
||||||
;Has pretty nasty side effects when saving/reloading, so don't use for regular gameplay
|
;Has pretty nasty side effects when saving/reloading, so don't use for regular gameplay
|
||||||
DontDeleteProtos=0
|
DontDeleteProtos=0
|
||||||
|
|
||||||
;Set to 1 to give scripts direct access to Fallout's address space, and to make arbitrary calls into Fallout's code
|
;Set to 1 to give scripts direct access to Fallout's address space, and to make arbitrary calls into Fallout's code
|
||||||
AllowUnsafeScripting=0
|
AllowUnsafeScripting=0
|
||||||
|
|
||||||
|
;Set to 1 to force sfall to search for global scripts every time the game loads rather than only once on the first game start
|
||||||
|
AlwaysFindScripts=0
|
||||||
|
|
||||||
|
;Set to 1 to force sfall to inject all hooks code into the game, even if corresponding hook scripts don't exist
|
||||||
|
InjectAllGameHooks=0
|
||||||
|
|
||||||
|
;Set to 1 to hide error messages in debug output when a null value is passed to the function as an object
|
||||||
|
HideObjIsNullMsg=0
|
||||||
|
|
||||||
|
;Set to 1 to force critters to display combat float messages
|
||||||
|
;Requires AllowSoundForFloats to be enabled
|
||||||
|
Test_ForceFloats=0
|
||||||
|
|
||||||
;These options control what output is saved in the debug log (sfall-log.txt)
|
;These options control what output is saved in the debug log (sfall-log.txt)
|
||||||
|
|
||||||
;Prints messages duing sfall initialization
|
;Prints messages duing sfall initialization
|
||||||
|
|||||||
@@ -0,0 +1,201 @@
|
|||||||
|
;Glovz's Damage Fix
|
||||||
|
|
||||||
|
; PID_EXPLOSIVE_ROCKET
|
||||||
|
[1]
|
||||||
|
pid=14
|
||||||
|
ac_adjust=-10
|
||||||
|
dr_adjust=0
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_10MM_JHP
|
||||||
|
[2]
|
||||||
|
pid=29
|
||||||
|
ac_adjust=0
|
||||||
|
dr_adjust=0
|
||||||
|
dam_mult=2
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_10MM_AP
|
||||||
|
[3]
|
||||||
|
pid=30
|
||||||
|
ac_adjust=-5
|
||||||
|
dr_adjust=0
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=2
|
||||||
|
|
||||||
|
; PID_44_MAGNUM_JHP
|
||||||
|
[4]
|
||||||
|
pid=31
|
||||||
|
ac_adjust=0
|
||||||
|
dr_adjust=-10
|
||||||
|
dam_mult=2
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_FLAMETHROWER_FUEL
|
||||||
|
[5]
|
||||||
|
pid=32
|
||||||
|
ac_adjust=-20
|
||||||
|
dr_adjust=0
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_14MM_AP
|
||||||
|
[6]
|
||||||
|
pid=33
|
||||||
|
ac_adjust=-5
|
||||||
|
dr_adjust=-30
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=2
|
||||||
|
|
||||||
|
; PID_223_FMJ
|
||||||
|
[7]
|
||||||
|
pid=34
|
||||||
|
ac_adjust=-15
|
||||||
|
dr_adjust=-15
|
||||||
|
dam_mult=2
|
||||||
|
dam_div=2
|
||||||
|
|
||||||
|
; PID_5MM_JHP
|
||||||
|
[8]
|
||||||
|
pid=35
|
||||||
|
ac_adjust=0
|
||||||
|
dr_adjust=-15
|
||||||
|
dam_mult=2
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_5MM_AP
|
||||||
|
[9]
|
||||||
|
pid=36
|
||||||
|
ac_adjust=-5
|
||||||
|
dr_adjust=-15
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=2
|
||||||
|
|
||||||
|
; PID_ROCKET_AP
|
||||||
|
[10]
|
||||||
|
pid=37
|
||||||
|
ac_adjust=-10
|
||||||
|
dr_adjust=0
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=2
|
||||||
|
|
||||||
|
; PID_SMALL_ENERGY_CELL
|
||||||
|
[11]
|
||||||
|
pid=38
|
||||||
|
ac_adjust=-20
|
||||||
|
dr_adjust=0
|
||||||
|
dam_mult=2
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_MICRO_FUSION_CELL
|
||||||
|
[12]
|
||||||
|
pid=39
|
||||||
|
ac_adjust=-20
|
||||||
|
dr_adjust=0
|
||||||
|
dam_mult=2
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_SHOTGUN_SHELLS
|
||||||
|
[13]
|
||||||
|
pid=95
|
||||||
|
ac_adjust=-15
|
||||||
|
dr_adjust=0
|
||||||
|
dam_mult=3
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_44_FMJ_MAGNUM
|
||||||
|
[14]
|
||||||
|
pid=111
|
||||||
|
ac_adjust=-5
|
||||||
|
dr_adjust=-10
|
||||||
|
dam_mult=2
|
||||||
|
dam_div=2
|
||||||
|
|
||||||
|
; PID_9MM_BALL
|
||||||
|
[15]
|
||||||
|
pid=121
|
||||||
|
ac_adjust=0
|
||||||
|
dr_adjust=0
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_BBS
|
||||||
|
[16]
|
||||||
|
pid=163
|
||||||
|
ac_adjust=0
|
||||||
|
dr_adjust=0
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_ROBO_ROCKET_AMMO
|
||||||
|
[17]
|
||||||
|
pid=274
|
||||||
|
ac_adjust=-10
|
||||||
|
dr_adjust=-10
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_45_CALIBER_AMMO
|
||||||
|
[18]
|
||||||
|
pid=357
|
||||||
|
ac_adjust=0
|
||||||
|
dr_adjust=-5
|
||||||
|
dam_mult=2
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_2MM_EC_AMMO
|
||||||
|
[19]
|
||||||
|
pid=358
|
||||||
|
ac_adjust=-25
|
||||||
|
dr_adjust=-20
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=3
|
||||||
|
|
||||||
|
; PID_4_7MM_CASELESS
|
||||||
|
[20]
|
||||||
|
pid=359
|
||||||
|
ac_adjust=-5
|
||||||
|
dr_adjust=-25
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=2
|
||||||
|
|
||||||
|
; PID_9MM_AMMO
|
||||||
|
[21]
|
||||||
|
pid=360
|
||||||
|
ac_adjust=0
|
||||||
|
dr_adjust=0
|
||||||
|
dam_mult=2
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_HN_NEEDLER_CARTRIDGE
|
||||||
|
[22]
|
||||||
|
pid=361
|
||||||
|
ac_adjust=-20
|
||||||
|
dr_adjust=-5
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_HN_AP_NEEDLER_CARTRIDGE
|
||||||
|
[23]
|
||||||
|
pid=362
|
||||||
|
ac_adjust=-20
|
||||||
|
dr_adjust=-5
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=2
|
||||||
|
|
||||||
|
; PID_7_62MM_AMMO
|
||||||
|
[24]
|
||||||
|
pid=363
|
||||||
|
ac_adjust=-10
|
||||||
|
dr_adjust=-20
|
||||||
|
dam_mult=2
|
||||||
|
dam_div=2
|
||||||
|
|
||||||
|
; PID_FLAMETHROWER_FUEL_MK_II
|
||||||
|
[25]
|
||||||
|
pid=382
|
||||||
|
ac_adjust=-20
|
||||||
|
dr_adjust=-15
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=1
|
||||||
@@ -0,0 +1,201 @@
|
|||||||
|
;YAAM
|
||||||
|
|
||||||
|
; PID_EXPLOSIVE_ROCKET
|
||||||
|
[1]
|
||||||
|
pid=14
|
||||||
|
ac_adjust=0
|
||||||
|
dr_adjust=0
|
||||||
|
dam_mult=3
|
||||||
|
dam_div=2
|
||||||
|
|
||||||
|
; PID_10MM_JHP
|
||||||
|
[2]
|
||||||
|
pid=29
|
||||||
|
ac_adjust=0
|
||||||
|
dr_adjust=0
|
||||||
|
dam_mult=3
|
||||||
|
dam_div=2
|
||||||
|
|
||||||
|
; PID_10MM_AP
|
||||||
|
[3]
|
||||||
|
pid=30
|
||||||
|
ac_adjust=0
|
||||||
|
dr_adjust=4
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_44_MAGNUM_JHP
|
||||||
|
[4]
|
||||||
|
pid=31
|
||||||
|
ac_adjust=0
|
||||||
|
dr_adjust=0
|
||||||
|
dam_mult=3
|
||||||
|
dam_div=2
|
||||||
|
|
||||||
|
; PID_FLAMETHROWER_FUEL
|
||||||
|
[5]
|
||||||
|
pid=32
|
||||||
|
ac_adjust=-20
|
||||||
|
dr_adjust=0
|
||||||
|
dam_mult=3
|
||||||
|
dam_div=4
|
||||||
|
|
||||||
|
; PID_14MM_AP
|
||||||
|
[6]
|
||||||
|
pid=33
|
||||||
|
ac_adjust=0
|
||||||
|
dr_adjust=8
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_223_FMJ
|
||||||
|
[7]
|
||||||
|
pid=34
|
||||||
|
ac_adjust=-20
|
||||||
|
dr_adjust=5
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_5MM_JHP
|
||||||
|
[8]
|
||||||
|
pid=35
|
||||||
|
ac_adjust=0
|
||||||
|
dr_adjust=0
|
||||||
|
dam_mult=3
|
||||||
|
dam_div=2
|
||||||
|
|
||||||
|
; PID_5MM_AP
|
||||||
|
[9]
|
||||||
|
pid=36
|
||||||
|
ac_adjust=0
|
||||||
|
dr_adjust=4
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_ROCKET_AP
|
||||||
|
[10]
|
||||||
|
pid=37
|
||||||
|
ac_adjust=0
|
||||||
|
dr_adjust=20
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_SMALL_ENERGY_CELL
|
||||||
|
[11]
|
||||||
|
pid=38
|
||||||
|
ac_adjust=0
|
||||||
|
dr_adjust=0
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_MICRO_FUSION_CELL
|
||||||
|
[12]
|
||||||
|
pid=39
|
||||||
|
ac_adjust=0
|
||||||
|
dr_adjust=0
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_SHOTGUN_SHELLS
|
||||||
|
[13]
|
||||||
|
pid=95
|
||||||
|
ac_adjust=-10
|
||||||
|
dr_adjust=0
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_44_FMJ_MAGNUM
|
||||||
|
[14]
|
||||||
|
pid=111
|
||||||
|
ac_adjust=0
|
||||||
|
dr_adjust=5
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_9MM_BALL
|
||||||
|
[15]
|
||||||
|
pid=121
|
||||||
|
ac_adjust=0
|
||||||
|
dr_adjust=2
|
||||||
|
dam_mult=3
|
||||||
|
dam_div=2
|
||||||
|
|
||||||
|
; PID_BBS
|
||||||
|
[16]
|
||||||
|
pid=163
|
||||||
|
ac_adjust=0
|
||||||
|
dr_adjust=0
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_ROBO_ROCKET_AMMO
|
||||||
|
[17]
|
||||||
|
pid=274
|
||||||
|
ac_adjust=0
|
||||||
|
dr_adjust=10
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_45_CALIBER_AMMO
|
||||||
|
[18]
|
||||||
|
pid=357
|
||||||
|
ac_adjust=0
|
||||||
|
dr_adjust=0
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_2MM_EC_AMMO
|
||||||
|
[19]
|
||||||
|
pid=358
|
||||||
|
ac_adjust=-30
|
||||||
|
dr_adjust=9
|
||||||
|
dam_mult=3
|
||||||
|
dam_div=2
|
||||||
|
|
||||||
|
; PID_4_7MM_CASELESS
|
||||||
|
[20]
|
||||||
|
pid=359
|
||||||
|
ac_adjust=-5
|
||||||
|
dr_adjust=7
|
||||||
|
dam_mult=3
|
||||||
|
dam_div=2
|
||||||
|
|
||||||
|
; PID_9MM_AMMO
|
||||||
|
[21]
|
||||||
|
pid=360
|
||||||
|
ac_adjust=0
|
||||||
|
dr_adjust=2
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_HN_NEEDLER_CARTRIDGE
|
||||||
|
[22]
|
||||||
|
pid=361
|
||||||
|
ac_adjust=-10
|
||||||
|
dr_adjust=2
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_HN_AP_NEEDLER_CARTRIDGE
|
||||||
|
[23]
|
||||||
|
pid=362
|
||||||
|
ac_adjust=-10
|
||||||
|
dr_adjust=5
|
||||||
|
dam_mult=2
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_7_62MM_AMMO
|
||||||
|
[24]
|
||||||
|
pid=363
|
||||||
|
ac_adjust=-5
|
||||||
|
dr_adjust=2
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=1
|
||||||
|
|
||||||
|
; PID_FLAMETHROWER_FUEL_MK_II
|
||||||
|
[25]
|
||||||
|
pid=382
|
||||||
|
ac_adjust=-20
|
||||||
|
dr_adjust=0
|
||||||
|
dam_mult=1
|
||||||
|
dam_div=1
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user