* Updated to ZDoom 4267:

- Fixed possible NULL pointer derefs in P_LineAttack().
- Fixed: FxBinaryInts that needed to cast the right-side parameter to an int resolved the left side instead.
- Redo r4259, because I guess those weren't actually whitespace changes. (Although they looked like it to me.)
- Fixed: A_Face() should use other instead of self->target when calculating pitch.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1570 b0f79afe-0144-0410-b225-9a4edf0717df
This commit is contained in:
gez 2013-05-17 07:56:56 +00:00
parent 1dbf973859
commit 524d3fd456
5 changed files with 22 additions and 21 deletions

View file

@ -2790,16 +2790,16 @@ void A_Face (AActor *self, AActor *other, angle_t max_turn, angle_t max_pitch)
{
// [DH] Don't need to do proper fixed->double conversion, since the
// result is only used in a ratio.
double dist_x = self->target->x - self->x;
double dist_y = self->target->y - self->y;
double dist_x = other->x - self->x;
double dist_y = other->y - self->y;
// Positioning ala missile spawning, 32 units above foot level
fixed_t source_z = self->z + 32*FRACUNIT + self->GetBobOffset();
fixed_t target_z = self->target->z + 32*FRACUNIT + self->target->GetBobOffset();
fixed_t target_z = other->z + 32*FRACUNIT + other->GetBobOffset();
// If the target z is above the target's head, reposition to the middle of
// its body.
if (target_z >= self->target->z + self->target->height)
if (target_z >= other->z + other->height)
{
target_z = self->target->z + self->target->height / 2;
target_z = other->z + other->height / 2;
}
double dist_z = target_z - source_z;
double dist = sqrt(dist_x*dist_x + dist_y*dist_y + dist_z*dist_z);

View file

@ -3546,9 +3546,10 @@ AActor *P_LineAttack (AActor *t1, angle_t angle, fixed_t distance,
(t1->player->ReadyWeapon->flags2 & MF2_THRUGHOST)) ||
(puffDefaults && (puffDefaults->flags2 & MF2_THRUGHOST));
// if the puff uses a non-standard damage type this will override default, hitscan and melee damage type.
// if the puff uses a non-standard damage type, this will override default, hitscan and melee damage type.
// All other explicitly passed damage types (currenty only MDK) will be preserved.
if ((damageType == NAME_None || damageType == NAME_Melee || damageType == NAME_Hitscan) && puffDefaults->DamageType != NAME_None)
if ((damageType == NAME_None || damageType == NAME_Melee || damageType == NAME_Hitscan) &&
puffDefaults != NULL && puffDefaults->DamageType != NAME_None)
{
damageType = puffDefaults->DamageType;
}
@ -3568,7 +3569,7 @@ AActor *P_LineAttack (AActor *t1, angle_t angle, fixed_t distance,
{ // Play miss sound
S_Sound (t1, CHAN_WEAPON, puffDefaults->ActiveSound, 1, ATTN_NORM);
}
if (puffDefaults->flags3 & MF3_ALWAYSPUFF)
if (puffDefaults != NULL && puffDefaults->flags3 & MF3_ALWAYSPUFF)
{ // Spawn the puff anyway
puff = P_SpawnPuff (t1, pufftype, trace.X, trace.Y, trace.Z, angle - ANG180, 2, puffFlags);
}

View file

@ -3,5 +3,5 @@
// This file was automatically generated by the
// updaterevision tool. Do not edit by hand.
#define ZD_SVN_REVISION_STRING "4263"
#define ZD_SVN_REVISION_NUMBER 4263
#define ZD_SVN_REVISION_STRING "4267"
#define ZD_SVN_REVISION_NUMBER 4267

View file

@ -1246,7 +1246,7 @@ FxExpression *FxBinaryInt::Resolve(FCompileContext& ctx)
if (right->ValueType != VAL_Int)
{
right = new FxIntCast(right);
right = left->Resolve(ctx);
right = right->Resolve(ctx);
}
if (left == NULL || right == NULL)
{

View file

@ -1,6 +1,6 @@
/* Português Brasileiro. Feito por Patryck Padilha de Oliveira */
/* N縊 est・totalmente completo */
/* Doom esttraduzido 100% */
/* Não está totalmente completo */
/* Doom está traduzido 100% */
/* Chex(R) Quest traduzido 100% */
/* Heretic 75% traduzido (algumas telas ainda faltam) */
/* Hexen ainda não traduzido */
@ -22,7 +22,7 @@ QUITMSG = "deseja mesmo sair?";
TXT_YES = "Sim";
TXT_NO = "Nao";
// Mensagens de saa DooM 1
// Mensagens de saída DooM 1
QUITMSG1 = "por favor, nao saia, \nprecisamos mata-los...";
QUITMSG2 = "vamo nessa, isso ja esta\nficando insuportavel!";
QUITMSG3 = "eu nao sairia se fosse voce.\nWindows e muito mais chato.";
@ -31,7 +31,7 @@ QUITMSG5 = "nao va, eu acho que vi algo\nse mexendo naquele canto!";
QUITMSG6 = "sabe, na proxima vez,\nvoce ja era.";
QUITMSG7 = "va em frente, saia.\nveja se me preocupo.";
// Mensagens de saa DooM II
// Mensagens de saída DooM II
QUITMSG8 = " >sair \n >pedindo permissao para sair\n(tem certeza??)";
QUITMSG9 = "nao va agora, um \num buraco negro lhe espera\n na saida!";
QUITMSG10 = "saia daqui e volte\npara seus programas chatos.";
@ -40,7 +40,7 @@ QUITMSG12 = "OK, pode ir.\nmas pode esquecer sua pontuacao!";
QUITMSG13 = "va. \nquando voltar, estarei lhe esperando\ncom meu BFG.";
QUITMSG14 = "tens sorte por nao\nlhe dar um premio por pensar\n em sair.";
// Mensagens de saa Strife
// Mensagens de saída Strife
QUITMSG15 = "aonde pensa que vai?!\n e quanto a nos?";
QUITMSG16 = "interrompendo carnificina....\n tem certeza disso?";
QUITMSG17 = "mas voce e a nossa\n unica esperanca!";
@ -50,7 +50,7 @@ QUITMSG20 = "OK! tchau para voce tambem!";
QUITMSG21 = "pode ir.\nmas sabemos seu esconderijo...";
QUITMSG22 = "hein? pode repetir?\nvoce deseja sair?";
// Mensagens de saa Chex
// Mensagens de saída Chex
QUITMSG23 = "Nao saia agora, precisamos\nacabar com eles!";
QUITMSG24 = "Nao desista --- porque\neles nunca desistirao!";
QUITMSG25 = "Nao va.\nPrecisamos de sua ajuda!";
@ -131,7 +131,7 @@ BETA_BONUS2 = "Voce pegou um skullchest.";
BETA_BONUS3 = "Voce pegou um cetro maligno.";
BETA_BONUS4 = "Voce pegou uma biblia nao sagrada.";
// Neis (preferi deixar original por compatibilidade)
// Níveis (preferi deixar original por compatibilidade)
HUSTR_E1M1 = "E1M1: Hangar";
HUSTR_E1M2 = "E1M2: Nuclear Plant";
HUSTR_E1M3 = "E1M3: Toxin Refinery";
@ -452,7 +452,7 @@ P1TEXT =
P2TEXT =
"Nem o labirinto mortal do Arch-Vile pode\n"
"para-lo, e agora voce tem o prototipo do\n"
"Acelerador, o qual estcom pouca energia\n"
"Acelerador, o qual está com pouca energia\n"
"e logo se desativara permanentemente.\n"
"\n"
"Voce e bom nesse tipo de coisa.";
@ -738,7 +738,7 @@ OB_STRIDICUS = "%o foi eslameado por um stridicus.";
OB_LARVA = "%o foi eslameado por uma larva.";
OB_QUADRUMPUS = "%o foi eslameado por um quadrumpus.";
OB_MAXIMUS = "%o foi derrotado por um Maximus.";
// Existe um "You defeated a maximus" que eu n縊 pude traduzir, se algu駑 souber qual a linha que traduz me diga no f<>um onde voc・o baixou
// Existe um "You defeated a maximus" que eu não pude traduzir, se alguém souber qual a linha que traduz me diga no fórum onde você o baixou
_MAXIMUS = "00";
OB_FLEMMINE = "%o foi eslameado por um Flem mine.";
OB_SNOTFOLUS = "%o foi derrotado pelo Lord Snotfolus.";
@ -1382,7 +1382,7 @@ TXT_STRIFEMAP = "Voce pegou o mapa.";
TXT_BELDINSRING = "Voce pegou o anel.";
TXT_OFFERINGCHALICE = "Voce pegou o calice de oferenda.";
TXT_EAR = "Voce pegou a orelha.";
TXT_BROKENCOUPLING = "Vocpegou o acoplador de energia quebrado.";
TXT_BROKENCOUPLING = "Você pegou o acoplador de energia quebrado.";
TXT_SHADOWARMOR = "Voce pegou a armadura das sombras.";
TXT_ENVSUIT = "Voce pegou a roupa anti-radiacao.";
TXT_GUARDUNIFORM = "Voce pegou o uniforme - Guarda.";