Allgemeine SMW Hacking Fragen

geschrieben am 02.05.2014 19:15:41
( Link )
Zitat von Err0rLP:
Miniquestion! Welche Spritememory muss ich nutzten um die Spikeballs zu nutzten (die kreisenden dinger) denn die buggen bischn rum grad
ä

Deine Nummer ist die 0E!
Dr. Azizi - Tierversuche aus Leidenschaft.
geschrieben am 03.05.2014 9:10:24
( Link )
Ja läuft! Ich danke ;D
Mein Streaming-Kanal! <!-- m --><a class="postlink" href="http://www.hitbox.tv/Err0rLP">http://www.hitbox.tv/Err0rLP</a><!-- m --> Auch mit SMW-Hackingstreams!

Meine YouTube-Kanäle :
----------------------------------------
Err0rLP
TrashErr0r
ReUploadErr0r
SMW-Hack-Kanal zu Err0r's Adventure
geschrieben am 09.05.2014 20:51:10
( Link )
Hallo liebe SMW hacker Gemeinde,

ich bastel derzeit an einer ROM nur habe ich jetzt ein Problem mit den Sprites. Zum einen werden die Sprites in "Screen 04" gar nicht geladen (sie erscheinen nicht) und zum anderen spawnen keine Bullet Bills aus dem Shooter (auch nicht nach Mittelpunkt Eingang)!?

Ich hoffe mal mir kann da jemand weiter helfen...

MfG KitoLP
geschrieben am 09.05.2014 21:10:33
( Link )
Erstmal, Willkommen im Forum

Zweitens, es würde uns mehr helfen mit einem Bild von lunar Magic, wo man sieht, wie du des gemacht hast (ich vermute mal sprite limitation)

Sprich, poste mal ein Bild von lunar magic bzw. Von deinem level

SMW Hacken? Was ist das?
geschrieben am 09.05.2014 21:56:16
( Link )
Erstmal danke für die Begrüßung

Hier einmal die Bilder:

Hier die Version mit den Bullet Bills, man soll auf ihnen über die "Schlucht" springen:

Dies ist die Version "2" nachdem es mit den Bullet Bills patu nicht klappen wollte:


MfG KitoLP
geschrieben am 09.05.2014 22:23:37
( Link )
Welchen Sprite Memory hast du ausgewählt? Klick auf den Lakitukopf und stell den dann erstmal auf 0, das ist immer eine gute Wahl für den Anfang.
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 09.05.2014 22:45:21
( Link )
Zitat von Reggiamoto:
Welchen Sprite Memory hast du ausgewählt? Klick auf den Lakitukopf und stell den dann erstmal auf 0, das ist immer eine gute Wahl für den Anfang.


Die Sprite Memory ist bereits auf "00" gesetzt. Daran liegt es wohl nicht... :/

MfG KitoLP
geschrieben am 10.05.2014 6:28:14
( Link )
Wieso die unsichtbaren Blöcke? Das, was du hast sind sogenannte "sprite limitations" d.h. Sprites werden nicht vollständig angezeigt oder gar nicht geladen (z.B. zu wenige OAM Slots oder zu wenige RAM Adressen wobei man letzteres eigentlich gar nicht fixen kann, da der einzige Patch, der Spriteanzahl erhöht, der SA-1-Patch ist, und der ist bisschen komplex und sollte deshalb auch nicht von Neulingen genutzt werden). Um es zu fixen, musst du die unsichtbare Blöcke entfernen, da sie ebenfalls Sprites sind, vor allem, da du ganze neun Stück hast (es gibt nur max. 12 Sprite-Slots und mit den unsichtbaren Blöcken verplemperst du ganze 3/4 davon).
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 10.05.2014 10:24:38
( Link )
Und schlimmstenfalls wenn du unbedingt da unsichtbare Decke nehmen willst nutze die Map16-Bearbeitung. Nimm dir den Block 25 und kopiere ihn auf die 3. seite und stell ihn bei "act as" in 130 um. (hoffe 25 war Luft)
Mein Streaming-Kanal! <!-- m --><a class="postlink" href="http://www.hitbox.tv/Err0rLP">http://www.hitbox.tv/Err0rLP</a><!-- m --> Auch mit SMW-Hackingstreams!

