예제 #1
0
 public void drawBaseStringMoveXY(
     String string, int drawX, int drawY, int[] xModifier, int[] yModifier) {
   drawY -= baseCharacterHeight;
   int startIndex = -1;
   int i_96_ = -1;
   int modifierOffset = 0;
   for (int currentCharacter = 0; currentCharacter < string.length(); currentCharacter++) {
     int character = string.charAt(currentCharacter);
     if (character == 60) {
       startIndex = currentCharacter;
     } else {
       if (character == 62 && startIndex != -1) {
         String effectString = string.substring(startIndex + 1, currentCharacter);
         startIndex = -1;
         if (effectString.equals(startEffect)) {
           character = 60;
         } else if (effectString.equals(endEffect)) {
           character = 62;
         } else if (effectString.equals(aRSString_4135)) {
           character = 160;
         } else if (effectString.equals(aRSString_4162)) {
           character = 173;
         } else if (effectString.equals(aRSString_4165)) {
           character = 215;
         } else if (effectString.equals(aRSString_4147)) {
           character = 128;
         } else if (effectString.equals(aRSString_4163)) {
           character = 169;
         } else if (effectString.equals(aRSString_4169)) {
           character = 174;
         } else {
           if (effectString.startsWith(startImage)) {
             try {
               int xModI;
               if (xModifier != null) {
                 xModI = xModifier[modifierOffset];
               } else {
                 xModI = 0;
               }
               int yMod;
               if (yModifier != null) {
                 yMod = yModifier[modifierOffset];
               } else {
                 yMod = 0;
               }
               modifierOffset++;
               int iconId = Integer.valueOf(effectString.substring(4));
               Sprite class92 = chatImages[iconId];
               int iconOffsetY = class92.maxHeight;
               if (transparency == 256) {
                 class92.drawSprite(
                     drawX + xModI, (drawY + baseCharacterHeight - iconOffsetY + yMod));
               } else {
                 class92.drawTransparentSprite(
                     drawX + xModI,
                     (drawY + baseCharacterHeight - iconOffsetY + yMod),
                     transparency);
               }
               drawX += class92.maxWidth;
               i_96_ = -1;
             } catch (Exception exception) {
               /* empty */
             }
           } else {
             setTextEffects(effectString);
           }
           continue;
         }
       }
       if (startIndex == -1) {
         int width = characterWidths[character];
         int height = characterHeights[character];
         int xOff;
         if (xModifier != null) {
           xOff = xModifier[modifierOffset];
         } else {
           xOff = 0;
         }
         int yOff;
         if (yModifier != null) {
           yOff = yModifier[modifierOffset];
         } else {
           yOff = 0;
         }
         modifierOffset++;
         if (character != 32) {
           if (transparency == 256) {
             if (textShadowColor != -1) {
               drawCharacter(
                   character,
                   (drawX + characterDrawXOffsets[character] + 1 + xOff),
                   (drawY + characterDrawYOffsets[character] + 1 + yOff),
                   width,
                   height,
                   textShadowColor,
                   true);
             }
             drawCharacter(
                 character,
                 drawX + characterDrawXOffsets[character] + xOff,
                 drawY + characterDrawYOffsets[character] + yOff,
                 width,
                 height,
                 textColor,
                 false);
           } else {
             if (textShadowColor != -1) {
               drawTransparentCharacter(
                   character,
                   (drawX + characterDrawXOffsets[character] + 1 + xOff),
                   (drawY + characterDrawYOffsets[character] + 1 + yOff),
                   width,
                   height,
                   textShadowColor,
                   transparency,
                   true);
             }
             drawTransparentCharacter(
                 character,
                 drawX + characterDrawXOffsets[character] + xOff,
                 drawY + characterDrawYOffsets[character] + yOff,
                 width,
                 height,
                 textColor,
                 transparency,
                 false);
           }
         } else if (anInt4178 > 0) {
           anInt4175 += anInt4178;
           drawX += anInt4175 >> 8;
           anInt4175 &= 0xff;
         }
         int i_109_ = characterScreenWidths[character];
         if (strikethroughColor != -1) {
           drawHorizontalLine(
               drawX,
               drawY + (int) ((double) baseCharacterHeight * 0.7),
               i_109_,
               strikethroughColor);
         }
         if (underlineColor != -1) {
           drawHorizontalLine(drawX, drawY + baseCharacterHeight, i_109_, underlineColor);
         }
         drawX += i_109_;
         i_96_ = character;
       }
     }
   }
 }
