Skip to content

Commit 07fdcb9

Browse files
author
monkeyman192
committed
update few globals
Vehicle global now compatible with 1.22 Sky global also decompiling properly too I think.
1 parent 591ad87 commit 07fdcb9

File tree

7 files changed

+284
-311
lines changed

7 files changed

+284
-311
lines changed

MBINCompiler/Models/NMSTemplate.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,8 @@ public static object DeserializeValue(BinaryReader reader, Type field, NMSAttrib
138138
default:
139139
if (fieldType == "Colour") // unsure if this is needed?
140140
reader.Align(0x10, 0);
141+
if (fieldType == "VariableStringSize")
142+
reader.Align(0x4, 0);
141143
// todo: align for VariableSizeString?
142144
if (field.IsArray)
143145
{

MBINCompiler/Models/Structs/GcFogProperties.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
namespace MBINCompiler.Models.Structs
22
{
3-
public class GcFogProperties : NMSTemplate
3+
public class GcFogProperties : NMSTemplate // size: 0xDC
44
{
55
public float FogStrength;
66
public float FogMax;

MBINCompiler/Models/Structs/GcProductData.cs

Lines changed: 25 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -2,37 +2,35 @@
22

33
namespace MBINCompiler.Models.Structs
44
{
5-
public class GcProductData : NMSTemplate
5+
public class GcProductData : NMSTemplate // size: 0x2C0
66
{
77
[NMS(Size = 0x10)]
8-
public string Id;
8+
/* 0x000 */ public string Id;
99
[NMS(Size = 0x80)]
10-
public string Name;
10+
/* 0x010 */ public string Name;
1111
[NMS(Size = 0x80)]
12-
public string NameLower;
13-
public VariableSizeString Subtitle;
14-
public VariableSizeString Description;
12+
/* 0x090 */ public string NameLower;
13+
/* 0x110 */ public VariableSizeString Subtitle;
14+
/* 0x120 */ public VariableSizeString Description;
1515
[NMS(Size = 0x20)]
16-
public string Hint;
17-
public TkModelResource Debis;
18-
public int BaseValue;
19-
public int Level;
20-
public TkTextureResource Icon;
21-
public Colour Colour;
22-
public GcRealitySubstanceCategory SubstanceCategory;
23-
public GcProductCategory Category;
24-
public GcRarity Rarity;
25-
public GcLegality Legality;
26-
public bool Consumable;
27-
public int ChargeValue;
28-
public List<GcTechnologyRequirement> Requirements;
29-
public GcItemPriceModifiers Cost;
30-
public bool SpecificChargeOnly;
31-
public float NormalisedValueOnWorld;
32-
public float NormalisedValueOffWorld;
33-
[NMS(Ignore = true)]
34-
public int EmptyNode1;
35-
[NMS(Ignore = true)]
36-
public int EmptyNode2;
16+
/* 0x130 */ public string Hint;
17+
/* 0x150 */ public TkModelResource DebrisFile;
18+
/* 0x1D4 */ public int BaseValue;
19+
/* 0x1D8 */ public int Level;
20+
/* 0x1DC */ public TkModelResource Icon;
21+
/* 0x260 */ public Colour Colour;
22+
/* 0x270 */ public GcRealitySubstanceCategory SubstanceCategory;
23+
/* 0x274 */ public GcProductCategory Category;
24+
/* 0x278 */ public GcRarity Rarity;
25+
/* 0x27C */ public GcLegality Legality;
26+
/* 0x280 */ public bool Consumable;
27+
/* 0x284 */ public int ChargeValue;
28+
/* 0x288 */ public List<GcTechnologyRequirement> Requirements;
29+
/* 0x298 */ public GcItemPriceModifiers Cost;
30+
/* 0x2AC */ public bool SpecificChargeOnly;
31+
/* 0x2B0 */ public float NormalisedValueOnWorld;
32+
/* 0x2B4 */ public float NormalisedValueOffWorld;
33+
[NMS(Size = 0x8, Ignore = true)]
34+
public byte[] EndPadding;
3735
}
3836
}

MBINCompiler/Models/Structs/GcSkyProperties.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
namespace MBINCompiler.Models.Structs
22
{
3-
public class GcSkyProperties : NMSTemplate // probably used in a global...
3+
public class GcSkyProperties : NMSTemplate // size: 0x30 probably used in a global...
44
{
55
/* 0x000 */ public float AtmosphereThickness;
66
/* 0x004 */ public float HorizonMultiplier;

MBINCompiler/Models/Structs/GcVehicleGlobals.cs

Lines changed: 40 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@ public class GcVehicleGlobals : NMSTemplate
1010
public float Unknown4;
1111
public float Unknown8;
1212
public float UnknownC;
13-
public float Unknown10;
14-
public float Unknown14;
13+
public Vector2f Unknown10;
1514
public float Unknown18;
1615
public float Unknown1C;
1716
public float Unknown20;
@@ -29,48 +28,41 @@ public class GcVehicleGlobals : NMSTemplate
2928
public float Unknown50;
3029
public float Unknown54;
3130
public float Unknown58;
32-
[NMS(Size = 0x4, Ignore = true)]
33-
public byte[] Padding5C;
34-
public Vector2f Unknown60;
35-
public int UnknownInt68;
36-
public float Unknown6C;
37-
public Vector2f Unknown70;
38-
public Vector2f Unknown78;
31+
public float Unknown5C;
32+
public Vector4f Unknown60; // maybe??
33+
public Vector4f Unknown70;
34+
public Vector4f Unknown80;
3935

4036
[NMS(Size = 0x10)]
41-
public string Unknown80;
37+
public string Unknown90; // VEHICLE_ENGINE
4238
[NMS(Size = 0x10)]
43-
public string Unknown90;
39+
public string UnknownA0; // VEHICLE_ENGINE
4440
[NMS(Size = 0x10)]
45-
public string UnknownA0;
41+
public string UnknownB0; // VEHICLE_BOOST
4642
[NMS(Size = 0x10)]
47-
public string UnknownB0;
43+
public string UnknownC0; // VEHICLE_ENGINE
4844
[NMS(Size = 0x10)]
49-
public string UnknownC0;
45+
public string UnknownD0; // VEHICLE_LASER
5046

51-
public float UnknownD0;
52-
public float UnknownD4;
53-
public float UnknownD8;
54-
public float UnknownDC;
5547
public float UnknownE0;
56-
public int UnknownIntE4;
57-
public int UnknownIntE8;
48+
public float UnknownE4;
49+
public float UnknownE8;
5850
public float UnknownEC;
59-
public int UnknownIntF0;
51+
public float UnknownF0;
6052
public int UnknownIntF4;
61-
public float UnknownF8;
53+
public int UnknownIntF8;
6254
public float UnknownFC;
63-
public Vector2f Unknown100;
55+
public int UnknownInt100;
56+
public int UnknownInt104;
6457
public float Unknown108;
65-
public Vector2f Unknown10C;
66-
public float Unknown114;
67-
public bool Unknown118;
68-
[NMS(Size = 0x3, Ignore = true)]
69-
public byte[] Padding119;
70-
public float Unknown11C;
71-
public float Unknown120;
58+
public float Unknown10C;
59+
public Vector2f Unknown110;
60+
public float Unknown118;
61+
public Vector2f Unknown11C;
7262
public float Unknown124;
73-
public float Unknown128;
63+
public bool Unknown128;
64+
[NMS(Size = 0x3, Ignore = true)]
65+
public byte[] Padding129;
7466
public float Unknown12C;
7567
public float Unknown130;
7668
public float Unknown134;
@@ -79,26 +71,33 @@ public class GcVehicleGlobals : NMSTemplate
7971
public float Unknown140;
8072
public float Unknown144;
8173
public float Unknown148;
82-
public bool Unknown14C;
83-
[NMS(Size = 0x3, Ignore = true)]
84-
public byte[] Padding14D;
74+
public float Unknown14C;
8575
public float Unknown150;
8676
public float Unknown154;
87-
public int UnknownInt158;
77+
public float Unknown158;
8878
public float Unknown15C;
8979
public float Unknown160;
9080
public bool Unknown164;
9181
[NMS(Size = 0x3, Ignore = true)]
9282
public byte[] Padding165;
93-
public Vector2f Unknown168;
94-
public float Unknown170;
83+
public float Unknown168;
84+
public float Unknown16C;
85+
public int UnknownInt170; // 2nd 4 bytes of previous QWORD
9586
public float Unknown174;
96-
public bool Unknown178;
87+
public float Unknown178;
88+
public bool Unknown17C;
89+
[NMS(Size = 0x3, Ignore = true)]
90+
public byte[] Padding17D;
91+
public Vector2f Unknown180;
92+
public float Unknown188;
93+
public float Unknown18C;
94+
public bool Unknown190;
9795
[NMS(Size = 0x3, Ignore = true)]
98-
public byte[] Padding179;
99-
public float Unknown17C;
96+
public byte[] Padding191;
97+
public float Unknown194;
10098

101-
//public List<float> Dead;
99+
[NMS(Size = 0x8, Ignore = true)]
100+
public byte[] Padding198;
102101

103102
public GcVehicleData BikeData; // size: 0xBB0
104103
public GcVehicleData MedBuggyData;

0 commit comments

Comments
 (0)