Allgemeine Hex- und ASM-Fragen

geschrieben am 30.10.2011 10:35:26
( Link )
So, ich habe ein Problem. Es geht um die Switches. Ist es ein Bug,dass die Switchblocks bei meiner Rom nur aktiviert sind,wenn sie nicht gedrueckt sind? Ja ich habe die Switchblocks von Extendedobjects bzw von Tilespecefic tiles genommen. Sie sind also von anfang an alle aktiviert. Wenn ich z.B. den Yellow Switch druecke werden die Yellow Switchblocks deaktiviert. Kann es sein,dass ich ausversehen etwas gepatcht habe? Und falls ja,koennt ihr mir den Code vom Patch geben,weil ich nix downloaden kann? Oder liegt es an Lunar Magic?
Brutal Mario ist out.Spielt mal SMW FreedoMN,1Updudes-Hacks,The Devious Four Chronicles oder Chomps Attacke!
geschrieben am 30.10.2011 10:40:51
( Link )
Von dem Fehler habe ich bisher noch nichts gehört. Könnte tatsächlich daran liegen, dass du aus Versehen irgendetwas gepatcht hast. Schonmal versucht, alles auf eine neue, saubere ROM zu übertragen?
-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 30.10.2011 11:06:00
( Link )
Es gibt in smw so weit ich weiß zwei Arten von switch Blöcken.

Die einen, die wo der bunte Rand da ist, sind aktiv, wenn der switch gedrückt wurde.
Die anderen, die ausgefüllten, sind aktiv wenn der switch nicht gedrückt ist.

Tausch doch einfach die Blöcke, dann ist es halt bei dir genau andersherum.
Im spielen merkt man dann aber keinen Unterschied.
Nur wenn man den Hack in LM öffnet sollte man dann den Bug sehen.
geschrieben am 30.10.2011 12:26:44
( Link )
@koopa: Gute Idee,aber die bunt-randierten sind nur im Map16. Und diese reagieren garnicht.

@RPGHacker:Jepp,irgendwas stimmt mit meiner Rom nicht. Ich hab aber keine Lust zum zweiten mal alles wieder auf eine neue Rom zu legen. Es kann sehr gut sein,dass ich den Patch gepatcht habe,der alle Switchblocks von anfang an aktiviert und sie durch die Palaces deaktiviert. Ich find den Patch leider nicht. Wenn ich den Code finde,kann ich es wieder per Xkas Anti entpatchen. Kann man irgendwie sehen,welche Patches man gepatcht hat?
Brutal Mario ist out.Spielt mal SMW FreedoMN,1Updudes-Hacks,The Devious Four Chronicles oder Chomps Attacke!
geschrieben am 04.11.2011 11:44:19
( Link )
Wie kann ich verhindern ,dass Mario nach dem "Ziel" Weitergeht?
habe bisher den Block von Iceguy benutzt:
Code
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;end level block 2
;by Iceguy
;act like tile 25
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

JMP Main : JMP Main : JMP Main : JMP return : JMP return : JMP return : JMP return

Main:
LDA #$FF
STA $9D
LDA #$FF
STA $1493
LDA #$0B
STA $1DFB
DEC $13C6 ;Der störende Bereich
return:
RTL

Ich weiß nicht wie genau "DEC $13C6" mario vom laufenabhält... aber es sorgt aufjedenfall dafür ,dass nachfolgende Level auch verglitchen da Mario dort auf einmal auch nicht mehr nach dem Ziel läuft...
Was kann ich jetzt stattdessen dort hinschreiben damit sich Mario nicht bewegt?
(Das Level ist Horizontal...)
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 04.11.2011 13:42:06
( Link )
Du kannst auch ein "Ziel-Raum" benutzen,das vertikall ist und das Goal-Sphere benutzen.
Brutal Mario ist out.Spielt mal SMW FreedoMN,1Updudes-Hacks,The Devious Four Chronicles oder Chomps Attacke!
geschrieben am 05.11.2011 22:46:49
( Link )
Für ein Tide-Level im SMB3-Stil habe ich einen Patch (in Level.asm) zur Hilfe genommen, um das Wasser zu verdunkeln, wie im Original, da man es nur mit dunkler Layer-3-Palette nicht hinkriegt:
Code
	;a = 0 for Addition, 1 for Subtraction, b = 1/2 Enable c = Back Enable, d = Object Enable,
;efgh = Enable BG 4, 3, 2, 1 (bit 3 only affect below the status bar)
; abcdefgh
LDA.b #%01100100
STA $40
; 000abcde a = Object b = BG 4 c = BG 3 d = BG 2 e = BG 1
LDA.b #%00010111
STA $212C ; Main Screen
; 000abcde a = Object b = BG 4 c = BG 3 d = BG 2 e = BG 1
LDA.b #%00000011
STA $212D ; Sub Screen


vorher:

nachher:


Das Problem ist nun, dass alle Sprites inkl. Mario hinter dem transparenten Wasser verschwinden und dass Low-Priority-Sprites wie Pflanzen außerdem hinter dem BG verschwinden. Was muss ich im Code ändern, um das zu verhindern?
geschrieben am 06.11.2011 9:14:43
( Link )
Es hat auf jeden Fall mit dem unteren Teil des Codes zu tun. Ich weiß nicht genau, wie für dein Level die optimalen Einstellungen sind, aber folgendes könnte funktionieren:

Zitat

; 000abcde a = Object b = BG 4 c = BG 3 d = BG 2 e = BG 1
LDA.b #%00010101
STA $212C ; Main Screen
; 000abcde a = Object b = BG 4 c = BG 3 d = BG 2 e = BG 1
LDA.b #%00000010
STA $212D ; Sub Screen


