Zum Inhalt springen

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

Nintendo Switch, Nintendo Switch: Update ,

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

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.

7 Kommentare

  1. Das Update kam schneller als ich es erwartet habe! Gute Leitung!
    Freue mich auf die finale Version vom nx-Moduls.

  2. Ganz genau! Du kannst jetzt einen BotW Savedata Editor in Python schreiben :D

  3. Wow, hab gar nicht mit einem weiteren Artikel gerechnet, vielen Dank! Ich steh' wie immer für Fragen zur Verfügung. :)

    1. Zu jedem Update gibts nen Artikel :D

      1. Na dann, gleich kommt ein Bugfix-Release xD

  4. Jetzt fehlt nur noch ein Programm, womit man sein Script und die PyNX-Binary in eine NRO mit eigenen Infos packen kann.

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