mirror of
https://github.com/TombEngine/TombEngine.git
synced 2025-04-28 15:57:59 +03:00
Merge branch 'MontyTRC89:develop' into develop
This commit is contained in:
commit
c3a97f4113
5 changed files with 19 additions and 8 deletions
|
@ -756,7 +756,8 @@ GameStatus HandleMenuCalls(bool isTitle)
|
||||||
{
|
{
|
||||||
SaveGame::LoadHeaders();
|
SaveGame::LoadHeaders();
|
||||||
g_Gui.SetInventoryMode(InventoryMode::Load);
|
g_Gui.SetInventoryMode(InventoryMode::Load);
|
||||||
g_Gui.CallInventory(LaraItem, false);
|
if (g_Gui.CallInventory(LaraItem, false))
|
||||||
|
gameStatus = GameStatus::LoadGame;
|
||||||
}
|
}
|
||||||
else if (doPause && g_Gui.GetInventoryMode() != InventoryMode::Pause)
|
else if (doPause && g_Gui.GetInventoryMode() != InventoryMode::Pause)
|
||||||
{
|
{
|
||||||
|
|
|
@ -3520,7 +3520,7 @@ namespace TEN::Gui
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SoundEffect(SFX_TR4_MENU_CHOOSE, nullptr, SoundEnvironment::Always);
|
SoundEffect(SFX_TR4_MENU_CHOOSE, nullptr, SoundEnvironment::Always);
|
||||||
NextLevel = -(SelectedSaveSlot + 1);
|
g_GameFlow->SelectedSaveGame = SelectedSaveSlot;
|
||||||
return LoadResult::Load;
|
return LoadResult::Load;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
#include "Scripting/Include/ScriptInterfaceLevel.h"
|
#include "Scripting/Include/ScriptInterfaceLevel.h"
|
||||||
#include "Scripting/Include/Flow/ScriptInterfaceFlowHandler.h"
|
#include "Scripting/Include/Flow/ScriptInterfaceFlowHandler.h"
|
||||||
#include "Specific/level.h"
|
#include "Specific/level.h"
|
||||||
|
#include "Game/Lara/lara_helpers.h"
|
||||||
|
|
||||||
using namespace TEN::Math;
|
using namespace TEN::Math;
|
||||||
|
|
||||||
|
@ -111,7 +112,8 @@ namespace TEN::Entities::Effects
|
||||||
isVisible = false;
|
isVisible = false;
|
||||||
|
|
||||||
// Check occlusion only for player.
|
// Check occlusion only for player.
|
||||||
collided = isVisible && ObjectOnLOS2(&origin, &target, &pointOfContact, nullptr, ID_LARA) != NO_LOS_ITEM;
|
int playerItemNumber = isVisible ? ObjectOnLOS2(&origin, &target, &pointOfContact, nullptr, ID_LARA) : NO_LOS_ITEM;
|
||||||
|
collided = isVisible && playerItemNumber != NO_LOS_ITEM && !GetLaraInfo(g_Level.Items[playerItemNumber]).Control.Look.IsUsingBinoculars;
|
||||||
if (collided && Vector3::Distance(pointOfContact.ToVector3(), origin.ToVector3()) < distance)
|
if (collided && Vector3::Distance(pointOfContact.ToVector3(), origin.ToVector3()) < distance)
|
||||||
isVisible = false;
|
isVisible = false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2994,9 +2994,10 @@ namespace TEN::Renderer
|
||||||
rDrawSprite.Scale = 1.0f;
|
rDrawSprite.Scale = 1.0f;
|
||||||
rDrawSprite.Width = SUN_SIZE;
|
rDrawSprite.Width = SUN_SIZE;
|
||||||
rDrawSprite.Height = SUN_SIZE;
|
rDrawSprite.Height = SUN_SIZE;
|
||||||
|
rDrawSprite.color = renderView.LensFlaresToDraw[0].Color;
|
||||||
|
|
||||||
_stInstancedSpriteBuffer.Sprites[0].World = GetWorldMatrixForSprite(&rDrawSprite, renderView);
|
_stInstancedSpriteBuffer.Sprites[0].World = GetWorldMatrixForSprite(&rDrawSprite, renderView);
|
||||||
_stInstancedSpriteBuffer.Sprites[0].Color = Vector4::One;
|
_stInstancedSpriteBuffer.Sprites[0].Color = renderView.LensFlaresToDraw[0].Color;
|
||||||
_stInstancedSpriteBuffer.Sprites[0].IsBillboard = 1;
|
_stInstancedSpriteBuffer.Sprites[0].IsBillboard = 1;
|
||||||
_stInstancedSpriteBuffer.Sprites[0].IsSoftParticle = 0;
|
_stInstancedSpriteBuffer.Sprites[0].IsSoftParticle = 0;
|
||||||
|
|
||||||
|
|
|
@ -143,12 +143,19 @@ float3 LensFlare(float2 uv, float2 pos)
|
||||||
f22 + f42 + f52 + f62,
|
f22 + f42 + f52 + f62,
|
||||||
f23 + f43 + f53 + f63
|
f23 + f43 + f53 + f63
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Subtle anamorphic glare
|
||||||
|
float anamorphicScaleX = 1.2f; // Horizontal stretch factor
|
||||||
|
float anamorphicScaleY = 35.0f; // Vertical compression factor
|
||||||
|
float2 anamorphicOffset = main; // Center at the lensflare source
|
||||||
|
float glare = exp(-pow(anamorphicOffset.x * anamorphicScaleX, 2.0f) - pow(anamorphicOffset.y * anamorphicScaleY, 2.0f));
|
||||||
|
float3 anamorphicGlare = float3(glare * 0.6f, glare * 0.5f, glare * 1.0f) * 0.05f;
|
||||||
|
|
||||||
// Combine the effects and adjust intensity
|
// Combine the effects and adjust intensity
|
||||||
float3 c = saturate(sunflare) * 0.5f + lensflare;
|
float3 c = saturate(sunflare) * 0.5f + lensflare + anamorphicGlare;
|
||||||
c = c * 1.3f - float3(length(uvd) * 0.05f, length(uvd) * 0.05f, length(uvd) * 0.05f);
|
c = c * 1.3f - float3(length(uvd) * 0.05f, length(uvd) * 0.05f, length(uvd) * 0.05f);
|
||||||
|
|
||||||
return c * intensity;
|
return c * intensity;
|
||||||
}
|
}
|
||||||
|
|
||||||
float3 LensFlareColorCorrection(float3 color, float factor,float factor2)
|
float3 LensFlareColorCorrection(float3 color, float factor,float factor2)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue