Merge branch 'master' of git://github.com/Lexicality/pesterchum
|
@ -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 ~---"
|
||||
|
|
|
@ -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 ~---"
|
||||
|
|
23
MacBuild/conv3rt.sh
Normal file
|
@ -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
|
4
convo.py
|
@ -345,6 +345,10 @@ class PesterText(QtGui.QTextEdit):
|
|||
"%s: " % (initials)]
|
||||
lexmsg.append(colorEnd("</c>"))
|
||||
self.append("<span style=\"color:#000000\">" + time + convertTags(lexmsg) + "</span>")
|
||||
#self.append('<img src="/Users/lexi/pesterchum-lex/smilies/tab.gif" />'
|
||||
# + '<img src="/Users/lexi/pesterchum/smilies/tab.gif" />'
|
||||
# + '<img src="/Applications/Pesterchum.app/Contents/Resources/smilies/tab.gif" />'
|
||||
# + '<img src="smilies/tab.gif" />');
|
||||
if chum is me:
|
||||
window.chatlog.log(parent.chum.handle, lexmsg)
|
||||
else:
|
||||
|
|
8
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(".")):]
|
||||
|
|
15
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)
|
||||
|
|
1
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)]
|
||||
|
||||
|
|
22
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
|
||||
|
|
18
ostools.py
Normal file
|
@ -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 ''
|
|
@ -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()))
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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')):
|
||||
|
|
Before Width: | Height: | Size: 357 B |
BIN
smilies/acceptant.png
Normal file
After Width: | Height: | Size: 320 B |
Before Width: | Height: | Size: 287 B |
BIN
smilies/apple.png
Normal file
After Width: | Height: | Size: 430 B |
Before Width: | Height: | Size: 215 B |
BIN
smilies/bathearst.png
Normal file
After Width: | Height: | Size: 381 B |
Before Width: | Height: | Size: 937 B |
BIN
smilies/blacktear.png
Normal file
After Width: | Height: | Size: 303 B |
BIN
smilies/blueslimer.png
Normal file
After Width: | Height: | Size: 416 B |
Before Width: | Height: | Size: 144 B |
BIN
smilies/candycorn.png
Normal file
After Width: | Height: | Size: 313 B |
BIN
smilies/cheer.png
Normal file
After Width: | Height: | Size: 399 B |
BIN
smilies/confusedjohn.png
Normal file
After Width: | Height: | Size: 625 B |
Before Width: | Height: | Size: 279 B |
BIN
smilies/datrump.png
Normal file
After Width: | Height: | Size: 458 B |
Before Width: | Height: | Size: 344 B |
BIN
smilies/facepalm.png
Normal file
After Width: | Height: | Size: 510 B |
BIN
smilies/headbonk.png
Normal file
After Width: | Height: | Size: 594 B |
BIN
smilies/jadespritehead.png
Normal file
After Width: | Height: | Size: 542 B |
Before Width: | Height: | Size: 336 B |
BIN
smilies/mspa_face.png
Normal file
After Width: | Height: | Size: 423 B |
BIN
smilies/mspa_reader.png
Normal file
After Width: | Height: | Size: 379 B |
Before Width: | Height: | Size: 88 B |
BIN
smilies/pc_amazed.png
Normal file
After Width: | Height: | Size: 279 B |
Before Width: | Height: | Size: 117 B |
BIN
smilies/pc_amazedfirman.png
Normal file
After Width: | Height: | Size: 312 B |
Before Width: | Height: | Size: 116 B |
BIN
smilies/pc_bemused.png
Normal file
After Width: | Height: | Size: 297 B |
Before Width: | Height: | Size: 97 B |
BIN
smilies/pc_chummy.png
Normal file
After Width: | Height: | Size: 288 B |
Before Width: | Height: | Size: 84 B |
BIN
smilies/pc_distraught.png
Normal file
After Width: | Height: | Size: 261 B |
Before Width: | Height: | Size: 111 B |
BIN
smilies/pc_distraughtfirman.png
Normal file
After Width: | Height: | Size: 312 B |
Before Width: | Height: | Size: 89 B |
BIN
smilies/pc_insolent.png
Normal file
After Width: | Height: | Size: 283 B |
Before Width: | Height: | Size: 85 B |
BIN
smilies/pc_mystified.png
Normal file
After Width: | Height: | Size: 261 B |
Before Width: | Height: | Size: 83 B |
BIN
smilies/pc_pleasant.png
Normal file
After Width: | Height: | Size: 261 B |
Before Width: | Height: | Size: 81 B |
BIN
smilies/pc_pranky.png
Normal file
After Width: | Height: | Size: 263 B |
Before Width: | Height: | Size: 139 B |
BIN
smilies/pc_rancorous.png
Normal file
After Width: | Height: | Size: 359 B |
Before Width: | Height: | Size: 97 B |
BIN
smilies/pc_tense.png
Normal file
After Width: | Height: | Size: 272 B |
Before Width: | Height: | Size: 131 B |
BIN
smilies/pccool.png
Normal file
After Width: | Height: | Size: 309 B |
Before Width: | Height: | Size: 107 B |
BIN
smilies/pckitty.png
Normal file
After Width: | Height: | Size: 313 B |
BIN
smilies/record.png
Normal file
After Width: | Height: | Size: 386 B |
BIN
smilies/slimer.png
Normal file
After Width: | Height: | Size: 423 B |
BIN
smilies/squiddle.png
Normal file
After Width: | Height: | Size: 333 B |
BIN
smilies/tab.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 261 B |
BIN
smilies/theprofessor.png
Normal file
After Width: | Height: | Size: 457 B |
Before Width: | Height: | Size: 111 B |
BIN
smilies/trollcool.png
Normal file
After Width: | Height: | Size: 305 B |
BIN
smilies/weasel.png
Normal file
After Width: | Height: | Size: 493 B |
BIN
smilies/what.gif
Before Width: | Height: | Size: 82 B |
BIN
smilies/what.png
Normal file
After Width: | Height: | Size: 277 B |
Before Width: | Height: | Size: 264 B |
BIN
smilies/whatpumpkin.png
Normal file
After Width: | Height: | Size: 458 B |