Meine YouTube-Kanäle :
----------------------------------------
Err0rLP
TrashErr0r
ReUploadErr0r
SMW-Hack-Kanal zu Err0r's Adventure
geschrieben am 10.05.2014 19:15:58
( Link )
Hat alles geklappt, vielen Dank.
Es lag letzt endlich an den unsichtbaren Braunen Blöcken (Sprite Limit).

MfG KitoLP
geschrieben am 11.05.2014 12:24:43
( Link )
Moin Menschen!
Ich habe ein kleines Problem mit dem Air-meter.
Wenn ich im Wasser bin und der Airmeter angezeigt wird ist Mario unsichtbar,
wenn ich aus dem Wasser gehe ist Mario noch da bzw der Airmeter muss erstmal komplett aufgeladen werden damit ich Mario sehen kann.
Hier ein paar Screens:
http://www11.pic-upload.de/11.05.14/zls34epeyml2.jpg
http://www11.pic-upload.de/11.05.14/8n5i1js7t2e.jpg
Bei dem 2ten Bild ist Mario natürlich im Wasser.

Achja fast vergessen:Sprites werden trotzdem angezeigt auch wenn Mario nicht sichbar ist.
Dr. Azizi - Tierversuche aus Leidenschaft.
geschrieben am 11.05.2014 12:30:05
( Link )
Den Code zu posten bzw. zu verlinken würde helfen; ansonsten könntest du vielleicht mal eine andere Sprite-Memory-Einstellung probieren.
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 11.05.2014 12:36:22
( Link )
Zitat von WYE:
Den Code zu posten bzw. zu verlinken würde helfen; ansonsten könntest du vielleicht mal eine andere Sprite-Memory-Einstellung probieren.

Code
1
36
e 0 3b 82 b9 46
0 0
air_meter.asm

Hier haben sie ihn!
Bzw die Sprite Memory ist schon auf 0
Dr. Azizi - Tierversuche aus Leidenschaft.
geschrieben am 11.05.2014 14:23:12
( Link )
Des ist der Falsche Code, Jason.

Du musst die .asm Datei posten und nicht die .cfg

btw. hast du geschaut, ob dein Wasser Priority On hat ? Falls, dann musst des ausschalten.

SMW Hacken? Was ist das?
geschrieben am 11.05.2014 14:24:43
( Link )
Bestimmte Sprites essen OAM-Slots. Der Air-Meter-Sprite ist keine Ausnahme und nutze ihn am besten mit No More Sprite Tile Limits.
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 11.05.2014 14:28:41
( Link )
Zitat
Der Air-Meter-Sprite ist keine Ausnahme und nutze ihn am besten mit No More Sprite Tile Limits.

Ist no more Sprite Tile Limits auch ein Generator? D;

Bzw hier ist der "richtige" Code
Code
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

RAM_AirMeter = $7F8827

;; Where to place the meter relative to the screen boarder
MeterPositionX = $E8
MeterPositionY = $1E

;; Possible values for the below variables:
;; (fast) $00, $01, $03, $07, $0f, $1f, $3f, $7f, $ff (slow)
CountDownFrequency = $03
CountUpFrequency = $00

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; INIT and MAIN routines
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

DCB "INIT"
LDA #$FF
STA RAM_AirMeter
RTL

DCB "MAIN"
PHB
PHK
PLB
JSR MainSub
PLB
RTL

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Sprite Main
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MainSub:
LDA RAM_AirMeter ; Play warning sounds

CMP #$1C
BEQ Sound
CMP #$14
BEQ Sound
CMP #$0C
BNE NoSound
Sound:
LDA #$2a
STA $1DFC
NoSound:

;; LDA RAM_AirMeter ; Change Mario's face blue
;; CMP #$30
;; BCS NoChangePal
;;
;; LDY #$86
;; STY $2121
;;
;; LDA #$31
;; STA $2122
;; LDA #$7e
;; STA $2122
;;
;; LDY #$8e
;; STY $2121
;;
;; LDA #$ad
;; STA $2122
;; LDA #$6d
;; STA $2122
;; NoPalChange:

LDA RAM_AirMeter ; If the meter is full...
CMP #$FF ;
BNE Gfx ; ...and it has been for some time...
LDA $1540,x ;
BEQ NoGfx ; ...then skip the graphics routine
Gfx:
JSR SubGfx ; Draw the sprite
NoGfx:

LDA $9D ; Return if sprites are locked
BNE Return0

