Beiträge von Seuchensoldat

geschrieben am 15.02.2011 11:08:38 in Allgemeine Hex- und ASM-Fragen
( Link )
Ich antworte mal für Chris, da jener erst wieder zum Wochenende hin verfügbar sein wird.
Dein Code funktioniert, WYE. Nun gilt es, diesen Background zum scrollen zu bringen. Das Ganze soll ungefähr so ablaufen wie in den SMB3 Airships. Dazu müsste der Layer 3 Background auch transparent sein. Ich hatte dazu schon mit dem "Layer 3 Transparenz Generator" rumgespielt, allerdings bewirkt jener, dass einer der anderen Generatoren (Autoscrolling und Lightning) in dem Level nicht mehr funktioniert. Wichtig bei der Transparenz ist jedoch, dass wirklich alle anderen Layer und Sprite dadurch sichtbar sind. Zuerst hatte ich den Geisterhausnebel ausprobiert, welcher aber bewirkt, dass nur der Hintergrund sichtbar ist, wodurch es Cutoff gibt. Das wurde durch den "Layer 3 Transparenz Generator" behoben. Allerdings, wie oben beschrieben, hatte ich dann keinen Lightning Generator mehr. Gibt es da per level.asm irgendeine Möglichkeit?, den Hintergrund transparent zu machen UND ihn scrollen zu lassen?

Edit: Ich hab den Code aus dem Transparenz Generator mal in levelinitcode.asm gepackt. Das klappt auch hervorragend. Jetzt muss das Ding nur noch halbwegs authentisch scrollen und anschließend wird versucht, Multiscrolling für den Background zu aktivieren.

Edit2: Auch das Scrolling funktioniert mittlerweile, nachdem ich einen entsprechenenden Code gefunden habe. Danke trotzdem.

Kennt sich denn jemand mit Parallax Scrolling bzw. Multi Scroll des Layer 2 Backgroundes aus?
geschrieben am 15.02.2011 11:49:26 in Screenshots/Videos Thread - Zeige dein Zeug h(i)er!
( Link )


Nachdem ich einen herrlich transparenten Layer 3 Nebel hingekriegt habe, welcher auch scrollt, dachte ich mir, dass ich mal einen Screenshot von meinem in Arbeit befindlichen Luftschiff zeige. Bevorsich irgendjemand wundert, warum die Status Bar Palette auf jedem meiner Bilder versaut ist: Das liegt daran, dass ich die Sprite Status Bar in einigen Leveln nutze und diese noch nicht mit der normalen Status Bar übereinstimmt, weil das x vor dem Bonus Star Zähler das gleiche x ist, welches vor der Lebensanzahl steht und ich nur letzteres benötige. Das Problem konnte ich aber leider noch nicht lösen. Dementsprechenend habe ich auch noch nicht groß an der Palette rumgefummelt.
geschrieben am 20.02.2011 10:37:38 in The artifacts of marvelous birds - 5-1 ist da!
( Link )
Gefällt mir auch verdammt gut. Bin auf das Endresultat gespannt!
geschrieben am 21.02.2011 21:42:46 in Du suchst Custom Sprites/Blocks/Music oder Graphics? Hier!
( Link )
http://www.youtube.com/watch?v=YciAkPyCJGY

Gibt es diese OW Sprite zufälligerweise irgendwo bzw. hat die jemand und würde sie mir zur Verfügung stellen? Es wäre recht praktisch, da unter anderem meine Pipeworld oder die Waterworld authentischer mit eigener Musik wirken.
geschrieben am 21.02.2011 23:26:25 in Du suchst Custom Sprites/Blocks/Music oder Graphics? Hier!
( Link )
Kurz nachdem ich postete, stieß ich in dem SMWCP Recourses Thread auf einen Patch, der genau das bewirkt, was ich möchte. Dennoch danke!
geschrieben am 22.02.2011 23:05:35 in Super Mario Bros. 3.5
( Link )
Hallo allerseits.

