2025-04-27 07:49:33 -04:00

122 lines
3.1 KiB
PHP

;---------------------------- Include File Header ---------------------------;
; lines.inc
;
; Line drawing constants and structures.
;
; NOTE: This file mirrors LINES.H. Changes here must be reflected in
; the .h file!
;
;----------------------------------------------------------------------------;
STYLE_MAX_COUNT equ 16
STYLE_MAX_VALUE equ 3fffh
RUN_MAX equ 20
STRIP_MAX equ 100
STYLE_DENSITY equ 3
; Flip and round flags:
FL_H_ROUND_DOWN equ 00000080h
FL_V_ROUND_DOWN equ 00008000h
FL_FLIP_D equ 00000005h
FL_FLIP_V equ 00000008h
FL_FLIP_SLOPE_ONE equ 00000010h
FL_FLIP_HALF equ 00000002h
FL_FLIP_H equ 00000200h
FL_ROUND_MASK equ 0000001ch
FL_ROUND_SHIFT equ 2
FL_RECTLCLIP_MASK equ 0000000ch
FL_RECTLCLIP_SHIFT equ 2
FL_STRIP_MASK equ 00000003h
FL_STRIP_SHIFT equ 0
FL_SIMPLE_CLIP equ 00000020h
FL_COMPLEX_CLIP equ 00000040h
FL_CLIP equ (FL_SIMPLE_CLIP + FL_COMPLEX_CLIP)
FL_ARBITRARYSTYLED equ 00000400h
FL_MASKSTYLED equ 00000800h
FL_STYLED equ (FL_ARBITRARYSTYLED + FL_MASKSTYLED)
FL_ALTERNATESTYLED equ 00001000h
FL_STYLE_MASK equ 00000C00h
FL_STYLE_SHIFT equ 10
; Simple flag bits in high byte:
FL_DONT_DO_HALF_FLIP equ 00002000h
FL_PHYSICAL_DEVICE equ 00004000h
; Miscellaneous DDA defines:
F equ 16
FLOG2 equ 4
STRIPS struc
; Updated by strip drawers:
ST_pjScreen dd ?
ST_jBitMask db ?
ST_jFiller1 db 3 dup(?) ; jBitMask sometimes treated as a dword
ST_jStyleMask db ?
ST_jFiller2 db 3 dup(?) ; jStyleMask sometimes treated as a dword
ST_psp dd ?
ST_spRemaining dd ?
; Not modified by strip drawers:
ST_lNextScan dd ?
ST_plStripEnd dd ? ; usually won't be valid
ST_flFlips dd ?
ST_pspStart dd ?
ST_pspEnd dd ?
ST_ulBitmapROP dd ?
ST_xyDensity dd ?
; We leave room for a couple of extra dwords at the end of the strips
; array that can be used by the strip drawers:
ST_alStrips dd (STRIP_MAX + 2) dup (?)
STRIPS ends
LINESTATE struc
LS_spTotal dd ?
LS_spTotal2 dd ?
LS_spNext dd ?
LS_spComplex dd ?
LS_aspRtoL dd ?
LS_aspLtoR dd ?
LS_xyDensity dd ?
LS_cStyle dd ?
LS_ulStyleMaskLtoR dd ?
LS_ulStyleMaskRtoL dd ?
LS_jStartMask db ?
LS_filler3 db 3 dup (?)
LS_apfnStrip dd ?
; Used for 2 pass ROPs and/or DFBs:
LS_iColor dd ?
LS_ulVgaMode dd ?
LS_ulDrawModeIndex dd ?
LS_ulBitmapROP dd ?
LS_lNextPlane dd ?
LINESTATE ends
RUN struc
RUN_iStart dd ?
RUN_iStop dd ?
RUN ends