LDA $75
BEQ CountUp
CountDown:
LDA $13
AND #CountDownFrequency
BNE SkipMeter

LDA RAM_AirMeter
DEC A
BNE SetMeter
BRA KillMario
CountUp:
LDA $13
AND #CountUpFrequency
BNE SkipMeter

LDA RAM_AirMeter
CMP #$FF
BEQ SkipMeter

LDA #$48
STA $1540,x

LDA RAM_AirMeter
INC A
;; LDA #$FF ; NOTE: Reinstate to make the meter instantly reset when not in water
SetMeter:
STA RAM_AirMeter

SkipMeter:
LDA $1a ; Position = Screen boundary
CLC
ADC #$80
STA $E4,x ; This is done so the sprite stays on screen
LDA $1b
ADC #$00
STA $14E0,x
LDA $1c
STA $D8,x
LDA $1d
STA $14D4,x
Return0:
RTS

KillMario:
LDA #$90
STA $7D
LDA #$09 ; Set death animation
STA $71
STA $1DFB ; Set death music
LDA #$FF
STA $0DDA
LDA #$30 ; Set time until we return to the OW
STA $1496
STA $9D
STZ $140D
STZ $1407
STZ $188A
RTS


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Graphics Routine
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

NumTiles = $05

SpriteTileDispX: dcb $00,$08,$10,$18,$20,$27
SpriteTileDispY: dcb $28,$20,$18,$10,$08,$01
SpriteGfxProp: dcb $80,$00,$00,$00,$00,$00

Palettes: dcb $09,$05,$0B

SubGfx:
JSR GetPalette
;; LDA $15F6,x ; NOTE: Reinstate to use the palette from the cfg file
STA $02

LDA RAM_AirMeter ; Load address to be timed
LSR
LSR
LSR
STA $03

LDY $15EA,x ; get offset to sprite OAM

PHX
LDX #NumTiles
GfxLoopStart:

LDA #MeterPositionX
STA $0300,Y

LDA #MeterPositionY
CLC
ADC SpriteTileDispY,x
STA $0301,Y

LDA $03
JSR CalculateTile
STA $0302,Y

LDA $02
ORA SpriteGfxProp,x
ORA #$20
STA $0303,Y

INY
INY
INY
INY

DEX
BPL GfxLoopStart
PLX

LDY #$00
LDA #NumTiles
JSL $01B7B3
RTS

GetPalette:
LDY #$00
LDA RAM_AirMeter
CMP #$55
BCC LoadPalette
INY
CMP #$AA
BCC LoadPalette
INY
LoadPalette:
LDA Palettes,y
RTS

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

CalculateTile:
CPX #$00
BEQ EndPiece
CPX #NumTiles
BEQ EndPiece

PHA
TXA
DEC A
ASL
ASL
ASL
STA $00
PLA

SEC
SBC $00
BMI EmptyTile

CMP #$08
BCS FullTile

AND #$07
CLC
ADC #$47
CMP #$4B
BCC Return
CLC
ADC #$0C
Return:
RTS

FullTile:
LDA #$46
RTS
EmptyTile:
LDA #$47
RTS
EndPiece:
LDA #$56
RTS
Dr. Azizi - Tierversuche aus Leidenschaft.
geschrieben am 11.05.2014 14:47:42
( Link )
Zitat von Vanilla Hacker:
Zitat
Der Air-Meter-Sprite ist keine Ausnahme und nutze ihn am besten mit No More Sprite Tile Limits.

Ist no more Sprite Tile Limits auch ein Generator? D;

m( Das da.
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 11.05.2014 14:53:12
( Link )
Zitat von MarioFanGamer659:
Zitat von Vanilla Hacker:
Zitat
Der Air-Meter-Sprite ist keine Ausnahme und nutze ihn am besten mit No More Sprite Tile Limits.

Ist no more Sprite Tile Limits auch ein Generator? D;

m( Das da.


Da ist aber keine CFG Datei dabei.
Bzw ist das jetzt ein Generator?
Dr. Azizi - Tierversuche aus Leidenschaft.
geschrieben am 11.05.2014 14:58:28
( Link )
Nee, das ist ein Patch.
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 11.05.2014 15:07:41
( Link )
Zitat von WYE:
Nee, das ist ein Patch.


Naja nächste Frage:Wie füge ich diesen Patch ein?
Dr. Azizi - Tierversuche aus Leidenschaft.