Als ich mich hier anmeldete, war ich ein totaler Einsteiger, was das Hacken von Super Mario World angeht. Ich habe Fragen über Fragen gestellt und möchte hier nun zeigen, dass das Ganze sich gelohnt hat und ich auch Ergebnisse vorweisen kann.

Mein Hack trägt den Arbeitstitel "Super Mario Bros. 3.5", was allerdings kein endgültiger Name ist. Von Anfang an war es mein Wunsch, Super Mario World so zu verändern, dass man eher das Gefühl hat, einen SMB3 Hack zu spielen. Jenes Game ist seit jeher mein absolutes Lieblingswerk aus Nintendos Mario Reihe und ich hab es als Kind immer und immer wieder gespielt. Das sei vorweg zu sagen.

Der Hack soll und wird keine außergewöhnliche Story besitzen, sondern ein simples, aber doch qualitatives Jump 'n Run im Stil der ersten Mario Games werden. Daher wird die Hintergrundgeschichte in etwa so lauten:

Das südliche Pilzekönigreich wird zum zweiten Mal von Bowser attackiert. Mario muss in bekannte Gebiete zurückkehren und Bowser wieder einmal in seine Schranken verweisen. Fertig.

Damit das Ganze wirklich an SMB3 erinnert, sind die Graphiken dementsprechend angepasst, neue Blöcke, Sprites und natürlich Custom Music
wurden eingefügt. Auch eine Menge an Patches wurden in die ROM integriert. Das Ganze soll wirklich keine halbe Sache sein. Ich wurde bereits gefragt, ob ich Levels aus dem Original nachbaue, aber es wird wohl eher nur auf ähnliche Themen der Levels hinauslaufen, da die SMB3 Stages für Super Mario World zu kurz und einfach (aufgrund der genauen Steuerung von SMW) sind.

Ich werde irgendwann eine Demo der ersten Welt veröffentlichen, das kann aber noch lange dauern, da ich gleichzeitig an anderen Levels und Welten arbeite, um selber etwas Abwechslung zu haben.

-"Hör auf zu quasseln und zeig Screenshots!"

Welt 1: Grasslands



Welt 7: Pipeworld



Ein Höhlenlevel aus Welt 1



(Die Statusbar Palette ist nicht endgültig...)

Boom Boom's Schloss aus Welt 1




Vieles von dem, was ihr hier seht, ist nicht endgültig. Ich bin kein großer Leveldesigner und bin dementsprechend schnell unzufrieden mit meinen Kreationen und ändere sie alle paar Tage. Immer mal wieder werde ich in diesem Thread Neues zu meinem Hack posten. Übt ruhig Kritik, ich bin für sowohl positive als auch negative offen, solange sie konstruktiv ist.

Das war es auch erstmal soweit.
geschrieben am 24.02.2011 6:12:20 in Super Mario Bros. 3.5
( Link )
@wertedu: Wird sich drüm gekümmert. Mir ist gerade aufgefallen, dass es in SMB3 diese Kombination nicht gibt (Lave plus Schachbrettboden).
@DarkBlade: Das Wasser ist auch in SMB3 so "abgeschnitten". Ich möchte ungern originale SMAS Cutoffs beheben, das Nostalgiegefühl soll dadurch authentisch bleiben. So gravierend ist das nun auch nicht. Und ja, im Höhlenlevel sowie im Schloss nutze ich Layer 3. Hier ein großes Dankeschön an Chris, ohne den ich das nie hätte verwirklichen können (allgemein hab ich ihm verdammt viel zu verdanken!).
@SMW Noob: Ich gebe mir die beste Mühe.
geschrieben am 24.02.2011 14:39:11 in Romi's Sprites: Airship Nut
( Link )
Jau, ich fang mal an.

Du hast in der .rar Datei ja die Sprite sowie die .asm Dateien. Wichtig sind SuboffScreen.asm und GetDrawInfo.asm. Die patchst du auf zwei unterschiedliche, freie Freespace Stellen.

