/* DO NOT EDIT THIS FILE - it is machine generated (JCGO_116) */

#ifdef JCGO_SEPARATED
#define JCGO_116
#include "jcgortl.h"
#include "Main.h"
#endif

#ifdef JCGO_116

#ifdef CHKALL_Scene
#include "jcgobchk.h"
#endif

JCGO_NOSEP_INLINE void CFASTCALL
package_Scene__clear__( package_Scene This )
{
 {
  jObject jcgo_rcvrL1;
  JCGO_FIELD_NZACCESS(This, spriteCount)= 0;
  (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, view), JCGO_CALL_FINALF((package_GameModel)jcgo_rcvrL1)
   package_GameModel__clear__(
   (package_GameModel)jcgo_rcvrL1));
 }
}

JCGO_NOSEP_INLINE void CFASTCALL
package_Scene__initialisePolygon3d__I( package_Scene This, jint i
 )
{
 {
  package_Polygon polygon;
  package_GameModel gameModel;
  jintArr faceVertices;
  jint face;
  jint faceNumVertices;
  jint faceCameraNormalScale;
  jint vcx;
  jint vcy;
  jint vcz;
  jint vcx1;
  jint vcy1;
  jint vcz1;
  jint vcx2;
  jint vcy2;
  jint vcz2;
  jint t1;
  jint t2;
  jint t3;
  jint j4;
  jint k4;
  jint l4;
  jint i5;
  jint j5;
  jint k5;
  polygon= ((package_Polygon)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
   visiblePolygons), i));
  gameModel= JCGO_FIELD_ACCESS(package_Polygon, polygon, model);
  face= JCGO_FIELD_NZACCESS(polygon, face);
  faceVertices= ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_ACCESS(package_GameModel,
   gameModel, faceVertices), face));
  faceNumVertices= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel,
   faceNumVertices), face);
  faceCameraNormalScale= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel,
   normalScale), face);
  vcx= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, projectVertexX),
   JCGO_ARRAY_IACCESS(faceVertices, 0));
  vcy= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, projectVertexY),
   JCGO_ARRAY_NZIACCESS(faceVertices, 0));
  vcz= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, projectVertexZ),
   JCGO_ARRAY_NZIACCESS(faceVertices, 0));
  vcx1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, projectVertexX),
   JCGO_ARRAY_NZIACCESS(faceVertices, (jint)1)) - vcx;
  vcy1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, projectVertexY),
   JCGO_ARRAY_NZIACCESS(faceVertices, (jint)1)) - vcy;
  vcz1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, projectVertexZ),
   JCGO_ARRAY_NZIACCESS(faceVertices, (jint)1)) - vcz;
  vcx2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, projectVertexX),
   JCGO_ARRAY_NZIACCESS(faceVertices, (jint)2)) - vcx;
  vcy2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, projectVertexY),
   JCGO_ARRAY_NZIACCESS(faceVertices, (jint)2)) - vcy;
  vcz2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, projectVertexZ),
   JCGO_ARRAY_NZIACCESS(faceVertices, (jint)2)) - vcz;
  t1= vcy1 * vcz2 - vcy2 * vcz1;
  t2= vcz1 * vcx2 - vcz2 * vcx1;
  t3= vcx1 * vcy2 - vcx2 * vcy1;
  if (faceCameraNormalScale == (-(jint)1))
  {
   jdouble jcgo_rcvrD1;
   jObject jcgo_rcvrL1;
   jint jcgo_rcvrI1;
   jint jcgo_rcvrI2;
   faceCameraNormalScale= 0;
   for (; t1 > (jint)25000 || t2 > (jint)25000 || t3 > (jint)25000 ||
    t1 < (-(jint)25000) || t2 < (-(jint)25000) || t3 < (-(jint)25000);
    t3= JCGO_SHR_F(t3, (jint)1))
   {
    faceCameraNormalScale++;
    t1= JCGO_SHR_F(t1, (jint)1);
    t2= JCGO_SHR_F(t2, (jint)1);
   }
   JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, normalScale),
    face)= faceCameraNormalScale;
   (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(gameModel, normalMagnitude),
    jcgo_rcvrI1= face, jcgo_rcvrI2= JCGO_JDOUBLE_TOJINT((jcgo_rcvrD1=
    (jdouble)JCGO_FIELD_NZACCESS(This, normalMagnitude), jcgo_rcvrD1 *
    (java_lang_Math__sqrt__D(
    (jdouble)(t1 * t1 + t2 * t2 + t3 * t3))))), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
    jcgo_rcvrI1)= jcgo_rcvrI2);
  }
  else
  {
   t1= JCGO_SHR_F(t1, faceCameraNormalScale);
   t2= JCGO_SHR_F(t2, faceCameraNormalScale);
   t3= JCGO_SHR_F(t3, faceCameraNormalScale);
  }
  JCGO_FIELD_NZACCESS(polygon, visibility)= vcx * t1 + vcy * t2 + vcz *
   t3;
  JCGO_FIELD_NZACCESS(polygon, normalX)= t1;
  JCGO_FIELD_NZACCESS(polygon, normalY)= t2;
  JCGO_FIELD_NZACCESS(polygon, normalZ)= t3;
  j4= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, projectVertexZ),
   JCGO_ARRAY_NZIACCESS(faceVertices, 0));
  k4= j4;
  l4= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, vertexViewX),
   JCGO_ARRAY_NZIACCESS(faceVertices, 0));
  i5= l4;
  j5= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, vertexViewY),
   JCGO_ARRAY_NZIACCESS(faceVertices, 0));
  k5= j5;
  {
   jint l5;
   l5= (jint)1;
   for (; l5 < faceNumVertices; l5++)
   {
    jint i1;
    i1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, projectVertexZ),
     JCGO_ARRAY_NZIACCESS(faceVertices, l5));
    if (i1 > k4)
    {
     k4= i1;
    }
    else
    {
     if (i1 < j4)
     {
      j4= i1;
     }
    }
    i1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, vertexViewX),
     JCGO_ARRAY_NZIACCESS(faceVertices, l5));
    if (i1 > i5)
    {
     i5= i1;
    }
    else
    {
     if (i1 < l4)
     {
      l4= i1;
     }
    }
    i1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, vertexViewY),
     JCGO_ARRAY_NZIACCESS(faceVertices, l5));
    if (i1 > k5)
    {
     k5= i1;
    }
    else
    {
     if (i1 < j5)
     {
      j5= i1;
     }
    }
   }
  }
  JCGO_FIELD_NZACCESS(polygon, minZ)= j4;
  JCGO_FIELD_NZACCESS(polygon, maxZ)= k4;
  JCGO_FIELD_NZACCESS(polygon, minPlaneX)= l4;
  JCGO_FIELD_NZACCESS(polygon, maxPlaneX)= i5;
  JCGO_FIELD_NZACCESS(polygon, minPlaneY)= j5;
  JCGO_FIELD_NZACCESS(polygon, maxPlaneY)= k5;
 }
}

JCGO_NOSEP_INLINE void CFASTCALL
package_Scene__initialisePolygon2d__I( package_Scene This, jint i
 )
{
 {
  package_Polygon polygon;
  package_GameModel gameModel;
  jintArr ai;
  jint j;
  jint l;
  jint i1;
  jint j1;
  jint k1;
  jint l1;
  jint i2;
  jint j2;
  jint k2;
  jint l2;
  jint i3;
  jint j3;
  jint k3;
  jint k;
  polygon= ((package_Polygon)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
   visiblePolygons), i));
  gameModel= JCGO_FIELD_ACCESS(package_Polygon, polygon, model);
  j= JCGO_FIELD_NZACCESS(polygon, face);
  ai= ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_ACCESS(package_GameModel,
   gameModel, faceVertices), j));
  l= 0;
  i1= 0;
  j1= (jint)1;
  k1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, projectVertexX),
   JCGO_ARRAY_IACCESS(ai, 0));
  l1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, projectVertexY),
   JCGO_ARRAY_NZIACCESS(ai, 0));
  i2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, projectVertexZ),
   JCGO_ARRAY_NZIACCESS(ai, 0));
  JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, normalMagnitude),
   j)= (jint)1;
  JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, normalScale), j)=
   0;
  JCGO_FIELD_NZACCESS(polygon, visibility)= k1 * l + l1 * i1 + i2 *
   j1;
  JCGO_FIELD_NZACCESS(polygon, normalX)= l;
  JCGO_FIELD_NZACCESS(polygon, normalY)= i1;
  JCGO_FIELD_NZACCESS(polygon, normalZ)= j1;
  j2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, projectVertexZ),
   JCGO_ARRAY_NZIACCESS(ai, 0));
  k2= j2;
  l2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, vertexViewX),
   JCGO_ARRAY_NZIACCESS(ai, 0));
  i3= l2;
  if (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, vertexViewX),
   JCGO_ARRAY_NZIACCESS(ai, (jint)1)) < l2)
  {
   l2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, vertexViewX),
    JCGO_ARRAY_NZIACCESS(ai, (jint)1));
  }
  else
  {
   i3= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, vertexViewX),
    JCGO_ARRAY_NZIACCESS(ai, (jint)1));
  }
  j3= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, vertexViewY),
   JCGO_ARRAY_NZIACCESS(ai, (jint)1));
  k3= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, vertexViewY),
   JCGO_ARRAY_NZIACCESS(ai, 0));
  k= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, projectVertexZ),
   JCGO_ARRAY_NZIACCESS(ai, (jint)1));
  if (k > k2)
  {
   k2= k;
  }
  else
  {
   if (k < j2)
   {
    j2= k;
   }
  }
  k= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, vertexViewX),
   JCGO_ARRAY_NZIACCESS(ai, (jint)1));
  if (k > i3)
  {
   i3= k;
  }
  else
  {
   if (k < l2)
   {
    l2= k;
   }
  }
  k= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, vertexViewY),
   JCGO_ARRAY_NZIACCESS(ai, (jint)1));
  if (k > k3)
  {
   k3= k;
  }
  else
  {
   if (k < j3)
   {
    j3= k;
   }
  }
  JCGO_FIELD_NZACCESS(polygon, minZ)= j2;
  JCGO_FIELD_NZACCESS(polygon, maxZ)= k2;
  JCGO_FIELD_NZACCESS(polygon, minPlaneX)= l2 - (jint)20;
  JCGO_FIELD_NZACCESS(polygon, maxPlaneX)= i3 + (jint)20;
  JCGO_FIELD_NZACCESS(polygon, minPlaneY)= j3;
  JCGO_FIELD_NZACCESS(polygon, maxPlaneY)= k3;
 }
}

JCGO_NOSEP_INLINE void CFASTCALL
package_Scene__polygonsIntersectSort__IL06628AI( package_Scene This,
 jObjectArr polygons, jint step, jint count )
{
 {
  jint l;
  {
   jint i;
   i= 0;
   for (; i <= count; i++)
   {
    JCGO_FIELD_ACCESS(package_Polygon, ((package_Polygon)JCGO_ARRAY_LACCESS(polygons,
     i)), skipSomething)= (jboolean)jfalse;
    JCGO_FIELD_ACCESS(package_Polygon, ((package_Polygon)JCGO_ARRAY_NZLACCESS(polygons,
     i)), index)= i;
    JCGO_FIELD_ACCESS(package_Polygon, ((package_Polygon)JCGO_ARRAY_NZLACCESS(polygons,
     i)), index2)= (-(jint)1);
   }
  }
  l= 0;
  do
  {
   package_Polygon polygon;
   jint i1;
   jint j1;
   while (JCGO_FIELD_ACCESS(package_Polygon, ((package_Polygon)JCGO_ARRAY_LACCESS(polygons,
    l)), skipSomething))
   {
    l++;
   }
   if (l == count)
   {
    return;
   }
   polygon= ((package_Polygon)JCGO_ARRAY_NZLACCESS(polygons, l));
   JCGO_FIELD_ACCESS(package_Polygon, polygon, skipSomething)= (jboolean)jtrue;
   i1= l;
   j1= l + step;
   if (j1 >= count)
   {
    j1= count - (jint)1;
   }
   {
    jint k1;
    k1= j1;
    for (; k1 >= i1 + (jint)1; k1--)
    {
     package_Polygon other;
     other= ((package_Polygon)JCGO_ARRAY_NZLACCESS(polygons, k1));
     if (JCGO_FIELD_NZACCESS(polygon, minPlaneX) < JCGO_FIELD_ACCESS(package_Polygon,
      other, maxPlaneX) && JCGO_FIELD_NZACCESS(other, minPlaneX) <
      JCGO_FIELD_NZACCESS(polygon, maxPlaneX) && JCGO_FIELD_NZACCESS(polygon,
      minPlaneY) < JCGO_FIELD_NZACCESS(other, maxPlaneY) && JCGO_FIELD_NZACCESS(other,
      minPlaneY) < JCGO_FIELD_NZACCESS(polygon, maxPlaneY) && JCGO_FIELD_NZACCESS(polygon,
      index) != JCGO_FIELD_NZACCESS(other, index2) && !(package_Scene__separatePolygon__L06628L06628(
      This, polygon, other)) && (package_Scene__heuristicPolygon__L06628L06628(
      This, other, polygon)))
     {
      (package_Scene__polygonsOrder__L06628AII(
       This, polygons, i1, k1));
      if (((package_Polygon)JCGO_ARRAY_NZLACCESS(polygons, k1)) !=
       other)
      {
       k1++;
      }
      i1= JCGO_FIELD_NZACCESS(This, newStart);
      JCGO_FIELD_NZACCESS(other, index2)= JCGO_FIELD_NZACCESS(polygon,
       index);
     }
    }
   }
  }
   while (jtrue);
 }
}

JCGO_NOSEP_INLINE void CFASTCALL
package_Scene__generateScanlines__IIIIIIAIAIAL98u34I( package_Scene
 This, jintArr ai, jintArr ai1, jintArr ai2, package_GameModel gameModel,
 jint i, jint j, jint k, jint l, jint i1, jint pid )
{
 {
  if (i1 == (jint)3)
  {
   jint k1;
   jint k2;
   jint k3;
   jint k4;
   jint l5;
   jint j7;
   jint l8;
   jint j10;
   jint j11;
   jint j12;
   jint l12;
   jint j13;
   jint l13;
   jint j14;
   jint l14;
   jint j15;
   jint l15;
   jint j16;
   jint l16;
   jint j17;
   jint l17;
   jint j18;
   jint l18;
   jint j19;
   jint l19;
   jint j20;
   jint l20;
   jint j21;
   jint l21;
   k1= JCGO_ARRAY_IACCESS(ai1, 0) + JCGO_FIELD_NZACCESS(This, baseY);
   k2= JCGO_ARRAY_NZIACCESS(ai1, (jint)1) + JCGO_FIELD_NZACCESS(This,
    baseY);
   k3= JCGO_ARRAY_NZIACCESS(ai1, (jint)2) + JCGO_FIELD_NZACCESS(This,
    baseY);
   k4= JCGO_ARRAY_IACCESS(ai, 0);
   l5= JCGO_ARRAY_NZIACCESS(ai, (jint)1);
   j7= JCGO_ARRAY_NZIACCESS(ai, (jint)2);
   l8= JCGO_ARRAY_IACCESS(ai2, 0);
   j10= JCGO_ARRAY_NZIACCESS(ai2, (jint)1);
   j11= JCGO_ARRAY_NZIACCESS(ai2, (jint)2);
   j12= (JCGO_FIELD_NZACCESS(This, baseY) + JCGO_FIELD_NZACCESS(This,
    clipY)) - (jint)1;
   l12= 0;
   j13= 0;
   l13= 0;
   j14= 0;
   l14= package_World__colourTransparent;
   j15= (jint)-12345678L;
   if (k3 != k1)
   {
    j13= jcgo_div(JCGO_SHL_F(j7 - k4, (jint)8), (k3 - k1));
    j14= jcgo_div(JCGO_SHL_F(j11 - l8, (jint)8), (k3 - k1));
    if (k1 < k3)
    {
     l12= JCGO_SHL_F(k4, (jint)8);
     l13= JCGO_SHL_F(l8, (jint)8);
     l14= k1;
     j15= k3;
    }
    else
    {
     l12= JCGO_SHL_F(j7, (jint)8);
     l13= JCGO_SHL_F(j11, (jint)8);
     l14= k3;
     j15= k1;
    }
    if (l14 < 0)
    {
     l12-= j13 * l14;
     l13-= j14 * l14;
     l14= 0;
    }
    if (j15 > j12)
    {
     j15= j12;
    }
   }
   l15= 0;
   j16= 0;
   l16= 0;
   j17= 0;
   l17= package_World__colourTransparent;
   j18= (jint)-12345678L;
   if (k2 != k1)
   {
    j16= jcgo_div(JCGO_SHL_F(l5 - k4, (jint)8), (k2 - k1));
    j17= jcgo_div(JCGO_SHL_F(j10 - l8, (jint)8), (k2 - k1));
    if (k1 < k2)
    {
     l15= JCGO_SHL_F(k4, (jint)8);
     l16= JCGO_SHL_F(l8, (jint)8);
     l17= k1;
     j18= k2;
    }
    else
    {
     l15= JCGO_SHL_F(l5, (jint)8);
     l16= JCGO_SHL_F(j10, (jint)8);
     l17= k2;
     j18= k1;
    }
    if (l17 < 0)
    {
     l15-= j16 * l17;
     l16-= j17 * l17;
     l17= 0;
    }
    if (j18 > j12)
    {
     j18= j12;
    }
   }
   l18= 0;
   j19= 0;
   l19= 0;
   j20= 0;
   l20= package_World__colourTransparent;
   j21= (jint)-12345678L;
   if (k3 != k2)
   {
    j19= jcgo_div(JCGO_SHL_F(j7 - l5, (jint)8), (k3 - k2));
    j20= jcgo_div(JCGO_SHL_F(j11 - j10, (jint)8), (k3 - k2));
    if (k2 < k3)
    {
     l18= JCGO_SHL_F(l5, (jint)8);
     l19= JCGO_SHL_F(j10, (jint)8);
     l20= k2;
     j21= k3;
    }
    else
    {
     l18= JCGO_SHL_F(j7, (jint)8);
     l19= JCGO_SHL_F(j11, (jint)8);
     l20= k3;
     j21= k2;
    }
    if (l20 < 0)
    {
     l18-= j19 * l20;
     l19-= j20 * l20;
     l20= 0;
    }
    if (j21 > j12)
    {
     j21= j12;
    }
   }
   JCGO_FIELD_NZACCESS(This, minY)= l14;
   if (l17 < JCGO_FIELD_NZACCESS(This, minY))
   {
    JCGO_FIELD_NZACCESS(This, minY)= l17;
   }
   if (l20 < JCGO_FIELD_NZACCESS(This, minY))
   {
    JCGO_FIELD_NZACCESS(This, minY)= l20;
   }
   JCGO_FIELD_NZACCESS(This, maxY)= j15;
   if (j18 > JCGO_FIELD_NZACCESS(This, maxY))
   {
    JCGO_FIELD_NZACCESS(This, maxY)= j18;
   }
   if (j21 > JCGO_FIELD_NZACCESS(This, maxY))
   {
    JCGO_FIELD_NZACCESS(This, maxY)= j21;
   }
   l21= 0;
   for (k= JCGO_FIELD_NZACCESS(This, minY); k < JCGO_FIELD_NZACCESS(This,
    maxY); k++)
   {
    package_Scanline scanline_6;
    if (k >= l14 && k < j15)
    {
     i= j= l12;
     l= l21= l13;
     l12+= j13;
     l13+= j14;
    }
    else
    {
     i= (jint)655360L;
     j= (jint)-655360L;
    }
    if (k >= l17 && k < j18)
    {
     if (l15 < i)
     {
      i= l15;
      l= l16;
     }
     if (l15 > j)
     {
      j= l15;
      l21= l16;
     }
     l15+= j16;
     l16+= j17;
    }
    if (k >= l20 && k < j21)
    {
     if (l18 < i)
     {
      i= l18;
      l= l19;
     }
     if (l18 > j)
     {
      j= l18;
      l21= l19;
     }
     l18+= j19;
     l19+= j20;
    }
    scanline_6= ((package_Scanline)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
     scanlines), k));
    JCGO_FIELD_ACCESS(package_Scanline, scanline_6, startX)= i;
    JCGO_FIELD_NZACCESS(scanline_6, endX)= j;
    JCGO_FIELD_NZACCESS(scanline_6, startS)= l;
    JCGO_FIELD_NZACCESS(scanline_6, endS)= l21;
   }
   if (JCGO_FIELD_NZACCESS(This, minY) < JCGO_FIELD_NZACCESS(This,
    baseY) - JCGO_FIELD_NZACCESS(This, clipY))
   {
    JCGO_FIELD_NZACCESS(This, minY)= JCGO_FIELD_NZACCESS(This, baseY) -
     JCGO_FIELD_NZACCESS(This, clipY);
   }
  }
  else
  {
   if (i1 == (jint)4)
   {
    jint l1;
    jint l2;
    jint l3;
    jint l4;
    jint i6;
    jint k7;
    jint i9;
    jint k10;
    jint k11;
    jint k12;
    jint i13;
    jint k13;
    jint i14;
    jint k14;
    jint i15;
    jint k15;
    jint i16;
    jint k16;
    jint i17;
    jint k17;
    jint i18;
    jint k18;
    jint i19;
    jint k19;
    jint i20;
    jint k20;
    jint i21;
    jint k21;
    jint i22;
    jint j22;
    jint k22;
    jint l22;
    jint i23;
    jint j23;
    jint k23;
    jint l23;
    jint i24;
    jint j24;
    l1= JCGO_ARRAY_IACCESS(ai1, 0) + JCGO_FIELD_NZACCESS(This, baseY);
    l2= JCGO_ARRAY_NZIACCESS(ai1, (jint)1) + JCGO_FIELD_NZACCESS(This,
     baseY);
    l3= JCGO_ARRAY_NZIACCESS(ai1, (jint)2) + JCGO_FIELD_NZACCESS(This,
     baseY);
    l4= JCGO_ARRAY_NZIACCESS(ai1, (jint)3) + JCGO_FIELD_NZACCESS(This,
     baseY);
    i6= JCGO_ARRAY_IACCESS(ai, 0);
    k7= JCGO_ARRAY_NZIACCESS(ai, (jint)1);
    i9= JCGO_ARRAY_NZIACCESS(ai, (jint)2);
    k10= JCGO_ARRAY_NZIACCESS(ai, (jint)3);
    k11= JCGO_ARRAY_IACCESS(ai2, 0);
    k12= JCGO_ARRAY_NZIACCESS(ai2, (jint)1);
    i13= JCGO_ARRAY_NZIACCESS(ai2, (jint)2);
    k13= JCGO_ARRAY_NZIACCESS(ai2, (jint)3);
    i14= (JCGO_FIELD_NZACCESS(This, baseY) + JCGO_FIELD_NZACCESS(This,
     clipY)) - (jint)1;
    k14= 0;
    i15= 0;
    k15= 0;
    i16= 0;
    k16= package_World__colourTransparent;
    i17= (jint)-12345678L;
    if (l4 != l1)
    {
     i15= jcgo_div(JCGO_SHL_F(k10 - i6, (jint)8), (l4 - l1));
     i16= jcgo_div(JCGO_SHL_F(k13 - k11, (jint)8), (l4 - l1));
     if (l1 < l4)
     {
      k14= JCGO_SHL_F(i6, (jint)8);
      k15= JCGO_SHL_F(k11, (jint)8);
      k16= l1;
      i17= l4;
     }
     else
     {
      k14= JCGO_SHL_F(k10, (jint)8);
      k15= JCGO_SHL_F(k13, (jint)8);
      k16= l4;
      i17= l1;
     }
     if (k16 < 0)
     {
      k14-= i15 * k16;
      k15-= i16 * k16;
      k16= 0;
     }
     if (i17 > i14)
     {
      i17= i14;
     }
    }
    k17= 0;
    i18= 0;
    k18= 0;
    i19= 0;
    k19= package_World__colourTransparent;
    i20= (jint)-12345678L;
    if (l2 != l1)
    {
     i18= jcgo_div(JCGO_SHL_F(k7 - i6, (jint)8), (l2 - l1));
     i19= jcgo_div(JCGO_SHL_F(k12 - k11, (jint)8), (l2 - l1));
     if (l1 < l2)
     {
      k17= JCGO_SHL_F(i6, (jint)8);
      k18= JCGO_SHL_F(k11, (jint)8);
      k19= l1;
      i20= l2;
     }
     else
     {
      k17= JCGO_SHL_F(k7, (jint)8);
      k18= JCGO_SHL_F(k12, (jint)8);
      k19= l2;
      i20= l1;
     }
     if (k19 < 0)
     {
      k17-= i18 * k19;
      k18-= i19 * k19;
      k19= 0;
     }
     if (i20 > i14)
     {
      i20= i14;
     }
    }
    k20= 0;
    i21= 0;
    k21= 0;
    i22= 0;
    j22= package_World__colourTransparent;
    k22= (jint)-12345678L;
    if (l3 != l2)
    {
     i21= jcgo_div(JCGO_SHL_F(i9 - k7, (jint)8), (l3 - l2));
     i22= jcgo_div(JCGO_SHL_F(i13 - k12, (jint)8), (l3 - l2));
     if (l2 < l3)
     {
      k20= JCGO_SHL_F(k7, (jint)8);
      k21= JCGO_SHL_F(k12, (jint)8);
      j22= l2;
      k22= l3;
     }
     else
     {
      k20= JCGO_SHL_F(i9, (jint)8);
      k21= JCGO_SHL_F(i13, (jint)8);
      j22= l3;
      k22= l2;
     }
     if (j22 < 0)
     {
      k20-= i21 * j22;
      k21-= i22 * j22;
      j22= 0;
     }
     if (k22 > i14)
     {
      k22= i14;
     }
    }
    l22= 0;
    i23= 0;
    j23= 0;
    k23= 0;
    l23= package_World__colourTransparent;
    i24= (jint)-12345678L;
    if (l4 != l3)
    {
     i23= jcgo_div(JCGO_SHL_F(k10 - i9, (jint)8), (l4 - l3));
     k23= jcgo_div(JCGO_SHL_F(k13 - i13, (jint)8), (l4 - l3));
     if (l3 < l4)
     {
      l22= JCGO_SHL_F(i9, (jint)8);
      j23= JCGO_SHL_F(i13, (jint)8);
      l23= l3;
      i24= l4;
     }
     else
     {
      l22= JCGO_SHL_F(k10, (jint)8);
      j23= JCGO_SHL_F(k13, (jint)8);
      l23= l4;
      i24= l3;
     }
     if (l23 < 0)
     {
      l22-= i23 * l23;
      j23-= k23 * l23;
      l23= 0;
     }
     if (i24 > i14)
     {
      i24= i14;
     }
    }
    JCGO_FIELD_NZACCESS(This, minY)= k16;
    if (k19 < JCGO_FIELD_NZACCESS(This, minY))
    {
     JCGO_FIELD_NZACCESS(This, minY)= k19;
    }
    if (j22 < JCGO_FIELD_NZACCESS(This, minY))
    {
     JCGO_FIELD_NZACCESS(This, minY)= j22;
    }
    if (l23 < JCGO_FIELD_NZACCESS(This, minY))
    {
     JCGO_FIELD_NZACCESS(This, minY)= l23;
    }
    JCGO_FIELD_NZACCESS(This, maxY)= i17;
    if (i20 > JCGO_FIELD_NZACCESS(This, maxY))
    {
     JCGO_FIELD_NZACCESS(This, maxY)= i20;
    }
    if (k22 > JCGO_FIELD_NZACCESS(This, maxY))
    {
     JCGO_FIELD_NZACCESS(This, maxY)= k22;
    }
    if (i24 > JCGO_FIELD_NZACCESS(This, maxY))
    {
     JCGO_FIELD_NZACCESS(This, maxY)= i24;
    }
    j24= 0;
    for (k= JCGO_FIELD_NZACCESS(This, minY); k < JCGO_FIELD_NZACCESS(This,
     maxY); k++)
    {
     package_Scanline scanline_7;
     if (k >= k16 && k < i17)
     {
      i= j= k14;
      l= j24= k15;
      k14+= i15;
      k15+= i16;
     }
     else
     {
      i= (jint)655360L;
      j= (jint)-655360L;
     }
     if (k >= k19 && k < i20)
     {
      if (k17 < i)
      {
       i= k17;
       l= k18;
      }
      if (k17 > j)
      {
       j= k17;
       j24= k18;
      }
      k17+= i18;
      k18+= i19;
     }
     if (k >= j22 && k < k22)
     {
      if (k20 < i)
      {
       i= k20;
       l= k21;
      }
      if (k20 > j)
      {
       j= k20;
       j24= k21;
      }
      k20+= i21;
      k21+= i22;
     }
     if (k >= l23 && k < i24)
     {
      if (l22 < i)
      {
       i= l22;
       l= j23;
      }
      if (l22 > j)
      {
       j= l22;
       j24= j23;
      }
      l22+= i23;
      j23+= k23;
     }
     scanline_7= ((package_Scanline)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
      scanlines), k));
     JCGO_FIELD_ACCESS(package_Scanline, scanline_7, startX)= i;
     JCGO_FIELD_NZACCESS(scanline_7, endX)= j;
     JCGO_FIELD_NZACCESS(scanline_7, startS)= l;
     JCGO_FIELD_NZACCESS(scanline_7, endS)= j24;
    }
    if (JCGO_FIELD_NZACCESS(This, minY) < JCGO_FIELD_NZACCESS(This,
     baseY) - JCGO_FIELD_NZACCESS(This, clipY))
    {
     JCGO_FIELD_NZACCESS(This, minY)= JCGO_FIELD_NZACCESS(This, baseY) -
      JCGO_FIELD_NZACCESS(This, clipY);
    }
   }
   else
   {
    jint j2;
    jint i3;
    jint i4;
    JCGO_FIELD_NZACCESS(This, maxY)= JCGO_FIELD_NZACCESS(This, minY)=
     JCGO_ARRAY_IACCESS(ai1, 0)+= JCGO_FIELD_NZACCESS(This, baseY);
    for (k= (jint)1; k < i1; k++)
    {
     jint i2;
     jint jcgo_rcvrI1;
     if ((jcgo_rcvrI1= (i2= JCGO_ARRAY_NZIACCESS(ai1, k)+= JCGO_FIELD_NZACCESS(This,
      baseY)), jcgo_rcvrI1 < JCGO_FIELD_NZACCESS(This, minY)))
     {
      JCGO_FIELD_NZACCESS(This, minY)= i2;
     }
     else
     {
      if (i2 > JCGO_FIELD_NZACCESS(This, maxY))
      {
       JCGO_FIELD_NZACCESS(This, maxY)= i2;
      }
     }
    }
    if (JCGO_FIELD_NZACCESS(This, minY) < JCGO_FIELD_NZACCESS(This,
     baseY) - JCGO_FIELD_NZACCESS(This, clipY))
    {
     JCGO_FIELD_NZACCESS(This, minY)= JCGO_FIELD_NZACCESS(This, baseY) -
      JCGO_FIELD_NZACCESS(This, clipY);
    }
    if (JCGO_FIELD_NZACCESS(This, maxY) >= JCGO_FIELD_NZACCESS(This,
     baseY) + JCGO_FIELD_NZACCESS(This, clipY))
    {
     JCGO_FIELD_NZACCESS(This, maxY)= (JCGO_FIELD_NZACCESS(This, baseY) +
      JCGO_FIELD_NZACCESS(This, clipY)) - (jint)1;
    }
    if (JCGO_FIELD_NZACCESS(This, minY) >= JCGO_FIELD_NZACCESS(This,
     maxY))
    {
     return;
    }
    for (k= JCGO_FIELD_NZACCESS(This, minY); k < JCGO_FIELD_NZACCESS(This,
     maxY); k++)
    {
     package_Scanline scanline;
     scanline= ((package_Scanline)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
      scanlines), k));
     JCGO_FIELD_ACCESS(package_Scanline, scanline, startX)= (jint)655360L;
     JCGO_FIELD_NZACCESS(scanline, endX)= (jint)-655360L;
    }
    j2= i1 - (jint)1;
    i3= JCGO_ARRAY_NZIACCESS(ai1, 0);
    i4= JCGO_ARRAY_NZIACCESS(ai1, j2);
    if (i3 < i4)
    {
     jint i5;
     jint j6;
     jint l7;
     jint j9;
     jint jcgo_rcvrI1;
     i5= JCGO_SHL_F(JCGO_ARRAY_IACCESS(ai, 0), (jint)8);
     j6= jcgo_div(JCGO_SHL_F((jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai,
      j2), jcgo_rcvrI1 - JCGO_ARRAY_NZIACCESS(ai, 0)), (jint)8), (i4 -
      i3));
     l7= JCGO_SHL_F(JCGO_ARRAY_IACCESS(ai2, 0), (jint)8);
     j9= jcgo_div(JCGO_SHL_F((jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2,
      j2), jcgo_rcvrI1 - JCGO_ARRAY_NZIACCESS(ai2, 0)), (jint)8), (i4 -
      i3));
     if (i3 < 0)
     {
      i5-= j6 * i3;
      l7-= j9 * i3;
      i3= 0;
     }
     if (i4 > JCGO_FIELD_NZACCESS(This, maxY))
     {
      i4= JCGO_FIELD_NZACCESS(This, maxY);
     }
     for (k= i3; k <= i4; k++)
     {
      package_Scanline scanline_2;
      jObject jcgo_rcvrL1;
      scanline_2= ((package_Scanline)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
       scanlines), k));
      (jcgo_rcvrL1= (void*)&JCGO_FIELD_ACCESS(package_Scanline, scanline_2,
       startX), *(jint*)jcgo_rcvrL1= JCGO_FIELD_ACCESS(package_Scanline,
       scanline_2, endX)= i5);
      JCGO_FIELD_NZACCESS(scanline_2, startS)= JCGO_FIELD_NZACCESS(scanline_2,
       endS)= l7;
      i5+= j6;
      l7+= j9;
     }
    }
    else
    {
     if (i3 > i4)
     {
      jint j5;
      jint k6;
      jint i8;
      jint k9;
      jint jcgo_rcvrI1;
      j5= JCGO_SHL_F(JCGO_ARRAY_IACCESS(ai, j2), (jint)8);
      k6= jcgo_div(JCGO_SHL_F((jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai,
       0), jcgo_rcvrI1 - JCGO_ARRAY_NZIACCESS(ai, j2)), (jint)8), (i3 -
       i4));
      i8= JCGO_SHL_F(JCGO_ARRAY_IACCESS(ai2, j2), (jint)8);
      k9= jcgo_div(JCGO_SHL_F((jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2,
       0), jcgo_rcvrI1 - JCGO_ARRAY_NZIACCESS(ai2, j2)), (jint)8),
       (i3 - i4));
      if (i4 < 0)
      {
       j5-= k6 * i4;
       i8-= k9 * i4;
       i4= 0;
      }
      if (i3 > JCGO_FIELD_NZACCESS(This, maxY))
      {
       i3= JCGO_FIELD_NZACCESS(This, maxY);
      }
      for (k= i4; k <= i3; k++)
      {
       package_Scanline scanline_3;
       jObject jcgo_rcvrL1;
       scanline_3= ((package_Scanline)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
        scanlines), k));
       (jcgo_rcvrL1= (void*)&JCGO_FIELD_ACCESS(package_Scanline, scanline_3,
        startX), *(jint*)jcgo_rcvrL1= JCGO_FIELD_ACCESS(package_Scanline,
        scanline_3, endX)= j5);
       JCGO_FIELD_NZACCESS(scanline_3, startS)= JCGO_FIELD_NZACCESS(scanline_3,
        endS)= i8;
       j5+= k6;
       i8+= k9;
      }
     }
    }
    for (k= 0; k < j2; k++)
    {
     jint k5;
     jint j3;
     jint j4;
     k5= k + (jint)1;
     j3= JCGO_ARRAY_NZIACCESS(ai1, k);
     j4= JCGO_ARRAY_NZIACCESS(ai1, k5);
     if (j3 < j4)
     {
      jint l6;
      jint j8;
      jint l9;
      jint l10;
      jint jcgo_rcvrI1;
      l6= JCGO_SHL_F(JCGO_ARRAY_IACCESS(ai, k), (jint)8);
      j8= jcgo_div(JCGO_SHL_F((jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai,
       k5), jcgo_rcvrI1 - JCGO_ARRAY_NZIACCESS(ai, k)), (jint)8), (j4 -
       j3));
      l9= JCGO_SHL_F(JCGO_ARRAY_IACCESS(ai2, k), (jint)8);
      l10= jcgo_div(JCGO_SHL_F((jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2,
       k5), jcgo_rcvrI1 - JCGO_ARRAY_NZIACCESS(ai2, k)), (jint)8),
       (j4 - j3));
      if (j3 < 0)
      {
       l6-= j8 * j3;
       l9-= l10 * j3;
       j3= 0;
      }
      if (j4 > JCGO_FIELD_NZACCESS(This, maxY))
      {
       j4= JCGO_FIELD_NZACCESS(This, maxY);
      }
      {
       jint l11;
       l11= j3;
       for (; l11 <= j4; l11++)
       {
        package_Scanline scanline_4;
        scanline_4= ((package_Scanline)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
         scanlines), l11));
        if (l6 < JCGO_FIELD_ACCESS(package_Scanline, scanline_4, startX))
        {
         JCGO_FIELD_NZACCESS(scanline_4, startX)= l6;
         JCGO_FIELD_NZACCESS(scanline_4, startS)= l9;
        }
        if (l6 > JCGO_FIELD_NZACCESS(scanline_4, endX))
        {
         JCGO_FIELD_NZACCESS(scanline_4, endX)= l6;
         JCGO_FIELD_NZACCESS(scanline_4, endS)= l9;
        }
        l6+= j8;
        l9+= l10;
       }
      }
     }
     else
     {
      if (j3 > j4)
      {
       jint i7;
       jint k8;
       jint i10;
       jint i11;
       jint jcgo_rcvrI1;
       i7= JCGO_SHL_F(JCGO_ARRAY_IACCESS(ai, k5), (jint)8);
       k8= jcgo_div(JCGO_SHL_F((jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai,
        k), jcgo_rcvrI1 - JCGO_ARRAY_NZIACCESS(ai, k5)), (jint)8),
        (j3 - j4));
       i10= JCGO_SHL_F(JCGO_ARRAY_IACCESS(ai2, k5), (jint)8);
       i11= jcgo_div(JCGO_SHL_F((jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2,
        k), jcgo_rcvrI1 - JCGO_ARRAY_NZIACCESS(ai2, k5)), (jint)8),
        (j3 - j4));
       if (j4 < 0)
       {
        i7-= k8 * j4;
        i10-= i11 * j4;
        j4= 0;
       }
       if (j3 > JCGO_FIELD_NZACCESS(This, maxY))
       {
        j3= JCGO_FIELD_NZACCESS(This, maxY);
       }
       {
        jint i12;
        i12= j4;
        for (; i12 <= j3; i12++)
        {
         package_Scanline scanline_5;
         scanline_5= ((package_Scanline)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
          scanlines), i12));
         if (i7 < JCGO_FIELD_ACCESS(package_Scanline, scanline_5, startX))
         {
          JCGO_FIELD_NZACCESS(scanline_5, startX)= i7;
          JCGO_FIELD_NZACCESS(scanline_5, startS)= i10;
         }
         if (i7 > JCGO_FIELD_NZACCESS(scanline_5, endX))
         {
          JCGO_FIELD_NZACCESS(scanline_5, endX)= i7;
          JCGO_FIELD_NZACCESS(scanline_5, endS)= i10;
         }
         i7+= k8;
         i10+= i11;
        }
       }
      }
     }
    }
    if (JCGO_FIELD_NZACCESS(This, minY) < JCGO_FIELD_NZACCESS(This,
     baseY) - JCGO_FIELD_NZACCESS(This, clipY))
    {
     JCGO_FIELD_NZACCESS(This, minY)= JCGO_FIELD_NZACCESS(This, baseY) -
      JCGO_FIELD_NZACCESS(This, clipY);
    }
   }
  }
  if (JCGO_FIELD_NZACCESS(This, mousePickingActive) && JCGO_FIELD_NZACCESS(This,
   mousePickedCount) < JCGO_FIELD_NZACCESS(This, mousePickedMax) &&
   JCGO_FIELD_NZACCESS(This, mouseY) >= JCGO_FIELD_NZACCESS(This, minY) &&
   JCGO_FIELD_NZACCESS(This, mouseY) < JCGO_FIELD_NZACCESS(This, maxY))
  {
   package_Scanline scanline_1;
   scanline_1= ((package_Scanline)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
    scanlines), JCGO_FIELD_NZACCESS(This, mouseY)));
   if (JCGO_FIELD_NZACCESS(This, mouseX) >= JCGO_SHR_F(JCGO_FIELD_ACCESS(package_Scanline,
    scanline_1, startX), (jint)8) && JCGO_FIELD_NZACCESS(This, mouseX) <=
    JCGO_SHR_F(JCGO_FIELD_NZACCESS(scanline_1, endX), (jint)8) && JCGO_FIELD_NZACCESS(scanline_1,
    startX) <= JCGO_FIELD_NZACCESS(scanline_1, endX) && !JCGO_FIELD_ACCESS(package_GameModel,
    gameModel, unpickable) && JCGO_ARRAY_BACCESS(JCGO_FIELD_ACCESS(package_GameModel,
    gameModel, isLocalPlayer), pid) == 0)
   {
    *(package_GameModel*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
     mousePickedModels), JCGO_FIELD_NZACCESS(This, mousePickedCount))=
     gameModel;
    JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, mousePickedFaces),
     JCGO_FIELD_NZACCESS(This, mousePickedCount))= pid;
    JCGO_FIELD_NZACCESS(This, mousePickedCount)++;
   }
  }
 }
}

