I made a Doom source port that runs within a PDF file.
I was inspired by the recent HN post about Tetris in a PDF (https://news.ycombinator.com/item?id=42645218) and I wondered if I could get Doom to run using a similar method.
It turns out that old versions of Emscripten can compile C to asm.js code that will happily run inside the limited JS runtime of the PDF engine. I used the doomgeneric (https://github.com/ozkl/doomgeneric) fork of the original Doom source, as that made writing the IO fairly easy. All I had to do was implement a framebuffer and keyboard inputs.
Unlike previous interactive PDF demos, the output for DoomPDF is achieved by creating a text field for each row of pixels in the screen, then setting their contents to various ASCII characters. This gives me a 6 color monochrome display, that can be updated reasonably quickly (80ms per frame).
The source code is available at: https://github.com/ading2210/doompdf
Note that this PDF can only run in Chromium-based browsers that use the PDFium engine.
Comments URL: https://news.ycombinator.com/item?id=42678754
Points: 83
# Comments: 15
Connectez-vous pour ajouter un commentaire
Autres messages de ce groupe
Article URL: https://medhir.com/blog/right-to-root-access
Comments URL: ht
Article URL: http://134.0.119.41
Comments URL: https://news.ycombinator.com/item?id=42679679
Article URL: https://www.whonix.org/wiki/Homepage
Comments URL: https://news.ycomb
Article URL: https://www.qubes-os.org/doc/templates/
Comments URL: https://news