В Сонике,есть такой объект как красная эмблема.Так вот одна из них (которая дает 100 очков) дает 10.Надо поправить.Открываем код.Переходим к лейблу Obj7D.Удалем весь вплоть до лейбла Map_obj7D включительно.И ставим в это пустое место этот код:
Код:
; ===========================================================================
; ---------------------------------------------------------------------------
; Object 7D - hidden points at the end of a level
; ---------------------------------------------------------------------------
Obj7D: ; XREF: Obj_Index
moveq #0,d0
move.b $24(a0),d0
move.w Obj7D_Index(pc,d0.w),d1
jmp Obj7D_Index(pc,d1.w)
; ===========================================================================
Obj7D_Index: dc.w Obj7D_Main-Obj7D_Index
dc.w Obj7D_DelayDel-Obj7D_Index
; ===========================================================================
Obj7D_Main: ; XREF: Obj7D_Index
moveq #$10,d2
move.w d2,d3
add.w d3,d3
lea ($FFFFD000).w,a1
move.w 8(a1),d0
sub.w 8(a0),d0
add.w d2,d0
cmp.w d3,d0
bcc.s Obj7D_ChkDel
move.w $C(a1),d1
sub.w $C(a0),d1
add.w d2,d1
cmp.w d3,d1
bcc.s Obj7D_ChkDel
tst.w ($FFFFFE08).w
bne.s Obj7D_ChkDel
tst.b ($FFFFF7CD).w
bne.s Obj7D_ChkDel
addq.b #2,$24(a0)
move.l #Map_obj7D,4(a0)
move.w #$84B6,2(a0)
ori.b #4,1(a0)
move.b #0,$18(a0)
move.b #$10,$19(a0)
move.b $28(a0),$1A(a0)
move.w #119,$30(a0) ; set display time to 2 seconds
move.w #$C9,d0
jsr (PlaySound_Special).l ; play bonus sound
moveq #0,d0
move.b $28(a0),d0
add.w d0,d0
move.w Obj7D_Points(pc,d0.w),d0 ; load bonus points array
jsr AddPoints
Obj7D_ChkDel:
move.w 8(a0),d0
andi.w #$FF80,d0
move.w ($FFFFF700).w,d1
subi.w #$80,d1
andi.w #$FF80,d1
sub.w d1,d0
cmpi.w #$280,d0
bhi.s Obj7D_Delete
rts
; ===========================================================================
Obj7D_Delete:
jmp DeleteObject
; ===========================================================================
Obj7D_Points: dc.w 0 ; Bonus points array
dc.w 1000
dc.w 100
dc.w 10
; ===========================================================================
Obj7D_DelayDel: ; XREF: Obj7D_Index
subq.w #1,$30(a0) ; subtract 1 from display time
bmi.s Obj7D_Delete2 ; if time is zero, branch
move.w 8(a0),d0
andi.w #-$80,d0
move.w ($FFFFF700).w,d1
subi.w #$80,d1
andi.w #-$80,d1
sub.w d1,d0
cmpi.w #$280,d0
bhi.s Obj7D_Delete2
jmp DisplaySprite
; ===========================================================================
Obj7D_Delete2:
jmp DeleteObject
; ===========================================================================
; ---------------------------------------------------------------------------
; Sprite mappings - hidden points at the end of a level
; ---------------------------------------------------------------------------
Map_obj7D:
include "_maps\obj7D.asm"Гид на инглише тут
Автор 1337Rooster