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>
This commit is contained in:
parent
07fd12373d
commit
8c3128e29c
222 changed files with 80639 additions and 25 deletions
|
|
@ -11,11 +11,13 @@ CommandLineParser::ParseResult CommandLineParser::parse(McRogueFaceConfig& confi
|
|||
current_arg = 1; // Reset for each parse
|
||||
|
||||
// Detect if running as Python interpreter
|
||||
#ifndef __EMSCRIPTEN__
|
||||
std::filesystem::path exec_name = std::filesystem::path(argv[0]).filename();
|
||||
if (exec_name.string().find("python") == 0) {
|
||||
config.headless = true;
|
||||
config.python_mode = true;
|
||||
}
|
||||
#endif
|
||||
|
||||
while (current_arg < argc) {
|
||||
std::string arg = argv[current_arg];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue