
           AnfyVoxel 2.1 - Copyright (C) by Fabio Ciucci 1997


This applet can generate a lightsourced voxel landscape in realtime.
I based my work on a C sourcecode by my friend Andrea "6502" Griffini.
Remember that are needed both voxel.class and Lware.class.
You must upload these 2 .class files and insert the <applet> tag on your
html document to add this applet to your page.
The applet is interactive, in fact you can control it with the mouse.
This applet is fully parametrized, so you can generate all kinds of tunnels
you want. Here an example of what you have to write in the html (the
things anfter the ; are comments with min-max values acceptet):


<applet code="voxel.class" width=320 height=180> ; Name, Width, Height
<param name=res value="1">             ; resolution (1-8)
<param name=shadow value="4">          ; Shadow factor
<param name=roughness value="130">     ; Ground roughness (50..200)
<param name=numpal value="2">          ; Color palette (1..27)
<param name=backr value="0">           ; RED comp. of backg. color (0-255)
<param name=backg value="0">           ; GREEN comp. of backg. color (0-255)
<param name=backb value="60">          ; BLUE comp. of backg. color (0-255)
<param name=textscroll value="NO">     ; File for scrolltext or "NO"
<param name=textoffset value="140">       ; Txtscroll y offset
<param name=textspeed value="1">          ; Txtscroll speed
<param name=textfont value="Arial">       ; Txtscroll font name
<param name=textbold value="NO">          ; Txtscroll bold ("YES" or "NO")
<param name=textsize value="24">          ; Txtscroll font size
<param name=textshadow value="YES">       ; Txtscroll shadow ("YES" or "NO")
<param name=TextColR value="200">         ; Txtscroll color (red component)
<param name=TextColG value="255">         ; Txtscroll color (green component)
<param name=TextColB value="190">         ; Txtscroll color (blue component)
<param name=TextSColR value="20">         ; Txtscroll shadow col. (red c.)
<param name=TextSColG value="20">         ; Txtscroll shadow col. (green c.)
<param name=TextSColB value="50">         ; Txtscroll shadow col. (blue c.)
<param name=TextJumpAmp value="0">        ; Txtscroll jump aplitude
<param name=TextJumpSpd value="0">        ; Txtscroll jump speed
<param name=memdelay value="1000">        ; Memory deallocation delay
<param name=priority value="3">           ; Task priority (1..10)
<param name=fixnetscape value="NO">       ; Fix Netscape 3.0 bug ("YES","NO")
Sorry, your browser doesn't suppor Java.  ; Message for no java browsers.
</applet>                                 ; End of applet tag


NOTE: Don't place "; comments" on final HTML!!!

Copy and paste in your html document this cleared and correct tag:


<applet code="voxel.class" width=320 height=180>
<param name=res value="1">
<param name=shadow value="4">
<param name=roughness value="130">
<param name=numpal value="2">
<param name=backr value="0">
<param name=backg value="0">
<param name=backb value="0">
<param name=textscroll value="NO">
<param name=textoffset value="0">
<param name=textspeed value="2">
<param name=textfont value="Arial">
<param name=textbold value="NO">
<param name=textsize value="24">
<param name=textshadow value="NO">
<param name=TextColR value="250">
<param name=TextColG value="130">
<param name=TextColB value="240">
<param name=TextSColR value="20">
<param name=TextSColG value="20">
<param name=TextSColB value="50">
<param name=TextJumpAmp value="0">
<param name=TextJumpSpd value="0">
<param name=memdelay value="1000">
<param name=priority value="3">
<param name=fixnetscape value="NO">
Sorry, your browser doesn't suppor Java.
</applet>


                             ---------


Here detailed instructions about how to change parameters:


The applet can be of any size. The res parameter determine the resolution:
with res=1 pixels are small, but effect is slow, with res=8 pixels are too
great but effect is faster. I think the best choices are 1-3.
In fact, res is a sort of zoomer.

With the "shadow" parameter you can calibrate the light intensity: low
values mean less shadows, high values mean high contrasts ligh-shadow.

With "roughness" you can change the roughness of the ground: low values
makes soft desert dunes, high values makes tall mountains.

You can select the color palette, with "numpal" parameter:


1) red     -> blue
2) orange  -> green
3) green   -> blue
4) blue    -> green
5) green   -> red
6) blue    -> red
7) yellow
8) yellow  -> blue
9) violet
10) red
11) violet -> green
12) pink   -> green
13) blue
14) blue2
15) azzure
16) green
17) green2
18) gray
19) blue    -> yellow
20) yellow
21) azzure  -> red
22) green   -> violet
23) red
24) violet
25) gray
26) gray2
27) gray3

