view index.tpl.xhtml @ 0:0a1d0ab5f518

Initial commit.
author Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
date Thu, 07 Sep 2017 15:04:29 +0100
parents
children
line wrap: on
line source

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{% load i18n %}{% get_current_language as LANGUAGE_CODE %}{{ LANGUAGE_CODE }}" lang="{{ LANGUAGE_CODE }}">

<head>

	<meta charset="UTF-8"/>

	<title>PyTouhou</title>
	<meta name="description" content="{% trans 'Libre reimplementation of the Touhou 6 engine in Python' %}"/>

	<link rel="icon" type="image/png" sizes="32x32" href="/logo/pytouhou-32.png"/>
	<link rel="icon" type="image/svg+xml" sizes="any" href="/logo/pytouhou.svg"/>
	<link rel="stylesheet" type="text/css" href="/style/pytouhou.css"/>

	<meta name="viewport" content="width=device-width, initial-scale=1"/>

{% for lang in AVAILABLE_LANGUAGES %}	<link rel="alternate" hreflang="{{lang}}" href="/{% if lang != 'en' %}index.{{lang}}.xhtml{% endif %}"/>
{% endfor %}
	<meta property="og:title" content="PyTouhou"/>
	<meta property="og:description" content="Libre reimplementation of the Touhou 6 engine in Python"/>
	<meta property="og:image" content="https://pytouhou.linkmauve.fr/screenshots/big/s6-07.png"/>
	<meta property="og:type" content="website"/>
	<meta property="og:url" content="https://pytouhou.linkmauve.fr/"/>

</head>

<body>

<header>

	<h1><span>P</span>y<span>T</span>ouhou</h1>
	<h3>{% trans 'Libre reimplementation of the Touhou 6 engine in Python' %}</h3>

	<p>{% trans 'This page is also available in:' %}</p>
	<ul>
{% for lang in AVAILABLE_LANGUAGES %}{% if lang != LANGUAGE_CODE %}		<li><a lang="{{lang}}" hreflang="{{lang}}" href="/{% if lang != 'en' %}index.{{lang}}.xhtml{% endif %}">{{ lang|language_name_local }}</a></li>
{% endif %}{% endfor %}	</ul>

	<p>{% trans 'Further links about this project:' %}</p>
	<ul>
		<li>{% blocktrans with room='xmpp:touhou@muc.linkmauve.fr?join' webclient='//candy.linkmauve.fr/#touhou@muc.linkmauve.fr' logs='/logs/' %}<a href="{{room}}">XMPP room</a>, to speak with us (with a <a href="{{webclient}}">webclient</a> and <a href="{{logs}}">logs</a>){% endblocktrans %}</li>
		<li>{% blocktrans with repository='//hg.linkmauve.fr/touhou' mercurial='https://www.mercurial-scm.org/' %}<a href="{{repository}}">Repository</a>, where you can get the sources, using <a href="{{mercurial}}">Mercurial</a>{% endblocktrans %}</li>
		<!--<li>{% blocktrans with bugtracker='/bugs/' %}<a href="{{bugtracker}}">Bug tracker</a>{% endblocktrans %}</li>-->
		<li>{% blocktrans with documentation='/doc/' %}<a href="{{documentation}}">Documentation</a>{% endblocktrans %}</li>
	</ul>

</header>


<section id="download">

	<h2>{% trans 'Download' %}</h2>

	<div class="os"><img alt="logo" src="/os/archlinux.svg"/><p><a href="/download/archlinux/" title="{% trans 'ArchLinux' %}">{% trans 'ArchLinux' %}</a></p></div>
	<div class="os"><img alt="logo" src="/os/debian.svg"/><p><a href="/download/debian/" title="{% trans 'Debian' %}">{% trans 'Debian' %}</a></p></div>
	<div class="os"><img alt="logo" src="/os/haiku.svg"/><p><a href="/download/haiku/" title="{% trans 'Haiku' %}">{% trans 'Haiku' %}</a></p></div>
	<div class="os"><img alt="logo" src="/os/linux.svg"/><p><a href="/download/linux/" title="{% trans 'Linux' %}">{% trans 'Linux' %}</a></p></div>
	<div class="os"><img alt="logo" src="/os/pandora.svg"/><p><a href="/download/pandora" title="{% trans 'Pandora' %}">{% trans 'Pandora' %}</a></p></div>
	<div class="os"><img alt="logo" src="/os/osx.svg"/><p><a href="/download/osx/" title="{% trans 'OSX' %}">{% trans 'OSX' %}</a></p></div>
	<div class="os"><img alt="logo" src="/os/ubuntu.svg"/><p><a href="/download/ubuntu/" title="{% trans 'Ubuntu' %}">{% trans 'Ubuntu' %}</a></p></div>
	<div class="os"><img alt="logo" src="/os/windows.svg"/><p><a href="/download/windows/" title="{% trans 'Windows' %}">{% trans 'Windows' %}</a></p></div>

	<p>{% trans 'Note that the Debian/Ubuntu package won’t work before Debian Jessie (8.0) or Ubuntu Trusty (14.04), due to missing dependencies.' %}<br/>
	{% trans 'Furthermore, you are more than welcome to make a package for your OS of choice, if you do so please contact us. ☺' %}</p>

