diff --git a/scripts/client/camera.js b/scripts/client/camera.js index 8d788fc1..2d6c139e 100644 --- a/scripts/client/camera.js +++ b/scripts/client/camera.js @@ -12,24 +12,29 @@ let cameraFadeIn = false; let cameraFadeStart = 0; let cameraFadeDuration = 0; let cameraFadeColour = 0; +let cameraFadeAlpha = 0; // =========================================================================== function processCameraFadeRendering() { if (cameraFadeEnabled) { + logToConsole(LOG_VERBOSE, `[V.RP.Camera] Camera fade enabled`); let finishTime = cameraFadeStart + cameraFadeDuration; if (sdl.ticks >= finishTime) { + logToConsole(LOG_VERBOSE, `[V.RP.Camera] Camera fade finished`); cameraFadeEnabled = false; cameraFadeDuration = 0; cameraFadeStart = 0; } else { + logToConsole(LOG_VERBOSE, `[V.RP.Camera] Camera fade processing`); let currentTick = sdl.ticks - cameraFadeStart; let progressPercent = Math.ceil(currentTick * 100 / cameraFadeDuration); let rgbaArray = rgbaArrayFromToColour(cameraFadeColour); - let alpha = (cameraFadeIn) ? Math.ceil(255 / progressPercent) : Math.ceil(progressPercent / 255); + cameraFadeAlpha = (cameraFadeIn) ? Math.ceil(((100 - progressPercent) / 100) * 255) : Math.ceil(255 * (progressPercent / 100)); + logToConsole(LOG_VERBOSE, `[V.RP.Camera] Camera fade progress: ${progressPercent}% (Alpha: ${cameraFadeAlpha})`); - cameraFadeColour = toColour(rgbaArray[0], rgbaArray[1], rgbaArray[2], alpha); + cameraFadeColour = toColour(rgbaArray[0], rgbaArray[1], rgbaArray[2], cameraFadeAlpha); graphics.drawRectangle(null, toVector2(0, 0), toVector2(game.width, game.height), cameraFadeColour, cameraFadeColour, cameraFadeColour, cameraFadeColour); } } diff --git a/scripts/server/vehicle.js b/scripts/server/vehicle.js index 18773b47..f70f9835 100644 --- a/scripts/server/vehicle.js +++ b/scripts/server/vehicle.js @@ -1925,4 +1925,13 @@ function isPlayerInVehicleDriverSeat(client) { return false; } +// =========================================================================== + +function despawnAllVehicles() { + for (let i in getServerData().vehicles) { + destroyGameElement(getServerData().vehicles[i].vehicle); + getServerData().vehicles[i].vehicle = null; + } +} + // =========================================================================== \ No newline at end of file