home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Zodiac Super OZ
/
MEDIADEPOT.ISO
/
FILES
/
13
/
N_B_V203.ZIP
/
MASK-CLR.DMO
< prev
next >
Wrap
Text File
|
1996-07-04
|
7KB
|
115 lines
$if 0
┌──────────────────────────╖ PowerBASIC v3.20
┌──┤ DASoft ╟──────────────────────┬──────────────────╖
│ ├──────────────────────────╢ Copyright 1995 │ DATE: 1995-10-01 ╟─╖
│ │ FILE NAME MASK-CLR.DMO ║ by ╘════════════════─ ║ ║
│ │ ║ Don Schullian, Jr. ║ ║
│ ╘══════════════════════════╝ ║ ║
│ A license is hereby granted to the holder to use this source code in ║ ║
│ any program, commercial or otherwise, without receiving the express ║ ║
│ permission of the copyright holder and without paying any royalties, ║ ║
│ as long as this code is not distributed in any compilable format. ║ ║
│ IE: source code files, PowerBASIC Unit files, and printed listings ║ ║
╘═╤═════════════════════════════════════════════════════════════════════╝ ║
│ .................................... ║
╘═══════════════════════════════════════════════════════════════════════╝
A color mask requires some REAL hard thinking because of how the VGA data
is laid out! It simply got to be too much for me so I decided to let the
computer do it for me (not to mention that I had a whole group of mono-
chrome masks going to waste:). fColorMask$ takes a monochrome mask and
expands it into a 2color mask. Some of them produce startling effects when
the colors are mixed just right!
Try the 50% grey mask with different color combos!
$endif
'.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°
' ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° °
'┌────────────────────────────
$INCLUDE "DAS-NB01.INC" '│
$INCLUDE "DAS-NBV1.INC" '│
$INCLUDE "DAS-NBV2.INC" '│
'│
CLS '│ set-up the VGA screen
SCREEN 12 '│ MONOCHROME
GraphicSETUP '│
'│
DIM M$(94) '│ mask names
FOR X% = 1 TO 94 '│ read data
READ M% '│
READ M$(M%) '│
M$(M%) = "N° ## " + fJustLeft$(M$(M%),15,32) '│
NEXT '│
DIM Colour$(15) '│ color names
FOR X% = 0 TO 15 '│
READ Colour$(X%) '│
NEXT '│
LOCATE 13, 1 : PRINT "Foreground:" '│
LOCATE 14, 1 : PRINT "Background:" '│
GBoxDRAW 0, 16, 191, 191, 0, 3, 15 '│ draw
'│
X% = 1 '│ start here
F? = 1 '│ Foreground color
B? = 9 '│ Background color
DO '│
Mask$ = fMonoMask$( X% ) '│ get mask data
Mask$ = fColorMask$( Mask$, F?, B? ) '│ create color mask
LOCATE 01, 1 : PRINT USING M$(X%); X% '│ report which mask
LOCATE 13,13 : PRINT Colour$(F?) '│ report colors
LOCATE 14,13 : PRINT Colour$(B?) '│
GBoxCOLOR 1, 17, 190, 190, 0 '│ clear box
PAINT ( 1, 17 ), Mask$, 15 '│ put the mask
SELECT CASE fAnyKey$ '│ a simple menu
CASE CHR$(027) : EXIT LOOP '│ <ESC> bail out
CASE CHR$(0,72) : X% = MAX( 1, X%-1 ) '│ <UP> mask UP
CASE CHR$(0,80) : X% = MIN( 94, X%+1 ) '│ <DOWN> mask DOWN
CASE CHR$(0,71) : F? = MAX( 0, F?-1 ) '│ <HOME> foreground UP
CASE CHR$(0,79) : F? = MIN( 15, F?+1 ) '│ <END> foreground DOWN
CASE CHR$(0,73) : B? = MAX( 0, B?-1 ) '│ <PGUP> background UP
CASE CHR$(0,81) : B? = MIN( 15, B?+1 ) '│ <PGDN> background DOWN
END SELECT '│
LOOP '│
'│
PALETTE : SCREEN 0 : END '│ a clean exit
'└────────────────────────────
' these ended-up in no special order???
DATA 01, "05% GREY", 16, "BOX _& O(I)", 31, "GRID 1I"
DATA 46, "LINES 5DI", 02, "10% GREY", 17, "BOXES"
DATA 32, "GRID 2", 47, "LINES 6D", 03, "25% GREY"
DATA 18, "BOXES(I)", 33, "GRID 2I", 48, "LINES 6DI"
DATA 04, "50% GREY", 19, "BRICKS", 34, "HERRING BONE"
DATA 49, "LINES 7D", 05, "60% GREY", 20, "BRICKS(I)"
DATA 35, "ICECUBES", 50, "LINES 7DI", 06, "75% GREY"
DATA 21, "CHAINS(H)", 36, "ICECUBES (I)", 51, "LINES 8D"
DATA 07, "BACKGROUND 1", 22, "CHAINS(HI)", 37, "LINES 1H"
DATA 52, "LINES 8DI", 08, "BACKGROUND 1I", 23, "CHAINS(V)"
DATA 38, "LINES 1V", 53, "O's", 09, "BACKGROUND 2"
DATA 24, "CHAINS(VI)", 39, "LINES 2H", 54, "O's (I)"
DATA 10, "BACKGROUND 2I", 25, "CHECKER 1", 40, "LINES 2V"
DATA 55, "PATTERN 1", 11, "BACKGROUND 3", 26, "CHECKER 2"
DATA 41, "LINES 3H", 56, "PATTERN 1I", 12, "BACKGROUND 3I"
DATA 27, "CHECKER 3", 42, "LINES 3V", 57, "PATTERN 2H"
DATA 13, "BACKGROUND 4", 28, "CHECKER 4", 43, "LINES 4H"
DATA 58, "PATTERN 2V", 14, "BACKGROUND 5", 29, "CHECKER 5"
DATA 44, "LINES 4V", 59, "PATTERN 3", 15, "BOX _& O"
DATA 30, "GRID 1", 45, "LINES 5D", 60, "PATTERN 3I"
DATA 61, "PATTERN 4I", 76, "TURK SCREEN(I)", 91, "DOUBLE KNIT2"
DATA 62, "PATTERN 5", 77, "TVs ", 92, "MEANDER"
DATA 63, "PATTERN 5I", 78, "ZIG-ZAG 1H", 93, "SHOGUN"
DATA 64, "PATTERN 6D", 79, "ZIG-ZAG 1HI", 94, "TUCK _& ROLL"
DATA 65, "PATTERN 7DI", 80, "ZIG-ZAG 1V", 66, "PATTERN 8D"
DATA 81, "ZIG-ZAG 1VI", 67, "PATTERN 8DI", 82, "ZIG-ZAG 2H"
DATA 68, "PATTERN 4", 83, "ZIG-ZAG 2HI", 69, "RAINDROPS"
DATA 84, "ZIG-ZAG 2V", 70, "RAINDROPS (I)", 85, "ZIG-ZAG 2VI"
DATA 71, "SCALES", 86, "WICKER WORK 1", 72, "SCALES (I)"
DATA 87, "WICKER WORK 2", 73, "TARTAN WEAVE", 88, "WEAVE"
DATA 74, "TARTAN (I)", 89, "WEAVE (I)", 75, "TURK SCREEN"
DATA 90, "DOUBLE KNIT 1"
DATA "BLACK ", "BLUE ", "GREEN ", "CYAN "
DATA "RED ", "MAGENTA ", "BROWN ", "LtGREY "
DATA "DkGREY ", "LtBLUE ", "LtGREEN ", "LtCYAN "
DATA "LtRED ", "LtMAGENTA", "YELLOW ", "WHITE "