Crossfire Server, Branches 1.12  R18729
cfpython_map.c File Reference
#include <cfpython.h>
#include <cfpython_map_private.h>
#include <hashtable.h>
+ Include dependency graph for cfpython_map.c:

Go to the source code of this file.

Functions

static void add_map_assoc (mapstruct *key, Crossfire_Map *value)
 
static void Crossfire_Map_dealloc (PyObject *obj)
 
static PyObject * Crossfire_Map_Int (PyObject *obj)
 
static PyObject * Crossfire_Map_Long (PyObject *obj)
 
static PyObject * Crossfire_Map_new (PyTypeObject *type, PyObject *args, PyObject *kwds)
 
PyObject * Crossfire_Map_wrap (mapstruct *what)
 
static PyObject * find_assoc_pymap (mapstruct *key)
 
static void free_map_assoc (mapstruct *key)
 
void Handle_Map_Unload_Hook (Crossfire_Map *map)
 
void init_map_assoc_table (void)
 
static PyObject * Map_ChangeLight (Crossfire_Map *map, PyObject *args)
 
static PyObject * Map_Check (Crossfire_Map *map, PyObject *args)
 
static PyObject * Map_CreateObject (Crossfire_Map *map, PyObject *args)
 
static PyObject * Map_GetDarkness (Crossfire_Map *whoptr, void *closure)
 
static PyObject * Map_GetDifficulty (Crossfire_Map *whoptr, void *closure)
 
static PyObject * Map_GetEnterX (Crossfire_Map *whoptr, void *closure)
 
static PyObject * Map_GetEnterY (Crossfire_Map *whoptr, void *closure)
 
static PyObject * Map_GetFirstObjectAt (Crossfire_Map *map, PyObject *args)
 
static PyObject * Map_GetHeight (Crossfire_Map *whoptr, void *closure)
 
static PyObject * Map_GetMessage (Crossfire_Map *whoptr, void *closure)
 
static PyObject * Map_GetName (Crossfire_Map *whoptr, void *closure)
 
static PyObject * Map_GetPath (Crossfire_Map *whoptr, void *closure)
 
static PyObject * Map_GetPlayers (Crossfire_Map *whoptr, void *closure)
 
static PyObject * Map_GetRegion (Crossfire_Map *whoptr, void *closure)
 
static PyObject * Map_GetResetTime (Crossfire_Map *whoptr, void *closure)
 
static PyObject * Map_GetResetTimeout (Crossfire_Map *whoptr, void *closure)
 
static PyObject * Map_GetTempName (Crossfire_Map *whoptr, void *closure)
 
static PyObject * Map_GetUnique (Crossfire_Map *whoptr, void *closure)
 
static PyObject * Map_GetWidth (Crossfire_Map *whoptr, void *closure)
 
static PyObject * Map_Insert (Crossfire_Map *map, PyObject *args)
 
static int Map_InternalCompare (Crossfire_Map *left, Crossfire_Map *right)
 
static PyObject * Map_Message (Crossfire_Map *map, PyObject *args)
 
static PyObject * Map_Next (Crossfire_Map *map, PyObject *args)
 
static int Map_SetPath (Crossfire_Map *whoptr, PyObject *value, void *closure)
 
static PyObject * Map_TriggerConnected (Crossfire_Map *map, PyObject *args)
 

Variables

static ptr_assoc_table map_assoc_table
 

Function Documentation

static void add_map_assoc ( mapstruct key,
Crossfire_Map value 
)
static

Definition at line 42 of file cfpython_map.c.

References add_ptr_assoc(), and map_assoc_table.

Referenced by Crossfire_Map_wrap().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void Crossfire_Map_dealloc ( PyObject *  obj)
static

Definition at line 319 of file cfpython_map.c.

References free_map_assoc(), and Py_TYPE.

+ Here is the call graph for this function:

static PyObject* Crossfire_Map_Int ( PyObject *  obj)
static

Definition at line 300 of file cfpython_map.c.

References MAPEXISTCHECK.

static PyObject* Crossfire_Map_Long ( PyObject *  obj)
static

Definition at line 294 of file cfpython_map.c.

References MAPEXISTCHECK.

static PyObject* Crossfire_Map_new ( PyTypeObject *  type,
PyObject *  args,
PyObject *  kwds 
)
static

Python initialized.

Definition at line 309 of file cfpython_map.c.

References Crossfire_Map::map.

PyObject* Crossfire_Map_wrap ( mapstruct what)

Definition at line 336 of file cfpython_map.c.

References add_map_assoc(), Crossfire_MapType, find_assoc_pymap(), Crossfire_Map::map, and Crossfire_Map::valid.