JCGO_NOSEP_INLINE void CFASTCALL
package_Scene__textureTranslucentScanline__IAIAIIIIIIIIIIII( jintArr
 ai, jintArr ai1, jint i, jint j, jint k, jint l, jint i1, jint j1,
 jint k1, jint l1, jint i2, jint j2, jint k2, jint l2 )
{
 {
  jint i3;
  jint j3;
  jint i4;
  jint k3;
  jint l3;
  if (i2 <= 0)
  {
   return;
  }
  i3= 0;
  j3= 0;
  i4= 0;
  if (i1 != 0)
  {
   i= JCGO_SHL_F(jcgo_div(k, i1), (jint)7);
   j= JCGO_SHL_F(jcgo_div(l, i1), (jint)7);
  }
  if (i < 0)
  {
   i= 0;
  }
  else
  {
   if (i > (jint)16256)
   {
    i= (jint)16256;
   }
  }
  k+= j1;
  l+= k1;
  i1+= l1;
  if (i1 != 0)
  {
   i3= JCGO_SHL_F(jcgo_div(k, i1), (jint)7);
   j3= JCGO_SHL_F(jcgo_div(l, i1), (jint)7);
  }
  if (i3 < 0)
  {
   i3= 0;
  }
  else
  {
   if (i3 > (jint)16256)
   {
    i3= (jint)16256;
   }
  }
  k3= JCGO_SHR_F(i3 - i, (jint)4);
  l3= JCGO_SHR_F(j3 - j, (jint)4);
  {
   jint j4;
   j4= JCGO_SHR_F(i2, (jint)4);
   for (; j4 > 0; j4--)
   {
    jObject jcgo_rcvrL1;
    jint jcgo_rcvrI1;
    jint jcgo_rcvrI2;
    jint jcgo_rcvrI3;
    i+= k2 & (jint)6291456L;
    i4= JCGO_SHR_F(k2, (jint)23);
    k2+= l2;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
     JCGO_USHR_F(JCGO_ARRAY_IACCESS(ai1, (j & (jint)16256) + JCGO_SHR_F(i,
     (jint)7)), i4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_IACCESS(ai,
     j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
     JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)16256) + JCGO_SHR_F(i,
     (jint)7)), i4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
     JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)16256) + JCGO_SHR_F(i,
     (jint)7)), i4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
     JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)16256) + JCGO_SHR_F(i,
     (jint)7)), i4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    i= (i & (jint)16383) + (k2 & (jint)6291456L);
    i4= JCGO_SHR_F(k2, (jint)23);
    k2+= l2;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
     JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)16256) + JCGO_SHR_F(i,
     (jint)7)), i4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
     JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)16256) + JCGO_SHR_F(i,
     (jint)7)), i4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
     JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)16256) + JCGO_SHR_F(i,
     (jint)7)), i4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
     JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)16256) + JCGO_SHR_F(i,
     (jint)7)), i4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    i= (i & (jint)16383) + (k2 & (jint)6291456L);
    i4= JCGO_SHR_F(k2, (jint)23);
    k2+= l2;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
     JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)16256) + JCGO_SHR_F(i,
     (jint)7)), i4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
     JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)16256) + JCGO_SHR_F(i,
     (jint)7)), i4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
     JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)16256) + JCGO_SHR_F(i,
     (jint)7)), i4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
     JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)16256) + JCGO_SHR_F(i,
     (jint)7)), i4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    i= (i & (jint)16383) + (k2 & (jint)6291456L);
    i4= JCGO_SHR_F(k2, (jint)23);
    k2+= l2;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
     JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)16256) + JCGO_SHR_F(i,
     (jint)7)), i4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
     JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)16256) + JCGO_SHR_F(i,
     (jint)7)), i4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
     JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)16256) + JCGO_SHR_F(i,
     (jint)7)), i4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
     JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)16256) + JCGO_SHR_F(i,
     (jint)7)), i4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i= i3;
    j= j3;
    k+= j1;
    l+= k1;
    i1+= l1;
    if (i1 != 0)
    {
     i3= JCGO_SHL_F(jcgo_div(k, i1), (jint)7);
     j3= JCGO_SHL_F(jcgo_div(l, i1), (jint)7);
    }
    if (i3 < 0)
    {
     i3= 0;
    }
    else
    {
     if (i3 > (jint)16256)
     {
      i3= (jint)16256;
     }
    }
    k3= JCGO_SHR_F(i3 - i, (jint)4);
    l3= JCGO_SHR_F(j3 - j, (jint)4);
   }
  }
  {
   jint k4;
   k4= 0;
   for (; k4 < (i2 & (jint)15); k4++)
   {
    jObject jcgo_rcvrL1;
    jint jcgo_rcvrI1;
    jint jcgo_rcvrI2;
    jint jcgo_rcvrI3;
    if ((k4 & (jint)3) == 0)
    {
     i= (i & (jint)16383) + (k2 & (jint)6291456L);
     i4= JCGO_SHR_F(k2, (jint)23);
     k2+= l2;
    }
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
     JCGO_USHR_F(JCGO_ARRAY_IACCESS(ai1, (j & (jint)16256) + JCGO_SHR_F(i,
     (jint)7)), i4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_IACCESS(ai,
     j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
   }
  }
 }
}

JCGO_NOSEP_INLINE void CFASTCALL
package_Scene__textureScanline__IAIAIIIIIIIIIIII( jintArr ai, jintArr
 ai1, jint i, jint j, jint k, jint l, jint i1, jint j1, jint k1, jint
 l1, jint i2, jint j2, jint k2, jint l2 )
{
 {
  jint i3;
  jint j3;
  jint i4;
  jint k3;
  jint l3;
  if (i2 <= 0)
  {
   return;
  }
  i3= 0;
  j3= 0;
  i4= 0;
  if (i1 != 0)
  {
   i= JCGO_SHL_F(jcgo_div(k, i1), (jint)7);
   j= JCGO_SHL_F(jcgo_div(l, i1), (jint)7);
  }
  if (i < 0)
  {
   i= 0;
  }
  else
  {
   if (i > (jint)16256)
   {
    i= (jint)16256;
   }
  }
  k+= j1;
  l+= k1;
  i1+= l1;
  if (i1 != 0)
  {
   i3= JCGO_SHL_F(jcgo_div(k, i1), (jint)7);
   j3= JCGO_SHL_F(jcgo_div(l, i1), (jint)7);
  }
  if (i3 < 0)
  {
   i3= 0;
  }
  else
  {
   if (i3 > (jint)16256)
   {
    i3= (jint)16256;
   }
  }
  k3= JCGO_SHR_F(i3 - i, (jint)4);
  l3= JCGO_SHR_F(j3 - j, (jint)4);
  {
   jint j4;
   j4= JCGO_SHR_F(i2, (jint)4);
   for (; j4 > 0; j4--)
   {
    jObject jcgo_rcvrL1;
    jint jcgo_rcvrI1;
    jint jcgo_rcvrI2;
    i+= k2 & (jint)6291456L;
    i4= JCGO_SHR_F(k2, (jint)23);
    k2+= l2;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_IACCESS(ai1,
     (j & (jint)16256) + JCGO_SHR_F(i, (jint)7)), i4), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
     (j & (jint)16256) + JCGO_SHR_F(i, (jint)7)), i4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
     (j & (jint)16256) + JCGO_SHR_F(i, (jint)7)), i4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
     (j & (jint)16256) + JCGO_SHR_F(i, (jint)7)), i4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    i= (i & (jint)16383) + (k2 & (jint)6291456L);
    i4= JCGO_SHR_F(k2, (jint)23);
    k2+= l2;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
     (j & (jint)16256) + JCGO_SHR_F(i, (jint)7)), i4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
     (j & (jint)16256) + JCGO_SHR_F(i, (jint)7)), i4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
     (j & (jint)16256) + JCGO_SHR_F(i, (jint)7)), i4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
     (j & (jint)16256) + JCGO_SHR_F(i, (jint)7)), i4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    i= (i & (jint)16383) + (k2 & (jint)6291456L);
    i4= JCGO_SHR_F(k2, (jint)23);
    k2+= l2;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
     (j & (jint)16256) + JCGO_SHR_F(i, (jint)7)), i4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
     (j & (jint)16256) + JCGO_SHR_F(i, (jint)7)), i4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
     (j & (jint)16256) + JCGO_SHR_F(i, (jint)7)), i4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
     (j & (jint)16256) + JCGO_SHR_F(i, (jint)7)), i4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    i= (i & (jint)16383) + (k2 & (jint)6291456L);
    i4= JCGO_SHR_F(k2, (jint)23);
    k2+= l2;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
     (j & (jint)16256) + JCGO_SHR_F(i, (jint)7)), i4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
     (j & (jint)16256) + JCGO_SHR_F(i, (jint)7)), i4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
     (j & (jint)16256) + JCGO_SHR_F(i, (jint)7)), i4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
     (j & (jint)16256) + JCGO_SHR_F(i, (jint)7)), i4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i= i3;
    j= j3;
    k+= j1;
    l+= k1;
    i1+= l1;
    if (i1 != 0)
    {
     i3= JCGO_SHL_F(jcgo_div(k, i1), (jint)7);
     j3= JCGO_SHL_F(jcgo_div(l, i1), (jint)7);
    }
    if (i3 < 0)
    {
     i3= 0;
    }
    else
    {
     if (i3 > (jint)16256)
     {
      i3= (jint)16256;
     }
    }
    k3= JCGO_SHR_F(i3 - i, (jint)4);
    l3= JCGO_SHR_F(j3 - j, (jint)4);
   }
  }
  {
   jint k4;
   k4= 0;
   for (; k4 < (i2 & (jint)15); k4++)
   {
    jObject jcgo_rcvrL1;
    jint jcgo_rcvrI1;
    jint jcgo_rcvrI2;
    if ((k4 & (jint)3) == 0)
    {
     i= (i & (jint)16383) + (k2 & (jint)6291456L);
     i4= JCGO_SHR_F(k2, (jint)23);
     k2+= l2;
    }
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_IACCESS(ai1,
     (j & (jint)16256) + JCGO_SHR_F(i, (jint)7)), i4), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    i+= k3;
    j+= l3;
   }
  }
 }
}

JCGO_NOSEP_INLINE void CFASTCALL
package_Scene__textureBackTranslucentScanline__IAIIIIAIIIIIIIIII(
 jintArr ai, jintArr ai1, jint i, jint j, jint k, jint l, jint i1,
 jint j1, jint k1, jint l1, jint i2, jint j2, jint k2, jint l2, jint
 i3 )
{
 {
  jint j3;
  jint k3;
  if (j2 <= 0)
  {
   return;
  }
  j3= 0;
  k3= 0;
  i3= JCGO_SHL_F(i3, (jint)2);
  if (j1 != 0)
  {
   j3= JCGO_SHL_F(jcgo_div(l, j1), (jint)7);
   k3= JCGO_SHL_F(jcgo_div(i1, j1), (jint)7);
  }
  if (j3 < 0)
  {
   j3= 0;
  }
  else
  {
   if (j3 > (jint)16256)
   {
    j3= (jint)16256;
   }
  }
  {
   jint j4;
   j4= j2;
   for (; j4 > 0; j4-= (jint)16)
   {
    jint l3;
    jint i4;
    jint k4;
    l+= k1;
    i1+= l1;
    j1+= i2;
    j= j3;
    k= k3;
    if (j1 != 0)
    {
     j3= JCGO_SHL_F(jcgo_div(l, j1), (jint)7);
     k3= JCGO_SHL_F(jcgo_div(i1, j1), (jint)7);
    }
    if (j3 < 0)
    {
     j3= 0;
    }
    else
    {
     if (j3 > (jint)16256)
     {
      j3= (jint)16256;
     }
    }
    l3= JCGO_SHR_F(j3 - j, (jint)4);
    i4= JCGO_SHR_F(k3 - k, (jint)4);
    k4= JCGO_SHR_F(l2, (jint)23);
    j+= l2 & (jint)6291456L;
    l2+= i3;
    if (j4 < (jint)16)
    {
     {
      jint l4;
      l4= 0;
      for (; l4 < j4; l4++)
      {
       if ((i= JCGO_USHR_F(JCGO_ARRAY_IACCESS(ai1, (k & (jint)16256) +
        JCGO_SHR_F(j, (jint)7)), k4)) != 0)
       {
        JCGO_ARRAY_IACCESS(ai, k2)= i;
       }
       k2++;
       j+= l3;
       k+= i4;
       if ((l4 & (jint)3) == (jint)3)
       {
        j= (j & (jint)16383) + (l2 & (jint)6291456L);
        k4= JCGO_SHR_F(l2, (jint)23);
        l2+= i3;
       }
      }
     }
    }
    else
    {
     if ((i= JCGO_USHR_F(JCGO_ARRAY_IACCESS(ai1, (k & (jint)16256) +
      JCGO_SHR_F(j, (jint)7)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)16256) +
      JCGO_SHR_F(j, (jint)7)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)16256) +
      JCGO_SHR_F(j, (jint)7)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)16256) +
      JCGO_SHR_F(j, (jint)7)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     j= (j & (jint)16383) + (l2 & (jint)6291456L);
     k4= JCGO_SHR_F(l2, (jint)23);
     l2+= i3;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)16256) +
      JCGO_SHR_F(j, (jint)7)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)16256) +
      JCGO_SHR_F(j, (jint)7)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)16256) +
      JCGO_SHR_F(j, (jint)7)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)16256) +
      JCGO_SHR_F(j, (jint)7)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     j= (j & (jint)16383) + (l2 & (jint)6291456L);
     k4= JCGO_SHR_F(l2, (jint)23);
     l2+= i3;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)16256) +
      JCGO_SHR_F(j, (jint)7)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)16256) +
      JCGO_SHR_F(j, (jint)7)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)16256) +
      JCGO_SHR_F(j, (jint)7)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)16256) +
      JCGO_SHR_F(j, (jint)7)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     j= (j & (jint)16383) + (l2 & (jint)6291456L);
     k4= JCGO_SHR_F(l2, (jint)23);
     l2+= i3;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)16256) +
      JCGO_SHR_F(j, (jint)7)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)16256) +
      JCGO_SHR_F(j, (jint)7)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)16256) +
      JCGO_SHR_F(j, (jint)7)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)16256) +
      JCGO_SHR_F(j, (jint)7)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
    }
   }
  }
 }
}

