RYO的MAX波從板邊發(fā)出來
舉例說明,我讓RYO的MAX波從板邊發(fā)出來
意思就是以自身為原點,面向右的時候X左偏移C0 Y偏移0
那么就要改成以自身為原點,面向右的時候X左偏移左板邊值,Y偏移0,反過來面向左,則X右偏移右板邊值,Y偏移0
先找到波的XY坐標。
ROM:000486BA? ? ? ? ? ? ? ? ?move.w? #$FFC0,d5 ;波的X坐標
ROM:000486BE? ? ? ? ? ? ? ? ?move.w? #0,d6 ;波的Y坐標
ROM:000486C2? ?4EB9 0009 8000? ? ? ? ? ? ? jsr? ? ?#98000? ? ?;空白地址
再寫程序源碼
? ? ? ? ? ? ? ? ?move.w? $18(a4),d5 ;調用人物位置坐標
? ? ? ? ? ? ? ? ?move.w? $3084(a5),d6 ;調用98左板邊的值
? ? ? ? ? ? ? ? ?btst? ? #0,$31(a4)
? ? ? ? ? ? ? ? ?bne.s? ?rightcheck
addi.w? #$100, d6 ;面向左,+$100變成右板邊的值
exg.l? d5, d6?
sub.w? ?d6, d5
? ? ? ? ? ? ? ? ?addi.w? #$20,d5 ;右版邊距離補充,X坐標
? ? ? ? ? ? ? ? ?move.w? #$0,d6 ;Y坐標
? ? ? ? ? ? ? ? ?jsr? ? ?#24944
rts
?rightcheck:
sub.w? ?d6, d5 ;X坐標
? ? ? ? ? ? ? ? ?move.w? #$0,d6 ;Y坐標
? ? ? ? ? ? ? ? ?jsr? ? ?#24944
rts
?
找個位置寫以下子程序,然后把以前的
ROM:00098000
? 3A2C 0018? ? ? ? ? ?|? ? ? ? ? ? ? ? ?move.w? $18(a4),d5? ? ?;調用人物位置坐標
? 3C2D 3084? ? ? ? ? ?|? ? ? ? ? ? ? ? ?move.w? $3084(a5),d6? ?;調用左板邊的值
? 082C 0000 0031? ? ? |? ? ? ? ? ? ? ? ?btst? ? #0,$31(a4)
? 6618? ? ? ? ? ? ? ? |? ? ? ? ? ? ? ? ?bne.s? ?rightcheck
? 0646 0100? ? ? ? ? ?|? ? ? ? ? ? ? ? ?addi.w? #$100, d6? ? ? ;面向左,+$100變成右板邊的值
? CB46? ? ? ? ? ? ? ? |? ? ? ? ? ? ? ? ?exg.l? d5, d6?
? 9A46? ? ? ? ? ? ? ? |? ? ? ? ? ? ? ? ?sub.w? ?d6, d5
? 0645 0020? ? ? ? ? ?|? ? ? ? ? ? ? ? ?addi.w? #$20,d5? ? ? ? ;右版邊距離補充,X坐標??
? 3C3C 0000? ? ? ? ? ?|? ? ? ? ? ? ? ? ?move.w? #$0,d6
? 4EB9 0002 4944? ? ? |? ? ? ? ? ? ? ? ?jsr? ? ?#24944
? 4E75? ? ? ? ? ? ? ? |? ? ? ? ? ? ? ? ?rts
? ? ? ? ? ? ? ? ? ? ? ?rightcheck:
? 9A46? ? ? ? ? ? ? ? |? ? ? ? ? ? ? ? ?sub.w? ?d6, d5
? 3C3C 0000? ? ? ? ? ?|? ? ? ? ? ? ? ? ?move.w? #$0,d6
? 4EB9 0002 4944? ? ? |? ? ? ? ? ? ? ? ?jsr? ? ?#24944
? 4E75? ? ? ? ? ? ? ? |? ? ? ? ? ? ? ? ?rts