</section>


<section id="building">

	<h2>{% trans 'Build from the source' %}<br/>
	<small>({% trans 'if you don’t use our packages' %})</small></h2>

	<p>{% trans 'You will need:' %}</p>
	<ul>
		<li>{% blocktrans with python='https://www.python.org/' python_version='3.4+' %}<a href="{{python}}">Python</a> {{python_version}}, the interpreter, as well as the headers and shared objects needed to compile with Cython.{% endblocktrans %}</li>
		<li>{% blocktrans with mercurial='https://www.mercurial-scm.org/' %}<a href="{{mercurial}}">Mercurial</a>, to download the sources and keep them up-to-date, as we currently don't provide stable releases.{% endblocktrans %}</li>
		<li>{% blocktrans with cython='http://cython.org/' cython_version='0.19' %}<a href="{{cython}}">Cython</a> (at least {{cython_version}}), for the SDL 2.0 and OpenGL bindings, and for performance reasons.{% endblocktrans %}</li>
		<li>{% blocktrans with sdl='https://libsdl.org/' sdl_image='https://libsdl.org/projects/SDL_image' sdl_mixer='https://libsdl.org/projects/SDL_mixer' sdl_ttf='https://libsdl.org/projects/SDL_ttf' %}<a href="{{sdl}}">SDL 2.0</a>, for window creation and input handling, <a href="{{sdl_image}}">SDL2_image</a> for PNG loading, <a href="{{sdl_mixer}}">SDL2_mixer</a> for music playback and <a href="{{sdl_ttf}}">SDL2_ttf</a> for text rendering.{% endblocktrans %}</li>
		<li>{% blocktrans with libepoxy='https://github.com/anholt/libepoxy' %}<a href="{{libepoxy}}">libepoxy</a>, to detect OpenGL profiles and features available at runtime, making a single build run on every GPU and driver.{% endblocktrans %}</li>
		<li>{% blocktrans with mesa='http://mesa3d.org/' %}And finally a working OpenGL 2.1+ or 1.4 implementation, like <a href="{{mesa}}">Mesa</a> for example.{% endblocktrans %}</li>
		<li>{% blocktrans with gtk='http://www.gtk.org/' gtk_version='3.10+' %}Optionally, you can install <a href="{{gtk}}">GTK+</a> ({{gtk_version}}) to get a graphical menu.{% endblocktrans %}</li>
	</ul>

	<p>{% blocktrans with clone_command='<code>hg clone https://hg.linkmauve.fr/touhou</code>' build_command='<code>python3 setup.py build</code>' install_command='<code>python3 setup.py install</code>' inplace_build_command='<code>python3 setup.py build_ext --inplace</code>' run_command='<code>PYTHONPATH=. scripts/pytouhou</code>' %}Then retrieve the sources with {{clone_command}}, compile it with {{build_command}} and install it with {{install_command}}. If you prefer to run it from the sources directory, use {{inplace_build_command}} instead, and then run it with {{run_command}}.{% endblocktrans %}</p>

</section>


<section id="getthegame">

	<h2>{% trans 'How to get the game' %}</h2>

	<p>{% trans 'For now you will need either the demo or the commercial version of <a href="http://en.touhouwiki.net/wiki/Embodiment_of_Scarlet_Devil">Touhou 6 ~ Embodiment of Scarlet Devil</a>.' %}<br/>
	{% blocktrans with th06_download_page='http://www16.big.or.jp/~zun/html/th06.html' th06_demo='http://www16.big.or.jp/~zun/data/soft/kouma_tr013.lzh' libarchive_url='http://libarchive.org/' bsdtar='<code>bsdtar</code>' convmv_url='https://j3e.de/linux/convmv/' convmv='<code>convmv</code>' %}The demo is available on the <a href="{{th06_download_page}}">official download page</a> or directly by clicking on <a href="{{th06_demo}}">this link</a>, then unarchive it with something like <a href="{{libarchive_url}}">libarchive</a>’s {{bsdtar}}, and convert the filenames from CP932 using something like <a href="{{convmv_url}}">{{convmv}}</a>.{% endblocktrans %}<br/>
	{% trans 'Sorry about that, but those files aren’t redistributable in a friendlier format.' %}</p>

</section>


