|
Crossfire Server, Branches 1.12
R18729
|
#include <global.h>#include <ob_methods.h>#include <ob_types.h>#include <sounds.h>#include <sproto.h>
Include dependency graph for shop_inventory.c:Go to the source code of this file.
Data Structures | |
| struct | shopinv |
Typedefs | |
| typedef struct shopinv | shopinv |
Functions | |
| static void | add_shop_item (object *tmp, shopinv *items, size_t *numitems) |
| void | init_type_shop_inventory (void) |
| static method_ret | shop_inventory_type_apply (ob_methods *context, object *lighter, object *applier, int aflags) |
| static int | shop_sort (const void *a1, const void *a2) |
Implementation of the shop inventory class of objects.
Definition in file shop_inventory.c.
Insert the item in the list.
| tmp | object to insert. Must have FLAG_UNPAID set. |
| items | array of items, should have (*numitems)+1 items allocated. |
| numitems | how many items items contains. |
Definition at line 87 of file shop_inventory.c.
References CLEAR_FLAG, FLAG_UNPAID, shopinv::item_real, shopinv::item_sort, MAX_BUF, shopinv::nrof, obj::nrof, query_base_name(), SET_FLAG, strdup_local(), shopinv::type, and obj::type.
Referenced by shop_inventory_type_apply().
Here is the call graph for this function:
Here is the caller graph for this function:| void init_type_shop_inventory | ( | void | ) |
Initializer for the SHOP_INVENTORY object type.
Definition at line 38 of file shop_inventory.c.
References register_apply(), SHOP_INVENTORY, and shop_inventory_type_apply().
Referenced by register_all_ob_types().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Apply a shop inventory.
| context | method context. |
| lighter | applied object to apply. |
| applier | object attempting to apply the inventory. Should be a player. |
| aflags | special flags (always apply/unapply). |
Definition at line 125 of file shop_inventory.c.
References obj::above, add_shop_item(), draw_ext_info(), draw_ext_info_format(), FLAG_UNPAID, GET_MAP_OB, obj::map, MAP_HEIGHT, MAP_WIDTH, METHOD_OK, METHOD_UNHANDLED, MSG_TYPE_SHOP, MSG_TYPE_SHOP_LISTING, NDI_UNIQUE, shopinv::nrof, PLAYER, QUERY_FLAG, shop_sort(), and obj::type.
Referenced by init_type_shop_inventory().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Sort routine for shopinv. There are a lot of extra casts in here just to suppress warnings - it makes it look uglier than it really it. The format of the strings we get is type:name. So we first want to sort by type (numerical) - if the same type, then sort by name.
| a1 | |
| a2 | items to compare. |
Definition at line 65 of file shop_inventory.c.
References shopinv::item_sort, strcasecmp(), and shopinv::type.
Referenced by shop_inventory_type_apply().
Here is the call graph for this function:
Here is the caller graph for this function: