PyNX v0.3.0-alpha -> v0.3.1-alpha

AileenLumina und DavidBuchanan314 haben ihren Python-Port für die Switch aktualisiert.

DOWNLOAD

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”.