mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-11-10 14:51:51 +00:00
- 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:
parent
94ffa6d5ae
commit
1ca9b88b11
4 changed files with 30 additions and 8 deletions
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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]);
|
||||
|
|
Loading…
Reference in a new issue