nein der Block ist richtig da scheinst du beim einfügen was falsch gemacht zu haben...
(RPGHacker wieso denn PHY/PLY ?der block will doch extra das act like von der zweiten map16 page)
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.
Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
@RPGHacker wozu soll das PHY/PLY gut sein?
Der sinn den blockes ist doch grade das Y überschriben wird um die Map16 page zu ändern
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.
Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
um Cape damage zu machen würde ich ja einfach das tun: (kp ob es so einfach geht XD)
Code
REP #$20
LDA XPos
STA $13E9
LDA YPos
STA $13EB
SEP #$20
LDA #$01
STA $13E8
LDA #$12
STA $14A6
Ach ja warum das von W4mp3 nicht geht liegt daran das die Subrotine mit RTS endet du müsstest das machen:
Code PHK
PEA.w .jslrtsreturn-1
PEA $84CE ; varies per bank, must point to RTL-1 (example: $0084CF-1, must be in the same bank as the JML target)
JML $00D076
.jslrtsreturn
@W4mp3 wieso zu $00D062 jumpen?
ich würde einfach die If's komplett überspringen
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.
Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
Den code solltest du direkt so benutzen können.
(ansonsten das JML ändern aber die angegebene adresse müsste schon passen)
mit X/Y pos ist "die Position des Capes" gemeint also wo der schaden gemacht wird
CodeLDA XSpeed
SEC
SBC #$10 ;MinimalWert
CMP #$D0 ;MaximalWert - Minimalwert
BCC BetweenValues
NotBetweenValues:
BetweenValues:
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.
Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
nur als kleine frage
If you're using addmusicM put this code in levelinitcode.asm:
LDA #$20
STA $7EC101
hast du das gemacht?
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.
Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
Was es bewirkt kann ich auch nicht sagen aber es wird wohl nicht grundlos in der Readme stehen...
einfach in die levelinit.asm von dem entsprechen dem level packen und level asm patchen
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.
Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
ich würde mal versuchen einfach das zu entfernen
CodeCMP #$11 ;\ fix note block clipping glitch by changing the blocked bits
BNE Skip6 ;| to be set depending on Mario's direction
PHX ;|
LDX $7B ;|
BPL Skip7 ;|
LDA #$12 ;|
Skip7: ;|
PLX ;|
Skip6: ;/
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.
Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
hm lad dir mal ueber.asm von SMWC runter
ich glaube alles wichtige steht da in der Readme
ansonsten musst du mal nach einem xkas oder asar oder Level.asm tutorial
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.
Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
das ist marios Position ich habe XPos geschschrieben weil ich zu faul war in der Ram map nachzugucken welche adressen das sind...
einfach das Xpos durch $XX (x position von Mario) ersetzten
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.
Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
versuch das:
Code ;@xkas
!Freespace = $218015
!XPos = $94 ;Achtung! 16-bit!!11
!YPos = $96 ; Ebenfalls 16-bit!
lorom ;\ ROM is LoRom
header ;/ and has a header.
org $8DC4 ;\ Hijack NMI routine
JSL StatusCode ;| and jump to our code
NOP ;/ also NOP one time.
;=========================
org !Freespace
!CodeSize = Ending-Routine
db "STAR"
dw !CodeSize-$01
dw !CodeSize-$01^$FFFF
Routine:
;=========================
StatusCode:
LDA #$02 ;\ Restore previous
STA $420B ;/ hijacked NMI routine.
LDA $7B ;\Check if you're moving
SEC
SBC #$10 ;MinimalWert
CMP #$EB ;MaximalWert - Minimalwert
BCS BetweenValues
NotBetweenValues:
LDA $1470 ;\Check if you're carrying something
BNE return ;/
LDA $73 ;\check if you're ducking
BEQ return ;/
LDA $77 ;\ as always, Check if your in the air
AND #$04 ;|
BEQ return ;/
;;
PHX
LDA $76 ;Mario Direction (00=Left;01=Right)
ASL
TAX
REP #$20
LDA !XPos
CLC
ADC CapeOffsetX,x
STA $13E9 ;CapeXPos
LDA !YPos
CLC
ADC CapeOffsetY
STA $13EB
SEP #$20
PLX
;;;
skip:
PHX
LDA $14 ; timer that increases each frame
LSR
AND #$03 ; animate between 00,01,02 and 03 (4 frames)
TAX ; and put that value into X
LDA Poses,x ; Load from the table
PLX
STA $13E0 ; store into pose address
;
PHK
PEA.w .jslrtsreturn-1
PEA $84CE ; varies per bank, must point to RTL-1 (example: $0084CF-1, must be in the same bank as the JML target)
JML $00D076
.jslrtsreturn
;
;;
return:
BetweenValues:
RTL
Poses:
db $42,$BB,$30,$3C ;
CapeOffsetX:
dw $0010,$FFF0 ;Abstand in Pixel Horizontal
CapeOffsetY:
db $0008 ;Abstand in Pixel Vertikal
Ending:
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.
Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
der Generator als Sprite müsste so gehen:
Code;===============;
;New Sprite ;
;===============;
print "INIT ",pc
RTL
print "MAIN ",pc
PHB
PHK
PLB
PHX
JSR Run
PLX
PLB
RTL
Run:
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: $7F9F00
LDY #$7F ;| (low and high byte)
STY $4344 ;|
SEP #$20 ;/ Set processor 8 bit
LDA #$18 ;\ Enable HDMA
TSB $0D9F ;/ on channel 3,4
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
STA $7F9F00,x
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 $7F9F01,x ;| X position low byte
LDA $1467 ;| And add nothing to
ADC #$00 ;| layer 2 X position
STA $7F9F02,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 $7F9E03,x ;| #$00 here
STA $7F9F03,x
RTS ;/ 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
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.
Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
nein denn xkas/asar fügen ja beide keinen eigenen code ein der zu konflickten führen könnte sie fügen ja nur die patches ein
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.
Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
Spawn das sprite mal mit dem code:
CodeJSL $02A9DE
BMI EndSpawn
PHX
TYX
LDA #$01 ; Sprite state ($14C8,x).
STA $14C8,x
LDA #!SpriteNumber ; This the sprite number to spawn.
STA $7FAB9E,x
LDA #$00
STA $E4,x
STA $14E0,x
STA $D8,x
STA $14D4,x
JSL $07F7D2
JSL $0187A7
LDA #$08
STA $7FAB10,x
PLX
EndSpawn:
RTS
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.
Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
Ich hätte auch mal eine Frage zu Sprites...
Wie und Wo speichert SMW welche sprites in einem Level schon getötet wurden
bzw. wie merkt sich das spiel ob ein sprite schon gespawnt wurde
(wenn ich einen shell mit nehme respownt sie ja solange nicht bis die letzte offgescreent wurde)
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.
Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
an und für sich ist er bugfrei ,aber bei der SMW engine wird der Block zum Zement block während Marios Kopf noch im Block ist wes wegen er nach unten rausgedrückt wird was nicht so schön ist...
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.
Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
du könntest mal das versuchen
Code LDA #$04
TRB $212C
TRB $212E
TRB $212D
TRB $212F
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.
Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
wenn du in assambler programiren kannst ja
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.
Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
im prinzip brauch das Projectile dafür zu begin die ganznormale interact with objects routine und überprüfst ob du eine Wand berührst wenn nein gehts ganznormal im nächsten frame weiter wenn du aber eine wand berührst disablest du die interact with objects flag und passt die x/y speed werte an
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.
Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
wenn du die Wand berührst einfach in irgendeine sprite table speicher das du schon mal ne wand berührt hast.
und dann als erstes im sprite dieses sprite table abfragen
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.
Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->
Irgendwie sowas:
CodeLDA $C2,x
BNE TouchedWall
JSL UpdatePosition
LDA $1588,x
AND #$43
BEQ NotTouchingWall
INC $C2,x
TouchedWall:
STZ $B6,x
LDA #$XX
STA $AA,x
RTS
NotTouchingWall:
STZ $AA,x
LDA #$XX
STA $B6,x
RTS
WAS, WIE, WO???? Ne, Ne ich bin nicht die Signatur ...
Ich putze hier nur.
Mein Hack:
<!-- m --><a class="postlink" href="http://www.youtube.com/user/conankun88#p/a/u/0/8vdcyGylrg0">http://www.youtube.com/user/conankun88# ... vdcyGylrg0</a><!-- m -->