⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 p_tick.c

📁 PIXIL is a small footprint operating environment, complete with PDA PIM applications, a browser and
💻 C
字号:
// Emacs style mode select   -*- C++ -*- //-----------------------------------------------------------------------------//// $Id: p_tick.c,v 1.2 2003/09/08 22:34:30 jasonk Exp $//// Copyright (C) 1993-1996 by id Software, Inc.//// This source is available for distribution and/or modification// only under the terms of the DOOM Source Code License as// published by id Software. All rights reserved.//// The source is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License// for more details.//// $Log: p_tick.c,v $// Revision 1.2  2003/09/08 22:34:30  jasonk// Updated files because this fucker won't build for no fucking good reason.//// Revision 1.1.1.1  2003/09/04 21:08:13  jasonk// Initial import//// Revision 1.1  2000/12/08 21:07:54  jeffw// nxdoom initial entry -- No nxdoom/Makefile so it won't build automatically////// DESCRIPTION://	Archiving: SaveGame I/O.//	Thinker, Ticker.////-----------------------------------------------------------------------------static const charrcsid[] = "$Id: p_tick.c,v 1.2 2003/09/08 22:34:30 jasonk Exp $";#include "z_zone.h"#include "p_local.h"#include "doomstat.h"int	leveltime;//// THINKERS// All thinkers should be allocated by Z_Malloc// so they can be operated on uniformly.// The actual structures will vary in size,// but the first element must be thinker_t.//// Both the head and tail of the thinker list.thinker_t	thinkercap;//// P_InitThinkers//void P_InitThinkers (void){    thinkercap.prev = thinkercap.next  = &thinkercap;}//// P_AddThinker// Adds a new thinker at the end of the list.//void P_AddThinker (thinker_t* thinker){    thinkercap.prev->next = thinker;    thinker->next = &thinkercap;    thinker->prev = thinkercap.prev;    thinkercap.prev = thinker;}//// P_RemoveThinker// Deallocation is lazy -- it will not actually be freed// until its thinking turn comes up.//void P_RemoveThinker (thinker_t* thinker){  // FIXME: NOP.  thinker->function.acv = (actionf_v)(-1);}//// P_AllocateThinker// Allocates memory and adds a new thinker at the end of the list.//void P_AllocateThinker (thinker_t*	thinker){}//// P_RunThinkers//void P_RunThinkers (void){    thinker_t*	currentthinker;    currentthinker = thinkercap.next;    while (currentthinker != &thinkercap)    {	if ( currentthinker->function.acv == (actionf_v)(-1) )	{	    // time to remove it	    currentthinker->next->prev = currentthinker->prev;	    currentthinker->prev->next = currentthinker->next;	    Z_Free (currentthinker);	}	else	{	    if (currentthinker->function.acp1)		currentthinker->function.acp1 (currentthinker);	}	currentthinker = currentthinker->next;    }}//// P_Ticker//void P_Ticker (void){    int		i;        // run the tic    if (paused)	return;		    // pause if in menu and at least one tic has been run    if ( !netgame	 && menuactive	 && !demoplayback	 && players[consoleplayer].viewz != 1)    {	return;    }    		    for (i=0 ; i<MAXPLAYERS ; i++)	if (playeringame[i])	    P_PlayerThink (&players[i]);			    P_RunThinkers ();    P_UpdateSpecials ();    P_RespawnSpecials ();    // for par times    leveltime++;	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -