home *** CD-ROM | disk | FTP | other *** search
/ Inside Multimedia 1995 July / IMM0795.ISO / demo / optix / optxfpac.set / MAKEFILM.OPT < prev    next >
Text File  |  1995-05-02  |  2KB  |  101 lines

  1. def(loci)
  2. def(locj)
  3. def(lock)
  4. def(locl)
  5. def(locm)
  6. def(locn)
  7. def(c)
  8. def(i)
  9. def(j)
  10. def(x)
  11. def(y)
  12. defab(film,60784)
  13. defs(dummy$)
  14.  
  15. procedure mvihead(x,y,fram)
  16.   locals(r,g,b,l,dum)
  17.   new(film)
  18.   rem *** 16 Header-Bytes deklarieren (s.Handbuch)
  19.   dummy$:='MV'+CHR(8)+CHR(0)+'RS'
  20.   dummy$:=dummy$+CHR(x-x/256*256)+CHR(x/256)
  21.   dummy$:=dummy$+CHR(y-y/256*256)+CHR(y/256)
  22.   dummy$:=dummy$+CHR(fram)+CHR(0)
  23.   dummy$:=dummy$+CHR(768-768/256*256)+CHR(768/256)
  24.   dummy$:=dummy$+CHR(0)+CHR(0)
  25.   rem *** 16 Header-Bytes in MVI-Array lesen
  26.   len(dummy$,l)
  27.   for loci:=1 to l do
  28.     asc(dummy$[loci],dum)
  29.     film[loci]:=dum
  30.   next(loci)
  31.   rem *** 768 Bytes aktuelle Palette (TRUECOLOR-Format)
  32.   rem *** in MVI-Array einlesen
  33.   for loci:=0 to 255 do
  34.     getrgbcolor(i,r,g,b)
  35.     film[l+loci*3+1]:=r*4
  36.     film[l+loci*3+2]:=g*4
  37.     film[l+loci*3+3]:=b*4
  38.   next(loci)
  39. return
  40. procedure plugin_filter(xl,yo,xr,yu,stp,asc)
  41.   locals(i,j)
  42.   rem xl,yo,xr,yu = boxkoordinaten
  43.   rem stp         = plot-offsets
  44.   rem asc         = 'FILTER'-ASCII-Zeichen (1...255)
  45.   rem ***********  vorzubelegende ParamVars:  **********************
  46.   rem lock=streuungsfaktor
  47.   rem locm=x-offset für Wiedergabebox
  48.   rem locn=y-offset für Wiedergabebox
  49.   rem ***********  interne ArbeitsVars:   **************************
  50.   rem loci=Streuung für x
  51.   rem locj=streuung für y
  52.   rem locl=Puffer für Farbe
  53.   for i:=xl to xr step stp do
  54.     for j:=yo to yu step stp do
  55.       getpixel(i,j,locl)
  56.       random(lock,loci)
  57.       random(lock,locj)
  58.       setcolor(locl)
  59.       printc(i+loci+locm,j+locj+locn,chr(asc))
  60.     next(j)
  61.   next(i)
  62. return
  63.  
  64. begin
  65.   readwin('plakat.tga')
  66.   setallpal
  67.  
  68.   rem *** Filmheader-Deklar. für 6 Bilder
  69.   rem *** a' 100x100 (s.DEFAB(film,60784))
  70.   mvihead(100,100,6) *********************
  71.  
  72.   sysfont(1,1)
  73.   locm:=390
  74.   locn:=40
  75.   loadwin(0,0,0,0)
  76.   scrtobuf
  77.   for i:=6 downto 1 do
  78.     lock:=i+1
  79.     plugin_filter(60,20,170,130,i,61)
  80.     for y := 0 to 99 do
  81.       for x := 0 to 99 do
  82.         getpixel(locm+60+x,locn+20+y,c)
  83.         film[784+y*100+x+1+(6-i)*10000]:=c
  84.       next(x)
  85.       restoreline(locm+60-10,locn+20+y,locm+60+120,locn+20+y,0)
  86.     next(y)
  87.   next(i)
  88.   savearr(film,'filmtest.mvi')
  89.  
  90.   readsound('capumusi.snd')
  91.   soundloop(on)
  92.   startsound
  93.   readfilm('filmtest.mvi')
  94.   fullscreen(1)
  95.     readwin('plakat.tga')
  96.     loadsprite(115,20,0,0,320,200)
  97.     showfilm(0,0,800,0)
  98.   fullscreen(0)
  99. end
  100.  
  101.