JCGO_NOSEP_INLINE void CFASTCALL
package_Scene__textureTranslucentScanline2__IAIAIIIIIIIIIIII( jintArr
 ai, jintArr ai1, jint i, jint j, jint k, jint l, jint i1, jint j1,
 jint k1, jint l1, jint i2, jint j2, jint k2, jint l2 )
{
 {
  jint i3;
  jint j3;
  if (i2 <= 0)
  {
   return;
  }
  i3= 0;
  j3= 0;
  l2= JCGO_SHL_F(l2, (jint)2);
  if (i1 != 0)
  {
   i3= JCGO_SHL_F(jcgo_div(k, i1), (jint)6);
   j3= JCGO_SHL_F(jcgo_div(l, i1), (jint)6);
  }
  if (i3 < 0)
  {
   i3= 0;
  }
  else
  {
   if (i3 > (jint)4032)
   {
    i3= (jint)4032;
   }
  }
  {
   jint i4;
   i4= i2;
   for (; i4 > 0; i4-= (jint)16)
   {
    jint k3;
    jint l3;
    jint j4;
    k+= j1;
    l+= k1;
    i1+= l1;
    i= i3;
    j= j3;
    if (i1 != 0)
    {
     i3= JCGO_SHL_F(jcgo_div(k, i1), (jint)6);
     j3= JCGO_SHL_F(jcgo_div(l, i1), (jint)6);
    }
    if (i3 < 0)
    {
     i3= 0;
    }
    else
    {
     if (i3 > (jint)4032)
     {
      i3= (jint)4032;
     }
    }
    k3= JCGO_SHR_F(i3 - i, (jint)4);
    l3= JCGO_SHR_F(j3 - j, (jint)4);
    j4= JCGO_SHR_F(k2, (jint)20);
    i+= k2 & (jint)786432L;
    k2+= l2;
    if (i4 < (jint)16)
    {
     {
      jint k4;
      k4= 0;
      for (; k4 < i4; k4++)
      {
       jObject jcgo_rcvrL1;
       jint jcgo_rcvrI1;
       jint jcgo_rcvrI2;
       jint jcgo_rcvrI3;
       (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
        JCGO_USHR_F(JCGO_ARRAY_IACCESS(ai1, (j & (jint)4032) + JCGO_SHR_F(i,
        (jint)6)), j4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_IACCESS(ai,
        j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
        jcgo_rcvrI1)= jcgo_rcvrI2);
       i+= k3;
       j+= l3;
       if ((k4 & (jint)3) == (jint)3)
       {
        i= (i & (jint)4095) + (k2 & (jint)786432L);
        j4= JCGO_SHR_F(k2, (jint)20);
        k2+= l2;
       }
      }
     }
    }
    else
    {
     jObject jcgo_rcvrL1;
     jint jcgo_rcvrI1;
     jint jcgo_rcvrI2;
     jint jcgo_rcvrI3;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
      JCGO_USHR_F(JCGO_ARRAY_IACCESS(ai1, (j & (jint)4032) + JCGO_SHR_F(i,
      (jint)6)), j4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_IACCESS(ai,
      j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
      JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)4032) + JCGO_SHR_F(i,
      (jint)6)), j4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
      j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
      JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)4032) + JCGO_SHR_F(i,
      (jint)6)), j4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
      j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
      JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)4032) + JCGO_SHR_F(i,
      (jint)6)), j4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
      j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     i= (i & (jint)4095) + (k2 & (jint)786432L);
     j4= JCGO_SHR_F(k2, (jint)20);
     k2+= l2;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
      JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)4032) + JCGO_SHR_F(i,
      (jint)6)), j4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
      j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
      JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)4032) + JCGO_SHR_F(i,
      (jint)6)), j4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
      j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
      JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)4032) + JCGO_SHR_F(i,
      (jint)6)), j4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
      j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
      JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)4032) + JCGO_SHR_F(i,
      (jint)6)), j4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
      j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     i= (i & (jint)4095) + (k2 & (jint)786432L);
     j4= JCGO_SHR_F(k2, (jint)20);
     k2+= l2;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
      JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)4032) + JCGO_SHR_F(i,
      (jint)6)), j4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
      j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
      JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)4032) + JCGO_SHR_F(i,
      (jint)6)), j4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
      j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
      JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)4032) + JCGO_SHR_F(i,
      (jint)6)), j4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
      j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
      JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)4032) + JCGO_SHR_F(i,
      (jint)6)), j4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
      j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     i= (i & (jint)4095) + (k2 & (jint)786432L);
     j4= JCGO_SHR_F(k2, (jint)20);
     k2+= l2;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
      JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)4032) + JCGO_SHR_F(i,
      (jint)6)), j4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
      j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
      JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)4032) + JCGO_SHR_F(i,
      (jint)6)), j4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
      j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
      JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)4032) + JCGO_SHR_F(i,
      (jint)6)), j4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
      j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= (jcgo_rcvrI3=
      JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (j & (jint)4032) + JCGO_SHR_F(i,
      (jint)6)), j4), jcgo_rcvrI3 + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
      j2), (jint)1) & (jint)8355711L)), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
    }
   }
  }
 }
}

JCGO_NOSEP_INLINE void CFASTCALL
package_Scene__textureScanline2__IAIAIIIIIIIIIIII( jintArr ai, jintArr
 ai1, jint i, jint j, jint k, jint l, jint i1, jint j1, jint k1, jint
 l1, jint i2, jint j2, jint k2, jint l2 )
{
 {
  jint i3;
  jint j3;
  if (i2 <= 0)
  {
   return;
  }
  i3= 0;
  j3= 0;
  l2= JCGO_SHL_F(l2, (jint)2);
  if (i1 != 0)
  {
   i3= JCGO_SHL_F(jcgo_div(k, i1), (jint)6);
   j3= JCGO_SHL_F(jcgo_div(l, i1), (jint)6);
  }
  if (i3 < 0)
  {
   i3= 0;
  }
  else
  {
   if (i3 > (jint)4032)
   {
    i3= (jint)4032;
   }
  }
  {
   jint i4;
   i4= i2;
   for (; i4 > 0; i4-= (jint)16)
   {
    jint k3;
    jint l3;
    jint j4;
    k+= j1;
    l+= k1;
    i1+= l1;
    i= i3;
    j= j3;
    if (i1 != 0)
    {
     i3= JCGO_SHL_F(jcgo_div(k, i1), (jint)6);
     j3= JCGO_SHL_F(jcgo_div(l, i1), (jint)6);
    }
    if (i3 < 0)
    {
     i3= 0;
    }
    else
    {
     if (i3 > (jint)4032)
     {
      i3= (jint)4032;
     }
    }
    k3= JCGO_SHR_F(i3 - i, (jint)4);
    l3= JCGO_SHR_F(j3 - j, (jint)4);
    j4= JCGO_SHR_F(k2, (jint)20);
    i+= k2 & (jint)786432L;
    k2+= l2;
    if (i4 < (jint)16)
    {
     {
      jint k4;
      k4= 0;
      for (; k4 < i4; k4++)
      {
       jObject jcgo_rcvrL1;
       jint jcgo_rcvrI1;
       jint jcgo_rcvrI2;
       (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_IACCESS(ai1,
        (j & (jint)4032) + JCGO_SHR_F(i, (jint)6)), j4), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
        jcgo_rcvrI1)= jcgo_rcvrI2);
       i+= k3;
       j+= l3;
       if ((k4 & (jint)3) == (jint)3)
       {
        i= (i & (jint)4095) + (k2 & (jint)786432L);
        j4= JCGO_SHR_F(k2, (jint)20);
        k2+= l2;
       }
      }
     }
    }
    else
    {
     jObject jcgo_rcvrL1;
     jint jcgo_rcvrI1;
     jint jcgo_rcvrI2;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_IACCESS(ai1,
      (j & (jint)4032) + JCGO_SHR_F(i, (jint)6)), j4), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
      (j & (jint)4032) + JCGO_SHR_F(i, (jint)6)), j4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
      (j & (jint)4032) + JCGO_SHR_F(i, (jint)6)), j4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
      (j & (jint)4032) + JCGO_SHR_F(i, (jint)6)), j4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     i= (i & (jint)4095) + (k2 & (jint)786432L);
     j4= JCGO_SHR_F(k2, (jint)20);
     k2+= l2;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
      (j & (jint)4032) + JCGO_SHR_F(i, (jint)6)), j4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
      (j & (jint)4032) + JCGO_SHR_F(i, (jint)6)), j4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
      (j & (jint)4032) + JCGO_SHR_F(i, (jint)6)), j4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
      (j & (jint)4032) + JCGO_SHR_F(i, (jint)6)), j4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     i= (i & (jint)4095) + (k2 & (jint)786432L);
     j4= JCGO_SHR_F(k2, (jint)20);
     k2+= l2;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
      (j & (jint)4032) + JCGO_SHR_F(i, (jint)6)), j4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
      (j & (jint)4032) + JCGO_SHR_F(i, (jint)6)), j4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
      (j & (jint)4032) + JCGO_SHR_F(i, (jint)6)), j4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
      (j & (jint)4032) + JCGO_SHR_F(i, (jint)6)), j4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     i= (i & (jint)4095) + (k2 & (jint)786432L);
     j4= JCGO_SHR_F(k2, (jint)20);
     k2+= l2;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
      (j & (jint)4032) + JCGO_SHR_F(i, (jint)6)), j4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
      (j & (jint)4032) + JCGO_SHR_F(i, (jint)6)), j4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
      (j & (jint)4032) + JCGO_SHR_F(i, (jint)6)), j4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
     i+= k3;
     j+= l3;
     (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j2++, jcgo_rcvrI2= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1,
      (j & (jint)4032) + JCGO_SHR_F(i, (jint)6)), j4), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
      jcgo_rcvrI1)= jcgo_rcvrI2);
    }
   }
  }
 }
}

JCGO_NOSEP_INLINE void CFASTCALL
package_Scene__textureBackTranslucentScanline2__IAIIIIAIIIIIIIIII(
 jintArr ai, jintArr ai1, jint i, jint j, jint k, jint l, jint i1,
 jint j1, jint k1, jint l1, jint i2, jint j2, jint k2, jint l2, jint
 i3 )
{
 {
  jint j3;
  jint k3;
  if (j2 <= 0)
  {
   return;
  }
  j3= 0;
  k3= 0;
  i3= JCGO_SHL_F(i3, (jint)2);
  if (j1 != 0)
  {
   j3= JCGO_SHL_F(jcgo_div(l, j1), (jint)6);
   k3= JCGO_SHL_F(jcgo_div(i1, j1), (jint)6);
  }
  if (j3 < 0)
  {
   j3= 0;
  }
  else
  {
   if (j3 > (jint)4032)
   {
    j3= (jint)4032;
   }
  }
  {
   jint j4;
   j4= j2;
   for (; j4 > 0; j4-= (jint)16)
   {
    jint l3;
    jint i4;
    jint k4;
    l+= k1;
    i1+= l1;
    j1+= i2;
    j= j3;
    k= k3;
    if (j1 != 0)
    {
     j3= JCGO_SHL_F(jcgo_div(l, j1), (jint)6);
     k3= JCGO_SHL_F(jcgo_div(i1, j1), (jint)6);
    }
    if (j3 < 0)
    {
     j3= 0;
    }
    else
    {
     if (j3 > (jint)4032)
     {
      j3= (jint)4032;
     }
    }
    l3= JCGO_SHR_F(j3 - j, (jint)4);
    i4= JCGO_SHR_F(k3 - k, (jint)4);
    k4= JCGO_SHR_F(l2, (jint)20);
    j+= l2 & (jint)786432L;
    l2+= i3;
    if (j4 < (jint)16)
    {
     {
      jint l4;
      l4= 0;
      for (; l4 < j4; l4++)
      {
       if ((i= JCGO_USHR_F(JCGO_ARRAY_IACCESS(ai1, (k & (jint)4032) +
        JCGO_SHR_F(j, (jint)6)), k4)) != 0)
       {
        JCGO_ARRAY_IACCESS(ai, k2)= i;
       }
       k2++;
       j+= l3;
       k+= i4;
       if ((l4 & (jint)3) == (jint)3)
       {
        j= (j & (jint)4095) + (l2 & (jint)786432L);
        k4= JCGO_SHR_F(l2, (jint)20);
        l2+= i3;
       }
      }
     }
    }
    else
    {
     if ((i= JCGO_USHR_F(JCGO_ARRAY_IACCESS(ai1, (k & (jint)4032) +
      JCGO_SHR_F(j, (jint)6)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)4032) +
      JCGO_SHR_F(j, (jint)6)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)4032) +
      JCGO_SHR_F(j, (jint)6)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)4032) +
      JCGO_SHR_F(j, (jint)6)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     j= (j & (jint)4095) + (l2 & (jint)786432L);
     k4= JCGO_SHR_F(l2, (jint)20);
     l2+= i3;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)4032) +
      JCGO_SHR_F(j, (jint)6)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)4032) +
      JCGO_SHR_F(j, (jint)6)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)4032) +
      JCGO_SHR_F(j, (jint)6)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)4032) +
      JCGO_SHR_F(j, (jint)6)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     j= (j & (jint)4095) + (l2 & (jint)786432L);
     k4= JCGO_SHR_F(l2, (jint)20);
     l2+= i3;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)4032) +
      JCGO_SHR_F(j, (jint)6)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)4032) +
      JCGO_SHR_F(j, (jint)6)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)4032) +
      JCGO_SHR_F(j, (jint)6)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)4032) +
      JCGO_SHR_F(j, (jint)6)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     j= (j & (jint)4095) + (l2 & (jint)786432L);
     k4= JCGO_SHR_F(l2, (jint)20);
     l2+= i3;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)4032) +
      JCGO_SHR_F(j, (jint)6)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)4032) +
      JCGO_SHR_F(j, (jint)6)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)4032) +
      JCGO_SHR_F(j, (jint)6)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
     j+= l3;
     k+= i4;
     if ((i= JCGO_USHR_F(JCGO_ARRAY_NZIACCESS(ai1, (k & (jint)4032) +
      JCGO_SHR_F(j, (jint)6)), k4)) != 0)
     {
      JCGO_ARRAY_IACCESS(ai, k2)= i;
     }
     k2++;
    }
   }
  }
 }
}

JCGO_NOSEP_INLINE void CFASTCALL
package_Scene__textureGradientScanline__IAIIIIAII( jintArr ai, jintArr
 ai1, jint i, jint j, jint k, jint l, jint i1 )
{
 {
  jint j1;
  if (i >= 0)
  {
   return;
  }
  i1= JCGO_SHL_F(i1, (jint)2);
  k= JCGO_ARRAY_IACCESS(ai1, JCGO_SHR_F(l, (jint)8) & (jint)255);
  l+= i1;
  j1= i / (jint)16;
  {
   jint k1;
   k1= j1;
   for (; k1 < 0; k1++)
   {
    jObject jcgo_rcvrL1;
    jint jcgo_rcvrI1;
    jint jcgo_rcvrI2;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j++, jcgo_rcvrI2= k + (JCGO_SHR_F(JCGO_ARRAY_IACCESS(ai,
     j), (jint)1) & (jint)8355711L), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j++, jcgo_rcvrI2= k + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j), (jint)1) & (jint)8355711L), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j++, jcgo_rcvrI2= k + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j), (jint)1) & (jint)8355711L), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j++, jcgo_rcvrI2= k + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j), (jint)1) & (jint)8355711L), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    k= JCGO_ARRAY_NZIACCESS(ai1, JCGO_SHR_F(l, (jint)8) & (jint)255);
    l+= i1;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j++, jcgo_rcvrI2= k + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j), (jint)1) & (jint)8355711L), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j++, jcgo_rcvrI2= k + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j), (jint)1) & (jint)8355711L), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j++, jcgo_rcvrI2= k + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j), (jint)1) & (jint)8355711L), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j++, jcgo_rcvrI2= k + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j), (jint)1) & (jint)8355711L), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    k= JCGO_ARRAY_NZIACCESS(ai1, JCGO_SHR_F(l, (jint)8) & (jint)255);
    l+= i1;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j++, jcgo_rcvrI2= k + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j), (jint)1) & (jint)8355711L), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j++, jcgo_rcvrI2= k + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j), (jint)1) & (jint)8355711L), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j++, jcgo_rcvrI2= k + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j), (jint)1) & (jint)8355711L), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j++, jcgo_rcvrI2= k + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j), (jint)1) & (jint)8355711L), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    k= JCGO_ARRAY_NZIACCESS(ai1, JCGO_SHR_F(l, (jint)8) & (jint)255);
    l+= i1;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j++, jcgo_rcvrI2= k + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j), (jint)1) & (jint)8355711L), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j++, jcgo_rcvrI2= k + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j), (jint)1) & (jint)8355711L), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j++, jcgo_rcvrI2= k + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j), (jint)1) & (jint)8355711L), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j++, jcgo_rcvrI2= k + (JCGO_SHR_F(JCGO_ARRAY_NZIACCESS(ai,
     j), (jint)1) & (jint)8355711L), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    k= JCGO_ARRAY_NZIACCESS(ai1, JCGO_SHR_F(l, (jint)8) & (jint)255);
    l+= i1;
   }
  }
  j1= (-(i % (jint)16));
  {
   jint l1;
   l1= 0;
   for (; l1 < j1; l1++)
   {
    jObject jcgo_rcvrL1;
    jint jcgo_rcvrI1;
    jint jcgo_rcvrI2;
    (jcgo_rcvrL1= (jObject)ai, jcgo_rcvrI1= j++, jcgo_rcvrI2= k + (JCGO_SHR_F(JCGO_ARRAY_IACCESS(ai,
     j), (jint)1) & (jint)8355711L), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    if ((l1 & (jint)3) == (jint)3)
    {
     k= JCGO_ARRAY_NZIACCESS(ai1, JCGO_SHR_F(l, (jint)8) & (jint)255);
     l+= i1;
     l+= i1;
    }
   }
  }
 }
}

JCGO_NOSEP_INLINE void CFASTCALL
package_Scene__gradientScanline__IAIIIIAII( jintArr ai, jintArr ai1,
 jint i, jint j, jint k, jint l, jint i1 )
{
 {
  jint j1;
  if (i >= 0)
  {
   return;
  }
  i1= JCGO_SHL_F(i1, (jint)1);
  k= JCGO_ARRAY_IACCESS(ai1, JCGO_SHR_F(l, (jint)8) & (jint)255);
  l+= i1;
  j1= i / (jint)8;
  {
   jint k1;
   k1= j1;
   for (; k1 < 0; k1++)
   {
    JCGO_ARRAY_IACCESS(ai, j++)= k;
    JCGO_ARRAY_NZIACCESS(ai, j++)= k;
    k= JCGO_ARRAY_NZIACCESS(ai1, JCGO_SHR_F(l, (jint)8) & (jint)255);
    l+= i1;
    JCGO_ARRAY_NZIACCESS(ai, j++)= k;
    JCGO_ARRAY_NZIACCESS(ai, j++)= k;
    k= JCGO_ARRAY_NZIACCESS(ai1, JCGO_SHR_F(l, (jint)8) & (jint)255);
    l+= i1;
    JCGO_ARRAY_NZIACCESS(ai, j++)= k;
    JCGO_ARRAY_NZIACCESS(ai, j++)= k;
    k= JCGO_ARRAY_NZIACCESS(ai1, JCGO_SHR_F(l, (jint)8) & (jint)255);
    l+= i1;
    JCGO_ARRAY_NZIACCESS(ai, j++)= k;
    JCGO_ARRAY_NZIACCESS(ai, j++)= k;
    k= JCGO_ARRAY_NZIACCESS(ai1, JCGO_SHR_F(l, (jint)8) & (jint)255);
    l+= i1;
   }
  }
  j1= (-(i % (jint)8));
  {
   jint l1;
   l1= 0;
   for (; l1 < j1; l1++)
   {
    JCGO_ARRAY_IACCESS(ai, j++)= k;
    if ((l1 & (jint)1) == (jint)1)
    {
     k= JCGO_ARRAY_NZIACCESS(ai1, JCGO_SHR_F(l, (jint)8) & (jint)255);
     l+= i1;
    }
   }
  }
 }
}

JCGO_NOSEP_INLINE void CFASTCALL
package_Scene__gradientScanline2__IAIIIIAII( jintArr ai, jintArr ai1,
 jint i, jint j, jint k, jint l, jint i1 )
{
 {
  jint j1;
  if (i >= 0)
  {
   return;
  }
  i1= JCGO_SHL_F(i1, (jint)2);
  k= JCGO_ARRAY_IACCESS(ai1, JCGO_SHR_F(l, (jint)8) & (jint)255);
  l+= i1;
  j1= i / (jint)16;
  {
   jint k1;
   k1= j1;
   for (; k1 < 0; k1++)
   {
    JCGO_ARRAY_IACCESS(ai, j++)= k;
    JCGO_ARRAY_NZIACCESS(ai, j++)= k;
    JCGO_ARRAY_NZIACCESS(ai, j++)= k;
    JCGO_ARRAY_NZIACCESS(ai, j++)= k;
    k= JCGO_ARRAY_NZIACCESS(ai1, JCGO_SHR_F(l, (jint)8) & (jint)255);
    l+= i1;
    JCGO_ARRAY_NZIACCESS(ai, j++)= k;
    JCGO_ARRAY_NZIACCESS(ai, j++)= k;
    JCGO_ARRAY_NZIACCESS(ai, j++)= k;
    JCGO_ARRAY_NZIACCESS(ai, j++)= k;
    k= JCGO_ARRAY_NZIACCESS(ai1, JCGO_SHR_F(l, (jint)8) & (jint)255);
    l+= i1;
    JCGO_ARRAY_NZIACCESS(ai, j++)= k;
    JCGO_ARRAY_NZIACCESS(ai, j++)= k;
    JCGO_ARRAY_NZIACCESS(ai, j++)= k;
    JCGO_ARRAY_NZIACCESS(ai, j++)= k;
    k= JCGO_ARRAY_NZIACCESS(ai1, JCGO_SHR_F(l, (jint)8) & (jint)255);
    l+= i1;
    JCGO_ARRAY_NZIACCESS(ai, j++)= k;
    JCGO_ARRAY_NZIACCESS(ai, j++)= k;
    JCGO_ARRAY_NZIACCESS(ai, j++)= k;
    JCGO_ARRAY_NZIACCESS(ai, j++)= k;
    k= JCGO_ARRAY_NZIACCESS(ai1, JCGO_SHR_F(l, (jint)8) & (jint)255);
    l+= i1;
   }
  }
  j1= (-(i % (jint)16));
  {
   jint l1;
   l1= 0;
   for (; l1 < j1; l1++)
   {
    JCGO_ARRAY_IACCESS(ai, j++)= k;
    if ((l1 & (jint)3) == (jint)3)
    {
     k= JCGO_ARRAY_NZIACCESS(ai1, JCGO_SHR_F(l, (jint)8) & (jint)255);
     l+= i1;
    }
   }
  }
 }
}

