Skip to content

Commit

Permalink
Publish 0.7.0
Browse files Browse the repository at this point in the history
  • Loading branch information
curiousdannii committed Dec 14, 2024
1 parent 1e8da12 commit 313c498
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 7 deletions.
9 changes: 5 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Emglken: Glk meets Emscripten
=============================

Over the years many Interactive Fiction interpreters have been written which use the Glk API, or have been adapted to do so. Emglken takes some of these interpreters, compiles them to use the [RemGlk](https://github.com/erkyrath/remglk) Glk library using [Emscripten](https://emscripten.org/), and then outputs to Javascript and WebAssembly. These interpreters, which once needed to be compiled for each distinct operating system and CPU combination, can now be run anywhere there's a modern Javascript runtime: on the web with [Parchment](https://github.com/curiousdannii/parchment), in desktop apps like [Lectrote](https://github.com/erkyrath/lectrote), or in Node.js directly.
Over the years many Interactive Fiction interpreters have been written which use the Glk API, or have been adapted to do so. Emglken takes some of these interpreters, compiles them to use the [RemGlk-rs](https://github.com/curiousdannii/remglk-rs) Glk library using [Emscripten](https://emscripten.org/), and then outputs to Javascript and WebAssembly. These interpreters, which once needed to be compiled for each distinct operating system and CPU combination, can now be run anywhere there's a modern Javascript runtime: on the web with [Parchment](https://github.com/curiousdannii/parchment), in desktop apps like [Lectrote](https://github.com/erkyrath/lectrote), or in Node.js directly.

Emglken itself doesn't have a lot of code, RemGlk does most of the work for us. What Emglken does provide is a virtual file system for Emscripten which lets RemGlk think it is running on a normal Linux filesystem, but is actually transformed to use [GlkOte](https://github.com/erkyrath/glkote)'s Dialog API. Emglken also provides a common interpreter interface to handle setting up the connections between each interpreter and GlkOte.
Emglken itself has almost no code at all; this project basically just takes care of compiling all the pieces together with the right settings, as well as providing a common JS interface to handle setting up the connections between each interpreter and GlkOte.

npm package and console app
---------------------------
Expand All @@ -17,14 +17,15 @@ emglken storyfile.gblorb
Included Projects
-----------------

Both RemGlk and the Emglken customisations are MIT licensed, as are some of the interpreters, but others are licensed under other Free Software licenses as listed below.
Emglken, RemGlk-rs and AsyncGlk (used by the console app) are MIT licensed, as are some of the interpreters, but others are licensed under other Free Software licenses as listed below.

Name | Upstream repo | License
------ | ------------- | -------
AsyncGlk | [curiousdannii/asyncglk](https://github.com/curiousdannii/asyncglk) | [MIT](https://github.com/curiousdannii/asyncglk/blob/master/LICENSE)
Bocfel | [garglk/garglk](https://github.com/garglk/garglk) | [GPL-2.0](https://github.com/garglk/garglk/blob/master/terps/bocfel/COPYING.GPLv2)/[GPL-3.0](https://github.com/garglk/garglk/blob/master/terps/bocfel/COPYING.GPLv3)
Git | [DavidKinder/Git](https://github.com/DavidKinder/Git) | [MIT](https://github.com/DavidKinder/Git/blob/master/README.txt)
Glulxe | [erkyrath/glulxe](https://github.com/erkyrath/glulxe) | [MIT](https://github.com/erkyrath/glulxe/blob/master/LICENSE)
Hugo | [hugoif/hugo-unix](https://github.com/hugoif/hugo-unix) | [BSD-2-Clause](https://github.com/hugoif/hugo-unix/blob/master/License.txt)
RemGlk | [erkyrath/remglk](https://github.com/erkyrath/remglk) | [MIT](https://github.com/erkyrath/remglk/blob/master/LICENSE)
RemGlk-rs | [curiousdannii/remglk-rs](https://github.com/curiousdannii/remglk-rs) | [MIT](https://github.com/curiousdannii/remglk-rs/blob/master/LICENSE)
Scare | [garglk/garglk](https://github.com/garglk/garglk) | [GPL-2.0](https://github.com/garglk/garglk/blob/master/terps/scare/COPYING)
TADS | [tads-intfic/tads-runner](https://github.com/tads-intfic/tads-runner) | [GPL-2.0](https://github.com/tads-intfic/tads-runner/blob/master/COPYING)
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "emglken",
"version": "0.6.0",
"version": "0.7.0",
"description": "Glk meets Emscripten",
"author": "Dannii Willis <[email protected]>",
"license": "GPL-2.0",
Expand Down Expand Up @@ -38,6 +38,7 @@
"build/*.js",
"build/*.json",
"build/*.wasm",
"src/*.js"
"src/index.js",
"versions.json"
]
}
2 changes: 1 addition & 1 deletion versions.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"git": "1.3.8",
"glulxe": "0.6.1",
"hugo": "3.1.06",
"remglk": "0.1.0",
"remglk-rs": "0.1.0",
"scare": "1.3.10",
"tads": "3.1.3"
}

0 comments on commit 313c498

Please sign in to comment.