plugins/include/nextmap.inc
author Nicholas Hastings <skamonkey@gmail.com>
Wed Jan 23 18:28:06 2013 -0500 (2013-01-23)
changeset 3756 114d52909940
parent 2203 159ab9bad58c
permissions -rw-r--r--
Marked some missed Pb natives as optional (bug 5579).
     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 _nextmap_included_
    34   #endinput
    35 #endif
    36 #define _nextmap_included_
    37 
    38 /**
    39  * Sets SourceMod's internal nextmap. 
    40  * Equivalent to changing sm_nextmap but with an added validity check.
    41  *
    42  * @param map		Next map to set.
    43  * @return			True if the nextmap was set, false if map was invalid.
    44  */
    45 native bool:SetNextMap(const String:map[]);
    46 
    47 /**
    48  * Returns SourceMod's internal nextmap.
    49  *
    50  * @param map		Buffer to store the nextmap name.
    51  * @param maxlen	Maximum length of the map buffer.
    52  * @return			True if a Map was found and copied, false if no nextmap is set (map will be unchanged).
    53  */
    54 native bool:GetNextMap(String:map[], maxlen);
    55 
    56 /**
    57  * Changes the current map and records the reason for the change with maphistory
    58  *
    59  * @param map		Map to change to.
    60  * @param reason	Reason for change.
    61  * @noreturn
    62  */
    63 native ForceChangeLevel(const String:map[], const String:reason[]);
    64 
    65 /**
    66  * Gets the current number of maps in the map history
    67  *
    68  * @return			Number of maps.
    69  */
    70 native GetMapHistorySize();
    71 
    72 /**
    73  * Retrieves a map from the map history list.
    74  * 
    75  * @param item			Item number. Must be 0 or greater and less than GetMapHistorySize().
    76  * @param map			Buffer to store the map name.
    77  * @param mapLen		Length of map buffer.
    78  * @param reason		Buffer to store the change reason.
    79  * @param reasonLen		Length of the reason buffer.
    80  * @param startTime		Time the map started.
    81  * @noreturn
    82  * @error				Invalid item number.	
    83  */
    84 native GetMapHistory(item, String:map[], mapLen, String:reason[], reasonLen, &startTime);