docs/templates/pages/index.html

72 lines
3.4 KiB
HTML
Raw Normal View History

2021-12-28 21:54:12 +01:00
{% extends "base.html" %}
{% block body %}
<h1>Benami/Konami e-Amusement API</h1>
2022-01-17 23:10:57 +01:00
<p>The pages across this mini-site aim to totally document, to the best of my ability, the API used for E-Amusement
(XRPC), some of its inner workings, how to interface with it both as a client and a server, and how to perform this
sort of analysis yourself.</p>
<p>If you just want a plug-and-play library, this is not it. If you're here for knowledge, my aim is that this is
<i>the</i> most comprehensive public documentation, so you're hopefully in the right place.
</p>
2021-12-28 21:54:12 +01:00
2022-01-17 23:16:36 +01:00
<i><a href="./motiviation.html">I moved the big block about why these page exist, because it was getting painfully
2022-02-04 02:42:19 +01:00
long.</a></i>
<p>If you run into a mistake on these pages and want to raise an issue, either open one on
<a href="https://gitea.tendokyu.moe/eamuse/universe">the big meta-repo</a> or feel free to get in touch directly.
</p>
2022-01-17 23:16:36 +01:00
2021-12-28 21:54:12 +01:00
<h2>Contents</h2>
2022-01-17 23:10:57 +01:00
<ol start="0">
<li><a href="./getting_started.html">Getting started and following along</a></li>
<ul>
<li>A quick one-stop shop for getting setup with the tools you'll want on hand if you want to investigate things
for yourself.</li>
</ul>
2021-12-28 21:54:12 +01:00
<li><a href="./transport.html">Transport layer</a></li>
<ol>
<li><a href="./transport.html#packet">Packet structure</a></li>
<li><a href="./transport.html#type">Types</a></li>
</ol>
<li><a href="./packet.html">The inner packet structure</a></li>
<ol>
<li><a href="./packet.html#xml">XML packets</a></li>
<li><a href="./packet.html#binary">Binary packed packets</a></li>
<li><a href="./packet.html#schema">Binary schemas</a></li>
<li><a href="./packet.html#data">Binary data</a></li>
</ol>
<li><a href="./protocol.html">Communication protocol details</a></li>
<ul>
<li>There are a crazy number of sub pages here, so just go check the contents there.</li>
</ul>
2021-12-29 05:39:45 +01:00
<li><a href="./server.html">Let's write a server</a></li>
<ol>
<li><a href="./server.html#groundwork">Groundwork</a></li>
<li><a href="./server.html#handlers">Implementing handlers</a></li>
<li><a href="./server.html#extra">Extra endpoints</a></li>
</ol>
2021-12-28 21:54:12 +01:00
<li>Misc pages</li>
<ol>
<li><a href="./cardid.html">Parsing and converting card IDs</a></li>
</ol>
</ol>
2022-01-17 23:10:57 +01:00
<h2>Code snippets</h2>
<p>Across these pages there are a number of code snippets. They roughly break down into three categories:</p>
<ul>
<li>Assembly: Directly disassembled code from game binaries</li>
<li>C: Either raw decompilation, or slightly cleaned up decompilation</li>
<li>Python: Snippets from my local testing implementations</li>
<li>Pseudocode: Used to illustrate some points. Note that it probably started life as Python before being
pseudo'd</li>
</ul>
<p>If you yoink chunks of Python code, attribution is always appreciated, but consider it under CC0 (just don't be
that person who tries to take credit for it, yeah?).</p>
<p>Assembly and C snippets often come with an accompanying filename and address. If you're interested in learning how
things work in more detail, I'd strongly recommend checking them out. Not all games come with the same version of
files; the provided addresses are for build SDVX build KFC-2019020600, using the default base offset.</p>
2021-12-28 21:54:12 +01:00
<a href="./transport.html">Next page</a>
{% endblock %}