From 7a1987665d7fc2ead2d1d5dc1af56fb062cea002 Mon Sep 17 00:00:00 2001 From: Wanne Date: Sun, 31 Dec 2006 12:06:35 +0000 Subject: [PATCH] - bugfix: Ira invisible bug in rebel basement git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@652 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- JA2.suo | Bin 197632 -> 197632 bytes Tactical/Animation Data.cpp | 17 ++++++++++++++++- Tactical/Items.cpp | 21 +++++++++++++++++---- Tactical/Soldier Control.cpp | 1 + TileEngine/renderworld.cpp | 1 - builddefines.h | 5 +++-- 6 files changed, 37 insertions(+), 8 deletions(-) diff --git a/JA2.suo b/JA2.suo index 21906d31ca46d2a26c2b351182a298c1759d1bab..af6cd20c31ef7a0a7bf050ff8fefb40a568d31d5 100644 GIT binary patch delta 7457 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 0 ) { @@ -960,6 +973,8 @@ BOOLEAN UnLoadAnimationSurface( UINT16 usSoldierID, UINT16 usSurfaceIndex ) gAnimSurfaceDatabase[ usSurfaceIndex ].bUsageCount = 0; } + + // Check if count has reached zero and delet if so if ( gAnimSurfaceDatabase[ usSurfaceIndex ].bUsageCount == 0 ) diff --git a/Tactical/Items.cpp b/Tactical/Items.cpp index 4bbe48ba..c35bf430 100644 --- a/Tactical/Items.cpp +++ b/Tactical/Items.cpp @@ -7536,12 +7536,25 @@ void ApplyEquipmentBonuses(SOLDIERTYPE * pSoldier) pSoldier->wornSnowCamo = (INT8)newSnowCamo; if ( (newCamo > oldCamo || newUrbanCamo > oldUrbanCamo || newDesertCamo > oldDesertCamo || newSnowCamo > oldSnowCamo )&& pSoldier->bTeam == OUR_TEAM ) + { DoMercBattleSound( pSoldier, BATTLE_SOUND_COOL1 ); - + + // WANNE: Only call the method if oldCame != newCamo + if ( pSoldier->bInSector) + CreateSoldierPalettes( pSoldier ); + } + else if ( (newCamo < oldCamo || newUrbanCamo < oldUrbanCamo || newDesertCamo < oldDesertCamo || newSnowCamo < oldSnowCamo )&& pSoldier->bTeam == OUR_TEAM ) + { + // WANNE: Only call the method if oldCame != newCamo + if ( pSoldier->bInSector) + CreateSoldierPalettes( pSoldier ); + } + // WANNE: IRA: Madd, I commented this, because this leads to IRAs INVISIBLE BUG! + // We should only call the CreateSoldierPalettes if oldCamo != newCamo. See above! //Madd: do this regardless of camo. This will need to be called to do custom part colours and new overlays anyway. - if ( pSoldier->bInSector) - CreateSoldierPalettes( pSoldier ); - + //if ( pSoldier->bInSector) + // CreateSoldierPalettes( pSoldier ); + fInterfacePanelDirty = DIRTYLEVEL2; } diff --git a/Tactical/Soldier Control.cpp b/Tactical/Soldier Control.cpp index c08f40e8..dd00bc03 100644 --- a/Tactical/Soldier Control.cpp +++ b/Tactical/Soldier Control.cpp @@ -2254,6 +2254,7 @@ BOOLEAN EVENT_InitNewSoldierAnim( SOLDIERTYPE *pSoldier, UINT16 usNewState, UINT HandleSight(pSoldier,SIGHT_LOOK); } } + // If our own guy... if ( pSoldier->bTeam == gbPlayerNum ) { diff --git a/TileEngine/renderworld.cpp b/TileEngine/renderworld.cpp index 610c1552..16eb61e9 100644 --- a/TileEngine/renderworld.cpp +++ b/TileEngine/renderworld.cpp @@ -1792,7 +1792,6 @@ void RenderTiles(UINT32 uiFlags, INT32 iStartPointX_M, INT32 iStartPointY_M, INT pShadeTable = pSoldier->pEffectShades[ 1 ]; } - hVObject=gAnimSurfaceDatabase[ usAnimSurface ].hVideoObject; if ( hVObject == NULL ) diff --git a/builddefines.h b/builddefines.h index 142d3b34..35d5b6ca 100644 --- a/builddefines.h +++ b/builddefines.h @@ -12,17 +12,18 @@ //#define JA2TESTVERSION -// Debug version of the editor! +// Remove comment to build the editor! //#define JA2EDITOR -// Editor +// Remove comment to build the editor! #ifdef _DEBUG #ifndef JA2TESTVERSION #define JA2TESTVERSION #endif #endif +// Remove comment to build the editor! // Do combinations #ifdef JA2TESTVERSION