perfectly smooth scrolling background bobs
This commit is contained in:
parent
4daeb1bef3
commit
71fff816ce
|
@ -5,7 +5,7 @@
|
|||
</tileset>
|
||||
<layer name="background" width="200" height="16">
|
||||
<data encoding="base64" compression="zlib">
|
||||
eJzlmslOxDAMhjuCwoDYJTaJbQSHkYb3fz7cQ6SRFbt27DhpOXwSQ5c4cX7bSToOw7BdERvFvRfApaGta+AGuAXuKvdrl/nfq6Fvo6NtkeOQbB8zv/cVaNE/7NfTRn65Bx4U92M7H4En4Bl4CRi3mn2zjK1mHHK+nmvrDf3m9DESbJlrHL372csvmCuH9t+BD+AT+FI8dyK8j8oB3vEsl3M1Y1s6DqV+pObynrkm1QL+26N/HBpfTn46V7zbYjeOSd7z7hv4Ia6dCd9B5YCIeFZzTiR2hW1554g5zZTMJSlLyk2eth6A34FfI0TMXap9yqceeRVjXedhuHncQh9RvmzNkmyl5o31HVzeK4XKg9J1J9aXV33FvWtOH1q9S2vqHCnPeseZiRrxu8SntZ6xkKsnU95L91BzOHJcKX15rz+k+qDs8YwtuTxu3XOJhttLLumLV/+lOltS7ZujlT4ocGypDadHbay15LfWaM50JqQ6q11Pau3GUGshr/pKUme19j0Hp0ePWFt67tIDLWzv5Tw1xc3I/GHZo1oruTPr/0gaB2tMktRzKedwe+Apbkr0kZ6JyB+l+u9Re9rcH/GNQcoJNfZYe8CrntPUV3PPeK4/elrPRX8To+07pT+t3ZaaJmqMWn1/1Uof1Fq2p/OBaK169V1rt7am2RS0Zc3vHr7QxAGtPjzWHzWpsXfkrVWrjVL/RsYYa1vSMZG0g+ca3l/g4gDOTxp9eK3P10b0mqf12c2S96/nwPnpWA/HeGtj4g9zxnTp
|
||||
eJzdmtlOAzEMRVvBQEHsEpvEVsFDJfj/7yN9iFRZsceOb5xMH45EmSVOnGs7yUyr1WpzRKwN914kLh1tXSduEreJu8b92hb+9+ro2wS0LXIcsu1T4feuAT36R/162skv94kHw/3UzsfEU+I58RIwbi375hlbyziUfD3X1hv5LeljYtgI1yRG9zPKL5QrQPvviY/EZ+LL8NyJ8j4uB6DjWSnnWsa2dhxq/cjN5Z1wTasF+jeifxJWX54b3u2xm8Yk9Lz7Tvww186U7+ByQEQ8azknMtvKttA5Yk4zNXNJy5JyE9LW38TfSl4jRMxdrn3Op4i8SvGu8yjSPO6hjyhf9mZJtnLzxvsOKe/VwuVB7bqT6gtVX0nvmtOHVe/amrpEzrPoONOTmr5E979UT+a8l+/h5nCLvMjB6Qu9/tDqg7MHGVtKedy75xKNtJdc0xdU/7U6W1LtW6KXPjhobGmNpEdrrPXkt95YznT2aHXWup602k3h1kKo+kpTZ/X2vYSkR0SsrT13GYEeto9ynprjZmT+8OxRofDGGzSlM2stkfV51Dh4Y5KmnstzQNoDz3FTo4/8TET+qNX/CNqjWOdvxDcGOSe02GMdAVQ9Z6mv5p5Brj9GWs9FfxOD6rvVbk9NEzVGvb6/6qUPbi070vlAtFZRfbfaba1p1hVtefM7wheWOGDVB2L90ZIWe0dorXpt1Po3MsZ429KOiaYdOtfo/oIUB2h+sugDtT4/NqLXPL3Pbpa8fz0HzU+HejgErY09/95VdQg=
|
||||
</data>
|
||||
</layer>
|
||||
</map>
|
||||
|
|
15
028.bs/bob.i
15
028.bs/bob.i
|
@ -14,7 +14,8 @@ BOB_MODULO equ BACKGROUND_TILEMAP_WIDTH_BYTES-BOB_BLIT_WIDTH_BYTES
|
|||
BOB_SHIFT_CONVERT equ 4
|
||||
BOB_SAVE_SIZE equ BOB_BLIT_WIDTH_BYTES*SCREEN_BIT_DEPTH*BOB_BLIT_HEIGHT
|
||||
BOB_IDLE_X equ (-31<<BOB_SHIFT_CONVERT)
|
||||
|
||||
BOB_BALLOON_DX equ 2<<BOB_SHIFT_CONVERT
|
||||
BOB_CLOUD_DX equ 1<<(BOB_SHIFT_CONVERT-1)
|
||||
;; BLITTER_OBJECT
|
||||
;; index,startX,y,dx,mapLine,blitHeight
|
||||
|
||||
|
@ -26,11 +27,11 @@ BLITTER_OBJECT: macro
|
|||
.\@y:
|
||||
dc.l \3
|
||||
.\@dx:
|
||||
dc.l \4
|
||||
dc.l 0
|
||||
.\@sourceAddress:
|
||||
dc.l backgroundTilemap+(BACKGROUND_TILEMAP_WIDTH_BYTES*\5*SCREEN_BIT_DEPTH)
|
||||
dc.l backgroundTilemap+(BACKGROUND_TILEMAP_WIDTH_BYTES*\4*SCREEN_BIT_DEPTH)
|
||||
.\@maskAddress:
|
||||
dc.l bobMask+(BACKGROUND_TILEMAP_WIDTH_BYTES*\5*SCREEN_BIT_DEPTH)
|
||||
dc.l bobMask+(BACKGROUND_TILEMAP_WIDTH_BYTES*\4*SCREEN_BIT_DEPTH)
|
||||
.\@saveBufferAddress:
|
||||
dc.l splash+(\1)*(BOB_SAVE_SIZE*2)
|
||||
dc.l splash+(\1)*(BOB_SAVE_SIZE*2)+BOB_SAVE_SIZE
|
||||
|
@ -38,15 +39,15 @@ BLITTER_OBJECT: macro
|
|||
dc.l 0
|
||||
dc.l 0
|
||||
.\@blitSize:
|
||||
dc.w ((\6)*SCREEN_BIT_DEPTH)<<6|(BOB_BLIT_WIDTH_WORDS)
|
||||
dc.w ((\5)*SCREEN_BIT_DEPTH)<<6|(BOB_BLIT_WIDTH_WORDS)
|
||||
align 4
|
||||
endm
|
||||
|
||||
|
||||
BALOON_BOB: macro
|
||||
BLITTER_OBJECT \1,BOB_IDLE_X,\2,\3,67,29
|
||||
BLITTER_OBJECT \1,BOB_IDLE_X,0,67,29
|
||||
endm
|
||||
|
||||
CLOUD_BOB: macro
|
||||
BLITTER_OBJECT \1,BOB_IDLE_X,\2,\3,0,16
|
||||
BLITTER_OBJECT \1,BOB_IDLE_X,0,0,16
|
||||
endm
|
||||
|
|
15
028.bs/bob.s
15
028.bs/bob.s
|
@ -9,17 +9,14 @@
|
|||
xdef RestoreBobBackgrounds
|
||||
xdef bobBufferOffset
|
||||
xdef EnableBobs
|
||||
|
||||
;; BALOON_BOB/CLOUD_BOB
|
||||
;; index,y,dx
|
||||
|
||||
bob:
|
||||
CLOUD_BOB 0,15,8
|
||||
CLOUD_BOB 0
|
||||
endBob:
|
||||
CLOUD_BOB 1,96,10
|
||||
CLOUD_BOB 2,170,12
|
||||
CLOUD_BOB 1
|
||||
CLOUD_BOB 2
|
||||
baloonBob:
|
||||
BALOON_BOB 3,15,24
|
||||
BALOON_BOB 3
|
||||
dc.l 0
|
||||
|
||||
|
||||
|
@ -30,7 +27,7 @@ AddBobBaloon:
|
|||
move.l #320<<BOB_SHIFT_CONVERT,BOB_X(a5)
|
||||
lsl.w #4,d1
|
||||
move.w d1,BOB_Y+2(a5)
|
||||
move.l #24,BOB_DX(a5)
|
||||
move.l #BOB_BALLOON_DX,BOB_DX(a5)
|
||||
rts
|
||||
.continue:
|
||||
rts
|
||||
|
@ -53,7 +50,7 @@ AddBobCloud:
|
|||
move.l a3,BOB_MASK_ADDRESS(a5)
|
||||
lsl.w #4,d1
|
||||
move.w d1,BOB_Y+2(a5)
|
||||
move.l #12,BOB_DX(a5)
|
||||
move.l #BOB_CLOUD_DX,BOB_DX(a5)
|
||||
bra .done
|
||||
.continue:
|
||||
adda.l #endBob-bob,a5
|
||||
|
|
Loading…
Reference in New Issue