Allgemeine SMW Hacking Fragen

geschrieben am 02.08.2012 20:09:04
( Link )
...
geschrieben am 06.08.2012 18:40:22
( Link )
Arrrrg!

Entweder ich bin mal wieder zu schlecht oder mein BTSD spinnt.

Es fängt schon damit an das wenn ich die ROM mit BTSD öffne meine alten eingefügten Blöcke nicht mehr da sind.
Dachte ich tipp sie halt noch mal neu ein. Beim Schritt, bei dem man den Blöcken dann die Map16 "Zahl" zuweist, kommt aber immer. Error! Xkxa hat einen Fehler in der Assembly von blocks/(andersrum)Blockname.asm gefunden. Da dürfen keine Fehler drin sein und nichts passiert.
Die Fehlermeldung ist natürlich auf Englisch
Dann hab ich die Blöcke alle direkt zu BTSD geschoben, aber das gleiche
Selbst als ich die Blocks und die BRK Datei gelöscht habe und eine neue erstellen lassen, das gleiche.

Stehe grad echt ziemlich auf dem Schlauch.
geschrieben am 06.08.2012 21:24:51
( Link )
hast du vllt blocktool/die rom in einen anderen ordner verschoben oder benutzt ein Blocktool das an einem anderen ort ist wie das das du vorher benutzt hast?
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.

Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
geschrieben am 07.08.2012 9:02:39
( Link )
Ja, genau daran lags, neues Blooktool neue ROM und schwubs, gehts.
Jetzt muss ich halt immer wieder 10 Blöcke einfügen
geschrieben am 09.08.2012 19:40:40
( Link )
Und noch mal ich^^

3 Fragen:

1. Ich habe 2 ball and chains im Bild also quasi im gleichen Screen und egal was ich mach dem einem fehlt immer ein Teil des Stachelkreises, sobald der andere ins Bild kommt. Kann man das beheben und woran liegt das.

2. Ich benutzte folgenden Code um die Layer 3 Grafiken hinter den BG zu bekommen: (eingefügt mit LevelASM)
Code
LDA #$17
STA $212C

Nun verschwindet aber nicht nur der Layer 3 hinter dem BG, sondern auch die Piranhapflanze, welche aus der Röhre "springt".
Kann man das irgendwie beheben? Ich glaube ja nicht Kann mir aber wenigstens jemand erklären, wieso die Piranhapflanze hinter dem BG verschwindet und andere Sprites nicht.

3. WYE hat mir doch mal den Code geschrieben, der einen Block befähigt, dass keine Sprites ihn passieren können. Wieso können aber Sprites durch die Mario trägt, oder der Knochen, der von einem Drybone geworfen wird? Würde mich einfach mal interessieren.
geschrieben am 09.08.2012 19:51:26
( Link )
1. Benutzt den "noMoreSpriteTileLimit" patch
2. es gibts glaube ich ein extra sprite für diesen fall es heißt " * HDMA fix" oder so
oder versuch mal: (weiß nicht ob es geht XD)
Code
    LDA #$11
STA $212C
STA $212E

LDA #$0E
STA $212D
STA $212F

