Merge pull request #369 from Edward850/sanitize

Minor fixes from sanitize branch
This commit is contained in:
coelckers 2015-09-05 11:30:04 +02:00
commit 563188c14e
5 changed files with 26 additions and 19 deletions

View file

@ -1791,8 +1791,14 @@ void G_ReadSnapshots (PNGHandle *png)
DWORD snapver; DWORD snapver;
arc << snapver; arc << snapver;
arc << namelen; if (SaveVersion < 4508)
arc.Read (mapname, namelen); {
arc << namelen;
arc.Read(mapname, namelen);
mapname[namelen] = 0;
MapName = mapname;
}
else arc << MapName;
TheDefaultLevelInfo.snapshotVer = snapver; TheDefaultLevelInfo.snapshotVer = snapver;
TheDefaultLevelInfo.snapshot = new FCompressedMemFile; TheDefaultLevelInfo.snapshot = new FCompressedMemFile;
TheDefaultLevelInfo.snapshot->Serialize (arc); TheDefaultLevelInfo.snapshot->Serialize (arc);

View file

@ -345,8 +345,8 @@ void UpdateJoystickMenu(IJoystickConfig *selected)
for(unsigned i=0;i<opt->mItems.Size();i++) for(unsigned i=0;i<opt->mItems.Size();i++)
{ {
delete opt->mItems[i]; delete opt->mItems[i];
opt->mItems.Clear();
} }
opt->mItems.Clear();
int i; int i;
int itemnum = -1; int itemnum = -1;

View file

@ -74,7 +74,6 @@ EXTERN_CVAR (Bool, show_obituaries)
FName MeansOfDeath; FName MeansOfDeath;
bool FriendlyFire;
// //
// GET STUFF // GET STUFF
@ -198,10 +197,8 @@ void ClientObituary (AActor *self, AActor *inflictor, AActor *attacker, int dmgf
if (inflictor && inflictor->player && inflictor->player->mo != inflictor) if (inflictor && inflictor->player && inflictor->player->mo != inflictor)
MeansOfDeath = NAME_None; MeansOfDeath = NAME_None;
if (multiplayer && !deathmatch) friendly = (self->player != attacker->player && self->IsTeammate(attacker));
FriendlyFire = true;
friendly = FriendlyFire;
mod = MeansOfDeath; mod = MeansOfDeath;
message = NULL; message = NULL;
messagename = NULL; messagename = NULL;
@ -271,8 +268,6 @@ void ClientObituary (AActor *self, AActor *inflictor, AActor *attacker, int dmgf
{ {
if (friendly) if (friendly)
{ {
attacker->player->fragcount -= 2;
attacker->player->frags[attacker->player - players]++;
self = attacker; self = attacker;
gender = self->player->userinfo.GetGender(); gender = self->player->userinfo.GetGender();
mysnprintf (gendermessage, countof(gendermessage), "OB_FRIENDLY%c", '1' + (pr_obituary() & 3)); mysnprintf (gendermessage, countof(gendermessage), "OB_FRIENDLY%c", '1' + (pr_obituary() & 3));
@ -470,12 +465,21 @@ void AActor::Die (AActor *source, AActor *inflictor, int dmgflags)
if ((dmflags2 & DF2_YES_LOSEFRAG) && deathmatch) if ((dmflags2 & DF2_YES_LOSEFRAG) && deathmatch)
player->fragcount--; player->fragcount--;
++source->player->fragcount; if (this->IsTeammate(source))
++source->player->spreecount; {
source->player->fragcount--;
}
else
{
++source->player->fragcount;
++source->player->spreecount;
}
if (source->player->morphTics) if (source->player->morphTics)
{ // Make a super chicken { // Make a super chicken
source->GiveInventoryType (RUNTIME_CLASS(APowerWeaponLevel2)); source->GiveInventoryType (RUNTIME_CLASS(APowerWeaponLevel2));
} }
if (deathmatch && cl_showsprees) if (deathmatch && cl_showsprees)
{ {
const char *spreemsg; const char *spreemsg;
@ -1024,7 +1028,6 @@ int P_DamageMobj (AActor *target, AActor *inflictor, AActor *source, int damage,
} }
MeansOfDeath = mod; MeansOfDeath = mod;
FriendlyFire = false;
// [RH] Andy Baker's Stealth monsters // [RH] Andy Baker's Stealth monsters
if (target->flags & MF_STEALTH) if (target->flags & MF_STEALTH)
{ {
@ -1221,8 +1224,6 @@ int P_DamageMobj (AActor *target, AActor *inflictor, AActor *source, int damage,
((player && player != source->player) || (!player && target != source)) && ((player && player != source->player) || (!player && target != source)) &&
target->IsTeammate (source)) target->IsTeammate (source))
{ {
if (player)
FriendlyFire = true;
if (rawdamage < TELEFRAG_DAMAGE) //Use the original damage to check for telefrag amount. Don't let the now-amplified damagetypes do it. if (rawdamage < TELEFRAG_DAMAGE) //Use the original damage to check for telefrag amount. Don't let the now-amplified damagetypes do it.
{ // Still allow telefragging :-( { // Still allow telefragging :-(
damage = (int)((float)damage * level.teamdamage); damage = (int)((float)damage * level.teamdamage);

View file

@ -1013,6 +1013,10 @@ bool PIT_CheckThing(AActor *thing, FCheckPosition &tm)
bool solid; bool solid;
int damage; int damage;
// don't clip against self
if (thing == tm.thing)
return true;
if (!((thing->flags & (MF_SOLID | MF_SPECIAL | MF_SHOOTABLE)) || thing->flags6 & MF6_TOUCHY)) if (!((thing->flags & (MF_SOLID | MF_SPECIAL | MF_SHOOTABLE)) || thing->flags6 & MF6_TOUCHY))
return true; // can't hit thing return true; // can't hit thing
@ -1020,10 +1024,6 @@ bool PIT_CheckThing(AActor *thing, FCheckPosition &tm)
if (abs(thing->x - tm.x) >= blockdist || abs(thing->y - tm.y) >= blockdist) if (abs(thing->x - tm.x) >= blockdist || abs(thing->y - tm.y) >= blockdist)
return true; return true;
// don't clip against self
if (thing == tm.thing)
return true;
if ((thing->flags2 | tm.thing->flags2) & MF2_THRUACTORS) if ((thing->flags2 | tm.thing->flags2) & MF2_THRUACTORS)
return true; return true;

View file

@ -309,7 +309,7 @@ FDInputJoystick::~FDInputJoystick()
{ {
Joy_GenerateButtonEvents(Axes[0].ButtonValue, 0, 2, KEY_JOYAXIS1PLUS); Joy_GenerateButtonEvents(Axes[0].ButtonValue, 0, 2, KEY_JOYAXIS1PLUS);
} }
else else if (Axes.Size() > 1)
{ {
Joy_GenerateButtonEvents(Axes[1].ButtonValue, 0, 4, KEY_JOYAXIS1PLUS); Joy_GenerateButtonEvents(Axes[1].ButtonValue, 0, 4, KEY_JOYAXIS1PLUS);
for (i = 2; i < Axes.Size(); ++i) for (i = 2; i < Axes.Size(); ++i)