Allgemeine Hex- und ASM-Fragen
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!
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.
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.
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.
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.
@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?
@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!
Wie kann ich verhindern ,dass Mario nach dem "Ziel" Weitergeht?
habe bisher den Block von Iceguy benutzt:
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...)
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
;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 -->
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 -->
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!
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:
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?
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
;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?
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:
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.
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
; 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.
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.
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:
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?
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
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?
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.
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.
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 -->
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 -->
Gibt es eine Code der dafür sorgt das das Teil über dem Custom Block gelöscht wird?
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).
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).
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.
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 -->
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 -->
Hat sich geklärt. Der Block ist generell im Arsch.
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?
(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 -->
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 -->
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.
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.
Abiturklausuren (schamlos geklaut von spinatkuchen >_>):
Deutsch (26.3.): Alles reingebracht, was ich wollte, bereue nichts, insgesamt ganz gutes Gefühl (Ergebnis: 8 Punkte - Hm, hätte mit mehr gerechnet.)
Geschichte (1.4.): Fast nichts zum historischen Kontext gewusst, Rest war ganz okay, vielleicht noch 3, eher 4 (Ergebnis: 7 Punkte - Hey, das hätte schlechter sein können. Keine Nachprüfung!)
Mathe (2.4.): Viel besser als gedacht, bis auf 'nen kleinen Teil fast alles richtig, 1 ist gut möglich (Ergebnis: 14 Punkte - Yay!)
Englisch (9.4.): Sprachlich keine Sorgen, inhaltlich etwas mehr, gutes bis sehr gutes Gefühl (Ergebnis: 15 Punkte - Der Lehrer mag mich halt.)
Physik (mdl., 10.5.): Bis auf zwei winzige Wissenslücken sehr einfach und sehr gut gelaufen (Ergebnis: 13 Punkte - Sehr in Ordnung!)
Deutsch (26.3.): Alles reingebracht, was ich wollte, bereue nichts, insgesamt ganz gutes Gefühl (Ergebnis: 8 Punkte - Hm, hätte mit mehr gerechnet.)
Geschichte (1.4.): Fast nichts zum historischen Kontext gewusst, Rest war ganz okay, vielleicht noch 3, eher 4 (Ergebnis: 7 Punkte - Hey, das hätte schlechter sein können. Keine Nachprüfung!)
Mathe (2.4.): Viel besser als gedacht, bis auf 'nen kleinen Teil fast alles richtig, 1 ist gut möglich (Ergebnis: 14 Punkte - Yay!)
Englisch (9.4.): Sprachlich keine Sorgen, inhaltlich etwas mehr, gutes bis sehr gutes Gefühl (Ergebnis: 15 Punkte - Der Lehrer mag mich halt.)
Physik (mdl., 10.5.): Bis auf zwei winzige Wissenslücken sehr einfach und sehr gut gelaufen (Ergebnis: 13 Punkte - Sehr in Ordnung!)
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!
Zitat
http://www.smwcentral.net/download.php?id=541&type=patches
Schön gequotet, Strg+F bei Patches gemacht.

