Add GitHub link, add more notes to index

This commit is contained in:
2024-04-23 21:03:51 -05:00
parent feba95449f
commit 4b1f66607e
2 changed files with 71 additions and 5 deletions

View File

@@ -20,7 +20,7 @@ This is an experimental repository while testing a Rust + SDL2 project built wit
- [X] TTF
- [ ] GFX
- All of these libraries are common and necessary for a lot of projects. Ensuring they work is important.
- [ ] Example of External Javascript Interop
- [X] Example of External Javascript Interop
- The basic ability to provide some kind of Javascript binding would be important for a decent web-based project or game.
- The ability to use localStorage, fetch, or some browser-only API would be important.

View File

@@ -4,19 +4,77 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="build.css" />
<title>rust-sdl2-emscripten</title>
<style>
.github-corner:hover .octo-arm {
animation: octocat-wave 560ms ease-in-out;
}
@keyframes octocat-wave {
0%,
100% {
transform: rotate(0);
}
20%,
60% {
transform: rotate(-25deg);
}
40%,
80% {
transform: rotate(10deg);
}
}
@media (max-width: 500px) {
.github-corner:hover .octo-arm {
animation: none;
}
.github-corner .octo-arm {
animation: octocat-wave 560ms ease-in-out;
}
}
</style>
</head>
<body class="m-0 p-0 bg-black text-white">
<a
href="https://github.com/Xevion/rust-sdl2-emscripten"
class="github-corner"
aria-label="View source on GitHub"
><svg
width="80"
height="80"
viewBox="0 0 250 250"
style="
fill: #fff;
color: #151513;
position: absolute;
top: 0;
border: 0;
right: 0;
"
aria-hidden="true"
>
<path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path>
<path
d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2"
fill="currentColor"
style="transform-origin: 130px 106px"
class="octo-arm"
></path>
<path
d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z"
fill="currentColor"
class="octo-body"
></path></svg
></a>
<div class="max-w-screen-md mx-auto mt-10">
<h1 class="text-xl lowercase my-1">
<span class="px-1 rounded font-mono bg-zinc-900 border border-zinc-700"
<span class="px-1 rounded-sm font-mono bg-zinc-900 border border-zinc-700"
>rust-sdl2-emscripten</span
>
</h1>
<p class="ml-5">
This is a demo of a simple program written in Rust using the SDL2
library and compiled to WebAssembly using Emscripten. The game loop is
implemented directly in Rust and uses Emscripten's Asyncify feature, as
well as hooks to
library and compiled to WebAssembly using Emscripten. <br />
The game loop is implemented directly in Rust and uses Emscripten's Asyncify feature, using hooks to
Emscripten's <span class="code">emscripten_sleep</span> and <span class="code">emscripten_get_now</span> for sleeping and timing.
</p>
<canvas id="canvas" class="rounded border border-white/25 my-4"></canvas>
<div class="mt-2 mx-3">
@@ -24,6 +82,14 @@
<h2 class="text-xl font-mono lowercase">Notes</h2>
<p class="ml-5">
This demo uses all four SDL2 extensions; Image, Mixer, TTF, and GFX.
<br />
Builds are available in all major platforms, while Web Assembly is deployed to GitHub pages directly.
<br />
Target-specific code is used to handle platform-specific features such as networking and file I/O.
<br />
For example, volume is saved to a file on native platforms, while it is saved to local storage on the web (<a href="https://github.com/Xevion/rust-sdl2-emscripten/blob/master/src/store.rs">code</a>).
<br />
This project was created as a learning experience and test-bed for SDL2+Emscripten in support of my <a href="https://github.com/Xevion/Pac-Man">Pac-Man</a> project.
</p>
<h2 class="text-xl font-mono mt-1 lowercase">Controls</h2>
<ul class="ml-5 *:my-1">