diff --git a/.gitignore b/.gitignore index b3b1eef..6d0cbde 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,7 @@ Backup/ # Build output directories Debug/ +Debug_TA/ Release/ Release_TA/ x64/ @@ -27,6 +28,9 @@ x64/ *.res *.sbr *.bsc +*.tlog +*.recipe +*.log # Compiled outputs *.exe diff --git a/code/cgame/cg_local.h b/code/cgame/cg_local.h index 4dd5c9d..0ad8072 100644 --- a/code/cgame/cg_local.h +++ b/code/cgame/cg_local.h @@ -1182,6 +1182,10 @@ extern vmCvar_t cg_singlePlayerActive; extern vmCvar_t cg_recordSPDemo; extern vmCvar_t cg_recordSPDemoName; extern vmCvar_t cg_obeliskRespawnDelay; +extern vmCvar_t pmove_AutoHop; +extern vmCvar_t pmove_JumpVelocity; +extern vmCvar_t pmove_JumpTimeDeltaMin; +extern vmCvar_t cg_autoHop; #endif // diff --git a/code/cgame/cg_main.c b/code/cgame/cg_main.c index aa9ec27..dd57817 100644 --- a/code/cgame/cg_main.c +++ b/code/cgame/cg_main.c @@ -195,6 +195,10 @@ vmCvar_t cg_singlePlayerActive; vmCvar_t cg_recordSPDemo; vmCvar_t cg_recordSPDemoName; vmCvar_t cg_obeliskRespawnDelay; +vmCvar_t pmove_AutoHop; +vmCvar_t pmove_JumpVelocity; +vmCvar_t pmove_JumpTimeDeltaMin; +vmCvar_t cg_autoHop; #endif typedef struct { @@ -314,8 +318,14 @@ static cvarTable_t cvarTable[] = { // bk001129 { &cg_oldRail, "cg_oldRail", "1", CVAR_ARCHIVE}, { &cg_oldRocket, "cg_oldRocket", "1", CVAR_ARCHIVE}, { &cg_oldPlasma, "cg_oldPlasma", "1", CVAR_ARCHIVE}, - { &cg_trueLightning, "cg_trueLightning", "0.0", CVAR_ARCHIVE} + { &cg_trueLightning, "cg_trueLightning", "0.0", CVAR_ARCHIVE}, // { &cg_pmove_fixed, "cg_pmove_fixed", "0", CVAR_USERINFO | CVAR_ARCHIVE } +#ifdef MISSIONPACK + { &pmove_AutoHop, "pmove_AutoHop", "0", 0 }, + { &pmove_JumpVelocity, "pmove_JumpVelocity", "270.0", 0 }, + { &pmove_JumpTimeDeltaMin, "pmove_JumpTimeDeltaMin", "100.0", 0 }, + { &cg_autoHop, "cg_autoHop", "1", CVAR_USERINFO | CVAR_ARCHIVE } +#endif }; static int cvarTableSize = sizeof( cvarTable ) / sizeof( cvarTable[0] ); diff --git a/code/cgame/cg_marks.c b/code/cgame/cg_marks.c index 4c648d2..5bd9080 100644 --- a/code/cgame/cg_marks.c +++ b/code/cgame/cg_marks.c @@ -153,7 +153,9 @@ void CG_ImpactMark( qhandle_t markShader, const vec3_t origin, const vec3_t dir, //} // create the texture axis - VectorNormalize2( dir, axis[0] ); + if ( VectorNormalize2( dir, axis[0] ) == 0.0f ) { + return; // degenerate dir (e.g. zero plane normal from a grazing trace) + } PerpendicularVector( axis[1], axis[0] ); RotatePointAroundVector( axis[2], axis[0], axis[1], orientation ); CrossProduct( axis[0], axis[2], axis[1] ); diff --git a/code/game/bg_misc.c b/code/game/bg_misc.c index f729f06..6e29496 100644 --- a/code/game/bg_misc.c +++ b/code/game/bg_misc.c @@ -1229,7 +1229,7 @@ void BG_EvaluateTrajectory( const trajectory_t *tr, int atTime, vec3_t result ) result[2] -= 0.5 * DEFAULT_GRAVITY * deltaTime * deltaTime; // FIXME: local gravity... break; default: - Com_Error( ERR_DROP, "BG_EvaluateTrajectory: unknown trType: %i", tr->trTime ); + Com_Error( ERR_DROP, "BG_EvaluateTrajectory: unknown trType: %i", tr->trType ); break; } } diff --git a/code/game/bg_public.h b/code/game/bg_public.h index 0dd59db..d48bcdd 100644 --- a/code/game/bg_public.h +++ b/code/game/bg_public.h @@ -129,7 +129,10 @@ typedef enum { PM_DEAD, // no acceleration or turning, but free falling PM_FREEZE, // stuck in place with no control PM_INTERMISSION, // no movement or status bar - PM_SPINTERMISSION // no movement or status bar + PM_SPINTERMISSION, // no movement or status bar +#ifdef MISSIONPACK + PM_TUTORIAL = PM_SPINTERMISSION // QL: tutorial mode (same slot, movement locked) +#endif } pmtype_t; typedef enum { @@ -154,6 +157,16 @@ typedef enum { #define PMF_SCOREBOARD 8192 // spectate as a scoreboard #define PMF_INVULEXPAND 16384 // invulnerability sphere set to full size +#ifdef MISSIONPACK +// QL-specific flags (values matching qagamex86.dll build 1069) +#define PMF_GRAPPLE_PULL2 0x8000 // grapple hook detach / release state +#define PMF_CROUCH_SLIDE 0x10000 // crouch-slide feature active (set from pmove_CrouchSlide at spawn) +#define PMF_DOUBLE_JUMP 0x20000 // double-jump available (set from pmove_DoubleJump at spawn) +#define PMF_AUTOHOP 0x40000 // autohop feature active +#define PMF_FREEZE 0x80000 // blocks secondary action (PM_CanPerformAction returns false) +#define PMF_CHAINJUMP 0x100000 // chain jump velocity accumulation active +#endif + #define PMF_ALL_TIMES (PMF_TIME_WATERJUMP|PMF_TIME_LAND|PMF_TIME_KNOCKBACK) #define MAXTOUCH 32 @@ -736,3 +749,9 @@ qboolean BG_PlayerTouchesItem( playerState_t *ps, entityState_t *item, int atTim #define KAMI_BOOMSPHERE_MAXRADIUS 720 #define KAMI_SHOCKWAVE2_MAXRADIUS 704 +#ifdef MISSIONPACK +extern vmCvar_t pmove_AutoHop; +extern vmCvar_t pmove_JumpVelocity; +extern vmCvar_t pmove_JumpTimeDeltaMin; +#endif + diff --git a/code/game/g_client.c b/code/game/g_client.c index 5a584d4..040ccf2 100644 --- a/code/game/g_client.c +++ b/code/game/g_client.c @@ -734,6 +734,21 @@ void ClientUserinfoChanged( int clientNum ) { client->pers.predictItemPickup = qtrue; } +#ifdef MISSIONPACK + // AutoHop: per-player opt-out via cg_autoHop 0 in userinfo. + // PMF_AUTOHOP_HELD set = vanilla jump-held behaviour for this client. + if ( pmove_AutoHop.integer ) { + s = Info_ValueForKey( userinfo, "cg_autoHop" ); + if ( atoi( s ) ) { + client->ps.pm_flags &= ~PMF_AUTOHOP_HELD; + } else { + client->ps.pm_flags |= PMF_AUTOHOP_HELD; + } + } else { + client->ps.pm_flags &= ~PMF_AUTOHOP_HELD; + } +#endif + // set name Q_strncpyz ( oldname, client->pers.netname, sizeof( oldname ) ); s = Info_ValueForKey (userinfo, "name"); @@ -1063,6 +1078,7 @@ void ClientSpawn(gentity_t *ent) { int accuracy_hits, accuracy_shots; int eventSequence; char userinfo[MAX_INFO_STRING]; + char *s; index = ent - g_entities; client = ent->client; @@ -1196,6 +1212,19 @@ void ClientSpawn(gentity_t *ent) { // the respawned flag will be cleared after the attack and jump keys come up client->ps.pm_flags |= PMF_RESPAWNED; +#ifdef MISSIONPACK + // AutoHop: initialise per-player opt-out from userinfo (read above). + // lastJumpTime is already 0 from the memset; just set the hold flag. + if ( pmove_AutoHop.integer ) { + s = Info_ValueForKey( userinfo, "cg_autoHop" ); + if ( atoi( s ) ) { + client->ps.pm_flags &= ~PMF_AUTOHOP_HELD; + } else { + client->ps.pm_flags |= PMF_AUTOHOP_HELD; + } + } +#endif + trap_GetUsercmd( client - level.clients, &ent->client->pers.cmd ); SetClientViewAngle( ent, spawn_angles ); diff --git a/code/game/g_local.h b/code/game/g_local.h index 1a55955..bbad948 100644 --- a/code/game/g_local.h +++ b/code/game/g_local.h @@ -765,6 +765,44 @@ extern vmCvar_t g_enableBreath; extern vmCvar_t g_singlePlayer; extern vmCvar_t g_proxMineTimeout; +#ifdef MISSIONPACK +// QL pmove_ cvars +extern vmCvar_t pmove_WishSpeed; +extern vmCvar_t pmove_WalkAccel; +extern vmCvar_t pmove_WalkFriction; +extern vmCvar_t pmove_StepHeight; +extern vmCvar_t pmove_noPlayerClip; +extern vmCvar_t pmove_AirAccel; +extern vmCvar_t pmove_AirStopAccel; +extern vmCvar_t pmove_AirControl; +extern vmCvar_t pmove_AirSteps; +extern vmCvar_t pmove_AutoHop; +extern vmCvar_t pmove_BunnyHop; +extern vmCvar_t pmove_JumpVelocity; +extern vmCvar_t pmove_JumpVelocityMax; +extern vmCvar_t pmove_JumpVelocityScaleAdd; +extern vmCvar_t pmove_JumpVelocityTimeThreshold; +extern vmCvar_t pmove_JumpTimeDeltaMin; +extern vmCvar_t pmove_DoubleJump; +extern vmCvar_t pmove_StepJump; +extern vmCvar_t pmove_StepJumpVelocity; +extern vmCvar_t pmove_CrouchStepJump; +extern vmCvar_t pmove_RampJump; +extern vmCvar_t pmove_RampJumpScale; +extern vmCvar_t pmove_ChainJump; +extern vmCvar_t pmove_ChainJumpVelocity; +extern vmCvar_t pmove_CrouchSlide; +extern vmCvar_t pmove_CrouchSlideTime; +extern vmCvar_t pmove_CrouchSlideFriction; +extern vmCvar_t pmove_StrafeAccel; +extern vmCvar_t pmove_CircleStrafeFriction; +extern vmCvar_t pmove_WaterSwimScale; +extern vmCvar_t pmove_WaterWadeScale; +extern vmCvar_t pmove_WeaponDropTime; +extern vmCvar_t pmove_WeaponRaiseTime; +extern vmCvar_t pmove_velocity_gh; +#endif + void trap_Printf( const char *fmt ); void trap_Error( const char *fmt ); int trap_Milliseconds( void ); diff --git a/code/game/g_main.c b/code/game/g_main.c index 9f60272..8cecc88 100644 --- a/code/game/g_main.c +++ b/code/game/g_main.c @@ -93,6 +93,42 @@ vmCvar_t g_singlePlayer; vmCvar_t g_enableDust; vmCvar_t g_enableBreath; vmCvar_t g_proxMineTimeout; + +// QL pmove_ cvars +vmCvar_t pmove_WishSpeed; +vmCvar_t pmove_WalkAccel; +vmCvar_t pmove_WalkFriction; +vmCvar_t pmove_StepHeight; +vmCvar_t pmove_noPlayerClip; +vmCvar_t pmove_AirAccel; +vmCvar_t pmove_AirStopAccel; +vmCvar_t pmove_AirControl; +vmCvar_t pmove_AirSteps; +vmCvar_t pmove_AutoHop; +vmCvar_t pmove_BunnyHop; +vmCvar_t pmove_JumpVelocity; +vmCvar_t pmove_JumpVelocityMax; +vmCvar_t pmove_JumpVelocityScaleAdd; +vmCvar_t pmove_JumpVelocityTimeThreshold; +vmCvar_t pmove_JumpTimeDeltaMin; +vmCvar_t pmove_DoubleJump; +vmCvar_t pmove_StepJump; +vmCvar_t pmove_StepJumpVelocity; +vmCvar_t pmove_CrouchStepJump; +vmCvar_t pmove_RampJump; +vmCvar_t pmove_RampJumpScale; +vmCvar_t pmove_ChainJump; +vmCvar_t pmove_ChainJumpVelocity; +vmCvar_t pmove_CrouchSlide; +vmCvar_t pmove_CrouchSlideTime; +vmCvar_t pmove_CrouchSlideFriction; +vmCvar_t pmove_StrafeAccel; +vmCvar_t pmove_CircleStrafeFriction; +vmCvar_t pmove_WaterSwimScale; +vmCvar_t pmove_WaterWadeScale; +vmCvar_t pmove_WeaponDropTime; +vmCvar_t pmove_WeaponRaiseTime; +vmCvar_t pmove_velocity_gh; #endif // bk001129 - made static to avoid aliasing @@ -173,6 +209,49 @@ static cvarTable_t gameCvarTable[] = { { &g_enableDust, "g_enableDust", "0", CVAR_SERVERINFO, 0, qtrue, qfalse }, { &g_enableBreath, "g_enableBreath", "0", CVAR_SERVERINFO, 0, qtrue, qfalse }, { &g_proxMineTimeout, "g_proxMineTimeout", "20000", 0, 0, qfalse }, + + // QL pmove_ cvars — ground + { &pmove_WishSpeed, "pmove_WishSpeed", "400.0", 0, 0, qfalse }, + { &pmove_WalkAccel, "pmove_WalkAccel", "10.0", 0, 0, qfalse }, + { &pmove_WalkFriction, "pmove_WalkFriction", "6", 0, 0, qfalse }, + { &pmove_StepHeight, "pmove_StepHeight", "22.0", 0, 0, qfalse }, + { &pmove_noPlayerClip, "pmove_noPlayerClip", "0", 0, 0, qfalse }, + // QL pmove_ cvars — air + { &pmove_AirAccel, "pmove_AirAccel", "1", 0, 0, qfalse }, + { &pmove_AirStopAccel, "pmove_AirStopAccel", "1", 0, 0, qfalse }, + { &pmove_AirControl, "pmove_AirControl", "0", 0, 0, qfalse }, + { &pmove_AirSteps, "pmove_AirSteps", "1", 0, 0, qfalse }, + // QL pmove_ cvars — jumping + { &pmove_AutoHop, "pmove_AutoHop", "1", 0, 0, qfalse }, + { &pmove_BunnyHop, "pmove_BunnyHop", "1", 0, 0, qfalse }, + { &pmove_JumpVelocity, "pmove_JumpVelocity", "275.0", 0, 0, qfalse }, + { &pmove_JumpVelocityMax, "pmove_JumpVelocityMax", "700.0", 0, 0, qfalse }, + { &pmove_JumpVelocityScaleAdd, "pmove_JumpVelocityScaleAdd", "0", 0, 0, qfalse }, + { &pmove_JumpVelocityTimeThreshold, "pmove_JumpVelocityTimeThreshold", "500.0", 0, 0, qfalse }, + { &pmove_JumpTimeDeltaMin, "pmove_JumpTimeDeltaMin", "100.0", 0, 0, qfalse }, + { &pmove_DoubleJump, "pmove_DoubleJump", "0", 0, 0, qfalse }, + { &pmove_StepJump, "pmove_StepJump", "1", 0, 0, qfalse }, + { &pmove_StepJumpVelocity, "pmove_StepJumpVelocity", "48.0", 0, 0, qfalse }, + { &pmove_CrouchStepJump, "pmove_CrouchStepJump", "1", 0, 0, qfalse }, + { &pmove_RampJump, "pmove_RampJump", "0", 0, 0, qfalse }, + { &pmove_RampJumpScale, "pmove_RampJumpScale", "1", 0, 0, qfalse }, + { &pmove_ChainJump, "pmove_ChainJump", "1", 0, 0, qfalse }, + { &pmove_ChainJumpVelocity, "pmove_ChainJumpVelocity", "110.0", 0, 0, qfalse }, + // QL pmove_ cvars — crouch slide + { &pmove_CrouchSlide, "pmove_CrouchSlide", "0", 0, 0, qfalse }, + { &pmove_CrouchSlideTime, "pmove_CrouchSlideTime", "2", 0, 0, qfalse }, + { &pmove_CrouchSlideFriction, "pmove_CrouchSlideFriction", "0.5", 0, 0, qfalse }, + // QL pmove_ cvars — strafe + { &pmove_StrafeAccel, "pmove_StrafeAccel", "1", 0, 0, qfalse }, + { &pmove_CircleStrafeFriction, "pmove_CircleStrafeFriction", "6", 0, 0, qfalse }, + // QL pmove_ cvars — water + { &pmove_WaterSwimScale, "pmove_WaterSwimScale", "0", 0, 0, qfalse }, + { &pmove_WaterWadeScale, "pmove_WaterWadeScale", "0", 0, 0, qfalse }, + // QL pmove_ cvars — weapon timing + { &pmove_WeaponDropTime, "pmove_WeaponDropTime", "2", 0, 0, qfalse }, + { &pmove_WeaponRaiseTime, "pmove_WeaponRaiseTime", "2", 0, 0, qfalse }, + // QL pmove_ cvars — misc + { &pmove_velocity_gh, "pmove_velocity_gh", "8", 0, 0, qfalse }, #endif { &g_smoothClients, "g_smoothClients", "1", 0, 0, qfalse}, { &pmove_fixed, "pmove_fixed", "0", CVAR_SYSTEMINFO, 0, qfalse}, diff --git a/code/game/q_shared.h b/code/game/q_shared.h index eed5689..9d0c406 100644 --- a/code/game/q_shared.h +++ b/code/game/q_shared.h @@ -1212,6 +1212,9 @@ typedef struct playerState_s { int pmove_framecount; // FIXME: don't transmit over the network int jumppad_frame; int entityEventSequence; +#ifdef MISSIONPACK + int lastJumpTime; // commandTime of the last jump, for pmove_JumpTimeDeltaMin +#endif } playerState_t; diff --git a/code/qcommon/msg.c b/code/qcommon/msg.c index 27891cc..527ea32 100644 --- a/code/qcommon/msg.c +++ b/code/qcommon/msg.c @@ -1119,7 +1119,7 @@ netField_t playerStateFields[] = { PSF(events[0]), 8 }, { PSF(legsAnim), 8 }, { PSF(events[1]), 8 }, -{ PSF(pm_flags), 16 }, +{ PSF(pm_flags), 21 }, // QL: highest flag is PMF_JUMP_SCALE (0x100000 = bit 20) { PSF(groundEntityNum), GENTITYNUM_BITS }, { PSF(weaponstate), 4 }, { PSF(eFlags), 16 }, diff --git a/code/quake3.vcxproj b/code/quake3.vcxproj index d306c62..66424fe 100644 --- a/code/quake3.vcxproj +++ b/code/quake3.vcxproj @@ -1,10 +1,6 @@ - - Debug TA DEMO - Win32 - Debug TA Win32 @@ -13,10 +9,6 @@ Debug Win32 - - Release TA DEMO - Win32 - Release TA Win32 @@ -25,10 +17,6 @@ Release Win32 - - vector - Win32 - 17.0 @@ -44,26 +32,11 @@ v143 false - - Application - v143 - false - - - Application - v143 - false - Application v143 false - - Application - v143 - false - Application v143 @@ -80,18 +53,9 @@ - - - - - - - - - @@ -112,26 +76,11 @@ .\Debug\ true - - .\quake3___Win32_Release_TA_DEMO\ - .\quake3___Win32_Release_TA_DEMO\ - false - .\Release\ .\Release\ false - - .\quake3___Win32_Debug_TA_DEMO\ - .\quake3___Win32_Debug_TA_DEMO\ - true - - - .\quake3___Win32_vector0\ - .\quake3___Win32_vector0\ - false - .\Debug_TA\ .\Debug_TA\ @@ -146,7 +95,7 @@ MaxSpeed AnySuitable - _WIN32;WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + _WIN32;WIN32;NDEBUG;_WINDOWS;MISSIONPACK;%(PreprocessorDefinitions) true MultiThreaded true @@ -233,48 +182,6 @@ win32\winquake.res - - - MaxSpeed - AnySuitable - _WIN32;WIN32;NDEBUG;_WINDOWS;PRE_RELEASE_TADEMO;PRE_RELEASE_DEMO;%(PreprocessorDefinitions) - true - MultiThreaded - true - - .\quake3___Win32_Release_TA_DEMO/quake3.pch - .\quake3___Win32_Release_TA_DEMO/ - .\quake3___Win32_Release_TA_DEMO/ - .\quake3___Win32_Release_TA_DEMO/ - Level4 - true - OldStyle - - - dinput8.lib;winmm.lib;wsock32.lib;%(AdditionalDependencies) - .\quake3___Win32_Release_TA_DEMO/quake3.exe - true - true - Release_TA/quake3.pdb - true - Release_TA/quake3.map - Windows - 8388608 - MachineX86 - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - .\quake3___Win32_Release_TA_DEMO/quake3.tlb - - - - NDEBUG;%(PreprocessorDefinitions) - 0x0409 - - MaxSpeed @@ -316,95 +223,10 @@ 0x0409 - - - Disabled - WIN32;_DEBUG;_WINDOWS;PRE_RELEASE_TADEMO;PRE_RELEASE_DEMO;%(PreprocessorDefinitions) - MultiThreadedDebug - - .\quake3___Win32_Debug_TA_DEMO/quake3.pch - .\quake3___Win32_Debug_TA_DEMO/ - .\quake3___Win32_Debug_TA_DEMO/ - .\quake3___Win32_Debug_TA_DEMO/ - true - .\quake3___Win32_Debug_TA_DEMO/ - Level3 - true - EditAndContinue - - - dinput8.lib;winmm.lib;wsock32.lib;%(AdditionalDependencies) - .\quake3___Win32_Debug_TA_DEMO/quake3.exe - true - true - .\quake3___Win32_Debug_TA_DEMO/quake3.pdb - true - Debug_TA/quake3.map - Windows - 8388608 - MachineX86 - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Win32 - .\quake3___Win32_Debug_TA_DEMO/quake3.tlb - - - - _DEBUG;%(PreprocessorDefinitions) - 0x0409 - win32\winquake.res - - - - - /vec /vec:stats /vec:pii /vec:o10 /vec:yes %(AdditionalOptions) - MaxSpeed - AnySuitable - _WIN32;WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) - true - MultiThreaded - true - - .\quake3___Win32_vector0/quake3.pch - .\quake3___Win32_vector0/ - .\quake3___Win32_vector0/ - .\quake3___Win32_vector0/ - Level4 - true - ProgramDatabase - - - dinput8.lib;winmm.lib;wsock32.lib;%(AdditionalDependencies) - .\quake3___Win32_vector0/quake3.exe - true - true - Release_TA/quake3.pdb - true - Release_TA/quake3.map - Windows - 8388608 - MachineX86 - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - .\quake3___Win32_vector0/quake3.tlb - - - - NDEBUG;%(PreprocessorDefinitions) - 0x0409 - - Disabled - WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) + WIN32;_DEBUG;_WINDOWS;MISSIONPACK;%(PreprocessorDefinitions) MultiThreadedDebug .\Debug_TA/quake3.pch @@ -449,654 +271,454 @@ - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed - Disabled - true Disabled true Disabled true - MaxSpeed MaxSpeed true MaxSpeed - MaxSpeed @@ -1137,13 +759,10 @@ - win32;%(AdditionalIncludeDirectories) win32;%(AdditionalIncludeDirectories) win32;%(AdditionalIncludeDirectories) - win32;%(AdditionalIncludeDirectories) win32;%(AdditionalIncludeDirectories) win32;%(AdditionalIncludeDirectories) - win32;%(AdditionalIncludeDirectories)