mirror of
https://github.com/Nexoniarz/Fry3DX.git
synced 2026-11-03 12:34:27 +00:00
- Apache License 2.0 - Windows: cross-built with clang-cl (cmake --preset windows), a window program with its icon; Linux: a portable preset (SDL and the C++ library inside); Android: android/build_apk.py makes the APK - tools/package.py packs the downloads; a GitHub workflow builds all three and makes a release for a v* tag - A phone layout (fry_touch, on by default on Android): the UI drawn bigger, panels when asked for, a bar of big buttons, one finger to turn the view, two to move and pinch, a long press for a right-click; files through the phone's file picker - Settings and autosaves now in a Nexoniarz folder (copied over once) - README rewritten, the website shows the downloads and the phone Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NMSrd5oe1GpUD7E6d825KP
26 lines
1.2 KiB
Python
Executable file
26 lines
1.2 KiB
Python
Executable file
#!/usr/bin/env python3
|
|
"""Writes a clang VFS overlay that makes the xwin CRT/SDK headers case-insensitive (Windows code
|
|
includes <Winsock2.h>, <WinSock2.h>, <winsock2.h>... and Linux filesystems care)."""
|
|
import json, os, sys
|
|
|
|
root, out = sys.argv[1], sys.argv[2]
|
|
dirs = ["crt/include", "sdk/include/ucrt", "sdk/include/um", "sdk/include/shared", "sdk/include/winrt"]
|
|
|
|
def tree(path):
|
|
entries = []
|
|
for name in sorted(os.listdir(path)):
|
|
full = os.path.join(path, name)
|
|
if os.path.islink(full) and name.lower() == os.readlink(full).lower():
|
|
continue # xwin's lowercase alias: the overlay covers every casing already
|
|
if os.path.isdir(full):
|
|
entries.append({"type": "directory", "name": name, "contents": tree(full)})
|
|
else:
|
|
entries.append({"type": "file", "name": name, "external-contents": os.path.realpath(full)})
|
|
return entries
|
|
|
|
overlay = {"version": 0, "case-sensitive": "false", "overlay-relative": False,
|
|
"roots": [{"type": "directory", "name": os.path.join(root, d), "contents": tree(os.path.join(root, d))} for d in dirs]}
|
|
tmp = out + f".{os.getpid()}"
|
|
with open(tmp, "w") as f:
|
|
json.dump(overlay, f)
|
|
os.replace(tmp, out)
|