mirror of
https://github.com/2003scape/deep-c-rsc.git
synced 2024-03-22 05:49:51 -04:00
4635 lines
126 KiB
C
4635 lines
126 KiB
C
![]() |
/* DO NOT EDIT THIS FILE - it is machine generated (JCGO_116) */
|
||
|
|
||
|
#ifdef JCGO_SEPARATED
|
||
|
#define JCGO_116
|
||
|
#include "jcgortl.h"
|
||
|
#include "Main.h"
|
||
|
#endif
|
||
|
|
||
|
#ifdef JCGO_116
|
||
|
|
||
|
#ifdef CHKALL_Surface
|
||
|
#include "jcgobchk.h"
|
||
|
#endif
|
||
|
|
||
|
JCGO_NOSEP_INLINE void CFASTCALL
|
||
|
package_Surface__plotScale__IAIAIIIIIIIIIII( package_Surface This,
|
||
|
jintArr dest, jintArr src, jint i, jint j, jint k, jint destPos, jint
|
||
|
i1, jint j1, jint k1, jint l1, jint i2, jint j2, jint k2 )
|
||
|
{
|
||
|
{
|
||
|
{
|
||
|
JCGO_TRY_BLOCK
|
||
|
{
|
||
|
jint l2;
|
||
|
l2= j;
|
||
|
{
|
||
|
jint i3;
|
||
|
i3= (-k1);
|
||
|
for (; i3 < 0; i3+= k2)
|
||
|
{
|
||
|
jint j3;
|
||
|
j3= JCGO_SHR_F(k, (jint)16) * j2;
|
||
|
{
|
||
|
jint k3;
|
||
|
k3= (-j1);
|
||
|
for (; k3 < 0; k3++)
|
||
|
{
|
||
|
i= jcgo_jintArrAccess(src, JCGO_SHR_F(j, (jint)16) + j3)[0];
|
||
|
if (i != 0)
|
||
|
{
|
||
|
jcgo_jintArrAccess(dest, destPos++)[0]= i;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
destPos++;
|
||
|
}
|
||
|
j+= l1;
|
||
|
}
|
||
|
}
|
||
|
k+= i2;
|
||
|
j= l2;
|
||
|
destPos+= i1;
|
||
|
}
|
||
|
}
|
||
|
#ifndef JCGO_SEHTRY
|
||
|
jcgo_tryLeave();
|
||
|
#endif
|
||
|
return;
|
||
|
}
|
||
|
JCGO_TRY_LEAVE
|
||
|
JCGO_TRY_CATCHES(1)
|
||
|
JCGO_TRY_CATCH(OBJT_java_lang_Exception, MAXT_java_lang_Exception)
|
||
|
{
|
||
|
(java_io_PrintStream__println__Ls(
|
||
|
JCGO_CLINIT_VARACC(java_lang_System__class, java_lang_System__out),
|
||
|
JCGO_STRREF_OF(jcgo_string2_Surface)));
|
||
|
}
|
||
|
JCGO_TRY_RETHROW(1)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_INLINE void CFASTCALL
|
||
|
package_Surface__setcomplete__( package_Surface This )
|
||
|
{
|
||
|
JCGO_SYNC_BLOCKSAFENZ(This)
|
||
|
{
|
||
|
}
|
||
|
JCGO_SYNC_END
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_INLINE void CFASTCALL
|
||
|
package_Surface__drawSprite__IABAIAIIIIIII( package_Surface This,
|
||
|
jintArr target, jbyteArr colourIdx, jintArr colours, jint srcPos,
|
||
|
jint destPos, jint width, jint height, jint w2, jint h2, jint rowInc
|
||
|
)
|
||
|
{
|
||
|
{
|
||
|
jint l1;
|
||
|
l1= (-JCGO_SHR_F(width, (jint)2));
|
||
|
width= (-(width & (jint)3));
|
||
|
{
|
||
|
jint i2;
|
||
|
i2= (-height);
|
||
|
for (; i2 < 0; i2+= rowInc)
|
||
|
{
|
||
|
{
|
||
|
jint j2;
|
||
|
j2= l1;
|
||
|
for (; j2 < 0; j2++)
|
||
|
{
|
||
|
jbyte byte0;
|
||
|
byte0= JCGO_ARRAY_BACCESS(colourIdx, srcPos++);
|
||
|
if (byte0 != 0)
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
jint jcgo_rcvrI1;
|
||
|
jint jcgo_rcvrI2;
|
||
|
(jcgo_rcvrL1= (jObject)target, jcgo_rcvrI1= destPos++, jcgo_rcvrI2=
|
||
|
JCGO_ARRAY_IACCESS(colours, (jint)((unsigned char)byte0)),
|
||
|
JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1, jcgo_rcvrI1)= jcgo_rcvrI2);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
destPos++;
|
||
|
}
|
||
|
byte0= JCGO_ARRAY_NZBACCESS(colourIdx, srcPos++);
|
||
|
if (byte0 != 0)
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
jint jcgo_rcvrI1;
|
||
|
jint jcgo_rcvrI2;
|
||
|
(jcgo_rcvrL1= (jObject)target, jcgo_rcvrI1= destPos++, jcgo_rcvrI2=
|
||
|
JCGO_ARRAY_IACCESS(colours, (jint)((unsigned char)byte0)),
|
||
|
JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1, jcgo_rcvrI1)= jcgo_rcvrI2);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
destPos++;
|
||
|
}
|
||
|
byte0= JCGO_ARRAY_NZBACCESS(colourIdx, srcPos++);
|
||
|
if (byte0 != 0)
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
jint jcgo_rcvrI1;
|
||
|
jint jcgo_rcvrI2;
|
||
|
(jcgo_rcvrL1= (jObject)target, jcgo_rcvrI1= destPos++, jcgo_rcvrI2=
|
||
|
JCGO_ARRAY_IACCESS(colours, (jint)((unsigned char)byte0)),
|
||
|
JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1, jcgo_rcvrI1)= jcgo_rcvrI2);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
destPos++;
|
||
|
}
|
||
|
byte0= JCGO_ARRAY_NZBACCESS(colourIdx, srcPos++);
|
||
|
if (byte0 != 0)
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
jint jcgo_rcvrI1;
|
||
|
jint jcgo_rcvrI2;
|
||
|
(jcgo_rcvrL1= (jObject)target, jcgo_rcvrI1= destPos++, jcgo_rcvrI2=
|
||
|
JCGO_ARRAY_IACCESS(colours, (jint)((unsigned char)byte0)),
|
||
|
JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1, jcgo_rcvrI1)= jcgo_rcvrI2);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
destPos++;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
{
|
||
|
jint k2;
|
||
|
k2= width;
|
||
|
for (; k2 < 0; k2++)
|
||
|
{
|
||
|
jbyte byte1;
|
||
|
byte1= JCGO_ARRAY_BACCESS(colourIdx, srcPos++);
|
||
|
if (byte1 != 0)
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
jint jcgo_rcvrI1;
|
||
|
jint jcgo_rcvrI2;
|
||
|
(jcgo_rcvrL1= (jObject)target, jcgo_rcvrI1= destPos++, jcgo_rcvrI2=
|
||
|
JCGO_ARRAY_IACCESS(colours, (jint)((unsigned char)byte1)),
|
||
|
JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1, jcgo_rcvrI1)= jcgo_rcvrI2);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
destPos++;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
destPos+= w2;
|
||
|
srcPos+= h2;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_INLINE void CFASTCALL
|
||
|
package_Surface__drawSprite__IAIAIIIIIIII( package_Surface This, jintArr
|
||
|
dest, jintArr src, jint i, jint srcPos, jint destPos, jint width,
|
||
|
jint height, jint j1, jint k1, jint yInc )
|
||
|
{
|
||
|
{
|
||
|
jint i2;
|
||
|
i2= (-JCGO_SHR_F(width, (jint)2));
|
||
|
width= (-(width & (jint)3));
|
||
|
{
|
||
|
jint j2;
|
||
|
j2= (-height);
|
||
|
for (; j2 < 0; j2+= yInc)
|
||
|
{
|
||
|
{
|
||
|
jint k2;
|
||
|
k2= i2;
|
||
|
for (; k2 < 0; k2++)
|
||
|
{
|
||
|
i= JCGO_ARRAY_IACCESS(src, srcPos++);
|
||
|
if (i != 0)
|
||
|
{
|
||
|
JCGO_ARRAY_IACCESS(dest, destPos++)= i;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
destPos++;
|
||
|
}
|
||
|
i= JCGO_ARRAY_NZIACCESS(src, srcPos++);
|
||
|
if (i != 0)
|
||
|
{
|
||
|
JCGO_ARRAY_IACCESS(dest, destPos++)= i;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
destPos++;
|
||
|
}
|
||
|
i= JCGO_ARRAY_NZIACCESS(src, srcPos++);
|
||
|
if (i != 0)
|
||
|
{
|
||
|
JCGO_ARRAY_IACCESS(dest, destPos++)= i;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
destPos++;
|
||
|
}
|
||
|
i= JCGO_ARRAY_NZIACCESS(src, srcPos++);
|
||
|
if (i != 0)
|
||
|
{
|
||
|
JCGO_ARRAY_IACCESS(dest, destPos++)= i;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
destPos++;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
{
|
||
|
jint l2;
|
||
|
l2= width;
|
||
|
for (; l2 < 0; l2++)
|
||
|
{
|
||
|
i= JCGO_ARRAY_IACCESS(src, srcPos++);
|
||
|
if (i != 0)
|
||
|
{
|
||
|
JCGO_ARRAY_IACCESS(dest, destPos++)= i;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
destPos++;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
destPos+= j1;
|
||
|
srcPos+= k1;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_INLINE void CFASTCALL
|
||
|
package_Surface__drawSpriteAlpha__IABAIAIIIIIIII( package_Surface
|
||
|
This, jintArr dest, jbyteArr coloursUsed, jintArr colourList, jint
|
||
|
listPos, jint size, jint width, jint height, jint extraXSpace, jint
|
||
|
j1, jint yInc, jint alpha )
|
||
|
{
|
||
|
{
|
||
|
jint i2;
|
||
|
i2= (jint)256 - alpha;
|
||
|
{
|
||
|
jint j2;
|
||
|
j2= (-height);
|
||
|
for (; j2 < 0; j2+= yInc)
|
||
|
{
|
||
|
{
|
||
|
jint k2;
|
||
|
k2= (-width);
|
||
|
for (; k2 < 0; k2++)
|
||
|
{
|
||
|
jint l2;
|
||
|
l2= (jint)(JCGO_ARRAY_BACCESS(coloursUsed, listPos++));
|
||
|
if (l2 != 0)
|
||
|
{
|
||
|
jint i3;
|
||
|
l2= JCGO_ARRAY_IACCESS(colourList, l2 & (jint)255);
|
||
|
i3= JCGO_ARRAY_IACCESS(dest, size);
|
||
|
JCGO_ARRAY_NZIACCESS(dest, size++)= JCGO_SHR_F((((l2 & (jint)16711935L) *
|
||
|
alpha + (i3 & (jint)16711935L) * i2) & (jint)-16711936L) +
|
||
|
(((l2 & (jint)65280L) * alpha + (i3 & (jint)65280L) * i2) &
|
||
|
(jint)16711680L), (jint)8);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
size++;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
size+= extraXSpace;
|
||
|
listPos+= j1;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_INLINE void CFASTCALL
|
||
|
package_Surface__drawSpriteAlpha__IAIAIIIIIIIII( package_Surface This,
|
||
|
jintArr dest, jintArr src, jint i, jint srcPos, jint size, jint width,
|
||
|
jint height, jint extraXSpace, jint k1, jint yInc, jint alpha )
|
||
|
{
|
||
|
{
|
||
|
jint j2;
|
||
|
j2= (jint)256 - alpha;
|
||
|
{
|
||
|
jint k2;
|
||
|
k2= (-height);
|
||
|
for (; k2 < 0; k2+= yInc)
|
||
|
{
|
||
|
{
|
||
|
jint l2;
|
||
|
l2= (-width);
|
||
|
for (; l2 < 0; l2++)
|
||
|
{
|
||
|
i= JCGO_ARRAY_IACCESS(src, srcPos++);
|
||
|
if (i != 0)
|
||
|
{
|
||
|
jint i3;
|
||
|
i3= JCGO_ARRAY_IACCESS(dest, size);
|
||
|
JCGO_ARRAY_NZIACCESS(dest, size++)= JCGO_SHR_F((((i & (jint)16711935L) *
|
||
|
alpha + (i3 & (jint)16711935L) * j2) & (jint)-16711936L) +
|
||
|
(((i & (jint)65280L) * alpha + (i3 & (jint)65280L) * j2) &
|
||
|
(jint)16711680L), (jint)8);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
size++;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
size+= extraXSpace;
|
||
|
srcPos+= k1;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_INLINE void CFASTCALL
|
||
|
package_Surface__transparentScale__IAIAIIIIIIIIIIII( package_Surface
|
||
|
This, jintArr dest, jintArr src, jint i, jint j, jint k, jint destPos,
|
||
|
jint i1, jint j1, jint k1, jint l1, jint i2, jint j2, jint yInc, jint
|
||
|
alpha )
|
||
|
{
|
||
|
{
|
||
|
jint i3;
|
||
|
i3= (jint)256 - alpha;
|
||
|
{
|
||
|
JCGO_TRY_BLOCK
|
||
|
{
|
||
|
jint j3;
|
||
|
j3= j;
|
||
|
{
|
||
|
jint k3;
|
||
|
k3= (-k1);
|
||
|
for (; k3 < 0; k3+= yInc)
|
||
|
{
|
||
|
jint l3;
|
||
|
l3= JCGO_SHR_F(k, (jint)16) * j2;
|
||
|
{
|
||
|
jint i4;
|
||
|
i4= (-j1);
|
||
|
for (; i4 < 0; i4++)
|
||
|
{
|
||
|
i= jcgo_jintArrAccess(src, JCGO_SHR_F(j, (jint)16) + l3)[0];
|
||
|
if (i != 0)
|
||
|
{
|
||
|
jint j4;
|
||
|
j4= jcgo_jintArrAccess(dest, destPos)[0];
|
||
|
jcgo_jintArrAccessNZ(dest, destPos++)[0]= JCGO_SHR_F((((i &
|
||
|
(jint)16711935L) * alpha + (j4 & (jint)16711935L) * i3) &
|
||
|
(jint)-16711936L) + (((i & (jint)65280L) * alpha + (j4 &
|
||
|
(jint)65280L) * i3) & (jint)16711680L), (jint)8);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
destPos++;
|
||
|
}
|
||
|
j+= l1;
|
||
|
}
|
||
|
}
|
||
|
k+= i2;
|
||
|
j= j3;
|
||
|
destPos+= i1;
|
||
|
}
|
||
|
}
|
||
|
#ifndef JCGO_SEHTRY
|
||
|
jcgo_tryLeave();
|
||
|
#endif
|
||
|
return;
|
||
|
}
|
||
|
JCGO_TRY_LEAVE
|
||
|
JCGO_TRY_CATCHES(1)
|
||
|
JCGO_TRY_CATCH(OBJT_java_lang_Exception, MAXT_java_lang_Exception)
|
||
|
{
|
||
|
(java_io_PrintStream__println__Ls(
|
||
|
JCGO_CLINIT_VARACC(java_lang_System__class, java_lang_System__out),
|
||
|
JCGO_STRREF_OF(jcgo_string3_Surface)));
|
||
|
}
|
||
|
JCGO_TRY_RETHROW(1)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_INLINE void CFASTCALL
|
||
|
package_Surface__plotScale__IAIAIIIIIIIIIIII( package_Surface This,
|
||
|
jintArr target, jintArr pixels, jint i, jint j, jint k, jint l, jint
|
||
|
i1, jint width, jint height, jint l1, jint i2, jint j2, jint yInc,
|
||
|
jint colour )
|
||
|
{
|
||
|
{
|
||
|
jint i3;
|
||
|
jint j3;
|
||
|
jint k3;
|
||
|
i3= JCGO_SHR_F(colour, (jint)16) & (jint)255;
|
||
|
j3= JCGO_SHR_F(colour, (jint)8) & (jint)255;
|
||
|
k3= colour & (jint)255;
|
||
|
{
|
||
|
JCGO_TRY_BLOCK
|
||
|
{
|
||
|
jint l3;
|
||
|
l3= j;
|
||
|
{
|
||
|
jint i4;
|
||
|
i4= (-height);
|
||
|
for (; i4 < 0; i4+= yInc)
|
||
|
{
|
||
|
jint j4;
|
||
|
j4= JCGO_SHR_F(k, (jint)16) * j2;
|
||
|
{
|
||
|
jint k4;
|
||
|
k4= (-width);
|
||
|
for (; k4 < 0; k4++)
|
||
|
{
|
||
|
i= jcgo_jintArrAccess(pixels, JCGO_SHR_F(j, (jint)16) + j4)[0];
|
||
|
if (i != 0)
|
||
|
{
|
||
|
jint l4;
|
||
|
jint i5;
|
||
|
jint j5;
|
||
|
l4= JCGO_SHR_F(i, (jint)16) & (jint)255;
|
||
|
i5= JCGO_SHR_F(i, (jint)8) & (jint)255;
|
||
|
j5= i & (jint)255;
|
||
|
if (l4 == i5 && i5 == j5)
|
||
|
{
|
||
|
jcgo_jintArrAccess(target, l++)[0]= (JCGO_SHL_F(JCGO_SHR_F(l4 *
|
||
|
i3, (jint)8), (jint)16) + JCGO_SHL_F(JCGO_SHR_F(i5 * j3,
|
||
|
(jint)8), (jint)8) + JCGO_SHR_F(j5 * k3, (jint)8));
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
jcgo_jintArrAccess(target, l++)[0]= i;
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
l++;
|
||
|
}
|
||
|
j+= l1;
|
||
|
}
|
||
|
}
|
||
|
k+= i2;
|
||
|
j= l3;
|
||
|
l+= i1;
|
||
|
}
|
||
|
}
|
||
|
#ifndef JCGO_SEHTRY
|
||
|
jcgo_tryLeave();
|
||
|
#endif
|
||
|
return;
|
||
|
}
|
||
|
JCGO_TRY_LEAVE
|
||
|
JCGO_TRY_CATCHES(1)
|
||
|
JCGO_TRY_CATCH(OBJT_java_lang_Exception, MAXT_java_lang_Exception)
|
||
|
{
|
||
|
(java_io_PrintStream__println__Ls(
|
||
|
JCGO_CLINIT_VARACC(java_lang_System__class, java_lang_System__out),
|
||
|
JCGO_STRREF_OF(jcgo_string2_Surface)));
|
||
|
}
|
||
|
JCGO_TRY_RETHROW(1)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_INLINE void CFASTCALL
|
||
|
package_Surface__drawMinimap__IAIAIIIIIIII( package_Surface This,
|
||
|
jintArr ai, jintArr ai1, jint i, jint j, jint k, jint l, jint i1,
|
||
|
jint j1, jint k1, jint l1 )
|
||
|
{
|
||
|
{
|
||
|
for (i= k1; i < 0; i++)
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
jint jcgo_rcvrI1;
|
||
|
jint jcgo_rcvrI2;
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, pixels), jcgo_rcvrI1=
|
||
|
j++, jcgo_rcvrI2= JCGO_ARRAY_IACCESS(ai1, JCGO_SHR_F(k, (jint)17) +
|
||
|
JCGO_SHR_F(l, (jint)17) * l1), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
|
||
|
jcgo_rcvrI1)= jcgo_rcvrI2);
|
||
|
k+= i1;
|
||
|
l+= j1;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_INLINE void CFASTCALL
|
||
|
package_Surface__drawMinimapTranslate__IAIAIIIIIIII( package_Surface
|
||
|
This, jintArr ai, jintArr ai1, jint i, jint j, jint k, jint l, jint
|
||
|
i1, jint j1, jint k1, jint l1 )
|
||
|
{
|
||
|
{
|
||
|
{
|
||
|
jint i2;
|
||
|
i2= k1;
|
||
|
for (; i2 < 0; i2++)
|
||
|
{
|
||
|
i= JCGO_ARRAY_IACCESS(ai1, JCGO_SHR_F(k, (jint)17) + JCGO_SHR_F(l,
|
||
|
(jint)17) * l1);
|
||
|
if (i != 0)
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
jint jcgo_rcvrI1;
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, pixels), jcgo_rcvrI1=
|
||
|
j++, JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1, jcgo_rcvrI1)= i);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
j++;
|
||
|
}
|
||
|
k+= i1;
|
||
|
l+= j1;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_FRWINL void CFASTCALL
|
||
|
package_Surface__drawStringCenter__LsIIII( package_Surface This, java_lang_String
|
||
|
text, jint x, jint y, jint font, jint colour )
|
||
|
{
|
||
|
{
|
||
|
(package_Surface__drawstring__LsIIII(
|
||
|
This, text, x - (package_Surface__textWidth__LsI(
|
||
|
This, text, font)) / (jint)2, y, font, colour));
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_INLINE void CFASTCALL
|
||
|
package_Surface__plotLetter__IABAIIIIIII( package_Surface This, jintArr
|
||
|
ai, jbyteArr abyte0, jint i, jint j, jint k, jint l, jint i1, jint
|
||
|
j1, jint k1 )
|
||
|
{
|
||
|
{
|
||
|
{
|
||
|
JCGO_TRY_BLOCK
|
||
|
{
|
||
|
jint l1;
|
||
|
l1= (-JCGO_SHR_F(l, (jint)2));
|
||
|
l= (-(l & (jint)3));
|
||
|
{
|
||
|
jint i2;
|
||
|
i2= (-i1);
|
||
|
for (; i2 < 0; i2++)
|
||
|
{
|
||
|
{
|
||
|
jint j2;
|
||
|
j2= l1;
|
||
|
for (; j2 < 0; j2++)
|
||
|
{
|
||
|
if (jcgo_jbyteArrAccess(abyte0, j++)[0] != 0)
|
||
|
{
|
||
|
jcgo_jintArrAccess(ai, k++)[0]= i;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
k++;
|
||
|
}
|
||
|
if (jcgo_jbyteArrAccessNZ(abyte0, j++)[0] != 0)
|
||
|
{
|
||
|
jcgo_jintArrAccess(ai, k++)[0]= i;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
k++;
|
||
|
}
|
||
|
if (jcgo_jbyteArrAccessNZ(abyte0, j++)[0] != 0)
|
||
|
{
|
||
|
jcgo_jintArrAccess(ai, k++)[0]= i;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
k++;
|
||
|
}
|
||
|
if (jcgo_jbyteArrAccessNZ(abyte0, j++)[0] != 0)
|
||
|
{
|
||
|
jcgo_jintArrAccess(ai, k++)[0]= i;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
k++;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
{
|
||
|
jint k2;
|
||
|
k2= l;
|
||
|
for (; k2 < 0; k2++)
|
||
|
{
|
||
|
if (jcgo_jbyteArrAccess(abyte0, j++)[0] != 0)
|
||
|
{
|
||
|
jcgo_jintArrAccess(ai, k++)[0]= i;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
k++;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
k+= j1;
|
||
|
j+= k1;
|
||
|
}
|
||
|
}
|
||
|
#ifndef JCGO_SEHTRY
|
||
|
jcgo_tryLeave();
|
||
|
#endif
|
||
|
return;
|
||
|
}
|
||
|
JCGO_TRY_LEAVE
|
||
|
JCGO_TRY_CATCHES(1)
|
||
|
JCGO_TRY_CATCH(OBJT_java_lang_Exception, MAXT_java_lang_Exception)
|
||
|
{
|
||
|
java_lang_Exception exception;
|
||
|
jObject jcgo_rcvrL1;
|
||
|
exception= (java_lang_Exception)JCGO_TRY_THROWABLE(0);
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_CLINIT_VARACC(java_lang_System__class,
|
||
|
java_lang_System__out), java_io_PrintStream__println__Ls(
|
||
|
(java_io_PrintStream)jcgo_rcvrL1, java_lang_VMSystem__concat0X__LsLs(
|
||
|
JCGO_STRREF_OF(jcgo_string4_Surface), (java_lang_Throwable__toString__(
|
||
|
(java_lang_Throwable)exception)))));
|
||
|
(java_lang_Throwable__printStackTrace__(
|
||
|
(java_lang_Throwable)exception));
|
||
|
return;
|
||
|
}
|
||
|
JCGO_TRY_RETHROW(1)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_INLINE jint CFASTCALL
|
||
|
package_Surface__textHeightFont__I( package_Surface This, jint fontId
|
||
|
)
|
||
|
{
|
||
|
{
|
||
|
if (fontId == 0)
|
||
|
{
|
||
|
return JCGO_ARRAY_BACCESS(((jbyteArr)JCGO_ARRAY_LACCESS(package_Surface__gameFonts,
|
||
|
fontId)), (jint)8) - (jint)2;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
return JCGO_ARRAY_BACCESS(((jbyteArr)JCGO_ARRAY_LACCESS(package_Surface__gameFonts,
|
||
|
fontId)), (jint)8) - (jint)1;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_INLINE package_Surface CFASTCALL
|
||
|
package_Surface__this__IIIL6iieb( package_Surface This, package_mudclient
|
||
|
component, jint width, jint height, jint limit )
|
||
|
{
|
||
|
{
|
||
|
;
|
||
|
JCGO_FIELD_NZACCESS(This, interlace)= (jboolean)jfalse;
|
||
|
JCGO_FIELD_NZACCESS(This, loggedIn)= (jboolean)jfalse;
|
||
|
JCGO_FIELD_NZACCESS(This, boundsBottomY)= height;
|
||
|
JCGO_FIELD_NZACCESS(This, boundsBottomX)= width;
|
||
|
JCGO_FIELD_NZACCESS(This, width1)= JCGO_FIELD_NZACCESS(This, width2)=
|
||
|
width;
|
||
|
(void)(JCGO_FIELD_NZACCESS(This, height2)= height);
|
||
|
(void)(width * height);
|
||
|
JCGO_FIELD_NZACCESS(This, pixels)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
|
||
|
0, width * height);
|
||
|
JCGO_FIELD_NZACCESS(This, surfacePixels)= (jObjectArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
|
||
|
1, limit);
|
||
|
JCGO_FIELD_NZACCESS(This, spriteTranslate)= (jbooleanArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jboolean),
|
||
|
0, limit);
|
||
|
JCGO_FIELD_NZACCESS(This, spriteColoursUsed)= (jObjectArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jbyte),
|
||
|
1, limit);
|
||
|
JCGO_FIELD_NZACCESS(This, spriteColourList)= (jObjectArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
|
||
|
1, limit);
|
||
|
JCGO_FIELD_NZACCESS(This, spriteWidth)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
|
||
|
0, limit);
|
||
|
JCGO_FIELD_NZACCESS(This, spriteHeight)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
|
||
|
0, limit);
|
||
|
JCGO_FIELD_NZACCESS(This, spriteWidthFull)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
|
||
|
0, limit);
|
||
|
JCGO_FIELD_NZACCESS(This, spriteHeightFull)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
|
||
|
0, limit);
|
||
|
JCGO_FIELD_NZACCESS(This, spriteTranslateX)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
|
||
|
0, limit);
|
||
|
JCGO_FIELD_NZACCESS(This, spriteTranslateY)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
|
||
|
0, limit);
|
||
|
}
|
||
|
return This;
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_FRWINL jint CFASTCALL
|
||
|
package_Surface__rgb2long__III( jint red, jint green, jint blue )
|
||
|
{
|
||
|
JCGO_CLINIT_TRIG(package_Surface__class);
|
||
|
{
|
||
|
return JCGO_SHL_F(red, (jint)16) + JCGO_SHL_F(green, (jint)8) + blue;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_FRWINL void CFASTCALL
|
||
|
package_Surface__createFont__BAI( jbyteArr bytes, jint id )
|
||
|
{
|
||
|
JCGO_CLINIT_TRIG(package_Surface__class);
|
||
|
{
|
||
|
*(jbyteArr*)&JCGO_ARRAY_LACCESS(package_Surface__gameFonts, id)=
|
||
|
bytes;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__setBounds__IIII( package_Surface This, jint x1, jint
|
||
|
y1, jint x2, jint y2 )
|
||
|
{
|
||
|
{
|
||
|
if (x1 < 0)
|
||
|
{
|
||
|
x1= 0;
|
||
|
}
|
||
|
if (y1 < 0)
|
||
|
{
|
||
|
y1= 0;
|
||
|
}
|
||
|
if (x2 > JCGO_FIELD_NZACCESS(This, width2))
|
||
|
{
|
||
|
x2= JCGO_FIELD_NZACCESS(This, width2);
|
||
|
}
|
||
|
if (y2 > JCGO_FIELD_NZACCESS(This, height2))
|
||
|
{
|
||
|
y2= JCGO_FIELD_NZACCESS(This, height2);
|
||
|
}
|
||
|
JCGO_FIELD_NZACCESS(This, boundsTopX)= x1;
|
||
|
JCGO_FIELD_NZACCESS(This, boundsTopY)= y1;
|
||
|
JCGO_FIELD_NZACCESS(This, boundsBottomX)= x2;
|
||
|
JCGO_FIELD_NZACCESS(This, boundsBottomY)= y2;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_FRWINL void CFASTCALL
|
||
|
package_Surface__resetBounds__( package_Surface This )
|
||
|
{
|
||
|
{
|
||
|
JCGO_FIELD_NZACCESS(This, boundsTopX)= 0;
|
||
|
JCGO_FIELD_NZACCESS(This, boundsTopY)= 0;
|
||
|
JCGO_FIELD_NZACCESS(This, boundsBottomX)= JCGO_FIELD_NZACCESS(This,
|
||
|
width2);
|
||
|
JCGO_FIELD_NZACCESS(This, boundsBottomY)= JCGO_FIELD_NZACCESS(This,
|
||
|
height2);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_FRWINL void CFASTCALL
|
||
|
package_Surface__draw__II( package_Surface This, jint x, jint y )
|
||
|
{
|
||
|
{
|
||
|
(package_Surface__setcomplete__(
|
||
|
This));
|
||
|
|
||
|
jint* pixel_bytes = (jint*) JCGO_FIELD_NZACCESS(This, pixels);
|
||
|
memcpy(pixel_surface->pixels, pixel_bytes + 5, AREA * sizeof(jint));
|
||
|
SDL_BlitSurface(pixel_surface, NULL, screen, NULL);
|
||
|
SDL_UpdateWindowSurface(window);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__blackScreen__( package_Surface This )
|
||
|
{
|
||
|
{
|
||
|
jint area;
|
||
|
jint k;
|
||
|
area= JCGO_FIELD_NZACCESS(This, width2) * JCGO_FIELD_NZACCESS(This,
|
||
|
height2);
|
||
|
if (!JCGO_FIELD_NZACCESS(This, interlace))
|
||
|
{
|
||
|
{
|
||
|
jint j;
|
||
|
j= 0;
|
||
|
for (; j < area; j++)
|
||
|
{
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, pixels), j)= 0;
|
||
|
}
|
||
|
}
|
||
|
return;
|
||
|
}
|
||
|
k= 0;
|
||
|
{
|
||
|
jint l;
|
||
|
l= (-JCGO_FIELD_NZACCESS(This, height2));
|
||
|
for (; l < 0; l+= (jint)2)
|
||
|
{
|
||
|
{
|
||
|
jint i1;
|
||
|
i1= (-JCGO_FIELD_NZACCESS(This, width2));
|
||
|
for (; i1 < 0; i1++)
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, pixels), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
|
||
|
k++)= 0);
|
||
|
}
|
||
|
}
|
||
|
k+= JCGO_FIELD_NZACCESS(This, width2);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__drawCircle__IIIII( package_Surface This, jint x,
|
||
|
jint y, jint radius, jint colour, jint alpha )
|
||
|
{
|
||
|
{
|
||
|
jint bgAlpha;
|
||
|
jint red;
|
||
|
jint green;
|
||
|
jint blue;
|
||
|
jint top;
|
||
|
jint bottom;
|
||
|
jbyte vertInc;
|
||
|
bgAlpha= (jint)256 - alpha;
|
||
|
red= (JCGO_SHR_F(colour, (jint)16) & (jint)255) * alpha;
|
||
|
green= (JCGO_SHR_F(colour, (jint)8) & (jint)255) * alpha;
|
||
|
blue= (colour & (jint)255) * alpha;
|
||
|
top= y - radius;
|
||
|
if (top < 0)
|
||
|
{
|
||
|
top= 0;
|
||
|
}
|
||
|
bottom= y + radius;
|
||
|
if (bottom >= JCGO_FIELD_NZACCESS(This, height2))
|
||
|
{
|
||
|
bottom= JCGO_FIELD_NZACCESS(This, height2) - (jint)1;
|
||
|
}
|
||
|
vertInc= (jbyte)(jint)1;
|
||
|
if (JCGO_FIELD_NZACCESS(This, interlace))
|
||
|
{
|
||
|
vertInc= (jbyte)(jint)2;
|
||
|
if ((top & (jint)1) != 0)
|
||
|
{
|
||
|
top++;
|
||
|
}
|
||
|
}
|
||
|
{
|
||
|
jint yy;
|
||
|
yy= top;
|
||
|
for (; yy <= bottom; yy+= (jint)vertInc)
|
||
|
{
|
||
|
jint l3;
|
||
|
jint i4;
|
||
|
jint j4;
|
||
|
jint k4;
|
||
|
jint pixelIdx;
|
||
|
l3= yy - y;
|
||
|
i4= JCGO_JDOUBLE_TOJINT((java_lang_Math__sqrt__D(
|
||
|
(jdouble)(radius * radius - l3 * l3))));
|
||
|
j4= x - i4;
|
||
|
if (j4 < 0)
|
||
|
{
|
||
|
j4= 0;
|
||
|
}
|
||
|
k4= x + i4;
|
||
|
if (k4 >= JCGO_FIELD_NZACCESS(This, width2))
|
||
|
{
|
||
|
k4= JCGO_FIELD_NZACCESS(This, width2) - (jint)1;
|
||
|
}
|
||
|
pixelIdx= j4 + yy * JCGO_FIELD_NZACCESS(This, width2);
|
||
|
{
|
||
|
jint i5;
|
||
|
i5= j4;
|
||
|
for (; i5 <= k4; i5++)
|
||
|
{
|
||
|
jint bgRed;
|
||
|
jint bgGreen;
|
||
|
jint bgBlue;
|
||
|
jint newColour;
|
||
|
jObject jcgo_rcvrL1;
|
||
|
jint jcgo_rcvrI1;
|
||
|
bgRed= (JCGO_SHR_F(JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
pixels), pixelIdx), (jint)16) & (jint)255) * bgAlpha;
|
||
|
bgGreen= (JCGO_SHR_F(JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
pixels), pixelIdx), (jint)8) & (jint)255) * bgAlpha;
|
||
|
bgBlue= (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, pixels),
|
||
|
pixelIdx) & (jint)255) * bgAlpha;
|
||
|
newColour= JCGO_SHL_F(JCGO_SHR_F(red + bgRed, (jint)8), (jint)16) +
|
||
|
JCGO_SHL_F(JCGO_SHR_F(green + bgGreen, (jint)8), (jint)8) +
|
||
|
JCGO_SHR_F(blue + bgBlue, (jint)8);
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, pixels), jcgo_rcvrI1=
|
||
|
pixelIdx++, JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1, jcgo_rcvrI1)=
|
||
|
newColour);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__drawBoxAlpha__IIIIII( package_Surface This, jint
|
||
|
x, jint y, jint width, jint height, jint colour, jint alpha )
|
||
|
{
|
||
|
{
|
||
|
jint bgAlpha;
|
||
|
jint red;
|
||
|
jint green;
|
||
|
jint blue;
|
||
|
jint j3;
|
||
|
jint pixelIdx;
|
||
|
jbyte vertInc;
|
||
|
if (x < JCGO_FIELD_NZACCESS(This, boundsTopX))
|
||
|
{
|
||
|
width-= JCGO_FIELD_NZACCESS(This, boundsTopX) - x;
|
||
|
x= JCGO_FIELD_NZACCESS(This, boundsTopX);
|
||
|
}
|
||
|
if (y < JCGO_FIELD_NZACCESS(This, boundsTopY))
|
||
|
{
|
||
|
height-= JCGO_FIELD_NZACCESS(This, boundsTopY) - y;
|
||
|
y= JCGO_FIELD_NZACCESS(This, boundsTopY);
|
||
|
}
|
||
|
if (x + width > JCGO_FIELD_NZACCESS(This, boundsBottomX))
|
||
|
{
|
||
|
width= JCGO_FIELD_NZACCESS(This, boundsBottomX) - x;
|
||
|
}
|
||
|
if (y + height > JCGO_FIELD_NZACCESS(This, boundsBottomY))
|
||
|
{
|
||
|
height= JCGO_FIELD_NZACCESS(This, boundsBottomY) - y;
|
||
|
}
|
||
|
bgAlpha= (jint)256 - alpha;
|
||
|
red= (JCGO_SHR_F(colour, (jint)16) & (jint)255) * alpha;
|
||
|
green= (JCGO_SHR_F(colour, (jint)8) & (jint)255) * alpha;
|
||
|
blue= (colour & (jint)255) * alpha;
|
||
|
j3= JCGO_FIELD_NZACCESS(This, width2) - width;
|
||
|
vertInc= (jbyte)(jint)1;
|
||
|
if (JCGO_FIELD_NZACCESS(This, interlace))
|
||
|
{
|
||
|
vertInc= (jbyte)(jint)2;
|
||
|
j3+= JCGO_FIELD_NZACCESS(This, width2);
|
||
|
if ((y & (jint)1) != 0)
|
||
|
{
|
||
|
y++;
|
||
|
height--;
|
||
|
}
|
||
|
}
|
||
|
pixelIdx= x + y * JCGO_FIELD_NZACCESS(This, width2);
|
||
|
{
|
||
|
jint l3;
|
||
|
l3= 0;
|
||
|
for (; l3 < height; l3+= (jint)vertInc)
|
||
|
{
|
||
|
{
|
||
|
jint i4;
|
||
|
i4= (-width);
|
||
|
for (; i4 < 0; i4++)
|
||
|
{
|
||
|
jint bgRed;
|
||
|
jint bgGreen;
|
||
|
jint bgBlue;
|
||
|
jint newColour;
|
||
|
jObject jcgo_rcvrL1;
|
||
|
jint jcgo_rcvrI1;
|
||
|
bgRed= (JCGO_SHR_F(JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
pixels), pixelIdx), (jint)16) & (jint)255) * bgAlpha;
|
||
|
bgGreen= (JCGO_SHR_F(JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
pixels), pixelIdx), (jint)8) & (jint)255) * bgAlpha;
|
||
|
bgBlue= (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, pixels),
|
||
|
pixelIdx) & (jint)255) * bgAlpha;
|
||
|
newColour= JCGO_SHL_F(JCGO_SHR_F(red + bgRed, (jint)8), (jint)16) +
|
||
|
JCGO_SHL_F(JCGO_SHR_F(green + bgGreen, (jint)8), (jint)8) +
|
||
|
JCGO_SHR_F(blue + bgBlue, (jint)8);
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, pixels), jcgo_rcvrI1=
|
||
|
pixelIdx++, JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1, jcgo_rcvrI1)=
|
||
|
newColour);
|
||
|
}
|
||
|
}
|
||
|
pixelIdx+= j3;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__drawGradient__IIIIII( package_Surface This, jint
|
||
|
x, jint y, jint width, jint height, jint colourTop, jint colourBottom
|
||
|
)
|
||
|
{
|
||
|
{
|
||
|
jint btmRed;
|
||
|
jint btmGreen;
|
||
|
jint btmBlue;
|
||
|
jint topRed;
|
||
|
jint topGreen;
|
||
|
jint topBlue;
|
||
|
jint i3;
|
||
|
jint pixelIdx;
|
||
|
jbyte vertInc;
|
||
|
if (x < JCGO_FIELD_NZACCESS(This, boundsTopX))
|
||
|
{
|
||
|
width-= JCGO_FIELD_NZACCESS(This, boundsTopX) - x;
|
||
|
x= JCGO_FIELD_NZACCESS(This, boundsTopX);
|
||
|
}
|
||
|
if (x + width > JCGO_FIELD_NZACCESS(This, boundsBottomX))
|
||
|
{
|
||
|
width= JCGO_FIELD_NZACCESS(This, boundsBottomX) - x;
|
||
|
}
|
||
|
btmRed= JCGO_SHR_F(colourBottom, (jint)16) & (jint)255;
|
||
|
btmGreen= JCGO_SHR_F(colourBottom, (jint)8) & (jint)255;
|
||
|
btmBlue= colourBottom & (jint)255;
|
||
|
topRed= JCGO_SHR_F(colourTop, (jint)16) & (jint)255;
|
||
|
topGreen= JCGO_SHR_F(colourTop, (jint)8) & (jint)255;
|
||
|
topBlue= colourTop & (jint)255;
|
||
|
i3= JCGO_FIELD_NZACCESS(This, width2) - width;
|
||
|
vertInc= (jbyte)(jint)1;
|
||
|
if (JCGO_FIELD_NZACCESS(This, interlace))
|
||
|
{
|
||
|
vertInc= (jbyte)(jint)2;
|
||
|
i3+= JCGO_FIELD_NZACCESS(This, width2);
|
||
|
if ((y & (jint)1) != 0)
|
||
|
{
|
||
|
y++;
|
||
|
height--;
|
||
|
}
|
||
|
}
|
||
|
pixelIdx= x + y * JCGO_FIELD_NZACCESS(This, width2);
|
||
|
{
|
||
|
jint k3;
|
||
|
k3= 0;
|
||
|
for (; k3 < height; k3+= (jint)vertInc)
|
||
|
{
|
||
|
if (k3 + y >= JCGO_FIELD_NZACCESS(This, boundsTopY) && k3 + y <
|
||
|
JCGO_FIELD_NZACCESS(This, boundsBottomY))
|
||
|
{
|
||
|
jint newColour;
|
||
|
jint jcgo_rcvrI1;
|
||
|
newColour= (jcgo_rcvrI1= (jcgo_rcvrI1= JCGO_SHL_F(jcgo_div((btmRed *
|
||
|
k3 + topRed * (height - k3)), height), (jint)16), jcgo_rcvrI1 +
|
||
|
JCGO_SHL_F(jcgo_div((btmGreen * k3 + topGreen * (height - k3)),
|
||
|
height), (jint)8)), jcgo_rcvrI1 + jcgo_div((btmBlue * k3 + topBlue *
|
||
|
(height - k3)), height));
|
||
|
{
|
||
|
jint i4;
|
||
|
i4= (-width);
|
||
|
for (; i4 < 0; i4++)
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
jint jcgo_rcvrI1;
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, pixels), jcgo_rcvrI1=
|
||
|
pixelIdx++, JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1, jcgo_rcvrI1)=
|
||
|
newColour);
|
||
|
}
|
||
|
}
|
||
|
pixelIdx+= i3;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
pixelIdx+= JCGO_FIELD_NZACCESS(This, width2);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__drawBox__IIIII( package_Surface This, jint x, jint
|
||
|
y, jint w, jint h, jint colour )
|
||
|
{
|
||
|
{
|
||
|
jint j1;
|
||
|
jint pixelIdx;
|
||
|
jbyte vertInc;
|
||
|
if (x < JCGO_FIELD_NZACCESS(This, boundsTopX))
|
||
|
{
|
||
|
w-= JCGO_FIELD_NZACCESS(This, boundsTopX) - x;
|
||
|
x= JCGO_FIELD_NZACCESS(This, boundsTopX);
|
||
|
}
|
||
|
if (y < JCGO_FIELD_NZACCESS(This, boundsTopY))
|
||
|
{
|
||
|
h-= JCGO_FIELD_NZACCESS(This, boundsTopY) - y;
|
||
|
y= JCGO_FIELD_NZACCESS(This, boundsTopY);
|
||
|
}
|
||
|
if (x + w > JCGO_FIELD_NZACCESS(This, boundsBottomX))
|
||
|
{
|
||
|
w= JCGO_FIELD_NZACCESS(This, boundsBottomX) - x;
|
||
|
}
|
||
|
if (y + h > JCGO_FIELD_NZACCESS(This, boundsBottomY))
|
||
|
{
|
||
|
h= JCGO_FIELD_NZACCESS(This, boundsBottomY) - y;
|
||
|
}
|
||
|
j1= JCGO_FIELD_NZACCESS(This, width2) - w;
|
||
|
vertInc= (jbyte)(jint)1;
|
||
|
if (JCGO_FIELD_NZACCESS(This, interlace))
|
||
|
{
|
||
|
vertInc= (jbyte)(jint)2;
|
||
|
j1+= JCGO_FIELD_NZACCESS(This, width2);
|
||
|
if ((y & (jint)1) != 0)
|
||
|
{
|
||
|
y++;
|
||
|
h--;
|
||
|
}
|
||
|
}
|
||
|
pixelIdx= x + y * JCGO_FIELD_NZACCESS(This, width2);
|
||
|
{
|
||
|
jint l1;
|
||
|
l1= (-h);
|
||
|
for (; l1 < 0; l1+= (jint)vertInc)
|
||
|
{
|
||
|
{
|
||
|
jint i2;
|
||
|
i2= (-w);
|
||
|
for (; i2 < 0; i2++)
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
jint jcgo_rcvrI1;
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, pixels), jcgo_rcvrI1=
|
||
|
pixelIdx++, JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1, jcgo_rcvrI1)=
|
||
|
colour);
|
||
|
}
|
||
|
}
|
||
|
pixelIdx+= j1;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__drawBoxEdge__IIIII( package_Surface This, jint x,
|
||
|
jint y, jint width, jint height, jint colour )
|
||
|
{
|
||
|
{
|
||
|
(package_Surface__drawLineHoriz__IIII(
|
||
|
This, x, y, width, colour));
|
||
|
(package_Surface__drawLineHoriz__IIII(
|
||
|
This, x, (y + height) - (jint)1, width, colour));
|
||
|
(package_Surface__drawLineVert__IIII(
|
||
|
This, x, y, height, colour));
|
||
|
(package_Surface__drawLineVert__IIII(
|
||
|
This, (x + width) - (jint)1, y, height, colour));
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__drawLineHoriz__IIII( package_Surface This, jint x,
|
||
|
jint y, jint width, jint colour )
|
||
|
{
|
||
|
{
|
||
|
jint i1;
|
||
|
if (y < JCGO_FIELD_NZACCESS(This, boundsTopY) || y >= JCGO_FIELD_NZACCESS(This,
|
||
|
boundsBottomY))
|
||
|
{
|
||
|
return;
|
||
|
}
|
||
|
if (x < JCGO_FIELD_NZACCESS(This, boundsTopX))
|
||
|
{
|
||
|
width-= JCGO_FIELD_NZACCESS(This, boundsTopX) - x;
|
||
|
x= JCGO_FIELD_NZACCESS(This, boundsTopX);
|
||
|
}
|
||
|
if (x + width > JCGO_FIELD_NZACCESS(This, boundsBottomX))
|
||
|
{
|
||
|
width= JCGO_FIELD_NZACCESS(This, boundsBottomX) - x;
|
||
|
}
|
||
|
i1= x + y * JCGO_FIELD_NZACCESS(This, width2);
|
||
|
{
|
||
|
jint j1;
|
||
|
j1= 0;
|
||
|
for (; j1 < width; j1++)
|
||
|
{
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, pixels), i1 + j1)=
|
||
|
colour;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__drawLineVert__IIII( package_Surface This, jint x,
|
||
|
jint y, jint height, jint colour )
|
||
|
{
|
||
|
{
|
||
|
jint i1;
|
||
|
if (x < JCGO_FIELD_NZACCESS(This, boundsTopX) || x >= JCGO_FIELD_NZACCESS(This,
|
||
|
boundsBottomX))
|
||
|
{
|
||
|
return;
|
||
|
}
|
||
|
if (y < JCGO_FIELD_NZACCESS(This, boundsTopY))
|
||
|
{
|
||
|
height-= JCGO_FIELD_NZACCESS(This, boundsTopY) - y;
|
||
|
y= JCGO_FIELD_NZACCESS(This, boundsTopY);
|
||
|
}
|
||
|
if (y + height > JCGO_FIELD_NZACCESS(This, boundsBottomX))
|
||
|
{
|
||
|
height= JCGO_FIELD_NZACCESS(This, boundsBottomY) - y;
|
||
|
}
|
||
|
i1= x + y * JCGO_FIELD_NZACCESS(This, width2);
|
||
|
{
|
||
|
jint j1;
|
||
|
j1= 0;
|
||
|
for (; j1 < height; j1++)
|
||
|
{
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, pixels), i1 + j1 *
|
||
|
JCGO_FIELD_NZACCESS(This, width2))= colour;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__setPixel__III( package_Surface This, jint x, jint
|
||
|
y, jint colour )
|
||
|
{
|
||
|
{
|
||
|
if (x < JCGO_FIELD_NZACCESS(This, boundsTopX) || y < JCGO_FIELD_NZACCESS(This,
|
||
|
boundsTopY) || x >= JCGO_FIELD_NZACCESS(This, boundsBottomX) ||
|
||
|
y >= JCGO_FIELD_NZACCESS(This, boundsBottomY))
|
||
|
{
|
||
|
return;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, pixels), x + y * JCGO_FIELD_NZACCESS(This,
|
||
|
width2))= colour;
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__fade2black__( package_Surface This )
|
||
|
{
|
||
|
{
|
||
|
jint k;
|
||
|
k= JCGO_FIELD_NZACCESS(This, width2) * JCGO_FIELD_NZACCESS(This,
|
||
|
height2);
|
||
|
{
|
||
|
jint j;
|
||
|
j= 0;
|
||
|
for (; j < k; j++)
|
||
|
{
|
||
|
jint i;
|
||
|
i= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, pixels), j) & (jint)16777215L;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, pixels), j)= ((JCGO_USHR_F(i,
|
||
|
(jint)1) & (jint)8355711L) + (JCGO_USHR_F(i, (jint)2) & (jint)4144959L) +
|
||
|
(JCGO_USHR_F(i, (jint)3) & (jint)2039583L) + (JCGO_USHR_F(i, (jint)4) &
|
||
|
(jint)986895L));
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__drawLineAlpha__IIIIII( package_Surface This, jint
|
||
|
i, jint j, jint x, jint y, jint width, jint height )
|
||
|
{
|
||
|
{
|
||
|
{
|
||
|
jint xx;
|
||
|
xx= x;
|
||
|
for (; xx < x + width; xx++)
|
||
|
{
|
||
|
{
|
||
|
jint yy;
|
||
|
yy= y;
|
||
|
for (; yy < y + height; yy++)
|
||
|
{
|
||
|
jint i2;
|
||
|
jint j2;
|
||
|
jint k2;
|
||
|
jint l2;
|
||
|
jint jcgo_rcvrI1;
|
||
|
jint jcgo_rcvrI2;
|
||
|
i2= 0;
|
||
|
j2= 0;
|
||
|
k2= 0;
|
||
|
l2= 0;
|
||
|
{
|
||
|
jint i3;
|
||
|
i3= xx - i;
|
||
|
for (; i3 <= xx + i; i3++)
|
||
|
{
|
||
|
if (i3 >= 0 && i3 < JCGO_FIELD_NZACCESS(This, width2))
|
||
|
{
|
||
|
{
|
||
|
jint j3;
|
||
|
j3= yy - j;
|
||
|
for (; j3 <= yy + j; j3++)
|
||
|
{
|
||
|
if (j3 >= 0 && j3 < JCGO_FIELD_NZACCESS(This, height2))
|
||
|
{
|
||
|
jint k3;
|
||
|
k3= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, pixels),
|
||
|
i3 + JCGO_FIELD_NZACCESS(This, width2) * j3);
|
||
|
i2+= JCGO_SHR_F(k3, (jint)16) & (jint)255;
|
||
|
j2+= JCGO_SHR_F(k3, (jint)8) & (jint)255;
|
||
|
k2+= k3 & (jint)255;
|
||
|
l2++;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
(jcgo_rcvrI1= (jcgo_rcvrI2= (jcgo_rcvrI2= JCGO_SHL_F(jcgo_div(i2,
|
||
|
l2), (jint)16), jcgo_rcvrI2 + JCGO_SHL_F(jcgo_div(j2, l2), (jint)8)),
|
||
|
jcgo_rcvrI2 + jcgo_div(k2, l2)), JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
pixels), xx + JCGO_FIELD_NZACCESS(This, width2) * yy)= jcgo_rcvrI1);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_FRWINL void CFASTCALL
|
||
|
package_Surface__clear__( package_Surface This )
|
||
|
{
|
||
|
{
|
||
|
{
|
||
|
jint i;
|
||
|
i= 0;
|
||
|
for (; i < JCGO_ARRAY_LENGTH(JCGO_FIELD_NZACCESS(This, surfacePixels));
|
||
|
i++)
|
||
|
{
|
||
|
*(jintArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, surfacePixels),
|
||
|
i)= (jintArr)jnull;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteWidth), i)=
|
||
|
0;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteHeight), i)=
|
||
|
0;
|
||
|
*(jbyteArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, spriteColoursUsed),
|
||
|
i)= (jbyteArr)jnull;
|
||
|
*(jintArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, spriteColourList),
|
||
|
i)= (jintArr)jnull;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__parseSprite__IBABAI( package_Surface This, jbyteArr
|
||
|
spriteData, jbyteArr indexData, jint spriteId, jint frameCount )
|
||
|
{
|
||
|
{
|
||
|
jintArr colours;
|
||
|
jint indexOff;
|
||
|
jint fullWidth;
|
||
|
jint fullHeight;
|
||
|
jint colourCount;
|
||
|
jint spriteOff;
|
||
|
indexOff= (package_Utility__getUnsignedShort__BAI(
|
||
|
spriteData, 0));
|
||
|
fullWidth= (package_Utility__getUnsignedShort__BAI(
|
||
|
indexData, indexOff));
|
||
|
indexOff+= (jint)2;
|
||
|
fullHeight= (package_Utility__getUnsignedShort__BAI(
|
||
|
indexData, indexOff));
|
||
|
indexOff+= (jint)2;
|
||
|
colourCount= (jint)((unsigned char)(JCGO_ARRAY_NZBACCESS(indexData,
|
||
|
indexOff++)));
|
||
|
colours= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint), 0,
|
||
|
colourCount);
|
||
|
JCGO_ARRAY_NZIACCESS(colours, 0)= (jint)16711935L;
|
||
|
{
|
||
|
jint i;
|
||
|
i= 0;
|
||
|
for (; i < colourCount - (jint)1; i++)
|
||
|
{
|
||
|
jint jcgo_rcvrI1;
|
||
|
jint jcgo_rcvrI2;
|
||
|
(jcgo_rcvrI1= (jcgo_rcvrI2= (jcgo_rcvrI2= JCGO_SHL_F(((jint)((unsigned char)(JCGO_ARRAY_NZBACCESS(indexData,
|
||
|
indexOff)))), (jint)16), jcgo_rcvrI2 + JCGO_SHL_F(((jint)((unsigned char)(JCGO_ARRAY_NZBACCESS(indexData,
|
||
|
indexOff + (jint)1)))), (jint)8)), jcgo_rcvrI2 + ((jint)((unsigned char)(JCGO_ARRAY_NZBACCESS(indexData,
|
||
|
indexOff + (jint)2))))), JCGO_ARRAY_NZIACCESS(colours, i + (jint)1)=
|
||
|
jcgo_rcvrI1);
|
||
|
indexOff+= (jint)3;
|
||
|
}
|
||
|
}
|
||
|
spriteOff= (jint)2;
|
||
|
{
|
||
|
jint id;
|
||
|
id= spriteId;
|
||
|
for (; id < spriteId + frameCount; id++)
|
||
|
{
|
||
|
jint unknown;
|
||
|
jint size;
|
||
|
jObject jcgo_rcvrL1;
|
||
|
jint jcgo_rcvrI1;
|
||
|
jint jcgo_rcvrI2;
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, spriteTranslateX),
|
||
|
jcgo_rcvrI1= id, jcgo_rcvrI2= (jint)((unsigned char)(JCGO_ARRAY_NZBACCESS(indexData,
|
||
|
indexOff++))), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1, jcgo_rcvrI1)=
|
||
|
jcgo_rcvrI2);
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, spriteTranslateY),
|
||
|
jcgo_rcvrI1= id, jcgo_rcvrI2= (jint)((unsigned char)(JCGO_ARRAY_NZBACCESS(indexData,
|
||
|
indexOff++))), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1, jcgo_rcvrI1)=
|
||
|
jcgo_rcvrI2);
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, spriteWidth),
|
||
|
jcgo_rcvrI1= id, jcgo_rcvrI2= (package_Utility__getUnsignedShort__BAI(
|
||
|
indexData, indexOff)), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
|
||
|
jcgo_rcvrI1)= jcgo_rcvrI2);
|
||
|
indexOff+= (jint)2;
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, spriteHeight),
|
||
|
jcgo_rcvrI1= id, jcgo_rcvrI2= (package_Utility__getUnsignedShort__BAI(
|
||
|
indexData, indexOff)), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
|
||
|
jcgo_rcvrI1)= jcgo_rcvrI2);
|
||
|
indexOff+= (jint)2;
|
||
|
unknown= (jint)((unsigned char)(JCGO_ARRAY_NZBACCESS(indexData,
|
||
|
indexOff++)));
|
||
|
size= (jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteWidth), id), jcgo_rcvrI1 * JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteHeight), id));
|
||
|
(jcgo_rcvrL1= (jObject)((jbyteArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jbyte),
|
||
|
0, size)), *(jbyteArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteColoursUsed), id)= (jbyteArr)jcgo_rcvrL1);
|
||
|
*(jintArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, spriteColourList),
|
||
|
id)= colours;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteWidthFull),
|
||
|
id)= fullWidth;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteHeightFull),
|
||
|
id)= fullHeight;
|
||
|
*(jintArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, surfacePixels),
|
||
|
id)= (jintArr)jnull;
|
||
|
JCGO_ARRAY_ZACCESS(JCGO_FIELD_NZACCESS(This, spriteTranslate),
|
||
|
id)= (jboolean)jfalse;
|
||
|
if (JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteTranslateX),
|
||
|
id) != 0 || JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteTranslateY),
|
||
|
id) != 0)
|
||
|
{
|
||
|
JCGO_ARRAY_ZACCESS(JCGO_FIELD_NZACCESS(This, spriteTranslate),
|
||
|
id)= (jboolean)jtrue;
|
||
|
}
|
||
|
if (unknown == 0)
|
||
|
{
|
||
|
{
|
||
|
jint pixel;
|
||
|
pixel= 0;
|
||
|
for (; pixel < size; pixel++)
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
jint jcgo_rcvrI1;
|
||
|
jbyte jcgo_rcvrB1;
|
||
|
(jcgo_rcvrL1= (jObject)((jbyteArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteColoursUsed), id)), jcgo_rcvrI1= pixel, jcgo_rcvrB1=
|
||
|
JCGO_ARRAY_NZBACCESS(spriteData, spriteOff++), JCGO_ARRAY_BACCESS((jbyteArr)jcgo_rcvrL1,
|
||
|
jcgo_rcvrI1)= jcgo_rcvrB1);
|
||
|
if (JCGO_ARRAY_BACCESS(((jbyteArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteColoursUsed), id)), pixel) == 0)
|
||
|
{
|
||
|
JCGO_ARRAY_ZACCESS(JCGO_FIELD_NZACCESS(This, spriteTranslate),
|
||
|
id)= (jboolean)jtrue;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if (unknown == (jint)1)
|
||
|
{
|
||
|
{
|
||
|
jint x;
|
||
|
x= 0;
|
||
|
for (; x < JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteWidth),
|
||
|
id); x++)
|
||
|
{
|
||
|
{
|
||
|
jint y;
|
||
|
y= 0;
|
||
|
for (; y < JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteHeight),
|
||
|
id); y++)
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
jint jcgo_rcvrI1;
|
||
|
jbyte jcgo_rcvrB1;
|
||
|
(jcgo_rcvrL1= (jObject)((jbyteArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteColoursUsed), id)), jcgo_rcvrI1= x + y * JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteWidth), id), jcgo_rcvrB1= JCGO_ARRAY_NZBACCESS(spriteData,
|
||
|
spriteOff++), JCGO_ARRAY_BACCESS((jbyteArr)jcgo_rcvrL1,
|
||
|
jcgo_rcvrI1)= jcgo_rcvrB1);
|
||
|
if ((jcgo_rcvrL1= (jObject)((jbyteArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteColoursUsed), id)), JCGO_ARRAY_BACCESS((jbyteArr)jcgo_rcvrL1,
|
||
|
x + y * JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteWidth),
|
||
|
id))) == 0)
|
||
|
{
|
||
|
JCGO_ARRAY_ZACCESS(JCGO_FIELD_NZACCESS(This, spriteTranslate),
|
||
|
id)= (jboolean)jtrue;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_FRWINL void CFASTCALL
|
||
|
package_Surface__readSleepWord__IBA( package_Surface This, jbyteArr
|
||
|
spriteData, jint spriteId )
|
||
|
{
|
||
|
{
|
||
|
jintArr pixels;
|
||
|
jint j;
|
||
|
jint k;
|
||
|
jint l;
|
||
|
jObject jcgo_rcvrL1;
|
||
|
pixels= (jcgo_rcvrL1= (jObject)((jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
|
||
|
0, (jint)10200)), *(jintArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
surfacePixels), spriteId)= (jintArr)jcgo_rcvrL1);
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteWidth), spriteId)=
|
||
|
(jint)255;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteHeight), spriteId)=
|
||
|
(jint)40;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteTranslateX), spriteId)=
|
||
|
0;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteTranslateY), spriteId)=
|
||
|
0;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteWidthFull), spriteId)=
|
||
|
(jint)255;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteHeightFull), spriteId)=
|
||
|
(jint)40;
|
||
|
JCGO_ARRAY_ZACCESS(JCGO_FIELD_NZACCESS(This, spriteTranslate), spriteId)=
|
||
|
(jboolean)jfalse;
|
||
|
j= 0;
|
||
|
k= (jint)1;
|
||
|
for (l= 0; l < (jint)255;)
|
||
|
{
|
||
|
jint i1;
|
||
|
i1= (jint)((unsigned char)(JCGO_ARRAY_BACCESS(spriteData, k++)));
|
||
|
{
|
||
|
jint k1;
|
||
|
k1= 0;
|
||
|
for (; k1 < i1; k1++)
|
||
|
{
|
||
|
JCGO_ARRAY_NZIACCESS(pixels, l++)= j;
|
||
|
}
|
||
|
}
|
||
|
j= (jint)16777215L - j;
|
||
|
}
|
||
|
{
|
||
|
jint y;
|
||
|
y= (jint)1;
|
||
|
for (; y < (jint)40; y++)
|
||
|
{
|
||
|
{
|
||
|
jint x;
|
||
|
x= 0;
|
||
|
for (; x < (jint)255;)
|
||
|
{
|
||
|
jint i2;
|
||
|
i2= (jint)((unsigned char)(JCGO_ARRAY_BACCESS(spriteData, k++)));
|
||
|
{
|
||
|
jint j2;
|
||
|
j2= 0;
|
||
|
for (; j2 < i2; j2++)
|
||
|
{
|
||
|
jint jcgo_rcvrI1;
|
||
|
(jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(pixels, l - (jint)255),
|
||
|
JCGO_ARRAY_NZIACCESS(pixels, l)= jcgo_rcvrI1);
|
||
|
l++;
|
||
|
x++;
|
||
|
}
|
||
|
}
|
||
|
if (x < (jint)255)
|
||
|
{
|
||
|
jint jcgo_rcvrI1;
|
||
|
(jcgo_rcvrI1= (jint)16777215L - JCGO_ARRAY_NZIACCESS(pixels,
|
||
|
l - (jint)255), JCGO_ARRAY_NZIACCESS(pixels, l)= jcgo_rcvrI1);
|
||
|
l++;
|
||
|
x++;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__drawWorld__I( package_Surface This, jint spriteId
|
||
|
)
|
||
|
{
|
||
|
{
|
||
|
jintArr spritePixels;
|
||
|
jintArr ai1;
|
||
|
jintArr ai2;
|
||
|
jintArr ai3;
|
||
|
jbyteArr abyte0;
|
||
|
jint spriteSize;
|
||
|
jint jcgo_rcvrI1;
|
||
|
spriteSize= (jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteWidth), spriteId), jcgo_rcvrI1 * JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteHeight), spriteId));
|
||
|
spritePixels= ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
surfacePixels), spriteId));
|
||
|
ai1= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint), 0, (jint)32768L);
|
||
|
{
|
||
|
jint k;
|
||
|
k= 0;
|
||
|
for (; k < spriteSize; k++)
|
||
|
{
|
||
|
jint l;
|
||
|
l= JCGO_ARRAY_IACCESS(spritePixels, k);
|
||
|
(JCGO_ARRAY_NZIACCESS(ai1, JCGO_SHR_F((l & (jint)16252928L), (jint)9) +
|
||
|
JCGO_SHR_F((l & (jint)63488L), (jint)6) + JCGO_SHR_F((l & (jint)248),
|
||
|
(jint)3)))++;
|
||
|
}
|
||
|
}
|
||
|
ai2= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint), 0, (jint)256);
|
||
|
JCGO_ARRAY_NZIACCESS(ai2, 0)= (jint)16711935L;
|
||
|
ai3= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint), 0, (jint)256);
|
||
|
{
|
||
|
jint i1;
|
||
|
i1= 0;
|
||
|
for (; i1 < (jint)32768L; i1++)
|
||
|
{
|
||
|
jint j1;
|
||
|
j1= JCGO_ARRAY_NZIACCESS(ai1, i1);
|
||
|
if (j1 > JCGO_ARRAY_NZIACCESS(ai3, (jint)255))
|
||
|
{
|
||
|
{
|
||
|
jint k1;
|
||
|
k1= (jint)1;
|
||
|
for (; k1 < (jint)256; k1++)
|
||
|
{
|
||
|
if (j1 <= JCGO_ARRAY_NZIACCESS(ai3, k1))
|
||
|
{
|
||
|
continue;
|
||
|
}
|
||
|
{
|
||
|
jint i2;
|
||
|
i2= (jint)255;
|
||
|
for (; i2 > k1; i2--)
|
||
|
{
|
||
|
jint jcgo_rcvrI1;
|
||
|
(jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai2, i2 - (jint)1), JCGO_ARRAY_NZIACCESS(ai2,
|
||
|
i2)= jcgo_rcvrI1);
|
||
|
(jcgo_rcvrI1= JCGO_ARRAY_NZIACCESS(ai3, i2 - (jint)1), JCGO_ARRAY_NZIACCESS(ai3,
|
||
|
i2)= jcgo_rcvrI1);
|
||
|
}
|
||
|
}
|
||
|
JCGO_ARRAY_NZIACCESS(ai2, k1)= (JCGO_SHL_F((i1 & (jint)31744L),
|
||
|
(jint)9) + JCGO_SHL_F((i1 & (jint)992), (jint)6) + JCGO_SHL_F((i1 &
|
||
|
(jint)31), (jint)3) + (jint)263172L);
|
||
|
JCGO_ARRAY_NZIACCESS(ai3, k1)= j1;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
JCGO_ARRAY_NZIACCESS(ai1, i1)= (-(jint)1);
|
||
|
}
|
||
|
}
|
||
|
abyte0= (jbyteArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jbyte), 0,
|
||
|
spriteSize);
|
||
|
{
|
||
|
jint l1;
|
||
|
l1= 0;
|
||
|
for (; l1 < spriteSize; l1++)
|
||
|
{
|
||
|
jint j2;
|
||
|
jint k2;
|
||
|
jint l2;
|
||
|
j2= JCGO_ARRAY_IACCESS(spritePixels, l1);
|
||
|
k2= JCGO_SHR_F((j2 & (jint)16252928L), (jint)9) + JCGO_SHR_F((j2 &
|
||
|
(jint)63488L), (jint)6) + JCGO_SHR_F((j2 & (jint)248), (jint)3);
|
||
|
l2= JCGO_ARRAY_NZIACCESS(ai1, k2);
|
||
|
if (l2 == (-(jint)1))
|
||
|
{
|
||
|
jint i3;
|
||
|
jint j3;
|
||
|
jint k3;
|
||
|
jint l3;
|
||
|
i3= (jint)0x3b9ac9ffL;
|
||
|
j3= JCGO_SHR_F(j2, (jint)16) & (jint)255;
|
||
|
k3= JCGO_SHR_F(j2, (jint)8) & (jint)255;
|
||
|
l3= j2 & (jint)255;
|
||
|
{
|
||
|
jint i4;
|
||
|
i4= 0;
|
||
|
for (; i4 < (jint)256; i4++)
|
||
|
{
|
||
|
jint j4;
|
||
|
jint k4;
|
||
|
jint l4;
|
||
|
jint i5;
|
||
|
jint j5;
|
||
|
j4= JCGO_ARRAY_NZIACCESS(ai2, i4);
|
||
|
k4= JCGO_SHR_F(j4, (jint)16) & (jint)255;
|
||
|
l4= JCGO_SHR_F(j4, (jint)8) & (jint)255;
|
||
|
i5= j4 & (jint)255;
|
||
|
j5= (j3 - k4) * (j3 - k4) + (k3 - l4) * (k3 - l4) + (l3 - i5) *
|
||
|
(l3 - i5);
|
||
|
if (j5 < i3)
|
||
|
{
|
||
|
i3= j5;
|
||
|
l2= i4;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
JCGO_ARRAY_NZIACCESS(ai1, k2)= l2;
|
||
|
}
|
||
|
JCGO_ARRAY_NZBACCESS(abyte0, l1)= ((jbyte)l2);
|
||
|
}
|
||
|
}
|
||
|
*(jbyteArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, spriteColoursUsed),
|
||
|
spriteId)= abyte0;
|
||
|
*(jintArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, spriteColourList),
|
||
|
spriteId)= ai2;
|
||
|
*(jintArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, surfacePixels),
|
||
|
spriteId)= (jintArr)jnull;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__loadSprite__I( package_Surface This, jint spriteId
|
||
|
)
|
||
|
{
|
||
|
{
|
||
|
jbyteArr idx;
|
||
|
jintArr cols;
|
||
|
jintArr pixels;
|
||
|
jint size;
|
||
|
jint jcgo_rcvrI1;
|
||
|
if (((jbyteArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, spriteColoursUsed),
|
||
|
spriteId)) == jnull)
|
||
|
{
|
||
|
return;
|
||
|
}
|
||
|
size= (jcgo_rcvrI1= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteWidth), spriteId), jcgo_rcvrI1 * JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteHeight), spriteId));
|
||
|
idx= ((jbyteArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, spriteColoursUsed),
|
||
|
spriteId));
|
||
|
cols= ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, spriteColourList),
|
||
|
spriteId));
|
||
|
pixels= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint), 0,
|
||
|
size);
|
||
|
{
|
||
|
jint pixel;
|
||
|
pixel= 0;
|
||
|
for (; pixel < size; pixel++)
|
||
|
{
|
||
|
jint colour;
|
||
|
colour= JCGO_ARRAY_IACCESS(cols, (jint)((unsigned char)(JCGO_ARRAY_BACCESS(idx,
|
||
|
pixel))));
|
||
|
if (colour == 0)
|
||
|
{
|
||
|
colour= (jint)1;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if (colour == (jint)16711935L)
|
||
|
{
|
||
|
colour= 0;
|
||
|
}
|
||
|
}
|
||
|
JCGO_ARRAY_NZIACCESS(pixels, pixel)= colour;
|
||
|
}
|
||
|
}
|
||
|
*(jintArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, surfacePixels),
|
||
|
spriteId)= pixels;
|
||
|
*(jbyteArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, spriteColoursUsed),
|
||
|
spriteId)= (jbyteArr)jnull;
|
||
|
*(jintArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, spriteColourList),
|
||
|
spriteId)= (jintArr)jnull;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_INLINE void CFASTCALL
|
||
|
package_Surface__drawSpriteMinimap__IIIII( package_Surface This, jint
|
||
|
sprite, jint x, jint y, jint width, jint height )
|
||
|
{
|
||
|
{
|
||
|
jint area;
|
||
|
jint pixel;
|
||
|
jObject jcgo_rcvrL1;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteWidth), sprite)=
|
||
|
width;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteHeight), sprite)=
|
||
|
height;
|
||
|
JCGO_ARRAY_ZACCESS(JCGO_FIELD_NZACCESS(This, spriteTranslate), sprite)=
|
||
|
(jboolean)jfalse;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteTranslateX), sprite)=
|
||
|
0;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteTranslateY), sprite)=
|
||
|
0;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteWidthFull), sprite)=
|
||
|
width;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteHeightFull), sprite)=
|
||
|
height;
|
||
|
area= width * height;
|
||
|
pixel= 0;
|
||
|
(jcgo_rcvrL1= (jObject)((jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
|
||
|
0, area)), *(jintArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
surfacePixels), sprite)= (jintArr)jcgo_rcvrL1);
|
||
|
{
|
||
|
jint xx;
|
||
|
xx= x;
|
||
|
for (; xx < x + width; xx++)
|
||
|
{
|
||
|
{
|
||
|
jint yy;
|
||
|
yy= y;
|
||
|
for (; yy < y + height; yy++)
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
jint jcgo_rcvrI1;
|
||
|
jint jcgo_rcvrI2;
|
||
|
(jcgo_rcvrL1= (jObject)((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
surfacePixels), sprite)), jcgo_rcvrI1= pixel++, jcgo_rcvrI2=
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, pixels), xx + yy *
|
||
|
JCGO_FIELD_NZACCESS(This, width2)), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
|
||
|
jcgo_rcvrI1)= jcgo_rcvrI2);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__drawSprite__IIIII( package_Surface This, jint sprite,
|
||
|
jint x, jint y, jint width, jint height )
|
||
|
{
|
||
|
{
|
||
|
jint area;
|
||
|
jint pixel;
|
||
|
jObject jcgo_rcvrL1;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteWidth), sprite)=
|
||
|
width;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteHeight), sprite)=
|
||
|
height;
|
||
|
JCGO_ARRAY_ZACCESS(JCGO_FIELD_NZACCESS(This, spriteTranslate), sprite)=
|
||
|
(jboolean)jfalse;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteTranslateX), sprite)=
|
||
|
0;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteTranslateY), sprite)=
|
||
|
0;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteWidthFull), sprite)=
|
||
|
width;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteHeightFull), sprite)=
|
||
|
height;
|
||
|
area= width * height;
|
||
|
pixel= 0;
|
||
|
(jcgo_rcvrL1= (jObject)((jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
|
||
|
0, area)), *(jintArr*)&JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
surfacePixels), sprite)= (jintArr)jcgo_rcvrL1);
|
||
|
{
|
||
|
jint yy;
|
||
|
yy= y;
|
||
|
for (; yy < y + height; yy++)
|
||
|
{
|
||
|
{
|
||
|
jint xx;
|
||
|
xx= x;
|
||
|
for (; xx < x + width; xx++)
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
jint jcgo_rcvrI1;
|
||
|
jint jcgo_rcvrI2;
|
||
|
(jcgo_rcvrL1= (jObject)((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
surfacePixels), sprite)), jcgo_rcvrI1= pixel++, jcgo_rcvrI2=
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, pixels), xx + yy *
|
||
|
JCGO_FIELD_NZACCESS(This, width2)), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
|
||
|
jcgo_rcvrI1)= jcgo_rcvrI2);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__drawSprite__III( package_Surface This, jint x, jint
|
||
|
y, jint id )
|
||
|
{
|
||
|
{
|
||
|
jint rY;
|
||
|
jint rX;
|
||
|
jint height;
|
||
|
jint width;
|
||
|
jint w2;
|
||
|
jint h2;
|
||
|
jbyte inc;
|
||
|
if (JCGO_ARRAY_ZACCESS(JCGO_FIELD_NZACCESS(This, spriteTranslate),
|
||
|
id))
|
||
|
{
|
||
|
x+= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteTranslateX),
|
||
|
id);
|
||
|
y+= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteTranslateY),
|
||
|
id);
|
||
|
}
|
||
|
rY= x + y * JCGO_FIELD_NZACCESS(This, width2);
|
||
|
rX= 0;
|
||
|
height= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteHeight),
|
||
|
id);
|
||
|
width= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteWidth),
|
||
|
id);
|
||
|
w2= JCGO_FIELD_NZACCESS(This, width2) - width;
|
||
|
h2= 0;
|
||
|
if (y < JCGO_FIELD_NZACCESS(This, boundsTopY))
|
||
|
{
|
||
|
jint j2;
|
||
|
j2= JCGO_FIELD_NZACCESS(This, boundsTopY) - y;
|
||
|
height-= j2;
|
||
|
y= JCGO_FIELD_NZACCESS(This, boundsTopY);
|
||
|
rX+= j2 * width;
|
||
|
rY+= j2 * JCGO_FIELD_NZACCESS(This, width2);
|
||
|
}
|
||
|
if (y + height >= JCGO_FIELD_NZACCESS(This, boundsBottomY))
|
||
|
{
|
||
|
height-= ((y + height) - JCGO_FIELD_NZACCESS(This, boundsBottomY)) +
|
||
|
(jint)1;
|
||
|
}
|
||
|
if (x < JCGO_FIELD_NZACCESS(This, boundsTopX))
|
||
|
{
|
||
|
jint k2;
|
||
|
k2= JCGO_FIELD_NZACCESS(This, boundsTopX) - x;
|
||
|
width-= k2;
|
||
|
x= JCGO_FIELD_NZACCESS(This, boundsTopX);
|
||
|
rX+= k2;
|
||
|
rY+= k2;
|
||
|
h2+= k2;
|
||
|
w2+= k2;
|
||
|
}
|
||
|
if (x + width >= JCGO_FIELD_NZACCESS(This, boundsBottomX))
|
||
|
{
|
||
|
jint l2;
|
||
|
l2= ((x + width) - JCGO_FIELD_NZACCESS(This, boundsBottomX)) + (jint)1;
|
||
|
width-= l2;
|
||
|
h2+= l2;
|
||
|
w2+= l2;
|
||
|
}
|
||
|
if (width <= 0 || height <= 0)
|
||
|
{
|
||
|
return;
|
||
|
}
|
||
|
inc= (jbyte)(jint)1;
|
||
|
if (JCGO_FIELD_NZACCESS(This, interlace))
|
||
|
{
|
||
|
inc= (jbyte)(jint)2;
|
||
|
w2+= JCGO_FIELD_NZACCESS(This, width2);
|
||
|
h2+= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteWidth),
|
||
|
id);
|
||
|
if ((y & (jint)1) != 0)
|
||
|
{
|
||
|
rY+= JCGO_FIELD_NZACCESS(This, width2);
|
||
|
height--;
|
||
|
}
|
||
|
}
|
||
|
if (((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, surfacePixels),
|
||
|
id)) == jnull)
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
jObject jcgo_rcvrL2;
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, pixels), jcgo_rcvrL2=
|
||
|
(jObject)((jbyteArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteColoursUsed), id)), package_Surface__drawSprite__IABAIAIIIIIII(
|
||
|
This, (jintArr)jcgo_rcvrL1, (jbyteArr)jcgo_rcvrL2, ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteColourList), id)), rX, rY, width, height, w2, h2, inc));
|
||
|
return;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, pixels), package_Surface__drawSprite__IAIAIIIIIIII(
|
||
|
This, (jintArr)jcgo_rcvrL1, ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
surfacePixels), id)), 0, rX, rY, width, height, w2, h2, inc));
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__spriteClipping__IIIII( package_Surface This, jint
|
||
|
x, jint y, jint width, jint height, jint spriteId )
|
||
|
{
|
||
|
{
|
||
|
{
|
||
|
JCGO_TRY_BLOCK
|
||
|
{
|
||
|
jint spriteWidth;
|
||
|
jint spriteHeight;
|
||
|
jint l1;
|
||
|
jint i2;
|
||
|
jint j2;
|
||
|
jint k2;
|
||
|
jint i3;
|
||
|
jint k3;
|
||
|
jbyte yInc;
|
||
|
jObject jcgo_rcvrL1;
|
||
|
spriteWidth= jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteWidth),
|
||
|
spriteId)[0];
|
||
|
spriteHeight= jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteHeight),
|
||
|
spriteId)[0];
|
||
|
l1= 0;
|
||
|
i2= 0;
|
||
|
j2= jcgo_div(JCGO_SHL_F(spriteWidth, (jint)16), width);
|
||
|
k2= jcgo_div(JCGO_SHL_F(spriteHeight, (jint)16), height);
|
||
|
if (jcgo_jbooleanArrAccess(JCGO_FIELD_NZACCESS(This, spriteTranslate),
|
||
|
spriteId)[0])
|
||
|
{
|
||
|
jint l2;
|
||
|
jint j3;
|
||
|
l2= jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteWidthFull),
|
||
|
spriteId)[0];
|
||
|
j3= jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteHeightFull),
|
||
|
spriteId)[0];
|
||
|
j2= jcgo_div(JCGO_SHL_F(l2, (jint)16), width);
|
||
|
k2= jcgo_div(JCGO_SHL_F(j3, (jint)16), height);
|
||
|
x+= jcgo_div(((jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteTranslateX),
|
||
|
spriteId)[0] * width + l2) - (jint)1), l2);
|
||
|
y+= jcgo_div(((jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteTranslateY),
|
||
|
spriteId)[0] * height + j3) - (jint)1), j3);
|
||
|
if (jcgo_mod((jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteTranslateX),
|
||
|
spriteId)[0] * width), l2) != 0)
|
||
|
{
|
||
|
l1= jcgo_div(JCGO_SHL_F(l2 - jcgo_mod((jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteTranslateX), spriteId)[0] * width), l2), (jint)16), width);
|
||
|
}
|
||
|
if (jcgo_mod((jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteTranslateY),
|
||
|
spriteId)[0] * height), j3) != 0)
|
||
|
{
|
||
|
i2= jcgo_div(JCGO_SHL_F(j3 - jcgo_mod((jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteTranslateY), spriteId)[0] * height), j3), (jint)16), height);
|
||
|
}
|
||
|
width= jcgo_div((width * (jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteWidth), spriteId)[0] - JCGO_SHR_F(l1, (jint)16))), l2);
|
||
|
height= jcgo_div((height * (jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteHeight), spriteId)[0] - JCGO_SHR_F(i2, (jint)16))), j3);
|
||
|
}
|
||
|
i3= x + y * JCGO_FIELD_NZACCESS(This, width2);
|
||
|
k3= JCGO_FIELD_NZACCESS(This, width2) - width;
|
||
|
if (y < JCGO_FIELD_NZACCESS(This, boundsTopY))
|
||
|
{
|
||
|
jint l3;
|
||
|
l3= JCGO_FIELD_NZACCESS(This, boundsTopY) - y;
|
||
|
height-= l3;
|
||
|
y= 0;
|
||
|
i3+= l3 * JCGO_FIELD_NZACCESS(This, width2);
|
||
|
i2+= k2 * l3;
|
||
|
}
|
||
|
if (y + height >= JCGO_FIELD_NZACCESS(This, boundsBottomY))
|
||
|
{
|
||
|
height-= ((y + height) - JCGO_FIELD_NZACCESS(This, boundsBottomY)) +
|
||
|
(jint)1;
|
||
|
}
|
||
|
if (x < JCGO_FIELD_NZACCESS(This, boundsTopX))
|
||
|
{
|
||
|
jint i4;
|
||
|
i4= JCGO_FIELD_NZACCESS(This, boundsTopX) - x;
|
||
|
width-= i4;
|
||
|
x= 0;
|
||
|
i3+= i4;
|
||
|
l1+= j2 * i4;
|
||
|
k3+= i4;
|
||
|
}
|
||
|
if (x + width >= JCGO_FIELD_NZACCESS(This, boundsBottomX))
|
||
|
{
|
||
|
jint j4;
|
||
|
j4= ((x + width) - JCGO_FIELD_NZACCESS(This, boundsBottomX)) +
|
||
|
(jint)1;
|
||
|
width-= j4;
|
||
|
k3+= j4;
|
||
|
}
|
||
|
yInc= (jbyte)(jint)1;
|
||
|
if (JCGO_FIELD_NZACCESS(This, interlace))
|
||
|
{
|
||
|
yInc= (jbyte)(jint)2;
|
||
|
k3+= JCGO_FIELD_NZACCESS(This, width2);
|
||
|
k2+= k2;
|
||
|
if ((y & (jint)1) != 0)
|
||
|
{
|
||
|
i3+= JCGO_FIELD_NZACCESS(This, width2);
|
||
|
height--;
|
||
|
}
|
||
|
}
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, pixels), package_Surface__plotScale__IAIAIIIIIIIIIII(
|
||
|
This, (jintArr)jcgo_rcvrL1, ((jintArr)jcgo_jObjectArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
surfacePixels), spriteId)[0]), 0, l1, i2, i3, k3, width, height,
|
||
|
j2, k2, spriteWidth, yInc));
|
||
|
#ifndef JCGO_SEHTRY
|
||
|
jcgo_tryLeave();
|
||
|
#endif
|
||
|
return;
|
||
|
}
|
||
|
JCGO_TRY_LEAVE
|
||
|
JCGO_TRY_CATCHES(1)
|
||
|
JCGO_TRY_CATCH(OBJT_java_lang_Exception, MAXT_java_lang_Exception)
|
||
|
{
|
||
|
(java_io_PrintStream__println__Ls(
|
||
|
JCGO_CLINIT_VARACC(java_lang_System__class, java_lang_System__out),
|
||
|
JCGO_STRREF_OF(jcgo_string5_Surface)));
|
||
|
}
|
||
|
JCGO_TRY_RETHROW(1)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__drawSpriteAlpha__IIII( package_Surface This, jint
|
||
|
x, jint y, jint spriteId, jint alpha )
|
||
|
{
|
||
|
{
|
||
|
jint size;
|
||
|
jint j1;
|
||
|
jint height;
|
||
|
jint width;
|
||
|
jint extraXSpace;
|
||
|
jint j2;
|
||
|
jbyte yInc;
|
||
|
if (JCGO_ARRAY_ZACCESS(JCGO_FIELD_NZACCESS(This, spriteTranslate),
|
||
|
spriteId))
|
||
|
{
|
||
|
x+= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteTranslateX),
|
||
|
spriteId);
|
||
|
y+= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteTranslateY),
|
||
|
spriteId);
|
||
|
}
|
||
|
size= x + y * JCGO_FIELD_NZACCESS(This, width2);
|
||
|
j1= 0;
|
||
|
height= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteHeight),
|
||
|
spriteId);
|
||
|
width= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteWidth),
|
||
|
spriteId);
|
||
|
extraXSpace= JCGO_FIELD_NZACCESS(This, width2) - width;
|
||
|
j2= 0;
|
||
|
if (y < JCGO_FIELD_NZACCESS(This, boundsTopY))
|
||
|
{
|
||
|
jint k2;
|
||
|
k2= JCGO_FIELD_NZACCESS(This, boundsTopY) - y;
|
||
|
height-= k2;
|
||
|
y= JCGO_FIELD_NZACCESS(This, boundsTopY);
|
||
|
j1+= k2 * width;
|
||
|
size+= k2 * JCGO_FIELD_NZACCESS(This, width2);
|
||
|
}
|
||
|
if (y + height >= JCGO_FIELD_NZACCESS(This, boundsBottomY))
|
||
|
{
|
||
|
height-= ((y + height) - JCGO_FIELD_NZACCESS(This, boundsBottomY)) +
|
||
|
(jint)1;
|
||
|
}
|
||
|
if (x < JCGO_FIELD_NZACCESS(This, boundsTopX))
|
||
|
{
|
||
|
jint l2;
|
||
|
l2= JCGO_FIELD_NZACCESS(This, boundsTopX) - x;
|
||
|
width-= l2;
|
||
|
x= JCGO_FIELD_NZACCESS(This, boundsTopX);
|
||
|
j1+= l2;
|
||
|
size+= l2;
|
||
|
j2+= l2;
|
||
|
extraXSpace+= l2;
|
||
|
}
|
||
|
if (x + width >= JCGO_FIELD_NZACCESS(This, boundsBottomX))
|
||
|
{
|
||
|
jint i3;
|
||
|
i3= ((x + width) - JCGO_FIELD_NZACCESS(This, boundsBottomX)) + (jint)1;
|
||
|
width-= i3;
|
||
|
j2+= i3;
|
||
|
extraXSpace+= i3;
|
||
|
}
|
||
|
if (width <= 0 || height <= 0)
|
||
|
{
|
||
|
return;
|
||
|
}
|
||
|
yInc= (jbyte)(jint)1;
|
||
|
if (JCGO_FIELD_NZACCESS(This, interlace))
|
||
|
{
|
||
|
yInc= (jbyte)(jint)2;
|
||
|
extraXSpace+= JCGO_FIELD_NZACCESS(This, width2);
|
||
|
j2+= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteWidth),
|
||
|
spriteId);
|
||
|
if ((y & (jint)1) != 0)
|
||
|
{
|
||
|
size+= JCGO_FIELD_NZACCESS(This, width2);
|
||
|
height--;
|
||
|
}
|
||
|
}
|
||
|
if (((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, surfacePixels),
|
||
|
spriteId)) == jnull)
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
jObject jcgo_rcvrL2;
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, pixels), jcgo_rcvrL2=
|
||
|
(jObject)((jbyteArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteColoursUsed), spriteId)), package_Surface__drawSpriteAlpha__IABAIAIIIIIIII(
|
||
|
This, (jintArr)jcgo_rcvrL1, (jbyteArr)jcgo_rcvrL2, ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteColourList), spriteId)), j1, size, width, height, extraXSpace,
|
||
|
j2, yInc, alpha));
|
||
|
return;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, pixels), package_Surface__drawSpriteAlpha__IAIAIIIIIIIII(
|
||
|
This, (jintArr)jcgo_rcvrL1, ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
surfacePixels), spriteId)), 0, j1, size, width, height, extraXSpace,
|
||
|
j2, yInc, alpha));
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_FRWINL void CFASTCALL
|
||
|
package_Surface__drawActionBubble__IIIIII( package_Surface This, jint
|
||
|
x, jint y, jint scaleX, jint scaleY, jint sprite, jint alpha )
|
||
|
{
|
||
|
{
|
||
|
{
|
||
|
JCGO_TRY_BLOCK
|
||
|
{
|
||
|
jint spriteWidth;
|
||
|
jint spriteHeight;
|
||
|
jint i2;
|
||
|
jint j2;
|
||
|
jint k2;
|
||
|
jint l2;
|
||
|
jint j3;
|
||
|
jint l3;
|
||
|
jbyte yInc;
|
||
|
jObject jcgo_rcvrL1;
|
||
|
spriteWidth= jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteWidth),
|
||
|
sprite)[0];
|
||
|
spriteHeight= jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteHeight),
|
||
|
sprite)[0];
|
||
|
i2= 0;
|
||
|
j2= 0;
|
||
|
k2= jcgo_div(JCGO_SHL_F(spriteWidth, (jint)16), scaleX);
|
||
|
l2= jcgo_div(JCGO_SHL_F(spriteHeight, (jint)16), scaleY);
|
||
|
if (jcgo_jbooleanArrAccess(JCGO_FIELD_NZACCESS(This, spriteTranslate),
|
||
|
sprite)[0])
|
||
|
{
|
||
|
jint i3;
|
||
|
jint k3;
|
||
|
i3= jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteWidthFull),
|
||
|
sprite)[0];
|
||
|
k3= jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteHeightFull),
|
||
|
sprite)[0];
|
||
|
k2= jcgo_div(JCGO_SHL_F(i3, (jint)16), scaleX);
|
||
|
l2= jcgo_div(JCGO_SHL_F(k3, (jint)16), scaleY);
|
||
|
x+= jcgo_div(((jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteTranslateX),
|
||
|
sprite)[0] * scaleX + i3) - (jint)1), i3);
|
||
|
y+= jcgo_div(((jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteTranslateY),
|
||
|
sprite)[0] * scaleY + k3) - (jint)1), k3);
|
||
|
if (jcgo_mod((jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteTranslateX),
|
||
|
sprite)[0] * scaleX), i3) != 0)
|
||
|
{
|
||
|
i2= jcgo_div(JCGO_SHL_F(i3 - jcgo_mod((jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteTranslateX), sprite)[0] * scaleX), i3), (jint)16), scaleX);
|
||
|
}
|
||
|
if (jcgo_mod((jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteTranslateY),
|
||
|
sprite)[0] * scaleY), k3) != 0)
|
||
|
{
|
||
|
j2= jcgo_div(JCGO_SHL_F(k3 - jcgo_mod((jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteTranslateY), sprite)[0] * scaleY), k3), (jint)16), scaleY);
|
||
|
}
|
||
|
scaleX= jcgo_div((scaleX * (jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteWidth), sprite)[0] - JCGO_SHR_F(i2, (jint)16))), i3);
|
||
|
scaleY= jcgo_div((scaleY * (jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteHeight), sprite)[0] - JCGO_SHR_F(j2, (jint)16))), k3);
|
||
|
}
|
||
|
j3= x + y * JCGO_FIELD_NZACCESS(This, width2);
|
||
|
l3= JCGO_FIELD_NZACCESS(This, width2) - scaleX;
|
||
|
if (y < JCGO_FIELD_NZACCESS(This, boundsTopY))
|
||
|
{
|
||
|
jint i4;
|
||
|
i4= JCGO_FIELD_NZACCESS(This, boundsTopY) - y;
|
||
|
scaleY-= i4;
|
||
|
y= 0;
|
||
|
j3+= i4 * JCGO_FIELD_NZACCESS(This, width2);
|
||
|
j2+= l2 * i4;
|
||
|
}
|
||
|
if (y + scaleY >= JCGO_FIELD_NZACCESS(This, boundsBottomY))
|
||
|
{
|
||
|
scaleY-= ((y + scaleY) - JCGO_FIELD_NZACCESS(This, boundsBottomY)) +
|
||
|
(jint)1;
|
||
|
}
|
||
|
if (x < JCGO_FIELD_NZACCESS(This, boundsTopX))
|
||
|
{
|
||
|
jint j4;
|
||
|
j4= JCGO_FIELD_NZACCESS(This, boundsTopX) - x;
|
||
|
scaleX-= j4;
|
||
|
x= 0;
|
||
|
j3+= j4;
|
||
|
i2+= k2 * j4;
|
||
|
l3+= j4;
|
||
|
}
|
||
|
if (x + scaleX >= JCGO_FIELD_NZACCESS(This, boundsBottomX))
|
||
|
{
|
||
|
jint k4;
|
||
|
k4= ((x + scaleX) - JCGO_FIELD_NZACCESS(This, boundsBottomX)) +
|
||
|
(jint)1;
|
||
|
scaleX-= k4;
|
||
|
l3+= k4;
|
||
|
}
|
||
|
yInc= (jbyte)(jint)1;
|
||
|
if (JCGO_FIELD_NZACCESS(This, interlace))
|
||
|
{
|
||
|
yInc= (jbyte)(jint)2;
|
||
|
l3+= JCGO_FIELD_NZACCESS(This, width2);
|
||
|
l2+= l2;
|
||
|
if ((y & (jint)1) != 0)
|
||
|
{
|
||
|
j3+= JCGO_FIELD_NZACCESS(This, width2);
|
||
|
scaleY--;
|
||
|
}
|
||
|
}
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, pixels), package_Surface__transparentScale__IAIAIIIIIIIIIIII(
|
||
|
This, (jintArr)jcgo_rcvrL1, ((jintArr)jcgo_jObjectArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
surfacePixels), sprite)[0]), 0, i2, j2, j3, l3, scaleX, scaleY,
|
||
|
k2, l2, spriteWidth, yInc, alpha));
|
||
|
#ifndef JCGO_SEHTRY
|
||
|
jcgo_tryLeave();
|
||
|
#endif
|
||
|
return;
|
||
|
}
|
||
|
JCGO_TRY_LEAVE
|
||
|
JCGO_TRY_CATCHES(1)
|
||
|
JCGO_TRY_CATCH(OBJT_java_lang_Exception, MAXT_java_lang_Exception)
|
||
|
{
|
||
|
(java_io_PrintStream__println__Ls(
|
||
|
JCGO_CLINIT_VARACC(java_lang_System__class, java_lang_System__out),
|
||
|
JCGO_STRREF_OF(jcgo_string5_Surface)));
|
||
|
}
|
||
|
JCGO_TRY_RETHROW(1)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__spriteClipping__IIIIII( package_Surface This, jint
|
||
|
x, jint y, jint width, jint height, jint spriteId, jint colour )
|
||
|
{
|
||
|
{
|
||
|
{
|
||
|
JCGO_TRY_BLOCK
|
||
|
{
|
||
|
jint k1;
|
||
|
jint l1;
|
||
|
jint i2;
|
||
|
jint j2;
|
||
|
jint k2;
|
||
|
jint l2;
|
||
|
jint j3;
|
||
|
jint l3;
|
||
|
jbyte yInc;
|
||
|
jObject jcgo_rcvrL1;
|
||
|
k1= jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteWidth),
|
||
|
spriteId)[0];
|
||
|
l1= jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteHeight),
|
||
|
spriteId)[0];
|
||
|
i2= 0;
|
||
|
j2= 0;
|
||
|
k2= jcgo_div(JCGO_SHL_F(k1, (jint)16), width);
|
||
|
l2= jcgo_div(JCGO_SHL_F(l1, (jint)16), height);
|
||
|
if (jcgo_jbooleanArrAccess(JCGO_FIELD_NZACCESS(This, spriteTranslate),
|
||
|
spriteId)[0])
|
||
|
{
|
||
|
jint i3;
|
||
|
jint k3;
|
||
|
i3= jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteWidthFull),
|
||
|
spriteId)[0];
|
||
|
k3= jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteHeightFull),
|
||
|
spriteId)[0];
|
||
|
k2= jcgo_div(JCGO_SHL_F(i3, (jint)16), width);
|
||
|
l2= jcgo_div(JCGO_SHL_F(k3, (jint)16), height);
|
||
|
x+= jcgo_div(((jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteTranslateX),
|
||
|
spriteId)[0] * width + i3) - (jint)1), i3);
|
||
|
y+= jcgo_div(((jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteTranslateY),
|
||
|
spriteId)[0] * height + k3) - (jint)1), k3);
|
||
|
if (jcgo_mod((jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteTranslateX),
|
||
|
spriteId)[0] * width), i3) != 0)
|
||
|
{
|
||
|
i2= jcgo_div(JCGO_SHL_F(i3 - jcgo_mod((jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteTranslateX), spriteId)[0] * width), i3), (jint)16), width);
|
||
|
}
|
||
|
if (jcgo_mod((jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteTranslateY),
|
||
|
spriteId)[0] * height), k3) != 0)
|
||
|
{
|
||
|
j2= jcgo_div(JCGO_SHL_F(k3 - jcgo_mod((jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteTranslateY), spriteId)[0] * height), k3), (jint)16), height);
|
||
|
}
|
||
|
width= jcgo_div((width * (jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteWidth), spriteId)[0] - JCGO_SHR_F(i2, (jint)16))), i3);
|
||
|
height= jcgo_div((height * (jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteHeight), spriteId)[0] - JCGO_SHR_F(j2, (jint)16))), k3);
|
||
|
}
|
||
|
j3= x + y * JCGO_FIELD_NZACCESS(This, width2);
|
||
|
l3= JCGO_FIELD_NZACCESS(This, width2) - width;
|
||
|
if (y < JCGO_FIELD_NZACCESS(This, boundsTopY))
|
||
|
{
|
||
|
jint i4;
|
||
|
i4= JCGO_FIELD_NZACCESS(This, boundsTopY) - y;
|
||
|
height-= i4;
|
||
|
y= 0;
|
||
|
j3+= i4 * JCGO_FIELD_NZACCESS(This, width2);
|
||
|
j2+= l2 * i4;
|
||
|
}
|
||
|
if (y + height >= JCGO_FIELD_NZACCESS(This, boundsBottomY))
|
||
|
{
|
||
|
height-= ((y + height) - JCGO_FIELD_NZACCESS(This, boundsBottomY)) +
|
||
|
(jint)1;
|
||
|
}
|
||
|
if (x < JCGO_FIELD_NZACCESS(This, boundsTopX))
|
||
|
{
|
||
|
jint j4;
|
||
|
j4= JCGO_FIELD_NZACCESS(This, boundsTopX) - x;
|
||
|
width-= j4;
|
||
|
x= 0;
|
||
|
j3+= j4;
|
||
|
i2+= k2 * j4;
|
||
|
l3+= j4;
|
||
|
}
|
||
|
if (x + width >= JCGO_FIELD_NZACCESS(This, boundsBottomX))
|
||
|
{
|
||
|
jint k4;
|
||
|
k4= ((x + width) - JCGO_FIELD_NZACCESS(This, boundsBottomX)) +
|
||
|
(jint)1;
|
||
|
width-= k4;
|
||
|
l3+= k4;
|
||
|
}
|
||
|
yInc= (jbyte)(jint)1;
|
||
|
if (JCGO_FIELD_NZACCESS(This, interlace))
|
||
|
{
|
||
|
yInc= (jbyte)(jint)2;
|
||
|
l3+= JCGO_FIELD_NZACCESS(This, width2);
|
||
|
l2+= l2;
|
||
|
if ((y & (jint)1) != 0)
|
||
|
{
|
||
|
j3+= JCGO_FIELD_NZACCESS(This, width2);
|
||
|
height--;
|
||
|
}
|
||
|
}
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, pixels), package_Surface__plotScale__IAIAIIIIIIIIIIII(
|
||
|
This, (jintArr)jcgo_rcvrL1, ((jintArr)jcgo_jObjectArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
surfacePixels), spriteId)[0]), 0, i2, j2, j3, l3, width, height,
|
||
|
k2, l2, k1, yInc, colour));
|
||
|
#ifndef JCGO_SEHTRY
|
||
|
jcgo_tryLeave();
|
||
|
#endif
|
||
|
return;
|
||
|
}
|
||
|
JCGO_TRY_LEAVE
|
||
|
JCGO_TRY_CATCHES(1)
|
||
|
JCGO_TRY_CATCH(OBJT_java_lang_Exception, MAXT_java_lang_Exception)
|
||
|
{
|
||
|
(java_io_PrintStream__println__Ls(
|
||
|
JCGO_CLINIT_VARACC(java_lang_System__class, java_lang_System__out),
|
||
|
JCGO_STRREF_OF(jcgo_string5_Surface)));
|
||
|
}
|
||
|
JCGO_TRY_RETHROW(1)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__drawMinimapSprite__IIIII( package_Surface This, jint
|
||
|
x, jint y, jint sprite, jint rotation, jint scale )
|
||
|
{
|
||
|
{
|
||
|
jintArr ai;
|
||
|
jint j1;
|
||
|
jint k1;
|
||
|
jint i2;
|
||
|
jint j2;
|
||
|
jint k2;
|
||
|
jint l2;
|
||
|
jint i3;
|
||
|
jint j3;
|
||
|
jint k3;
|
||
|
jint l3;
|
||
|
jint i4;
|
||
|
jint j4;
|
||
|
jint k4;
|
||
|
jint l4;
|
||
|
jint i5;
|
||
|
jint j5;
|
||
|
jint k5;
|
||
|
jint l5;
|
||
|
jint i6;
|
||
|
jint j6;
|
||
|
jint k6;
|
||
|
jint l6;
|
||
|
jint i8;
|
||
|
jint k8;
|
||
|
jint i9;
|
||
|
jint j9;
|
||
|
jint k9;
|
||
|
jint j7;
|
||
|
jint k7;
|
||
|
jint l7;
|
||
|
jint l8;
|
||
|
jint j8;
|
||
|
jint l10;
|
||
|
j1= JCGO_FIELD_NZACCESS(This, width2);
|
||
|
k1= JCGO_FIELD_NZACCESS(This, height2);
|
||
|
if (JCGO_FIELD_NZACCESS(This, landscapeColours) == jnull)
|
||
|
{
|
||
|
JCGO_FIELD_NZACCESS(This, landscapeColours)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
|
||
|
0, (jint)512);
|
||
|
{
|
||
|
jint l1;
|
||
|
l1= 0;
|
||
|
for (; l1 < (jint)256; l1++)
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
jint jcgo_rcvrI1;
|
||
|
jint jcgo_rcvrI2;
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, landscapeColours),
|
||
|
jcgo_rcvrI1= l1, jcgo_rcvrI2= JCGO_JDOUBLE_TOJINT(((java_lang_Math__sin__D(
|
||
|
(jdouble)l1 * (jdouble)0.02454369)) * (jdouble)32768.0)), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
|
||
|
jcgo_rcvrI1)= jcgo_rcvrI2);
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, landscapeColours),
|
||
|
jcgo_rcvrI1= l1 + (jint)256, jcgo_rcvrI2= JCGO_JDOUBLE_TOJINT(((java_lang_Math__cos__D(
|
||
|
(jdouble)l1 * (jdouble)0.02454369)) * (jdouble)32768.0)), JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
|
||
|
jcgo_rcvrI1)= jcgo_rcvrI2);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
i2= (-(JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteWidthFull),
|
||
|
sprite))) / (jint)2;
|
||
|
j2= (-(JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteHeightFull),
|
||
|
sprite))) / (jint)2;
|
||
|
if (JCGO_ARRAY_ZACCESS(JCGO_FIELD_NZACCESS(This, spriteTranslate),
|
||
|
sprite))
|
||
|
{
|
||
|
i2+= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteTranslateX),
|
||
|
sprite);
|
||
|
j2+= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteTranslateY),
|
||
|
sprite);
|
||
|
}
|
||
|
k2= i2 + JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteWidth),
|
||
|
sprite);
|
||
|
l2= j2 + JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteHeight),
|
||
|
sprite);
|
||
|
i3= k2;
|
||
|
j3= j2;
|
||
|
k3= i2;
|
||
|
l3= l2;
|
||
|
rotation&= (jint)255;
|
||
|
i4= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, landscapeColours),
|
||
|
rotation) * scale;
|
||
|
j4= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, landscapeColours),
|
||
|
rotation + (jint)256) * scale;
|
||
|
k4= x + JCGO_SHR_F(j2 * i4 + i2 * j4, (jint)22);
|
||
|
l4= y + JCGO_SHR_F(j2 * j4 - i2 * i4, (jint)22);
|
||
|
i5= x + JCGO_SHR_F(j3 * i4 + i3 * j4, (jint)22);
|
||
|
j5= y + JCGO_SHR_F(j3 * j4 - i3 * i4, (jint)22);
|
||
|
k5= x + JCGO_SHR_F(l2 * i4 + k2 * j4, (jint)22);
|
||
|
l5= y + JCGO_SHR_F(l2 * j4 - k2 * i4, (jint)22);
|
||
|
i6= x + JCGO_SHR_F(l3 * i4 + k3 * j4, (jint)22);
|
||
|
j6= y + JCGO_SHR_F(l3 * j4 - k3 * i4, (jint)22);
|
||
|
if (scale == (jint)192 && (rotation & (jint)63) == (package_Surface__anInt348 &
|
||
|
(jint)63))
|
||
|
{
|
||
|
package_Surface__anInt346++;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if (scale == (jint)128)
|
||
|
{
|
||
|
package_Surface__anInt348= rotation;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
package_Surface__anInt347++;
|
||
|
}
|
||
|
}
|
||
|
k6= l4;
|
||
|
l6= l4;
|
||
|
if (j5 < k6)
|
||
|
{
|
||
|
k6= j5;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if (j5 > l6)
|
||
|
{
|
||
|
l6= j5;
|
||
|
}
|
||
|
}
|
||
|
if (l5 < k6)
|
||
|
{
|
||
|
k6= l5;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if (l5 > l6)
|
||
|
{
|
||
|
l6= l5;
|
||
|
}
|
||
|
}
|
||
|
if (j6 < k6)
|
||
|
{
|
||
|
k6= j6;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if (j6 > l6)
|
||
|
{
|
||
|
l6= j6;
|
||
|
}
|
||
|
}
|
||
|
if (k6 < JCGO_FIELD_NZACCESS(This, boundsTopY))
|
||
|
{
|
||
|
k6= JCGO_FIELD_NZACCESS(This, boundsTopY);
|
||
|
}
|
||
|
if (l6 > JCGO_FIELD_NZACCESS(This, boundsBottomY))
|
||
|
{
|
||
|
l6= JCGO_FIELD_NZACCESS(This, boundsBottomY);
|
||
|
}
|
||
|
if (JCGO_FIELD_NZACCESS(This, anIntArray340) == jnull || JCGO_ARRAY_LENGTH(JCGO_FIELD_NZACCESS(This,
|
||
|
anIntArray340)) != k1 + (jint)1)
|
||
|
{
|
||
|
JCGO_FIELD_NZACCESS(This, anIntArray340)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
|
||
|
0, k1 + (jint)1);
|
||
|
JCGO_FIELD_NZACCESS(This, anIntArray341)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
|
||
|
0, k1 + (jint)1);
|
||
|
JCGO_FIELD_NZACCESS(This, anIntArray342)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
|
||
|
0, k1 + (jint)1);
|
||
|
JCGO_FIELD_NZACCESS(This, anIntArray343)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
|
||
|
0, k1 + (jint)1);
|
||
|
JCGO_FIELD_NZACCESS(This, anIntArray344)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
|
||
|
0, k1 + (jint)1);
|
||
|
JCGO_FIELD_NZACCESS(This, anIntArray345)= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
|
||
|
0, k1 + (jint)1);
|
||
|
}
|
||
|
{
|
||
|
jint i7;
|
||
|
i7= k6;
|
||
|
for (; i7 <= l6; i7++)
|
||
|
{
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray340), i7)=
|
||
|
(jint)0x5f5e0ffL;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray341), i7)=
|
||
|
(jint)0xfa0a1f01L;
|
||
|
}
|
||
|
}
|
||
|
i8= 0;
|
||
|
k8= 0;
|
||
|
i9= 0;
|
||
|
j9= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteWidth), sprite);
|
||
|
k9= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, spriteHeight), sprite);
|
||
|
i2= 0;
|
||
|
j2= 0;
|
||
|
i3= j9 - (jint)1;
|
||
|
j3= 0;
|
||
|
k2= j9 - (jint)1;
|
||
|
l2= k9 - (jint)1;
|
||
|
k3= 0;
|
||
|
l3= k9 - (jint)1;
|
||
|
if (j6 != l4)
|
||
|
{
|
||
|
i8= jcgo_div(JCGO_SHL_F(i6 - k4, (jint)8), (j6 - l4));
|
||
|
i9= jcgo_div(JCGO_SHL_F(l3 - j2, (jint)8), (j6 - l4));
|
||
|
}
|
||
|
;
|
||
|
if (l4 > j6)
|
||
|
{
|
||
|
l7= JCGO_SHL_F(i6, (jint)8);
|
||
|
l8= JCGO_SHL_F(l3, (jint)8);
|
||
|
j7= j6;
|
||
|
k7= l4;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
l7= JCGO_SHL_F(k4, (jint)8);
|
||
|
l8= JCGO_SHL_F(j2, (jint)8);
|
||
|
j7= l4;
|
||
|
k7= j6;
|
||
|
}
|
||
|
if (j7 < 0)
|
||
|
{
|
||
|
l7-= i8 * j7;
|
||
|
l8-= i9 * j7;
|
||
|
j7= 0;
|
||
|
}
|
||
|
if (k7 > k1 - (jint)1)
|
||
|
{
|
||
|
k7= k1 - (jint)1;
|
||
|
}
|
||
|
{
|
||
|
jint l9;
|
||
|
l9= j7;
|
||
|
for (; l9 <= k7; l9++)
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
jint jcgo_rcvrI1;
|
||
|
jint jcgo_rcvrI2;
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, anIntArray340),
|
||
|
jcgo_rcvrI1= l9, jcgo_rcvrI2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
anIntArray341), l9)= l7, JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
|
||
|
jcgo_rcvrI1)= jcgo_rcvrI2);
|
||
|
l7+= i8;
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, anIntArray342),
|
||
|
jcgo_rcvrI1= l9, jcgo_rcvrI2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
anIntArray343), l9)= 0, JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
|
||
|
jcgo_rcvrI1)= jcgo_rcvrI2);
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, anIntArray344),
|
||
|
jcgo_rcvrI1= l9, jcgo_rcvrI2= JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
anIntArray345), l9)= l8, JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1,
|
||
|
jcgo_rcvrI1)= jcgo_rcvrI2);
|
||
|
l8+= i9;
|
||
|
}
|
||
|
}
|
||
|
if (j5 != l4)
|
||
|
{
|
||
|
i8= jcgo_div(JCGO_SHL_F(i5 - k4, (jint)8), (j5 - l4));
|
||
|
k8= jcgo_div(JCGO_SHL_F(i3 - i2, (jint)8), (j5 - l4));
|
||
|
}
|
||
|
;
|
||
|
if (l4 > j5)
|
||
|
{
|
||
|
l7= JCGO_SHL_F(i5, (jint)8);
|
||
|
j8= JCGO_SHL_F(i3, (jint)8);
|
||
|
j7= j5;
|
||
|
k7= l4;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
l7= JCGO_SHL_F(k4, (jint)8);
|
||
|
j8= JCGO_SHL_F(i2, (jint)8);
|
||
|
j7= l4;
|
||
|
k7= j5;
|
||
|
}
|
||
|
if (j7 < 0)
|
||
|
{
|
||
|
l7-= i8 * j7;
|
||
|
j8-= k8 * j7;
|
||
|
j7= 0;
|
||
|
}
|
||
|
if (k7 > k1 - (jint)1)
|
||
|
{
|
||
|
k7= k1 - (jint)1;
|
||
|
}
|
||
|
{
|
||
|
jint i10;
|
||
|
i10= j7;
|
||
|
for (; i10 <= k7; i10++)
|
||
|
{
|
||
|
if (l7 < JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray340),
|
||
|
i10))
|
||
|
{
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray340), i10)=
|
||
|
l7;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray342), i10)=
|
||
|
j8;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray344), i10)=
|
||
|
0;
|
||
|
}
|
||
|
if (l7 > JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray341),
|
||
|
i10))
|
||
|
{
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray341), i10)=
|
||
|
l7;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray343), i10)=
|
||
|
j8;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray345), i10)=
|
||
|
0;
|
||
|
}
|
||
|
l7+= i8;
|
||
|
j8+= k8;
|
||
|
}
|
||
|
}
|
||
|
if (l5 != j5)
|
||
|
{
|
||
|
i8= jcgo_div(JCGO_SHL_F(k5 - i5, (jint)8), (l5 - j5));
|
||
|
i9= jcgo_div(JCGO_SHL_F(l2 - j3, (jint)8), (l5 - j5));
|
||
|
}
|
||
|
if (j5 > l5)
|
||
|
{
|
||
|
l7= JCGO_SHL_F(k5, (jint)8);
|
||
|
j8= JCGO_SHL_F(k2, (jint)8);
|
||
|
l8= JCGO_SHL_F(l2, (jint)8);
|
||
|
j7= l5;
|
||
|
k7= j5;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
l7= JCGO_SHL_F(i5, (jint)8);
|
||
|
j8= JCGO_SHL_F(i3, (jint)8);
|
||
|
l8= JCGO_SHL_F(j3, (jint)8);
|
||
|
j7= j5;
|
||
|
k7= l5;
|
||
|
}
|
||
|
if (j7 < 0)
|
||
|
{
|
||
|
l7-= i8 * j7;
|
||
|
l8-= i9 * j7;
|
||
|
j7= 0;
|
||
|
}
|
||
|
if (k7 > k1 - (jint)1)
|
||
|
{
|
||
|
k7= k1 - (jint)1;
|
||
|
}
|
||
|
{
|
||
|
jint j10;
|
||
|
j10= j7;
|
||
|
for (; j10 <= k7; j10++)
|
||
|
{
|
||
|
if (l7 < JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray340),
|
||
|
j10))
|
||
|
{
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray340), j10)=
|
||
|
l7;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray342), j10)=
|
||
|
j8;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray344), j10)=
|
||
|
l8;
|
||
|
}
|
||
|
if (l7 > JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray341),
|
||
|
j10))
|
||
|
{
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray341), j10)=
|
||
|
l7;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray343), j10)=
|
||
|
j8;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray345), j10)=
|
||
|
l8;
|
||
|
}
|
||
|
l7+= i8;
|
||
|
l8+= i9;
|
||
|
}
|
||
|
}
|
||
|
if (j6 != l5)
|
||
|
{
|
||
|
i8= jcgo_div(JCGO_SHL_F(i6 - k5, (jint)8), (j6 - l5));
|
||
|
k8= jcgo_div(JCGO_SHL_F(k3 - k2, (jint)8), (j6 - l5));
|
||
|
}
|
||
|
if (l5 > j6)
|
||
|
{
|
||
|
l7= JCGO_SHL_F(i6, (jint)8);
|
||
|
j8= JCGO_SHL_F(k3, (jint)8);
|
||
|
l8= JCGO_SHL_F(l3, (jint)8);
|
||
|
j7= j6;
|
||
|
k7= l5;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
l7= JCGO_SHL_F(k5, (jint)8);
|
||
|
j8= JCGO_SHL_F(k2, (jint)8);
|
||
|
l8= JCGO_SHL_F(l2, (jint)8);
|
||
|
j7= l5;
|
||
|
k7= j6;
|
||
|
}
|
||
|
if (j7 < 0)
|
||
|
{
|
||
|
l7-= i8 * j7;
|
||
|
j8-= k8 * j7;
|
||
|
j7= 0;
|
||
|
}
|
||
|
if (k7 > k1 - (jint)1)
|
||
|
{
|
||
|
k7= k1 - (jint)1;
|
||
|
}
|
||
|
{
|
||
|
jint k10;
|
||
|
k10= j7;
|
||
|
for (; k10 <= k7; k10++)
|
||
|
{
|
||
|
if (l7 < JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray340),
|
||
|
k10))
|
||
|
{
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray340), k10)=
|
||
|
l7;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray342), k10)=
|
||
|
j8;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray344), k10)=
|
||
|
l8;
|
||
|
}
|
||
|
if (l7 > JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray341),
|
||
|
k10))
|
||
|
{
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray341), k10)=
|
||
|
l7;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray343), k10)=
|
||
|
j8;
|
||
|
JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray345), k10)=
|
||
|
l8;
|
||
|
}
|
||
|
l7+= i8;
|
||
|
j8+= k8;
|
||
|
}
|
||
|
}
|
||
|
l10= k6 * j1;
|
||
|
ai= ((jintArr)JCGO_ARRAY_LACCESS(JCGO_FIELD_NZACCESS(This, surfacePixels),
|
||
|
sprite));
|
||
|
{
|
||
|
jint i11;
|
||
|
i11= k6;
|
||
|
for (; i11 < l6; i11++)
|
||
|
{
|
||
|
jint j11;
|
||
|
jint k11;
|
||
|
j11= JCGO_SHR_F(JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray340),
|
||
|
i11), (jint)8);
|
||
|
k11= JCGO_SHR_F(JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray341),
|
||
|
i11), (jint)8);
|
||
|
if (k11 - j11 <= 0)
|
||
|
{
|
||
|
l10+= j1;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
jint l11;
|
||
|
jint i12;
|
||
|
jint j12;
|
||
|
jint k12;
|
||
|
l11= JCGO_SHL_F(JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray342),
|
||
|
i11), (jint)9);
|
||
|
i12= jcgo_div((JCGO_SHL_F(JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
anIntArray343), i11), (jint)9) - l11), (k11 - j11));
|
||
|
j12= JCGO_SHL_F(JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This, anIntArray344),
|
||
|
i11), (jint)9);
|
||
|
k12= jcgo_div((JCGO_SHL_F(JCGO_ARRAY_IACCESS(JCGO_FIELD_NZACCESS(This,
|
||
|
anIntArray345), i11), (jint)9) - j12), (k11 - j11));
|
||
|
if (j11 < JCGO_FIELD_NZACCESS(This, boundsTopX))
|
||
|
{
|
||
|
l11+= (JCGO_FIELD_NZACCESS(This, boundsTopX) - j11) * i12;
|
||
|
j12+= (JCGO_FIELD_NZACCESS(This, boundsTopX) - j11) * k12;
|
||
|
j11= JCGO_FIELD_NZACCESS(This, boundsTopX);
|
||
|
}
|
||
|
if (k11 > JCGO_FIELD_NZACCESS(This, boundsBottomX))
|
||
|
{
|
||
|
k11= JCGO_FIELD_NZACCESS(This, boundsBottomX);
|
||
|
}
|
||
|
if (!JCGO_FIELD_NZACCESS(This, interlace) || (i11 & (jint)1) ==
|
||
|
0)
|
||
|
{
|
||
|
if (!(JCGO_ARRAY_ZACCESS(JCGO_FIELD_NZACCESS(This, spriteTranslate),
|
||
|
sprite)))
|
||
|
{
|
||
|
(package_Surface__drawMinimap__IAIAIIIIIIII(
|
||
|
This, JCGO_FIELD_NZACCESS(This, pixels), ai, 0, l10 + j11,
|
||
|
l11, j12, i12, k12, j11 - k11, j9));
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
(package_Surface__drawMinimapTranslate__IAIAIIIIIIII(
|
||
|
This, JCGO_FIELD_NZACCESS(This, pixels), ai, 0, l10 + j11,
|
||
|
l11, j12, i12, k12, j11 - k11, j9));
|
||
|
}
|
||
|
}
|
||
|
l10+= j1;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__spriteClipping__IIIIIIIIZ( package_Surface This,
|
||
|
jint x, jint y, jint w, jint h, jint sprite, jint colour1, jint colour2,
|
||
|
jint l1, jboolean flag )
|
||
|
{
|
||
|
{
|
||
|
{
|
||
|
JCGO_TRY_BLOCK
|
||
|
{
|
||
|
jint width;
|
||
|
jint height;
|
||
|
jint k2;
|
||
|
jint l2;
|
||
|
jint i3;
|
||
|
jint j3;
|
||
|
jint k3;
|
||
|
jint l3;
|
||
|
jint j4;
|
||
|
jint i5;
|
||
|
if (colour1 == 0)
|
||
|
{
|
||
|
colour1= (jint)16777215L;
|
||
|
}
|
||
|
if (colour2 == 0)
|
||
|
{
|
||
|
colour2= (jint)16777215L;
|
||
|
}
|
||
|
width= jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteWidth),
|
||
|
sprite)[0];
|
||
|
height= jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteHeight),
|
||
|
sprite)[0];
|
||
|
k2= 0;
|
||
|
l2= 0;
|
||
|
i3= JCGO_SHL_F(l1, (jint)16);
|
||
|
j3= jcgo_div(JCGO_SHL_F(width, (jint)16), w);
|
||
|
k3= jcgo_div(JCGO_SHL_F(height, (jint)16), h);
|
||
|
l3= jcgo_div((-JCGO_SHL_F(l1, (jint)16)), h);
|
||
|
if (jcgo_jbooleanArrAccess(JCGO_FIELD_NZACCESS(This, spriteTranslate),
|
||
|
sprite)[0])
|
||
|
{
|
||
|
jint fullWidth;
|
||
|
jint fullHeight;
|
||
|
jint j5;
|
||
|
jint k5;
|
||
|
jint l5;
|
||
|
fullWidth= jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteWidthFull),
|
||
|
sprite)[0];
|
||
|
fullHeight= jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteHeightFull),
|
||
|
sprite)[0];
|
||
|
j3= jcgo_div(JCGO_SHL_F(fullWidth, (jint)16), w);
|
||
|
k3= jcgo_div(JCGO_SHL_F(fullHeight, (jint)16), h);
|
||
|
j5= jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteTranslateX),
|
||
|
sprite)[0];
|
||
|
k5= jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteTranslateY),
|
||
|
sprite)[0];
|
||
|
if (flag)
|
||
|
{
|
||
|
j5= fullWidth - jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteWidth), sprite)[0] - j5;
|
||
|
}
|
||
|
x+= jcgo_div(((j5 * w + fullWidth) - (jint)1), fullWidth);
|
||
|
l5= jcgo_div(((k5 * h + fullHeight) - (jint)1), fullHeight);
|
||
|
y+= l5;
|
||
|
i3+= l5 * l3;
|
||
|
if (jcgo_mod((j5 * w), fullWidth) != 0)
|
||
|
{
|
||
|
k2= jcgo_div(JCGO_SHL_F(fullWidth - jcgo_mod((j5 * w), fullWidth),
|
||
|
(jint)16), w);
|
||
|
}
|
||
|
if (jcgo_mod((k5 * h), fullHeight) != 0)
|
||
|
{
|
||
|
l2= jcgo_div(JCGO_SHL_F(fullHeight - jcgo_mod((k5 * h), fullHeight),
|
||
|
(jint)16), h);
|
||
|
}
|
||
|
w= jcgo_div((((JCGO_SHL_F(jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteWidth), sprite)[0], (jint)16) - k2) + j3) - (jint)1), j3);
|
||
|
h= jcgo_div((((JCGO_SHL_F(jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteHeight), sprite)[0], (jint)16) - l2) + k3) - (jint)1),
|
||
|
k3);
|
||
|
}
|
||
|
j4= y * JCGO_FIELD_NZACCESS(This, width2);
|
||
|
i3+= JCGO_SHL_F(x, (jint)16);
|
||
|
if (y < JCGO_FIELD_NZACCESS(This, boundsTopY))
|
||
|
{
|
||
|
jint l4;
|
||
|
l4= JCGO_FIELD_NZACCESS(This, boundsTopY) - y;
|
||
|
h-= l4;
|
||
|
y= JCGO_FIELD_NZACCESS(This, boundsTopY);
|
||
|
j4+= l4 * JCGO_FIELD_NZACCESS(This, width2);
|
||
|
l2+= k3 * l4;
|
||
|
i3+= l3 * l4;
|
||
|
}
|
||
|
if (y + h >= JCGO_FIELD_NZACCESS(This, boundsBottomY))
|
||
|
{
|
||
|
h-= ((y + h) - JCGO_FIELD_NZACCESS(This, boundsBottomY)) + (jint)1;
|
||
|
}
|
||
|
i5= (jcgo_div(j4, JCGO_FIELD_NZACCESS(This, width2))) & (jint)1;
|
||
|
if (!JCGO_FIELD_NZACCESS(This, interlace))
|
||
|
{
|
||
|
i5= (jint)2;
|
||
|
}
|
||
|
if (colour2 == (jint)16777215L)
|
||
|
{
|
||
|
if (((jintArr)jcgo_jObjectArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
surfacePixels), sprite)[0]) != jnull)
|
||
|
{
|
||
|
if (!flag)
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, pixels), package_Surface__transparentSpritePlot__IAIAIIIIIIIIIIIII(
|
||
|
This, (jintArr)jcgo_rcvrL1, ((jintArr)jcgo_jObjectArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
surfacePixels), sprite)[0]), 0, k2, l2, j4, w, h, j3, k3, width,
|
||
|
colour1, i3, l3, i5));
|
||
|
#ifndef JCGO_SEHTRY
|
||
|
jcgo_tryLeave();
|
||
|
#endif
|
||
|
return;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
jObject jcgo_rcvrL2;
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, pixels), jcgo_rcvrL2=
|
||
|
(jObject)((jintArr)jcgo_jObjectArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
surfacePixels), sprite)[0]), package_Surface__transparentSpritePlot__IAIAIIIIIIIIIIIII(
|
||
|
This, (jintArr)jcgo_rcvrL1, (jintArr)jcgo_rcvrL2, 0, JCGO_SHL_F(jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteWidth), sprite)[0], (jint)16) - k2 - (jint)1, l2, j4,
|
||
|
w, h, (-j3), k3, width, colour1, i3, l3, i5));
|
||
|
#ifndef JCGO_SEHTRY
|
||
|
jcgo_tryLeave();
|
||
|
#endif
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
if (!flag)
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
jObject jcgo_rcvrL2;
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, pixels), jcgo_rcvrL2=
|
||
|
(jObject)((jbyteArr)jcgo_jObjectArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteColoursUsed), sprite)[0]), package_Surface__transparentSpritePlot__IABAIAIIIIIIIIIIIII(
|
||
|
This, (jintArr)jcgo_rcvrL1, (jbyteArr)jcgo_rcvrL2, ((jintArr)jcgo_jObjectArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteColourList), sprite)[0]), 0, k2, l2, j4, w, h, j3, k3,
|
||
|
width, colour1, i3, l3, i5));
|
||
|
#ifndef JCGO_SEHTRY
|
||
|
jcgo_tryLeave();
|
||
|
#endif
|
||
|
return;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
jObject jcgo_rcvrL2;
|
||
|
jObject jcgo_rcvrL3;
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, pixels), jcgo_rcvrL2=
|
||
|
(jObject)((jbyteArr)jcgo_jObjectArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteColoursUsed), sprite)[0]), jcgo_rcvrL3= (jObject)((jintArr)jcgo_jObjectArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteColourList), sprite)[0]), package_Surface__transparentSpritePlot__IABAIAIIIIIIIIIIIII(
|
||
|
This, (jintArr)jcgo_rcvrL1, (jbyteArr)jcgo_rcvrL2, (jintArr)jcgo_rcvrL3,
|
||
|
0, JCGO_SHL_F(jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteWidth),
|
||
|
sprite)[0], (jint)16) - k2 - (jint)1, l2, j4, w, h, (-j3), k3,
|
||
|
width, colour1, i3, l3, i5));
|
||
|
#ifndef JCGO_SEHTRY
|
||
|
jcgo_tryLeave();
|
||
|
#endif
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
if (((jintArr)jcgo_jObjectArrAccess(JCGO_FIELD_NZACCESS(This, surfacePixels),
|
||
|
sprite)[0]) != jnull)
|
||
|
{
|
||
|
if (!flag)
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, pixels), package_Surface__transparentSpritePlot__IAIAIIIIIIIIIIIIII(
|
||
|
This, (jintArr)jcgo_rcvrL1, ((jintArr)jcgo_jObjectArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
surfacePixels), sprite)[0]), 0, k2, l2, j4, w, h, j3, k3, width,
|
||
|
colour1, colour2, i3, l3, i5));
|
||
|
#ifndef JCGO_SEHTRY
|
||
|
jcgo_tryLeave();
|
||
|
#endif
|
||
|
return;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
jObject jcgo_rcvrL2;
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, pixels), jcgo_rcvrL2=
|
||
|
(jObject)((jintArr)jcgo_jObjectArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
surfacePixels), sprite)[0]), package_Surface__transparentSpritePlot__IAIAIIIIIIIIIIIIII(
|
||
|
This, (jintArr)jcgo_rcvrL1, (jintArr)jcgo_rcvrL2, 0, JCGO_SHL_F(jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteWidth), sprite)[0], (jint)16) - k2 - (jint)1, l2, j4,
|
||
|
w, h, (-j3), k3, width, colour1, colour2, i3, l3, i5));
|
||
|
#ifndef JCGO_SEHTRY
|
||
|
jcgo_tryLeave();
|
||
|
#endif
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
if (!flag)
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
jObject jcgo_rcvrL2;
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, pixels), jcgo_rcvrL2=
|
||
|
(jObject)((jbyteArr)jcgo_jObjectArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteColoursUsed), sprite)[0]), package_Surface__transparentSpritePlot__IABAIAIIIIIIIIIIIIII(
|
||
|
This, (jintArr)jcgo_rcvrL1, (jbyteArr)jcgo_rcvrL2, ((jintArr)jcgo_jObjectArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteColourList), sprite)[0]), 0, k2, l2, j4, w, h, j3, k3,
|
||
|
width, colour1, colour2, i3, l3, i5));
|
||
|
#ifndef JCGO_SEHTRY
|
||
|
jcgo_tryLeave();
|
||
|
#endif
|
||
|
return;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
jObject jcgo_rcvrL2;
|
||
|
jObject jcgo_rcvrL3;
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_FIELD_NZACCESS(This, pixels), jcgo_rcvrL2=
|
||
|
(jObject)((jbyteArr)jcgo_jObjectArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteColoursUsed), sprite)[0]), jcgo_rcvrL3= (jObject)((jintArr)jcgo_jObjectArrAccess(JCGO_FIELD_NZACCESS(This,
|
||
|
spriteColourList), sprite)[0]), package_Surface__transparentSpritePlot__IABAIAIIIIIIIIIIIIII(
|
||
|
This, (jintArr)jcgo_rcvrL1, (jbyteArr)jcgo_rcvrL2, (jintArr)jcgo_rcvrL3,
|
||
|
0, JCGO_SHL_F(jcgo_jintArrAccess(JCGO_FIELD_NZACCESS(This, spriteWidth),
|
||
|
sprite)[0], (jint)16) - k2 - (jint)1, l2, j4, w, h, (-j3), k3,
|
||
|
width, colour1, colour2, i3, l3, i5));
|
||
|
#ifndef JCGO_SEHTRY
|
||
|
jcgo_tryLeave();
|
||
|
#endif
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
JCGO_TRY_LEAVE
|
||
|
JCGO_TRY_CATCHES(1)
|
||
|
JCGO_TRY_CATCH(OBJT_java_lang_Exception, MAXT_java_lang_Exception)
|
||
|
{
|
||
|
(java_io_PrintStream__println__Ls(
|
||
|
JCGO_CLINIT_VARACC(java_lang_System__class, java_lang_System__out),
|
||
|
JCGO_STRREF_OF(jcgo_string5_Surface)));
|
||
|
}
|
||
|
JCGO_TRY_RETHROW(1)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__transparentSpritePlot__IAIAIIIIIIIIIIIII( package_Surface
|
||
|
This, jintArr dest, jintArr src, jint i, jint j, jint k, jint destPos,
|
||
|
jint i1, jint j1, jint k1, jint l1, jint i2, jint j2, jint k2, jint
|
||
|
l2, jint i3 )
|
||
|
{
|
||
|
{
|
||
|
jint i4;
|
||
|
jint j4;
|
||
|
jint k4;
|
||
|
i4= JCGO_SHR_F(j2, (jint)16) & (jint)255;
|
||
|
j4= JCGO_SHR_F(j2, (jint)8) & (jint)255;
|
||
|
k4= j2 & (jint)255;
|
||
|
{
|
||
|
JCGO_TRY_BLOCK
|
||
|
{
|
||
|
jint l4;
|
||
|
l4= j;
|
||
|
{
|
||
|
jint i5;
|
||
|
i5= (-j1);
|
||
|
for (; i5 < 0; i5++)
|
||
|
{
|
||
|
jint j5;
|
||
|
jint k5;
|
||
|
jint l5;
|
||
|
j5= JCGO_SHR_F(k, (jint)16) * i2;
|
||
|
k5= JCGO_SHR_F(k2, (jint)16);
|
||
|
l5= i1;
|
||
|
if (k5 < JCGO_FIELD_NZACCESS(This, boundsTopX))
|
||
|
{
|
||
|
jint i6;
|
||
|
i6= JCGO_FIELD_NZACCESS(This, boundsTopX) - k5;
|
||
|
l5-= i6;
|
||
|
k5= JCGO_FIELD_NZACCESS(This, boundsTopX);
|
||
|
j+= k1 * i6;
|
||
|
}
|
||
|
if (k5 + l5 >= JCGO_FIELD_NZACCESS(This, boundsBottomX))
|
||
|
{
|
||
|
jint j6;
|
||
|
j6= (k5 + l5) - JCGO_FIELD_NZACCESS(This, boundsBottomX);
|
||
|
l5-= j6;
|
||
|
}
|
||
|
i3= (jint)1 - i3;
|
||
|
if (i3 != 0)
|
||
|
{
|
||
|
{
|
||
|
jint k6;
|
||
|
k6= k5;
|
||
|
for (; k6 < k5 + l5; k6++)
|
||
|
{
|
||
|
i= jcgo_jintArrAccess(src, JCGO_SHR_F(j, (jint)16) + j5)[0];
|
||
|
if (i != 0)
|
||
|
{
|
||
|
jint j3;
|
||
|
jint k3;
|
||
|
jint l3;
|
||
|
j3= JCGO_SHR_F(i, (jint)16) & (jint)255;
|
||
|
k3= JCGO_SHR_F(i, (jint)8) & (jint)255;
|
||
|
l3= i & (jint)255;
|
||
|
if (j3 == k3 && k3 == l3)
|
||
|
{
|
||
|
jcgo_jintArrAccess(dest, k6 + destPos)[0]= (JCGO_SHL_F(JCGO_SHR_F(j3 *
|
||
|
i4, (jint)8), (jint)16) + JCGO_SHL_F(JCGO_SHR_F(k3 * j4,
|
||
|
(jint)8), (jint)8) + JCGO_SHR_F(l3 * k4, (jint)8));
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
jcgo_jintArrAccess(dest, k6 + destPos)[0]= i;
|
||
|
}
|
||
|
}
|
||
|
j+= k1;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
k+= l1;
|
||
|
j= l4;
|
||
|
destPos+= JCGO_FIELD_NZACCESS(This, width2);
|
||
|
k2+= l2;
|
||
|
}
|
||
|
}
|
||
|
#ifndef JCGO_SEHTRY
|
||
|
jcgo_tryLeave();
|
||
|
#endif
|
||
|
return;
|
||
|
}
|
||
|
JCGO_TRY_LEAVE
|
||
|
JCGO_TRY_CATCHES(1)
|
||
|
JCGO_TRY_CATCH(OBJT_java_lang_Exception, MAXT_java_lang_Exception)
|
||
|
{
|
||
|
(java_io_PrintStream__println__Ls(
|
||
|
JCGO_CLINIT_VARACC(java_lang_System__class, java_lang_System__out),
|
||
|
JCGO_STRREF_OF(jcgo_string6_Surface)));
|
||
|
}
|
||
|
JCGO_TRY_RETHROW(1)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__transparentSpritePlot__IAIAIIIIIIIIIIIIII( package_Surface
|
||
|
This, jintArr dest, jintArr src, jint i, jint j, jint k, jint destPos,
|
||
|
jint i1, jint j1, jint k1, jint l1, jint i2, jint j2, jint k2, jint
|
||
|
l2, jint i3, jint j3 )
|
||
|
{
|
||
|
{
|
||
|
jint j4;
|
||
|
jint k4;
|
||
|
jint l4;
|
||
|
jint i5;
|
||
|
jint j5;
|
||
|
jint k5;
|
||
|
j4= JCGO_SHR_F(j2, (jint)16) & (jint)255;
|
||
|
k4= JCGO_SHR_F(j2, (jint)8) & (jint)255;
|
||
|
l4= j2 & (jint)255;
|
||
|
i5= JCGO_SHR_F(k2, (jint)16) & (jint)255;
|
||
|
j5= JCGO_SHR_F(k2, (jint)8) & (jint)255;
|
||
|
k5= k2 & (jint)255;
|
||
|
{
|
||
|
JCGO_TRY_BLOCK
|
||
|
{
|
||
|
jint l5;
|
||
|
l5= j;
|
||
|
{
|
||
|
jint i6;
|
||
|
i6= (-j1);
|
||
|
for (; i6 < 0; i6++)
|
||
|
{
|
||
|
jint j6;
|
||
|
jint k6;
|
||
|
jint l6;
|
||
|
j6= JCGO_SHR_F(k, (jint)16) * i2;
|
||
|
k6= JCGO_SHR_F(l2, (jint)16);
|
||
|
l6= i1;
|
||
|
if (k6 < JCGO_FIELD_NZACCESS(This, boundsTopX))
|
||
|
{
|
||
|
jint i7;
|
||
|
i7= JCGO_FIELD_NZACCESS(This, boundsTopX) - k6;
|
||
|
l6-= i7;
|
||
|
k6= JCGO_FIELD_NZACCESS(This, boundsTopX);
|
||
|
j+= k1 * i7;
|
||
|
}
|
||
|
if (k6 + l6 >= JCGO_FIELD_NZACCESS(This, boundsBottomX))
|
||
|
{
|
||
|
jint j7;
|
||
|
j7= (k6 + l6) - JCGO_FIELD_NZACCESS(This, boundsBottomX);
|
||
|
l6-= j7;
|
||
|
}
|
||
|
j3= (jint)1 - j3;
|
||
|
if (j3 != 0)
|
||
|
{
|
||
|
{
|
||
|
jint k7;
|
||
|
k7= k6;
|
||
|
for (; k7 < k6 + l6; k7++)
|
||
|
{
|
||
|
i= jcgo_jintArrAccess(src, JCGO_SHR_F(j, (jint)16) + j6)[0];
|
||
|
if (i != 0)
|
||
|
{
|
||
|
jint k3;
|
||
|
jint l3;
|
||
|
jint i4;
|
||
|
k3= JCGO_SHR_F(i, (jint)16) & (jint)255;
|
||
|
l3= JCGO_SHR_F(i, (jint)8) & (jint)255;
|
||
|
i4= i & (jint)255;
|
||
|
if (k3 == l3 && l3 == i4)
|
||
|
{
|
||
|
jcgo_jintArrAccess(dest, k7 + destPos)[0]= (JCGO_SHL_F(JCGO_SHR_F(k3 *
|
||
|
j4, (jint)8), (jint)16) + JCGO_SHL_F(JCGO_SHR_F(l3 * k4,
|
||
|
(jint)8), (jint)8) + JCGO_SHR_F(i4 * l4, (jint)8));
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if (k3 == (jint)255 && l3 == i4)
|
||
|
{
|
||
|
jcgo_jintArrAccess(dest, k7 + destPos)[0]= (JCGO_SHL_F(JCGO_SHR_F(k3 *
|
||
|
i5, (jint)8), (jint)16) + JCGO_SHL_F(JCGO_SHR_F(l3 * j5,
|
||
|
(jint)8), (jint)8) + JCGO_SHR_F(i4 * k5, (jint)8));
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
jcgo_jintArrAccess(dest, k7 + destPos)[0]= i;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
j+= k1;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
k+= l1;
|
||
|
j= l5;
|
||
|
destPos+= JCGO_FIELD_NZACCESS(This, width2);
|
||
|
l2+= i3;
|
||
|
}
|
||
|
}
|
||
|
#ifndef JCGO_SEHTRY
|
||
|
jcgo_tryLeave();
|
||
|
#endif
|
||
|
return;
|
||
|
}
|
||
|
JCGO_TRY_LEAVE
|
||
|
JCGO_TRY_CATCHES(1)
|
||
|
JCGO_TRY_CATCH(OBJT_java_lang_Exception, MAXT_java_lang_Exception)
|
||
|
{
|
||
|
(java_io_PrintStream__println__Ls(
|
||
|
JCGO_CLINIT_VARACC(java_lang_System__class, java_lang_System__out),
|
||
|
JCGO_STRREF_OF(jcgo_string6_Surface)));
|
||
|
}
|
||
|
JCGO_TRY_RETHROW(1)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__transparentSpritePlot__IABAIAIIIIIIIIIIIII( package_Surface
|
||
|
This, jintArr dest, jbyteArr colourIdx, jintArr colours, 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 i4;
|
||
|
jint j4;
|
||
|
jint k4;
|
||
|
i4= JCGO_SHR_F(j2, (jint)16) & (jint)255;
|
||
|
j4= JCGO_SHR_F(j2, (jint)8) & (jint)255;
|
||
|
k4= j2 & (jint)255;
|
||
|
{
|
||
|
JCGO_TRY_BLOCK
|
||
|
{
|
||
|
jint l4;
|
||
|
l4= j;
|
||
|
{
|
||
|
jint i5;
|
||
|
i5= (-j1);
|
||
|
for (; i5 < 0; i5++)
|
||
|
{
|
||
|
jint j5;
|
||
|
jint k5;
|
||
|
jint l5;
|
||
|
j5= JCGO_SHR_F(k, (jint)16) * i2;
|
||
|
k5= JCGO_SHR_F(k2, (jint)16);
|
||
|
l5= i1;
|
||
|
if (k5 < JCGO_FIELD_NZACCESS(This, boundsTopX))
|
||
|
{
|
||
|
jint i6;
|
||
|
i6= JCGO_FIELD_NZACCESS(This, boundsTopX) - k5;
|
||
|
l5-= i6;
|
||
|
k5= JCGO_FIELD_NZACCESS(This, boundsTopX);
|
||
|
j+= k1 * i6;
|
||
|
}
|
||
|
if (k5 + l5 >= JCGO_FIELD_NZACCESS(This, boundsBottomX))
|
||
|
{
|
||
|
jint j6;
|
||
|
j6= (k5 + l5) - JCGO_FIELD_NZACCESS(This, boundsBottomX);
|
||
|
l5-= j6;
|
||
|
}
|
||
|
i3= (jint)1 - i3;
|
||
|
if (i3 != 0)
|
||
|
{
|
||
|
{
|
||
|
jint k6;
|
||
|
k6= k5;
|
||
|
for (; k6 < k5 + l5; k6++)
|
||
|
{
|
||
|
i= (jint)((unsigned char)(jcgo_jbyteArrAccess(colourIdx, JCGO_SHR_F(j,
|
||
|
(jint)16) + j5)[0]));
|
||
|
if (i != 0)
|
||
|
{
|
||
|
jint j3;
|
||
|
jint k3;
|
||
|
jint l3;
|
||
|
i= jcgo_jintArrAccess(colours, i)[0];
|
||
|
j3= JCGO_SHR_F(i, (jint)16) & (jint)255;
|
||
|
k3= JCGO_SHR_F(i, (jint)8) & (jint)255;
|
||
|
l3= i & (jint)255;
|
||
|
if (j3 == k3 && k3 == l3)
|
||
|
{
|
||
|
jcgo_jintArrAccess(dest, k6 + l)[0]= (JCGO_SHL_F(JCGO_SHR_F(j3 *
|
||
|
i4, (jint)8), (jint)16) + JCGO_SHL_F(JCGO_SHR_F(k3 * j4,
|
||
|
(jint)8), (jint)8) + JCGO_SHR_F(l3 * k4, (jint)8));
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
jcgo_jintArrAccess(dest, k6 + l)[0]= i;
|
||
|
}
|
||
|
}
|
||
|
j+= k1;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
k+= l1;
|
||
|
j= l4;
|
||
|
l+= JCGO_FIELD_NZACCESS(This, width2);
|
||
|
k2+= l2;
|
||
|
}
|
||
|
}
|
||
|
#ifndef JCGO_SEHTRY
|
||
|
jcgo_tryLeave();
|
||
|
#endif
|
||
|
return;
|
||
|
}
|
||
|
JCGO_TRY_LEAVE
|
||
|
JCGO_TRY_CATCHES(1)
|
||
|
JCGO_TRY_CATCH(OBJT_java_lang_Exception, MAXT_java_lang_Exception)
|
||
|
{
|
||
|
(java_io_PrintStream__println__Ls(
|
||
|
JCGO_CLINIT_VARACC(java_lang_System__class, java_lang_System__out),
|
||
|
JCGO_STRREF_OF(jcgo_string6_Surface)));
|
||
|
}
|
||
|
JCGO_TRY_RETHROW(1)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__transparentSpritePlot__IABAIAIIIIIIIIIIIIII( package_Surface
|
||
|
This, jintArr dest, jbyteArr coloursUsed, jintArr colourList, 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 j4;
|
||
|
jint k4;
|
||
|
jint l4;
|
||
|
jint i5;
|
||
|
jint j5;
|
||
|
jint k5;
|
||
|
j4= JCGO_SHR_F(j2, (jint)16) & (jint)255;
|
||
|
k4= JCGO_SHR_F(j2, (jint)8) & (jint)255;
|
||
|
l4= j2 & (jint)255;
|
||
|
i5= JCGO_SHR_F(k2, (jint)16) & (jint)255;
|
||
|
j5= JCGO_SHR_F(k2, (jint)8) & (jint)255;
|
||
|
k5= k2 & (jint)255;
|
||
|
{
|
||
|
JCGO_TRY_BLOCK
|
||
|
{
|
||
|
jint l5;
|
||
|
l5= j;
|
||
|
{
|
||
|
jint i6;
|
||
|
i6= (-j1);
|
||
|
for (; i6 < 0; i6++)
|
||
|
{
|
||
|
jint j6;
|
||
|
jint k6;
|
||
|
jint l6;
|
||
|
j6= JCGO_SHR_F(k, (jint)16) * i2;
|
||
|
k6= JCGO_SHR_F(l2, (jint)16);
|
||
|
l6= i1;
|
||
|
if (k6 < JCGO_FIELD_NZACCESS(This, boundsTopX))
|
||
|
{
|
||
|
jint i7;
|
||
|
i7= JCGO_FIELD_NZACCESS(This, boundsTopX) - k6;
|
||
|
l6-= i7;
|
||
|
k6= JCGO_FIELD_NZACCESS(This, boundsTopX);
|
||
|
j+= k1 * i7;
|
||
|
}
|
||
|
if (k6 + l6 >= JCGO_FIELD_NZACCESS(This, boundsBottomX))
|
||
|
{
|
||
|
jint j7;
|
||
|
j7= (k6 + l6) - JCGO_FIELD_NZACCESS(This, boundsBottomX);
|
||
|
l6-= j7;
|
||
|
}
|
||
|
j3= (jint)1 - j3;
|
||
|
if (j3 != 0)
|
||
|
{
|
||
|
{
|
||
|
jint k7;
|
||
|
k7= k6;
|
||
|
for (; k7 < k6 + l6; k7++)
|
||
|
{
|
||
|
i= (jint)((unsigned char)(jcgo_jbyteArrAccess(coloursUsed,
|
||
|
JCGO_SHR_F(j, (jint)16) + j6)[0]));
|
||
|
if (i != 0)
|
||
|
{
|
||
|
jint k3;
|
||
|
jint l3;
|
||
|
jint i4;
|
||
|
i= jcgo_jintArrAccess(colourList, i)[0];
|
||
|
k3= JCGO_SHR_F(i, (jint)16) & (jint)255;
|
||
|
l3= JCGO_SHR_F(i, (jint)8) & (jint)255;
|
||
|
i4= i & (jint)255;
|
||
|
if (k3 == l3 && l3 == i4)
|
||
|
{
|
||
|
jcgo_jintArrAccess(dest, k7 + l)[0]= (JCGO_SHL_F(JCGO_SHR_F(k3 *
|
||
|
j4, (jint)8), (jint)16) + JCGO_SHL_F(JCGO_SHR_F(l3 * k4,
|
||
|
(jint)8), (jint)8) + JCGO_SHR_F(i4 * l4, (jint)8));
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if (k3 == (jint)255 && l3 == i4)
|
||
|
{
|
||
|
jcgo_jintArrAccess(dest, k7 + l)[0]= (JCGO_SHL_F(JCGO_SHR_F(k3 *
|
||
|
i5, (jint)8), (jint)16) + JCGO_SHL_F(JCGO_SHR_F(l3 * j5,
|
||
|
(jint)8), (jint)8) + JCGO_SHR_F(i4 * k5, (jint)8));
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
jcgo_jintArrAccess(dest, k7 + l)[0]= i;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
j+= k1;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
k+= l1;
|
||
|
j= l5;
|
||
|
l+= JCGO_FIELD_NZACCESS(This, width2);
|
||
|
l2+= i3;
|
||
|
}
|
||
|
}
|
||
|
#ifndef JCGO_SEHTRY
|
||
|
jcgo_tryLeave();
|
||
|
#endif
|
||
|
return;
|
||
|
}
|
||
|
JCGO_TRY_LEAVE
|
||
|
JCGO_TRY_CATCHES(1)
|
||
|
JCGO_TRY_CATCH(OBJT_java_lang_Exception, MAXT_java_lang_Exception)
|
||
|
{
|
||
|
(java_io_PrintStream__println__Ls(
|
||
|
JCGO_CLINIT_VARACC(java_lang_System__class, java_lang_System__out),
|
||
|
JCGO_STRREF_OF(jcgo_string6_Surface)));
|
||
|
}
|
||
|
JCGO_TRY_RETHROW(1)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_FRWINL void CFASTCALL
|
||
|
package_Surface__drawstringRight__LsIIII( package_Surface This, java_lang_String
|
||
|
text, jint x, jint y, jint font, jint colour )
|
||
|
{
|
||
|
{
|
||
|
(package_Surface__drawstring__LsIIII(
|
||
|
This, text, x - (package_Surface__textWidth__LsI(
|
||
|
This, text, font)), y, font, colour));
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__centrepara__LsIIIII( package_Surface This, java_lang_String
|
||
|
text, jint x, jint y, jint font, jint colour, jint max_7e1 )
|
||
|
{
|
||
|
{
|
||
|
{
|
||
|
JCGO_TRY_BLOCK
|
||
|
{
|
||
|
jbyteArr fontdata;
|
||
|
jint width;
|
||
|
jint start;
|
||
|
jint end;
|
||
|
width= 0;
|
||
|
fontdata= ((jbyteArr)jcgo_jObjectArrAccess(package_Surface__gameFonts,
|
||
|
font)[0]);
|
||
|
start= 0;
|
||
|
end= 0;
|
||
|
{
|
||
|
jint index;
|
||
|
index= 0;
|
||
|
for (; index < (JCGO_CALL_EFINALF(text) java_lang_String__length__(
|
||
|
text)); index++)
|
||
|
{
|
||
|
if ((java_lang_String__charAt__I(
|
||
|
text, index)) == (jchar)64/*'@'*/ && index + (jint)4 < (java_lang_String__length__(
|
||
|
text)) && (java_lang_String__charAt__I(
|
||
|
text, index + (jint)4)) == (jchar)64/*'@'*/)
|
||
|
{
|
||
|
index+= (jint)4;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if ((java_lang_String__charAt__I(
|
||
|
text, index)) == (jchar)126/*'~'*/ && index + (jint)4 < (java_lang_String__length__(
|
||
|
text)) && (java_lang_String__charAt__I(
|
||
|
text, index + (jint)4)) == (jchar)126/*'~'*/)
|
||
|
{
|
||
|
index+= (jint)4;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
width+= (jint)(jcgo_jbyteArrAccess(fontdata, (jcgo_rcvrL1=
|
||
|
(jObject)package_Surface__characterWidth, jcgo_jintArrAccess((jintArr)jcgo_rcvrL1,
|
||
|
(java_lang_String__charAt__I(
|
||
|
text, index)))[0]) + (jint)7)[0]);
|
||
|
}
|
||
|
}
|
||
|
if ((java_lang_String__charAt__I(
|
||
|
text, index)) == (jchar)32/*' '*/)
|
||
|
{
|
||
|
end= index;
|
||
|
}
|
||
|
if ((java_lang_String__charAt__I(
|
||
|
text, index)) == (jchar)37/*'%'*/)
|
||
|
{
|
||
|
end= index;
|
||
|
width= (jint)1000;
|
||
|
}
|
||
|
if (width > max_7e1)
|
||
|
{
|
||
|
if (end <= start)
|
||
|
{
|
||
|
end= index;
|
||
|
}
|
||
|
(package_Surface__drawStringCenter__LsIIII(
|
||
|
This, (java_lang_String__substring__II(
|
||
|
text, start, end)), x, y, font, colour));
|
||
|
width= 0;
|
||
|
start= index= end + (jint)1;
|
||
|
y+= (package_Surface__textHeight__I(
|
||
|
This, font));
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
if (width > 0)
|
||
|
{
|
||
|
(package_Surface__drawStringCenter__LsIIII(
|
||
|
This, (java_lang_String__substring__I(
|
||
|
text, start)), x, y, font, colour));
|
||
|
#ifndef JCGO_SEHTRY
|
||
|
jcgo_tryLeave();
|
||
|
#endif
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
JCGO_TRY_LEAVE
|
||
|
JCGO_TRY_CATCHES(1)
|
||
|
JCGO_TRY_CATCH(OBJT_java_lang_Exception, MAXT_java_lang_Exception)
|
||
|
{
|
||
|
java_lang_Exception exception;
|
||
|
jObject jcgo_rcvrL1;
|
||
|
exception= (java_lang_Exception)JCGO_TRY_THROWABLE(0);
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_CLINIT_VARACC(java_lang_System__class,
|
||
|
java_lang_System__out), java_io_PrintStream__println__Ls(
|
||
|
(java_io_PrintStream)jcgo_rcvrL1, java_lang_VMSystem__concat0X__LsLs(
|
||
|
JCGO_STRREF_OF(jcgo_string7_Surface), (java_lang_Throwable__toString__(
|
||
|
(java_lang_Throwable)exception)))));
|
||
|
(java_lang_Throwable__printStackTrace__(
|
||
|
(java_lang_Throwable)exception));
|
||
|
}
|
||
|
JCGO_TRY_RETHROW(1)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__drawstring__LsIIII( package_Surface This, java_lang_String
|
||
|
text, jint x, jint y, jint font, jint colour )
|
||
|
{
|
||
|
{
|
||
|
{
|
||
|
JCGO_TRY_BLOCK
|
||
|
{
|
||
|
jbyteArr fontData;
|
||
|
fontData= ((jbyteArr)jcgo_jObjectArrAccess(package_Surface__gameFonts,
|
||
|
font)[0]);
|
||
|
{
|
||
|
jint idx;
|
||
|
idx= 0;
|
||
|
for (; idx < (JCGO_CALL_EFINALF(text) java_lang_String__length__(
|
||
|
text)); idx++)
|
||
|
{
|
||
|
if ((java_lang_String__charAt__I(
|
||
|
text, idx)) == (jchar)64/*'@'*/ && idx + (jint)4 < (java_lang_String__length__(
|
||
|
text)) && (java_lang_String__charAt__I(
|
||
|
text, idx + (jint)4)) == (jchar)64/*'@'*/)
|
||
|
{
|
||
|
if ((java_lang_String__equalsIgnoreCase__Ls(
|
||
|
(java_lang_String__substring__II(
|
||
|
text, idx + (jint)1, idx + (jint)4)), JCGO_STRREF_OF(jcgo_string8_Surface))))
|
||
|
{
|
||
|
colour= (jint)16711680L;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if ((java_lang_String__equalsIgnoreCase__Ls(
|
||
|
(java_lang_String__substring__II(
|
||
|
text, idx + (jint)1, idx + (jint)4)), JCGO_STRREF_OF(jcgo_string9_Surface))))
|
||
|
{
|
||
|
colour= (jint)16748608L;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if ((java_lang_String__equalsIgnoreCase__Ls(
|
||
|
(java_lang_String__substring__II(
|
||
|
text, idx + (jint)1, idx + (jint)4)), JCGO_STRREF_OF(jcgo_string10_Surface))))
|
||
|
{
|
||
|
colour= (jint)16776960L;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if ((java_lang_String__equalsIgnoreCase__Ls(
|
||
|
(java_lang_String__substring__II(
|
||
|
text, idx + (jint)1, idx + (jint)4)), JCGO_STRREF_OF(jcgo_string11_Surface))))
|
||
|
{
|
||
|
colour= (jint)65280L;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if ((java_lang_String__equalsIgnoreCase__Ls(
|
||
|
(java_lang_String__substring__II(
|
||
|
text, idx + (jint)1, idx + (jint)4)), JCGO_STRREF_OF(jcgo_string12_Surface))))
|
||
|
{
|
||
|
colour= (jint)255;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if ((java_lang_String__equalsIgnoreCase__Ls(
|
||
|
(java_lang_String__substring__II(
|
||
|
text, idx + (jint)1, idx + (jint)4)), JCGO_STRREF_OF(jcgo_string13_Surface))))
|
||
|
{
|
||
|
colour= (jint)65535L;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if ((java_lang_String__equalsIgnoreCase__Ls(
|
||
|
(java_lang_String__substring__II(
|
||
|
text, idx + (jint)1, idx + (jint)4)), JCGO_STRREF_OF(jcgo_string14_Surface))))
|
||
|
{
|
||
|
colour= (jint)16711935L;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if ((java_lang_String__equalsIgnoreCase__Ls(
|
||
|
(java_lang_String__substring__II(
|
||
|
text, idx + (jint)1, idx + (jint)4)), JCGO_STRREF_OF(jcgo_string15_Surface))))
|
||
|
{
|
||
|
colour= (jint)16777215L;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if ((java_lang_String__equalsIgnoreCase__Ls(
|
||
|
(java_lang_String__substring__II(
|
||
|
text, idx + (jint)1, idx + (jint)4)), JCGO_STRREF_OF(jcgo_string16_Surface))))
|
||
|
{
|
||
|
colour= 0;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if ((java_lang_String__equalsIgnoreCase__Ls(
|
||
|
(java_lang_String__substring__II(
|
||
|
text, idx + (jint)1, idx + (jint)4)), JCGO_STRREF_OF(jcgo_string17_Surface))))
|
||
|
{
|
||
|
colour= (jint)12582912L;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if ((java_lang_String__equalsIgnoreCase__Ls(
|
||
|
(java_lang_String__substring__II(
|
||
|
text, idx + (jint)1, idx + (jint)4)), JCGO_STRREF_OF(jcgo_string18_Surface))))
|
||
|
{
|
||
|
colour= (jint)16748608L;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if ((java_lang_String__equalsIgnoreCase__Ls(
|
||
|
(java_lang_String__substring__II(
|
||
|
text, idx + (jint)1, idx + (jint)4)), JCGO_STRREF_OF(jcgo_string19_Surface))))
|
||
|
{
|
||
|
colour= JCGO_JDOUBLE_TOJINT(((java_lang_Math__random__()) *
|
||
|
(jdouble)16777215.0));
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if ((java_lang_String__equalsIgnoreCase__Ls(
|
||
|
(java_lang_String__substring__II(
|
||
|
text, idx + (jint)1, idx + (jint)4)), JCGO_STRREF_OF(jcgo_string20_Surface))))
|
||
|
{
|
||
|
colour= (jint)16756736L;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if ((java_lang_String__equalsIgnoreCase__Ls(
|
||
|
(java_lang_String__substring__II(
|
||
|
text, idx + (jint)1, idx + (jint)4)), JCGO_STRREF_OF(jcgo_string21_Surface))))
|
||
|
{
|
||
|
colour= (jint)16740352L;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if ((java_lang_String__equalsIgnoreCase__Ls(
|
||
|
(java_lang_String__substring__II(
|
||
|
text, idx + (jint)1, idx + (jint)4)), JCGO_STRREF_OF(jcgo_string22_Surface))))
|
||
|
{
|
||
|
colour= (jint)16723968L;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if ((java_lang_String__equalsIgnoreCase__Ls(
|
||
|
(java_lang_String__substring__II(
|
||
|
text, idx + (jint)1, idx + (jint)4)), JCGO_STRREF_OF(jcgo_string23_Surface))))
|
||
|
{
|
||
|
colour= (jint)12648192L;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if ((java_lang_String__equalsIgnoreCase__Ls(
|
||
|
(java_lang_String__substring__II(
|
||
|
text, idx + (jint)1, idx + (jint)4)), JCGO_STRREF_OF(jcgo_string24_Surface))))
|
||
|
{
|
||
|
colour= (jint)8453888L;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if ((java_lang_String__equalsIgnoreCase__Ls(
|
||
|
(java_lang_String__substring__II(
|
||
|
text, idx + (jint)1, idx + (jint)4)), JCGO_STRREF_OF(jcgo_string25_Surface))))
|
||
|
{
|
||
|
colour= (jint)4259584L;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
idx+= (jint)4;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if ((java_lang_String__charAt__I(
|
||
|
text, idx)) == (jchar)126/*'~'*/ && idx + (jint)4 < (java_lang_String__length__(
|
||
|
text)) && (java_lang_String__charAt__I(
|
||
|
text, idx + (jint)4)) == (jchar)126/*'~'*/)
|
||
|
{
|
||
|
jchar c;
|
||
|
jchar c1;
|
||
|
jchar c2;
|
||
|
c= (java_lang_String__charAt__I(
|
||
|
text, idx + (jint)1));
|
||
|
c1= (java_lang_String__charAt__I(
|
||
|
text, idx + (jint)2));
|
||
|
c2= (java_lang_String__charAt__I(
|
||
|
text, idx + (jint)3));
|
||
|
if (c >= (jchar)48/*'0'*/ && c <= (jchar)57/*'9'*/ && c1 >=
|
||
|
(jchar)48/*'0'*/ && c1 <= (jchar)57/*'9'*/ && c2 >= (jchar)48/*'0'*/ &&
|
||
|
c2 <= (jchar)57/*'9'*/)
|
||
|
{
|
||
|
x= (java_lang_Integer__parseInt__Ls(
|
||
|
(java_lang_String__substring__II(
|
||
|
text, idx + (jint)1, idx + (jint)4))));
|
||
|
}
|
||
|
idx+= (jint)4;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
jint width;
|
||
|
jObject jcgo_rcvrL1;
|
||
|
width= (jcgo_rcvrL1= (jObject)package_Surface__characterWidth,
|
||
|
jcgo_jintArrAccess((jintArr)jcgo_rcvrL1, (java_lang_String__charAt__I(
|
||
|
text, idx)))[0]);
|
||
|
if (JCGO_FIELD_NZACCESS(This, loggedIn) && colour != 0)
|
||
|
{
|
||
|
(package_Surface__drawCharacter__IIIIBA(
|
||
|
This, fontData, width, x + (jint)1, y, 0));
|
||
|
(package_Surface__drawCharacter__IIIIBA(
|
||
|
This, fontData, width, x, y + (jint)1, 0));
|
||
|
}
|
||
|
(package_Surface__drawCharacter__IIIIBA(
|
||
|
This, fontData, width, x, y, colour));
|
||
|
x+= (jint)(jcgo_jbyteArrAccessNZ(fontData, width + (jint)7)[0]);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
#ifndef JCGO_SEHTRY
|
||
|
jcgo_tryLeave();
|
||
|
#endif
|
||
|
return;
|
||
|
}
|
||
|
JCGO_TRY_LEAVE
|
||
|
JCGO_TRY_CATCHES(1)
|
||
|
JCGO_TRY_CATCH(OBJT_java_lang_Exception, MAXT_java_lang_Exception)
|
||
|
{
|
||
|
java_lang_Exception exception;
|
||
|
jObject jcgo_rcvrL1;
|
||
|
exception= (java_lang_Exception)JCGO_TRY_THROWABLE(0);
|
||
|
(jcgo_rcvrL1= (jObject)JCGO_CLINIT_VARACC(java_lang_System__class,
|
||
|
java_lang_System__out), java_io_PrintStream__println__Ls(
|
||
|
(java_io_PrintStream)jcgo_rcvrL1, java_lang_VMSystem__concat0X__LsLs(
|
||
|
JCGO_STRREF_OF(jcgo_string26_Surface), (java_lang_Throwable__toString__(
|
||
|
(java_lang_Throwable)exception)))));
|
||
|
(java_lang_Throwable__printStackTrace__(
|
||
|
(java_lang_Throwable)exception));
|
||
|
return;
|
||
|
}
|
||
|
JCGO_TRY_RETHROW(1)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__drawCharacter__IIIIBA( package_Surface This, jbyteArr
|
||
|
font, jint width, jint x, jint y, jint colour )
|
||
|
{
|
||
|
{
|
||
|
jint i1;
|
||
|
jint j1;
|
||
|
jint k1;
|
||
|
jint l1;
|
||
|
jint i2;
|
||
|
jint j2;
|
||
|
jint k2;
|
||
|
jint l2;
|
||
|
jint jcgo_rcvrI1;
|
||
|
i1= x + JCGO_ARRAY_BACCESS(font, width + (jint)5);
|
||
|
j1= y - JCGO_ARRAY_NZBACCESS(font, width + (jint)6);
|
||
|
k1= (jint)(JCGO_ARRAY_NZBACCESS(font, width + (jint)3));
|
||
|
l1= (jint)(JCGO_ARRAY_NZBACCESS(font, width + (jint)4));
|
||
|
i2= (jcgo_rcvrI1= (jcgo_rcvrI1= JCGO_ARRAY_NZBACCESS(font, width) *
|
||
|
(jint)16384, jcgo_rcvrI1 + JCGO_ARRAY_NZBACCESS(font, width + (jint)1) *
|
||
|
(jint)128), jcgo_rcvrI1 + JCGO_ARRAY_NZBACCESS(font, width + (jint)2));
|
||
|
j2= i1 + j1 * JCGO_FIELD_NZACCESS(This, width2);
|
||
|
k2= JCGO_FIELD_NZACCESS(This, width2) - k1;
|
||
|
l2= 0;
|
||
|
if (j1 < JCGO_FIELD_NZACCESS(This, boundsTopY))
|
||
|
{
|
||
|
jint i3;
|
||
|
i3= JCGO_FIELD_NZACCESS(This, boundsTopY) - j1;
|
||
|
l1-= i3;
|
||
|
j1= JCGO_FIELD_NZACCESS(This, boundsTopY);
|
||
|
i2+= i3 * k1;
|
||
|
j2+= i3 * JCGO_FIELD_NZACCESS(This, width2);
|
||
|
}
|
||
|
if (j1 + l1 >= JCGO_FIELD_NZACCESS(This, boundsBottomY))
|
||
|
{
|
||
|
l1-= ((j1 + l1) - JCGO_FIELD_NZACCESS(This, boundsBottomY)) + (jint)1;
|
||
|
}
|
||
|
if (i1 < JCGO_FIELD_NZACCESS(This, boundsTopX))
|
||
|
{
|
||
|
jint j3;
|
||
|
j3= JCGO_FIELD_NZACCESS(This, boundsTopX) - i1;
|
||
|
k1-= j3;
|
||
|
i1= JCGO_FIELD_NZACCESS(This, boundsTopX);
|
||
|
i2+= j3;
|
||
|
j2+= j3;
|
||
|
l2+= j3;
|
||
|
k2+= j3;
|
||
|
}
|
||
|
if (i1 + k1 >= JCGO_FIELD_NZACCESS(This, boundsBottomX))
|
||
|
{
|
||
|
jint k3;
|
||
|
k3= ((i1 + k1) - JCGO_FIELD_NZACCESS(This, boundsBottomX)) + (jint)1;
|
||
|
k1-= k3;
|
||
|
l2+= k3;
|
||
|
k2+= k3;
|
||
|
}
|
||
|
if (k1 > 0 && l1 > 0)
|
||
|
{
|
||
|
(package_Surface__plotLetter__IABAIIIIIII(
|
||
|
This, JCGO_FIELD_NZACCESS(This, pixels), font, colour, i2, j2,
|
||
|
k1, l1, k2, l2));
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC jint CFASTCALL
|
||
|
package_Surface__textHeight__I( package_Surface This, jint fontId
|
||
|
)
|
||
|
{
|
||
|
{
|
||
|
if (fontId == 0)
|
||
|
{
|
||
|
return (jint)12;
|
||
|
}
|
||
|
if (fontId == (jint)1)
|
||
|
{
|
||
|
return (jint)14;
|
||
|
}
|
||
|
if (fontId == (jint)2)
|
||
|
{
|
||
|
return (jint)14;
|
||
|
}
|
||
|
if (fontId == (jint)3)
|
||
|
{
|
||
|
return (jint)15;
|
||
|
}
|
||
|
if (fontId == (jint)4)
|
||
|
{
|
||
|
return (jint)15;
|
||
|
}
|
||
|
if (fontId == (jint)5)
|
||
|
{
|
||
|
return (jint)19;
|
||
|
}
|
||
|
if (fontId == (jint)6)
|
||
|
{
|
||
|
return (jint)24;
|
||
|
}
|
||
|
if (fontId == (jint)7)
|
||
|
{
|
||
|
return (jint)29;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
return (package_Surface__textHeightFont__I(
|
||
|
This, fontId));
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC jint CFASTCALL
|
||
|
package_Surface__textWidth__LsI( package_Surface This, java_lang_String
|
||
|
text, jint fontId )
|
||
|
{
|
||
|
{
|
||
|
jbyteArr font;
|
||
|
jint total;
|
||
|
total= 0;
|
||
|
font= ((jbyteArr)JCGO_ARRAY_LACCESS(package_Surface__gameFonts, fontId));
|
||
|
{
|
||
|
jint idx;
|
||
|
idx= 0;
|
||
|
for (; idx < (JCGO_CALL_FINALF(text) java_lang_String__length__(
|
||
|
text)); idx++)
|
||
|
{
|
||
|
if ((java_lang_String__charAt__I(
|
||
|
text, idx)) == (jchar)64/*'@'*/ && idx + (jint)4 < (java_lang_String__length__(
|
||
|
text)) && (java_lang_String__charAt__I(
|
||
|
text, idx + (jint)4)) == (jchar)64/*'@'*/)
|
||
|
{
|
||
|
idx+= (jint)4;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if ((java_lang_String__charAt__I(
|
||
|
text, idx)) == (jchar)126/*'~'*/ && idx + (jint)4 < (java_lang_String__length__(
|
||
|
text)) && (java_lang_String__charAt__I(
|
||
|
text, idx + (jint)4)) == (jchar)126/*'~'*/)
|
||
|
{
|
||
|
idx+= (jint)4;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
jObject jcgo_rcvrL1;
|
||
|
total+= (jint)(JCGO_ARRAY_BACCESS(font, (jcgo_rcvrL1= (jObject)package_Surface__characterWidth,
|
||
|
JCGO_ARRAY_IACCESS((jintArr)jcgo_rcvrL1, (java_lang_String__charAt__I(
|
||
|
text, idx)))) + (jint)7));
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
return total;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_STATIC void CFASTCALL
|
||
|
package_Surface__class__0( void )
|
||
|
{
|
||
|
JCGO_CLINIT_BEGIN(package_Surface__class);
|
||
|
{
|
||
|
java_lang_String s;
|
||
|
s= JCGO_STRREF_OF(jcgo_string4_PanelA73);
|
||
|
package_Surface__characterWidth= (jintArr)jcgo_newArray(JCGO_CORECLASS_FOR(OBJT_jint),
|
||
|
0, (jint)256);
|
||
|
{
|
||
|
jint i;
|
||
|
i= 0;
|
||
|
for (; i < (jint)256; i++)
|
||
|
{
|
||
|
jint j;
|
||
|
j= (java_lang_String__indexOf__I(
|
||
|
s, i));
|
||
|
if (j == (-(jint)1))
|
||
|
{
|
||
|
j= (jint)74;
|
||
|
}
|
||
|
JCGO_ARRAY_IACCESS(package_Surface__characterWidth, i)= (j * (jint)9);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
JCGO_CLINIT_DONE(package_Surface__class);
|
||
|
}
|
||
|
|
||
|
JCGO_NOSEP_DATA CONST struct package_Surface_methods_s package_Surface_methods=
|
||
|
{
|
||
|
JCGO_CLASSREF_OF(package_Surface__class),
|
||
|
JCGO_GCJDESCR_INIT(package_Surface_s, anIntArray345)
|
||
|
OBJT_package_Surface,
|
||
|
(JCGO_OBJSIZE_T)sizeof(struct package_Surface_s),
|
||
|
NULL,
|
||
|
JCGO_CLINIT_INIT(package_Surface__class__0)
|
||
|
0,
|
||
|
java_lang_Object__equals__Lo,
|
||
|
java_lang_Object__hashCode__,
|
||
|
java_lang_Object__toString__,
|
||
|
java_lang_Object__finalize__,
|
||
|
0
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA struct package_Surface_class_s package_Surface__class
|
||
|
ATTRIBNONGC=
|
||
|
{
|
||
|
{
|
||
|
&java_lang_Class_methods,
|
||
|
JCGO_MON_INIT
|
||
|
JCGO_OBJREF_OF(*(java_lang_Object)&package_Surface_methods),
|
||
|
JCGO_STRREF_OF(jcgo_string1_Surface),
|
||
|
JCGO_CLASSREF_OF(java_lang_Object__class),
|
||
|
((jObjectArr)JCGO_OBJREF_OF(jcgo_array3_Object)),
|
||
|
0x1c1
|
||
|
}
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA CONST jObjectArr package_Surface__gameFonts= ((jObjectArr)JCGO_OBJREF_OF(jcgo_array27_Surface));
|
||
|
|
||
|
JCGO_NOSEP_GCDATA jintArr package_Surface__characterWidth ATTRIBGCBSS=
|
||
|
jnull;
|
||
|
|
||
|
JCGO_NOSEP_DATA jint package_Surface__anInt346= (jint)0;
|
||
|
|
||
|
JCGO_NOSEP_DATA jint package_Surface__anInt347= (jint)0;
|
||
|
|
||
|
JCGO_NOSEP_DATA jint package_Surface__anInt348= (jint)0;
|
||
|
|
||
|
JCGO_NOSEP_GCDATA jcgo_arrtype53_Mdclnt jcgo_array27_Surface ATTRIBGCDATA=
|
||
|
{
|
||
|
(jvtable)&jObjectArr2_methods,
|
||
|
JCGO_MON_INIT
|
||
|
50,
|
||
|
JCGO_CORECLASS_FOR(OBJT_jbyte),
|
||
|
{
|
||
|
jnull, jnull, jnull, jnull, jnull, jnull, jnull, jnull, jnull, jnull,
|
||
|
jnull, jnull, jnull, jnull, jnull, jnull, jnull, jnull, jnull, jnull,
|
||
|
jnull, jnull, jnull, jnull, jnull, jnull, jnull, jnull, jnull, jnull,
|
||
|
jnull, jnull, jnull, jnull, jnull, jnull, jnull, jnull, jnull, jnull,
|
||
|
jnull, jnull, jnull, jnull, jnull, jnull, jnull, jnull, jnull, jnull
|
||
|
}
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA CONST jcgo_arrtype30_GameShll jcgo_array28_Surface=
|
||
|
{
|
||
|
(jvtable)&jbyteArr_methods,
|
||
|
JCGO_MON_INIT
|
||
|
13,
|
||
|
{
|
||
|
(jbyte)(jchar)83/*'S'*/, (jbyte)(jchar)117/*'u'*/, (jbyte)(jchar)114/*'r'*/,
|
||
|
(jbyte)(jchar)102/*'f'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)99/*'c'*/,
|
||
|
(jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)83/*'S'*/, (jbyte)(jchar)112/*'p'*/,
|
||
|
(jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)116/*'t'*/,
|
||
|
(jbyte)(jchar)101/*'e'*/
|
||
|
}
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA CONST jcgo_arrtype82_GmCnnctn jcgo_array29_Surface=
|
||
|
{
|
||
|
(jvtable)&jbyteArr_methods,
|
||
|
JCGO_MON_INIT
|
||
|
18,
|
||
|
{
|
||
|
(jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)114/*'r'*/,
|
||
|
(jbyte)(jchar)111/*'o'*/, (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)32/*' '*/,
|
||
|
(jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)32/*' '*/,
|
||
|
(jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)97/*'a'*/,
|
||
|
(jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)83/*'S'*/, (jbyte)(jchar)99/*'c'*/,
|
||
|
(jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)108/*'l'*/, (jbyte)(jchar)101/*'e'*/
|
||
|
}
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA CONST jcgo_arrtype26_Object jcgo_array30_Surface=
|
||
|
{
|
||
|
(jvtable)&jbyteArr_methods,
|
||
|
JCGO_MON_INIT
|
||
|
12,
|
||
|
{
|
||
|
(jbyte)(jchar)112/*'p'*/, (jbyte)(jchar)108/*'l'*/, (jbyte)(jchar)111/*'o'*/,
|
||
|
(jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)108/*'l'*/, (jbyte)(jchar)101/*'e'*/,
|
||
|
(jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)101/*'e'*/,
|
||
|
(jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)58/*':'*/, (jbyte)(jchar)32/*' '*/
|
||
|
}
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA CONST jcgo_arrtype98_GmCnnctn jcgo_array31_Surface=
|
||
|
{
|
||
|
(jvtable)&jbyteArr_methods,
|
||
|
JCGO_MON_INIT
|
||
|
32,
|
||
|
{
|
||
|
(jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)114/*'r'*/,
|
||
|
(jbyte)(jchar)111/*'o'*/, (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)32/*' '*/,
|
||
|
(jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)32/*' '*/,
|
||
|
(jbyte)(jchar)115/*'s'*/, (jbyte)(jchar)112/*'p'*/, (jbyte)(jchar)114/*'r'*/,
|
||
|
(jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)101/*'e'*/,
|
||
|
(jbyte)(jchar)32/*' '*/, (jbyte)(jchar)99/*'c'*/, (jbyte)(jchar)108/*'l'*/,
|
||
|
(jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)112/*'p'*/, (jbyte)(jchar)112/*'p'*/,
|
||
|
(jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)103/*'g'*/,
|
||
|
(jbyte)(jchar)32/*' '*/, (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)111/*'o'*/,
|
||
|
(jbyte)(jchar)117/*'u'*/, (jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)105/*'i'*/,
|
||
|
(jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)101/*'e'*/
|
||
|
}
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA CONST jcgo_arrtype120_GmCnnctn jcgo_array32_Surface=
|
||
|
{
|
||
|
(jvtable)&jbyteArr_methods,
|
||
|
JCGO_MON_INIT
|
||
|
40,
|
||
|
{
|
||
|
(jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)114/*'r'*/,
|
||
|
(jbyte)(jchar)111/*'o'*/, (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)32/*' '*/,
|
||
|
(jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)32/*' '*/,
|
||
|
(jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)97/*'a'*/,
|
||
|
(jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)115/*'s'*/, (jbyte)(jchar)112/*'p'*/,
|
||
|
(jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)101/*'e'*/,
|
||
|
(jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)32/*' '*/,
|
||
|
(jbyte)(jchar)115/*'s'*/, (jbyte)(jchar)112/*'p'*/, (jbyte)(jchar)114/*'r'*/,
|
||
|
(jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)101/*'e'*/,
|
||
|
(jbyte)(jchar)32/*' '*/, (jbyte)(jchar)112/*'p'*/, (jbyte)(jchar)108/*'l'*/,
|
||
|
(jbyte)(jchar)111/*'o'*/, (jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)32/*' '*/,
|
||
|
(jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)111/*'o'*/, (jbyte)(jchar)117/*'u'*/,
|
||
|
(jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)110/*'n'*/,
|
||
|
(jbyte)(jchar)101/*'e'*/
|
||
|
}
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA CONST jcgo_arrtype26_Object jcgo_array33_Surface=
|
||
|
{
|
||
|
(jvtable)&jbyteArr_methods,
|
||
|
JCGO_MON_INIT
|
||
|
12,
|
||
|
{
|
||
|
(jbyte)(jchar)99/*'c'*/, (jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)110/*'n'*/,
|
||
|
(jbyte)(jchar)116/*'t'*/, (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)101/*'e'*/,
|
||
|
(jbyte)(jchar)112/*'p'*/, (jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)114/*'r'*/,
|
||
|
(jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)58/*':'*/, (jbyte)(jchar)32/*' '*/
|
||
|
}
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA CONST jcgo_arrtype44_GameShll jcgo_array34_Surface=
|
||
|
{
|
||
|
(jvtable)&jbyteArr_methods,
|
||
|
JCGO_MON_INIT
|
||
|
22,
|
||
|
{
|
||
|
(jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)110/*'n'*/, (jbyte)(jchar)118/*'v'*/,
|
||
|
(jbyte)(jchar)97/*'a'*/, (jbyte)(jchar)108/*'l'*/, (jbyte)(jchar)105/*'i'*/,
|
||
|
(jbyte)(jchar)100/*'d'*/, (jbyte)(jchar)32/*' '*/, (jbyte)(jchar)97/*'a'*/,
|
||
|
(jbyte)(jchar)100/*'d'*/, (jbyte)(jchar)100/*'d'*/, (jbyte)(jchar)114/*'r'*/,
|
||
|
(jbyte)(jchar)101/*'e'*/, (jbyte)(jchar)115/*'s'*/, (jbyte)(jchar)115/*'s'*/,
|
||
|
(jbyte)(jchar)32/*' '*/, (jbyte)(jchar)102/*'f'*/, (jbyte)(jchar)97/*'a'*/,
|
||
|
(jbyte)(jchar)109/*'m'*/, (jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)108/*'l'*/,
|
||
|
(jbyte)(jchar)121/*'y'*/
|
||
|
}
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA CONST jcgo_arrtype26_Object jcgo_array35_Surface=
|
||
|
{
|
||
|
(jvtable)&jbyteArr_methods,
|
||
|
JCGO_MON_INIT
|
||
|
12,
|
||
|
{
|
||
|
(jbyte)(jchar)100/*'d'*/, (jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)97/*'a'*/,
|
||
|
(jbyte)(jchar)119/*'w'*/, (jbyte)(jchar)115/*'s'*/, (jbyte)(jchar)116/*'t'*/,
|
||
|
(jbyte)(jchar)114/*'r'*/, (jbyte)(jchar)105/*'i'*/, (jbyte)(jchar)110/*'n'*/,
|
||
|
(jbyte)(jchar)103/*'g'*/, (jbyte)(jchar)58/*':'*/, (jbyte)(jchar)32/*' '*/
|
||
|
}
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string1_Surface
|
||
|
JCGO_THRD_ATTRNONGC=
|
||
|
{
|
||
|
&java_lang_String_methods,
|
||
|
JCGO_MON_INIT
|
||
|
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array28_Surface),
|
||
|
0, 7, (jint)0xf4c2848dL
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string2_Surface
|
||
|
JCGO_THRD_ATTRNONGC=
|
||
|
{
|
||
|
&java_lang_String_methods,
|
||
|
JCGO_MON_INIT
|
||
|
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array422_VMSstmPr),
|
||
|
0, 18, (jint)0x5e34c2c6L
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string3_Surface
|
||
|
JCGO_THRD_ATTRNONGC=
|
||
|
{
|
||
|
&java_lang_String_methods,
|
||
|
JCGO_MON_INIT
|
||
|
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array29_Surface),
|
||
|
0, 18, (jint)0x2fb93abcL
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string4_Surface
|
||
|
JCGO_THRD_ATTRNONGC=
|
||
|
{
|
||
|
&java_lang_String_methods,
|
||
|
JCGO_MON_INIT
|
||
|
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array30_Surface),
|
||
|
0, 12, (jint)0xc766d5adL
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string5_Surface
|
||
|
JCGO_THRD_ATTRNONGC=
|
||
|
{
|
||
|
&java_lang_String_methods,
|
||
|
JCGO_MON_INIT
|
||
|
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array31_Surface),
|
||
|
0, 32, (jint)0xd66c627eL
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string6_Surface
|
||
|
JCGO_THRD_ATTRNONGC=
|
||
|
{
|
||
|
&java_lang_String_methods,
|
||
|
JCGO_MON_INIT
|
||
|
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array32_Surface),
|
||
|
0, 40, (jint)0x1941784fL
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string7_Surface
|
||
|
JCGO_THRD_ATTRNONGC=
|
||
|
{
|
||
|
&java_lang_String_methods,
|
||
|
JCGO_MON_INIT
|
||
|
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array33_Surface),
|
||
|
0, 12, (jint)0xc444b0a1L
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string8_Surface
|
||
|
JCGO_THRD_ATTRNONGC=
|
||
|
{
|
||
|
&java_lang_String_methods,
|
||
|
JCGO_MON_INIT
|
||
|
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array497_VMSstmPr),
|
||
|
5, 3, (jint)0x1b891L
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string9_Surface
|
||
|
JCGO_THRD_ATTRNONGC=
|
||
|
{
|
||
|
&java_lang_String_methods,
|
||
|
JCGO_MON_INIT
|
||
|
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array782_Mdclnt),
|
||
|
1, 3, (jint)0x1a39fL
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string10_Surface
|
||
|
JCGO_THRD_ATTRNONGC=
|
||
|
{
|
||
|
&java_lang_String_methods,
|
||
|
JCGO_MON_INIT
|
||
|
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array654_Mdclnt),
|
||
|
10, 3, (jint)0x1d2e0L
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string11_Surface
|
||
|
JCGO_THRD_ATTRNONGC=
|
||
|
{
|
||
|
&java_lang_String_methods,
|
||
|
JCGO_MON_INIT
|
||
|
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array25_Iso88597),
|
||
|
0, 3, (jint)0x190daL
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string12_Surface
|
||
|
JCGO_THRD_ATTRNONGC=
|
||
|
{
|
||
|
&java_lang_String_methods,
|
||
|
JCGO_MON_INIT
|
||
|
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array690_Mdclnt),
|
||
|
18, 3, (jint)0x17d6bL
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string13_Surface
|
||
|
JCGO_THRD_ATTRNONGC=
|
||
|
{
|
||
|
&java_lang_String_methods,
|
||
|
JCGO_MON_INIT
|
||
|
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array786_Mdclnt),
|
||
|
1, 3, (jint)0x182abL
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string14_Surface
|
||
|
JCGO_THRD_ATTRNONGC=
|
||
|
{
|
||
|
&java_lang_String_methods,
|
||
|
JCGO_MON_INIT
|
||
|
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array812_Mdclnt),
|
||
|
5, 3, (jint)0x1a553L
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string15_Surface
|
||
|
JCGO_THRD_ATTRNONGC=
|
||
|
{
|
||
|
&java_lang_String_methods,
|
||
|
JCGO_MON_INIT
|
||
|
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array645_Mdclnt),
|
||
|
25, 3, (jint)0x1cbb8L
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string16_Surface
|
||
|
JCGO_THRD_ATTRNONGC=
|
||
|
{
|
||
|
&java_lang_String_methods,
|
||
|
JCGO_MON_INIT
|
||
|
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array551_Mdclnt),
|
||
|
3, 3, (jint)0x17d57L
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string17_Surface
|
||
|
JCGO_THRD_ATTRNONGC=
|
||
|
{
|
||
|
&java_lang_String_methods,
|
||
|
JCGO_MON_INIT
|
||
|
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array34_Surface),
|
||
|
10, 3, (jint)0x18597L
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string18_Surface
|
||
|
JCGO_THRD_ATTRNONGC=
|
||
|
{
|
||
|
&java_lang_String_methods,
|
||
|
JCGO_MON_INIT
|
||
|
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array99_GmCnnctn),
|
||
|
12, 3, (jint)0x1aedeL
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string19_Surface
|
||
|
JCGO_THRD_ATTRNONGC=
|
||
|
{
|
||
|
&java_lang_String_methods,
|
||
|
JCGO_MON_INIT
|
||
|
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array523_Mdclnt),
|
||
|
1, 3, (jint)0x1b81fL
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string20_Surface
|
||
|
JCGO_THRD_ATTRNONGC=
|
||
|
{
|
||
|
&java_lang_String_methods,
|
||
|
JCGO_MON_INIT
|
||
|
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array767_Mdclnt),
|
||
|
1, 3, (jint)0x1aeaeL
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string21_Surface
|
||
|
JCGO_THRD_ATTRNONGC=
|
||
|
{
|
||
|
&java_lang_String_methods,
|
||
|
JCGO_MON_INIT
|
||
|
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array768_Mdclnt),
|
||
|
1, 3, (jint)0x1aeafL
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string22_Surface
|
||
|
JCGO_THRD_ATTRNONGC=
|
||
|
{
|
||
|
&java_lang_String_methods,
|
||
|
JCGO_MON_INIT
|
||
|
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array769_Mdclnt),
|
||
|
1, 3, (jint)0x1aeb0L
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string23_Surface
|
||
|
JCGO_THRD_ATTRNONGC=
|
||
|
{
|
||
|
&java_lang_String_methods,
|
||
|
JCGO_MON_INIT
|
||
|
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array771_Mdclnt),
|
||
|
1, 3, (jint)0x190a6L
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string24_Surface
|
||
|
JCGO_THRD_ATTRNONGC=
|
||
|
{
|
||
|
&java_lang_String_methods,
|
||
|
JCGO_MON_INIT
|
||
|
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array772_Mdclnt),
|
||
|
1, 3, (jint)0x190a7L
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string25_Surface
|
||
|
JCGO_THRD_ATTRNONGC=
|
||
|
{
|
||
|
&java_lang_String_methods,
|
||
|
JCGO_MON_INIT
|
||
|
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array773_Mdclnt),
|
||
|
1, 3, (jint)0x190a8L
|
||
|
};
|
||
|
|
||
|
JCGO_NOSEP_DATA JCGO_NOTHR_CONST struct java_lang_String_s jcgo_string26_Surface
|
||
|
JCGO_THRD_ATTRNONGC=
|
||
|
{
|
||
|
&java_lang_String_methods,
|
||
|
JCGO_MON_INIT
|
||
|
(java_lang_Object)JCGO_OBJREF_OF(jcgo_array35_Surface),
|
||
|
0, 12, (jint)0x35dd503bL
|
||
|
};
|
||
|
|
||
|
#ifdef CHKALL_Surface
|
||
|
#include "jcgochke.h"
|
||
|
#endif
|
||
|
|
||
|
#endif
|