Okay, I finally got the time for re-writing the inventory system
it's not done & uploaded yet though.
The function names are the same, and their functionality is still the same - I just either rewrote the functions or simply just changed them to support the structs.
The item-files (ILF) can still be used, and the items in this file, can be used as a "item template" for creating new items using this new function:
RPGItem* RPGItem_Create(var _number)
{
RPGItem* _item = malloc(sizeof(RPGItem));
memset(_item,0,sizeof(_item));
if(_number >= 0 && _number < NHAC_max_items && CITEM_handlesInit_n == true)
{
_item.name = ptr_for_handle(NHAC_CITEM_NAME[_number]);
_item.bmap = ptr_for_handle(NHAC_CITEM_BMAP[_number]);
_item.model = ptr_for_handle(NHAC_CITEM_MODEL[_number]);
_item.skin = NHAC_CITEM_SKIN[_number];
_item.type = NHAC_CITEM_TYPE[_number];
_item.damage = NHAC_CITEM_DAMAGE[_number];
_item.defense = NHAC_CITEM_DEFENSE[_number];
_item.addhealth = NHAC_CITEM_ADDHEALTH[_number];
_item.addmana = NHAC_CITEM_ADDMANA[_number];
_item.addspeed = NHAC_CITEM_ADDSPEED[_number];
_item.reqlevel = NHAC_CITEM_REQLEVEL[_number];
_item.value = NHAC_CITEM_VALUE[_number];
}
return _item;
}
And there's a function for removing items as well:
void RPGItem_Delete(RPGItem* _item)
{
free(_item);
}
There are no syntax errors, but I'm getting some crashes, however I'll get some sleep before figuring that out
P.s. The item struct looks like this:
typedef struct RPGItem
{
BMAP* bmap;
STRING* name;
STRING* model;
var skin;
var type;
var damage;
var defense;
var addhealth;
var addmana;
var addspeed;
var reqlevel;
var value;
} RPGItem;