mirror of
https://github.com/TombEngine/TombEngine.git
synced 2025-04-28 15:57:59 +03:00
Revert "Merge branch 'develop' into renderer_refactor"
This reverts commit4706f46982
, reversing changes made tobd413d00b2
.
This commit is contained in:
parent
4706f46982
commit
536c555b2d
14 changed files with 0 additions and 143 deletions
|
@ -18,7 +18,6 @@ Version 1.3
|
|||
* Allow walking on slopes when wading in water (similar to quicksand rooms).
|
||||
* Allow Lara to pull certain levers with both hands whilst holding a flare.
|
||||
* Port twin auto gun from TR3.
|
||||
* Add speedometer for vehicles such as: motorbike, Jeep.
|
||||
* Accurately rotate display sprites around their pivot.
|
||||
* Slightly revise keyhole OCB to account for either keeping or losing the key:
|
||||
- Positive OCB - play anim number and keep key in inventory.
|
||||
|
|
|
@ -14,7 +14,6 @@ namespace TEN::Hud
|
|||
void HudController::Update(const ItemInfo& playerItem)
|
||||
{
|
||||
TargetHighlighter.Update(playerItem);
|
||||
Speedometer.Update();
|
||||
PickupSummary.Update();
|
||||
StatusBars.Update(playerItem);
|
||||
}
|
||||
|
@ -22,7 +21,6 @@ namespace TEN::Hud
|
|||
void HudController::Draw(const ItemInfo& playerItem) const
|
||||
{
|
||||
TargetHighlighter.Draw();
|
||||
Speedometer.Draw();
|
||||
PickupSummary.Draw();
|
||||
StatusBars.Draw(playerItem);
|
||||
}
|
||||
|
@ -30,7 +28,6 @@ namespace TEN::Hud
|
|||
void HudController::Clear()
|
||||
{
|
||||
TargetHighlighter.Clear();
|
||||
Speedometer.Clear();
|
||||
PickupSummary.Clear();
|
||||
StatusBars.Clear();
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
#pragma once
|
||||
#include "Game/Hud/PickupSummary.h"
|
||||
#include "Game/Hud/Speedometer.h"
|
||||
#include "Game/Hud/StatusBars.h"
|
||||
#include "Game/Hud/TargetHighlighter.h"
|
||||
|
||||
|
@ -14,7 +13,6 @@ namespace TEN::Hud
|
|||
// Members
|
||||
StatusBarsController StatusBars = {};
|
||||
PickupSummaryController PickupSummary = {};
|
||||
SpeedometerController Speedometer = {};
|
||||
TargetHighlighterController TargetHighlighter = {};
|
||||
|
||||
// Utilities
|
||||
|
|
|
@ -1,89 +0,0 @@
|
|||
#include "framework.h"
|
||||
#include "Game/Hud/Speedometer.h"
|
||||
|
||||
#include "Game/effects/DisplaySprite.h"
|
||||
#include "Math/Math.h"
|
||||
#include "Renderer/Renderer11.h"
|
||||
#include "Specific/clock.h"
|
||||
|
||||
using namespace TEN::Effects::DisplaySprite;
|
||||
using namespace TEN::Math;
|
||||
using TEN::Renderer::g_Renderer;
|
||||
|
||||
namespace TEN::Hud
|
||||
{
|
||||
void SpeedometerController::UpdateValue(float value)
|
||||
{
|
||||
_value = std::clamp(value, 0.0f, 1.0f);
|
||||
_hasValueUpdated = true;
|
||||
}
|
||||
|
||||
void SpeedometerController::Update()
|
||||
{
|
||||
constexpr auto DIAL_ANGLE_MAX = ANGLE(120.0f);
|
||||
constexpr auto DIAL_ANGLE_LERP_ALPHA = 0.25f;
|
||||
constexpr auto FADE_TIME = 0.2f;
|
||||
|
||||
if (!_hasValueUpdated && _life <= 0.0f &&
|
||||
_value <= 0.0f && _pointerAngle <= 0.0f)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Update life and updated value status.
|
||||
_life = std::clamp(_life + (_hasValueUpdated ? 1.0f : -1.0f), 0.0f, LIFE_MAX * FPS);
|
||||
_hasValueUpdated = false;
|
||||
|
||||
// Ensure value resets to 0.
|
||||
if (_life <= 0.0f)
|
||||
_value = 0.0f;
|
||||
|
||||
// Update appearance.
|
||||
_pointerAngle = Lerp(_pointerAngle, DIAL_ANGLE_MAX * _value, DIAL_ANGLE_LERP_ALPHA);
|
||||
_opacity = std::clamp(_life / std::round(FADE_TIME * FPS), 0.0f, 1.0f);
|
||||
}
|
||||
|
||||
void SpeedometerController::Draw() const
|
||||
{
|
||||
constexpr auto POS = Vector2(DISPLAY_SPACE_RES.x - (DISPLAY_SPACE_RES.x / 6), DISPLAY_SPACE_RES.y - (DISPLAY_SPACE_RES.y / 10));
|
||||
constexpr auto ORIENT_OFFSET = ANGLE(90.0f);
|
||||
constexpr auto SCALE = Vector2(0.35f);
|
||||
constexpr auto DIAL_ELEMENT_SPRITE_ID = 0;
|
||||
constexpr auto POINTER_ELEMENT_SPRITE_ID = 1;
|
||||
constexpr auto DIAL_PRIORITY = 0;
|
||||
constexpr auto POINTER_PRIORITY = 1;
|
||||
|
||||
//DrawDebug();
|
||||
|
||||
if (_life <= 0.0f)
|
||||
return;
|
||||
|
||||
auto color = Color(1.0f, 1.0f, 1.0f, _opacity);
|
||||
|
||||
// Draw dial.
|
||||
AddDisplaySprite(
|
||||
ID_SPEEDOMETER, DIAL_ELEMENT_SPRITE_ID,
|
||||
POS, 0, SCALE, color,
|
||||
DIAL_PRIORITY, DisplaySpriteAlignMode::Center, DisplaySpriteScaleMode::Fit, BLEND_MODES::BLENDMODE_ALPHABLEND);
|
||||
|
||||
// Draw pointer.
|
||||
AddDisplaySprite(
|
||||
ID_SPEEDOMETER, POINTER_ELEMENT_SPRITE_ID,
|
||||
POS, _pointerAngle + ORIENT_OFFSET, SCALE, color,
|
||||
POINTER_PRIORITY, DisplaySpriteAlignMode::Center, DisplaySpriteScaleMode::Fit, BLEND_MODES::BLENDMODE_ALPHABLEND);
|
||||
}
|
||||
|
||||
void SpeedometerController::Clear()
|
||||
{
|
||||
*this = {};
|
||||
}
|
||||
|
||||
void SpeedometerController::DrawDebug() const
|
||||
{
|
||||
g_Renderer.PrintDebugMessage("SPEEDOMETER DEBUG");
|
||||
g_Renderer.PrintDebugMessage("Value: %.3f", _value);
|
||||
g_Renderer.PrintDebugMessage("Pointer angle: %.3f", _pointerAngle);
|
||||
g_Renderer.PrintDebugMessage("Opacity: %.3f", _opacity);
|
||||
g_Renderer.PrintDebugMessage("Life: %.3f", _life / FPS);
|
||||
}
|
||||
}
|
|
@ -1,29 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
namespace TEN::Hud
|
||||
{
|
||||
class SpeedometerController
|
||||
{
|
||||
private:
|
||||
// Constants
|
||||
static constexpr auto LIFE_MAX = 0.75f;
|
||||
|
||||
// Members
|
||||
bool _hasValueUpdated = false;
|
||||
|
||||
float _value = 0.0f;
|
||||
short _pointerAngle = 0;
|
||||
float _opacity = 0.0f;
|
||||
float _life = 0.0f;
|
||||
|
||||
public:
|
||||
// Utilities
|
||||
void UpdateValue(float value);
|
||||
|
||||
void Update();
|
||||
void Draw() const;
|
||||
void Clear();
|
||||
|
||||
void DrawDebug() const;
|
||||
};
|
||||
}
|
|
@ -324,7 +324,6 @@ namespace TEN::Entities::Vehicles
|
|||
|
||||
default:
|
||||
drive = SkidooUserControl(skidooItem, laraItem, height, &pitch);
|
||||
HandleVehicleSpeedometer(skidooItem->Animation.Velocity.z, SKIDOO_FAST_VELOCITY_MAX);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -842,7 +842,6 @@ namespace TEN::Entities::Vehicles
|
|||
default:
|
||||
drive = true;
|
||||
noTurn = SpeedboatUserControl(speedboatItem, laraItem);
|
||||
HandleVehicleSpeedometer(speedboatItem->Animation.Velocity.z, SPEEDBOAT_FAST_VELOCITY_MAX);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1130,7 +1130,6 @@ namespace TEN::Entities::Vehicles
|
|||
|
||||
default:
|
||||
drive = QuadUserControl(quadBikeItem, probe.Position.Floor, &pitch);
|
||||
HandleVehicleSpeedometer(quadBikeItem->Animation.Velocity.z, MAX_VELOCITY / (float)VEHICLE_VELOCITY_SCALE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1324,10 +1324,7 @@ namespace TEN::Entities::Vehicles
|
|||
collide = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
drive = JeepUserControl(jeepItem, laraItem, floorHeight, &pitch);
|
||||
HandleVehicleSpeedometer(jeepItem->Animation.Velocity.z, JEEP_VELOCITY_MAX / (float)VEHICLE_VELOCITY_SCALE);
|
||||
}
|
||||
|
||||
if (jeep->Velocity || jeep->Revs)
|
||||
{
|
||||
|
|
|
@ -1188,7 +1188,6 @@ namespace TEN::Entities::Vehicles
|
|||
motorbikeItem->MeshBits.Set(MotorbikeHeadLightJoints);
|
||||
|
||||
drive = MotorbikeUserControl(motorbikeItem, laraItem, probe.Position.Floor, &pitch);
|
||||
HandleVehicleSpeedometer(motorbikeItem->Animation.Velocity.z, MOTORBIKE_ACCEL_MAX / (float)VEHICLE_VELOCITY_SCALE);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
#include "Game/effects/simple_particle.h"
|
||||
#include "Game/effects/Streamer.h"
|
||||
#include "Game/effects/tomb4fx.h"
|
||||
#include "Game/Hud/Hud.h"
|
||||
#include "Game/Lara/lara_flare.h"
|
||||
#include "Game/Lara/lara_helpers.h"
|
||||
#include "Game/Lara/lara_struct.h"
|
||||
|
@ -16,7 +15,6 @@
|
|||
#include "Specific/Input/Input.h"
|
||||
|
||||
using namespace TEN::Effects::Streamer;
|
||||
using namespace TEN::Hud;
|
||||
using namespace TEN::Input;
|
||||
using namespace TEN::Math;
|
||||
|
||||
|
@ -389,10 +387,4 @@ namespace TEN::Entities::Vehicles
|
|||
positions.second, direction, orient2D, COLOR,
|
||||
0.0f, life, vel, scaleRate, 0, (int)StreamerFlags::FadeRight);
|
||||
}
|
||||
|
||||
void HandleVehicleSpeedometer(float vel, float velMax)
|
||||
{
|
||||
float value = abs(vel / velMax);
|
||||
g_Hud.Speedometer.UpdateValue(value);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -45,5 +45,4 @@ namespace TEN::Entities::Vehicles
|
|||
void ResetVehicleLean(ItemInfo* vehicleItem, float rate);
|
||||
|
||||
void SpawnVehicleWake(const ItemInfo& vehicleItem, const Vector3& relOffset, int waterHeight, bool isUnderwater = false);
|
||||
void HandleVehicleSpeedometer(float vel, float velMax);
|
||||
}
|
||||
|
|
|
@ -996,7 +996,6 @@ enum GAME_OBJECT_ID : short
|
|||
ID_SFX_BAR_TEXTURE,
|
||||
// NOTE: 1378 - 1379 reserved for blood effects. -- Sezz 2023.05.29
|
||||
ID_CROSSHAIR = 1380,
|
||||
ID_SPEEDOMETER,
|
||||
|
||||
ID_PANEL_BORDER = 1400,
|
||||
ID_PANEL_MIDDLE,
|
||||
|
|
|
@ -328,7 +328,6 @@ xcopy /Y "$(SolutionDir)Libs\zlib\x64\*.dll" "$(TargetDir)"</Command>
|
|||
<ClInclude Include="Game\GuiObjects.h" />
|
||||
<ClInclude Include="Game\Hud\Hud.h" />
|
||||
<ClInclude Include="Game\Hud\PickupSummary.h" />
|
||||
<ClInclude Include="Game\Hud\Speedometer.h" />
|
||||
<ClInclude Include="Game\Hud\StatusBars.h" />
|
||||
<ClInclude Include="Game\Hud\TargetHighlighter.h" />
|
||||
<ClInclude Include="Game\Lara\lara.h" />
|
||||
|
@ -868,7 +867,6 @@ xcopy /Y "$(SolutionDir)Libs\zlib\x64\*.dll" "$(TargetDir)"</Command>
|
|||
<ClCompile Include="Game\GuiObjects.cpp" />
|
||||
<ClCompile Include="Game\Hud\Hud.cpp" />
|
||||
<ClCompile Include="Game\Hud\PickupSummary.cpp" />
|
||||
<ClCompile Include="Game\Hud\Speedometer.cpp" />
|
||||
<ClCompile Include="Game\Hud\StatusBars.cpp" />
|
||||
<ClCompile Include="Game\Hud\TargetHighlighter.cpp" />
|
||||
<ClCompile Include="Game\itemdata\creature_info.cpp" />
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue