1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- ; Filename : COLCODE.INC
- ; Description : ASM include file for defining special colour
- ; see/update also COLCODE.H for C
- ; for transparent code repeated for 1 to UNIQUE_REPEAT_CODE_NUM times,
- ; write FEW_TRANSPARENT_CODE(repeated_times)
- ; for transparent code repeated for UNIQUE_REPEAT_CODE_NUM+1 to 255 times,
- ; write two bytes, MANY_TRANSPARENT_CODE and repeated_times
- TRANSPARENT_CODE = 255
- UNIQUE_REPEAT_CODE_NUM = 7 ; total no. of bytes used by transparent pixels and compressed transparent pixels is 7+1 (the last 1 is the first byte of the 2 bytes compression code)
- ENCODE_FEW_TRANS_CODE MACRO reg ; reg must be byte
- neg reg
- ENDM
- DECODE_FEW_TRANS_CODE MACRO reg ; must be a byte
- neg reg
- ENDM
- MANY_TRANSPARENT_CODE = 0f8h
- MIN_TRANSPARENT_CODE = 0f8h
- MAX_TRASNPARENT_CODE = 0ffh
- ; never appear color code 0
- SHADOW_CODE = 000h
- OUTLINE_CODE = 0f2h
- OUTLINE_SHADOW_CODE = 0f3h
- ; do not remap colour
- PRE_REMAP MACRO
- xlatb [EBX]
- ENDM
- POST_REMAP MACRO
- ENDM
- JUMP_IF_TRANS MACRO byteCode, goLabel
- cmp byteCode, MIN_TRANSPARENT_CODE
- jae goLabel
- ENDM
- JUMP_IF_NOT_TRANS MACRO byteCode, goLabel
- cmp byteCode, MIN_TRANSPARENT_CODE
- jb goLabel
- ENDM
- JUMP_IF_MANY_TRANS MACRO byteCode, goLabel
- cmp byteCode, MANY_TRANSPARENT_CODE
- je goLabel
- ENDM
- JUMP_IF_NOT_MANY_TRANS MACRO byteCode, goLabel
- cmp byteCode, MANY_TRANSPARENT_CODE
- jne goLabel
- ENDM
|