JCGO_NOSEP_INLINE void CFASTCALL
package_Scene__rasterize__IIIIAIAIAIL98u34( package_Scene This, jintArr
 ai, jintArr ai1, jintArr ai2, package_GameModel gameModel, jint i,
 jint j, jint k, jint l )
{
 {
  jint i2;
  jint l2;
  jbyte byte0;
  if (l == (-(jint)2))
  {
   return;
  }
  if (l >= 0)
  {
   jint i1;
   jint k1;
   jint j2;
   jint i3;
   jint k3;
   jint i4;
   jint i6;
   jint j7;
   jint k8;
   jint i10;
   jint l10;
   jint j11;
   jint l11;
   jint j12;
   jint l12;
   jint j13;
   jint l13;
   jint j14;
   jint l14;
   jint j15;
   jint l15;
   jint j16;
   jint l16;
   jint j17;
   jbyte byte2;
   if (l >= JCGO_FIELD_NZACCESS(This, textureCount))
   {
    l= 0;
   }
   (package_Scene__prepareTexture__I(
    This, l));
   i1= JCGO_ARRAY_IACCESS(ai, 0);
   k1= JCGO_ARRAY_IACCESS(ai1, 0);
   j2= JCGO_ARRAY_IACCESS(ai2, 0);
   i3= i1 - JCGO_ARRAY_NZIACCESS(ai, (jint)1);
   k3= k1 - JCGO_ARRAY_NZIACCESS(ai1, (jint)1);
   i4= j2 - JCGO_ARRAY_NZIACCESS(ai2, (jint)1);
   k--;
   i6= JCGO_ARRAY_NZIACCESS(ai, k) - i1;
   j7= JCGO_ARRAY_NZIACCESS(ai1, k) - k1;
   k8= JCGO_ARRAY_NZIACCESS(ai2, k) - j2;
   if (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, textureDimension),
    l) == (jint)1)
   {
    jint l9;
    jint k10;
    jint i11;
    jint k11;
    jint i12;
    jint k12;
    jint i13;
    jint k13;
    jint i14;
    jint k14;
    jint i15;
    jint k15;
    jint i16;
    jint k16;
    jint i17;
    jbyte byte1;
    l9= JCGO_SHL_F(i6 * k1 - j7 * i1, (jint)12);
    k10= JCGO_SHL_F(j7 * j2 - k8 * k1, ((jint)5 - JCGO_FIELD_NZACCESS(This,
     viewDistance)) + (jint)7 + (jint)4);
    i11= JCGO_SHL_F(k8 * i1 - i6 * j2, ((jint)5 - JCGO_FIELD_NZACCESS(This,
     viewDistance)) + (jint)7);
    k11= JCGO_SHL_F(i3 * k1 - k3 * i1, (jint)12);
    i12= JCGO_SHL_F(k3 * j2 - i4 * k1, ((jint)5 - JCGO_FIELD_NZACCESS(This,
     viewDistance)) + (jint)7 + (jint)4);
    k12= JCGO_SHL_F(i4 * i1 - i3 * j2, ((jint)5 - JCGO_FIELD_NZACCESS(This,
     viewDistance)) + (jint)7);
    i13= JCGO_SHL_F(k3 * i6 - i3 * j7, (jint)5);
    k13= JCGO_SHL_F(i4 * j7 - k3 * k8, ((jint)5 - JCGO_FIELD_NZACCESS(This,
     viewDistance)) + (jint)4);
    i14= JCGO_SHR_F(i3 * k8 - i4 * i6, JCGO_FIELD_NZACCESS(This, viewDistance) -
     (jint)5);
    k14= JCGO_SHR_F(k10, (jint)4);
    i15= JCGO_SHR_F(i12, (jint)4);
    k15= JCGO_SHR_F(k13, (jint)4);
    i16= JCGO_FIELD_NZACCESS(This, minY) - JCGO_FIELD_NZACCESS(This,
     baseY);
    k16= JCGO_FIELD_NZACCESS(This, width);
    i17= JCGO_FIELD_NZACCESS(This, baseX) + JCGO_FIELD_NZACCESS(This,
     minY) * k16;
    byte1= (jbyte)(jint)1;
    l9+= i11 * i16;
    k11+= k12 * i16;
    i13+= i14 * i16;
    if (JCGO_FIELD_NZACCESS(This, interlace))
    {
     if ((JCGO_FIELD_NZACCESS(This, minY) & (jint)1) == (jint)1)
     {
      JCGO_FIELD_NZACCESS(This, minY)++;
      l9+= i11;
      k11+= k12;
      i13+= i14;
      i17+= k16;
     }
     i11= JCGO_SHL_F(i11, (jint)1);
     k12= JCGO_SHL_F(k12, (jint)1);
     i14= JCGO_SHL_F(i14, (jint)1);
     k16= JCGO_SHL_F(k16, (jint)1);
     byte1= (jbyte)(jint)2;
    }
    if (JCGO_FIELD_ACCESS(package_GameModel, gameModel, textureTranslucent))
    {
     for (i= JCGO_FIELD_NZACCESS(This, minY); i < JCGO_FIELD_NZACCESS(This,
      maxY); i+= (jint)byte1)
     {
      package_Scanline scanline_3;
      jint k17;
      jint k20;
      scanline_3= ((package_Scanline)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
       scanlines), i));
      j= JCGO_SHR_F(JCGO_FIELD_ACCESS(package_Scanline, scanline_3,
       startX), (jint)8);
      k17= JCGO_SHR_F(JCGO_FIELD_NZACCESS(scanline_3, endX), (jint)8);
      k20= k17 - j;
      if (k20 <= 0)
      {
       l9+= i11;
       k11+= k12;
       i13+= i14;
       i17+= k16;
      }
      else
      {
       jint i22;
       jint k23;
       jObject jcgo_rcvrL1;
       i22= JCGO_FIELD_NZACCESS(scanline_3, startS);
       k23= jcgo_div((JCGO_FIELD_NZACCESS(scanline_3, endS) - i22),
        k20);
       if (j < (-JCGO_FIELD_NZACCESS(This, clipX)))
       {
        i22+= ((-JCGO_FIELD_NZACCESS(This, clipX)) - j) * k23;
        j= (-JCGO_FIELD_NZACCESS(This, clipX));
        k20= k17 - j;
       }
       if (k17 > JCGO_FIELD_NZACCESS(This, clipX))
       {
        jint l17;
        l17= JCGO_FIELD_NZACCESS(This, clipX);
        k20= l17 - j;
       }
       (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, raster), package_Scene__textureTranslucentScanline__IAIAIIIIIIIIIIII(
        (jintArr)jcgo_rcvrL1, ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
        texturePixels), l)), 0, 0, l9 + k14 * j, k11 + i15 * j, i13 +
        k15 * j, k10, i12, k13, k20, i17 + j, i22, JCGO_SHL_F(k23,
        (jint)2)));
       l9+= i11;
       k11+= k12;
       i13+= i14;
       i17+= k16;
      }
     }
     return;
    }
    if (!(JCGO_ARRAY_ZACCESS(JCGO_FIELD_NZACCESS(This, textureBackTransparent),
     l)))
    {
     for (i= JCGO_FIELD_NZACCESS(This, minY); i < JCGO_FIELD_NZACCESS(This,
      maxY); i+= (jint)byte1)
     {
      package_Scanline scanline_4;
      jint i18;
      jint l20;
      scanline_4= ((package_Scanline)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
       scanlines), i));
      j= JCGO_SHR_F(JCGO_FIELD_ACCESS(package_Scanline, scanline_4,
       startX), (jint)8);
      i18= JCGO_SHR_F(JCGO_FIELD_NZACCESS(scanline_4, endX), (jint)8);
      l20= i18 - j;
      if (l20 <= 0)
      {
       l9+= i11;
       k11+= k12;
       i13+= i14;
       i17+= k16;
      }
      else
      {
       jint j22;
       jint l23;
       jObject jcgo_rcvrL1;
       j22= JCGO_FIELD_NZACCESS(scanline_4, startS);
       l23= jcgo_div((JCGO_FIELD_NZACCESS(scanline_4, endS) - j22),
        l20);
       if (j < (-JCGO_FIELD_NZACCESS(This, clipX)))
       {
        j22+= ((-JCGO_FIELD_NZACCESS(This, clipX)) - j) * l23;
        j= (-JCGO_FIELD_NZACCESS(This, clipX));
        l20= i18 - j;
       }
       if (i18 > JCGO_FIELD_NZACCESS(This, clipX))
       {
        jint j18;
        j18= JCGO_FIELD_NZACCESS(This, clipX);
        l20= j18 - j;
       }
       (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, raster), package_Scene__textureScanline__IAIAIIIIIIIIIIII(
        (jintArr)jcgo_rcvrL1, ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
        texturePixels), l)), 0, 0, l9 + k14 * j, k11 + i15 * j, i13 +
        k15 * j, k10, i12, k13, l20, i17 + j, j22, JCGO_SHL_F(l23,
        (jint)2)));
       l9+= i11;
       k11+= k12;
       i13+= i14;
       i17+= k16;
      }
     }
     return;
    }
    for (i= JCGO_FIELD_NZACCESS(This, minY); i < JCGO_FIELD_NZACCESS(This,
     maxY); i+= (jint)byte1)
    {
     package_Scanline scanline_5;
     jint k18;
     jint i21;
     scanline_5= ((package_Scanline)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
      scanlines), i));
     j= JCGO_SHR_F(JCGO_FIELD_ACCESS(package_Scanline, scanline_5,
      startX), (jint)8);
     k18= JCGO_SHR_F(JCGO_FIELD_NZACCESS(scanline_5, endX), (jint)8);
     i21= k18 - j;
     if (i21 <= 0)
     {
      l9+= i11;
      k11+= k12;
      i13+= i14;
      i17+= k16;
     }
     else
     {
      jint k22;
      jint i24;
      jObject jcgo_rcvrL1;
      k22= JCGO_FIELD_NZACCESS(scanline_5, startS);
      i24= jcgo_div((JCGO_FIELD_NZACCESS(scanline_5, endS) - k22),
       i21);
      if (j < (-JCGO_FIELD_NZACCESS(This, clipX)))
      {
       k22+= ((-JCGO_FIELD_NZACCESS(This, clipX)) - j) * i24;
       j= (-JCGO_FIELD_NZACCESS(This, clipX));
       i21= k18 - j;
      }
      if (k18 > JCGO_FIELD_NZACCESS(This, clipX))
      {
       jint l18;
       l18= JCGO_FIELD_NZACCESS(This, clipX);
       i21= l18 - j;
      }
      (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, raster), package_Scene__textureBackTranslucentScanline__IAIIIIAIIIIIIIIII(
       (jintArr)jcgo_rcvrL1, ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
       texturePixels), l)), 0, 0, 0, l9 + k14 * j, k11 + i15 * j, i13 +
       k15 * j, k10, i12, k13, i21, i17 + j, k22, i24));
      l9+= i11;
      k11+= k12;
      i13+= i14;
      i17+= k16;
     }
    }
    return;
   }
   i10= JCGO_SHL_F(i6 * k1 - j7 * i1, (jint)11);
   l10= JCGO_SHL_F(j7 * j2 - k8 * k1, ((jint)5 - JCGO_FIELD_NZACCESS(This,
    viewDistance)) + (jint)6 + (jint)4);
   j11= JCGO_SHL_F(k8 * i1 - i6 * j2, ((jint)5 - JCGO_FIELD_NZACCESS(This,
    viewDistance)) + (jint)6);
   l11= JCGO_SHL_F(i3 * k1 - k3 * i1, (jint)11);
   j12= JCGO_SHL_F(k3 * j2 - i4 * k1, ((jint)5 - JCGO_FIELD_NZACCESS(This,
    viewDistance)) + (jint)6 + (jint)4);
   l12= JCGO_SHL_F(i4 * i1 - i3 * j2, ((jint)5 - JCGO_FIELD_NZACCESS(This,
    viewDistance)) + (jint)6);
   j13= JCGO_SHL_F(k3 * i6 - i3 * j7, (jint)5);
   l13= JCGO_SHL_F(i4 * j7 - k3 * k8, ((jint)5 - JCGO_FIELD_NZACCESS(This,
    viewDistance)) + (jint)4);
   j14= JCGO_SHR_F(i3 * k8 - i4 * i6, JCGO_FIELD_NZACCESS(This, viewDistance) -
    (jint)5);
   l14= JCGO_SHR_F(l10, (jint)4);
   j15= JCGO_SHR_F(j12, (jint)4);
   l15= JCGO_SHR_F(l13, (jint)4);
   j16= JCGO_FIELD_NZACCESS(This, minY) - JCGO_FIELD_NZACCESS(This,
    baseY);
   l16= JCGO_FIELD_NZACCESS(This, width);
   j17= JCGO_FIELD_NZACCESS(This, baseX) + JCGO_FIELD_NZACCESS(This,
    minY) * l16;
   byte2= (jbyte)(jint)1;
   i10+= j11 * j16;
   l11+= l12 * j16;
   j13+= j14 * j16;
   if (JCGO_FIELD_NZACCESS(This, interlace))
   {
    if ((JCGO_FIELD_NZACCESS(This, minY) & (jint)1) == (jint)1)
    {
     JCGO_FIELD_NZACCESS(This, minY)++;
     i10+= j11;
     l11+= l12;
     j13+= j14;
     j17+= l16;
    }
    j11= JCGO_SHL_F(j11, (jint)1);
    l12= JCGO_SHL_F(l12, (jint)1);
    j14= JCGO_SHL_F(j14, (jint)1);
    l16= JCGO_SHL_F(l16, (jint)1);
    byte2= (jbyte)(jint)2;
   }
   if (JCGO_FIELD_ACCESS(package_GameModel, gameModel, textureTranslucent))
   {
    for (i= JCGO_FIELD_NZACCESS(This, minY); i < JCGO_FIELD_NZACCESS(This,
     maxY); i+= (jint)byte2)
    {
     package_Scanline scanline_6;
     jint i19;
     jint j21;
     scanline_6= ((package_Scanline)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
      scanlines), i));
     j= JCGO_SHR_F(JCGO_FIELD_ACCESS(package_Scanline, scanline_6,
      startX), (jint)8);
     i19= JCGO_SHR_F(JCGO_FIELD_NZACCESS(scanline_6, endX), (jint)8);
     j21= i19 - j;
     if (j21 <= 0)
     {
      i10+= j11;
      l11+= l12;
      j13+= j14;
      j17+= l16;
     }
     else
     {
      jint l22;
      jint j24;
      jObject jcgo_rcvrL1;
      l22= JCGO_FIELD_NZACCESS(scanline_6, startS);
      j24= jcgo_div((JCGO_FIELD_NZACCESS(scanline_6, endS) - l22),
       j21);
      if (j < (-JCGO_FIELD_NZACCESS(This, clipX)))
      {
       l22+= ((-JCGO_FIELD_NZACCESS(This, clipX)) - j) * j24;
       j= (-JCGO_FIELD_NZACCESS(This, clipX));
       j21= i19 - j;
      }
      if (i19 > JCGO_FIELD_NZACCESS(This, clipX))
      {
       jint j19;
       j19= JCGO_FIELD_NZACCESS(This, clipX);
       j21= j19 - j;
      }
      (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, raster), package_Scene__textureTranslucentScanline2__IAIAIIIIIIIIIIII(
       (jintArr)jcgo_rcvrL1, ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
       texturePixels), l)), 0, 0, i10 + l14 * j, l11 + j15 * j, j13 +
       l15 * j, l10, j12, l13, j21, j17 + j, l22, j24));
      i10+= j11;
      l11+= l12;
      j13+= j14;
      j17+= l16;
     }
    }
    return;
   }
   if (!(JCGO_ARRAY_ZACCESS(JCGO_FIELD_NZACCESS(This, textureBackTransparent),
    l)))
   {
    for (i= JCGO_FIELD_NZACCESS(This, minY); i < JCGO_FIELD_NZACCESS(This,
     maxY); i+= (jint)byte2)
    {
     package_Scanline scanline_7;
     jint k19;
     jint k21;
     scanline_7= ((package_Scanline)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
      scanlines), i));
     j= JCGO_SHR_F(JCGO_FIELD_ACCESS(package_Scanline, scanline_7,
      startX), (jint)8);
     k19= JCGO_SHR_F(JCGO_FIELD_NZACCESS(scanline_7, endX), (jint)8);
     k21= k19 - j;
     if (k21 <= 0)
     {
      i10+= j11;
      l11+= l12;
      j13+= j14;
      j17+= l16;
     }
     else
     {
      jint i23;
      jint k24;
      jObject jcgo_rcvrL1;
      i23= JCGO_FIELD_NZACCESS(scanline_7, startS);
      k24= jcgo_div((JCGO_FIELD_NZACCESS(scanline_7, endS) - i23),
       k21);
      if (j < (-JCGO_FIELD_NZACCESS(This, clipX)))
      {
       i23+= ((-JCGO_FIELD_NZACCESS(This, clipX)) - j) * k24;
       j= (-JCGO_FIELD_NZACCESS(This, clipX));
       k21= k19 - j;
      }
      if (k19 > JCGO_FIELD_NZACCESS(This, clipX))
      {
       jint l19;
       l19= JCGO_FIELD_NZACCESS(This, clipX);
       k21= l19 - j;
      }
      (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, raster), package_Scene__textureScanline2__IAIAIIIIIIIIIIII(
       (jintArr)jcgo_rcvrL1, ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
       texturePixels), l)), 0, 0, i10 + l14 * j, l11 + j15 * j, j13 +
       l15 * j, l10, j12, l13, k21, j17 + j, i23, k24));
      i10+= j11;
      l11+= l12;
      j13+= j14;
      j17+= l16;
     }
    }
    return;
   }
   for (i= JCGO_FIELD_NZACCESS(This, minY); i < JCGO_FIELD_NZACCESS(This,
    maxY); i+= (jint)byte2)
   {
    package_Scanline scanline;
    jint i20;
    jint l21;
    scanline= ((package_Scanline)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
     scanlines), i));
    j= JCGO_SHR_F(JCGO_FIELD_ACCESS(package_Scanline, scanline, startX),
     (jint)8);
    i20= JCGO_SHR_F(JCGO_FIELD_NZACCESS(scanline, endX), (jint)8);
    l21= i20 - j;
    if (l21 <= 0)
    {
     i10+= j11;
     l11+= l12;
     j13+= j14;
     j17+= l16;
    }
    else
    {
     jint j23;
     jint l24;
     jObject jcgo_rcvrL1;
     j23= JCGO_FIELD_NZACCESS(scanline, startS);
     l24= jcgo_div((JCGO_FIELD_NZACCESS(scanline, endS) - j23), l21);
     if (j < (-JCGO_FIELD_NZACCESS(This, clipX)))
     {
      j23+= ((-JCGO_FIELD_NZACCESS(This, clipX)) - j) * l24;
      j= (-JCGO_FIELD_NZACCESS(This, clipX));
      l21= i20 - j;
     }
     if (i20 > JCGO_FIELD_NZACCESS(This, clipX))
     {
      jint j20;
      j20= JCGO_FIELD_NZACCESS(This, clipX);
      l21= j20 - j;
     }
     (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, raster), package_Scene__textureBackTranslucentScanline2__IAIIIIAIIIIIIIIII(
      (jintArr)jcgo_rcvrL1, ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
      texturePixels), l)), 0, 0, 0, i10 + l14 * j, l11 + j15 * j, j13 +
      l15 * j, l10, j12, l13, l21, j17 + j, j23, l24));
     i10+= j11;
     l11+= l12;
     j13+= j14;
     j17+= l16;
    }
   }
   return;
  }
  {
   jint j1;
   j1= 0;
   for (; j1 < JCGO_FIELD_NZACCESS(This, rampCount); j1++)
   {
    if (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, gradientBase),
     j1) == l)
    {
     JCGO_FIELD_NZACCESS(This, anIntArray377)= ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
      gradientRamps), j1));
     break;
    }
    if (j1 == JCGO_FIELD_NZACCESS(This, rampCount) - (jint)1)
    {
     jint l1;
     jint k2;
     jint j3;
     jint l3;
     jdouble jcgo_rcvrD1;
     l1= JCGO_JDOUBLE_TOJINT((jcgo_rcvrD1= (java_lang_Math__random__()),
      jcgo_rcvrD1 * (jdouble)JCGO_FIELD_NZACCESS(This, rampCount)));
     JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, gradientBase), l1)=
      l;
     l= (-(jint)1) - l;
     k2= (JCGO_SHR_F(l, (jint)10) & (jint)31) * (jint)8;
     j3= (JCGO_SHR_F(l, (jint)5) & (jint)31) * (jint)8;
     l3= (l & (jint)31) * (jint)8;
     {
      jint j4;
      j4= 0;
      for (; j4 < (jint)256; j4++)
      {
       jint j6;
       jint k7;
       jint l8;
       jint j10;
       j6= j4 * j4;
       k7= (k2 * j6) / (jint)65536L;
       l8= (j3 * j6) / (jint)65536L;
       j10= (l3 * j6) / (jint)65536L;
       JCGO_ARRAY_IACCESS(((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
        gradientRamps), l1)), (jint)255 - j4)= (JCGO_SHL_F(k7, (jint)16) +
        JCGO_SHL_F(l8, (jint)8) + j10);
      }
     }
     JCGO_FIELD_NZACCESS(This, anIntArray377)= ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
      gradientRamps), l1));
    }
   }
  }
  i2= JCGO_FIELD_NZACCESS(This, width);
  l2= JCGO_FIELD_NZACCESS(This, baseX) + JCGO_FIELD_NZACCESS(This,
   minY) * i2;
  byte0= (jbyte)(jint)1;
  if (JCGO_FIELD_NZACCESS(This, interlace))
  {
   if ((JCGO_FIELD_NZACCESS(This, minY) & (jint)1) == (jint)1)
   {
    JCGO_FIELD_NZACCESS(This, minY)++;
    l2+= i2;
   }
   i2= JCGO_SHL_F(i2, (jint)1);
   byte0= (jbyte)(jint)2;
  }
  if (JCGO_FIELD_ACCESS(package_GameModel, gameModel, transparent))
  {
   for (i= JCGO_FIELD_NZACCESS(This, minY); i < JCGO_FIELD_NZACCESS(This,
    maxY); i+= (jint)byte0)
   {
    package_Scanline scanline;
    jint k4;
    jint k6;
    scanline= ((package_Scanline)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
     scanlines), i));
    j= JCGO_SHR_F(JCGO_FIELD_ACCESS(package_Scanline, scanline, startX),
     (jint)8);
    k4= JCGO_SHR_F(JCGO_FIELD_NZACCESS(scanline, endX), (jint)8);
    k6= k4 - j;
    if (k6 <= 0)
    {
     l2+= i2;
    }
    else
    {
     jint l7;
     jint i9;
     l7= JCGO_FIELD_NZACCESS(scanline, startS);
     i9= jcgo_div((JCGO_FIELD_NZACCESS(scanline, endS) - l7), k6);
     if (j < (-JCGO_FIELD_NZACCESS(This, clipX)))
     {
      l7+= ((-JCGO_FIELD_NZACCESS(This, clipX)) - j) * i9;
      j= (-JCGO_FIELD_NZACCESS(This, clipX));
      k6= k4 - j;
     }
     if (k4 > JCGO_FIELD_NZACCESS(This, clipX))
     {
      jint l4;
      l4= JCGO_FIELD_NZACCESS(This, clipX);
      k6= l4 - j;
     }
     (package_Scene__textureGradientScanline__IAIIIIAII(
      JCGO_FIELD_NZACCESS(This, raster), JCGO_FIELD_NZACCESS(This,
      anIntArray377), (-k6), l2 + j, 0, l7, i9));
     l2+= i2;
    }
   }
   return;
  }
  if (JCGO_FIELD_NZACCESS(This, wideBand))
  {
   for (i= JCGO_FIELD_NZACCESS(This, minY); i < JCGO_FIELD_NZACCESS(This,
    maxY); i+= (jint)byte0)
   {
    package_Scanline scanline_1;
    jint i5;
    jint l6;
    scanline_1= ((package_Scanline)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
     scanlines), i));
    j= JCGO_SHR_F(JCGO_FIELD_ACCESS(package_Scanline, scanline_1, startX),
     (jint)8);
    i5= JCGO_SHR_F(JCGO_FIELD_NZACCESS(scanline_1, endX), (jint)8);
    l6= i5 - j;
    if (l6 <= 0)
    {
     l2+= i2;
    }
    else
    {
     jint i8;
     jint j9;
     i8= JCGO_FIELD_NZACCESS(scanline_1, startS);
     j9= jcgo_div((JCGO_FIELD_NZACCESS(scanline_1, endS) - i8), l6);
     if (j < (-JCGO_FIELD_NZACCESS(This, clipX)))
     {
      i8+= ((-JCGO_FIELD_NZACCESS(This, clipX)) - j) * j9;
      j= (-JCGO_FIELD_NZACCESS(This, clipX));
      l6= i5 - j;
     }
     if (i5 > JCGO_FIELD_NZACCESS(This, clipX))
     {
      jint j5;
      j5= JCGO_FIELD_NZACCESS(This, clipX);
      l6= j5 - j;
     }
     (package_Scene__gradientScanline__IAIIIIAII(
      JCGO_FIELD_NZACCESS(This, raster), JCGO_FIELD_NZACCESS(This,
      anIntArray377), (-l6), l2 + j, 0, i8, j9));
     l2+= i2;
    }
   }
   return;
  }
  for (i= JCGO_FIELD_NZACCESS(This, minY); i < JCGO_FIELD_NZACCESS(This,
   maxY); i+= (jint)byte0)
  {
   package_Scanline scanline_2;
   jint k5;
   jint i7;
   scanline_2= ((package_Scanline)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
    scanlines), i));
   j= JCGO_SHR_F(JCGO_FIELD_ACCESS(package_Scanline, scanline_2, startX),
    (jint)8);
   k5= JCGO_SHR_F(JCGO_FIELD_NZACCESS(scanline_2, endX), (jint)8);
   i7= k5 - j;
   if (i7 <= 0)
   {
    l2+= i2;
   }
   else
   {
    jint j8;
    jint k9;
    j8= JCGO_FIELD_NZACCESS(scanline_2, startS);
    k9= jcgo_div((JCGO_FIELD_NZACCESS(scanline_2, endS) - j8), i7);
    if (j < (-JCGO_FIELD_NZACCESS(This, clipX)))
    {
     j8+= ((-JCGO_FIELD_NZACCESS(This, clipX)) - j) * k9;
     j= (-JCGO_FIELD_NZACCESS(This, clipX));
     i7= k5 - j;
    }
    if (k5 > JCGO_FIELD_NZACCESS(This, clipX))
    {
     jint l5;
     l5= JCGO_FIELD_NZACCESS(This, clipX);
     i7= l5 - j;
    }
    (package_Scene__gradientScanline2__IAIIIIAII(
     JCGO_FIELD_NZACCESS(This, raster), JCGO_FIELD_NZACCESS(This, anIntArray377),
     (-i7), l2 + j, 0, j8, k9));
    l2+= i2;
   }
  }
 }
}

