diff options
-rw-r--r-- | src/gui/inventory.cpp | 78 | ||||
-rw-r--r-- | src/gui/inventory.h | 70 |
2 files changed, 88 insertions, 60 deletions
diff --git a/src/gui/inventory.cpp b/src/gui/inventory.cpp index 1626a86c..23e74f02 100644 --- a/src/gui/inventory.cpp +++ b/src/gui/inventory.cpp @@ -17,8 +17,6 @@ * You should have received a copy of the GNU General Public License * along with The Mana World; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * By SimEdw */ #include "inventory.h" @@ -40,7 +38,6 @@ TmwInventory::~TmwInventory() { } -/** Initialize inventory */ void TmwInventory::create(int tempxpos, int tempypos) { itemset = load_datafile("./data/graphic/items.dat"); @@ -55,7 +52,6 @@ void TmwInventory::create(int tempxpos, int tempypos) { show_inventory = false; } -/** Draw inventory window */ void TmwInventory::draw(BITMAP *buffer) { if (!show_inventory) return; @@ -63,8 +59,12 @@ void TmwInventory::draw(BITMAP *buffer) { update_dialog(inventory_player); for (int i = 0; i < INVENTORY_SIZE; i++) { if (items[i].quantity > 0) { - if (items[i].id >= 501 && items[i].id <= 511) - draw_rle_sprite(gui_bitmap, (RLE_SPRITE *)itemset[items[i].id-501].dat, inventory_dialog[0].x+24*i, inventory_dialog[0].y+26); + if (items[i].id >= 501 && items[i].id <= 511) { + draw_rle_sprite(gui_bitmap, + (RLE_SPRITE *)itemset[items[i].id - 501].dat, + inventory_dialog[0].x + 24 * i, + inventory_dialog[0].y + 26); + } //else //masked_blit((BITMAP *)itemset[0].dat, gui_bitmap, 0, 0, inventory_dialog[0].x+24*i, inventory_dialog[0].y+26, 22, 22); @@ -124,56 +124,56 @@ void TmwInventory::draw(BITMAP *buffer) { } -/** Set if inventory is visible */ -void TmwInventory::show(bool val) { - show_inventory = val; +void TmwInventory::setVisible(bool visible) { + show_inventory = visible; +} + +bool TmwInventory::isVisible() { + return show_inventory; } -/** Add an item the inventory */ int TmwInventory::add_item(int index, int id, int quantity) { - items[index].id = id; - items[index].quantity += quantity; - return 0; + items[index].id = id; + items[index].quantity += quantity; + return 0; } -/** Remove a item from the inventory */ int TmwInventory::remove_item(int id) { - for(int i=0;i<INVENTORY_SIZE;i++) - if(items[i].id==id) { - items[i].id = -1; - items[i].quantity = 0; - } - return 0; + for (int i = 0; i < INVENTORY_SIZE; i++) { + if (items[i].id == id) { + items[i].id = -1; + items[i].quantity = 0; + } + } + return 0; } -/** Change quantity of an item */ int TmwInventory::change_quantity(int index, int quantity) { - items[index].quantity = quantity; - return 0; + items[index].quantity = quantity; + return 0; } -/** Increase quantity of an item */ int TmwInventory::increase_quantity(int index, int quantity) { - items[index].quantity += quantity; - return 0; + items[index].quantity += quantity; + return 0; } int TmwInventory::use_item(int index, int id) { - WFIFOW(0) = net_w_value(0x00a7); - WFIFOW(2) = net_w_value(index); - WFIFOL(4) = net_l_value(id); - // Note: id is dest of item, usually player_node->account_ID - WFIFOSET(8); - while((out_size>0))flush(); - return 0; + WFIFOW(0) = net_w_value(0x00a7); + WFIFOW(2) = net_w_value(index); + WFIFOL(4) = net_l_value(id); + // Note: id is dest of item, usually player_node->account_ID + WFIFOSET(8); + while ((out_size > 0)) flush(); + return 0; } int TmwInventory::drop_item(int index, int amunt) { - WFIFOW(0) = net_w_value(0x00a7); - WFIFOW(2) = net_w_value(index); - WFIFOL(4) = net_l_value(amunt); - WFIFOSET(8); - while((out_size>0))flush(); - return 0; + WFIFOW(0) = net_w_value(0x00a7); + WFIFOW(2) = net_w_value(index); + WFIFOL(4) = net_l_value(amunt); + WFIFOSET(8); + while ((out_size > 0)) flush(); + return 0; } diff --git a/src/gui/inventory.h b/src/gui/inventory.h index 19b183d2..29c61c72 100644 --- a/src/gui/inventory.h +++ b/src/gui/inventory.h @@ -17,8 +17,6 @@ * You should have received a copy of the GNU General Public License * along with The Mana World; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * By SimEdw */ #ifdef WIN32 @@ -48,25 +46,55 @@ class TmwInventory { TmwInventory(); ~TmwInventory(); - void create(int x, int y); // create the window - void draw(BITMAP *); // draw the window (if areDisplaying != 0 ) - void show(bool val); // choose between showing and not showing the window - void toggle() {if(show_inventory){show(0);}else{show(1);}} - //API - int add_item(int index, int id, int quantity); // add a item - int remove_item(int id); // remove a item - int change_quantity(int index, int quantity); // change number of a item - int increase_quantity(int index, int quantity); // increase quantity of a item - int use_item(int index, int id); - int quantityForIndex(int index) { return items[index].quantity; } - int drop_item(int index, int amunt); - //END API - - itemHolder items[INVENTORY_SIZE]; // this is the holder of items - private: - DATAFILE *itemset; - bool show_inventory; - int itemMeny, itemMeny_x, itemMeny_y, itemMeny_i; + /** + * Initialize inventory and create the window. + */ + void create(int x, int y); + + /** + * Draw inventory window. + */ + void draw(BITMAP *); + + /** + * Sets if inventory is visible. + */ + void setVisible(bool visible); + + /** + * Returns visibility of inventory. + */ + bool isVisible(); + + /** + * Add an item the inventory. + */ + int add_item(int index, int id, int quantity); + + /** + * Remove a item from the inventory. + */ + int remove_item(int id); + + /** + * Change quantity of an item. + */ + int change_quantity(int index, int quantity); + + /** + * Increase quantity of an item + */ + int increase_quantity(int index, int quantity); + + int use_item(int index, int id); + int quantityForIndex(int index) { return items[index].quantity; } + int drop_item(int index, int amunt); + + itemHolder items[INVENTORY_SIZE]; /**< this is the holder of items */ + private: + DATAFILE *itemset; + bool show_inventory; + int itemMeny, itemMeny_x, itemMeny_y, itemMeny_i; }; #endif |