예제 #2
0
 public void drawBasicString(String string, int drawX, int drawY) {
   drawY -= baseCharacterHeight;
   int startIndex = -1;
   int i_70_ = -1;
   for (int currentCharacter = 0; currentCharacter < string.length(); currentCharacter++) {
     int character = string.charAt(currentCharacter);
     if (character > 255) {
       character = 32;
     }
     if (character == 60) {
       startIndex = currentCharacter;
     } else {
       if (character == 62 && startIndex != -1) {
         String effectString = string.substring(startIndex + 1, currentCharacter);
         startIndex = -1;
         if (effectString.equals(startEffect)) {
           character = 60;
         } else if (effectString.equals(endEffect)) {
           character = 62;
         } else if (effectString.equals(aRSString_4135)) {
           character = 160;
         } else if (effectString.equals(aRSString_4162)) {
           character = 173;
         } else if (effectString.equals(aRSString_4165)) {
           character = 215;
         } else if (effectString.equals(aRSString_4147)) {
           character = 128;
         } else if (effectString.equals(aRSString_4163)) {
           character = 169;
         } else if (effectString.equals(aRSString_4169)) {
           character = 174;
         } else {
           if (effectString.startsWith(startImage)) {
             try {
               int imageId = Integer.valueOf(effectString.substring(4));
               Sprite icon = chatImages[imageId];
               int iconModY = icon.maxHeight;
               if (transparency == 256) {
                 icon.drawSprite(drawX, (drawY + baseCharacterHeight - iconModY));
               } else {
                 icon.drawTransparentSprite(
                     drawX, (drawY + baseCharacterHeight - iconModY), transparency);
               }
               drawX += icon.maxWidth;
               i_70_ = -1;
             } catch (Exception exception) {
               /* empty */
             }
           } else {
             setTextEffects(effectString);
           }
           continue;
         }
       }
       if (startIndex == -1) {
         int width = characterWidths[character];
         int height = characterHeights[character];
         if (character != 32) {
           if (transparency == 256) {
             if (textShadowColor != -1) {
               drawCharacter(
                   character,
                   drawX + characterDrawXOffsets[character] + 1,
                   drawY + characterDrawYOffsets[character] + 1,
                   width,
                   height,
                   textShadowColor,
                   true);
             }
             drawCharacter(
                 character,
                 drawX + characterDrawXOffsets[character],
                 drawY + characterDrawYOffsets[character],
                 width,
                 height,
                 textColor,
                 false);
           } else {
             if (textShadowColor != -1) {
               drawTransparentCharacter(
                   character,
                   drawX + characterDrawXOffsets[character] + 1,
                   drawY + characterDrawYOffsets[character] + 1,
                   width,
                   height,
                   textShadowColor,
                   transparency,
                   true);
             }
             drawTransparentCharacter(
                 character,
                 drawX + characterDrawXOffsets[character],
                 drawY + characterDrawYOffsets[character],
                 width,
                 height,
                 textColor,
                 transparency,
                 false);
           }
         } else if (anInt4178 > 0) {
           anInt4175 += anInt4178;
           drawX += anInt4175 >> 8;
           anInt4175 &= 0xff;
         }
         int lineWidth = characterScreenWidths[character];
         if (strikethroughColor != -1) {
           drawHorizontalLine(
               drawX,
               drawY + (int) ((double) baseCharacterHeight * 0.69999999999999996D),
               lineWidth,
               strikethroughColor);
         }
         if (underlineColor != -1) {
           drawHorizontalLine(drawX, drawY + baseCharacterHeight, lineWidth, underlineColor);
         }
         drawX += lineWidth;
         i_70_ = character;
       }
     }
   }
 }