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.
Das Update kam schneller als ich es erwartet habe! Gute Leitung!
Freue mich auf die finale Version vom nx-Moduls.
Ganz genau! Du kannst jetzt einen BotW Savedata Editor in Python schreiben 😀
Wow, hab gar nicht mit einem weiteren Artikel gerechnet, vielen Dank! Ich steh' wie immer für Fragen zur Verfügung. 🙂
Zu jedem Update gibts nen Artikel 😀
Na dann, gleich kommt ein Bugfix-Release xD
Jetzt fehlt nur noch ein Programm, womit man sein Script und die PyNX-Binary in eine NRO mit eigenen Infos packen kann.
Wurde schon fürs Homebrew Menu angefragt: https://github.com/switchbrew/nx-hbmenu/issues/25 wäre die deutlich bessere Methode, als PyNX mit JEDER Homebrew mitzupacken, würde alles unnötig aufblähen.