<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>https://hg.linkmauve.fr/touhou/</link>
    <language>en-us</language>

    <title>PyTouhou: scripts/pytouhou history</title>
    <description>scripts/pytouhou revision history</description>
    <item>
    <title>Replace pytouhou.utils.random.Random with a Rust version</title>
    <link>https://hg.linkmauve.fr/touhou/log/1f152ca95658/scripts/pytouhou</link>
    <description><![CDATA[Replace pytouhou.utils.random.Random with a Rust version<br/>
<br/>
libtouhou.Prng now supports having its seed generated randomly using the<br/>
getrandom crate, and is now exposed to Python.]]></description>
    <author>&#76;&#105;&#110;&#107;&#32;&#77;&#97;&#117;&#118;&#101;&#32;&#60;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#64;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#46;&#102;&#114;&#62;</author>
    <pubDate>Sun, 23 Nov 2025 12:48:03 +0100</pubDate>
</item>
<item>
    <title>Replace SDL2_mixer with the kira crate</title>
    <link>https://hg.linkmauve.fr/touhou/log/ec1e06402a97/scripts/pytouhou</link>
    <description><![CDATA[Replace SDL2_mixer with the kira crate]]></description>
    <author>&#76;&#105;&#110;&#107;&#32;&#77;&#97;&#117;&#118;&#101;&#32;&#60;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#64;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#46;&#102;&#114;&#62;</author>
    <pubDate>Fri, 21 Nov 2025 10:21:59 +0100</pubDate>
</item>
<item>
    <title>Python: Remove the GTK menu</title>
    <link>https://hg.linkmauve.fr/touhou/log/317e93b7d586/scripts/pytouhou</link>
    <description><![CDATA[Python: Remove the GTK menu]]></description>
    <author>&#76;&#105;&#110;&#107;&#32;&#77;&#97;&#117;&#118;&#101;&#32;&#60;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#64;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#46;&#102;&#114;&#62;</author>
    <pubDate>Mon, 28 Apr 2025 13:03:20 +0200</pubDate>
</item>
<item>
    <title>Python: Only init SDL2 video if using SDL2 frontend.</title>
    <link>https://hg.linkmauve.fr/touhou/log/a6875f90c141/scripts/pytouhou</link>
    <description><![CDATA[Python: Only init SDL2 video if using SDL2 frontend.]]></description>
    <author>&#69;&#109;&#109;&#97;&#110;&#117;&#101;&#108;&#32;&#71;&#105;&#108;&#32;&#80;&#101;&#121;&#114;&#111;&#116;&#32;&#60;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#64;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#46;&#102;&#114;&#62;</author>
    <pubDate>Mon, 04 Jan 2021 20:39:30 +0100</pubDate>
</item>
<item>
    <title>Add a GLFW implementation of gui.Window.</title>
    <link>https://hg.linkmauve.fr/touhou/log/4fa0a8e7d941/scripts/pytouhou</link>
    <description><![CDATA[Add a GLFW implementation of gui.Window.]]></description>
    <author>&#69;&#109;&#109;&#97;&#110;&#117;&#101;&#108;&#32;&#71;&#105;&#108;&#32;&#80;&#101;&#121;&#114;&#111;&#116;&#32;&#60;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#64;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#46;&#102;&#114;&#62;</author>
    <pubDate>Sun, 14 May 2017 20:14:03 +0100</pubDate>
</item>
<item>
    <title>Delay power assignment to players until the game is started.</title>
    <link>https://hg.linkmauve.fr/touhou/log/2cf518129725/scripts/pytouhou</link>
    <description><![CDATA[Delay power assignment to players until the game is started.]]></description>
    <author>&#69;&#109;&#109;&#97;&#110;&#117;&#101;&#108;&#32;&#71;&#105;&#108;&#32;&#80;&#101;&#121;&#114;&#111;&#116;&#32;&#60;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#64;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#46;&#102;&#114;&#62;</author>
    <pubDate>Sat, 28 Mar 2015 21:02:05 +0100</pubDate>
