X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Flibgame%2Fgadgets.c;h=afe4c81026630cef7c9a22a57e6bd69f60783958;hp=7c140cbedffbaf8d7cb742cd6cc5f3e741327b7c;hb=4d4b9cf009d4aefe9e167ac6b838c468513684ab;hpb=0c64a3cf001f3ef5ecdb80462ae1891d582379ee diff --git a/src/libgame/gadgets.c b/src/libgame/gadgets.c index 7c140cbe..afe4c810 100644 --- a/src/libgame/gadgets.c +++ b/src/libgame/gadgets.c @@ -32,6 +32,17 @@ static struct GadgetInfo *last_info_gi = NULL; static int next_free_gadget_id = 1; static boolean gadget_id_wrapped = FALSE; +static void (*PlayGadgetSoundActivating)(void) = NULL; +static void (*PlayGadgetSoundSelecting)(void) = NULL; + + +void InitGadgetsSoundCallback(void (*activating_function)(void), + void (*selecting_function)(void)) +{ + PlayGadgetSoundActivating = activating_function; + PlayGadgetSoundSelecting = selecting_function; +} + static struct GadgetInfo *getGadgetInfoFromGadgetID(int id) { struct GadgetInfo *gi = gadget_list_first_entry; @@ -1783,6 +1794,8 @@ boolean HandleGadgets(int mx, int my, int button) if (gadget_pressed) { + PlayGadgetSoundActivating(); + if (gi->type == GD_TYPE_CHECK_BUTTON) { gi->checked = !gi->checked;