mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-22 20:21:26 +00:00
- Version bump to 2.1.4.
- Fixed: Friendlies would not turn to face you when you engaged them in conversation, nor would they reliably return to their original facing when you stopped talking to them. - Added deprecation warnings for the DontHurtShooter, ExplosionRadius, and ExplosionDamage actor "properties." They were considered deprecated before; now this is explicitly stated when they are used. The problem with them is that they are not really properties and do not behave like other properties and cannot be inherited, because they are really just an alternate way of specifying parameters for A_Explode. (Anything that currently prints a deprecation warning will be removed completely in 2.2.0, which will be the version where custom state labels make their debut.) SVN r272 (trunk)
This commit is contained in:
parent
f203219d24
commit
06681ec72d
8 changed files with 57 additions and 15 deletions
|
@ -1,3 +1,17 @@
|
||||||
|
July 28, 2008
|
||||||
|
- Version bump to 2.1.4.
|
||||||
|
- Fixed: Friendlies would not turn to face you when you engaged them in
|
||||||
|
conversation, nor would they reliably return to their original facing when
|
||||||
|
you stopped talking to them.
|
||||||
|
- Added deprecation warnings for the DontHurtShooter, ExplosionRadius, and
|
||||||
|
ExplosionDamage actor "properties." They were considered deprecated before;
|
||||||
|
now this is explicitly stated when they are used. The problem with them is
|
||||||
|
that they are not really properties and do not behave like other properties
|
||||||
|
and cannot be inherited, because they are really just an alternate way of
|
||||||
|
specifying parameters for A_Explode. (Anything that currently prints a
|
||||||
|
deprecation warning will be removed completely in 2.2.0, which will be the
|
||||||
|
version where custom state labels make their debut.)
|
||||||
|
|
||||||
July 26, 2006 (Changes by Graf Zahl)
|
July 26, 2006 (Changes by Graf Zahl)
|
||||||
- Changed player sprite translation for the menu so that it uses a regular
|
- Changed player sprite translation for the menu so that it uses a regular
|
||||||
translation table instead of a local custom buffer.
|
translation table instead of a local custom buffer.
|
||||||
|
|
|
@ -79,6 +79,7 @@ static void ParseReplies (FStrifeDialogueReply **replyptr, Response *responses);
|
||||||
static void DrawConversationMenu ();
|
static void DrawConversationMenu ();
|
||||||
static void PickConversationReply ();
|
static void PickConversationReply ();
|
||||||
static void CleanupConversationMenu ();
|
static void CleanupConversationMenu ();
|
||||||
|
static void ConversationMenuEscaped ();
|
||||||
|
|
||||||
static FStrifeDialogueNode *CurNode, *PrevNode;
|
static FStrifeDialogueNode *CurNode, *PrevNode;
|
||||||
static brokenlines_t *DialogueLines;
|
static brokenlines_t *DialogueLines;
|
||||||
|
@ -602,8 +603,9 @@ CUSTOM_CVAR(Float, dlg_musicvolume, 1.0f, CVAR_ARCHIVE)
|
||||||
//
|
//
|
||||||
//============================================================================
|
//============================================================================
|
||||||
|
|
||||||
void P_StartConversation (AActor *npc, AActor *pc, bool facetalker)
|
void P_StartConversation (AActor *npc, AActor *pc, bool facetalker, bool saveangle)
|
||||||
{
|
{
|
||||||
|
AActor *oldtarget;
|
||||||
FStrifeDialogueReply *reply;
|
FStrifeDialogueReply *reply;
|
||||||
menuitem_t item;
|
menuitem_t item;
|
||||||
const char *toSay;
|
const char *toSay;
|
||||||
|
@ -626,17 +628,22 @@ void P_StartConversation (AActor *npc, AActor *pc, bool facetalker)
|
||||||
}
|
}
|
||||||
|
|
||||||
npc->reactiontime = 2;
|
npc->reactiontime = 2;
|
||||||
if (!(npc->flags & MF_FRIENDLY) && !(npc->flags4 & MF4_NOHATEPLAYERS))
|
|
||||||
{
|
|
||||||
npc->target = pc;
|
|
||||||
}
|
|
||||||
ConversationFaceTalker = facetalker;
|
ConversationFaceTalker = facetalker;
|
||||||
ConversationNPCAngle = npc->angle;
|
if (saveangle)
|
||||||
|
{
|
||||||
|
ConversationNPCAngle = npc->angle;
|
||||||
|
}
|
||||||
|
oldtarget = npc->target;
|
||||||
|
npc->target = pc;
|
||||||
if (facetalker)
|
if (facetalker)
|
||||||
{
|
{
|
||||||
A_FaceTarget (npc);
|
A_FaceTarget (npc);
|
||||||
pc->angle = R_PointToAngle2 (pc->x, pc->y, npc->x, npc->y);
|
pc->angle = R_PointToAngle2 (pc->x, pc->y, npc->x, npc->y);
|
||||||
}
|
}
|
||||||
|
if ((npc->flags & MF_FRIENDLY) || (npc->flags4 & MF4_NOHATEPLAYERS))
|
||||||
|
{
|
||||||
|
npc->target = oldtarget;
|
||||||
|
}
|
||||||
|
|
||||||
// Check if we should jump to another node
|
// Check if we should jump to another node
|
||||||
while (CurNode->ItemCheck[0] != NULL)
|
while (CurNode->ItemCheck[0] != NULL)
|
||||||
|
@ -662,7 +669,7 @@ void P_StartConversation (AActor *npc, AActor *pc, bool facetalker)
|
||||||
|
|
||||||
// Set up the menu
|
// Set up the menu
|
||||||
ConversationMenu.PreDraw = DrawConversationMenu;
|
ConversationMenu.PreDraw = DrawConversationMenu;
|
||||||
ConversationMenu.EscapeHandler = CleanupConversationMenu;
|
ConversationMenu.EscapeHandler = ConversationMenuEscaped;
|
||||||
|
|
||||||
// Format the speaker's message.
|
// Format the speaker's message.
|
||||||
toSay = CurNode->Dialogue;
|
toSay = CurNode->Dialogue;
|
||||||
|
@ -747,7 +754,7 @@ void P_ResumeConversation ()
|
||||||
{
|
{
|
||||||
if (ConversationPC != NULL && ConversationNPC != NULL)
|
if (ConversationPC != NULL && ConversationNPC != NULL)
|
||||||
{
|
{
|
||||||
P_StartConversation (ConversationNPC, ConversationPC, ConversationFaceTalker);
|
P_StartConversation (ConversationNPC, ConversationPC, ConversationFaceTalker, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -866,6 +873,7 @@ static void PickConversationReply ()
|
||||||
CleanupConversationMenu ();
|
CleanupConversationMenu ();
|
||||||
if (reply == NULL)
|
if (reply == NULL)
|
||||||
{
|
{
|
||||||
|
ConversationNPC->angle = ConversationNPCAngle;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -880,6 +888,7 @@ static void PickConversationReply ()
|
||||||
Printf ("%s\n", reply->QuickNo);
|
Printf ("%s\n", reply->QuickNo);
|
||||||
}
|
}
|
||||||
ConversationNPC->ConversationAnimation (2);
|
ConversationNPC->ConversationAnimation (2);
|
||||||
|
ConversationNPC->angle = ConversationNPCAngle;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -967,7 +976,7 @@ static void PickConversationReply ()
|
||||||
ConversationNPC->Conversation = StrifeDialogues[rootnode - reply->NextNode - 1];
|
ConversationNPC->Conversation = StrifeDialogues[rootnode - reply->NextNode - 1];
|
||||||
if (gameaction != ga_slideshow)
|
if (gameaction != ga_slideshow)
|
||||||
{
|
{
|
||||||
P_StartConversation (ConversationNPC, players[consoleplayer].mo, ConversationFaceTalker);
|
P_StartConversation (ConversationNPC, players[consoleplayer].mo, ConversationFaceTalker, false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1018,3 +1027,16 @@ void CleanupConversationMenu ()
|
||||||
I_SetMusicVolume(1.f);
|
I_SetMusicVolume(1.f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//============================================================================
|
||||||
|
//
|
||||||
|
// ConversationMenuEscaped
|
||||||
|
//
|
||||||
|
// Called when the user presses escape to leave tho conversation menu.
|
||||||
|
//
|
||||||
|
//============================================================================
|
||||||
|
|
||||||
|
void ConversationMenuEscaped ()
|
||||||
|
{
|
||||||
|
CleanupConversationMenu ();
|
||||||
|
ConversationNPC->angle = ConversationNPCAngle;
|
||||||
|
}
|
||||||
|
|
|
@ -59,7 +59,7 @@ extern const PClass *StrifeTypes[1001];
|
||||||
void P_LoadStrifeConversations (const char *mapname);
|
void P_LoadStrifeConversations (const char *mapname);
|
||||||
void P_FreeStrifeConversations ();
|
void P_FreeStrifeConversations ();
|
||||||
|
|
||||||
void P_StartConversation (AActor *npc, AActor *pc, bool facetalker);
|
void P_StartConversation (AActor *npc, AActor *pc, bool facetalker, bool saveangle);
|
||||||
void P_ResumeConversation ();
|
void P_ResumeConversation ();
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -2664,7 +2664,7 @@ FUNC(LS_StartConversation)
|
||||||
{
|
{
|
||||||
// Give the NPC a chance to play a brief animation
|
// Give the NPC a chance to play a brief animation
|
||||||
target->ConversationAnimation (0);
|
target->ConversationAnimation (0);
|
||||||
P_StartConversation (target, it, !!arg1);
|
P_StartConversation (target, it, !!arg1, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -3167,7 +3167,7 @@ BOOL PTR_UseTraverse (intercept_t *in)
|
||||||
{
|
{
|
||||||
// Give the NPC a chance to play a brief animation
|
// Give the NPC a chance to play a brief animation
|
||||||
in->d.thing->ConversationAnimation (0);
|
in->d.thing->ConversationAnimation (0);
|
||||||
P_StartConversation (in->d.thing, usething, true);
|
P_StartConversation (in->d.thing, usething, true, true);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -1418,7 +1418,7 @@ void R_InitTranslationTables ()
|
||||||
{
|
{
|
||||||
static BYTE MainTranslationTables[256*
|
static BYTE MainTranslationTables[256*
|
||||||
(NUMCOLORMAPS*16 // Shaded
|
(NUMCOLORMAPS*16 // Shaded
|
||||||
+MAXPLAYERS*2+1 // Players + PlayersExtra
|
+MAXPLAYERS*2+1 // Players + PlayersExtra + Menu player
|
||||||
+8 // Standard (7 for Strife, 3 for the rest)
|
+8 // Standard (7 for Strife, 3 for the rest)
|
||||||
+MAX_ACS_TRANSLATIONS // LevelScripted
|
+MAX_ACS_TRANSLATIONS // LevelScripted
|
||||||
+BODYQUESIZE // PlayerCorpses
|
+BODYQUESIZE // PlayerCorpses
|
||||||
|
|
|
@ -2223,7 +2223,7 @@ static void StatePropertyIsDeprecated (const char *actorname, const char *prop)
|
||||||
{
|
{
|
||||||
static bool warned = false;
|
static bool warned = false;
|
||||||
|
|
||||||
Printf (TEXTCOLOR_YELLOW "In actor %s, the %s property is deprecated.\n",
|
Printf (TEXTCOLOR_YELLOW "In actor %s, the %s property is deprecated and will be removed in 2.2.0.\n",
|
||||||
actorname, prop);
|
actorname, prop);
|
||||||
if (!warned)
|
if (!warned)
|
||||||
{
|
{
|
||||||
|
@ -2739,6 +2739,8 @@ static void ActorHitObituary (AActor *defaults, Baggage &bag)
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
static void ActorDontHurtShooter (AActor *defaults, Baggage &bag)
|
static void ActorDontHurtShooter (AActor *defaults, Baggage &bag)
|
||||||
{
|
{
|
||||||
|
Printf (TEXTCOLOR_YELLOW "DontHurtShooter in %s is deprecated and will be removed in 2.2.0.\n",
|
||||||
|
bag.Info->Class->TypeName.GetChars());
|
||||||
bag.EParms.HurtShooter=false;
|
bag.EParms.HurtShooter=false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2747,6 +2749,8 @@ static void ActorDontHurtShooter (AActor *defaults, Baggage &bag)
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
static void ActorExplosionRadius (AActor *defaults, Baggage &bag)
|
static void ActorExplosionRadius (AActor *defaults, Baggage &bag)
|
||||||
{
|
{
|
||||||
|
Printf (TEXTCOLOR_YELLOW "ExplosionRadius in %s is deprecated and will be removed in 2.2.0.\n",
|
||||||
|
bag.Info->Class->TypeName.GetChars());
|
||||||
SC_MustGetNumber();
|
SC_MustGetNumber();
|
||||||
bag.EParms.ExplosionRadius=sc_Number;
|
bag.EParms.ExplosionRadius=sc_Number;
|
||||||
}
|
}
|
||||||
|
@ -2756,6 +2760,8 @@ static void ActorExplosionRadius (AActor *defaults, Baggage &bag)
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
static void ActorExplosionDamage (AActor *defaults, Baggage &bag)
|
static void ActorExplosionDamage (AActor *defaults, Baggage &bag)
|
||||||
{
|
{
|
||||||
|
Printf (TEXTCOLOR_YELLOW "ExplosionDamage in %s is deprecated and will be removed in 2.2.0.\n",
|
||||||
|
bag.Info->Class->TypeName.GetChars());
|
||||||
SC_MustGetNumber();
|
SC_MustGetNumber();
|
||||||
bag.EParms.ExplosionDamage=sc_Number;
|
bag.EParms.ExplosionDamage=sc_Number;
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
|
|
||||||
/** Lots of different version numbers **/
|
/** Lots of different version numbers **/
|
||||||
|
|
||||||
#define DOTVERSIONSTR_NOREV "2.1.3"
|
#define DOTVERSIONSTR_NOREV "2.1.4"
|
||||||
|
|
||||||
// The version string the user actually sees.
|
// The version string the user actually sees.
|
||||||
#define DOTVERSIONSTR DOTVERSIONSTR_NOREV " (r" SVN_REVISION_STRING ")"
|
#define DOTVERSIONSTR DOTVERSIONSTR_NOREV " (r" SVN_REVISION_STRING ")"
|
||||||
|
|
Loading…
Reference in a new issue