- Fixed: When starting a new game from the menu while the fullscreen console

was open, the game was frozen before its initial setup tick until the
  console was closed. The most obvious result of this is that your view was
  stuck on the floor until the console closed.
- Fixed: Pressing ESC while editing your player name completely cleared the
  menus instead of simply canceling the name change.
- Fixed: The status bar still showed the rampage face if you held the fire
  button down while frozen.


SVN r493 (trunk)
This commit is contained in:
Randy Heit 2007-02-28 16:49:19 +00:00
parent 94ffa6d5ae
commit 1ca9b88b11
4 changed files with 30 additions and 8 deletions

View file

@ -1,3 +1,13 @@
February 28, 2007
- Fixed: When starting a new game from the menu while the fullscreen console
was open, the game was frozen before its initial setup tick until the
console was closed. The most obvious result of this is that your view was
stuck on the floor until the console closed.
- Fixed: Pressing ESC while editing your player name completely cleared the
menus instead of simply canceling the name change.
- Fixed: The status bar still showed the rampage face if you held the fire
button down while frozen.
February 24, 2007
- Added << operators for FString that function exactly like +=, except they
are left-associative, so you can use them like you would with an ostream

View file

@ -913,9 +913,9 @@ private:
if (FacePriority < 6)
{
// rapid firing
if (CPlayer->cmd.ucmd.buttons & BT_ATTACK)
if ((CPlayer->cmd.ucmd.buttons & BT_ATTACK) && !(CPlayer->cheats & (CF_FROZEN | CF_TOTALLYFROZEN)))
{
if (FaceLastAttackDown==-1)
if (FaceLastAttackDown == -1)
FaceLastAttackDown = ST_RAMPAGEDELAY;
else if (!--FaceLastAttackDown)
{

View file

@ -152,6 +152,7 @@ static void M_DrawPlayerBackdrop (int x, int y);
static void M_EditPlayerName (int choice);
static void M_ChangePlayerTeam (int choice);
static void M_PlayerNameChanged (FSaveGameNode *dummy);
static void M_PlayerNameNotChanged ();
static void M_SlidePlayerRed (int choice);
static void M_SlidePlayerGreen (int choice);
static void M_SlidePlayerBlue (int choice);
@ -197,6 +198,7 @@ static int showSharewareMessage;
static int genStringEnter; // we are going to be entering a savegame string
static size_t genStringLen; // [RH] Max # of chars that can be entered
static void (*genStringEnd)(FSaveGameNode *);
static void (*genStringCancel)();
static int saveSlot; // which slot to save in
static size_t saveCharIndex; // which char we're editing
@ -1709,9 +1711,12 @@ void M_ChooseSkill (int choice)
}
gameskill = choice;
gamestate = gamestate == GS_FULLCONSOLE ? GS_HIDECONSOLE : gamestate;
G_DeferedInitNew (EpisodeMaps[epi]);
gamestate = gamestate == GS_FULLCONSOLE ? GS_HIDECONSOLE : gamestate;
if (gamestate == GS_FULLCONSOLE)
{
gamestate = GS_HIDECONSOLE;
gameaction = ga_newgame;
}
M_ClearMenus ();
}
@ -2525,12 +2530,18 @@ static void M_EditPlayerName (int choice)
// we are going to be intercepting all chars
genStringEnter = 2;
genStringEnd = M_PlayerNameChanged;
genStringCancel = M_PlayerNameNotChanged;
genStringLen = MAXPLAYERNAME;
saveSlot = 0;
saveCharIndex = strlen (savegamestring);
}
static void M_PlayerNameNotChanged ()
{
strcpy (savegamestring, name);
}
static void M_PlayerNameChanged (FSaveGameNode *dummy)
{
char command[SAVESTRINGSIZE+8];
@ -2758,7 +2769,7 @@ bool M_Responder (event_t *ev)
case GK_ESCAPE:
genStringEnter = 0;
M_ClearMenus ();
genStringCancel (); // [RH] Function to call when escape is pressed
break;
case '\r':
@ -3007,6 +3018,7 @@ static void M_LoadSelect (const FSaveGameNode *file)
BorderNeedRefresh = screen->GetPageCount ();
}
//
// User wants to save. Start string input for M_Responder
//
@ -3015,6 +3027,7 @@ static void M_SaveSelect (const FSaveGameNode *file)
// we are going to be intercepting all chars
genStringEnter = 1;
genStringEnd = M_DoSave;
genStringCancel = M_ClearMenus;
genStringLen = SAVESTRINGSIZE-1;
if (file != &NewSaveNode)

View file

@ -180,7 +180,7 @@ bool P_Thing_Projectile (int tid, AActor *source, int type, const char * type_na
const PClass *kind;
AActor *spot, *mobj, *targ = forcedest;
FActorIterator iterator (tid);
float fspeed = float(speed);
double fspeed = speed;
int defflags3;
if (type_name == NULL)
@ -307,8 +307,7 @@ bool P_Thing_Projectile (int tid, AActor *source, int type, const char * type_na
}
else
{
nolead:
mobj->angle = R_PointToAngle2 (mobj->x, mobj->y, targ->x, targ->y);
nolead: mobj->angle = R_PointToAngle2 (mobj->x, mobj->y, targ->x, targ->y);
aim.Resize (fspeed);
mobj->momx = fixed_t(aim[0]);
mobj->momy = fixed_t(aim[1]);