Merge remote-tracking branch 'remotes/zdoom/maint' into maint1.9

This commit is contained in:
Christoph Oelckers 2016-02-09 15:25:25 +01:00
commit 1f11ba0304
7 changed files with 32 additions and 11 deletions

View file

@ -1474,7 +1474,7 @@ void ParseCVarInfo()
bool D_AddFile (TArray<FString> &wadfiles, const char *file, bool check, int position)
{
if (file == NULL)
if (file == NULL || *file == '\0')
{
return false;
}
@ -1505,6 +1505,10 @@ bool D_AddFile (TArray<FString> &wadfiles, const char *file, bool check, int pos
void D_AddWildFile (TArray<FString> &wadfiles, const char *value)
{
if (value == NULL || *value == '\0')
{
return;
}
const char *wadfile = BaseFileSearch (value, ".wad");
if (wadfile != NULL)
@ -1646,6 +1650,10 @@ static const char *BaseFileSearch (const char *file, const char *ext, bool lookf
{
static char wad[PATH_MAX];
if (file == NULL || *file == '\0')
{
return NULL;
}
if (lookfirstinprogdir)
{
mysnprintf (wad, countof(wad), "%s%s%s", progdir.GetChars(), progdir[progdir.Len() - 1] != '/' ? "/" : "", file);

View file

@ -138,7 +138,7 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_VileAttack)
if (fire != NULL)
{
// move the fire between the vile and the player
fixedvec3 pos = target->Vec3Angle(-24 * FRACUNIT, self->angle, target->Z());
fixedvec3 pos = target->Vec3Angle(-24 * FRACUNIT, self->angle, 0);
fire->SetOrigin (pos, true);
P_RadiusAttack (fire, self, blastdmg, blastrad, dmgtype, 0);

View file

@ -20,6 +20,10 @@ class AWhirlwind : public AActor
DECLARE_CLASS (AWhirlwind, AActor)
public:
int DoSpecialDamage (AActor *target, int damage, FName damagetype);
void BeginPlay()
{
special1 = 60;
}
};
IMPLEMENT_CLASS(AWhirlwind)
@ -129,7 +133,6 @@ DEFINE_ACTION_FUNCTION(AActor, A_LichAttack)
{
mo->AddZ(-32*FRACUNIT, false);
mo->tracer = target;
mo->special1 = 60;
mo->special2 = 50; // Timer for active sound
mo->health = 20*TICRATE; // Duration
S_Sound (self, CHAN_BODY, "ironlich/attack3", 1, ATTN_NORM);

View file

@ -324,7 +324,12 @@ void FValueTextItem::Drawer(bool selected)
screen->DrawText(mFont, selected? OptionSettings.mFontColorSelection : mFontColor, mXpos, mYpos, text, DTA_Clean, true, TAG_DONE);
int x = mXpos + mFont->StringWidth(text) + 8;
if (mSelections.Size() > 0) screen->DrawText(mFont, mFontColor2, x, mYpos, mSelections[mSelection], DTA_Clean, true, TAG_DONE);
if (mSelections.Size() > 0)
{
const char *mOptValue = mSelections[mSelection];
if (*mOptValue == '$') mOptValue = GStrings(mOptValue + 1);
screen->DrawText(mFont, mFontColor2, x, mYpos, mOptValue, DTA_Clean, true, TAG_DONE);
}
}
//=============================================================================
@ -479,7 +484,7 @@ void FSliderItem::Drawer(bool selected)
screen->DrawText(mFont, selected? OptionSettings.mFontColorSelection : mFontColor, mXpos, mYpos, text, DTA_Clean, true, TAG_DONE);
int x = SmallFont->StringWidth ("Green") + 8 + mXpos;
int x2 = SmallFont->StringWidth (mText) + 8 + mXpos;
int x2 = SmallFont->StringWidth (text) + 8 + mXpos;
DrawSlider (MAX(x2, x), mYpos);
}

View file

@ -2823,8 +2823,7 @@ void A_Face (AActor *self, AActor *other, angle_t max_turn, angle_t max_pitch, a
{
self->pitch = other_pitch;
}
if (flags & FAF_NODISTFACTOR)
self->pitch += pitch_offset;
self->pitch += pitch_offset;
}

View file

@ -698,8 +698,8 @@ bool FMODSoundRenderer::Init()
}
const char *wrongver = NULL;
#if FMOD_VERSION >= 0x43800
if (version < 0x43800)
#if FMOD_VERSION >= 0x43600
if (version < 0x43600)
#else
if (version < 0x42000)
#endif
@ -3135,7 +3135,7 @@ void FMODSoundRenderer::InitCreateSoundExInfo(FMOD_CREATESOUNDEXINFO *exinfo) co
FMOD_RESULT FMODSoundRenderer::SetSystemReverbProperties(const REVERB_PROPERTIES *props)
{
#if FMOD_VERSION < 0x43800
#if FMOD_VERSION < 0x43600
return Sys->setReverbProperties((const FMOD_REVERB_PROPERTIES *)props);
#else
// The reverb format changed when hardware mixing support was dropped, because

View file

@ -1711,6 +1711,12 @@ static void DoGiveInventory(AActor * receiver, bool use_aaptr, DECLARE_PARAMINFO
if (amount==0) amount=1;
if (mi)
{
if (!mi->IsDescendantOf (RUNTIME_CLASS(AInventory)))
{
ACTION_SET_RESULT(false);
return;
}
AInventory *item = static_cast<AInventory *>(Spawn (mi, 0, 0, 0, NO_REPLACE));
if (!item)
{
@ -6093,7 +6099,7 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_CheckProximity)
//Check inheritance for the classname. Taken partly from CheckClass DECORATE function.
if (flags & CPXF_ANCESTOR)
{
if (!(mo->GetClass()->IsAncestorOf(classname)))
if (!(mo->IsKindOf(classname)))
continue;
}
//Otherwise, just check for the regular class name.