As you can check, there are enough palettes to simulate the moon ground,
the mars ground, and so on.


                             ---------


Optional Scrolltext parameters:


You can optionally activate a scrolltext that will scroll over the applet.
If you don't need the scrolltext, deactivate it placing "NO" at the
"textscroll" parameter.
Otherwise you must supply the name of an ASCII text file, where you must
write the text that you want to be scrolled.
Is supported one only line of text, that can be long as you want.
Remember to upload the text file too, if you activate the scrolltext!

If activated, here are the parameters:

With "textoffset" you choose the Y offset from the top: placing it to 0 the
scroll will be placed on the top, for example, and placing a value near the
height of the applet it will scroll at the bottom.

With "textspeed" parameter you decide the scrolling speed.

With "textfont" you choose the font of text. Don't choose a strange or not
standard font, not present in all systems.
The most common fonts are "Arial", "TimesRoman" and "Courier".
If the required font is not present, the most "near" will be used.

Setting "textbold" to "YES" you will enlarge a bit the font, otherwise set
it to "NO" for normal contours.

With "textsize" you can change the size of text font.
The most common sizes are: 8,9,10,11,12,14,16,18,20,22,24,26,28,36,48,72.
Intermediate values will be scaled to nearest available size.

Setting "textshadow" to "YES", a shadow will be added to textscroll.
Otherwise, setting it to "NO", any shadow will be "projected".

You can choose the color of text with:

TextColR = Red component of color (0-255)
TextColG = Green component of color (0-255)
TextColB = Blue component of color (0-255)

For example, 0,0,0 is black, 255,255,255 is white, 255,0,0 is red,
255,255,0 is yellow, 128,128,128 is grey.
You can compose any color you want, do it trying manually or use any paint
program's color selector to find Red Green Blue components of your desired
colors.

With TextSColR,TextSColG,TextSColB you can select the color for text shadow.

If you like, you can activate the text jumping function.
If "TextJumpAmp" is set to "0", any jumping will be shown.
But increasing the value will result in text jumping: more aplitute, more
high jumps.

With "TextJumpSpd" parameter you can select the jumping speed.


                             ---------


Compatibility parameters:


The "memdelay" parameter is useful only to run the applets without problems
on some bugged versions of Netscape 3, that don't deallocate correctly
the memory allocated, resulting in filling all the memory after a minute
the applet is running. This can cause also a system crash in some cases.
Last versions of browsers have fixed this problem, but if you want to run
the applets on old bugged browsers too, set "memdelay" to low values, like
"10" or "16", for example.
But this will slow down a lot the applet speed, so you have to choose
between speed (memdelay set to 1000 or higher) or slow compatibility with
old browsers (memdelay set to 20 or lower).

The "priority" parameter is useful mainly when you are running more than
one applet in same page, and one slows down or hangs.
If this applet run too slow or hangs because other one steal all the CPU
power, try increasing the priority.
Otherwise, if this applet runs well and others slows down, decrease the
priority. Consider the min priority is 1, normal priority is 5, and the
max priority is 10. Usually a priority of 3 is ok for single applets.

The "fixnetscape" parameter is useful only when the applet is visualized
with Netscape 3, under Win95. In fact, Netscape has a bug displaying
IndexColorModel, resulting in less colours than normal and dithering.
Setting "fixnetscape" to "YES", the effect will run slower on all browsers,
but will have correct colors on Netscape 3.0. Setting it to "NO", the effect
will run faster on all browsers, except Netscape 3.0 that will display in
worst way. Notice that Netscape 4 and Explorer haven't this problem.


                             ---------


Copyright and distribution notices


Fabio Ciucci is the author and owner of this applet.
You can use freely this applet to enhance your web pages. But since I am
the author of the applet, I placed a secret window that will appear if the
applet is clicked with mouse: it is external to the web browser, so it will
not hit the design of your beautyful html page. This small window will
simply show my name and ask for a link to my java applets page.. the user
can connect to it or cancel, or hide the window and connect after visiting
all your pages. I hope this credit part is not a problem for you...
In any case, if link is accepted a new browser window will appear and your
page will remain on the original window, so you will not lost the visitor.
Consider you will use an effect programmed by me, without pay, for FREE!



Fabio Ciucci (Randy/Ram Jam)

fabioc@anfiteatro.it

http://www.anfiteatro.it/java.html