</item>
<item>
    <title>Display the traceback on module load error.</title>
    <link>https://hg.linkmauve.fr/touhou/log/e9300aae4b24/scripts/pytouhou</link>
    <description><![CDATA[Display the traceback on module load error.]]></description>
    <author>&#69;&#109;&#109;&#97;&#110;&#117;&#101;&#108;&#32;&#71;&#105;&#108;&#32;&#80;&#101;&#121;&#114;&#111;&#116;&#32;&#60;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#64;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#46;&#102;&#114;&#62;</author>
    <pubDate>Tue, 04 Nov 2014 16:44:59 +0100</pubDate>
</item>
<item>
    <title>Don’t hardcode the available games and interfaces, and relocation them.</title>
    <link>https://hg.linkmauve.fr/touhou/log/244c99c568c8/scripts/pytouhou</link>
    <description><![CDATA[Don’t hardcode the available games and interfaces, and relocation them.]]></description>
    <author>&#69;&#109;&#109;&#97;&#110;&#117;&#101;&#108;&#32;&#71;&#105;&#108;&#32;&#80;&#101;&#121;&#114;&#111;&#116;&#32;&#60;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#64;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#46;&#102;&#114;&#62;</author>
    <pubDate>Sat, 25 Oct 2014 18:52:16 +0200</pubDate>
</item>
<item>
    <title>Fix a regression introduced in the previous commit when the interface has a different resolution than 640×480 and framebuffer_blit is enabled.</title>
    <link>https://hg.linkmauve.fr/touhou/log/ab131d04987d/scripts/pytouhou</link>
    <description><![CDATA[Fix a regression introduced in the previous commit when the interface has a different resolution than 640×480 and framebuffer_blit is enabled.]]></description>
    <author>&#69;&#109;&#109;&#97;&#110;&#117;&#101;&#108;&#32;&#71;&#105;&#108;&#32;&#80;&#101;&#121;&#114;&#111;&#116;&#32;&#60;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#64;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#46;&#102;&#114;&#62;</author>
    <pubDate>Sat, 25 Oct 2014 18:49:41 +0200</pubDate>
</item>
<item>
    <title>Switch to Python 3.x instead of 2.7.</title>
    <link>https://hg.linkmauve.fr/touhou/log/e15672733c93/scripts/pytouhou</link>
    <description><![CDATA[Switch to Python 3.x instead of 2.7.]]></description>
    <author>&#69;&#109;&#109;&#97;&#110;&#117;&#101;&#108;&#32;&#71;&#105;&#108;&#32;&#80;&#101;&#121;&#114;&#111;&#116;&#32;&#60;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#64;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#46;&#102;&#114;&#62;</author>
    <pubDate>Tue, 30 Sep 2014 17:14:24 +0200</pubDate>
</item>
<item>
    <title>Add a frameskip option, and use swap interval to implement it.</title>
    <link>https://hg.linkmauve.fr/touhou/log/0768122da817/scripts/pytouhou</link>
    <description><![CDATA[Add a frameskip option, and use swap interval to implement it.]]></description>
    <author>&#69;&#109;&#109;&#97;&#110;&#117;&#101;&#108;&#32;&#71;&#105;&#108;&#32;&#80;&#101;&#121;&#114;&#111;&#116;&#32;&#60;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#64;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#46;&#102;&#114;&#62;</author>
    <pubDate>Fri, 10 Oct 2014 15:59:11 +0200</pubDate>
</item>
<item>
    <title>Move NextStage outside of pytouhou.vm.msg, to be able to use it from anywhere without dependency on EoSD.</title>
    <link>https://hg.linkmauve.fr/touhou/log/e35a083d4208/scripts/pytouhou</link>
    <description><![CDATA[Move NextStage outside of pytouhou.vm.msg, to be able to use it from anywhere without dependency on EoSD.]]></description>
    <author>&#69;&#109;&#109;&#97;&#110;&#117;&#101;&#108;&#32;&#71;&#105;&#108;&#32;&#80;&#101;&#121;&#114;&#111;&#116;&#32;&#60;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#64;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#46;&#102;&#114;&#62;</author>
    <pubDate>Wed, 06 Aug 2014 10:50:19 +0200</pubDate>
