+ Added Catch Command

This commit is contained in:
Matthew Cech
2019-05-04 00:23:34 -07:00
parent 300ffea72b
commit 46e2462c36
10 changed files with 100 additions and 238 deletions
-228
View File
@@ -1,228 +0,0 @@
[Log] [Core] Initializing LocStrings
[Log] [Strings] Attempting to read localization file: locStrings.config
[Log] [Strings] Found lookup call in .\src\commands\CommandBeansShow.java: BeansShowInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandBeansShow.java: BeansShowDisplay
[Log] [Strings] Found lookup call in .\src\commands\CommandBetBeans.java: BetBeansInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandBetBeans.java: BetBeansLowBet
[Log] [Strings] Found lookup call in .\src\commands\CommandBetBeans.java: BetBeansNotValid
[Log] [Strings] Found lookup call in .\src\commands\CommandBetBeans.java: BetBeansNotEnough
[Log] [Strings] Found lookup call in .\src\commands\CommandBetBeans.java: BetBeansLose
[Log] [Strings] Found lookup call in .\src\commands\CommandBetBeans.java: BetBeansWin
[Log] [Strings] Found lookup call in .\src\commands\CommandBlurry.java: BlurryInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandBoop.java: BoopInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandBoop.java: BoopStandard
[Log] [Strings] Found lookup call in .\src\commands\CommandBoop.java: BoopPerson
[Log] [Strings] Found lookup call in .\src\commands\CommandBoop.java: BoopMultiple
[Log] [Strings] Found lookup call in .\src\commands\CommandChangeIndicator.java: ChangeIndicatorInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandChangeIndicator.java: ChangeIndicatorError
[Log] [Strings] Found lookup call in .\src\commands\CommandChangeIndicator.java: ChangeIndicatorChanged
[Log] [Strings] Found lookup call in .\src\commands\CommandChoose.java: ChooseInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandChoose.java: ChooseOne
[Log] [Strings] Found lookup call in .\src\commands\CommandChoose.java: ChooseChoice
[Log] [Strings] Found lookup call in .\src\commands\CommandColiru.java: ColiruInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandColiru.java: ColiruError
[Log] [Strings] Found lookup call in .\src\commands\CommandDoWork.java: DoWorkInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandDoWork.java: DoWorkFinished
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallYes1
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallYes2
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallYes3
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallYes4
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallYes5
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallYes6
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallYes7
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallYes8
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallYes9
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallYes10
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallMaybe1
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallMaybe2
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallMaybe3
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallMaybe4
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallMaybe5
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallNo1
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallNo2
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallNo3
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallNo4
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallNo5
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandEightBall.java: EightBallError
[Log] [Strings] Found lookup call in .\src\commands\CommandFetch.java: FetchInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandFetch.java: FetchBringBack
[Log] [Strings] Found lookup call in .\src\commands\CommandFetch.java: FetchRunAway
[Log] [Strings] Found lookup call in .\src\commands\CommandFetch.java: FetchBringBackWrong
[Log] [Strings] Found lookup call in .\src\commands\CommandFetch.java: FetchEat
[Log] [Strings] Found lookup call in .\src\commands\CommandFetch.java: FetchCatchRun
[Log] [Strings] Found lookup call in .\src\commands\CommandFetch.java: FetchStare
[Log] [Strings] Found lookup call in .\src\commands\CommandFetch.java: FetchError
[Log] [Strings] Found lookup call in .\src\commands\CommandGiveBeans.java: GiveBeansInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandGiveBeans.java: GiveBeansInvalid
[Log] [Strings] Found lookup call in .\src\commands\CommandGiveBeans.java: GiveBeansNoneMentioned
[Log] [Strings] Found lookup call in .\src\commands\CommandGiveBeans.java: GiveBeansSuccess
[Log] [Strings] Found lookup call in .\src\commands\CommandGuildRoleAdd.java: GuildRoleAddInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandGuildRoleAdd.java: GuildRoleAddSuccess
[Log] [Strings] Found lookup call in .\src\commands\CommandGuildRoleAdd.java: GuildRoleAddFailure
[Log] [Strings] Found lookup call in .\src\commands\CommandGuildRoleAdd.java: GuildRoleAddNotAllowed
[Log] [Strings] Found lookup call in .\src\commands\CommandGuildRoleAllowed.java: GuildRoleAllowedInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandGuildRoleAllowed.java: GuildRoleAllowedDuplicate
[Log] [Strings] Found lookup call in .\src\commands\CommandGuildRoleAllowed.java: GuildRoleAllowedSuccess
[Log] [Strings] Found lookup call in .\src\commands\CommandGuildRoleRemove.java: GuildRoleRemoveInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandGuildRoleRemove.java: GuildRoleRemoveSuccess
[Log] [Strings] Found lookup call in .\src\commands\CommandGuildRoleRemove.java: GuildRoleRemoveFailure
[Log] [Strings] Found lookup call in .\src\commands\CommandGuildRoleRemove.java: GuildRoleRemoveNotAllowed
[Log] [Strings] Found lookup call in .\src\commands\CommandHelp.java: HelpInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandHelp.java: HelpDisplay
[Log] [Strings] Found lookup call in .\src\commands\CommandHelpBuilder.java: HelpBuilderInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandInfo.java: InfoInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandInfo.java: InfoResponse
[Log] [Strings] Found lookup call in .\src\commands\CommandInvite.java: InviteInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandJDoodle.java: JDoodleInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandJDoodle.java: JDoodleError
[Log] [Strings] Found lookup call in .\src\commands\CommandMap.java: MapInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandMap.java: MapInvalid
[Log] [Strings] Found lookup call in .\src\commands\CommandMap.java: MapVersion
[Log] [Strings] Found lookup call in .\src\commands\CommandMap.java: MapSeed
[Log] [Strings] Found lookup call in .\src\commands\CommandMap.java: MapWidth
[Log] [Strings] Found lookup call in .\src\commands\CommandMap.java: MapHeight
[Log] [Strings] Found lookup call in .\src\commands\CommandPerish.java: PerishInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandPing.java: PingInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandPing.java: PingResponse
[Log] [Strings] Found lookup call in .\src\commands\CommandPollManage.java: PollManageInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandPollResults.java: PollResultsInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandPollResults.java: PollResultsResponse
[Log] [Strings] Found lookup call in .\src\commands\CommandPollShow.java: PollShowInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandPollShow.java: PollShowNoPoll
[Log] [Strings] Found lookup call in .\src\commands\CommandPollShow.java: PollShowPoll
[Log] [Strings] Found lookup call in .\src\commands\CommandPollShow.java: PollShowChoices
[Log] [Strings] Found lookup call in .\src\commands\CommandPollVote.java: PollVoteInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandPollVote.java: PollVoteAlreadyVoted
[Log] [Strings] Found lookup call in .\src\commands\CommandPollVote.java: PollVoteNotValidVote
[Log] [Strings] Found lookup call in .\src\commands\CommandPollVote.java: PollVoteSuccess
[Log] [Strings] Found lookup call in .\src\commands\CommandPollVote.java: PollVoteNotValidNumber
[Log] [Strings] Found lookup call in .\src\commands\CommandPollVote.java: PollVoteNoPoll
[Log] [Strings] Found lookup call in .\src\commands\CommandRating.java: RatingInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandRating.java: RatingChanged
[Log] [Strings] Found lookup call in .\src\commands\CommandRating.java: RatingInvalid
[Log] [Strings] Found lookup call in .\src\commands\CommandRating.java: RatingWarning
[Log] [Strings] Found lookup call in .\src\commands\CommandRole.java: RoleInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandRole.java: RoleStandardResponse
[Log] [Strings] Found lookup call in .\src\commands\CommandRole.java: RoleError
[Log] [Strings] Found lookup call in .\src\commands\CommandRole.java: RoleNeededRole
[Log] [Strings] Found lookup call in .\src\commands\CommandRole.java: RoleChanged
[Log] [Strings] Found lookup call in .\src\commands\CommandRoll.java: RollInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandRoll.java: RollError
[Log] [Strings] Found lookup call in .\src\commands\CommandRPEnd.java: RPEndInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandRPEnd.java: RPEndFileOut
[Log] [Strings] Found lookup call in .\src\commands\CommandRPEnd.java: RPEndError
[Log] [Strings] Found lookup call in .\src\commands\CommandRPG.java: RPGInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandRPG.java: RPGInvalid
[Log] [Strings] Found lookup call in .\src\commands\CommandRPStart.java: RPStartInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandShutdown.java: ShutdownInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandStark.java: StarkInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandStats.java: StatsInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandTeey.java: TeeyInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandTweet.java: TweetInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandTweet.java: TweetError
[Log] [Strings] Found lookup call in .\src\commands\CommandWolfram.java: WolframInfo
[Log] [Strings] Found lookup call in .\src\commands\CommandWolfram.java: WolframNoArgs
[Log] [Strings] Found lookup call in .\src\commands\CommandWolfram.java: WolframError
[Log] [Strings] Found lookup call in .\src\commands\CommandYeet.java: YeetInfo
[Log] [Strings] Attempting to write updated localization file
[Log] [Core] Initializing LocCommands
[Log] [Strings] Attempting to read localization file: locCommands.config
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: work
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: shutdown
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: stats
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: invite
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: buildHelp
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: tweet
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: rating
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: indicator
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: guildroleallowed
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: poll
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: givebeans
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: rpg
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: fetch
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: guildroleadd
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: guildroleremove
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: teey
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: perish, thenperish
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: yeet
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: ping
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: boop
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: roll
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: choose
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: help
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: info, about
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: vote
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: results
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: showpoll
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: wolfram
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: c++, g++, cplus, cpp
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: java, jdoodle
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: beans
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: role
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: bet
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: map
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: rpstart
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: rpend
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: tony, stark, dontfeelgood, dontfeelsogood
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: blur
[Log] [Strings] Found lookup call in .\src\core\ObjectBuilderFactory.java: eightball, 8ball
[Log] [Strings] Attempting to write updated localization file
[Log] [Database] Connection to SQLite has been established.
[Log] [Core] Initializing CommandEnabler
[Log] [Core] Command registered under key work
[Log] [Core] Command registered under key shutdown
[Log] [Core] Command registered under key stats
[Log] [Core] Command registered under key invite
[Log] [Core] Command registered under key buildhelp
[Log] [Core] Command registered under key tweet
[Log] [Core] Command registered under key rating
[Log] [Core] Command registered under key indicator
[Log] [Core] Command registered under key guildroleallowed
[Log] [Core] Command registered under key poll
[Log] [Core] Command registered under key givebeans
[Log] [Command] [RPG] Registered stats
[Log] [Command] [RPG] Registered about
[Log] [Command] [RPG] Registered info
[Log] [Command] [RPG] Registered explore
[Log] [Command] [RPG] Registered run
[Log] [Command] [RPG] Registered fight
[Log] [Core] Command registered under key rpg
[Log] [Core] Command registered under key fetch
[Log] [Core] Command registered under key guildroleadd
[Log] [Core] Command registered under key guildroleremove
[Log] [Core] Command registered under key teey
[Log] [Core] Command registered under key perish
[Log] [Core] Command registered under key thenperish
[Log] [Core] Command registered under key yeet
[Log] [Core] Command registered under key ping
[Log] [Database] CreateGeyKey: key-booptracker
[Log] [Core] Command registered under key boop
[Log] [Core] Command registered under key roll
[Log] [Core] Command registered under key choose
[Log] [Core] Command registered under key help
[Log] [Core] Command registered under key info
[Log] [Core] Command registered under key about
[Log] [Core] Command registered under key vote
[Log] [Core] Command registered under key results
[Log] [Core] Command registered under key showpoll
[Log] [Core] Command registered under key wolfram
[Log] [Core] Command registered under key c++
[Log] [Core] Command registered under key g++
[Log] [Core] Command registered under key cplus
[Log] [Core] Command registered under key cpp
[Log] [Core] Command registered under key java
[Log] [Core] Command registered under key jdoodle
[Log] [Core] Command registered under key beans
[Log] [Core] Command registered under key role
[Log] [Core] Command registered under key bet
[Log] [Core] Command registered under key map
[Log] [Core] Command registered under key rpstart
[Log] [Core] Command registered under key rpend
[Log] [Core] Command registered under key tony
[Log] [Core] Command registered under key stark
[Log] [Core] Command registered under key dontfeelgood
[Log] [Core] Command registered under key dontfeelsogood
[Log] [Core] Command registered under key blur
[Log] [Core] Command registered under key eightball
[Log] [Core] Command registered under key 8ball
Binary file not shown.

