Du suchst Custom Sprites/Blocks/Music oder Graphics? Hier!

geschrieben am 27.05.2015 17:28:14
( Link )
Zum ersten Code:
Zu der Sache mit !Dragoncoins. Warum definierst du das da oben und ersetzt nicht einfach alles mit $1420 bzw. $1422 (und ja, das sind dann 2 Anweisungen)
Ich würds so schreiben
Code

db $42
JMP Mario : JMP Mario : JMP Mario
JML Return : JML Return
JML Return : JML Return
JMP Mario : JMP Mario : JMP Mario

Mario:
LDA $1420
BEQ Return
LDA #$01 ; Replace block with block # 025
STA $9C
PHY
JSL $00BEB0 ; Make the block disappear.
PLY
DEC $1420
DEC $1422
Return:
RTL


So. Ich hoffe das funktioniert dann. Ist nicht getestet. Nutzen auf eigene Gefahr



Zum zweiten Code:
So. Erstmal ist es afaik unnötig, vor dem DECen zu LDAen. d.h. ích würde die LDAs wegmachen. Dann musst du nicht mit #$00 CMPen. Dann steht bei Reset zweimal RTL. Mach das zweite da weg. Dann müsste es eigentlich passen. Außerdem checke ich den CMP nach dem GotCoins-Label nicht. Was soll der Block überhaupt machen? Weil so wie er da ist, funktioniert er zwar, läuft aber unnötig lange. GotCoins wird doch dann angesprungen, wenn der Spieler die Coins HAT. Dann muss man doch nix mehr vergleichen o.O
Ich könnte hier Text hinschreiben. Mache ich aber nicht.
geschrieben am 27.05.2015 17:38:52
( Link )
Das CMP und so war vorerst für einen anderen Block gedacht. Ich habe davor einen erstellt, der, bei Berührung, Yoshi Coins addiert und nach 4 Yoshi Coins sollte er resetten, womit man 1. maximal 4 haben kann und 2. keine Leben einfach so erfarmen kann. Das CMP war so gedacht, dass er resetten soll falls mehr als 4 yoshi coins eingesammelt wurden. Kann sein, dass ich da den Code einfach rauskopiert habe und das dabei vergessen habe zu entfernen ^^. Naja wie gesagt ich kenne mich noch nicht so gut mit ASM aus, weswegen ich erstmal die langen Wege gehe (z.B. habe ich keine Ahnung warum du am Anfang der Datei db $42 geschrieben hast) . Weißt du dabei noch, wie man den Code verändern muss, damit das Tile direkt über dem Block ebenfalls verschwindet (16x32 Tür) und wie ich daraus ein extended object (per objectool-patch) mache, damit die tür auch offen bleibt, wenn ich das sublevel wechsle.
Danke für deine Hilfe ^^

Edit: Der Block funktioniert wunderbar. Danke sehr ^^
geschrieben am 27.05.2015 22:33:12
( Link )
Ehrlich gesagt muss ich bei sowas dann auch passen xD
Ich bin selbst noch nicht so gut mit ASM und das Tile drüber entfernen. Sicher das Blockreator dafür nix hat?
Das "db $42" weiß ich selbst nicht so genau, was das macht, aber BTSD und ich denke mal auch GPS braucht das und somit schreibe ichs halt immer dahin XD
Ich könnte hier Text hinschreiben. Mache ich aber nicht.
geschrieben am 27.05.2015 22:58:45
( Link )
db $42 ist nur ein Signal an BTSD, dass dieser Block die drei zusätzlichen Offsets "Corner", "BodyInside" und "HeadInside" benutzt. Gehört also nicht zum Programmcode, sondern ist nur eine Art Signatur, die BTSD erkennt.

Ohne mir den ganzen Thread durchgelesen zu haben... um einen Block an einer anderen Stelle zu manipulieren, muss man vorher $98 und $9A verändern (das ist die Position des aktuellen Teils), dann kann man wie gewohnt die Routine $00BEB0 aufrufen. Hier, diesen Code hab ich mal fpr einen 32x32-Block geschrieben:

