mirror of
https://git.rip/DMCA_FUCKER/re3.git
synced 2024-12-23 11:29:59 +00:00
option for PC controls
This commit is contained in:
parent
b574996334
commit
88b0134e72
|
@ -287,6 +287,7 @@ AnimAssocDesc aStripAnimDescs[] = {
|
||||||
{ ANIM_STRIP_F, ASSOC_REPEAT | ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
|
{ ANIM_STRIP_F, ASSOC_REPEAT | ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
|
||||||
{ ANIM_STRIP_G, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
|
{ ANIM_STRIP_G, ASSOC_FADEOUTWHENDONE | ASSOC_PARTIAL },
|
||||||
};
|
};
|
||||||
|
#ifdef PC_PLAYER_CONTROLS
|
||||||
AnimAssocDesc aStdAnimDescsSide[] = {
|
AnimAssocDesc aStdAnimDescsSide[] = {
|
||||||
{ ANIM_WALK, ASSOC_REPEAT | ASSOC_MOVEMENT | ASSOC_HAS_TRANSLATION | ASSOC_HAS_X_TRANSLATION | ASSOC_WALK },
|
{ ANIM_WALK, ASSOC_REPEAT | ASSOC_MOVEMENT | ASSOC_HAS_TRANSLATION | ASSOC_HAS_X_TRANSLATION | ASSOC_WALK },
|
||||||
{ ANIM_RUN, ASSOC_REPEAT | ASSOC_MOVEMENT | ASSOC_HAS_TRANSLATION | ASSOC_HAS_X_TRANSLATION | ASSOC_WALK },
|
{ ANIM_RUN, ASSOC_REPEAT | ASSOC_MOVEMENT | ASSOC_HAS_TRANSLATION | ASSOC_HAS_X_TRANSLATION | ASSOC_WALK },
|
||||||
|
@ -294,7 +295,7 @@ AnimAssocDesc aStdAnimDescsSide[] = {
|
||||||
{ ANIM_IDLE_STANCE, ASSOC_REPEAT },
|
{ ANIM_IDLE_STANCE, ASSOC_REPEAT },
|
||||||
{ ANIM_WALK_START, ASSOC_HAS_TRANSLATION | ASSOC_HAS_X_TRANSLATION },
|
{ ANIM_WALK_START, ASSOC_HAS_TRANSLATION | ASSOC_HAS_X_TRANSLATION },
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
char const* aStdAnimations[] = {
|
char const* aStdAnimations[] = {
|
||||||
"walk_civi",
|
"walk_civi",
|
||||||
"run_civi",
|
"run_civi",
|
||||||
|
@ -834,6 +835,7 @@ char const* aSkateAnimations[] = {
|
||||||
"skate_sprint",
|
"skate_sprint",
|
||||||
"skate_idle",
|
"skate_idle",
|
||||||
};
|
};
|
||||||
|
#ifdef PC_PLAYER_CONTROLS
|
||||||
char const* aPlayerStrafeBackAnimations[] = {
|
char const* aPlayerStrafeBackAnimations[] = {
|
||||||
"walk_back",
|
"walk_back",
|
||||||
"run_back",
|
"run_back",
|
||||||
|
@ -897,7 +899,7 @@ char const* aChainsawStrafeRightAnimations[] = {
|
||||||
"idle_csaw",
|
"idle_csaw",
|
||||||
"walkst_csaw_right",
|
"walkst_csaw_right",
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
#define awc(a) ARRAY_SIZE(a), a
|
#define awc(a) ARRAY_SIZE(a), a
|
||||||
const AnimAssocDefinition CAnimManager::ms_aAnimAssocDefinitions[NUM_ANIM_ASSOC_GROUPS] = {
|
const AnimAssocDefinition CAnimManager::ms_aAnimAssocDefinitions[NUM_ANIM_ASSOC_GROUPS] = {
|
||||||
|
@ -953,6 +955,7 @@ const AnimAssocDefinition CAnimManager::ms_aAnimAssocDefinitions[NUM_ANIM_ASSOC_
|
||||||
{ "jogwoman", "ped", MI_COP, awc(aJoggerWomanAnimations), aStdAnimDescs },
|
{ "jogwoman", "ped", MI_COP, awc(aJoggerWomanAnimations), aStdAnimDescs },
|
||||||
{ "panicchunky", "ped", MI_COP, awc(aPanicChunkyAnimations), aStdAnimDescs },
|
{ "panicchunky", "ped", MI_COP, awc(aPanicChunkyAnimations), aStdAnimDescs },
|
||||||
{ "skate", "skate", MI_COP, awc(aSkateAnimations), aStdAnimDescs },
|
{ "skate", "skate", MI_COP, awc(aSkateAnimations), aStdAnimDescs },
|
||||||
|
#ifdef PC_PLAYER_CONTROLS
|
||||||
{ "playerback", "ped", MI_COP, awc(aPlayerStrafeBackAnimations), aStdAnimDescs },
|
{ "playerback", "ped", MI_COP, awc(aPlayerStrafeBackAnimations), aStdAnimDescs },
|
||||||
{ "playerleft", "ped", MI_COP, awc(aPlayerStrafeLeftAnimations), aStdAnimDescsSide },
|
{ "playerleft", "ped", MI_COP, awc(aPlayerStrafeLeftAnimations), aStdAnimDescsSide },
|
||||||
{ "playerright", "ped", MI_COP, awc(aPlayerStrafeRightAnimations), aStdAnimDescsSide },
|
{ "playerright", "ped", MI_COP, awc(aPlayerStrafeRightAnimations), aStdAnimDescsSide },
|
||||||
|
@ -962,6 +965,7 @@ const AnimAssocDefinition CAnimManager::ms_aAnimAssocDefinitions[NUM_ANIM_ASSOC_
|
||||||
{ "csawback", "ped", MI_COP, awc(aChainsawStrafeBackAnimations), aStdAnimDescs },
|
{ "csawback", "ped", MI_COP, awc(aChainsawStrafeBackAnimations), aStdAnimDescs },
|
||||||
{ "csawleft", "ped", MI_COP, awc(aChainsawStrafeLeftAnimations), aStdAnimDescsSide },
|
{ "csawleft", "ped", MI_COP, awc(aChainsawStrafeLeftAnimations), aStdAnimDescsSide },
|
||||||
{ "csawright", "ped", MI_COP, awc(aChainsawStrafeRightAnimations), aStdAnimDescsSide },
|
{ "csawright", "ped", MI_COP, awc(aChainsawStrafeRightAnimations), aStdAnimDescsSide },
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
#undef awc
|
#undef awc
|
||||||
|
|
||||||
|
|
|
@ -57,6 +57,7 @@ enum AssocGroupId
|
||||||
ASSOCGRP_JOGWOMAN,
|
ASSOCGRP_JOGWOMAN,
|
||||||
ASSOCGRP_PANICCHUNKY,
|
ASSOCGRP_PANICCHUNKY,
|
||||||
ASSOCGRP_SKATE,
|
ASSOCGRP_SKATE,
|
||||||
|
#ifdef PC_PLAYER_CONTROLS
|
||||||
ASSOCGRP_PLAYERBACK,
|
ASSOCGRP_PLAYERBACK,
|
||||||
ASSOCGRP_PLAYERLEFT,
|
ASSOCGRP_PLAYERLEFT,
|
||||||
ASSOCGRP_PLAYERRIGHT,
|
ASSOCGRP_PLAYERRIGHT,
|
||||||
|
@ -66,6 +67,7 @@ enum AssocGroupId
|
||||||
ASSOCGRP_CHAINSAWBACK,
|
ASSOCGRP_CHAINSAWBACK,
|
||||||
ASSOCGRP_CHAINSAWLEFT,
|
ASSOCGRP_CHAINSAWLEFT,
|
||||||
ASSOCGRP_CHAINSAWRIGHT,
|
ASSOCGRP_CHAINSAWRIGHT,
|
||||||
|
#endif
|
||||||
|
|
||||||
NUM_ANIM_ASSOC_GROUPS
|
NUM_ANIM_ASSOC_GROUPS
|
||||||
};
|
};
|
||||||
|
|
|
@ -180,9 +180,11 @@ CCam::Process(void)
|
||||||
Process_BehindCar(CameraTarget, TargetOrientation, SpeedVar, TargetSpeedVar);
|
Process_BehindCar(CameraTarget, TargetOrientation, SpeedVar, TargetSpeedVar);
|
||||||
break;
|
break;
|
||||||
case MODE_FOLLOWPED:
|
case MODE_FOLLOWPED:
|
||||||
|
#ifdef PC_PLAYER_CONTROLS
|
||||||
if(CCamera::m_bUseMouse3rdPerson)
|
if(CCamera::m_bUseMouse3rdPerson)
|
||||||
Process_FollowPedWithMouse(CameraTarget, TargetOrientation, SpeedVar, TargetSpeedVar);
|
Process_FollowPedWithMouse(CameraTarget, TargetOrientation, SpeedVar, TargetSpeedVar);
|
||||||
else
|
else
|
||||||
|
#endif
|
||||||
#ifdef FREE_CAM
|
#ifdef FREE_CAM
|
||||||
if(CCamera::bFreeCam)
|
if(CCamera::bFreeCam)
|
||||||
Process_FollowPed_Rotation(CameraTarget, TargetOrientation, SpeedVar, TargetSpeedVar);
|
Process_FollowPed_Rotation(CameraTarget, TargetOrientation, SpeedVar, TargetSpeedVar);
|
||||||
|
@ -3735,6 +3737,7 @@ CCam::Process_Fixed(const CVector &CameraTarget, float, float, float)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef PC_PLAYER_CONTROLS
|
||||||
if(FrontEndMenuManager.m_ControlMethod == CONTROL_STANDARD && Using3rdPersonMouseCam()){
|
if(FrontEndMenuManager.m_ControlMethod == CONTROL_STANDARD && Using3rdPersonMouseCam()){
|
||||||
CPed *player = FindPlayerPed();
|
CPed *player = FindPlayerPed();
|
||||||
if(player && player->CanStrafeOrMouseControl()){
|
if(player && player->CanStrafeOrMouseControl()){
|
||||||
|
@ -3745,6 +3748,7 @@ CCam::Process_Fixed(const CVector &CameraTarget, float, float, float)
|
||||||
TheCamera.pTargetEntity->GetMatrix().UpdateRW();
|
TheCamera.pTargetEntity->GetMatrix().UpdateRW();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -69,7 +69,11 @@ enum
|
||||||
// NB: removed explicit TheCamera from all functions
|
// NB: removed explicit TheCamera from all functions
|
||||||
|
|
||||||
CCamera TheCamera;
|
CCamera TheCamera;
|
||||||
|
#ifdef PC_PLAYER_CONTROLS
|
||||||
bool CCamera::m_bUseMouse3rdPerson = true;
|
bool CCamera::m_bUseMouse3rdPerson = true;
|
||||||
|
#else
|
||||||
|
bool CCamera::m_bUseMouse3rdPerson = false;
|
||||||
|
#endif
|
||||||
bool bDidWeProcessAnyCinemaCam;
|
bool bDidWeProcessAnyCinemaCam;
|
||||||
static bool bSwitchedToObbeCam;
|
static bool bSwitchedToObbeCam;
|
||||||
float CCamera::m_fMouseAccelHorzntl;
|
float CCamera::m_fMouseAccelHorzntl;
|
||||||
|
|
|
@ -493,7 +493,11 @@ CMenuManager::CMenuManager()
|
||||||
m_PrefsDMA = 1;
|
m_PrefsDMA = 1;
|
||||||
OS_Language = LANG_ENGLISH;
|
OS_Language = LANG_ENGLISH;
|
||||||
m_ControlMethod = CONTROL_STANDARD;
|
m_ControlMethod = CONTROL_STANDARD;
|
||||||
|
#ifdef PC_PLAYER_CONTROLS
|
||||||
CCamera::m_bUseMouse3rdPerson = true;
|
CCamera::m_bUseMouse3rdPerson = true;
|
||||||
|
#else
|
||||||
|
CCamera::m_bUseMouse3rdPerson = false;
|
||||||
|
#endif
|
||||||
m_lastWorking3DAudioProvider = 0;
|
m_lastWorking3DAudioProvider = 0;
|
||||||
m_nFirstVisibleRowOnList = 0;
|
m_nFirstVisibleRowOnList = 0;
|
||||||
m_nScrollbarTopMargin = 0.0f;
|
m_nScrollbarTopMargin = 0.0f;
|
||||||
|
@ -3019,7 +3023,9 @@ CMenuManager::LoadSettings()
|
||||||
CFileMgr::CloseFile(fileHandle);
|
CFileMgr::CloseFile(fileHandle);
|
||||||
CFileMgr::SetDir("");
|
CFileMgr::SetDir("");
|
||||||
|
|
||||||
|
#ifdef PC_PLAYER_CONTROLS
|
||||||
CCamera::m_bUseMouse3rdPerson = m_ControlMethod == CONTROL_STANDARD;
|
CCamera::m_bUseMouse3rdPerson = m_ControlMethod == CONTROL_STANDARD;
|
||||||
|
#endif
|
||||||
#ifdef LEGACY_MENU_OPTIONS
|
#ifdef LEGACY_MENU_OPTIONS
|
||||||
m_PrefsVsync = m_PrefsVsyncDisp;
|
m_PrefsVsync = m_PrefsVsyncDisp;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -215,7 +215,9 @@ CMenuScreen aScreens[] = {
|
||||||
|
|
||||||
// MENUPAGE_CONTROLLER_PC = 26
|
// MENUPAGE_CONTROLLER_PC = 26
|
||||||
{ "FET_CTL", MENUPAGE_OPTIONS, 0,
|
{ "FET_CTL", MENUPAGE_OPTIONS, 0,
|
||||||
|
#ifdef PC_PLAYER_CONTROLS
|
||||||
MENUACTION_CTRLMETHOD, "FET_STI", SAVESLOT_NONE, MENUPAGE_CONTROLLER_PC, 320, 150, MENUALIGN_CENTER,
|
MENUACTION_CTRLMETHOD, "FET_STI", SAVESLOT_NONE, MENUPAGE_CONTROLLER_PC, 320, 150, MENUALIGN_CENTER,
|
||||||
|
#endif
|
||||||
MENUACTION_KEYBOARDCTRLS,"FEC_RED", SAVESLOT_NONE, MENUPAGE_KEYBOARD_CONTROLS, 0, 0, MENUALIGN_CENTER,
|
MENUACTION_KEYBOARDCTRLS,"FEC_RED", SAVESLOT_NONE, MENUPAGE_KEYBOARD_CONTROLS, 0, 0, MENUALIGN_CENTER,
|
||||||
MENUACTION_CHANGEMENU, "FEC_MOU", SAVESLOT_NONE, MENUPAGE_MOUSE_CONTROLS, 0, 0, MENUALIGN_CENTER,
|
MENUACTION_CHANGEMENU, "FEC_MOU", SAVESLOT_NONE, MENUPAGE_MOUSE_CONTROLS, 0, 0, MENUALIGN_CENTER,
|
||||||
MENUACTION_RESTOREDEF, "FET_DEF", SAVESLOT_NONE, MENUPAGE_CONTROLLER_PC, 0, 0, MENUALIGN_CENTER,
|
MENUACTION_RESTOREDEF, "FET_DEF", SAVESLOT_NONE, MENUPAGE_CONTROLLER_PC, 0, 0, MENUALIGN_CENTER,
|
||||||
|
|
|
@ -566,7 +566,9 @@ CMenuScreenCustom aScreens[] = {
|
||||||
|
|
||||||
// MENUPAGE_CONTROLLER_PC = 26
|
// MENUPAGE_CONTROLLER_PC = 26
|
||||||
{ "FET_CTL", MENUPAGE_OPTIONS, new CCustomScreenLayout({0, 0, MENU_DEFAULT_LINE_HEIGHT, false, false, 150}), nil,
|
{ "FET_CTL", MENUPAGE_OPTIONS, new CCustomScreenLayout({0, 0, MENU_DEFAULT_LINE_HEIGHT, false, false, 150}), nil,
|
||||||
|
#ifdef PC_PLAYER_CONTROLS
|
||||||
MENUACTION_CTRLMETHOD, "FET_STI", {nil, SAVESLOT_NONE, MENUPAGE_CONTROLLER_PC}, 320, 150, MENUALIGN_CENTER,
|
MENUACTION_CTRLMETHOD, "FET_STI", {nil, SAVESLOT_NONE, MENUPAGE_CONTROLLER_PC}, 320, 150, MENUALIGN_CENTER,
|
||||||
|
#endif
|
||||||
MENUACTION_KEYBOARDCTRLS,"FEC_RED", {nil, SAVESLOT_NONE, MENUPAGE_KEYBOARD_CONTROLS}, 0, 0, MENUALIGN_CENTER,
|
MENUACTION_KEYBOARDCTRLS,"FEC_RED", {nil, SAVESLOT_NONE, MENUPAGE_KEYBOARD_CONTROLS}, 0, 0, MENUALIGN_CENTER,
|
||||||
#ifdef DONT_TRUST_RECOGNIZED_JOYSTICKS
|
#ifdef DONT_TRUST_RECOGNIZED_JOYSTICKS
|
||||||
MENUACTION_CHANGEMENU, "FEC_JOD", {nil, SAVESLOT_NONE, MENUPAGE_DETECT_JOYSTICK}, 0, 0, MENUALIGN_CENTER,
|
MENUACTION_CHANGEMENU, "FEC_JOD", {nil, SAVESLOT_NONE, MENUPAGE_DETECT_JOYSTICK}, 0, 0, MENUALIGN_CENTER,
|
||||||
|
|
|
@ -208,6 +208,7 @@ enum Config {
|
||||||
# define RANDOMSPLASH // use random splash as on PS2
|
# define RANDOMSPLASH // use random splash as on PS2
|
||||||
# define PS2_MATFX
|
# define PS2_MATFX
|
||||||
# endif
|
# endif
|
||||||
|
# define PC_PLAYER_CONTROLS // mouse player/cam mode
|
||||||
# define GTA_REPLAY
|
# define GTA_REPLAY
|
||||||
# define GTA_SCENE_EDIT
|
# define GTA_SCENE_EDIT
|
||||||
#elif defined GTA_XBOX
|
#elif defined GTA_XBOX
|
||||||
|
|
|
@ -1159,6 +1159,7 @@ void
|
||||||
CPlayerPed::ProcessAnimGroups(void)
|
CPlayerPed::ProcessAnimGroups(void)
|
||||||
{
|
{
|
||||||
AssocGroupId groupToSet;
|
AssocGroupId groupToSet;
|
||||||
|
#ifdef PC_PLAYER_CONTROLS
|
||||||
if ((m_fWalkAngle <= -DEGTORAD(50.0f) || m_fWalkAngle >= DEGTORAD(50.0f))
|
if ((m_fWalkAngle <= -DEGTORAD(50.0f) || m_fWalkAngle >= DEGTORAD(50.0f))
|
||||||
&& TheCamera.Cams[TheCamera.ActiveCam].Using3rdPersonMouseCam()
|
&& TheCamera.Cams[TheCamera.ActiveCam].Using3rdPersonMouseCam()
|
||||||
&& CanStrafeOrMouseControl()) {
|
&& CanStrafeOrMouseControl()) {
|
||||||
|
@ -1193,7 +1194,9 @@ CPlayerPed::ProcessAnimGroups(void)
|
||||||
else
|
else
|
||||||
groupToSet = ASSOCGRP_PLAYERBACK;
|
groupToSet = ASSOCGRP_PLAYERBACK;
|
||||||
}
|
}
|
||||||
} else {
|
} else
|
||||||
|
#endif
|
||||||
|
{
|
||||||
if (GetWeapon()->m_eWeaponType == WEAPONTYPE_ROCKETLAUNCHER) {
|
if (GetWeapon()->m_eWeaponType == WEAPONTYPE_ROCKETLAUNCHER) {
|
||||||
groupToSet = ASSOCGRP_PLAYERROCKET;
|
groupToSet = ASSOCGRP_PLAYERROCKET;
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in a new issue