So sehen meine aus:

SuboffScreen.asm

Spoiler anzeigen
header
lorom

org $3F8090

START_SUB: STZ $03
PHB
LDA #$01
PHA
PLB
PEA $801F
JML $81AC33


GetDrawInfo.asm

Spoiler anzeigen
header
lorom

org $3F8000

GET_DRAW_INFO: STZ $186C,x
STZ $15A0,x
LDA $E4,x
CMP $1A
LDA $14E0,x
SBC $1B
BEQ ON_SCREEN_X
INC $15A0,x

ON_SCREEN_X: LDA $14E0,x
XBA
LDA $E4,x
REP #$20
SEC
SBC $1A
CLC
ADC #$0040
CMP #$0180
SEP #$20
ROL A
AND #$01
STA $15C4,x
BNE INVALID

PHB
PHK
PLB
LDY #$00
LDA $1662,x
AND #$20
BEQ ON_SCREEN_LOOP
INY
ON_SCREEN_LOOP: LDA $D8,x
CLC
ADC SPR_T1,y
PHP
CMP $1C
ROL $00
PLP
LDA $14D4,x
ADC #$00
LSR $00
SBC $1D
BEQ ON_SCREEN_Y
LDA $186C,x
ORA SPR_T2,y
STA $186C,x
ON_SCREEN_Y: DEY
BPL ON_SCREEN_LOOP

LDY $15EA,x
LDA $E4,x
SEC
SBC $1A
STA $00
LDA $D8,x
SEC
SBC $1C
STA $01
PLB
RTL

INVALID: REP #$20
PLA
PLY
PLA
PHY
PHA
SEP #$20
RTL

SPR_T1: db $0C,$1C
SPR_T2: db $01,$02


Du siehst, zwei unterschiedliche Freespacestellen. Diese beiden Patches bügelst du nun per xkas auf deine Rom. Dann packst du deine Rom und die definition.asm in deinen Spritetoolordner (und die gewünschten Sprites logischerweise in den Spritesordner...). Du öffnest definition.asm und fügst dort die Freespacestellen für GetDrawInfo.asm und SuboffScreen.asm ein.

definition.asm

Spoiler anzeigen
GetDrawInfo = $3F8000 ; change this to wherever you insert GetDrawInfo.asm
SubOffScreen = $3F8090 ; change this to wherever you insert SubOffScreen.asm


Anschließend kopierst du definition.asm und benennst die Kopie in xkas_def.asm um (einige von Romis Sprites beziehen sich nicht auf definition.asm, sondern auf xkas_def.asm, das Kopieren und Umbenennen ist also eine Variante, um auch diese Sprites abzudecken, alternativ kannst du in den jeweiligen .asm Dateien der Sprites auf definition.asm verweisen, oben genannte Variante ist allerdings zeitsparender).

Wenn die Freespacestellen in definition.asm und xkas_def.asm mit denen aus SuboffScreen.asm und GetDrawInfo.asm übereinstimmen, kannst du die Sprites per Spritetool einfügen, du musst diese beiden .asm Dateien NICHT auf deine ROM patchen, das wird per Spritetool automatisch gemacht. Dann sollte eigentlich alles klappen. Ich hoffe, das hat geholfen.
geschrieben am 24.02.2011 16:01:50 in Romi's Sprites: Airship Nut
( Link )
Danke mir, wenn es klappen sollte. Ich hatte bei SMWCentral viel zu dem Thema gelesen, deswegen funktionierte es glücklicherweise bei mir auf Anhieb, aber viele Leute schilderten die gleichen Probleme wie du, und die Antwort war meistens irgendeine Freespaceproblem mit den Patches oder die falsche Anwendung jener. Sollten noch Fragen bestehen, frag einfach.
geschrieben am 24.02.2011 20:19:51 in Allgemeine Diskussionen
( Link )
Oho, regieren tue ich also.. Keine Sorge, so schlimm wird es bestimmt nicht.
geschrieben am 24.02.2011 22:34:34 in Super cRazy world
( Link )
SMWCentral hin oder her, jeder fängt mal klein an. Ich hab schon deutlich! Schlimmeres gesehen, man schaue sich nurmal die LPs von Emeros Lost Levels (vom User HerrDekay) an, da kriegt man oftmals das große Grausen. Ich denke, du bist auf dem richtigen Weg, TheTim.
geschrieben am 24.02.2011 22:36:15 in Allgemeine Diskussionen
( Link )
Herzlichen Dank. Auf gute Zusammenarbeit!
geschrieben am 25.02.2011 19:04:12 in Allgemeine Diskussionen
( Link )
Zitat von Awesome:
Glückwunsch an beide

