fixed compiler warnings (after adding "-Wstrict-prototypes")
[rocksndiamonds.git] / src / libgame / gadgets.c
index c793ce13c599ecc2adb7050d98fcf9f7165d9796..4cf008fc01eaaec6044f85d3de57e00bfd4cad36 100644 (file)
@@ -60,7 +60,7 @@ static struct GadgetInfo *getGadgetInfoFromGadgetID(int id)
   return gi;
 }
 
-static int getNewGadgetID()
+static int getNewGadgetID(void)
 {
   int id = next_free_gadget_id++;
 
@@ -1432,37 +1432,37 @@ static void MultiMapGadgets(int mode)
   }
 }
 
-void UnmapAllGadgets()
+void UnmapAllGadgets(void)
 {
   MultiMapGadgets(MULTIMAP_ALL | MULTIMAP_UNMAP);
 }
 
-void RemapAllGadgets()
+void RemapAllGadgets(void)
 {
   MultiMapGadgets(MULTIMAP_ALL | MULTIMAP_REMAP);
 }
 
-boolean anyTextInputGadgetActive()
+boolean anyTextInputGadgetActive(void)
 {
   return (last_gi && (last_gi->type & GD_TYPE_TEXT_INPUT) && last_gi->mapped);
 }
 
-boolean anyTextAreaGadgetActive()
+boolean anyTextAreaGadgetActive(void)
 {
   return (last_gi && (last_gi->type & GD_TYPE_TEXT_AREA) && last_gi->mapped);
 }
 
-boolean anySelectboxGadgetActive()
+boolean anySelectboxGadgetActive(void)
 {
   return (last_gi && (last_gi->type & GD_TYPE_SELECTBOX) && last_gi->mapped);
 }
 
-boolean anyScrollbarGadgetActive()
+boolean anyScrollbarGadgetActive(void)
 {
   return (last_gi && (last_gi->type & GD_TYPE_SCROLLBAR) && last_gi->mapped);
 }
 
-boolean anyTextGadgetActive()
+boolean anyTextGadgetActive(void)
 {
   return (anyTextInputGadgetActive() ||
          anyTextAreaGadgetActive() ||
@@ -2274,15 +2274,42 @@ boolean HandleGadgetsKeyInput(Key key)
   return TRUE;
 }
 
-void DumpGadgetIdentifiers()
+void DumpGadgetIdentifiers(void)
 {
   struct GadgetInfo *gi;
 
-  printf("Gadgets on current screen (any prefix 'gfx.' can be omitted):\n");
+  Print("Gadgets on current screen:\n");
 
   for (gi = gadget_list_first_entry; gi != NULL; gi = gi->next)
+  {
     if (gi->mapped && gi->image_id != -1)
-      printf("- '%s'\n", getTokenFromImageID(gi->image_id));
+    {
+      char *token = getTokenFromImageID(gi->image_id);
+      char *prefix = "gfx.";
+
+      if (strPrefix(token, prefix))
+       token = &token[strlen(prefix)];
+
+      Print("- '%s'\n", token);
+    }
+  }
+
+  Print("Done.\n");
+}
+
+boolean DoGadgetAction(int image_id)
+{
+  struct GadgetInfo *gi;
+
+  for (gi = gadget_list_first_entry; gi != NULL; gi = gi->next)
+  {
+    if (gi->mapped && gi->image_id == image_id)
+    {
+      gi->callback_action(gi);
+
+      return TRUE;
+    }
+  }
 
-  printf("Done.\n");
+  return FALSE;
 }