McRogueFace/wasm_stdlib/lib/python3.14/encodings
John McCardle 8c3128e29c WASM Python integration milestone - game.py runs in browser
Major milestone for issue #158 (Emscripten/WebAssembly build target):
- Python 3.14 successfully initializes and runs in WASM
- mcrfpy module loads and works correctly
- Game scripts execute with full level generation
- Entities (boulders, rats, cyclops, spawn points) placed correctly

Key changes:
- CMakeLists.txt: Add 2MB stack, Emscripten link options, preload files
- platform.h: Add WASM-specific implementations for executable paths
- HeadlessTypes.h: Make Texture/Font/Sound stubs return success
- CommandLineParser.cpp: Guard filesystem operations for WASM
- McRFPy_API.cpp: Add WASM path configuration, debug output
- game.py: Make 'code' module import optional (not available in WASM)
- wasm_stdlib/: Add minimal Python stdlib for WASM (~4MB)

Build with: emmake make (from build-emscripten/)
Test with: node mcrogueface.js

Next steps:
- Integrate VRSFML for actual WebGL rendering
- Create HTML page to host WASM build
- Test in actual browsers

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 05:15:11 -05:00
..
__init__.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
_win_cp_codecs.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
aliases.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
ascii.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
base64_codec.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
big5.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
big5hkscs.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
bz2_codec.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
charmap.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp037.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp273.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp424.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp437.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp500.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp720.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp737.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp775.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp850.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp852.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp855.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp856.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp857.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp858.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp860.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp861.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp862.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp863.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp864.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp865.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp866.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp869.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp874.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp875.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp932.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp949.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp950.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp1006.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp1026.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp1125.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp1140.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp1250.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp1251.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp1252.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp1253.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp1254.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp1255.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp1256.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp1257.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
cp1258.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
euc_jis_2004.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
euc_jisx0213.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
euc_jp.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
euc_kr.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
gb2312.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
gb18030.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
gbk.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
hex_codec.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
hp_roman8.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
hz.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
idna.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
iso2022_jp.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
iso2022_jp_1.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
iso2022_jp_2.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
iso2022_jp_3.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
iso2022_jp_2004.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
iso2022_jp_ext.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
iso2022_kr.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
iso8859_1.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
iso8859_2.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
iso8859_3.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
iso8859_4.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
iso8859_5.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
iso8859_6.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
iso8859_7.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
iso8859_8.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
iso8859_9.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
iso8859_10.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
iso8859_11.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
iso8859_13.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
iso8859_14.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
iso8859_15.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
iso8859_16.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
johab.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
koi8_r.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
koi8_t.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
koi8_u.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
kz1048.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
latin_1.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
mac_arabic.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
mac_croatian.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
mac_cyrillic.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
mac_farsi.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
mac_greek.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
mac_iceland.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
mac_latin2.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
mac_roman.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
mac_romanian.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
mac_turkish.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
mbcs.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
oem.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
palmos.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
ptcp154.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
punycode.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
quopri_codec.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
raw_unicode_escape.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
rot_13.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
shift_jis.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
shift_jis_2004.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
shift_jisx0213.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
tis_620.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
undefined.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
unicode_escape.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
utf_7.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
utf_8.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
utf_8_sig.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
utf_16.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
utf_16_be.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
utf_16_le.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
utf_32.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
utf_32_be.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
utf_32_le.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
uu_codec.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00
zlib_codec.py WASM Python integration milestone - game.py runs in browser 2026-01-31 05:15:11 -05:00