mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-11 15:21:51 +00:00
Merge branch 'master' of https://github.com/rheit/zdoom
This commit is contained in:
commit
ad7c53855e
16 changed files with 126 additions and 28 deletions
|
@ -186,6 +186,7 @@ Note: All <bool> fields default to false unless mentioned otherwise.
|
||||||
soundsequence = <string>; // The sound sequence to play when this sector moves. Placing a
|
soundsequence = <string>; // The sound sequence to play when this sector moves. Placing a
|
||||||
// sound sequence thing in the sector will override this property.
|
// sound sequence thing in the sector will override this property.
|
||||||
hidden = <bool>; // if true this sector will not be drawn on the textured automap.
|
hidden = <bool>; // if true this sector will not be drawn on the textured automap.
|
||||||
|
waterzone = <bool>; // Sector is under water and swimmable
|
||||||
|
|
||||||
* Note about dropactors
|
* Note about dropactors
|
||||||
|
|
||||||
|
@ -328,6 +329,9 @@ Added back locknumber property.
|
||||||
1.20 25.02.2012
|
1.20 25.02.2012
|
||||||
Added arg0str thing property.
|
Added arg0str thing property.
|
||||||
|
|
||||||
|
1.21 09.08.2013
|
||||||
|
Added waterzone sector property.
|
||||||
|
|
||||||
===============================================================================
|
===============================================================================
|
||||||
EOF
|
EOF
|
||||||
===============================================================================
|
===============================================================================
|
||||||
|
|
|
@ -85,7 +85,7 @@ CVAR (Bool, am_showtotaltime, false, CVAR_ARCHIVE);
|
||||||
CVAR (Int, am_colorset, 0, CVAR_ARCHIVE);
|
CVAR (Int, am_colorset, 0, CVAR_ARCHIVE);
|
||||||
CVAR (Bool, am_customcolors, true, CVAR_ARCHIVE);
|
CVAR (Bool, am_customcolors, true, CVAR_ARCHIVE);
|
||||||
CVAR (Int, am_map_secrets, 1, CVAR_ARCHIVE);
|
CVAR (Int, am_map_secrets, 1, CVAR_ARCHIVE);
|
||||||
CVAR (Bool, am_drawmapback, true, CVAR_ARCHIVE);
|
CVAR (Int, am_drawmapback, 1, CVAR_ARCHIVE);
|
||||||
CVAR (Bool, am_showkeys, true, CVAR_ARCHIVE);
|
CVAR (Bool, am_showkeys, true, CVAR_ARCHIVE);
|
||||||
CVAR (Bool, am_showtriggerlines, false, CVAR_ARCHIVE);
|
CVAR (Bool, am_showtriggerlines, false, CVAR_ARCHIVE);
|
||||||
CVAR (Int, am_showthingsprites, 0, CVAR_ARCHIVE);
|
CVAR (Int, am_showthingsprites, 0, CVAR_ARCHIVE);
|
||||||
|
@ -435,6 +435,7 @@ static unsigned char RavenColors[]= {
|
||||||
|
|
||||||
static AMColorset AMColors;
|
static AMColorset AMColors;
|
||||||
static AMColorset AMMod;
|
static AMColorset AMMod;
|
||||||
|
static AMColorset AMModOverlay;
|
||||||
|
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
|
@ -443,12 +444,14 @@ static AMColorset AMMod;
|
||||||
//
|
//
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
|
|
||||||
void FMapInfoParser::ParseAMColors()
|
void FMapInfoParser::ParseAMColors(bool overlay)
|
||||||
{
|
{
|
||||||
bool colorset = false;
|
bool colorset = false;
|
||||||
|
|
||||||
AMMod.setWhite();
|
AMColorset &cset = overlay? AMModOverlay : AMMod;
|
||||||
AMMod.defined = true;
|
|
||||||
|
cset.setWhite();
|
||||||
|
cset.defined = true;
|
||||||
sc.MustGetToken('{');
|
sc.MustGetToken('{');
|
||||||
while(sc.GetToken())
|
while(sc.GetToken())
|
||||||
{
|
{
|
||||||
|
@ -464,15 +467,15 @@ void FMapInfoParser::ParseAMColors()
|
||||||
sc.MustGetToken(TK_StringConst);
|
sc.MustGetToken(TK_StringConst);
|
||||||
if (sc.Compare("doom"))
|
if (sc.Compare("doom"))
|
||||||
{
|
{
|
||||||
AMMod.initFromColors(DoomColors, false);
|
cset.initFromColors(DoomColors, false);
|
||||||
}
|
}
|
||||||
else if (sc.Compare("raven"))
|
else if (sc.Compare("raven"))
|
||||||
{
|
{
|
||||||
AMMod.initFromColors(RavenColors, true);
|
cset.initFromColors(RavenColors, true);
|
||||||
}
|
}
|
||||||
else if (sc.Compare("strife"))
|
else if (sc.Compare("strife"))
|
||||||
{
|
{
|
||||||
AMMod.initFromColors(StrifeColors, false);
|
cset.initFromColors(StrifeColors, false);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -482,11 +485,11 @@ void FMapInfoParser::ParseAMColors()
|
||||||
else if (nextKey.CompareNoCase("showlocks") == 0)
|
else if (nextKey.CompareNoCase("showlocks") == 0)
|
||||||
{
|
{
|
||||||
if(sc.CheckToken(TK_False))
|
if(sc.CheckToken(TK_False))
|
||||||
AMMod.displayLocks = false;
|
cset.displayLocks = false;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sc.MustGetToken(TK_True);
|
sc.MustGetToken(TK_True);
|
||||||
AMMod.displayLocks = true;
|
cset.displayLocks = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -501,7 +504,7 @@ void FMapInfoParser::ParseAMColors()
|
||||||
FString colorName = V_GetColorStringByName(color);
|
FString colorName = V_GetColorStringByName(color);
|
||||||
if(!colorName.IsEmpty()) color = colorName;
|
if(!colorName.IsEmpty()) color = colorName;
|
||||||
int colorval = V_GetColorFromString(NULL, color);
|
int colorval = V_GetColorFromString(NULL, color);
|
||||||
AMMod.c[i].FromRGB(RPART(colorval), GPART(colorval), BPART(colorval));
|
cset.c[i].FromRGB(RPART(colorval), GPART(colorval), BPART(colorval));
|
||||||
colorset = true;
|
colorset = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1244,7 +1247,14 @@ static void AM_initColors (bool overlayed)
|
||||||
{
|
{
|
||||||
if (overlayed)
|
if (overlayed)
|
||||||
{
|
{
|
||||||
AMColors.initFromCVars(cv_overlay);
|
if (am_customcolors && AMModOverlay.defined)
|
||||||
|
{
|
||||||
|
AMColors = AMModOverlay;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
AMColors.initFromCVars(cv_overlay);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (am_customcolors && AMMod.defined)
|
else if (am_customcolors && AMMod.defined)
|
||||||
{
|
{
|
||||||
|
@ -1598,7 +1608,17 @@ void AM_Ticker ()
|
||||||
|
|
||||||
void AM_clearFB (const AMColor &color)
|
void AM_clearFB (const AMColor &color)
|
||||||
{
|
{
|
||||||
if (!mapback.isValid() || !am_drawmapback)
|
bool drawback = mapback.isValid() && am_drawmapback != 0;
|
||||||
|
if (am_drawmapback == 2)
|
||||||
|
{
|
||||||
|
// only draw background when using a mod defined custom color set or Raven colors, if am_drawmapback is 2.
|
||||||
|
if (!am_customcolors || !AMMod.defined)
|
||||||
|
{
|
||||||
|
drawback &= (am_colorset == 3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!drawback)
|
||||||
{
|
{
|
||||||
screen->Clear (0, 0, f_w, f_h, color.Index, color.RGB);
|
screen->Clear (0, 0, f_w, f_h, color.Index, color.RGB);
|
||||||
}
|
}
|
||||||
|
@ -2209,7 +2229,7 @@ void AM_drawWalls (bool allmap)
|
||||||
|
|
||||||
if (am_cheat != 0 || (lines[i].flags & ML_MAPPED))
|
if (am_cheat != 0 || (lines[i].flags & ML_MAPPED))
|
||||||
{
|
{
|
||||||
if ((lines[i].flags & ML_DONTDRAW) && am_cheat == 0)
|
if ((lines[i].flags & ML_DONTDRAW) && (am_cheat == 0 || am_cheat >= 4))
|
||||||
{
|
{
|
||||||
if (!am_showallenabled || CheckCheatmode(false))
|
if (!am_showallenabled || CheckCheatmode(false))
|
||||||
{
|
{
|
||||||
|
@ -2316,14 +2336,14 @@ void AM_drawWalls (bool allmap)
|
||||||
AM_drawMline(&l, AMColors.EFWallColor); // Extra floor border
|
AM_drawMline(&l, AMColors.EFWallColor); // Extra floor border
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
else if (am_cheat != 0)
|
else if (am_cheat > 0 && am_cheat < 4)
|
||||||
{
|
{
|
||||||
AM_drawMline(&l, AMColors.TSWallColor);
|
AM_drawMline(&l, AMColors.TSWallColor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (allmap)
|
else if (allmap)
|
||||||
{
|
{
|
||||||
if ((lines[i].flags & ML_DONTDRAW) && am_cheat == 0)
|
if ((lines[i].flags & ML_DONTDRAW) && (am_cheat == 0 || am_cheat >= 4))
|
||||||
{
|
{
|
||||||
if (!am_showallenabled || CheckCheatmode(false))
|
if (!am_showallenabled || CheckCheatmode(false))
|
||||||
{
|
{
|
||||||
|
@ -2443,7 +2463,7 @@ AM_drawLineCharacter
|
||||||
|
|
||||||
void AM_drawPlayers ()
|
void AM_drawPlayers ()
|
||||||
{
|
{
|
||||||
if (am_cheat >= 2 && am_showthingsprites > 0)
|
if (am_cheat >= 2 && am_cheat != 4 && am_showthingsprites > 0)
|
||||||
{
|
{
|
||||||
// Player sprites are drawn with the others
|
// Player sprites are drawn with the others
|
||||||
return;
|
return;
|
||||||
|
@ -2690,7 +2710,7 @@ void AM_drawThings ()
|
||||||
16<<MAPBITS, angle, color, p.x, p.y);
|
16<<MAPBITS, angle, color, p.x, p.y);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (am_cheat >= 3)
|
if (am_cheat == 3 || am_cheat == 6)
|
||||||
{
|
{
|
||||||
static const mline_t box[4] =
|
static const mline_t box[4] =
|
||||||
{
|
{
|
||||||
|
@ -2888,7 +2908,7 @@ void AM_Drawer ()
|
||||||
AM_drawPlayers();
|
AM_drawPlayers();
|
||||||
if (G_SkillProperty(SKILLP_EasyKey))
|
if (G_SkillProperty(SKILLP_EasyKey))
|
||||||
AM_drawKeys();
|
AM_drawKeys();
|
||||||
if (am_cheat >= 2 || allthings)
|
if ((am_cheat >= 2 && am_cheat != 4) || allthings)
|
||||||
AM_drawThings();
|
AM_drawThings();
|
||||||
|
|
||||||
AM_drawAuthorMarkers();
|
AM_drawAuthorMarkers();
|
||||||
|
|
|
@ -141,6 +141,7 @@ public:
|
||||||
FNameNoInit MorphWeapon;
|
FNameNoInit MorphWeapon;
|
||||||
fixed_t AttackZOffset; // attack height, relative to player center
|
fixed_t AttackZOffset; // attack height, relative to player center
|
||||||
fixed_t UseRange; // [NS] Distance at which player can +use
|
fixed_t UseRange; // [NS] Distance at which player can +use
|
||||||
|
fixed_t AirCapacity; // Multiplier for air supply underwater.
|
||||||
const PClass *FlechetteType;
|
const PClass *FlechetteType;
|
||||||
|
|
||||||
// [CW] Fades for when you are being damaged.
|
// [CW] Fades for when you are being damaged.
|
||||||
|
|
|
@ -101,15 +101,20 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_VileTarget)
|
||||||
//
|
//
|
||||||
// A_VileAttack
|
// A_VileAttack
|
||||||
//
|
//
|
||||||
|
|
||||||
|
// A_VileAttack flags
|
||||||
|
#define VAF_DMGTYPEAPPLYTODIRECT 1
|
||||||
|
|
||||||
DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_VileAttack)
|
DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_VileAttack)
|
||||||
{
|
{
|
||||||
ACTION_PARAM_START(6);
|
ACTION_PARAM_START(7);
|
||||||
ACTION_PARAM_SOUND(snd,0);
|
ACTION_PARAM_SOUND(snd,0);
|
||||||
ACTION_PARAM_INT(dmg,1);
|
ACTION_PARAM_INT(dmg,1);
|
||||||
ACTION_PARAM_INT(blastdmg,2);
|
ACTION_PARAM_INT(blastdmg,2);
|
||||||
ACTION_PARAM_INT(blastrad,3);
|
ACTION_PARAM_INT(blastrad,3);
|
||||||
ACTION_PARAM_FIXED(thrust,4);
|
ACTION_PARAM_FIXED(thrust,4);
|
||||||
ACTION_PARAM_NAME(dmgtype,5);
|
ACTION_PARAM_NAME(dmgtype,5);
|
||||||
|
ACTION_PARAM_INT(flags,6);
|
||||||
|
|
||||||
AActor *fire, *target;
|
AActor *fire, *target;
|
||||||
angle_t an;
|
angle_t an;
|
||||||
|
@ -123,7 +128,15 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_VileAttack)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
S_Sound (self, CHAN_WEAPON, snd, 1, ATTN_NORM);
|
S_Sound (self, CHAN_WEAPON, snd, 1, ATTN_NORM);
|
||||||
int newdam = P_DamageMobj (target, self, self, dmg, NAME_None);
|
|
||||||
|
int newdam;
|
||||||
|
|
||||||
|
if (flags & VAF_DMGTYPEAPPLYTODIRECT)
|
||||||
|
newdam = P_DamageMobj (target, self, self, dmg, dmgtype);
|
||||||
|
|
||||||
|
else
|
||||||
|
newdam = P_DamageMobj (target, self, self, dmg, NAME_None);
|
||||||
|
|
||||||
P_TraceBleed (newdam > 0 ? newdam : dmg, target);
|
P_TraceBleed (newdam > 0 ? newdam : dmg, target);
|
||||||
|
|
||||||
an = self->angle >> ANGLETOFINESHIFT;
|
an = self->angle >> ANGLETOFINESHIFT;
|
||||||
|
|
|
@ -103,7 +103,7 @@ struct FMapInfoParser
|
||||||
|
|
||||||
void ParseIntermissionAction(FIntermissionDescriptor *Desc);
|
void ParseIntermissionAction(FIntermissionDescriptor *Desc);
|
||||||
void ParseIntermission();
|
void ParseIntermission();
|
||||||
void ParseAMColors();
|
void ParseAMColors(bool);
|
||||||
FName CheckEndSequence();
|
FName CheckEndSequence();
|
||||||
FName ParseEndGame();
|
FName ParseEndGame();
|
||||||
};
|
};
|
||||||
|
|
|
@ -1842,12 +1842,12 @@ void FMapInfoParser::ParseMapInfo (int lump, level_info_t &gamedefaults, level_i
|
||||||
sc.ScriptError("intermission definitions not supported with old MAPINFO syntax");
|
sc.ScriptError("intermission definitions not supported with old MAPINFO syntax");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (sc.Compare("automap"))
|
else if (sc.Compare("automap") || sc.Compare("automap_overlay"))
|
||||||
{
|
{
|
||||||
if (format_type != FMT_Old)
|
if (format_type != FMT_Old)
|
||||||
{
|
{
|
||||||
format_type = FMT_New;
|
format_type = FMT_New;
|
||||||
ParseAMColors();
|
ParseAMColors(sc.Compare("automap_overlay"));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -442,6 +442,7 @@ xx(Alphafloor)
|
||||||
xx(Alphaceiling)
|
xx(Alphaceiling)
|
||||||
xx(Renderstylefloor)
|
xx(Renderstylefloor)
|
||||||
xx(Renderstyleceiling)
|
xx(Renderstyleceiling)
|
||||||
|
xx(Waterzone)
|
||||||
|
|
||||||
xx(offsetx_top)
|
xx(offsetx_top)
|
||||||
xx(offsety_top)
|
xx(offsety_top)
|
||||||
|
|
|
@ -3512,6 +3512,8 @@ enum
|
||||||
APROP_Radius = 36,
|
APROP_Radius = 36,
|
||||||
APROP_ReactionTime = 37,
|
APROP_ReactionTime = 37,
|
||||||
APROP_MeleeRange = 38,
|
APROP_MeleeRange = 38,
|
||||||
|
APROP_ViewHeight = 39,
|
||||||
|
APROP_AttackZOffset = 40
|
||||||
};
|
};
|
||||||
|
|
||||||
// These are needed for ACS's APROP_RenderStyle
|
// These are needed for ACS's APROP_RenderStyle
|
||||||
|
@ -3727,6 +3729,16 @@ void DLevelScript::DoSetActorProperty (AActor *actor, int property, int value)
|
||||||
actor->reactiontime = value;
|
actor->reactiontime = value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case APROP_ViewHeight:
|
||||||
|
if (actor->IsKindOf (RUNTIME_CLASS (APlayerPawn)))
|
||||||
|
static_cast<APlayerPawn *>(actor)->ViewHeight = value;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case APROP_AttackZOffset:
|
||||||
|
if (actor->IsKindOf (RUNTIME_CLASS (APlayerPawn)))
|
||||||
|
static_cast<APlayerPawn *>(actor)->AttackZOffset = value;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
// do nothing.
|
// do nothing.
|
||||||
break;
|
break;
|
||||||
|
@ -3799,6 +3811,23 @@ int DLevelScript::GetActorProperty (int tid, int property, const SDWORD *stack,
|
||||||
case APROP_Radius: return actor->radius;
|
case APROP_Radius: return actor->radius;
|
||||||
case APROP_ReactionTime:return actor->reactiontime;
|
case APROP_ReactionTime:return actor->reactiontime;
|
||||||
case APROP_MeleeRange: return actor->meleerange;
|
case APROP_MeleeRange: return actor->meleerange;
|
||||||
|
case APROP_ViewHeight: if (actor->IsKindOf (RUNTIME_CLASS (APlayerPawn)))
|
||||||
|
{
|
||||||
|
return static_cast<APlayerPawn *>(actor)->ViewHeight;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
case APROP_AttackZOffset:
|
||||||
|
if (actor->IsKindOf (RUNTIME_CLASS (APlayerPawn)))
|
||||||
|
{
|
||||||
|
return static_cast<APlayerPawn *>(actor)->AttackZOffset;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
case APROP_SeeSound: return GlobalACSStrings.AddString(actor->SeeSound, stack, stackdepth);
|
case APROP_SeeSound: return GlobalACSStrings.AddString(actor->SeeSound, stack, stackdepth);
|
||||||
case APROP_AttackSound: return GlobalACSStrings.AddString(actor->AttackSound, stack, stackdepth);
|
case APROP_AttackSound: return GlobalACSStrings.AddString(actor->AttackSound, stack, stackdepth);
|
||||||
|
@ -3851,6 +3880,8 @@ int DLevelScript::CheckActorProperty (int tid, int property, int value)
|
||||||
case APROP_Radius:
|
case APROP_Radius:
|
||||||
case APROP_ReactionTime:
|
case APROP_ReactionTime:
|
||||||
case APROP_MeleeRange:
|
case APROP_MeleeRange:
|
||||||
|
case APROP_ViewHeight:
|
||||||
|
case APROP_AttackZOffset:
|
||||||
return (GetActorProperty(tid, property, NULL, 0) == value);
|
return (GetActorProperty(tid, property, NULL, 0) == value);
|
||||||
|
|
||||||
// Boolean values need to compare to a binary version of value
|
// Boolean values need to compare to a binary version of value
|
||||||
|
|
|
@ -1326,7 +1326,11 @@ public:
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
case NAME_hidden:
|
case NAME_hidden:
|
||||||
sec->MoreFlags |= SECF_HIDDEN;
|
Flag(sec->MoreFlags, SECF_HIDDEN, key);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case NAME_Waterzone:
|
||||||
|
Flag(sec->MoreFlags, SECF_UNDERWATER, key);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -477,6 +477,10 @@ void APlayerPawn::Serialize (FArchive &arc)
|
||||||
{
|
{
|
||||||
arc << UseRange;
|
arc << UseRange;
|
||||||
}
|
}
|
||||||
|
if (SaveVersion >= 4503)
|
||||||
|
{
|
||||||
|
arc << AirCapacity;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
@ -1066,7 +1070,7 @@ bool APlayerPawn::ResetAirSupply (bool playgasp)
|
||||||
{
|
{
|
||||||
S_Sound (this, CHAN_VOICE, "*gasp", 1, ATTN_NORM);
|
S_Sound (this, CHAN_VOICE, "*gasp", 1, ATTN_NORM);
|
||||||
}
|
}
|
||||||
if (level.airsupply> 0) player->air_finished = level.time + level.airsupply;
|
if (level.airsupply> 0 && player->mo->AirCapacity > 0) player->air_finished = level.time + FixedMul(level.airsupply, player->mo->AirCapacity);
|
||||||
else player->air_finished = INT_MAX;
|
else player->air_finished = INT_MAX;
|
||||||
return wasdrowning;
|
return wasdrowning;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2419,6 +2419,15 @@ DEFINE_CLASS_PROPERTY_PREFIX(player, userange, F, PlayerPawn)
|
||||||
defaults->UseRange = z;
|
defaults->UseRange = z;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
DEFINE_CLASS_PROPERTY_PREFIX(player, aircapacity, F, PlayerPawn)
|
||||||
|
{
|
||||||
|
PROP_FIXED_PARM(z, 0);
|
||||||
|
defaults->AirCapacity = z;
|
||||||
|
}
|
||||||
|
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
//
|
//
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
|
|
@ -76,7 +76,7 @@ const char *GetVersionString();
|
||||||
|
|
||||||
// Use 4500 as the base git save version, since it's higher than the
|
// Use 4500 as the base git save version, since it's higher than the
|
||||||
// SVN revision ever got.
|
// SVN revision ever got.
|
||||||
#define SAVEVER 4502
|
#define SAVEVER 4503
|
||||||
|
|
||||||
#define SAVEVERSTRINGIFY2(x) #x
|
#define SAVEVERSTRINGIFY2(x) #x
|
||||||
#define SAVEVERSTRINGIFY(x) SAVEVERSTRINGIFY2(x)
|
#define SAVEVERSTRINGIFY(x) SAVEVERSTRINGIFY2(x)
|
||||||
|
|
|
@ -84,7 +84,7 @@ ACTOR Actor native //: Thinker
|
||||||
action native A_VileChase();
|
action native A_VileChase();
|
||||||
action native A_VileStart();
|
action native A_VileStart();
|
||||||
action native A_VileTarget(class<Actor> fire = "ArchvileFire");
|
action native A_VileTarget(class<Actor> fire = "ArchvileFire");
|
||||||
action native A_VileAttack(sound snd = "vile/stop", int initialdmg = 20, int blastdmg = 70, int blastradius = 70, float thrustfac = 1.0, name damagetype = "Fire");
|
action native A_VileAttack(sound snd = "vile/stop", int initialdmg = 20, int blastdmg = 70, int blastradius = 70, float thrustfac = 1.0, name damagetype = "Fire", int flags = 0);
|
||||||
action native A_StartFire();
|
action native A_StartFire();
|
||||||
action native A_Fire(float spawnheight = 0);
|
action native A_Fire(float spawnheight = 0);
|
||||||
action native A_FireCrackle();
|
action native A_FireCrackle();
|
||||||
|
|
|
@ -4,6 +4,9 @@ const int PAF_NOSKULLATTACK = 1;
|
||||||
const int PAF_AIMFACING = 2;
|
const int PAF_AIMFACING = 2;
|
||||||
const int PAF_NOTARGET = 4;
|
const int PAF_NOTARGET = 4;
|
||||||
|
|
||||||
|
// Flags for A_VileAttack
|
||||||
|
const int VAF_DMGTYPEAPPLYTODIRECT = 1;
|
||||||
|
|
||||||
// Flags for A_Saw
|
// Flags for A_Saw
|
||||||
const int SF_NORANDOM = 1;
|
const int SF_NORANDOM = 1;
|
||||||
const int SF_RANDOMLIGHTMISS = 2;
|
const int SF_RANDOMLIGHTMISS = 2;
|
||||||
|
|
|
@ -32,6 +32,7 @@ Actor PlayerPawn : Actor native
|
||||||
Player.DamageScreenColor "ff 00 00"
|
Player.DamageScreenColor "ff 00 00"
|
||||||
Player.MugShotMaxHealth 0
|
Player.MugShotMaxHealth 0
|
||||||
Player.FlechetteType "ArtiPoisonBag3"
|
Player.FlechetteType "ArtiPoisonBag3"
|
||||||
|
Player.AirCapacity 1
|
||||||
Obituary "$OB_MPDEFAULT"
|
Obituary "$OB_MPDEFAULT"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -928,6 +928,13 @@ OptionValue STSTypes
|
||||||
3, "Rotated"
|
3, "Rotated"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
OptionValue MapBackTypes
|
||||||
|
{
|
||||||
|
0, "Off"
|
||||||
|
1, "On"
|
||||||
|
2, "Map defined colors only"
|
||||||
|
}
|
||||||
|
|
||||||
OptionMenu AutomapOptions
|
OptionMenu AutomapOptions
|
||||||
{
|
{
|
||||||
Title "AUTOMAP OPTIONS"
|
Title "AUTOMAP OPTIONS"
|
||||||
|
@ -948,7 +955,7 @@ OptionMenu AutomapOptions
|
||||||
Option "Show total time elapsed", "am_showtotaltime", "OnOff"
|
Option "Show total time elapsed", "am_showtotaltime", "OnOff"
|
||||||
Option "Show secrets on map", "am_map_secrets", "SecretTypes"
|
Option "Show secrets on map", "am_map_secrets", "SecretTypes"
|
||||||
Option "Show map label", "am_showmaplabel", "MaplabelTypes"
|
Option "Show map label", "am_showmaplabel", "MaplabelTypes"
|
||||||
Option "Draw map background", "am_drawmapback", "OnOff"
|
Option "Draw map background", "am_drawmapback", "MapBackTypes"
|
||||||
Option "Show keys (cheat)", "am_showkeys", "OnOff"
|
Option "Show keys (cheat)", "am_showkeys", "OnOff"
|
||||||
Option "Show trigger lines", "am_showtriggerlines", "OnOff"
|
Option "Show trigger lines", "am_showtriggerlines", "OnOff"
|
||||||
Option "Show things as sprites", "am_showthingsprites", "STSTypes"
|
Option "Show things as sprites", "am_showthingsprites", "STSTypes"
|
||||||
|
|
Loading…
Reference in a new issue