diff --git a/Tactical/Handle UI.cpp b/Tactical/Handle UI.cpp index 31252065..283060d6 100644 --- a/Tactical/Handle UI.cpp +++ b/Tactical/Handle UI.cpp @@ -1220,6 +1220,15 @@ UINT32 UIHandleNewBadMerc( UI_EVENT *pUIEvent ) } } + // sevenfm + if(IS_MERC_BODY_TYPE(pSoldier)) + { + if (gsInterfaceLevel) + pSoldier->SetSoldierHeight(WALL_HEIGHT); + else + pSoldier->SetSoldierHeight(0); + } + pSoldier->ubStrategicInsertionCode = INSERTION_CODE_GRIDNO; pSoldier->usStrategicInsertionData = usMapPos; UpdateMercInSector( pSoldier, gWorldSectorX, gWorldSectorY, gbWorldSectorZ ); diff --git a/TileEngine/Smell.cpp b/TileEngine/Smell.cpp index c5ba337c..c52e8df5 100644 --- a/TileEngine/Smell.cpp +++ b/TileEngine/Smell.cpp @@ -143,7 +143,11 @@ UINT8 ubBloodGraphicLUT [ ] = { 3, 3, 2, 2, 1, 1, 0, 0 }; void RemoveBlood( INT32 sGridNo, INT8 bLevel ) { - gpWorldLevelData[ sGridNo ].ubBloodInfo = 0; + //gpWorldLevelData[ sGridNo ].ubBloodInfo = 0; + if (bLevel > 0) + (gpWorldLevelData[sGridNo].ubBloodInfo) &= ~(0xE0); + else + (gpWorldLevelData[sGridNo].ubBloodInfo) &= ~(0x1C); gpWorldLevelData[ sGridNo ].uiFlags |= MAPELEMENT_REEVALUATEBLOOD; @@ -527,6 +531,10 @@ void UpdateBloodGraphics( INT32 sGridNo, INT8 bLevel ) RemoveObject( sGridNo, usIndex ); //ApplyMapChangesToMapTempFile( FALSE ); + + // sevenfm: update rendering + pMapElement->uiFlags |= MAPELEMENT_REDRAW; + SetRenderFlags(RENDER_FLAG_FULL); } // OK, pick new one. based on strength and randomness