ucfunction.h

Go to the documentation of this file.
00001 /*
00002  *  ucfunction.h - Usecode function
00003  *
00004  *  Copyright (C) 2002  The Exult Team
00005  *
00006  *  This program is free software; you can redistribute it and/or modify
00007  *  it under the terms of the GNU General Public License as published by
00008  *  the Free Software Foundation; either version 2 of the License, or
00009  *  (at your option) any later version.
00010  *
00011  *  This program is distributed in the hope that it will be useful,
00012  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014  *  GNU General Public License for more details.
00015  *
00016  *  You should have received a copy of the GNU General Public License
00017  *  along with this program; if not, write to the Free Software
00018  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00019  */
00020 
00021 #ifndef _UCFUNCTION_H
00022 #define _UCFUNCTION_H
00023 
00024 #include <iosfwd>
00025 #include "useval.h"
00026 #include "vec.h"
00027 
00028 class Usecode_function
00029 {
00030  public:
00031   int id;       // The function #.  (Appears to be the
00032           //   game item # the function gets
00033           //   called for.)
00034   Usecode_function *orig;   // If this was from 'patch', orig will
00035           //   be the function this replaced (if
00036           //   it existed).
00037   int len;      // Length.
00038 
00039   bool extended; // is this an 'extented' function? (aka 32 bit function)
00040   unsigned char *code;    // The code.
00041   Exult_vector<Usecode_value> statics;  // Local statics.
00042           // Create from file.
00043   Usecode_function(std::istream& file);
00044   inline ~Usecode_function()
00045     { delete [] code; }
00046 };
00047 
00048 #endif

Generated on Mon Jul 9 14:42:52 2007 for ExultEngine by  doxygen 1.5.1