</item>
<item>
    <title>Don’t traceback when GTK+ isn’t available.</title>
    <link>https://hg.linkmauve.fr/touhou/log/f0252cf111d8/scripts/pytouhou</link>
    <description><![CDATA[Don’t traceback when GTK+ isn’t available.]]></description>
    <author>&#69;&#109;&#109;&#97;&#110;&#117;&#101;&#108;&#32;&#71;&#105;&#108;&#32;&#80;&#101;&#121;&#114;&#111;&#116;&#32;&#60;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#64;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#46;&#102;&#114;&#62;</author>
    <pubDate>Thu, 10 Jul 2014 13:53:46 +0200</pubDate>
</item>
<item>
    <title>Add a GTK+ main menu, mimicking the original EoSD one.</title>
    <link>https://hg.linkmauve.fr/touhou/log/e7a4731a278b/scripts/pytouhou</link>
    <description><![CDATA[Add a GTK+ main menu, mimicking the original EoSD one.]]></description>
    <author>&#69;&#109;&#109;&#97;&#110;&#117;&#101;&#108;&#32;&#71;&#105;&#108;&#32;&#80;&#101;&#121;&#114;&#111;&#116;&#32;&#60;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#64;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#46;&#102;&#114;&#62;</author>
    <pubDate>Tue, 01 Jul 2014 23:18:15 +0200</pubDate>
</item>
<item>
    <title>Add a configuration parser, and pass those options to argparse as defaults.  Also include an xdg helper.</title>
    <link>https://hg.linkmauve.fr/touhou/log/b2269b9c6119/scripts/pytouhou</link>
    <description><![CDATA[Add a configuration parser, and pass those options to argparse as defaults.  Also include an xdg helper.]]></description>
    <author>&#69;&#109;&#109;&#97;&#110;&#117;&#101;&#108;&#32;&#71;&#105;&#108;&#32;&#80;&#101;&#121;&#114;&#111;&#116;&#32;&#60;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#64;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#46;&#102;&#114;&#62;</author>
    <pubDate>Tue, 01 Jul 2014 23:17:40 +0200</pubDate>
</item>
<item>
    <title>Move all logging logic to the root logger, we don’t need specific handlers anymore.</title>
    <link>https://hg.linkmauve.fr/touhou/log/04ae31809dc7/scripts/pytouhou</link>
    <description><![CDATA[Move all logging logic to the root logger, we don’t need specific handlers anymore.]]></description>
    <author>&#69;&#109;&#109;&#97;&#110;&#117;&#101;&#108;&#32;&#71;&#105;&#108;&#32;&#80;&#101;&#121;&#114;&#111;&#116;&#32;&#60;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#64;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#46;&#102;&#114;&#62;</author>
    <pubDate>Mon, 30 Jun 2014 20:37:52 +0200</pubDate>
</item>
<item>
    <title>Move CLI options to their own module.</title>
    <link>https://hg.linkmauve.fr/touhou/log/5f7f859a72f9/scripts/pytouhou</link>
    <description><![CDATA[Move CLI options to their own module.]]></description>
    <author>&#69;&#109;&#109;&#97;&#110;&#117;&#101;&#108;&#32;&#71;&#105;&#108;&#32;&#80;&#101;&#121;&#114;&#111;&#116;&#32;&#60;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#64;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#46;&#102;&#114;&#62;</author>
    <pubDate>Wed, 18 Jun 2014 22:39:11 +0200</pubDate>
</item>
<item>
    <title>Use logging for errors in the pytouhou script.</title>
    <link>https://hg.linkmauve.fr/touhou/log/bafe6361c0af/scripts/pytouhou</link>
    <description><![CDATA[Use logging for errors in the pytouhou script.]]></description>
    <author>&#69;&#109;&#109;&#97;&#110;&#117;&#101;&#108;&#32;&#71;&#105;&#108;&#32;&#80;&#101;&#121;&#114;&#111;&#116;&#32;&#60;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#64;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#46;&#102;&#114;&#62;</author>
    <pubDate>Thu, 05 Jun 2014 18:47:31 +0200</pubDate>