<section id="play">

	<h2>{% trans 'How to play' %}</h2>

	<p>{% blocktrans with help_command='<code>pytouhou --help</code>' %}{{help_command}} should tell you everything you need about the options. If something is not clear, please tell us. For the gameplay, everything you need can be found on <a href="http://en.touhouwiki.net/wiki/Embodiment_of_Scarlet_Devil/Gameplay">touhouwiki.net</a>.{% endblocktrans %}</p>

</section>


<section id="issues">

	<h2>{% trans 'Known issues' %}</h2>

	<ul>
		<li>{% trans 'There are inaccuracies everywhere, don’t expect it to be able to use a replay recorded on the original engine.' %}</li>
		<li>{% trans 'Bombs are not implemented, and are probably not going to be any time soon.' %}</li>
		<li>{% trans 'Some boss spellcards are unimplemented or don’t behave correctly.' %}</li>
		<li>{% trans 'Scoring isn’t correct.' %}</li>
	</ul>

</section>


<section id="screenshots">

	<h2>{% trans 'Screenshots' %}</h2>

	<a href="/screenshots/big/s1-01.png"><img src="/screenshots/s1-01.jpeg" alt="{% blocktrans with stage=1 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s1-02.png"><img src="/screenshots/s1-02.jpeg" alt="{% blocktrans with stage=1 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s1-03.png"><img src="/screenshots/s1-03.jpeg" alt="{% blocktrans with stage=1 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s1-04.png"><img src="/screenshots/s1-04.jpeg" alt="{% blocktrans with stage=1 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s2-01.png"><img src="/screenshots/s2-01.jpeg" alt="{% blocktrans with stage=2 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s2-02.png"><img src="/screenshots/s2-02.jpeg" alt="{% blocktrans with stage=2 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s3-01.png"><img src="/screenshots/s3-01.jpeg" alt="{% blocktrans with stage=3 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s3-02.png"><img src="/screenshots/s3-02.jpeg" alt="{% blocktrans with stage=3 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s3-03.png"><img src="/screenshots/s3-03.jpeg" alt="{% blocktrans with stage=3 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s3-04.png"><img src="/screenshots/s3-04.jpeg" alt="{% blocktrans with stage=3 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s3-05.png"><img src="/screenshots/s3-05.jpeg" alt="{% blocktrans with stage=3 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s4-01.png"><img src="/screenshots/s4-01.jpeg" alt="{% blocktrans with stage=4 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s4-02.png"><img src="/screenshots/s4-02.jpeg" alt="{% blocktrans with stage=4 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s4-03.png"><img src="/screenshots/s4-03.jpeg" alt="{% blocktrans with stage=4 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s5-01.png"><img src="/screenshots/s5-01.jpeg" alt="{% blocktrans with stage=5 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s6-01.png"><img src="/screenshots/s6-01.jpeg" alt="{% blocktrans with stage=6 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s6-02.png"><img src="/screenshots/s6-02.jpeg" alt="{% blocktrans with stage=6 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s6-03.png"><img src="/screenshots/s6-03.jpeg" alt="{% blocktrans with stage=6 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s6-04.png"><img src="/screenshots/s6-04.jpeg" alt="{% blocktrans with stage=6 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s6-05.png"><img src="/screenshots/s6-05.jpeg" alt="{% blocktrans with stage=6 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s6-06.png"><img src="/screenshots/s6-06.jpeg" alt="{% blocktrans with stage=6 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s6-07.png"><img src="/screenshots/s6-07.jpeg" alt="{% blocktrans with stage=6 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s6-08.png"><img src="/screenshots/s6-08.jpeg" alt="{% blocktrans with stage=6 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s7-01.png"><img src="/screenshots/s7-01.jpeg" alt="{% blocktrans with stage=7 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s7-02.png"><img src="/screenshots/s7-02.jpeg" alt="{% blocktrans with stage=7 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s7-03.png"><img src="/screenshots/s7-03.jpeg" alt="{% blocktrans with stage=7 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s7-04.png"><img src="/screenshots/s7-04.jpeg" alt="{% blocktrans with stage=7 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s7-05.png"><img src="/screenshots/s7-05.jpeg" alt="{% blocktrans with stage=7 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s7-06.png"><img src="/screenshots/s7-06.jpeg" alt="{% blocktrans with stage=7 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s7-07.png"><img src="/screenshots/s7-07.jpeg" alt="{% blocktrans with stage=7 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s7-08.png"><img src="/screenshots/s7-08.jpeg" alt="{% blocktrans with stage=7 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>
	<a href="/screenshots/big/s7-09.png"><img src="/screenshots/s7-09.jpeg" alt="{% blocktrans with stage=7 %}Stage {{stage}}{% endblocktrans %}" width="128" height="96"/></a>

</section>

<!--
{% trans 'Source code of this website:' %} https://pytouhou.linkmauve.fr/source/
-->

</body>

</html>