diff --git a/src/Inferno.Core/Inferno.Core.vcxproj b/src/Inferno.Core/Inferno.Core.vcxproj
index 758990eb..ada04621 100644
--- a/src/Inferno.Core/Inferno.Core.vcxproj
+++ b/src/Inferno.Core/Inferno.Core.vcxproj
@@ -129,6 +129,7 @@
+
@@ -151,6 +152,7 @@
+
diff --git a/src/Inferno.Core/Inferno.Core.vcxproj.filters b/src/Inferno.Core/Inferno.Core.vcxproj.filters
index 57b136aa..217649f5 100644
--- a/src/Inferno.Core/Inferno.Core.vcxproj.filters
+++ b/src/Inferno.Core/Inferno.Core.vcxproj.filters
@@ -92,6 +92,9 @@
Header Files
+
+ Header Files
+
@@ -142,5 +145,8 @@
Source Files
+
+ Source Files
+
\ No newline at end of file
diff --git a/src/Inferno.Core/Level.h b/src/Inferno.Core/Level.h
index 6fd469f6..f0d69592 100644
--- a/src/Inferno.Core/Level.h
+++ b/src/Inferno.Core/Level.h
@@ -7,6 +7,7 @@
#include "Wall.h"
#include "DataPool.h"
#include "Segment.h"
+#include "walls_container.h"
namespace Inferno {
struct Matcen {
@@ -86,7 +87,7 @@ namespace Inferno {
int Segments; // Note that source ports allow thousands of segments
int Matcens = 20;
int Vertices;
- int Walls;
+ size_t Walls;
int WallSwitches = 50;
int WallLinks = 100;
int FuelCenters = 70;
@@ -103,6 +104,17 @@ namespace Inferno {
constexpr auto MaxLightDeltas = 32000; // Rebirth limit. Original D2: 10000
struct Level {
+ // 1: Descent 1
+ // 2 to 7: Descent 2
+ // 8: Vertigo Enhanced
+ // >8: D2X-XL, unsupported
+ int Version;
+ // 22 to 25: Descent 1
+ // 26 to 29: Descent 2
+ // >32: D2X-XL, unsupported
+ int16 GameVersion;
+
+ LevelLimits Limits;
string Palette = "groupa.256";
SegID SecretExitReturn = SegID(0);
Matrix3x3 SecretReturnOrientation;
@@ -111,7 +123,7 @@ namespace Inferno {
List Segments;
List Pofs;
List