Search content:

 

Personal Menu
Username:
Password:
Save password

Become a member

Forgot Password?

 

Don't miss these
Set Properties of a Flash Sprite
Export JPEG
ZGTSB-ButtonDown
Slider puzzle (imaging lingo)
Hide mouse on idle
Orbital Master
Writing text to the user's drive
simChatting Xtra
KeyboardControl Xtra Lite
Lingofish
MediaMacros Xtras Mall
 

 

 

Behavior 3D Sprite

Added on 1/31/2000

 

Compatibilities:
D7 D8 Mac PC Script Shockwave

This item has not yet been rated

Author: DaveCole

Rotates a sprite in 3D Requires Dave"s 3D engine The newest version and full example files are always available at http://www.dubbus.com/devnull

-- Dave's Lingo 3D Engine v7.1 FULL - Last Modified 12/14/99
-- Dave Cole - dcole@sigma6.com
-- Special thanks to Terry Schussler of Trevi Media (http://www.trevimedia.com) for optimizations!
--
-- Dave's 3D Engine is Shareware.  If you use this source for commercial gain, you
-- must send a $20 shareware registration fee to:
--
-- Dave Cole
-- 575 Leroy
-- Ferndale, MI 48220
--
--
--
-- Copyright (c) 1998 David Cole
-- All rights reserved.
-- Redistribution and use in source and binary forms are permitted
-- provided that the above copyright notice and this paragraph are
-- duplicated in all such forms and that any documentation,
-- advertising materials, and other materials related to such
-- distribution and use acknowledge that the software was developed
-- by David Cole, as well as that the user, if using this software
-- for financial gain, has paid the $20 shareware registration fee.
-- THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
-- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
-- WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
--
-- You may freely redistribute this 3D engine so long as the credits and accompanying
-- credits README file remain with the engine at all times.  If you modify it, please
-- annotate notes about your modification and notify me about your changes -- I would
-- like to learn what others can do with this thing!
--
-- The intention of this code is to allow the representation, transformation, and 2D
-- projection and display of 3-dimensional graphics from within a director film.  The
-- interface has been styled loosely after OpenGL for ease of use.
--
-- If this source exists in its original distribution, a manual is available in cast
-- member 3.
--
-- This graphics engine uses a right-handed coordinate system with a view that defaults
-- to looking down the negative z axis from the origin.
--
-- This is the FULL release of Dave's Lingo 3D Engine.  That means that although care
-- has been taken to optimize the routines for speed, the primary intention of this code is
-- to offer a flexibile, accurate, fully-functional 3D graphics system.
--
-- All points use homogenous coordinates.  4x4 Matrices are represented as nested lists:
-- (i.e. [[],[],[],[]]).  1x4 Matrices are represented as a single 4-element list (i.e.
-- [0.0, 0.0, 0.0, 1.0]).  
--
-- *Note: If this engine is removed from its original distribution movie, the lingo below
-- in green can be deleted, all green lingo below is demo-movie specific and not necessary
-- for the 3D Engine to function properly.




--------------------------------------------------------------------------------------------------------
-- Globals  --------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------

global mModelView         -- A 4x4 matrix that represents the current ModelView matrix.
global mProjection        -- A 4x4 matrix that represents the current Projection matrix.
global mModelViewStack    -- A stack of saved ModelView matrices
global mProjectionStack   -- A stack of saved Projection matrices
global mv                 -- 1: Current Matrix Operations performed on ModelView matrix, 0: Current Matrix Ops Performed on Projection Matrix
global point              -- A point datatype for misc. use (in homogenous coordinates)
global xCoefficient       -- used in viewport transformations
global yCoefficient       -- used in viewport transformations
global halffov            -- used to scale sprites accurately
global sortSprites        -- 1: Sprites with a nearer Z value will take a higher # sprite channel (slower)
--                        -- 0: Sprites will stay in their channels (less accurate looking but faster)
global cullBackfaces      -- 1: Cull backfacing quads, 0: don't
global cullBackfaces_cw   -- 1: Clockwise defined vertices determine the front face of a quad, 0: Counterclockwise
--                        -- .. This property only is checked if cullBackfaces = 1
global activateClipping   -- 1: Quads/Sprites are clipped when outside the frustum, 0: no clipping is done
global lookupList
global DWatcher
global DWatcher_newChange
global use3DWatcher

global lightingList       -- a list of lights (format: [uniqueID:[x, y, z, r, g, b]])

global debug              -- Set to 1 to dump tons of debugging information.


global xSlider, ySlider, zSlider, xScale, yScale, zScale, Frustum, rox, roy, roz, roton  -- custom demo program specific


on prepareMovie
  clearGlobals
  
  set mModelView = [[1000, 0, 0, 0], [0, 1000, 0, 0], [0, 0, 1000, 0], [0, 0, 0, 1000]]
  set mProjection = [[1000, 0, 0, 0], [0, 1000, 0, 0], [0, 0, 1000, 0], [0, 0, 0, 1000]]
  
  set activateClipping = 0
  set use3DWatcher = 0
  set cullBackfaces = 1
  set cullBackfaces_cw = 1
  set DWatcher_newChange = 1
  set mModelViewStack = []
  set mProjectionStack = []
  set point = [0, 0, 0, 1.0]
  set lookupList = [:]
  sort lookupList
  set mv = 1
  set sortSprites = 1
  set halffov = 1
  
  set debug = 0                 -- Set to 1 to print tons of debugging info
  ---- custom for-the-demo-only, you can delete this stuff
  set Frustum = 0.8
  set xSlider = 0.0
  set ySlider = 0.0
  set zSlider = -40.0
  
  set xScale = 1.0
  set yScale = 1.0
  set zScale = 1.0
  
  set rox = 0.0
  set roy = 0.0
  set roz = 0.0
  set roton = 1
  ---- end custom for-the-demo-only
  
end

on stopMovie
  set the actorlist = []
end

----------------------------------------------------------------------------------------------------------
--  HIGH-LEVEL ROUTINES  ---------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------

-- xFormPoint takes a 4-element list which defines a point as [x, y, z, w] (homogeneous coordinates) and
-- transforms it into a screen position point in the form of a 3-element list [h, v, z] which represents
-- where on the screen the point should appear after being transformed by the ModelView matrix, the
-- projection matrix, the perspective division, and the viewport transformation.  These are known as the
-- window coordinates.  The z element is returned so that the programmer can illicit depth information
-- about this point.  For more info on this process, research a 3D graphics tutorial near you.
-- 0 is returned if the point is not to be drawn. (i.e. it is outside of the clipping planes.)
on xFormPoint p
  --  if debug then put "xFormPoint--------------"
  --  if debug then put "ModelView: "&RETURN&mModelView
  --  if debug then put "Projection:"&RETURN&mProjection
  --  if debug then put "p = "&p
  set z = getAProp(lookupList, p)
  if z = 0 then
    set m = Matrix1x4Mult(p, mModelView)                    -- Do ModelView xformation
    if debug then put "XFormMV:"&RETURN&m
    if (m <> 0) then set m = Matrix1x4Mult(m, mProjection)  -- Do Projection xformation
    else
      beep
      put "ERROR!:  Point couldn't be converted: "&p
      return 0
    end if
    if debug then put "XFormP:"&RETURN&m
    set m = PerspectiveDivide(m)                            -- Do Perspective division & clipping
    if debug then put "XFormPD:"&RETURN&m
    if (m <> 0) then set m = ViewPortXForm(m)               -- Do viewport transformation
    if debug then put "XFormV:"&RETURN&m
    
    addProp(lookUplist, p, m)
    return m
  else
    return z
  end if
  
end

-- Nudge can be used by a 3DSprite or 3DQuad, or your own custom code, to retrieve the transformed
-- coordinates of a geometry based on the current ModelView matrix without performing any of the
-- projection transformation, perspective division, clipping, or viewport transformations.
-- Useful in multi-step transformations.
on Nudge p
  return(Matrix1x4Mult(p, mModelView))
end

-- pFrustum creates a perspective projection matrix with the viewing frustum volume
-- described by the arguments and multiplies it to the current projection matrix.  It is recommended
-- you call mLoadIdentity before calling this, since its effects are cumulative.  (left, bottom, -near) and
-- (right, top, -near) specify the (x, y, z) coordinates of the lower-left and upper-right corners of the
-- near clipping plane; near and far give the distances from the viewpoint to the near and far clipping planes.
-- near & far should be positive.
on pFrustum left, right, bottom, top, near, far
  lookupList = [:]
  set nn = 2.0*near
  set rl = right - left
  set tb = top - bottom
  set fn = far - near
  set mProjection = [[integer(1000*nn/rl), 0, integer(1000*(right+left)/rl), 0], [0, integer(1000*nn/tb), integer(1000*(top+bottom)/tb), 0], [0, 0, integer(1000*-(far+near)/fn), integer(1000*-(far*nn)/fn)], [0, 0, -1000, 0]]
  set halffov = (1.5708 / abs(atan(float(top) / float(near))))
  return 1  
end

-- pOrtho creates an orthagonal projection matrix with the parallel viewing volume described by the given
-- arguments and multiplies it to the current projection matrix.  It is recommended you call mLoadIdentity before
-- calling this, since its effects are cumulative.  (left, bottom, -near) and (right, top, -near) are mapped to
-- the lower-left and upper-right corners of the viewport window in the near clipping plane.  (left, bottom, -far)
-- and (right, top, -far) are mapped to the lower-left and upper-right corners of the far clipping plane which
-- are also mapped to the same corners of the viewport window.  Both near and far can be positive or negative.
on pOrtho left, right, bottom, top, near, far
  lookUpList = [:]
  set rl = right - left
  set tb = top - bottom
  set fn = far - near
  set mProjection = [[integer(2000/rl), 0, 0, integer(1000*(right+left)/rl)], [0, integer(2000/tb), 0, integer(1000*(top+bottom)/tb)], [0, 0, integer(-200/fn), integer(1000*(far+near)/fn)], [0, 0, 0, 1000]]
  set halffov = -1
  return 1
end



-- pViewPort defines the viewport for the view onto the 3D world.  It defines a pixel rectangle in the
-- window where the final image is mapped.  x and y specify the upper lefthand corner of the viewport,
-- width and height are the size of the viewport rectangle in pixels.  An example use of this would
-- be calling pViewPort(0, 0, windowWidth, windowHeight).
on pViewPort x, y, width, height
  set xCoefficient = (width/2) + x
  set yCoefficient = (height/2) + y
  return 1
end

----------------------------------------------------------------------------------------------------------
--  MATRIX OPERATIONS  -----------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------
-- mSelectMatrix takes either "Projection" or "ModelView" as arguments, and designates the current matrix
-- to have any of the transformations or matrix operations done to it.
on mSelectMatrix arg
  if (arg) = "Projection" then set mv = 0
  else set mv = 1
  return 1
end

-- Push current matrix onto stack, current matrix is a copy of what is on top of the stack until you change it.
on mPush
  if (mv) then
    addAt(mModelViewStack, 1, mModelView)
  else
    addAt(mProjectionStack, 1, mProjection)
  end if
  return 1
end

-- Pop a matrix off the stack, current matrix is now what was on top of the stack
on mPop
  lookUpList = [:]
  if (mv) then
    if count(mModelViewStack) then
      set mModelView = getAt(mModelViewStack, 1)
      deleteAt(mModelViewStack, 1)
    end if
  else
    if count(mProjectionStack) then
      set mProjection = getAt(mProjectionStack, 1)
      deleteAt(mProjectionStack, 1)
    end if
  end if
  return 1
end

-- Load the identity matrix into the current matrix
on mLoadIdentity
  lookupList = [:]
  if (mv) then
    set mModelView = [[1000, 0, 0, 0], [0, 1000, 0, 0], [0, 0, 1000, 0], [0, 0, 0, 1000]]
  else
    set mProjection = [[1000, 0, 0, 0], [0, 1000, 0, 0], [0, 0, 1000, 0], [0, 0, 0, 1000]]
  end if
  return 1
end
---------------------------------------------------------------------------------------------------
--   MODELVIEW TRANSFORMATIONS   ------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
-- MODELING TRANSFORMATIONS:

-- Translate the current matrix by x, y, z
-- Viewing transformations should always preceed modeling transformation in your code.
on xTranslate x, y, z
  lookUpList = [:]
  set m1 = [[1000, 0, 0, integer(1000*x)], [0, 1000, 0, integer(1000*y)], [0, 0, 1000, integer(1000*z)], [0, 0, 0, 1000]]
  set mModelView = Matrix4x4Mult(m1, mModelView)
  if mModelView <> 0 then return 1
  else return 0
end

-- Rotate the current matrix on the X axis by angle (in radians)
-- Viewing transformations should always preceed modeling transformation in your code.
on xRotateX a
  lookUpList = [:]
  set m3 = [[1000, 0, 0, 0], [0, integer(1000*cos(a)), integer(1000*-sin(a)), 0], [0, integer(1000*sin(a)), integer(1000*cos(a)), 0], [0, 0, 0, 1000]]
  set mModelView = Matrix4x4Mult(m3, mModelView)
  if mModelView <> 0 then return 1
  else return 0
end

-- Rotate the current matrix on the Y axis by angle (in radians)
-- Viewing transformations should always preceed modeling transformation in your code.
on xRotateY a
  lookUpList = [:]
  set m4 = [[integer(1000*cos(a)), 0, integer(1000*sin(a)), 0], [0, 1000, 0, 0], [integer(1000*-sin(a)), 0, integer(1000*cos(a)), 0], [0, 0, 0, 1000]]
  set mModelView = Matrix4x4Mult(m4, mModelView)
  if mModelView <> 0 then return 1
  else return 0
end

-- Rotate the current matrix on the Z axis by angle (in radians)
-- Viewing transformations should always preceed modeling transformation in your code.
on xRotateZ a
  lookUpList = [:]
  set m5 = [[integer(1000*cos(a)), integer(1000*-sin(a)), 0, 0], [integer(1000*sin(a)), integer(1000*cos(a)), 0, 0], [0, 0, 1000, 0], [0, 0, 0, 1000]]
  set mModelView = Matrix4x4Mult(m5, mModelView)
  if mModelView <> 0 then return 1
  else return 0
end

-- Scale the current matrix by x, y, z (>1.0 grows, <1.0 shrinks)
-- Viewing transformations should always preceed modeling transformation in your code.
on xScale x, y, z
  lookUpList = [:]
  set m2 = [[integer(1000*x), 0, 0, 0], [0, integer(1000*y), 0, 0], [0, 0, integer(1000*z), 0], [0, 0, 0, 1000]]
  set mModelView = Matrix4x4Mult(m2, mModelView)
  if mModelView <> 0 then return 1
  else return 0
end


-- VIEWING TRANSFORMATIONS: Camera placement routines:

-- pilotView uses the analogy of a plane to position the camera, with the runway at the origin and the
-- plane at coordinates (plane_x, plane_y, plane_z), with a roll, pitch, and heading (in all in degrees)
-- Viewing transformations should always preceed modeling transformation in your code.
on pilotView plane_x, plane_y, plane_z, roll, pitch, heading
  lookUpList = [:]
  set roll = (roll/360.0) * (2.0*PI)
  set pitch = (pitch/360.0) * (2.0*PI)
  set heading = (heading/360.0) * (2.0*PI)
  
  if (xRotateZ(roll) AND xRotateY(pitch) AND xRotateX(heading) AND xTranslate(-plane_x, -plane_y, -plane_z)) then
    return 1
  else
    return 0
  end if
end



-- polarView uses the analogy of a camera orbiting around an object that's centered at the origin, constantly
-- pointing at the origin.  Distance defines the radius of the orbit, azimuth describes the angle of rotation
-- of the camera around the object on the x-y plane, measured from the positive y-axis.  Elevation measures
-- the angle of rotation of the camera in the y-z plane, measured from the positive z-axis.  Twist represents
-- the rotation of the viewing volume around its line of sight.
-- Viewing transformations should always preceed modeling transformation in your code.
on polarView distance, twist, elevation, azimuth
  lookUpList = [:]
  if (xTranslate(0, 0, -distance) AND xRotateZ(-twist) AND xRotateX(-elevation) AND xRotateZ(azimuth)) then
    return 1
  else
    return 0
  end if
end

-----------------------------------------------------------------------------------------------------
-- Utility Routines ---------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
on spawnDWatcher
  set DWatcher = new (script "3DWatcher")
end

on killDWatcher
  repeat while deleteOne(the actorlist, DWatcher)
  end repeat
end

-- isBackfacing determines if, from the given list of transformed vertices and certain environmental variables,
-- a quad's front or back is facing the camera, and returns a 1 if it is backfacing, 0 otherwise.
on isBackfacing vPList
  a = 0
  repeat with i = 0 to 3
    set z = ((i + 1) mod 4)
    set m = i+1
    set n = z+1
    a = a + ((vPList[m][1] * vPList[n][2]) - (vPList[n][1] * vPList[m][2]))
  end repeat
  set a = a/2.0
  if cullBackfaces_cw then
    if a > 0 then return 0
    else return 1
  else
    if a > 0 then return 1
    else return 0
  end if
end


-- zSort sets the locZ properties of the
on zSort listB
  
  put count(listB) into listBCount
  repeat with i = 1 to listBCount
    set vP = listB[i].myVPos
    
    
    if vP <> 0 then
      sprite(listb[i].mySprite).locZ = 1000-(vP[3] * 1000)    
    end if      
  end repeat
  
  return 0
  
end

-- Juggle is an old sprite sorting routine for D6.5 and below.  If you are using D7, use the zSort handler above.
-- It works just like Juggle but doesn't move any sprites around, it instead uses the locZ property and takes one
-- less argument.
on Juggle listB, lowSprite
  global passCtr
  global countlist
  set listA = [:]
  sort listA
  
  put count(listB) into listBCount
  repeat with i = 1 to listBCount
    set vP = the myVPos of getAt(listB, i)
    
    if vP <> 0 then
      
      addProp(listA, getAt(vP, 3), getAt(listB, i))
      
    else
      addProp(listA, 0.0, getAt(listB, i))
      
    end if      
  end repeat
  set countlist = count(lista)
  --sort listA
  --put listA
  set j = 0
  
  put (lowSprite + listBCount - 1) into highSprite
  repeat with i = highSprite down to lowSprite
    set j = j + 1
    set z= getAt(listA, j)
    --    fixScriptInstanceList(z, i)
    
    setSprite(z, i)
    
    set the member of sprite i = the myMember of z  
    set the rect of sprite i = the myRect of z
    set the blend of sprite i = the myBlend of z
    set the ink of sprite i = the myInk of z
    
    
    
    -- backColor, foreColor, editable, moveableSprite, constraint, trails
  end repeat
  
  return 0
  
end



------------------------------------------------------------------------------------------
-- OTHER UTILITY & MATH FUNCTIONS YOU PROBABLY DON'T NEED TO DIRECTLY ACCESS -------------
------------------------------------------------------------------------------------------


-- PerspectiveDivide converts a homogeneous coordinate into a normalized device coordinate.
-- point is a 4 element list.  Returns a 3-element list on success, 0 if the point is not to be drawn.
on PerspectiveDivide thePoint
  
  if count(thePoint) = 4 then
    set w = getAt(thePoint, 4)
    if w <> 0 then
      set x = getAt(thePoint, 1)
      set y = getAt(thePoint, 2)
      set z = getAt(thePoint, 3)
      
      if activateClipping = TRUE then
        case TRUE of
          (z < -w), (z > w), (y < -w), (y > w), (x < -w), (x > w)   : return 0   -- clipping
        end case
      end if
      
      return [x/w, y/w, abs(z/w)]
    else
      return 0
    end if
  else
    return 0
  end if    
end

-- ViewportXForm takes a normalized device coordinate point and transforms it into a
-- window coordinate.  The argument is a 3-element list.  A 3-element list, [h, v, z] is
-- returned on success.  0 if the point is not to be drawn
on ViewportXForm thePoint
  if count(thePoint) = 3 then
    return [(getAt(thePoint, 1) + 1.0) * xCoefficient, (getAt(thePoint, 2) + 1.0) * yCoefficient, getAt(thePoint, 3)]
  else
    return 0
  end if
end

--Useful math functions

-- 4x4 Matrices are defined as nested lists:  [[],[],[],[]]
-- 1x4 Matrices are defined as a 4 element list: [,,,]

on test
  a = [3,3,3,3]
  
  
  starttimer
  repeat with i = 1 to 500000
    set z = getAt(a, 3)
  end repeat
  put the timer
  
  starttimer
  repeat with i = 1 to 500000
    z = a[3]
  end repeat
  put the timer
  
end

--Matrix4x4Mult takes two 4x4 matrices, multiples them and returns the 4x4 result.
-- (Thanks to Jakob Hede Madsen for the optimization!)
on Matrix4x4Mult a, b
  
  a1 = a[1]
  if a1.count - b.count then
    put "Error: Could not multiply matrices, a.cols != b.rows != 4."
    return 0
  end if
  ----
  a2 = a[2]
  a3 = a[3]
  a4 = a[4]
  --
  b1 = b[1]
  b2 = b[2]
  b3 = b[3]
  b4 = b[4]
  --------
  a11 = a1[1]
  a12 = a1[2]
  a13 = a1[3]
  a14 = a1[4]
  --
  a21 = a2[1]
  a22 = a2[2]
  a23 = a2[3]
  a24 = a2[4]
  --
  a31 = a3[1]
  a32 = a3[2]
  a33 = a3[3]
  a34 = a3[4]
  --
  a41 = a4[1]
  a42 = a4[2]
  a43 = a4[3]
  a44 = a4[4]
  ----
  b11 = b1[1]
  b12 = b1[2]
  b13 = b1[3]
  b14 = b1[4]
  --
  b21 = b2[1]
  b22 = b2[2]
  b23 = b2[3]
  b24 = b2[4]
  --
  b31 = b3[1]
  b32 = b3[2]
  b33 = b3[3]
  b34 = b3[4]
  --
  b41 = b4[1]
  b42 = b4[2]
  b43 = b4[3]
  b44 = b4[4]
  ----
  return [¬
[((a11*b11)+(a12*b21)+(a13*b31)+(a14*b41))/1000,¬
((a11*b12)+(a12*b22)+(a13*b32)+(a14*b42))/1000,¬
((a11*b13)+(a12*b23)+(a13*b33)+(a14*b43))/1000,¬
((a11*b14)+(a12*b24)+(a13*b34)+(a14*b44))/1000],¬
[((a21*b11)+(a22*b21)+(a23*b31)+(a24*b41))/1000,¬
((a21*b12)+(a22*b22)+(a23*b32)+(a24*b42))/1000,¬
((a21*b13)+(a22*b23)+(a23*b33)+(a24*b43))/1000,¬
((a21*b14)+(a22*b24)+(a23*b34)+(a24*b44))/1000],¬
[((a31*b11)+(a32*b21)+(a33*b31)+(a34*b41))/1000,¬
((a31*b12)+(a32*b22)+(a33*b32)+(a34*b42))/1000,¬
((a31*b13)+(a32*b23)+(a33*b33)+(a34*b43))/1000,¬
((a31*b14)+(a32*b24)+(a33*b34)+(a34*b44))/1000],¬
[((a41*b11)+(a42*b21)+(a43*b31)+(a44*b41))/1000,¬
((a41*b12)+(a42*b22)+(a43*b32)+(a44*b42))/1000,¬
((a41*b13)+(a42*b23)+(a43*b33)+(a44*b43))/1000,¬
((a41*b14)+(a42*b24)+(a43*b34)+(a44*b44))/1000]]
  
end

--
-- Matrix4x4Mult takes two 4x4 matrices, multiples them and returns the 4x4 result.
--on Matrix4x4Mult a, b
--  
--  if count(a[1]) = count(b) then
--    put a[1][1] into a11
--    put a[2][1] into a21
--    put a[3][1] into a31
--    put a[4][1] into a41
--    put a[1][2] into a12
--    put a[2][2] into a22
--    put a[3][2] into a32
--    put a[4][2] into a42
--    put a[1][3] into a13
--    put a[2][3] into a23
--    put a[3][3] into a33
--    put a[4][3] into a43
--    put a[1][4] into a14
--    put a[2][4] into a24
--    put a[3][4] into a34
--    put a[4][4] into a44
--    put b[1][1] into b11
--    put b[2][1] into b21
--    put b[3][1] into b31
--    put b[4][1] into b41
--    put b[1][2] into b12
--    put b[2][2] into b22
--    put b[3][2] into b32
--    put b[4][2] into b42
--    put b[1][3] into b13
--    put b[2][3] into b23
--    put b[3][3] into b33
--    put b[4][3] into b43
--    put b[1][4] into b14
--    put b[2][4] into b24
--    put b[3][4] into b34
--    put b[4][4] into b44
--    return [¬
--[((a11*b11)+(a12*b21)+(a13*b31)+(a14*b41))/1000,¬
-- ((a11*b12)+(a12*b22)+(a13*b32)+(a14*b42))/1000,¬
-- ((a11*b13)+(a12*b23)+(a13*b33)+(a14*b43))/1000,¬
-- ((a11*b14)+(a12*b24)+(a13*b34)+(a14*b44))/1000],¬
--[((a21*b11)+(a22*b21)+(a23*b31)+(a24*b41))/1000,¬
-- ((a21*b12)+(a22*b22)+(a23*b32)+(a24*b42))/1000,¬
-- ((a21*b13)+(a22*b23)+(a23*b33)+(a24*b43))/1000,¬
-- ((a21*b14)+(a22*b24)+(a23*b34)+(a24*b44))/1000],¬
--[((a31*b11)+(a32*b21)+(a33*b31)+(a34*b41))/1000,¬
-- ((a31*b12)+(a32*b22)+(a33*b32)+(a34*b42))/1000,¬
-- ((a31*b13)+(a32*b23)+(a33*b33)+(a34*b43))/1000,¬
-- ((a31*b14)+(a32*b24)+(a33*b34)+(a34*b44))/1000],¬
--[((a41*b11)+(a42*b21)+(a43*b31)+(a44*b41))/1000,¬
-- ((a41*b12)+(a42*b22)+(a43*b32)+(a44*b42))/1000,¬
-- ((a41*b13)+(a42*b23)+(a43*b33)+(a44*b43))/1000,¬
-- ((a41*b14)+(a42*b24)+(a43*b34)+(a44*b44))/1000]]
--  else
--    put "Error: Could not multiply matrices, a.cols != b.rows != 4."
--    return 0
--  end if
--end

-- Matrix1x4Mult takes a 1x4 matrix as its first argument and a 4x4 matrix as its second argument
-- and multiplies them, returning the resulting 1x4 matrix.
on Matrix1x4Mult c, b
  if count(b[1]) = count(c) then
    a1 = integer(c[1]*1000)
    a2 = integer(c[2]*1000)
    a3 = integer(c[3]*1000)
    a4 = integer(c[4]*1000)
    
    return [¬
((b[1][1]*a1)+(b[1][2]*a2)+(b[1][3]*a3)+(b[1][4]*a4))/100000.0,¬
((b[2][1]*a1)+(b[2][2]*a2)+(b[2][3]*a3)+(b[2][4]*a4))/100000.0,¬
((b[3][1]*a1)+(b[3][2]*a2)+(b[3][3]*a3)+(b[3][4]*a4))/100000.0,¬
((b[4][1]*a1)+(b[4][2]*a2)+(b[4][3]*a3)+(b[4][4]*a4))/100000.0]
  else
    put "Error: Could not multiple matrices, a.cols != b.rows."
    return 0
  end if
end

-- location = x, y, z, intensity = r, g, b
-- creates a light and returns its unique ID in the lightingList
on createLight location, intensity
  set x = count(lightinglist)
  
  lightingList.addProp(x+1, [location[1], location[2], location[3], intensity[1], intensity[2], intensity[3]])
  
  return x
end

-- deletes a light
on deleteLight uniqueID
  lightingList.deleteProp(uniqueID)
end

on deleteAllLights
  lightinglist = [:]
end


on calculateIntensity polygon, lightingList   --, viewPoint
  set x = count(lightingList)
  repeat with i = 1 to x
    
    
    
  end repeat
  if x = 0 then return 0
end


on vGetViewingVector viewPoint, normalTail
  return( [0, 0, 1] )
end

-- vGetH takes the lighting vector and the viewing vector and returns the unit vector halfway between these two.
-- This is cheaper than using the exact reflection vector.
on vGetH l, v
  return vScalarMult(vAdd(l, v)*0.5)
end  

-- vGetReflectionVector takes the normal vector of a surface, n, and the incident lighting vector l,
-- and returns the reflected vector.
on vGetReflectionVector n, l
  return( vSubtract(vScalarMult(n, 2 * vDotProduct(n, l)), l) )
end

-- vGetLightingVector takes the coordinates of a light (4 element list) and a vertex (4 element list) and
-- returns a the lighting vector associated with them.
on vGetLightingVector light, normalTail
  return([light[1] - normalTail[1], light[2] - normalTail[2], light[3] - normalTail[3]])
end

-- vNormal takes three vertices (4 element lists) of a polygon (v2 being "between" v1 and v3) and returns
-- the normal vector to that polygon.
on vNormal v1, v2, v3
  -- convert vertices to two vectors
  nv1 = [v3[1] - v2[1], v3[2] - v2[2], v3[3] - v2[3]]
  nv2 = [v1[1] - v2[1], v1[2] - v2[2], v1[3] - v2[3]]
  -- calculate normal
  return(vCrossProduct(nv1, nv2))
end

-- vCrossProduct takes two vectors (3 element lists each) and returns their cross product (a 3 element list)
on vCrossProduct v, w
  return([v[2]*w[3] - v[3]*w[2], v[3]*w[1] - v[1]*w[3], v[1]*w[2] - v[2]*w[1]])
end

-- vDotProduct takes two vectors (3 element lists each) and returns their dot product
on vDotProduct v, w
  return(v[1]*w[1] + v[2]*w[2] + v[3]*w[3])
end

-- vScalarMult multiplies vector v by a scalar
on vScalarMult v, scalar
  return([v[1] * scalar, v[2] * scalar, v[3] * scalar])
end

-- vNormalize takes a vector and returns the normalize unit vector of that vector
on vNormalize v
  z = vMagnitude(v)
  return([v[1]/float(z[1]), v[2]/float(z[2]), v[3]/float(z[3])])
end

-- vMagnitude takes a vector and returns its magnitude
on vMagnitude v
  return(sqrt((v[1]*v[1] + v[2]*v[2] + v[3]*v[3])))
end

-- vAdd adds one vector to another
on vAdd v, w
  return([v[1] + w[1], v[2] + w[2], v[3] + w[3]])
end

-- vSubtract subtracts one vector from another
on vSubtract v, w
  return([v[1] - w[1], v[2] - w[2], v[3] - w[3]])
end

-- scaleRect takes a rect and scales the size of the rect based on the scalar coefficient
-- returns the new Rect()
on scaleRect oldrect, scalar
  --  set oldh = (the bottom of oldrect) - (the top of oldrect)
  --  set oldw = (the right of oldrect) - (the left of oldrect)
  
  set oldh = the height of oldrect
  set oldw = the width of oldrect
  
  set midw = (oldw/2)+the left of oldrect
  set midh = (oldh/2)+the top of oldrect
  
  set halfh = (scalar * oldh)/2
  set halfw = (scalar * oldw)/2
  
  return(Rect(midw - halfw, midh - halfh, midw + halfw, midh + halfh))
end


-- positionRect positions a rect centered at a point lH, lV
on positionRect oldrect, lH, lV
  
  set oldh2 = (the height of oldrect)/2
  set oldw2 = (the width of oldrect)/2
  
  return(Rect(lH - oldw2, lV - oldh2, lH + oldw2, lV + oldh2))
end

------------------------------------------------------------------------------
-- The functions below aren't used directly in Dave's 3D Engine, but are    --
-- provided for backwards compatibility with previous versions.             --
------------------------------------------------------------------------------

-- acos() - arccosine function (Thanks Hopper-Ex!)
-- takes values between -1 and 1, returns values between 0 and PI
on acos x
  if abs(x) > 1 then
    return 0
  else if x = 0 then
    return 0
  else
    return(atan(sqrt(1.0 - x*x)/float(x)))
  end if
end

-- asin() - arcsine function (Thanks Again Hopper-Ex!)
-- takes values between -1 and 1, returns values between -PI/2.0 and PI/2.0
on asin x
  if abs(x) > 1 then
    return void
  else if x = 1 then
    return(PI/2.0)
  else if x = -1 then
    return(-PI/2.0)
  else
    return atan(float(x)/sqrt(1.0 - x*x))
  end if
end asin


on floatDiv floatA, floatB
  return integer(floatA - 0.5) / integer(floatB - 0.5)
end

 


Upload Provided by ABCUpload ASP

Contact

MMI
22 West Court Sq
Suite 2C
Newnan, GA 30263
USA

Fax - (206) 339-5833

Send e-mail








disturbed land of confusion music downloads WinXMedia DVD MP4 Video Converter 3.2 gorilla zoe hood nigga download Dragoman 1.6 MAC tagrunner software Alchemy Network Inventory Pro 4.6 canned laughter to download Autodesk AutoCad Electrical 2008 cell phone bill prorate software TechSmith SnagIt 9.0 download r3 dance dance Internet Privacy Eraser 1.5 the best antivirus for canadians Geniesoft Overture 4.1 download sims unleashed full game MediaMan 2.7 worst virus all time Tootoo RMVB To X Video Converter 1.0 dave the barbarian free episode download MAGIX Xtreme Photo And Graphic Designer E-version 2.1 noaa diving program the aquatic network Sony ACID Pro 6.0 qso logging software free Absolute Telnet V6.0 tuck everlasting free downloads Tanida Demo Builder 7.0 bayer nysc corporate program SwirlX3D 1.7 dtmf dial tones download Smart PC Professional 5.3
la femme nikita season 2 download Paragon Easy CD DVD Recorder 9.0
dvd vido copier software Ontrack EasyRecovery Professional 6.1

music mix software cubase virtual rack Active Boot Disk Suite 4.0

mvi conversion program Flash2X EXE Packager 3.0 tim mcgraw forget about us download EZ Backup Windows Mail Premium free download micromedia 8 FabFilter Timeless 1.00 VST nwn 2 preorder downloads NetShareWatcher V1.4 place bids sniping software services day Nuance PDF Converter Professional 5.0
 harmony 676 software PowerISO 4.1

free jumpdrive repair software Serv-U FTP Server 6.4.0.5 Corporate

canadian doctor dicovers cancer killing virus Gogago YouTube Video Converter 1.0 font download chocolate box decorative PrimaSoft Purchase Order Organizer Pro 2.0 cna programs in arizona 1st Mail Server 3.1 download driver pcmcia tekram Anark Studio 3.5 abg and free and antivirus QuarkXPress 6.5
kelso conflict management program for children Privacy Fence 3.5
download rapper eve sex tape Moneydance 2007 MAC practical rifle scoring software ArKaos VJ 3.6 FC3 download anime online getbackers Reallusion Facefilter Studio 2.0 download naruto episode 87 in english Canon DSLR Resize Pro 1.1 For Adobe Photoshop CS2 dbsk song download Thunderhead Engineering PetraSim 4.2 tv program listings for boise idaho TingleSoft Desktop Recorder 1.6 full metal jacket and rudolph download Netiq Chariot 5.4 Final za virus protection ILocalize 3.8 MAC archival supplies affiliate program Alchemy Network Monitor Pro 7.3
spice girls headlines download Corel MediaOne Plus 2.0 Multilingual

download bing bong Tag&Rename 3.1.7

ipaq software find wap DWGCreator 2006 2.0 hayden's creation free download Softabar Password Manager 2.0 ged programs in brooklyn ny PSRemote 1.5 serrato software Soft191 Notebook 1.0 we are fighting dreamers mp3 download Nextlimit Maxwell Render 1.7 something you forgot lil wayne download Panopticum Lens Pro III 3.6 For Adobe Photoshop rn transition programs nc KeyScrambler Premium 2.2 free cosmi game downloads Symantec Norton Ghost 14.0 Norton Ghost Recovery Disk

dragon speak software assisstive Acala DVD Creator 2.9.1

download videofixer MetaProducts StartUp Organizer 2.7 download motorola c975 usb software Applied Acoustics Lounge Lizard Ep-2 2.0 criminal intent download exe Sierra Complete 3D Home Architect 6.0 ishi software Native Instruments Guitar Combos DXi RTAS VST 1.0
executive mba program worse dallas WinReporter 2.0

nora stomach virus DtSearch Desktop 7.5

fax program faster than snappy fax Zuken CADSTAR 10.0
free deer avenger 4 downloads RTSoftwares Turn Off Monitor 4.0 mia avenged sevenfold free download Atomix Virtual DJ V4.2 it internal chargeback software licenses microsoft Word Spring 5.3 driver download motorola v3i IK Multimedia Amplitube Metal 1.0 diabetes navigator certificate program AVS Video Tools 5.1 battle royal subtitles download MAGIX Samplitude Music Studio 14.0
online degree programs tesol BarTender RFID Enterprise Edition 7.7 nafta and maquiladora program IDM UltraCompare Professional V5.1 wait for you yamin free download Acme CAD Converter 7.8 boston by augustana midi download TingleSoft PSP Converter 1.8
nec mobile pro 900c programs IBM VisualAge For Cobol 3.0
v3m driver program RapidWeaver 3.5 MAC spelman college nursing program Game Collector Pro 3.0

atlanta housing authority catalyst program Jeroboam 6.08

equinox grand piano download Okoker ISO Maker 4.4
ipa about program amp activities Scramby 1.5
adventures of tintin pdf download Hash Animation Master 2005 11.1D download ma vie en rose AnyReader 2.5 FULL convert lp music to cd software CONCEIVA Surfstream 1.0 loverboy videos downloads Alien Skin Eye Candy 5.1 Impact Retail For Adobe Photoshop CS2 sr program manager gartner web author Qpict 7.1 MAC
 free download disney pixar invitation backgrounds Maxprog EMail Verifier 3.4 Multilingual
a8n-e bios download SmartCVS Enterprise 7.0 kate nash foundations free download IK Multimedia Amplitube Live 2.0 soldier front aim download Axialis Icon Workshop Professional 6.3 download photoscore PixFiler 5.1
genie garage door opener program Macromedia Captivate 2 daughtry it's not over music download Withdata XlsToSql 1.2 free virus protection ratings NetOp School 6.0 tiger claws download movie Apex PowerPoint Screensaver Maker 2.0 fooly cooly downloads Autodesk MapGuide Enterprise 2009 Server monster rancher pc free download OnOne Photo Frame Pro 3.1 lady marmalade mp3 christina aguilera download ThinApp 4.0
arizona training program coolidge az Portrait Professional Max 6.3
automatic closed-caption software PaperCut ChargeBack V5.1.520 Final free downloads shortwave radio schedules Avex IPod Video Converter 4.5 montessori toddler program Photo Builder Platinum 6.5 download full working nve 3 Likno Web Button Maker 2.0 500 person orgy download Access To MySQL Professional 3.3
download vb with database recordset Corel Photobook 10.3
atc so magical download Motorola Tools Flash V3.0 labtec driver download Araxis Merge 2008 Professional Edition 16 presort software Electric Image Amorphium 3.0

garmin gps 76 manual download Viewline 1.0

gps ephemeris download InstantGet Download Manager V2.0 aca about the convention speaker program Daniusoft Digital Music Converter 2.0 learn mas90 accounting software CyberLink LabelPrint 2.0 beginner training program for mini triathalon Keyboard Sounder V1.5 what is the worst virus Corel WordPerfect Office 2002 Professional Edition download brownie smile song J.A Associates RPN Engineering Calculator 9.0 cooperative purchase program california Tivity Xtivity 1.3 download tree of heaven ost Bentley WaterGEMS XM 08 download track from chariots of fire Real VNC Enterprise Edition 4.1.9 forensic entomology graduate programs Autodesk 3ds Max Design 2009 new jersey greyhound adoption program inc Photo Restorer 2.2 download jetadmin Markasoft Database Assistant 4.1 epicor software press releases Mazaika 3.2d coca-cola scholars program Webmail Retriever For MSN 3.5 download lil wayne man eater remix SWiSHmax 1.0 screening mammography program bc 3D World Atlas 2008 phonics alive software AnzioWin 15.2 mdk full game download Autodesk Architectural Desktop 2006 dethalbum music download Stitcher 4.0 MAC eddie murphy raw download River Past Audio Capture 7.6 reflective journal writing template download BreakPoint Hex Workshop 5.1 green fazio video download LizardTech Document Express Enterprise 5.1.0 tts direct download site forum Ableton Live 7.0

pest control popup blocker spyware Xilisoft DVD Ripper Platinum 5.0

free download browers EZ Backup Opera Premium ranger workout program Eztoo MKV Video Converter 2.0 download jarhead Acme CADSee 4.9 457b programs Spy Cleaner Platinum 9.8 globetrotter download hsdpa PixelGenius Photokit Color 2.11 For Adobe Photoshop CS2 pavlov virus XYplorer 7.9 alcohol education programs radcliff ky Picture To Icon 2.2 boston terrier desktop download free Pentaware PentaSuite Pro 8.5
veritas back-up software Camel Audio Cameleon 5000 VSTi RTAS 1.6

magellan roadmate 2000 software updates CoffeeCup Marquee Wizard 3.5

office depot ink cartridge recycle program Absolute Video Splitter Joiner V1.8 mckinney vento programs CoffeeCup Image Mapper 4.0 skull cove free download Lochmaster 3.0 grease musical download album Manga Studio EX 4.0 nexgen software john Protector Plus 2008 8.0 cursive handwriting software ABest MOV Video Converter 5.6 free download diy dog clipping Email-Business Email Verifier 7.4 blackberry 8700c theme software Encrypt HTML Pro 2.7

abbott preschool program implementation guidelines february Fresh UI V7.4

free kgb decrypt download GoodOk 3GP Video Converter 6.1 free evanesence downloads ChrisTWEAK 1.9 download ipodwizard TurboFTP 5.6 download protege moi Super Email Verifier 1.66 parapsychology degree programs EarMaster Pro 5.612P
 munich internship program Making Waves Studio 5.4
download imperial guard files warhammer SONIC Drive Letter Access (DLA) 5.2 hp 5470 download IS Decisions WinReporter 3.0 korg trinity pro software EZ Backup Firefox Premium download royal rumble 2000 OE Backup V5.0 download free realplayer g2 Mobile Master Professional 6.9

software engineering seminar topics Absolute Sound Recorder 3.5.9

bc provincial instructor diploma program on-line Stardock IconPackager 4.0
free cell phone flix downloads Cool Audio Magic Audio Editor Pro 10.3 fonejacker download 4Media PS3 Video Converter 3.1 young joc hood nigga download File And MP3 Tag Renamer 2.2 download runescape pass crackers NeoPaint 4.6b alanon program ideas Addendum Batch Convert For Adobe Acrobat 5.0 Final download windows media palyer Sapientech CyQuest 2.0 lable maker software Handy Backup Professional V5.8(Multilingual) lpn programs in georgia Autoenginuity Scantool 5.4

crush my battle opponents balls download ALGOR FEA 23

qu'ran download Every Occasion Bartender 1.0 gungrave anime music download Autodesk VIZ 2008 regina bell insight software spectrum Falk Marco Polo Mobile Navigator 3 diapers hypnosis downloads Corel IGrafx 2007 Enterprise 12.1 Multilingual
 petaluma waste management programs SimLab Suite 2008
download annapolis beauty ILead DVD Copy 3.0
download certificate for s40 BioStat 2008 Professional 5.1
california state university northridge msw program GSync 1.0 MAC nokia 5300 jar download Adobe Illustrator CS2 outlook hotsync palm download Readiris Pro 9 MAC free mp3 downloads sinner judas priest Internet TV & Radio Player V5.1 pepper mottle virus Revision Effects Twixtor 4.5 For After Effects
xbd download Redshiftaudio Drumular VSTi 1.1
insurance program auto body shops Shadow Defender 1.0 download devhook DaySmart 6.1.1 workforce program in marathon fl GameBoost 1.1
cinderella umbrella download Pomesoft Clickn View 4.5
catcher in the rye audio download Dupehunter Professional 7.0 download snow patrol signal fire Image Line Deckadance VSTi 1.30 download doom2 full version for pc Any Video Converter Professional 2.6 download spear vst Redfield Jama 3D 1.6 For Adobe Photoshop free datapilot download Powerquest Driveimage 7.0 Multilanguage kicking harod gasoline mp3 download Linkman 7.2 photo stiching programs Multinetwork Manager 8.0 Professional Edition download danko jones first date ComponentOne Studio For ActiveX 2007 mesquite texas pre school programs Jungo WinDriver 9.0
download petals around the roses PrimaSoft Church Library Organizer Pro 2.0
omkara music download Digital Atmosphere Workstation 1.1e figure skating interpretive programs AnyDVD & AnyDVD HD 6.4 goldenboy anime download ScanSoft Paperport Professional 11.1 pretty lisa dirty lisa scat download CyberLink MediaShow 4.0 Multilingual workforce program in marathon fl 4Media DVD To IPhone Converter 5.0 caterpillar construction tycoon download DbQwikEdit 2.5.9.98 webdrive download Agogo Video To Ipod Converter 7.2 lela star video downloads Print2CAD 2009 1.0

2008 soar to success reading program Collectorz Book Collector Pro 6.0

download lil eazy-e songs Jetico Bestcrypt 8.03

quotation software packages Ethersoft Easy Video To IPod Converter 1.4

software driver for radeon x600 pro MAGIX MP3 Maker 14 Deluxe 9.0 akc show software ILead DVD To PSP 3.5 juniper program fairfax hospita Trados 7 Freelance download redvblue bit torrent Sawmill 7.2 software to unlock motorola t720 HTML Meta Data Editor 1.5 french translation audio iriver download Acon Digital Media AudioLava Premium 1.0 software version description svd examples Salfeld User Control 2008 5.9 robotech video download AV Bros Draftsman 1.2 download oregon trail deluxe Popcorn 1.0 MAC download swish intros Dee Mon Video Enhancer V1.7 lombardi program on measuring university performance Adobe Captivate 3 sopranos season 6 part 2 download HiFi-Soft MP3 Audio Splitter Joiner 3.0

t-pain bartender download Tukanas File Encryption V1.0

hpv virus cervical cancer antioxidant therapy Google Maps Images Downloader 3.0 download emsa web monitor Email-Business Email Generator Platinum 11.5 download music mpio Teleport Pro 1.47 cibercafe software 3com Network Supervisior 5.2 what is intestinal virus setting Mobile DJ Pro 1.3 beatallica free download XYplorer 7.1 download linda goodman love signs Secure Clean PC 2.4 acer orbi cam software BulletProof FTP Client 2.6 corel draw full version download FTP Getter 2.7 free downloads poser victoria 3rd PlanIt 8.0 download dream waver Aigo DVD To Apple TV Converter 2.0 cingular 8525 software update River Past Animated GIF Booster Pack 2.7 motorola i875 programs Presto Transfer Skype bombich software Mercury Interactive - WinRunner 8.2 free final draft screenwriting software Neato Mediaface 4.2 easy tapi software update Sisoftware Sandra Professional 2007 Sp1 the decemberists npr download River Past Talkative 5.6
 v dub oh snap download IphotoMeasure 3.1
american express platinum travel rewards program IComS XCAD 2008 Professional 1.1 msrs recording software Microsoft Frontpage 2003 getbackers download DVBViewer 3.9 Multilingual video edit magic download softpedia Quicken Deluxe 2006 download free ringtunes d807 Fookes NoteTab Pro 5.7b baldurs gate free download Handy Startup Monitor 1.1 free download sexystar video Concise Beam 4.4 handspring visor xp software Cheetah DVD Burner 2.2 mcaffe trojan virus vista photogallery Foxit Reader 2.3 Professional

download they're a weird mob Deskitility 2.3 MAC

download vaio media integrated server 6.0 Winxmedia DVD MPEGAVIAudio Converter 4.3 dj juice video blendz download Intel Cryptography For Integrated Performance Primitives 6.0 win32 trojen virus info Qr Photo To Flash Converter 1.1 download rar zoo tycoon 2 Solid Converter PDF 4.0 utlitiy software fdr dvd burners EzySoft Ezy Call Manager 7.4 cruzer titanium 2.0 gb software CATVids 7.2 grand canyon gps free download garmin Acala DivX To IPod 3.0 download music denali wav XTNDConnect PC 6.5 Multilingual
dragon fable gold hack download Intaglio 2.9 MAC
beer distributor software Elecard XMuxer Pro 2.5
namastey london mp3 free download FlashFXP 3.6 RC3 mulitmedia video controller download Agilent Antenna Modeling Design System 2007.06

download hypnotized by plies HTMLPower 3.8

download amazing designs embroidery software Edirol Hyper Canvas VSTi DXi 1.6 certificacion de software pruebas Soft191 Alarm Clock 1.0

spectrum microcap download Rollback Rx Professional 8.1

collection of software's serials ILead DVD To Blackberry 3.0 bowling for soup mp download ScreenHunter V5 Pro ambrosia software employee XYplorer 6.70 download shag hair Incomedia Website Evolution X5 7.0 Multilingual smart2go software info Pointdev Ideal Dispatch 2.70 movie downloads 9.99 month Quik-E Note V2.5 monolith software solutions Optipix 3.1 For Adobe Photoshop original software blackberry 7520 Apollo 3GP Video Converter smile empty soul anxiety download Multiquence 2.5 tre songz man myth free download N-stalker Enterprise Edition 6.0

babysitting mania download game OJOsoft IPod Video Converter 1.5

gary jules mad world download SpotAuditor 3.6.6

downloads wpakill PrepLogic CompTIA 220-601 Practice Exams 3.1
beautiful occupation travis download free Picture Window Pro 4.0 free trefoil download Magic Photo Editor 4.7 music downloads fro 99 cents SQL Server Backup 5.3 mocro worlds software lx story animate CoffeeCup Spam Blocker 4.1 discount voucher for 68 classified software Adlib Express Enterprise Server 4 trimbel guidence downloads Web Stream Recorder Professional 2.1 primavera full download Avex Mobile Video Converter 4.0
girly gangbang video downloads RAM Booster Expert 1.3
cassius clay fight program PrepLogic CompTIA 220-603 Practice Exams 3.1 kitsap county traffic safety programs Download Accelerator Plus 7.0.1.3 drum cadence writing program CoreAVC Professional Edition 1.7

digital download vanguard saga of heros Amazing Photo Editor 7.0

download winamp 5.32 Diskeeper Pro Premier 2008 12.0 risk reduction program dunwoody Web Studio 4.4
 zen sleek photo firmware download Alldj DVD To PDA Ripper 3.0
livewire pro free download Anvsoft DVD Photo Slideshow 7.9 online degree programs accredited by sacs Fo2PiX ArtMasterPro 1.2
baboon b virus Ace Video Workshop
mcfee anti virus MAGiX Audio Cleaning Lab 12 8.0
jojo mp3 free file downloads TapeWare 7.0 smoking cessation program instructor Dassault Systemes Catia P2 5 R16 cannibal holocaust movie free download The Bat Professional 3.98.4
final download timeup soft Whois Extractor V1.3
deaf youth program in pittsburgh pa Scarabay 3.06
game dopewars download Ektron CMS400 NET 6.0 clerking software crack key serial Atomic Alarm Clock 5.55 Multilingual world's deadliest catch free downloads Serif PhotoPlus 11 hermetic tarot download Corel Designer Technical Suite 12.0 copy of program for building dedication Ticket01 HelixPath 0.20 X64 And X86 For Maya 8 8.5 interactive family bible software kjv Genstat 10.1 free opeth mp3 downloads WaveMax Sound Editor Masters Edition 3.9
cep v5 download Gcode2000 30.0 download american journey by robert kerr FontAgent Pro 4 MAC inspiron 6000 recovery disk free download Naturalmotion Endorphin 2.5 impress me much karaoke download HiDownload Pro 7.11 Final svoice answering software KeyPass 4.7 db2 v8 executing perl programs WINDOWS XP Repair Pro 2007 3.5 software creating teacher web page Software Shelf Print Manager Plus 2008 7.0 firmware bcm43xx downloads Lost Marble Moho 5.3 Multilanguage salt lake county zap program Aplus Video To 3GP Converter ayreon download SolutionBOX NetDrive 1.0 codeguru forums one program many files Kaizen Software Asset Manager 2008 Enterprise Edition 1.0 sequoia national park junior ranger program Intuit Turbo Tax 2006 Home & Business ice cream truck jingle download Scenarist Standard Content 4.1 beyonce download bale songs Foxy V1.7 panasonic lumix dmc-fx30 software CoffeeCup PC TuneUp Pro 2.0 free download driver for pixma ip3000 Hard Disk Sentinel Professional V2.4 moyea flash video software and review Ontrack Diskmanager 5.06 Final
download oj simpson's book McAfee Alert Manager V4.7.1
 large analog clock programs HsCADView 3.0
oolite downloads Atomix Virtual DJ Professional 5.1
macafee protection downloads PhotoScenery 2.1 mitsubishi workshop manuals downloads VanDyke SecureCRT 5.5.3

ccm executive software security alert Photo Movie Creator 2.0

wiffle ball download EZ Backup Office Premium defecation motor program CoffeeCup Headline Factory 4.0 dogpile rss reader download The Complete Genealogy Reporter 2008 1.8 minnesota wisconsic reciprocity program Softwhile CrispImage Pro 1.1 For Adobe Photoshop downloads ir shell prx River Past Audio Converter Pro 7.6

silhouette and witch and download Micro-Sys A1 Sitemap Generator 1.8 Multilingual

logitech marble mouse software PrepLogic Microsoft 70-297 Practice Exams 3.1 classroom quiz bowl software Extensis Portfolio 8.5
patient run methadone programs Ideal DVD To PSP Converter 2.1
netvision pc software Maxprog Transaction 1.6 download jenny rom blonde Nevo FLV Video Converter 2008 2.1 sinful rose download Adobe Dreamweaver CS4 MAC claflin university international programs ImTOO MP3 WAV Converter 2.0 mackie tracktion download Digitope FontZip 5.1 50 cent clockwork download Photo Frame Show 1.4
presort software MS Project 2003 Pro
va volunteer program Instant Clipboard 2.1 software updates windows audio video versiontracker PassMark PerformanceTest V6.1
warchess downloads AutoCAD Architecture 2008
download filekicker Nethernet Mopis VSTi 1.2 tim horton social responsibility program STOIK Imagic 4.0

freee cd dvd copy software TV Player Universal 5.1

greatplanes downloads Quest Schema Manager 3.4 tyrese mp3 downloads Alive Video Converter 3.2 download free whammy Crazytalk Web Edition 5.0 afi vs lil jon download CursorXP Plus V1.31 free cher album free torrent download Corel Procreate KnockOut 2.0 cal dmv employee pull notice program Andy Rig 1.4 flight software pro hardware saitek Objecteering Enterprise Edition 6.1 SP2 gimp 2.2 professional graphics software Zoner Photo Studio 11.0 Professional free download gayatri mantra Sound Studio 3.0 MAC jive software wildfire server BestAddress HTML Editor 2008 Professional V11 scout programs fairfax Blink Development 3D Box Maker Professional 2

kb925902 download Aide PDF To DXF Converter 6.5

kurzweil 3000 download G-Sonique Pultronic EQ-110P VST 1.0 john micheal koehler artist residency program Apolisoft Font Fitting Room Deluxe V2.9 tsubasa chronicle the movie to download G-Sonique Dubmaster Liquid Delay VST 1.0 wny talking phone book download 2D3 Boujou Three V3.0 download doom2 full version for pc ILead DVD Audio Ripper 3.2 art photography summer program unh manchester P-CAD 2006 les freres scott download SketchUp Pro 6.0 download fallen trilogy ToonBoom USAnimation Opus 6 synchronize stabalize software devlopment Argile 1.1 keygen for vet anti virus Primavera Project Planner 3.3 chimp hierarchical modeling program Autodesk 3ds Max 8 medius software Pop-Software RM To IPod Converter 1.0 powder whores downloads OrgBusiness Salon Calendar For Workgroup 2.2
shakira whenever mp3 free download I.R.I.S. Readiris Pro Corpo Edition 11.0

kansas hemophilia program Alien Skin Blow Up 1.0 For Adobe Photoshop

2007 chemistry enrichment programs texas VMware ACE Manager 1.0 psycho cybernetics download ebook Perfect Menu 4.0 salon software for one stylist Virtual Plastic Surgery Software 1.0 christ renews his program Auslogics Visual Styler 3.1 download punkbuster for joint ops Afree DVD Ripper Platinum 5.1 download motorola v325 Acoustica Premium Edition V4.0 download high quality mp3 320 kbps Syser Kernel Debugger Enterprise 1.9 to-love-ru manga downloads Weather Display 10.3 Multilingual dirty heads download insomnia Ik Multimedia Miroslav Philharmonik St2 Reg User Presets headstart program in charlotte north carolina Xilisoft DVD Ripper Platinum V4.0 download site revie ColorEyes Display Pro 10.5 MAC free download gameloft mobile games BluePrint-PCB 1.8
aged accounts receiveable invoice download files MicroOLAP Database Designer For MySQL 1.9
native american peace keeper judicial program Mutatum Solutions Calculatem Pro 5.2 free mlm geneology tracking software Eovia Amapi Pro 7.5 sliver kills viruses SpeedConnectXP Internet Accelerator V6.5
video software reveiws Records Master 6.7 MAC
insight medical software GoodOk Zune Video Converter 6.1 download free ringtunes d807 AoA DVD Creator 2.0 free mp3 music download typecast OJOsoft WAV To MP3 Converter 1.5 loving annabelle video download StreamingStar Mov Recorder 1.3 free viewsat update program Acme Photo ScreenSaver Maker 2.0 stampin up business software Winbatch With Compiler 2004a old version of filezilla download Macromedia Dreamweaver MX 2004 download number muchers Tootoo X To FLV Converter 1.0

pc scrabble anagram software Audioburst PowerFX 2.10

free datapilot download Intellihance Pro 4.2 MAC
catos software configuration Webdrive 7.3 isreal nuke program SolveigMM Video Splitter 2.0 igs energy michigan energy loan program Cakewalk Rapture Expansion Pack 1 constructivism in head start programs Smart DVD-CD Burner 3.0 download pimsluer text Create Ringtone 4.9 best amatuer web site building software ZoneAlarm Pro 7.0 ice cream cone graphic free download Ashampoo MP3 AudioCenter 1.7 linda m northrop software engineering institute VSO ConvertXtoDVD 3.0

cornell university international workplace studies program Redfield Emblazer For Adobe Photoshop

metallica the ecstasy of gold download Adobe Dreamweaver CS3 Spanish bayer free meter program for pharmacies Sharp World Clock V1.4 take control amerie download WhatSize 4.4 MAC download alcohol and drug psa ApulSoft ApEQ VST 1.3 hakuna matata download ConcreteFX Brush VSTi 1.0 clover eclipse plug-in download OrgBusiness OrgPassword 2.7

tobacco mosaic virus look a likes Acala DVD PSP Ripper 3.0

flesh gordon free downloaded movie Active MediaMagnet 5.6 federated women's institute rose program Movie Collector Pro 5.4 developerworks websphere trial downloads UltraMon 2.7 dvd trap insert print software Ashampoo BurnYa AudioCD 2.60 Multilingual
 windows vpn program files Designsoft Myhouse 7.5
vanderbilt nursing bridge program Spss 15.0

gris anti virus software Plato DVD Creator 3.7

boilermakers most program AFSearch 9.50 siemens ti 405 software Actinic Ecommerce UK 8.5 yacht racing tactics software CorelDRAW Graphics Suite 12 skymap program download free LandlordMax Property Management 2.12e ned and manson downloads River Past Crazi Video Pro 2.6
filext download HotDog Professional 7.03 so far away staind free download Steinberg Nuendo 3.2 do you like waffles download ShopFactory Pro 7.5 digimon frontier downloads AD Sound Recorder 3.5 absolut blade pain download Fox Video Studio 8.0 download dirt alice in chains free Adobe Premiere Elements 1.0 paperport software 9.0 MonitorIT 8.0.27 simfarm download Softdisc 2.5 map software uruguay QIF Master MAC pilgrims progress mp3 downloads ICab X 4 MAC

download chrono trigger original soundtrack Nero 8 Ultra Edition 8.2

 download free autodesk architectural desktop tutorials ACDSee Photo Editor 4.0.19
garmin c530 software PTGui Pro 7.8 X86 gerber cad cutting software Change Vision TRICHORD 1.3 ebony brandy coxx download Email-Business Email Extractor 6.4 lvn programs southern california Blaze Video Magic 3.0 maplestory game downloads Aplus DVD Ripper 8.7

gta vice city extra resources download Fotis Clean Mem XP V9.0

children's bible programs for small churches SmartCodeStudio Professional Edition 2.0