extensions/structs/structs.inc
author Ruben Gonzalez <drifter01620@gmail.com>
Thu May 22 09:49:27 2014 -0400 (2014-05-22)
changeset 4378 568f4497ef4a
parent 2389 3343325858fe
permissions -rw-r--r--
Update CS:GO team score gamedata.
     1 /**
     2  * vim: set ts=4 :
     3  * =============================================================================
     4  * SourceMod (C)2004-2008 AlliedModders LLC.  All rights reserved.
     5  * =============================================================================
     6  *
     7  * This file is part of the SourceMod/SourcePawn SDK.
     8  *
     9  * This program is free software; you can redistribute it and/or modify it under
    10  * the terms of the GNU General Public License, version 3.0, as published by the
    11  * Free Software Foundation.
    12  * 
    13  * This program is distributed in the hope that it will be useful, but WITHOUT
    14  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
    15  * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
    16  * details.
    17  *
    18  * You should have received a copy of the GNU General Public License along with
    19  * this program.  If not, see <http://www.gnu.org/licenses/>.
    20  *
    21  * As a special exception, AlliedModders LLC gives you permission to link the
    22  * code of this program (as well as its derivative works) to "Half-Life 2," the
    23  * "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software
    24  * by the Valve Corporation.  You must obey the GNU General Public License in
    25  * all respects for all other code used.  Additionally, AlliedModders LLC grants
    26  * this exception to all derivative works.  AlliedModders LLC defines further
    27  * exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007),
    28  * or <http://www.sourcemod.net/license.php>.
    29  *
    30  * Version: $Id$
    31  */
    32 
    33 #if defined _structs_included
    34  #endinput
    35 #endif
    36 #define _structs_included
    37 
    38 /**
    39  * Struct Gamedata Notes:
    40  *
    41  * 	Types:					Sizes:
    42  *		int/int*				1/2/4
    43  *		float/float*			Not required
    44  *		char/char*				Length of char array
    45  *		Vector/Vector*			Not required
    46  *		ent/ent*				Not required
    47  */
    48  
    49 /**
    50  * Retrieves an integer value from a struct.
    51  *
    52  * @param strct		Struct Handle.
    53  * @param member	Member name to retrieve.
    54  * @return			Integer value.
    55  * @error			Undefined member, or member type mismatch.
    56  */
    57 native GetStructInt(Handle:strct, const String:member[]);
    58 
    59 /**
    60  * Sets an integer value in a struct.
    61  *
    62  * @param strct		Struct Handle.
    63  * @param member	Member name to set.
    64  * @param value		Value to set.
    65  * @noreturn
    66  * @error			Undefined member, or member type mismatch.
    67  */
    68 native SetStructInt(Handle:strct, const String:member[], value);
    69 
    70 /**
    71  * Retrieves a float value from a struct.
    72  *
    73  * @param strct		Struct Handle.
    74  * @param member	Member name to retrieve.
    75  * @return			Float value.
    76  * @error			Undefined member, or member type mismatch.
    77  */
    78 native Float:GetStructFloat(Handle:strct, const String:member[]);
    79 
    80 /**
    81  * Sets a float value in a struct.
    82  *
    83  * @param strct		Struct Handle.
    84  * @param member	Member name to set.
    85  * @param value		Value to set.
    86  * @noreturn
    87  * @error			Undefined member, or member type mismatch.
    88  */
    89 native SetStructFloat(Handle:strct, const String:member[], Float:value);
    90 
    91 /**
    92  * Retrieves an integer value from a struct.
    93  *
    94  * @param strct		Struct Handle.
    95  * @param member	Member name to retrieve.
    96  * @param vec		Buffer for the retrieved vector.
    97  * @noreturn		
    98  * @error			Undefined member, or member type mismatch.
    99  */
   100 native GetStructVector(Handle:strct, const String:member[], Float:vec[3]);
   101 
   102 /**
   103  * Sets a Vector value in a struct.
   104  *
   105  * @param strct		Struct Handle.
   106  * @param member	Member name to set.
   107  * @param vec		Value to set.
   108  * @noreturn
   109  * @error			Undefined member, or member type mismatch.
   110  */
   111 native SetStructVector(Handle:strct, const String:member[], Float:vec[3]);
   112 
   113 /**
   114  * Retrieves a string from a struct.
   115  *
   116  * @param strct		Struct Handle.
   117  * @param member	Member name to retrieve.
   118  * @param value		Buffer for the retrieved string.
   119  * @param maxlen	Max length of the buffer
   120  * @noreturn		
   121  * @error			Undefined member, or member type mismatch.
   122  */
   123 native GetStructString(Handle:strct, const String:member[], const String:value[], maxlen);
   124 
   125 /**
   126  * Sets a string value in a struct.
   127  *
   128  * @param strct		Struct Handle.
   129  * @param member	Member name to set.
   130  * @param value		Value to set.
   131  * @noreturn
   132  * @error			Undefined member, or member type mismatch.
   133  */
   134 native SetStructString(Handle:strct, const String:member[], String:value[]);
   135 
   136 /**
   137  * Retrieves an entity handle from a struct.
   138  *
   139  * @param strct		Struct Handle.
   140  * @param member	Member name to retrieve.
   141  * @return			Entity index.
   142  * @error			Undefined member, or member type mismatch.
   143  */
   144 native GetStructEnt(Handle:strct, const String:member[]);
   145 
   146 /**
   147  * Sets an entity handle value in a struct.
   148  *
   149  * @param strct		Struct Handle.
   150  * @param member	Member name to set.
   151  * @param entity	Entity index to set.
   152  * @noreturn
   153  * @error			Undefined member, or member type mismatch.
   154  */
   155 native SetStructEnt(Handle:strct, const String:member[], entity);
   156 
   157 /**
   158  * Retrieves a struct handle to a FileWeaponInfo_t for the given weapon name.
   159  * This handle needs to be closed when you have finished using it.
   160  *
   161  * @param weapon	Weapon name to retrieve.
   162  * @return			Struct handle or INVALID_HANDLE on failure.
   163  */
   164 native Handle:GetWeaponStruct(const String:weapon[]);
   165 
   166 /**
   167  * Do not edit below this line!
   168  */
   169 public Extension:__ext_struct = 
   170 {
   171 	name = "Struct Abstraction Extension",
   172 	file = "structs.ext",
   173 	autoload = 1,
   174 #if defined REQUIRE_EXTENSIONS
   175 	required = 1,
   176 #else
   177 	required = 0,
   178 #endif
   179 };