Skip to content

Commit

Permalink
Refactor|libcommon: Switched p_tick.c to C++
Browse files Browse the repository at this point in the history
  • Loading branch information
danij-deng committed Jul 2, 2014
1 parent 7d2be95 commit 795e323
Show file tree
Hide file tree
Showing 4 changed files with 109 additions and 145 deletions.
2 changes: 1 addition & 1 deletion doomsday/plugins/common/common.pri
Expand Up @@ -124,7 +124,7 @@ SOURCES += \
$$common_src/p_start.cpp \
$$common_src/p_switch.cpp \
$$common_src/p_terraintype.c \
$$common_src/p_tick.c \
$$common_src/p_tick.cpp \
$$common_src/p_user.c \
$$common_src/p_view.c \
$$common_src/p_xgfile.cpp \
Expand Down
6 changes: 3 additions & 3 deletions doomsday/plugins/common/include/p_tick.h
@@ -1,7 +1,7 @@
/** @file p_tick.h Common top-level tick stuff.
*
* @authors Copyright © 2006-2013 Jaakko Keränen <jaakko.keranen@iki.fi>
* @authors Copyright © 2006-2013 Daniel Swanson <danij@dengine.net>
* @authors Copyright © 2006-2014 Jaakko Keränen <jaakko.keranen@iki.fi>
* @authors Copyright © 2006-2014 Daniel Swanson <danij@dengine.net>
*
* @par License
* GPL: http://www.gnu.org/licenses/gpl.html
Expand Down Expand Up @@ -47,4 +47,4 @@ void P_DoTick(void);
} // extern "C"
#endif

#endif /* LIBCOMMON_P_TICK_H */
#endif // LIBCOMMON_P_TICK_H
141 changes: 0 additions & 141 deletions doomsday/plugins/common/src/p_tick.c

This file was deleted.

105 changes: 105 additions & 0 deletions doomsday/plugins/common/src/p_tick.cpp
@@ -0,0 +1,105 @@
/** @file p_tick.cpp Common top-level tick stuff.
*
* @authors Copyright © 2003-2014 Jaakko Keränen <jaakko.keranen@iki.fi>
* @authors Copyright © 2005-2014 Daniel Swanson <danij@dengine.net>
*
* @par License
* GPL: http://www.gnu.org/licenses/gpl.html
*
* <small>This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version. This program is distributed in the hope that it
* will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
* Public License for more details. You should have received a copy of the GNU
* General Public License along with this program; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA</small>
*/

#include "common.h"
#include "p_tick.h"

#include "d_netsv.h"
#include "g_common.h"
#include "g_controls.h"
#include "hu_menu.h"
#include "hu_msg.h"
#include "p_actor.h"
#include "p_user.h"
#include "player.h"
#include "r_common.h"

int mapTime;
int actualMapTime;
int timerGame;

void P_RunPlayers(timespan_t ticLength)
{
for(int i = 0; i < MAXPLAYERS; ++i)
{
if(players[i].plr->inGame)
{
// The player thinks.
P_PlayerThink(&players[i], ticLength);
}
}
}

void P_DoTick()
{
Pause_Ticker();

// If the game is paused, nothing will happen.
if(paused) return;

actualMapTime++;

if(!IS_CLIENT && timerGame && !paused)
{
if(!--timerGame)
{
G_SetGameActionMapCompleted(G_NextLogicalMapNumber(false), 0, false);
}
}

// Pause if in menu and at least one tic has been run.
if(!IS_NETGAME && (Hu_MenuIsActive() || Hu_IsMessageActive()) &&
!Get(DD_PLAYBACK) && mapTime > 1)
return;

Thinker_Run();
#if __JDOOM__ || __JDOOM64__ || __JHERETIC__
// Extended lines and sectors.
XG_Ticker();
#endif

#if __JHEXEN__
P_AnimateSky();
P_AnimateLightning();
#endif

#if __JDOOM64__
P_ThunderSector();
#endif

P_ProcessDeferredSpawns();

#if __JHERETIC__
P_AmbientSound();
#endif

// Let the engine know where the local players are now.
for(int i = 0; i < MAXPLAYERS; ++i)
{
R_UpdateConsoleView(i);
}

#ifdef __JDOOM__
G_UpdateSpecialFilter(DISPLAYPLAYER);
#endif

// For par times, among other things.
mapTime++;
}

0 comments on commit 795e323

Please sign in to comment.