******************************************************************************* * sprite.library.I Written by Readysoft. * Copyright 1993,1994 RS. All rights reserved. 1993.08.12.-1994.05.18. * v2.0. ******************************************************************************* ******************************************************************************* * Macros ******************************************************************************* ;------------------------------------------------------------------------------ ; SpriteName Macro ;------------------------------------------------------------------------------ SPR.NAM MACRO DC.B 'sprite.library',0 EVEN ENDM ******************************************************************************* * Constant Definitions ******************************************************************************* ;------------------------------------------------------------------------------ ; SpriteSetHeader Structure ;------------------------------------------------------------------------------ RSRESET spr_sh_Ident RS.L 1 identifier word 'SPRS' spr_sh_Version RS.L 1 version code spr_sh_Size RS.L 1 sprite set size spr_sh_SpriteDS RS.L 1 sprite data size spr_sh_AnSprDS RS.L 1 animsprite data size spr_sh_AnimDS RS.L 1 anim data size spr_sh_Sprites RS.B 1 number of sprites spr_sh_AnSprs RS.B 1 number of animsprites spr_sh_Anims RS.B 1 number of anims spr_sh_Inited RS.B 1 initialized spr_sh_SpriteDP RS.L 1 sprite data ptr spr_sh_AnSprDP RS.L 1 animsprite data ptr spr_sh_AnimDP RS.L 1 anim data ptr spr_sh_IndexT RS.B 256 index table spr_sh_SpriteT RS.B 256 sprite table spr_sh_AnSprT RS.B 256 animsprite table spr_sh_SizeOf RS.B 0 ;------------------------------------------------------------------------------ ; Sprite Structure ;------------------------------------------------------------------------------ RSRESET spr_sp_Code RS.B 1 identifier code spr_sp_NotUsed RS.B 9 not used area spr_sp_Height RS.W 1 height in pixel spr_sp_Data RS.L 1 ptr to DMA data spr_sp_SizeOf RS.B 0 IF spr_sp_SizeOf<>16 PRINTT '** Incorrect spr_sp_SizeOf !' ENDC ;------------------------------------------------------------------------------ ; SpriteAnim Structure ;------------------------------------------------------------------------------ RSRESET spr_an_Code RS.B 1 identifier code spr_an_Speed RS.B 1 speed (vblank/change) spr_an_SpeedCnt RS.B 1 speed counter spr_an_PhaseCnt RS.B 1 phase counter spr_an_Queue RS.L 1 ptr to sprite queue spr_an_SizeOf RS.B 0 IF spr_an_SizeOf<>8 PRINTT '** Incorrect spr_an_SizeOf !' ENDC ;------------------------------------------------------------------------------ ; SpriteInfo Structure ;------------------------------------------------------------------------------ RSRESET spr_si_XPos RS.W 1 sprite xpos spr_si_YPos RS.W 1 sprite ypos spr_si_Flags RS.W 1 flags spr_si_Height RS.W 1 height spr_si_Data RS.L 1 ptr to DMA data spr_si_Size RS.L 1 size of DMA data spr_si_SizeOf RS.B 0 ;------------------------------------------------------------------------------ ; Flag Bit Definitions ;------------------------------------------------------------------------------ spr_fl_b_Attach EQU 7 attach control ;------------------------------------------------------------------------------ ; Flag Bit-Value Definitions ;------------------------------------------------------------------------------ spr_fl_Attach EQU 1<