diff options
-rw-r--r-- | src/render/WaterLevel.cpp | 24 | ||||
-rw-r--r-- | src/render/WaterLevel.h | 43 |
2 files changed, 67 insertions, 0 deletions
diff --git a/src/render/WaterLevel.cpp b/src/render/WaterLevel.cpp index f21471cb..fc368e0d 100644 --- a/src/render/WaterLevel.cpp +++ b/src/render/WaterLevel.cpp @@ -22,7 +22,10 @@ #include "WaterLevel.h" #include "patcher.h" +<<<<<<< HEAD +======= +>>>>>>> a644c4e9ceb440f53e31dd39f11a9a3c859ffb44 float TEXTURE_ADDU; float TEXTURE_ADDV; @@ -279,8 +282,12 @@ CWaterLevel::GetWaterLevelNoWaves(float fX, float fY, float fZ, float *pfOutLeve return true; } +<<<<<<< HEAD inline float _GetWaterDrawDist() +======= +inline float _GetWaterDrawDist() +>>>>>>> a644c4e9ceb440f53e31dd39f11a9a3c859ffb44 { // if z less then 15.0f return 1200.0f if ( TheCamera.GetPosition().z < 15.0f ) @@ -293,8 +300,12 @@ _GetWaterDrawDist() return (TheCamera.GetPosition().z + -15.0f) * 800.0f / 45.0f + 1200.0f; } +<<<<<<< HEAD inline float _GetWavyDrawDist() +======= +inline float _GetWavyDrawDist() +>>>>>>> a644c4e9ceb440f53e31dd39f11a9a3c859ffb44 { if ( FindPlayerVehicle() && FindPlayerVehicle()->IsBoat() ) return 120.0f; @@ -302,8 +313,12 @@ _GetWavyDrawDist() return 70.0f; } +<<<<<<< HEAD inline void _GetCamBounds(bool *bUseCamStartY, bool *bUseCamEndY, bool *bUseCamStartX, bool *bUseCamEndX) +======= +inline void _GetCamBounds(bool *bUseCamStartY, bool *bUseCamEndY, bool *bUseCamStartX, bool *bUseCamEndX) +>>>>>>> a644c4e9ceb440f53e31dd39f11a9a3c859ffb44 { if ( TheCamera.GetForward().z > -0.8f ) { @@ -324,6 +339,7 @@ _GetCamBounds(bool *bUseCamStartY, bool *bUseCamEndY, bool *bUseCamStartX, bool } } +<<<<<<< HEAD float SectorRadius(float fSize) { @@ -332,6 +348,14 @@ SectorRadius(float fSize) void CWaterLevel::RenderWater() +======= +float SectorRadius(float fSize) +{ + return sqrtf(powf(fSize, 2) + powf(fSize, 2)) * 1.0040916293f; +} + +void CWaterLevel::RenderWater() +>>>>>>> a644c4e9ceb440f53e31dd39f11a9a3c859ffb44 { bool bUseCamEndX = false; bool bUseCamStartY = false; diff --git a/src/render/WaterLevel.h b/src/render/WaterLevel.h index b8ec7a4d..5c849898 100644 --- a/src/render/WaterLevel.h +++ b/src/render/WaterLevel.h @@ -1,5 +1,9 @@ #pragma once +<<<<<<< HEAD +======= + +>>>>>>> a644c4e9ceb440f53e31dd39f11a9a3c859ffb44 #define WATER_BLOCK_SIZE LARGE_SECTOR_SIZE #define WATER_FINEBLOCK_SIZE HUGE_SECTOR_SIZE #define WATER_Z_OFFSET (1.5f) @@ -24,6 +28,7 @@ #define WATER_HEIGHT ((WATER_END_Y - WATER_START_Y)) +<<<<<<< HEAD #define WATER_UNSIGN_X(x) ( (x) + (WATER_WIDTH /2) ) #define WATER_UNSIGN_Y(y) ( (y) + (WATER_HEIGHT/2) ) #define WATER_SIGN_X(x) ( (x) - (WATER_WIDTH /2) ) @@ -60,6 +65,44 @@ #define WATER_FROM_EXTRAHUGE_SECTOR_Y(y) ( ((y) - (MAX_EXTRAHUGE_SECTORS/2)) * EXTRAHUGE_SECTOR_SIZE ) #define WATER_TO_EXTRAHUGE_SECTOR_X(x) ( WATER_UNSIGN_X(x) / EXTRAHUGE_SECTOR_SIZE ) #define WATER_TO_EXTRAHUGE_SECTOR_Y(y) ( WATER_UNSIGN_Y(y) / EXTRAHUGE_SECTOR_SIZE ) +======= +#define WATER_UNSIGN_X(x) ( (x) + (WATER_WIDTH /2) ) +#define WATER_UNSIGN_Y(y) ( (y) + (WATER_HEIGHT/2) ) +#define WATER_SIGN_X(x) ( (x) - (WATER_WIDTH /2) ) +#define WATER_SIGN_Y(y) ( (y) - (WATER_HEIGHT/2) ) + +// 32 +#define WATER_SMALL_X(x) ( WATER_UNSIGN_X(x) / MAX_SMALL_SECTORS ) +#define WATER_SMALL_Y(y) ( WATER_UNSIGN_Y(y) / MAX_SMALL_SECTORS ) +#define WATER_FROM_SMALL_SECTOR_X(x) ( ((x) - (MAX_SMALL_SECTORS/2) ) * SMALL_SECTOR_SIZE ) +#define WATER_FROM_SMALL_SECTOR_Y(y) ( ((y) - (MAX_SMALL_SECTORS/2) ) * SMALL_SECTOR_SIZE ) +#define WATER_TO_SMALL_SECTOR_X(x) ( WATER_UNSIGN_X(x) / SMALL_SECTOR_SIZE ) +#define WATER_TO_SMALL_SECTOR_Y(y) ( WATER_UNSIGN_Y(y) / SMALL_SECTOR_SIZE ) + +// 64 +#define WATER_LARGE_X(x) ( WATER_UNSIGN_X(x) / MAX_LARGE_SECTORS ) +#define WATER_LARGE_Y(y) ( WATER_UNSIGN_Y(y) / MAX_LARGE_SECTORS ) +#define WATER_FROM_LARGE_SECTOR_X(x) ( ((x) - (MAX_LARGE_SECTORS/2) ) * LARGE_SECTOR_SIZE ) +#define WATER_FROM_LARGE_SECTOR_Y(y) ( ((y) - (MAX_LARGE_SECTORS/2) ) * LARGE_SECTOR_SIZE ) +#define WATER_TO_LARGE_SECTOR_X(x) ( WATER_UNSIGN_X(x) / LARGE_SECTOR_SIZE ) +#define WATER_TO_LARGE_SECTOR_Y(y) ( WATER_UNSIGN_Y(y) / LARGE_SECTOR_SIZE ) + +// 128 +#define WATER_HUGE_X(x) ( WATER_UNSIGN_X(x) / MAX_HUGE_SECTORS ) +#define WATER_HUGE_Y(y) ( WATER_UNSIGN_Y(y) / MAX_HUGE_SECTORS ) +#define WATER_FROM_HUGE_SECTOR_X(x) ( ((x) - (MAX_HUGE_SECTORS/2) ) * HUGE_SECTOR_SIZE ) +#define WATER_FROM_HUGE_SECTOR_Y(y) ( ((y) - (MAX_HUGE_SECTORS/2) ) * HUGE_SECTOR_SIZE ) +#define WATER_TO_HUGE_SECTOR_X(x) ( WATER_UNSIGN_X(x) / HUGE_SECTOR_SIZE ) +#define WATER_TO_HUGE_SECTOR_Y(y) ( WATER_UNSIGN_Y(y) / HUGE_SECTOR_SIZE ) + +// 256 +#define WATER_EXTRAHUGE_X(x) ( WATER_UNSIGN_X(x) / MAX_EXTRAHUGE_SECTORS ) +#define WATER_EXTRAHUGE_Y(y) ( WATER_UNSIGN_Y(y) / MAX_EXTRAHUGE_SECTORS ) +#define WATER_FROM_EXTRAHUGE_SECTOR_X(x) ( ((x) - (MAX_EXTRAHUGE_SECTORS/2)) * EXTRAHUGE_SECTOR_SIZE ) +#define WATER_FROM_EXTRAHUGE_SECTOR_Y(y) ( ((y) - (MAX_EXTRAHUGE_SECTORS/2)) * EXTRAHUGE_SECTOR_SIZE ) +#define WATER_TO_EXTRAHUGE_SECTOR_X(x) ( WATER_UNSIGN_X(x) / EXTRAHUGE_SECTOR_SIZE ) +#define WATER_TO_EXTRAHUGE_SECTOR_Y(y) ( WATER_UNSIGN_Y(y) / EXTRAHUGE_SECTOR_SIZE ) +>>>>>>> a644c4e9ceb440f53e31dd39f11a9a3c859ffb44 #define MAX_BOAT_WAKES 8 |