Custom Block problem

geschrieben am 20.12.2010 15:34:14
( Link )
HEy leute ich habe den custom block runtergeladen , welcher Mario nur durclässt wenn man 50 münzen hat ....er funktioniert auch.... nun wollte ich die asm datei aber so ändern , dass man nur 8 Münzen braucht um durchzukommen ..und ich habe hier nun die beiden codes ..oben der normale mit 50 münzen und unten der geänderte .... wobei der von mir geänderte , sich aber genau so verhält wie der obere originale ...
Code
JMP MarioBelow : JMP MarioAbove : JMP MarioSide : JMP SpriteV : JMP SpriteH : JMP MarioCape : JMP MarioFireBall

MarioBelow:
MarioAbove:
MarioSide:

;Be like 130 until mario has 50 coins then let him pass

LDX #$29 ; save correct sound effect for later
LDA $0660
CMP #$01 ; if $0660 = 1.., block = passable with SFX
BEQ Correct
CMP #$02 ; if $0660 = 2.., block = passable with no SFX
BEQ MarioFireBall
LDA $0DBF
CMP #$32 ; if coins aren't 50
BCC Wrong ; jump to Wrong
SEC
SBC #$32 ; subtract 50
STA $0DBF
LDA #$01
STA $0660 ; set flag to indicate that the block is passable
BRA Correct
Wrong:
LDA #$30
LDY #$01 ; cement
STA $1693
LDX #$2A ; wrong sfx
STX $1DFC
RTL
Correct:
STX $1DFC ; store correct sound effect which was preserved earlier
LDA #$02 ; set flag to 02 to indicate it's been passed already
STA $0660
SpriteV:
SpriteH:
MarioCape:
MarioFireBall:
RTL


Und das ist mein geänderter code
Code
JMP MarioBelow : JMP MarioAbove : JMP MarioSide : JMP SpriteV : JMP SpriteH : JMP MarioCape : JMP MarioFireBall

MarioBelow:
MarioAbove:
MarioSide:

;Be like 130 until mario has 8 coins then let him pass

LDX #$29 ; save correct sound effect for later
LDA $0660
CMP #$01 ; if $0660 = 1.., block = passable with SFX
BEQ Correct
CMP #$02 ; if $0660 = 2.., block = passable with no SFX
BEQ MarioFireBall
LDA $0DBF
CMP #$32 ; if coins aren't 8
BCC Wrong ; jump to Wrong
SEC
SBC #$32 ; subtract 8
STA $0DBF
LDA #$01
STA $0660 ; set flag to indicate that the block is passable
BRA Correct
Wrong:
LDA #$30
LDY #$01 ; cement
STA $1693
LDX #$2A ; wrong sfx
STX $1DFC
RTL
Correct:
STX $1DFC ; store correct sound effect which was preserved earlier
LDA #$02 ; set flag to 02 to indicate it's been passed already
STA $0660
SpriteV:
SpriteH:
MarioCape:
MarioFireBall:
RTL


jetzt versteh ich aber nciht , warum beide blöcke noch 50 münzen fordern
#
geschrieben am 20.12.2010 16:15:09
( Link )
Code
CMP #$32                  ; if coins aren't 8
BCC Wrong ; jump to Wrong
SEC
SBC #$32


Diese 32, das ist die Münzenanzahl.
Änder die beiden Zweiunddreißigs (sagt man das so?) in Achter.
Natürlich ist die 32 eine 50 nur eben in Hex. Die acht ist allerdings in Hex und in Dezimalen gleich. Denk daran, wenn du doch eine andere Anzahl haben willst.


Visit us - <!-- m --><a class="postlink" href="http://www.veare.eu">http://www.veare.eu</a><!-- m -->
geschrieben am 20.12.2010 16:30:27
( Link )
achso ja verstehe, dankeschön
#