diff --git a/docs/AUTHORS.txt b/docs/AUTHORS.txt
index 5b33364d1..b0f23b90c 100644
--- a/docs/AUTHORS.txt
+++ b/docs/AUTHORS.txt
@@ -6,7 +6,7 @@ Copyright (c) 2002-2022
Various contributors (see below, and CHANGES.txt)
https://tuxpaint.org/
-June 17, 2002 - December 11, 2022
+June 17, 2002 - December 24, 2022
* Design and Coding:
@@ -103,6 +103,12 @@ June 17, 2002 - December 11, 2022
https://github.com/lecram/gifenc,
by Marcel Rodrigues
+ Googly Eyes magic tool and artwork
+ by Bill Kendrick
+ Googly Eyes sound effect: "SFX_STICKERRIPPER_docket_29.wav"
+ (https://freesound.org/people/MrFossy/sounds/590303/)
+ Creative Commons 0 license by "MrFossy"
+
Mouse accessibility code and keyboard access
Ankit Choudary , as part of GSOC 2010,
with integration and fixes by Pere Pujal i Carabantes
diff --git a/docs/CHANGES.txt b/docs/CHANGES.txt
index 166e8e3b2..c87a511ac 100644
--- a/docs/CHANGES.txt
+++ b/docs/CHANGES.txt
@@ -7,7 +7,7 @@ Various contributors (see below, and AUTHORS.txt)
https://tuxpaint.org/
-2022.December.23 (0.9.29)
+2022.December.24 (0.9.29)
* Improvements to "Stamp" tool:
-----------------------------
* Stamps may now be rotated.
@@ -16,8 +16,10 @@ https://tuxpaint.org/
* New Magic Tools:
----------------
- * [WIP] "Googly Eyes"; place eyeballs in your drawing.`
+ * "Googly Eyes"; place eyeballs in your drawing.`
Bill Kendrick
+ (Sound effect licensed as Creative Commons 0 by
+ https://freesound.org/people/MrFossy/)
* Improvements to Magic Tools:
----------------------------
diff --git a/magic/sounds/googlyeyes.ogg b/magic/sounds/googlyeyes.ogg
new file mode 100644
index 000000000..bc46992dd
Binary files /dev/null and b/magic/sounds/googlyeyes.ogg differ
diff --git a/magic/src/googlyeyes.c b/magic/src/googlyeyes.c
index e9d56cadc..549b68143 100644
--- a/magic/src/googlyeyes.c
+++ b/magic/src/googlyeyes.c
@@ -69,10 +69,9 @@ int googlyeyes_init(magic_api * api)
char fname[1024];
int i;
-// FIXME
-// snprintf(fname, sizeof(fname), "%ssounds/magic/googlyeyes.ogg",
-// api->data_directory);
-// snd_effect = Mix_LoadWAV(fname);
+ snprintf(fname, sizeof(fname), "%ssounds/magic/googlyeyes.ogg",
+ api->data_directory);
+ snd_effect = Mix_LoadWAV(fname);
for (i = 0; i < NUM_SIZES; i++) {
googlyeyes_img_bkgd[i] = NULL;
@@ -227,6 +226,9 @@ googlyeyes_click(magic_api * api, int which, int mode ATTRIBUTE_UNUSED,
if (eye_y < googlyeyes_img_bkgd[which]->h / 2)
eye_y = googlyeyes_img_bkgd[which]->h / 2;
+ api->stopsound();
+ api->playsound(snd_effect, (x * 255) / canvas->w, 255);
+
googlyeyes_drag(api, which, canvas, snapshot, x, y, x, y, update_rect);
}