diff --git a/docs/configuration.rst b/docs/configuration.rst
index d7299664..49640260 100644
--- a/docs/configuration.rst
+++ b/docs/configuration.rst
@@ -1749,7 +1749,7 @@ Description
when processing a user profile.
Possible values are
- ``"art"``, ``"audio"``, ``"movies"``.
+ ``"art"``, ``"audio"``, ``"games"``, ``"movies"``.
You can use ``"all"`` instead of listing all values separately.
diff --git a/docs/supportedsites.md b/docs/supportedsites.md
index d45b5fb0..f64ab5c0 100644
--- a/docs/supportedsites.md
+++ b/docs/supportedsites.md
@@ -538,7 +538,7 @@ Consider all sites to be NSFW unless otherwise known.
| Newgrounds |
https://www.newgrounds.com/ |
- Art, Audio, Favorites, individual Images, Media Files, Movies, Search Results, User Profiles |
+ Art, Audio, Favorites, Games, individual Images, Media Files, Movies, Search Results, User Profiles |
Supported |
diff --git a/gallery_dl/extractor/newgrounds.py b/gallery_dl/extractor/newgrounds.py
index d9ab3369..0796d9ab 100644
--- a/gallery_dl/extractor/newgrounds.py
+++ b/gallery_dl/extractor/newgrounds.py
@@ -434,6 +434,17 @@ class NewgroundsMoviesExtractor(NewgroundsExtractor):
})
+class NewgroundsGamesExtractor(NewgroundsExtractor):
+ """Extractor for a newgrounds user's games"""
+ subcategory = _path = "games"
+ pattern = r"(?:https?://)?([\w-]+)\.newgrounds\.com/games/?$"
+ test = ("https://tomfulp.newgrounds.com/games", {
+ "pattern": r"https://uploads.ungrounded.net(/alternate)?/\d+/\d+_.+",
+ "range": "1-10",
+ "count": 10,
+ })
+
+
class NewgroundsUserExtractor(NewgroundsExtractor):
"""Extractor for a newgrounds user profile"""
subcategory = "user"
@@ -454,6 +465,7 @@ class NewgroundsUserExtractor(NewgroundsExtractor):
return self._dispatch_extractors((
(NewgroundsArtExtractor , base + "art"),
(NewgroundsAudioExtractor , base + "audio"),
+ (NewgroundsGamesExtractor , base + "games"),
(NewgroundsMoviesExtractor, base + "movies"),
), ("art",))