dc.l 1 ; ; How many sprites like this one do you want in the sprite list? dc.l is_active ; is_active is_inactive ; Will the sprite be active on screen or inactive? ; R_sprite_active dc.w 21,0 ; ; Put sprite this many pixels from left side of screen. ; R_sprite_x dc.w 28,0 ; ; Put sprite this many pixels down from top of screen. ; R_sprite_y dc.w 0,0 ; ; How many pixels will this sprite move automatically in x? ; R_sprite_xadd dc.w 0,0 ; ; How many pixels will this sprite move automatically in x? ; R_sprite_xadd dc.l 320 ; ; Width of sprite in pixels ; * R_sprite_width dc.l 200 ; ; Height of sprite in pixels ; * R_sprite_height dc.l is_normal ; is_normal is_flipped ; Will the sprite be mirrored in x? ; R_sprite_flip dc.l 0 ; ; Collision box x offset - pixel distance from centre of sprite ; * R_sprite_coffx dc.l 0 ; ; Collision box y offset - pixel distance from centre of sprite ; * R_sprite_coffy dc.l 320/2 ; ; Width of collision box from centre in pixels ; * R_sprite_hbox dc.l 200/2 ; ; Height of collision box from centre in pixels ; * R_sprite_vbox dc.l SPRITE_BG ; ; Place in memory where the sprite lives: label from RAPAPP.S ; R_sprite_gfxbase dc.l 16 ; 1, 2, 4, 8, 16, 24 ; Sprite graphics type: 1,2,4,8,16 or 24 bit ; * R_sprite_? dc.l is_RGB ; is_RGB is_cry ; Sprite graphics type. RGB or Atari's CRY format. ; * R_sprite_? dc.l is_trans ; is_trans is_opaque ; Trans for see-through background, opaque for solid background ; * R_sprite_? dc.l 320*200*2 ; ; Size of sprite in bytes - used to find next frame of animation ; R_sprite_framesz ; Enter the x-size * the y-size and add the following next: ; /8 for 1bit ; /4 for 2bit ; /2 for 4bit ; nothing for 8bit ; *2 for 16bit ; *4 for 24bit dc.l 320*2 ; ; Width of a single row of sprite pixels ; * R_sprite_bytewid ; Enter the x-size and add the following: ; /8 for 1bit ; /4 for 2bit ; /2 for 4bit ; nothing for 8bit ; *2 for 16bit ; *4 for 24bit dc.l 28 ; ; Number of screen updates (VB) before the animation advances ; R_sprite_framedel dc.l 5 ; ; Additional number of animation frames after the first ; R_sprite_maxframe dc.l ani_rept ; ani_rept ani_once ; Loop theanimation or play a single time ; R_sprite_animloop dc.l edge_wrap ; edge_wrap R_edge_kill ; What do you want to do if sprite leaves the edge of the screen? ; R_sprite_wrap dc.l spr_inf ; spr_inf ; Want sprite to stay forever or a number of frames? ; R_sprite_timer dc.l spr_linear ; spr_linear ; Use automatic movement above or use a tracking table. ; R_sprite_track dc.l 0 ; ; If using above tracking table, input the loop point here ; R_sprite_tracktop dc.l spr_unscale ; spr_unscale spr_scale ; Is the sprite going to be scaleable or not scaled? ; R_spr_scaled dc.l 32 ; ; 32 is 1:1. 0-31 are scaled down, 33-255 are scaled up. ; R_sprite_scale_x ; It's probably best to think of the binary number %00100000... ; Adding numbers to the right increases the size fractionally... ; Adding them to the left increases buy a factor of one each time ; So %01000000 is scaled 2x bigger than the original ; %00010000 is scaled half size ; %00010001 is a tiny bit bigger than half size dc.l 32 ; ; 32 is 1:1. 0-31 are scaled down, 33-255 are scaled up. ; R_sprite_scale_y ; See above for more info. dc.l -1 ; ; Did the sprite collide with another? ; R_sprite_was_hit ; Set to not hit to begin with, used later to flag collisions dc.l no_CLUT ; no_CLUT ; Define sprite colours. ; R_sprite_CLUT ; no_CLUT for 8, 16 and 24bit ; CLUT number 0 to 15 for 1, 2 and 4bit dc.l cant_hit ; can_hit cant_hit ; Want to be able to check if this sprite hits others? ; R_sprite_colchk dc.l cd_keep ; cd_keep cd_remove ; What to do if a collision is detected. ; R_sprite_remhit dc.l single ; single ; Bounding box for collision detect 'single'. Or address of table ; R_sprite_bboxlink dc.l 1 ; ; Hit points before sprite is killed ; R_sprite_hitpoint dc.l 0 ; ; Hit points inflicted upon other sprites ; R_sprite_damage dc.l 320*2 ; ; Width of sprite within larger graphic. ; R_sprite_gwidth ; Enter the x-size and add the following: ; /8 for 1bit ; /4 for 2bit ; /2 for 4bit ; nothing for 8bit ; *2 for 16bit ; *4 for 24bit