Referenced by cfpython_globalEventListener(), createMap(), getMapHasBeenLoaded(), getMaps(), Map_Next(), Object_GetMap(), and readyMap().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static PyObject* find_assoc_pymap ( mapstruct key)
static

Definition at line 46 of file cfpython_map.c.

References find_assoc_value(), and map_assoc_table.

Referenced by Crossfire_Map_wrap().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void free_map_assoc ( mapstruct key)
static

Definition at line 50 of file cfpython_map.c.

References free_ptr_assoc(), and map_assoc_table.

Referenced by Crossfire_Map_dealloc(), and Handle_Map_Unload_Hook().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Handle_Map_Unload_Hook ( Crossfire_Map map)

Definition at line 331 of file cfpython_map.c.

References free_map_assoc(), Crossfire_Map::map, and Crossfire_Map::valid.

Referenced by cfpython_globalEventListener().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void init_map_assoc_table ( void  )

Definition at line 38 of file cfpython_map.c.

References init_ptr_assoc_table(), and map_assoc_table.

Referenced by initPlugin().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static PyObject* Map_ChangeLight ( Crossfire_Map map,
PyObject *  args 
)
static

Definition at line 229 of file cfpython_map.c.

References cf_map_change_light(), Crossfire_Map::map, and MAPEXISTCHECK.

+ Here is the call graph for this function:

static PyObject* Map_Check ( Crossfire_Map map,
PyObject *  args 
)
static
static PyObject* Map_CreateObject ( Crossfire_Map map,
PyObject *  args 
)
static

Definition at line 169 of file cfpython_map.c.

References cf_create_object_by_name(), cf_map_insert_object(), Crossfire_Object_wrap(), Crossfire_Map::map, and MAPEXISTCHECK.

+ Here is the call graph for this function:

static PyObject* Map_GetDarkness ( Crossfire_Map whoptr,
void *  closure 
)
static

Definition at line 89 of file cfpython_map.c.

References cf_map_get_darkness(), Crossfire_Map::map, and MAPEXISTCHECK.

+ Here is the call graph for this function:

static PyObject* Map_GetDifficulty ( Crossfire_Map whoptr,
void *  closure 
)
static

Definition at line 54 of file cfpython_map.c.

References cf_map_get_difficulty(), Crossfire_Map::map, and MAPEXISTCHECK.

+ Here is the call graph for this function:

static PyObject* Map_GetEnterX ( Crossfire_Map whoptr,
void *  closure 
)
static

Definition at line 104 of file cfpython_map.c.

References cf_map_get_int_property(), CFAPI_MAP_PROP_ENTER_X, Crossfire_Map::map, and MAPEXISTCHECK.

+ Here is the call graph for this function:

static PyObject* Map_GetEnterY ( Crossfire_Map whoptr,
void *  closure 
)
static

Definition at line 109 of file cfpython_map.c.

References cf_map_get_enter_x(), Crossfire_Map::map, and MAPEXISTCHECK.

+ Here is the call graph for this function:

static PyObject* Map_GetFirstObjectAt ( Crossfire_Map map,
PyObject *  args 
)
static

Definition at line 156 of file cfpython_map.c.

References cf_map_get_object_at(), Crossfire_Object_wrap(), Crossfire_Map::map, and MAPEXISTCHECK.

+ Here is the call graph for this function:

static PyObject* Map_GetHeight ( Crossfire_Map whoptr,
void *  closure 
)
static

Definition at line 99 of file cfpython_map.c.

References cf_map_get_height(), Crossfire_Map::map, and MAPEXISTCHECK.

+ Here is the call graph for this function:

static PyObject* Map_GetMessage ( Crossfire_Map whoptr,
void *  closure 
)
static

Definition at line 114 of file cfpython_map.c.

References cf_map_get_sstring_property(), CFAPI_MAP_PROP_MESSAGE, Crossfire_Map::map, and MAPEXISTCHECK.

+ Here is the call graph for this function:

static PyObject* Map_GetName ( Crossfire_Map whoptr,
void *  closure 
)
static

Definition at line 69 of file cfpython_map.c.

References cf_map_get_sstring_property(), CFAPI_MAP_PROP_NAME, Crossfire_Map::map, and MAPEXISTCHECK.

+ Here is the call graph for this function:

static PyObject* Map_GetPath ( Crossfire_Map whoptr,
void *  closure 
)
static

Definition at line 59 of file cfpython_map.c.

References cf_map_get_sstring_property(), CFAPI_MAP_PROP_PATH, Crossfire_Map::map, and MAPEXISTCHECK.

+ Here is the call graph for this function:

static PyObject* Map_GetPlayers ( Crossfire_Map whoptr,
void *  closure 
)
static

