pred@2077: /**
pred@2077: * vim: set ts=4 :
pred@2077: * =============================================================================
pred@2077: * SourceMod (C)2004-2008 AlliedModders LLC. All rights reserved.
pred@2077: * =============================================================================
pred@2077: *
pred@2077: * This file is part of the SourceMod/SourcePawn SDK.
pred@2077: *
pred@2077: * This program is free software; you can redistribute it and/or modify it under
pred@2077: * the terms of the GNU General Public License, version 3.0, as published by the
pred@2077: * Free Software Foundation.
pred@2077: *
pred@2077: * This program is distributed in the hope that it will be useful, but WITHOUT
pred@2077: * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
pred@2077: * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
pred@2077: * details.
pred@2077: *
pred@2077: * You should have received a copy of the GNU General Public License along with
pred@2077: * this program. If not, see .
pred@2077: *
pred@2077: * As a special exception, AlliedModders LLC gives you permission to link the
pred@2077: * code of this program (as well as its derivative works) to "Half-Life 2," the
pred@2077: * "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software
pred@2077: * by the Valve Corporation. You must obey the GNU General Public License in
pred@2077: * all respects for all other code used. Additionally, AlliedModders LLC grants
pred@2077: * this exception to all derivative works. AlliedModders LLC defines further
pred@2077: * exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007),
pred@2077: * or .
pred@2077: *
pred@2077: * Version: $Id$
pred@2077: */
pred@2077:
pred@2077: #if defined _nextmap_included_
pred@2077: #endinput
pred@2077: #endif
pred@2077: #define _nextmap_included_
pred@2077:
pred@2077: /**
pred@2077: * Sets SourceMod's internal nextmap.
pred@2077: * Equivalent to changing sm_nextmap but with an added validity check.
pred@2077: *
pred@2077: * @param map Next map to set.
pred@2077: * @return True if the nextmap was set, false if map was invalid.
pred@2077: */
pred@2077: native bool:SetNextMap(const String:map[]);
pred@2077:
pred@2077: /**
pred@2077: * Returns SourceMod's internal nextmap.
pred@2077: *
pred@2077: * @param map Buffer to store the nextmap name.
pred@2077: * @param maxlen Maximum length of the map buffer.
pred@2077: * @return True if a Map was found and copied, false if no nextmap is set (map will be unchanged).
pred@2077: */
pred@2203: native bool:GetNextMap(String:map[], maxlen);
pred@2203:
pred@2203: /**
pred@2203: * Changes the current map and records the reason for the change with maphistory
pred@2203: *
pred@2203: * @param map Map to change to.
pred@2203: * @param reason Reason for change.
pred@2203: * @noreturn
pred@2203: */
pred@2203: native ForceChangeLevel(const String:map[], const String:reason[]);
pred@2203:
pred@2203: /**
pred@2203: * Gets the current number of maps in the map history
pred@2203: *
pred@2203: * @return Number of maps.
pred@2203: */
pred@2203: native GetMapHistorySize();
pred@2203:
pred@2203: /**
pred@2203: * Retrieves a map from the map history list.
pred@2203: *
pred@2203: * @param item Item number. Must be 0 or greater and less than GetMapHistorySize().
pred@2203: * @param map Buffer to store the map name.
pred@2203: * @param mapLen Length of map buffer.
pred@2203: * @param reason Buffer to store the change reason.
pred@2203: * @param reasonLen Length of the reason buffer.
pred@2203: * @param startTime Time the map started.
pred@2203: * @noreturn
pred@2203: * @error Invalid item number.
pred@2203: */
pred@2203: native GetMapHistory(item, String:map[], mapLen, String:reason[], reasonLen, &startTime);