JCGO_NOSEP_INLINE jboolean CFASTCALL
package_Scene__intersect__IAIAIAIA( package_Scene This, jintArr ai,
 jintArr ai1, jintArr ai2, jintArr ai3 )
{
 {
  jint i;
  jint j;
  jint i20;
  jint k20;
  jint k;
  jint j20;
  jint l20;
  jint i1;
  jint l;
  jint j1;
  jint j6;
  jint k10;
  jint k15;
  jbyte byte0;
  jboolean flag;
  jint jcgo_rcvrI1;
  jint jcgo_rcvrI2;
  jint jcgo_rcvrI3;
  jint jcgo_rcvrI4;
  i= JCGO_ARRAY_LENGTH(ai);
  j= JCGO_ARRAY_LENGTH(ai2);
  byte0= (jbyte)0;
  k20= i20= JCGO_ARRAY_IACCESS(ai1, 0);
  k= 0;
  l20= j20= JCGO_ARRAY_IACCESS(ai3, 0);
  i1= 0;
  {
   jint i21;
   i21= (jint)1;
   for (; i21 < i; i21++)
   {
    if (JCGO_ARRAY_NZIACCESS(ai1, i21) < i20)
    {
     i20= JCGO_ARRAY_NZIACCESS(ai1, i21);
     k= i21;
    }
    else
    {
     if (JCGO_ARRAY_NZIACCESS(ai1, i21) > k20)
     {
      k20= JCGO_ARRAY_NZIACCESS(ai1, i21);
     }
    }
   }
  }
  {
   jint j21;
   j21= (jint)1;
   for (; j21 < j; j21++)
   {
    if (JCGO_ARRAY_NZIACCESS(ai3, j21) < j20)
    {
     j20= JCGO_ARRAY_NZIACCESS(ai3, j21);
     i1= j21;
    }
    else
    {
     if (JCGO_ARRAY_NZIACCESS(ai3, j21) > l20)
     {
      l20= JCGO_ARRAY_NZIACCESS(ai3, j21);
     }
    }
   }
  }
  if (j20 >= k20)
  {
   return (jboolean)jfalse;
  }
  if (i20 >= l20)
  {
   return (jboolean)jfalse;
  }
  ;
  if ((jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai1, k), jcgo_rcvrI1 < JCGO_ARRAY_NZIACCESS(ai3,
   i1)))
  {
   jint k1;
   jint k6;
   jint l10;
   jint jcgo_rcvrI1;
   jint jcgo_rcvrI2;
   jint jcgo_rcvrI3;
   jint jcgo_rcvrI4;
   for (l= k; (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai1, l), jcgo_rcvrI1 <
    JCGO_ARRAY_NZIACCESS(ai3, i1)); l= jcgo_mod((l + (jint)1), i))
   {
    ;
   }
   for (; (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai1, k), jcgo_rcvrI1 <
    JCGO_ARRAY_NZIACCESS(ai3, i1)); k= jcgo_mod(((k - (jint)1) + i),
    i))
   {
    ;
   }
   k1= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai, jcgo_mod((k + (jint)1),
    i)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai1, jcgo_mod((k + (jint)1),
    i)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai, k), jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai1,
    k), package_Scene__method306__IIIII(
    This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
    i1)));
   k6= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai, jcgo_mod(((l - (jint)1) +
    i), i)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai1, jcgo_mod(((l -
    (jint)1) + i), i)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai, l), jcgo_rcvrI4=
    JCGO_ARRAY_NZIACCESS(ai1, l), package_Scene__method306__IIIII(
    This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
    i1)));
   l10= JCGO_ARRAY_NZIACCESS(ai2, i1);
   flag= (jboolean)((k1 < l10) | (k6 < l10));
   if ((package_Scene__method308__IIIZ(
    This, k1, k6, l10, (jboolean)flag)))
   {
    return (jboolean)jtrue;
   }
   j1= jcgo_mod((i1 + (jint)1), j);
   i1= jcgo_mod(((i1 - (jint)1) + j), j);
   if (k == l)
   {
    byte0= (jbyte)(jint)1;
   }
  }
  else
  {
   jint l1;
   jint i11;
   jint l15;
   jint jcgo_rcvrI1;
   jint jcgo_rcvrI2;
   jint jcgo_rcvrI3;
   jint jcgo_rcvrI4;
   for (j1= i1; (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai3, j1), jcgo_rcvrI1 <
    JCGO_ARRAY_NZIACCESS(ai1, k)); j1= jcgo_mod((j1 + (jint)1), j))
   {
    ;
   }
   for (; (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai3, i1), jcgo_rcvrI1 <
    JCGO_ARRAY_NZIACCESS(ai1, k)); i1= jcgo_mod(((i1 - (jint)1) + j),
    j))
   {
    ;
   }
   l1= JCGO_ARRAY_NZIACCESS(ai, k);
   i11= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2, jcgo_mod((i1 + (jint)1),
    j)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai3, jcgo_mod((i1 + (jint)1),
    j)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai2, i1), jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai3,
    i1), package_Scene__method306__IIIII(
    This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai1,
    k)));
   l15= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2, jcgo_mod(((j1 - (jint)1) +
    j), j)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai3, jcgo_mod(((j1 -
    (jint)1) + j), j)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai2, j1),
    jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai3, j1), package_Scene__method306__IIIII(
    This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai1,
    k)));
   flag= (jboolean)((l1 < i11) | (l1 < l15));
   if ((package_Scene__method308__IIIZ(
    This, i11, l15, l1, (jboolean)(!flag))))
   {
    return (jboolean)jtrue;
   }
   l= jcgo_mod((k + (jint)1), i);
   k= jcgo_mod(((k - (jint)1) + i), i);
   if (i1 == j1)
   {
    byte0= (jbyte)(jint)2;
   }
  }
  while (byte0 == 0)
  {
   jint jcgo_rcvrI1;
   if ((jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai1, k), jcgo_rcvrI1 < JCGO_ARRAY_NZIACCESS(ai1,
    l)))
   {
    jint jcgo_rcvrI1;
    if ((jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai1, k), jcgo_rcvrI1 < JCGO_ARRAY_NZIACCESS(ai3,
     i1)))
    {
     jint jcgo_rcvrI1;
     if ((jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai1, k), jcgo_rcvrI1 <
      JCGO_ARRAY_NZIACCESS(ai3, j1)))
     {
      jint i2;
      jint l6;
      jint j11;
      jint i16;
      jint jcgo_rcvrI1;
      jint jcgo_rcvrI2;
      jint jcgo_rcvrI3;
      jint jcgo_rcvrI4;
      i2= JCGO_ARRAY_NZIACCESS(ai, k);
      l6= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai, jcgo_mod(((l - (jint)1) +
       i), i)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai1, jcgo_mod(((l -
       (jint)1) + i), i)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai, l),
       jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai1, l), package_Scene__method306__IIIII(
       This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai1,
       k)));
      j11= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2, jcgo_mod((i1 + (jint)1),
       j)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai3, jcgo_mod((i1 + (jint)1),
       j)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai2, i1), jcgo_rcvrI4=
       JCGO_ARRAY_NZIACCESS(ai3, i1), package_Scene__method306__IIIII(
       This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai1,
       k)));
      i16= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2, jcgo_mod(((j1 -
       (jint)1) + j), j)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai3, jcgo_mod(((j1 -
       (jint)1) + j), j)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai2, j1),
       jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai3, j1), package_Scene__method306__IIIII(
       This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai1,
       k)));
      if ((package_Scene__method307__IIIIZ(
       This, i2, l6, j11, i16, (jboolean)flag)))
      {
       return (jboolean)jtrue;
      }
      k= jcgo_mod(((k - (jint)1) + i), i);
      if (k == l)
      {
       byte0= (jbyte)(jint)1;
      }
     }
     else
     {
      jint j2;
      jint i7;
      jint k11;
      jint j16;
      jint jcgo_rcvrI1;
      jint jcgo_rcvrI2;
      jint jcgo_rcvrI3;
      jint jcgo_rcvrI4;
      j2= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai, jcgo_mod((k + (jint)1),
       i)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai1, jcgo_mod((k + (jint)1),
       i)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai, k), jcgo_rcvrI4=
       JCGO_ARRAY_NZIACCESS(ai1, k), package_Scene__method306__IIIII(
       This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
       j1)));
      i7= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai, jcgo_mod(((l - (jint)1) +
       i), i)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai1, jcgo_mod(((l -
       (jint)1) + i), i)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai, l),
       jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai1, l), package_Scene__method306__IIIII(
       This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
       j1)));
      k11= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2, jcgo_mod((i1 + (jint)1),
       j)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai3, jcgo_mod((i1 + (jint)1),
       j)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai2, i1), jcgo_rcvrI4=
       JCGO_ARRAY_NZIACCESS(ai3, i1), package_Scene__method306__IIIII(
       This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
       j1)));
      j16= JCGO_ARRAY_NZIACCESS(ai2, j1);
      if ((package_Scene__method307__IIIIZ(
       This, j2, i7, k11, j16, (jboolean)flag)))
      {
       return (jboolean)jtrue;
      }
      j1= jcgo_mod((j1 + (jint)1), j);
      if (i1 == j1)
      {
       byte0= (jbyte)(jint)2;
      }
     }
    }
    else
    {
     jint jcgo_rcvrI1;
     if ((jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai3, i1), jcgo_rcvrI1 <
      JCGO_ARRAY_NZIACCESS(ai3, j1)))
     {
      jint k2;
      jint j7;
      jint l11;
      jint k16;
      jint jcgo_rcvrI1;
      jint jcgo_rcvrI2;
      jint jcgo_rcvrI3;
      jint jcgo_rcvrI4;
      k2= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai, jcgo_mod((k + (jint)1),
       i)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai1, jcgo_mod((k + (jint)1),
       i)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai, k), jcgo_rcvrI4=
       JCGO_ARRAY_NZIACCESS(ai1, k), package_Scene__method306__IIIII(
       This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
       i1)));
      j7= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai, jcgo_mod(((l - (jint)1) +
       i), i)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai1, jcgo_mod(((l -
       (jint)1) + i), i)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai, l),
       jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai1, l), package_Scene__method306__IIIII(
       This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
       i1)));
      l11= JCGO_ARRAY_NZIACCESS(ai2, i1);
      k16= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2, jcgo_mod(((j1 -
       (jint)1) + j), j)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai3, jcgo_mod(((j1 -
       (jint)1) + j), j)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai2, j1),
       jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai3, j1), package_Scene__method306__IIIII(
       This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
       i1)));
      if ((package_Scene__method307__IIIIZ(
       This, k2, j7, l11, k16, (jboolean)flag)))
      {
       return (jboolean)jtrue;
      }
      i1= jcgo_mod(((i1 - (jint)1) + j), j);
      if (i1 == j1)
      {
       byte0= (jbyte)(jint)2;
      }
     }
     else
     {
      jint l2;
      jint k7;
      jint i12;
      jint l16;
      jint jcgo_rcvrI1;
      jint jcgo_rcvrI2;
      jint jcgo_rcvrI3;
      jint jcgo_rcvrI4;
      l2= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai, jcgo_mod((k + (jint)1),
       i)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai1, jcgo_mod((k + (jint)1),
       i)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai, k), jcgo_rcvrI4=
       JCGO_ARRAY_NZIACCESS(ai1, k), package_Scene__method306__IIIII(
       This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
       j1)));
      k7= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai, jcgo_mod(((l - (jint)1) +
       i), i)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai1, jcgo_mod(((l -
       (jint)1) + i), i)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai, l),
       jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai1, l), package_Scene__method306__IIIII(
       This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
       j1)));
      i12= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2, jcgo_mod((i1 + (jint)1),
       j)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai3, jcgo_mod((i1 + (jint)1),
       j)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai2, i1), jcgo_rcvrI4=
       JCGO_ARRAY_NZIACCESS(ai3, i1), package_Scene__method306__IIIII(
       This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
       j1)));
      l16= JCGO_ARRAY_NZIACCESS(ai2, j1);
      if ((package_Scene__method307__IIIIZ(
       This, l2, k7, i12, l16, (jboolean)flag)))
      {
       return (jboolean)jtrue;
      }
      j1= jcgo_mod((j1 + (jint)1), j);
      if (i1 == j1)
      {
       byte0= (jbyte)(jint)2;
      }
     }
    }
   }
   else
   {
    jint jcgo_rcvrI1;
    if ((jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai1, l), jcgo_rcvrI1 < JCGO_ARRAY_NZIACCESS(ai3,
     i1)))
    {
     jint jcgo_rcvrI1;
     if ((jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai1, l), jcgo_rcvrI1 <
      JCGO_ARRAY_NZIACCESS(ai3, j1)))
     {
      jint i3;
      jint l7;
      jint j12;
      jint i17;
      jint jcgo_rcvrI1;
      jint jcgo_rcvrI2;
      jint jcgo_rcvrI3;
      jint jcgo_rcvrI4;
      i3= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai, jcgo_mod((k + (jint)1),
       i)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai1, jcgo_mod((k + (jint)1),
       i)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai, k), jcgo_rcvrI4=
       JCGO_ARRAY_NZIACCESS(ai1, k), package_Scene__method306__IIIII(
       This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai1,
       l)));
      l7= JCGO_ARRAY_NZIACCESS(ai, l);
      j12= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2, jcgo_mod((i1 + (jint)1),
       j)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai3, jcgo_mod((i1 + (jint)1),
       j)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai2, i1), jcgo_rcvrI4=
       JCGO_ARRAY_NZIACCESS(ai3, i1), package_Scene__method306__IIIII(
       This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai1,
       l)));
      i17= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2, jcgo_mod(((j1 -
       (jint)1) + j), j)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai3, jcgo_mod(((j1 -
       (jint)1) + j), j)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai2, j1),
       jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai3, j1), package_Scene__method306__IIIII(
       This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai1,
       l)));
      if ((package_Scene__method307__IIIIZ(
       This, i3, l7, j12, i17, (jboolean)flag)))
      {
       return (jboolean)jtrue;
      }
      l= jcgo_mod((l + (jint)1), i);
      if (k == l)
      {
       byte0= (jbyte)(jint)1;
      }
     }
     else
     {
      jint j3;
      jint i8;
      jint k12;
      jint j17;
      jint jcgo_rcvrI1;
      jint jcgo_rcvrI2;
      jint jcgo_rcvrI3;
      jint jcgo_rcvrI4;
      j3= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai, jcgo_mod((k + (jint)1),
       i)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai1, jcgo_mod((k + (jint)1),
       i)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai, k), jcgo_rcvrI4=
       JCGO_ARRAY_NZIACCESS(ai1, k), package_Scene__method306__IIIII(
       This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
       j1)));
      i8= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai, jcgo_mod(((l - (jint)1) +
       i), i)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai1, jcgo_mod(((l -
       (jint)1) + i), i)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai, l),
       jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai1, l), package_Scene__method306__IIIII(
       This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
       j1)));
      k12= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2, jcgo_mod((i1 + (jint)1),
       j)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai3, jcgo_mod((i1 + (jint)1),
       j)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai2, i1), jcgo_rcvrI4=
       JCGO_ARRAY_NZIACCESS(ai3, i1), package_Scene__method306__IIIII(
       This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
       j1)));
      j17= JCGO_ARRAY_NZIACCESS(ai2, j1);
      if ((package_Scene__method307__IIIIZ(
       This, j3, i8, k12, j17, (jboolean)flag)))
      {
       return (jboolean)jtrue;
      }
      j1= jcgo_mod((j1 + (jint)1), j);
      if (i1 == j1)
      {
       byte0= (jbyte)(jint)2;
      }
     }
    }
    else
    {
     jint jcgo_rcvrI1;
     if ((jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai3, i1), jcgo_rcvrI1 <
      JCGO_ARRAY_NZIACCESS(ai3, j1)))
     {
      jint k3;
      jint j8;
      jint l12;
      jint k17;
      jint jcgo_rcvrI1;
      jint jcgo_rcvrI2;
      jint jcgo_rcvrI3;
      jint jcgo_rcvrI4;
      k3= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai, jcgo_mod((k + (jint)1),
       i)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai1, jcgo_mod((k + (jint)1),
       i)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai, k), jcgo_rcvrI4=
       JCGO_ARRAY_NZIACCESS(ai1, k), package_Scene__method306__IIIII(
       This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
       i1)));
      j8= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai, jcgo_mod(((l - (jint)1) +
       i), i)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai1, jcgo_mod(((l -
       (jint)1) + i), i)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai, l),
       jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai1, l), package_Scene__method306__IIIII(
       This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
       i1)));
      l12= JCGO_ARRAY_NZIACCESS(ai2, i1);
      k17= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2, jcgo_mod(((j1 -
       (jint)1) + j), j)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai3, jcgo_mod(((j1 -
       (jint)1) + j), j)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai2, j1),
       jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai3, j1), package_Scene__method306__IIIII(
       This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
       i1)));
      if ((package_Scene__method307__IIIIZ(
       This, k3, j8, l12, k17, (jboolean)flag)))
      {
       return (jboolean)jtrue;
      }
      i1= jcgo_mod(((i1 - (jint)1) + j), j);
      if (i1 == j1)
      {
       byte0= (jbyte)(jint)2;
      }
     }
     else
     {
      jint l3;
      jint k8;
      jint i13;
      jint l17;
      jint jcgo_rcvrI1;
      jint jcgo_rcvrI2;
      jint jcgo_rcvrI3;
      jint jcgo_rcvrI4;
      l3= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai, jcgo_mod((k + (jint)1),
       i)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai1, jcgo_mod((k + (jint)1),
       i)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai, k), jcgo_rcvrI4=
       JCGO_ARRAY_NZIACCESS(ai1, k), package_Scene__method306__IIIII(
       This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
       j1)));
      k8= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai, jcgo_mod(((l - (jint)1) +
       i), i)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai1, jcgo_mod(((l -
       (jint)1) + i), i)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai, l),
       jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai1, l), package_Scene__method306__IIIII(
       This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
       j1)));
      i13= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2, jcgo_mod((i1 + (jint)1),
       j)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai3, jcgo_mod((i1 + (jint)1),
       j)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai2, i1), jcgo_rcvrI4=
       JCGO_ARRAY_NZIACCESS(ai3, i1), package_Scene__method306__IIIII(
       This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
       j1)));
      l17= JCGO_ARRAY_NZIACCESS(ai2, j1);
      if ((package_Scene__method307__IIIIZ(
       This, l3, k8, i13, l17, (jboolean)flag)))
      {
       return (jboolean)jtrue;
      }
      j1= jcgo_mod((j1 + (jint)1), j);
      if (i1 == j1)
      {
       byte0= (jbyte)(jint)2;
      }
     }
    }
   }
  }
  while (byte0 == (jint)1)
  {
   jint jcgo_rcvrI1;
   if ((jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai1, k), jcgo_rcvrI1 < JCGO_ARRAY_NZIACCESS(ai3,
    i1)))
   {
    jint j4;
    jint l8;
    jint k13;
    jint j18;
    jint jcgo_rcvrI1;
    jint jcgo_rcvrI2;
    jint jcgo_rcvrI3;
    jint jcgo_rcvrI4;
    if ((jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai1, k), jcgo_rcvrI1 < JCGO_ARRAY_NZIACCESS(ai3,
     j1)))
    {
     jint i4;
     jint j13;
     jint i18;
     jint jcgo_rcvrI1;
     jint jcgo_rcvrI2;
     jint jcgo_rcvrI3;
     jint jcgo_rcvrI4;
     i4= JCGO_ARRAY_NZIACCESS(ai, k);
     j13= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2, jcgo_mod((i1 + (jint)1),
      j)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai3, jcgo_mod((i1 + (jint)1),
      j)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai2, i1), jcgo_rcvrI4=
      JCGO_ARRAY_NZIACCESS(ai3, i1), package_Scene__method306__IIIII(
      This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai1,
      k)));
     i18= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2, jcgo_mod(((j1 - (jint)1) +
      j), j)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai3, jcgo_mod(((j1 -
      (jint)1) + j), j)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai2, j1),
      jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai3, j1), package_Scene__method306__IIIII(
      This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai1,
      k)));
     return (jboolean)(package_Scene__method308__IIIZ(
      This, j13, i18, i4, (jboolean)(!flag)));
    }
    j4= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai, jcgo_mod((k + (jint)1),
     i)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai1, jcgo_mod((k + (jint)1),
     i)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai, k), jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai1,
     k), package_Scene__method306__IIIII(
     This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
     j1)));
    l8= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai, jcgo_mod(((l - (jint)1) +
     i), i)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai1, jcgo_mod(((l -
     (jint)1) + i), i)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai, l),
     jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai1, l), package_Scene__method306__IIIII(
     This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
     j1)));
    k13= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2, jcgo_mod((i1 + (jint)1),
     j)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai3, jcgo_mod((i1 + (jint)1),
     j)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai2, i1), jcgo_rcvrI4=
     JCGO_ARRAY_NZIACCESS(ai3, i1), package_Scene__method306__IIIII(
     This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
     j1)));
    j18= JCGO_ARRAY_NZIACCESS(ai2, j1);
    if ((package_Scene__method307__IIIIZ(
     This, j4, l8, k13, j18, (jboolean)flag)))
    {
     return (jboolean)jtrue;
    }
    j1= jcgo_mod((j1 + (jint)1), j);
    if (i1 == j1)
    {
     byte0= (jbyte)0;
    }
   }
   else
   {
    jint jcgo_rcvrI1;
    if ((jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai3, i1), jcgo_rcvrI1 <
     JCGO_ARRAY_NZIACCESS(ai3, j1)))
    {
     jint k4;
     jint i9;
     jint l13;
     jint k18;
     jint jcgo_rcvrI1;
     jint jcgo_rcvrI2;
     jint jcgo_rcvrI3;
     jint jcgo_rcvrI4;
     k4= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai, jcgo_mod((k + (jint)1),
      i)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai1, jcgo_mod((k + (jint)1),
      i)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai, k), jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai1,
      k), package_Scene__method306__IIIII(
      This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
      i1)));
     i9= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai, jcgo_mod(((l - (jint)1) +
      i), i)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai1, jcgo_mod(((l -
      (jint)1) + i), i)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai, l),
      jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai1, l), package_Scene__method306__IIIII(
      This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
      i1)));
     l13= JCGO_ARRAY_NZIACCESS(ai2, i1);
     k18= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2, jcgo_mod(((j1 - (jint)1) +
      j), j)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai3, jcgo_mod(((j1 -
      (jint)1) + j), j)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai2, j1),
      jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai3, j1), package_Scene__method306__IIIII(
      This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
      i1)));
     if ((package_Scene__method307__IIIIZ(
      This, k4, i9, l13, k18, (jboolean)flag)))
     {
      return (jboolean)jtrue;
     }
     i1= jcgo_mod(((i1 - (jint)1) + j), j);
     if (i1 == j1)
     {
      byte0= (jbyte)0;
     }
    }
    else
    {
     jint l4;
     jint j9;
     jint i14;
     jint l18;
     jint jcgo_rcvrI1;
     jint jcgo_rcvrI2;
     jint jcgo_rcvrI3;
     jint jcgo_rcvrI4;
     l4= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai, jcgo_mod((k + (jint)1),
      i)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai1, jcgo_mod((k + (jint)1),
      i)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai, k), jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai1,
      k), package_Scene__method306__IIIII(
      This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
      j1)));
     j9= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai, jcgo_mod(((l - (jint)1) +
      i), i)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai1, jcgo_mod(((l -
      (jint)1) + i), i)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai, l),
      jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai1, l), package_Scene__method306__IIIII(
      This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
      j1)));
     i14= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2, jcgo_mod((i1 + (jint)1),
      j)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai3, jcgo_mod((i1 + (jint)1),
      j)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai2, i1), jcgo_rcvrI4=
      JCGO_ARRAY_NZIACCESS(ai3, i1), package_Scene__method306__IIIII(
      This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
      j1)));
     l18= JCGO_ARRAY_NZIACCESS(ai2, j1);
     if ((package_Scene__method307__IIIIZ(
      This, l4, j9, i14, l18, (jboolean)flag)))
     {
      return (jboolean)jtrue;
     }
     j1= jcgo_mod((j1 + (jint)1), j);
     if (i1 == j1)
     {
      byte0= (jbyte)0;
     }
    }
   }
  }
  while (byte0 == (jint)2)
  {
   jint jcgo_rcvrI1;
   if ((jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai3, i1), jcgo_rcvrI1 < JCGO_ARRAY_NZIACCESS(ai1,
    k)))
   {
    jint j5;
    jint l9;
    jint k14;
    jint i19;
    jint jcgo_rcvrI1;
    jint jcgo_rcvrI2;
    jint jcgo_rcvrI3;
    jint jcgo_rcvrI4;
    if ((jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai3, i1), jcgo_rcvrI1 <
     JCGO_ARRAY_NZIACCESS(ai1, l)))
    {
     jint i5;
     jint k9;
     jint j14;
     jint jcgo_rcvrI1;
     jint jcgo_rcvrI2;
     jint jcgo_rcvrI3;
     jint jcgo_rcvrI4;
     i5= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai, jcgo_mod((k + (jint)1),
      i)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai1, jcgo_mod((k + (jint)1),
      i)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai, k), jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai1,
      k), package_Scene__method306__IIIII(
      This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
      i1)));
     k9= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai, jcgo_mod(((l - (jint)1) +
      i), i)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai1, jcgo_mod(((l -
      (jint)1) + i), i)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai, l),
      jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai1, l), package_Scene__method306__IIIII(
      This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
      i1)));
     j14= JCGO_ARRAY_NZIACCESS(ai2, i1);
     return (jboolean)(package_Scene__method308__IIIZ(
      This, i5, k9, j14, (jboolean)flag));
    }
    j5= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai, jcgo_mod((k + (jint)1),
     i)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai1, jcgo_mod((k + (jint)1),
     i)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai, k), jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai1,
     k), package_Scene__method306__IIIII(
     This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai1,
     l)));
    l9= JCGO_ARRAY_NZIACCESS(ai, l);
    k14= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2, jcgo_mod((i1 + (jint)1),
     j)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai3, jcgo_mod((i1 + (jint)1),
     j)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai2, i1), jcgo_rcvrI4=
     JCGO_ARRAY_NZIACCESS(ai3, i1), package_Scene__method306__IIIII(
     This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai1,
     l)));
    i19= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2, jcgo_mod(((j1 - (jint)1) +
     j), j)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai3, jcgo_mod(((j1 -
     (jint)1) + j), j)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai2, j1),
     jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai3, j1), package_Scene__method306__IIIII(
     This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai1,
     l)));
    if ((package_Scene__method307__IIIIZ(
     This, j5, l9, k14, i19, (jboolean)flag)))
    {
     return (jboolean)jtrue;
    }
    l= jcgo_mod((l + (jint)1), i);
    if (k == l)
    {
     byte0= (jbyte)0;
    }
   }
   else
   {
    jint jcgo_rcvrI1;
    if ((jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai1, k), jcgo_rcvrI1 < JCGO_ARRAY_NZIACCESS(ai1,
     l)))
    {
     jint k5;
     jint i10;
     jint l14;
     jint j19;
     jint jcgo_rcvrI1;
     jint jcgo_rcvrI2;
     jint jcgo_rcvrI3;
     jint jcgo_rcvrI4;
     k5= JCGO_ARRAY_NZIACCESS(ai, k);
     i10= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai, jcgo_mod(((l - (jint)1) +
      i), i)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai1, jcgo_mod(((l -
      (jint)1) + i), i)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai, l),
      jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai1, l), package_Scene__method306__IIIII(
      This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai1,
      k)));
     l14= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2, jcgo_mod((i1 + (jint)1),
      j)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai3, jcgo_mod((i1 + (jint)1),
      j)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai2, i1), jcgo_rcvrI4=
      JCGO_ARRAY_NZIACCESS(ai3, i1), package_Scene__method306__IIIII(
      This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai1,
      k)));
     j19= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2, jcgo_mod(((j1 - (jint)1) +
      j), j)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai3, jcgo_mod(((j1 -
      (jint)1) + j), j)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai2, j1),
      jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai3, j1), package_Scene__method306__IIIII(
      This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai1,
      k)));
     if ((package_Scene__method307__IIIIZ(
      This, k5, i10, l14, j19, (jboolean)flag)))
     {
      return (jboolean)jtrue;
     }
     k= jcgo_mod(((k - (jint)1) + i), i);
     if (k == l)
     {
      byte0= (jbyte)0;
     }
    }
    else
    {
     jint l5;
     jint j10;
     jint i15;
     jint k19;
     jint jcgo_rcvrI1;
     jint jcgo_rcvrI2;
     jint jcgo_rcvrI3;
     jint jcgo_rcvrI4;
     l5= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai, jcgo_mod((k + (jint)1),
      i)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai1, jcgo_mod((k + (jint)1),
      i)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai, k), jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai1,
      k), package_Scene__method306__IIIII(
      This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai1,
      l)));
     j10= JCGO_ARRAY_NZIACCESS(ai, l);
     i15= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2, jcgo_mod((i1 + (jint)1),
      j)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai3, jcgo_mod((i1 + (jint)1),
      j)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai2, i1), jcgo_rcvrI4=
      JCGO_ARRAY_NZIACCESS(ai3, i1), package_Scene__method306__IIIII(
      This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai1,
      l)));
     k19= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2, jcgo_mod(((j1 - (jint)1) +
      j), j)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai3, jcgo_mod(((j1 -
      (jint)1) + j), j)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai2, j1),
      jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai3, j1), package_Scene__method306__IIIII(
      This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai1,
      l)));
     if ((package_Scene__method307__IIIIZ(
      This, l5, j10, i15, k19, (jboolean)flag)))
     {
      return (jboolean)jtrue;
     }
     l= jcgo_mod((l + (jint)1), i);
     if (k == l)
     {
      byte0= (jbyte)0;
     }
    }
   }
  }
  if ((jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai1, k), jcgo_rcvrI1 < JCGO_ARRAY_NZIACCESS(ai3,
   i1)))
  {
   jint i6;
   jint j15;
   jint l19;
   jint jcgo_rcvrI1;
   jint jcgo_rcvrI2;
   jint jcgo_rcvrI3;
   jint jcgo_rcvrI4;
   i6= JCGO_ARRAY_NZIACCESS(ai, k);
   j15= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2, jcgo_mod((i1 + (jint)1),
    j)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai3, jcgo_mod((i1 + (jint)1),
    j)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai2, i1), jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai3,
    i1), package_Scene__method306__IIIII(
    This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai1,
    k)));
   l19= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2, jcgo_mod(((j1 - (jint)1) +
    j), j)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai3, jcgo_mod(((j1 -
    (jint)1) + j), j)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai2, j1),
    jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai3, j1), package_Scene__method306__IIIII(
    This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai1,
    k)));
   return (jboolean)(package_Scene__method308__IIIZ(
    This, j15, l19, i6, (jboolean)(!flag)));
  }
  j6= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai, jcgo_mod((k + (jint)1),
   i)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai1, jcgo_mod((k + (jint)1),
   i)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai, k), jcgo_rcvrI4= JCGO_ARRAY_NZIACCESS(ai1,
   k), package_Scene__method306__IIIII(
   This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
   i1)));
  k10= (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai, jcgo_mod(((l - (jint)1) +
   i), i)), jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(ai1, jcgo_mod(((l - (jint)1) +
   i), i)), jcgo_rcvrI3= JCGO_ARRAY_NZIACCESS(ai, l), jcgo_rcvrI4=
   JCGO_ARRAY_NZIACCESS(ai1, l), package_Scene__method306__IIIII(
   This, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_NZIACCESS(ai3,
   i1)));
  k15= JCGO_ARRAY_NZIACCESS(ai2, i1);
  return (jboolean)(package_Scene__method308__IIIZ(
   This, j6, k10, k15, (jboolean)flag));
 }
}

