A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita audio rust zig deno mpris rockbox mpd
at master 94 lines 2.6 kB view raw
1/* Emacs style mode select -*- C++ -*- 2 *----------------------------------------------------------------------------- 3 * 4 * 5 * PrBoom a Doom port merged with LxDoom and LSDLDoom 6 * based on BOOM, a modified and improved DOOM engine 7 * Copyright (C) 1999 by 8 * id Software, Chi Hoang, Lee Killough, Jim Flynn, Rand Phares, Ty Halderman 9 * Copyright (C) 1999-2000 by 10 * Jess Haas, Nicolas Kalkhof, Colin Phipps, Florian Schulze 11 * 12 * This program is free software; you can redistribute it and/or 13 * modify it under the terms of the GNU General Public License 14 * as published by the Free Software Foundation; either version 2 15 * of the License, or (at your option) any later version. 16 * 17 * This program is distributed in the hope that it will be useful, 18 * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 * GNU General Public License for more details. 21 * 22 * You should have received a copy of the GNU General Public License 23 * along with this program; if not, write to the Free Software 24 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 25 * 02111-1307, USA. 26 * 27 * DESCRIPTION: 28 * Sprite animation. 29 * 30 *-----------------------------------------------------------------------------*/ 31 32#ifndef __P_PSPR__ 33#define __P_PSPR__ 34 35/* Basic data types. 36 * Needs fixed point, and BAM angles. */ 37 38#include "m_fixed.h" 39#include "tables.h" 40 41/* Needs to include the precompiled sprite animation tables. 42 * 43 * Header generated by multigen utility. 44 * This includes all the data for thing animation, 45 * i.e. the Thing Atrributes table and the Frame Sequence table. 46 */ 47 48#include "info.h" 49 50#ifdef __GNUG__ 51#pragma interface 52#endif 53 54/* 55 * Frame flags: 56 * handles maximum brightness (torches, muzzle flare, light sources) 57 */ 58 59#define FF_FULLBRIGHT 0x8000 /* flag in thing->frame */ 60#define FF_FRAMEMASK 0x7fff 61 62/* 63 * Overlay psprites are scaled shapes 64 * drawn directly on the view screen, 65 * coordinates are given for a 320*200 view screen. 66 */ 67 68enum 69{ 70 ps_weapon, 71 ps_flash, 72 NUMPSPRITES 73}; 74typedef unsigned psprnum_t; 75 76typedef struct 77{ 78 state_t *state; /* a NULL state means not active */ 79 int tics; 80 fixed_t sx; 81 fixed_t sy; 82} pspdef_t; 83 84extern int weapon_preferences[2][NUMWEAPONS+1]; /* killough 5/2/98 */ 85int P_WeaponPreferred(int w1, int w2); 86 87struct player_s; 88int P_SwitchWeapon(struct player_s *player); 89boolean P_CheckAmmo(struct player_s *player); 90void P_SetupPsprites(struct player_s *curplayer); 91void P_MovePsprites(struct player_s *curplayer); 92void P_DropWeapon(struct player_s *player); 93 94#endif