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

📄 t_vari.h

📁 The source code of Doom legacy for windows
💻 H
字号:
// Emacs style mode select -*- C++ -*-//----------------------------------------------------------------------------//// $Id: t_vari.h,v 1.1 2000/11/02 17:57:28 stroggonmeth Exp $//// Copyright(C) 2000 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//// $Log: t_vari.h,v $// Revision 1.1  2000/11/02 17:57:28  stroggonmeth// FraggleScript files...//////--------------------------------------------------------------------------#ifndef __VARIABLE_H__#define __VARIABLE_H__typedef struct svariable_s svariable_t;#define VARIABLESLOTS 16#include "t_parse.h"#include "p_mobj.h"#include "m_fixed.h"// hash the variables for speed: this is the hashkey#define variable_hash(n)                \              (   ( (n)[0] + (n)[1] +   \                   ((n)[1] ? (n)[2] +   \                   ((n)[2] ? (n)[3]  : 0) : 0) ) % VARIABLESLOTS )     // svariable_tstruct svariable_s{  char *name;  int type;       // vt_string or vt_int: same as in svalue_t  union  {    char *s;    long i;    mobj_t *mobj;    fixed_t fixed;        char **pS;              // pointer to game string    int *pI;                // pointer to game int    fixed_t *pFixed;    mobj_t **pMobj;         // pointer to game obj    double *pf;        void (*handler)();      // for functions    char *labelptr;         // for labels  } value;  svariable_t *next;       // for hashing};// variable typesenum{  svt_string,  svt_int,  svt_fixed,  svt_mobj,         // a map object  svt_function,     // functions are stored as variables  svt_label,        // labels for goto calls are variables  svt_const,        // const  svt_pInt,         // pointer to game int  svt_pFixed,  svt_pString,      // pointer to game string  svt_pMobj,        // pointer to game mobj};// variablesvoid T_ClearHubScript();void init_variables();svariable_t *new_variable(script_t *script, char *name, int vtype);svariable_t *find_variable(char *name);svariable_t *variableforname(script_t *script, char *name);svalue_t getvariablevalue(svariable_t *v);void setvariablevalue(svariable_t *v, svalue_t newvalue);void clear_variables(script_t *script);svariable_t *add_game_int(char *name, int *var);svariable_t *add_game_string(char *name, char **var);svariable_t *add_game_mobj(char *name, mobj_t **mo);// functionssvalue_t evaluate_function(int start, int stop);   // actually run a functionsvariable_t *new_function(char *name, void (*handler)() );// arguments to handler functions#define MAXARGS 128extern int t_argc;extern svalue_t *t_argv;extern svalue_t t_return;#endif//---------------------------------------------------------------------------//// $Log: t_vari.h,v $// Revision 1.1  2000/11/02 17:57:28  stroggonmeth// FraggleScript files...//// Revision 1.1.1.1  2000/04/30 19:12:09  fraggle// initial import//////---------------------------------------------------------------------------

⌨️ 快捷键说明

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