JCGO_NOSEP_FRWINL jboolean CFASTCALL
package_Scene__heuristicPolygon__L06628L06628( package_Scene This,
 package_Polygon polygon, package_Polygon polygon_1 )
{
 {
  package_GameModel gameModel;
  package_GameModel gameModel_1;
  jintArr ai;
  jintArr ai1;
  jint i;
  jint j;
  jint k;
  jint l;
  jint i2;
  jint j2;
  jint k2;
  jint l2;
  jint i3;
  jint j3;
  jint k3;
  jint l3;
  jboolean flag;
  gameModel= JCGO_FIELD_ACCESS(package_Polygon, polygon, model);
  gameModel_1= JCGO_FIELD_ACCESS(package_Polygon, polygon_1, model);
  i= JCGO_FIELD_NZACCESS(polygon, face);
  j= JCGO_FIELD_NZACCESS(polygon_1, face);
  ai= ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_ACCESS(package_GameModel,
   gameModel, faceVertices), i));
  ai1= ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_ACCESS(package_GameModel,
   gameModel_1, faceVertices), j));
  k= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, faceNumVertices),
   i);
  l= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_1, faceNumVertices),
   j);
  i2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_1, projectVertexX),
   JCGO_ARRAY_IACCESS(ai1, 0));
  j2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_1, projectVertexY),
   JCGO_ARRAY_NZIACCESS(ai1, 0));
  k2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_1, projectVertexZ),
   JCGO_ARRAY_NZIACCESS(ai1, 0));
  l2= JCGO_FIELD_NZACCESS(polygon_1, normalX);
  i3= JCGO_FIELD_NZACCESS(polygon_1, normalY);
  j3= JCGO_FIELD_NZACCESS(polygon_1, normalZ);
  k3= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_1, normalMagnitude),
   j);
  l3= JCGO_FIELD_NZACCESS(polygon_1, visibility);
  flag= jfalse;
  {
   jint i4;
   i4= 0;
   for (; i4 < k; i4++)
   {
    jint i1;
    jint k1;
    jint jcgo_rcvrI1;
    i1= JCGO_ARRAY_IACCESS(ai, i4);
    k1= (jcgo_rcvrI1= (jcgo_rcvrI1= (i2 - JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel,
     projectVertexX), i1)) * l2, jcgo_rcvrI1 + (j2 - JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel,
     projectVertexY), i1)) * i3), jcgo_rcvrI1 + (k2 - JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel,
     projectVertexZ), i1)) * j3);
    if ((k1 >= (-k3) || l3 >= 0) && (k1 <= k3 || l3 <= 0))
    {
     continue;
    }
    flag= (jboolean)jtrue;
    break;
   }
  }
  if (!flag)
  {
   return (jboolean)jtrue;
  }
  i2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, projectVertexX),
   JCGO_ARRAY_IACCESS(ai, 0));
  j2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, projectVertexY),
   JCGO_ARRAY_NZIACCESS(ai, 0));
  k2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, projectVertexZ),
   JCGO_ARRAY_NZIACCESS(ai, 0));
  l2= JCGO_FIELD_NZACCESS(polygon, normalX);
  i3= JCGO_FIELD_NZACCESS(polygon, normalY);
  j3= JCGO_FIELD_NZACCESS(polygon, normalZ);
  k3= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, normalMagnitude),
   i);
  l3= JCGO_FIELD_NZACCESS(polygon, visibility);
  flag= (jboolean)jfalse;
  {
   jint j4;
   j4= 0;
   for (; j4 < l; j4++)
   {
    jint j1;
    jint l1;
    jint jcgo_rcvrI1;
    j1= JCGO_ARRAY_NZIACCESS(ai1, j4);
    l1= (jcgo_rcvrI1= (jcgo_rcvrI1= (i2 - JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_1,
     projectVertexX), j1)) * l2, jcgo_rcvrI1 + (j2 - JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_1,
     projectVertexY), j1)) * i3), jcgo_rcvrI1 + (k2 - JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_1,
     projectVertexZ), j1)) * j3);
    if ((l1 >= (-k3) || l3 <= 0) && (l1 <= k3 || l3 >= 0))
    {
     continue;
    }
    flag= (jboolean)jtrue;
    break;
   }
  }
  return (jboolean)(!flag);
 }
}

JCGO_NOSEP_INLINE package_Scene CFASTCALL
package_Scene__this__L0s0x4III( package_Scene This, package_Surface
 surface, jint i, jint polygons, jint k )
{
 {
  jint jcgo_rcvrI1;
  JCGO_FIELD_NZACCESS(This, rampCount)= (jint)50;
  JCGO_FIELD_NZACCESS(This, gradientBase)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
   0, JCGO_FIELD_NZACCESS(This, rampCount));
  JCGO_FIELD_NZACCESS(This, gradientRamps)= (jcgo_rcvrI1= JCGO_FIELD_NZACCESS(This,
   rampCount), jcgo_new4DArray(JCGO_CORECLASS_FOR(OBJT_jint), 2, 0,
   jcgo_rcvrI1, (jint)256, 0, 0));
  JCGO_FIELD_NZACCESS(This, clipNear)= (jint)5;
  JCGO_FIELD_NZACCESS(This, clipFar3d)= (jint)1000;
  JCGO_FIELD_NZACCESS(This, clipFar2d)= (jint)1000;
  JCGO_FIELD_NZACCESS(This, fogZFalloff)= (jint)20;
  JCGO_FIELD_NZACCESS(This, fogZDistance)= (jint)10;
  JCGO_FIELD_NZACCESS(This, wideBand)= (jboolean)jfalse;
  (void)(jdouble)1.1000000000000001;
  (void)(jint)1;
  JCGO_FIELD_NZACCESS(This, mousePickingActive)= (jboolean)jfalse;
  JCGO_FIELD_NZACCESS(This, mousePickedMax)= (jint)100;
  JCGO_FIELD_NZACCESS(This, mousePickedModels)= (jObjectArr)jcgo_newArray(JCGO_CLASSREF_OF(package_GameModel__class),
   0, JCGO_FIELD_NZACCESS(This, mousePickedMax));
  JCGO_FIELD_NZACCESS(This, mousePickedFaces)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
   0, JCGO_FIELD_NZACCESS(This, mousePickedMax));
  JCGO_FIELD_NZACCESS(This, width)= JCGO_FIELD_ACCESS(package_Surface,
   surface, width1);
  JCGO_FIELD_NZACCESS(This, clipX)= (jint)256;
  JCGO_FIELD_NZACCESS(This, clipY)= (jint)192;
  JCGO_FIELD_NZACCESS(This, baseX)= (jint)256;
  JCGO_FIELD_NZACCESS(This, baseY)= (jint)256;
  JCGO_FIELD_NZACCESS(This, viewDistance)= (jint)8;
  JCGO_FIELD_NZACCESS(This, normalMagnitude)= (jint)4;
  JCGO_FIELD_NZACCESS(This, planeX)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
   0, (jint)40);
  JCGO_FIELD_NZACCESS(This, planeY)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
   0, (jint)40);
  JCGO_FIELD_NZACCESS(This, vertexShade)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
   0, (jint)40);
  JCGO_FIELD_NZACCESS(This, vertexX)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
   0, (jint)40);
  JCGO_FIELD_NZACCESS(This, vertexY)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
   0, (jint)40);
  JCGO_FIELD_NZACCESS(This, vertexZ)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
   0, (jint)40);
  JCGO_FIELD_NZACCESS(This, interlace)= (jboolean)jfalse;
  JCGO_FIELD_NZACCESS(This, surface)= surface;
  JCGO_FIELD_NZACCESS(This, clipX)= JCGO_FIELD_NZACCESS(surface, width2) /
   (jint)2;
  JCGO_FIELD_NZACCESS(This, clipY)= JCGO_FIELD_NZACCESS(surface, height2) /
   (jint)2;
  JCGO_FIELD_NZACCESS(This, raster)= JCGO_FIELD_NZACCESS(surface, pixels);
  JCGO_FIELD_NZACCESS(This, modelCount)= 0;
  JCGO_FIELD_NZACCESS(This, maxModelCount)= i;
  JCGO_FIELD_NZACCESS(This, models)= (jObjectArr)jcgo_newArray(JCGO_CLASSREF_OF(package_GameModel__class),
   0, JCGO_FIELD_NZACCESS(This, maxModelCount));
  JCGO_FIELD_NZACCESS(This, visiblePolygonsCount)= 0;
  JCGO_FIELD_NZACCESS(This, visiblePolygons)= (jObjectArr)jcgo_newArray(JCGO_CLASSREF_OF(package_Polygon__class),
   0, polygons);
  {
   jint l;
   l= 0;
   for (; l < polygons; l++)
   {
    jObject jcgo_rcvrL1;
    jObject jcgo_rcvrL2;
    jint jcgo_rcvrI1;
    (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, visiblePolygons),
     jcgo_rcvrI1= l, jcgo_rcvrL2= (jObject)package_Polygon__new__(),
     *(package_Polygon*)&JCGO_ARRAY_LACCESS((jObjectArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= (package_Polygon)jcgo_rcvrL2);
   }
  }
  JCGO_FIELD_NZACCESS(This, spriteCount)= 0;
  JCGO_FIELD_NZACCESS(This, view)= (package_GameModel__new__II(
   k * (jint)2, k));
  JCGO_FIELD_NZACCESS(This, spriteId)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
   0, k);
  JCGO_FIELD_NZACCESS(This, spriteWidth)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
   0, k);
  JCGO_FIELD_NZACCESS(This, spriteHeight)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
   0, k);
  JCGO_FIELD_NZACCESS(This, spriteX)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
   0, k);
  JCGO_FIELD_NZACCESS(This, spriteZ)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
   0, k);
  JCGO_FIELD_NZACCESS(This, spriteY)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
   0, k);
  JCGO_FIELD_NZACCESS(This, spriteTranslateX)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
   0, k);
  if (package_Scene__aByteArray434 == jnull)
  {
   package_Scene__aByteArray434= (jbyteArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jbyte),
    0, (jint)17691);
  }
  JCGO_FIELD_NZACCESS(This, cameraX)= 0;
  JCGO_FIELD_NZACCESS(This, cameraY)= 0;
  JCGO_FIELD_NZACCESS(This, cameraZ)= 0;
  JCGO_FIELD_NZACCESS(This, cameraYaw)= 0;
  JCGO_FIELD_NZACCESS(This, cameraPitch)= 0;
  JCGO_FIELD_NZACCESS(This, cameraRoll)= 0;
  {
   jint i1;
   i1= 0;
   for (; i1 < (jint)256; i1++)
   {
    jObject jcgo_rcvrL1;
    jint jcgo_rcvrI1;
    jint jcgo_rcvrI2;
    (jcgo_rcvrL1= (jObject)package_Scene__sin512Cache, jcgo_rcvrI1=
     i1, jcgo_rcvrI2= JCGO_JDOUBLE_TOJINT(((java_lang_Math__sin__D(
     (jdouble)i1 * (jdouble)0.02454369)) * (jdouble)32768.0)), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    (jcgo_rcvrL1= (jObject)package_Scene__sin512Cache, jcgo_rcvrI1=
     i1 + (jint)256, jcgo_rcvrI2= JCGO_JDOUBLE_TOJINT(((java_lang_Math__cos__D(
     (jdouble)i1 * (jdouble)0.02454369)) * (jdouble)32768.0)), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
   }
  }
  {
   jint j1;
   j1= 0;
   for (; j1 < (jint)1024; j1++)
   {
    jObject jcgo_rcvrL1;
    jint jcgo_rcvrI1;
    jint jcgo_rcvrI2;
    (jcgo_rcvrL1= (jObject)package_Scene__sin2048Cache, jcgo_rcvrI1=
     j1, jcgo_rcvrI2= JCGO_JDOUBLE_TOJINT(((java_lang_Math__sin__D(
     (jdouble)j1 * (jdouble)0.00613592315)) * (jdouble)32768.0)), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
    (jcgo_rcvrL1= (jObject)package_Scene__sin2048Cache, jcgo_rcvrI1=
     j1 + (jint)1024, jcgo_rcvrI2= JCGO_JDOUBLE_TOJINT(((java_lang_Math__cos__D(
     (jdouble)j1 * (jdouble)0.00613592315)) * (jdouble)32768.0)), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= jcgo_rcvrI2);
   }
  }
 }
 return This;
}

JCGO_NOSEP_FRWINL package_Scene CFASTCALL
package_Scene__new__L0s0x4III( package_Surface surface, jint i, jint
 polygons, jint k )
{
 JCGO_CLINIT_TRIG(package_Scene__class);
 return package_Scene__this__L0s0x4III(
  (package_Scene)jcgo_newObject((jvtable)&package_Scene_methods), surface,
  i, polygons, k);
}

JCGO_NOSEP_STATIC jint CFASTCALL
package_Scene__rgb__III( jint i, jint j, jint k )
{
 JCGO_CLINIT_TRIG(package_Scene__class);
 {
  return (-(jint)1) - (i / (jint)8) * (jint)1024 - (j / (jint)8) *
   (jint)32 - k / (jint)8;
 }
}

JCGO_NOSEP_STATIC void CFASTCALL
package_Scene__addModel__L98u34( package_Scene This, package_GameModel
 model )
{
 {
  if (model == jnull)
  {
   (java_io_PrintStream__println__Ls(
    JCGO_CLINIT_VARACC(java_lang_System__class, java_lang_System__out),
    JCGO_STRREF_OF(jcgo_string2_Scene)));
  }
  if (JCGO_FIELD_NZACCESS(This, modelCount) < JCGO_FIELD_NZACCESS(This,
   maxModelCount))
  {
   jObject jcgo_rcvrL1;
   jint jcgo_rcvrI1;
   (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, models), jcgo_rcvrI1=
    JCGO_FIELD_NZACCESS(This, modelCount)++, *(package_GameModel*)&JCGO_ARRAY_LACCESS((jObjectArr)jcgo_rcvrL1,
    jcgo_rcvrI1)= model);
  }
 }
}

JCGO_NOSEP_STATIC void CFASTCALL
package_Scene__removeModel__L98u34( package_Scene This, package_GameModel
 gameModel )
{
 {
  {
   jint i;
   i= 0;
   for (; i < JCGO_FIELD_NZACCESS(This, modelCount); i++)
   {
    if (((package_GameModel)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
     models), i)) == gameModel)
    {
     JCGO_FIELD_NZACCESS(This, modelCount)--;
     {
      jint j;
      j= i;
      for (; j < JCGO_FIELD_NZACCESS(This, modelCount); j++)
      {
       jObject jcgo_rcvrL1;
       (jcgo_rcvrL1= (jObject)((package_GameModel)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
        models), j + (jint)1)), *(package_GameModel*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
        models), j)= (package_GameModel)jcgo_rcvrL1);
      }
     }
    }
   }
  }
 }
}

JCGO_NOSEP_STATIC void CFASTCALL
package_Scene__dispose__( package_Scene This )
{
 {
  (package_Scene__clear__(
   This));
  {
   jint i;
   i= 0;
   for (; i < JCGO_FIELD_NZACCESS(This, modelCount); i++)
   {
    *(package_GameModel*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
     models), i)= (package_GameModel)jnull;
   }
  }
  JCGO_FIELD_NZACCESS(This, modelCount)= 0;
 }
}

JCGO_NOSEP_FRWINL void CFASTCALL
package_Scene__reduceSprites__I( package_Scene This, jint i )
{
 {
  jObject jcgo_rcvrL1;
  JCGO_FIELD_NZACCESS(This, spriteCount)-= i;
  (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, view), JCGO_CALL_FINALF((package_GameModel)jcgo_rcvrL1)
   package_GameModel__reduce__II(
   (package_GameModel)jcgo_rcvrL1, i, i * (jint)2));
  if (JCGO_FIELD_NZACCESS(This, spriteCount) < 0)
  {
   JCGO_FIELD_NZACCESS(This, spriteCount)= 0;
  }
 }
}

JCGO_NOSEP_STATIC jint CFASTCALL
package_Scene__addSprite__IIIIIII( package_Scene This, jint n, jint
 x, jint z, jint y, jint w, jint h, jint tag )
{
 {
  jintArr vs;
  jint l1;
  jint i2;
  jObject jcgo_rcvrL1;
  JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteId), JCGO_FIELD_NZACCESS(This,
   spriteCount))= n;
  JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteX), JCGO_FIELD_NZACCESS(This,
   spriteCount))= x;
  JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteZ), JCGO_FIELD_NZACCESS(This,
   spriteCount))= z;
  JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteY), JCGO_FIELD_NZACCESS(This,
   spriteCount))= y;
  JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteWidth), JCGO_FIELD_NZACCESS(This,
   spriteCount))= w;
  JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteHeight), JCGO_FIELD_NZACCESS(This,
   spriteCount))= h;
  JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteTranslateX), JCGO_FIELD_NZACCESS(This,
   spriteCount))= 0;
  l1= (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, view), JCGO_CALL_FINALF((package_GameModel)jcgo_rcvrL1)
   package_GameModel__createVertex__III(
   (package_GameModel)jcgo_rcvrL1, x, z, y));
  i2= (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, view), JCGO_CALL_FINALF((package_GameModel)jcgo_rcvrL1)
   package_GameModel__createVertex__III(
   (package_GameModel)jcgo_rcvrL1, x, z - h, y));
  vs= (jcgo_rcvrL1= jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint), 0,
   2),
   JCGO_ARR_INTERNALACC(jint, (jintArr)jcgo_rcvrL1, 0)= l1,
   JCGO_ARR_INTERNALACC(jint, (jintArr)jcgo_rcvrL1, 1)= i2,
   (jintArr)jcgo_rcvrL1);
  (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, view), JCGO_CALL_FINALF((package_GameModel)jcgo_rcvrL1)
   package_GameModel__createFace__IIAII(
   (package_GameModel)jcgo_rcvrL1, vs, (jint)2, 0, 0));
  JCGO_ARRAY_IACCESS(JCGO_FIELD_ACCESS(package_GameModel, JCGO_FIELD_NZACCESS(This,
   view), faceTag), JCGO_FIELD_NZACCESS(This, spriteCount))= tag;
  (jcgo_rcvrL1= (jObject)JCGO_FIELD_ACCESS(package_GameModel, JCGO_FIELD_NZACCESS(This,
   view), isLocalPlayer), JCGO_ARRAY_BACCESS((jbyteArr)jcgo_rcvrL1,
   JCGO_FIELD_NZACCESS(This, spriteCount)++)= (jbyte)0);
  return JCGO_FIELD_NZACCESS(This, spriteCount) - (jint)1;
 }
}

JCGO_NOSEP_FRWINL void CFASTCALL
package_Scene__setLocalPlayer__I( package_Scene This, jint i )
{
 {
  JCGO_ARRAY_BACCESS(JCGO_FIELD_ACCESS(package_GameModel, JCGO_FIELD_NZACCESS(This,
   view), isLocalPlayer), i)= (jbyte)(jint)1;
 }
}

JCGO_NOSEP_FRWINL void CFASTCALL
package_Scene__setSpriteTranslateX__II( package_Scene This, jint i,
 jint n )
{
 {
  JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteTranslateX), i)=
   n;
 }
}

JCGO_NOSEP_FRWINL void CFASTCALL
package_Scene__setMouseLoc__II( package_Scene This, jint x, jint y
 )
{
 {
  JCGO_FIELD_NZACCESS(This, mouseX)= x - JCGO_FIELD_NZACCESS(This,
   baseX);
  JCGO_FIELD_NZACCESS(This, mouseY)= y;
  JCGO_FIELD_NZACCESS(This, mousePickedCount)= 0;
  JCGO_FIELD_NZACCESS(This, mousePickingActive)= (jboolean)jtrue;
 }
}

JCGO_NOSEP_FRWINL jint CFASTCALL
package_Scene__getMousePickedCount__( package_Scene This )
{
 {
  return JCGO_FIELD_NZACCESS(This, mousePickedCount);
 }
}

JCGO_NOSEP_FRWINL jintArr CFASTCALL
package_Scene__getMousePickedFaces__( package_Scene This )
{
 {
  return JCGO_FIELD_NZACCESS(This, mousePickedFaces);
 }
}

JCGO_NOSEP_FRWINL jObjectArr CFASTCALL
package_Scene__getMousePickedModels__( package_Scene This )
{
 {
  return JCGO_FIELD_NZACCESS(This, mousePickedModels);
 }
}

JCGO_NOSEP_FRWINL void CFASTCALL
package_Scene__setBounds__IIIIII( package_Scene This, jint baseX,
 jint baseY, jint clipX, jint clipY, jint width, jint viewDistance
 )
{
 {
  JCGO_FIELD_NZACCESS(This, clipX)= clipX;
  JCGO_FIELD_NZACCESS(This, clipY)= clipY;
  JCGO_FIELD_NZACCESS(This, baseX)= baseX;
  JCGO_FIELD_NZACCESS(This, baseY)= baseY;
  JCGO_FIELD_NZACCESS(This, width)= width;
  JCGO_FIELD_NZACCESS(This, viewDistance)= viewDistance;
  JCGO_FIELD_NZACCESS(This, scanlines)= (jObjectArr)jcgo_newArray(JCGO_CLASSREF_OF(package_Scanline__class),
   0, clipY + baseY);
  {
   jint k1;
   k1= 0;
   for (; k1 < clipY + baseY; k1++)
   {
    jObject jcgo_rcvrL1;
    jObject jcgo_rcvrL2;
    jint jcgo_rcvrI1;
    (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, scanlines), jcgo_rcvrI1=
     k1, jcgo_rcvrL2= (jObject)package_Scanline__new__(), *(package_Scanline*)&JCGO_ARRAY_LACCESS((jObjectArr)jcgo_rcvrL1,
     jcgo_rcvrI1)= (package_Scanline)jcgo_rcvrL2);
   }
  }
 }
}

JCGO_NOSEP_STATIC void CFASTCALL
package_Scene__polygonsQSort__L06628AII( package_Scene This, jObjectArr
 polygons, jint low, jint high )
{
 {
  if (low < high)
  {
   package_Polygon polygon;
   jint min_8bi;
   jint max_7e1;
   jint mid;
   jint j1;
   jObject jcgo_rcvrL1;
   min_8bi= low - (jint)1;
   max_7e1= high + (jint)1;
   mid= (low + high) / (jint)2;
   polygon= ((package_Polygon)JCGO_ARRAY_LACCESS(polygons, mid));
   (jcgo_rcvrL1= (jObject)((package_Polygon)JCGO_ARRAY_NZLACCESS(polygons,
    low)), *(package_Polygon*)&JCGO_ARRAY_NZLACCESS(polygons, mid)=
    (package_Polygon)jcgo_rcvrL1);
   *(package_Polygon*)&JCGO_ARRAY_NZLACCESS(polygons, low)= polygon;
   j1= JCGO_FIELD_ACCESS(package_Polygon, polygon, depth);
   while (min_8bi < max_7e1)
   {
    do
    {
     max_7e1--;
    }
     while (JCGO_FIELD_ACCESS(package_Polygon, ((package_Polygon)JCGO_ARRAY_NZLACCESS(polygons,
     max_7e1)), depth) < j1);
    do
    {
     min_8bi++;
    }
     while (JCGO_FIELD_ACCESS(package_Polygon, ((package_Polygon)JCGO_ARRAY_NZLACCESS(polygons,
     min_8bi)), depth) > j1);
    if (min_8bi < max_7e1)
    {
     package_Polygon polygon_1;
     jObject jcgo_rcvrL1;
     polygon_1= ((package_Polygon)JCGO_ARRAY_NZLACCESS(polygons, min_8bi));
     (jcgo_rcvrL1= (jObject)((package_Polygon)JCGO_ARRAY_NZLACCESS(polygons,
      max_7e1)), *(package_Polygon*)&JCGO_ARRAY_NZLACCESS(polygons,
      min_8bi)= (package_Polygon)jcgo_rcvrL1);
     *(package_Polygon*)&JCGO_ARRAY_NZLACCESS(polygons, max_7e1)= polygon_1;
    }
   }
   (package_Scene__polygonsQSort__L06628AII(
    This, polygons, low, max_7e1));
   (package_Scene__polygonsQSort__L06628AII(
    This, polygons, max_7e1 + (jint)1, high));
  }
 }
}

JCGO_NOSEP_STATIC jboolean CFASTCALL
package_Scene__polygonsOrder__L06628AII( package_Scene This, jObjectArr
 polygons, jint start, jint end )
{
 {
  do
  {
   package_Polygon polygon;
   package_Polygon polygon_2;
   polygon= ((package_Polygon)JCGO_ARRAY_LACCESS(polygons, start));
   {
    jint k;
    k= start + (jint)1;
    for (; k <= end; k++)
    {
     package_Polygon polygon_1;
     polygon_1= ((package_Polygon)JCGO_ARRAY_NZLACCESS(polygons, k));
     if (!(package_Scene__separatePolygon__L06628L06628(
      This, polygon_1, polygon)))
     {
      break;
     }
     *(package_Polygon*)&JCGO_ARRAY_NZLACCESS(polygons, start)= polygon_1;
     *(package_Polygon*)&JCGO_ARRAY_NZLACCESS(polygons, k)= polygon;
     start= k;
     if (start == end)
     {
      JCGO_FIELD_NZACCESS(This, newStart)= start;
      JCGO_FIELD_NZACCESS(This, newEnd)= start - (jint)1;
      return (jboolean)jtrue;
     }
    }
   }
   polygon_2= ((package_Polygon)JCGO_ARRAY_NZLACCESS(polygons, end));
   {
    jint l;
    l= end - (jint)1;
    for (; l >= start; l--)
    {
     package_Polygon polygon_3;
     polygon_3= ((package_Polygon)JCGO_ARRAY_NZLACCESS(polygons, l));
     if (!(package_Scene__separatePolygon__L06628L06628(
      This, polygon_2, polygon_3)))
     {
      break;
     }
     *(package_Polygon*)&JCGO_ARRAY_NZLACCESS(polygons, end)= polygon_3;
     *(package_Polygon*)&JCGO_ARRAY_NZLACCESS(polygons, l)= polygon_2;
     end= l;
     if (start == end)
     {
      JCGO_FIELD_NZACCESS(This, newStart)= end + (jint)1;
      JCGO_FIELD_NZACCESS(This, newEnd)= end;
      return (jboolean)jtrue;
     }
    }
   }
   if (start + (jint)1 >= end)
   {
    JCGO_FIELD_NZACCESS(This, newStart)= start;
    JCGO_FIELD_NZACCESS(This, newEnd)= end;
    return (jboolean)jfalse;
   }
   if (!(package_Scene__polygonsOrder__L06628AII(
    This, polygons, start + (jint)1, end)))
   {
    JCGO_FIELD_NZACCESS(This, newStart)= start;
    return (jboolean)jfalse;
   }
   end= JCGO_FIELD_NZACCESS(This, newEnd);
  }
   while (jtrue);
 }
}

JCGO_NOSEP_STATIC void CFASTCALL
package_Scene__setFrustum__III( package_Scene This, jint i, jint j,
 jint k )
{
 {
  jint l;
  jint i1;
  jint j1;
  l= ((-JCGO_FIELD_NZACCESS(This, cameraYaw)) + (jint)1024) & (jint)1023;
  i1= ((-JCGO_FIELD_NZACCESS(This, cameraPitch)) + (jint)1024) & (jint)1023;
  j1= ((-JCGO_FIELD_NZACCESS(This, cameraRoll)) + (jint)1024) & (jint)1023;
  if (j1 != 0)
  {
   jint k1;
   jint j2;
   jint i3;
   k1= JCGO_ARRAY_IACCESS(package_Scene__sin2048Cache, j1);
   j2= JCGO_ARRAY_IACCESS(package_Scene__sin2048Cache, j1 + (jint)1024);
   i3= JCGO_SHR_F(j * k1 + i * j2, (jint)15);
   j= JCGO_SHR_F(j * j2 - i * k1, (jint)15);
   i= i3;
  }
  if (l != 0)
  {
   jint l1;
   jint k2;
   jint j3;
   l1= JCGO_ARRAY_IACCESS(package_Scene__sin2048Cache, l);
   k2= JCGO_ARRAY_IACCESS(package_Scene__sin2048Cache, l + (jint)1024);
   j3= JCGO_SHR_F(j * k2 - k * l1, (jint)15);
   k= JCGO_SHR_F(j * l1 + k * k2, (jint)15);
   j= j3;
  }
  if (i1 != 0)
  {
   jint i2;
   jint l2;
   jint k3;
   i2= JCGO_ARRAY_IACCESS(package_Scene__sin2048Cache, i1);
   l2= JCGO_ARRAY_IACCESS(package_Scene__sin2048Cache, i1 + (jint)1024);
   k3= JCGO_SHR_F(k * i2 + i * l2, (jint)15);
   k= JCGO_SHR_F(k * l2 - i * i2, (jint)15);
   i= k3;
  }
  if (i < package_Scene__frustumMaxX)
  {
   package_Scene__frustumMaxX= i;
  }
  if (i > package_Scene__frustumMinX)
  {
   package_Scene__frustumMinX= i;
  }
  if (j < package_Scene__furstumMaxY)
  {
   package_Scene__furstumMaxY= j;
  }
  if (j > package_Scene__furstumMinY)
  {
   package_Scene__furstumMinY= j;
  }
  if (k < package_Scene__furstumFarZ)
  {
   package_Scene__furstumFarZ= k;
  }
  if (k > package_Scene__frustumNearZ)
  {
   package_Scene__frustumNearZ= k;
  }
 }
}

