Sprites werden gespiegelt dargestellt

  • Hallo,
    ich habe mal eine triviale Frage. Ich befasse mich derzeit interessehalber etwas intensiver mit Glitches der ersten und zweiten Pkmn Edition. Dazu lassen sich einige gute deutsch- und englischsprachige Videos im Netz finden und es macht mir auch großen Spaß einige der gezeigten Möglichkeiten am Gamoboy oder am PC nachzuspielen. Man stößt auf interessante Dinge. Nun interessiert mich nicht nur der Glitch an sich oder was er für Effekte hat, sondern vielmehr auch das "Warum?". Nun bin ich längst ja kein Laie mehr was Hacking betrifft und begreife auch geringfügig das Prinzip der Rominfrastruktur (kann man das so sagen?). Also anders gesagt der Glitch funktioniert da und dort weil das und jenes passiert, welches wiederum auf eine Veränderung von diesen Bytes zurückzuführen ist, usw. (Z.B. 8F oder Münkorb Glitch)


    Nun zur eigentlichen Frage:
    Ich habe bisher noch nicht herausgefunden warum es bei manchen Glitches vorkommt, dass die eigenen oder gegnerischen Sprites plötzlich spiegelverkehrt dargestellt werden. (Kampfscreen, Status, Ruhmeshalle). Einige Glitchpokémon wie Missiigno. , M und die alten bekannten aber auch einige der zahlreichen unbekannteren Glitchpokémon, selber schon erlebt scheinen random diesen Effekt auszulösen.
    Warum?


    Sind in der Rom denn alle Sprites nochmal spiegelverkehrt hinterlegt und wenn ja warum? Gibt es eine Situation ingame wo einem die Sprites gespiegelt angezeigt werden (z.B. Tausch via Linkkabel, usw)
    Weil ich kann es mir nicht vorstellen.
    Andererseits wäre es ein ziemlicher Zufall, dass ein Glitch einfach mal so die Sprites rückwärts darstellt. Denn nach meinem Verständnis müssten die Bytes dafür rückwärts ausgelesen werden (in umgekehrter Reihenfolge), allerdings Zeile für Zeile fortlaufend.


    Beide Erklärung kann ich mir nicht vorstellen und ich konnte leider nach akribischer Suche im Netz dazu nichts finden. Da viele von euch aber davon sichtlich Ahnung haben , auch wenn ihr zumeist Sprites in Gen3 erstellt, hat vllt doch einer eine Idee, woran es liegen könnte?


    EDIT: Ich hatte gerade spontan noch einen Einfall. So gab es doch in gen 1/2 eine "Druckenfunktion". Konnte man doch per Link Kabel einen Drucker anschließen und Pkmn ausdrucken. Kann es sein, dass diese Sprites spiegelverkehrt gedruckt worden. Denn wenn ja dann macht das alles Sinn. Selber diese Funktion nie genutzt, warum auch?

  • Hi,


    Aus Gen 3+ Sicht weiß ich, dass die Sprites im Statusbericht spiegelverkehrt angezeigt werden, obwohl man nur den nach links sehenden Sprite in der ROM hat. Gen 1 habe ich nicht im Kopf, aber wenn ja, dann ist auf jeden Fall der Befehlsscript dafür vorhanden. Soviel zu der Frage

    Zitat

    Sind in der Rom denn alle Sprites nochmal spiegelverkehrt hinterlegt und wenn ja warum? Gibt es eine Situation ingame wo einem die Sprites gespiegelt angezeigt werden (z.B. Tausch via Linkkabel, usw)
    Weil ich kann es mir nicht vorstellen.
    Andererseits wäre es ein ziemlicher Zufall, dass ein Glitch einfach mal so die Sprites rückwärts darstellt. Denn nach meinem Verständnis müssten die Bytes dafür rückwärts ausgelesen werden (in umgekehrter Reihenfolge), allerdings Zeile für Zeile fortlaufend.


    MfG

  • Hallo, Ich kann leider nicht allzu viel Insight zu Generation 1 und 2 geben, da kenne ich mich dann doch zu wenig aus, daher das folgende mit entsprechender Vorsicht zu genießen:


    Folgende Gedanken:


    Die meisten PPUs (~Grafikkarte deines Handhelds), z.B. die vom GBA, unterstützen Spiegelung, da wird einfach nur ein Bit im Memory gesetzt, und im nächsten Frame flippt der Sprite, das geht relativ einfach, und kann vermutlich auch "unabsichtlich" passieren, wenn man größere Memory Chunks, beispielsweise durch einen Glitch, überschreibt.


    Die Grafiken müssen dabei nicht selbst gespiegelt hinterlegt sein, das berechnet die PPU Hardware on the fly.


    ~Sturmvogel


    Let the old ways live and prosper in the hearts of our young