summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/control/Pickups.cpp28
-rw-r--r--src/core/Game.cpp8
-rw-r--r--src/core/config.h2
-rw-r--r--src/render/Hud.cpp7
4 files changed, 45 insertions, 0 deletions
diff --git a/src/control/Pickups.cpp b/src/control/Pickups.cpp
index 1bf6d9ce..d5db4ad8 100644
--- a/src/control/Pickups.cpp
+++ b/src/control/Pickups.cpp
@@ -623,6 +623,34 @@ CPickups::Update()
if (CReplay::IsPlayingBack())
return;
#endif
+#ifdef CAMERA_PICKUP
+ if ( bPickUpcamActivated ) // taken from PS2
+ {
+ float dist = (FindPlayerCoors() - StaticCamCoors).Magnitude2D();
+ float mult;
+ if ( dist < 10.0f )
+ mult = 1.0f - (dist / 10.0f );
+ else
+ mult = 0.0f;
+
+ CVector pos = StaticCamCoors;
+ pos.z += (pPlayerVehicle->GetColModel()->boundingBox.GetSize().z + 2.0f) * mult;
+
+ if ( (CTimer::GetTimeInMilliseconds() - StaticCamStartTime) > 750 )
+ {
+ TheCamera.SetCamPositionForFixedMode(pos, CVector(0.0f, 0.0f, 0.0f));
+ TheCamera.TakeControl(FindPlayerVehicle(), CCam::MODE_FIXED, JUMP_CUT, CAMCONTROL_SCRIPT);
+ }
+
+ if ( FindPlayerVehicle() != pPlayerVehicle
+ || (FindPlayerCoors() - StaticCamCoors).Magnitude() > 40.0f
+ || ((CTimer::GetTimeInMilliseconds() - StaticCamStartTime) > 60000) )
+ {
+ TheCamera.RestoreWithJumpCut();
+ bPickUpcamActivated = false;
+ }
+ }
+#endif
#define PICKUPS_FRAME_SPAN (6)
#ifdef FIX_BUGS
for (uint32 i = NUMGENERALPICKUPS * (CTimer::GetFrameCounter() % PICKUPS_FRAME_SPAN) / PICKUPS_FRAME_SPAN; i < NUMGENERALPICKUPS * (CTimer::GetFrameCounter() % PICKUPS_FRAME_SPAN + 1) / PICKUPS_FRAME_SPAN; i++) {
diff --git a/src/core/Game.cpp b/src/core/Game.cpp
index b1d29161..94c775ae 100644
--- a/src/core/Game.cpp
+++ b/src/core/Game.cpp
@@ -156,6 +156,14 @@ CGame::InitialiseRenderWare(void)
LightsCreate(Scene.world);
CreateDebugFont();
+
+#ifdef LIBRW
+#ifdef PS2_MATFX
+ rw::MatFX::modulateEnvMap = true;
+#else
+ rw::MatFX::modulateEnvMap = false;
+#endif
+#endif
CFont::Initialise();
CHud::Initialise();
diff --git a/src/core/config.h b/src/core/config.h
index 4ca79cb5..b5022b9f 100644
--- a/src/core/config.h
+++ b/src/core/config.h
@@ -209,6 +209,7 @@ enum Config {
#define TRIANGLE_BACK_BUTTON
// #define CIRCLE_BACK_BUTTON
#define HUD_ENHANCEMENTS // Adjusts some aspects to make the HUD look/behave a little bit better.
+#define BETA_SLIDING_TEXT
// Script
#define USE_DEBUG_SCRIPT_LOADER // makes game load main_freeroam.scm by default
@@ -225,6 +226,7 @@ enum Config {
// Pickups
//#define MONEY_MESSAGES
+#define CAMERA_PICKUP
// Peds
#define ANIMATE_PED_COL_MODEL
diff --git a/src/render/Hud.cpp b/src/render/Hud.cpp
index fc399741..137b1afa 100644
--- a/src/render/Hud.cpp
+++ b/src/render/Hud.cpp
@@ -1240,10 +1240,17 @@ void CHud::DrawAfterFade()
CFont::SetColor(CRGBA(0, 0, 0, 255));
CFont::SetFontStyle(FONT_BANK);
+#ifdef BETA_SLIDING_TEXT
+ CFont::PrintString(SCREEN_WIDTH / 2 + SCREEN_SCALE_X(2.0f) - SCREEN_SCALE_X(OddJob2XOffset), SCREEN_HEIGHT / 2 - SCREEN_SCALE_Y(20.0f) + SCREEN_SCALE_Y(2.0f), m_BigMessage[5]);
+
+ CFont::SetColor(CRGBA(156, 91, 40, 255));
+ CFont::PrintString(SCREEN_WIDTH / 2 - SCREEN_SCALE_X(OddJob2XOffset), SCREEN_HEIGHT / 2 - SCREEN_SCALE_Y(20.0f), m_BigMessage[5]);
+#else
CFont::PrintString(SCREEN_WIDTH / 2 + SCREEN_SCALE_X(2.0f), SCREEN_HEIGHT / 2 - SCREEN_SCALE_Y(20.0f) + SCREEN_SCALE_Y(2.0f), m_BigMessage[5]);
CFont::SetColor(CRGBA(156, 91, 40, 255));
CFont::PrintString(SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2 - SCREEN_SCALE_Y(20.0f), m_BigMessage[5]);
+#endif
}
}