EDUKE v2.1.1
06/03/2004
==============


NEW IMPLEMENTED CON COMMANDS AND IN TESTING PHASE
========================================================

arctan2 <var1> <var2> <result>
	applies the function getangle(xvect,yvect)

sinaaddb <var1> <var2> <result>
	sin(var1+var2)

cosaaddb <var1> <var2> <result>
	cos(var1+var2)

sinasubb <var1> <var2> <result>
	sin(var1-var2)

cosasubb <var1> <var2> <result>
	cos(var1-var2)

tanaaddb <var1> <var2> <result>
	tg(var1+var2)

tanasubb <var1> <var2> <result>
	tg(var1-var2)

hypot <var1> <var2> <result>

The command 'hypot'returns the square root of the sum of the squares of variable1 and variable2 and forms it in variable3. It is the theorem of Pitagora, where variable3 is the hypotenuse and the variables, variable1 and variable2, are the sides of the triangle.


power <var1> <var2> <result>
	Elevates var1 a var2 and it returns in result
	var1^var2=result


finddist2d <var1> <var2> <result>

C code function of Duke Nukem 3D.
The command finddist2d returns the 2D distance between two points (unlike ldist. Doesn't add 1).

Variable1 and variable2 are sprites id's were you want to know the distance and variable3 is the result of the distance.


findplayer <var1> <var2> <result>

C code function of Duke Nukem 3D.
The command findplayer conducts the operation "findplayer(s, &x)"
were "s" is the player's ID and "&x" is the leader that aims at the coordinate "x" of "s".
Returns the sprite's ID (that is the player who has been found).


dist <var1> <var2> <result>

C code function of Duke nukem 3D.
The command 'dist' gives 3D the distance between two points.
Variable1 and variable2 are the sprites ID's were you want to know the distance, and 'result' is the result of the distance.


ldist <var1> <var2> <result>

C code function of Duke nukem 3D.
The 'ldist' command  returns the distance between two points + 1.
Variable1 and variable2 are the sprite's 'ID's you want to know the distance, and variable3 is the result of the distance.


sin2a <var1> <result>
	sin of a double angle.

cos2a <var1> <result>
	cos of a double angle.

sinmid <var1> <result>
	'sin' of a half angle (var1/2)

cosmid <var1> <result>
	'cos' of a half angle (var1/2)

arcsin <var1> <result>
	var1 is the 'sin' and 'result' is the angle.

arccos <var1> <result>
	var1 is the 'cos' and 'result' is the angle.

sin2a <var1> <result>
	Without double angle.


tan2a <var1> <res ult>
	tg of a double angle.

tanmida <var1> <result>
	tg of a half angle.

logarit <var1> <result>
The command "loga" returns the natural logarithm of variable1.
Two classes of errors can be produced.
A dominion error if variable1 is negative and an interval error if variable1 is "0". The result is back in variable2.

modf <var1> <result>
The command "modf" disturbs variable1 in his whole and fractional parts. It returns in the fractional part of variable2.
For example:
if variable1 is 50,585 variable2 will be formed with value 0.585.


fabs <var1> <result>
The command "fabs" simply returns the absolute value of variable1 and forms it in variable2.

tilesizx <var1> <var2>
	var1 = picnum
	var2 = sizx of the picnum


tilesizy <var1> <var2>
	var1 = picnum
	var2 = sizy of the picnum

definemenuname <id> <text>
The 'id' is defined in enhance.con
'text' is the text you want to put in the menu.

spriteshadow <tile>
Adds a shadow to the current actor using a tilenum as a reference

NEW EVENTS
==========

EVENT_ADDTOMENU: It adds details to the menu. For it, the con variable "current_menu_var" is needed. Not only to modify, but to obtain its value.


NEW INTERNAL VARIABLES:
=======================

NUMSECTORS  - The number of sectors in the map.
NUMWALLS    - The number of walls in the map.
NUM_VOLUMES - The number of episodes.

current_menu_var: To modify the menu.
Values:

0   = Starting screen (new game, load game...).
100 = Episodes screen
110 = Skills screen
200 = Options screen
700 = Sound configuration screen

In order to get more screens, look in menues.c in the function 'menus(void)'.
To help you, find the menu_names ID's in the enhance.con




NEW ENGINE CHARACTERISTICS:
=================================

*ENGINE LIMITS:
voxels:   512
tiles:  15360
sectors: 3072
walls:  24576
sprites:12288

*Voxel support: The game loads the voxels by cons. All voxels must be defined in voxel.con.
It doesn't have to be included in any other con file, since the program loads it automaticaly.
     - The command: definevoxel <tilenum> <file.kvx>

*Floor over floor implemented

*Floor transparency. Using the floor over floor effect you can create transparent water.


*Maximum number of sounds: 1000

*Maximum number of variables: 1024



Fixed Bugs:
================

*Startup screen: Fixed the con compilation. Now you can see your con mistakes when it compiles.

*Shadow on voxels: Voxels takes the shadow from the sector ignoring their own one from their original sprite.


*The 'shoot' function produced a game crash. Solved.


*Visibility bug: Fixed now.


Last notes:
===========

Eduke 2.1.1 is the continuation of Matt Saettlers work.
This isnt the final version and thats the reason why it can have some bugs or failures.
If you find any bugs, please drop us an- E-mail at:
                        malone3d_c4@yahoo.es
and we will try to fix it as soon as possible.

Eduke is still being worked on. You'll hear more news about the next release soon.


Credits:
========

Manson - For his invaluable help during the betatesting proccess and his 
         CON contributions (the weapon code and more) and little tutorials.
Mblackwell - Helped in the coding side: voxel support, level transition and getshotrange.
Guid - Fixed some bugs in the initial stages and helped during the betatesting stage.
BlasterDRP - Solved more problems during the initial 'fixing' proccess. Also helped as betatester.
Usurper and Corvin - Supported the project and offered us a little place at RTCM

Additional thanks to:

James Stanfield - Provided the example voxels included in this zip and helped with the translation
                  of this file.
Colourless - For his voxel and Room over Room code.
TerminX - For his Mapster level editor
Matt Saettler - For his present to the Duke community
Ken Silverman - For his Build engine and tools




							    Renegado and Malone 3D
							         - C-4 Entertainment 