JCGO_NOSEP_STATIC void CFASTCALL
package_Scene__render__( package_Scene This )
{
 {
  package_GameModel model_2d;
  jint i3;
  jint j3;
  jObject jcgo_rcvrL1;
  JCGO_FIELD_NZACCESS(This, interlace)= (jboolean)JCGO_FIELD_ACCESS(package_Surface,
   JCGO_FIELD_NZACCESS(This, surface), interlace);
  i3= JCGO_SHR_F(JCGO_FIELD_NZACCESS(This, clipX) * JCGO_FIELD_NZACCESS(This,
   clipFar3d), JCGO_FIELD_NZACCESS(This, viewDistance));
  j3= JCGO_SHR_F(JCGO_FIELD_NZACCESS(This, clipY) * JCGO_FIELD_NZACCESS(This,
   clipFar3d), JCGO_FIELD_NZACCESS(This, viewDistance));
  package_Scene__frustumMaxX= 0;
  package_Scene__frustumMinX= 0;
  package_Scene__furstumMaxY= 0;
  package_Scene__furstumMinY= 0;
  package_Scene__furstumFarZ= 0;
  package_Scene__frustumNearZ= 0;
  (package_Scene__setFrustum__III(
   This, (-i3), (-j3), JCGO_FIELD_NZACCESS(This, clipFar3d)));
  (package_Scene__setFrustum__III(
   This, (-i3), j3, JCGO_FIELD_NZACCESS(This, clipFar3d)));
  (package_Scene__setFrustum__III(
   This, i3, (-j3), JCGO_FIELD_NZACCESS(This, clipFar3d)));
  (package_Scene__setFrustum__III(
   This, i3, j3, JCGO_FIELD_NZACCESS(This, clipFar3d)));
  (package_Scene__setFrustum__III(
   This, (-JCGO_FIELD_NZACCESS(This, clipX)), (-JCGO_FIELD_NZACCESS(This,
   clipY)), 0));
  (package_Scene__setFrustum__III(
   This, (-JCGO_FIELD_NZACCESS(This, clipX)), JCGO_FIELD_NZACCESS(This,
   clipY), 0));
  (package_Scene__setFrustum__III(
   This, JCGO_FIELD_NZACCESS(This, clipX), (-JCGO_FIELD_NZACCESS(This,
   clipY)), 0));
  (package_Scene__setFrustum__III(
   This, JCGO_FIELD_NZACCESS(This, clipX), JCGO_FIELD_NZACCESS(This,
   clipY), 0));
  package_Scene__frustumMaxX+= JCGO_FIELD_NZACCESS(This, cameraX);
  package_Scene__frustumMinX+= JCGO_FIELD_NZACCESS(This, cameraX);
  package_Scene__furstumMaxY+= JCGO_FIELD_NZACCESS(This, cameraY);
  package_Scene__furstumMinY+= JCGO_FIELD_NZACCESS(This, cameraY);
  package_Scene__furstumFarZ+= JCGO_FIELD_NZACCESS(This, cameraZ);
  package_Scene__frustumNearZ+= JCGO_FIELD_NZACCESS(This, cameraZ);
  *(package_GameModel*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
   models), JCGO_FIELD_NZACCESS(This, modelCount))= JCGO_FIELD_NZACCESS(This,
   view);
  JCGO_FIELD_ACCESS(package_GameModel, JCGO_FIELD_NZACCESS(This, view),
   transformState)= (jint)2;
  {
   jint i;
   i= 0;
   for (; i < JCGO_FIELD_NZACCESS(This, modelCount); i++)
   {
    jObject jcgo_rcvrL1;
    (jcgo_rcvrL1= (jObject)((package_GameModel)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
     models), i)), JCGO_CALL_FINALF((package_GameModel)jcgo_rcvrL1)
     package_GameModel__project__IIIIIIII(
     (package_GameModel)jcgo_rcvrL1, JCGO_FIELD_NZACCESS(This, cameraX),
     JCGO_FIELD_NZACCESS(This, cameraY), JCGO_FIELD_NZACCESS(This,
     cameraZ), JCGO_FIELD_NZACCESS(This, cameraYaw), JCGO_FIELD_NZACCESS(This,
     cameraPitch), JCGO_FIELD_NZACCESS(This, cameraRoll), JCGO_FIELD_NZACCESS(This,
     viewDistance), JCGO_FIELD_NZACCESS(This, clipNear)));
   }
  }
  (jcgo_rcvrL1= (jObject)((package_GameModel)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
   models), JCGO_FIELD_NZACCESS(This, modelCount))), JCGO_CALL_FINALF((package_GameModel)jcgo_rcvrL1)
   package_GameModel__project__IIIIIIII(
   (package_GameModel)jcgo_rcvrL1, JCGO_FIELD_NZACCESS(This, cameraX),
   JCGO_FIELD_NZACCESS(This, cameraY), JCGO_FIELD_NZACCESS(This, cameraZ),
   JCGO_FIELD_NZACCESS(This, cameraYaw), JCGO_FIELD_NZACCESS(This,
   cameraPitch), JCGO_FIELD_NZACCESS(This, cameraRoll), JCGO_FIELD_NZACCESS(This,
   viewDistance), JCGO_FIELD_NZACCESS(This, clipNear)));
  JCGO_FIELD_NZACCESS(This, visiblePolygonsCount)= 0;
  {
   jint count;
   count= 0;
   for (; count < JCGO_FIELD_NZACCESS(This, modelCount); count++)
   {
    package_GameModel gameModel;
    gameModel= ((package_GameModel)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
     models), count));
    if (JCGO_FIELD_ACCESS(package_GameModel, gameModel, visible))
    {
     {
      jint face;
      face= 0;
      for (; face < JCGO_FIELD_NZACCESS(gameModel, numFaces); face++)
      {
       jintArr vertices;
       jint num_vertices;
       jboolean visible;
       num_vertices= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel,
        faceNumVertices), face);
       vertices= ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(gameModel,
        faceVertices), face));
       visible= jfalse;
       {
        jint vertex;
        vertex= 0;
        for (; vertex < num_vertices; vertex++)
        {
         jint z;
         z= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, projectVertexZ),
          JCGO_ARRAY_IACCESS(vertices, vertex));
         if (z <= JCGO_FIELD_NZACCESS(This, clipNear) || z >= JCGO_FIELD_NZACCESS(This,
          clipFar3d))
         {
          continue;
         }
         visible= (jboolean)jtrue;
         break;
        }
       }
       if (visible)
       {
        jint viewxcount;
        viewxcount= 0;
        {
         jint vertex;
         vertex= 0;
         for (; vertex < num_vertices; vertex++)
         {
          jint x;
          x= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, vertexViewX),
           JCGO_ARRAY_IACCESS(vertices, vertex));
          if (x > (-JCGO_FIELD_NZACCESS(This, clipX)))
          {
           viewxcount|= (jint)1;
          }
          if (x < JCGO_FIELD_NZACCESS(This, clipX))
          {
           viewxcount|= (jint)2;
          }
          if (viewxcount == (jint)3)
          {
           break;
          }
         }
        }
        if (viewxcount == (jint)3)
        {
         jint viewycount;
         viewycount= 0;
         {
          jint vertex;
          vertex= 0;
          for (; vertex < num_vertices; vertex++)
          {
           jint k1;
           k1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, vertexViewY),
            JCGO_ARRAY_IACCESS(vertices, vertex));
           if (k1 > (-JCGO_FIELD_NZACCESS(This, clipY)))
           {
            viewycount|= (jint)1;
           }
           if (k1 < JCGO_FIELD_NZACCESS(This, clipY))
           {
            viewycount|= (jint)2;
           }
           if (viewycount == (jint)3)
           {
            break;
           }
          }
         }
         if (viewycount == (jint)3)
         {
          package_Polygon polygon_1;
          jint facefill;
          polygon_1= ((package_Polygon)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
           visiblePolygons), JCGO_FIELD_NZACCESS(This, visiblePolygonsCount)));
          JCGO_FIELD_ACCESS(package_Polygon, polygon_1, model)= gameModel;
          JCGO_FIELD_NZACCESS(polygon_1, face)= face;
          (package_Scene__initialisePolygon3d__I(
           This, JCGO_FIELD_NZACCESS(This, visiblePolygonsCount)));
          if (JCGO_FIELD_NZACCESS(polygon_1, visibility) < 0)
          {
           facefill= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel,
            faceFillFront), face);
          }
          else
          {
           facefill= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel,
            faceFillBack), face);
          }
          if (facefill != package_World__colourTransparent)
          {
           jint h;
           h= 0;
           {
            jint vertex;
            vertex= 0;
            for (; vertex < num_vertices; vertex++)
            {
             h+= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel,
              projectVertexZ), JCGO_ARRAY_IACCESS(vertices, vertex));
            }
           }
           JCGO_FIELD_NZACCESS(polygon_1, depth)= jcgo_div(h, num_vertices) +
            JCGO_FIELD_NZACCESS(gameModel, depth);
           JCGO_FIELD_NZACCESS(polygon_1, facefill)= facefill;
           JCGO_FIELD_NZACCESS(This, visiblePolygonsCount)++;
          }
         }
        }
       }
      }
     }
    }
   }
  }
  model_2d= JCGO_FIELD_NZACCESS(This, view);
  if (JCGO_FIELD_ACCESS(package_GameModel, model_2d, visible))
  {
   {
    jint face;
    face= 0;
    for (; face < JCGO_FIELD_NZACCESS(model_2d, numFaces); face++)
    {
     jintArr faceVertices;
     jint vertex0;
     jint vx;
     jint vy;
     jint vz;
     faceVertices= ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(model_2d,
      faceVertices), face));
     vertex0= JCGO_ARRAY_IACCESS(faceVertices, 0);
     vx= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(model_2d, vertexViewX),
      vertex0);
     vy= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(model_2d, vertexViewY),
      vertex0);
     vz= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(model_2d, projectVertexZ),
      vertex0);
     if (vz > JCGO_FIELD_NZACCESS(This, clipNear) && vz < JCGO_FIELD_NZACCESS(This,
      clipFar2d))
     {
      jint vw;
      jint vh;
      vw= jcgo_div(JCGO_SHL_F(JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
       spriteWidth), face), JCGO_FIELD_NZACCESS(This, viewDistance)),
       vz);
      vh= jcgo_div(JCGO_SHL_F(JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
       spriteHeight), face), JCGO_FIELD_NZACCESS(This, viewDistance)),
       vz);
      if (vx - vw / (jint)2 <= JCGO_FIELD_NZACCESS(This, clipX) &&
       vx + vw / (jint)2 >= (-JCGO_FIELD_NZACCESS(This, clipX)) &&
       vy - vh <= JCGO_FIELD_NZACCESS(This, clipY) && vy >= (-JCGO_FIELD_NZACCESS(This,
       clipY)))
      {
       package_Polygon polygon_2;
       polygon_2= ((package_Polygon)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
        visiblePolygons), JCGO_FIELD_NZACCESS(This, visiblePolygonsCount)));
       JCGO_FIELD_ACCESS(package_Polygon, polygon_2, model)= model_2d;
       JCGO_FIELD_NZACCESS(polygon_2, face)= face;
       (package_Scene__initialisePolygon2d__I(
        This, JCGO_FIELD_NZACCESS(This, visiblePolygonsCount)));
       JCGO_FIELD_NZACCESS(polygon_2, depth)= (vz + JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(model_2d,
        projectVertexZ), JCGO_ARRAY_NZIACCESS(faceVertices, (jint)1))) /
        (jint)2;
       JCGO_FIELD_NZACCESS(This, visiblePolygonsCount)++;
      }
     }
    }
   }
  }
  if (JCGO_FIELD_NZACCESS(This, visiblePolygonsCount) == 0)
  {
   return;
  }
  (void)JCGO_FIELD_NZACCESS(This, visiblePolygonsCount);
  (package_Scene__polygonsQSort__L06628AII(
   This, JCGO_FIELD_NZACCESS(This, visiblePolygons), 0, JCGO_FIELD_NZACCESS(This,
   visiblePolygonsCount) - (jint)1));
  (package_Scene__polygonsIntersectSort__IL06628AI(
   This, JCGO_FIELD_NZACCESS(This, visiblePolygons), (jint)100, JCGO_FIELD_NZACCESS(This,
   visiblePolygonsCount)));
  {
   jint model;
   model= 0;
   for (; model < JCGO_FIELD_NZACCESS(This, visiblePolygonsCount);
    model++)
   {
    package_Polygon polygon;
    package_GameModel gameModel_2;
    jint l;
    polygon= ((package_Polygon)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
     visiblePolygons), model));
    gameModel_2= JCGO_FIELD_ACCESS(package_Polygon, polygon, model);
    l= JCGO_FIELD_NZACCESS(polygon, face);
    if (gameModel_2 == JCGO_FIELD_NZACCESS(This, view))
    {
     jintArr faceverts;
     jint face_0;
     jint vx;
     jint vy;
     jint vz;
     jint w;
     jint h;
     jint tx;
     jint x;
     jint y;
     jObject jcgo_rcvrL1;
     jint jcgo_rcvrI1;
     jint jcgo_rcvrI2;
     jint jcgo_rcvrI3;
     jint jcgo_rcvrI4;
     jint jcgo_rcvrI5;
     faceverts= ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_ACCESS(package_GameModel,
      gameModel_2, faceVertices), l));
     face_0= JCGO_ARRAY_IACCESS(faceverts, 0);
     vx= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2, vertexViewX),
      face_0);
     vy= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2, vertexViewY),
      face_0);
     vz= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2, projectVertexZ),
      face_0);
     w= jcgo_div(JCGO_SHL_F(JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
      spriteWidth), l), JCGO_FIELD_NZACCESS(This, viewDistance)), vz);
     h= jcgo_div(JCGO_SHL_F(JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
      spriteHeight), l), JCGO_FIELD_NZACCESS(This, viewDistance)),
      vz);
     tx= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2, vertexViewX),
      JCGO_ARRAY_NZIACCESS(faceverts, (jint)1)) - vx;
     x= vx - w / (jint)2;
     y= (JCGO_FIELD_NZACCESS(This, baseY) + vy) - h;
     (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, surface), jcgo_rcvrI1=
      x + JCGO_FIELD_NZACCESS(This, baseX), jcgo_rcvrI2= y, jcgo_rcvrI3=
      w, jcgo_rcvrI4= h, jcgo_rcvrI5= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
      spriteId), l), JCGO_CALL_VFUNC((package_Surface)jcgo_rcvrL1)->spriteClipping__IIIIIII(
      (package_Surface)jcgo_rcvrL1, jcgo_rcvrI1, jcgo_rcvrI2, jcgo_rcvrI3,
      jcgo_rcvrI4, jcgo_rcvrI5, tx, jcgo_div(JCGO_SHL_F((jint)256,
      JCGO_FIELD_NZACCESS(This, viewDistance)), vz)));
     if (JCGO_FIELD_NZACCESS(This, mousePickingActive) && JCGO_FIELD_NZACCESS(This,
      mousePickedCount) < JCGO_FIELD_NZACCESS(This, mousePickedMax))
     {
      x+= jcgo_div(JCGO_SHL_F(JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
       spriteTranslateX), l), JCGO_FIELD_NZACCESS(This, viewDistance)),
       vz);
      if (JCGO_FIELD_NZACCESS(This, mouseY) >= y && JCGO_FIELD_NZACCESS(This,
       mouseY) <= y + h && JCGO_FIELD_NZACCESS(This, mouseX) >= x &&
       JCGO_FIELD_NZACCESS(This, mouseX) <= x + w && !JCGO_FIELD_NZACCESS(gameModel_2,
       unpickable) && JCGO_ARRAY_BACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
       isLocalPlayer), l) == 0)
      {
       *(package_GameModel*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
        mousePickedModels), JCGO_FIELD_NZACCESS(This, mousePickedCount))=
        gameModel_2;
       JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, mousePickedFaces),
        JCGO_FIELD_NZACCESS(This, mousePickedCount))= l;
       JCGO_FIELD_NZACCESS(This, mousePickedCount)++;
      }
     }
    }
    else
    {
     jintArr ai3;
     jint k8;
     jint j10;
     jint l10;
     k8= 0;
     j10= 0;
     l10= JCGO_ARRAY_IACCESS(JCGO_FIELD_ACCESS(package_GameModel, gameModel_2,
      faceNumVertices), l);
     ai3= ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
      faceVertices), l));
     if (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2, faceIntensity),
      l) != package_World__colourTransparent)
     {
      if (JCGO_FIELD_NZACCESS(polygon, visibility) < 0)
      {
       j10= JCGO_FIELD_NZACCESS(gameModel_2, lightAmbience) - JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
        faceIntensity), l);
      }
      else
      {
       j10= JCGO_FIELD_NZACCESS(gameModel_2, lightAmbience) + JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
        faceIntensity), l);
      }
     }
     {
      jint k11;
      k11= 0;
      for (; k11 < l10; k11++)
      {
       jint k2;
       jint jcgo_rcvrI1;
       k2= JCGO_ARRAY_IACCESS(ai3, k11);
       (jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
        projectVertexX), k2), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
        vertexX), k11)= jcgo_rcvrI1);
       (jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
        projectVertexY), k2), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
        vertexY), k11)= jcgo_rcvrI1);
       (jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
        projectVertexZ), k2), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
        vertexZ), k11)= jcgo_rcvrI1);
       if (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2, faceIntensity),
        l) == package_World__colourTransparent)
       {
        if (JCGO_FIELD_NZACCESS(polygon, visibility) < 0)
        {
         jint jcgo_rcvrI1;
         j10= (jcgo_rcvrI1= (JCGO_FIELD_NZACCESS(gameModel_2, lightAmbience) -
          JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2, vertexIntensity),
          k2)), jcgo_rcvrI1 + JCGO_ARRAY_BACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
          vertexAmbience), k2));
        }
        else
        {
         jint jcgo_rcvrI1;
         j10= (jcgo_rcvrI1= JCGO_FIELD_NZACCESS(gameModel_2, lightAmbience) +
          JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2, vertexIntensity),
          k2), jcgo_rcvrI1 + JCGO_ARRAY_BACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
          vertexAmbience), k2));
        }
       }
       if (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2, projectVertexZ),
        k2) >= JCGO_FIELD_NZACCESS(This, clipNear))
       {
        jint jcgo_rcvrI1;
        (jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
         vertexViewX), k2), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
         planeX), k8)= jcgo_rcvrI1);
        (jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
         vertexViewY), k2), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
         planeY), k8)= jcgo_rcvrI1);
        JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexShade),
         k8)= j10;
        if (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2, projectVertexZ),
         k2) > JCGO_FIELD_NZACCESS(This, fogZDistance))
        {
         jObject jcgo_rcvrL1;
         (jcgo_rcvrL1= (void*)&JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
          vertexShade), k8), *(jint*)jcgo_rcvrL1+= jcgo_div((JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
          projectVertexZ), k2) - JCGO_FIELD_NZACCESS(This, fogZDistance)),
          JCGO_FIELD_NZACCESS(This, fogZFalloff)));
        }
        k8++;
       }
       else
       {
        jint k9;
        if (k11 == 0)
        {
         k9= JCGO_ARRAY_NZIACCESS(ai3, l10 - (jint)1);
        }
        else
        {
         k9= JCGO_ARRAY_NZIACCESS(ai3, k11 - (jint)1);
        }
        if (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2, projectVertexZ),
         k9) >= JCGO_FIELD_NZACCESS(This, clipNear))
        {
         jint k7;
         jint i5;
         jint j6;
         jint jcgo_rcvrI1;
         jint jcgo_rcvrI2;
         k7= (jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
          projectVertexZ), k2), jcgo_rcvrI1 - JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
          projectVertexZ), k9));
         i5= (jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
          projectVertexX), k2), jcgo_rcvrI1 - jcgo_div((jcgo_rcvrI2=
          (jcgo_rcvrI2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
          projectVertexX), k2), jcgo_rcvrI2 - JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
          projectVertexX), k9)), jcgo_rcvrI2 * (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
          projectVertexZ), k2) - JCGO_FIELD_NZACCESS(This, clipNear))),
          k7));
         j6= (jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
          projectVertexY), k2), jcgo_rcvrI1 - jcgo_div((jcgo_rcvrI2=
          (jcgo_rcvrI2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
          projectVertexY), k2), jcgo_rcvrI2 - JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
          projectVertexY), k9)), jcgo_rcvrI2 * (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
          projectVertexZ), k2) - JCGO_FIELD_NZACCESS(This, clipNear))),
          k7));
         (jcgo_rcvrI1= jcgo_div(JCGO_SHL_F(i5, JCGO_FIELD_NZACCESS(This,
          viewDistance)), JCGO_FIELD_NZACCESS(This, clipNear)), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
          planeX), k8)= jcgo_rcvrI1);
         (jcgo_rcvrI1= jcgo_div(JCGO_SHL_F(j6, JCGO_FIELD_NZACCESS(This,
          viewDistance)), JCGO_FIELD_NZACCESS(This, clipNear)), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
          planeY), k8)= jcgo_rcvrI1);
         JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexShade),
          k8)= j10;
         k8++;
        }
        if (k11 == l10 - (jint)1)
        {
         k9= JCGO_ARRAY_NZIACCESS(ai3, 0);
        }
        else
        {
         k9= JCGO_ARRAY_NZIACCESS(ai3, k11 + (jint)1);
        }
        if (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2, projectVertexZ),
         k9) >= JCGO_FIELD_NZACCESS(This, clipNear))
        {
         jint l7;
         jint j5;
         jint k6;
         jint jcgo_rcvrI1;
         jint jcgo_rcvrI2;
         l7= (jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
          projectVertexZ), k2), jcgo_rcvrI1 - JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
          projectVertexZ), k9));
         j5= (jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
          projectVertexX), k2), jcgo_rcvrI1 - jcgo_div((jcgo_rcvrI2=
          (jcgo_rcvrI2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
          projectVertexX), k2), jcgo_rcvrI2 - JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
          projectVertexX), k9)), jcgo_rcvrI2 * (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
          projectVertexZ), k2) - JCGO_FIELD_NZACCESS(This, clipNear))),
          l7));
         k6= (jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
          projectVertexY), k2), jcgo_rcvrI1 - jcgo_div((jcgo_rcvrI2=
          (jcgo_rcvrI2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
          projectVertexY), k2), jcgo_rcvrI2 - JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
          projectVertexY), k9)), jcgo_rcvrI2 * (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_2,
          projectVertexZ), k2) - JCGO_FIELD_NZACCESS(This, clipNear))),
          l7));
         (jcgo_rcvrI1= jcgo_div(JCGO_SHL_F(j5, JCGO_FIELD_NZACCESS(This,
          viewDistance)), JCGO_FIELD_NZACCESS(This, clipNear)), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
          planeX), k8)= jcgo_rcvrI1);
         (jcgo_rcvrI1= jcgo_div(JCGO_SHL_F(k6, JCGO_FIELD_NZACCESS(This,
          viewDistance)), JCGO_FIELD_NZACCESS(This, clipNear)), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
          planeY), k8)= jcgo_rcvrI1);
         JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexShade),
          k8)= j10;
         k8++;
        }
       }
      }
     }
     {
      jint i12;
      i12= 0;
      for (; i12 < l10; i12++)
      {
       if (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexShade),
        i12) < 0)
       {
        JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexShade),
         i12)= 0;
       }
       else
       {
        if (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexShade),
         i12) > (jint)255)
        {
         JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexShade),
          i12)= (jint)255;
        }
       }
       if (JCGO_FIELD_NZACCESS(polygon, facefill) >= 0)
       {
        if (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, textureDimension),
         JCGO_FIELD_NZACCESS(polygon, facefill)) == (jint)1)
        {
         jObject jcgo_rcvrL1;
         (jcgo_rcvrL1= (void*)&JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
          vertexShade), i12), *(jint*)jcgo_rcvrL1= JCGO_SHL_F(*(jint*)jcgo_rcvrL1,
          (jint)9));
        }
        else
        {
         jObject jcgo_rcvrL1;
         (jcgo_rcvrL1= (void*)&JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
          vertexShade), i12), *(jint*)jcgo_rcvrL1= JCGO_SHL_F(*(jint*)jcgo_rcvrL1,
          (jint)6));
        }
       }
      }
     }
     (package_Scene__generateScanlines__IIIIIIAIAIAL98u34I(
      This, JCGO_FIELD_NZACCESS(This, planeX), JCGO_FIELD_NZACCESS(This,
      planeY), JCGO_FIELD_NZACCESS(This, vertexShade), gameModel_2,
      0, 0, 0, 0, k8, l));
     if (JCGO_FIELD_NZACCESS(This, maxY) > JCGO_FIELD_NZACCESS(This,
      minY))
     {
      (package_Scene__rasterize__IIIIAIAIAIL98u34(
       This, JCGO_FIELD_NZACCESS(This, vertexX), JCGO_FIELD_NZACCESS(This,
       vertexY), JCGO_FIELD_NZACCESS(This, vertexZ), gameModel_2, 0,
       0, l10, JCGO_FIELD_NZACCESS(polygon, facefill)));
     }
    }
   }
  }
  JCGO_FIELD_NZACCESS(This, mousePickingActive)= (jboolean)jfalse;
 }
}

JCGO_NOSEP_STATIC void CFASTCALL
package_Scene__setCamera__IIIIIII( package_Scene This, jint x, jint
 z, jint y, jint pitch, jint yaw, jint roll, jint distance )
{
 {
  jint l1;
  jint i2;
  jint j2;
  pitch&= (jint)1023;
  yaw&= (jint)1023;
  roll&= (jint)1023;
  JCGO_FIELD_NZACCESS(This, cameraYaw)= ((jint)1024 - pitch) & (jint)1023;
  JCGO_FIELD_NZACCESS(This, cameraPitch)= ((jint)1024 - yaw) & (jint)1023;
  JCGO_FIELD_NZACCESS(This, cameraRoll)= ((jint)1024 - roll) & (jint)1023;
  l1= 0;
  i2= 0;
  j2= distance;
  if (pitch != 0)
  {
   jint k2;
   jint j3;
   jint i4;
   k2= JCGO_ARRAY_IACCESS(package_Scene__sin2048Cache, pitch);
   j3= JCGO_ARRAY_IACCESS(package_Scene__sin2048Cache, pitch + (jint)1024);
   i4= JCGO_SHR_F(i2 * j3 - j2 * k2, (jint)15);
   j2= JCGO_SHR_F(i2 * k2 + j2 * j3, (jint)15);
   i2= i4;
  }
  if (yaw != 0)
  {
   jint l2;
   jint k3;
   jint j4;
   l2= JCGO_ARRAY_IACCESS(package_Scene__sin2048Cache, yaw);
   k3= JCGO_ARRAY_IACCESS(package_Scene__sin2048Cache, yaw + (jint)1024);
   j4= JCGO_SHR_F(j2 * l2 + l1 * k3, (jint)15);
   j2= JCGO_SHR_F(j2 * k3 - l1 * l2, (jint)15);
   l1= j4;
  }
  if (roll != 0)
  {
   jint i3;
   jint l3;
   jint k4;
   i3= JCGO_ARRAY_IACCESS(package_Scene__sin2048Cache, roll);
   l3= JCGO_ARRAY_IACCESS(package_Scene__sin2048Cache, roll + (jint)1024);
   k4= JCGO_SHR_F(i2 * i3 + l1 * l3, (jint)15);
   i2= JCGO_SHR_F(i2 * l3 - l1 * i3, (jint)15);
   l1= k4;
  }
  JCGO_FIELD_NZACCESS(This, cameraX)= x - l1;
  JCGO_FIELD_NZACCESS(This, cameraY)= z - i2;
  JCGO_FIELD_NZACCESS(This, cameraZ)= y - j2;
 }
}

