diff options
author | Rene Ladan <rene@FreeBSD.org> | 2021-01-01 00:57:23 +0000 |
---|---|---|
committer | Rene Ladan <rene@FreeBSD.org> | 2021-01-01 00:57:23 +0000 |
commit | e095f78463023f59c04bdd21ffc95fada557410f (patch) | |
tree | ec5de6499c9c252b774be9acb5c807082d084bd2 /games/pingus | |
parent | 2735d517c12b82760759a6519959aea6bc21d383 (diff) | |
download | ports-e095f78463023f59c04bdd21ffc95fada557410f.tar.gz ports-e095f78463023f59c04bdd21ffc95fada557410f.zip |
Notes
Diffstat (limited to 'games/pingus')
-rw-r--r-- | games/pingus/Makefile | 48 | ||||
-rw-r--r-- | games/pingus/distinfo | 5 | ||||
-rw-r--r-- | games/pingus/files/patch-SConscript | 13 | ||||
-rw-r--r-- | games/pingus/files/patch-boost-signals2 | 380 | ||||
-rw-r--r-- | games/pingus/files/patch-src-lisp-getters.hpp | 11 | ||||
-rw-r--r-- | games/pingus/files/patch-src__pingus__pingus_main.cpp | 11 | ||||
-rw-r--r-- | games/pingus/files/patch-src__pingus__screens__pingus_menu.cpp | 11 | ||||
-rw-r--r-- | games/pingus/files/patch-src__util__file_reader.hpp | 10 | ||||
-rw-r--r-- | games/pingus/files/patch-src_pingus_screens_demo__session.cpp | 10 | ||||
-rw-r--r-- | games/pingus/pkg-descr | 5 |
10 files changed, 0 insertions, 504 deletions
diff --git a/games/pingus/Makefile b/games/pingus/Makefile deleted file mode 100644 index d9c1f593d9b3..000000000000 --- a/games/pingus/Makefile +++ /dev/null @@ -1,48 +0,0 @@ -# Created by: Jose Alonso Cardenas Marquez <acm@FreeBSD.org> -# $FreeBSD$ - -PORTNAME= pingus -PORTVERSION= 0.7.6 -PORTREVISION= 22 -CATEGORIES= games -MASTER_SITES= https://mirror.amdmi3.ru/distfiles/ - -MAINTAINER= amdmi3@FreeBSD.org -COMMENT= Free Lemmings-like game - -LICENSE= GPLv3+ -LICENSE_FILE= ${WRKSRC}/COPYING - -BUILD_DEPENDS= ${LOCALBASE}/include/boost/signals2.hpp:devel/boost-libs -LIB_DEPENDS= libpng.so:graphics/png - -USES= compiler:c++11-lib gl iconv scons:python2 sdl tar:bzip2 xorg -USE_GL= gl -USE_SDL= sdl image mixer -LIBS+= ${ICONV_LIB} -MAKE_ARGS= LIBS="${LIBS}" - -PLIST_FILES= bin/${PORTNAME} \ - share/pixmaps/${PORTNAME}.png -PORTDATA= * - -DESKTOP_ENTRIES="Pingus" \ - "" \ - "${PORTNAME}" \ - "${PORTNAME}" \ - "Game;LogicGame;" \ - false - -post-patch: - @${REINPLACE_CMD} -e '/g_path_manager.set_path("data")/ s|data|${DATADIR}|g' \ - ${WRKSRC}/src/pingus/pingus_main.cpp - @${REINPLACE_CMD} -e '/CheckLib.*iconv/ d' ${WRKSRC}/SConscript - -do-install: - (cd ${WRKSRC}/data && \ - ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}) - ${INSTALL_PROGRAM} ${WRKSRC}/build/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/${PORTNAME} - ${INSTALL_DATA} ${WRKSRC}/data/images/icons/pingus-icon.png \ - ${STAGEDIR}${PREFIX}/share/pixmaps/${PORTNAME}.png - -.include <bsd.port.mk> diff --git a/games/pingus/distinfo b/games/pingus/distinfo deleted file mode 100644 index 74b7bcfbbd9c..000000000000 --- a/games/pingus/distinfo +++ /dev/null @@ -1,5 +0,0 @@ -TIMESTAMP = 1324763207 -SHA256 (pingus-0.7.6.tar.bz2) = 759c1253075d1e72691bc1e770b24cdd51917041fd1857c1daf85b65a6686460 -SIZE (pingus-0.7.6.tar.bz2) = 12622268 -SHA256 (fef8cf6512fa.patch) = cb4788d014fd4c479d95203c442ffb65a8bdb4223219a3cc5e3ab09f9b3a4894 -SIZE (fef8cf6512fa.patch) = 12316 diff --git a/games/pingus/files/patch-SConscript b/games/pingus/files/patch-SConscript deleted file mode 100644 index 214f4d3ebb2f..000000000000 --- a/games/pingus/files/patch-SConscript +++ /dev/null @@ -1,13 +0,0 @@ -Properly split multiple arguments passed via CXXFLAGS ---- SConscript.orig 2011-12-24 21:46:47 UTC -+++ SConscript -@@ -120,6 +120,9 @@ class Project: - 'CheckSDLLib': CheckSDLLib, - 'CheckIconv': CheckIconv, - }) -+ -+ self.env["CXXFLAGS"] = sum(map (lambda x: x.split(" "), self.env["CXXFLAGS"]), []) -+ - self.fatal_error = "" - self.reports = "" - diff --git a/games/pingus/files/patch-boost-signals2 b/games/pingus/files/patch-boost-signals2 deleted file mode 100644 index e412ffbb2e73..000000000000 --- a/games/pingus/files/patch-boost-signals2 +++ /dev/null @@ -1,380 +0,0 @@ -From fef8cf6512fa4aa09e87643c22ef66de9ec7bb41 Mon Sep 17 00:00:00 2001 -From: Ingo Ruhnke <grumbel@gmail.com> -Date: Sat, 26 Jul 2014 20:49:11 +0200 -Subject: [PATCH] Switched to boost::signals2 - ---- - SConscript | 5 ++--- - src/editor/button.hpp | 4 ++-- - src/editor/checkbox.hpp | 4 ++-- - src/editor/combobox.hpp | 4 ++-- - src/editor/file_list.hpp | 4 ++-- - src/editor/inputbox.hpp | 6 +++--- - src/editor/message_box.hpp | 2 +- - src/editor/object_selector.cpp | 4 ++-- - src/editor/viewport.hpp | 4 ++-- - src/pingus/components/check_box.hpp | 4 ++-- - src/pingus/components/choice_box.hpp | 4 ++-- - src/pingus/components/slider_box.hpp | 4 ++-- - src/pingus/config_manager.hpp | 28 ++++++++++++++-------------- - src/pingus/screens/option_menu.hpp | 4 ++-- - 14 files changed, 40 insertions(+), 41 deletions(-) - -diff --git a/SConscript b/SConscript -index 758567f51..c4d25a8a9 100644 ---- SConscript -+++ SConscript -@@ -187,9 +187,8 @@ class Project: - 'src/engine/input/xinput/xinput_device.cpp']) - - def configure_boost(self): -- if not self.conf.CheckLibWithHeader('boost_signals', 'boost/signals.hpp', 'c++'): -- if not self.conf.CheckLibWithHeader('boost_signals-mt', 'boost/signals.hpp', 'c++'): -- self.fatal_error += " * library 'boost_signals' not found\n" -+ if not self.conf.CheckHeader('boost/signals2.hpp', '<>', 'c++'): -+ self.fatal_error += " * library 'boost_signals2' not found\n" - - def configure_png(self): - if self.conf.CheckMyProgram('pkg-config'): -diff --git a/src/editor/button.hpp b/src/editor/button.hpp -index c85d7da9e..d89dfe669 100644 ---- src/editor/button.hpp -+++ src/editor/button.hpp -@@ -17,7 +17,7 @@ - #ifndef HEADER_PINGUS_EDITOR_BUTTON_HPP - #define HEADER_PINGUS_EDITOR_BUTTON_HPP - --#include <boost/signal.hpp> -+#include <boost/signals2.hpp> - - #include "engine/gui/rect_component.hpp" - -@@ -48,7 +48,7 @@ public: - void enable() { enabled = true; } - void disable() { enabled = false; } - -- boost::signal<void()> on_click; -+ boost::signals2::signal<void()> on_click; - - private: - Button (const Button&); -diff --git a/src/editor/checkbox.hpp b/src/editor/checkbox.hpp -index 7c3bc835f..66382d79b 100644 ---- src/editor/checkbox.hpp -+++ src/editor/checkbox.hpp -@@ -17,7 +17,7 @@ - #ifndef HEADER_PINGUS_EDITOR_CHECKBOX_HPP - #define HEADER_PINGUS_EDITOR_CHECKBOX_HPP - --#include <boost/signal.hpp> -+#include <boost/signals2.hpp> - - #include "engine/gui/rect_component.hpp" - -@@ -40,7 +40,7 @@ public: - bool is_checked() const { return checked; } - void on_primary_button_press(int x, int y); - -- boost::signal<void (bool)> on_change; -+ boost::signals2::signal<void (bool)> on_change; - - private: - Checkbox (const Checkbox&); -diff --git a/src/editor/combobox.hpp b/src/editor/combobox.hpp -index 0ca742593..603556bd9 100644 ---- src/editor/combobox.hpp -+++ src/editor/combobox.hpp -@@ -18,7 +18,7 @@ - #ifndef HEADER_PINGUS_EDITOR_COMBOBOX_HPP - #define HEADER_PINGUS_EDITOR_COMBOBOX_HPP - --#include <boost/signal.hpp> -+#include <boost/signals2.hpp> - - #include "engine/display/sprite.hpp" - #include "engine/gui/rect_component.hpp" -@@ -88,7 +88,7 @@ public: - - void update_layout() {} - -- boost::signal<void (const ComboItem&)> on_select; -+ boost::signals2::signal<void (const ComboItem&)> on_select; - - private: - Combobox(); -diff --git a/src/editor/file_list.hpp b/src/editor/file_list.hpp -index cc4bba2de..85efe6aa0 100644 ---- src/editor/file_list.hpp -+++ src/editor/file_list.hpp -@@ -17,7 +17,7 @@ - #ifndef HEADER_PINGUS_EDITOR_FILE_LIST_HPP - #define HEADER_PINGUS_EDITOR_FILE_LIST_HPP - --#include <boost/signal.hpp> -+#include <boost/signals2.hpp> - - #include "engine/display/sprite.hpp" - #include "engine/gui/rect_component.hpp" -@@ -61,7 +61,7 @@ public: - bool has_more_next_pages(); - bool has_more_prev_pages(); - -- boost::signal<void (const System::DirectoryEntry&)> on_click; -+ boost::signals2::signal<void (const System::DirectoryEntry&)> on_click; - - private: - int items_per_page(); -diff --git a/src/editor/inputbox.hpp b/src/editor/inputbox.hpp -index cad9663ec..87321dbba 100644 ---- src/editor/inputbox.hpp -+++ src/editor/inputbox.hpp -@@ -17,7 +17,7 @@ - #ifndef HEADER_PINGUS_EDITOR_INPUTBOX_HPP - #define HEADER_PINGUS_EDITOR_INPUTBOX_HPP - --#include <boost/signal.hpp> -+#include <boost/signals2.hpp> - - #include "engine/gui/rect_component.hpp" - -@@ -40,8 +40,8 @@ public: - - void update_layout() {} - -- boost::signal<void (const std::string&)> on_change; -- boost::signal<void (const std::string&)> on_enter; -+ boost::signals2::signal<void (const std::string&)> on_change; -+ boost::signals2::signal<void (const std::string&)> on_enter; - - private: - Inputbox (const Inputbox&); -diff --git a/src/editor/message_box.hpp b/src/editor/message_box.hpp -index 385387a61..d885767cf 100644 ---- src/editor/message_box.hpp -+++ src/editor/message_box.hpp -@@ -45,7 +45,7 @@ public: - void on_cancel_button(); - - public: -- boost::signal<void()> on_ok; -+ boost::signals2::signal<void()> on_ok; - - private: - MessageBox(const MessageBox&); -diff --git a/src/editor/object_selector.cpp b/src/editor/object_selector.cpp -index 28e306826..f3a36b5e8 100644 ---- src/editor/object_selector.cpp -+++ src/editor/object_selector.cpp -@@ -16,7 +16,7 @@ - - #include "editor/object_selector.hpp" - --#include <boost/signal.hpp> -+#include <boost/signals2.hpp> - - #include "editor/generic_level_obj.hpp" - #include "editor/gui_style.hpp" -@@ -47,7 +47,7 @@ private: - std::string tooltip; - - public: -- boost::signal<void()> on_click; -+ boost::signals2::signal<void()> on_click; - - public: - ObjectSelectorButton(ObjectSelectorList* object_list_, -diff --git a/src/editor/viewport.hpp b/src/editor/viewport.hpp -index 1ae9eff7c..18868254d 100644 ---- src/editor/viewport.hpp -+++ src/editor/viewport.hpp -@@ -18,7 +18,7 @@ - #ifndef HEADER_PINGUS_EDITOR_VIEWPORT_HPP - #define HEADER_PINGUS_EDITOR_VIEWPORT_HPP - --#include <boost/signal.hpp> -+#include <boost/signals2.hpp> - #include <set> - - #include "editor/selection.hpp" -@@ -148,7 +148,7 @@ public: - - void clear_selection(); - -- boost::signal<void (const Selection&)> selection_changed; -+ boost::signals2::signal<void (const Selection&)> selection_changed; - private: - Viewport(); - Viewport (const Viewport&); -diff --git a/src/pingus/components/check_box.hpp b/src/pingus/components/check_box.hpp -index 00e23b764..5bef50f6b 100644 ---- src/pingus/components/check_box.hpp -+++ src/pingus/components/check_box.hpp -@@ -17,7 +17,7 @@ - #ifndef HEADER_PINGUS_PINGUS_COMPONENTS_CHECK_BOX_HPP - #define HEADER_PINGUS_PINGUS_COMPONENTS_CHECK_BOX_HPP - --#include <boost/signal.hpp> -+#include <boost/signals2.hpp> - - #include "engine/display/sprite.hpp" - #include "engine/gui/rect_component.hpp" -@@ -39,7 +39,7 @@ public: - - void set_state(bool v, bool send_signal); - -- boost::signal<void (bool)> on_change; -+ boost::signals2::signal<void (bool)> on_change; - - private: - CheckBox (const CheckBox&); -diff --git a/src/pingus/components/choice_box.hpp b/src/pingus/components/choice_box.hpp -index 49d6e1948..ef51b6dd2 100644 ---- src/pingus/components/choice_box.hpp -+++ src/pingus/components/choice_box.hpp -@@ -17,7 +17,7 @@ - #ifndef HEADER_PINGUS_PINGUS_COMPONENTS_CHOICE_BOX_HPP - #define HEADER_PINGUS_PINGUS_COMPONENTS_CHOICE_BOX_HPP - --#include <boost/signal.hpp> -+#include <boost/signals2.hpp> - - #include "engine/gui/rect_component.hpp" - -@@ -36,7 +36,7 @@ public: - void add_choice(const std::string& str); - void set_current_choice(int choice); - -- boost::signal<void (std::string)> on_change; -+ boost::signals2::signal<void (std::string)> on_change; - - private: - ChoiceBox (const ChoiceBox&); -diff --git a/src/pingus/components/slider_box.hpp b/src/pingus/components/slider_box.hpp -index ae4d92406..75118eac2 100644 ---- src/pingus/components/slider_box.hpp -+++ src/pingus/components/slider_box.hpp -@@ -17,7 +17,7 @@ - #ifndef HEADER_PINGUS_PINGUS_COMPONENTS_SLIDER_BOX_HPP - #define HEADER_PINGUS_PINGUS_COMPONENTS_SLIDER_BOX_HPP - --#include <boost/signal.hpp> -+#include <boost/signals2.hpp> - - #include "engine/gui/rect_component.hpp" - -@@ -39,7 +39,7 @@ public: - - void set_value(int v); - -- boost::signal<void (int)> on_change; -+ boost::signals2::signal<void (int)> on_change; - - private: - SliderBox (const SliderBox&); -diff --git a/src/pingus/config_manager.hpp b/src/pingus/config_manager.hpp -index b07b83e65..4cf08e046 100644 ---- src/pingus/config_manager.hpp -+++ src/pingus/config_manager.hpp -@@ -17,7 +17,7 @@ - #ifndef HEADER_PINGUS_PINGUS_CONFIG_MANAGER_HPP - #define HEADER_PINGUS_PINGUS_CONFIG_MANAGER_HPP - --#include <boost/signal.hpp> -+#include <boost/signals2.hpp> - - #include "math/size.hpp" - #include "pingus/options.hpp" -@@ -39,55 +39,55 @@ public: - - void set_master_volume(int); - int get_master_volume() const; -- boost::signal<void(int)> on_master_volume_change; -+ boost::signals2::signal<void(int)> on_master_volume_change; - - void set_sound_volume(int); - int get_sound_volume() const; -- boost::signal<void(int)> on_sound_volume_change; -+ boost::signals2::signal<void(int)> on_sound_volume_change; - - void set_music_volume(int); - int get_music_volume() const; -- boost::signal<void(int)> on_music_volume_change; -+ boost::signals2::signal<void(int)> on_music_volume_change; - - void set_fullscreen_resolution(const Size& size); - Size get_fullscreen_resolution() const; -- boost::signal<void(Size)> on_fullscreen_resolution_change; -+ boost::signals2::signal<void(Size)> on_fullscreen_resolution_change; - - void set_fullscreen(bool); - bool get_fullscreen() const; -- boost::signal<void(bool)> on_fullscreen_change; -+ boost::signals2::signal<void(bool)> on_fullscreen_change; - - void set_renderer(FramebufferType type); - FramebufferType get_renderer() const; -- boost::signal<void(FramebufferType)> on_renderer_change; -+ boost::signals2::signal<void(FramebufferType)> on_renderer_change; - - void set_resizable(bool); - bool get_resizable() const; -- boost::signal<void(bool)> on_resizable_change; -+ boost::signals2::signal<void(bool)> on_resizable_change; - - void set_mouse_grab(bool); - bool get_mouse_grab() const; -- boost::signal<void(bool)> on_mouse_grab_change; -+ boost::signals2::signal<void(bool)> on_mouse_grab_change; - - void set_print_fps(bool); - bool get_print_fps() const; -- boost::signal<void(bool)> on_print_fps_change; -+ boost::signals2::signal<void(bool)> on_print_fps_change; - - void set_language(const tinygettext::Language&); - tinygettext::Language get_language() const; -- boost::signal<void(const tinygettext::Language&)> on_language_change; -+ boost::signals2::signal<void(const tinygettext::Language&)> on_language_change; - - void set_software_cursor(bool); - bool get_software_cursor() const; -- boost::signal<void(bool)> on_software_cursor_change; -+ boost::signals2::signal<void(bool)> on_software_cursor_change; - - void set_auto_scrolling(bool); - bool get_auto_scrolling() const; -- boost::signal<void(bool)> on_auto_scrolling_change; -+ boost::signals2::signal<void(bool)> on_auto_scrolling_change; - - void set_drag_drop_scrolling(bool); - bool get_drag_drop_scrolling() const; -- boost::signal<void(bool)> on_drag_drop_scrolling_change; -+ boost::signals2::signal<void(bool)> on_drag_drop_scrolling_change; - - private: - ConfigManager (const ConfigManager&); -diff --git a/src/pingus/screens/option_menu.hpp b/src/pingus/screens/option_menu.hpp -index 60b1578d2..154ef0f69 100644 ---- src/pingus/screens/option_menu.hpp -+++ src/pingus/screens/option_menu.hpp -@@ -17,7 +17,7 @@ - #ifndef HEADER_PINGUS_PINGUS_SCREENS_OPTION_MENU_HPP - #define HEADER_PINGUS_PINGUS_SCREENS_OPTION_MENU_HPP - --#include <boost/signals.hpp> -+#include <boost/signals2.hpp> - #include <map> - #include <vector> - -@@ -66,7 +66,7 @@ private: - //Label* defaults_label; - //CheckBox* defaults_box; - -- typedef std::vector<boost::signals::connection> Connections; -+ typedef std::vector<boost::signals2::connection> Connections; - Connections connections; - - tinygettext::Language m_language; --- -2.18.1 - diff --git a/games/pingus/files/patch-src-lisp-getters.hpp b/games/pingus/files/patch-src-lisp-getters.hpp deleted file mode 100644 index f600918f5631..000000000000 --- a/games/pingus/files/patch-src-lisp-getters.hpp +++ /dev/null @@ -1,11 +0,0 @@ ---- src/lisp/getters.hpp.orig 2011-12-24 21:46:47 UTC -+++ src/lisp/getters.hpp -@@ -30,7 +30,7 @@ static inline bool property_get(const Li - if(lisp->get_list_size() != 2) - return false; - -- const Lisp* el = lisp->get_list_elem(1); -+ const Lisp* el = lisp->get_list_elem(1).get(); - return get(el, val); - } - diff --git a/games/pingus/files/patch-src__pingus__pingus_main.cpp b/games/pingus/files/patch-src__pingus__pingus_main.cpp deleted file mode 100644 index 397af2466e38..000000000000 --- a/games/pingus/files/patch-src__pingus__pingus_main.cpp +++ /dev/null @@ -1,11 +0,0 @@ ---- src/pingus/pingus_main.cpp.orig 2011-12-24 21:46:47 UTC -+++ src/pingus/pingus_main.cpp -@@ -465,7 +465,7 @@ PingusMain::init_path_finder() - void - PingusMain::print_greeting_message() - { -- std::string greeting = "Welcome to Pingus "VERSION; -+ std::string greeting = "Welcome to Pingus " VERSION; - greeting += "!"; - std::cout << greeting << std::endl; - for (unsigned int i = 0; i < greeting.length(); ++i) diff --git a/games/pingus/files/patch-src__pingus__screens__pingus_menu.cpp b/games/pingus/files/patch-src__pingus__screens__pingus_menu.cpp deleted file mode 100644 index 2474af27c201..000000000000 --- a/games/pingus/files/patch-src__pingus__screens__pingus_menu.cpp +++ /dev/null @@ -1,11 +0,0 @@ ---- src/pingus/screens/pingus_menu.cpp.orig 2011-12-24 21:46:47 UTC -+++ src/pingus/screens/pingus_menu.cpp -@@ -153,7 +153,7 @@ PingusMenu::draw_background(DrawingConte - gc.get_height()/2 - 280)); - - gc.print_left(Fonts::pingus_small, Vector2i(gc.get_width()/2 - 400 + 25, gc.get_height()-140), -- "Pingus "VERSION" - Copyright (C) 1998-2011 Ingo Ruhnke <grumbel@gmail.com>\n" -+ "Pingus " VERSION " - Copyright (C) 1998-2011 Ingo Ruhnke <grumbel@gmail.com>\n" - "See the file AUTHORS for a complete list of contributors.\n" - "Pingus comes with ABSOLUTELY NO WARRANTY. This is free software, and you are\n" - "welcome to redistribute it under certain conditions; see the file COPYING for details.\n"); diff --git a/games/pingus/files/patch-src__util__file_reader.hpp b/games/pingus/files/patch-src__util__file_reader.hpp deleted file mode 100644 index c56f58917c3a..000000000000 --- a/games/pingus/files/patch-src__util__file_reader.hpp +++ /dev/null @@ -1,10 +0,0 @@ ---- src/util/file_reader.hpp.orig 2011-12-24 21:46:47 UTC -+++ src/util/file_reader.hpp -@@ -19,6 +19,7 @@ - - #include <memory> - #include <vector> -+#include <string> - - class Size; - class Color; diff --git a/games/pingus/files/patch-src_pingus_screens_demo__session.cpp b/games/pingus/files/patch-src_pingus_screens_demo__session.cpp deleted file mode 100644 index 8146968392f2..000000000000 --- a/games/pingus/files/patch-src_pingus_screens_demo__session.cpp +++ /dev/null @@ -1,10 +0,0 @@ ---- src/pingus/screens/demo_session.cpp.orig 2018-11-02 16:05:42 UTC -+++ src/pingus/screens/demo_session.cpp -@@ -17,6 +17,7 @@ - #include "pingus/screens/demo_session.hpp" - - #include <algorithm> -+#include <functional> - #include <iostream> - - #include "engine/gui/gui_manager.hpp" diff --git a/games/pingus/pkg-descr b/games/pingus/pkg-descr deleted file mode 100644 index c8c426180f43..000000000000 --- a/games/pingus/pkg-descr +++ /dev/null @@ -1,5 +0,0 @@ -Pingus is a free Lemmings-like game covered under the GNU GPL. It features -currently 22 playable levels and runs under a wide variety of operating systems -(FreeBSD, Linux, Windows, etc.) - -WWW: https://pingus.seul.org/ |