Allgemeine SMW Hacking Fragen

geschrieben am 07.03.2011 21:48:30
( Link )
halt dass man hört was in der Textbox steht.
geschrieben am 07.03.2011 22:14:20
( Link )
Geht nicht.

Overworld designen ist mein Job
Meine Rechtschreibfehler sind gewollt und taktisch klug gesetzt
8Bit YT Channel
geschrieben am 07.03.2011 22:33:33
( Link )
Das ist eins der wenigen Dinge, die wirklich gar nicht gehen. (Zumindest, wenn du Texte automatisch erkennen und halbwegs verständlich vorgelesen haben willst.)
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!)
geschrieben am 07.03.2011 23:39:00
( Link )
Man koennte doch die SFX der Texbox veraendern(wenn sie erscheint)
Brutal Mario ist out.Spielt mal SMW FreedoMN,1Updudes-Hacks,The Devious Four Chronicles oder Chomps Attacke!
geschrieben am 08.03.2011 8:41:41
( Link )
Das war auch die einzige Frage wo ich keine Hoffnungen hatte.
(was ist sfx der Textbox kein Plan haben)

Mich interessiert eh mehr das mit den Yoshi Münzen.
geschrieben am 08.03.2011 11:43:56
( Link )
Ich glaub da giebt's sogar einen Patch dazu. Weiß aber grad nich wie der heißt.
Das Müsste theoretisch aber gehen.

Hab auch ma wieder eine Frage. Bin schon wieder ziemlich eingerostet in SMW.

Giebt es eine Mölichkeit, dass, wenn man sich in einem Level mit sec. Entrances transportiert,
nicht alles resettet wird, wie die Yoshi-Münzen oder die wieder erscheinenden Blöcke, die man zuvor
mit einem P-Switch gelöscht hat?

Und wie sieht nochmal der .asm Code von einem Block aus, der Mario nur duchlässt, wenn er Klein bzw. groß ist?
Meine Rom crasht irgentwie immer wieder aber ich finde den Fehler nicht.
Hab einen Code aus SMWC verändert der Mario nur duchlässt wenn er 99 Bonus-Sterne gesammelt hat:

Originaler Code anzeigen
Code

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Need 99 Bonus stars to pass block
;Above offset = 0
;Side offset = 0
;Below offset = 0
;Sprite RL and UD offsets = 0
;Fireball offset = 0
;Cape offset = -1
;Reloc offset = -1
;Uncheck whole page
;MAKE IT ACT LIKE TILE 25!!!
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
LDA $0F48
CMP #$63 ;change this values to the amountt of bonus stars you need to pass in hex
BEQ Return
LDA $0F49
CMP #$63 ;change this values to the amountt of bonus stars you need to pass in hex
BEQ Return
LDA #$30
STA $1693
LDY #$01
Return: RTS


Veränderter Code anzeigen
Code

LDA $19
CMP #$00 ;Schaut. ob Mario klein ist.
BEQ Return
CMP #$00 ;Schaut. ob Mario klein ist.
BEQ Return
LDA #$30
STA $1693
LDY #$01
Return:
RTL



EDIT:
Warum Muss man die Adresse zwei Mal auf den Selben Wert überprüfen???
Mfg Chagan/Danforce.
geschrieben am 08.03.2011 12:05:08
( Link )
1)
Da musst du glaub ich die Menüs der Blöcke verwenden und nicht den Direkt map 16 access.

2)
Soweit ich weiß schaut er beim originalen block auch ob luigis bonussterne 99 sind. Deshalb brauchst du das zweite CMP und das BEQ danach nicht.

Braucht man am Anfang nicht noch die ganzen JMPs?
Die fehlen bei dir nämlich.
No PDA here
geschrieben am 08.03.2011 12:22:03
( Link )
Zitat von majora211:
Soweit ich weiß schaut er beim originalen block auch ob luigis bonussterne 99 sind. Deshalb brauchst du das zweite CMP und das BEQ danach nicht.


Damn! Stimmt Ja
Hab ich gar nicht dran gedacht die JMP's zu Setzen
Danke

Zitat von majora211:
Da musst du glaub ich die Menüs der Blöcke verwenden und nicht den Direkt map 16 access