Weiß aber nicht genau, auf welchem Layer das transparente Wasser ist (falls überhaupt auf einem). Sollte es auf Layer 2 sein, könnte es selbst im Hintergrund verschwinden.
-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 06.11.2011 14:33:19
( Link )
Okay, also ich hab's nun hingekriegt, dass Mario und der Fisch auch im Wasser sichtbar sind. Nun verwende ich den unteren Code wie folgt:
Code
	; 000abcde a = Object b = BG 4 c = BG 3 d = BG 2 e = BG 1
LDA.b #%00010111
STA $212C ; Main Screen
; 000abcde a = Object b = BG 4 c = BG 3 d = BG 2 e = BG 1
LDA.b #%00011011
STA $212D ; Sub Screen

Das Problem ist jetzt nur noch ist die vorletzte Ziffer hinter dem ersten LDA. Beträgt sie 1, verdeckt der BG die Pflanze. Beträgt sie 0, ist die Pflanze zu sehen, wenn sie aus der Röhre kommt. Dafür ist der BG verdunkelt. Kann mir hierfür noch jemand eine Lösung präsentieren?
geschrieben am 06.11.2011 16:52:59
( Link )
Zitat von Chris:
[...] Dafür ist der BG verdunkelt. [...]


Das kann ich mir eigentlich kaum vorstellen, da Layer 2 noch auf dem Subscreen aktiviert sein müsste, außer aber du beschreibst diese an Adressen an einer anderen Stelle im Spiel auch nochmal.
-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 13.11.2011 22:24:03
( Link )
Hi ich hab ein problem mit de Yoshi con fix patch...
Ehemaliger code...
wenn ich ihn einfüge respawen die Yoshi münzen auch nachdem ich 5 von ihnen eingesammelt habe...
was muss man ändern damit sie nicht mehr kommen nach dem man 5 eingesammelt hat und neu ins level geht?


OK hat sich erledigt...
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 16.12.2011 23:30:30
( Link )
Gibt es eine Code der dafür sorgt das das Teil über dem Custom Block gelöscht wird?
geschrieben am 17.12.2011 8:52:18
( Link )
Da würde ich zünni fragen.
Der hat so weit ich weiss so einen Block geschriben.
(man wirft was dagegen, der Block würd ausgelösst und dass was man gegen den Block geworfen hat verschwindet).
geschrieben am 17.12.2011 12:26:39
( Link )
ich nehme an er will einen custom block haben (irgendwas was man einsammeln kann) und der block ist z.b. 16x32 oder so und möchte das beide verschwinden...
so hab ich es zumindest verstanden
Dafür könntest du gucken wie andere leute das problem gelöst haben
z.b. beim 32x32 throwblock der müsste ja auch sowas beinhalten.
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 17.12.2011 14:55:01
( Link )
Hat sich geklärt. Der Block ist generell im Arsch.
geschrieben am 23.12.2011 15:36:56
( Link )
Ich hätte mal eine Frage wie genau die Branch befehle funktioniren...
(und ich meine damit nicht wie ich sie in einen code einbaue sondern was sie tun/wie sie es tun)
den für gewöhnlich schreibt man ja
LDA $19
CMP #$01
BEQ Pilz
aber in manchen codes steht z.b.
Lda $19
BEQ Pilz
(nur ein bespiel ich weiß nicht ob die 2 codes das gleiche tun würden)
Aber wie funktionirt das jetzt?
wohin speicher der CMP befehl ob sie gleich sind etc.
und was liest der BEQ befehl aus um zu der Routine zu springen?
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 23.12.2011 18:57:33
zuletzt bearbeitet von MetalJo am 25.12.2011 14:35:18.
( Link )
...keine Ahnung
geschrieben am 23.12.2011 21:47:42
( Link )
Der Post über mir ist Quatsch.

CMP vergleicht den ihm übergebenen Wert mit dem Wert, der gerade in A ist (ob der nun per LDA #$, LDA $ oder sonst was in A geladen wird, ist schnurzegal). LDA #$01 CMP #$02 vergleicht 1 mit 2, LDA $19 CMP #$02 vergleicht den Wert in Adresse $19 mit 2. Nach einem CMP kommt üblicherweise ein Branch-Befehl (BEQ, BNE und noch einige mehr), der zu unterschiedlichen Punkten des Codes springt, je nachdem, was der Vergleich ergeben hat. BEQ springt zu einem Label, wenn die beiden Werte gleich sind, BNE springt, wenn sie es nicht sind.

Wenn man mit 0 vergleicht (CMP #$00), kann der ganze CMP-Befehl in den allermeisten Fällen weggelassen werden. LDA $19 BEQ Label ist also gleichbedeutend mit LDA $19 CMP #$00 BEQ Label. Das geht allerdings nur, wenn mit 0 verglichen wird - bei LDA $19 CMP #$01 BEQ Label zum Beispiel kann man den CMP-Befehl also nicht weglassen.

Oh, und es heißt "funktioniert", nicht "funktionirt". Sorry, musste raus.
geschrieben am 26.12.2011 11:16:19
( Link )
Koennte mir bitte jemand die ASM file von "All Switch Blocks Have Powerups" quoten?
Brutal Mario ist out.Spielt mal SMW FreedoMN,1Updudes-Hacks,The Devious Four Chronicles oder Chomps Attacke!
geschrieben am 26.12.2011 16:32:58
( Link )
Zitat
http://www.smwcentral.net/download.php?id=541&type=patches

Schön gequotet, Strg+F bei Patches gemacht.
Tutorials: ExAnimation | YouTube: W4mp3 | Twitter: https://twitter.com/SMWW4mp3