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

📄 doomdef.h

📁 PIXIL is a small footprint operating environment, complete with PDA PIM applications, a browser and
💻 H
字号:
// Emacs style mode select   -*- C++ -*- //-----------------------------------------------------------------------------//// $Id: doomdef.h,v 1.2 2003/09/08 22:34:27 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.//// DESCRIPTION://  Internally used data structures for virtually everything,//   key definitions, lots of other stuff.////-----------------------------------------------------------------------------#ifndef __DOOMDEF__#define __DOOMDEF__#include <stdio.h>#include <string.h>//// Global parameters/defines.//// DOOM versionenum { VERSION_NUM =  110 };// Game mode handling - identify IWAD version//  to handle IWAD dependend animations etc.typedef enum{  shareware,	// DOOM 1 shareware, E1, M9  registered,	// DOOM 1 registered, E3, M27  commercial,	// DOOM 2 retail, E1 M34  // DOOM 2 german edition not handled  retail,	// DOOM 1 retail, E4, M36  indetermined	// Well, no IWAD found.  } GameMode_t;// Mission packs - might be useful for TC stuff?typedef enum{  doom,		// DOOM 1  doom2,	// DOOM 2  pack_tnt,	// TNT mission pack  pack_plut,	// Plutonia pack  none} GameMission_t;// Identify language to use, software localization.typedef enum{  english,  french,  german,  unknown} Language_t;// If rangecheck is undefined,// most parameter validation debugging code will not be compiled#define RANGECHECK// Do or do not use external soundserver.// The sndserver binary to be run separately//  has been introduced by Dave Taylor.// The integrated sound support is experimental,//  and unfinished. Default is synchronous.// Experimental asynchronous timer based is//  handled by SNDINTR. #define SNDSERV  1//#define SNDINTR  1// This one switches between MIT SHM (no proper mouse)// and XFree86 DGA (mickey sampling). The original// linuxdoom used SHM, which is default.//#define X11_DGA		1//// For resize of screen, at start of game.// It will not work dynamically, see visplanes.//#define	BASE_WIDTH  320// It is educational but futile to change this//  scaling e.g. to 2. Drawing of status bar,//  menues etc. is tied to the scale implied//  by the graphics.#define	SCREEN_MUL		1#define	INV_ASPECT_RATIO	0.625 // 0.75, ideally// Defines suck. C sucks.// C++ might sucks for OOP, but it sure is a better C.// So there.#define SCREENWIDTH  320//SCREEN_MUL*BASE_WIDTH //320#define SCREENHEIGHT 200//(int)(SCREEN_MUL*BASE_WIDTH*INV_ASPECT_RATIO) //200// The maximum number of players, multiplayer/networking.#define MAXPLAYERS		4// State updates, number of tics / second.#define TICRATE		35// The current state of the game: whether we are// playing, gazing at the intermission screen,// the game final animation, or a demo. typedef enum{    GS_LEVEL,    GS_INTERMISSION,    GS_FINALE,    GS_DEMOSCREEN} gamestate_t;//// Difficulty/skill settings/filters.//// Skill flags.#define	MTF_EASY		1#define	MTF_NORMAL		2#define	MTF_HARD		4// Deaf monsters/do not react to sound.#define	MTF_AMBUSH		8typedef enum{    sk_baby,    sk_easy,    sk_medium,    sk_hard,    sk_nightmare} skill_t;//// Key cards.//typedef enum{    it_bluecard,    it_yellowcard,    it_redcard,    it_blueskull,    it_yellowskull,    it_redskull,        NUMCARDS    } card_t;// The defined weapons,//  including a marker indicating//  user has not changed weapon.typedef enum{    wp_fist,    wp_pistol,    wp_shotgun,    wp_chaingun,    wp_missile,    wp_plasma,    wp_bfg,    wp_chainsaw,    wp_supershotgun,    NUMWEAPONS,        // No pending weapon change.    wp_nochange} weapontype_t;// Ammunition types defined.typedef enum{    am_clip,	// Pistol / chaingun ammo.    am_shell,	// Shotgun / double barreled shotgun.    am_cell,	// Plasma rifle, BFG.    am_misl,	// Missile launcher.    NUMAMMO,    am_noammo	// Unlimited for chainsaw / fist.	} ammotype_t;// Power up artifacts.typedef enum{    pw_invulnerability,    pw_strength,    pw_invisibility,    pw_ironfeet,    pw_allmap,    pw_infrared,    NUMPOWERS    } powertype_t;//// Power up durations,//  how many seconds till expiration,//  assuming TICRATE is 35 ticks/second.//typedef enum{    INVULNTICS	= (30*TICRATE),    INVISTICS	= (60*TICRATE),    INFRATICS	= (120*TICRATE),    IRONTICS	= (60*TICRATE)    } powerduration_t;//// DOOM keyboard definition.// This is the stuff configured by Setup.Exe.// Most key data are simple ascii (uppercased).//#define KEY_RIGHTARROW	0xae#define KEY_LEFTARROW	0xac#define KEY_UPARROW	0xad#define KEY_DOWNARROW	0xaf#define KEY_ESCAPE	27#define KEY_ENTER	13#define KEY_TAB		9#define KEY_F1		(0x80+0x3b)#define KEY_F2		(0x80+0x3c)#define KEY_F3		(0x80+0x3d)#define KEY_F4		(0x80+0x3e)#define KEY_F5		(0x80+0x3f)#define KEY_F6		(0x80+0x40)#define KEY_F7		(0x80+0x41)#define KEY_F8		(0x80+0x42)#define KEY_F9		(0x80+0x43)#define KEY_F10		(0x80+0x44)#define KEY_F11		(0x80+0x57)#define KEY_F12		(0x80+0x58)#define KEY_BACKSPACE	127#define KEY_PAUSE	0xff#define KEY_EQUALS	0x3d#define KEY_MINUS	0x2d#define KEY_RSHIFT	(0x80+0x36)#define KEY_RCTRL	(0x80+0x1d)#define KEY_RALT	(0x80+0x38)#define KEY_LALT	KEY_RALT// DOOM basic types (boolean),//  and max/min values.//#include "doomtype.h"// Fixed point.//#include "m_fixed.h"// Endianess handling.//#include "m_swap.h"// Binary Angles, sine/cosine/atan lookups.//#include "tables.h"// Event type.//#include "d_event.h"// Game function, skills.//#include "g_game.h"// All external data is defined here.//#include "doomdata.h"// All important printed strings.// Language selection (message strings).//#include "dstrings.h"// Player is a special actor.//struct player_s;//#include "d_items.h"//#include "d_player.h"//#include "p_mobj.h"//#include "d_net.h"// PLAY//#include "p_tick.h"// Header, generated by sound utility.// The utility was written by Dave Taylor.//#include "sounds.h"#endif          // __DOOMDEF__//-----------------------------------------------------------------------------//// $Log: doomdef.h,v $// Revision 1.2  2003/09/08 22:34:27  jasonk// Updated files because this fucker won't build for no fucking good reason.//// Revision 1.1.1.1  2003/09/04 21:08:12  jasonk// Initial import//// Revision 1.1  2000/12/08 21:07:53  jeffw// nxdoom initial entry -- No nxdoom/Makefile so it won't build automatically//////-----------------------------------------------------------------------------

⌨️ 快捷键说明

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