Wie meinst du das?
Mfg Chagan/Danforce.
geschrieben am 08.03.2011 15:03:48
( Link )
Ich meine bei der drop down box die general objects, tileset specific objects und so. Und nicht direct map 16 access.
Bin aber nicht sicher.
No PDA here
geschrieben am 08.03.2011 15:36:37
( Link )
Ich hab mal wieder ne Frage in Sachen ASM
Ich bin leicht rausgekommen aus der ganzen Sache und hab mich jetzt wieder mal an nen Block versucht.
Bevor ich den Code poste erklär ich kurz was der Block bezwecken soll.
Er soll wenn Mario klein ist eine bestimmte Music spielen wenn er groß ist eine andere.
Und achja das Problem sieht so aus: Wenn man den Block berührt wird gar keine Music mehr gespielt und wenn man das Level beendet stürtzt das Spiel ab.
So jetzt der Code:
Spoiler anzeigen
JMP Mario : JMP Mario : JMP Mario : JMP Return : JMP Return : JMP Return : JMP Return

Mario:
LDA $19
CMP #$01
BEQ Music
RTL
LDA $19
CMP #$02
BEQ Music2
RTL
LDA $19
CMP #$03
BEQ Music3
RTL

Music:
LDA #$02
STA $1DFB
RTL

Music2:
LDA #$03
STA $1DFB
RTL

Music3:
LDA #$04
STA $1DFB

Return:
RTL


Ich glaub, dass wenn man mehrmals BEQ verwendet, noch nen andern Befehl verwenden muss oder?
Zudem geht das überhaupt mit so nem kleinen Code, die Musik zu ändern?
geschrieben am 08.03.2011 16:30:36
( Link )
Möchtest du das wirklich mit einem Block machen?
Einfacher wäre es mit levelinitcode.asm.
Dann müsstest du den Block nicht immer Berühren,
sondern es wird alles automatisch passieren.

Wenn du alles in levelinitcode machst musst du natürlich
die JMP's weglassen und RTL durch RTS ersetzen.

@majora211:
Is leider ein Custom Transport Block. Erscheint nicht im Dropdown-Menü.
Mfg Chagan/Danforce.
geschrieben am 08.03.2011 16:44:25
( Link )
Vielen Dank für die Antworten ;P
Aber dennoch bleibt meine erste Frage:
Wir sind in: Lvl 105, screen 05 und gehen per Röhre in den lvl 106, dann die nächste Röhre wieder in lvl 105..
Wie mache ich den Eingang so, dass er dann die Röhre in screen 07 verlässt?

Es wäre nett, wenn ihr sagt, wie man es macht oder auf eine Seite verweist ;P

Danke
geschrieben am 08.03.2011 17:00:26
( Link )
Ich würde dir dieses Tutorial ans Herz legen
Mfg Chagan/Danforce.
geschrieben am 08.03.2011 17:56:55
( Link )
Zitat von Danforce:
Möchtest du das wirklich mit einem Block machen?
Einfacher wäre es mit levelinitcode.asm.
Dann müsstest du den Block nicht immer Berühren,
sondern es wird alles automatisch passieren.


Ja ich werds dann in Level asm reinpacken, ich wusste bis jetzt nur nicht wie sowas geht.
Da ich mich nur mit Blöcken geschäftigt habe.
Aber wer sagt denn das der Code richtig ist? es klappt ja nicht per Block.
geschrieben am 08.03.2011 18:44:26
( Link )
So ich hab ihn korrigiert. funktioniert auch alles:

Code
LDA $19
CMP #$01
BEQ Music0105
CMP #$02
BEQ Music2105
CMP #$03
BEQ Music3105

Music0105:
LDA #$02
STA $1DFB
RTS

Music2105:
LDA #$03
STA $1DFB
RTS

Music3105:
LDA #$04
STA $1DFB
RTS


Du hast den Fehler gemacht, dass du nach jedem einzelnen Labelsprung
RTL bzw. RTS gesetzt hast. Das beendet das eine Stück code, und der
Rest wird danach garnicht erst ausgeführt.

Außerdem hast du immer wieder $19 in den Akkumulator geladen,
obwohl die Adresse schon geladen war.
Das ist zwar nicht das Problem, verkürzt aber den Code

