diff --git a/Tactical/LOS.cpp b/Tactical/LOS.cpp index 3919efd9..de01a0db 100644 --- a/Tactical/LOS.cpp +++ b/Tactical/LOS.cpp @@ -5323,7 +5323,7 @@ INT32 CheckForCollision( FLOAT dX, FLOAT dY, FLOAT dZ, FLOAT dDeltaX, FLOAT dDel FLOAT dTargetZMax; BOOLEAN fIntended; - INT16 sX, sY, sZ; + INT32 sX, sY, sZ; FLOAT dOldZUnits, dZUnits; @@ -5331,9 +5331,9 @@ INT32 CheckForCollision( FLOAT dX, FLOAT dY, FLOAT dZ, FLOAT dDeltaX, FLOAT dDel INT32 iCurrCubesZ; - sX = (INT16)( dX / CELL_X_SIZE ); - sY = (INT16)( dY / CELL_Y_SIZE ); - sZ = (INT16)dZ; + sX = (INT32)( dX / CELL_X_SIZE ); + sY = (INT32)( dY / CELL_Y_SIZE ); + sZ = (INT32)dZ; // Check if gridno is in bounds.... if ( !GridNoOnVisibleWorldTile( sX + sY * WORLD_COLS ) ) diff --git a/TileEngine/physics.cpp b/TileEngine/physics.cpp index 3fc0f6df..58908e02 100644 --- a/TileEngine/physics.cpp +++ b/TileEngine/physics.cpp @@ -1497,7 +1497,7 @@ vector_3 FindBestForceForTrajectory( INT32 sSrcGridNo, INT32 sGridNo,INT16 sStar //calculate force needed { - dForce = (float)( 12 * ( sqrt( ( GRAVITY * dRange ) / sin( 2 * dzDegrees ) ) ) ); + dForce = (float)( 12.0 * ( sqrt( ( GRAVITY * dRange ) / sin( 2.0 * dzDegrees ) ) ) ); } do @@ -2139,8 +2139,8 @@ FLOAT CalculateForceFromRange( INT16 sRange, FLOAT dDegrees ) // OK, use a fake gridno, find the new gridno based on range, use height of merc, end height of ground, // 45 degrees - sSrcGridNo = 4408; - sDestGridNo = 4408 + ( sRange * WORLD_COLS ); + sSrcGridNo = WORLD_COLS/2+WORLD_COLS*WORLD_ROWS/6; + sDestGridNo = sSrcGridNo + ( sRange * WORLD_COLS ); // Use a grenade objecttype CreateItem( HAND_GRENADE, 100, &gTempObject );