diff --git a/data/gui/window/end_credits.cfg b/data/gui/window/end_credits.cfg
new file mode 100644
index 00000000000..a3ed8bb3a43
--- /dev/null
+++ b/data/gui/window/end_credits.cfg
@@ -0,0 +1,134 @@
+#textdomain wesnoth-lib
+###
+### Definition of the credits screen
+###
+
+[window_definition]
+
+ id = "end_credits_window"
+ description = "The window definition for the credits screen."
+
+ [resolution]
+
+ [background]
+
+ [draw]
+
+ [image]
+ w = "(width)"
+ h = "(height)"
+ x = 0
+ y = 0
+ name = "(background_image)"
+ [/image]
+
+ [/draw]
+
+ [/background]
+
+ [foreground]
+
+ [draw]
+
+ [/draw]
+
+ [/foreground]
+
+ [/resolution]
+
+[/window_definition]
+
+[window]
+ id = "end_credits"
+ description = "End credits dialog."
+
+ [resolution]
+ definition = "end_credits_window"
+
+ {GUI_WINDOW_FULLSCREEN}
+
+ [tooltip]
+ id = "tooltip"
+ [/tooltip]
+
+ [helptip]
+ id = "tooltip"
+ [/helptip]
+
+ [grid]
+
+ [row]
+ grow_factor = 1
+
+ [column]
+ horizontal_grow = "true"
+ vertical_grow = "true"
+ border = "all"
+ border_size = 30
+
+ [panel]
+ definition = "box_display"
+
+ [grid]
+
+ [row]
+
+ [column]
+ horizontal_grow = "true"
+ vertical_grow = "true"
+
+ [scroll_label]
+ definition = "default_small"
+ id = "text"
+ horizontal_scrollbar_mode = "never"
+ [/scroll_label]
+
+ [/column]
+
+ [/row]
+
+ [/grid]
+
+ [/panel]
+
+ [/column]
+
+ [/row]
+
+ [row]
+ grow_factor = 0
+
+ [column]
+ grow_factor = 1
+ horizontal_alignment = "center"
+ border = "all"
+ border_size = 5
+
+ [button]
+ id = "cancel"
+ definition = "default"
+ label = _ "Close"
+ [/button]
+
+ [/column]
+
+ [/row]
+
+ [row]
+ grow_factor = 0
+
+ [column]
+
+ [spacer]
+ height = 10
+ [/spacer]
+
+ [/column]
+
+ [/row]
+
+ [/grid]
+
+ [/resolution]
+
+[/window]
diff --git a/projectfiles/CodeBlocks/wesnoth.cbp b/projectfiles/CodeBlocks/wesnoth.cbp
index 0a8bffb8d3f..88c017802c4 100644
--- a/projectfiles/CodeBlocks/wesnoth.cbp
+++ b/projectfiles/CodeBlocks/wesnoth.cbp
@@ -551,6 +551,8 @@
+
+
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 74a1d07a00f..e83b649677c 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -805,6 +805,7 @@ set(wesnoth-main_SRC
gui/dialogs/editor/new_map.cpp
gui/dialogs/editor/resize_map.cpp
gui/dialogs/editor/set_starting_position.cpp
+ gui/dialogs/end_credits.cpp
gui/dialogs/folder_create.cpp
gui/dialogs/formula_debugger.cpp
gui/dialogs/game_cache_options.cpp
diff --git a/src/SConscript b/src/SConscript
index 8146b53a2bd..52894149e49 100644
--- a/src/SConscript
+++ b/src/SConscript
@@ -381,6 +381,7 @@ wesnoth_sources = Split("""
gui/dialogs/editor/new_map.cpp
gui/dialogs/editor/resize_map.cpp
gui/dialogs/editor/set_starting_position.cpp
+ gui/dialogs/end_credits.cpp
gui/dialogs/folder_create.cpp
gui/dialogs/formula_debugger.cpp
gui/dialogs/game_cache_options.cpp
diff --git a/src/about.cpp b/src/about.cpp
index 816e2f8693c..761705bc945 100644
--- a/src/about.cpp
+++ b/src/about.cpp
@@ -36,6 +36,7 @@
#include "tstring.hpp" // for operator==
#include "video.hpp" // for update_rect, CVideo
#include "widgets/button.hpp" // for button
+#include "gui/dialogs/end_credits.hpp"
#include // for max
#include