Code
PHY ; \
; |
.eraseThis ; | Alle vier Teile entfernen
LDA #$01 ; |
STA $9C ; |
JSL $00BEB0 ; |
; |
.eraseDown ; |
REP #$20 ; |
LDA $98 ; |
CLC : ADC #$0010 ; |
STA $98 ; |
SEP #$20 ; |
LDA #$01 ; |
STA $9C ; |
JSL $00BEB0 ; |
; |
.eraseLeft ; |
REP #$20 ; |
LDA $9A ; |
SEC : SBC #$0010 ; |
STA $9A ; |
SEP #$20 ; |
LDA #$01 ; |
STA $9C ; |
JSL $00BEB0 ; |
; |
.eraseUp ; |
REP #$20 ; |
LDA $98 ; |
SEC : SBC #$0010 ; |
STA $98 ; |
SEP #$20 ; |
LDA #$01 ; |
STA $9C ; |
JSL $00BEB0 ; |
; |
PLY ; /
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 27.05.2015 23:14:02
( Link )
Ich als ASM Laie (eigentlich sogar noch weniger) kann damit nichts wirklich anfangen. Nochmal als Zusammenfassung für WYE:
Ich wollte einen Block programmieren, der bei Berührung eine Yoshi Coin abzieht und dabei verschwindet. Da es so eine Art Schlüsseltür darstellen soll, soll die Block darüber auch verschwinden. Dann der dritte Teil: Daraus soll ein Extended Object werden, aber ich kann mit objectool irgendwie nichts anfangen. Schließlich soll die Tür ja nicht wieder zu gehen . D.h. wenn ich keine Coin hab, soll er mich auch nicht durchlassen. Allerdings soll er auch sowohl den Counter als auch quasi die Punktzahl um einen zurücksetzen (DEC $1420 und $1422).

Den Block haben wir soweit hinbekommen (Danke an MarioFanGamer und xHF01x). Jetzt fehlt eigentlich nur noch die Komponente, dass der Block darüber verschwindet (16x32 Block).

Das ist der Code für den Block:
Code
db $42
JMP Mario : JMP Mario : JMP Mario
JML Return : JML Return
JML Return : JML Return
JMP Mario : JMP Mario : JMP Mario

Mario:
LDA $1420
BEQ Return
LDA #$01 ; Replace block with block # 025
STA $9C
PHY
JSL $00BEB0 ; Make the block disappear.
PLY
DEC $1420
DEC $1422
Return:
RTL
geschrieben am 28.05.2015 14:44:54
zuletzt bearbeitet von MarioFanGamer am 28.05.2015 21:45:05.
( Link )
Dass der Block darüber verschwinden soll ist kein Problem. Hier ist der Code:
Code
db $42
JMP Mario : JMP Mario : JMP Mario
JML Return : JML Return
JML Return : JML Return
JMP Mario : JMP Mario : JMP Mario

Mario:
LDA $1420
BEQ Return
LDA #$01 ; Replace block with block # 025
STA $9C
PHY
JSL $00BEB0 ; Make the block disappear.
REP #$20
LDA $98
SEC : SBC #$0010
STA $98
SEP #$20
JSL $00BEB0 ; Make the block disappear.
PLY
DEC $1420
DEC $1422
Return:
RTL

Bei Objectool ist es wiederum einfach, nur muss ich den Code ein bisschen verändern, da der eben 32x32 (Edit: Habe ich wirklich 32x32 geschrieben? Ich meinte nämlich) 16x32 ist. Okay, zuerst öffnest du objectool04.asm und setzt den Freespace. Danach öffnest du custobjcode.asm und wählst irgend einen Lable (außer die, die im Namen "CustObj2D" stehen). Der Code, den du nehmen solltest, ist übrigens hier:
Code
LDY $57
JSR GetItemMemoryBit
LDA $0F
BNE .return
LDA #$xx ; Das ist die Nummer, wo das Map16-Tile ist ohne die Seite
STA [$6B],y
LDA #$yy ; Das ist die Seite, wo das Map16-Tile ist
STA [$6E],y
JSR ShiftObjUp
LDA #$ww ; Das ist die Nummer, wo das Map16-Tile ist ohne die Seite
STA [$6B],y
LDA #$vv ; Das ist die Seite, wo das Map16-Tile ist
STA [$6E],y
.return
RTS

