home *** CD-ROM | disk | FTP | other *** search
RISC OS BBC BASIC V Source | 1993-09-10 | 1.9 KB | 82 lines |
- >GenMap
- Custom map generator
- By Michel Grimminck
- Nb. PROCMap is compatible with that in !Process.GenMap 1.00, the file
- itself is not.
- File format:
- byte 0- 3 indentifier
- byte 4- 63 string, discriping the map. <32 terminated
- byte 64-319 transformation table for red
- byte 320-575 transformation table for green
- byte 576-831 transformation table for blue
- " at line ";
- map 832
- text$=""
- !File$="<Mask$Dir>.Maps.MyMap"
- 9!map=&BD2A275D :
- randomly chosen indentifier
- entry%=0
- , red%=entry%:green%=entry%:blue%=entry%
- Map(red%,green%,blue%)
- Check range
- red% < 0
- red% = 0
- red% > 255
- red% = 255
- green% < 0
- green% = 0
- green% > 255
- green% = 255
- blue% < 0
- blue% = 0
- blue% > 255
- blue% = 255
- map?( 64+entry%)=red%
- map?(320+entry%)=green%
- map?(576+entry%)=blue%
- T%=0
- 59:map?(4+T%)=0:
- text$=
- text$,60)
- T%=1
- (text$):map?(3+T%)=
- text$,T%)):
- "OS_File",10,File$,&FFD,,map,map+832
- "Map generated and saved as:'";File$;"'"
- red%,
- green%,
- blue%)
- /'text$="False colour transformation"
- 0 grey%=(red%+green%+blue%)/3
- grey%<64
- L=grey%/63
- 31 red%=.4*255*L:green%=.4*255*L:blue%=L*255
- 4
- grey%>=64
- grey%<128
- L=(grey%-64)/63
- 7> red%=.4*255*(1-L):green%=255*(.6*L+.4):blue%=255*(1-L)
- 8
- grey%>=128
- grey%<192
- L=(grey%-128)/63
- ;/ red%=.8*L*255:green%=255:blue%=.5*255*L
- <
- grey%>=192
- L=(grey%-192)/63
- ?4 red%=255:green%=255*(1-L):blue%=.5*255*(1-L)
- @
- red%,
- green%,
- blue%)
- text$="Lighten image"
- red% = red% +16
- green% = green% +16
- blue% = blue% +16
- red%,
- green%,
- blue%)
- text$="Red filter"
- green% = 0
- blue% = 0
-