</item>
<item>
    <title>Make both double- and single-buffer available on the CLI, but default to SDL’s default.</title>
    <link>https://hg.linkmauve.fr/touhou/log/653a9f087673/scripts/pytouhou</link>
    <description><![CDATA[Make both double- and single-buffer available on the CLI, but default to SDL’s default.]]></description>
    <author>&#69;&#109;&#109;&#97;&#110;&#117;&#101;&#108;&#32;&#71;&#105;&#108;&#32;&#80;&#101;&#121;&#114;&#111;&#116;&#32;&#60;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#64;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#46;&#102;&#114;&#62;</author>
    <pubDate>Fri, 30 May 2014 04:06:09 +0200</pubDate>
</item>
<item>
    <title>Refactor graphics backend selection, to make them fallbackable and optional.</title>
    <link>https://hg.linkmauve.fr/touhou/log/8f51e34d911c/scripts/pytouhou</link>
    <description><![CDATA[Refactor graphics backend selection, to make them fallbackable and optional.]]></description>
    <author>&#69;&#109;&#109;&#97;&#110;&#117;&#101;&#108;&#32;&#71;&#105;&#108;&#32;&#80;&#101;&#121;&#114;&#111;&#116;&#32;&#60;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#64;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#46;&#102;&#114;&#62;</author>
    <pubDate>Thu, 29 May 2014 12:31:55 +0200</pubDate>
</item>
<item>
    <title>Add a very simple sample interface.</title>
    <link>https://hg.linkmauve.fr/touhou/log/56bca8ce4b68/scripts/pytouhou</link>
    <description><![CDATA[Add a very simple sample interface.]]></description>
    <author>&#69;&#109;&#109;&#97;&#110;&#117;&#101;&#108;&#32;&#71;&#105;&#108;&#32;&#80;&#101;&#121;&#114;&#111;&#116;&#32;&#60;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#64;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#46;&#102;&#114;&#62;</author>
    <pubDate>Fri, 08 Nov 2013 18:48:30 +0100</pubDate>
</item>
<item>
    <title>Make EoSDInterface separate from EoSD game.</title>
    <link>https://hg.linkmauve.fr/touhou/log/1e9ea6519f3c/scripts/pytouhou</link>
    <description><![CDATA[Make EoSDInterface separate from EoSD game.]]></description>
    <author>&#69;&#109;&#109;&#97;&#110;&#117;&#101;&#108;&#32;&#71;&#105;&#108;&#32;&#80;&#101;&#121;&#114;&#111;&#116;&#32;&#60;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#64;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#46;&#102;&#114;&#62;</author>
    <pubDate>Wed, 21 May 2014 20:56:53 +0200</pubDate>
</item>
<item>
    <title>Always import runners from pytouhou.vm, to allow their replacement.</title>
    <link>https://hg.linkmauve.fr/touhou/log/e35bef07290d/scripts/pytouhou</link>
    <description><![CDATA[Always import runners from pytouhou.vm, to allow their replacement.]]></description>
    <author>&#69;&#109;&#109;&#97;&#110;&#117;&#101;&#108;&#32;&#71;&#105;&#108;&#32;&#80;&#101;&#121;&#114;&#111;&#116;&#32;&#60;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#64;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#46;&#102;&#114;&#62;</author>
    <pubDate>Fri, 08 Nov 2013 18:47:00 +0100</pubDate>
</item>
<item>
    <title>Rename the eosd script into pytouhou, and remove the obsolete pcb one.</title>
    <link>https://hg.linkmauve.fr/touhou/log/94dd9862c470/scripts/pytouhou</link>
    <description><![CDATA[Rename the eosd script into pytouhou, and remove the obsolete pcb one.]]></description>
    <author>&#69;&#109;&#109;&#97;&#110;&#117;&#101;&#108;&#32;&#71;&#105;&#108;&#32;&#80;&#101;&#121;&#114;&#111;&#116;&#32;&#60;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#64;&#108;&#105;&#110;&#107;&#109;&#97;&#117;&#118;&#101;&#46;&#102;&#114;&#62;</author>
    <pubDate>Wed, 21 May 2014 20:52:42 +0200</pubDate>
</item>

  </channel>
</rss>