3. Dry bones Knochen gehen durch (weil es "Extended" sprites sind und) weil sie im algemeinen keine Kollision mit Blöcken haben (auch Geister oder so werden vermutlich durch den Block gehen.
der P-switch geht durch während er von Mario getragen wird weil er solange er getragen wird auch keine interaction mit blöcken hat
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.

Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
geschrieben am 11.08.2012 16:46:21
( Link )
Danke, hat funktioniert.

Und gleich noch mehr Fragen

1. Wenn man Münzen einsammelt und den Raum verlässt und den Raum danach wieder betritt sind die eingesammelten Münzen weg, gibt es das auch für Blöcke (das die dann schon ausgelöst sind)

2. WYE hat mir ja mal den Code geschrieben, dass kein Sprite durch einen Block kann (außer Mario). Gibt es dass auch das der Pilz noch mit durch kann. bzw. kann mir jemand so einen Block machen?

Danke.
geschrieben am 11.08.2012 17:05:16
( Link )
2.
Code
db $42
JMP MarioBelow : JMP MarioAbove : JMP MarioSide
JMP SpriteV : JMP SpriteH : JMP MarioCape : JMP MarioFireball
JMP TopCorner : JMP HeadInside : JMP BodyInside

MarioBelow:
MarioAbove:
MarioSide:
TopCorner:
HeadInside:
BodyInside:
RTL
SpriteV:
SpriteH:
LDA $9E,x
CMP #$74
BEQ Return
LDY #$01
LDA #$30
STA $1693
Return:
MarioCape:
MarioFireball:
RTL
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.

Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
geschrieben am 11.08.2012 21:26:11
( Link )
zu 1. Du musst da ein Objekt selber schreiben, wie das geht weiß ich nicht. Probier mal das hier aus: * [xkas] ObjecTool 0.4

zu 2. siehe mzünnis Post.
Tutorials: ExAnimation | YouTube: W4mp3 | Twitter: https://twitter.com/SMWW4mp3
geschrieben am 11.08.2012 21:54:33
( Link )
zu 1 glaube ich das du nur hier gucken musst
http://www.smwiki.net/wiki/RAM_Address/$7E:009C
wenn da hinter steht "sets item memory bit" merkt sich das spiel das der block benutzt wurde
(glaube ich)
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.

Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
geschrieben am 12.08.2012 18:11:26
( Link )
Das heißt
Code
LDA #$01
STA $9C

???
geschrieben am 12.08.2012 18:15:12
( Link )
Dann eher #$16, wenn du Blöcke willst.

Ich gehe aber mal davon aus, dass das nicht funktioniert und man tiefere Eingriffe vornehmen muss. Neue Objects zu programmieren würde auf jeden Fall funktionieren, aber dafür bräuchte man wahrscheinlich etwas freien RAM. Wie auch immer, probier das mit $9C ruhig aus, vielleicht geht's ja.
geschrieben am 12.08.2012 20:51:22
( Link )
Das ganze einfach mit LevelASM einfügen, oder wie?
geschrieben am 12.08.2012 21:05:08
( Link )
wieso denn in level asm?
es muss an der stelle sthen wenn der block verschwinden soll ...
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.

Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
geschrieben am 12.08.2012 21:13:21
( Link )
In den Block-Code muss es, an eine Stelle, die ausgeführt wird, wenn der Block aktiviert wird. Oh, und ein JSL $00BEB0 muss dahinter, sonst passiert gar nichts.
geschrieben am 12.08.2012 21:51:28
( Link )
Und wo bekomme ich den Blockcode her?
geschrieben am 12.08.2012 21:52:26
( Link )
Ach so, ich dachte, den hättest du längst.

Keine Ahnung - probier mal die "? Blocks" auf SMWC. Das scheint so eine Art Vorlage für solche Blöcke zu sein.
geschrieben am 25.08.2012 22:33:02
( Link )
Ich habe ein Problem und zwar:
Ich habe ein HDMA gradient eingefügt.Der funktioniert auch.
Wenn ich aber jetzt mit Status Effect die LIVES anzeige entferne,ist das hdma weg.
Was soll ich tun?
-NOVEMBER-
geschrieben am 25.08.2012 23:34:12
( Link )
Nochmal neu einfügen. Ist doch logisch.
-Das quadratische Rad neu erfinden-
Mit das quadratische Rad neu erfinden (englisch Reinventing the square wheel) bezeichnet man die Bereitstellung einer schlechten Lösung, wenn eine gute Lösung bereits existiert.

-Slowsort-
Slowsort (von engl. slow: langsam) ist ein langsamer, rekursiver Sortieralgorithmus, der nach dem Prinzip Vervielfache und kapituliere (engl. Multiply and surrender, eine Parodie auf Teile und herrsche) arbeitet.

geschrieben am 26.08.2012 20:43:14
( Link )
Bei mir ist jetzt ein Problem: Ich hab nur 3 Sprites in einem Screen (3 vertikal red Koopas). Aber wenn ich im Screen angelangt bin, ist keiner von denen da. Hab sie mal gelöscht und wieder eingefügt, aber hat auch nicht geholfen. Weiß wer ne Lösung?