diff --git a/MacBuild/configure_python.sh b/MacBuild/configure_python.sh
index aa17831..3ecb051 100755
--- a/MacBuild/configure_python.sh
+++ b/MacBuild/configure_python.sh
@@ -10,7 +10,7 @@ then
exit 1
fi
cd python
-if [! -d python ]
+if [ ! -d python ]
then
echo "Rename your python folder to python."
exit 1
@@ -19,5 +19,5 @@ if [ -e makefile ]
then
make clean
fi
-./configure --enable-framework --enable-universalsdk=/ --with-universal-archs=intel MACOSX_DEPLOYMENT_TARGET=10.6
+./configure --enable-framework --enable-universalsdk=/ --with-universal-archs=intel MACOSX_DEPLOYMENT_TARGET=10.5
echo "---~ Done ~---"
diff --git a/MacBuild/configure_sip.sh b/MacBuild/configure_sip.sh
index a7ea1c5..e8b66a1 100755
--- a/MacBuild/configure_sip.sh
+++ b/MacBuild/configure_sip.sh
@@ -16,6 +16,6 @@ then
make clean
fi
python configure.py --arch=i386 --arch=x86_64 \
- --universal --deployment-target=10.6 \
+ --universal --deployment-target=10.5 \
--destdir=/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/
echo "---~ Done ~---"
diff --git a/MacBuild/conv3rt.sh b/MacBuild/conv3rt.sh
new file mode 100644
index 0000000..d6656d5
--- /dev/null
+++ b/MacBuild/conv3rt.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+# Lex's gif->png script
+
+for file in *.gif
+do
+ convert ${file} ${file:0:$((${#file}-3))}"png"
+done
+
+for file in `ls | grep -G -e "-[1-9]\+.png"`
+do
+ rm $file
+done
+
+for file in `ls | grep -e "-0.png"`
+do
+ newfile=`echo $file | sed -e 's|\(.*\)-0.png|\1.png|'`
+ mv $file $newfile
+done
+
+# for file in *.gif
+# do
+# rm ${file:0:$((${#file}-3))}"png"
+# done
diff --git a/convo.py b/convo.py
index 0495b17..96c786a 100644
--- a/convo.py
+++ b/convo.py
@@ -345,6 +345,10 @@ class PesterText(QtGui.QTextEdit):
"%s: " % (initials)]
lexmsg.append(colorEnd(""))
self.append("" + time + convertTags(lexmsg) + "")
+ #self.append(''
+ # + ''
+ # + ''
+ # + '');
if chum is me:
window.chatlog.log(parent.chum.handle, lexmsg)
else:
diff --git a/irc.py b/irc.py
index 72f57ca..f73b9de 100644
--- a/irc.py
+++ b/irc.py
@@ -11,7 +11,11 @@ from dataobjs import Mood, PesterProfile
from generic import PesterList
from version import _pcVersion
-logging.basicConfig(level=logging.INFO)
+import ostools
+if ostools.isOSXBundle():
+ logging.basicConfig(level=logging.WARNING)
+else:
+ logging.basicConfig(level=logging.INFO)
class PesterIRC(QtCore.QThread):
def __init__(self, config, window):
@@ -396,7 +400,7 @@ class PesterHandler(DefaultCommandHandler):
helpers.nick(self.client, newnick)
self.parent.nickCollision.emit(nick, newnick)
def quit(self, nick, reason):
- print reason
+ #print reason
handle = nick[0:nick.find("!")]
server = self.parent.mainwindow.config.server()
baseserver = server[server.rfind(".", 0, server.rfind(".")):]
diff --git a/logviewer.py b/logviewer.py
index f11df3e..91896d7 100644
--- a/logviewer.py
+++ b/logviewer.py
@@ -1,6 +1,7 @@
import os, sys
import codecs
import re
+import ostools
from time import strftime, strptime
from PyQt4 import QtGui, QtCore
from generic import RightClickList, RightClickTree
@@ -41,10 +42,7 @@ class PesterLogUserSelect(QtGui.QDialog):
self.theme = theme
self.parent = parent
self.handle = parent.profile().handle
- if sys.platform != "darwin":
- self.logpath = "logs"
- else:
- self.logpath = _datadir+"logs"
+ self.logpath = _datadir+"logs"
self.setStyleSheet(self.theme["main/defaultwindow/style"])
self.setWindowTitle("Pesterlogs")
@@ -125,8 +123,8 @@ class PesterLogUserSelect(QtGui.QDialog):
@QtCore.pyqtSlot()
def openDir(self):
- if sys.platform == "darwin":
- _datadir = os.path.join(str(QtGui.QDesktopServices.storageLocation(QtGui.QDesktopServices.DataLocation)),"Pesterchum/")
+ if ostools.isOSX():
+ _datadir = ostools.getDataDir()
QtGui.QDesktopServices.openUrl(QtCore.QUrl("file:///" + os.path.join(_datadir, "logs"), QtCore.QUrl.TolerantMode))
else:
QtGui.QDesktopServices.openUrl(QtCore.QUrl("file:///" + os.path.join(os.getcwd(), "logs"), QtCore.QUrl.TolerantMode))
@@ -143,10 +141,7 @@ class PesterLogViewer(QtGui.QDialog):
self.handle = parent.profile().handle
self.chum = chum
self.convos = {}
- if sys.platform != "darwin":
- self.logpath = "logs"
- else:
- self.logpath = _datadir+"logs"
+ self.logpath = _datadir+"logs"
self.setStyleSheet(self.theme["main/defaultwindow/style"])
self.setWindowTitle("Pesterlogs with " + self.chum)
diff --git a/memos.py b/memos.py
index ba21b9a..e2718ec 100644
--- a/memos.py
+++ b/memos.py
@@ -1244,3 +1244,4 @@ class PesterMemo(PesterConvo):
timelist = ["0:00", "0:01", "0:02", "0:04", "0:06", "0:10", "0:14", "0:22", "0:30", "0:41", "1:00", "1:34", "2:16", "3:14", "4:13", "4:20", "5:25", "6:12", "7:30", "8:44", "10:25", "11:34", "14:13", "16:12", "17:44", "22:22", "25:10", "33:33", "42:00", "43:14", "50:00", "62:12", "75:00", "88:44", "100", "133", "143", "188", "200", "222", "250", "314", "333", "413", "420", "500", "600", "612", "888", "1000", "1025"]
timedlist = [timedelta(0), timedelta(0, 60), timedelta(0, 120), timedelta(0, 240), timedelta(0, 360), timedelta(0, 600), timedelta(0, 840), timedelta(0, 1320), timedelta(0, 1800), timedelta(0, 2460), timedelta(0, 3600), timedelta(0, 5640), timedelta(0, 8160), timedelta(0, 11640), timedelta(0, 15180), timedelta(0, 15600), timedelta(0, 19500), timedelta(0, 22320), timedelta(0, 27000), timedelta(0, 31440), timedelta(0, 37500), timedelta(0, 41640), timedelta(0, 51180), timedelta(0, 58320), timedelta(0, 63840), timedelta(0, 80520), timedelta(1, 4200), timedelta(1, 34380), timedelta(1, 64800), timedelta(1, 69240), timedelta(2, 7200), timedelta(2, 51120), timedelta(3, 10800), timedelta(3, 60240), timedelta(4, 14400), timedelta(5, 46800), timedelta(5, 82800), timedelta(7, 72000), timedelta(8, 28800), timedelta(9, 21600), timedelta(10, 36000), timedelta(13, 7200), timedelta(13, 75600), timedelta(17, 18000), timedelta(17, 43200), timedelta(20, 72000), timedelta(25), timedelta(25, 43200), timedelta(37), timedelta(41, 57600), timedelta(42, 61200)]
+
diff --git a/menus.py b/menus.py
index efc282b..6acef98 100644
--- a/menus.py
+++ b/menus.py
@@ -1,5 +1,5 @@
from PyQt4 import QtGui, QtCore
-import re
+import re, ostools
from os import remove
from generic import RightClickList, RightClickTree, MultiTextDialog
@@ -984,13 +984,14 @@ class PesterOptions(QtGui.QDialog):
if self.config.opvoiceMessages():
self.memomessagecheck.setChecked(True)
- self.animationscheck = QtGui.QCheckBox("Use animated smilies", self)
- if self.config.animations():
- self.animationscheck.setChecked(True)
- animateLabel = QtGui.QLabel("(Disable if you leave chats open for LOOOONG periods of time)")
- font = animateLabel.font()
- font.setPointSize(8)
- animateLabel.setFont(font)
+ if not ostools.isOSXBundle():
+ self.animationscheck = QtGui.QCheckBox("Use animated smilies", self)
+ if self.config.animations():
+ self.animationscheck.setChecked(True)
+ animateLabel = QtGui.QLabel("(Disable if you leave chats open for LOOOONG periods of time)")
+ font = animateLabel.font()
+ font.setPointSize(8)
+ animateLabel.setFont(font)
self.userlinkscheck = QtGui.QCheckBox("Disable #Memo and @User Links", self)
self.userlinkscheck.setChecked(self.config.disableUserLinks())
@@ -1121,8 +1122,9 @@ class PesterOptions(QtGui.QDialog):
layout_chat.addWidget(self.timestampBox)
layout_chat.addWidget(self.secondscheck)
layout_chat.addWidget(self.memomessagecheck)
- layout_chat.addWidget(self.animationscheck)
- layout_chat.addWidget(animateLabel)
+ if not ostools.isOSXBundle():
+ layout_chat.addWidget(self.animationscheck)
+ layout_chat.addWidget(animateLabel)
if parent.randhandler.running:
layout_chat.addWidget(self.randomscheck)
# Re-enable these when it's possible to disable User and Memo links
diff --git a/ostools.py b/ostools.py
new file mode 100644
index 0000000..294437f
--- /dev/null
+++ b/ostools.py
@@ -0,0 +1,18 @@
+from os import path
+from sys import platform
+from PyQt4.QtGui import QDesktopServices
+
+def isOSX():
+ return platform == "darwin"
+
+def isWin32():
+ return platform == "win32"
+
+def isOSXBundle():
+ return isOSX() and (path.abspath('.').find(".app") != -1)
+
+def getDataDir():
+ if isOSX():
+ return path.join(str(QDesktopServices.storageLocation(QDesktopServices.DataLocation)), "Pesterchum/")
+ else:
+ return ''
diff --git a/parsetools.py b/parsetools.py
index 388b51e..19be1bf 100644
--- a/parsetools.py
+++ b/parsetools.py
@@ -1,5 +1,6 @@
import re
import random
+import ostools
from copy import copy
from datetime import timedelta
from PyQt4 import QtGui
@@ -372,45 +373,45 @@ def img2smiley(string):
return string
smiledict = {
- ":rancorous:": "pc_rancorous.gif",
- ":apple:": "apple.gif",
- ":bathearst:": "bathearst.gif",
+ ":rancorous:": "pc_rancorous.png",
+ ":apple:": "apple.png",
+ ":bathearst:": "bathearst.png",
":cathearst:": "cathearst.png",
- ":woeful:": "pc_bemused.gif",
- ":sorrow:": "blacktear.gif",
- ":pleasant:": "pc_pleasant.gif",
+ ":woeful:": "pc_bemused.png",
+ ":sorrow:": "blacktear.png",
+ ":pleasant:": "pc_pleasant.png",
":blueghost:": "blueslimer.gif",
":slimer:": "slimer.gif",
- ":candycorn:": "candycorn.gif",
+ ":candycorn:": "candycorn.png",
":cheer:": "cheer.gif",
":duhjohn:": "confusedjohn.gif",
- ":datrump:": "datrump.gif",
- ":facepalm:": "facepalm.gif",
+ ":datrump:": "datrump.png",
+ ":facepalm:": "facepalm.png",
":bonk:": "headbonk.gif",
- ":mspa:": "mspa_face.gif",
+ ":mspa:": "mspa_face.png",
":gun:": "mspa_reader.gif",
":cal:": "lilcal.png",
- ":amazedfirman:": "pc_amazedfirman.gif",
- ":amazed:": "pc_amazed.gif",
- ":chummy:": "pc_chummy.gif",
- ":cool:": "pccool.gif",
- ":smooth:": "pccool.gif",
- ":distraughtfirman": "pc_distraughtfirman.gif",
- ":distraught:": "pc_distraught.gif",
- ":insolent:": "pc_insolent.gif",
- ":bemused:": "pc_bemused.gif",
- ":3:": "pckitty.gif",
- ":mystified:": "pc_mystified.gif",
- ":pranky:": "pc_pranky.gif",
- ":tense:": "pc_tense.gif",
+ ":amazedfirman:": "pc_amazedfirman.png",
+ ":amazed:": "pc_amazed.png",
+ ":chummy:": "pc_chummy.png",
+ ":cool:": "pccool.png",
+ ":smooth:": "pccool.png",
+ ":distraughtfirman": "pc_distraughtfirman.png",
+ ":distraught:": "pc_distraught.png",
+ ":insolent:": "pc_insolent.png",
+ ":bemused:": "pc_bemused.png",
+ ":3:": "pckitty.png",
+ ":mystified:": "pc_mystified.png",
+ ":pranky:": "pc_pranky.png",
+ ":tense:": "pc_tense.png",
":record:": "record.gif",
":squiddle:": "squiddle.gif",
":tab:": "tab.gif",
- ":beetip:": "theprofessor.gif",
+ ":beetip:": "theprofessor.png",
":flipout:": "weasel.gif",
- ":befuddled:": "what.gif",
- ":pumpkin:": "whatpumpkin.gif",
- ":trollcool:": "trollcool.gif",
+ ":befuddled:": "what.png",
+ ":pumpkin:": "whatpumpkin.png",
+ ":trollcool:": "trollcool.png",
":jadecry:": "jadespritehead.gif",
":ecstatic:": "ecstatic.png",
":relaxed:": "relaxed.png",
@@ -422,9 +423,19 @@ smiledict = {
":manipulative:": "manipulative.png",
":vigorous:": "vigorous.png",
":perky:": "perky.png",
- ":acceptant:": "acceptant.gif",
+ ":acceptant:": "acceptant.png",
}
+if ostools.isOSXBundle():
+ for emote in smiledict:
+ graphic = smiledict[emote]
+ if graphic.find(".gif"):
+ graphic = graphic.replace(".gif", ".png")
+ smiledict[emote] = graphic
+
+
+
+
reverse_smiley = dict((v,k) for k, v in smiledict.iteritems())
_smilere = re.compile("|".join(smiledict.keys()))
diff --git a/pesterchum.py b/pesterchum.py
index 23913ec..29ab19e 100644
--- a/pesterchum.py
+++ b/pesterchum.py
@@ -12,6 +12,7 @@ import codecs
import re
import socket
import platform
+import ostools
from time import strftime, time
import threading, Queue
@@ -47,25 +48,19 @@ if not ((major > 4) or (major == 4 and minor >= 6)):
# OSX's data directory and it doesn't hurt to have everything set up before
# plowing on. :o)
# ~Lex
-_datadir = os.path.join(str(QtGui.QDesktopServices.storageLocation(QtGui.QDesktopServices.DataLocation)),"Pesterchum/")
-if sys.platform == "darwin":
- if not os.path.exists(_datadir):
- os.mkdir(_datadir)
- if not os.path.exists(_datadir+"profiles"):
- os.mkdir(_datadir+"profiles")
- if not os.path.exists(_datadir+"pesterchum.js"):
- f = open(_datadir+"pesterchum.js", 'w')
- f.write("{}")
- f.close()
-else:
- if not os.path.exists("logs"):
- os.mkdir("logs")
- if not os.path.exists("profiles"):
- os.mkdir("profiles")
- if not os.path.exists("pesterchum.js"):
- f = open("pesterchum.js", 'w')
- f.write("{}")
- f.close()
+_datadir = ostools.getDataDir()
+# See, what I've done here is that _datadir is '' if we're not on OSX, so the
+# concatination is the same as if it wasn't there.
+if not os.path.exists(_datadir):
+ os.mkdir(_datadir)
+if not os.path.exists(_datadir+"profiles"):
+ os.mkdir(_datadir+"profiles")
+if not os.path.exists(_datadir+"pesterchum.js"):
+ f = open(_datadir+"pesterchum.js", 'w')
+ f.write("{}")
+ f.close()
+if not os.path.exists(_datadir+"logs"):
+ os.mkdir(_datadir+"logs")
from menus import PesterChooseQuirks, PesterChooseTheme, \
PesterChooseProfile, PesterOptions, PesterUserlist, PesterMemoList, \
@@ -126,10 +121,7 @@ class PesterLog(object):
self.parent = parent
self.handle = handle
self.convos = {}
- if sys.platform != "darwin":
- self.logpath = "logs"
- else:
- self.logpath = _datadir+"logs"
+ self.logpath = _datadir+"logs"
def log(self, handle, msg):
if self.parent.config.time12Format():
@@ -183,10 +175,7 @@ class PesterLog(object):
class PesterProfileDB(dict):
def __init__(self):
- if sys.platform != "darwin":
- self.logpath = "logs"
- else:
- self.logpath = _datadir+"logs"
+ self.logpath = _datadir+"logs"
if not os.path.exists(self.logpath):
os.makedirs(self.logpath)
@@ -250,12 +239,9 @@ class PesterProfileDB(dict):
class pesterTheme(dict):
def __init__(self, name, default=False):
- if sys.platform != "darwin":
+ self.path = _datadir+"themes/%s" % (name)
+ if not os.path.exists(self.path):
self.path = "themes/%s" % (name)
- else:
- self.path = _datadir+"themes/%s" % (name)
- if not os.path.exists(self.path):
- self.path = "themes/%s" % (name)
self.name = name
fp = open(self.path+"/style.js")
@@ -329,10 +315,7 @@ class userConfig(object):
# Use for bit flag blink
self.PBLINK = 1
self.MBLINK = 2
- if sys.platform != "darwin":
- self.filename = "pesterchum.js"
- else:
- self.filename = _datadir+"pesterchum.js"
+ self.filename = _datadir+"pesterchum.js"
fp = open(self.filename)
self.config = json.load(fp)
fp.close()
@@ -341,10 +324,7 @@ class userConfig(object):
else:
self.userprofile = None
- if sys.platform != "darwin":
- self.logpath = "logs"
- else:
- self.logpath = _datadir+"logs"
+ self.logpath = _datadir+"logs"
if not os.path.exists(self.logpath):
os.makedirs(self.logpath)
@@ -541,11 +521,13 @@ class userConfig(object):
fp.close()
def availableThemes(self):
themes = []
- for dirname, dirnames, filenames in os.walk('themes'):
+ # Load user themes.
+ for dirname, dirnames, filenames in os.walk(_datadir+'themes'):
for d in dirnames:
themes.append(d)
- if sys.platform == "darwin":
- for dirname, dirnames, filenames in os.walk(_datadir+'themes'):
+ # For OSX, also load embedded themes.
+ if ostools.isOSX():
+ for dirname, dirnames, filenames in os.walk('themes'):
for d in dirnames:
if d not in themes:
themes.append(d)
@@ -553,10 +535,7 @@ class userConfig(object):
return themes
def availableProfiles(self):
profs = []
- if sys.platform == "darwin":
- profileloc = _datadir+'profiles'
- else:
- profileloc = 'profiles'
+ profileloc = _datadir+'profiles'
for dirname, dirnames, filenames in os.walk(profileloc):
for filename in filenames:
l = len(filename)
@@ -566,10 +545,7 @@ class userConfig(object):
return [userProfile(p) for p in profs]
class userProfile(object):
def __init__(self, user):
- if sys.platform != "darwin":
- self.profiledir = "profiles"
- else:
- self.profiledir = _datadir+"profiles"
+ self.profiledir = _datadir+"profiles"
if type(user) is PesterProfile:
self.chat = user
diff --git a/pyquirks.py b/pyquirks.py
index f13df83..57d3d38 100644
--- a/pyquirks.py
+++ b/pyquirks.py
@@ -1,9 +1,9 @@
-import os, sys, imp, re
+import os, sys, imp, re, ostools
from PyQt4 import QtGui, QtCore
class PythonQuirks(object):
def __init__(self):
- self._datadir = os.path.join(str(QtGui.QDesktopServices.storageLocation(QtGui.QDesktopServices.DataLocation)),"Pesterchum/")
+ self._datadir = ostools.getDataDir()
self.home = os.getcwd()
self.quirks = {}
self.last = {}
@@ -18,7 +18,7 @@ class PythonQuirks(object):
for fn in os.listdir(os.path.join(self.home, 'quirks')):
if fn.endswith('.py') and not fn.startswith('_'):
filenames.append(os.path.join(self.home, 'quirks', fn))
- if sys.platform == "darwin":
+ if ostools.isOSX():
if not os.path.exists(os.path.join(self._datadir, 'quirks')):
os.mkdir(os.path.join(self._datadir, 'quirks'))
for fn in os.listdir(os.path.join(self._datadir, 'quirks')):
diff --git a/smilies/acceptant.gif b/smilies/acceptant.gif
deleted file mode 100644
index dfb44ca..0000000
Binary files a/smilies/acceptant.gif and /dev/null differ
diff --git a/smilies/acceptant.png b/smilies/acceptant.png
new file mode 100644
index 0000000..163ee04
Binary files /dev/null and b/smilies/acceptant.png differ
diff --git a/smilies/apple.gif b/smilies/apple.gif
deleted file mode 100644
index 5a4960e..0000000
Binary files a/smilies/apple.gif and /dev/null differ
diff --git a/smilies/apple.png b/smilies/apple.png
new file mode 100644
index 0000000..b1462d9
Binary files /dev/null and b/smilies/apple.png differ
diff --git a/smilies/bathearst.gif b/smilies/bathearst.gif
deleted file mode 100644
index 757acb4..0000000
Binary files a/smilies/bathearst.gif and /dev/null differ
diff --git a/smilies/bathearst.png b/smilies/bathearst.png
new file mode 100644
index 0000000..e47162f
Binary files /dev/null and b/smilies/bathearst.png differ
diff --git a/smilies/blacktear.gif b/smilies/blacktear.gif
deleted file mode 100644
index b13cb3c..0000000
Binary files a/smilies/blacktear.gif and /dev/null differ
diff --git a/smilies/blacktear.png b/smilies/blacktear.png
new file mode 100644
index 0000000..8c91ad8
Binary files /dev/null and b/smilies/blacktear.png differ
diff --git a/smilies/blueslimer.png b/smilies/blueslimer.png
new file mode 100644
index 0000000..4db51ec
Binary files /dev/null and b/smilies/blueslimer.png differ
diff --git a/smilies/candycorn.gif b/smilies/candycorn.gif
deleted file mode 100644
index 9de4452..0000000
Binary files a/smilies/candycorn.gif and /dev/null differ
diff --git a/smilies/candycorn.png b/smilies/candycorn.png
new file mode 100644
index 0000000..6ca85c5
Binary files /dev/null and b/smilies/candycorn.png differ
diff --git a/smilies/cheer.png b/smilies/cheer.png
new file mode 100644
index 0000000..16d3b8f
Binary files /dev/null and b/smilies/cheer.png differ
diff --git a/smilies/confusedjohn.png b/smilies/confusedjohn.png
new file mode 100644
index 0000000..2bc5e43
Binary files /dev/null and b/smilies/confusedjohn.png differ
diff --git a/smilies/datrump.gif b/smilies/datrump.gif
deleted file mode 100644
index ed03902..0000000
Binary files a/smilies/datrump.gif and /dev/null differ
diff --git a/smilies/datrump.png b/smilies/datrump.png
new file mode 100644
index 0000000..af259b4
Binary files /dev/null and b/smilies/datrump.png differ
diff --git a/smilies/facepalm.gif b/smilies/facepalm.gif
deleted file mode 100644
index 711ebce..0000000
Binary files a/smilies/facepalm.gif and /dev/null differ
diff --git a/smilies/facepalm.png b/smilies/facepalm.png
new file mode 100644
index 0000000..e5bc561
Binary files /dev/null and b/smilies/facepalm.png differ
diff --git a/smilies/headbonk.png b/smilies/headbonk.png
new file mode 100644
index 0000000..ac67711
Binary files /dev/null and b/smilies/headbonk.png differ
diff --git a/smilies/jadespritehead.png b/smilies/jadespritehead.png
new file mode 100644
index 0000000..c4a5fce
Binary files /dev/null and b/smilies/jadespritehead.png differ
diff --git a/smilies/mspa_face.gif b/smilies/mspa_face.gif
deleted file mode 100644
index 1a10b79..0000000
Binary files a/smilies/mspa_face.gif and /dev/null differ
diff --git a/smilies/mspa_face.png b/smilies/mspa_face.png
new file mode 100644
index 0000000..1629678
Binary files /dev/null and b/smilies/mspa_face.png differ
diff --git a/smilies/mspa_reader.png b/smilies/mspa_reader.png
new file mode 100644
index 0000000..86730e2
Binary files /dev/null and b/smilies/mspa_reader.png differ
diff --git a/smilies/pc_amazed.gif b/smilies/pc_amazed.gif
deleted file mode 100644
index 8401577..0000000
Binary files a/smilies/pc_amazed.gif and /dev/null differ
diff --git a/smilies/pc_amazed.png b/smilies/pc_amazed.png
new file mode 100644
index 0000000..96563ae
Binary files /dev/null and b/smilies/pc_amazed.png differ
diff --git a/smilies/pc_amazedfirman.gif b/smilies/pc_amazedfirman.gif
deleted file mode 100644
index d9fab2a..0000000
Binary files a/smilies/pc_amazedfirman.gif and /dev/null differ
diff --git a/smilies/pc_amazedfirman.png b/smilies/pc_amazedfirman.png
new file mode 100644
index 0000000..4286405
Binary files /dev/null and b/smilies/pc_amazedfirman.png differ
diff --git a/smilies/pc_bemused.gif b/smilies/pc_bemused.gif
deleted file mode 100644
index e89d43d..0000000
Binary files a/smilies/pc_bemused.gif and /dev/null differ
diff --git a/smilies/pc_bemused.png b/smilies/pc_bemused.png
new file mode 100644
index 0000000..68d63e5
Binary files /dev/null and b/smilies/pc_bemused.png differ
diff --git a/smilies/pc_chummy.gif b/smilies/pc_chummy.gif
deleted file mode 100644
index 1689a7f..0000000
Binary files a/smilies/pc_chummy.gif and /dev/null differ
diff --git a/smilies/pc_chummy.png b/smilies/pc_chummy.png
new file mode 100644
index 0000000..1f2724f
Binary files /dev/null and b/smilies/pc_chummy.png differ
diff --git a/smilies/pc_distraught.gif b/smilies/pc_distraught.gif
deleted file mode 100644
index 47e0a39..0000000
Binary files a/smilies/pc_distraught.gif and /dev/null differ
diff --git a/smilies/pc_distraught.png b/smilies/pc_distraught.png
new file mode 100644
index 0000000..f9126bc
Binary files /dev/null and b/smilies/pc_distraught.png differ
diff --git a/smilies/pc_distraughtfirman.gif b/smilies/pc_distraughtfirman.gif
deleted file mode 100644
index ac65d35..0000000
Binary files a/smilies/pc_distraughtfirman.gif and /dev/null differ
diff --git a/smilies/pc_distraughtfirman.png b/smilies/pc_distraughtfirman.png
new file mode 100644
index 0000000..409b308
Binary files /dev/null and b/smilies/pc_distraughtfirman.png differ
diff --git a/smilies/pc_insolent.gif b/smilies/pc_insolent.gif
deleted file mode 100644
index 652958a..0000000
Binary files a/smilies/pc_insolent.gif and /dev/null differ
diff --git a/smilies/pc_insolent.png b/smilies/pc_insolent.png
new file mode 100644
index 0000000..0785670
Binary files /dev/null and b/smilies/pc_insolent.png differ
diff --git a/smilies/pc_mystified.gif b/smilies/pc_mystified.gif
deleted file mode 100644
index f523f37..0000000
Binary files a/smilies/pc_mystified.gif and /dev/null differ
diff --git a/smilies/pc_mystified.png b/smilies/pc_mystified.png
new file mode 100644
index 0000000..af0b859
Binary files /dev/null and b/smilies/pc_mystified.png differ
diff --git a/smilies/pc_pleasant.gif b/smilies/pc_pleasant.gif
deleted file mode 100644
index fe7a61e..0000000
Binary files a/smilies/pc_pleasant.gif and /dev/null differ
diff --git a/smilies/pc_pleasant.png b/smilies/pc_pleasant.png
new file mode 100644
index 0000000..7f41490
Binary files /dev/null and b/smilies/pc_pleasant.png differ
diff --git a/smilies/pc_pranky.gif b/smilies/pc_pranky.gif
deleted file mode 100644
index 8fd795f..0000000
Binary files a/smilies/pc_pranky.gif and /dev/null differ
diff --git a/smilies/pc_pranky.png b/smilies/pc_pranky.png
new file mode 100644
index 0000000..bf26cd1
Binary files /dev/null and b/smilies/pc_pranky.png differ
diff --git a/smilies/pc_rancorous.gif b/smilies/pc_rancorous.gif
deleted file mode 100644
index afd9f97..0000000
Binary files a/smilies/pc_rancorous.gif and /dev/null differ
diff --git a/smilies/pc_rancorous.png b/smilies/pc_rancorous.png
new file mode 100644
index 0000000..9da5b9f
Binary files /dev/null and b/smilies/pc_rancorous.png differ
diff --git a/smilies/pc_tense.gif b/smilies/pc_tense.gif
deleted file mode 100644
index 1948969..0000000
Binary files a/smilies/pc_tense.gif and /dev/null differ
diff --git a/smilies/pc_tense.png b/smilies/pc_tense.png
new file mode 100644
index 0000000..63b34e8
Binary files /dev/null and b/smilies/pc_tense.png differ
diff --git a/smilies/pccool.gif b/smilies/pccool.gif
deleted file mode 100644
index bd3ba35..0000000
Binary files a/smilies/pccool.gif and /dev/null differ
diff --git a/smilies/pccool.png b/smilies/pccool.png
new file mode 100644
index 0000000..b4a15b3
Binary files /dev/null and b/smilies/pccool.png differ
diff --git a/smilies/pckitty.gif b/smilies/pckitty.gif
deleted file mode 100644
index f84e97c..0000000
Binary files a/smilies/pckitty.gif and /dev/null differ
diff --git a/smilies/pckitty.png b/smilies/pckitty.png
new file mode 100644
index 0000000..6663bbe
Binary files /dev/null and b/smilies/pckitty.png differ
diff --git a/smilies/record.png b/smilies/record.png
new file mode 100644
index 0000000..d668c3e
Binary files /dev/null and b/smilies/record.png differ
diff --git a/smilies/slimer.png b/smilies/slimer.png
new file mode 100644
index 0000000..aedb2ba
Binary files /dev/null and b/smilies/slimer.png differ
diff --git a/smilies/squiddle.png b/smilies/squiddle.png
new file mode 100644
index 0000000..9f16866
Binary files /dev/null and b/smilies/squiddle.png differ
diff --git a/smilies/tab.png b/smilies/tab.png
new file mode 100644
index 0000000..6f5fa7a
Binary files /dev/null and b/smilies/tab.png differ
diff --git a/smilies/theprofessor.gif b/smilies/theprofessor.gif
deleted file mode 100644
index 45c863c..0000000
Binary files a/smilies/theprofessor.gif and /dev/null differ
diff --git a/smilies/theprofessor.png b/smilies/theprofessor.png
new file mode 100644
index 0000000..9a7b6ed
Binary files /dev/null and b/smilies/theprofessor.png differ
diff --git a/smilies/trollcool.gif b/smilies/trollcool.gif
deleted file mode 100644
index 25e8ffb..0000000
Binary files a/smilies/trollcool.gif and /dev/null differ
diff --git a/smilies/trollcool.png b/smilies/trollcool.png
new file mode 100644
index 0000000..76dc247
Binary files /dev/null and b/smilies/trollcool.png differ
diff --git a/smilies/weasel.png b/smilies/weasel.png
new file mode 100644
index 0000000..aec489d
Binary files /dev/null and b/smilies/weasel.png differ
diff --git a/smilies/what.gif b/smilies/what.gif
deleted file mode 100644
index 9727eab..0000000
Binary files a/smilies/what.gif and /dev/null differ
diff --git a/smilies/what.png b/smilies/what.png
new file mode 100644
index 0000000..f632afd
Binary files /dev/null and b/smilies/what.png differ
diff --git a/smilies/whatpumpkin.gif b/smilies/whatpumpkin.gif
deleted file mode 100644
index 92f05e0..0000000
Binary files a/smilies/whatpumpkin.gif and /dev/null differ
diff --git a/smilies/whatpumpkin.png b/smilies/whatpumpkin.png
new file mode 100644
index 0000000..57d1275
Binary files /dev/null and b/smilies/whatpumpkin.png differ