Das Format bei ww und vv ist ähnlich wie bei xx und yy. xx und yy gehören zum unteren Tile während es sich bei ww und vv um das Obere handelt. Dann musst du es auch noch patches (logischerweise). Was ich auch noch vergessen habe ist, dass du bei Options > General Options "Correct Fatal Errors" deaktiviert haben solltest, sonst erscheint eine Fehlermeldung von LM (ohne Objectool würde irgendwas passieren, da diese eben nie genutzt worden sind). Ansonsten musst du das Objekt manuell einfügen (ähnlich wie custom Sprites).
Du kannst auch gerne zu mir MFG659 sagen (ich heiße übrigens in CreepTD wegen dem limitierten Platz wirklich MFG659)
Ich kann einige (ASM)-Codes fixen. <!-- s:) -->:)<!-- s:) -->
geschrieben am 28.05.2015 20:20:18
( Link )
Der Block funktioniert wunderbar. Das mit dem objectool mache ich evtl. morgen, finde heute keine Zeit mehr dafür.

Edit. So ich habe jetzt den Code im Patch eingefügt und gepatcht (mit asar wenn es nichts ausmacht). Er hat mir auch keine Fehlermeldung ausgegeben und die ROM läuft. Jetzt die Frage: Wie wird der jetzt in das Programm gebracht? Ich dachte an Layer 1 manuell einfügen object 02 (weil das der Platz des extended objects, wo ich den Code eingefügt habe). Dann habe ich Angaben wie Size/Type/Exit und Extension. Was davon muss ich umstellen, weil wenn ich beides auf 0 lasse kommt standard object 02 (invisible coin block).

Danke schon mal im Vorraus, bald haben wir es geschafft
geschrieben am 31.05.2015 22:41:44
( Link )
Sry für den Doppelpost, aber Edits werden nicht als letzer Post (sag ich mal ) angezeigt. Deswegen nochmal die Frage: Wenn ich das Teil manuell einfügen will (Custom Object 02), welche Werte muss ich bei insert manually ändern (ich glaube mal extension 00-FFx, aber ich weiß nicht zu was )?
geschrieben am 01.06.2015 7:06:00
( Link )
Wichtig sind nur "Command" und "Size/Type/Ext". "Extension" wird nur für Objekt 2D also für selbst erstellte normale Objekte benutzt. Die Besonderheit bei den erweiterten (extended) Objekten ist, dass alle von ihnen Objekt 00 sind ("Command" sollte deswegen 0 sein), der Typ wird durch "Size/Type/Ext" ausgewählt (wenn du mal gefragt hast, warum man keine erweiterte Objekte vergrößern kann, hier ist der Grund).
Du kannst auch gerne zu mir MFG659 sagen (ich heiße übrigens in CreepTD wegen dem limitierten Platz wirklich MFG659)
Ich kann einige (ASM)-Codes fixen. <!-- s:) -->:)<!-- s:) -->
geschrieben am 01.06.2015 12:55:51
( Link )
Okay danke dir, jetzt funktioniert alles, wie es soll und ich kann endlich die Level designen.
geschrieben am 02.06.2015 14:22:47
( Link )
Hi. Nachdem ich jetzt den Block habe, brauche ich für meine Dungeon Level die passende Musik . Deswegen hier die Frage: Kann mir wer von euch vielleicht die Boss Musik aus The Legend of Zelda: Oracle of Ages bzw Seasons porten? Die MIDI-Dateien sind leicht zu finden und die Musik ist auch nicht sonderlich lang. Auf SMWC sowie anderen Seiten habe ich diese leider nicht gefunden (es ist mir auch aufgefallen, dass viele Musikdateiten, die vorher noch downloadbar sind, nicht mehr da sind, ähnlich wie Blöcke). Also wenn wer Zeit und Lust hätte wäre ich ihm sehr sehr dankbar.
geschrieben am 24.08.2015 16:26:56
( Link )
Moin. Nach langer Zeit suche ich mal wieder Musik. Hab sogar eine gefunden finde aber niegends einen download.... https://www.youtube.com/watch?v=-5YUZWA0thw Hat einer von euch da Vllt eine Idee wo man noch suchen könnte auser auf SMWC?
geschrieben am 21.10.2018 0:13:43
( Link )
Moin!
Habe vor einiger Zeit einen Patch benutzt, der einen Bug fixt, bei dem die vertikal springenden Delfine ein wenig verglitched sind, wenn das vertikale Scrolling an ist. Den suche ich gerade wieder, finde ihn aber nicht. Ich glaube, der hatte kein SA-1 unterstützt, gibt's da inzwischen eine Lösung (auch mit SA-1) oder hat noch jemand den Patch? Danke schön!
Zitat von Robju am 22.11.2013:
ICH BRING EUCH ALLE UM!!
Zitat von Dominik am 07.08.2013:
Fick dich Rob, ich wusste dass das kommt!

