summaryrefslogtreecommitdiff
path: root/src/gui/shop.cpp
diff options
context:
space:
mode:
authorEugenio Favalli <elvenprogrammer@gmail.com>2004-09-30 14:07:33 +0000
committerEugenio Favalli <elvenprogrammer@gmail.com>2004-09-30 14:07:33 +0000
commit5bb46ab6358834d13f483628eb5ddd43b4c985bc (patch)
tree4bfdaf98b3afe8d98d6014fd40939c1090fcdd86 /src/gui/shop.cpp
parent2355936b926cb16a5e3e582fce43a9f9a237e78e (diff)
downloadmana-5bb46ab6358834d13f483628eb5ddd43b4c985bc.tar.gz
mana-5bb46ab6358834d13f483628eb5ddd43b4c985bc.tar.bz2
mana-5bb46ab6358834d13f483628eb5ddd43b4c985bc.tar.xz
mana-5bb46ab6358834d13f483628eb5ddd43b4c985bc.zip
*** empty log message ***
Diffstat (limited to 'src/gui/shop.cpp')
-rw-r--r--src/gui/shop.cpp88
1 files changed, 88 insertions, 0 deletions
diff --git a/src/gui/shop.cpp b/src/gui/shop.cpp
new file mode 100644
index 00000000..84fe279e
--- /dev/null
+++ b/src/gui/shop.cpp
@@ -0,0 +1,88 @@
+/**
+
+ The Mana World
+ Copyright 2004 The Mana World Development Team
+
+ This file is part of The Mana World.
+
+ The Mana World is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ any later version.
+
+ The Mana World is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ 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 ElvenProgrammer aka Eugenio Favalli (umperio@users.sourceforge.net)
+
+*/
+
+#include "shop.h"
+
+#include <allegro.h>
+
+int n_items;
+ITEM_SHOP *shop = NULL;
+
+char *item_db[] = { "Candy", "Medical Herb", "Chocolate" };
+
+char *shop_list(int index, int *list_size) {
+ if(index<0) {
+ *list_size = n_items;
+ return NULL;
+ } else {
+ int iterator = 0;
+ ITEM_SHOP *item_shop = shop;
+ while(iterator<index) {
+ item_shop = item_shop->next;
+ iterator++;
+ }
+ return item_shop->name;
+ }
+}
+
+void add_item(short id, int price) {
+ ITEM_SHOP *item_shop = (ITEM_SHOP *)malloc(sizeof(ITEM_SHOP));
+ if(id-501>=0 && id-501<=2)
+ sprintf(item_shop->name, "%s %i gp", item_db[id-501], price);
+ else
+ sprintf(item_shop->name, "Unknown item %i gp", price);
+ item_shop->price = price;
+ item_shop->id = id;
+ item_shop->next = NULL;
+ if(shop==NULL)
+ shop = item_shop;
+ else {
+ ITEM_SHOP *temp = shop;
+ while(temp->next)
+ temp = temp->next;
+ temp->next = item_shop;
+ }
+}
+
+void close_shop() {
+ ITEM_SHOP *temp, *next;
+ temp = shop;
+ while(temp) {
+ next = temp->next;
+ free(temp);
+ temp = next;
+ }
+ shop = NULL;
+}
+
+short get_item_id(int index) {
+ int iterator = 0;
+ ITEM_SHOP *item_shop = shop;
+ while(iterator<index) {
+ item_shop = item_shop->next;
+ iterator++;
+ }
+ return item_shop->id;
+}