AileenLumina und DavidBuchanan314 haben ihren Python-Port für die Switch aktualisiert.
UPDATE: v0.3.1-alpha fixt einen Fehler, bei dem PyNX abstürzte, wenn auf den aktuellen User per "nx.users.active_user" zugegriffen wurde.
In dieser Version wurde das CPython-Modul "_nx" integriert, welches einen Wrapper um native libnx-Funktionen darstellt. Mit dabei ist auch eine frühe Version des nx-Moduls, welches eben dieses CPython-Modul leicht zugänglich macht. Momentan kann damit auf Speicherdaten und Controller-Inputs zugegriffen werden.
Beispiel:
import nx while True: if nx.p1.a_button.is_pressed: print("a", end="")
Dieser Code gibt "a" aus, wenn der A-Button von Spieler 1 gedrückt wird.
Zweites Beispiel für Speicherdaten:
import nx BOTW_TITLE_ID = 0x01007ef00011e000 # title IDs are just hexadecimal numbers botw = nx.titles[BOTW_TITLE_ID] with botw.savedata.open('0/save_game.sav') as savegame_file: # do something with savegame_file, it's just a regular file object
Dies öffnet die Speicherdatei von Zelda: Breath of the Wild. Damit lassen sich bspw. Savegame-Editoren in Python schreiben!
Achja: "Pynx" schreibt sich jetzt außerdem "PyNX".
Changelog
v0.3.1-alpha: Hotfix: Accessing the currently active user via nx.users.active_user shouldn't crash PyNX anymore. v0.3.0-alpha: This release adds the _nx CPython extension module and the nx package. This allows developers to access Switch-specific functionalities. For now, only savedata access and basic controller input are implemented.