mirror of
https://github.com/1dot13/source.git
synced 2026-08-05 14:00:23 +02:00
new feature: madlab's robot can be upgraded
requires gamedir r2642 https://thepit.ja-galaxy-forum.com/index.php?t=msg&goto=364403 git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9338 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -1343,6 +1343,22 @@ void InitInventoryVehicle(INV_REGION_DESC *pRegionDesc, MOUSE_CALLBACK INVMoveCa
|
||||
MSYS_SetRegionUserData( &gSMInvRegion[ cnt ], 0, cnt );
|
||||
}
|
||||
}
|
||||
void InitInventoryRobot(INV_REGION_DESC *pRegionDesc, MOUSE_CALLBACK INVMoveCallback, MOUSE_CALLBACK INVClickCallback, BOOLEAN fSetHighestPrioity)
|
||||
{
|
||||
for(int cnt=INV_START_POS; cnt<NUM_INV_SLOTS; cnt++)
|
||||
{
|
||||
MSYS_RemoveRegion( &gSMInvRegion[ cnt ]);
|
||||
if(robotInv[cnt] || cnt == HANDPOS)
|
||||
InitInvData(gSMInvData[cnt], TRUE, INV_BAR_DX, INV_BAR_DY, BIG_INV_SLOT_WIDTH, BIG_INV_SLOT_HEIGHT, pRegionDesc[cnt].sX, pRegionDesc[cnt].sY);
|
||||
else
|
||||
InitInvData(gSMInvData[cnt], FALSE, 0, 0, 0, 0, 0, 0);
|
||||
MSYS_DefineRegion( &gSMInvRegion[ cnt ], gSMInvData[ cnt ].sX, gSMInvData[ cnt ].sY, (INT16)(gSMInvData[ cnt ].sX + gSMInvData[ cnt ].sWidth), (INT16)(gSMInvData[ cnt ].sY + gSMInvData[ cnt ].sHeight), ( INT8 )( fSetHighestPrioity ? MSYS_PRIORITY_HIGHEST : MSYS_PRIORITY_HIGH ),
|
||||
MSYS_NO_CURSOR, INVMoveCallback, INVClickCallback );
|
||||
// Add region
|
||||
MSYS_AddRegion( &gSMInvRegion[ cnt ] );
|
||||
MSYS_SetRegionUserData( &gSMInvRegion[ cnt ], 0, cnt );
|
||||
}
|
||||
}
|
||||
// CHRISL: Function to recreate inventory mouse regions
|
||||
void InitInventorySoldier(INV_REGION_DESC *pRegionDesc, MOUSE_CALLBACK INVMoveCallback, MOUSE_CALLBACK INVClickCallback, BOOLEAN fSetHighestPrioity, BOOLEAN fNIVmode)
|
||||
{
|
||||
@@ -1778,6 +1794,8 @@ INT16 pocketTypeInSlot(SOLDIERTYPE *pSoldier, INT16 sPocket){
|
||||
return lbePocket;
|
||||
if((pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE) && UsingNewInventorySystem() == true && !vehicleInv[sPocket])
|
||||
return lbePocket;
|
||||
if(pSoldier && AM_A_ROBOT(pSoldier) && !robotInv[sPocket])
|
||||
return lbePocket;
|
||||
|
||||
switch (icClass[sPocket])
|
||||
{
|
||||
@@ -2542,6 +2560,10 @@ void INVRenderINVPanelItem( SOLDIERTYPE *pSoldier, INT16 sPocket, UINT8 fDirtyLe
|
||||
if((pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE) && UsingNewInventorySystem() == true && !vehicleInv[sPocket])
|
||||
return;
|
||||
|
||||
if(pSoldier && AM_A_ROBOT(pSoldier) && !robotInv[sPocket] && UsingNewInventorySystem() && sPocket != HANDPOS)
|
||||
return;
|
||||
|
||||
|
||||
INT16 sX, sY, newX, newY;
|
||||
INT16 sBarX, sBarY;
|
||||
OBJECTTYPE *pObject;
|
||||
@@ -2559,7 +2581,7 @@ void INVRenderINVPanelItem( SOLDIERTYPE *pSoldier, INT16 sPocket, UINT8 fDirtyLe
|
||||
sX = gSMInvData[ sPocket ].sX;
|
||||
sY = gSMInvData[ sPocket ].sY;
|
||||
|
||||
if ( UsingNewInventorySystem() && !(pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE))
|
||||
if ( UsingNewInventorySystem() && !(pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE) && !(AM_A_ROBOT(pSoldier)) )
|
||||
{
|
||||
// If sPocket is not an equiped pocket, gather pocket information
|
||||
if(icClass[sPocket] != ITEM_NOT_FOUND)
|
||||
@@ -2758,6 +2780,9 @@ void INVRenderINVPanelItem( SOLDIERTYPE *pSoldier, INT16 sPocket, UINT8 fDirtyLe
|
||||
}
|
||||
#endif
|
||||
|
||||
if (AM_A_ROBOT(pSoldier) && sPocket == HANDPOS)
|
||||
fHatchItOut = FALSE;
|
||||
|
||||
if ( fHatchItOut )
|
||||
{
|
||||
//shadooow: hatch all pockets that we cannot put item into due to insufficient action points with red
|
||||
@@ -14478,6 +14503,8 @@ BOOLEAN CheckPocketEmpty( SOLDIERTYPE *pSoldier, INT16 sPocket )
|
||||
return FALSE;
|
||||
if((pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE) && UsingNewInventorySystem() == true && !vehicleInv[sPocket])
|
||||
return FALSE;
|
||||
if(pSoldier && AM_A_ROBOT(pSoldier) && !robotInv[sPocket] && UsingNewInventorySystem())
|
||||
return FALSE;
|
||||
|
||||
BOOLEAN bResult = FALSE;
|
||||
INT16 lbePocket = ITEM_NOT_FOUND;
|
||||
|
||||
Reference in New Issue
Block a user