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
+16 -16
View File
@@ -583,10 +583,10 @@ void GenerateMapEdgepoints(BOOLEAN fValidate)
for(x, y; x<WORLD_COLS/2+i; x++, y--)
{
sGridNo = x + y * WORLD_COLS;
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gubWorldRoomInfo[sGridNo] || gfBasement))
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gusWorldRoomInfo[sGridNo] || gfBasement))
sVGridNo[gus1stNorthEdgepointArraySize++] = sGridNo;
++sGridNo;
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gubWorldRoomInfo[sGridNo] || gfBasement))
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gusWorldRoomInfo[sGridNo] || gfBasement))
sVGridNo[gus1stNorthEdgepointArraySize++] = sGridNo;
}
}
@@ -607,10 +607,10 @@ void GenerateMapEdgepoints(BOOLEAN fValidate)
for(x, y; x<WORLD_COLS-i; x++, y++)
{
sGridNo = x + y * WORLD_COLS;
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gubWorldRoomInfo[sGridNo] || gfBasement))
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gusWorldRoomInfo[sGridNo] || gfBasement))
sVGridNo[gus1stEastEdgepointArraySize++] = sGridNo;
sGridNo += WORLD_COLS;
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gubWorldRoomInfo[sGridNo] || gfBasement))
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gusWorldRoomInfo[sGridNo] || gfBasement))
sVGridNo[gus1stEastEdgepointArraySize++] = sGridNo;
}
}
@@ -631,10 +631,10 @@ void GenerateMapEdgepoints(BOOLEAN fValidate)
for(x, y; x>=WORLD_COLS/2-i; x--, y++)
{
sGridNo = x + y * WORLD_COLS;
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gubWorldRoomInfo[sGridNo] || gfBasement))
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gusWorldRoomInfo[sGridNo] || gfBasement))
sVGridNo[gus1stSouthEdgepointArraySize++] = sGridNo;
--sGridNo;
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gubWorldRoomInfo[sGridNo] || gfBasement))
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gusWorldRoomInfo[sGridNo] || gfBasement))
sVGridNo[gus1stSouthEdgepointArraySize++] = sGridNo;
}
}
@@ -655,10 +655,10 @@ void GenerateMapEdgepoints(BOOLEAN fValidate)
for(x, y; x>=0+i; x--, y--)
{
sGridNo = x + y * WORLD_COLS;
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gubWorldRoomInfo[sGridNo] || gfBasement))
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gusWorldRoomInfo[sGridNo] || gfBasement))
sVGridNo[gus1stWestEdgepointArraySize++] = sGridNo;
sGridNo -= WORLD_COLS;
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gubWorldRoomInfo[sGridNo] || gfBasement))
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gusWorldRoomInfo[sGridNo] || gfBasement))
sVGridNo[gus1stWestEdgepointArraySize++] = sGridNo;
}
}
@@ -684,10 +684,10 @@ void GenerateMapEdgepoints(BOOLEAN fValidate)
for(x, y; x<WORLD_COLS/2+i; x++, y--)
{
sGridNo = x + y * WORLD_COLS;
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gubWorldRoomInfo[sGridNo] || gfBasement))
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gusWorldRoomInfo[sGridNo] || gfBasement))
sVGridNo[gus2ndNorthEdgepointArraySize++] = sGridNo;
++sGridNo;
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gubWorldRoomInfo[sGridNo] || gfBasement))
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gusWorldRoomInfo[sGridNo] || gfBasement))
sVGridNo[gus2ndNorthEdgepointArraySize++] = sGridNo;
}
}
@@ -708,10 +708,10 @@ void GenerateMapEdgepoints(BOOLEAN fValidate)
for(x, y; x<WORLD_COLS-i; x++, y++)
{
sGridNo = x + y * WORLD_COLS;
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gubWorldRoomInfo[sGridNo] || gfBasement))
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gusWorldRoomInfo[sGridNo] || gfBasement))
sVGridNo[gus2ndEastEdgepointArraySize++] = sGridNo;
sGridNo += WORLD_COLS;
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gubWorldRoomInfo[sGridNo] || gfBasement))
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gusWorldRoomInfo[sGridNo] || gfBasement))
sVGridNo[gus2ndEastEdgepointArraySize++] = sGridNo;
}
}
@@ -732,10 +732,10 @@ void GenerateMapEdgepoints(BOOLEAN fValidate)
for(x, y; x>=WORLD_COLS/2-i; x--, y++)
{
sGridNo = x + y * WORLD_COLS;
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gubWorldRoomInfo[sGridNo] || gfBasement))
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gusWorldRoomInfo[sGridNo] || gfBasement))
sVGridNo[gus2ndSouthEdgepointArraySize++] = sGridNo;
--sGridNo;
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gubWorldRoomInfo[sGridNo] || gfBasement))
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gusWorldRoomInfo[sGridNo] || gfBasement))
sVGridNo[gus2ndSouthEdgepointArraySize++] = sGridNo;
}
}
@@ -756,10 +756,10 @@ void GenerateMapEdgepoints(BOOLEAN fValidate)
for(x, y; x>=0+i; x--, y--)
{
sGridNo = x + y * WORLD_COLS;
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gubWorldRoomInfo[sGridNo] || gfBasement))
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gusWorldRoomInfo[sGridNo] || gfBasement))
sVGridNo[gus2ndWestEdgepointArraySize++] = sGridNo;
sGridNo -= WORLD_COLS;
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gubWorldRoomInfo[sGridNo] || gfBasement))
if(gpWorldLevelData[sGridNo].uiFlags & MAPELEMENT_REACHABLE && (!gusWorldRoomInfo[sGridNo] || gfBasement))
sVGridNo[gus2ndWestEdgepointArraySize++] = sGridNo;
}
}