Before

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

+1
View File
@@ -40,3 +40,4 @@ guildroleadd=1
guildroleallowed=1
fetch=1
guildrolenotallowed=1
catch=1
+1
View File
@@ -19,6 +19,7 @@ teey=
stats=
beans=
eightball, 8ball=
catch=
guildroleadd=
vote=
results=
+3
View File
@@ -6,6 +6,9 @@ GuildRoleNotAllowedFailure=
GuildRoleNotAllowedSuccess=
GuildRoleNotAllowedInfo=
[CommandCatch]
CatchInfo=
[CommandBeansShow]
BeansShowDisplay=You have %s beans!
BeansShowInfo=Displays how many beans you have
+71
View File
@@ -0,0 +1,71 @@
package commands;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import core.Command;
import core.LocStrings;
import dataStructures.KittyChannel;
import dataStructures.KittyGuild;
import dataStructures.KittyRating;
import dataStructures.KittyRole;
import dataStructures.KittyUser;
import dataStructures.Response;
import dataStructures.UserInput;
import utils.ImageOverlayBuilder;
import utils.ImageUtils;
public class CommandCatch extends Command
{
// Required constructor
public CommandCatch(KittyRole level, KittyRating rating) { super(level, rating); }
private static Long num = 0l;
@Override
public String HelpText() { return LocStrings.Stub("CatchInfo"); }
// Called when the command is run!
@Override
public void OnRun(KittyGuild guild, KittyChannel channel, KittyUser user, UserInput input, Response res)
{
String name = null;
File catchFile = null;
File catcheeFile = null;
synchronized(num)
{
name = "catch_" + num + ".gif";
++num;
}
try
{
KittyUser person = null;
if(input.mentions == null)
person = user;
else
person = input.mentions[0];
String catchFilename = ImageUtils.DownloadFromURL(person.avatarID, ".png");
if(catchFilename == null)
return;
catcheeFile = new File(catchFilename);
ImageOverlayBuilder builder = new ImageOverlayBuilder("assets/catch/frames/", "catch ", 92, 18);
builder.Overlay(ImageIO.read(catcheeFile), name);
}
catch (IOException e)
{
e.printStackTrace();
}
catchFile = new File (name);
res.CallFile(catchFile, "gif");
// Thread cleanup...
ImageUtils.BlockingFileDelete(catchFile);
ImageUtils.BlockingFileDelete(catcheeFile);
}
}
+1
View File
@@ -375,6 +375,7 @@ public class ObjectBuilderFactory
manager.Register(LocCommands.Stub("tony, stark, dontfeelgood, dontfeelsogood"), new CommandStark(KittyRole.General, KittyRating.Safe));
manager.Register(LocCommands.Stub("blur"), new CommandBlurry(KittyRole.General, KittyRating.Safe));
manager.Register(LocCommands.Stub("eightball, 8ball"), new CommandEightBall(KittyRole.General, KittyRating.Safe));
manager.Register(LocCommands.Stub("catch"), new CommandCatch(KittyRole.General, KittyRating.Safe));
return manager;
}
+23 -10
View File
@@ -6,6 +6,7 @@ import java.awt.image.RenderedImage;
import java.io.File;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Iterator;
import javax.imageio.IIOException;
@@ -80,24 +81,32 @@ public class ImageOverlayBuilder
// Processing the image frames to construct a gif. Relies on (0,255,0) pixel for image center specification.
private void ProcessOverlay(BufferedImage overlay, String outfileName) throws IOException
{
BufferedImage[] frames = new BufferedImage[frameCount];
ArrayList<BufferedImage> frames = new ArrayList<BufferedImage>(frameCount);
//BufferedImage[] frames = new BufferedImage[frameCount];
for(int i = 0; i < frameCount; ++i)
{
BufferedImage out = CombineImages(basePath + baseName + i + FRAME_FILE_EXTENSION , overlay);
if(out != null)
frames[i] = out;
frames.add(out);// = out;
else
Error("There was an issue with overlaying frame " + i);
Warn("Skipping frame " + i + " of base " + basePath + baseName);
}
Verbose("Processed " + frameCount + " frames, writing...");
if(frames.isEmpty())
{
Error("No frames were found at all, so the gif could not be made!");
return;
}
Verbose("Processed " + frameCount + " frames, found " + frames.size() + " valid, writing...");
ImageOutputStream output = new FileImageOutputStream(new File(outfileName));
GifSequenceWriter writer = new GifSequenceWriter(output, frames[0].getType(), fps, true);
for(int i = 0; i < frameCount; ++i)
writer.writeToSequence(frames[i]);
GifSequenceWriter writer = new GifSequenceWriter(output, frames.get(0).getType(), fps, true);
Iterator<BufferedImage> buffIter = frames.iterator();
while(buffIter.hasNext())
writer.writeToSequence(buffIter.next());
writer.close();
output.close();
@@ -112,7 +121,11 @@ public class ImageOverlayBuilder
BufferedImage imageBase = null;
BufferedImage imageOverlay = overlay;
imageBase = ImageIO.read(new File(pathBase));
File potentialImage = new File(pathBase);
if(!potentialImage.exists())
return null;
imageBase = ImageIO.read(potentialImage);
// Grab data we know won't change. As a side note, I discovered you can get specific pixels a bit
// differently later, but it was too late, I wrote the pixel specific code already.