From 8cac584d4551ce8a840f615007e466cf256cdc6d Mon Sep 17 00:00:00 2001
From: Allanis <allanis@saracraft.net>
Date: Tue, 23 Jul 2013 21:17:36 +0100
Subject: [PATCH] [Add] Here is something you have been waiting for, for a long
 time! Cargo window in info panel. :P

---
 src/menu.c | 40 +++++++++++++++++++++++++++++++++++++++-
 1 file changed, 39 insertions(+), 1 deletion(-)

diff --git a/src/menu.c b/src/menu.c
index 6466e34..19056a1 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -27,6 +27,9 @@
 #define OUTFITS_WIDTH       400
 #define OUTFITS_HEIGHT      200
 
+#define CARGO_WIDTH         300
+#define CARGO_HEIGHT        300
+
 #define MISSIONS_WIDTH      600
 #define MISSIONS_HEIGHT     400
 
@@ -54,6 +57,10 @@ static void exit_game(void);
 static void menu_info_close(char* str);
 /* Outfits submenu. */
 static void info_outfits_menu(char* str);
+/* Cargo submenu. */
+static void info_cargo_menu(char* str);
+static void cargo_update(char* str);
+static void cargo_jettison(char* str);
 /* Mission submenu. */
 static void info_missions_menu(char* str);
 static void mission_menu_abort(char* str);
@@ -225,7 +232,7 @@ void menu_info(void) {
                    "btnOutfits", "Outfits", info_outfits_menu);
   window_addButton(wid, -20, (20 + BUTTON_HEIGHT)*2 + 20,
                    BUTTON_WIDTH, BUTTON_HEIGHT,
-                   "btnCargo", "Cargo", NULL);
+                   "btnCargo", "Cargo", info_cargo_menu);
   window_addButton(wid, -20, 20 + BUTTON_HEIGHT + 20,
                    BUTTON_WIDTH, BUTTON_HEIGHT,
                    "btnMissions", "Missions", info_missions_menu);
@@ -266,6 +273,37 @@ static void info_outfits_menu(char* str) {
                    "closeOutfits", "Close", menu_generic_close);
 }
 
+/* Show the players cargo. */
+static void info_cargo_menu(char* str) {
+  (void)str;
+  unsigned int wid;
+
+  /* Create the window. */
+  wid = window_create("Cargo", -1, -1, CARGO_WIDTH, CARGO_HEIGHT);
+
+  /* Buttons. */
+  window_addButton(wid, -20, 20, BUTTON_WIDTH, BUTTON_HEIGHT,
+      "closeCargo", "Back", menu_generic_close);
+  window_addButton(wid, -40 - BUTTON_WIDTH, 20,
+      BUTTON_WIDTH, BUTTON_HEIGHT, "btnJettisonCargo", "Jettison",
+      cargo_jettison);
+
+  cargo_update(NULL);
+}
+
+static void cargo_update(char* str) {
+  (void)str;
+  unsigned int wid;
+
+  wid = window_get("Cargo");
+
+  window_disableButton(wid, "btnJettisonCargo");
+}
+
+static void cargo_jettison(char* str) {
+  (void)str;
+}
+
 /* Show the player's active missions. */
 static void info_missions_menu(char* str) {
   (void)str;