From 90ff5d5626bd7da0c9bb90c098c9752e47dc867d Mon Sep 17 00:00:00 2001 From: silversurfer Date: Sat, 4 Jun 2016 09:56:46 +0000 Subject: [PATCH] Fix: AimLevels bonus was displayed for OCTH although it doesn't apply there git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8247 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- GameVersion.cpp | 18 ++--- Tactical/Interface Enhanced.cpp | 117 +++++++++++++++++--------------- Tactical/Items.cpp | 4 +- Tactical/Weapons.cpp | 2 +- 4 files changed, 76 insertions(+), 65 deletions(-) diff --git a/GameVersion.cpp b/GameVersion.cpp index 1025cf6b..4dfb3467 100644 --- a/GameVersion.cpp +++ b/GameVersion.cpp @@ -15,9 +15,9 @@ #ifdef JA2EDITOR #ifdef JA2UB - CHAR16 zVersionLabel[256] = { L"Unfinished Business - Map Editor v1.13.8241 (Development Build)" }; + CHAR16 zVersionLabel[256] = { L"Unfinished Business - Map Editor v1.13.8247 (Development Build)" }; #else - CHAR16 zVersionLabel[256] = { L"Map Editor v1.13.8241 (Development Build)" }; + CHAR16 zVersionLabel[256] = { L"Map Editor v1.13.8247 (Development Build)" }; #endif // ------------------------------ @@ -27,11 +27,11 @@ //DEBUG BUILD VERSION #ifdef JA2UB - CHAR16 zVersionLabel[256] = { L"Debug: Unfinished Business - v1.13.8241 (Development Build)" }; + CHAR16 zVersionLabel[256] = { L"Debug: Unfinished Business - v1.13.8247 (Development Build)" }; #elif defined (JA113DEMO) - CHAR16 zVersionLabel[256] = { L"Debug: JA2 Demo - v1.13.8241 (Development Build)" }; + CHAR16 zVersionLabel[256] = { L"Debug: JA2 Demo - v1.13.8247 (Development Build)" }; #else - CHAR16 zVersionLabel[256] = { L"Debug: v1.13.8241 (Development Build)" }; + CHAR16 zVersionLabel[256] = { L"Debug: v1.13.8247 (Development Build)" }; #endif #elif defined CRIPPLED_VERSION @@ -46,16 +46,16 @@ //RELEASE BUILD VERSION #ifdef JA2UB - CHAR16 zVersionLabel[256] = { L"Release Unfinished Business - v1.13.8241 (Development Build)" }; + CHAR16 zVersionLabel[256] = { L"Release Unfinished Business - v1.13.8247 (Development Build)" }; #elif defined (JA113DEMO) - CHAR16 zVersionLabel[256] = { L"Release JA2 Demo - v1.13.8241 (Development Build)" }; + CHAR16 zVersionLabel[256] = { L"Release JA2 Demo - v1.13.8247 (Development Build)" }; #else - CHAR16 zVersionLabel[256] = { L"Release v1.13.8241 (Development Build)" }; + CHAR16 zVersionLabel[256] = { L"Release v1.13.8247 (Development Build)" }; #endif #endif -CHAR8 czVersionNumber[16] = { "Build 16.05.27" }; //YY.MM.DD +CHAR8 czVersionNumber[16] = { "Build 16.06.04" }; //YY.MM.DD CHAR16 zTrackingNumber[16] = { L"Z" }; // SAVE_GAME_VERSION is defined in header, change it there diff --git a/Tactical/Interface Enhanced.cpp b/Tactical/Interface Enhanced.cpp index 68b2c2fa..4c0e3eaa 100644 --- a/Tactical/Interface Enhanced.cpp +++ b/Tactical/Interface Enhanced.cpp @@ -5056,7 +5056,7 @@ void DrawAdvancedStats( OBJECTTYPE * gpItemDescObject ) } } - ///////////////////// AIMING LEVELS MODIFIER + ///////////////////// AIM LEVELS MODIFIER if ( ( GetObjectModifier( gpItemDescSoldier, gpItemDescObject, ANIM_STAND, ITEMMODIFIER_AIMLEVELS ) != 0 || GetObjectModifier( gpItemDescSoldier, gpItemDescObject, ANIM_CROUCH, ITEMMODIFIER_AIMLEVELS ) != 0 || GetObjectModifier( gpItemDescSoldier, gpItemDescObject, ANIM_PRONE, ITEMMODIFIER_AIMLEVELS ) != 0 ) || @@ -5064,11 +5064,14 @@ void DrawAdvancedStats( OBJECTTYPE * gpItemDescObject ) || GetObjectModifier( gpItemDescSoldier, gpComparedItemDescObject, ANIM_CROUCH, ITEMMODIFIER_AIMLEVELS ) != 0 || GetObjectModifier( gpItemDescSoldier, gpComparedItemDescObject, ANIM_PRONE, ITEMMODIFIER_AIMLEVELS ) != 0 ) ) ) { - if (cnt >= sFirstLine && cnt < sLastLine) + if( UsingNewCTHSystem() ) { - BltVideoObjectFromIndex( guiSAVEBUFFER, guiItemInfoAdvancedIcon, 5, gItemDescAdvRegions[cnt-sFirstLine][0].sLeft + sOffsetX, gItemDescAdvRegions[cnt-sFirstLine][0].sTop + sOffsetY, VO_BLT_SRCTRANSPARENCY, NULL ); + if (cnt >= sFirstLine && cnt < sLastLine) + { + BltVideoObjectFromIndex( guiSAVEBUFFER, guiItemInfoAdvancedIcon, 5, gItemDescAdvRegions[cnt-sFirstLine][0].sLeft + sOffsetX, gItemDescAdvRegions[cnt-sFirstLine][0].sTop + sOffsetY, VO_BLT_SRCTRANSPARENCY, NULL ); + } + cnt++; } - cnt++; } ///////////////////// AIM BONUS MODIFIER @@ -10291,63 +10294,64 @@ void DrawAdvancedValues( OBJECTTYPE *gpItemDescObject ) cnt++; } - ///////////////////// AIMING LEVELS MODIFIER - iModifier[0] = GetObjectModifier( gpItemDescSoldier, gpItemDescObject, ANIM_STAND, ITEMMODIFIER_AIMLEVELS ); - iModifier[1] = GetObjectModifier( gpItemDescSoldier, gpItemDescObject, ANIM_CROUCH, ITEMMODIFIER_AIMLEVELS ); - iModifier[2] = GetObjectModifier( gpItemDescSoldier, gpItemDescObject, ANIM_PRONE, ITEMMODIFIER_AIMLEVELS ); - if( fComparisonMode ) - { - iComparedModifier[0] = GetObjectModifier( gpItemDescSoldier, gpComparedItemDescObject, ANIM_STAND, ITEMMODIFIER_AIMLEVELS ); - iComparedModifier[1] = GetObjectModifier( gpItemDescSoldier, gpComparedItemDescObject, ANIM_CROUCH, ITEMMODIFIER_AIMLEVELS ); - iComparedModifier[2] = GetObjectModifier( gpItemDescSoldier, gpComparedItemDescObject, ANIM_PRONE, ITEMMODIFIER_AIMLEVELS ); - } - if ( ( (iModifier[0] != 0 || iModifier[1] != 0 || iModifier[2] != 0) ) || - ( fComparisonMode && (iComparedModifier[0] != 0 || iComparedModifier[1] != 0 || iComparedModifier[2] != 0) ) ) - { - if (cnt >= sFirstLine && cnt < sLastLine) + ///////////////////// AIM LEVELS MODIFIER + if(UsingNewCTHSystem() ) { - // Set Y coordinates - sTop = gItemDescAdvRegions[cnt-sFirstLine][1].sTop; - sHeight = gItemDescAdvRegions[cnt-sFirstLine][1].sBottom - sTop; + iModifier[0] = GetObjectModifier( gpItemDescSoldier, gpItemDescObject, ANIM_STAND, ITEMMODIFIER_AIMLEVELS ); + iModifier[1] = GetObjectModifier( gpItemDescSoldier, gpItemDescObject, ANIM_CROUCH, ITEMMODIFIER_AIMLEVELS ); + iModifier[2] = GetObjectModifier( gpItemDescSoldier, gpItemDescObject, ANIM_PRONE, ITEMMODIFIER_AIMLEVELS ); + if( fComparisonMode ) + { + iComparedModifier[0] = GetObjectModifier( gpItemDescSoldier, gpComparedItemDescObject, ANIM_STAND, ITEMMODIFIER_AIMLEVELS ); + iComparedModifier[1] = GetObjectModifier( gpItemDescSoldier, gpComparedItemDescObject, ANIM_CROUCH, ITEMMODIFIER_AIMLEVELS ); + iComparedModifier[2] = GetObjectModifier( gpItemDescSoldier, gpComparedItemDescObject, ANIM_PRONE, ITEMMODIFIER_AIMLEVELS ); + } + if ( ( (iModifier[0] != 0 || iModifier[1] != 0 || iModifier[2] != 0) ) || + ( fComparisonMode && (iComparedModifier[0] != 0 || iComparedModifier[1] != 0 || iComparedModifier[2] != 0) ) ) + { + if (cnt >= sFirstLine && cnt < sLastLine) + { + // Set Y coordinates + sTop = gItemDescAdvRegions[cnt-sFirstLine][1].sTop; + sHeight = gItemDescAdvRegions[cnt-sFirstLine][1].sBottom - sTop; - // Print Values - for (UINT8 cnt2 = 0; cnt2 < 3; cnt2++) - { - if (UsingNewCTHSystem() == false && cnt2 > 0) - break; - SetFontForeground( 5 ); - sLeft = gItemDescAdvRegions[cnt-sFirstLine][cnt2+1].sLeft; - sWidth = gItemDescAdvRegions[cnt-sFirstLine][cnt2+1].sRight - sLeft; - if( fComparisonMode ) + // Print Values + for (UINT8 cnt2 = 0; cnt2 < 3; cnt2++) { - iModifier[cnt2] = iComparedModifier[cnt2] - iModifier[cnt2]; - } - if (iModifier[cnt2] > 0) - { - SetFontForeground( ITEMDESC_FONTNEGATIVE ); - swprintf( pStr, L"+%d", iModifier[cnt2] ); - FindFontCenterCoordinates( sLeft, sTop, sWidth, sHeight, pStr, BLOCKFONT2, &usX, &usY); - } - else if (iModifier[cnt2] < 0) - { - SetFontForeground( ITEMDESC_FONTPOSITIVE ); - swprintf( pStr, L"%d", iModifier[cnt2] ); - FindFontCenterCoordinates( sLeft, sTop, sWidth, sHeight, pStr, BLOCKFONT2, &usX, &usY); - } - else if( fComparisonMode ) - { - swprintf( pStr, L"=" ); - FindFontCenterCoordinates( sLeft, sTop, sWidth, sHeight, pStr, BLOCKFONT2, &usX, &usY); - } - else - { - swprintf( pStr, L"--" ); + if (UsingNewCTHSystem() == false && cnt2 > 0) + break; + SetFontForeground( 5 ); + sLeft = gItemDescAdvRegions[cnt-sFirstLine][cnt2+1].sLeft; + sWidth = gItemDescAdvRegions[cnt-sFirstLine][cnt2+1].sRight - sLeft; + if( fComparisonMode ) + { + iModifier[cnt2] = iComparedModifier[cnt2] - iModifier[cnt2]; + } + + if (iModifier[cnt2] > 0) + { + SetFontForeground( ITEMDESC_FONTNEGATIVE ); + swprintf( pStr, L"+%d", iModifier[cnt2] ); + } + else if (iModifier[cnt2] < 0) + { + SetFontForeground( ITEMDESC_FONTPOSITIVE ); + swprintf( pStr, L"%d", iModifier[cnt2] ); + } + else if( fComparisonMode ) + { + swprintf( pStr, L"=" ); + } + else + { + swprintf( pStr, L"--" ); + } FindFontCenterCoordinates( sLeft, sTop, sWidth, sHeight, pStr, BLOCKFONT2, &usX, &usY); + mprintf( usX, usY, pStr ); } - mprintf( usX, usY, pStr ); } + cnt++; } - cnt++; } ///////////////////// AIM BONUS MODIFIER @@ -10788,8 +10792,10 @@ void DrawAdvancedValues( OBJECTTYPE *gpItemDescObject ) iModifier[0] = (GetDamageBonus( gpItemDescObject ) * gGameExternalOptions.iExplosivesDamageModifier) / 100; else iModifier[0] = GetDamageBonus( gpItemDescObject ); + iModifier[1] = iModifier[0]; iModifier[2] = iModifier[0]; + if( fComparisonMode ) { if (Item[gpComparedItemDescObject->usItem].usItemClass & (IC_GUN|IC_THROWING_KNIFE)) @@ -10799,9 +10805,12 @@ void DrawAdvancedValues( OBJECTTYPE *gpItemDescObject ) else if (Item[gpComparedItemDescObject->usItem].usItemClass & (IC_EXPLOSV|IC_LAUNCHER)) iComparedModifier[0] = (GetDamageBonus( gpComparedItemDescObject ) * gGameExternalOptions.iExplosivesDamageModifier) / 100; else + iComparedModifier[0] = GetDamageBonus( gpComparedItemDescObject ); + iComparedModifier[1] = iComparedModifier[0]; iComparedModifier[2] = iComparedModifier[0]; } + if (iModifier[0] != 0 || ( fComparisonMode && iComparedModifier[0] != 0 ) ) { if (cnt >= sFirstLine && cnt < sLastLine) diff --git a/Tactical/Items.cpp b/Tactical/Items.cpp index 47ad0d91..65ac28d0 100644 --- a/Tactical/Items.cpp +++ b/Tactical/Items.cpp @@ -10343,7 +10343,9 @@ INT32 GetItemModifier(OBJECTTYPE* pObj, UINT8 ubRef, UINT8 usType) iModifier += BonusReduceMore( Item[pObj->usItem].targettrackingmodifier[ubRef], (*pObj)[0]->data.objectStatus ); break; case ITEMMODIFIER_AIMLEVELS: - iModifier += Item[pObj->usItem].aimlevelsmodifier[ubRef]; + // silversurfer: NCTH system only + if ( UsingNewCTHSystem() ) + iModifier += Item[pObj->usItem].aimlevelsmodifier[ubRef]; break; case ITEMMODIFIER_SPOTTER: diff --git a/Tactical/Weapons.cpp b/Tactical/Weapons.cpp index fd334143..f7d27340 100644 --- a/Tactical/Weapons.cpp +++ b/Tactical/Weapons.cpp @@ -6831,7 +6831,7 @@ UINT32 CalcChanceToHitGun(SOLDIERTYPE *pSoldier, INT32 sGridNo, INT16 ubAimTime, UINT16 usInHand, usShockPenalty, MIN_RANGE_FOR_FULL_COWER, MAX_TARGET_COWERING_PENALTY; UINT16 iBulletsLeft, iTracersFired = 0, iBulletsPerTracer, iBulletsSinceLastTracer=0, iRoundsFiredPreviously; INT8 bBandaged, maxClickBonus = 10, AIM_PENALTY_PER_TARGET_SHOCK; - UINT8 ubAdjAimPos, ubTargetID, bLightLevel, ubCoweringDivisor, ubAutoPenaltySinceLastTracer=0; + UINT8 ubTargetID, bLightLevel, ubCoweringDivisor, ubAutoPenaltySinceLastTracer=0; FLOAT maxBonus, aimTimeBonus, scopeRangeMod = 0.0f, iAimBonus; bool fCantSeeTarget = false, fCoverObscured = false;