diff --git a/sigIRCv2.conf.backup b/sigIRCv2.conf.backup new file mode 100644 index 0000000..4b97319 --- /dev/null +++ b/sigIRCv2.conf.backup @@ -0,0 +1,76 @@ +# +#Properties file for sigIRCv2 +#Thu Sep 13 20:34:27 CDT 2018 +Auto_Update_Program=1 +Automatically_Update_Program=false +BANDORI_module_X=76 +BANDORI_module_Y=307 +BANDORI_module_height=120 +BANDORI_module_width=640 +CHATLOG_module_BackgroundColor=195,195,195,255 +CHATLOG_module_MessageHistory=50 +CHATLOG_module_X=1042 +CHATLOG_module_Y=388 +CHATLOG_module_height=518 +CHATLOG_module_width=516 +CONTROLLER_module_X=46 +CONTROLLER_module_Y=272 +CONTROLLER_module_height=312 +CONTROLLER_module_width=320 +Disable_Chat_Messages=false +Max_FPS=30 +Module_bandori_Enabled=false +Module_chatlog_Enabled=false +Module_controller_Enabled=false +Module_rabirace_Enabled=false +Module_rabiribi_Enabled=false +Module_touhoumother_Enabled=false +Module_twitch_Enabled=false +RABIRACE_module_X=492 +RABIRACE_module_Y=226 +RABIRACE_module_height=561 +RABIRACE_module_width=481 +RABIRIBI_module_X=0 +RABIRIBI_module_Y=0 +RABIRIBI_module_height=1050 +RABIRIBI_module_width=1680 +SCROLLINGCHAT_module_X=1016 +SCROLLINGCHAT_module_Y=223 +SCROLLINGCHAT_module_height=132 +SCROLLINGCHAT_module_width=456 +TOUHOUMOTHER_module_X=0 +TOUHOUMOTHER_module_Y=312 +TOUHOUMOTHER_module_height=312 +TOUHOUMOTHER_module_width=320 +TWITCH_module_X=507 +TWITCH_module_Y=366 +TWITCH_module_followerText_Y=42 +TWITCH_module_followerText_centerX=292 +TWITCH_module_follower_img=sigIRC/glaceon_follower.png +TWITCH_module_follower_img_animation=true +TWITCH_module_height=200 +TWITCH_module_newFollowerImgBackgroundColor=90,90,90 +TWITCH_module_newFollowerImgLogoSize=32 +TWITCH_module_newFollowerShadowTextColor=26,90,150 +TWITCH_module_newFollowerTextColor=255,255,255 +TWITCH_module_width=500 +Testing_Mode=false +backgroundColor=-10066177 +channel=\#SigoNitori +chatRows=3 +chatScrollSpd=4 +dingThreshold=6 +hardware_acceleration=true +lastSubEmote_APIUpdate=331 +messageFont=Gill Sans Ultra Bold Condensed +nickname=SigoNitori +overlayMode=false +rowSpacing=64 +server=irc.chat.twitch.tv +showWindowControls=true +touhoumotherConsoleFont=Agency FB Bold +usernameFont=Segoe UI Semibold +windowHeight=632 +windowWidth=1212 +windowX=442 +windowY=205 diff --git a/sigIRCv2.jar b/sigIRCv2.jar index 0ff1e82..181e470 100644 Binary files a/sigIRCv2.jar and b/sigIRCv2.jar differ diff --git a/src/sig/MyPanel.java b/src/sig/MyPanel.java index d8fc596..6fcffe9 100644 --- a/src/sig/MyPanel.java +++ b/src/sig/MyPanel.java @@ -30,6 +30,7 @@ import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JPopupMenu; +import sig.modules.BandoriModule; import sig.modules.ChatLogModule; import sig.modules.ChatLog.ChatLogMessage; import sig.utils.FileUtils; @@ -120,6 +121,9 @@ public class MyPanel extends JPanel implements MouseListener, ActionListener, Mo TextRow row = TextRow.PickRandomTextRow(text.getUsername()); sigIRC.textobj.add(text); row.updateRow(text); + if (sigIRC.bandorimodule_enabled) { + BandoriModule.checkForStamp(text.getUsername(), text.getMessage()); + } //ChatLogMessage.importMessages(message); } diff --git a/src/sig/modules/BandoriModule.java b/src/sig/modules/BandoriModule.java new file mode 100644 index 0000000..3c827ce --- /dev/null +++ b/src/sig/modules/BandoriModule.java @@ -0,0 +1,225 @@ +package sig.modules; + +import java.awt.Graphics; +import java.awt.event.WindowEvent; +import java.awt.geom.Rectangle2D; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; + +import javax.imageio.ImageIO; + +import sig.FileManager; +import sig.Module; +import sig.sigIRC; +import sig.utils.SoundUtils; + +public class BandoriModule extends Module{ + public static BandoriModule bandori_module; + public BufferedImage stamp_collection1,stamp_collection2; + public static HashMap image_map = new HashMap(); + public static HashMap> stamp_map = new HashMap>(); + static List active_stamps = new ArrayList(); + + public BandoriModule(Rectangle2D bounds, String moduleName) { + this(bounds,moduleName,true); + } + + public BandoriModule(Rectangle2D bounds, String moduleName, boolean enabled) { + super(bounds, moduleName, enabled); + Initialize(); + } + + void Initialize() { + BandoriModule.bandori_module = this; + try { + stamp_collection1 = ImageIO.read(new File(sigIRC.BASEDIR+"sigIRC/stamps1.png")); + stamp_collection2 = ImageIO.read(new File(sigIRC.BASEDIR+"sigIRC/stamps2.png")); + } catch (IOException e) { + e.printStackTrace(); + } + image_map.put("kasumi_gogo", new ImageScheme(stamp_collection1,0)); + image_map.put("tae_letsplay", new ImageScheme(stamp_collection1,1)); + image_map.put("rimi_choco", new ImageScheme(stamp_collection1,2)); + image_map.put("saya_bread", new ImageScheme(stamp_collection1,3)); + image_map.put("arisa_doki", new ImageScheme(stamp_collection1,4)); + image_map.put("ran_same", new ImageScheme(stamp_collection1,5)); + image_map.put("moca_youdidit", new ImageScheme(stamp_collection1,6)); + image_map.put("himari_heyheyhoh", new ImageScheme(stamp_collection1,7)); + image_map.put("tomoe_letsdothis", new ImageScheme(stamp_collection1,8)); + image_map.put("tsugumi_wecandoit", new ImageScheme(stamp_collection1,9)); + image_map.put("kokoro_happylucky", new ImageScheme(stamp_collection1,10)); + image_map.put("kaoru_fleeting", new ImageScheme(stamp_collection1,11)); + image_map.put("hagumi_smileyay", new ImageScheme(stamp_collection1,12)); + image_map.put("kanon_fuee", new ImageScheme(stamp_collection1,13)); + image_map.put("misaki_ready", new ImageScheme(stamp_collection1,14)); + image_map.put("aya_fever", new ImageScheme(stamp_collection1,15)); + image_map.put("hina_fullcombo", new ImageScheme(stamp_collection1,16)); + image_map.put("chisato_planned", new ImageScheme(stamp_collection1,17)); + image_map.put("maya_huhehe", new ImageScheme(stamp_collection1,18)); + image_map.put("eve_bushido", new ImageScheme(stamp_collection1,19)); + image_map.put("yukina_notbad", new ImageScheme(stamp_collection1,20)); + image_map.put("sayo_goodwork", new ImageScheme(stamp_collection1,21)); + image_map.put("lisa_nextonelastone", new ImageScheme(stamp_collection1,22)); + image_map.put("ako_onemoretime", new ImageScheme(stamp_collection1,23)); + image_map.put("rinko_jam", new ImageScheme(stamp_collection2,0)); + image_map.put("marina_yeahyeah", new ImageScheme(stamp_collection2,1)); //Skip 2. + image_map.put("kokoro_moremore", new ImageScheme(stamp_collection2,3)); + image_map.put("arisa_huh", new ImageScheme(stamp_collection2,4)); + image_map.put("yukina_followmylead", new ImageScheme(stamp_collection2,5)); + image_map.put("kaoru_suchalovelyevening", new ImageScheme(stamp_collection2,6)); + image_map.put("rimi_congrats", new ImageScheme(stamp_collection2,7)); + image_map.put("ran_somethingbigiscoming", new ImageScheme(stamp_collection2,8)); + image_map.put("tsugumi_comeon", new ImageScheme(stamp_collection2,9)); + image_map.put("tae_fufusocute", new ImageScheme(stamp_collection2,10)); + image_map.put("eve_marchintobattle", new ImageScheme(stamp_collection2,11)); + image_map.put("saya_illtry", new ImageScheme(stamp_collection2,12)); + image_map.put("lisa_imsohappy", new ImageScheme(stamp_collection2,13)); + image_map.put("sayo_ohwell", new ImageScheme(stamp_collection2,14)); + image_map.put("ako_areyouokay", new ImageScheme(stamp_collection2,15)); + image_map.put("chisato_thisissomuchfun", new ImageScheme(stamp_collection2,16)); + image_map.put("rinko_theresnoway", new ImageScheme(stamp_collection2,17)); + image_map.put("tae_thisisgreat", new ImageScheme(stamp_collection2,18)); + image_map.put("moca_thisisgettinginteresting", new ImageScheme(stamp_collection2,19)); + image_map.put("kaoru_takemyhand", new ImageScheme(stamp_collection2,20)); + image_map.put("kokoro_letsmaketheworldsmile", new ImageScheme(stamp_collection2,21)); + + stamp_map.put("kasumi_gogo",Arrays.asList("gogo")); + stamp_map.put("tae_letsplay",Arrays.asList("playtogether","wanttoplay","multilive","letsplay")); + stamp_map.put("rimi_choco",Arrays.asList("choco","cornet")); + stamp_map.put("saya_bread",Arrays.asList("bread")); + stamp_map.put("arisa_doki",Arrays.asList("doki")); + stamp_map.put("ran_same",Arrays.asList("sameasalways","alwayssame","alwaysthesame")); + stamp_map.put("moca_youdidit",Arrays.asList("youdidit","congratulations","buns")); + stamp_map.put("himari_heyheyhoh",Arrays.asList("heyo","heyheyhoh","heyhey","hihi")); + stamp_map.put("tomoe_letsdothis",Arrays.asList("letsdothis","letsdoit")); + stamp_map.put("tsugumi_wecandoit",Arrays.asList("wegotthis","wegotit","wecan")); + stamp_map.put("kokoro_happylucky",Arrays.asList("happy!","lucky")); + stamp_map.put("kaoru_fleeting",Arrays.asList("fleeting")); + stamp_map.put("hagumi_smileyay",Arrays.asList("smileyay","yay")); + stamp_map.put("kanon_fuee",Arrays.asList("fuee","waa","ree")); + stamp_map.put("misaki_ready",Arrays.asList("amready","beenready","ready!")); + stamp_map.put("aya_fever",Arrays.asList("fever")); + stamp_map.put("hina_fullcombo",Arrays.asList("fc","fullcombo","nomiss","allperfect","notasinglemiss")); + stamp_map.put("chisato_planned",Arrays.asList("justasplanned","allplanned","calculated","thatcoming")); + stamp_map.put("maya_huhehe",Arrays.asList("hehe","huehe","huehue")); + stamp_map.put("eve_bushido",Arrays.asList("bushido")); + stamp_map.put("yukina_notbad",Arrays.asList("notbad","veryclose")); + stamp_map.put("sayo_goodwork",Arrays.asList("goodwork","goodjob","nicejob","welldone","greatwork","greatjob")); + stamp_map.put("lisa_nextonelastone",Arrays.asList("lastone","mylast")); + stamp_map.put("ako_onemoretime",Arrays.asList("onemore","goagain","keepgoing","dontstop")); + stamp_map.put("rinko_jam",Arrays.asList("lovethissong","jam")); + stamp_map.put("marina_yeahyeah",Arrays.asList("yeahyeah","letsgo")); + stamp_map.put("kokoro_moremore",Arrays.asList("moremore","iwantmore")); + stamp_map.put("arisa_huh",Arrays.asList("huh?","hh?","yy?","aat?","aa?","tt?","nani","nand")); + stamp_map.put("yukina_followmylead",Arrays.asList("followmylead","takethelead","guideyou")); + stamp_map.put("kaoru_suchalovelyevening",Arrays.asList("goodevening","lovelyevening","beautifulnight","grandnight","wonderfulevening")); + stamp_map.put("rimi_congrats",Arrays.asList("grats")); + stamp_map.put("ran_somethingbigiscoming",Arrays.asList("somethingbig","iscoming")); + stamp_map.put("tsugumi_comeon",Arrays.asList("comeon","dontbeafraid","dontbeshy")); + stamp_map.put("tae_fufusocute",Arrays.asList("socute","kawaii","fufu","adorable","cute")); + stamp_map.put("eve_marchintobattle",Arrays.asList("marchintobattle","chargeintobattle")); + stamp_map.put("saya_illtry",Arrays.asList("illtry","itachance","itatry","atleastonce")); + stamp_map.put("lisa_imsohappy",Arrays.asList("ecstatic","sohappy","toohappy")); + stamp_map.put("sayo_ohwell",Arrays.asList("ohwell","ahwell","youtried")); + stamp_map.put("ako_areyouokay",Arrays.asList("youok","beok","daijou")); + stamp_map.put("chisato_thisissomuchfun",Arrays.asList("muchfun","veryfun","reallyfun","extremelyfun","offun")); + stamp_map.put("rinko_theresnoway",Arrays.asList("noway")); + stamp_map.put("tae_thisisgreat",Arrays.asList("thisisgreat","thisisawesome","thisiswonderful")); + stamp_map.put("moca_thisisgettinginteresting",Arrays.asList("gettinginteresting","thingsaregetting","thisisgetting")); + stamp_map.put("kaoru_takemyhand",Arrays.asList("takemyhand","allowmeto","demonstrate","romeo")); + stamp_map.put("kokoro_letsmaketheworldsmile",Arrays.asList("hhw","happyworld","hellohappy","worldsmile")); + } + + public void run() { + for (int i=0;i0; + } +} + +class ImageScheme{ + BufferedImage base; + int stamp_index; //0-23. + ImageScheme(BufferedImage base,int index) { + this.base=base; + this.stamp_index=index; + } +} \ No newline at end of file diff --git a/src/sig/sigIRC.java b/src/sig/sigIRC.java index 38324cf..2ec4af6 100644 --- a/src/sig/sigIRC.java +++ b/src/sig/sigIRC.java @@ -22,6 +22,7 @@ import com.sun.jna.platform.win32.WinNT; import com.sun.jna.platform.win32.WinNT.HANDLE; import com.sun.jna.platform.win32.WinNT.HANDLEByReference; +import sig.modules.BandoriModule; import sig.modules.ChatLogModule; import sig.modules.ControllerModule; import sig.modules.RabiRaceModule; @@ -135,6 +136,11 @@ public class sigIRC{ public static int rabiribimodule_height=312; public static int rabiribimodule_X=0; public static int rabiribimodule_Y=312; + public static int bandorimodule_width=320; + public static int bandorimodule_height=312; + public static int bandorimodule_X=0; + public static int bandorimodule_Y=312; + public static boolean bandorimodule_enabled=false; public static boolean rabiribimodule_enabled=false; public static int rabiracemodule_width=320; public static int rabiracemodule_height=312; @@ -220,6 +226,11 @@ public class sigIRC{ rabiribimodule_width = config.getInteger("RABIRIBI_module_width",320); rabiribimodule_height = config.getInteger("RABIRIBI_module_height",312); rabiribimodule_enabled = config.getBoolean("Module_rabiribi_Enabled", false);*/ + bandorimodule_X = config.getInteger("BANDORI_module_X", 240); + bandorimodule_Y = config.getInteger("BANDORI_module_Y", 0); + bandorimodule_width = config.getInteger("BANDORI_module_width", 640); + bandorimodule_height = config.getInteger("BANDORI_module_height", 120); + bandorimodule_enabled = config.getBoolean("Module_bandori_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); @@ -327,6 +338,8 @@ public class sigIRC{ manager = new FileManager("update.png"); manager.verifyAndFetchFileFromServer(); manager = new FileManager("backcolor.png"); manager.verifyAndFetchFileFromServer(); manager = new FileManager("drag_bar.png"); manager.verifyAndFetchFileFromServer(); + manager = new FileManager("sigIRC/stamps1.png"); manager.verifyAndFetchFileFromServer(); + manager = new FileManager("sigIRC/stamps2.png"); manager.verifyAndFetchFileFromServer(); DownloadProgramUpdate(); System.out.println("Downloaded Dependencies. "); } @@ -400,6 +413,12 @@ public class sigIRC{ "Rabi-Race" )); } + if (bandorimodule_enabled) { + modules.add(new BandoriModule( + new Rectangle(bandorimodule_X,bandorimodule_Y,bandorimodule_width,bandorimodule_height), + "Bandori" + )); + } } private static void InitializeCustomSounds() { diff --git a/tmp_profile b/tmp_profile index 8185dfe..a6d4584 100644 --- a/tmp_profile +++ b/tmp_profile @@ -1,86 +1,18 @@ SigoNitori 25 -8468886 -41 -41 -31 -25 -37 -60 +0 +0 +0 +0 +0 +0 +0 false -5 -4 -100.0 -95.51538 -1527990500 +0 +0 +5.361208E-36 +4.8674998E-36 +1536205835 KEYITEMS: -HAMMER;3 -CARROT_BOMB;3 -RIBBON;1 -SPEED_BOOST;3 -AUTO_EARRINGS;3 -RABI_SLIPPERS;1 -SUNNY_BEAM;1 -AIR_JUMP;1 -SLIDING_POWDER;3 -HOURGLASS;1 -BUNNY_WHIRL;3 -QUICK_BARRETTE;1 -HAMMER_WAVE;3 -HAMMER_ROLL;3 -LIGHT_ORB;3 -PLUS_NECKLACE;3 -EXPLODE_SHOT;1 -AIR_DASH;3 -BUNNY_STRIKE;3 -WALL_JUMP;3 -SPIKE_BARRIER;3 -BUNNY_AMULET;4 -SOUL_HEART;1 -BOOK_OF_CARROT;1 -CHAOS_ROD;1 -WATER_ORB;3 -FIRE_ORB;3 -NATURE_ORB;3 -P_HAIRPIN;3 -CYBER_FLOWER;1 -HEALING_STAFF;1 -MAX_BRACELET;1 -STRANGE_BOX;1 -CHARGE_RING;3 -CARROT_SHOOTER;1 -SUPER_CARROT;3 -BUNNY_CLOVER;1 BADGES: -BADGE_HEALTH_PLUS;2 -BADGE_TOXIC_STRIKE;2 -BADGE_DEF_GROW;1 -BADGE_MANA_SURGE;2 -BADGE_DEF_TRADE;1 -BADGE_ARMORED;1 -BADGE_CASHBACK;1 -BADGE_SURVIVAL;2 -BADGE_HEALTH_SURGE;2 -BADGE_MANA_PLUS;2 -BADGE_CRISIS_BOOST;2 -BADGE_ATK_GROW;1 -BADGE_ATK_TRADE;2 -BADGE_ARM_STRENGTH;2 -BADGE_CARROT_BOOST;1 -BADGE_WEAKEN;1 -BADGE_SELF_DEFENSE;1 -BADGE_LUCKY_SEVEN;2 -BADGE_HEX_CANCEL;1 -BADGE_PURE_LOVE;2 -BADGE_FRAME_CANCEL;2 -BADGE_HEALTH_WAGER;2 -BADGE_MANA_WAGER;1 -BADGE_STAMINA_PLUS;2 -BADGE_BLESSED;2 -BADGE_HITBOX_DOWN;2 -BADGE_TOP_FORM;2 -BADGE_TOUGH_SKIN;2 -BADGE_ERINA_BADGE;2 -BADGE_RIBBON_BADGE;2 -BADGE_AUTO_TRIGGER;1 UPDATES: \ No newline at end of file