|
dvander@560
|
1 |
/** |
|
dvander@560
|
2 |
* =============================================================== |
|
dvander@560
|
3 |
* SourceMod (C)2004-2007 AlliedModders LLC. All rights reserved. |
|
dvander@560
|
4 |
* =============================================================== |
|
dvander@560
|
5 |
* |
|
dvander@560
|
6 |
* This file is not open source and may not be copied without explicit |
|
dvander@560
|
7 |
* written permission of AlliedModders LLC. This file may not be redistributed |
|
dvander@560
|
8 |
* in whole or significant part. |
|
dvander@560
|
9 |
* For information, see LICENSE.txt or http://www.sourcemod.net/license.php |
|
dvander@560
|
10 |
* |
|
dvander@560
|
11 |
* Version: $Id$ |
|
dvander@560
|
12 |
*/ |
|
dvander@560
|
13 |
|
|
dvander@595
|
14 |
#include <time.h> |
|
dvander@560
|
15 |
#include "sm_globals.h" |
|
dvander@560
|
16 |
#include "sourcemod.h" |
|
dvander@560
|
17 |
|
|
dvander@560
|
18 |
static cell_t ThrowError(IPluginContext *pContext, const cell_t *params) |
|
dvander@560
|
19 |
{ |
|
dvander@560
|
20 |
char buffer[512]; |
|
dvander@560
|
21 |
|
|
dvander@560
|
22 |
g_SourceMod.FormatString(buffer, sizeof(buffer), pContext, params, 1); |
|
dvander@560
|
23 |
|
|
dvander@560
|
24 |
if (pContext->GetContext()->n_err == SP_ERROR_NONE) |
|
dvander@560
|
25 |
{ |
|
dvander@560
|
26 |
pContext->ThrowNativeErrorEx(SP_ERROR_ABORTED, "%s", buffer); |
|
dvander@560
|
27 |
} |
|
dvander@560
|
28 |
|
|
dvander@560
|
29 |
return 0; |
|
dvander@560
|
30 |
} |
|
dvander@560
|
31 |
|
|
dvander@595
|
32 |
static cell_t GetTime(IPluginContext *pContext, const cell_t *params) |
|
dvander@595
|
33 |
{ |
|
dvander@595
|
34 |
time_t t = time(NULL); |
|
dvander@595
|
35 |
cell_t *addr; |
|
dvander@595
|
36 |
pContext->LocalToPhysAddr(params[1], &addr); |
|
dvander@595
|
37 |
|
|
dvander@595
|
38 |
*(time_t *)addr = t; |
|
dvander@595
|
39 |
|
|
dvander@595
|
40 |
return static_cast<cell_t>(t); |
|
dvander@595
|
41 |
} |
|
dvander@595
|
42 |
|
|
dvander@560
|
43 |
REGISTER_NATIVES(coreNatives) |
|
dvander@560
|
44 |
{ |
|
dvander@595
|
45 |
{"GetTime", GetTime}, |
|
dvander@560
|
46 |
{"ThrowError", ThrowError}, |
|
dvander@560
|
47 |
{NULL, NULL}, |
|
dvander@560
|
48 |
}; |