-removed ap cost and bullet from interface screens when gun has no semi auto fire

-made a new weapon con: "No Semi Auto"

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@311 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
MaddMugsy
2006-06-29 16:50:01 +00:00
parent 2a36de6cd1
commit 1b14c7391c
6 changed files with 47 additions and 22 deletions
+2 -2
View File
@@ -23,12 +23,12 @@ INT16 zVersionLabel[256] = { L"Beta v. 0.98" };
#else
//RELEASE BUILD VERSION
INT16 zVersionLabel[256] = { L"Release v1.13.309" };
INT16 zVersionLabel[256] = { L"Release v1.13.312" };
#endif
INT8 czVersionNumber[16] = { "Build 06.06.28" };
INT8 czVersionNumber[16] = { "Build 06.06.29" };
INT16 zTrackingNumber[16] = { L"Z" };
+38 -19
View File
@@ -731,6 +731,15 @@ void GenerateConsString( UINT16 * zItemCons, OBJECTTYPE * pObject, UINT32 uiPixL
}
}
if ( Weapon[usItem].NoSemiAuto )
{
zTemp = Message[STR_NO_SEMI_AUTO];
if ( ! AttemptToAddSubstring( zItemCons, zTemp, &uiStringLength, uiPixLimit ) )
{
return;
}
}
// calculate the weight of the item plus ammunition but not including any attachments
ubWeight = Item[ usItem ].ubWeight;
if (Item[ usItem ].usItemClass == IC_GUN)
@@ -3119,7 +3128,8 @@ void RenderItemDescriptionBox( )
if ( Item[ gpItemDescObject->usItem ].usItemClass & IC_GUN || Item[ gpItemDescObject->usItem ].usItemClass & IC_LAUNCHER )
{
// display bullets for ROF
BltVideoObjectFromIndex( guiSAVEBUFFER, guiBullet, 0, MAP_BULLET_SING_X, MAP_BULLET_SING_Y, VO_BLT_SRCTRANSPARENCY, NULL );
if ( !Weapon[gpItemDescObject->usItem].NoSemiAuto )
BltVideoObjectFromIndex( guiSAVEBUFFER, guiBullet, 0, MAP_BULLET_SING_X, MAP_BULLET_SING_Y, VO_BLT_SRCTRANSPARENCY, NULL );
if (GetShotsPerBurst(gpItemDescObject)> 0)
{
@@ -3254,7 +3264,8 @@ void RenderItemDescriptionBox( )
if ( Item[ gpItemDescObject->usItem ].usItemClass & IC_GUN || Item[ gpItemDescObject->usItem ].usItemClass & IC_LAUNCHER)
{
// equals sign
mprintf( gMapWeaponStats[ 7 ].sX + gsInvDescX, gMapWeaponStats[ 7 ].sY + gsInvDescY, L"%s", gWeaponStatsDesc[ 7 ] );
if ( !Weapon[gpItemDescObject->usItem].NoSemiAuto )
mprintf( gMapWeaponStats[ 7 ].sX + gsInvDescX, gMapWeaponStats[ 7 ].sY + gsInvDescY, L"%s", gWeaponStatsDesc[ 7 ] );
}
mprintf( gMapWeaponStats[ 1 ].sX + gsInvDescX, gMapWeaponStats[ 1 ].sY + gsInvDescY, L"%s", gWeaponStatsDesc[ 1 ] );
@@ -3323,21 +3334,24 @@ void RenderItemDescriptionBox( )
mprintf( usX, usY, pStr );
}
ubAttackAPs = BaseAPsToShootOrStab( DEFAULT_APS, DEFAULT_AIMSKILL, gpItemDescObject );
ubAttackAPs = BaseAPsToShootOrStab( DEFAULT_APS, DEFAULT_AIMSKILL, gpItemDescObject );
if (ubAttackAPs <= EXCEPTIONAL_AP_COST)
{
SetFontForeground( ITEMDESC_FONTHIGHLIGHT );
}
else
{
SetFontForeground( 5 );
}
if (ubAttackAPs <= EXCEPTIONAL_AP_COST)
{
SetFontForeground( ITEMDESC_FONTHIGHLIGHT );
}
else
{
SetFontForeground( 5 );
}
//Ap's
swprintf( (wchar_t *)pStr, L"%2d", ubAttackAPs );
FindFontRightCoordinates( (INT16)(gMapWeaponStats[ 5 ].sX + gsInvDescX + gMapWeaponStats[ 5 ].sValDx), (INT16)(gMapWeaponStats[ 5 ].sY + gsInvDescY ), ITEM_STATS_WIDTH ,ITEM_STATS_HEIGHT ,pStr, BLOCKFONT2, &usX, &usY);
mprintf( usX, usY, pStr );
if ( !Weapon[gpItemDescObject->usItem].NoSemiAuto )
{
swprintf( (wchar_t *)pStr, L"%2d", ubAttackAPs );
FindFontRightCoordinates( (INT16)(gMapWeaponStats[ 5 ].sX + gsInvDescX + gMapWeaponStats[ 5 ].sValDx), (INT16)(gMapWeaponStats[ 5 ].sY + gsInvDescY ), ITEM_STATS_WIDTH ,ITEM_STATS_HEIGHT ,pStr, BLOCKFONT2, &usX, &usY);
mprintf( usX, usY, pStr );
}
if (GetShotsPerBurst(gpItemDescObject) > 0)
{
@@ -3593,7 +3607,8 @@ void RenderItemDescriptionBox( )
if ( Item[ gpItemDescObject->usItem ].usItemClass & IC_GUN || Item[ gpItemDescObject->usItem ].usItemClass & IC_LAUNCHER )
{
// display bullets for ROF
BltVideoObjectFromIndex( guiSAVEBUFFER, guiBullet, 0, BULLET_SING_X, BULLET_SING_Y, VO_BLT_SRCTRANSPARENCY, NULL );
if ( !Weapon[gpItemDescObject->usItem].NoSemiAuto )
BltVideoObjectFromIndex( guiSAVEBUFFER, guiBullet, 0, BULLET_SING_X, BULLET_SING_Y, VO_BLT_SRCTRANSPARENCY, NULL );
if (GetShotsPerBurst(gpItemDescObject) > 0)
{
@@ -3720,7 +3735,8 @@ void RenderItemDescriptionBox( )
mprintf( gWeaponStats[ 5 ].sX + gsInvDescX, gWeaponStats[ 5 ].sY + gsInvDescY, L"%s", gWeaponStatsDesc[ 5 ] );
if ( Item[ gpItemDescObject->usItem ].usItemClass & IC_GUN || Item[ gpItemDescObject->usItem ].usItemClass & IC_LAUNCHER )
{
mprintf( gWeaponStats[ 7 ].sX + gsInvDescX, gWeaponStats[ 7 ].sY + gsInvDescY, L"%s", gWeaponStatsDesc[ 7 ] );
if ( !Weapon[gpItemDescObject->usItem].NoSemiAuto )
mprintf( gWeaponStats[ 7 ].sX + gsInvDescX, gWeaponStats[ 7 ].sY + gsInvDescY, L"%s", gWeaponStatsDesc[ 7 ] );
}
mprintf( gWeaponStats[ 1 ].sX + gsInvDescX, gWeaponStats[ 1 ].sY + gsInvDescY, L"%s", gWeaponStatsDesc[ 1 ] );
@@ -3794,9 +3810,12 @@ void RenderItemDescriptionBox( )
SetFontForeground( 5 );
}
swprintf( (wchar_t *)pStr, L"%2d", ubAttackAPs );
FindFontRightCoordinates( (INT16)(gWeaponStats[ 5 ].sX + gsInvDescX + gWeaponStats[ 5 ].sValDx), (INT16)(gWeaponStats[ 5 ].sY + gsInvDescY ), ITEM_STATS_WIDTH, ITEM_STATS_HEIGHT ,pStr, BLOCKFONT2, &usX, &usY);
mprintf( usX, usY, pStr );
if ( !Weapon[gpItemDescObject->usItem].NoSemiAuto )
{
swprintf( (wchar_t *)pStr, L"%2d", ubAttackAPs );
FindFontRightCoordinates( (INT16)(gWeaponStats[ 5 ].sX + gsInvDescX + gWeaponStats[ 5 ].sValDx), (INT16)(gWeaponStats[ 5 ].sY + gsInvDescY ), ITEM_STATS_WIDTH, ITEM_STATS_HEIGHT ,pStr, BLOCKFONT2, &usX, &usY);
mprintf( usX, usY, pStr );
}
if (GetShotsPerBurst(gpItemDescObject)> 0)
{
+2 -1
View File
@@ -327,7 +327,8 @@ enum
STR_AUTOFIRE,
STR_NO_AUTOFIRE,
STR_ACCURATE,
STR_INACCURATE
STR_INACCURATE,
STR_NO_SEMI_AUTO
};
#define LARGE_STRING_LENGTH 200
+1
View File
@@ -299,6 +299,7 @@ UINT16 Message[][STRING_LENGTH] =
L"no full auto",
L"accurate",
L"inaccurate",
L"no semi auto",
};
+3
View File
@@ -290,6 +290,9 @@ UINT16 Message[][STRING_LENGTH] =
L"Spielzug Bloodcats",
L"automatic",
L"no full auto",
L"accurate",
L"inaccurate",
L"no semi auto",
};
STR16 pTownNames[] =
+1
View File
@@ -291,6 +291,7 @@ UINT16 Message[][STRING_LENGTH] =
L"no full auto",
L"accurate",
L"inaccurate",
L"no semi auto",
};