/* * ============================================================================ * * Zombie:Reloaded * * File: models.h.inc * Type: Core * Description: Model data structures and constants. * * Copyright (C) 2009-2013 Greyscale, Richard Helgeby * * 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 3 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, see . * * ============================================================================ */ /** * Maximum number of models. */ #define MODELS_MAX 48 /** * Maximum folder depth a model file can be located. */ #define MODELS_PATH_MAX_DEPTH 8 /** * Maximum string length of a folder a model file is located under. */ #define MODELS_PATH_DIR_MAX_LENGTH 32 /** * Model access settings. */ enum ModelAccess { ModelAccess_Invalid = -1, /* Invalid access type. */ ModelAccess_Public = 0, /* Everyone can use the model. */ ModelAccess_Admins, /* Model can only be used by admins. */ ModelAccess_Hidden, /* Model is excluded from public random selections. */ ModelAccess_MotherZombies, /* Only mother zombies can use this model. */ ModelAccess_Group /* Enables group authentication. */ } /** * @section Model access flags. */ #define MODEL_ACCESS_PUBLIC (1<<0) #define MODEL_ACCESS_ADMINS (1<<1) #define MODEL_ACCESS_HIDDEN (1<<2) #define MODEL_ACCESS_MOTHER_ZOMBIES (1<<3) #define MODEL_ACCESS_GROUP (1<<4) /** * @endsection */ /** * Avaliable teams for models. */ enum ModelTeam { ModelTeam_Invalid = -1, ModelTeam_Zombies = 0, ModelTeam_Humans } /** * Model settings structure. */ enum ModelAttributes { String:Model_Name[64], /* File name of model (no file extension). */ String:Model_Path[PLATFORM_MAX_PATH], /* Path to model files. */ ModelTeam:Model_Team, /* What team the model belongs to. */ ModelAccess:Model_Access, /* Access settings. */ String:Model_Group[64] /* Group authentication (if used). */ }