deep-c-rsc/jcgo_Out/GameMdl.c

2134 lines
70 KiB
C

/* 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_GameModel
#include "jcgobchk.h"
#endif
JCGO_NOSEP_INLINE package_GameModel CFASTCALL
package_GameModel__this__L98u34AI( package_GameModel This, jObjectArr
pieces, jint count )
{
{
;
JCGO_FIELD_NZACCESS(This, transformState)= (jint)1;
JCGO_FIELD_NZACCESS(This, visible)= (jboolean)jtrue;
JCGO_FIELD_NZACCESS(This, textureTranslucent)= (jboolean)jfalse;
JCGO_FIELD_NZACCESS(This, transparent)= (jboolean)jfalse;
JCGO_FIELD_NZACCESS(This, key)= (-(jint)1);
JCGO_FIELD_NZACCESS(This, autocommit)= (jboolean)jfalse;
JCGO_FIELD_NZACCESS(This, isolated)= (jboolean)jfalse;
JCGO_FIELD_NZACCESS(This, unlit)= (jboolean)jfalse;
JCGO_FIELD_NZACCESS(This, unpickable)= (jboolean)jfalse;
JCGO_FIELD_NZACCESS(This, projected)= (jboolean)jfalse;
JCGO_FIELD_NZACCESS(This, magic)= package_World__colourTransparent;
JCGO_FIELD_NZACCESS(This, diameter)= package_World__colourTransparent;
JCGO_FIELD_NZACCESS(This, lightDirectionX)= (jint)180;
JCGO_FIELD_NZACCESS(This, lightDirectionY)= (jint)155;
JCGO_FIELD_NZACCESS(This, lightDirectionZ)= (jint)95;
JCGO_FIELD_NZACCESS(This, lightDirectionMagnitude)= (jint)256;
JCGO_FIELD_NZACCESS(This, lightDiffuse)= (jint)512;
JCGO_FIELD_NZACCESS(This, lightAmbience)= (jint)32;
(package_GameModel__merge__L98u34AIZ(
This, pieces, count, (jboolean)jtrue));
}
return This;
}
JCGO_NOSEP_INLINE package_GameModel CFASTCALL
package_GameModel__new__L98u34AI( jObjectArr pieces, jint count )
{
return package_GameModel__this__L98u34AI(
(package_GameModel)jcgo_newObject((jvtable)&package_GameModel_methods),
pieces, count);
}
JCGO_NOSEP_INLINE void CFASTCALL
package_GameModel__applyRotation__III( package_GameModel This, jint
yaw, jint roll, jint pitch )
{
{
{
jint v;
v= 0;
for (; v < JCGO_FIELD_NZACCESS(This, numVertices); v++)
{
if (pitch != 0)
{
jint sin;
jint cos;
jint x;
jint jcgo_rcvrI1;
jint jcgo_rcvrI2;
sin= JCGO_ARRAY_IACCESS(package_GameModel__sine9, pitch);
cos= JCGO_ARRAY_IACCESS(package_GameModel__sine9, pitch + (jint)256);
x= JCGO_SHR_F((jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedY), v) * sin, jcgo_rcvrI1 + JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedX), v) * cos), (jint)15);
(jcgo_rcvrI1= JCGO_SHR_F((jcgo_rcvrI2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedY), v) * cos, jcgo_rcvrI2 - JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedX), v) * sin), (jint)15), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedY), v)= jcgo_rcvrI1);
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedX),
v)= x;
}
if (yaw != 0)
{
jint sin;
jint cos;
jint y;
jint jcgo_rcvrI1;
jint jcgo_rcvrI2;
sin= JCGO_ARRAY_IACCESS(package_GameModel__sine9, yaw);
cos= JCGO_ARRAY_IACCESS(package_GameModel__sine9, yaw + (jint)256);
y= JCGO_SHR_F((jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedY), v) * cos, jcgo_rcvrI1 - JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedZ), v) * sin), (jint)15);
(jcgo_rcvrI1= JCGO_SHR_F((jcgo_rcvrI2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedY), v) * sin, jcgo_rcvrI2 + JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedZ), v) * cos), (jint)15), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedZ), v)= jcgo_rcvrI1);
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedY),
v)= y;
}
if (roll != 0)
{
jint sin;
jint cos;
jint x;
jint jcgo_rcvrI1;
jint jcgo_rcvrI2;
sin= JCGO_ARRAY_IACCESS(package_GameModel__sine9, roll);
cos= JCGO_ARRAY_IACCESS(package_GameModel__sine9, roll + (jint)256);
x= JCGO_SHR_F((jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedZ), v) * sin, jcgo_rcvrI1 + JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedX), v) * cos), (jint)15);
(jcgo_rcvrI1= JCGO_SHR_F((jcgo_rcvrI2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedZ), v) * cos, jcgo_rcvrI2 - JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedX), v) * sin), (jint)15), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedZ), v)= jcgo_rcvrI1);
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedX),
v)= x;
}
}
}
}
}
JCGO_NOSEP_INLINE void CFASTCALL
package_GameModel__applyScale__III( package_GameModel This, jint fx,
jint fy, jint fz )
{
{
{
jint v;
v= 0;
for (; v < JCGO_FIELD_NZACCESS(This, numVertices); v++)
{
jint jcgo_rcvrI1;
(jcgo_rcvrI1= JCGO_SHR_F(JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedX), v) * fx, (jint)8), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedX), v)= jcgo_rcvrI1);
(jcgo_rcvrI1= JCGO_SHR_F(JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedY), v) * fy, (jint)8), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedY), v)= jcgo_rcvrI1);
(jcgo_rcvrI1= JCGO_SHR_F(JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedZ), v) * fz, (jint)8), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedZ), v)= jcgo_rcvrI1);
}
}
}
}
JCGO_NOSEP_INLINE void CFASTCALL
package_GameModel__applyShear__IIIIII( package_GameModel This, jint
xy, jint xz, jint yx, jint yz, jint zx, jint zy )
{
{
{
jint idx;
idx= 0;
for (; idx < JCGO_FIELD_NZACCESS(This, numVertices); idx++)
{
if (xy != 0)
{
jObject jcgo_rcvrL1;
(jcgo_rcvrL1= (void*)&JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedX), idx), *(jint*)jcgo_rcvrL1+= JCGO_SHR_F(JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedY), idx) * xy, (jint)8));
}
if (xz != 0)
{
jObject jcgo_rcvrL1;
(jcgo_rcvrL1= (void*)&JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedZ), idx), *(jint*)jcgo_rcvrL1+= JCGO_SHR_F(JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedY), idx) * xz, (jint)8));
}
if (yx != 0)
{
jObject jcgo_rcvrL1;
(jcgo_rcvrL1= (void*)&JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedX), idx), *(jint*)jcgo_rcvrL1+= JCGO_SHR_F(JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedZ), idx) * yx, (jint)8));
}
if (yz != 0)
{
jObject jcgo_rcvrL1;
(jcgo_rcvrL1= (void*)&JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedY), idx), *(jint*)jcgo_rcvrL1+= JCGO_SHR_F(JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedZ), idx) * yz, (jint)8));
}
if (zx != 0)
{
jObject jcgo_rcvrL1;
(jcgo_rcvrL1= (void*)&JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedZ), idx), *(jint*)jcgo_rcvrL1+= JCGO_SHR_F(JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedX), idx) * zx, (jint)8));
}
if (zy != 0)
{
jObject jcgo_rcvrL1;
(jcgo_rcvrL1= (void*)&JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedY), idx), *(jint*)jcgo_rcvrL1+= JCGO_SHR_F(JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexTransformedX), idx) * zy, (jint)8));
}
}
}
}
}
JCGO_NOSEP_INLINE void CFASTCALL
package_GameModel__applyTranslate__III( package_GameModel This, jint
dx, jint dy, jint dz )
{
{
{
jint v;
v= 0;
for (; v < JCGO_FIELD_NZACCESS(This, numVertices); v++)
{
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedX),
v)+= dx;
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedY),
v)+= dy;
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedZ),
v)+= dz;
}
}
}
}
JCGO_NOSEP_INLINE void CFASTCALL
package_GameModel__computeBounds__( package_GameModel This )
{
{
JCGO_FIELD_NZACCESS(This, x1)= JCGO_FIELD_NZACCESS(This, y1)= JCGO_FIELD_NZACCESS(This,
z1)= (jint)999999L;
JCGO_FIELD_NZACCESS(This, diameter)= JCGO_FIELD_NZACCESS(This, x2)=
JCGO_FIELD_NZACCESS(This, y2)= JCGO_FIELD_NZACCESS(This, z2)= (jint)-999999L;
{
jint face;
face= 0;
for (; face < JCGO_FIELD_NZACCESS(This, numFaces); face++)
{
jintArr vs;
jint v;
jint n;
jint x1;
jint x2;
jint y1;
jint y2;
jint z1;
jint z2;
vs= ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, faceVertices),
face));
v= JCGO_ARRAY_IACCESS(vs, 0);
n= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceNumVertices),
face);
x2= x1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedX),
v);
y2= y1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedY),
v);
z2= z1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedZ),
v);
{
jint i;
i= 0;
for (; i < n; i++)
{
v= JCGO_ARRAY_NZIACCESS(vs, i);
if (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedX),
v) < x1)
{
x1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedX),
v);
}
else
{
if (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedX),
v) > x2)
{
x2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedX),
v);
}
}
if (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedY),
v) < y1)
{
y1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedY),
v);
}
else
{
if (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedY),
v) > y2)
{
y2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedY),
v);
}
}
if (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedZ),
v) < z1)
{
z1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedZ),
v);
}
else
{
if (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedZ),
v) > z2)
{
z2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedZ),
v);
}
}
}
}
if (!JCGO_FIELD_NZACCESS(This, isolated))
{
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceBoundLeft), face)=
x1;
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceBoundRight),
face)= x2;
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceBoundBottom),
face)= y1;
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceBoundTop), face)=
y2;
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceBoundNear), face)=
z1;
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceBoundFar), face)=
z2;
}
if (x2 - x1 > JCGO_FIELD_NZACCESS(This, diameter))
{
JCGO_FIELD_NZACCESS(This, diameter)= x2 - x1;
}
if (y2 - y1 > JCGO_FIELD_NZACCESS(This, diameter))
{
JCGO_FIELD_NZACCESS(This, diameter)= y2 - y1;
}
if (z2 - z1 > JCGO_FIELD_NZACCESS(This, diameter))
{
JCGO_FIELD_NZACCESS(This, diameter)= z2 - z1;
}
if (x1 < JCGO_FIELD_NZACCESS(This, x1))
{
JCGO_FIELD_NZACCESS(This, x1)= x1;
}
if (x2 > JCGO_FIELD_NZACCESS(This, x2))
{
JCGO_FIELD_NZACCESS(This, x2)= x2;
}
if (y1 < JCGO_FIELD_NZACCESS(This, y1))
{
JCGO_FIELD_NZACCESS(This, y1)= y1;
}
if (y2 > JCGO_FIELD_NZACCESS(This, y2))
{
JCGO_FIELD_NZACCESS(This, y2)= y2;
}
if (z1 < JCGO_FIELD_NZACCESS(This, z1))
{
JCGO_FIELD_NZACCESS(This, z1)= z1;
}
if (z2 > JCGO_FIELD_NZACCESS(This, z2))
{
JCGO_FIELD_NZACCESS(This, z2)= z2;
}
}
}
}
}
JCGO_NOSEP_INLINE void CFASTCALL
package_GameModel__relight__( package_GameModel This )
{
{
if (JCGO_FIELD_NZACCESS(This, unlit) && JCGO_FIELD_NZACCESS(This,
isolated))
{
return;
}
{
jint face;
face= 0;
for (; face < JCGO_FIELD_NZACCESS(This, numFaces); face++)
{
jintArr verts;
jint aX;
jint aY;
jint aZ;
jint bX;
jint bY;
jint bZ;
jint cX;
jint cY;
jint cZ;
jint normX;
jint normY;
jint normZ;
jint normMag;
jint jcgo_rcvrI1;
verts= ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, faceVertices),
face));
aX= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedX),
JCGO_ARRAY_IACCESS(verts, 0));
aY= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedY),
JCGO_ARRAY_NZIACCESS(verts, 0));
aZ= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedZ),
JCGO_ARRAY_NZIACCESS(verts, 0));
bX= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedX),
JCGO_ARRAY_NZIACCESS(verts, (jint)1)) - aX;
bY= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedY),
JCGO_ARRAY_NZIACCESS(verts, (jint)1)) - aY;
bZ= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedZ),
JCGO_ARRAY_NZIACCESS(verts, (jint)1)) - aZ;
cX= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedX),
JCGO_ARRAY_NZIACCESS(verts, (jint)2)) - aX;
cY= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedY),
JCGO_ARRAY_NZIACCESS(verts, (jint)2)) - aY;
cZ= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedZ),
JCGO_ARRAY_NZIACCESS(verts, (jint)2)) - aZ;
normX= bY * cZ - cY * bZ;
normY= bZ * cX - cZ * bX;
for (normZ= bX * cY - cX * bY; normX > (jint)8192 || normY > (jint)8192 ||
normZ > (jint)8192 || normX < (-(jint)8192) || normY < (-(jint)8192) ||
normZ < (-(jint)8192); normZ= JCGO_SHR_F(normZ, (jint)1))
{
normX= JCGO_SHR_F(normX, (jint)1);
normY= JCGO_SHR_F(normY, (jint)1);
}
normMag= JCGO_JDOUBLE_TOJINT(((jdouble)256.0 * (java_lang_Math__sqrt__D(
(jdouble)(normX * normX + normY * normY + normZ * normZ)))));
if (normMag <= 0)
{
normMag= (jint)1;
}
(jcgo_rcvrI1= jcgo_div((normX * (jint)65536L), normMag), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
faceNormalX), face)= jcgo_rcvrI1);
(jcgo_rcvrI1= jcgo_div((normY * (jint)65536L), normMag), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
faceNormalY), face)= jcgo_rcvrI1);
(jcgo_rcvrI1= jcgo_div((normZ * (jint)65535L), normMag), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
faceNormalZ), face)= jcgo_rcvrI1);
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, normalScale), face)=
(-(jint)1);
}
}
(package_GameModel__light__(
This));
}
}
JCGO_NOSEP_INLINE package_GameModel CFASTCALL
package_GameModel__this__L98u34AIZZZZ( package_GameModel This, jObjectArr
pieces, jint count, jboolean autocommit, jboolean isolated, jboolean
unlit, jboolean unpickable )
{
{
;
JCGO_FIELD_NZACCESS(This, transformState)= (jint)1;
JCGO_FIELD_NZACCESS(This, visible)= (jboolean)jtrue;
JCGO_FIELD_NZACCESS(This, textureTranslucent)= (jboolean)jfalse;
JCGO_FIELD_NZACCESS(This, transparent)= (jboolean)jfalse;
JCGO_FIELD_NZACCESS(This, key)= (-(jint)1);
JCGO_FIELD_NZACCESS(This, projected)= (jboolean)jfalse;
JCGO_FIELD_NZACCESS(This, magic)= package_World__colourTransparent;
JCGO_FIELD_NZACCESS(This, diameter)= package_World__colourTransparent;
JCGO_FIELD_NZACCESS(This, lightDirectionX)= (jint)180;
JCGO_FIELD_NZACCESS(This, lightDirectionY)= (jint)155;
JCGO_FIELD_NZACCESS(This, lightDirectionZ)= (jint)95;
JCGO_FIELD_NZACCESS(This, lightDirectionMagnitude)= (jint)256;
JCGO_FIELD_NZACCESS(This, lightDiffuse)= (jint)512;
JCGO_FIELD_NZACCESS(This, lightAmbience)= (jint)32;
JCGO_FIELD_NZACCESS(This, autocommit)= (jboolean)autocommit;
JCGO_FIELD_NZACCESS(This, isolated)= (jboolean)isolated;
JCGO_FIELD_NZACCESS(This, unlit)= (jboolean)unlit;
JCGO_FIELD_NZACCESS(This, unpickable)= (jboolean)unpickable;
(package_GameModel__merge__L98u34AIZ(
This, pieces, count, (jboolean)jfalse));
}
return This;
}
JCGO_NOSEP_INLINE package_GameModel CFASTCALL
package_GameModel__new__L98u34AIZZZZ( jObjectArr pieces, jint count,
jboolean autocommit, jboolean isolated, jboolean unlit, jboolean unpickable
)
{
return package_GameModel__this__L98u34AIZZZZ(
(package_GameModel)jcgo_newObject((jvtable)&package_GameModel_methods),
pieces, count, autocommit, isolated, unlit, unpickable);
}
JCGO_NOSEP_STATIC package_GameModel CFASTCALL
package_GameModel__this__IIZZZZZ( package_GameModel This, jint numVertices,
jint numFaces, jboolean autocommit, jboolean isolated, jboolean unlit,
jboolean unpickable, jboolean projected )
{
{
;
JCGO_FIELD_NZACCESS(This, transformState)= (jint)1;
JCGO_FIELD_NZACCESS(This, visible)= (jboolean)jtrue;
JCGO_FIELD_NZACCESS(This, textureTranslucent)= (jboolean)jfalse;
JCGO_FIELD_NZACCESS(This, transparent)= (jboolean)jfalse;
JCGO_FIELD_NZACCESS(This, key)= (-(jint)1);
JCGO_FIELD_NZACCESS(This, magic)= package_World__colourTransparent;
JCGO_FIELD_NZACCESS(This, diameter)= package_World__colourTransparent;
JCGO_FIELD_NZACCESS(This, lightDirectionX)= (jint)180;
JCGO_FIELD_NZACCESS(This, lightDirectionY)= (jint)155;
JCGO_FIELD_NZACCESS(This, lightDirectionZ)= (jint)95;
JCGO_FIELD_NZACCESS(This, lightDirectionMagnitude)= (jint)256;
JCGO_FIELD_NZACCESS(This, lightDiffuse)= (jint)512;
JCGO_FIELD_NZACCESS(This, lightAmbience)= (jint)32;
JCGO_FIELD_NZACCESS(This, autocommit)= (jboolean)autocommit;
JCGO_FIELD_NZACCESS(This, isolated)= (jboolean)isolated;
JCGO_FIELD_NZACCESS(This, unlit)= (jboolean)unlit;
JCGO_FIELD_NZACCESS(This, unpickable)= (jboolean)unpickable;
JCGO_FIELD_NZACCESS(This, projected)= (jboolean)projected;
(package_GameModel__allocate__II(
This, numVertices, numFaces));
}
return This;
}
JCGO_NOSEP_INLINE package_GameModel CFASTCALL
package_GameModel__new__IIZZZZZ( jint numVertices, jint numFaces,
jboolean autocommit, jboolean isolated, jboolean unlit, jboolean unpickable,
jboolean projected )
{
JCGO_CLINIT_TRIG(package_GameModel__class);
return package_GameModel__this__IIZZZZZ(
(package_GameModel)jcgo_newObject((jvtable)&package_GameModel_methods),
numVertices, numFaces, autocommit, isolated, unlit, unpickable, projected);
}
JCGO_NOSEP_INLINE void CFASTCALL
package_GameModel__copyLighting__L98u34IAII( package_GameModel This,
package_GameModel model, jintArr srcVs, jint nV, jint inF )
{
{
jintArr dstVs;
jint outF;
jObject jcgo_rcvrL1;
jint jcgo_rcvrI1;
jint jcgo_rcvrI2;
dstVs= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint), 0, nV);
{
jint inV;
inV= 0;
for (; inV < nV; inV++)
{
jint outV;
jObject jcgo_rcvrL1;
jint jcgo_rcvrI1;
jint jcgo_rcvrI2;
jint jcgo_rcvrI3;
jint jcgo_rcvrI4;
jbyte jcgo_rcvrB1;
outV= (jcgo_rcvrL1= (jObject)dstVs, jcgo_rcvrI1= inV, jcgo_rcvrI2=
(jcgo_rcvrI3= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexX),
JCGO_ARRAY_IACCESS(srcVs, inV)), jcgo_rcvrI4= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexY), JCGO_ARRAY_IACCESS(srcVs, inV)), JCGO_CALL_FINALF(model)
package_GameModel__vertexAt__III(
model, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexZ), JCGO_ARRAY_IACCESS(srcVs, inV)))), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
jcgo_rcvrI1)= jcgo_rcvrI2);
(jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexIntensity),
JCGO_ARRAY_NZIACCESS(srcVs, inV)), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(model,
vertexIntensity), outV)= jcgo_rcvrI1);
(jcgo_rcvrB1= JCGO_ARRAY_BACCESS(JCGO_FIELD_NZACCESS(This, vertexAmbience),
JCGO_ARRAY_NZIACCESS(srcVs, inV)), JCGO_ARRAY_BACCESS(JCGO_FIELD_NZACCESS(model,
vertexAmbience), outV)= jcgo_rcvrB1);
}
}
outF= (jcgo_rcvrI1= nV, jcgo_rcvrL1= (jObject)dstVs, jcgo_rcvrI2=
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceFillFront), inF),
JCGO_CALL_FINALF(model) package_GameModel__createFace__IIAII(
model, (jintArr)jcgo_rcvrL1, jcgo_rcvrI1, jcgo_rcvrI2, JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
faceFillBack), inF)));
if (!JCGO_FIELD_NZACCESS(model, unpickable) && !JCGO_FIELD_NZACCESS(This,
unpickable))
{
jint jcgo_rcvrI1;
(jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceTag),
inF), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(model, faceTag), outF)=
jcgo_rcvrI1);
}
(jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceIntensity),
inF), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(model, faceIntensity),
outF)= jcgo_rcvrI1);
(jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, normalScale),
inF), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(model, normalScale),
outF)= jcgo_rcvrI1);
(jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, normalMagnitude),
inF), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(model, normalMagnitude),
outF)= jcgo_rcvrI1);
}
}
JCGO_NOSEP_INLINE void CFASTCALL
package_GameModel__projectionPrepare__( package_GameModel This )
{
{
JCGO_FIELD_NZACCESS(This, projectVertexX)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, JCGO_FIELD_NZACCESS(This, numVertices));
JCGO_FIELD_NZACCESS(This, projectVertexY)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, JCGO_FIELD_NZACCESS(This, numVertices));
JCGO_FIELD_NZACCESS(This, projectVertexZ)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, JCGO_FIELD_NZACCESS(This, numVertices));
JCGO_FIELD_NZACCESS(This, vertexViewX)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, JCGO_FIELD_NZACCESS(This, numVertices));
JCGO_FIELD_NZACCESS(This, vertexViewY)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, JCGO_FIELD_NZACCESS(This, numVertices));
}
}
JCGO_NOSEP_STATIC package_GameModel CFASTCALL
package_GameModel__this__II( package_GameModel This, jint numVertices,
jint numFaces )
{
{
jint jcgo_rcvrI1;
JCGO_FIELD_NZACCESS(This, transformState)= (jint)1;
JCGO_FIELD_NZACCESS(This, visible)= (jboolean)jtrue;
JCGO_FIELD_NZACCESS(This, textureTranslucent)= (jboolean)jfalse;
JCGO_FIELD_NZACCESS(This, transparent)= (jboolean)jfalse;
JCGO_FIELD_NZACCESS(This, key)= (-(jint)1);
JCGO_FIELD_NZACCESS(This, autocommit)= (jboolean)jfalse;
JCGO_FIELD_NZACCESS(This, isolated)= (jboolean)jfalse;
JCGO_FIELD_NZACCESS(This, unlit)= (jboolean)jfalse;
JCGO_FIELD_NZACCESS(This, unpickable)= (jboolean)jfalse;
JCGO_FIELD_NZACCESS(This, projected)= (jboolean)jfalse;
JCGO_FIELD_NZACCESS(This, magic)= package_World__colourTransparent;
JCGO_FIELD_NZACCESS(This, diameter)= package_World__colourTransparent;
JCGO_FIELD_NZACCESS(This, lightDirectionX)= (jint)180;
JCGO_FIELD_NZACCESS(This, lightDirectionY)= (jint)155;
JCGO_FIELD_NZACCESS(This, lightDirectionZ)= (jint)95;
JCGO_FIELD_NZACCESS(This, lightDirectionMagnitude)= (jint)256;
JCGO_FIELD_NZACCESS(This, lightDiffuse)= (jint)512;
JCGO_FIELD_NZACCESS(This, lightAmbience)= (jint)32;
(package_GameModel__allocate__II(
This, numVertices, numFaces));
JCGO_FIELD_NZACCESS(This, faceTransStateThing)= (jcgo_rcvrI1= numFaces,
jcgo_new4DArray(JCGO_CORECLASS_FOR(OBJT_jint), 2, 0, jcgo_rcvrI1,
(jint)1, 0, 0));
{
jint v;
v= 0;
for (; v < numFaces; v++)
{
JCGO_ARRAY_IACCESS(((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
faceTransStateThing), v)), 0)= v;
}
}
}
return This;
}
JCGO_NOSEP_FRWINL package_GameModel CFASTCALL
package_GameModel__new__II( jint numVertices, jint numFaces )
{
JCGO_CLINIT_TRIG(package_GameModel__class);
return package_GameModel__this__II(
(package_GameModel)jcgo_newObject((jvtable)&package_GameModel_methods),
numVertices, numFaces);
}
JCGO_NOSEP_INLINE package_GameModel CFASTCALL
package_GameModel__this__BAIZ( package_GameModel This, jbyteArr data,
jint offset, jboolean unused )
{
{
jint j;
jint k;
jint jcgo_rcvrI1;
JCGO_FIELD_NZACCESS(This, transformState)= (jint)1;
JCGO_FIELD_NZACCESS(This, visible)= (jboolean)jtrue;
JCGO_FIELD_NZACCESS(This, textureTranslucent)= (jboolean)jfalse;
JCGO_FIELD_NZACCESS(This, transparent)= (jboolean)jfalse;
JCGO_FIELD_NZACCESS(This, key)= (-(jint)1);
JCGO_FIELD_NZACCESS(This, autocommit)= (jboolean)jfalse;
JCGO_FIELD_NZACCESS(This, isolated)= (jboolean)jfalse;
JCGO_FIELD_NZACCESS(This, unlit)= (jboolean)jfalse;
JCGO_FIELD_NZACCESS(This, unpickable)= (jboolean)jfalse;
JCGO_FIELD_NZACCESS(This, projected)= (jboolean)jfalse;
JCGO_FIELD_NZACCESS(This, magic)= package_World__colourTransparent;
JCGO_FIELD_NZACCESS(This, diameter)= package_World__colourTransparent;
JCGO_FIELD_NZACCESS(This, lightDirectionX)= (jint)180;
JCGO_FIELD_NZACCESS(This, lightDirectionY)= (jint)155;
JCGO_FIELD_NZACCESS(This, lightDirectionZ)= (jint)95;
JCGO_FIELD_NZACCESS(This, lightDirectionMagnitude)= (jint)256;
JCGO_FIELD_NZACCESS(This, lightDiffuse)= (jint)512;
JCGO_FIELD_NZACCESS(This, lightAmbience)= (jint)32;
j= (package_Utility__getUnsignedShort__BAI(
data, offset));
offset+= (jint)2;
k= (package_Utility__getUnsignedShort__BAI(
data, offset));
offset+= (jint)2;
(package_GameModel__allocate__II(
This, j, k));
JCGO_FIELD_NZACCESS(This, faceTransStateThing)= (jcgo_rcvrI1= k,
jcgo_new4DArray(JCGO_CORECLASS_FOR(OBJT_jint), 2, 0, jcgo_rcvrI1,
(jint)1, 0, 0));
{
jint l;
l= 0;
for (; l < j; l++)
{
jObject jcgo_rcvrL1;
jint jcgo_rcvrI1;
jint jcgo_rcvrI2;
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, vertexX), jcgo_rcvrI1=
l, jcgo_rcvrI2= (package_Utility__getSignedShort__BAI(
data, offset)), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1, jcgo_rcvrI1)=
jcgo_rcvrI2);
offset+= (jint)2;
}
}
{
jint i1;
i1= 0;
for (; i1 < j; i1++)
{
jObject jcgo_rcvrL1;
jint jcgo_rcvrI1;
jint jcgo_rcvrI2;
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, vertexY), jcgo_rcvrI1=
i1, jcgo_rcvrI2= (package_Utility__getSignedShort__BAI(
data, offset)), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1, jcgo_rcvrI1)=
jcgo_rcvrI2);
offset+= (jint)2;
}
}
{
jint j1;
j1= 0;
for (; j1 < j; j1++)
{
jObject jcgo_rcvrL1;
jint jcgo_rcvrI1;
jint jcgo_rcvrI2;
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, vertexZ), jcgo_rcvrI1=
j1, jcgo_rcvrI2= (package_Utility__getSignedShort__BAI(
data, offset)), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1, jcgo_rcvrI1)=
jcgo_rcvrI2);
offset+= (jint)2;
}
}
JCGO_FIELD_NZACCESS(This, numVertices)= j;
{
jint k1;
k1= 0;
for (; k1 < k; k1++)
{
jObject jcgo_rcvrL1;
jint jcgo_rcvrI1;
jint jcgo_rcvrI2;
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, faceNumVertices),
jcgo_rcvrI1= k1, jcgo_rcvrI2= (jint)((unsigned char)(JCGO_ARRAY_NZBACCESS(data,
offset++))), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1, jcgo_rcvrI1)=
jcgo_rcvrI2);
}
}
{
jint l1;
l1= 0;
for (; l1 < k; l1++)
{
jObject jcgo_rcvrL1;
jint jcgo_rcvrI1;
jint jcgo_rcvrI2;
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, faceFillFront),
jcgo_rcvrI1= l1, jcgo_rcvrI2= (package_Utility__getSignedShort__BAI(
data, offset)), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1, jcgo_rcvrI1)=
jcgo_rcvrI2);
offset+= (jint)2;
if (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceFillFront),
l1) == (jint)32767L)
{
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceFillFront), l1)=
JCGO_FIELD_NZACCESS(This, magic);
}
}
}
{
jint i2;
i2= 0;
for (; i2 < k; i2++)
{
jObject jcgo_rcvrL1;
jint jcgo_rcvrI1;
jint jcgo_rcvrI2;
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, faceFillBack),
jcgo_rcvrI1= i2, jcgo_rcvrI2= (package_Utility__getSignedShort__BAI(
data, offset)), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1, jcgo_rcvrI1)=
jcgo_rcvrI2);
offset+= (jint)2;
if (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceFillBack),
i2) == (jint)32767L)
{
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceFillBack), i2)=
JCGO_FIELD_NZACCESS(This, magic);
}
}
}
{
jint j2;
j2= 0;
for (; j2 < k; j2++)
{
jint k2;
k2= (jint)((unsigned char)(JCGO_ARRAY_NZBACCESS(data, offset++)));
if (k2 == 0)
{
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceIntensity), j2)=
0;
}
else
{
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceIntensity), j2)=
JCGO_FIELD_NZACCESS(This, magic);
}
}
}
{
jint l2;
l2= 0;
for (; l2 < k; l2++)
{
jObject jcgo_rcvrL1;
(jcgo_rcvrL1= (jObject)((jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceNumVertices),
l2))), *(jintArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
faceVertices), l2)= (jintArr)jcgo_rcvrL1);
{
jint i3;
i3= 0;
for (; i3 < JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceNumVertices),
l2); i3++)
{
if (j < (jint)256)
{
jObject jcgo_rcvrL1;
jint jcgo_rcvrI1;
jint jcgo_rcvrI2;
(jcgo_rcvrL1= (jObject)((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
faceVertices), l2)), jcgo_rcvrI1= i3, jcgo_rcvrI2= (jint)((unsigned char)(JCGO_ARRAY_NZBACCESS(data,
offset++))), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1, jcgo_rcvrI1)=
jcgo_rcvrI2);
}
else
{
jObject jcgo_rcvrL1;
jint jcgo_rcvrI1;
jint jcgo_rcvrI2;
(jcgo_rcvrL1= (jObject)((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
faceVertices), l2)), jcgo_rcvrI1= i3, jcgo_rcvrI2= (package_Utility__getUnsignedShort__BAI(
data, offset)), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1, jcgo_rcvrI1)=
jcgo_rcvrI2);
offset+= (jint)2;
}
}
}
}
}
JCGO_FIELD_NZACCESS(This, numFaces)= k;
JCGO_FIELD_NZACCESS(This, transformState)= (jint)1;
}
return This;
}
JCGO_NOSEP_FRWINL package_GameModel CFASTCALL
package_GameModel__new__BAIZ( jbyteArr data, jint offset, jboolean
unused )
{
JCGO_CLINIT_TRIG(package_GameModel__class);
return package_GameModel__this__BAIZ(
(package_GameModel)jcgo_newObject((jvtable)&package_GameModel_methods),
data, offset, unused);
}
JCGO_NOSEP_STATIC void CFASTCALL
package_GameModel__allocate__II( package_GameModel This, jint numV,
jint numF )
{
{
JCGO_FIELD_NZACCESS(This, vertexX)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, numV);
JCGO_FIELD_NZACCESS(This, vertexY)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, numV);
JCGO_FIELD_NZACCESS(This, vertexZ)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, numV);
JCGO_FIELD_NZACCESS(This, vertexIntensity)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, numV);
JCGO_FIELD_NZACCESS(This, vertexAmbience)= (jbyteArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jbyte),
0, numV);
JCGO_FIELD_NZACCESS(This, faceNumVertices)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, numF);
JCGO_FIELD_NZACCESS(This, faceVertices)= (jObjectArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
1, numF);
JCGO_FIELD_NZACCESS(This, faceFillFront)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, numF);
JCGO_FIELD_NZACCESS(This, faceFillBack)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, numF);
JCGO_FIELD_NZACCESS(This, faceIntensity)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, numF);
JCGO_FIELD_NZACCESS(This, normalScale)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, numF);
JCGO_FIELD_NZACCESS(This, normalMagnitude)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, numF);
if (!JCGO_FIELD_NZACCESS(This, projected))
{
JCGO_FIELD_NZACCESS(This, projectVertexX)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, numV);
JCGO_FIELD_NZACCESS(This, projectVertexY)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, numV);
JCGO_FIELD_NZACCESS(This, projectVertexZ)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, numV);
JCGO_FIELD_NZACCESS(This, vertexViewX)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, numV);
JCGO_FIELD_NZACCESS(This, vertexViewY)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, numV);
}
if (!JCGO_FIELD_NZACCESS(This, unpickable))
{
JCGO_FIELD_NZACCESS(This, isLocalPlayer)= (jbyteArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jbyte),
0, numF);
JCGO_FIELD_NZACCESS(This, faceTag)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, numF);
}
if (JCGO_FIELD_NZACCESS(This, autocommit))
{
JCGO_FIELD_NZACCESS(This, vertexTransformedX)= JCGO_FIELD_NZACCESS(This,
vertexX);
JCGO_FIELD_NZACCESS(This, vertexTransformedY)= JCGO_FIELD_NZACCESS(This,
vertexY);
JCGO_FIELD_NZACCESS(This, vertexTransformedZ)= JCGO_FIELD_NZACCESS(This,
vertexZ);
}
else
{
JCGO_FIELD_NZACCESS(This, vertexTransformedX)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, numV);
JCGO_FIELD_NZACCESS(This, vertexTransformedY)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, numV);
JCGO_FIELD_NZACCESS(This, vertexTransformedZ)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, numV);
}
if (!JCGO_FIELD_NZACCESS(This, unlit) || !JCGO_FIELD_NZACCESS(This,
isolated))
{
JCGO_FIELD_NZACCESS(This, faceNormalX)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, numF);
JCGO_FIELD_NZACCESS(This, faceNormalY)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, numF);
JCGO_FIELD_NZACCESS(This, faceNormalZ)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, numF);
}
if (!JCGO_FIELD_NZACCESS(This, isolated))
{
JCGO_FIELD_NZACCESS(This, faceBoundLeft)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, numF);
JCGO_FIELD_NZACCESS(This, faceBoundRight)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, numF);
JCGO_FIELD_NZACCESS(This, faceBoundBottom)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, numF);
JCGO_FIELD_NZACCESS(This, faceBoundTop)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, numF);
JCGO_FIELD_NZACCESS(This, faceBoundNear)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, numF);
JCGO_FIELD_NZACCESS(This, faceBoundFar)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, numF);
}
JCGO_FIELD_NZACCESS(This, numFaces)= 0;
JCGO_FIELD_NZACCESS(This, numVertices)= 0;
JCGO_FIELD_NZACCESS(This, maxVerts)= numV;
JCGO_FIELD_NZACCESS(This, maxFaces)= numF;
JCGO_FIELD_NZACCESS(This, baseX)= JCGO_FIELD_NZACCESS(This, baseY)=
JCGO_FIELD_NZACCESS(This, baseZ)= 0;
JCGO_FIELD_NZACCESS(This, orientationYaw)= JCGO_FIELD_NZACCESS(This,
orientationPitch)= JCGO_FIELD_NZACCESS(This, orientationRoll)= 0;
JCGO_FIELD_NZACCESS(This, scaleFx)= JCGO_FIELD_NZACCESS(This, scaleFy)=
JCGO_FIELD_NZACCESS(This, scaleFz)= (jint)256;
JCGO_FIELD_NZACCESS(This, shearXy)= JCGO_FIELD_NZACCESS(This, shearXz)=
JCGO_FIELD_NZACCESS(This, shearYx)= JCGO_FIELD_NZACCESS(This, shearYz)=
JCGO_FIELD_NZACCESS(This, shearZx)= JCGO_FIELD_NZACCESS(This, shearZy)=
(jint)256;
JCGO_FIELD_NZACCESS(This, transformKind)= 0;
}
}
JCGO_NOSEP_STATIC void CFASTCALL
package_GameModel__clear__( package_GameModel This )
{
{
JCGO_FIELD_NZACCESS(This, numFaces)= 0;
JCGO_FIELD_NZACCESS(This, numVertices)= 0;
}
}
JCGO_NOSEP_INLINE void CFASTCALL
package_GameModel__reduce__II( package_GameModel This, jint df, jint
dz )
{
{
JCGO_FIELD_NZACCESS(This, numFaces)-= df;
if (JCGO_FIELD_NZACCESS(This, numFaces) < 0)
{
JCGO_FIELD_NZACCESS(This, numFaces)= 0;
}
JCGO_FIELD_NZACCESS(This, numVertices)-= dz;
if (JCGO_FIELD_NZACCESS(This, numVertices) < 0)
{
JCGO_FIELD_NZACCESS(This, numVertices)= 0;
}
}
}
JCGO_NOSEP_STATIC void CFASTCALL
package_GameModel__merge__L98u34AIZ( package_GameModel This, jObjectArr
pieces, jint count, jboolean transState )
{
{
jint numF;
jint numV;
numF= 0;
numV= 0;
{
jint i;
i= 0;
for (; i < count; i++)
{
numF+= JCGO_FIELD_ACCESS(package_GameModel, ((package_GameModel)JCGO_ARRAY_LACCESS(pieces,
i)), numFaces);
numV+= JCGO_FIELD_ACCESS(package_GameModel, ((package_GameModel)JCGO_ARRAY_NZLACCESS(pieces,
i)), numVertices);
}
}
(package_GameModel__allocate__II(
This, numV, numF));
if (transState)
{
JCGO_FIELD_NZACCESS(This, faceTransStateThing)= (jObjectArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
1, numF);
}
{
jint i;
i= 0;
for (; i < count; i++)
{
package_GameModel source;
source= ((package_GameModel)JCGO_ARRAY_LACCESS(pieces, i));
(JCGO_CALL_FINALF(source) package_GameModel__commit__(
source));
JCGO_FIELD_NZACCESS(This, lightAmbience)= JCGO_FIELD_NZACCESS(source,
lightAmbience);
JCGO_FIELD_NZACCESS(This, lightDiffuse)= JCGO_FIELD_NZACCESS(source,
lightDiffuse);
JCGO_FIELD_NZACCESS(This, lightDirectionX)= JCGO_FIELD_NZACCESS(source,
lightDirectionX);
JCGO_FIELD_NZACCESS(This, lightDirectionY)= JCGO_FIELD_NZACCESS(source,
lightDirectionY);
JCGO_FIELD_NZACCESS(This, lightDirectionZ)= JCGO_FIELD_NZACCESS(source,
lightDirectionZ);
JCGO_FIELD_NZACCESS(This, lightDirectionMagnitude)= JCGO_FIELD_NZACCESS(source,
lightDirectionMagnitude);
{
jint srcF;
srcF= 0;
for (; srcF < JCGO_FIELD_NZACCESS(source, numFaces); srcF++)
{
jintArr dstVs;
jintArr srcVs;
jint dstF;
jObject jcgo_rcvrL1;
jint jcgo_rcvrI1;
jint jcgo_rcvrI2;
dstVs= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(source, faceNumVertices),
srcF));
srcVs= ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(source,
faceVertices), srcF));
{
jint v;
v= 0;
for (; v < JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(source, faceNumVertices),
srcF); v++)
{
jObject jcgo_rcvrL1;
jint jcgo_rcvrI1;
jint jcgo_rcvrI2;
jint jcgo_rcvrI3;
jint jcgo_rcvrI4;
(jcgo_rcvrL1= (jObject)dstVs, jcgo_rcvrI1= v, jcgo_rcvrI2=
(jcgo_rcvrI3= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(source,
vertexX), JCGO_ARRAY_IACCESS(srcVs, v)), jcgo_rcvrI4= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(source,
vertexY), JCGO_ARRAY_IACCESS(srcVs, v)), package_GameModel__vertexAt__III(
This, jcgo_rcvrI3, jcgo_rcvrI4, JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(source,
vertexZ), JCGO_ARRAY_IACCESS(srcVs, v)))), JCGO_ARRAY_NZIACCESS((jintArr)jcgo_rcvrL1,
jcgo_rcvrI1)= jcgo_rcvrI2);
}
}
dstF= (jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(source,
faceNumVertices), srcF), jcgo_rcvrL1= (jObject)dstVs, jcgo_rcvrI2=
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(source, faceFillFront),
srcF), package_GameModel__createFace__IIAII(
This, (jintArr)jcgo_rcvrL1, jcgo_rcvrI1, jcgo_rcvrI2, JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(source,
faceFillBack), srcF)));
(jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(source,
faceIntensity), srcF), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
faceIntensity), dstF)= jcgo_rcvrI1);
(jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(source,
normalScale), srcF), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
normalScale), dstF)= jcgo_rcvrI1);
(jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(source,
normalMagnitude), srcF), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
normalMagnitude), dstF)= jcgo_rcvrI1);
if (transState)
{
if (count > (jint)1)
{
jObject jcgo_rcvrL1;
(jcgo_rcvrL1= (jObject)((jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, JCGO_ARRAY_LENGTH(((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(source,
faceTransStateThing), srcF))) + (jint)1)), *(jintArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
faceTransStateThing), dstF)= (jintArr)jcgo_rcvrL1);
JCGO_ARRAY_IACCESS(((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
faceTransStateThing), dstF)), 0)= i;
{
jint i2;
i2= 0;
for (; i2 < JCGO_ARRAY_LENGTH(((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(source,
faceTransStateThing), srcF))); i2++)
{
jint jcgo_rcvrI1;
(jcgo_rcvrI1= JCGO_ARRAY_IACCESS(((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(source,
faceTransStateThing), srcF)), i2), JCGO_ARRAY_IACCESS(((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
faceTransStateThing), dstF)), i2 + (jint)1)= jcgo_rcvrI1);
}
}
}
else
{
jObject jcgo_rcvrL1;
(jcgo_rcvrL1= (jObject)((jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, JCGO_ARRAY_LENGTH(((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(source,
faceTransStateThing), srcF))))), *(jintArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
faceTransStateThing), dstF)= (jintArr)jcgo_rcvrL1);
{
jint j2;
j2= 0;
for (; j2 < JCGO_ARRAY_LENGTH(((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(source,
faceTransStateThing), srcF))); j2++)
{
jint jcgo_rcvrI1;
(jcgo_rcvrI1= JCGO_ARRAY_IACCESS(((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(source,
faceTransStateThing), srcF)), j2), JCGO_ARRAY_IACCESS(((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
faceTransStateThing), dstF)), j2)= jcgo_rcvrI1);
}
}
}
}
}
}
}
}
JCGO_FIELD_NZACCESS(This, transformState)= (jint)1;
}
}
JCGO_NOSEP_STATIC jint CFASTCALL
package_GameModel__vertexAt__III( package_GameModel This, jint x,
jint y, jint z )
{
{
{
jint l;
l= 0;
for (; l < JCGO_FIELD_NZACCESS(This, numVertices); l++)
{
if (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexX), l) ==
x && JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexY), l) ==
y && JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexZ), l) ==
z)
{
return l;
}
}
}
if (JCGO_FIELD_NZACCESS(This, numVertices) >= JCGO_FIELD_NZACCESS(This,
maxVerts))
{
return (-(jint)1);
}
else
{
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexX), JCGO_FIELD_NZACCESS(This,
numVertices))= x;
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexY), JCGO_FIELD_NZACCESS(This,
numVertices))= y;
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexZ), JCGO_FIELD_NZACCESS(This,
numVertices))= z;
return JCGO_FIELD_NZACCESS(This, numVertices)++;
}
}
}
JCGO_NOSEP_STATIC jint CFASTCALL
package_GameModel__createVertex__III( package_GameModel This, jint
i, jint j, jint k )
{
{
if (JCGO_FIELD_NZACCESS(This, numVertices) >= JCGO_FIELD_NZACCESS(This,
maxVerts))
{
return (-(jint)1);
}
else
{
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexX), JCGO_FIELD_NZACCESS(This,
numVertices))= i;
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexY), JCGO_FIELD_NZACCESS(This,
numVertices))= j;
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexZ), JCGO_FIELD_NZACCESS(This,
numVertices))= k;
return JCGO_FIELD_NZACCESS(This, numVertices)++;
}
}
}
JCGO_NOSEP_STATIC jint CFASTCALL
package_GameModel__createFace__IIAII( package_GameModel This, jintArr
vs, jint n, jint front, jint back )
{
{
if (JCGO_FIELD_NZACCESS(This, numFaces) >= JCGO_FIELD_NZACCESS(This,
maxFaces))
{
return (-(jint)1);
}
else
{
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceNumVertices), JCGO_FIELD_NZACCESS(This,
numFaces))= n;
*(jintArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, faceVertices),
JCGO_FIELD_NZACCESS(This, numFaces))= vs;
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceFillFront), JCGO_FIELD_NZACCESS(This,
numFaces))= front;
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceFillBack), JCGO_FIELD_NZACCESS(This,
numFaces))= back;
JCGO_FIELD_NZACCESS(This, transformState)= (jint)1;
return JCGO_FIELD_NZACCESS(This, numFaces)++;
}
}
}
JCGO_NOSEP_STATIC jObjectArr CFASTCALL
package_GameModel__split__IIIIIIIZ( package_GameModel This, jint unused1,
jint unused2, jint pieceDx, jint pieceDz, jint rows, jint count, jint
pieceMaxVertices, jboolean pickable )
{
{
jintArr pieceNV;
jintArr pieceNF;
jObjectArr pieces;
(package_GameModel__commit__(
This));
pieceNV= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint), 0,
count);
pieceNF= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint), 0,
count);
{
jint i;
i= 0;
for (; i < count; i++)
{
JCGO_ARRAY_NZIACCESS(pieceNV, i)= 0;
JCGO_ARRAY_NZIACCESS(pieceNF, i)= 0;
}
}
{
jint f;
f= 0;
for (; f < JCGO_FIELD_NZACCESS(This, numFaces); f++)
{
jintArr vs;
jint sumX;
jint sumZ;
jint n;
jint p;
jint jcgo_rcvrI1;
sumX= 0;
sumZ= 0;
n= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceNumVertices),
f);
vs= ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, faceVertices),
f));
{
jint i;
i= 0;
for (; i < n; i++)
{
sumX+= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexX),
JCGO_ARRAY_IACCESS(vs, i));
sumZ+= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexZ),
JCGO_ARRAY_NZIACCESS(vs, i));
}
}
p= (jcgo_rcvrI1= jcgo_div(sumX, (n * pieceDx)), jcgo_rcvrI1 + (jcgo_div(sumZ,
(n * pieceDz))) * rows);
JCGO_ARRAY_NZIACCESS(pieceNV, p)+= n;
(JCGO_ARRAY_NZIACCESS(pieceNF, p))++;
}
}
pieces= (jObjectArr)jcgo_newArray(JCGO_CLASSREF_OF(package_GameModel__class),
0, count);
{
jint i;
i= 0;
for (; i < count; i++)
{
jObject jcgo_rcvrL1;
jObject jcgo_rcvrL2;
jint jcgo_rcvrI1;
jint jcgo_rcvrI2;
if (JCGO_ARRAY_NZIACCESS(pieceNV, i) > pieceMaxVertices)
{
JCGO_ARRAY_NZIACCESS(pieceNV, i)= pieceMaxVertices;
}
(jcgo_rcvrL1= (jObject)pieces, jcgo_rcvrI1= i, jcgo_rcvrL2= (jObject)(jcgo_rcvrI2=
JCGO_ARRAY_NZIACCESS(pieceNV, i), package_GameModel__this__IIZZZZZ(
(package_GameModel)jcgo_newObject((jvtable)&package_GameModel_methods),
jcgo_rcvrI2, JCGO_ARRAY_NZIACCESS(pieceNF, i), (jboolean)jtrue,
(jboolean)jtrue, (jboolean)jtrue, (jboolean)pickable, (jboolean)jtrue)),
*(package_GameModel*)&JCGO_ARRAY_NZLACCESS((jObjectArr)jcgo_rcvrL1,
jcgo_rcvrI1)= (package_GameModel)jcgo_rcvrL2);
JCGO_FIELD_ACCESS(package_GameModel, ((package_GameModel)JCGO_ARRAY_NZLACCESS(pieces,
i)), lightDiffuse)= JCGO_FIELD_NZACCESS(This, lightDiffuse);
JCGO_FIELD_ACCESS(package_GameModel, ((package_GameModel)JCGO_ARRAY_NZLACCESS(pieces,
i)), lightAmbience)= JCGO_FIELD_NZACCESS(This, lightAmbience);
}
}
{
jint f;
f= 0;
for (; f < JCGO_FIELD_NZACCESS(This, numFaces); f++)
{
jintArr vs;
jint sumX;
jint sumZ;
jint n;
jint p;
jint jcgo_rcvrI1;
sumX= 0;
sumZ= 0;
n= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceNumVertices),
f);
vs= ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, faceVertices),
f));
{
jint i;
i= 0;
for (; i < n; i++)
{
sumX+= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexX),
JCGO_ARRAY_IACCESS(vs, i));
sumZ+= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexZ),
JCGO_ARRAY_NZIACCESS(vs, i));
}
}
p= (jcgo_rcvrI1= jcgo_div(sumX, (n * pieceDx)), jcgo_rcvrI1 + (jcgo_div(sumZ,
(n * pieceDz))) * rows);
(package_GameModel__copyLighting__L98u34IAII(
This, ((package_GameModel)JCGO_ARRAY_NZLACCESS(pieces, p)), vs,
n, f));
}
}
{
jint p;
p= 0;
for (; p < count; p++)
{
jObject jcgo_rcvrL1;
(jcgo_rcvrL1= (jObject)((package_GameModel)JCGO_ARRAY_NZLACCESS(pieces,
p)), JCGO_CALL_FINALF((package_GameModel)jcgo_rcvrL1) package_GameModel__projectionPrepare__(
(package_GameModel)jcgo_rcvrL1));
}
}
return pieces;
}
}
JCGO_NOSEP_STATIC void CFASTCALL
package_GameModel__setLight__ZIIIII( package_GameModel This, jint
ambient, jint diffuse, jint x, jint y, jint z, jboolean gouraud )
{
{
JCGO_FIELD_NZACCESS(This, lightAmbience)= (jint)256 - ambient * (jint)4;
JCGO_FIELD_NZACCESS(This, lightDiffuse)= ((jint)64 - diffuse) * (jint)16 +
(jint)128;
if (JCGO_FIELD_NZACCESS(This, unlit))
{
return;
}
{
jint i;
i= 0;
for (; i < JCGO_FIELD_NZACCESS(This, numFaces); i++)
{
if (gouraud)
{
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceIntensity), i)=
JCGO_FIELD_NZACCESS(This, magic);
}
else
{
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceIntensity), i)=
0;
}
}
}
JCGO_FIELD_NZACCESS(This, lightDirectionX)= x;
JCGO_FIELD_NZACCESS(This, lightDirectionY)= y;
JCGO_FIELD_NZACCESS(This, lightDirectionZ)= z;
JCGO_FIELD_NZACCESS(This, lightDirectionMagnitude)= JCGO_JDOUBLE_TOJINT((java_lang_Math__sqrt__D(
(jdouble)(x * x + y * y + z * z))));
(package_GameModel__light__(
This));
}
}
JCGO_NOSEP_STATIC void CFASTCALL
package_GameModel__setLight__IIIII( package_GameModel This, jint ambience,
jint diffuse, jint x, jint y, jint z )
{
{
JCGO_FIELD_NZACCESS(This, lightAmbience)= (jint)256 - ambience *
(jint)4;
JCGO_FIELD_NZACCESS(This, lightDiffuse)= ((jint)64 - diffuse) * (jint)16 +
(jint)128;
if (!JCGO_FIELD_NZACCESS(This, unlit))
{
JCGO_FIELD_NZACCESS(This, lightDirectionX)= x;
JCGO_FIELD_NZACCESS(This, lightDirectionY)= y;
JCGO_FIELD_NZACCESS(This, lightDirectionZ)= z;
JCGO_FIELD_NZACCESS(This, lightDirectionMagnitude)= JCGO_JDOUBLE_TOJINT((java_lang_Math__sqrt__D(
(jdouble)(x * x + y * y + z * z))));
(package_GameModel__light__(
This));
}
}
}
JCGO_NOSEP_INLINE void CFASTCALL
package_GameModel__setLight__III( package_GameModel This, jint x,
jint y, jint z )
{
{
if (!JCGO_FIELD_NZACCESS(This, unlit))
{
JCGO_FIELD_NZACCESS(This, lightDirectionX)= x;
JCGO_FIELD_NZACCESS(This, lightDirectionY)= y;
JCGO_FIELD_NZACCESS(This, lightDirectionZ)= z;
JCGO_FIELD_NZACCESS(This, lightDirectionMagnitude)= JCGO_JDOUBLE_TOJINT((java_lang_Math__sqrt__D(
(jdouble)(x * x + y * y + z * z))));
(package_GameModel__light__(
This));
}
}
}
JCGO_NOSEP_INLINE void CFASTCALL
package_GameModel__setVertexAmbience__II( package_GameModel This,
jint v, jint ambience )
{
{
JCGO_ARRAY_BACCESS(JCGO_FIELD_NZACCESS(This, vertexAmbience), v)=
((jbyte)ambience);
}
}
JCGO_NOSEP_STATIC void CFASTCALL
package_GameModel__rotate__III( package_GameModel This, jint yaw,
jint pitch, jint roll )
{
{
JCGO_FIELD_NZACCESS(This, orientationYaw)= (JCGO_FIELD_NZACCESS(This,
orientationYaw) + yaw) & (jint)255;
JCGO_FIELD_NZACCESS(This, orientationPitch)= (JCGO_FIELD_NZACCESS(This,
orientationPitch) + pitch) & (jint)255;
JCGO_FIELD_NZACCESS(This, orientationRoll)= (JCGO_FIELD_NZACCESS(This,
orientationRoll) + roll) & (jint)255;
(package_GameModel__determineTransformKind__(
This));
JCGO_FIELD_NZACCESS(This, transformState)= (jint)1;
}
}
JCGO_NOSEP_INLINE void CFASTCALL
package_GameModel__orient__III( package_GameModel This, jint yaw,
jint pitch, jint roll )
{
{
JCGO_FIELD_NZACCESS(This, orientationYaw)= yaw & (jint)255;
JCGO_FIELD_NZACCESS(This, orientationPitch)= pitch & (jint)255;
JCGO_FIELD_NZACCESS(This, orientationRoll)= roll & (jint)255;
(package_GameModel__determineTransformKind__(
This));
JCGO_FIELD_NZACCESS(This, transformState)= (jint)1;
}
}
JCGO_NOSEP_STATIC void CFASTCALL
package_GameModel__translate__III( package_GameModel This, jint x,
jint y, jint z )
{
{
JCGO_FIELD_NZACCESS(This, baseX)+= x;
JCGO_FIELD_NZACCESS(This, baseY)+= y;
JCGO_FIELD_NZACCESS(This, baseZ)+= z;
(package_GameModel__determineTransformKind__(
This));
JCGO_FIELD_NZACCESS(This, transformState)= (jint)1;
}
}
JCGO_NOSEP_FRWINL void CFASTCALL
package_GameModel__place__III( package_GameModel This, jint x, jint
y, jint z )
{
{
JCGO_FIELD_NZACCESS(This, baseX)= x;
JCGO_FIELD_NZACCESS(This, baseY)= y;
JCGO_FIELD_NZACCESS(This, baseZ)= z;
(package_GameModel__determineTransformKind__(
This));
JCGO_FIELD_NZACCESS(This, transformState)= (jint)1;
}
}
JCGO_NOSEP_STATIC void CFASTCALL
package_GameModel__determineTransformKind__( package_GameModel This
)
{
{
if (JCGO_FIELD_NZACCESS(This, shearXy) != (jint)256 || JCGO_FIELD_NZACCESS(This,
shearXz) != (jint)256 || JCGO_FIELD_NZACCESS(This, shearYx) != (jint)256 ||
JCGO_FIELD_NZACCESS(This, shearYz) != (jint)256 || JCGO_FIELD_NZACCESS(This,
shearZx) != (jint)256 || JCGO_FIELD_NZACCESS(This, shearZy) != (jint)256)
{
JCGO_FIELD_NZACCESS(This, transformKind)= (jint)4;
}
else
{
if (JCGO_FIELD_NZACCESS(This, scaleFx) != (jint)256 || JCGO_FIELD_NZACCESS(This,
scaleFy) != (jint)256 || JCGO_FIELD_NZACCESS(This, scaleFz) !=
(jint)256)
{
JCGO_FIELD_NZACCESS(This, transformKind)= (jint)3;
}
else
{
if (JCGO_FIELD_NZACCESS(This, orientationYaw) != 0 || JCGO_FIELD_NZACCESS(This,
orientationPitch) != 0 || JCGO_FIELD_NZACCESS(This, orientationRoll) !=
0)
{
JCGO_FIELD_NZACCESS(This, transformKind)= (jint)2;
}
else
{
if (JCGO_FIELD_NZACCESS(This, baseX) != 0 || JCGO_FIELD_NZACCESS(This,
baseY) != 0 || JCGO_FIELD_NZACCESS(This, baseZ) != 0)
{
JCGO_FIELD_NZACCESS(This, transformKind)= (jint)1;
}
else
{
JCGO_FIELD_NZACCESS(This, transformKind)= 0;
}
}
}
}
}
}
JCGO_NOSEP_STATIC void CFASTCALL
package_GameModel__light__( package_GameModel This )
{
{
jintArr normalX;
jintArr normalY;
jintArr normalZ;
jintArr normalMagnitude;
jint divisor;
if (JCGO_FIELD_NZACCESS(This, unlit))
{
return;
}
divisor= JCGO_SHR_F(JCGO_FIELD_NZACCESS(This, lightDiffuse) * JCGO_FIELD_NZACCESS(This,
lightDirectionMagnitude), (jint)8);
{
jint face;
face= 0;
for (; face < JCGO_FIELD_NZACCESS(This, numFaces); face++)
{
if (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceIntensity),
face) != JCGO_FIELD_NZACCESS(This, magic))
{
jint jcgo_rcvrI1;
jint jcgo_rcvrI2;
(jcgo_rcvrI1= jcgo_div((jcgo_rcvrI2= (jcgo_rcvrI2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
faceNormalX), face) * JCGO_FIELD_NZACCESS(This, lightDirectionX),
jcgo_rcvrI2 + JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceNormalY),
face) * JCGO_FIELD_NZACCESS(This, lightDirectionY)), jcgo_rcvrI2 +
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceNormalZ), face) *
JCGO_FIELD_NZACCESS(This, lightDirectionZ)), divisor), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
faceIntensity), face)= jcgo_rcvrI1);
}
}
}
normalX= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint), 0,
JCGO_FIELD_NZACCESS(This, numVertices));
normalY= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint), 0,
JCGO_FIELD_NZACCESS(This, numVertices));
normalZ= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint), 0,
JCGO_FIELD_NZACCESS(This, numVertices));
normalMagnitude= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, JCGO_FIELD_NZACCESS(This, numVertices));
{
jint k;
k= 0;
for (; k < JCGO_FIELD_NZACCESS(This, numVertices); k++)
{
JCGO_ARRAY_NZIACCESS(normalX, k)= 0;
JCGO_ARRAY_NZIACCESS(normalY, k)= 0;
JCGO_ARRAY_NZIACCESS(normalZ, k)= 0;
JCGO_ARRAY_NZIACCESS(normalMagnitude, k)= 0;
}
}
{
jint face;
face= 0;
for (; face < JCGO_FIELD_NZACCESS(This, numFaces); face++)
{
if (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceIntensity),
face) == JCGO_FIELD_NZACCESS(This, magic))
{
{
jint v;
v= 0;
for (; v < JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceNumVertices),
face); v++)
{
jint k1;
jObject jcgo_rcvrL1;
k1= JCGO_ARRAY_IACCESS(((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
faceVertices), face)), v);
(jcgo_rcvrL1= (void*)&JCGO_ARRAY_NZIACCESS(normalX, k1), *(jint*)jcgo_rcvrL1+=
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceNormalX),
face));
(jcgo_rcvrL1= (void*)&JCGO_ARRAY_NZIACCESS(normalY, k1), *(jint*)jcgo_rcvrL1+=
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceNormalY),
face));
(jcgo_rcvrL1= (void*)&JCGO_ARRAY_NZIACCESS(normalZ, k1), *(jint*)jcgo_rcvrL1+=
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, faceNormalZ),
face));
(JCGO_ARRAY_NZIACCESS(normalMagnitude, k1))++;
}
}
}
}
}
{
jint v;
v= 0;
for (; v < JCGO_FIELD_NZACCESS(This, numVertices); v++)
{
if (JCGO_ARRAY_NZIACCESS(normalMagnitude, v) > 0)
{
jint jcgo_rcvrI1;
jint jcgo_rcvrI2;
(jcgo_rcvrI1= (jcgo_rcvrI2= (jcgo_rcvrI2= (jcgo_rcvrI2= JCGO_ARRAY_NZIACCESS(normalX,
v) * JCGO_FIELD_NZACCESS(This, lightDirectionX), jcgo_rcvrI2 +
JCGO_ARRAY_NZIACCESS(normalY, v) * JCGO_FIELD_NZACCESS(This,
lightDirectionY)), jcgo_rcvrI2 + JCGO_ARRAY_NZIACCESS(normalZ,
v) * JCGO_FIELD_NZACCESS(This, lightDirectionZ)), jcgo_div(jcgo_rcvrI2,
(divisor * JCGO_ARRAY_NZIACCESS(normalMagnitude, v)))), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexIntensity), v)= jcgo_rcvrI1);
}
}
}
}
}
JCGO_NOSEP_STATIC void CFASTCALL
package_GameModel__apply__( package_GameModel This )
{
{
if (JCGO_FIELD_NZACCESS(This, transformState) == (jint)2)
{
JCGO_FIELD_NZACCESS(This, transformState)= 0;
{
jint v;
v= 0;
for (; v < JCGO_FIELD_NZACCESS(This, numVertices); v++)
{
jint jcgo_rcvrI1;
(jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexX),
v), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedX),
v)= jcgo_rcvrI1);
(jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexY),
v), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedY),
v)= jcgo_rcvrI1);
(jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexZ),
v), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedZ),
v)= jcgo_rcvrI1);
}
}
JCGO_FIELD_NZACCESS(This, x1)= JCGO_FIELD_NZACCESS(This, y1)= JCGO_FIELD_NZACCESS(This,
z1)= (jint)-9999999L;
JCGO_FIELD_NZACCESS(This, diameter)= JCGO_FIELD_NZACCESS(This, x2)=
JCGO_FIELD_NZACCESS(This, y2)= JCGO_FIELD_NZACCESS(This, z2)= (jint)9999999L;
return;
}
if (JCGO_FIELD_NZACCESS(This, transformState) == (jint)1)
{
JCGO_FIELD_NZACCESS(This, transformState)= 0;
{
jint v;
v= 0;
for (; v < JCGO_FIELD_NZACCESS(This, numVertices); v++)
{
jint jcgo_rcvrI1;
(jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexX),
v), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedX),
v)= jcgo_rcvrI1);
(jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexY),
v), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedY),
v)= jcgo_rcvrI1);
(jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexZ),
v), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedZ),
v)= jcgo_rcvrI1);
}
}
if (JCGO_FIELD_NZACCESS(This, transformKind) >= (jint)2)
{
(package_GameModel__applyRotation__III(
This, JCGO_FIELD_NZACCESS(This, orientationYaw), JCGO_FIELD_NZACCESS(This,
orientationPitch), JCGO_FIELD_NZACCESS(This, orientationRoll)));
}
if (JCGO_FIELD_NZACCESS(This, transformKind) >= (jint)3)
{
(package_GameModel__applyScale__III(
This, JCGO_FIELD_NZACCESS(This, scaleFx), JCGO_FIELD_NZACCESS(This,
scaleFy), JCGO_FIELD_NZACCESS(This, scaleFz)));
}
if (JCGO_FIELD_NZACCESS(This, transformKind) >= (jint)4)
{
(package_GameModel__applyShear__IIIIII(
This, JCGO_FIELD_NZACCESS(This, shearXy), JCGO_FIELD_NZACCESS(This,
shearXz), JCGO_FIELD_NZACCESS(This, shearYx), JCGO_FIELD_NZACCESS(This,
shearYz), JCGO_FIELD_NZACCESS(This, shearZx), JCGO_FIELD_NZACCESS(This,
shearZy)));
}
if (JCGO_FIELD_NZACCESS(This, transformKind) >= (jint)1)
{
(package_GameModel__applyTranslate__III(
This, JCGO_FIELD_NZACCESS(This, baseX), JCGO_FIELD_NZACCESS(This,
baseY), JCGO_FIELD_NZACCESS(This, baseZ)));
}
(package_GameModel__computeBounds__(
This));
(package_GameModel__relight__(
This));
}
}
}
JCGO_NOSEP_STATIC void CFASTCALL
package_GameModel__project__IIIIIIII( package_GameModel This, jint
cameraX, jint cameraY, jint cameraZ, jint cameraPitch, jint cameraRoll,
jint cameraYaw, jint viewDist, jint clipNear )
{
{
jint yawSin;
jint yawCos;
jint pitchSin;
jint pitchCos;
jint rollSin;
jint rollCos;
(package_GameModel__apply__(
This));
if (JCGO_FIELD_NZACCESS(This, z1) > JCGO_CLINIT_VARACC(package_Scene__class,
package_Scene__frustumNearZ) || JCGO_FIELD_NZACCESS(This, z2) <
package_Scene__furstumFarZ || JCGO_FIELD_NZACCESS(This, x1) > package_Scene__frustumMinX ||
JCGO_FIELD_NZACCESS(This, x2) < package_Scene__frustumMaxX || JCGO_FIELD_NZACCESS(This,
y1) > package_Scene__furstumMinY || JCGO_FIELD_NZACCESS(This, y2) <
package_Scene__furstumMaxY)
{
JCGO_FIELD_NZACCESS(This, visible)= (jboolean)jfalse;
return;
}
JCGO_FIELD_NZACCESS(This, visible)= (jboolean)jtrue;
yawSin= 0;
yawCos= 0;
pitchSin= 0;
pitchCos= 0;
rollSin= 0;
rollCos= 0;
if (cameraYaw != 0)
{
yawSin= JCGO_ARRAY_IACCESS(package_GameModel__sine11, cameraYaw);
yawCos= JCGO_ARRAY_IACCESS(package_GameModel__sine11, cameraYaw +
(jint)1024);
}
if (cameraRoll != 0)
{
rollSin= JCGO_ARRAY_IACCESS(package_GameModel__sine11, cameraRoll);
rollCos= JCGO_ARRAY_IACCESS(package_GameModel__sine11, cameraRoll +
(jint)1024);
}
if (cameraPitch != 0)
{
pitchSin= JCGO_ARRAY_IACCESS(package_GameModel__sine11, cameraPitch);
pitchCos= JCGO_ARRAY_IACCESS(package_GameModel__sine11, cameraPitch +
(jint)1024);
}
{
jint v;
v= 0;
for (; v < JCGO_FIELD_NZACCESS(This, numVertices); v++)
{
jint x;
jint y;
jint z;
x= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedX),
v) - cameraX;
y= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedY),
v) - cameraY;
z= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedZ),
v) - cameraZ;
if (cameraYaw != 0)
{
jint X;
X= JCGO_SHR_F(y * yawSin + x * yawCos, (jint)15);
y= JCGO_SHR_F(y * yawCos - x * yawSin, (jint)15);
x= X;
}
if (cameraRoll != 0)
{
jint X;
X= JCGO_SHR_F(z * rollSin + x * rollCos, (jint)15);
z= JCGO_SHR_F(z * rollCos - x * rollSin, (jint)15);
x= X;
}
if (cameraPitch != 0)
{
jint Y;
Y= JCGO_SHR_F(y * pitchCos - z * pitchSin, (jint)15);
z= JCGO_SHR_F(y * pitchSin + z * pitchCos, (jint)15);
y= Y;
}
if (z >= clipNear)
{
jint jcgo_rcvrI1;
(jcgo_rcvrI1= jcgo_div(JCGO_SHL_F(x, viewDist), z), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexViewX), v)= jcgo_rcvrI1);
}
else
{
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexViewX), v)=
JCGO_SHL_F(x, viewDist);
}
if (z >= clipNear)
{
jint jcgo_rcvrI1;
(jcgo_rcvrI1= jcgo_div(JCGO_SHL_F(y, viewDist), z), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
vertexViewY), v)= jcgo_rcvrI1);
}
else
{
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexViewY), v)=
JCGO_SHL_F(y, viewDist);
}
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, projectVertexX), v)=
x;
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, projectVertexY), v)=
y;
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, projectVertexZ), v)=
z;
}
}
}
}
JCGO_NOSEP_STATIC void CFASTCALL
package_GameModel__commit__( package_GameModel This )
{
{
(package_GameModel__apply__(
This));
{
jint i;
i= 0;
for (; i < JCGO_FIELD_NZACCESS(This, numVertices); i++)
{
jint jcgo_rcvrI1;
(jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedX),
i), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexX), i)=
jcgo_rcvrI1);
(jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedY),
i), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexY), i)=
jcgo_rcvrI1);
(jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexTransformedZ),
i), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, vertexZ), i)=
jcgo_rcvrI1);
}
}
JCGO_FIELD_NZACCESS(This, baseX)= JCGO_FIELD_NZACCESS(This, baseY)=
JCGO_FIELD_NZACCESS(This, baseZ)= 0;
JCGO_FIELD_NZACCESS(This, orientationYaw)= JCGO_FIELD_NZACCESS(This,
orientationPitch)= JCGO_FIELD_NZACCESS(This, orientationRoll)= 0;
JCGO_FIELD_NZACCESS(This, scaleFx)= JCGO_FIELD_NZACCESS(This, scaleFy)=
JCGO_FIELD_NZACCESS(This, scaleFz)= (jint)256;
JCGO_FIELD_NZACCESS(This, shearXy)= JCGO_FIELD_NZACCESS(This, shearXz)=
JCGO_FIELD_NZACCESS(This, shearYx)= JCGO_FIELD_NZACCESS(This, shearYz)=
JCGO_FIELD_NZACCESS(This, shearZx)= JCGO_FIELD_NZACCESS(This, shearZy)=
(jint)256;
JCGO_FIELD_NZACCESS(This, transformKind)= 0;
}
}
JCGO_NOSEP_STATIC package_GameModel CFASTCALL
package_GameModel__copy__( package_GameModel This )
{
{
jObjectArr pieces;
package_GameModel gameModel;
jcgo_arrtype2_GameMdl jcgo_stackobj1;
pieces= JCGO_STACKOBJ_OBJARRNEW(jcgo_stackobj1, jObjectArr_methods,
JCGO_CLASSREF_OF(package_GameModel__class), 1);
*(package_GameModel*)&JCGO_ARRAY_NZLACCESS(pieces, 0)= This;
gameModel= (package_GameModel__new__L98u34AI(
pieces, (jint)1));
JCGO_FIELD_NZACCESS(gameModel, depth)= JCGO_FIELD_NZACCESS(This,
depth);
JCGO_FIELD_NZACCESS(gameModel, transparent)= (jboolean)JCGO_FIELD_NZACCESS(This,
transparent);
return gameModel;
}
}
JCGO_NOSEP_INLINE package_GameModel CFASTCALL
package_GameModel__copy__ZZZZ( package_GameModel This, jboolean autocommit,
jboolean isolated, jboolean unlit, jboolean pickable )
{
{
jObjectArr pieces;
package_GameModel gameModel;
jcgo_arrtype2_GameMdl jcgo_stackobj1;
pieces= JCGO_STACKOBJ_OBJARRNEW(jcgo_stackobj1, jObjectArr_methods,
JCGO_CLASSREF_OF(package_GameModel__class), 1);
*(package_GameModel*)&JCGO_ARRAY_NZLACCESS(pieces, 0)= This;
gameModel= (package_GameModel__new__L98u34AIZZZZ(
pieces, (jint)1, (jboolean)autocommit, (jboolean)isolated, (jboolean)unlit,
(jboolean)pickable));
JCGO_FIELD_NZACCESS(gameModel, depth)= JCGO_FIELD_NZACCESS(This,
depth);
return gameModel;
}
}
JCGO_NOSEP_FRWINL void CFASTCALL
package_GameModel__copyPosition__L98u34( package_GameModel This, package_GameModel
model )
{
{
JCGO_FIELD_NZACCESS(This, orientationYaw)= JCGO_FIELD_ACCESS(package_GameModel,
model, orientationYaw);
JCGO_FIELD_NZACCESS(This, orientationPitch)= JCGO_FIELD_NZACCESS(model,
orientationPitch);
JCGO_FIELD_NZACCESS(This, orientationRoll)= JCGO_FIELD_NZACCESS(model,
orientationRoll);
JCGO_FIELD_NZACCESS(This, baseX)= JCGO_FIELD_NZACCESS(model, baseX);
JCGO_FIELD_NZACCESS(This, baseY)= JCGO_FIELD_NZACCESS(model, baseY);
JCGO_FIELD_NZACCESS(This, baseZ)= JCGO_FIELD_NZACCESS(model, baseZ);
(package_GameModel__determineTransformKind__(
This));
JCGO_FIELD_NZACCESS(This, transformState)= (jint)1;
}
}
JCGO_NOSEP_STATIC void CFASTCALL
package_GameModel__class__0( void )
{
JCGO_CLINIT_BEGIN(package_GameModel__class);
{
package_GameModel__sine9= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, (jint)512);
package_GameModel__sine11= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, (jint)2048);
package_GameModel__base64Alphabet= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
0, (jint)256);
{
jint i;
i= 0;
for (; i < (jint)256; i++)
{
jObject jcgo_rcvrL1;
jint jcgo_rcvrI1;
jint jcgo_rcvrI2;
(jcgo_rcvrL1= (jObject)package_GameModel__sine9, jcgo_rcvrI1= i,
jcgo_rcvrI2= JCGO_JDOUBLE_TOJINT(((java_lang_Math__sin__D(
(jdouble)i * (jdouble)0.02454369)) * (jdouble)32768.0)), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
jcgo_rcvrI1)= jcgo_rcvrI2);
(jcgo_rcvrL1= (jObject)package_GameModel__sine9, jcgo_rcvrI1= i +
(jint)256, jcgo_rcvrI2= JCGO_JDOUBLE_TOJINT(((java_lang_Math__cos__D(
(jdouble)i * (jdouble)0.02454369)) * (jdouble)32768.0)), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
jcgo_rcvrI1)= jcgo_rcvrI2);
}
}
{
jint j;
j= 0;
for (; j < (jint)1024; j++)
{
jObject jcgo_rcvrL1;
jint jcgo_rcvrI1;
jint jcgo_rcvrI2;
(jcgo_rcvrL1= (jObject)package_GameModel__sine11, jcgo_rcvrI1=
j, jcgo_rcvrI2= JCGO_JDOUBLE_TOJINT(((java_lang_Math__sin__D(
(jdouble)j * (jdouble)0.00613592315)) * (jdouble)32768.0)), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
jcgo_rcvrI1)= jcgo_rcvrI2);
(jcgo_rcvrL1= (jObject)package_GameModel__sine11, jcgo_rcvrI1=
j + (jint)1024, jcgo_rcvrI2= JCGO_JDOUBLE_TOJINT(((java_lang_Math__cos__D(
(jdouble)j * (jdouble)0.00613592315)) * (jdouble)32768.0)), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
jcgo_rcvrI1)= jcgo_rcvrI2);
}
}
{
jint j1;
j1= 0;
for (; j1 < (jint)10; j1++)
{
JCGO_ARRAY_IACCESS(package_GameModel__base64Alphabet, j1 + (jint)48)=
j1;
}
}
{
jint k1;
k1= 0;
for (; k1 < (jint)26; k1++)
{
JCGO_ARRAY_IACCESS(package_GameModel__base64Alphabet, k1 + (jint)65)=
(k1 + (jint)10);
}
}
{
jint l1;
l1= 0;
for (; l1 < (jint)26; l1++)
{
JCGO_ARRAY_IACCESS(package_GameModel__base64Alphabet, l1 + (jint)97)=
(l1 + (jint)36);
}
}
JCGO_ARRAY_IACCESS(package_GameModel__base64Alphabet, (jint)163)=
(jint)62;
JCGO_ARRAY_IACCESS(package_GameModel__base64Alphabet, (jint)36)=
(jint)63;
}
JCGO_CLINIT_DONE(package_GameModel__class);
}
JCGO_NOSEP_DATA CONST struct package_GameModel_methods_s package_GameModel_methods=
{
JCGO_CLASSREF_OF(package_GameModel__class),
JCGO_GCJDESCR_INIT(package_GameModel_s, faceBoundFar)
OBJT_package_GameModel,
(JCGO_OBJSIZE_T)sizeof(struct package_GameModel_s),
NULL,
JCGO_CLINIT_INIT(package_GameModel__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_GameModel_class_s package_GameModel__class
ATTRIBNONGC=
{
{
&java_lang_Class_methods,
JCGO_MON_INIT
JCGO_OBJREF_OF(*(java_lang_Object)&package_GameModel_methods),
JCGO_STRREF_OF(jcgo_string1_GameMdl),
JCGO_CLASSREF_OF(java_lang_Object__class),
((jObjectArr)JCGO_OBJREF_OF(jcgo_array3_Object)),
0x1c1
}
};
JCGO_NOSEP_GCDATA jintArr package_GameModel__sine9 ATTRIBGCBSS= jnull;
JCGO_NOSEP_GCDATA jintArr package_GameModel__sine11 ATTRIBGCBSS= jnull;
JCGO_NOSEP_GCDATA jintArr package_GameModel__base64Alphabet ATTRIBGCBSS=
jnull;
JCGO_NOSEP_DATA CONST jcgo_arrtype28_GameShll jcgo_array3_GameMdl=
{
(jvtable)&jbyteArr_methods,
JCGO_MON_INIT
9,
{
(jbyte)(jchar)71/*'G'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)109/*'m'*/,
(jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)77/*'M'*/, (jbyte)(jchar)111/*'o'*/,
(jbyte)(jchar)100/*'d'*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)108/*'l'*/
}
};
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string1_GameMdl
JCGO_THRD_ATTRNONGC=
{
&java_lang_String_methods,
JCGO_MON_INIT
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array3_GameMdl),
0, 9, (jint)0xb21e8637L
};
#ifdef CHKALL_GameModel
#include "jcgochke.h"
#endif
#endif