Sommaire

tutorial9



Animation enhancement scripts.

In the way of unity of mass and weight, because of time, wormholes exists.

It exists 3 wormholes minimum between mass of satellites and mass of comets in order so of curves, oscillations exists in electricity.

Relatively, it exists inverse electricity due to bigbang ans so mass of electricity. So energy is a wormhole between mass and electricity, elsewhere "phi.G".

In the form of square, phi.G(t²©Kphi, so it's all algorithmic !

# Animation Scripts:

Some variables and functions are present and usefull to enhance your animations throught

the global keyframmer and program some texts or add bones and morph objects integration

to animation.



# VARIABLES DEFINITION, BASIC KEYBOARD ACCESS, MOUSE

KEY_START,KEY_END,KEY_MID,LEFT,RIGHT,UP,DOWN,SPACE,RETURN,INSERT,BACK,HOME,DELETE,END,PAGEUP,PAGEDOWN,TAB

WHEEL,ON,OFF,KEY,SPEED,NBFRAMES

Parameters:

DRAWENV,CAMERA,SHOWINFOS,SHOWGRID,EXECUTESCRIPT,SINGLE,LIGHTS,OBJINFOS

Time elapsed during actual frame:

TIME_DT

Index of basic textures

TEXTURE_WHITE,TEXTURE_LIGHT

NOISE

Windowing:

LIST,CHECK,SLIDER,BUTTON,SET,SETNAME,LENGTH,GETSTATE,SETTEXT,GETINT,SETINT,GETCHECK,SETCHECK,SETSLIDER

GETSLIDER,FILL,FILLDIR,FILLFILES,FILLTEXT,SELECTED,POSITION,DRAW,TEXTURE,EDIT,FREE,GETTEXT

Shader Parameters:

TEXTURE_NT ,TEXTURE_NT2,TEXTURE_NL,TEXTURE_NLV,TEXTURE_BUMP,TEXTURE_0,TEXTURE_1,TEXTURE_2,TEXTURE_3

Secondary and Primary surfaces

PRIMARY

SECONDARY1 128x128

SECONDARY2 512x512

SECONDARY3 1024x1024

SECONDARY4 1024x1024

SECONDARY5 1024x1024

SECONDARY6 1024x1024

SECONDARY7 4096x4096 to 6144x6144

SECONDARY8 512x512

SECONDARY9 Hi-definition shadow map for exterior shadowing

SECONDARY10 Hi-definition shadow map

SECONDARY11 Hi-definition shadow map

SECONDARY12 Hi-definition shadow map

SECONDARY13 Hi-definition shadow map

SECONDARY14 Med-definition shadow map

SECONDARY15 Med-definition shadow map

SECONDARY16 Med-definition shadow map

SECONDARY17 Med-definition shadow map

Desktop:

SECONDARY18 Low-definition shadow map

SECONDARY19 Low-definition shadow map

SECONDARY20 Low-definition shadow map

SECONDARY21 Low-definition shadow map

Zbuffer, stencil et alphatest

WRITEOFF,LESS,GREATER,ALWAYS,LESSEQUAL,GREATEREQUAL,EQUAL,NOTEQUAL,NEVER

ENABLE,DISABLE

EQUAL_ONE,ALWAYS,NOT_ONE,NOT_ZERO,NOT_ZERO_REPLACE,LESSEQUAL_ONE,GREATEREQUAL_ONE,EQUAL_ZERO,EQUAL_ZERO_REPLACE,

INCREMENT,INCREMENTSAT,SET_ONE,SET_ZERO,DECREMENT,DECREMENTSAT

RENDER,STENCIL,BOTH,BOT_WRITE_Z

Variables for collision detection

TEST_UP,TEST_DOWN(floats)



Added Atributes on Scripts

"DRAW LAST" : draws after all others

"DRAW AFTER" : draws after all others

"NO COLLIDE" : no collision precalculation (huge meshes)

"NO LOD DRAW" : do not draw LOD

"DRAW FIRST" : draws first

"DRAW BEFORE" : draws first

"DRAW FLAT" : draws single textured (photoscans)

"ONLY SHADOW" : draws only shadows (environment)

"DRAW FLAT AFTER" : draws at last single textured (dirtyness)



# Parameters

int resetTIMEDT()

   Reset time interpolation variable

int setAlphaTest(int param)

   Basic settings for alpha transparency: ENABLE,DISABLE

int setZBuffer(int param)

   ZBuffer settings: ON,OFF,WRITEOFF,LESS,GREATER,ALWAYS,LESSEQUAL,GREATEREQUAL,EQUAL,NOTEQUAL,NEVER

int setZBias(int zbias)

   ZBias settings

int setTexture(int stage,int nt)

   Set texture stage

int setTextureOff()

   Set texture stages off

int setAlphaBlending(int param)

   BLEND_ON,BLEND_OFF,BLEND_ADD,BLEND_HIGH,BLEND_COLOR

int setMachineState(int onoff)

   ON,OFF : affect renderstate for quads

int forceTreeStencilShadows(int onoff)

   ON : implies full mesh triangularisation on stencil shadowing known problems OFF : works for all non opened meshes

int flush()

   renders linked quads

int setRender(int param)

   RENDER,STENCIL,BOTH,BOT_WRITE_Z

int setStencil(int param)

   Stencil buffer usage: INCREMENT,INCREMENTSAT,SET_ONE,SET_ZERO,DECREMENT,DECREMENTSAT

int clearZBuffer()

   Clear zbuffer

int clearStencil()

   Clear stencil buffer

int clearRender()

   Clear actual render surface

int clearRenderRGBA(float r,floar g,float b,float a)

   Clear actual render surface with color

int both()

   Activate render with stencil test

int render()

   Activate rendering to render surface

float near()

   Return near value of depth buffer

float far()

   Return far value of depth buffer

int setFrontBackValues(float front,float back)

   Set values for depth buffer

int waitMS(int ms)

   Wait ms microseconds



# Basic Camera Stuff

int resetCameraTargetVIEW()

   Reload View Matrix from settings

int setOwnView(vector camera,vector target,float roll)

   Position of the camera and target

int setCamera(float x,float y,float z)

   Position of the camera

int setTarget(float x,float y,float z)

   Position of the target

int retrieveCameraTarget()

   Base engine camera position

int isReflection()

   get if processing reflection (clone shaders)

int setMatrixWorldId()

   world id



# Music, Stroboscopes, and Gold Synchro

int goldSynchroParams(int val1,int val2)

Default set: 10, 40

int goldSynchro()

   Prepare for chords and beat

int goldSynchroCord1()

   Return 1 if synchro

int goldSynchroCord2()

   Return 1 if synchro

int goldSynchroCord3()

   Return 1 if synchro

int goldSynchroCord4()

   Return 1 if synchro

int goldSynchroCord5()

   Return 1 if synchro

int goldSynchroBeat()

   Return 1 if synchro

float goldSynchroOsc()

   Return 1 if synchro

int goldSynchroBeatTime()

   Return 1 if synchro

int getTrackPattern()

   Return the pattern position

int getTrackRow()

   Return the row position



# PreShader Scripts

int resetPreShader()

   reset functions to be called before light rendering

int resetAfterShader()

   reset functions to be called after light rendering

int getPreShaderLightIndex()

   -666:exterior n:light

int getPreShaderShadowing()

   0..1

int getPreShaderLightType()

   EXTERIOR:0 OMNI:1 OMNIDYNAMIC:2 SPOTDYNAMIC:3 SPOTMAPDYNAMIC:4

int getPreShaderDetails()

int setPreShaderLighting(char *sfn)

   function to be called before light rendering

int setPreShaderDynamic(char *sfn)

   function to be called before light rendering

int setPreShaderExterior(char *sfn)

   function to be called before light rendering

int setAfterShaderLighting(char *_sfn)

   function to be called after light rendering

int setAfterShaderDynamic(char *_sfn)

   function to be called after light rendering

int setAfterShaderExterior(char *_sfn)

   function to be called after light rendering



# Probes and Secondary Textures

int getDataSecondary(int ns,char * buffer)

   SECONDARY[1..24],(char*)

int initProbe(int basesize)

   probe to size of the secondary used

int freeProbe()

   free data

int setDataSecondaryToProbe(int ns,int x,int y,int flipx,int flipy)

   SECONDARY[1..24],x=0..2,y=0..3,0..1,0..1

int createEnvMapFromProbe(int size,char * buffer)

   buffer dim,(char*)

int createEnvMapFromProbeFlip(int size,char * buffer)

   buffer dim,(char*)

int modifyTextureWithProbe(int nt,vector p)

   environment probe

int createTextureWithProbe(vector p)

   environment probe, returns texture index

int modifyTextureWithReflection(int nt,vector p,vector N)

   environment reflect

int createTextureWithReflection(vector p,vector N)

   environment reflect, returns texture index

int modifyTextureWithProbeOwner(int nt,vector p,char * sfn)

   environment probe

int createTextureWithProbeOwner(vector p,char * sfn)

   environment probe, returns texture index

int modifyTextureWithReflectionOwner(int nt,vector p,vector N,char * sfn)

   environment reflect

int createTextureWithReflectionOwner(vector p,vector N,char * sfn)

   environment reflect, returns texture index

int realtimeSecondaryProbe(int surfto,int surf,vector pos)

   environment probe

int realtimeSecondaryProbeOwner(int surfto,int surf,vector pos,char * fn)

   environment probe

int realtimeSecondaryTetraProbe(int surfto,int surf,vector pos)

   environment probe (X4)

int realtimeSecondaryTetraProbeOwner(int surfto,int surf,vector pos,char * sfn)

   environment probe (X4)

float setViewWithProbe(vector pos,char * orientation,matrix mv,vector cam,vector targ,int set)

   environment probe settings

int restoreViewForRendering()

   in order to render a cube map

int setViewForRendering(vector cam,vector targ,float roll)

   in order to render a cube map

int setMatrixViewForRendering(matrix m)

   in order to render a cube map



# Special Effects

int setReflectionEffectDetails(int param)

   0: Stencil +-1:Mapping High +-2:Mapping Low, Negative value for owner drawn

int setReflectionParameterAll(int wo,int nb,float step)

   set parameters to mapping reflections

int setReflectionParameter(int wo,int p,int nb,float step)

   set parameters to mapping reflection (lessequal 6 planes)

int setWaterEffect(int onoff)

   ON/OFF

int setWaterEffectDetails(int level)

   High:1 Low:0

int setWaterEffectAspect(float scx,float scy)

   Scale X,Scale Y

int setWaterEffectLevel(float s)

   Between objects may be false drawn.

int setWaterEffectWave(float x,float y)

   Wave params

int setWaterEffectMove(float x,float y)

   Water move

int setWaterEffectReset()

   Water default

int setWaterEffectScaling(int onoff)

   Water force scaling (render to texture)

int setDayLightSpot(int onoff)

   ON/OFF

int setDayLightScale(float scale)

   Default is 1.0

int SetFrame()

   Set Frame Matrices and Tags



# Noise texture

int randomTexture1(int x,int y)

   Get R random number[0..255] of noise texture based on prime numbers (41,19)

int randomTexture2(int x,int y)

   Get G random number[0..255] of noise texture based on prime numbers (41,19)

int randomShake(int N)

   Shake random values

int randomRAZ()

   reset of random -fake- seed

int randomReset()

   Reset random values as start

int randomTextureUpdate()

   Update random texture ("NOISE")



# BUFFER DATA 3D

int bufferStoreObjectAdded(int add,char *svar)

   Store object to buffer

int bufferReadObjectAdded(char *svar,int ofs,int len)

   Read object from buffer

int bufferReadObjectAddedNum(int wo,char *svar,int ofs,int len)

   Read object from buffer

int bufferStoreObjectWorld(int add,char *svar)

   Store object to buffer

int bufferReadObjectWorld(char *svar,int ofs,int len)

   Read object from buffer

int bufferReadObjectWorldNum(int wo,char *svar,int ofs,int len)

   Read object from buffer

int bufferGetInt(char *svar,int ofs)

   Read int from buffer

float bufferGetFloat(char *svar,int ofs)

   Read float from buffer

int bufferSetInt(char *svar,int ofs,int value)

   Write int to buffer

float bufferSetFloat(char *svar,int ofs,float value)

   Write float to buffer

int bufferSetObjectTextureOffset(int ofs)

   Set texture offset when reading object from buffer

int bufferSetCharPtr(int ndx,char *svar)

   Array of 1024 char*

int bufferGetCharPtr(int ndx,char *svar)

   Array of 1024 char*



# WEB SERVER

int webRegisterCreate(char * username,char * str,int sizeline)

   Join http://deaddeer.free.fr/ small php server, register CREATE

int webRegisterJoin(char * username,char * str,int sizeline)

   Join http://deaddeer.free.fr/ small php server, register JOIN

int webUnregister(char * username,char * str,int sizeline)

   Join http://deaddeer.free.fr/ small php server, unregister

int webUpdateInfo(char * str,int sizeline)

   Update informations http://deaddeer.free.fr/ small php server

int webRequest(char * server,char * php,char * query,char * skey,char * str,int sizeline)

   Join located php server, and retrieve informations strings

int webRequestBasic(char * server,char * msg,char * skey,char * str,int sizeline)

   Join located server, and retrieve informations strings from direct command

int webPublicIP(char * namevar)

   Get IP from http://deaddeer.free.fr/ small php server

int downloadWEBFile(char *website,char *filename,char *svar)

   website="deaddeer.free.fr", filename="image.jpg", to char * reference svar



# NETWORK

int netname(char * name)

   tcp/ip internal procedure

int netprotocol(int proto)

   0: CLIENT-DSERVER-CLIENT 1: CLIENT-CLIENT

int netnb()

   Return the number of connections

int netIP(char * ipstr)

   set ipstr with ip string

int netok()

   returns 1 if all connections are ok

int netserver()

   Initialise server

int netconnect(char *name)

   Initialise client with name IP

int netclose()

   Free ressources

int netrecv(char *name,char *var)

   Transfert of named packet to variables

int netsend(char *name,char *var,int nb)

   Transfert named packet to variables; array length can be specified

int netsendto(int num,char *name,char *var,int nb)

   Transfert named packet to variables; array length can be specified

int netrecvStr(char *_name,char *_var_name)

   Transfert of named packet to variables

int netsendStr(char *_name,char *_var_name,int nb)

   Transfert of named packet of data char sized

int netsendtoStr(int num,char *_name,char *_var_name,int nb)

   Transfert of named packet of data char sized

int netwait()

   Wait

int netsynchro()

   Synchronisation with frame rate

int netcheck()

   check net sub routine 0..n logout 555 newserver 666:migration

int netipstr(int n,char *str)

   retrieve mate ips

int netbroadcast()

   poll LAN with broadcast

int netbroadcastclient()

   initialize LAN broadcast finder

int netbroadcastend()

   close

int netbroadcastclientend()

   close

int netbroadcastget(char * ip)

   get broadcast LAN ip

int netbroadcastgetlist(char * strlist)

   get broadcast LAN ips, return nb



# INTERACTIONS AND COLLISIONS FUNCTIONS

void setTagWorld(int n,int tag)

   Tad world object n to tag

void setTagAdded(int n,int tag)

   Tad added object n to tag

void setTagWorldVisible(int tag)

   Tad world object visible to tag

void setTagAddedVisible(int tag)

   Tad added object visible to tag

void setTagWorldOcclusionNonVisible(int tag)

   Tad world object visible and occlusion to tag

void setTagAddedOcclusionNonVisible(int tag)

   Tad added object visible and occlusion to tag

void testOcclusionWorld(int n)

   Test world object occlusion

void testOcclusionAdded(int n)

   Test added object occlusion

void testOcclusion(vector v,float R)

   Test occlusion from position v of radius R

int getEulersMatrix(matrix m,vector eulers)

   convert matrix to eulers in degrees

int getMatrixBaseVectors(vector ux,vector uz,matrix m)

   calculate from base (ux,uz)

int getMatrixBaseVectorsOrigin(vector o,vector ux,vector uz,matrix m)

   calculate from base (o,ux,uz)

int getEulersBaseVectors(vector ux,vector uz,vector e)

   calculate eulers from base (ux,uz)

int worldCloser(vector v)

   Return world closer from VECTOR v

int addedCloser(vector v)

   Return added closer from VECTOR v

float distanceToAdded(int add,vector v)

   Return distance to added "add"

float angleRotateY(vector v,float angle)

   Return new angle from a direction and previous angle

float angleRotateYInterpole(vector v,float angle,float t)

   Return new angle from a direction and previous angle

float angleRotateSetY(vector v)

   Return new angle from a direction and previous angle

int addedTAGCloserFind(int start,int prev)

   Seek for "TAG" added object from start object and eviction of prev

int addedTAGCloserFind2(int start,int prev,int prev2)

   Seek for "TAG" added object from start object and eviction of prev and prev2

int addedTAGCloser(vector v)

   Seek for "TAG" added closer from v

int nonVisibleAddedCloserFind(int start,int prev)

   Seek for non visible added object from start object and eviction of prev

int nonVisibleAddedCloser(vector v)

   Seek for non visible added closer from v

int tagWorldCloser(vector v)

   World object closer from v

int tagAddedCloser(vector v)

   Added object closer from v

int tagWorldName(char * s,int tag)

   Tag world object s to tag

int tagAddedName(char * s,int tag)

   Tag added object s to tag

int getTagWorld(int wo)

   Get tag world

int getTagAdded(int add)

   Get tag added

float calcWorld3DQuad(int wo,float R,float ang,vector base,vector dir,vector A,vector B,vector C,vector D)

   hit point from base to dir, with params to Quad(A,B,C,D)

float calcAdded3DQuad(int wo,float R,float ang,vector base,vector dir,vector A,vector B,vector C,vector D)

   hit point from base to dir, with params to Quad(A,B,C,D)

float calcAllWorld3DQuad(float R,float ang,vector base,vector dir,vector A,vector B,vector C,vector D)

   hit point from base to dir, with params to Quad(A,B,C,D)

float calcAllAdded3DQuad(float R,float ang,vector base,vector dir,vector A,vector B,vector C,vector D)

   hit point from base to dir, with params to Quad(A,B,C,D)

float calcTaggedWorld3DQuad(float R,float ang,vector base,vector dir,vector A,vector B,vector C,vector D)

   hit point from base to dir, with params to Quad(A,B,C,D)

float calcTaggedAdded3DQuad(float R,float ang,vector base,vector dir,vector A,vector B,vector C,vector D)

   hit point from base to dir, with params to Quad(A,B,C,D)

int point3DQuadPoint(vector res)

   hit point values after previous "calc"

int point3DQuadNorm(vector res)

   hit point values after previous "calc"

int point3DQuadTangent(vector res)

   hit point values after previous "calc"

int point3DQuadCotangent(vector res)

   hit point values after previous "calc"

int collideWorld(int n,vector v,vector dir)

   Collision intersection with world objects

int collideAdded(int n,vector v,vector dir)

   Collision intersection with added objects

int collideAddedUp(int n,vector v,vector dir)

   Collision intersection with added objects (higher point)

int collideTagged(vector v,vector dir)

   Collision intersection with all tagged objects

int collideClone(int clone,vector v,vector dir)

   Collision intersection with clone

int collideBounds(vector v,vector dir,vector mini,vector maxi)

   Collision intersection with bounds

int heightWorlds(vector v)

   Test ground on world objects

int setQuarterRaw(int raw,float y0,float y1,float y2,float y3)

   Quarter params

int vertexQuarter(vector pos,vector dec,vector mini,vector maxi,vector bound)

   Quarter calc modifying "pos"

int collideAddedQuarter(int add,vector O,vector dir,vector dec,vector mini,vector maxi,vector bound,vector coo,vector rot)

   Quarter Collision intersection with added objects

int collideAddedQuarterStage(int add,vector O,vector dir,vector dec,vector mini,vector maxi,vector bound,vector coo,vector rot)

   Quarter Collision intersection with added objects

int collideAddedQuarterWallStage(int add,vector O,vector dir,vector dec,vector mini,vector maxi,vector bound,vector coo,vector rot)

   Quarter Collision intersection with added objects

int collideAddedStage(int add,vector O,vector dir,vector coo,vector rot)

   Collision intersection with objects

int collideAddedWallStage(int add,vector O,vector dir,vector coo,vector rot)

   Collision intersection with objects

int collideWorldStage(int wo,vector O,vector dir,vector coo,vector rot)

   Collision intersection with objects

int collideWorldWallStage(int wo,vector O,vector dir,vector coo,vector rot)

   Collision intersection with objects

int collideVoxel(vector v,vector dir)

   Collision intersection with the actual voxel object

int isInABox(int wo,vector rot,vector pos,vector mini,vector maxi,float pc)

   pc percent of the object inside bounds

int baseFromNormal(vector N,vector T,vector B)

   normal base

int calcImpact(vector p,vector dir,vector imp,vector T,vector B)

   impact on walls

int intersection(vector p,vector d,vector i)

   intersection from p in direction of d return 1 and i

int intersectionAdditionnals(vector p,vector d,vector i)

   intersection of additionnals from p in direction of d return 1 and i

int intersectionWO(int wo,vector p,vector d,vector i)

   intersection from word object wo p in direction of d return 1 and i

int intersectionWOADD(int woadd,vector p,vector d,vector i)

   intersection from added object woadd p in direction of d return 1 and i

int pointI(vector v)

   Intersection point

int normalI(vector v)

   Intersection normal

int faceI()

   Face intersection

int addedI()

   Return added object index

int worldI()

   Return world object index

int resultI(vector v)

   Intersection positon

int setTexturesTest(int nt,int on)

   Eviction of nt texture faces in intersection test

int ballWorld(int n,float x,float y,float z,float r)

   Collision ball to world object n

int ballAdded(int n,float x,float y,float z,float r)

   Collision ball with added object n

int ballTaggedWorld(float x,float y,float z,float r)

   Collision ball with world objects tagged

int ballTaggedAdded(float x,float y,float z,float r)

   Collision ball with added objects tagged

int minimalCollide(float r)

   collision minimal distance

int nbWO()

   Return number of world objects

int nbWOADD()

   Return number of added objects

int reflexion(vector v)

   Reflexion from intersection point

int nameWorld(int n,char *s)

   Retrieve name of world object

int nameAdded(int n,char *s)

   Retrieve name of added object

int resetTagWorld()

   Initialise to zero

int resetTagAdded()

   Initialise to zero

int calculateAll()

   Transformations processing

int setDT(float dt)

   Initialise ANIMDT

int getDT()

   Get ANIMDT

int setFov(float fov)

   Focus in degrees

int setFovBase(float fov)

   Focus in degrees without rendertotexture scale

int setDistanceToScreen(float dist)

   Focus in pixel

float getDistanceToScreen()

   Focus in pixel

int setNearFar(float near,float far)

   Far/Near planes

int renderOffScreenScaleParticles(int onoff)

int renderScaleParticles(float scale)

int renderSettings()



# REFLECTIONS SETUP

int setupDrawReflectionsDynamicLights(int onoff)

   Toggle reflection props, default:ON

int setupDrawReflectionsSecondaries(int onoff)

   Toggle reflection props, default:OFF

int setupDrawReflectionsClones(int onoff)

   Toggle reflection props, default:OFF



# SECONDARY SURFACES SETUP

int getSecondarySurfaceWidth(int nt)

   Width value of SECONDARY1 to SECONDARY24

int getSecondarySurfaceHeight(int nt)

   Height value of SECONDARY1 to SECONDARY24

int setupSecondarySurface(int nt,int w,int h)

   Setup (W,H) for SECONDARY1 to SECONDARY24

int restoreSecondarySurface()

   Restore to default



# BASIC DRAW FUNCTIONS

int rand(int range)

   Random(modulo)

int floatrand()

   Random[0.0 ... 1.0]

int getRealRandom(int range)

   Random from C++(with random seed)

int setParam(int n,int state)

   Rendering parameters

int loadEnvironment(char *fname)

   Change env.jp2

int restoreEnvironment(char *fname)

   Restore base environment

int getLoop()

   In loop animation cycle

int mod(int n,int m)

   Modulo

int line3d(vector a,vector b,float r,float g,float b)

   3d line

int drawTriangle(float x0,float y0,float x1,float y1,float x2,float y2,float u0,float v0,float u1,float v1,float u2,float v2,float r,float g,float b,float a)

   Coloured textured triangle rendering

int draw3DQuad(vector A,vector B,vector C,vector D,float r,float g,float b,float a)

   Textured quad rendering

int drawLineStrength(float x1,float y1,float x2,float y2,float R,float r,float g,float b,float a)

   big line

int drawLineStrengthTwo(float x1,float y1,float x2,float y2,float R,float R2,float r,float g,float b,float a)

   big line scaled

int drawLineStrengthTexture(float x1,float y1,float x2,float y2,float R,float r,float g,float b,float a)

   lined quad

int drawLineStrengthTextureCW(float x1,float y1,float x2,float y2,float R,float r,float g,float b,float a)

   lined quad

int drawLineStrengthTextureR(float x1,float y1,float x2,float y2,float R,float r,float g,float b,float a)

   lined quad

int drawLineStrengthTextureRCW(float x1,float y1,float x2,float y2,float R,float r,float g,float b,float a)

   lined quad

int setColorQuad(float r,float g,float b)

   color for quads

int setColorQuadRGBA(float r,float g,float b,float a)

   color for quads

int quad(int nt,int x,int y,int w,int h,float ax,float ay,float bx,float by)

   Quad texture rendering

int quadNA(int nt,int x,int y,int w,int h,float ax,float ay,float bx,float by)

   Quad texture rendering

int quadBlend(int nt,int x,int y,int w,int h,float ax,float ay,float bx,float by)

   Quad texture rendering

int quadBlendColor(int nt,int x,int y,int w,int h,float r,float g,float b,float a)

   Quad texture rendering

int quadZ(int nt,int x,int y,float z,float rhw,int w,int h,float ax,float ay,float bx,float by)

   Quad texture rendering

int quadBlendZ(int nt,int x,int y,float z,float rhw,int w,int h,float ax,float ay,float bx,float by)

   Quad texture rendering

int quadBlendColorZ(int nt,int x,int y,float z,float rhw,int w,int h,float r,float g,float b,float a)

   Quad texture rendering

int quadRotBlendColorZ(int nt,int x,int y,float z,float rhw,int w,int h,float ang,float r,float g,float b,float a)

   Quad texture in rotation of ang

int quadRotBlendColor(int nt,int x,int y,int w,int h,float ang,float r,float g,float b,float a)

   Quad texture in rotation of ang

int quadRotBlendColorMZ(int nt,int x,int y,float z,float rhw,int w,int h,float ang,float u1,float v1,float u2,float v2,float r,float g,float b,float a)

   Quad texture in rotation of ang

int quadRotBlendColorM(int nt,int x,int y,int w,int h,float ang,float u1,float v1,float u2,float v2,float r,float g,float b,float a)

   Quad texture in rotation of ang

int globalFSR(int onoff,float rcas)

   Overclass SECONDARY456 to PRIMARY full screen AMD FSR

int quadExposure(int nt,int x,int y,int w,int h,float prm1,float prm2)

   Quad Exposure (0.5,2.0)

int quadFSRExposure(int nt,int w,int h,int srcw,int srch,float rcas,float prm1,float prm2)

   Quad AMD FSR with Exposure (0.5,2.0)

int quadFSR(int nt,int w,int h,int srcw,int srch,float rcas)

   Quad AMD FSR

int quadFSRDim(int nt,int w,int h,int srcw,int srch,float rcas)

   Quad AMD FSR

int drawBrouillard(float z,float r,float g,float b,float a,int nt)

   Quad full screen z relative

int line(float x1,float y1,float x2,float y2,float r,float g,float b)

   Line rendering



int interface(int n,int value,int do,char * s)

   Interface creation and play

int interface(int n,int value,int do)

   Interface creation and play



# DIRECTORY FUNCTIONS

int mkdir(char *str)

   C-like

int chdir(char *str)

   C-like

int getdir(char *str)

   C-like



# MAPPING RULING

int mappingParadize(int add)

   -like

int mappingPlanar(int wo)

   -like

int mappingPlanarBounds(int wo)

   -like

int mappingPlanarBoundsOrtho(int wo)

   -like

int mappingPlanarBoundsXYZ(int wo,vector mini,vector maxi)

   -like

int mappingSpherical(int wo)

   -like

int mappingCylindrical(int wo)

   -like

int mappingInvert(int wo,int x,int y)

   -like

int mappingRotateLeft(int wo)

   -like

int mappingRotateRight(int wo)

   -like

int mappingScale(int wo,float sx,float sy)

   -like



# BRUSH MANIA

int brushSet(int add)

   select added (add)

int brushSetForce(float f)

   force

int brushSetScale(float sc)

   size

float brushForce()

   force

float brushScale()

   size

int brushApply(vector p)

   Apply at [p]

int brushApply2D(float x,float y)

   Apply at [0..1,0..1]

int brushCalc2D(float x,float y)

   Calc at [0..1,0..1]

int brushApplyFace(int FACE,vector p)

   Apply at [p] of face FACE

int brushEnablePointer(int onoff)

   show local

int brushGetPointer(vector p)

   get local position

int brushGetFace()

   get local face



# DYNAMIC SHADOWING AND RENDERING

int SetFrame()

   processing of matrix for the scene

int setFullDrawDynamicLight(int onoff)

   Dynamic lighting sorting or full drawing

int setNiterRecursDynamicLight(int N)

   Dynamic lighting sorting recursive iteration interior

int resetShaders(int onoff)

   reset shaders with choice of optimization -> 0 and -> 1 to skip it

int setShadowMappingPrecision(int onoff)

   ON: high details OFF:low details -1:very low details

int setShadowMappingDegrade(int onoff)

   ON: low shadow mapping details OFF:default

int setShadersMethod(int value)

   0: Edges Stencil 1: Shadow Mapping Stencil 2: Full Shadow Mapping 3: Soft Shadow Mapping

int setShadows(int on_off)

   Global shadowing ON/OFF

int setShadowsPenumbra(float len)

   Default is 20.0

int setShadowsInteriorPenumbra(int nl,float coef)

   Parameter of lights (default is 0.042)

int setSoftShadowsInGlow(int onoff)

   Global shadowing in glow ON/OFF

int setCloneShadow(int clone,int on_off)

   Clone shadowing ON/OFF

int setCloneDrawEnviro(int clone,int on)

   Clone draw env ON/OFF

int setAddedShadow(int add,int on_off)

   Added shadowing ON/OFF

int setWorldShadowed(int add,int on)

   World shadowing ON/OFF

int setTimeMachine(int onoff)

   World seeing effect ON/OFF

int setGlow(int glow,int focus)

   Glow parameter

int setGlowTextureShift(int onoff)

   Glow parameter

int setGlowTextureShiftReload(int onoff)

   Glow parameter

int setGlowMisc(float aspect,float div)

   Glow parameter (default: 0.1,48.0)

int setGlowFunction(char *function)

   Glow function settings for full remade renderings

int fxDrawBubble(vector pos,float scale,vector veclight,vector amb,vector color,float alpha,int nt)

   Effect bubble scale

int fxDrawBubbleXYZ(vector pos,vector scale,vector veclight,vector amb,vector color,float alpha,int nt)

   Effect bubble scale all axes

int fxDrawSmoky(vector pos,vector scale,vector veclight,vector amb,vector color,float alpha,int nt)

   Effect smoke

int fxDrawChocWave(vector pos,vector scale,vector rot,vector amb,vector color,float alpha,int nt)

   Effect choc wave

int setPostRenderFunction(char *function)

   Post rendering function settings

int setPreRenderFunction(char *function)

   Pre rendering function settings

int resetDrawFunctions()

   Reset rendering functions

int resetSettings()

   Reset rendering settings

int renderSetReflection(vector P,vector N)

   reflection matrix

int renderSetReflectionABCD(float a,float b,float c,float d)

   reflection matrix

int renderResetReflection()

   reflection matrix

int renderSetReflectionBuiltIn(vector P,vector N)

   reflection matrix

int renderSetReflectionBuiltInABCD(float a,float b,float c,float d)

   reflection matrix

int renderResetReflectionBuiltIn()

   reflection matrix

int renderDrawGlow(int glow,int focus,char *function_name)

   Draw glow to secondary surface

int renderDrawDayLightToScreen()

   Draw direct day light flare to the scene

int renderDrawDayLightVector(vector pos)

   Draw direct day light flare to the scene

int renderDrawShadowMapping(int value)

   choose shadow mapping to render shadows of the scene

int renderDrawShadowMappingInterior(int value)

   choose shadow mapping interior to render shadows of the scene

int renderDrawShadowMappingDynamic(int value)

   choose shadow mapping dynamic to render shadows of the scene

int renderDrawCreateEdgesBuffers()

   Buffers for stencil shadowing(make sure you loaded all secondary scene)

int renderDrawDeleteEdgesBuffers()

   Buffers for stencil shadowing

int renderDrawInitializeShaders()

   Shaders

int renderDrawChooseMethodDynamic(int toggle)

   Method for Dynamic Rendering (-1 for default)

int renderDrawChooseMethodStatic(int toggle)

   Method for Static Rendering (-1 for default)

int renderDrawDaylight(int toggle)

   Enable/Disable day light rendering of the scene

int renderDrawLights(int toggle)

   Enable/Disable lights rendering of the scene

int renderSkipDraw(int onoff)

   Disable rendering of the scene

int activateFourtyProbe(int snd)

   Set owner probe shadowing rendering of the scene

int renderDrawScene(int onoff)

   Draw full scene

int renderDrawSceneShadows(int on,int shd)

   Draw full scene

int drawExteriorReflections(int onoff)

   Toggle draw exterior reflections

int drawExteriorReflectionOcclusion(float occ)

   Set draw exterior reflections occlusion

int drawAdded(int n,int nlight)

   Draw added

int drawAddedExt(int n,int nlight)

   Draw added

int setShadowsLength(float len)

   Optimisation of length of shadow volume in stencil shadows

int setSelfShadowedClones(int on)

   Obsolete

int setRoll(int roll)

   Camera roll

int drawRenderShadows(vector p,vector color,float att,float range,int stencil,int details,int directionnal)

   rendering function of shadows

int drawRenderShadowsBuiltIn(int light,int stencil,int details)

   rendering function of shadows; light in [0..N] or DAYLIGHT(-666)

int drawRenderSetMulti(int ns,char * str)

   rendering function, param MULTI for bias in shadow mapping

int drawRenderSetExteriorMulti(int ns,char * name)

   rendering function, param MULTI for bias in shadow mapping

int drawRenderSetLight(int ns,char * str)

   rendering function, param LIGHTPOS of shader

int drawRenderSetRef(int ns,int n,char * str)

   rendering function, param MATRIX for shadow mapping (1 (-1) for DAYLIGHT 4 for [0..N])

s

float getDaylightDistance()

   Target-Distance*DAYLIGHTVECTOR

int getLightExterior(vector light)

   get LIGHTPOS

int setSecondaryFourty(int NS,int quality,int scale)

   basically set of 4 shadow mapping secondary surfaces

int setTextureFourty(int stage,int NS,int quality)

   basically set of 4 shadow mapping secondary textures

int setTextureShadowMap(int stage,int NS)

   shadow mapping textures affectation (1 for DAYLIGHT 4 for [0..N])

int setTextureReflection(int stage)

   set tex reflect

# MATHS

int inverseMatrix(matrix m)

   matrix function

int tranposeMatrix(matrix m)

   matrix function

int inverse3x3Matrix(matrix m)

   matrix function

float sup(float f,float s)

   Function usefull for NURBS processing

float inf(float f,float s)

   Function usefull for NURBS processing

float interval(float f,float a,float b)

   Function usefull for NURBS processing

float tanh(float f)

   Function usefull for NURBS processing

float sinh(float f)

   Function usefull for NURBS processing

float cosh(float f)

   Function usefull for NURBS processing

float tan(float f)

   Function usefull for NURBS processing

float sin(float f)

   Function usefull for NURBS processing

float cos(float f)

   Function usefull for NURBS processing

float atan(float f)

   Function usefull for NURBS processing

float asin(float f)

   Function usefull for NURBS processing

float acos(float f)

   Function usefull for NURBS processing

float modf(float f,float m)

   Function usefull for NURBS processing

float fact(float f)

   Function usefull for NURBS processing

float exp(float f)

   Function usefull for NURBS processing

float log(float f)

   Function usefull for NURBS processing

float abs(float f)

   Function usefull for NURBS processing

float pow(float f,float e)

   Function usefull for NURBS processing

float inv(float f)

   Function usefull for NURBS processing

float square(float f)

   Function usefull for NURBS processing

float triangular(float f)

   Function usefull for NURBS processing

float Added(float x,float y,float z,int n)

   From scene volum function usefull for NURBS processing

float Scene(float x,float y,float z)

   From scene volum function usefull for NURBS processing

float World(float x,float y,float z,int n)

   From scene volum function usefull for NURBS processing

float dirac(float f,float offset,float len)

   Function usefull for NURBS processing

# KEYS

void getPositionAdded1(int nobj,vector v)

   Added Position option

void getPositionAdded2(int nobj,vector v)

   Added Position option

void getPositionAdded3(int nobj,vector v)

   Added Position option

void getPositionAdded4(int nobj,vector v)

   Added Position option

void getRotationAdded1(int nobj,vector v)

   Added Rotation option

void getRotationAdded2(int nobj,vector v)

   Added Rotation option

void getRotationAdded3(int nobj,vector v)

   Added Rotation option

void getRotationAdded4(int nobj,vector v)

   Added Rotation option

void getScalingAdded1(int nobj,vector v)

   Added Scale option

void getScalingAdded2(int nobj,vector v)

   Added Scale option

void getScalingAdded3(int nobj,vector v)

   Added Scale option

void getScalingAdded4(int nobj,vector v)

   Added Scale option



# OBJECT CREATIONS

int setObjectBank1(int add)

   load object from additionnals

int setObjectBank2(int add)

   load object from additionnals

int setObjectBank3(int add)

   load object from additionnals

int setObjectBank4(int add)

   load object from additionnals

int setObjectReplicate(int add)

   load object from additionnals

int newObjectBank1()

   new object from bank

int newObjectBank2()

   new object from bank

int newObjectBank3()

   new object from bank

int newObjectBank4()

   new object from bank

int newObjectReplicate()

   new object from replicate

int newObject(int nv,int nf)

   New added object nv vertices nf faces

int modifyObject(int wo,int nv,int nf)

   New added object with nv vertices nf faces

int selectObject(int wo)

   Select added object wo

int getnbVertices()

   Get number of vertices from actual object

int getnbFaces()

   Get number of faces from actual object

int setStatus()

   0: Empty 1: Plain 2: Exterior

int backupObject()

   Backup object data

int retrieveObject()

   Retrieve object data

int getVertex(int n,vector v)

   Vertex n position

int getNormal(int n,vector n)

   Vertex n normal

int getMap(int n,vector m)

   Vertex n mapping coord.

int getNormalFace(int n,vector v)

   Face n normal

int getFaceV0(int n)

   Face n index 0

int getFaceV1(int n)

   Face n index 1

int getFaceV2(int n)

   Face n index 2

float getWeight(int nv,int i)

   Vertices nv weight (i)

int getIndex(int nv,int i)

   Vertices nv index (i)

int setWeight(int nv,int i,float value)

   Vertices nv weight (i)

int setIndex(int nv,int i,int value)

   Vertices nv index (i)

int setVertexMap(int n,float x,float y)

   Vertex mapping coord.

int setVertex(int n,vector v)

   Vertex position

int setFace(int n,int i0,int i1,int i2)

   Face indices

int setFaceTexture(int n,int nt)

   Face nT texture

int setFaceTexture2(int n,int nt)

   Face nT2 texture

int getFaceTexture(int n)

   Face nT texture

int getFaceTexture2(int n)

   Face nT2 texture

int setFaceRef(int n,int ref)

   Face transparency 0:opaque 1:alpha blended 2:add

int setFaceTag(int n,int tag)

   Face tag

int prepareObject()

   Set pointers

int calculateNormals()

   Calculate normals

int tagCoplanar(int nf,int tag)

   Face tag from nf coplanar

int tagRecurs(int nf,int tag)

   Face tag from nf coplanar

int centered()

   Center object

int boundingCentered()

   Center (bound) object

int tesselate()

   Tesselate object

int tesselateSelected(int tag)

   Tesselate tag faces object

int RTPatch(int sign)

   RT Patch

int newMarching(char *ptr,int w,int h,int grid,int nt,int xy)

   marching squares

int updateMarching(char *ptr,int w,int h,int grid,int nt,int xy)

   marching squares

int setMarchingFX(float value)

   marching squares decal

int updateVertexBuffer(int wo)

   Update data for rendering

int vertexBuffer(int wo)

   Create data for rendering

int vertexBufferNoShadow(int wo)

   Create data for rendering

int updateVertexBufferBlend(int wo)

   Update data for rendering

int vertexBufferBlend(int wo)

   Create data for rendering

int vertexBufferNoShadowBlend(int wo)

   Create data for rendering

int setName(char *s)

   Name of the bisounours

int initKeys(int nkeys)

   Number of keys in morphing

int setVerticeKey(int n,int k,vector v)

   Position by keys

int resetTag()

   Setting tags = 0

int getTag(int n)

   Get face tag

int getRef(int n)

   Get face ref

int newSphere(float r,int def)

   def is the parameter of generation of the object

int newCube(float x,float y,float z)

   def is the parameter of generation of the object

int newGrid(float x,float y,float z,int def)

   def is the parameter of generation of the object

int newTore(float r1,float r2,int def)

   def is the parameter of generation of the object

int newDuplicate(int add)

   duplicate (add) for the object

int inverseOrientation()

   Invert normals and orientation

int setEnvMap(int onoff)

   Sets the object to env mapping

int scaleAdded(int add,float sx,float sy,float sz)

   scale Added (add)

int ToggleSuperRendu(int toggle)

   Main drawing function

int relaxation(int N,float len)

   Relaxation algorithm

int relaxationMeshMelt(int N)

   Relaxation algorithm

int relaxationMesh(int N)

   Relaxation algorithm

int default()

   Reset object basics

int modifyNurbs(int wo,float val1,float val2,char *function)

   Nurbs processing

int newNurbs(float val1,float val2,char *function)

   Nurbds processing

int borneSup(float x,float y,float z)

   Base bounding value

int borneInf(float x,float y,float z)

   Base bounding value



# VIDEO on TEXTURES

int freeVideo(int nv)

   Free ressources of .movie

int loadVideo(int nv,char *fname)

   Open a .movie

int frameVideo(int nv,int ntex,int n)

   Plays .movie in texture

int frameClear(int ntex)

   clear texture

int frameVideoMap(int nv,int ntex,int n,pixel p1,pixel p2,pixel p3,pixel p4)

   Plays .movie inside a quad in texture

int frameVideoMapFloats(int nv,int ntex,int n,pixel p1,pixel p2,pixel p3,pixel p4)

   Plays .movie inside a quad in texture



# ANIMATED GIF

int freeGIF(int nv)

   Free ressources of .gif

int loadGIF(int nv,char *fname)

   Open a .gif

int frameGIF(int nv,int ntex,int n)

   Plays frame(n) of .gif

int frameGIFAlpha(int nv,int ntex,int n,float alpha)

   Plays frame(n) of .gif with alpha value [0..1]

int frameGIFMap(int nv,int ntex,int n,pixel p1,pixel p2,pixel p3,pixel p4,int dark)

   Plays .gif inside a quad in texture

int frameGIFMapFloats(int nv,int ntex,int n,pixel p1,pixel p2,pixel p3,pixel p4,int dark)

   Plays .gif inside a quad in texture

int frameGIFBump(int nv,int ntex,int n)

   Plays frame(n) of .gif and converts 361/RGB to grayscale heightfield

int numframeGIF(int nv,float time)

   Get frame from t+=TIME_DT



# BASIC VECTORS

int tangent(vector N,vector T)

   Retrieve TANGENT from NORMAL

int binormal(vector N,vector B)

   Retrieve BINORMAL from NORMAL

int getLocalWorld(int wo,float x1,float y1,float x2,float y2,vector G,vector N)

   Local Point by Mapping

int getLocalWorldCalc(int wo,float x1,float y1,float x2,float y2,vector G,vector N)

   Local Point by Mapping

int getLocalAdded(int add,float x1,float y1,float x2,float y2,vector G,vector N)

   Local Point by Mapping

int getLocalAddedCalc(int add,float x1,float y1,float x2,float y2,vector G,vector N)

   Local Point by Mapping



# BACKGROUND

int setBackground(int nt)

   Background texture



# ENGINE

int setRenderTarget(int secondary,int scale)

   Scale is to map screen form or not: PRIMARY,SECONDARY(X), with ON,OFF,SCALERENDER

int setRenderTargetNoClear(int secondary,int scale)

   Scale is to map screen form or not: PRIMARY,SECONDARY(X), with ON,OFF,SCALERENDER

int setViewportRenderTarget(int x,int y,int w,int h)

   Viewport bounds

int getRenderTargetFourty(int fourty,vector dir)

   Tetrahedron 4 views

int getRenderTargetFourtyCenter(int fourty,vector O)

   Tetrahedron 4 views center

int restoreRenderTarget()

   Restore render target parameters



# OPERATIONS ON ARRAYS

int getVariableIndex(char *name)

   Pointer to a variable

int getVariableGlobaleIndex(char *name)

   Pointer to a variable

int setMemi(int nvar,int offset,int value,int nb)

   Memory function with data pointer

int setMemf(int nvar,int offset,float value,int nb)

   Memory function with data pointer

int setgMemi(int nvar,int offset,int value,int nb)

   Memory function with data pointer

int setgMemf(int nvar,int offset,float value,int nb)

   emory function with data pointer

int copyMemi(int nvar1,int offset1,int nvar2,int offset2,int nb)

   Memory function with data pointer

int copyMemf(int nvar1,int offset1,int nvar2,int offset2,int nb)

   Memory function with data pointer

int copygMemi(int nvar1,int offset1,int nvar2,int offset2,int nb)

   Memory function with data pointer

int copygMemf(int nvar1,int offset1,int nvar2,int offset2,int nb)

   Memory function with data pointer



# CLIPBOARD

int setClipBoard(char *var)

   send string variable to clipboard

int setStringClipBoard(char *s)

   send string to clipboard

int addStringClipBoard(char *s)

   send string to clipboard



# MISC BONES TREES

int setupWalkBiped(int wo,int key,int elbowL,int elbowR,int kneeL,int kneeR,int nbposes,float steplen,float bassin,float gap)

   Setup bones tree animation at [key] to [key+nbposes]

int setupWalkQuadriped(int wo,int key,int elbowL,int elbowR,int kneeL,int kneeR,int nbposes,float steplen,float bassin,float gap)

   Setup bones tree animation at [key] to [key+nbposes]

int setupRunBiped(int wo,int key,int elbowL,int elbowR,int kneeL,int kneeR,int nbposes,float steplen,float bassin,float gap)

   Setup bones tree animation at [key] to [key+nbposes]

int setupRunQuadriped(int wo,int key,int elbowL,int elbowR,int kneeL,int kneeR,int nbposes,float steplen,float bassin,float gap)

   Setup bones tree animation at [key] to [key+nbposes]

int setupJumpBiped(int wo,int key,int elbowL,int elbowR,int kneeL,int kneeR,int nbposes,float steplen,float bassin,float gap)

   Setup bones tree animation at [key] to [key+nbposes]

int getWOTreeIndexBoneByName(int wo,char *name)

   wo as bone tree

int getCloneIndexBoneByName(int clone,char *name)

   bone tree from clone

int getXYZPivotBonesTree(int tree,int pivot,vector p)

   Vector from bones tree animation

int getEulersPivotBonesTree(int tree,int pivot,vector p)

   Eulers vector from bones tree animation

int getLocalXYZPivotBonesTree(int tree,int pivot,vector p)

   Vector from bones tree animation in local ref

int getLocalEulersPivotBonesTree(int tree,int pivot,vector p)

   Eulers vector from bones tree animation in local ref

int getLocalXYZPivotBonesTreeClone(int clone,int pivot,vector p)

   Vector from bones tree clone

int getLocalOrientationPivotBonesTreeClone(int clone,int pivot,vector p)

   Vector from bones tree clone

int getLocalMatrixPivotBonesTreeClone(int clone,int pivot,matrix m)

   matrix from bones tree clone

int getLocalApplyXYZPivotBonesTree(int tree,int pivot,int key1,int key2,float t,vector p)

   Vector from bones tree animation in local ref

int getLocalApplyEulersPivotBonesTree(int tree,int pivot,int key1,int key2,float t,vector p)

   Eulers vector from bones tree animation in local ref

int getLocalOrientationPivotBonesTree(int clone,int pivot,int key1,int key2,float t,vector p)

   Orientation vector from bones tree clone animation

int getLocalMatrixPivotBonesTree(int clone,int pivot,int key1,int key2,float t,matrix m)

   Orientation matrix from bones tree clone animation

int getXYZPivotBonesTreeClone(int clone,int pivot,vector p)

   Vector from bones tree clone animation

int getEulersPivotBonesTreeClone(int clone,int pivot,vector p)

   Eulers vector from bones tree clone animation

int getOrientationPivotBonesTreeClone(int clone,int pivot,vector p)

   Orientation vector from bones tree clone animation

int getOrientationEulersPivotBonesTreeClone(int clone,int pivot,vector p)

   Orientation angular vector from bones tree clone animation

int getMatrixPivotBonesTreeClone(int clone,int pivot,matrix m)

   Orientation matrix from bones tree clone animation

float getDistanceToGroundBonesTree(int tree,int key1,int key2,float t)

   get Y length

float getHorizontalRadiusBonesTree(int tree,int key1,int key2,float t)

   get radius

int createPropBonesTree(int prop,int wo)

   map single node object to bones tree wo

int createPropFullBonesTree(int prop,int wo)

   map single node object to bones tree wo

int createPropBonesTreeNoNorm(int prop,int wo)

   map single node object to bones tree wo

int createPropFullBonesTreeNoNorm(int prop,int wo)

   map single node object to bones tree wo

int createPropPlacedBonesTree(int prop,int wo,vector coo,vector rot)

   map single node object to bones tree wo at position,rotation

int createPropPlacedFullBonesTree(int prop,int wo,vector coo,vector rot)

   map single node object to bones tree wo at position,rotation

int createPropPlacedBonesTreeNoNorm(int prop,int wo,vector coo,vector rot)

   map single node object to bones tree wo at position,rotation

int createPropPlacedFullBonesTreeNoNorm(int prop,int wo,vector coo,vector rot)

   map single node object to bones tree wo at position,rotation

int createPropNodeBonesTree(int prop,int wo,int affect)

   map single node object to bones tree wo node "affect" or -1

int createPropPlacedNodeBonesTree(int prop,int wo,vector coo,vector rot,int affect)

   map single node object to bones tree wo node "affect" or -1

int resetKeyBonesTree(int wo,int key)

   set key to all zero

int copyKeyBonesTree(int wo,int key,int from)

   copy two keys

int addKeyBonesTree(int wo,int key,int from)

   add two keys

int quatsKeyBonesTree(int wo,int key)

   set quaternion only

int eulersKeyBonesTree(int wo,int key)

   set eulers only

int getNbNodesBonesTree(int wo)

   get tree number of nodes

int setEulersKeyBonesTree(int wo,int key,int node,vector eulers)

   key node eulers

int getEulersKeyBonesTree(int wo,int key,int node,vector eulers)

   key node eulers

int setPivotsKeyBonesTree(int wo,int key,int node,vector trans)

   key node translate

int getPivotsKeyBonesTree(int wo,int key,int node,vector trans)

   key node translate

int calcPhysicBonesTree(int wo,int key,int vit,vector move,float dt)

   hair physics, move: interact, 1st node fixed

int calcPhysicBaseBonesTree(int wo,int key,int vit,vector move,float dt)

   hair physics, move: interact

int calcPhysicFullBonesTree(int wo,int key,int vit,vector move,float dt,int base,float momentum,float velocity,vector gravity)

   common physics, move: interact, 1st node fixed as base, g: gravity vector



# ANIM FUNCTIONS

int setAnimBonesKey(int key,int nobj,int val)

   Update of animation parameter

int setAnimMorphKey(int key,int nobj,int val)

   Update of animation parameter

int setAnimPositions(int key,int nobj,float x,float y,float z)

   Update of animation parameter

int setAnimRotations(int key,int nobj,float x,float y,float z)

   Update of animation parameter

int setAnimPositionsAdded(int key,int nobj,float x,float y,float z)

   Update of animation parameter

int setAnimRotationsAdded(int key,int nobj,float x,float y,float z)

   Update of animation parameter

int setAnimCamera(int key,float x,float y,float z)

   Update of animation parameter

int setAnimTarget(int key,float x,float y,float z)

   Update of animation parameter

int setAnimZoom(int key,float zoom)

   Update of animation parameter

int getAnimNb()

   Update of animation parameter

int getAnimPositions(int key,int nobj,vector v)

   Read of animation value

int getAnimRotations(int key,int nobj,vector v)

   Read of animation value

int getAnimPositionsAdded(int key,int nobj,vector v)

   Read of animation value

int getAnimRotationsAdded(int key,int nobj,vector v)

   Read of animation value

int getAnimCamera(int key,int nobj,vector v)

   Read of animation value

int getAnimTarget(int key,int nobj,vector v)

   Read of animation value



# ARRAY/POINTERS OPERATIONS, FILES

int getPtr(char *name)

   Pointers

int getFunctionPtr(char *name)

   Pointers to function

int setMemoryi(int nvar,int offset,int value,int nb)

   Pointers

int setMemoryf(int nvar,int offset,float value,int nb)

   Pointers

int copyMemory(int nvar1,int offset1,int nvar2,int offset2,int nb)

   Pointers



# LINKED LIST

int allocateLinkedListArray(int list,int len)

   Linked List (list of [0..127] allocate len lists

int freeLinkedListArray(int list)

   Linked List (list of [0..127]

int clearLinkedListArray(int list,int index)

   Linked List

int addLinkedListArray(int list,int index,int val)

   Linked List: add an int to array element

int getLinkedListArray(int list,int index,int pos)

   Linked List

int getposLinkedListArray(int list,int index,int val)

   Linked List

int delLinkedListArray(int list,int index,int val)

   Linked List

int delindexLinkedListArray(int list,int index,int pos)

   Linked List

int lengthLinkedListArray(int list,int index)

   Linked List

int dumpLinkedListArray(int list,int index,char *svar)

   Linked List: dump to int array

int dumpLinkedListArrayPtr(int list,int index,int var)

   Linked List: dump to int array

int dumpOffsetLinkedListArray(int list,int index,char *svar,int ofs)

   Linked List: dump to int array

int dumpOffsetLinkedListArrayPtr(int list,int index,int var,int ofs)

   Linked List: dump to int array



# OTHER FUNCTIONS

int bubbleSort(char * tab_n,char * tab_z,int nb)

   sort indices in (int)tab_n[nb] with (float)tab_z[n] value for depth

int sceneIdWorld(int n)

   SceneID [0..3]

int sceneIdAdded(int n)

   SceneID [0..3]



# SPRITES FUNCTIONS

int spriteReset()

   Initialize

int spriteAdd(char * name,int nt,float xm1,float ym1,float xm2,float ym2)

   name : char[], nt : texturescene, returns id

int spriteId(char * name)

   name : char[], return id

float spriteGetWidth(char *name)

   name : char[], return width in texture ref

float spriteGetHeight(char *name)

   name : char[], return height in texture ref

float spriteGetWidthById(int id)

   id : int, return width in texture ref

float spriteGetHeightById(int id)

   id : int, return height in texture ref

int spriteDraw(char * name,int x,int y,int w,int h,float r,float g,float b,float a)

   name : char[]

int spriteDrawRot(char * name,int x,int y,int w,int h,float ang,float r,float g,float b,float a)

   name : char[]

int spriteDrawId(int id,int x,int y,int w,int h,float r,float g,float b,float a)

   int id

int spriteDrawRotId(int id,int x,int y,int w,int h,float ang,float r,float g,float b,float a)

   int id



# TEXT FUNCTIONS

int playAnim(int n,int anim)

   Play basic time anims

int playTextAnim(int n,int anim)

   Play basic time anims

int setColor(float r,float g,float b)

   Color basic time anims

int setScale(float sc)

   Scale basic time anims

int addText(int n,char *txt)

   Text basic time anims

int setTextPos(int n,float x,float y)

   Position basic time anims

int setTextOffPos(int n,float x,float y)

   Position OFF basic time anims

int setTextOffZoom(int n,float z)

   Position OFF basic time anims

int setTextState(int n,int state)

   Basic time anims

int setTextAnim(int n,int key1,int key2,float x1,float y1,float x2,float y2)

   Basic time anims

int setTextAnimMulti(int n,int nb,int key1,int key2,float x1,float y1,float x2,float y2)

   Basic time anims

int setTextZoomAnimMulti(int n,int nb,int key1,int key2,float zoom1,float zoom2)

   Basic time anims

int setTextZoomAnim(int n,int key1,int key2,float zoom1,float zoom2)

   Basic time anims

int setTextAnimSpeed(int n,float speed)

   Basic time anims

int setTextAnimZoomSpeed(int n,float speed)

   Basic time anims

Immediate font drawings:

int createFont(int font,char *filename,int r,int g,int b,int ro,int go,int bo,int size,int bold,int outline,int force)

   Create FONT layer texture and map

int freeFonte(int font)

   Release font

int setFont(int font)

   Select a font

float drawCar(float x,float y,int ch,float scale,float r,float g,float b)

   Draw char string with selected font

int drawString(float x,float y,char *s,float scale,float r,float g,float b)

   Draw char string with selected font

int drawStringCenter(float x,float y,char *s,float scale,float r,float g,float b)

   Draw char string with selected font

float lenString(char *s,float scale)

   Get char string length drawn

float heightFont(float scale)

   Get char font height drawn



# VECTOR AND MATRIX FUNCTIONS

matrix M;

M.Id()

M.Rotation(float x,float y,float z)

M.Translation(float x,float y,float z)

M.Scaling(float x,float y,float z)

M.DirectionX()

M.DirectionY()

M.DirectionZ()

vector V;

V.Zero()

V.Init(float x,float y,float z)

Generic appliants to basic maths are available : * / + - |



# HASH TABLE FUNCTIONS

hash H;

   Access to memory

H.Load(int nt)

   Access to memory

H.Peek(int layer,int x,int y)

   Access to memory

H.Poke(int layer,int x,int y,int i)

   Access to memory

H.Poke(int layer,int x,int y,int c,int rgb)

   Access to memory

H.Set(int layer,int x1,int y1,int x2,int y2,int c,int v)

   Access to memory

H.Blt(int layer,int x1,int y1,int x2,int y2,int nt,int func)

   Access to memory



# TRIGOS FUNCTIONS

float sin(float ang)

   Sinus of ang

float cos(float ang)

   Cosinus of ang

float sinp(float ang)

   Sinus of ang (high precision)

float cosp(float ang)

   Cosinus of ang (high precision)

float sinq(float ang)

   Sinus of ang (low precision)

float cosq(float ang)

   Cosinus of ang (low precision)

float asin(float ang)

   Asinus of val

float acos(float ang)

   Acosinus of val

float sqrt(float val)

   Square root



# CHAR STRING FUNCTIONS

char* alloc(int size)

   Allocate a strings

char* malloc(int size)

   Allocate a strings

void memset(char* ptr,int value,int nb)

   Set string values to "value"

void memcpy(char* dest,char* src,int nb)

   Copy nb chars

void free(char* ptr)

   Free string

int strlen(char* s)

   Return length zero-term string

void strcpy(char* dest,char* src)

   Copy identical

int strcmp(char* a,char* b)

   Compare "a" to "b"

int strmatch(char* a,char* m)

   Match with "m"

void strconcat(char* dest,char* src,int nb)

   Concatenation

void strncpy(char* dest,char* src1,int nb1,char* src2,int nb2)

   Merge two strings

void sprintf(char *dest,char *format,...)

   Generate string with format

void sprint(char *dest,char *format,...)

   Generate string with format

int stradd(char *dest,int c)

   Memory function for strings

int strset(char *dest,char *src)

   Memory function for strings

int sprintfd(char *dest,int n)

   Memory function for strings

int sprintfs(char *dest,char *s)

   Memory function for strings

int sprintff(char *dest,float f)

   Memory function for strings

int scanInt(char *src)

   Returns "%d"

float scanFloat(char *src)

   Returns "%f"

int strClean(char *str)

   Clean string of spaces etc.



# QUATERNIONS

int quaternionId(...)

   quaternionId(quaternion result)

int matrixFromQuaternion(...)

   matrixFromQuaternion(matrix result,quaternion q)

int quaternionSlerp(...)

   quaternionSlerp(quaternion result,quaternion q1,quaternion q2,float t)

int eulersFromQuaternion(...)

   eulersFromQuaternion(vector result,quaternion q)

int eulersFromQuaternionDegrees(...)

   eulersFromQuaternionDegrees(vector result,quaternion q)

int quaternionFromEulers(...)

   quaternionFromEulers(quaternion result,vector eulers)

int quaternionFromEulersDegrees(...)

   quaternionFromEulersDegrees(quaternion result,vector eulers)

int quaternionFromMatrix(...)

   quaternionFromMatrix(quaternion result,matrix mat)

int quaternionFromAxisAngle(...)

   quaternionFromAxisAngle(quaternion result,vector eulers)

int quaternionInverse(...)

   quaternionInverse(quaternion result,quaternion q)

int quaternionConjugate(...)

   quaternionConjugate(quaternion result,quaternion q)

float quaternionNorm(...)

   float quaternionNorm(quaternion q)

int quaternionNormalize(...)

   quaternionNormalize(quaternion q)

int quaternionMul(...)

   quaternionMul(quaternion result,quaternion/vector/float op1,quaternion/vector/float op2)

int quaternionAdd(...)

   quaternionAdd(quaternion result,quaternion q1,quaternion q2)

int quaternionSub(...)

   quaternionSub(quaternion result,quaternion q1,quaternion q2)

int quaternionDiv(...)

   quaternionDiv(quaternion result,quaternion q1,quaternion q2)

float quaternionDot(...)

   float quaternionDot(quaternion q)



# STRUCTURES

int moveStruct(struct dest,struct src)

   Must be structures



# FACES & VERTICES

int CameraTrack(float x,float y,float z)

   Camera track functionnality

int NoCameraTrack()

   Camera track functionnality

New model:

int getWorldnv(int n)

int getWorldnf(int n)

int getAddednv(int n)

int getAddednf(int n)

int getWorldVertex(int n,int nv,vector v)

int getAddedVertex(int n,int nv,vector v)

int getWorldVertexCalc(int n,int nv,vector v)

int getAddedVertexCalc(int n,int nv,vector v)

int getWorldNormal(int n,int nv,vector v)

int getAddedNormal(int n,int nv,vector v)

int getWorldNormalCalc(int n,int nv,vector v)

int getAddedNormalCalc(int n,int nv,vector v)

int getWorldMorphVertex(int n,int key,int nv,vector v)

int getAddedMorphVertex(int n,int key,int nv,vector v)

int getWorldMorphNormal(int n,int key,int nv,vector v)

int getAddedMorphNormal(int n,int key,int nv,vector v)

int getWorldFaceNormal(int n,int nv,vector v)

int getAddedFaceNormal(int n,int nv,vector v)

int getWorldFaceNormalCalc(int n,int nv,vector v)

int getAddedFaceNormalCalc(int n,int nv,vector v)

int getWorldFaceIndices0(int n,int nf)

int getWorldFaceIndices1(int n,int nf)

int getWorldFaceIndices2(int n,int nf)

int getAddedFaceIndices0(int n,int nf)

int getAddedFaceIndices1(int n,int nf)

int getAddedFaceIndices2(int n,int nf)

int getAddedScriptTag(int n,char * stag)

int getAddedMatrix(int n,matrix m)

int getAddedOrientationMatrix(int n,matrix m)

int getWorldMatrix(int n,matrix m)

int getWorldOrientationMatrix(int n,matrix m)

int getObjectWnv(int n)

   Get world nv

int getObjectWnf(int n)

   Get world nf

int getObjectAnv(int n)

   Get added nv

int getObjectAnf(int n)

   Get added nf

int getObjectCalcWn(int n,int nv,vector v)

   Get object specific value

int getObjectCalcWAddn(int n,int nv,vector v)

   Get added specific value

int getObjectWn(int n,int nv,vector v)

   Get object specific value

int getObjectWAddn(int n,int nv,vector v)

   Get added specific value

int getObjectNormalWn(int n,int nv,vector v)

   Get object specific value

int getObjectNormalWAddn(int n,int nv,vector v)

   Get added specific value

int getObjectNormalCalcWn(int n,int nv,vector v)

   Get object specific value

int getObjectNormalCalcWAddn(int n,int nv,vector v)

   Get added specific value

int getObjectFaceNormalWn(int n,int nv,vector v)

   Get object specific value

int getObjectFaceNormalWAddn(int n,int nv,vector v)

   Get added specific value

int getObjectFaceNormalCalcWn(int n,int nv,vector v)

   Get object specific value

int getObjectFaceNormalCalcWAddn(int n,int nv,vector v)

   Get added specific value

int getLongerDirection(int wo,int nv,vector result)

   Get world longer vertex direction

int getLongerDirectionAdd(int wo,int nv,vector result)

   Get added longer vertex direction

int getLongerDirectionCalc(int wo,int nv,vector result)

   Get world longer vertex direction

int getLongerDirectionAddCalc(int wo,int nv,vector result)

   Get added longer vertex direction

int getLongerDirectionFrom(int wo,int nv,vector dir,vector result)

   Get world longer vertex direction

int getLongerDirectionFromAdd(int wo,int nv,vector dir,vector result)

   Get added longer vertex direction

int getLongerDirectionFromCalc(int wo,int nv,vector dir,vector result)

   Get world longer vertex direction

int getLongerDirectionFromAddCalc(int wo,int nv,vector dir,vector result)

   Get added longer vertex direction

int getCloserVertex(int wo,vector p)

   Get world closer vertex

int getCloserVertexCalc(int wo,vector p)

   Get world closer vertex

int getCloserVertexAdded(int wo,vector p)

   Get added closer vertex

int getCloserVertexAddedCalc(int wo,vector p)

   Get added closer vertex

int intersectedNavMeshFace()

   Get 1 if result is from intersection

int getWorldNavMeshFace(int wo,vector pos)

   Get world closer face

int getAddedNavMeshFace(int wo,vector pos)

   Get added closer face

int getWorldNavMeshFace3D(int wo,vector pos,float h)

   Get world closer face

int getAddedNavMeshFace3D(int wo,vector pos,float h)

   Get added closer face

int getWorldNavMeshNextFromVector(int wo,int nf,vector pos,vector dest,vector res)

   Get world closer face edge

int getAddedNavMeshNextFromVector(int wo,int nf,vector pos,vector dest,vector res)

   Get added closer face edge

int getWorldNavMeshFace3DVector(int wo,vector pos,vector N)

   Get added closer face

int getAddedNavMeshFace3DVector(int wo,vector pos,vector N)

   Get added closer face

int getWorldRecNavMeshNextFromVector(int wo,int start,int end,vector pos,vector dest,int max,vector res)

   Get world closer face edge (recursive)

int getAddedRecNavMeshNextFromVector(int wo,int start,int end,vector pos,vector dest,int max,vector res)

   Get added closer face edge (recursive)

int getAnimWorldVertexCoo(int wo,int nv,int k1,int k2,float t,vector res)

   Get animated specific value

int getAnimWorldVertexRandomHomogeneCoo(int wo,int k1,int k2,float t,vector res)

   Get tree animated specific value

int setWOTreeInterpolate(int wo,int k1,int k2,float t)

   Set tree animated

int setWOTreeTwoInterpolate(int wo,int k1,int k2,float t1,int sk1,int sk2,float t2,float t)

   Set tree animated

int getWOTreeNBNode(int wo)

   Get tree animated specific value

int getWOTreeNodePivot(int wo,int node,vector p)

   Get tree animated specific value

int getWOTreeNodeNBNext(int wo,int node)

   Get tree animated specific value

int getWOTreeNodeIDNext(int wo,int node,int next)

   Get tree animated specific value

int setWOTreeRandom(int wo,int node,int ang)

   Random Pose (ang: variable)

int setWOTreeReset(int wo,int node)

   Reset Pose

int setWOTreeResetEulersOnly(int wo,int node)

   Reset Pose

int setWOTreeGetNodePosition(int wo,int node,vector pos)

   Node position

int setWOTreeInverseCinematic(int wo,int node,float depx,float depy,float depz)

   Set Node translation

int setWOTreeConvertToEulers(int wo)

   Node orientation

int setWOTreeNodeEulers(int wo,int node,float ex,float ey,float ez)

   Set tree animated eulers value

int setWOTreeNodeEulersV(int wo,int node,vector eulers)

   Set tree animated eulers value

int getWOTreeNodeEulersV(int wo,int node,vector eulers)

   Get tree animated eulers value

int setWOTreeStoreKey(int wo,int pose)

   Store Pose

int setWOTreeReadKey(int wo,int pose)

   Read Pose

int worldCalculate(int n)

   Fix props object values

int addedCalculate(int n)

   Fix props added values

int worldCalculateTreeMorphMatrix(int wo,vector p,vector r,int key1,int key2,float t)

   calc key1 to key2

int addedCalculateTreeMorphMatrix(int wo,vector p,vector r,int key1,int key2,float t)

   calc key1 to key2

int worldCalculateTreeMorph(int wo,int key1,int key2,float t)

   calc key1 to key2

int addedCalculateTreeMorph(int wo,int key1,int key2,float t)

   calc key1 to key2

int addedImpostor(int n)

   get added real number (impostors)

int addedMatrix(int n,matrix m)

   get added base matrix

int addedOrientationMatrix(int n,matrix m)

   get added base matrix

float getObjectWnX(int n,int nv)

   Get world x for nv

float getObjectWnY(int n,int nv)

   Get world y for nv

float getObjectWnZ(int n,int nv)

   Get world z for nv

float getObjectCalcWnX(int n,int nv)

   Get world x for nv

float getObjectCalcWnY(int n,int nv)

   Get world y for nv

float getObjectCalcWnZ(int n,int nv)

   Get world z for nv

float getObjectWAddnX(int n,int nv)

   Get added x for nv

float getObjectWAddnY(int n,int nv)

   Get added y for nv

float getObjectWAddnZ(int n,int nv)

   Get added z for nv

float getObjectCalcWAddnX(int n,int nv)

   Get added x for nv

float getObjectCalcWAddnY(int n,int nv)

   Get added y for nv

float getObjectCalcWAddnZ(int n,int nv)

   Get added z for nv

float getObjectNormalWnX(int n,int nv)

   Get world x for nv

float getObjectNormalWnY(int n,int nv)

   Get world y for nv

float getObjectNormalWnZ(int n,int nv)

   Get world z for nv

float getObjectNormalCalcWnX(int n,int nv)

   Get world x for nv

float getObjectNormalCalcWnY(int n,int nv)

   Get world y for nv

float getObjectNormalCalcWnZ(int n,int nv)

   Get world z for nv

float getObjectNormalWAddnX(int n,int nv)

   Get added x for nv

float getObjectNormalWAddnY(int n,int nv)

   Get added y for nv

float getObjectNormalWAddnZ(int n,int nv)

   Get added z for nv

float getObjectNormalCalcWAddnX(int n,int nv)

   Get added x for nv

float getObjectNormalCalcWAddnY(int n,int nv)

   Get added y for nv

float getObjectNormalCalcWAddnZ(int n,int nv)

   Get added z for nv

float getObjectFaceNormalWnX(int n,int nv)

   Get world x for nv

float getObjectFaceNormalWnY(int n,int nv)

   Get world y for nv

float getObjectFaceNormalWnZ(int n,int nv)

   Get world z for nv

float getObjectFaceNormalWAddnX(int n,int nv)

   Get added x for nv

float getObjectFaceNormalWAddnY(int n,int nv)

   Get added y for nv

float getObjectFaceNormalWAddnZ(int n,int nv)

   Get added z for nv

float getObjectFaceNormalCalcWnX(int n,int nv)

   Get world x for nv

float getObjectFaceNormalCalcWnY(int n,int nv)

   Get world y for nv

float getObjectFaceNormalCalcWnZ(int n,int nv)

   Get world z for nv

float getObjectFaceNormalCalcWAddnX(int n,int nv)

   Get added x for nv

float getObjectFaceNormalCalcWAddnY(int n,int nv)

   Get added y for nv

float getObjectFaceNormalCalcWAddnZ(int n,int nv)

   Get added z for nv

int getWFaceIndices0(int n,int nf)

   Get world i0 for nf

int getWFaceIndices1(int n,int nf)

   Get world i1 for nf

int getWFaceIndices2(int n,int nf)

   Get world i2 for nf

int getWAddFaceIndices0(int n,int nf)

   Get added i0 for nf

int getWAddFaceIndices1(int n,int nf)

   Get added i1 for nf

int getWAddFaceIndices2(int n,int nf)

   Get added i2 for nf



# TREE OBJECT FUNCTIONS

int setWorldBones(int wo,int key1,int key2,float t)

   Do BONES TREE morph anim: t interpolate key1 to key2

int setWorldBonesTwo(int wo,int k11,int k12,float t1,int k21,int k22,float t2,float t)

   Do BONES TREE morph anim: t interpolate frame1(k11,k12,t1) to frame2(k21,k22,t2)

int setWorldBonesEulers(int N,int np,vector angles)

   modify Eulers for Pivot in BONES TREE

int getWorldBonesEulers(int N,int np,vector angles)

   modify Eulers for Pivot in BONES TREE

int addWorldBonesEulers(int N,int np,vector angles)

   modify Eulers for Pivot in BONES TREE

int setWorldBonesTranslate(int N,int np,vector trans)

   modify Translation for Pivot in BONES TREE

int getWorldBonesTranslate(int N,int np,vector trans)

   modify Translation for Pivot in BONES TREE

int addWorldBonesTranslate(int N,int np,vector trans)

   modify Translation for Pivot in BONES TREE



# MORPH OBJECT FUNCTIONS

int setAddedMorph(int n,int key1,int key2,float t)

   Do morph anim: t interpolate key1 to key2



# OBJECT FUNCTIONS

int meshLinear(int wo)

   linear mesh

int meshLinearFull(int wo)

   linear mesh

int meshApply(int wo,matrix m)

   apply transform

int meshSetRef(int wo,int ref)

   ref 0..1..2

float radiusCalc(int n)

   radius

float radiusAddedCalc(int n)

   radius

int worldGetBounds(int add,vector mini,vector maxi)

   bounds [mini,maxi]

int addedGetBounds(int add,vector mini,vector maxi)

   bounds [mini,maxi]

int worldGetBaseBounds(int add,vector mini,vector maxi)

   bounds [mini,maxi]

int addedGetBaseBounds(int add,vector mini,vector maxi)

   bounds [mini,maxi]

int worldGetBaseKeyBounds(int add,int key,vector mini,vector maxi)

   bounds [mini,maxi]

int addedGetBaseKeyBounds(int add,int key,vector mini,vector maxi)

   bounds [mini,maxi]



# DYNAMICALLY TEXTURE DETAILS FUNCTIONS

int resetAddedTexturesDetails()

   detailled texture : reset of parameters

int pollAddedTexturesDetails()

   detailled texture : poll events for player and texture unpacking : returns 1 if updated

int setAddedTexturesDetails(int wo,int state)

   detailled texture from object

int setTexturesDetails(int nt,int state)

   detailled texture

int getTexturesDetails(int nt)

   detailled texture: -1:uncompressed 0:low 1:normal

int processAddedTexturesDetails(vector p,float r)

   detect detailled texture update, returns 1 if update is needed

int processClonesTexturesDetails(vector p,float r)

   detect detailled texture update, returns 1 if update is needed



# METHODS FUNCTIONS

int resetMethods()

   Reset all methods function pointers

int toggleMethods(int scene,int clones)

   Activate methods processing ON,ALWAYS(even non visible added),OFF

int toggleWorldMethods(int scene,int clones)

   Activate world methods processing ON,ALWAYS(even non visible world),OFF

int toggleCloneMethods(int clones)

   Activate clones methods processing ON,OFF

int registerMethod(int add,char * sfn)

   Register method for Added (func: int objectmethod(int wo,vector pos,vector rot)) for a specified additionnal ($null$ for reset)

int registerAddedMethod(int add,char * sfn)

   Register method for Added (func: int objectmethod(int wo,vector pos,vector rot)) for a specified additionnal ($null$ for reset)

int registerWorldMethod(int wo,char * sfn)

   Register method for World (func: int objectmethod(int wo,vector pos,vector rot)) for a specified world ($null$ for reset)

int registerCloneMethod(int clone,char * sfn)

   Register method for Clone (func: int objectmethod(int wo,vector pos,vector rot)) for a specified clone ($null$ for reset)

int objectTypeMethod()

   returns: world:-1, added:1, clone world:-2, clone added:2, clone only:666



# MISC OBJECTS FUNCTIONS

int limitFacesVertexBufferResetAll()

   reset number of faces drawn

int limitFacesVertexBuffer(int wo,float limit)

   affect number of faces drawn

int startFacesVertexBuffer(int wo,float limit)

   affect number of faces drawn



# CLONE OBJECTS FUNCTIONS

int testSphereVectorIntersect(vector A,vector B,vector O,float R)

   returns 1 if ray [A..B] intersect sphere (O,R)

int testSphereMouseIntersect(vector O,float R)

   returns 1 if ray from mouse intersect sphere (O,R)

int getPickVector(vector pick)

   pick = mouse vector



# CLONE OBJECTS FUNCTIONS

int setCloneWO(int clone,int wo)

   Clone from world object wo

int setCloneWOAsMorph(int clone,int wo)

   Clone from world object wo to morph

int setCloneWOAsAdditionnal(int clone,int wo)

   Clone from added object wo

setCloneWOAddedAsMorph(int clone,int wo)

   Clone from added object wo to morph

int setTemporaryCloneWO(int wo)

   Added (only) for Clone replacement in preShader

int resetClones()

   Reset clone ressources

int setNBClones(int nb)

   Set number clone ressources

int getNumClones()

   Get number clone ressources

int isClonePicked(int clone)

   Pick and Clones

int witchClonePickedMouse()

   Pick and Clones

int witchClonePicked(vector A,vector B)

   Pick and Clones

float getCloneRadius(int clone)

   Get clone env radius

int setCloneForceDraw(int clone,int draw)

   Normal:0 force draw:1 force not draw:-1

int setClonePosition(int clone,float x,float y,float z)

   Set clone position

int setCloneScale(int clone,float x,float y,float z)

   Set clone scale

int setCloneRotation(int clone,float x,float y,float z)

   Set clone rotation

int setCloneAnim(int clone,int key1,int key2,float t)

   Set clone animation keys

int setCloneAnimTwo(int clone,int key1,int key2,float t1,int sndkey1,int sndkey2,float t2,float t)

   Set clone two animation keys

int setCloneParam(int clone,int p)

   Set clone additionnal parameter

int getCloneParam(int clone,int p)

   Get clone additionnal parameter

int setCloneValue(int clone,int n,int val)

   Set clone additionnal parameter n=0..3

int setCloneFloatValue(int clone,int n,float val)

   Set clone additionnal parameter n=0..3

int getCloneValue(int clone,int n)

   Get clone additionnal parameter n=0..3

float getCloneFloatValue(int clone,int n)

   Get clone additionnal parameter n=0..3

int setCloneOptimizedOclusion(int clone,float mul)

   Ground clone additionnal optimization (mul=1.0)

int setCloneHeight(int clone,float h)

   -1: radius >0:value (usefull in water reflection)

int actualCloneDoNotDraw()

   Must be called in preshader warp

int isWhileDrawingReflection()

   Usefull in preshader warp

int isWhileDrawingAmbient()

   Usefull in preshader warp

int isWhileDrawingDayLight()

   Usefull in preshader warp

int isWhileDrawingLight()

   Usefull in preshader warp

int isWhileDrawingDynamicLight()

   Usefull in preshader warp

int isWhileDrawingDynamicLightSecondary()

   Usefull in preshader warp

int isWhileDrawingSpot()

   Usefull in preshader warp

int isWhileDrawingSpotMap()

   Usefull in preshader warp

int isWhileDrawingLightSecondary()

   Usefull in preshader warp

int getCloneWO(int clone)

   get clone value

int getCloneType(int clone)

   0:WOTree 1:WOMorph 3:ADDMorph 2:ADDED

int getCloneShader(int clone)

   get clone value

int getCloneShaderShadow(int clone)

   get clone value

int execCloneShaderFn(int clone)

   get clone value

int execCloneShaderShadowFn(int clone)

   get clone value

int getCloneVisible(int clone)

   get clone value

int getCloneVisibleCalc(int clone)

   get clone value

int getCloneTag(int clone)

   get clone value

int getCloneTagCalc(int clone)

   get clone value

int getClonePosition(int clone,vector v)

   get clone value

int getCloneRotation(int clone,vector v)

   get clone value

int getCloneScale(int clone,vector v)

   get clone value

int getCloneLight(int clone)

   get clone value

int getCloneKey1(int clone)

   get clone animation keys

int getCloneKey2(int clone)

   get clone animation keys

float getCloneInterpolate(int clone)

   get clone animation keys

int getActualCloneIndex()

   usefull in shader proc rendering

int getActualCloneCoo(vector res)

   usefull in shader proc rendering

int getActualCloneRot(vector res)

   usefull in shader proc rendering

int setCloneVSParam(int clone,float x,float y,float z,float w)

   parameter values in shader

int setClonePSParam(int clone,float x,float y,float z,float w)

   parameter values in shader

float getCloneVSParam(int clone,int p)

   parameter values in shader

float getClonePSParam(int clone,int p)

   parameter values in shader

int setClonePreShader(int clone,char *function_name)

   call to fn function before clone drawn

int setClonePreShaderShadows(int clone,char *function_name)

   function call for shadowing

int alterCloneWorldMatrix(matrix mul,matrix res)

   calculate alteration of matrix of actual clone(preshader)

int toggleDrawClones(int onoff)

   no clone draw for a scene

int toggleDrawClonesInShadows(int onoff)

   no clone draw for a scene

int toggleDrawClonesInShadowsFourty(int onoff)

   no clone draw for a scene

int setClonePivotEulers(int clone,int np,vector v)

   modify Eulers for Pivot in BONES TREE

int getClonePivotEulers(int clone,int np,vector v)

   modify Eulers for Pivot in BONES TREE

int addClonePivotEulers(int clone,int np,vector v)

   modify Eulers for Pivot in BONES TREE

int setClonePivotTranslate(int clone,int np,vector v)

   modify Translate for Pivot in BONES TREE

int getClonePivotTranslate(int clone,int np,vector v)

   modify Translate for Pivot in BONES TREE

int addClonePivotTranslate(int clone,int np,vector v)

   modify Translate for Pivot in BONES TREE

int resetSecondaryClones(int scn)

   secondary scene clone stuffs

int getSecondaryNumClones(int scn)

   secondary scene clone stuffs

int getSecondaryClonePosition(int scn,int clone,vector v)

   Get clone position

int getSecondaryCloneScale(int scn,int clone,vector v)

   Get clone position

int getSecondaryCloneRotation(int scn,int clone,vector v)

   Get clone position

int getSecondaryCloneKey1(int scn,int clone)

   get clone animation keys

int getSecondaryCloneKey2(int scn,int clone)

   get clone animation keys

float getSecondaryCloneInterpolate(int scn,int clone)

   get clone animation keys

int setSecondaryClonePosition(int scn,int clone,vector v)

   secondary scene clone stuffs

int setSecondaryCloneScale(int scn,int clone,vector v)

   secondary scene clone stuffs

int setSecondaryCloneRotation(int scn,int clone,vector v)

   secondary scene clone stuffs

int setSecondaryCloneAnim(int scn,int clone,int key1,int key2,float t)

   secondary scene clone stuffs

int setSecondaryCloneDrawEnviro(int scn,int clone,int on)

   secondary scene clone stuffs

int setSecondaryCloneShadow(int scn,int clone,int on)

   secondary scene clone stuffs

int setSecondaryCloneWO(int scn,int clone,int wo)

   secondary scene clone stuffs

int setSecondaryCloneWOAsMorph(int scn,int clone,int wo)

   secondary scene clone stuffs

int setSecondaryCloneWOAddedAsMorph(int scn,int clone,int add)

   secondary scene clone stuffs

int setSecondaryCloneWOAsAdditionnal(int scn,int clone,int add)

   secondary scene clone stuffs

int setSecondaryCloneShader(int scn,int wo,int ns,char *function_name)

   secondary scene clone stuffs

int setSecondaryCloneShaderShadowed(int scn,int wo,int ns,char *function_name)

   secondary scene clone stuffs



# SHADERS FUNCTIONS

int renderAddedToTexture(int wo,vector cam,vector tgt,char * buf,int w,int h,int bound)

   Create a texture buffer with a render of the additionnals (wo)



# SHADERS FUNCTIONS

64 shaders availables.

int createShader(int n,char *filename)

   Load a shader

int createShaderFromString(int n,char *script)

   Create a shader from string

int createShaderQuads(int n,char *filename)

   Load a shader for quad effects: [VERTEXFORMAT] XYZ DIFFUSE TEX0

int createShaderNormal(int n,char *filename)

   Load a shader for normal object: [VERTEXFORMAT] XYZ NORMAL TEX0

int createShaderMorph(int n,char *filename)

   Load a shader for morph object: [VERTEXFORMAT] MORPH

int createShaderTree(int n,char *filename)

   Load a shader for tree object: [VERTEXFORMAT] XYZ NORMAL BLEND TEX0

int createShaderQuads(int n,char *filename)

   Load a shader for quad effects: [VERTEXFORMAT] XYZ DIFFUSE TEX0

int createShaderFromStringQuads(int n,char *script)

   Load a shader for quad effects: [VERTEXFORMAT] XYZ DIFFUSE TEX0

int createShaderFromStringNormal(int n,char *script)

   Load a shader for normal object: [VERTEXFORMAT] XYZ NORMAL TEX0

int createShaderFromStringMorph(int n,char *script)

   Load a shader for morph object: [VERTEXFORMAT] MORPH

int createShaderFromStringTree(int n,char *script)

   Load a shader for tree object: [VERTEXFORMAT] XYZ NORMAL BLEND TEX0

int freeShader(int n)

   Free a shader

int setShaderReference(int ref,int shd)

   Replace built-in shader by shd

int restoreShaderReference(int ref)

   Restore built-in shader

int resetWorldShaderContext(int n)

   Context custom shader base

int resetAddedShaderContext(int n)

   Context custom shader base

int setShadowMapSizeVarName(char *name)

   Shadow Map Shader Var name filled with (size,1.0/size,0,0)

int getShadowMapOne()

   Size shadow map One

int getShadowMapFourty()

   Size shadow map Fourty

int setWorldVSParam(int wo,float x,float y,float z,float w)

   Context parameters

int setAddedVSParam(int wo,float x,float y,float z,float w)

   Context parameters

int setWorldPSParam(int wo,float x,float y,float z,float w)

   Context parameters

int setAddedPSParam(int wo,float x,float y,float z,float w)

   Context parameters

int setWorldShaderContextZBuffer(int wo,int shd)

   Context custom built-in shader

int setAddedShaderContextZBuffer(int wo,int shd)

   Context custom built-in shader

int setWorldShaderContextZBufferMapping(int wo,int shd)

   Context custom built-in shader

int setAddedShaderContextZBufferMapping(int wo,int shd)

   Context custom built-in shader

int setAddedShaderContextEdgesDG(int wo,int shd)

   Context custom built-in shader

int setWorldShaderContextAmbient(int wo,int shd)

   Context custom built-in shader

int setWorldShaderContextLight(int wo,int shd)

   Context custom built-in shader

int setWorldShaderContextDaylight(int wo,int shd)

   Context custom built-in shader

int setWorldShaderContextLightAndAmbient(int wo,int shd)

   Context custom built-in shader

int setWorldShaderContextLightShadowOne(int wo,int shd)

   Context custom built-in shader

int setWorldShaderContextLightShadowFourty(int wo,int shd)

   Context custom built-in shader

int setAddedShaderContextAmbient(int wo,int shd)

   Context custom built-in shader

int setAddedShaderContextLight(int wo,int shd)

   Context custom built-in shader

int setAddedShaderContextDaylight(int wo,int shd)

   Context custom built-in shader

int setAddedShaderContextLightAndAmbient(int wo,int shd)

   Context custom built-in shader

int setAddedShaderContextLightShadowOne(int wo,int shd)

   Context custom built-in shader

int setAddedShaderContextLightShadowFourty(int wo,int shd)

   Context custom built-in shader

int resetMaterialShaderContext(int wo)

   Context custom built-in shader

int setMaterialShaderContextAmbient(int wo,int shd)

   Context custom built-in shader

int setMaterialShaderContextLightSpotMapping(int wo,int shd)

   Context custom built-in shader

int setMaterialShaderContextLight(int wo,int shd)

   Context custom built-in shader

int setMaterialShaderContextDaylight(int wo,int shd)

   Context custom built-in shader

int setMaterialShaderContextLightAndAmbient(int wo,int shd)

   Context custom built-in shader

int setMaterialShaderContextLightShadowOne(int wo,int shd)

   Context custom built-in shader

int setMaterialShaderContextLightShadowFourty(int wo,int shd)

   Context custom built-in shader

int setMaterialShaderContextLightShadowSpotlight(int wo,int shd)

   Context custom built-in shader

int setMaterialShaderContextLightShadowSpot(int wo,int shd)

   Context custom built-in shader

int setMaterialShaderContextZBuffer(int m,int shd)

int setMaterialShaderContextEdgesDG(int m,int shd)

int setMaterialShaderContextZBufferMapping(int m,int shd)

int setShaderTexture(int n,char * name,int nt)

   Set shader texture

int setVertexShaderTexture(int n,char * name,int nt)

   Set shader texture (for vertex processing)

int setFloat(int n,char * name,float f)

   Set shader parameter

int setVector(int n,char *name,vector v)

   Set shader parameter

int setVectorXYZ(int n,char *name,float x,float y,float z)

   Set shader parameter

int setVectorXYZW(int n,char *name,float x,float y,float z,float w)

   Set shader parameter

int activatePublicVariables(int onoff)

   Set to public variable ON/OFF

int setPublicInt(char * name)

   Set global variable (public)

int setPublicFloat(char * name)

   Set global variable (public)

int setPublicVector(char * name)

   Set global variable (public)

int setFloatPublic(int n,char * name,float f)

   Set shader parameter (public)

int setVectorPublic(int n,char *name,vector v)

   Set shader parameter (public)

int setVectorXYZPublic(int n,char *name,float x,float y,float z)

   Set shader parameter (public)

int setVectorXYZWPublic(int n,char *name,float x,float y,float z,float w)

   Set shader parameter (public)

int setMatrix(int n,char *name,matrix m)

   Set shader parameter

int setArrayVector(int n,char *name,int index,vector v)

   Set shader parameter

int setArrayMatrix(int n,char *name,int index,vector v)

   Set shader parameter

int setProjection()

   Draw normal projection

int setDynamicLightParams(int ns,vector pos,vector color,float attenuation,float range)

   "Light", "Color", "Attenuation", "Range" for shader ns

int setDynamicLightParamsNames(int ns,char * slight,vector pos,char * scol,vector color,char * satt,float att,char * srange,float range)

   "Light", "Color", "Attenuation", "Range" for shader ns

int setProjectionXY(int w,int h)

   Draw projection

int setOrthoProjection(float w,float h)

   Draw orthographic projection

int setWorldViewProj(int n,char *name)

   Set shader parameter

int setWorld(int n,char *name)

   Set shader parameter

int setViewProj(int n,char *name)

   Set shader parameter

int setViewProjTex(int n,char *name)

   Set shader parameter

int setAssociation(int n,char *name,int affect)

   TEXTURE_NT,TEXTURE_NT2,TEXTURE_NL,TEXTURE_NLV,TEXTURE_BUMP,TEXTURE_0,TEXTURE_1,TEXTURE_2,TEXTURE_3

int setNewAssociation(int n)

   Reset association

int setCloneShader(int wo,int ns,pointer *function)

   Shaders are associated with inscript function to set parameters

int setClonePolling(int wo,char *function_name)

   Function execution before Drawing Call

   Shaders are associated with inscript function to set parameters

int setCloneShaderShadowed(int wo,int ns,pointer *function)

   Shaders comes by two : draw lighting and shadowing

int setView(int n,char *name)

   Shaders matrix

int setInverseView(int n,char *name)

   Shaders matrix

int setInverseViewProj(int n,char *name)

   Shaders matrix

int setViewport(int n,char *name)

   Shaders matrix

int setAspect(int n,char *name)

   Shaders aspect vector

int setReflection(int n,char *name)

   Shaders matrix

int setProcessReflection(int n,char *name)

   Shaders matrix

int setOrthoProj(int n,char *name)

   Shaders quad projection matrix

int getView(matrix m)

   main matrix

int getProjection(matrix m)

   main matrix

int getViewport(matrix m)

   main matrix

int setCameraTarget(vector c,vector t,float roll)

   Camera Matrix from values

int getMatrixCameraTarget(vector c,vector t,float roll,matrix m)

   Camera Matrix from values

int setCameraTargetView()

   Default camera values



# PARALLELS

Generally procedures for network synchros, parallels can not be used for all GPU materials.

OPEN() and other functions blocks any dynamic exchanges between tabs.

int join()

   return 1 when all parallels are done

Example:


    parallel set()
    {
        playSound(start,OFF);
        calculate_stuffs();
    }

    void OPEN()
    {
        set();      // initialize a thread with set() function
        
        main_initialize_proc();
    }
    
    void LOOP()
    {
        if (join()) // wait all parallels are done
        {
            play();
        }
    }



# MISC SHADERS FUNCTIONS

int getScreenX();

   Window's width

int getScreenY();

   Window's height

int getScreenWidth()

   Full window's width

int getScreenHeight()

   Full window's height

int renderVRGetWidth()

   VR single eye window's width (0 if non VR)

int renderVRGetHeight()

   VR single eye window's height (0 if non VR)

int getSurfaceSize(int surf)

   Surface (SECONDARY[x]) size

float getScreenInches()

   Screen physical size

float getScreenDPI()

   Screen physical pixel per inches

float getDesktopScale()

   Desktop window's scale

float getScreenScale()

   Screen window's scale

float getQ()

   Value far/(far-near)

int activateFourtyProbe(int snd)

   Probe calculation without shadows rendering

int setAmbient(vector ambient)

   RGB is XYZ values

int setAmbientSecond(vector ambient)

   RGB is XYZ values

int setUnderwaterColor(vector color)

   RGB is XYZ values

int setDayLightColor(vector color)

   RGB is XYZ values

int setDayLightVector(vector vect)

   One directionnal vector

int getCameraV(vector camera)

   Get camera vector

int getTargetV(vector target)

   Get target vector

int getAmbient(vector ambient)

   RGB is XYZ values

int getAmbientSecond(vector ambient)

   RGB is XYZ values

int getLightCloser(vector v)

   Index of light from v

int getSecondLightCloser(vector v)

   Index of light from v

int getCamera(vector camera)

   Set camera to camera position

int getTarget(vector target)

   Set target to target position

int getNumberLights()

   NB of lights

int getBSPDayLight(vector position)

   Return 1 if lighted

int getBSPLight(int nl,vector position)

   return 1 if lighted

int getLightColor(int NL,vector color)

   RGB is XYZ values

int getLightPosition(int nl,vector position)

   NL number of the light

float getLightAttenuation(int nl)

   Attenuation value

float getLightRange(int nl)

   Range value

int setLightColor(int nl,vector color)

   RGB is XYZ values

int setLightPosition(int nl,vector position)

   NL number of the light

int setLightAttenuation(int nl,float att)

   Attenuation value

int setLightRange(int nl,float range)

   Range value

int getMatrixWorld(matrix m)

   get WORLD matrix

int getWOInsider(vector v)

   Inside which WorldObject

int getWOStatus(int wo)

   Get worldobject type: 0:EMPTY,1:PLAIN,2:EXTERIOR

int getLightWorld(int wld,int nl)

   Get world closer 3 lights

int getLightAdded(int add,int nl)

   Get added closer 3 lights

int setLight(int nl,vector position,vector color,float att)

   Set up light

int getUnderwaterColor(vector color)

   RGB Vector

int getDayLightColor(vector color)

   RGB Vector

int getDayLightVector(vector vect)

   Vector

int drawLight(vector position,vector color,float att,int shadows)

   Draw special effect of lighting, usefull in Post rendering

int drawLightWithRange(vector position,vector color,float att,float range,int shadows)

   Draw special effect of lighting, usefull in Post rendering

int setFallOffDynamicLight(float fall)

   fall off, base:0.042

int setVarsLights(int onoff,float x,float z)

   own vars, base:0.0025 0.00025

int drawSpotLight(vector pos,vector color,float att,vector dir,int shd)

   Draw special effect of lighting, usefull in Post rendering

int drawSpotLightWithRange(vector pos,vector color,float att,float range,vector dir,int shd)

   Draw special effect of lighting, usefull in Post rendering

int drawSpotMap(vector pos,vector color,float att,vector dir,int nt,int shd)

   Draw special effect of lighting, usefull in Post rendering

int drawSpotMapWithRange(vector pos,vector color,float att,float range,vector dir,int nt,int shd)

   Draw special effect of lighting, usefull in Post rendering

int lightDrawThresold(float koef)

   Thresold for discriminate lighting, default:s 3.5

int drawEnviro(int depth,vector pos)

   Render fake envmap, returns the texture index

int setTextureEnviro(int stage)

   Set calculated envmap to texture

int setEnviroPrecalc(int nt)

   GLASS object parameters (-1 for processing)

int drawEachEnviro(int onoff)

   GLASS object parameters: ON for relative processing, OFF for precalculations

int isDynamicLight(int n)

   Return 1 if the added object has light script

int getDynamicLightWorldPosition(int n,vector v)

   World position of the light

float getDynamicLightAttenuation(int n)

   Attenuation value

int getDynamicLightPosition(int n,vetor v)

   Relative position of the light

int getDynamicLightColor(int n,vector v)

   v.xyz color of the light

int setDynamicLight(int n,vector pos,vector color,float att)

   Set up light

int isSecondDynamicLight(int n)

   Return 1 if the added object has light script

int getSecondDynamicLightWorldPosition(int n,vector v)

   World position of the light

float getSecondDynamicLightAttenuation(int n)

   Attenuation value

int getSecondDynamicLightPosition(int n,vetor v)

   Relative position of the light

int getSecondDynamicLightColor(int n,vector v)

   v.xyz color of the light

int setSecondDynamicLight(int n,vector pos,vector color,float att)

   Set up light

int getWOByName(char * name)

   Get index of WO by name

int getWOByNameNext(char * name)

   Get next index of WO by name

int getWOAddedByName(char * name)

   Get index of WO by name

int getWOAddedByNameNext(char * name)

   Get next index of WO by name

int checkWOAddedName(int wo,char * name)

   Compare strings of names

int checkMatchWOAddedName(int wo,char * name)

   Compare strings of names

int getWOAddedName(int wo,char * s)

   Get string



# SIMPLE FUNCTIONS

int isAddedImpostor(int add)

   return -1 if not, added index else

int isAddedMorph(int add)

   return 0 if not, number of keys else

int isAddedInsideAdded(int add1,int add2)

   Test inclusion

int isAddedInsideWorld(int add,int wld)

   Test inclusion

int isWorldInsideAdded(int wld,int add)

   Test inclusion

int isWorldInsideWorld(int wld1,int wld2)

   Test inclusion

int disableUnlightedAddedVisible()

   Setting visibility tag

int sameShaderForLOD(int onoff)

   Default: true

int isDeadDeerEditor()

   returns 1 if editor 0 if player



# INTERACTIONS FUNCTIONS

int isAddedVisible(int n)

   Get toggle visibility

int toggleAddedAnim(int n,int on)

   Set toggle animation

int toggleWorldAnim(int n,int on)

   Set toggle animation

int groupWorldVisible(int group,int vs)

   Set group visibility

int groupAddedVisible(int group,int vs)

   Set group visibility

int setSceneID(int group)

   Set group id (1..4)

int getSceneID()

   Get group id (1..4)

int isMouseOnAdded(int n)

   Interaction with mouse

int focus(int n)

   Set camera view

int focusAdded(int n)

   Set camera view

int focusClone(int n)

   Set camera view

int followClone(float x,float y,float z)

   Set camera view

int focusXYZ(float x,float y,float z)

   Set camera view

int setXYDep(int xdep,int ydep)

   Set camera view

int setZoom(float zoom)

   Set camera view

int getXCamera()

   Get camera view

int getYCamera()

   Get camera view

float getZoomCamera()

   Get camera view

int camera(int xdep,int ydep,int zoom)

   Set camera view

int cameraPosition(float theta,float phi,float zoom,float roll)

   Set camera view

int cameraAdded(int n)

   Set camera view

int targetAdded(int n)

   Set camera view

int mouseButton(int n)

   n=0 or n=1 or -1/WHEEL

int mouseButtonDoubleClic()

   double clic

int mouseWheel()

   Mouse wheel without reset

int mouseCenter()

   Usefull for fps, fixes the mouse on the center

int xMouse()

   X screen position of the mouse

int yMouse()

   Y screen position of the mouse

int number()

   A number key pressed

int alphaNum()

   'A'..'Z' '0'..'9' key pressed

int keyState(int num)

   num key state

int Pad(int key)

   KEY_START,KEY_END,KEY_MID,LEFT,RIGHT,UP,DOWN,SPACE,RETURN,INSERT,BACK,HOME,DELETE,END,PAGEUP,PAGEDOWN,TAB

int unPad(int key)

   num key up

int keyboardGet(int key)

   0,1 for key

int keyboardSet(int key,int value)

   0,1 for key

int isKeyDown()

   Keypressed

int isKeyEdit()

   Keypressed is conventionnal text

int keyRelease()

   Clear up/down state

int toggleVirtualKeyboard(int onoff)

   Specific

int doVirtualKeyboard(int onoff)

   Specific

int activateAnimation(int toggle)

   Animation (actual scene)

int globalAnimationCoo(float x,float y,float z)

   Animation (actual scene)

int globalAnimationRot(float x,float y,float z)

   Animation (actual scene)

int interpolationAnimWorldObject(int wo,int k1,int k2,float t)

   Animate (actual scene) wo with params

int interpolationAnimWorldObjectAdded(int add,int k1,int k2,float t)

   Animate (actual scene) add with params

int interpolationAnimCamera(int k1,int k2,float t)

   Animate (actual scene) camera with params

int positionAnimWorldObject(int wo,int key,vector res)

   Actual scene infos

int positionAnimWorldObjectAdded(int add,int key,vector res)

   Actual scene infos

int rotationAnimWorldObject(int wo,int key,vector res)

   Actual scene infos

int rotationAnimWorldObjectAdded(int add,int key,vector res)

   Actual scene infos

int orientationAnimWorldObjectAdded(int add,int key,vector res)

   Actual scene infos

int positionMatrixAnimWorldObject(int wo,int key,vector res)

   Actual scene infos

int positionMatrixAnimWorldObjectAdded(int add,int key,vector res)

   Actual scene infos

int orientationMatrixAnimWorldObject(int wo,int key,vector res)

   Actual scene infos

int orientationMatrixAnimWorldObjectAdded(int add,int key,vector res)

   Actual scene infos

int toggleInteractions(int state)

   Interaction function

int stopAnim()

   Animation control

int setAnimSpeed(float speed)

   Animation control



# MEMORY FUNCTIONS

int getVariableIndex(char *name)

   Get variable pointer

int getVariableGlobaleIndex(char *name)

   Get variable pointer

int setMemi(int nvar,int offset,int value,int nb)

   Set array values

int setMemf(int nvar,int offset,float value,int nb)

   Set array values

int setgMemi(int nvar,int offset,int value,int nb)

   Set array values

int setgMemf(int nvar,int offset,float value,int nb)

   Set array values

int copyMemi(int nvar1,int offset1,int nvar2,int offset2,int nb)

   Move array values

int copyMemf(int nvar1,int offset1,int nvar2,int offset2,int nb)

   Move array values

int copygMemi(int nvar1,int offset1,int nvar2,int offset2,int nb)

   Move array values

int copygMemf(int nvar1,int offset1,int nvar2,int offset2,int nb)

   Move array values

int getPtr(char *name)

   Get variable pointer

int setMemoryi(int nvar,int offset,int value,int nb)

   Set array values

int setMemoryf(int nvar,int offset,float value,int nb)

   Set array values

int copyMemory(int nvar1,int offset1,int nvar2,int offset2,int nb)

   Move array values



# GOOGLE VR & VR FUNCTIONS

int isVR()

   Return 1 if VR running

int isGoogleVR()

   Return 1 if Android GoogleVR

int setVRSingleEyeDraw(char *funcname)

   Render for stereo VR Android GoogleVR

int quadZBUFFER(int dest,int x,int y,int w,int h,int src,int fromx,int fromy,int fromw,int fromh)

   Copy Depth buffer : usefull for Render to Texture with VR



# SPECIAL VR FUNCTIONS

int toggleDrawVRHands(int draw)

   VR hands, returns 1 if hand are available

int setVRScaling(float sc)

   VR scene scaling

int setVRHandsScaling(float sc)

   VR scene hand scaling

int getVRHandsPosition(int hand,int finger,vector pos)

   hand:0..1 L-R, finger: 0:index 1:thumb 2:palm 3:base index

int getVRHandsInfos(int hand,int finger)

   VR hand:0..1, 0..2:trigger,pad,grip

int getVRHandMatrix(int hand,matrix m)

   VR hand:0..1

int getVRHandMatrixOrientation(int hand,matrix m)

   VR hand:0..1

int getVRHandEulers(int hand,vector v)

   VR hand:0..1



# CATEGORY FUNCTIONS

int isiOSorAndroid()

   Return 1 if GL ES 2.0 layer (Android/iOS)

int isMacOSX()

   Return 1 if it's a MacOSX platform

int isWindows()

   Return 1 if it's a Windows platform

int isGLES30()

   Return 1 if GL ES 3.0 layer available

int setGLES30HighPrecision(int toggle)

   ON for highp precision shaders



# FILE FUNCTIONS

int fileOpen(char *fname,int rw)

   FILE function, return -1 if error

int fileOpenPath(char *fname,int rw)

   FILE function full path file, return -1 if error

int fileClose(int file)

   FILE function: closing handle

int fileExists(char *fname)

   return size of the file if file exists else -1

int fileRead(int file,char * var)

   FILE function var name

int fileWrite(int file,char * var)

   FILE function var name

int fileGetS(int file,char * var)

   FILE function var name(string) read until '\n'

int fileScan(int file,char * var)

   FILE function var name(string) read until '\n' and ' '

int fileSeek(int file,int pos)

   FILE function

int fileSize(int file)

   FILE function

int blockRead(int file,char * var,int size)

   FILE function var name

int blockWrite(int file,char * var,int size)

   FILE function var name

int fileReadClonesData(int file)

   FILE function clones data

int fileWriteClonesData(int file)

   FILE function clones data

int fileReadMachineState(int file)

   FILE function global vars

int fileWriteMachineState(int file)

   FILE function global vars

int filenameRelative(char * _fname)

   string function returns local filename from path

int filenameExtension(char * _fname,char * _ext)

   string function complete path with extension

int temporaryFilename(char *dest,char *src)

   convert src to full path in temporary folder

# FONTS 3D

int setFont3DText(char * namefont)

   Set font face

int gen3DText(char * str,int nt,int env,int border,int frontlen,int bonderlen,int strength,int details,float scale)

   Generate 3D font text

int gen3DTextToAdded(char * str,int nt,int env,int border,int frontlen,int bonderlen,int strength,int details,float scale)

   Generate added object from a 3D font



# OBJECT POSITION FUNCTIONS

int drawAddedSetWO(int wo)

   Select wo added

int drawAddedSetWOTree(int wo)

   Select wo added

int drawAddedSetWOEdges(int wo)

   Each added objects are given with degenerated edges, basically; here closed

int drawAddedSetWOEdgesSimple(int wo)

   Each added objects are given with degenerated edges, basically

int drawAddedSetVolum()

   Set buffers to draw of volums

int drawAddedSetMetaball()

   Set buffers to draw of metaballs

int drawAddedSet3DText()

   Set buffers to draw generated 3d text

int drawAddedSet3DTextEdges(int full)

   Set buffers to draw generated 3d text edges

int drawCreateVertexBufferDiffuse(int n)

   Create VertexBuffer diffuse

int drawFreeVertexBufferDiffuse(int n)

   Free VertexBuffer diffuse

int drawAddedSetDiffuseWO(int n)

   set Diffuse VertexBuffer option

int drawAddedIsMorph(int wo)

   Return nkeys or -1

int drawAddedIsEnvMapping(int wo)

   Return 1 if env mapping

int drawAddedIsGlass(int wo)

   Return 1 if glass

int drawWorldIsMorph(int wo)

   Return nkeys or -1

int drawWorldIsTree(int wo)

   Return 1 if tree

int drawAddedSetPosition(float x,float y,float z)

   Set actual object instance position

int drawAddedSetPositionV(vector v)

   Set actual object instance position

int drawAddedSetScale(float x,float y,float z)

   Set actual object instance scale

int drawAddedSetScaleV(vector v)

   Set actual object instance scale

int drawAddedSetRotation(float x,float y,float z)

   Set actual object instance rotation

int drawAddedSetRotationV(vector v)

   Set actual object instance rotation

int drawAddedSetMatrix(char *matrix)

   Set actual object instance matrix

int drawAddedCalculateMatrix()

   Set actual object instance matrix

int drawAddedCalculateMatrixSecondary(matrix m)

   Set actual object instance matrix

int drawAddedAnimMatrix(int add)

   Set actual object instance matrix

int drawAddedPropMatrix(int prop)

   Set actual object instance matrix

int drawAddedSetShader(int ns,char *function)

   Set actual object instance shader

int drawAddedDraw()

   Draw selected added object

int drawAddedDrawShadows(int nlight)

   Draw selected added object

int drawAddedInterpolateKeys(int key1,int key2,float t)

   Animation morph values

float drawAddedGetInterpolant()

   Animation morph interpolant (usefull in shader proc)

int drawWorldSetWO(int wo)

   Select wo world

int drawWorldSetPosition(float x,float y,float z)

   Set actual object instance position

int drawWorldSetPositionV(vector v)

   Set actual object instance position

int drawWorldSetScale(float x,float y,float z)

   Set actual object instance scale

int drawWorldSetScaleV(vector v)

   Set actual object instance scale

int drawWorldSetRotation(float x,float y,float z)

   Set actual object instance rotation

int drawWorldSetRotationV(vector v)

   Set actual object instance rotation

int drawWorldSetMatrix(char *matrix)

   Set actual object instance matrix

int drawWorldCalculateMatrix()

   Set actual object instance matrix

int drawWorldAnimMatrix(int add)

   Set actual object instance matrix

int drawWorldPropMatrix(int prop)

   Set actual object instance matrix

int drawWorldSetShader(int ns,char *function)

   Set actual object instance shader

int drawWorldDraw()

   Draw selected world object

int drawTreeSetWO(int wo)

   Tree bones and links object

int drawTreeSetPosition(float x,float y,float z)

   Set actual object instance position

int drawTreeSetPositionV(vector v)

   Set actual object instance position

int drawTreeSetScale(float x,float y,float z)

   Set actual object instance scale

int drawTreeSetScaleV(vector v)

   Set actual object instance scale

int drawTreeSetRotation(float x,float y,float z)

   Set actual object instance rotation

int drawTreeSetRotationV(vector v)

   Set actual object instance rotation

int drawTreeSetMatrix(matrix m)

   Set actual object instance matrix

int drawTreeCalculateMatrix()

   Set actual object instance matrix

int drawTreePropMatrix(int prop)

   Set actual object instance matrix

int drawTreeAnimMatrix(int add)

   Set actual object instance matrix

int drawTreeSetShader(int ns,char *function)

   Set actual object instance shader

int drawTreeDraw()

   Draw

int drawTreeInterpolateKeys(int key1,int key2,float t)

   Animation keys

int drawTreeInterpolateKeysName(char *namevar,int key1,int key2,float t)

   Animation keys

int drawTreeSetEulers(int np,vector v)

   modify Eulers for Pivot in BONES TREE

int drawTreeGetEulers(int np,vector v)

   modify Eulers for Pivot in BONES TREE

int drawTreeAddEulers(int np,vector v)

   modify Eulers for Pivot in BONES TREE

int drawTreeSetTranslate(int np,vector v)

   modify Translation for Pivot in BONES TREE

int drawTreeGetTranslate(int np,vector v)

   modify Translation for Pivot in BONES TREE

int drawTreeAddTranslate(int np,vector v)

   modify Translation for Pivot in BONES TREE

int drawTreeOwnerMatrix(char * sfn)

   ->"void mat_proc(int Iter,int Num,matrix Mat)" Mat is the data to set

int drawCloneSetWO(int wo)

   cloning

int drawCloneGetType()

   cloning get type (0:tree 1:world morph 2: added simple 3:added morph)

int drawCloneEdgesSetWO(int wo)

   cloning

int drawSecondaryCloneSetWO(int scn,int wo)

   cloning

int drawSecondaryCloneEdgesSetWO(int scn,int wo)

   cloning

int drawCLoneDraw()

   cloning

int drawCloneCalculateMatrix()

   cloning

int drawCloneSetShader(int ns,char *function)

   cloning

int drawSecondaryAddedSetWO(int scn,int wo)

   cadded secondary

int drawSecondaryAddedEdgesSetWO(int scn,int wo)

   added secondary

int getPositionAnimAdded(int add,vector v)

   Quick value get

int getRotationAnimAdded(int add,vector v)

   Quick value get

int getMatrixAnimAdded(int add,matrix m)

   Quick value get



# OBJECT TREE BONES FUNCTIONS

int drawTreeGetPositionPivotBone(int pivot,vector p)

   Return position "p"

int drawTreeGetRotationPivotBone(int pivot,vector p)

   Return eulers "p"

int getPositionPivotBonesObjTree(int tree,int pivot,int key1,int key2,float t,vector p)

   Return position "p"

int getRotationEulersPivotBonesObjTree(int tree,int pivot,int key1,int key2,float t,vector p)

   Return eulers "p"

int getClonePositionPivotBone(int clone,int pivot,vector p)

   Return position "p"

int getCloneRotationPivotBone(int clone,int pivot,vector p)

   Return eulers "p"



# OBJECT POSITION FUNCTIONS

int inside(float x,float y,float z)

   Return the index of inside WO

int distanceTo(int wo,float x,float y,float z,float dx,float dy,float dz)

   Distance to WO

int placeObjectOn(int wo,int object,float dist)

   Set position values

int placeAddedOn(int wo,int object,float dist)

   Set position values

float radius(int n)

   Return radius

float radiusAdded(int n)

   Return radius

int textureBetween(int wo,float x,float y,float z,float dx,float dy,float dz)

   Return nT field ot intersection

int isColliding(int wo,float x,float y,float z,float dx,float dy,float dz)

   Intersection

int getI(int n,vector v)

   point intersection

int getIAdded(int n,vector v)

   point intersection

int getNormalI(int n,vector v)

   point intersection normal

int getNormalIAdded(int n,vector v)

   point intersection normal

float getIX(int wo)

   X point intersection

float getIY(int wo)

   Y point intersection

float getIZ(int wo)

   Z point intersection

float getIXAdded(int n)

   X point intersection

float getIYAdded(int n)

   Y point intersection

float getIZAdded(int n)

   Z point intersection

int getMappingInfos(int wo)

   loading intersection infos

int getMappingInfosAdded(int add)

   loading intersection infos

int getValueMIR()

   loading intersection color

int getValueMIG()

   loading intersection color

int getValueMIB()

   loading intersection color

int getValueMIA()

   loading intersection color

int getValueMIColor(vector rgb)

   loading intersection color

float getValueMIAlpha()

   loading intersection color

int getValueMICoord(vector map)

   loading intersection mapping coord

int insideCube(vector p,vector O,float lx,float ly,float lz)

   test if v inside cube

int insideCylinder(vector p,vector O,float R)

   test if v inside prop (vertical cylinder)

int insideCylinderAxe(vector p,vector O,vector axe,float R)

   test if v inside cylinder

int insideSphere(vector p,vector O,float R)

   test if v inside sphere

int isAddedVisible(int add)

   Get info

int isWorldVisible(int wo)

   Get info

int isAddedAnimated(int add)

   Get info

int isWorldAnimated(int wo)

   Get info

int zfar(float z)

   ZFAR clipping parameter

int zfarGlow(float z)

   ZFAR clipping parameter when GLOW process

int zfarShadows(float z)

   ZFAR clipping parameter to discard shadowing

int zfarLOD(float pc)

   ZFAR clipping parameter to discard shadowing

int zfarWaterDiv(float div)

   default 1.5: higher value to cut off

int shadowsLOD(int onoff)

   LOD for shadows (exterior)

int shadowsInteriorLOD(int onoff)

   LOD for shadows (interior)

int shadowMappingWide(float z)

   shadow mappping clipping parameter

int visibleLightsGetNb()

   camera visible lights, returns nb

int visibleLightsGetIndex(int n)

   camera visible lights

int visibleLightsCalculate()

   camera visible lights, returns nb



# SECONARY SCENE FUNCTIONS

int secondarySceneDeferring(int scn)

   process deferring secondary, return 1 while processing

int sceneDeferring()

   process deferring actual scene, return 1 while processing

int fullSceneDeferring()

   process deferring all scene, return 1 while processing

int sceneLoadActivateDeferring(int onoff)

   ON/OFF activate deferring on scene load

int secondarySceneSetInt(int n,int value)

   1024 type shared variables

int secondarySceneSetFloat(int n,float value)

   1024 type shared variables

int secondarySceneSetVector(int n,vector value)

   1024 type shared variables

int secondarySceneSetMatrix(int n,matix value)

   1024 type shared variables

int secondarySceneGetInt(int n)

   1024 type shared variables

float secondarySceneGetFloat(int n)

   1024 type shared variables

int secondarySceneGetVector(int n,vector value)

   1024 type shared variables

int secondarySceneGetMatrix(int n,matrix value)

   1024 type shared variables

int secondarySceneOPEN(int scn)

   secondary scene main procs

int secondarySceneLOOP(int scn)

   secondary scene main procs

int secondarySceneCLOSE(int scn)

   secondary scene main procs

int secondarySceneToggleLights(int scn,int onoff)

   secondary scene draw dynamic ligths inside

int secondarySceneToggleFixedLights(int scn,int onoff)

   secondary scene draw ligths inside

int secondarySceneAddedSleep(int scn)

   secondary scene sleep/awake unusefull object data

int secondarySceneAddedAwake(int scn)

   secondary scene sleep/awake unusefull object data

int secondarySceneWorldSleep(int scn)

   secondary scene sleep/awake unusefull object data

int secondarySceneWorldAwake(int scn)

   secondary scene sleep/awake unusefull object data

int secondarySceneLOOPNoCamera(int scn)

   secondary scene main procs (no camera modification)

int secondarySceneLoad(int scn,char * name)

   secondary scene loading

int secondarySceneLoadSharedTextures(int scn,char * name)

   secondary scene loading

int secondarySceneLoadSharedTexturesAndObjects(int scn,char * name)

   secondary scene loading with sharing of primary textures and objects

int secondarySceneDuplicate(int new,int scn)

   set secondary scene duplicate links

int secondarySceneLoadFromScript(int scn,char * fname,int script)

   set secondary scene modulated by the 4 scripts

int secondarySceneLoadSharedTexturesFromScript(int scn,char * fname,int script)

   set secondary scene textures shared modulated by the 4 scripts

int secondarySceneFromScript(int scn,int script)

   secondary scene loading with sharing of primary textures and objects

int secondarySceneLoadFromString(int scn,char * fname,char * script)

   set secondary scene modulated by script

int secondarySceneLoadSharedTexturesFromString(int scn,char * fname,char * script)

   set secondary scene textures shared modulated by script

int secondarySceneFromString(int scn,char* script)

   secondary scene loading with sharing of primary textures and objects

int secondarySceneLoadAsClass(int scn,char *fname)

   set secondary scene for method class

int secondarySceneClassFromScript(int scn,int script)

   set secondary scene for method class

int secondarySceneClassFromString(int scn,char * script)

   set secondary scene for method class

int secondarySceneUnloadClass(int scn)

   unload secondary scene for method class

int secondaryGetSceneIndex()

   get secondary scene index (-1 for main scene)

int secondarySceneSwitchParent()

   get main scene context

int secondarySceneSwitchBack()

   get secondary scene context

int secondarySceneDraw(int scn)

   secondary scene accessory rendering

int secondarySceneDrawLight(int scn,vector position,vector color,float att,int shadows)

   secondary scene accessory rendering

int secondarySceneDrawLightRange(int scn,vector position,vector color,float att,float range,int shadows)

   secondary scene accessory rendering

int secondarySceneDrawSpotLight(int scn,vector position,vector color,vector dir,float att,int shadows)

   secondary scene accessory rendering

int secondarySceneDrawSpotLightRange(int scn,vector position,vector color,vector dir,float att,float range,int shadows)

   secondary scene accessory rendering

int secondarySceneDrawSpotMap(int scn,vector position,vector color,vector dir,float att,int nt,int shadows)

   secondary scene accessory rendering

int secondarySceneDrawSpotMapRange(int scn,vector position,vector color,vector dir,float att,float range,int nt,int shadows)

   secondary scene accessory rendering

int secondarySceneRegister(int scn)

   secondary scene register in main scene

int secondarySceneUnregister(int scn)

   secondary scene unregister

int secondarySceneRegisterAsMain(int scn)

   secondary scene register in main scene

int secondarySceneUnregisterAsMain(int scn)

   secondary scene unregister

int secondarySceneDelete(int scn)

   secondary scene unregister

int secondarySceneFree(int scn)

   secondary scene main data release

int secondaryScenePush(int scn)

   secondary scene main data access

int secondaryScenePop(int scn)

   secondary scene main data access

int secondarySceneSetTranslation(int scn,float x,float y,float z)

   secondary scene main transformations

int secondarySceneSetRotation(int scn,float rx,float ry,float rz)

   secondary scene main transformations

int secondarySceneSetMatrix(int scn,matrix m)

   secondary scene main transformations

int secondarySceneGetTranslation(vector coo)

   secondary scene main transformations

int secondarySceneGetRotation(vector rot)

   secondary scene main transformations

int secondarySceneGetMatrix(matrix m)

   secondary scene main transformations

int secondarySceneActualTextures(int onoff)

   secondary scene textures bank

int secondarySceneActual()

   actual secondary scene id

int secondarySceneExecute(int scn,char *fn)

   secondary scene method: scn,function_name

int secondarySceneExecuteMethod(int sc,char *fn,...)

   secondary scene method: scn,function_name,...

float secondarySceneExecuteMethodFloat(int sc,char *fn,...)

   secondary scene method: scn,function_name,...



# NED, LINK, SCENE FUNCTIONS

int executeNED(char *fname)

   Runs another NED file

int setExecuteNED(char *name)

   Set function for another NED file loading

int cmpExecuteNED(char *str)

   cmp string for another NED file loading

int isBaseNED()

   gives if actual NED is starting point (usefull for secondaries)

int stopNED()

   Stop NED file

int getNameNED(char *s)

   Get name of NED file running

int getNamePreviousNED(char *s)

   Get name of previous NED file running

int restartEnable(int toggle)

   Enable or Disable restarting action

int SceneClean(int wo,int woadd,int veg,int textures,int light)

   Clean

int GenScriptClean()

   Scene create

int GenScriptAdd(char *op)

   Scene create

int GenScriptDo()

   Scene create

int backupSceneData()

   Scene data save

int restoreSceneData()

   Scene data load

int cleanSceneData()

   Scene data clean

int createVertexBufferAdded(int n)

   Scene vertex buffer for added

int setAddedEnvTexture(int add,int nt)

   Set props

int setAddedGlass(int add)

   Set props

int setAddedEnvMapping(int add)

   Set props

int setAddedBasic(int add)

   Set props

int setAddedSecondary(int add,int status)

   Status = EMPTY:0 PLAIN:1 EXTERIOR:2

int getAddedBounds(int add,vector mini,vector maxi)

   fill mini and maxi

int duplicateAdded(int add,int prop)

   Duplicate added with props, returns index of the object -> 0:box 123:cyl 4:sphere 5:mesh 6:fullmesh

int impostorAdded(int add,vector pos,vector rot)

   Duplicate added by impostor, returns index of the object

int setAddedTag(int add,int prop)

   Set added props (0:box 123:cyl 4:sphere 5:mesh 6:fullmesh

int setAddedLinkCollision(int add,int link)

   Set added prop to collision or not

int boundingsWorld(int wo,vector mini,vector maxi,vector bound)

   misc bounds stuff

int boundingsWorldCalc(int wo,vector mini,vector maxi,vector bound)

   misc bounds stuff

int boundingsAdded(int wo,vector mini,vector maxi,vector bound)

   misc bounds stuff

int boundingsAddedCalc(int wo,vector mini,vector maxi,vector bound)

   misc bounds stuff



# VERTEX BUFFER FUNCTIONS

int VBlock(int n)

   Access to VBO

int VBunlock()

   Acces to VBO

int setVertex(int nv,vector v)

   Access to VBO

int setNormal(int nv,vector n)

   Access to VBO

int setTexCoo(int nv,float x,float y)

   Access to VBO

int VIlock(int n)

   Access to VBO

int VIunlock()

   Access to VBO

int setIndices(int nf,int v0,int v1,int v2)

   Access to VBO



# ACCESS FUNCTIONS

Acting on the euler transformation of objects

float getX(int n)

   Access to world object value

float getY(int n)

   Access to world object value

float getZ(int n)

   Access to world object value

float getRX(int n)

   Access to world object value

float getRY(int n)

   Access to world object value

float getRZ(int n)

   Access to world object value

float getAddX(int n)

   Access to added object value

float getAddY(int n)

   Access to added object value

float getAddZ(int n)

   Access to added object value

float getAddRX(int n)

   Access to added object value

float getAddRY(int n)

   Access to added object value

float getAddRZ(int n)

   Access to added object value

int getWorldXYZ(int n,vector v)

   Access to world object value

int getWorldRXYZ(int n,vector v)

   Access to world object value

int getAddedXYZ(int n,vector v)

   Access to added object value

int getAddedRXYZ(int n,vector v)

   Access to added object value

int setWorldVectorXYZ(int n,vector v)

   Set to world object value

int setWorldVectorRXYZ(int n,vector v)

   Set to world object value

int setAddedVectorXYZ(int n,vector v)

   Set to added object value

int setAddedVectorRXYZ(int n,vector v)

   Set to added object value

float getWorldDistanceToGround(int wo)

   get position to ground

float getAddedDistanceToGround(int wo)

   get position to ground

int getWorldMatrixXYZ(int wo,vector coo)

   matrix frame relatives

int getWorldMatrixRXYZ(int wo,vector rot)

   matrix frame relatives

int getAddedMatrixXYZ(int wo,vector coo)

   matrix frame relatives

int getAddedMatrixRXYZ(int wo,vector rot)

   matrix frame relatives

int setWorldMatrix(int wo,matrix m)

   matrix frame

int setAddedMatrix(int wo,matrix m)

   matrix frame

int getWorldMatrix(int wo,matrix m)

   matrix frame

int getAddedMatrix(int wo,matrix m)

   matrix frame

int setXYZ(int n,float x,float y,float z)

   Set to world object value

int setAddedXYZ(int n,float x,float y,float z)

   Set to added object value

int setRXYZ(int n,float x,float y,float z)

   Set to world object value

int setAddedRXYZ(int n,float x,float y,float z)

   Set to added object value

int getNbPlanesWorldObject(int wo)

   Get plane number for [wo]

int getNormalPositionPlane(int wo,int np,vector P,vector N)

   Get plane (np) coordinates for [wo]

int getAPlane(int wo,int np)

   Get plane (np) A value for [wo] (a.x+b.y+c.z+d=0)

int getBPlane(int wo,int np)

   Get plane (np) B value for [wo] (a.x+b.y+c.z+d=0)

int getCPlane(int wo,int np)

   Get plane (np) C value for [wo] (a.x+b.y+c.z+d=0)

int getDPlane(int wo,int np)

   Get plane (np) D value for [wo] (a.x+b.y+c.z+d=0)

float getWorldMaxY(int n)

   Access to world object value

float getAddedMaxY(int n)

   Access to added object value

float getWorldMaxY(int n,int key1,int key2,float t)

   Access to world object value

float getAddedMaxY(int n,int key1,int key2,float t)

   Access to added object value



# MISC TEXTURES

int resizeTexture(int nt,int w,int h)

   resize texture with w,h

int peekBump(int nt,int x,int y)

   get

int pokeBump(int nt,int x,int y,int value)

   set

int peekR(int nt,int x,int y)

   get R value

int pokeR(int nt,int x,int y,int value)

   set R value

int peekG(int nt,int x,int y)

   get G value

int pokeG(int nt,int x,int y,int value)

   set G value

int peekB(int nt,int x,int y)

   get B value

int pokeB(int nt,int x,int y,int value)

   set B value

int peekA(int nt,int x,int y)

   get A value

int pokeA(int nt,int x,int y,int value)

   set A value

int freeRessourceTexture(int nt)

   free raw texture (nt), player default free all resource at start

int pokeRGBA(int nt,int x,int y,int R,int G,int B,int A)

   set RGBA value

int pokeRGB(int nt,int x,int y,int R,int G,int B)

   set RGB value

void setTextureScene(int scn)

   set texture scene : secondary scene:[0..n] Main:"MAINSCENE" Actual:"ACTUALSCENE"

   default is MAINSCENE

int isTextureUsed(int nt)

   return 1 if used

int getTextureX(int nt)

   return texture(nt) width

int getTextureY(int nt)

   return texture(nt) height

int isBumpUsed(int nt)

   return 1 if used

int getBumpX(int nt)

   return bump(nt) width

int getBumpY(int nt)

   return bump(nt) height

int updateTextureWith(int nt)

   update existing texture

int updateBumpWith(int nt)

   update existing bump

int floodTexture(int nt,char * ptr,int w,int h)

   flood existing texture

int floodBump(int nt,char * ptr,int w,int h)

   flood existing bump

int floodTextureImage(int nt,int img)

   flood existing texture with image loaded only 32bits

int floodBumpImage(int nt,int img)

   flood existing bump with image loaded only 8bits

int initTexture(int nt,char * ptr,int w,int h)

   create texture

int initBump(int nt,char * ptr,int w,int h)

   create bump

int getDataTexture(int nt,char * ptr,int w,int h)

   get texture data w*h*4

int getDataBump(int nt,char * ptr,int w,int h)

   get bump data w*h

int setDataTexture(int nt,char * ptr,int w,int h)

   set texture data w*h*4

int setDataBump(int nt,char * ptr,int w,int h)

   set bump data w*h

int freeTexture(int nt)

   free texture

int freeBump(int nt)

   free bump

int initLIBTexture(int nt,char * ptr,int w,int h)

   init LIB3D texture

int killLIBTexture(int nt)

   free LIB3D texture

int updateLIBTexture(int nt,char * ptr,int w,int h)

   update LIB3D texture



# ERL VOLUMS

int volumInit()

   First function to be called

int volumInitAdequation()

   First function to be called

int volumIter(int it)

   precision

int volumPatch(int n,int x,int y,int z,int val)

int volumCreate(int n,int rez,vector mini,vector maxi)

int volumBoolAdd(int n,int a,int b)

int volumBoolSub(int n,int a,int b)

int volumBoolAddStrict(int n,int a,int b)

int volumBoolSubStrict(int n,int a,int b)

int volumIncrementDecrementOne(int step,int k1,int k2,float division,int nt)

   Interpolate two ERL volums by step if !=0 return 1:if still in transformation 0:finnish

int volumInterpol(int t,int k1,int k2,float division,int nt)

   Interpolate two ERL volums

int volumUploadAdded(int nt,int env)

int volumDraw(int env)

   Drawing with env envmap

int volumDrawShader(int env,int shd)

   Drawing with env envmap and shader

int volumXYZ(float x,float y,float z)

   Position

int volumRXYZ(float x,float y,float z)

   Rotations

int volumLoad(int erl,char * fname)

   Load ERL bank (up to 32 ERL volums)

int volumEqui(int eq)

   Default value 15

int volumFree()

   Release

int volumNew(int erl,int rez)

   New ERL bank (up to 32 ERL volums)

int volumSmooth(int erl)

   Smooth volum

int volumGetDimension(int n)

   Get volum size array

int volumSetMin(int erl,float x,float y,float z)

   Volum dimension

int volumSetMax(int erl,float x,float y,float z)

   Volum dimension

int volumGetMin(int erl,vector m)

   Volum dimension

int volumGetMax(int erl,vector m)

   Volum dimension

int volumPoke(int n,int x,int y,int z,int val)

   Volum set value

int volumPeek(int n,int x,int y,int z)

   Volum get value

int volumPokeV(int n,vector p,int val)

   Volum set value

int volumPeekV(int n,vector p)

   Volum get value

int volumLine(int n,vector a,vector b,int val)

   Volum draw line

int volumCube(int n,vector a,vector b,int val)

   Volum draw cube

int volumSphere(int n,vector a,int R,int val)

   Volum draw sphere

int volumClear(int n)

   Volum clear to zero



# SUFACES

int createSurfaceAdded(int add,int coef1,int coef2,int nt,int ntenv,char *scriptfn,char *scriptmisc)

   Create surface ntenv<0 => not env mapping



# MISC

int addedOnWorldPlacementGround(int add,int wld,vector coo,vector rot)

   Place added relative to ground on world object

int addedOnAddedPlacementGround(int add,int addon,vector coo,vector rot,vector cooto,vector rotto)

   Place added relative to ground on added object

int addedOnClonePlacementGround(int add,int clone,vector coo,vector rot)

   Place added relative to ground on clone object



# METABALLS

int metaballReset(float x,float y,float z,float R)

   First function to be called

int metaballAdd(float x,float y,float z,float R)

   Metaball positive

int metaballSub(float x,float y,float z,float R)

   Metaball negative

int metaballAddV(vector pos,float R)

   Metaball positive

int metaballSubV(vector pos,float R)

   Metaball negative

int metaballAddTube(vector A,vector B,float Ra,float Rb)

   Metaball tube positive

int metaballSubTube(vector A,vector B,float Ra,float Rb)

   Metaball tube negative

int metaballCalculate(float pot,float percent,int envmap)

   Preprocessing (by frames)

int metaballUploadAdded(int nt,int env)

int metaballDraw(int nt)

   Drawing texture nt

int metaballDrawEnvmap(int nt,int nt2)

   Drawing texture nt, envmap nt2

int metaballFree()

   Release

float metaballPotential(vector pos)

   return float value of field at pos

int metaballGradiant(vector pos,vector grad)

   return vector value of gradiant at pos



# QUICKBALLS

int quickballReset()

   Initiate parameters for quickballs

int quickballResetAndMore(float value)

   Initiate parameters for quickballs

int quickballSetScale(float scale)

   Scale parameter for quickballs

int quickballSetSprite(int nt)

   nt<0 sets circle balls

int quickballAdd(float x,float y,float z,float R)

   Add a ball

int quickballDraw(int nt,vector light,float a)

   Draw the quickballs set

int quickballSmokeDraw(int nt,vector light,float a)

   Draw the quickballs set

int quickballCloudDraw(int nt,vector light,float a)

   Draw the quickballs set

int quickballOwnerDraw(int nt,vector light,float a,int shader)

   Draw the quickballs set

int quickballSetup(float derivate,float mapping)

   Parameters

int quickballSetupAndMore(float derivate,float mapping,float param)

   Parameters

int quickballDrawSilhouette(int onoff)

   Process parameter

int quickballZFight(int onoff)

   Process parameter (zbuffer layer red, still blue)



# 2D PHYSICS

int choose2DPhysics(int n)

   Multiple env possible

int init2DPhysics()

   Initialisation of default values

int free2DPhysics()

   Release

int addStatic()

   "Static" and "Dynamic" objects

int addDynamic()

   "Static" and "Dynamic" objects

int addDynamicBall(float R)

   "Static" and "Dynamic" objects

int delStatic(int obj)

   Delete object

int delDynamic(int obj)

   Delete object

int addJointFixe(int n,float x,float y)

   Add a physic link

int addJoint(int a,int b,float x,float y)

   Add a physic link

int addSpring(int a,int b,float x,float y,float Kl)

   Add a physic link

int addPivot(int a,int b,float x,float y)

   Add a physic link

int delJoint(int a,int b)

   Add a physic link

int delJointFixe(int n)

   Add a physic link

int delJointByIndex(int n)

   Add a physic link

int setDynamicInstance(int obj)

   Setup object in edition

int setStaticInstance(int obj)

   Setup object in edition

int setJointDynamicInstanceObj1(int j)

   Setup object in edition

int setJointDynamicInstanceObj2(int j)

   Setup object in edition

int add(float x1,float y1,float x2,float y2)

   Add a segment

int addSprite(int nt,float x1,float y1,float x2,float y2,int def,float scale)

   Add a sprite from ALPHA values

int setFriction(float re)

   Set Friction value

int setRestitution(float re)

   Set Restitution value

int setMass(float m)

   Set Mass value

int setPropDefault(float x,float y,float w)

   Set Prop default values

int setPropDefaultDegrees(float x,float y,float w)

   Set Prop default values

int setProp(float x,float y,float w)

   Set Prop value

int setPropVel(float vx,float vy,float vw)

   Set Prop value

int setFalling()

   Set starting Prop value

int setForce(float fx,float fy)

   Set Prop value

int setElasticity(float el)

   Set Prop value

int enableCollision(int onoff)

   Set Prop value

int center()

   Set Prop value

int setMomentum(float m)

   Set Prop value

int setPrecisions(float vel,float torque)

   Precision stabilization

int setGravity(float g)

   Set value

int setIter(int it)

   Iterations of euler integral

int reset()

   Reset

int process(float dt)

   Main function to calculate physic animation

int isBall()

   Get instance value

float getPropR()

   Get instance value

float getPropX()

   Get instance value

float getPropY()

   Get instance value

float getPropW()

   Get instance value

float getPropVX()

   Get instance value

float getPropVY()

   Get instance value

float getPropVW()

   Get instance value

int getNBSegments()

   Access to define data

float getSegmentsBaseX1(int n)

   Access to define data

float getSegmentsBaseY1(int n)

   Access to define data

float getSegmentsBaseX2(int n)

   Access to define data

float getSegmentsBaseY2(int n)

   Access to define data

float getSegmentsX1(int n)

   Access to define data

float getSegmentsY1(int n)

   Access to define data

float getSegmentsX2(int n)

   Access to define data

float getSegmentsY2(int n)

   Access to define data

int isCollisionsGround()

   Basic processing events

int isCollisionsObject()

   Basic processing events

int isStatic()

   Basic processing events

float getJointX(int j)

   Get joint value

float getJointY(int j)

   Get joint value

float getJointType(int j)

   0:fixed 1:normal 2:spring

int setClassJoints(int p)

   Set class for joints 0..63

int getNbJoints()

   Get number of joints



# PHYSICS

int setEnvGravity(int wo,float g)

   Gravity value (default : 9.81)

int setDepthEnv(int n)

   Physic, determine the BSP dimension for physic environment

int setStatic(int iter)

   Lifetime step for static determination

int resetFixedObjects()

   Setup envionment

int resetTags()

   Setup envionment

int addFixedObject(int n)

   Setup envionment

int addFixedObjectAdded(int n)

   Setup envionment

int addFixedObjectAddedImpostors(int n)

   Setup envionment

int addVoxelObjectFromFunction(char *sfn,int dimx,int dimz,vector mini,vector maxi)

   Setup envionment: y = float func(float x,float z) return y value (bounding x,z) (dimx,dimz: nb faces in collision mesh)

int addVoxelObjectFromCharPtr(char *sptr,int dimx,int dimz,vector mini,vector maxi)

   Setup envionment: char * ptr[dimx*dimz] (0..255)*(maxi.y-mini.y)

int deleteEnvPhysic(int wo)

   Setup envionment

int deleteDuplicates()

   Setup envionment

int setApproximation(int approx)

   Quick approximations of collisions

int setOrthoDimension2D(int on)

   Makes 2D bsp for colision

int setOrthoLimit(float value)

   Topological limit

int createEnvPhysicParams(int wo,float r,float f)

   Create data for physic environment

int createEnvPhysicWOParams(int wo,int n,float r,float f)

   Create data for physic environment

int createEnvPhysic(int wo)

   Create data for physic environment

int delProp(int wo,int n)

   Del property to envionment

int addProp(int wo,int n)

   Add property to envionment

int calculateEnvPhysic(int wo,float DT)

   Physic processing

int setCollisionFunctionEnvPhysic(int env,char * fn)

   Physic processing function

int unsetCollisionFunctionEnvPhysic(int env)

   physic processing function

int setFullProcessingPhysic(int toggle)

   physic processing param (ON:full processing OFF:scale time interval)

int setSingleThreadPhysic(int toggle)

   physic processing param (ON:single thread OFF:multithread)

int propStatique(int n)

   Physic object that starts static

int propDynamic(int n)

   Physic object that starts dynamic

int propDynamicWait(int n,int static)

   Physic object that starts dynamic with constant latency

int propSetForce(int n,float fx,float fy,float fz)

   Add forces to the object

int propDynamicPush(int n,float x,float y,float z)

   The legal push force

int propSetForce(int n,float fx,float fy,float fz)

   Physic interactions

int setMulMass(float m)

   Mass multiplier, start = 1.0

int setKMass(float m)

   Mass multiplier, start = 10

int propSetMass(int n,float m)

   Physic (see sample codes)

int propSetRestitution(int n,float r)

   Physic restitution parametrization

int propDynamicNoGravity(int n)

   Physic (see sample codes)

int propColliding(int n,int env)

   ON: colliding with other dynamic objects OFF:only env

int propFluid(int n,float visco,float temp)

   Set fluid object (temp=25.0°©

int setEnvParamsFluid(int wo,float viscosity,float temperature,distance)

   (physic fluid)

int setEnvParams(float response,float friction)

   Basic values

int setObjParams(float response,float friction)

   Basic values

int addWorldToEnvPhysic(int wo,int obj)

   Setup physic environment

int addAddedToEnvPhysic(int wo,int add)

   Setup physic environment from added (include morphing options)

int addWaterAddedToEnvPhysic(int wo,int add)

   Setup physic environment from added as water (include morphing options)

int addCloneToEnvPhysic(int wo,int clone)

   Setup physic environment

int createEnvPhysicVoid(int wo)

   Setup physic environment

int isAnyParticlesCollidingMesh(int env,int mesh,vector mini,vector maxi)

   Get if particles collide

int getAddedIndexCollisionMesh(int add)

   Index of collision mesh

int addPlane(int wo,float a,float b,float c,float d)

   Setup physic environment

int addPlaneWater(int wo,float a,float b,float c,float d,float visco)

   Setup physic environment, plane water, viscosity (1..10)

int setKeysAddedEnvPhysic(int wo, int key1,int key2,float t)

   Setup physic added environment morphing

int setPositionRotationAddedEnvPhysic(int wo,vector pos,vector rot)

   Setup physic added environment (pos,rot)

int addPropClone(int env,int n,int flag)

   Registering in env, 0:pob 1:ball 2:mesh 3:fullmesh

int delPropClone(int env,int n)

   Registering in env

int testStaticClone(int n)

   Test, n is the index of the clone

int testCollisionCloneClone(int n,int a,int b)

   Test, a or b is the index of the clone

int testCollisionCloneEnv(int n,int a)

   Test, a is the index of the clone

int testCollisionCloneObjs(int n,int a)

   Test, a is the index of the clone

int getCollisionCloneEnv(int n,int a,vector p)

   Get local position

int getCollisionCloneClone(int n,int a,int b,vector p)

   Get local position

int getCollisionCloneObjs(int n,int a,vector p)

   Get local position

int cloneStatique(int n)

   State

int cloneDynamic(int n)

   State

int cloneDynamicNoGravity(int n)

   State

int cloneSetMass(int n,float m)

   Mass

float cloneGetMass(int n)

   Mass

int cloneSetRestitution(int n,float r)

   Physic restitution parametrization

int cloneDynamicPush(int n,float x,float y,float z)

   Force applied

int cloneSetForce(int n,float fx,float fy,float fz)

   Force applied

int setupVoxelObjectFromFunction(char *sfn,int dimx,int dimz,vector mini,vector maxi)

   Setup voxel object: y = float func(float x,float z) return y value (bounding x,z) (dimx,dimz: nb faces in collision mesh)

int setupVoxelObjectFromCharPtr(char *sptr,int dimx,int dimz,vector mini,vector maxi)

   Setup voxel object: char * ptr[dimx*dimz] (0..255)*(maxi.y-mini.y)

int addVoxel()

   Setup envionment with calculated voxel

# PHYSIC PARTICLES

int addParticle(int wo,vector pos,vector vit,float mass,int replace)

   add a particle

int resetParticles(int wo)

   reset particle container

int initParticles(int wo,int nb)

   init

int freeParticles(int wo)

   free

int setViscosityParticles(int wo,float v,float in,float out)

   viscosity stuff

int setInteractionParticles(int wo,float step,int iter)

   create link force

int setInteractionMulParticles(int wo,float mul,float sat)

   create link force max

int setWindParticles(int wo,int onoff,vector wind)

   wind force ON/OFF

int setGravityParticles(int wo,int onoff)

   gravity force ON/OFF

int setPushParticles(int wo,int a,int b,vector push)

   impulse to particles [a..b]

int setPushAllParticles(int wo,vector push)

   impulse for all particles

int quickballEnvPhysicAdd(int wo,float R)

   full quickballs rendering set

int getParticlesXYZ(int wo,int n,vector pos)

   get position vector

int getParticlesVitXYZ(int wo,int n,vector vit)

   get velocity vector

int getParticlesActive(int wo,int n)

   get if active

float getParticlesTime(int wo,int n)

   get time elapsed

int setParticlesXYZ(int wo,int n,vector pos)

   set position

int setParticlesVitXYZ(int wo,int n,vector vit)

   set velocity

int setParticlesActive(int wo,int n,int toggle)

   set active

int setParticlesTime(int wo,int n,float t)

   set/reset time elapsed

int setParticlesDependency(int wo,int n,int value)

   set height dependency

# PHYSIC LINKS

int setLinksAdded(int wo,int add)

   Set link from instance script

   INIT : SLINK (%d list)

   INIT : SPIVOT(XYZ)/(%f %f %f) (%d list)

   INIT : SDSPRING (%f) (%d list)

   INIT : [%d] DLINK (%d list)

   INIT : [%d] DPIVOT(XYZ)/(%f %f %f) (%d list)

   INIT : [%d] DSPRING (%f) (%d list)

   INIT : [%d] DBALL (%d list)

int setLinksBallAdded(int wo,int add)

   Set link from instance script

int setLinksSpringAdded(int wo,int add,float k)

   Set link from instance script

int setLinksAddedFriction(int wo,int add,float f)

   Set link from instance script

int setLinksAddedString(int wo,int add,float friction,char *script)

   Set link from string

int setLinkFixedProp(int env,int n,vector p)

   Set link from values

int setLinkFixed(int env,int n,vector p)

   Set link from values

int setLinkJoint(int env,int a,int b,vector p,int friction)

   Set link from values

int setLinkJointProp(int env,int a,int b,vector p,int friction)

   Set link from values

int deleteLinkJoint(int env,int j)

   Set link from values

int setIterations(int N)

   Physic iterations

int setStaticMinValues(float value_velocity,float value_torque)

   Physic minimal velocity for static evaluation, default:0.03 and 0.03

int enableScaleTime(int val)

   Physic scale time ON/OFF

int setScaleTimeParams(int val)

   Physic scale time multiplier

int getPropPosition(int n,vector position)

   Get physic property infos

int getPropOrientation(int n,vector eulers)

   Get physic property infos

int getPropVitesse(int n,vector vitesse)

   Get physic property infos

float getPropVitesseNorm(int n)

   Get physic property infos

int getPropAngularVelocity(int n,vector angular)

   Get physic property infos

int setPropAngularVelocity(int n,vector eulers)

   Get physic property infos

int setPropOrientation(int n,vector eulers)

   Get physic property infos

int setPropPosition(int n,vector position)

   Get physic property infos

int setPropVitesse(int n,vector vitesse)

   Get physic property infos

int getPropMatrix(int n,matrix m)

   Get physic property infos

int getPropMatrixOrientation(int n,matrix mo)

   Get physic property infos

int testStaticProp(int n)

   Return 1 if prop n is static

int testCollisionPropEnv(int n,int a)

   Return 1 if prop a collidesc

int getCollisionPropEnv(int n,int a,vector p)

   Fill p, prop a collides

int getCollisionPropProp(int n,int a,int b,vector p)

   Fill p, prop a and b collides

int testCollisionPropProp(int n,int a,int b)

   Return 1 if prop a and b collides

int testCollisionPropObjs(int n,int a)

   return 1 if inter object collides

int getCollisionPropObjs(int n,int a,vector p)

   Fill p, if inter object collides

int propDynamicCollidingObjs(int env,int n)

   update props if prop a collides with objs

int setSpherePartitionDegree(int level)

   sphere partition : 0..4, -1:auto

int testCollisionObjs(int env)

   Return 1 if there are collisions between objects

int testCollisionEnv(int env)

   Return 1 if there are collisions between environment

int testCollisionEnvWo(int env,int wo)

   Return 1 if there are collisions for added wo with the environment

int testCollisionObjsWo(int env,int wo)

   Return 1 if there are collisions for added wo with other objects

float testCollisionWo(int env,int wo)

   Return 1 if there are collisions for added wo with other objects or environment

int setCollisionLimit(float f)

   Variable for collision test

int setCollisionEnveloppe(float coef)

   parameter of collision detection

int isPropCollidingProp(int env,int a,int b)

   prop a and b colliding or not

int isPropCollidingObjs(int env,int add)

   prop a colliding or not with all others

int isPropCollidingEnv(int env,int add)

   prop a colliding or not with env

int convertMatrixToEulers(matrix m,vector eulers)

   Get eulers angle of rotation from matrix

int convertMatrixToPosition(matrix m,vector pos)

   Get coordinate from matrix

int convertVectorToEulers(vector m,int orientation,vector eulers)

   Get eulers angle of rotation from orientation vector

int setEnvTransformationWO(int env,int wo)

   Dynamnic environnement for physic

int setEnvPosition(int env,float x,float y,float z)

   Dynamnic environnement for physic

int setEnvRotation(int env,float x,float y,float z)

   Dynamnic environnement for physic

int setEnvWORotation(int env,int wo,float x,float y,float z)

   Dynamnic environnement for physic (void env)

int setEnvWORotation(int env,int wo,float x,float y,float z)

   Dynamnic environnement for physic (void env)

int setEnvAddRotation(int env,int add,float x,float y,float z)

   Dynamnic environnement for physic (void env)

int setEnvAddRotation(int env,int add,float x,float y,float z)

   Dynamnic environnement for physic (void env)

int restoreBaseAdded()

   If new added objects generated, delete them

int splitAdded(int add,vector p,vector N,float sign)

   Add new two objects split of added

int destroyAdded(int wo,int n)

   Add new objects part of destroyed added n

int destroyAdded3Parts(int wo,int n)

   Add new objects part of destroyed added n

int destroyAddedSetType(int typ)

   Set the type ob added object added when destroyed : 5:mesh 0:cube 6:fullmesh 4:sphere

# DEFORMABLES

int getNbTreeBones(int wo)

   Get number of bones in wo

int setWOtoDeformable(int env,int n)

   Convert bones to added props

int setWOtoDeformableSpring(int env,int n,float k)

   Convert bones to added props

int setWOtoDeformableFixedUp(int env,int n)

   Convert bones to added props

int setWOtoDeformableSpringFixedUp(int env,int n,float k)

   Convert bones to added props (k raideur)

int setDeformableCollision(int onoff)

   Collision inside

int setDeformableMatrices(int wo)

   Deformables matrices processing

int setDeformableFriction(float normal,float fixed)

   Deformables friction normal and fixed (0..1) start: 0.9 and 0.1

int setDeformablesProp(int prp)

   Deformables prop type: 0:pob 4:ball 5:mesh 6:fullmesh

int deleteDeformable(int n)

   Deformables delete physic props

int numberDeformable()

   Number

int setDeformablesParams(int reallink,int relax)

   reallink generate nodal structure to be processed in multithread and continuously, relax skip forces resolve.

int isStaticDeformable(int n)

   Deformables test static physic props

int isStaticDeformableParam(int n,float seuil)

   Deformables test static physic props

int getAddedDeformable(int n)

   Deformables starting added props

int getNbAddedDeformable(int n)

   Deformables number of added props

int setCloneDeformable(int clone,int wo,int env)

   Deformables convert clone bones to added props

int setCloneDeformableSpring(int clone,int wo,int env,float k)

   Deformables convert clone bones to added props (k raideur)

int setCloneDeformableFixedUp(int clone,int wo,int env)

   Deformables convert clone bones to added props

int setCloneDeformableSpringFixedUp(int clone,int wo,int env,float k)

   Deformables convert clone bones to added props (k raideur)

int setCloneDeformableSmooth(int clone,int wo,int env)

   Deformables convert clone bones to added props

int setCloneDeformableMatrix(int clone)

   Deformables matrices processing

int getCloneDeformablePivot(int clone,int node)

   Deformables prop relative to node

int setCloneDeformableForce(int clone,float x,float y,float z)

   Deformables apply force to physic props

int setDeformableForce(int clone,float x,float y,float z)

   Deformables apply force to physic props

int setDrawBonesDeformable(int d,int onoff)

   Deformables rendering option

int setDrawCloneBonesDeformable(int clone,int onoff)

   Deformables rendering option

int numberDeformable()

   trivial

int setSizeDeformable(float sz)

   element size of the deformable



# MATRIX VECTOR FUNCTIONS

int interpolation(vector res,vector a,vector b,float t)

   a->b interpolation by -t-

int matricesLoad()

   Preload matrices

void mulView(vector v)

   Multiply by VIEW

float mulViewZ(vector v)

   Multiply by VIEW return z for clipping

void mulViewProj(vector v)

   Multiply by VIEW*PROJ

void mulViewProjViewport(vector v)

   Multiply by VIEW*PROJ*VIEWPORT

void loadView(matrix m)

   Get matrix

void loadProj(matrix m)

   Get matrix

void loadViewport(matrix m)

   Get matrix

void loadViewProj(matrix m)

   Get matrix

void loadViewProjViewport(matrix m)

   Get matrix

# MATRIX VECTOR CLASS METHODS

vector:

Init(float x,float y,float z)

Zero()

matrix:

Id()

Translation(float x,float y,float z)

Rotation(float x,float y,float z)

RotationDegrees(float x,float y,float z)

Scaling(float x,float y,float z)

DirectionX(float x,float y,float z)

DirectionY(float x,float y,float z)

DirectionZ(float x,float y,float z)

Transform(float rx,float ry,float rz,float x,float y,float z)

TransformDegrees(float rx,float ry,float rz,float x,float y,float z)

TransformDirectionX(float x,float y,float z,float dirx,float diry,float dirz)

TransformDirectionY(float x,float y,float z,float dirx,float diry,float dirz)

TransformDirectionZ(float x,float y,float z,float dirx,float diry,float dirz)

void getVectorObject(int nobj,int nv,vector v)

   Result of processing

void getVectorObject2d(int nobj,int nv,vector v)

   Result of processing

void getVectorObjectFace(int nobj,int nf,vector v)

   Result of processing

void getVectorObjectFace(int nobj,int nf,vector v)

   Result of processing

void getObject(int nobj,vector v)

   Result of processing

void getObject2d(int nobj,vector v)

   Result of processing

float norm(vector v)

   Length of a vector

int normalise(vector v)

   Normalise vector

int base1(vector v,vector res)

   T,N,B

int base2(vector v,vector res)

   T,N,B



# SOUND

int loadOGG(char *fname,int loop)

   Load main sound

int stopOGG()

   Stop playing sound

int volumeOGG(float v)

   Set volume

int loadSound(int n,char *fname,int rate)

   Load sound WAV of OGG

int freeSound(int n)

int createSampleMusic(int n,char *fname,int pattern,int seconds)

   Generate sound from Module

int createSampleMusicInterval(int n,char *fname,int pattern,int seconds)

   Generate sound from Module starting pattern of seconds

int createSound(int n,char *varname,int len)

   Create sound from string var

   Free sound

int playSound(int n,int loop)

   Play

int setVolumeSound(int n,float vol)

   Volum 0..1

int setPanSound(int n,float pan)

   Pan -1..1

int isPlayingSound(int n)

   returns 1 if playing

int set3DSound(int num,vector pos,float vol)

   set pan and volum to 3d position from Camera

int initSound()

   Init sound player

int killSound()

   Free sound player

int initMusicPlayer()

   Init MOD,XM,OGG player

int killMusicPlayer()

   Free MOD,XM,OGG player

int loadMusic(int n,char *fname)

   Load MOD,XM return handle

int playMusic(int n)

   Play handle

int setMusicVolume(float vol)

   Volum

int getMusicNumberSamples()

   MOD,XM infos

int getMusicSampleString(int ns,char * str)

   MOD,XM infos

int getMusicPattern()

   MOD,XM infos

int getMusicRow()

   MOD,XM infos

int getMusicVoices()

   MOD,XM infos

int getMusicSampleAt(int voice,int pattern,int row)

   MOD,XM infos

int getMusicNoteAt(int voice,int pattern,int row)

   MOD,XM infos

int getMusicNotePeriodAt(int voice,int pattern,int row)

   MOD,XM infos

int getMusicEffectAt(int voice,int pattern,int row)

   MOD,XM infos

int getMusicEffectParamAt(int voice,int pattern,int row)

   MOD,XM infos

int getMusicVolumAt(int voice,int pattern,int row)

   MOD,XM infos



# SCRIPT FUNCTIONS

int setScriptAdded(int wo)

   focus on added object animation strings

int getNbLine()

   Number of lines

int setLine(int line)

   Set line offset

int gotoLabel(char *label)

   Labels are used in multiple uses of script

int testStringScript(int wo,char *s)

   Test a scan line

int resetConditions()

   Parametrize a scan line

int addCondition(char *cond)

   parametrize a scan line

int resetActions()

   Parametrize a scan line

int addAction(int n,char *action)

   Parametrize a scan line

int testCase()

   Parametrize a scan line

int testInit()

   Parametrize a scan line

int testStringCondition(char *s)

   Test Condition string of a scan line

int testStringAction(char *s)

   Test Action sctring of a scan line

int testString(char *s)

   Test a scan line

int getStringsActionCondition(char *cond,char *act)

   Get Condition/Action sctring of a scan line

int getAddedTag(char *s,int n)

   "%s%d" search in script with "TAG" added objects



# TEXT DRAW

int strGetString(char * array,char * str,int size,int n)

   Packed array of fixed strings

int strSetString(char * array,char * str,int size,int n)

   Packed array of fixed strings

int strGetNum(char * array,char * str,int size,int nb)

   Packed array of fixed strings

int strCmpString(char * array,char * str,int size,int nb)

   Packed array of fixed strings

int strLastString(char * array,char * str,int size,int pos,int nb)

   Packed array of fixed strings

int strCleanString(char *svar)

   clean spaces

int getString(char * array,char * str,int size,int n)

   Direct char* Packed array of fixed strings

int setString(char * array,char * str,int size,int n)

   Direct char* Packed array of fixed strings

int getNum(char * array,char * str,int size,int nb)

   Direct char* Packed array of fixed strings

int cmpString(char * array,char * str,int size,int nb)

   Direct char* Packed array of fixed strings

int lastString(char * array,char * str,int size,int pos,int nb)

   Direct char* Packed array of fixed strings

int cleanString(char *svar)

   Direct char* clean spaces

int evalIntString(char *exp)

   calculate evaluation

float evalFloatString(char *exp)

   calculate evaluation

int evalBoolString(char *exp)

   calculate evaluation

int evalBoolStringBasic(char *exp)

   calculate evaluation

int strCharString(char *svar,int c)

   First Char 'c' in strings

int strChar(char *s,int c)

   First Char 'c' in char

int inIntArray(int value,char * svar,int nb)

   int array test

int inFloatArray(float value,char * svar,int nb)

   float array test

int inFloatApproxArray(float value,char * svar,int nb)

   float array test



# TEXT DRAW

int resetTextParam()

   Reset text param

int setcTextParam(int c)

   Set text param

int setiTextParam(int n)

   Set text param

int setfTextParam(float f)

   Set text param

int setsTextParam(char *s)

   Set text param

int drawTextParam(char *format,float x,float y,float r,float g,float b,float scale)

   Draw function for text params

int drawCenteredTextParam(char *format,float x,float y,float r,float g,float b,float scale)

   Draw function for text params

int drawRightTextParam(char *format,float x,float y,float r,float g,float b,float scale)

   Draw function for text params

int drawText3DParam(char *format,float x,float y,float z,float r,float g,float b,float scale)

   Draw function for text params



# OBJECT FUNCTIONS

int setObjectPosition(int nwo,float x,float y,float z)

   Position of object

int setObjectRotation(int nwo,float rx,float ry,float rz)

   Rotation of object

int setObjectText(int nwo,char *str)

   Text of object

int setObjectAddedPosition(int nwod,float x,float y,float z)

   Position of object

int setObjectAddedToAdded(int nwod,int nn)

   Relative position of object

int setObjectAddedStartPosition(int nwod)

   Position of object

int setObjectStartPosition(int nwod)

   Position of object

int setObjectAddedRotation(int nwod,float rx,float ry,float rz)

   Rotation of object

int setObjectAddedText(int nwod,char *str)

   Text of object

int toggleWorldVisible(int n,int vs)

   Draw calls

int toggleAddedVisible(int n,int vs)

   Draw calls

int toggleWorldOnlyShadows(int n,int sh)

   Draw calls

int toggleAddedOnlyShadows(int n,int sh)

   Draw calls

int setAddedMatrices(int n,matrix m,matrix mr)

   Draw matrix calls

int toggleAddedMatrices(int n,int onoff)

   Draw matrix calls



# TEXT MODE CONSOLE FUNCTIONS

int initConsole(int w,int h)

   dim, max 512x512

int drawConsole(int show)

   draw console

int drawConsoleBorder(int show,int x1,int y1,int x2,int y2)

   draw console

int print(char *s)

   text mode print

int scroll()

   vertical scroll

int scrolldown()

   vertical scroll

int scrollleft()

   horizontal scroll

int scrollright()

   horizontal scroll

int border(int x1,int y1,int x2 int y2)

   screen zone

int locate(int x,int y)

   console cursor

int bgalpha(int alpha)

   console colors

int bgcolor(int r,int g,int b)

   console colors

int color(int r,int g,int b)

   console colors

int cls()

   console clear

int locationx()

   console prop

int locationy()

   console prop

int coordx()

   console prop

int coordy()

   console prop

int getcolor()

   console colors

int gettext(char *var,int len)

   console func

int gettextspace(char *var)

   console func

int leftspace()

   console func

int rightspace()

   console func

int linefeed(int ln,char *var)

   console func

int charfeed(int x,int y)

   console func

int leftspacechar(char *var,int pos)

   console func

int rightspacechar(char *var,int pos)

   console func

int retrieveint(char *var)

   string func

float retrievefloat(char *var)

   string func

int parentheses(char *varsrc,char *vardest)

   string func

int guillemets(char *varsrc,char *vardest)

   string func

int dissociate(char *varsrc,char *vardest,int size)

   string func

int dissociatecomma(char *varsrc,int ofs,char *vardest,int size)

   string func

int dissociatenostring(char *varsrc,char *vardest,int size)

   string func

int dissociatenoprth(char *varsrc,char *vardest,int size)

   string func

int strretrieveint(char *str)

   string func

float strretrievefloat(char *str)

   string func

int strparentheses(char *src,char *dest)

   string func

int strguillemets(char *src,char *dest)

   string func

int strdissociate(char *src,char *dest,int size)

   string func

int strdissociatecomma(char *src,int ofs,char *dest,int size)

   string func



# EFFECT FUNCTIONS

void setVolumetricFog(int nt,float zf1,float zf2)

   Draw the whole scene with fog

int setVolumetricFogNoErase(int nt,float zf1,float zf2)

   Draw the whole scene with fog (with no erase of the background)

void setColorFog(int r,int g,int b)

   R,G,B color (0..100)

int setDetailFog(int nb)

   Default: 20 planes

void unsetFog()

   Do not draw fog



# PARTICULES AND SPECIAL EFFECTS FUNCTIONS

int thunderSwitchBank(int bank)

   up to 16 banks

int thunderGetBank()

   up to 16 banks

int thunderNB()

   Number of thunderbolts

int thunderDelete(int n)

   Delete a thunderbolt

int thunderSetAlpha(int n,float alpha)

   Thunderbolt transparency

float thunderGetAlpha(int n)

   Thunderbolt transparency

int thunderGetA(int n,vector v)

   Get thunderbolt point A

int thunderGetB(int n,vector v)

   Get thunderbolt point B

int thunderSet(int n,vector a,vector b,int nt)

   Set an existing thunderbolt with nT texture : return the number in list

int thunderReset()

   Reset thunderbolt set

int thunderNew(vector a,vector b,int nt)

   Add a new thunderbolt with nT texture : return the number in list

float fireCalculate(vector p,vector v,float R,float t,float DT)

   process quickball fire: return new(R) and update p

int iblissGet(int i,int x,int y,int z,vector p)

   i [0..8], particules (x,y,z) [0..K]

int iblissSet(int i,int x,int y,int z,vector p)

   i [0..8], particules (x,y,z) [0..K]

int iblissCalc(int i,int K1,int K2,float dt)

   i [0..8], process animation

int iblissNewCia(int i)

   i [0..8], ibliss start

int iblissNew(int i)

   i [0..8], ibliss new

int iblissNewWith(int i,int K,float D)

   i [0..8], ibliss custom

int iblissSetKD(int i,int K,float D)

   i [0..8], ibliss params

int iblissGetK(int i)

   i [0..8], ibliss params

float iblissGetD(int i)

   i [0..8], ibliss params

int iblissZero(int i)

   i [0..8], ibliss params metaballs

int iblissAdd(int i,float x,float y,float z,float R)

   i [0..8], ibliss params metaballs

int iblissReset()

   i [0..8], ibliss reset

int petalsSwitchBase(int base)

   up to 16 containers

int petalsGetBase()

   up to 16 containers

int petalsInit(int cnt,int nb)

   cnt is a bank, nb is the number of particles

int petalsKill(int cnt)

   Free petals

int petalsReset(int cnt)

   Reset petals

int petalsDraw(int n)

   Draw active particles

int petalsToggleDraw(int n,int onoff)

   Toggle draw particles in rendering

int petalsDownLimit(int n,float y)

   Down limit

int petalsUpLimit(int n,float y)

   Up limit

int petalsSetAlpha(int cnt,float alpha)

   general alpha value

int petalsSetAlphaParticles(int cnt,float alpha,float incr)

   general alpha value

int petalsDelAlphaZero(int cnt)

   suppress particles with alpha zero

int petalsSetActive(int cnt,int active)

   Enable or disable builtin drawing

int petalsGetNbParticles(int cnt)

   Number of active particles

int petalsGetXYZParticle(int cnt,int n,vector p)

   Position in space particle

int petalsGetPrevXYZParticle(int cnt,int n,vector p)

   Last position in space particle

int petalsGetPrev2XYZParticle(int cnt,int n,vector p)

   Last previous position in space particle

int petalsGetTextureParticle(int cnt,int n)

   Texture numer particle

float petalsGetRadiusParticle(int cnt,int n)

   Radius particle

float petalsGetTimeLapseParticle(int cnt,int n)

   Time lapse particle since start

int petalsGenerate(int cnt,float r,float g,float b,float density,int option,int nt)

   option: rgb only: 0/-1 : r,g,b -2,-3: blend, lapse, object texture: +1 normal, +2 blend, +3 lapse

int petalsSetForce(int cnt,float x,float y,float z)

   Force applied

int petalsSetAnimFunction(int cnt,char *func)

   Function applied "float func(vector p,vector v,vector rgb,vector col1,vector col2,float t,float dt)"

Functions to add lighter than air particules:

int petalsAddFire(int cnt,float x,float y,float z,float r,float g,float b,int nt)

   Add particles

int petalsAddFireLapse(int cnt,float x,float y,float z,float r,float g,float b,float muldt,int nt)

   Add particles

int petalsAddFireChaos(int cnt,float x,float y,float z,float r,float g,float b,float muldt,int nt)

   Add particles

int petalsAddFireBlend(int cnt,float x,float y,float z,float r,float g,float b,float muldt,int nt)

   Add particles

int petalsSetLocal(int cnt,float x,float y,float z)

   Add particles implies

int petalsSetRadius(int cnt,float R)

   Add particles values

Functions to add static particules:

int petalsAddFixed(int cnt,float x,float y,float z,float r,float g,float b,float R,int nt)

   Add particles

Functions to add gravity particules:

int petalsAddParticule(int cnt,float x,float y,float z,float vx,float vy,float vz,float r,float g,float b,float R,int nt)

   Add particles

int petalsAddParticuleBlend(int cnt,float x,float y,float z,float vx,float vy,float vz,float r,float g,float b,float R,int nt)

   Add particles

int petalsAddParticuleRandom(int cnt,float x,float y,float z,float vx,float vy,float vz,float r,float g,float b,float rand,float R,int nt)

   Add particles (hazard)

int petalsAddClouds(int cnt,float x,float y,float z,float r,float g,float b,int nt)

   Add particles

int petalsAddImpostors(int cnt,float x,float y,float z,float r,float g,float b,int nt)

   Add particles

int petalsSetStatic(int cnt)

   Status particles

int petalsUnsetStatic(int cnt)

   Status particles

int petalsCalculate(int cnt,float dt)

   Animation particles

int petalsCreateFurOrGrass(int cnt,int n,int nt,int ntgrass)

   Generate particles

int petalsCreateClouds(int cnt,char *file_name,int nt,float dim,float high)

   Generate particles



# GENERATE FUNCTIONS

int setCloneGenerate(int clone,char * func)

   generate function initializers: int func(int num_clone): returns 1 if visible

int setVerticesFunctionGenerate(char *func)

   Vertex processing in "generateFBX()" or "petalsGenerate()" -> int func(int n,vector stok,vector calc): returns 1 if visible

int radiusFBX(float r)

   relative occlusion radius

int positionFBX(float x,float y,float z)

   relative occlusion position

int generatingFBX()

   returns 1 if generating

int functionCloneFBX(char *sfn)

   Vertex processing in "generateFBX()" or "petalsGenerate()" -> int func(int n,vector stok,vector calc): returns 1 if visible

int functionClonePreGenerateFBX(char * preshader,char * gen)

   affectation of gen on selected preshader

int generateFBX(char *folder,char *filename,int textures)

   generate .FBX [path]_filename_.fbx



# VARIOUS FUNCTIONS

int addedCloserCoo(float x,float y,float z)

   Topology

float distanceToAdded(int wo,float x,float y,float z)

   Topology

float distanceAddedToAdded(int add1,int add2)

   Topology

int testMouse(int x,int y,int R)

   Interaction function for 2d composition

int fixMouse(int x,int y)

float xProj(float x,float y,float z)

   Interaction function for 2d composition

float yProj(float x,float y,float z)

   Interaction function for 2d composition



# RECURSIVE FUNCTIONS

int setPointerXY(int xm,int ym)

   calculate pointer info, returns 1 if hit

int setPointerXYWH(int xm,int ym,int sx,int sy)

   calculate pointer info, returns 1 if hit

int setPointerVector(vector u)

   calculate pointer info, returns 1 if hit

int getPointerVector(vector res)

   get pointer coord.

int isPointerAdded()

   is an additionnal

int isPointerWorld()

   is a world object

int getPointerNum()

   get pointer object index

int getPointerNumFace()

   get pointer face index



# RECURSIVE FUNCTIONS

REC_DEPTH (integer accessible during call of term and function)

int registerRecursive(char *term,char *function)

   Recursive function settings to be called with termination

int callRecursiveFunction()

   Recursive function to be called with termination



# RECURSIVE FUNCTIONS

int createThread(char *fn)

   Create thread with function fn, return id

int createThreadMS(char *fn,int ms)

   Create repeating thread with function fn, return id

int stopThread(int th)

   Stop thread n

int threadJoin(int n)

   Join thread n

int nbThreads()

   Return number of threads



# WIDGETS

int initWindowing(int nt,float scale,char *namefont)

   Widgets

int textureWindowing(int nt)

   Widgets texture

int textureWindowingButton(int nt)

   Widgets buttons texture

int quadLinesWindowing(int onoff)

   Widgets lines borders

int quadLinesBlackWindowing(int onoff)

   Widgets black lines borders

int quadLinesReliefWindowing(int size)

   Widgets relief lines borders

int colorWindowing(int tag,float r,float g,float b)

   Widgets color 0:menu 1:dialogbar 2:window 3:buttons

int killWindowing()

   Widgets

int refreshWindowing()

   Widgets

int drawAndManageWindowing()

   Widgets

int refreshContextual(int menu)

   Widgets

int setEvent(int dlg,int id,char * func)

   Widgets Events

int setEventMenu(int menu,int id,char * func)

   Widgets Events

int setEventMenuContextual(int menu,int id,char * func)

   Widgets Events

int resetEvents()

   Widgets Events

int resetEventsMenus()

   Widgets Events

int resetEventsMenusContextuals()

   Widgets Events

int freeMenu(int menu)

   Widgets Main elements

int freeMenuBar(int menubar)

   Widgets Main elements

int freeDialog(int dlg)

   Widgets Main elements

int freeAllDialog()

   Widgets Main elements

int freeAllMenus()

   Widgets Main elements

int freeAllMenuBars()

   Widgets Main elements

int newMenu()

   Widgets Main elements

int newMenuBar()

   Widgets Main elements

int hideMenu(int menu)

   Widgets Main elements

int hideMenuBar(int menu)

   Widgets Main elements

int menuAppend(int menu,int id,char * txt,int enable)

   Widgets menu stuffs

int menuAppendSubMenu(int menu,int sub,char * txt)

   Widgets menu stuffs

int menuBarAppend(int menu,int id,char * txt)

   Widgets menu stuffs

int menuBarAppendSubMenu(int menu,int sub char* txt)

   Widgets menu stuffs

int freeToolbar()

   Widgets Toolbar

int newToolbar(char * pngfile,int w,int h,int drawsizex,int drawsizey)

   Widgets Toolbar

int setTool(int id,int style)

   Widgets Toolbar

int enableTool(int id,int value)

   Widgets Toolbar

int toggleTool(int id,int value)

   Widgets Toolbar

int isToolEnabled(int id)

   Widgets Toolbar

int isToolChecked(int id)

   Widgets Toolbar

int functionToolbar(char *sfn)

   Widgets Toolbar msg function

int newMessageBox(char * title,char * message)

   Widgets Message Box

int newDialog(char * name,int x,int y,int w,int h)

   Widgets Main elements

int centerDialog(int dlg)

   Widgets Main elements

int scaleDialog(int dlg,float scale)

   Widgets Main elements

int drawSingleDialog(int dlg,int active)

   Widgets draw Dialog

int setDialogXY(int dlg,int x,int y)

   Widgets dialog stuffs

int setDialogWH(int dlg,int w,int h)

   Widgets dialog stuffs

int getDialogX(int dlg)

   Widgets dialog stuffs

int getDialogY(int dlg)

   Widgets dialog stuffs

int getDialogW(int dlg)

   Widgets dialog stuffs

int getDialogH(int dlg)

   Widgets dialog stuffs

int setItemXY(int dlg,int item,int x,int y)

   Widgets dialog item stuffs

int setItemWH(int dlg,int item,int w,int h)

   Widgets dialog item stuffs

int getItemX(int dlg,int item)

   Widgets dialog item stuffs

int getItemY(int dlg,int item)

   Widgets dialog item stuffs

int getItemW(int dlg,int item)

   Widgets dialog item stuffs

int getItemH(int dlg,int item)

   Widgets dialog item stuffs

int newStaticText(int dlg,char * txt,int x,int y,int w,int h)

   Widgets item adding

int setLabel(int dlg,int item,char * txt)

   Widgets item adding

int newStaticBox(int dlg,char * txt,int x,int y,int w,int h)

   Widgets item adding

int newButton(int dlg,int id,char * txt,int x,int y,int w,int h)

   Widgets item adding

int newTextCtrl(int dlg,int id,char * txt,int multi,int x,int y,int w,int h)

   Widgets item adding

int getTextCtrlString(int dlg,int item,char *str)

   Widgets item text ctrl stuff

int setTextCtrlString(int dlg,int item,char *str)

   Widgets item text ctrl stuff

int addTextCtrlString(int dlg,int item,char *str)

   Widgets item text ctrl stuff

int resetTextCtrl(int dlg,int item)

   Widgets item text ctrl stuff

int newCheckBox(int dlg,int id,char * txt,int x,int y,int w,int h)

   Widgets item adding

int setCheckBoxState(int dlg,int item,int value)

   Widgets item checkbox

int getCheckBoxState(int dlg,int item)

   Widgets item checkbox

int newBitmap(int dlg,int x,int y,int w,int h)

   Widgets item adding

int getBitmapRelativeX(int dlg,int item)

   Widgets item bitmap stuffs

int getBitmapRelativeY(int dlg,int item)

   Widgets item bitmap stuffs

float getBitmapRelativeFloatX(int dlg,int item)

   Widgets item bitmap stuffs

float getBitmapRelativeFloatY(int dlg,int item)

   Widgets item bitmap stuffs

int setBitmapSecondary(int dlg,int item,int nt)

   Widgets item bitmap stuffs

int setBitmapImage(int dlg,int item,char * rawname,int w,int h)

   Widgets item bitmap stuffs

int setBitmapTexture(int dlg,int item,int nt)

   Widgets item bitmap stuffs

int setBitmapBump(int dlg,int item,int nt)

   Widgets item bitmap stuffs

int setBitmapFile(int dlg,int item,char *filename)

   Widgets item bitmap stuffs

int newSlider(int dlg,int id,int value,int a,int b,int x,int y,int w,int h)

   Widgets item adding

int setSliderValue(int dlg,int item,int value)

   Widgets item slider

int getSliderValue(int dlg,int item)

   Widgets item slider

int newGauge(int dlg,int id,int range,int x,int y,int w,int h)

   Widgets item adding

int setGaugeValue(int dlg,int item,int value)

   Widgets item gauge

int getGaugeValue(int dlg,int item)

   Widgets item gauge

int getGaugeRange(int dlg,int item)

   Widgets item gauge

int newFileCtrl(int dlg,int id,int multi,int x,int y,int w,int h)

   Widgets item adding

int setWildCard(int dlg,int item,char * str)

   Widgets item file ctrl

int setDirectory(int dlg,int item,char * str)

   Widgets item file ctrl

int setDirectoryModels(int dlg,int item)

   Widgets item file ctrl

int setDirectoryTextures(int dlg,int item)

   Widgets item file ctrl

int setDirectoryNED(int dlg,int item)

   Widgets item file ctrl

int getDirectory(int dlg,int item,char * str)

   Widgets item file ctrl

int getFilename(int dlg,int item,char * str)

   Widgets item file ctrl

int getFileCtrlNumber(int dlg,int item)

   Widgets item file ctrl

int getFileCtrlItem(int dlg,int item,int n,char * str)

   Widgets item file ctrl

int newListBox(int dlg,int id,int multi,int x,int y,int w,int h)

   Widgets item adding

int clearList(int dlg,int item)

   Widgets item listbox

int setListItem(int dlg,int item,char *str)

   Widgets item listbox

int getListItemNumber(int dlg,int item)

   Widgets item listbox

int getListItem(int dlg,int item,int n,char *str)

   Widgets item listbox

int getListItemSel(int dlg,int item,char *str)

   Widgets item listbox

int setListSelection(int dlg,int item,int n,int value)

   Widgets item listbox

int getListSelection(int dlg,int item,int n)

   Widgets item listbox

int setListItemSelected(int dlg,int item,int sel)

   Widgets item listbox

int getListItemSelected(int dlg,int item)

   Widgets item listbox

int menuAppendFonts(int menu,int contextual,char * func)

   Widgets menu

int readPathFontSelected(int id,char * filename)

   Widgets menu infos

int readNameFontSelected(int id,char * filename)

   Widgets menu infos

int isContextMenuDrawn()

   Widgets menu info

int isADialogDrawn()

   Widgets dialog info



# STUFFS

int updateVirtualPad(int scn)

   Update VirtualPAD with script : MAINSCENE,ACTUALSCENE,[0..n]

int forgetVirtualPad(int scn)

   Forget VirtualPAD

int drawVirtualPad(int onoff)

   Toggle draw VirtualPAD

int isAFile(char *fname)

   fname is a file

int freeKeyboard()

   reset pads

int getDirectoryFromPath(char *fname,char *dir)

   filepath function

int getFileFromPath(char *fname,char *file)

   filepath function



# PTRS

int memoryCopy(char *dest,char *src,int nb)

   memory $char *$ stuffs

int memoryAdd(char *dest,char *src,int nb)

   memory $char *$ stuffs

int memoryMul(char *dest,char *src,int nb)

   memory $char *$ stuffs

int memorySub(char *dest,char *src,int nb)

   memory $char *$ stuffs

int memoryZero(char *dest,int nb)

   memory $char *$ stuffs

int memorySet(char *dest,int value,int nb)

   memory $char *$ stuffs



# FORMS

int formSelect(int nf,int cf)

int formDelPointFromIndex(int clf,int cf,int n)

int formGetPointFromIndex(int clf,int cf,int n,vector v)

int formSetPointFromIndex(int clf,int cf,int n,vector v)

int formSetNumberOfPointsFromIndex(int clf,int cf,int nb)

int formSetTagFormFromIndex(int clf,int cf,int tag)

int formNewFormFromIndex(int clf)

int formNewForms()

int formGetNBForms()

int formGetFormNumber(int nf,int cf)

int formGetCloser()

int formSelectedNB(int n,float x,float y)

int formSelectedGetPoint(int n,vector v)

float formSelectedGetLen(int n)

int formOldNB(int n,float x,float y)

int formOldGetPoint(int n,vector v)

float formOldGetLen(int n)

int formSelectedSetPoint(int n,float x,float y)

int formSelectedSetLen(int n,float len)

int formsSetView(float dx,float dy,float zoom)

int formDraw(int n,int sub)

int formsDraw(int n)

int formShaperEdit()

int formDrawGrid()

int formsBackup()

int formsRestore()

int formGetPointed(vector v)

int formGetCoo(vector v)

int formScale(float sx,float sy)

int formRotate(float ang)

int formStartEdit()

int formEndEdit()

int formEndEditClose()

int formsGetDEF()

int formsSetDEF(int value)

int formsGetMISC()

int formsSetMISC(int value)

int formsGetRAYON()

int formsSetRAYON(int value)

int formCreateCircle()

int formCreateQuad()

int formCreateSpiral()

int formCreateCopy()

int formCreateTri()

int formSubdivise()

int formTag()

int formsAdd()

int formsMerge()

int formsSubtract()

int formInvert()

int formSelectedNum()

int formDelete(int n)

int formToggleEditNormals(int onoff)

int formsReset()

int formsDrawNormals(int onoff)

int formsDrawPoints(int onoff)

int formsDrawCrosses(int onoff)

int setFormImageFile(char * filename)

int getFormImageFile(char * filename)

int formTranslateVertex(int n,float x,float y)

int formGetVertex()

int formsUploadShape()

int formsUploadObjectExtrude()

int formsUploadObjectExtrudeAll()

int formsUploadObjectRev()



# SEGMENTS

int intersectionSegment(float ax1,float ay1,float ax2,float ay2,float bx1,float by1,float bx2,float by2)

   [axy1,axy2] intersection [bxy1,bxy2] return 1

float intersectionSegmentGetPointX()

   x value of intersection

float intersectionSegmentGetPointY()

   y value of intersection



# PATTERN RECOGNITION

int patternRegister(char * sstart,char *send)

int patternCalculate(int num,int nb)

int patternCompare(int num,int nb)

int patternGet(int num,char *s)

int patternDrawlines()

int patternHasIntersections(int nb)

int patternSetAffect(int n,int val)

int patternGetAffect(int n)

int patternSetNumbers()

int patternSaveShape(int nb,int num,int aff)

int patternSetting(int val)

int patternCompareAlphaNum(int nb,char * s)

int patternCompareFormattedAlphaNum(int nb,char * s,char * fmt)

int patternDeleteLastSymbol(int nb)

int patternAlphaNumSingleStart(int nb,int key)

int patternAlphaNumSingleEnd(int nb,int key)



# A STAR

int AstarPushBank(int bank)

   up to 128 banks

int AstarPopBank(int bank)

   up to 128 banks

int AstarSolve()

   -1: path not found, 0..n: path found through closest

int AstarRegisterPoint(vector p)

   add checkpoint

int AstarClearPoints()

   clear checkpoints

int AstarRegisterLink(int a,int b)

   add link

int AstarClearLinks()

   clear links

int AstarClosest(vector p)

   closest point

int AstarNbPoints()

   nb points

int AstarNbLinks()

   nb links

int AstarLinkA(int n)

   link A

int AstarLinkB(int n)

   link B

int AstarGetPoint(int n,vector v)

   point n

int AstarNormalize()

   subdivise links

int AstarNormalizeCoef(int prm)

   subdivise links x prm



# MODULE SPECIFICS

int hasardPositions(char *tab,int nb,int dimx,int dimy,int dimz)

   tab="vector list[x]", generate random coordinates



# MODULE SPECIFICS

int uploadAddedToScene(int wo)

int uploadAddedToSceneAdditionnals(int wo)

int downloadAddedToScene(int wo)

int downloadAddedToSceneAdditionnals(int wo)

int downloadWorldToScene(int wo)

int downloadWorldToSceneAdditionnals(int wo)

int getTextureSelectedIndex()

int sceneSet(int scn)

   -1: main -666:module 0..n:secondary

int sceneSetContainers(int scn)

   -1: main -666:module 0..n:secondary

int sceneGet()

   -1: main -666:module 0..n:secondary



# IMAGES BANK & TEXTURES

int loadImage(int n,char *fname)

   Images load function with filename

int loadImageMem(int n,char *ext,char *svar,int len)

   Images function ext="PNG" or "JP2" svar reference to a char*

int loadImageTexture(int nt,char *filename)

   load texture

int loadImageBump(int nt,char *filename)

   load bump map

int loadImageNormals(int nt,char *filename)

   load normal map

int loadImageTextureMem(int nt,char *ext,char *svar,int len)

   load texture

int loadImageBumpMem(int nt,char *ext,char *svar,int len)

   load bump map

int loadImageNormalsMem(int nt,char *ext,char *svar,int len)

   load normal map

int valueImageW(int n)

   Images function

int valueImageH(int n)

   Images function

int typeImage(int n)

   Images function

int freeImage(int n)

   Images function

int copyImage(int n,char *destname)

   Images function

int textureImage(int n,int nt)

   Image n to texture lib nt



# ALPHABETA FUNCTIONS (DUAL GRAPHS)

int nedLoadHeader(char *filename,int img,char *svar)

   Local path .NED header reader,img Image bank

int nedLoadHeaderFullPath(char *filename,int img,char *svar)

   Full path .NED header reader,img Image bank

int getDeadDeerDir(char *dir)

   Folder of the application



# ALPHABETA FUNCTIONS (DUAL GRAPHS)

ALPHABETA_DEPTH(integer accessible during call all alphabeta functions warp)

ALPHABETA_COLOR(integer (signifiant of color in dual graph) accessible during call all alphabeta functions warp)

ALPHABETA_NUMBER(integer (signifiant of move number in dual graph) accessible during call all alphabeta functions warp)

int registerAlphaBeta(char *eval,char *moves,char *nbmoves,char *bestmove,char *nomove)

   Alpha Beta functions part to be called

int callAlphaBeta(int color,int max_iterations)

   Alpha Beta function to be called



# SCRIPT EXAMPLES

Scripts consist in three main functions OPEN, LOOP, and CLOSE, in order to manage animation.

A list of functions are set to control sounds, text draw, interactions, etc.

# EXAMPLE 1 : Physic of two objects on a recipe.



   ##################################################################
?? Anim Script
??#################################################################

??#################################################################
??oid OPEN()
??

???setParam(CAMERA,OFF);
???setParam(SHOWINFOS,OFF);
??  setParam(OBJINFOS,OFF);
???setParam(SHOWGRID,OFF);
???setParam(SINGLE,ON);
???setParam(LIGHTS,OFF);

???resetFixedObjects();
???resetTags();
???addFixedObject(0);
??  createEnvPhysic(0)
???addProp(0,0);
???addProp(0,1);
???propDynamic(0);
???propDynamic(1);
???setEnvTransformationWO(0,0);
??

??#################################################################
??oid LOOP()
??

???toggleAddedAnim(0,0);
???toggleAddedAnim(1,0);
???calculateEnvPhysic(0,TIME_DT);
??

??#################################################################
??oid CLOSE()
??

???deleteEnvPhysic(0);
??

??#################################################################

# EXAMPLE 2 : Another form of physic managing.



   ##################################################################
?? Anim Script
??#################################################################

??#################################################################
??oid OPEN()
??

???setParam(CAMERA,OFF);
??  setParam(SHOWINFOS,OFF);
??  setParam(OBJINFOS,OFF);
???setParam(SHOWGRID,OFF);
???setParam(SINGLE,ON);
???setParam(LIGHTS,OFF);

???resetFixedObjects();
???resetTags();

??  createEnvPhysicVoid(0);
???addObjToEnvPhysic(0,0);

???addProp(0,0);
???propDynamic(0);
??

??#################################################################
??oid LOOP()
??

???toggleAddedAnim(0,0);
???calculateEnvPhysic(0,TIME_DT);
??

??#################################################################
??oid CLOSE()
??

???deleteDuplicates();
??

??#################################################################

# EXAMPLE 3 : Texts drawing during sequence.



?#################################################################
?? Anim Script
??#################################################################

??#################################################################
??oid OPEN()
??

???setParam(CAMERA,ON);
???setParam(SHOWINFOS,OFF);
???setParam(OBJINFOS,OFF);
???setParam(SHOWGRID,OFF);
???setParam(SINGLE,OFF);
???setParam(LIGHTS,ON);

???setColor(1.0,1.0,1.0);
???setScale(0.7);
???addText(0,"La cathéärale de Saint-Jean de Luz.");
???setTextOffPos(0,0,0.8);

???
???setColor(1.0,1.0,1.0);
???setScale(0.7);
???addText(1,"Le bes.");
???setTextOffPos(1,0,0.8);

???setColor(1.0,1.0,1.0);
???setScale(0.7);
???addText(2,"Les tournesols du jardin.");
???setTextOffPos(2,0,0.8);

???setColor(1.0,1.0,1.0);
???setScale(0.7);
???addText(3,"Les fleurs artificielles de ma grand-mèòe.");
???setTextOffPos(3,0,0.8);
????????setColor(1.0,1.0,1.0);
???setScale(0.7);
???addText(4,"Nature morte appliquéå.");
???setTextOffPos(4,0,0.8);

???setColor(1.0,1.0,1.0);
???setScale(0.7);
???addText(5,"Nature morte des annéås Physique.");
???setTextOffPos(5,0,0.8);

???setColor(1.0,1.0,1.0);
???setScale(0.7);
???addText(6,"Mes premiers tournesols.");
???setTextOffPos(6,0,0.8);

???setColor(1.0,1.0,1.0);
???setScale(0.7);
???addText(7,"Les tournesols voléó.");
???setTextOffPos(7,0,0.8);

???setColor(1.0,1.0,1.0);
???setScale(0.7);
???addText(8,"Nature sale.");
???setTextOffPos(8,0,0.8);

???setColor(1.0,1.0,1.0);
???setScale(0.7);
???addText(9,"Les néîuphars des Jardins de Martels.");
???setTextOffPos(9,0,0.8);

???initSound();

???loadSound(0,"cavewind.wav",20000);
???setVolumeSound(0,1.0);
???playSound(0,1);

??

??#################################################################
??oid LOOP()
??

???if ((KEY>=97)&&(KEY<100)) playTextAnim(0,OFF);
???if ((KEY>=00)&&(KEY<03)) playTextAnim(0,OFF);
???if ((KEY>=7)&&(KEY<13)) playTextAnim(1,OFF);
???if ((KEY>=17)&&(KEY<23)) playTextAnim(2,OFF);
???if ((KEY>=27)&&(KEY<33)) playTextAnim(3,OFF);
???if ((KEY>=37)&&(KEY<43)) playTextAnim(4,OFF);
???if ((KEY>=47)&&(KEY<53)) playTextAnim(5,OFF);
???if ((KEY>=57)&&(KEY<63)) playTextAnim(6,OFF);
???if ((KEY>=67)&&(KEY<73)) playTextAnim(7,OFF);
???if ((KEY>=77)&&(KEY<83)) playTextAnim(8,OFF);
???if ((KEY>=87)&&(KEY<93)) playTextAnim(9,OFF);

??

??#################################################################
??oid CLOSE()
??

???stopSound(0);
???freeSound(0);
???killSound();
??

??#################################################################

# EXAMPLE 4 : Bubble shoot game.



??#################################################################
?? Anim Script
??#################################################################

??nt STATE;
??nt BALL;
??loat CPT;
??nt SCORE;

??nt num0[10]={27,56,55,54,53,52,51,50,49,48};
??nt num1[10]={37,36,35,34,33,32,31,30,29,28};
??nt num2[10]={47,46,45,44,43,42,41,40,39,38};

??#################################################################
??oid OPEN()
??

???STATE=0;
???BALL=0;
???CPT=0;
???SCORE=0;

???setParam(CAMERA,OFF);
???setParam(SHOWINFOS,OFF);
???setParam(OBJINFOS,OFF);
???setParam(SHOWGRID,OFF);
???setParam(SINGLE,OFF);
???setParam(LIGHTS,OFF);

???toggleInteractions(0);

???setAnimSpeed(230);

??

??#################################################################
??oid LOOP()
??

???int n;
  ??int m;
???float ff;

???CPT=CPT+0.1;

???toggleAddedAnim(1,0);
???toggleAddedAnim(2,0);
???toggleAddedAnim(14,0);

???ff=2048.0+100.0*sin(CPT);

???Camera(ff,0,10);

???if (STATE==0)
???{
?????ocusAdded(13); 
?????f (isMouseOnAdded(1)==1) 
?????
??????toggleAddedAnim(1,1);
??????if (mouseButton(0)==1) 
??????{
????????TATE=1;
????????ALL=rand(8);
????????CORE=0;
??????}
?????
?????lse setObjectAddedRotation(1,0.0,0.0,0.0);

?????f (isMouseOnAdded(2)==1) 
?????
??????toggleAddedAnim(2,1);
??????if (mouseButton(0)==1) 
??????{
????????topAnim();
??????}
?????
?????lse setObjectAddedRotation(2,0.0,0.0,0.0);
???}

???if (STATE==1)
???{
?????ocusAdded(12);


?????f (isMouseOnAdded(14)==1) 
?????
??????toggleAddedAnim(14,1);
??????if (mouseButton(0)==1) STATE=0;
?????
?????lse setObjectAddedRotation(14,0.0,0.0,0.0);

?????or (n=0;n<8;n++)
?????
??????if (n!=BALL)
??????{
????????oggleAddedAnim(15+n,0);
????????etObjectAddedStartPosition(15+n);
??????}
?????

?????or (n=27;n<57;n++)
?????
??????toggleAddedAnim(n,0);
??????setObjectAddedStartPosition(n);
?????

?????=15+BALL;

?????oggleAddedAnim(n,1);

?????f (isMouseOnAdded(n)==1) 
?????
??????if (mouseButton(0)==1) 
??????{
????????ALL=rand(8);
????????CORE=SCORE+100;
??????}
?????

?????oggleAddedAnim(24,0);
?????etObjectAddedStartPosition(24);

?????oggleAddedAnim(25,0);
?????etObjectAddedStartPosition(25);

?????oggleAddedAnim(26,0);
?????etObjectAddedStartPosition(26);

?????=SCORE/100;
?????=mod(n,10);
?????etObjectAddedToAdded(num0[m],24);

?????=SCORE/1000;
?????=mod(n,10);
?????etObjectAddedToAdded(num1[m],25);

?????=SCORE/10000;
?????=mod(n,10);
?????etObjectAddedToAdded(num2[m],26);

???}
??

??#################################################################
??oid CLOSE()
??

??

??#################################################################








# Panel scripts.



# Variables

COMMAND PARAM

Creation defines

PROP_TEXT PROP_BUTTON PROP_SEPARATOR PROP_3BUTTONS PROP_2BUTTONS PROP_CTEXT PROP_CSTEXT PROP_BUTTON_CHECK PROP_3BUTTONS_CHECK PROP_2BUTTONS_CHECK PROP_SLIDER PROP_SWITCH

Drawing defines

PANEL_OBJNULL PANEL_WORLD PANEL_SELECTFACES PANEL_SELECTVERTEX PANEL_LIGHTS PANEL_ADDED PANEL_NKEYS PANEL_OBJ PANEL_SELPREV PANEL_MAPPEREDIT PANEL_SPRAY PANEL_BONES PANEL_NODING PANEL_NOTBONES PANEL_SPRAYBUMP PANEL_VOID

Attributes

EMPTY PLAIN EXTERIOR PROJECT

Added attributes

BREAKABLE UNBREAKABLE FIXED GLASS BOX MESH FULLMESH

BOX CYL_X CYL_Y CYL_Z SPHERE MESH FULLMESH


# Functions.

int ok()

int init(char *name)

int add(char *name,int type,int drawing)

int add(char *name,int type,int var,int range0,int range1,int drawing)

int modify(int index,int act,int st1,int st2,int st3)

int getValue(int index,int value)

int AddAddedStringAtBegin(char *str)

int ResetAddedString()

int AddAddedString(char *str)

int SetAddedStatus(int n)

int SetAddedProp(int n)

int Do(int fn_id)

int SendMessage(int msg_id)

int GenScriptClean()

int GenScriptAdd(char *op)

int GenScriptDo()




# Shader Contexts



########################################################

Relative Textures parameters for shader warps:

########################################################

TEXTURE Tex;

TEXTURE Bump;

and for envmap: TEXTURE Env;

and for shadowing:

single: (one) for directionnal light or projected

TEXTURE Shd;

tetra: (fourty) for omni lights

TEXTURE Shd1;

TEXTURE Shd2;

TEXTURE Shd3;

TEXTURE Shd4;

and for spot lights:

TEXTURE Spot;

########################################################

context.ambient

########################################################

...

MATRIX WORLD;

MATRIX VIEWPROJ;

MATRIX REFLEC;

VECTOR Interpolant;

VECTOR VSParams;

PSVECTOR PSParams;

...

PSVECTOR Ambient;

...

########################################################

context.light

########################################################

...

MATRIX WORLD;

MATRIX REFLEC;

MATRIX VIEWPROJ;

VECTOR Interpolant;

VECTOR VSParams;

PSVECTOR PSParams;

...

VECTOR Light;

PSVECTOR Color;

VECTOR Attenuation;

PSVECTOR Range;

...

########################################################

context.daylight

########################################################

...

MATRIX WORLD;

MATRIX REFLEC;

MATRIX VIEWPROJ;

VECTOR Interpolant;

VECTOR VSParams;

PSVECTOR PSParams;

...

VECTOR LightDir;

PSVECTOR Color;

...

########################################################

context.lightandamb

########################################################

...

MATRIX WORLD;

MATRIX REFLEC;

MATRIX VIEWPROJ;

VECTOR Interpolant;

VECTOR VSParams;

PSVECTOR PSParams;

...

VECTOR LightDir;

PSVECTOR Color;

PSVECTOR Ambient;

...

########################################################

context.lightwithshadowone

########################################################

...

MATRIX WORLD;

MATRIX REFLEC;

MATRIX VIEWPROJ;

MATRIX REF;

VECTOR Interpolant;

VECTOR VSParams;

PSVECTOR PSParams;

...

VECTOR LightDir;

VECTOR Color;

VECTOR LIGHTPOS;

VECTOR MULTI;

PSVECTOR Ambient;

...

########################################################

context.lightwithshadowfourty

########################################################

...

MATRIX WORLD;

MATRIX REFLEC;

MATRIX VIEWPROJ;

MATRIX REF1;

MATRIX REF2;

MATRIX REF3;

MATRIX REF4;

VECTOR Interpolant;

VECTOR VSParams;

PSVECTOR PSParams;

...

VECTOR LIGHTPOS;

VECTOR MULTI;

VECTOR Light;

PSVECTOR Color;

VECTOR Attenuation;

PSVECTOR Range;

...

########################################################

context.lightwithshadowspotlight

########################################################

...

MATRIX WORLD;

MATRIX VIEWPROJ;

MATRIX REF;

VECTOR Interpolant;

VECTOR VSParams;

PSVECTOR PSParams;

...

VECTOR LIGHTPOS;

VECTOR MULTI;

...

########################################################

context.spotm

########################################################

...

MATRIX WORLD;

MATRIX REFLEC;

MATRIX VIEWPROJ;

MATRIX REF;

VECTOR Interpolant;

VECTOR VSParams;

PSVECTOR PSParams;

...

VECTOR LIGHTPOS;

VECTOR MULTI;

VECTOR Light;

PSVECTOR Color;

VECTOR Attenuation;

PSVECTOR Radius;

PSVECTOR Range;

...

########################################################

context.lightwithshadowspot

########################################################

...

MATRIX WORLD;

MATRIX REFLEC;

MATRIX VIEWPROJ;

MATRIX REF;

VECTOR Interpolant;

VECTOR VSParams;

PSVECTOR PSParams;

...

VECTOR Light;

PSVECTOR Color;

VECTOR Attenuation;

PSVECTOR Radius;

PSVECTOR Range;

...

########################################################

Those parameters are dynamic from script

########################################################

Interpolation of morph keys:

VECTOR Interpolant;

Vertex Shader and Pixel Shader parameters:

VECTOR VSParams;

PSVECTOR PSParams;

Vertex Shader and Pixel Shader parameters for env mapping:

VECTOR VECLIGHT;

VECTOR CAMERA;

########################################################

Relative Position Normal warps:

########################################################

Vertex Buffers have 4 forms in Dead Deer:

For Quads:

   [VERTEXFORMAT] XYZ DIFFUSE TEX0

For Common Objects:

   [VERTEXFORMAT] XYZ NORMAL TEX0

For Morphing Objects:

   [VERTEXFORMAT] MORPH

For Bone Tree Objects:

   [VERTEXFORMAT] XYZ NORMAL BLEND TEX0

GetPosition(vec4 pos)

   Vertex Shader Position for vertexbuffers NORMAL, MORPH, TREE

GetNormal(vec4 pos)

   Vertex Shader Normal for vertexbuffers NORMAL, MORPH, TREE

GetPositionMatrix(vec4 pos, mat4 WORLD)

   Vertex Shader Position for vertexbuffers NORMAL, MORPH, TREE

GetNormalMatrix(vec4 pos, mat4 WORLD)

   Vertex Shader Normal for vertexbuffers NORMAL, MORPH, TREE