Skip to content

Commit eb3e516

Browse files
committed
Massive first update for NMS 1.3
Added a tonne, did lots of little changes to a bunch of files to include size. Still a Lot to do
1 parent eaeab66 commit eb3e516

File tree

217 files changed

+1860
-662
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

217 files changed

+1860
-662
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
namespace MBINCompiler.Models.Structs
2+
{
3+
public class GcAISpaceshipWeightingData : NMSTemplate
4+
{
5+
[NMS(Size = 0x7)]
6+
public float[] CivilianClassWeightings;
7+
8+
/*
9+
rax, 3F8000003F800000h
10+
mov r8d, 3Fh ; Count
11+
mov[rdi], rax
12+
mov[rdi + 8], rax
13+
mov[rdi + 10h], rax
14+
mov[rdi + 18h], eax*/
15+
}
16+
}

MBINCompiler/Models/Structs/GcAlienPuzzleEntry.cs

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,30 @@
22

33
namespace MBINCompiler.Models.Structs
44
{
5-
public class GcAlienPuzzleEntry : NMSTemplate
5+
public class GcAlienPuzzleEntry : NMSTemplate // size: 0x4E0
66
{
7-
[NMS(Size = 0x10)]
8-
public string Id;
7+
[NMS(Size = 0x20)]
8+
/* 0x000 */ public string Id;
99

10-
public GcAlienRace AlienRace;
11-
public GcInteractionType InteractionType;
10+
/* 0x020 */ public GcAlienRace AlienRace;
11+
/* 0x024 */ public GcInteractionType Type;
12+
13+
[NMS(Size = 0x80)]
14+
/* 0x028 */ public string Title;
1215

1316
[NMS(Size = 0x200)]
14-
public string Text;
17+
/* 0x0A8 */ public string Text;
1518

1619
[NMS(Size = 0x200)]
17-
public string TextAlien;
20+
/* 0x2A8 */ public string TextAlien;
1821

19-
public bool TranslateAlienText;
20-
public List<GcAlienPuzzleOption> Options;
22+
/* 0x4A8 */ public bool TranslateAlienText;
23+
/* 0x4A9 */ public bool TranslationBrackets;
24+
/* 0x4AA */ public bool ProgressiveDialogue;
25+
[NMS(Size = 0x5, Ignore = true)]
26+
/* 0x4AB */ public byte[] Padding4AB;
27+
/* 0x4B0 */ public List<GcAlienPuzzleOption> Options;
28+
/* 0x4C0 */ public List<NMSString0x10> AdditionalText;
29+
/* 0x4D0 */ public List<NMSString0x10> AdditionalTextAlien;
2130
}
2231
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
using System.Collections.Generic;
2+
3+
namespace MBINCompiler.Models.Structs
4+
{
5+
public class GcAlienPuzzleMissionOverride : NMSTemplate // size: 0x30
6+
{
7+
[NMS(Size = 0x10)]
8+
/* 0x00 */ public string Mission;
9+
[NMS(Size = 0x20)]
10+
/* 0x10 */ public string Puzzle;
11+
}
12+
}

MBINCompiler/Models/Structs/GcAlienPuzzleOption.cs

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,40 @@
22

33
namespace MBINCompiler.Models.Structs
44
{
5-
public class GcAlienPuzzleOption : NMSTemplate
5+
public class GcAlienPuzzleOption : NMSTemplate // size: 0x2A8
66
{
77
[NMS(Size = 0x20)]
88
/* 0x000 */ public string Name;
99

1010
[NMS(Size = 0x200)]
1111
/* 0x020 */ public string Text;
1212

13+
/* 0x220 */ public bool IsAlien;
14+
[NMS(Size = 0x7, Ignore = true)]
15+
/* 0x221 */ public byte[] padding221;
16+
1317
[NMS(Size = 0x10)]
14-
/* 0x220 */ public string Cost;
18+
/* 0x228 */ public string Cost;
1519

16-
/* 0x230 */ public List<NMSString0x10> Rewards;
17-
/* 0x240 */ public int Mood;
20+
/* 0x238 */ public List<NMSString0x10> Rewards;
21+
/* 0x248 */ public int Mood;
1822
public string[] MoodValues()
1923
{
20-
return new[] { "Positive", "Negative", "Neutral", "Pity" };
24+
return new[] { "Positive", "Negative", "Neutral", "Pity", "Dead" };
2125
}
2226

23-
/* 0x244 */ public bool KeepOpen;
24-
/* 0x245 */ public bool MarkInteractionComplete;
27+
/* 0x24C */ public bool KeepOpen;
28+
/* 0x24D */ public bool MarkInteractionComplete;
2529

2630
[NMS(Size = 2, Ignore = true)]
27-
public byte[] Padding;
31+
/* 0x24E */ public byte[] Padding24E;
32+
33+
[NMS(Size = 0x20)]
34+
/* 0x250 */ public string NextInteraction;
35+
/* 0x270 */ public GcAudioWwiseEvents AudioEvent;
36+
/* 0x274 */ public GcMissionConditionTest EnablingConditionTest; // GcMissionConditionTest?
37+
/* 0x278 */ public List<NMSTemplate> EnablingConditions;
38+
[NMS(Size = 0x20)]
39+
/* 0x288 */ public string EnablingConditionId;
2840
}
2941
}
Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,22 @@
11
namespace MBINCompiler.Models.Structs
22
{
3-
public class GcAlienSpeechEntry : NMSTemplate
3+
public class GcAlienSpeechEntry : NMSTemplate // size: 0x40
44
{
55
[NMS(Size = 0x10)]
6-
public string Id;
6+
/* 0x00 */ public string Id;
77

88
[NMS(Size = 0x20)]
9-
public string Text;
10-
11-
public int WordInteractEffect;
9+
/* 0x10 */ public string Text;
1210

11+
/* 0x30 */ public int WordInteractEffect;
1312
public string[] WordInteractEffectValues()
1413
{
1514
return new[] { "Pain", "Heal" };
1615
}
1716

18-
public GcAlienRace AlienRace;
19-
public int Level;
17+
/* 0x34 */ public GcAlienRace AlienRace;
18+
/* 0x38 */ public int Level;
2019
[NMS(Ignore = true)]
21-
public int Padding;
20+
public int EndPadding;
2221
}
2322
}

MBINCompiler/Models/Structs/GcAnimFrameEvent.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 GcAnimFrameEvent : NMSTemplate
3+
public class GcAnimFrameEvent : NMSTemplate // size: 0x18
44
{
55
[NMS(Size = 0x10)]
66
public string Anim;
Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
namespace MBINCompiler.Models.Structs
22
{
3-
public class GcAtlasDiscoveryData : NMSTemplate
3+
public class GcAtlasDiscoveryData : NMSTemplate // size: 0x48
44
{
5-
public GcUniverseAddressData UniverseAddress;
6-
// public 140321900
7-
public int PayloadElements;
8-
// public 140321A90 Payload // length 0x5
5+
/* 0x00 */ public GcUniverseAddressData UniverseAddress;
6+
/* 0x18 */ public GcDiscoveryTypes Type;
7+
/* 0x1C */ public int PayloadElements;
8+
[NMS(Size = 0x5)]
9+
/* 0x20 */ public ulong Payload; // each struct is 0x8 bytes sub_140471C90
910
}
1011
}

MBINCompiler/Models/Structs/GcAudioAreaTriggerComponentData.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 GcAudioAreaTriggerComponentData : NMSTemplate
3+
public class GcAudioAreaTriggerComponentData : NMSTemplate // size: 0x10
44
{
55
public GcAudioWwiseEvents EventEnter;
66
public GcAudioWwiseEvents EventExit;

MBINCompiler/Models/Structs/GcBaseBuildingEntry.cs

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
namespace MBINCompiler.Models.Structs
44
{
5-
public class GcBaseBuildingEntry : NMSTemplate
5+
public class GcBaseBuildingEntry : NMSTemplate // size: 0x130
66
{
77
[NMS(Size = 0x10)]
88
/* 0x000 */ public string ID;
@@ -50,9 +50,18 @@ public class GcBaseBuildingEntry : NMSTemplate
5050
/* 0x114 */ public float PlayerInsideRadiusFactor;
5151
/* 0x118 */ public bool CanChangeColour;
5252
/* 0x119 */ public bool CanChangeMaterial;
53+
/* 0x11A */ public bool EditsTerrain;
5354

55+
/* 0x11C */ public int BaseTerrainEditShape;
56+
public string[] BaseTerrainEditShapeValues()
57+
{
58+
return new[] { "Cube", "Cylinder"};
59+
}
5460

55-
[NMS(Size = 6, Ignore = true)]
56-
/* 0x120 */ public byte[] Padding120;
61+
/* 0x120 */ public float TerrainEditBaseYOffset;
62+
/* 0x124 */ public float TerrainEditTopYOffset;
63+
/* 0x128 */ public float TerrainEditBoundsScalar;
64+
[NMS(Size = 0x4, Ignore = true)]
65+
/* 0x12C */ public byte[] EndPadding;
5766
}
5867
}

MBINCompiler/Models/Structs/GcBiomeData.cs

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,32 @@
22

33
namespace MBINCompiler.Models.Structs
44
{
5-
public class GcBiomeData : NMSTemplate
5+
public class GcBiomeData : NMSTemplate // size: 0x400
66
{
7-
public GcMiningSubstanceData MiningSubstance1;
8-
public GcMiningSubstanceData MiningSubstance2;
9-
public GcMiningSubstanceData MiningSubstance3;
10-
public GcMiningSubstanceData MiningSubstance4;
11-
public GcPlanetWaterData Water;
7+
/* 0x000 */ public GcMiningSubstanceData MiningSubstance1;
8+
/* 0x00C */ public GcMiningSubstanceData MiningSubstance2;
9+
/* 0x018 */ public GcMiningSubstanceData MiningSubstance3;
10+
[NMS(Size = 0xC, Ignore = true)]
11+
/* 0x024 */ public byte[] Padding24;
12+
/* 0x030 */ public GcPlanetWaterData Water;
1213

1314
[NMS(Size = 0x80)]
14-
public string DiffuseMap;
15+
/* 0x1E0 */ public string DiffuseMap;
1516
[NMS(Size = 0x80)]
16-
public string NormalMap;
17+
/* 0x260 */ public string NormalMap;
18+
[NMS(Size = 0x80)]
19+
/* 0x02E0 */ public string OverlayTexture;
1720

18-
[NMS(Size = 10)]
19-
public GcTileTypeOptions[] TileTypes;
21+
/* 0x360 */ public List<GcTileTypeSet> TileTypeSets; // something 0x64 long...
2022

21-
public List<GcExternalObjectListOptions> ExternalObjectLists;
23+
/* 0x370 */ public List<GcExternalObjectListOptions> ExternalObjectLists;
2224

2325
[NMS(Size = 7, EnumValue = new string[7] { "Clear", "Dust", "Humid", "Snow", "Toxic", "Scorched", "Radioactive" } )]
24-
public bool[] WeatherOptions;
26+
/* 0x380 */ public bool[] WeatherOptions;
2527

26-
public GcTerrainControls Terrain;
28+
/* 0x388 */ public GcTerrainControls Terrain;
2729

2830
[NMS(Size = 8, Ignore = true)]
29-
public byte[] Padding408;
31+
/* 0x3F8 */ public byte[] Padding3F8;
3032
}
3133
}

0 commit comments

Comments
 (0)