warum sind die Usernamen jetzt schwarz?


Damit die Mods keinen rosa Usernamen mehr haben müssen.
geschrieben am 26.02.2011 12:09:53 in Allgemeine Diskussionen
( Link )
Ich kann mich RPG-Hacker nur anschließen, ALttP ist meiner Meinung nach das beste Zeldaspiel. Ich war allerdings auch nie ein Freund von den neueren Nintendokonsolen ab dem N64. Das kann auch daran liegen, dass ich nur das NES, div erse Gameboys und mein geliebtes SNES besitze und anschließend gleich auf den PC umgestiegen bin.
geschrieben am 28.02.2011 0:26:32 in Allgemeine Diskussionen
( Link )
Ist bei uns auf der Arbeit auch so. Es vergeht keine Woche, wo nicht mindestens eine Person krank ist. Liegt wohl am Wetter, dieses ständige Wechseln zwischen kalt und warm schlägt den Meisten wohl aufs Gemüt.
geschrieben am 28.02.2011 12:59:24 in HDMA Multiscrolling
( Link )
Hallo, ich hätte mal ein Thema, das mich seit einiger Zeit beschäftigt.

Ich benutze Ice Mans HDMA Effects für meine Airship Levels. Ich möchte damit das Parallax Scrolling der originalen SMB3 Airships simulieren.

Der Code, den ich benutze, ist folgender:

Code
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;HDMA Mulitple Background Auto-Scroll
;by Ice Man
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

lorom ;\ ROM is LoRom
header ;| and has a header
org $3C8000 ;/ Address to insert code

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;RATS Tag Macro
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

macro RATS_start(id)
db "STAR"
dw RATS_Endcode-RATS_Startcode
dw RATS_Endcode-RATS_Startcode^#$FFFF
RATS_Startcode:
endmacro

macro RATS_end(id)
RATS_Endcode:
endmacro

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;HDMA Channel Settings
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

%RATS_start(0)
REP #$20 ;\ Set processor 16 bit
LDA #$0F02 ;| $4330 = $210F
STA $4330 ;| $4331 = Mode 02
LDA #$9B00 ;|
STA $4332 ;| Destination: $7F9B00
LDY #$7F ;| (low and high byte)
STY $4334 ;|
SEP #$20 ;/ Set processor 8 bit

LDA #$08 ;\ Enable HDMA
TSB $0D9F ;/ on channel 3

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;HDMA Main Code
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

LDX #$0F ;| Data size ($0F bytes)
Loop:
LDA Scroll_Table,x ;\
STA $7F9B00,x ;| Load scoll range
DEX ;| table config
BPL Loop ;/

Start:
LDA #$DF ;\ Size of very 1st row
SEC ;| Size can be $C0-$FF
SBC $1468 ;| Enables auto-scrolling
INC A ;| for the range specified
STA $7F9B00 ;/

REP #$20 ;\ Set processor 16 bit
LDA $1466 ;| Do not scroll
STA $7F9B07 ;/ the 3rd row

