diff --git a/gamefiles/american.gxt b/gamefiles/american.gxt new file mode 100644 index 00000000..eb56fa61 Binary files /dev/null and b/gamefiles/american.gxt differ diff --git a/gamefiles/french.gxt b/gamefiles/french.gxt new file mode 100644 index 00000000..cb2874f9 Binary files /dev/null and b/gamefiles/french.gxt differ diff --git a/gamefiles/german.gxt b/gamefiles/german.gxt new file mode 100644 index 00000000..d5a986cf Binary files /dev/null and b/gamefiles/german.gxt differ diff --git a/gamefiles/italian.gxt b/gamefiles/italian.gxt new file mode 100644 index 00000000..95e2dd36 Binary files /dev/null and b/gamefiles/italian.gxt differ diff --git a/gamefiles/russian.gxt b/gamefiles/russian.gxt index 41c4cec8..f403c5c4 100644 Binary files a/gamefiles/russian.gxt and b/gamefiles/russian.gxt differ diff --git a/gamefiles/spanish.gxt b/gamefiles/spanish.gxt new file mode 100644 index 00000000..0fdccce3 Binary files /dev/null and b/gamefiles/spanish.gxt differ diff --git a/librw b/librw index 4541fe86..8b677c4d 160000 --- a/librw +++ b/librw @@ -1 +1 @@ -Subproject commit 4541fe86f7ecb119c6fcb4fde7d08121341ce189 +Subproject commit 8b677c4dd77a73da68447556e3b07c6c0371629e 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 } }