core/smn_lang.cpp
author Borja Ferrer <faluco@alliedmods.net>
Thu Jul 05 14:47:36 2007 +0000 (2007-07-05)
changeset 1041 f7b2073013df
parent 1034 5ac2c40f13de
child 1105 ce907ba50921
permissions -rw-r--r--
added a time stamp argument to FormatTime
faluco@389
     1
/**
ds@653
     2
 * vim: set ts=4 :
faluco@389
     3
 * ===============================================================
faluco@389
     4
 * SourceMod (C)2004-2007 AlliedModders LLC.  All rights reserved.
faluco@389
     5
 * ===============================================================
faluco@389
     6
 *
faluco@389
     7
 * This file is not open source and may not be copied without explicit
faluco@389
     8
 * written permission of AlliedModders LLC.  This file may not be redistributed 
faluco@389
     9
 * in whole or significant part.
faluco@389
    10
 * For information, see LICENSE.txt or http://www.sourcemod.net/license.php
faluco@389
    11
 *
faluco@389
    12
 * Version: $Id$
faluco@389
    13
 */
faluco@389
    14
faluco@389
    15
#include "PluginSys.h"
dvander@591
    16
#include "Translator.h"
dvander@1014
    17
#include "LibrarySys.h"
dvander@1014
    18
#include "sm_stringutil.h"
faluco@389
    19
faluco@389
    20
static cell_t sm_LoadTranslations(IPluginContext *pCtx, const cell_t *params)
faluco@389
    21
{
faluco@389
    22
	char *filename;
faluco@389
    23
	unsigned int index;
faluco@389
    24
	CPlugin *pl = (CPlugin *)g_PluginSys.FindPluginByContext(pCtx->GetContext());
faluco@389
    25
faluco@389
    26
	pCtx->LocalToString(params[1], &filename);
faluco@389
    27
dvander@1014
    28
	/* Check if there is no extension */
dvander@1014
    29
	const char *ext = g_LibSys.GetFileExtension(filename);
dvander@1014
    30
	if (!ext || (strcmp(ext, "cfg") && strcmp(ext, "txt")))
dvander@1014
    31
	{
dvander@1014
    32
		/* Append one */
dvander@1014
    33
		static char new_file[PLATFORM_MAX_PATH];
dvander@1014
    34
		UTIL_Format(new_file, sizeof(new_file), "%s.txt", filename);
dvander@1014
    35
		filename = new_file;
dvander@1014
    36
	}
dvander@1014
    37
faluco@389
    38
	index = g_Translator.FindOrAddPhraseFile(filename);
faluco@389
    39
	pl->AddLangFile(index);
faluco@389
    40
faluco@389
    41
	return 1;
faluco@389
    42
}
dvander@396
    43
dvander@1034
    44
static cell_t sm_SetGlobalTransTarget(IPluginContext *pContext, const cell_t *params)
dvander@1034
    45
{
dvander@1034
    46
	g_SourceMod.SetGlobalTarget(params[1]);
dvander@1034
    47
dvander@1034
    48
	return 1;
dvander@1034
    49
}
dvander@1034
    50
dvander@396
    51
REGISTER_NATIVES(langNativeS)
dvander@396
    52
{
dvander@396
    53
	{"LoadTranslations",			sm_LoadTranslations},
dvander@1034
    54
	{"SetGlobalTransTarget",		sm_SetGlobalTransTarget},
dvander@396
    55
	{NULL,							NULL},
dvander@396
    56
};