JCGO_NOSEP_STATIC jboolean CFASTCALL
package_Scene__separatePolygon__L06628L06628( package_Scene This,
 package_Polygon polygon, package_Polygon polygon_1 )
{
 {
  package_GameModel gameModel;
  package_GameModel gameModel_1;
  jintArr ai;
  jintArr ai1;
  jintArr ai2;
  jintArr ai3;
  jintArr ai4;
  jintArr ai5;
  jint i;
  jint j;
  jint k;
  jint l;
  jint k2;
  jint l2;
  jint i3;
  jint j3;
  jint k3;
  jint l3;
  jint i4;
  jint j4;
  jboolean flag;
  jint jcgo_rcvrI1;
  if ((jcgo_rcvrI1= JCGO_FIELD_ACCESS(package_Polygon, polygon, minPlaneX),
   jcgo_rcvrI1 >= JCGO_FIELD_ACCESS(package_Polygon, polygon_1, maxPlaneX)))
  {
   return (jboolean)jtrue;
  }
  if (JCGO_FIELD_NZACCESS(polygon_1, minPlaneX) >= JCGO_FIELD_NZACCESS(polygon,
   maxPlaneX))
  {
   return (jboolean)jtrue;
  }
  if (JCGO_FIELD_NZACCESS(polygon, minPlaneY) >= JCGO_FIELD_NZACCESS(polygon_1,
   maxPlaneY))
  {
   return (jboolean)jtrue;
  }
  if (JCGO_FIELD_NZACCESS(polygon_1, minPlaneY) >= JCGO_FIELD_NZACCESS(polygon,
   maxPlaneY))
  {
   return (jboolean)jtrue;
  }
  if (JCGO_FIELD_NZACCESS(polygon, minZ) >= JCGO_FIELD_NZACCESS(polygon_1,
   maxZ))
  {
   return (jboolean)jtrue;
  }
  if (JCGO_FIELD_NZACCESS(polygon_1, minZ) > JCGO_FIELD_NZACCESS(polygon,
   maxZ))
  {
   return (jboolean)jfalse;
  }
  gameModel= JCGO_FIELD_NZACCESS(polygon, model);
  gameModel_1= JCGO_FIELD_NZACCESS(polygon_1, model);
  i= JCGO_FIELD_NZACCESS(polygon, face);
  j= JCGO_FIELD_NZACCESS(polygon_1, face);
  ai= ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_ACCESS(package_GameModel,
   gameModel, faceVertices), i));
  ai1= ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_ACCESS(package_GameModel,
   gameModel_1, faceVertices), j));
  k= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, faceNumVertices),
   i);
  l= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_1, faceNumVertices),
   j);
  k2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_1, projectVertexX),
   JCGO_ARRAY_IACCESS(ai1, 0));
  l2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_1, projectVertexY),
   JCGO_ARRAY_NZIACCESS(ai1, 0));
  i3= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_1, projectVertexZ),
   JCGO_ARRAY_NZIACCESS(ai1, 0));
  j3= JCGO_FIELD_NZACCESS(polygon_1, normalX);
  k3= JCGO_FIELD_NZACCESS(polygon_1, normalY);
  l3= JCGO_FIELD_NZACCESS(polygon_1, normalZ);
  i4= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_1, normalMagnitude),
   j);
  j4= JCGO_FIELD_NZACCESS(polygon_1, visibility);
  flag= jfalse;
  {
   jint k4;
   k4= 0;
   for (; k4 < k; k4++)
   {
    jint i1;
    jint i2;
    jint jcgo_rcvrI1;
    i1= JCGO_ARRAY_IACCESS(ai, k4);
    i2= (jcgo_rcvrI1= (jcgo_rcvrI1= (k2 - JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel,
     projectVertexX), i1)) * j3, jcgo_rcvrI1 + (l2 - JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel,
     projectVertexY), i1)) * k3), jcgo_rcvrI1 + (i3 - JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel,
     projectVertexZ), i1)) * l3);
    if ((i2 >= (-i4) || j4 >= 0) && (i2 <= i4 || j4 <= 0))
    {
     continue;
    }
    flag= (jboolean)jtrue;
    break;
   }
  }
  if (!flag)
  {
   return (jboolean)jtrue;
  }
  k2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, projectVertexX),
   JCGO_ARRAY_IACCESS(ai, 0));
  l2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, projectVertexY),
   JCGO_ARRAY_NZIACCESS(ai, 0));
  i3= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, projectVertexZ),
   JCGO_ARRAY_NZIACCESS(ai, 0));
  j3= JCGO_FIELD_NZACCESS(polygon, normalX);
  k3= JCGO_FIELD_NZACCESS(polygon, normalY);
  l3= JCGO_FIELD_NZACCESS(polygon, normalZ);
  i4= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel, normalMagnitude),
   i);
  j4= JCGO_FIELD_NZACCESS(polygon, visibility);
  flag= (jboolean)jfalse;
  {
   jint l4;
   l4= 0;
   for (; l4 < l; l4++)
   {
    jint j1;
    jint j2;
    jint jcgo_rcvrI1;
    j1= JCGO_ARRAY_NZIACCESS(ai1, l4);
    j2= (jcgo_rcvrI1= (jcgo_rcvrI1= (k2 - JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_1,
     projectVertexX), j1)) * j3, jcgo_rcvrI1 + (l2 - JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_1,
     projectVertexY), j1)) * k3), jcgo_rcvrI1 + (i3 - JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_1,
     projectVertexZ), j1)) * l3);
    if ((j2 >= (-i4) || j4 <= 0) && (j2 <= i4 || j4 >= 0))
    {
     continue;
    }
    flag= (jboolean)jtrue;
    break;
   }
  }
  if (!flag)
  {
   return (jboolean)jtrue;
  }
  ;
  if (k == (jint)2)
  {
   jint i5;
   jint k1;
   jObject jcgo_rcvrL1;
   jint jcgo_rcvrI1;
   jint jcgo_rcvrI2;
   ai2= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint), 0, (jint)4);
   ai3= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint), 0, (jint)4);
   i5= JCGO_ARRAY_NZIACCESS(ai, 0);
   k1= JCGO_ARRAY_NZIACCESS(ai, (jint)1);
   (jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel,
    vertexViewX), i5) - (jint)20, JCGO_ARRAY_NZIACCESS(ai2, 0)= jcgo_rcvrI1);
   (jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel,
    vertexViewX), k1) - (jint)20, JCGO_ARRAY_NZIACCESS(ai2, (jint)1)=
    jcgo_rcvrI1);
   (jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel,
    vertexViewX), k1) + (jint)20, JCGO_ARRAY_NZIACCESS(ai2, (jint)2)=
    jcgo_rcvrI1);
   (jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel,
    vertexViewX), i5) + (jint)20, JCGO_ARRAY_NZIACCESS(ai2, (jint)3)=
    jcgo_rcvrI1);
   (jcgo_rcvrL1= (jObject)ai3, jcgo_rcvrI1= (jcgo_rcvrI2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel,
    vertexViewY), i5), JCGO_ARRAY_NZIACCESS(ai3, (jint)3)= jcgo_rcvrI2),
    JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1, 0)= jcgo_rcvrI1);
   (jcgo_rcvrL1= (jObject)ai3, jcgo_rcvrI1= (jcgo_rcvrI2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel,
    vertexViewY), k1), JCGO_ARRAY_NZIACCESS(ai3, (jint)2)= jcgo_rcvrI2),
    JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1, (jint)1)= jcgo_rcvrI1);
  }
  else
  {
   ai2= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint), 0, k);
   ai3= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint), 0, k);
   {
    jint j5;
    j5= 0;
    for (; j5 < k; j5++)
    {
     jint i6;
     jint jcgo_rcvrI1;
     i6= JCGO_ARRAY_NZIACCESS(ai, j5);
     (jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel,
      vertexViewX), i6), JCGO_ARRAY_NZIACCESS(ai2, j5)= jcgo_rcvrI1);
     (jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel,
      vertexViewY), i6), JCGO_ARRAY_NZIACCESS(ai3, j5)= jcgo_rcvrI1);
    }
   }
  }
  ;
  if (l == (jint)2)
  {
   jint k5;
   jint l1;
   jObject jcgo_rcvrL1;
   jint jcgo_rcvrI1;
   jint jcgo_rcvrI2;
   ai4= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint), 0, (jint)4);
   ai5= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint), 0, (jint)4);
   k5= JCGO_ARRAY_NZIACCESS(ai1, 0);
   l1= JCGO_ARRAY_NZIACCESS(ai1, (jint)1);
   (jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_1,
    vertexViewX), k5) - (jint)20, JCGO_ARRAY_NZIACCESS(ai4, 0)= jcgo_rcvrI1);
   (jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_1,
    vertexViewX), l1) - (jint)20, JCGO_ARRAY_NZIACCESS(ai4, (jint)1)=
    jcgo_rcvrI1);
   (jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_1,
    vertexViewX), l1) + (jint)20, JCGO_ARRAY_NZIACCESS(ai4, (jint)2)=
    jcgo_rcvrI1);
   (jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_1,
    vertexViewX), k5) + (jint)20, JCGO_ARRAY_NZIACCESS(ai4, (jint)3)=
    jcgo_rcvrI1);
   (jcgo_rcvrL1= (jObject)ai5, jcgo_rcvrI1= (jcgo_rcvrI2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_1,
    vertexViewY), k5), JCGO_ARRAY_NZIACCESS(ai5, (jint)3)= jcgo_rcvrI2),
    JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1, 0)= jcgo_rcvrI1);
   (jcgo_rcvrL1= (jObject)ai5, jcgo_rcvrI1= (jcgo_rcvrI2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_1,
    vertexViewY), l1), JCGO_ARRAY_NZIACCESS(ai5, (jint)2)= jcgo_rcvrI2),
    JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1, (jint)1)= jcgo_rcvrI1);
  }
  else
  {
   ai4= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint), 0, l);
   ai5= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint), 0, l);
   {
    jint l5;
    l5= 0;
    for (; l5 < l; l5++)
    {
     jint j6;
     jint jcgo_rcvrI1;
     j6= JCGO_ARRAY_NZIACCESS(ai1, l5);
     (jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_1,
      vertexViewX), j6), JCGO_ARRAY_NZIACCESS(ai4, l5)= jcgo_rcvrI1);
     (jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(gameModel_1,
      vertexViewY), j6), JCGO_ARRAY_NZIACCESS(ai5, l5)= jcgo_rcvrI1);
    }
   }
  }
  return (jboolean)(!(package_Scene__intersect__IAIAIAIA(
   This, ai2, ai3, ai4, ai5)));
 }
}

JCGO_NOSEP_FRWINL void CFASTCALL
package_Scene__allocateTextures__III( package_Scene This, jint count,
 jint something7, jint something11 )
{
 {
  JCGO_FIELD_NZACCESS(This, textureCount)= count;
  JCGO_FIELD_NZACCESS(This, textureColoursUsed)= (jObjectArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jbyte),
   1, count);
  JCGO_FIELD_NZACCESS(This, textureColourList)= (jObjectArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
   1, count);
  JCGO_FIELD_NZACCESS(This, textureDimension)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
   0, count);
  JCGO_FIELD_NZACCESS(This, textureLoadedNumber)= (jlongArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jlong),
   0, count);
  JCGO_FIELD_NZACCESS(This, textureBackTransparent)= (jbooleanArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jboolean),
   0, count);
  JCGO_FIELD_NZACCESS(This, texturePixels)= (jObjectArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
   1, count);
  package_Scene__textureCountLoaded= JLONG_C(0);
  JCGO_FIELD_NZACCESS(This, textureColours64)= (jObjectArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
   1, something7);
  JCGO_FIELD_NZACCESS(This, textureColours128)= (jObjectArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
   1, something11);
 }
}

JCGO_NOSEP_FRWINL void CFASTCALL
package_Scene__defineTexture__IBAIAI( package_Scene This, jbyteArr
 usedColours, jintArr colours, jint id, jint wide128 )
{
 {
  *(jbyteArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, textureColoursUsed),
   id)= usedColours;
  *(jintArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, textureColourList),
   id)= colours;
  JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, textureDimension), id)=
   wide128;
  JCGO_ARRAY_JACCESS(JCGO_FIELD_NZACCESS(This, textureLoadedNumber),
   id)= JLONG_C(0);
  JCGO_ARRAY_ZACCESS(JCGO_FIELD_NZACCESS(This, textureBackTransparent),
   id)= (jboolean)jfalse;
  *(jintArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, texturePixels),
   id)= (jintArr)jnull;
  (package_Scene__prepareTexture__I(
   This, id));
 }
}

JCGO_NOSEP_STATIC void CFASTCALL
package_Scene__prepareTexture__I( package_Scene This, jint id )
{
 {
  jlong GIGALONG;
  jint wat;
  jlong jcgo_rcvrJ1;
  jObject jcgo_rcvrL1;
  jint jcgo_rcvrI1;
  if (id < 0)
  {
   return;
  }
  (jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, textureLoadedNumber),
   jcgo_rcvrI1= id, jcgo_rcvrJ1= package_Scene__textureCountLoaded++,
   JCGO_ARRAY_JACCESS((jlongArr)jcgo_rcvrL1, jcgo_rcvrI1)= jcgo_rcvrJ1);
  if (((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, texturePixels),
   id)) != jnull)
  {
   return;
  }
  if (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, textureDimension),
   id) == 0)
  {
   jlong GIGALONG;
   jint wut;
   jObject jcgo_rcvrL1;
   {
    jint j;
    j= 0;
    for (; j < JCGO_ARRAY_LENGTH(JCGO_FIELD_NZACCESS(This, textureColours64));
     j++)
    {
     if (((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, textureColours64),
      j)) == jnull)
     {
      jObject jcgo_rcvrL1;
      (jcgo_rcvrL1= (jObject)((jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
       0, (jint)16384)), *(jintArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
       textureColours64), j)= (jintArr)jcgo_rcvrL1);
      (jcgo_rcvrL1= (jObject)((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
       textureColours64), j)), *(jintArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
       texturePixels), id)= (jintArr)jcgo_rcvrL1);
      (package_Scene__setTexturePixels__I(
       This, id));
      return;
     }
    }
   }
   GIGALONG= JLONG_C(0x40000000);
   wut= 0;
   {
    jint k1;
    k1= 0;
    for (; k1 < JCGO_FIELD_NZACCESS(This, textureCount); k1++)
    {
     if (k1 != id && JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, textureDimension),
      k1) == 0 && ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
      texturePixels), k1)) != jnull && JCGO_ARRAY_JACCESS(JCGO_FIELD_NZACCESS(This,
      textureLoadedNumber), k1) < GIGALONG)
     {
      GIGALONG= JCGO_ARRAY_JACCESS(JCGO_FIELD_NZACCESS(This, textureLoadedNumber),
       k1);
      wut= k1;
     }
    }
   }
   (jcgo_rcvrL1= (jObject)((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
    texturePixels), wut)), *(jintArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
    texturePixels), id)= (jintArr)jcgo_rcvrL1);
   *(jintArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, texturePixels),
    wut)= (jintArr)jnull;
   (package_Scene__setTexturePixels__I(
    This, id));
   return;
  }
  {
   jint k;
   k= 0;
   for (; k < JCGO_ARRAY_LENGTH(JCGO_FIELD_NZACCESS(This, textureColours128));
    k++)
   {
    if (((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, textureColours128),
     k)) == jnull)
    {
     jObject jcgo_rcvrL1;
     (jcgo_rcvrL1= (jObject)((jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
      0, (jint)65536L)), *(jintArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
      textureColours128), k)= (jintArr)jcgo_rcvrL1);
     (jcgo_rcvrL1= (jObject)((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
      textureColours128), k)), *(jintArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
      texturePixels), id)= (jintArr)jcgo_rcvrL1);
     (package_Scene__setTexturePixels__I(
      This, id));
     return;
    }
   }
  }
  GIGALONG= JLONG_C(0x40000000);
  wat= 0;
  {
   jint i2;
   i2= 0;
   for (; i2 < JCGO_FIELD_NZACCESS(This, textureCount); i2++)
   {
    if (i2 != id && JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, textureDimension),
     i2) == (jint)1 && ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
     texturePixels), i2)) != jnull && JCGO_ARRAY_JACCESS(JCGO_FIELD_NZACCESS(This,
     textureLoadedNumber), i2) < GIGALONG)
    {
     GIGALONG= JCGO_ARRAY_JACCESS(JCGO_FIELD_NZACCESS(This, textureLoadedNumber),
      i2);
     wat= i2;
    }
   }
  }
  (jcgo_rcvrL1= (jObject)((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
   texturePixels), wat)), *(jintArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
   texturePixels), id)= (jintArr)jcgo_rcvrL1);
  *(jintArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, texturePixels),
   wat)= (jintArr)jnull;
  (package_Scene__setTexturePixels__I(
   This, id));
 }
}

JCGO_NOSEP_STATIC void CFASTCALL
package_Scene__setTexturePixels__I( package_Scene This, jint id )
{
 {
  jintArr colours;
  jint colourCount;
  jchar textureWidth;
  if (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, textureDimension),
   id) == 0)
  {
   textureWidth= (jchar)(jint)64;
  }
  else
  {
   textureWidth= (jchar)(jint)128;
  }
  colours= ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, texturePixels),
   id));
  colourCount= 0;
  {
   jint x;
   x= 0;
   for (; x < (jint)textureWidth; x++)
   {
    {
     jint y;
     y= 0;
     for (; y < (jint)textureWidth; y++)
     {
      jint colour;
      jObject jcgo_rcvrL1;
      colour= (jcgo_rcvrL1= (jObject)((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
       textureColourList), id)), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
       (jint)((unsigned char)(JCGO_ARRAY_BACCESS(((jbyteArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
       textureColoursUsed), id)), y + x * textureWidth)))));
      colour&= (jint)16316671L;
      if (colour == 0)
      {
       colour= (jint)1;
      }
      else
      {
       if (colour == (jint)16253183L)
       {
        colour= 0;
        JCGO_ARRAY_ZACCESS(JCGO_FIELD_NZACCESS(This, textureBackTransparent),
         id)= (jboolean)jtrue;
       }
      }
      JCGO_ARRAY_IACCESS(colours, colourCount++)= colour;
     }
    }
   }
  }
  {
   jint i1;
   i1= 0;
   for (; i1 < colourCount; i1++)
   {
    jint colour;
    colour= JCGO_ARRAY_IACCESS(colours, i1);
    JCGO_ARRAY_NZIACCESS(colours, colourCount + i1)= ((colour - JCGO_USHR_F(colour,
     (jint)3)) & (jint)16316671L);
    JCGO_ARRAY_NZIACCESS(colours, colourCount * (jint)2 + i1)= ((colour -
     JCGO_USHR_F(colour, (jint)2)) & (jint)16316671L);
    JCGO_ARRAY_NZIACCESS(colours, colourCount * (jint)3 + i1)= ((colour -
     JCGO_USHR_F(colour, (jint)2) - JCGO_USHR_F(colour, (jint)3)) &
     (jint)16316671L);
   }
  }
 }
}

JCGO_NOSEP_FRWINL void CFASTCALL
package_Scene__doSOemthingWithTheFuckinFountainFuck__I( package_Scene
 This, jint id )
{
 {
  jintArr colours;
  jchar c;
  if (((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, texturePixels),
   id)) == jnull)
  {
   return;
  }
  colours= ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, texturePixels),
   id));
  {
   jint i;
   i= 0;
   for (; i < (jint)64; i++)
   {
    jint k;
    jint l;
    k= i + (jint)4032;
    l= JCGO_ARRAY_IACCESS(colours, k);
    {
     jint j1;
     j1= 0;
     for (; j1 < (jint)63; j1++)
     {
      jint jcgo_rcvrI1;
      (jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(colours, k - (jint)64), JCGO_ARRAY_NZIACCESS(colours,
       k)= jcgo_rcvrI1);
      k-= (jint)64;
     }
    }
    JCGO_ARRAY_IACCESS(((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
     texturePixels), id)), k)= l;
   }
  }
  c= (jchar)(jint)4096;
  {
   jint i1;
   i1= 0;
   for (; i1 < (jint)c; i1++)
   {
    jint k1;
    k1= JCGO_ARRAY_IACCESS(colours, i1);
    JCGO_ARRAY_NZIACCESS(colours, c + i1)= ((k1 - JCGO_USHR_F(k1, (jint)3)) &
     (jint)16316671L);
    JCGO_ARRAY_NZIACCESS(colours, c * (jint)2 + i1)= ((k1 - JCGO_USHR_F(k1,
     (jint)2)) & (jint)16316671L);
    JCGO_ARRAY_NZIACCESS(colours, c * (jint)3 + i1)= ((k1 - JCGO_USHR_F(k1,
     (jint)2) - JCGO_USHR_F(k1, (jint)3)) & (jint)16316671L);
   }
  }
 }
}

JCGO_NOSEP_STATIC jint CFASTCALL
package_Scene__method302__I( package_Scene This, jint i )
{
 {
  if (i == package_World__colourTransparent)
  {
   return 0;
  }
  (package_Scene__prepareTexture__I(
   This, i));
  if (i >= 0)
  {
   return JCGO_ARRAY_IACCESS(((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
    texturePixels), i)), 0);
  }
  if (i < 0)
  {
   jint j;
   jint k;
   jint l;
   i= (-(i + (jint)1));
   j= JCGO_SHR_F(i, (jint)10) & (jint)31;
   k= JCGO_SHR_F(i, (jint)5) & (jint)31;
   l= i & (jint)31;
   return JCGO_SHL_F(j, (jint)19) + JCGO_SHL_F(k, (jint)11) + JCGO_SHL_F(l,
    (jint)3);
  }
  else
  {
   return 0;
  }
 }
}

JCGO_NOSEP_FRWINL void CFASTCALL
package_Scene__setLight__III( package_Scene This, jint i, jint j,
 jint k )
{
 {
  if (i == 0 && j == 0 && k == 0)
  {
   i= (jint)32;
  }
  {
   jint l;
   l= 0;
   for (; l < JCGO_FIELD_NZACCESS(This, modelCount); l++)
   {
    jObject jcgo_rcvrL1;
    (jcgo_rcvrL1= (jObject)((package_GameModel)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
     models), l)), JCGO_CALL_FINALF((package_GameModel)jcgo_rcvrL1)
     package_GameModel__setLight__III(
     (package_GameModel)jcgo_rcvrL1, i, j, k));
   }
  }
 }
}

JCGO_NOSEP_FRWINL void CFASTCALL
package_Scene__setLight__IIIII( package_Scene This, jint i, jint j,
 jint k, jint l, jint i1 )
{
 {
  if (k == 0 && l == 0 && i1 == 0)
  {
   k= (jint)32;
  }
  {
   jint j1;
   j1= 0;
   for (; j1 < JCGO_FIELD_NZACCESS(This, modelCount); j1++)
   {
    jObject jcgo_rcvrL1;
    (jcgo_rcvrL1= (jObject)((package_GameModel)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
     models), j1)), JCGO_CALL_FINALF((package_GameModel)jcgo_rcvrL1)
     package_GameModel__setLight__IIIII(
     (package_GameModel)jcgo_rcvrL1, i, j, k, l, i1));
   }
  }
 }
}

JCGO_NOSEP_STATIC jint CFASTCALL
package_Scene__method306__IIIII( package_Scene This, jint i, jint
 j, jint k, jint l, jint i1 )
{
 {
  if (l == j)
  {
   return i;
  }
  else
  {
   return i + jcgo_div(((k - i) * (i1 - j)), (l - j));
  }
 }
}

JCGO_NOSEP_STATIC jboolean CFASTCALL
package_Scene__method307__IIIIZ( package_Scene This, jint i, jint
 j, jint k, jint l, jboolean flag )
{
 {
  if ((flag && i <= k) || i < k)
  {
   if (i > l)
   {
    return (jboolean)jtrue;
   }
   if (j > k)
   {
    return (jboolean)jtrue;
   }
   if (j > l)
   {
    return (jboolean)jtrue;
   }
   return (jboolean)(!flag);
  }
  if (i < l)
  {
   return (jboolean)jtrue;
  }
  if (j < k)
  {
   return (jboolean)jtrue;
  }
  if (j < l)
  {
   return (jboolean)jtrue;
  }
  else
  {
   return (jboolean)flag;
  }
 }
}

JCGO_NOSEP_STATIC jboolean CFASTCALL
package_Scene__method308__IIIZ( package_Scene This, jint i, jint j,
 jint k, jboolean flag )
{
 {
  if ((flag && i <= k) || i < k)
  {
   if (j > k)
   {
    return (jboolean)jtrue;
   }
   return (jboolean)(!flag);
  }
  if (j < k)
  {
   return (jboolean)jtrue;
  }
  else
  {
   return (jboolean)flag;
  }
 }
}

JCGO_NOSEP_STATIC void CFASTCALL
package_Scene__class__0( void )
{
 JCGO_CLINIT_BEGIN(package_Scene__class);
 package_Scene__sin2048Cache= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
  0, (jint)2048);
 package_Scene__sin512Cache= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
  0, (jint)512);
 JCGO_CLINIT_DONE(package_Scene__class);
}

JCGO_NOSEP_DATA CONST struct package_Scene_methods_s package_Scene_methods=
{
 JCGO_CLASSREF_OF(package_Scene__class),
 JCGO_GCJDESCR_INIT(package_Scene_s, spriteTranslateX)
 OBJT_package_Scene,
 (JCGO_OBJSIZE_T)sizeof(struct package_Scene_s),
 NULL,
 JCGO_CLINIT_INIT(package_Scene__class__0)
 0,
 java_lang_Object__equals__Lo,
 java_lang_Object__hashCode__,
 java_lang_Object__toString__,
 java_lang_Object__finalize__
};

JCGO_NOSEP_DATA struct package_Scene_class_s package_Scene__class
 ATTRIBNONGC=
{
 {
  &java_lang_Class_methods,
  JCGO_MON_INIT
  JCGO_OBJREF_OF(*(java_lang_Object)&package_Scene_methods),
  JCGO_STRREF_OF(jcgo_string1_Scene),
  JCGO_CLASSREF_OF(java_lang_Object__class),
  ((jObjectArr)JCGO_OBJREF_OF(jcgo_array3_Object)),
  0x1c1
 }
};

JCGO_NOSEP_GCDATA jintArr package_Scene__sin2048Cache ATTRIBGCBSS=
 jnull;

JCGO_NOSEP_GCDATA jintArr package_Scene__sin512Cache ATTRIBGCBSS=
 jnull;

JCGO_NOSEP_GCDATA jbyteArr package_Scene__aByteArray434 ATTRIBGCBSS=
 jnull;

JCGO_NOSEP_DATA jlong package_Scene__textureCountLoaded= (jlong)0;

JCGO_NOSEP_DATA jint package_Scene__frustumMaxX= (jint)0;

JCGO_NOSEP_DATA jint package_Scene__frustumMinX= (jint)0;

JCGO_NOSEP_DATA jint package_Scene__furstumMaxY= (jint)0;

JCGO_NOSEP_DATA jint package_Scene__furstumMinY= (jint)0;

JCGO_NOSEP_DATA jint package_Scene__furstumFarZ= (jint)0;

JCGO_NOSEP_DATA jint package_Scene__frustumNearZ= (jint)0;

JCGO_NOSEP_DATA CONST jcgo_arrtype30_Object jcgo_array3_Scene=
{
 (jvtable)&jbyteArr_methods,
 JCGO_MON_INIT
 5,
 {
  (jbyte)(jchar)83/*'S'*/, (jbyte)(jchar)99/*'c'*/, (jbyte)(jchar)101/*'e'*/,
   (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)101/*'e'*/
 }
};

JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string1_Scene
 JCGO_THRD_ATTRNONGC=
{
 &java_lang_String_methods,
 JCGO_MON_INIT
 (java_lang_Object)JCGO_OBJREF_OF(jcgo_array3_Scene),
 0, 5, (jint)0x4c0286cL
};

JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string2_Scene
 JCGO_THRD_ATTRNONGC=
{
 &java_lang_String_methods,
 JCGO_MON_INIT
 (java_lang_Object)JCGO_OBJREF_OF(jcgo_array9_String6D),
 0, 33, (jint)0xdd19a613L
};

#ifdef CHKALL_Scene
#include "jcgochke.h"
#endif

#endif
