- added an option to disable player translations in single player games.

SVN r2173 (trunk)
This commit is contained in:
Christoph Oelckers 2010-02-23 23:03:43 +00:00
parent 28e5e7ccef
commit 350e72fb3e
2 changed files with 16 additions and 2 deletions

View file

@ -46,6 +46,8 @@
#include "d_dehacked.h" #include "d_dehacked.h"
#include "gi.h" #include "gi.h"
EXTERN_CVAR(Bool, r_forceplayertranslation)
// [RH] Actually handle the cheat. The cheat code in st_stuff.c now just // [RH] Actually handle the cheat. The cheat code in st_stuff.c now just
// writes some bytes to the network data stream, and the network code // writes some bytes to the network data stream, and the network code
// later calls us. // later calls us.
@ -319,6 +321,7 @@ void cht_DoCheat (player_t *player, int cheat)
player->mo->special1 = 0; // required for the Hexen fighter's fist attack. player->mo->special1 = 0; // required for the Hexen fighter's fist attack.
// This gets set by AActor::Die as flag for the wimpy death and must be reset here. // This gets set by AActor::Die as flag for the wimpy death and must be reset here.
player->mo->SetState (player->mo->SpawnState); player->mo->SetState (player->mo->SpawnState);
if (multiplayer || r_forceplayertranslation)
player->mo->Translation = TRANSLATION(TRANSLATION_Players, BYTE(player-players)); player->mo->Translation = TRANSLATION(TRANSLATION_Players, BYTE(player-players));
player->mo->DamageType = NAME_None; player->mo->DamageType = NAME_None;
// player->mo->GiveDefaultInventory(); // player->mo->GiveDefaultInventory();

View file

@ -114,6 +114,14 @@ CUSTOM_CVAR (Float, sv_gravity, 800.f, CVAR_SERVERINFO|CVAR_NOSAVE)
level.gravity = self; level.gravity = self;
} }
CUSTOM_CVAR(Bool, r_forceplayertranslation, false, CVAR_ARCHIVE|CVAR_NOINITCALL)
{
if (!multiplayer && players[0].mo != NULL)
{
players[0].mo->Translation = self? TRANSLATION(TRANSLATION_Players, 0) : 0;
}
}
CVAR (Bool, cl_missiledecals, true, CVAR_ARCHIVE) CVAR (Bool, cl_missiledecals, true, CVAR_ARCHIVE)
CVAR (Bool, addrocketexplosion, false, CVAR_ARCHIVE) CVAR (Bool, addrocketexplosion, false, CVAR_ARCHIVE)
@ -3990,7 +3998,10 @@ APlayerPawn *P_SpawnPlayer (FMapThing *mthing, bool tempplayer)
R_BuildPlayerTranslation (playernum); R_BuildPlayerTranslation (playernum);
// [RH] set color translations for player sprites // [RH] set color translations for player sprites
if (multiplayer || r_forceplayertranslation)
mobj->Translation = TRANSLATION(TRANSLATION_Players,playernum); mobj->Translation = TRANSLATION(TRANSLATION_Players,playernum);
else
mobj->Translation = 0;
mobj->angle = spawn_angle; mobj->angle = spawn_angle;
mobj->pitch = mobj->roll = 0; mobj->pitch = mobj->roll = 0;