anzeigen
MFG: Wieso binn ich als Ideot genannt?Das ist net nett.
Robbinn, ideot, Satzstellung, Grammatik.
MFGSchonn gut, schon gut, das mit "binn" und "Idoet" ist ein Typo.
RobDas e und i sind 4 tasten voneinander entfernt.
MFGschnelle Finger?
Rob Nein.
MFG *facepalm*
Rob Wenn man Idiot schreibt kommt man nichtmal in die Nähe eines "e" s
MFG Doch, warum hat man denn sonst zwei Finger?
Rob Das hat mir der ANzahl der Finger nichts zu tun.
MFG Ich meine Hände.
Bro ich hab 3 stück
Rob Hat auch kit der Anzahl der Händer nichts zu tun
MFG Und es hat mit der Anzahl der Hände zu tun.
Rob Nein.
MFG Ich schreibe doch mit beiden.
Rob YOU ARE AN IDIOT, AH HAHAHAHAHA HAAAAHAAA HAHAHAHAAAAA!

DIE KONFI
DIE andere KONFI
JJJAAAAAAAH
geschrieben am 21.10.2018 1:10:06
( Link )
Hm, kann ich gerade auch nicht mit Sicherheit finden. Du meinst nicht zufällig den hier oder folgendes?

Zitat
Change $07F69C from 05 to 25 to fix the Dolphin tails showing up when they're vertically off-screen.
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 21.10.2018 1:32:23
( Link )
Ah, die Adresse hatte ich gesucht. Wusste nicht, dass das so einfach ist. Danke!
Zitat von Robju am 22.11.2013:
ICH BRING EUCH ALLE UM!!
Zitat von Dominik am 07.08.2013:
Fick dich Rob, ich wusste dass das kommt!

anzeigen
MFG: Wieso binn ich als Ideot genannt?Das ist net nett.
Robbinn, ideot, Satzstellung, Grammatik.
MFGSchonn gut, schon gut, das mit "binn" und "Idoet" ist ein Typo.
RobDas e und i sind 4 tasten voneinander entfernt.
MFGschnelle Finger?
Rob Nein.
MFG *facepalm*
Rob Wenn man Idiot schreibt kommt man nichtmal in die Nähe eines "e" s
MFG Doch, warum hat man denn sonst zwei Finger?
Rob Das hat mir der ANzahl der Finger nichts zu tun.
MFG Ich meine Hände.
Bro ich hab 3 stück
Rob Hat auch kit der Anzahl der Händer nichts zu tun
MFG Und es hat mit der Anzahl der Hände zu tun.
Rob Nein.
MFG Ich schreibe doch mit beiden.
Rob YOU ARE AN IDIOT, AH HAHAHAHAHA HAAAAHAAA HAHAHAHAAAAA!

DIE KONFI
DIE andere KONFI
JJJAAAAAAAH