From c137d2ad74b9b46c93411ce7fcae6d7041777d07 Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Sat, 6 Sep 2008 18:32:11 +0000 Subject: Move doom-specific files to a separate directory. Subversion-branch: /branches/raven-branch Subversion-revision: 1201 --- src/p_telept.c | 142 --------------------------------------------------------- 1 file changed, 142 deletions(-) delete mode 100644 src/p_telept.c (limited to 'src/p_telept.c') diff --git a/src/p_telept.c b/src/p_telept.c deleted file mode 100644 index abd307c5..00000000 --- a/src/p_telept.c +++ /dev/null @@ -1,142 +0,0 @@ -// Emacs style mode select -*- C++ -*- -//----------------------------------------------------------------------------- -// -// Copyright(C) 1993-1996 Id Software, Inc. -// Copyright(C) 2005 Simon Howard -// -// 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., 59 Temple Place - Suite 330, Boston, MA -// 02111-1307, USA. -// -// DESCRIPTION: -// Teleportation. -// -//----------------------------------------------------------------------------- - - - - -#include "doomdef.h" -#include "doomstat.h" - -#include "s_sound.h" - -#include "p_local.h" - - -// Data. -#include "sounds.h" - -// State. -#include "r_state.h" - - - -// -// TELEPORTATION -// -int -EV_Teleport -( line_t* line, - int side, - mobj_t* thing ) -{ - int i; - int tag; - mobj_t* m; - mobj_t* fog; - unsigned an; - thinker_t* thinker; - sector_t* sector; - fixed_t oldx; - fixed_t oldy; - fixed_t oldz; - - // don't teleport missiles - if (thing->flags & MF_MISSILE) - return 0; - - // Don't teleport if hit back of line, - // so you can get out of teleporter. - if (side == 1) - return 0; - - - tag = line->tag; - for (i = 0; i < numsectors; i++) - { - if (sectors[ i ].tag == tag ) - { - thinker = thinkercap.next; - for (thinker = thinkercap.next; - thinker != &thinkercap; - thinker = thinker->next) - { - // not a mobj - if (thinker->function.acp1 != (actionf_p1)P_MobjThinker) - continue; - - m = (mobj_t *)thinker; - - // not a teleportman - if (m->type != MT_TELEPORTMAN ) - continue; - - sector = m->subsector->sector; - // wrong sector - if (sector-sectors != i ) - continue; - - oldx = thing->x; - oldy = thing->y; - oldz = thing->z; - - if (!P_TeleportMove (thing, m->x, m->y)) - return 0; - - // fraggle: this was changed in final doom, - // problem between normal doom2 1.9 and final doom - // - // Note that although chex.exe is based on Final Doom, - // it does not have this quirk. - - if (gameversion < exe_final || gameversion == exe_chex) - thing->z = thing->floorz; - - if (thing->player) - thing->player->viewz = thing->z+thing->player->viewheight; - - // spawn teleport fog at source and destination - fog = P_SpawnMobj (oldx, oldy, oldz, MT_TFOG); - S_StartSound (fog, sfx_telept); - an = m->angle >> ANGLETOFINESHIFT; - fog = P_SpawnMobj (m->x+20*finecosine[an], m->y+20*finesine[an] - , thing->z, MT_TFOG); - - // emit sound, where? - S_StartSound (fog, sfx_telept); - - // don't move for a bit - if (thing->player) - thing->reactiontime = 18; - - thing->angle = m->angle; - thing->momx = thing->momy = thing->momz = 0; - return 1; - } - } - } - return 0; -} - -- cgit v1.2.3