|
|
1.1 root 1: ;---------------------------- Include File Header ---------------------------;
2: ; lines.inc
3: ;
4: ; Line drawing constants and structures.
5: ;
6: ; NOTE: This file mirrors LINES.H. Changes here must be reflected in
7: ; the .h file!
8: ;
9: ;----------------------------------------------------------------------------;
10:
11: STYLE_MAX_COUNT equ 16
12: STYLE_MAX_VALUE equ 3fffh
13: RUN_MAX equ 20
14: STRIP_MAX equ 100
15: STYLE_DENSITY equ 3
16:
17: ; Flip and round flags:
18:
19: FL_H_ROUND_DOWN equ 00000080h
20: FL_V_ROUND_DOWN equ 00008000h
21:
22: FL_FLIP_D equ 00000005h
23: FL_FLIP_V equ 00000008h
24: FL_FLIP_SLOPE_ONE equ 00000010h
25: FL_FLIP_HALF equ 00000002h
26: FL_FLIP_H equ 00000200h
27:
28: FL_ROUND_MASK equ 0000001ch
29: FL_ROUND_SHIFT equ 2
30:
31: FL_RECTLCLIP_MASK equ 0000000ch
32: FL_RECTLCLIP_SHIFT equ 2
33:
34: FL_STRIP_MASK equ 00000003h
35: FL_STRIP_SHIFT equ 0
36:
37: FL_SIMPLE_CLIP equ 00000020h
38: FL_COMPLEX_CLIP equ 00000040h
39: FL_CLIP equ (FL_SIMPLE_CLIP + FL_COMPLEX_CLIP)
40:
41: FL_ARBITRARYSTYLED equ 00000400h
42: FL_MASKSTYLED equ 00000800h
43: FL_STYLED equ (FL_ARBITRARYSTYLED + FL_MASKSTYLED)
44: FL_ALTERNATESTYLED equ 00001000h
45:
46: FL_STYLE_MASK equ 00000C00h
47: FL_STYLE_SHIFT equ 10
48:
49: ; Simple flag bits in high byte:
50:
51: FL_DONT_DO_HALF_FLIP equ 00002000h
52: FL_PHYSICAL_DEVICE equ 00004000h
53:
54: ; Miscellaneous DDA defines:
55:
56: F equ 16
57: FLOG2 equ 4
58:
59: STRIPS struc
60:
61: ; Updated by strip drawers:
62:
63: ST_pjScreen dd ?
64: ST_jBitMask db ?
65: ST_jFiller1 db 3 dup(?) ; jBitMask sometimes treated as a dword
66: ST_jStyleMask db ?
67: ST_jFiller2 db 3 dup(?) ; jStyleMask sometimes treated as a dword
68:
69: ST_psp dd ?
70: ST_spRemaining dd ?
71:
72: ; Not modified by strip drawers:
73:
74: ST_lNextScan dd ?
75: ST_plStripEnd dd ? ; usually won't be valid
76: ST_flFlips dd ?
77: ST_pspStart dd ?
78: ST_pspEnd dd ?
79: ST_ulBitmapROP dd ?
80: ST_xyDensity dd ?
81:
82: ; We leave room for a couple of extra dwords at the end of the strips
83: ; array that can be used by the strip drawers:
84:
85: ST_alStrips dd (STRIP_MAX + 2) dup (?)
86: STRIPS ends
87:
88: LINESTATE struc
89: LS_spTotal dd ?
90: LS_spTotal2 dd ?
91: LS_spNext dd ?
92: LS_spComplex dd ?
93:
94: LS_aspRtoL dd ?
95: LS_aspLtoR dd ?
96:
97: LS_xyDensity dd ?
98: LS_cStyle dd ?
99:
100: LS_ulStyleMaskLtoR dd ?
101: LS_ulStyleMaskRtoL dd ?
102:
103: LS_jStartMask db ?
104: LS_filler3 db 3 dup (?)
105:
106: LS_apfnStrip dd ?
107:
108: ; Used for 2 pass ROPs and/or DFBs:
109:
110: LS_iColor dd ?
111: LS_ulVgaMode dd ?
112:
113: LS_ulDrawModeIndex dd ?
114: LS_ulBitmapROP dd ?
115: LS_lNextPlane dd ?
116: LINESTATE ends
117:
118: RUN struc
119: RUN_iStart dd ?
120: RUN_iStop dd ?
121: RUN ends
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.