LDA $13 ;\ Speed how much
AND #$00FF ;| the range should scroll
ASL A ;| Changing the value is
CLC ;| not recommended!!
ADC $1466 ;| Scroll the row
AND #$01FF ;| automatically
STA $7F9B0A ;| for 4th row
ASL A ;| Scroll 5th row
STA $7F9B0D ;/ fastest

LDA $13 ;\ Speed how much
AND #$00FF ;| the range should scroll
ASL A ;| Changing the value is
CLC ;| not recommended!!
ADC $1466 ;| Scroll the row
AND #$01FF ;| automatically
STA $7F9B04 ;| for 2nd row
ASL A ;| Scroll 1st row
STA $7F9B01 ;/ fastest

SEP #$20 ;\ Set processor 8 bit
RTL ;/ Return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Table Settings
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Scroll_Table:
db $2C,$00,$00
db $2C,$00,$00
db $2C,$00,$00
db $2C,$00,$00
db $2C,$00,$00
%RATS_end(0)


Jener sorgt für ein automatisches Scrolling des Backgrounds. Schön und gut, nun möchte ich aber das Ganze wie auf folgendem Bild aufgebaut haben (die Größe des Bildes dient zur besseren Erkennung der farbigen Markierungen, welche nicht ganz den Pixeln entsprechen, das wird aber nochmal beschrieben!):

Spoiler anzeigen


Rote Scanlines: 16x16 Pixel
Lila Scanlines: 8x8 Pixel
Grüne Scanlines: 8x8 Pixel
Hellblaue Scanlines: Der Rest vom Bild.

Rot und Hellblau sollen gleichschnell scrollen, Lila ein wenig langsamer und grün noch ein Stückchen langsamer als Lila. Laut Ice Mans Readme soll die Höhe der Scanlines in der Tabelle (Scroll_Table) festgelegt sein. Es ist aber egal, welche Werte ich wie ändere, es kommt grundsätzlich irgendetwas dabei heraus, was überhaupt nicht dem entspricht, was ich gerne hätte. Dazu müsste noch das Scrolling eingestellt werden. Die dritte Scanlinereihe scrollt auch überhaupt nicht (was ja auch in der ASM Datei festgelegt ist). Kann mir da irgendjemand auf die Sprünge helfen? Es sollte auch verhindert werden, dass der Hintergrund beim Aufnehmen eines Pilzes oder dergleichen weiterscrollt.

Auf SMWCentral konnte bis jetzt niemand helfen und Ice Man selbst scheint nicht kontaktierbar zu sein (er hat vor Wochen auf keine PM geantwortet). Ich hoffe, dass hier das Problem gelöst werden kann. Danke!

Edit: Ich hab mir das Ganze irgendwie zusammengefummelt. Ich liebe solche Erfolgserlebnisse! Damit ist das Thema auch dicht.
geschrieben am 28.02.2011 16:20:19 in An Adventure of Mario
( Link )
Die OW gefällt mir auch ziemlich gut. Sehr detailverliebt, wirklich schön!
geschrieben am 01.03.2011 22:30:09 in Super Mario Bros. 3.5
( Link )


Hier mal ein Screenshot von Bowser's Panzern, an denen ich heute gearbeitet habe.
geschrieben am 02.03.2011 5:57:04 in Super Mario Bros. 3.5
( Link )
Danke für das Lob. Die Kanone links von dem Fragezeichenblock schießt den Bob-Omb in einem Bogen nach rechts.
geschrieben am 02.03.2011 17:47:03 in Super Mario Bros. 3.5
( Link )
Das Level scrollt. Der Boden und der Hintergrund sind Layer 2, die Panzer sind Layer 1. Dadurch scrollen die Panzer schneller als der Boden und der Hinergrund, was den visuellen Effekt der fahrenden Panzer erzeugt. Dadurch verschwinden zwar Pilze und Blumen hinter Layer 2, sobald aber diverse Problemchen mit dem HDMA Fix von Ice Man gelöst sind, wird dieser auf die ROM gebügelt und das Problem dadurch gelöst.