New feature (by DepressivesBrot): Molle Items

- individual LBE gear can be created via MOLLE items. For each LBE item, there's a definition which pockets may be changed and how much space the new pockets may take up in total.
- If there's a free pocket slot and enough space -> attach item and enable pocket.
- for further description, see Doc/Design Document- MOLLE.txt

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@5441 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2012-08-02 22:30:15 +00:00
parent 832335d904
commit 3077e27d9f
65 changed files with 766 additions and 294 deletions
+11 -2
View File
@@ -657,7 +657,7 @@ extern OBJECTTYPE gTempObject;
#define AC_DEFUSE 0x00200000 //2097152 // defuse item for bombs
#define AC_IRONSIGHT 0x00400000 //4194304 // for attachable Iron Sights
#define AC_FEEDER 0x00800000 //8388608 // allow external feeding
#define AC_MISC13 0x01000000 //16777216
#define AC_MODPOUCH 0x01000000 //16777216 // for new modular pouches
#define AC_MISC14 0x02000000 //33554432
#define AC_MISC15 0x04000000 //67108864
#define AC_MISC16 0x08000000 //134217728
@@ -1027,8 +1027,12 @@ public:
UINT32 lbeClass;
UINT32 lbeCombo;
UINT8 lbeFilledSize;
//DBrot: MOLLE
UINT8 lbeAvailableVolume;
UINT16 lbePocketsAvailable;
char POD;
std::vector<UINT8> lbePocketIndex;
};
#define SIZEOF_LBETYPE offsetof( LBETYPE, POD )
extern std::vector<LBETYPE> LoadBearingEquipment;
@@ -1039,7 +1043,8 @@ typedef enum eLBE_CLASS // Designation of lbeClass
COMBAT_PACK,
BACKPACK,
LBE_POCKET,
OTHER_POCKET
OTHER_POCKET,
MOD_POCKET //DBrot: added mod_pocket to identify modular pouches
};
@@ -1054,6 +1059,8 @@ public:
UINT8 pSilhouette;
UINT16 pType;
UINT32 pRestriction;
//DBrot: MOLLE
UINT8 pVolume;
char POD;
std::vector<UINT8> ItemCapacityPerSize;
};
@@ -1541,6 +1548,8 @@ typedef struct
UINT16 usDescPanelPosY;
BOOLEAN fMultiShot;
BOOLEAN fBigSlot;
//DBrot: MOLLE
UINT8 ubPocketMapping;
} AttachmentSlotStruct;
extern AttachmentSlotStruct AttachmentSlots[MAXITEMS+1];