mirror of
https://github.com/DrBeef/JKXR.git
synced 2024-11-29 23:42:38 +00:00
87 lines
2.4 KiB
C
87 lines
2.4 KiB
C
|
/*
|
||
|
===========================================================================
|
||
|
Copyright (C) 2000 - 2013, Raven Software, Inc.
|
||
|
Copyright (C) 2001 - 2013, Activision, Inc.
|
||
|
Copyright (C) 2013 - 2015, OpenJK contributors
|
||
|
|
||
|
This file is part of the OpenJK source code.
|
||
|
|
||
|
OpenJK is free software; you can redistribute it and/or modify it
|
||
|
under the terms of the GNU General Public License version 2 as
|
||
|
published by the Free Software Foundation.
|
||
|
|
||
|
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, see <http://www.gnu.org/licenses/>.
|
||
|
===========================================================================
|
||
|
*/
|
||
|
|
||
|
// Filename:- fields.h
|
||
|
//
|
||
|
|
||
|
#ifndef FIELDS_H
|
||
|
#define FIELDS_H
|
||
|
|
||
|
//
|
||
|
// fields are needed for spawning from the entity string
|
||
|
// and saving / loading games
|
||
|
//
|
||
|
#define FFL_SPAWNTEMP 1
|
||
|
#define MAX_GHOULINST_SIZE 16384
|
||
|
|
||
|
#ifndef FOFS
|
||
|
#define FOFS(x) offsetof(gentity_t, x) // usually already defined in qshared.h
|
||
|
#endif
|
||
|
#define STOFS(x) offsetof(spawn_temp_t, x)
|
||
|
#define LLOFS(x) offsetof(level_locals_t, x)
|
||
|
#define CLOFS(x) offsetof(gclient_t, x)
|
||
|
#define NPCOFS(x) offsetof(gNPC_t, x)
|
||
|
#define VHOFS(x) offsetof(Vehicle_t, x)
|
||
|
|
||
|
//
|
||
|
#define strFOFS(x) #x,FOFS(x)
|
||
|
#define strSTOFS(x) #x,STOFS(x)
|
||
|
#define strLLOFS(x) #x,LLOFS(x)
|
||
|
#define strCLOFS(x) #x,CLOFS(x)
|
||
|
#define strNPCOFS(x) #x,NPCOFS(x)
|
||
|
#define strVHICOFS(x) #x,VHOFS(x)
|
||
|
|
||
|
typedef enum
|
||
|
{
|
||
|
// F_INT,
|
||
|
// F_SHORT,
|
||
|
// F_FLOAT,
|
||
|
F_STRING, // string
|
||
|
// F_VECTOR,
|
||
|
F_NULL, // A ptr to null out
|
||
|
F_ITEM, // Item pointer handling
|
||
|
// F_MMOVE, // Mmove pointer handling
|
||
|
F_GCLIENT, // Client pointer handling
|
||
|
F_GENTITY, // gentity_t ptr handling
|
||
|
F_BOOLPTR, // Generic pointer that is recreated later, could be left alone, but clearer if only 0/1 rather than 0/alloc
|
||
|
|
||
|
F_BEHAVIORSET, // special scripting string ptr array handler
|
||
|
F_ALERTEVENT, // special handler for alertevent struct in level_locals_t
|
||
|
F_AIGROUPS, // some AI grouping stuff of Mike's
|
||
|
F_ANIMFILESETS, // animfileset animevent strings
|
||
|
|
||
|
F_GROUP,
|
||
|
F_VEHINFO,
|
||
|
F_IGNORE
|
||
|
} fieldtypeSAVE_t;
|
||
|
|
||
|
typedef struct
|
||
|
{
|
||
|
const char *psName;
|
||
|
size_t iOffset;
|
||
|
fieldtypeSAVE_t eFieldType;
|
||
|
} save_field_t;
|
||
|
|
||
|
#endif // #ifndef FIELDS_H
|
||
|
|
||
|
//////////////////////// eof //////////////////////////
|