Definition at line 84 of file cfpython_map.c.

References cf_map_get_players(), Crossfire_Map::map, and MAPEXISTCHECK.

+ Here is the call graph for this function:

static PyObject* Map_GetRegion ( Crossfire_Map whoptr,
void *  closure 
)
static

Definition at line 119 of file cfpython_map.c.

References cf_map_get_region_property(), CFAPI_MAP_PROP_REGION, Crossfire_Region_wrap(), Crossfire_Map::map, and MAPEXISTCHECK.

+ Here is the call graph for this function:

static PyObject* Map_GetResetTime ( Crossfire_Map whoptr,
void *  closure 
)
static

Definition at line 74 of file cfpython_map.c.

References cf_map_get_reset_time(), Crossfire_Map::map, and MAPEXISTCHECK.

+ Here is the call graph for this function:

static PyObject* Map_GetResetTimeout ( Crossfire_Map whoptr,
void *  closure 
)
static

Definition at line 79 of file cfpython_map.c.

References cf_map_get_reset_timeout(), Crossfire_Map::map, and MAPEXISTCHECK.

+ Here is the call graph for this function:

static PyObject* Map_GetTempName ( Crossfire_Map whoptr,
void *  closure 
)
static

Definition at line 64 of file cfpython_map.c.

References cf_map_get_sstring_property(), CFAPI_MAP_PROP_TMPNAME, Crossfire_Map::map, and MAPEXISTCHECK.

+ Here is the call graph for this function:

static PyObject* Map_GetUnique ( Crossfire_Map whoptr,
void *  closure 
)
static

Definition at line 136 of file cfpython_map.c.

References cf_map_get_int_property(), CFAPI_MAP_PROP_UNIQUE, Crossfire_Map::map, and MAPEXISTCHECK.

+ Here is the call graph for this function:

static PyObject* Map_GetWidth ( Crossfire_Map whoptr,
void *  closure 
)
static

Definition at line 94 of file cfpython_map.c.

References cf_map_get_width(), Crossfire_Map::map, and MAPEXISTCHECK.

+ Here is the call graph for this function:

static PyObject* Map_Insert ( Crossfire_Map map,
PyObject *  args 
)
static

Definition at line 217 of file cfpython_map.c.

References cf_map_insert_object(), Crossfire_Object_wrap(), Crossfire_ObjectType, Crossfire_Map::map, MAPEXISTCHECK, and Crossfire_Object::obj.

+ Here is the call graph for this function:

static int Map_InternalCompare ( Crossfire_Map left,
Crossfire_Map right 
)
static

Definition at line 287 of file cfpython_map.c.

References Crossfire_Map::map, and MAPEXISTCHECK_INT.

static PyObject* Map_Message ( Crossfire_Map map,
PyObject *  args 
)
static

Definition at line 141 of file cfpython_map.c.

References cf_map_message(), Crossfire_Map::map, MAPEXISTCHECK, NDI_BLUE, and NDI_UNIQUE.

+ Here is the call graph for this function:

static PyObject* Map_Next ( Crossfire_Map map,
PyObject *  args 
)
static

Definition at line 212 of file cfpython_map.c.

References cf_map_get_map_property(), CFAPI_MAP_PROP_NEXT, Crossfire_Map_wrap(), Crossfire_Map::map, and MAPEXISTCHECK.

+ Here is the call graph for this function:

static int Map_SetPath ( Crossfire_Map whoptr,
PyObject *  value,
void *  closure 
)
static

Definition at line 124 of file cfpython_map.c.

References cf_map_set_string_property(), CFAPI_MAP_PROP_PATH, Crossfire_Map::map, and MAPEXISTCHECK_INT.

+ Here is the call graph for this function:

static PyObject* Map_TriggerConnected ( Crossfire_Map map,
PyObject *  args 
)
static

Python backend method for Map.TriggerConnected(int connected, CfObject cause, int state)

Expected arguments:

  • connected will be used to locate Objectlink with given id on map
  • state: 0=trigger the "release", other is trigger the "push", default is push
  • cause, eventual CfObject causing this trigger
Parameters
mapmap we're on.
argsarguments as explained above.
Returns
NULL if error, Py_None else.

Definition at line 254 of file cfpython_map.c.

References mapdef::buttons, cf_log(), cf_map_get_sstring_property(), cf_map_trigger_connected(), CFAPI_MAP_PROP_PATH, Crossfire_ObjectType, oblinkpt::link, llevError, llevInfo, Crossfire_Map::map, MAPEXISTCHECK, oblinkpt::next, Crossfire_Object::obj, and oblinkpt::value.

+ Here is the call graph for this function:

Variable Documentation

ptr_assoc_table map_assoc_table
static