Hey Leute. Ist schon etwas länger her..
Ich habe vieles an ASM verlernt und kann mir daher nicht selbst helfen (was ich vorher auch nur selten konnte).
Brauche/Suche einen Block der zerstört wird, wenn er mit der Bob-Omb Explosion in Kontakt kommt. Sowas gibt es bestimmt schon, aber ich komme mit den Filterkram auf SMWC irgendwie nicht sehr weit.
Danke schonmal.
Okay bei den Patchen hab ich nicht nachgesehen.. Danke WYE!
Hallo!
Ich melde mich auch nochmal seit langem.. und zwar suche ich diese Blöcke, mit denen man Unterwasser Strömungen verursacht. Also: Mario schwimmt rein und wird entweder nach oben, unten, links oder rechts gedrückt. Die wirds zu 100% auf SMWC geben, war aber zu blöd die übers Filtern zu finden ._.
Hallo zusammen.
Ich habe
HDMA Effects 1.0 von Ice Man benutzt, um einen Scrolling Effekt einzufügen. Aber komischerweise funktioniert dieser Effekt nur, wenn ich ihn mit
level_code.asm (uberASM) einfüge und nicht mit
level_init_code.asm und dadurch hab ich ganz kurz, wenn ich den besagten Raum betrete, keinen HDMA Effekt und das geht mir ziemlich auf die Nerven. x-x
Ich bin mir zu 100% sicher, dass ich auch Scrolling Effekte schon in früheren Projekten mit
level_init_code.asm eingefügt habe und keine Probleme damit hatte.
Hier mal der HDMA Code als Patch:
Code;@xkas
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;HDMA Horizontal Waves
;by KilloZapit, modified by Ice Man
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
lorom ;\ ROM is LoRom
header ;| and has a header
org $158000 ;/ 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 #$0D02 ;| $4330 = $210D
STA $4330 ;| $4331 = Mode 02
LDA #$9E00 ;|
STA $4332 ;| Destination: $7F9E00
LDY #$7F ;| (low and high byte)
STY $4334 ;|
LDA #$0F02 ;| $4340 = $210F
STA $4340 ;| $4341 = Mode 02
LDA #$9E00 ;|
STA $4342 ;| Destination: $7F9E00
LDY #$7F ;| (low and high byte)
STY $4344 ;|
SEP #$20 ;/ Set processor 8 bit
LDA #$18 ;\ Enable HDMA
TSB $0D9F ;/ on channel 3,4
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;HDMA Main Code
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
LDX #$00 ;\ Init of
LDY #$00 ;/ X and Y
SEP #$20 ;\ Set processor 8 bit
LDA $13 ;| Set speed of waves
LSR A ;| Adding more LSR A
LSR A ;| will make it slower
STA $00 ;/ Store in scratch RAM
PHB ;\ Push data bank
PHK ;| Push program bank
PLB ;/ Pull data bank
Wave_Loop:
LDA #$06 ;\ Set scanline height
STA $7F9E00,x ;| for each wave
TYA ;| Transfer Y to A
ADC $00 ;| Add in scratch RAM
AND #$0F ;| and transfer #$0F bytes
PHY ;| Push Y
TAY ;/ Transfer A to Y
LDA.w Wave_Table,y ;\ Load in wave values
LSR A ;| half of waves only
CLC ;| Clear carry flag
ADC $1462 ;| Apply to layer 1
STA $7F9E01,x ;| X position low byte
LDA $1463 ;| And add nothing to
ADC #$00 ;| layer 1 X position
STA $7F9E02,x ;/ high byte
LDA.w Wave_Table,y ;\ Load in wave values
CLC ;| Clear carry flag
ADC $1466 ;| Apply to layer 2
STA $7F9E03,x ;| X position low byte
LDA $1467 ;| And add nothing to
ADC #$00 ;| layer 2 X position
STA $7F9E04,x ;/ high byte
PLY ;\ Pull Y
CPY #$25 ;| Compare with #$25 scanlines
BPL End_Wave ;| If bigger, end HDMA
INX ;| Increase X
INX ;| Increase X
INX ;| Increase X
INY ;| Increase Y
BRA Wave_Loop ;/ Do the loop
End_Wave:
PLB ;\ Pull data bank
LDA #$00 ;| End HMDA by writing
STA $7F9E05,x ;| #$00 here
RTL ;/ Return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Table Settings
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Wave_Table:
db $00
db $01
db $02
db $03
db $04
db $05
db $06
db $07
db $07
db $06
db $05
db $04
db $03
db $02
db $01
db $00
%RATS_end(0)
Laut Readme muss ich einfach nur bei levelasm
JSL $158008 RTS schreiben. (Natürlich untereinander)
Edit:
Hier mal 2 Screenshots um zu sehen was ich meine.. Das der Background so umspringt sieht einfach schlimm aus
Nein funktioniert noch immer nicht.. :/