/* 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