Achso:
Bei levelcode.asm oder levelinitcode.asm
würde ich für jedes labe noch die Levelnummer dahinterschreiben.
Sonst hast du am ende, wenn du in mehrere Level ein Label namens
music schreiben würdest, mehrere Label desselben Namens und
der Code weiß nicht, welches du meinst.
Also:

level1:
.
.
.
Music001:
.
.
.

level2:
.
.
.
Music002
usw.

Hoffe Ich konnte dir Helfen
MfG Danforce
Mfg Chagan/Danforce.
geschrieben am 08.03.2011 18:58:27
( Link )
Tipp für mehrere gleichnamige Label: Einen Punkt davorschreiben. Beispiel gefällig?

Code
level105: ; Ein normales Label, mit Doppelpunkt
LDA $19
CMP #$01
BEQ .pilz ; Punkt davor
RTS
.pilz ; Punkt davor, kein Doppelpunkt dahinter!
JSL $00F606 ; irgendwas halt
RTS

level106: ; Ein normales Label, mit Doppelpunkt
LDA $19
CMP #$01
BEQ .pilz ; Man kann jetzt dasselbe Label nochmal benutzen.
RTS
.pilz
JSL $00F5B7 ; irgendwas halt
RTS


Man kann Labels mit Punkt mehrmals verwenden, wenn zwischen ihnen ein Doppelpunkt-Label steht. DIe fungieren sozusagen als Oberkategorie, Trennlinie oder was auch immer. Werden zwei Punkt-Labels mit demselben Namen definiert, ohne dass dazwischen ein Doppelpunkt-Label steht, gibt's 'nen Fehler. Das heißt auch, dass man nicht über Doppelpunkt-Labels hinaus "branchen" kann, dann wäre der Bezug falsch.


Übrigens geht der Musik-Code noch ein bisschen effizienter:

Code
LDA $19
BEQ .return ; wenn er schon 0 ist, gar nix tun
DEC ; jetzt ist der Wert 0, 1 oder 2
TAX
LDA .songs,x
STA $1DFB
.return
RTL

.songs
db $02,$03,$04


Übrigens würde ich dir empfehlen, den in levelinitcode.asm zu packen. Upsala, is' ja'n Block.
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!)
geschrieben am 08.03.2011 19:07:51
( Link )
Zitat von WYE:
Übrigens würde ich dir empfehlen, den in levelinitcode.asm zu packen.


Wusste das ger nicht, was ist den da der Unterschied?

--------------

Noch ne andere Frage^^:
Was sind Cluster Sprites und Wie fügt man sie ein?
Hab mir den Cluster Sprite Falling leaves gedownloadet
und wollte ihn für Schnee mit dem Cluster Sprite Tool einfügen
nun kommt von dem Tool, nachdem ich den Romnamen und
die Spritelistendatei eingegeben habe, dass das Tool nicht
richtig funktioniert.
Weiß jemand wo der Fehler liegt oder ob ich da was Falsch gemacht habe?
Mfg Chagan/Danforce.
geschrieben am 08.03.2011 19:44:31
( Link )
Zitat von Danforce:
Zitat von WYE:
Übrigens würde ich dir empfehlen, den in levelinitcode.asm zu packen.


Wusste das ger nicht, was ist den da der Unterschied?


Nee, ich hab' gerade bemerkt, dass du ja 'nen Block wolltest und nicht levelASM. Wenn du den Code in levelinitcode.asm packen würdest, würde er am Anfang des Levels einmal ausgeführt und dann nicht mehr.
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!)
geschrieben am 09.03.2011 9:03:24
( Link )
Zitat
Wie kann man dafür sorgen, dass wenn man im ganzen Spiel z.B 70 Yoshi Münzen gesammelt hat dann ein Level freigeschaltet wird das dann als letztes gespielt wird.


Weis jetzt jemand wie das geht?
geschrieben am 10.03.2011 17:48:21
( Link )
Was passiert, wenn ich die .lrp Datei loesche? Kann ich sie dann nochmal herstellen?
Brutal Mario ist out.Spielt mal SMW FreedoMN,1Updudes-Hacks,The Devious Four Chronicles oder Chomps Attacke!