Level_ender.asm Problem

geschrieben am 03.06.2015 16:59:11
( Link )
Hi . Mein Problem ist: Wenn ich den Level ender sprite in meinem Level einfüge, spielt er, nachdem die Gegner tot sind, die Unterwassermusik von SMW ab anstatt die Fanfare (liegt wohl an AddmusicK). Meine Frage ist: Wie muss ich den Code verändern, damit diese abgespielt wird?
Der Code:
Code
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Level end trigger, by mikeyk
;;
;; Description: This sprite will cause the level to end when all the enemies on screen
;; are killed. This version ignnores sprites that don't turn into a coin when the goal
;; tape is passed.
;;
;; Uses first extra bit: YES
;; When the first extra bit is clear, the sprite will trigger the regular exit. When it
;; is set, the sprite will trigger the secret exit.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

EXTRA_BITS = $7FAB10

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; sprite data
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

EXTRA_PROP_1 = $7FAB28
EXTRA_PROP_2 = $7FAB34

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; sprite init JSL
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

dcb "INIT"
RTL


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; sprite code JSL
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

dcb "MAIN"
LDA $1493
BNE RETURN
LDA $13C6
BNE RETURN

LDY #$0B
LOOP_START:
LDA $14C8,y
CMP #$08
BCS TestTweakerBits
DONT_CHECK:
DEY
BPL LOOP_START

LDA #$FF ; \ set time before return to overworld
STA $1493 ; /
LDA EXTRA_BITS,x ; set secret exit if first extra bit is set
LSR A
LSR A
LSR A
AND #$01
EOR #$01
STA $141C

LDA EXTRA_PROP_1,x
CMP #$01
BEQ WALK
DEC $13C6 ; prevent mario from walking at level end
WALK:
LDA EXTRA_PROP_2,x
STA $1DFB

TestTweakerBits:
LDA $1686,y
AND #$20
BNE DONT_CHECK
RETURN:
RTL

geschrieben am 03.06.2015 17:14:14
( Link )
Zitat
Code
   LDA EXTRA_PROP_2,x
STA $1DFB

Interessant. Die Musik wird durch die CFG-Datei ausgewählt d.h. du musst sie mit den CFG Editor (ist mit Sprite Tool mitgeliefert) öffnen und den zweite extra Eigenschaft Byte (Extra Property Byte 2) verändern. Alternativ kannst du sie in Notepad öffnen. Dann siehst du das hier:
Code
1
36
0 0 30 82 b9 44
0 c
level_ender.asm
1

Wichtig ist nur c. Dies ist der zweite extra Eigenschaft Byte Die Todes-Musik kann man einfach Addmusic_list.txt nachgucken. Und wenn du sie trotzdem nicht errätst, es ist Musik 1.
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 03.06.2015 17:42:55
( Link )
Ich glaub ich habe es