diff --git a/sigIRCv2/.classpath b/sigIRCv2/.classpath
index 0ee96ed..8d23a73 100644
--- a/sigIRCv2/.classpath
+++ b/sigIRCv2/.classpath
@@ -3,17 +3,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sigIRCv2/sigIRCv2.bat b/sigIRCv2/sigIRCv2.bat
index f9f92cf..71b188d 100644
--- a/sigIRCv2/sigIRCv2.bat
+++ b/sigIRCv2/sigIRCv2.bat
@@ -1,2 +1,2 @@
cd "C:\Users\Joshua Sigona\git\sigIRCv2\"
-java -jar sigIRCv2.jar > log
\ No newline at end of file
+java -jar sigIRCv2.jar
\ No newline at end of file
diff --git a/sigIRCv2/sigIRCv2.jar b/sigIRCv2/sigIRCv2.jar
index ac3f5a0..4875530 100644
Binary files a/sigIRCv2/sigIRCv2.jar and b/sigIRCv2/sigIRCv2.jar differ
diff --git a/sigIRCv2/src/sig/Module.java b/sigIRCv2/src/sig/Module.java
index 38c6b97..0c09b71 100644
--- a/sigIRCv2/src/sig/Module.java
+++ b/sigIRCv2/src/sig/Module.java
@@ -2,6 +2,7 @@ package sig;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Graphics;
+import java.awt.Image;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.event.KeyEvent;
@@ -21,8 +22,8 @@ public class Module {
public Rectangle2D position;
protected boolean enabled;
protected String name;
- public static BufferedImage IMG_DRAGBAR;
- public static BufferedImage MSG_SEPARATOR;
+ public static Image IMG_DRAGBAR;
+ public static Image MSG_SEPARATOR;
public static boolean inDragZone=false;
final protected int titleHeight;
@@ -62,7 +63,7 @@ public class Module {
public boolean inDragBounds(int x, int y) {
return x>=position.getX() && x<=position.getX()+position.getWidth() &&
- y>=(int)position.getY()-Module.IMG_DRAGBAR.getHeight() &&
+ y>=(int)position.getY()-Module.IMG_DRAGBAR.getHeight(sigIRC.panel) &&
y<=(int)position.getY();
}
@@ -144,9 +145,9 @@ public class Module {
if (!sigIRC.overlayMode) {
g.drawImage(Module.IMG_DRAGBAR,
(int)position.getX()+2,
- (int)position.getY()-Module.IMG_DRAGBAR.getHeight(),
+ (int)position.getY()-Module.IMG_DRAGBAR.getHeight(sigIRC.panel),
(int)position.getWidth()-4,
- Module.IMG_DRAGBAR.getHeight(),
+ Module.IMG_DRAGBAR.getHeight(sigIRC.panel),
sigIRC.panel);
DrawUtils.drawTextFont(g, sigIRC.panel.smallFont, (int)position.getX(), (int)position.getY()-titleHeight/2+4, Color.BLACK, this.name);
//g.fillRect((int)position.getX(), (int)position.getY(), (int)position.getWidth(), (int)position.getHeight());
diff --git a/sigIRCv2/src/sig/modules/Controller/ControlConfigurationWindow.java b/sigIRCv2/src/sig/modules/Controller/ControlConfigurationWindow.java
index 919cc1a..d6acfdd 100644
--- a/sigIRCv2/src/sig/modules/Controller/ControlConfigurationWindow.java
+++ b/sigIRCv2/src/sig/modules/Controller/ControlConfigurationWindow.java
@@ -268,21 +268,13 @@ public class ControlConfigurationWindow extends JFrame implements WindowListener
JPanel selectionPanel1 = new JPanel(){
public void paintComponent(Graphics g) {
super.paintComponent(g);
- try {
- g.drawImage(ImageIO.read(new File(ControllerModule.CONTROLLERPATH+"4-way_axis.png")), 0, 0, this);
- } catch (IOException e) {
- e.printStackTrace();
- }
+ g.drawImage(sigIRC.readImage(ControllerModule.CONTROLLERPATH+"4-way_axis.png"), 0, 0, this);
}
};
JPanel selectionPanel2 = new JPanel(){
public void paintComponent(Graphics g) {
super.paintComponent(g);
- try {
- g.drawImage(ImageIO.read(new File(ControllerModule.CONTROLLERPATH+"2-way_axis.png")), 0, 0, this);
- } catch (IOException e) {
- e.printStackTrace();
- }
+ g.drawImage(sigIRC.readImage(ControllerModule.CONTROLLERPATH+"2-way_axis.png"), 0, 0, this);
}
};
//selectionPanel.setLayout(new BoxLayout(selectionPanel,BoxLayout.LINE_AXIS));
diff --git a/sigIRCv2/src/sig/modules/ControllerModule.java b/sigIRCv2/src/sig/modules/ControllerModule.java
index d5b61f4..152fe44 100644
--- a/sigIRCv2/src/sig/modules/ControllerModule.java
+++ b/sigIRCv2/src/sig/modules/ControllerModule.java
@@ -92,13 +92,8 @@ public class ControllerModule extends Module{
}
}
controllers.addAll(ca);
- try {
- controller_img = ImageIO.read(new File(CONTROLLERPATH+"controller_template.png")).getScaledInstance((int)position.getWidth(), -1, 0);
- controller_overlay_img = ImageIO.read(new File(CONTROLLERPATH+"controller_overlay.png")).getScaledInstance((int)position.getWidth(), -1, 0);
- //System.out.println("Size of controller: "+controller_img.getWidth(sigIRC.panel)+","+controller_img.getHeight(sigIRC.panel));
- } catch (IOException e) {
- e.printStackTrace();
- }
+ controller_img = sigIRC.readImage(CONTROLLERPATH+"controller_template.png").getScaledInstance((int)position.getWidth(), -1, 0);
+ controller_overlay_img = sigIRC.readImage(CONTROLLERPATH+"controller_overlay.png").getScaledInstance((int)position.getWidth(), -1, 0);
//buttons.add(new Button(0.1,0.05,0.1,0.05,controllers.get(0),Identifier.Button._3,Color.RED,this));
LoadButtonAndAxisData();
click_buttons.add(new AddClickableButton(new Rectangle(
diff --git a/sigIRCv2/src/sig/modules/RabiRaceModule.java b/sigIRCv2/src/sig/modules/RabiRaceModule.java
index f0ccd73..caa80a9 100644
--- a/sigIRCv2/src/sig/modules/RabiRaceModule.java
+++ b/sigIRCv2/src/sig/modules/RabiRaceModule.java
@@ -140,12 +140,8 @@ public class RabiRaceModule extends Module{
}
images = filtered_images.toArray(new String[filtered_images.size()]);
for (String image : images) {
- try {
- //System.out.println("Loaded "+image);
- image_map.put(image, ImageIO.read(new File(ITEMS_DIRECTORY+image)));
- } catch (IOException e) {
- e.printStackTrace();
- }
+ //System.out.println("Loaded "+image);
+ image_map.put(image, sigIRC.readImage(ITEMS_DIRECTORY+image));
}
for (MemoryData md : MemoryData.values()) {
diff --git a/sigIRCv2/src/sig/modules/RabiRibiModule.java b/sigIRCv2/src/sig/modules/RabiRibiModule.java
index a827fb2..b55d1d7 100644
--- a/sigIRCv2/src/sig/modules/RabiRibiModule.java
+++ b/sigIRCv2/src/sig/modules/RabiRibiModule.java
@@ -83,10 +83,30 @@ public class RabiRibiModule extends Module{
private void Initialize() {
RabiUtils.module = this;
+ CheckRabiRibiClient();
+
+ ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
+ scheduler.scheduleWithFixedDelay(()->{
+ CheckRabiRibiClient();
+ }, 5000, 5000, TimeUnit.MILLISECONDS);
+
+ this.overlay = new Overlay(this);
+
+ EntityLookupData.parent=this;
+ EntityLookupData.loadEntityLookupData(lookup_table);
+ ScheduledExecutorService scheduler2 = Executors.newScheduledThreadPool(1);
+ scheduler2.scheduleWithFixedDelay(()->{
+ UpdateEntities();
+ //System.out.println("Called Entity creation "+callcount+" times.");
+ }, 1000, 1000, TimeUnit.MILLISECONDS);
+ }
+
+ private void CheckRabiRibiClient() {
List pids;
try {
- pids = PsapiTools.getInstance().enumProcesses();
+ pids = PsapiTools.getInstance().enumProcesses();
+ boolean found=false;
for (Integer pid : pids) {
HANDLE process = Kernel32.INSTANCE.OpenProcess(PROCESS_PERMISSIONS, true, pid);
List hModules;
@@ -95,38 +115,35 @@ public class RabiRibiModule extends Module{
for(sig.modules.utils.Module m: hModules){
//System.out.println(m.getFileName()+":"+m.getEntryPoint());
if (m.getFileName().contains("rabiribi")) {
- rabiRibiMemOffset = Pointer.nativeValue(m.getLpBaseOfDll().getPointer());
- System.out.println("Found an instance of Rabi-Ribi at 0x"+Long.toHexString(rabiRibiMemOffset));
- rabiRibiPID=pid;
- foundRabiRibi=true;
- rabiribiProcess=process;
+ found=true;
+ if (!foundRabiRibi) {
+ rabiRibiMemOffset = Pointer.nativeValue(m.getLpBaseOfDll().getPointer());
+ System.out.println("Found an instance of Rabi-Ribi at 0x"+Long.toHexString(rabiRibiMemOffset)+" | File:"+m.getFileName()+","+m.getBaseName());
+ rabiRibiPID=pid;
+ foundRabiRibi=true;
+ rabiribiProcess=process;
+ break;
+ }
break;
}
}
+ if (found) {
+ break;
+ }
} catch (Exception e) {
e.printStackTrace();
}
- if (foundRabiRibi) {
- break;
- }
if (process!=null) {
Kernel32.INSTANCE.CloseHandle(process);
}
}
+ if (!found && foundRabiRibi) {
+ foundRabiRibi=false;
+ System.out.println("Rabi-Ribi process lost.");
+ }
} catch (Exception e) {
e.printStackTrace();
}
-
- this.overlay = new Overlay(this);
-
- EntityLookupData.parent=this;
- EntityLookupData.loadEntityLookupData(lookup_table);
-
- ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
- scheduler.scheduleWithFixedDelay(()->{
- UpdateEntities();
- //System.out.println("Called Entity creation "+callcount+" times.");
- }, 1000, 1000, TimeUnit.MILLISECONDS);
}
public void ApplyConfigWindowProperties() {
@@ -205,19 +222,21 @@ public class RabiRibiModule extends Module{
}
private void UpdateEntities() {
- int callcount=0;
- long arrayPtr = readIntFromMemory(MemoryOffset.ENTITY_ARRAY);
- for (int i=0;i0) {
- DrawUtils.drawOutlineText(g, sigIRC.panel.userFont, Math.min(((bossImage!=null)?bossImage.getWidth():0)+4,160)+(int)position.getX()+4-Math.min(50, (bossImage!=null)?bossImage.getWidth():0)+x, (int)position.getY()+4+96+pos+y, 1, Color.WHITE, new Color(30,0,86,255),
+ DrawUtils.drawOutlineText(g, sigIRC.panel.userFont, Math.min(((bossImage!=null)?bossImage.getWidth(sigIRC.panel):0)+4,160)+(int)position.getX()+4-Math.min(50, (bossImage!=null)?bossImage.getWidth(sigIRC.panel):0)+x, (int)position.getY()+4+96+pos+y, 1, Color.WHITE, new Color(30,0,86,255),
characterDatabase[sorteddmg[i]].getName());
DrawUtils.drawHealthbar(g,
new Rectangle(
- Math.min(((bossImage!=null)?bossImage.getWidth():0)+4,160)+(int)position.getX()+4+Math.max(0, 50-((bossImage!=null)?bossImage.getWidth():0))+x,
+ Math.min(((bossImage!=null)?bossImage.getWidth(sigIRC.panel):0)+4,160)+(int)position.getX()+4+Math.max(0, 50-((bossImage!=null)?bossImage.getWidth(sigIRC.panel):0))+x,
(int)position.getY()+4+86+pos+y,
96,
10
)
, (double)characterDatabase[sorteddmg[i]].getDataProperty(property)/maxdmg, characterDatabase[sorteddmg[i]].getColor());
DecimalFormat df = new DecimalFormat("0.0");
- DrawUtils.drawOutlineText(g, sigIRC.panel.smallFont, Math.min((bossImage!=null)?bossImage.getWidth():0+4,160)+(int)position.getX()+4+Math.max(0, 50-((bossImage!=null)?bossImage.getWidth():0))+108+x, (int)position.getY()+4+96+pos+y, 1, Color.WHITE, new Color(30,0,86,255),
+ DrawUtils.drawOutlineText(g, sigIRC.panel.smallFont, Math.min((bossImage!=null)?bossImage.getWidth(sigIRC.panel):0+4,160)+(int)position.getX()+4+Math.max(0, 50-((bossImage!=null)?bossImage.getWidth(sigIRC.panel):0))+108+x, (int)position.getY()+4+96+pos+y, 1, Color.WHITE, new Color(30,0,86,255),
characterDatabase[sorteddmg[i]].getDataProperty(property)+" "+"("+df.format(((((double)characterDatabase[sorteddmg[i]].getDataProperty(property)/totaldmg))*100))+"%)");
pos+=16;
}
@@ -365,12 +366,8 @@ public class TouhouMotherModule extends Module implements ActionListener{
for (TouhouMotherCharacterData tmcd : characterDatabase) {
tmcd.setCurrentDamage(0);
}
- try {
- currentBoss.getFileManager().verifyAndFetchFileFromServer();
- bossImage = ImageIO.read(new File(sigIRC.BASEDIR+"Boss Sprites/"+currentBoss.getImage()));
- } catch (IOException e) {
- e.printStackTrace();
- }
+ currentBoss.getFileManager().verifyAndFetchFileFromServer();
+ bossImage = sigIRC.readImage(sigIRC.BASEDIR+"Boss Sprites/"+currentBoss.getImage());
}
}
diff --git a/sigIRCv2/src/sig/modules/Twitch/FancyNumber.java b/sigIRCv2/src/sig/modules/Twitch/FancyNumber.java
index 5a2df94..f4df45e 100644
--- a/sigIRCv2/src/sig/modules/Twitch/FancyNumber.java
+++ b/sigIRCv2/src/sig/modules/Twitch/FancyNumber.java
@@ -2,6 +2,7 @@ package sig.modules.Twitch;
import java.awt.Color;
import java.awt.Graphics;
+import java.awt.Image;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import java.io.File;
@@ -15,7 +16,7 @@ import sig.utils.DrawUtils;
import sig.utils.TextUtils;
public class FancyNumber {
- BufferedImage icon;
+ Image icon;
int displayedValue=0;
int lastValue=0;
int lastValueChange=0;
@@ -25,11 +26,7 @@ public class FancyNumber {
final static String ICONDIR = sigIRC.BASEDIR+"sigIRC/";
public FancyNumber(String icon_name, int startingValue) {
- try {
- icon = ImageIO.read(new File(ICONDIR+icon_name));
- } catch (IOException e) {
- e.printStackTrace();
- }
+ icon = sigIRC.readImage(ICONDIR+icon_name);
lastValue = startingValue;
}
@@ -53,7 +50,7 @@ public class FancyNumber {
int xoffset = 0;
int yoffset = 0;
g.drawImage(icon, x, y, sigIRC.panel);
- xoffset+=icon.getWidth()+4;
+ xoffset+=icon.getWidth(sigIRC.panel)+4;
if (displayedValue!=lastValue) {
if (delayCount==0) {
int diff = Math.abs(displayedValue-lastValue);
@@ -83,7 +80,7 @@ public class FancyNumber {
lastValueChange--;
g.drawImage((upArrow)?TwitchModule.UPARROWIMAGE:TwitchModule.DOWNARROWIMAGE, x+xoffset, y+yoffset, sigIRC.panel);
}
- xoffset+=((upArrow)?TwitchModule.UPARROWIMAGE.getWidth():TwitchModule.DOWNARROWIMAGE.getWidth())+4;
+ xoffset+=((upArrow)?TwitchModule.UPARROWIMAGE.getWidth(sigIRC.panel):TwitchModule.DOWNARROWIMAGE.getWidth(sigIRC.panel))+4;
return new Rectangle(x,y,xoffset,yoffset+16);
}
}
diff --git a/sigIRCv2/src/sig/modules/TwitchModule.java b/sigIRCv2/src/sig/modules/TwitchModule.java
index 75084d2..09811c2 100644
--- a/sigIRCv2/src/sig/modules/TwitchModule.java
+++ b/sigIRCv2/src/sig/modules/TwitchModule.java
@@ -3,6 +3,7 @@ package sig.modules;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
+import java.awt.Image;
import java.awt.Rectangle;
import java.awt.event.WindowEvent;
import java.awt.geom.Rectangle2D;
@@ -44,8 +45,8 @@ public class TwitchModule extends Module{
final public static String SOUNDSDIR = sigIRC.BASEDIR+"sigIRC/follower_sounds/";
final public static String FOLLOWERQUEUEFILE = USERDIR+"followers.txt";
public static boolean streamOnline = false;
- static BufferedImage follower_img;
- BufferedImage followerUserLogo;
+ static Image follower_img;
+ Image followerUserLogo;
List follower_queue = new ArrayList();
final static int FOLLOWERCHECKTIMER = 900;
int lastFollowerCheck=300;
@@ -59,9 +60,9 @@ public class TwitchModule extends Module{
Date uptime = Calendar.getInstance().getTime();
String currentlyPlaying=" ";
final public static int ARROWTIMER = 3000;
- public static BufferedImage UPARROWIMAGE;
- public static BufferedImage DOWNARROWIMAGE;
- public static BufferedImage UPTIMEIMAGE;
+ public static Image UPARROWIMAGE;
+ public static Image DOWNARROWIMAGE;
+ public static Image UPTIMEIMAGE;
public TwitchModule(Rectangle2D bounds, String moduleName) {
this(bounds,moduleName,true);
@@ -243,15 +244,10 @@ public class TwitchModule extends Module{
}
private void InitializeImages() {
- try {
- follower_img = ImageIO.read(new File(sigIRC.BASEDIR+sigIRC.twitchmodule_follower_img));
- UPARROWIMAGE = ImageIO.read(new File(sigIRC.BASEDIR+"sigIRC/icon_up_arrow.png"));
- DOWNARROWIMAGE = ImageIO.read(new File(sigIRC.BASEDIR+"sigIRC/icon_down_arrow.png"));
- UPTIMEIMAGE = ImageIO.read(new File(sigIRC.BASEDIR+"sigIRC/icon_uptime.png"));
- //System.out.println("Initialized Follower Image successfully.");
- } catch (IOException e) {
- e.printStackTrace();
- }
+ follower_img = sigIRC.readImage(sigIRC.BASEDIR+sigIRC.twitchmodule_follower_img);
+ UPARROWIMAGE = sigIRC.readImage(sigIRC.BASEDIR+"sigIRC/icon_up_arrow.png");
+ DOWNARROWIMAGE = sigIRC.readImage(sigIRC.BASEDIR+"sigIRC/icon_down_arrow.png");
+ UPTIMEIMAGE = sigIRC.readImage(sigIRC.BASEDIR+"sigIRC/icon_uptime.png");
}
private void CreateFollowerQueueLog() {
@@ -429,7 +425,7 @@ public class TwitchModule extends Module{
private void DrawStatisticsBar(Graphics g) {
g.setColor(new Color(25,25,25));
int xoffset = (int)position.getX()+4;
- int yoffset = (int)(position.getY()+follower_img.getHeight()+sigIRC.twitchmodule_newfollowerImgLogoSize);
+ int yoffset = (int)(position.getY()+follower_img.getHeight(sigIRC.panel)+sigIRC.twitchmodule_newfollowerImgLogoSize);
g.fillPolygon(new int[]{(int)position.getX(),(int)(position.getX()+position.getWidth()),(int)(position.getX()+position.getWidth()),(int)position.getX()},
new int[]{yoffset-4,yoffset-4,yoffset+16,yoffset+16},
4);
@@ -445,7 +441,7 @@ public class TwitchModule extends Module{
private Rectangle DrawUptime(Graphics g, int x, int y) {
int xoffset = 0;
int yoffset = 0;
- g.drawImage(UPTIMEIMAGE, x+xoffset, y+yoffset-2, sigIRC.panel);xoffset+=UPTIMEIMAGE.getWidth()+4;
+ g.drawImage(UPTIMEIMAGE, x+xoffset, y+yoffset-2, sigIRC.panel);xoffset+=UPTIMEIMAGE.getWidth(sigIRC.panel)+4;
String timediff = TimeUtils.GetTimeDifferenceFromCurrentDate(uptime);
if (timediff.length()>0) {
DrawUtils.drawTextFont(g, sigIRC.panel.userFont, x+xoffset, y+yoffset+TextUtils.calculateStringBoundsFont(timediff, sigIRC.panel.userFont).getHeight()/2+3,new Color(184,181,192),timediff);xoffset+=TextUtils.calculateStringBoundsFont(timediff, sigIRC.panel.userFont).getWidth()+12;
@@ -463,7 +459,7 @@ public class TwitchModule extends Module{
: 0;
final int canvasYOffset =
(sigIRC.twitchmodule_follower_img_animation)
- ? Math.min(follower_img.getHeight(),yAlteration)
+ ? Math.min(follower_img.getHeight(sigIRC.panel),yAlteration)
: 0;
final int xAlteration =
(sigIRC.twitchmodule_follower_img_animation)
@@ -471,13 +467,13 @@ public class TwitchModule extends Module{
: 0;
final int canvasXOffset =
(sigIRC.twitchmodule_follower_img_animation)
- ? Math.min(follower_img.getWidth(),xAlteration)
+ ? Math.min(follower_img.getWidth(sigIRC.panel),xAlteration)
: 0;
//System.out.println(yAlteration);
//g.drawImage(follower_img, (int)bounds.getX()+xAlteration, (int)bounds.getY()+yAlteration, sigIRC.panel);
//g.drawImage(follower_img, (int)bounds.getX(), (int)bounds.getY(), , , sigIRC.panel)
- g.drawImage(follower_img, (int)position.getX(), (int)position.getY()+canvasYOffset, (int)position.getX()+follower_img.getWidth()+canvasXOffset, (int)position.getY()+follower_img.getHeight(),
- -xAlteration, 0, follower_img.getWidth(), follower_img.getHeight()-yAlteration, sigIRC.panel);
+ g.drawImage(follower_img, (int)position.getX(), (int)position.getY()+canvasYOffset, (int)position.getX()+follower_img.getWidth(sigIRC.panel)+canvasXOffset, (int)position.getY()+follower_img.getHeight(sigIRC.panel),
+ -xAlteration, 0, follower_img.getWidth(sigIRC.panel), follower_img.getHeight(sigIRC.panel)-yAlteration, sigIRC.panel);
Rectangle2D usernameTextsize = TextUtils.calculateStringBoundsFont(announcedFollowerUser.getDisplayName(), sigIRC.panel.programFont);
int textY = (int)position.getY()+sigIRC.twitchmodule_followerText_Y+yAlteration;
int textX = (int)position.getX()+sigIRC.twitchmodule_followerText_centerX+xAlteration;
@@ -488,13 +484,13 @@ public class TwitchModule extends Module{
if (followerUserLogo!=null) {
final int image_size = sigIRC.twitchmodule_newfollowerImgLogoSize;
int img_startx = (int)(position.getX()+position.getWidth()-ticksPassed*3-(image_size+4));
- int img_starty = (int)(position.getY()+follower_img.getHeight()+2-image_size/2);
+ int img_starty = (int)(position.getY()+follower_img.getHeight(sigIRC.panel)+2-image_size/2);
//g.setColor(Color.BLACK);
//g.drawRect(img_startx, img_starty, image_size, image_size);
- g.drawImage(followerUserLogo, img_startx, img_starty, img_startx+image_size, img_starty+image_size, 0, 0, followerUserLogo.getWidth(), followerUserLogo.getHeight(), TextUtils.convertStringToColor(sigIRC.twitchmodule_newfollowerImgBackgroundColor), sigIRC.panel);
+ g.drawImage(followerUserLogo, img_startx, img_starty, img_startx+image_size, img_starty+image_size, 0, 0, followerUserLogo.getWidth(sigIRC.panel), followerUserLogo.getHeight(sigIRC.panel), TextUtils.convertStringToColor(sigIRC.twitchmodule_newfollowerImgBackgroundColor), sigIRC.panel);
}
if (announcedFollowerUser.getBio()!=null && announcedFollowerUser.getBio().length()>0) {
- DrawUtils.drawOutlineText(g, sigIRC.panel.userFont, position.getX()+position.getWidth()-ticksPassed*3, position.getY()+follower_img.getHeight()+2+8, 2, TextUtils.convertStringToColor(sigIRC.twitchmodule_newfollowerTextColor), TextUtils.convertStringToColor(sigIRC.twitchmodule_newfollowerShadowTextColor), announcedFollowerUser.getBio());
+ DrawUtils.drawOutlineText(g, sigIRC.panel.userFont, position.getX()+position.getWidth()-ticksPassed*3, position.getY()+follower_img.getHeight(sigIRC.panel)+2+8, 2, TextUtils.convertStringToColor(sigIRC.twitchmodule_newfollowerTextColor), TextUtils.convertStringToColor(sigIRC.twitchmodule_newfollowerShadowTextColor), announcedFollowerUser.getBio());
}
}
}
diff --git a/sigIRCv2/src/sig/sigIRC.java b/sigIRCv2/src/sig/sigIRC.java
index 9dd8009..fe92134 100644
--- a/sigIRCv2/src/sig/sigIRC.java
+++ b/sigIRCv2/src/sig/sigIRC.java
@@ -41,12 +41,14 @@ import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
+import java.awt.Graphics2D;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
+import java.awt.image.BufferedImage;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
@@ -159,6 +161,7 @@ public class sigIRC{
public static int lastSubEmoteUpdate = -1;
public static boolean autoUpdateProgram = true;
public static Image programIcon;
+ public static Image missingImage;
public static int subchannelCount = 0;
public static HashMap subchannelIds = new HashMap();
@@ -213,11 +216,11 @@ public class sigIRC{
touhoumothermodule_Y = config.getInteger("TOUHOUMOTHER_module_Y",312);
touhoumothermodule_width = config.getInteger("TOUHOUMOTHER_module_width",320);
touhoumothermodule_height = config.getInteger("TOUHOUMOTHER_module_height",312);
- /*rabiribimodule_X = config.getInteger("RABIRIBI_module_X",0);
+ rabiribimodule_X = config.getInteger("RABIRIBI_module_X",0);
rabiribimodule_Y = config.getInteger("RABIRIBI_module_Y",312);
rabiribimodule_width = config.getInteger("RABIRIBI_module_width",320);
rabiribimodule_height = config.getInteger("RABIRIBI_module_height",312);
- rabiribimodule_enabled = config.getBoolean("Module_rabiribi_Enabled", false);*/
+ rabiribimodule_enabled = config.getBoolean("Module_rabiribi_Enabled", false);
rabiracemodule_X = config.getInteger("RABIRACE_module_X",0);
rabiracemodule_Y = config.getInteger("RABIRACE_module_Y",312);
rabiracemodule_width = config.getInteger("RABIRACE_module_width",320);
@@ -276,10 +279,28 @@ public class sigIRC{
}
private static void Initialize() {
+ programIcon = sigIRC.readImage(sigIRC.BASEDIR+"/sigIRC/sigIRCicon.png");
+
+ BufferedImage img = new BufferedImage(16,16,BufferedImage.TYPE_INT_ARGB);
+
+ Graphics2D g = img.createGraphics();
+ g.drawRect(0, 0, 15, 15);
+ g.drawLine(0, 0, 15, 15);
+ g.drawLine(0, 15, 15, 0);
+ missingImage = img;
+ }
+
+ public static Image readImage(String file) {
+ Image img;
try {
- programIcon = ImageIO.read(new File(sigIRC.BASEDIR+"/sigIRC/sigIRCicon.png"));
+ img = ImageIO.read(new File(file));
} catch (IOException e) {
- e.printStackTrace();
+ return missingImage;
+ }
+ if (img!=null) {
+ return img;
+ } else {
+ return missingImage;
}
}
@@ -362,12 +383,8 @@ public class sigIRC{
}
private static void InitializeModules() {
- try {
- Module.IMG_DRAGBAR = ImageIO.read(new File(sigIRC.BASEDIR+"drag_bar.png"));
- Module.MSG_SEPARATOR = ImageIO.read(new File(sigIRC.BASEDIR+"sigIRC/message_separator.png"));
- } catch (IOException e) {
- e.printStackTrace();
- }
+ Module.IMG_DRAGBAR = sigIRC.readImage(sigIRC.BASEDIR+"drag_bar.png");
+ Module.MSG_SEPARATOR = sigIRC.readImage(sigIRC.BASEDIR+"sigIRC/message_separator.png");
if (touhoumothermodule_enabled) {
modules.add(new TouhouMotherModule(
new Rectangle(touhoumothermodule_X,touhoumothermodule_Y,touhoumothermodule_width,touhoumothermodule_height),