diff --git a/.GitImages/Steam_logo.svg b/.GitImages/Steam_logo.svg
new file mode 100644
index 0000000..085bda7
--- /dev/null
+++ b/.GitImages/Steam_logo.svg
@@ -0,0 +1,140 @@
+
+
+
+
diff --git a/Editor/editor.py b/Editor/editor.py
index 47bec31..9a4d256 100644
--- a/Editor/editor.py
+++ b/Editor/editor.py
@@ -226,11 +226,6 @@ class Editor:
self.savefile('list', fetch, permissions=True)
self.has_filenames_changed = False
- def strip_to_filename(self, s):
- for bad in self.WINDOWS_BADCHARS:
- s = s.replace(bad, '')
- return s
-
def sha(self, data):
sha = hashlib.sha256()
data = data.encode('utf-8')
diff --git a/Logogame/images/steam.png b/Logogame/images/steam.png
new file mode 100644
index 0000000..8d66c04
Binary files /dev/null and b/Logogame/images/steam.png differ
diff --git a/Logogame/logos.db b/Logogame/logos.db
index 924dfb1..06dd66b 100644
Binary files a/Logogame/logos.db and b/Logogame/logos.db differ
diff --git a/Logogame/logos.py b/Logogame/logos.py
index ba79763..8911da3 100644
--- a/Logogame/logos.py
+++ b/Logogame/logos.py
@@ -18,7 +18,6 @@ class LogoGame:
self.WINDOWS_BADCHARS = '\\/?:*"><|'
self.t = tkinter.Tk()
self.t.title('Logogame')
- self.tkinter_elements = []
if not os.path.exists('logos.db'):
print('You\'re missing the game\'s logo database!')
print('Cannot proceed!')
@@ -30,11 +29,21 @@ class LogoGame:
self.color_green = '#31f13a'
self.color_red = '#e23939'
+ self.dbindex_id = 0
+ self.dbindex_images = 1
+ self.dbindex_name = 2
+ self.dbindex_solutions = 3
+ self.dbindex_tag = 4
+ self.dbindex_solved = 5
+
self.sql = sqlite3.connect('logos.db')
self.cur = self.sql.cursor()
self.stats_main = self.stats_load('stats')
self.playerstats_load(self.stats_main.playername)
+ self.tkinter_elements = []
+ self.active_tags = set()
+
self.w = 1062
self.h = 600
self.screenwidth = self.t.winfo_screenwidth()
@@ -46,10 +55,10 @@ class LogoGame:
self.geometrystring = '%dx%d+%d+%d' % (self.windowwidth, self.windowheight, self.windowx, self.windowy)
self.t.geometry(self.geometrystring)
- self.uirefresher = self.buildui_main
- self.buildui_main()
+ self.uirefresher = self.gui_build_main
+ self.gui_build_main()
- self.t.bind('', self.update_wh)
+ #self.t.bind('', self.update_wh)
self.t.mainloop()
@@ -67,35 +76,43 @@ class LogoGame:
self.tkinter_elements[0].destroy()
del self.tkinter_elements[0]
- def buildui_main(self, *b):
+ def gui_build_main(self, *b):
self.destroy_all_elements()
- x = self.w
- y = self.h
-
+ ###
+ self.frame_mainmenu = tkinter.Frame(self.t)
+ self.frame_mainmenu.pack(expand=True, anchor='center')
+ self.tkinter_elements.append(self.frame_mainmenu)
+ #
self.button_playgame = tkinter.Button(
- self.t,
+ self.frame_mainmenu,
text='Play',
#relief='flat',
font=self.font_main,
bg=self.color_green,
activebackground=self.color_green,
- command=self.buildui_game)
+ command=self.gui_build_game)
self.button_playgame.grid(row=10, column=5)
-
- self.label_playername = tkinter.Label(self.t, text='Player name: ', font=self.font_main)
+ self.tkinter_elements.append(self.button_playgame)
+ #
+ self.label_playername = tkinter.Label(
+ self.frame_mainmenu,
+ text='Player name: ',
+ font=self.font_main)
self.label_playername.grid(row=30, column=4)
-
+ self.tkinter_elements.append(self.label_playername)
+ #
self.entry_playername = tkinter.Entry(
- self.t,
+ self.frame_mainmenu,
font=self.font_main,
relief='solid',
width=30)
self.entry_playername.bind('', lambda x: self.playername_set(self.entry_playername.get()))
self.entry_playername.insert(0, self.stats_main.playername)
self.entry_playername.grid(row=30, column=5)
-
+ self.tkinter_elements.append(self.entry_playername)
+ #
self.button_playername = tkinter.Button(
- self.t,
+ self.frame_mainmenu,
text='Set',
font=self.font_small,
#relief='flat',
@@ -103,30 +120,54 @@ class LogoGame:
activebackground=self.color_blue,
command=lambda: self.playername_set(self.entry_playername.get()))
self.button_playername.grid(row=30, column=6)
-
- self.label_playerhash = tkinter.Label(self.t, text=self.sha8(self.stats_main.playername),
+ self.tkinter_elements.append(self.button_playername)
+ #
+ self.label_playerhash = tkinter.Label(
+ self.frame_mainmenu,
+ text=self.sha8(self.stats_main.playername),
font=self.font_main)
self.label_playerhash.grid(row=30, column=7)
-
- self.tkinter_elements.append(self.button_playgame)
- self.tkinter_elements.append(self.label_playername)
- self.tkinter_elements.append(self.entry_playername)
- self.tkinter_elements.append(self.button_playername)
self.tkinter_elements.append(self.label_playerhash)
+ ###
- def buildui_game(self, *b):
+ def gui_build_game(self, *b):
self.destroy_all_elements()
-
+ ###
+ self.frame_gametoolbar = tkinter.Frame(self.t)
+ self.frame_gametoolbar.pack(fill='x', anchor='n')
+ self.tkinter_elements.append(self.frame_gametoolbar)
+ #
self.button_back = tkinter.Button(
- self.t,
+ self.frame_gametoolbar,
text='X',
font=self.font_main,
bg=self.color_red,
activebackground=self.color_red,
- command=self.buildui_main)
+ command=self.gui_build_main)
self.button_back.grid(row=0, column=0)
-
self.tkinter_elements.append(self.button_back)
+ #
+ self.frame_gametaglist = tkinter.Frame(self.t)
+ self.frame_gametaglist.pack(expand=True, fill='y', anchor='e')
+ self.tkinter_elements.append(self.frame_gametaglist)
+ #
+ alltags = self.get_all_tags()
+ for tag in alltags:
+ intvar = tkinter.IntVar()
+ intvar.title=tag
+ checkbox = tkinter.Checkbutton(self.frame_gametaglist, text=tag, variable=intvar)
+ checkbox.intvar = intvar
+ checkbox.grid(row=alltags.index(tag), column=0, sticky='w')
+ intvar.set(1)
+ self.tkinter_elements.append(checkbox)
+ self.active_tags.add(tag)
+ ###
+
+ def gui_build_logo(self, *b):
+ self.destroy_all_elements()
+ ###
+
+
def playername_set(self, newname):
if newname != self.stats_main.playername:
@@ -145,9 +186,6 @@ class LogoGame:
sha = sha.hexdigest()
return sha[:8]
- def getnext(self):
- pass
-
def png_load(self, filename, resize=None):
if filename[-4:] != '.png':
filename = filename + '.png'
@@ -206,4 +244,16 @@ class LogoGame:
s = s.replace(badchar, '')
return s
+ def get_all_tags(self):
+ self.cur.execute('SELECT * FROM logos')
+ fetch = self.cur.fetchall()
+ alltags = []
+ for item in fetch:
+ itemtags = item[self.dbindex_tag]
+ itemtags = itemtags.replace(', ', ',')
+ itemtags = itemtags.split(',')
+ alltags += itemtags
+ alltags.sort()
+ return alltags
+
logogame = LogoGame()
\ No newline at end of file
diff --git a/Logogame/playerdata/Person_6007db63.db b/Logogame/playerdata/Person_6007db63.db
new file mode 100644
index 0000000..ecbd3ee
Binary files /dev/null and b/Logogame/playerdata/Person_6007db63.db differ
diff --git a/ascii/PNGCREATOR.bat b/ascii/PNGCREATOR.bat
new file mode 100644
index 0000000..34e39ef
--- /dev/null
+++ b/ascii/PNGCREATOR.bat
@@ -0,0 +1 @@
+for %%i in (*.ps) do C:\bit\ghostscript\bin\gswin64 -r180 -sDEVICE=png16m -dBATCH -dNOPAUSE -dSAFER -dEPSCrop -Ic:C:\Windows\Fonts -sOutputFile=%%~ni.png %%i
\ No newline at end of file
diff --git a/ascii/text_to_ps.py b/ascii/text_to_ps.py
new file mode 100644
index 0000000..f0b36df
--- /dev/null
+++ b/ascii/text_to_ps.py
@@ -0,0 +1,30 @@
+import os
+from PIL import Image
+import subprocess
+import tkinter
+
+filename_noext = input(']>> ')
+filename_text = filename_text.replace('.txt', '')
+filename_text = filename_noext + '.txt'
+filename_ghost = filename_noext + '_render.ps'
+
+
+
+filea = open(filename_text, 'r')
+lines = filea.read()
+lines_split = lines.split('\n')
+lines_height = len(lines_split)
+lines_width = len(lines_split[0])
+print('%d x %d' % (lines_width, lines_height))
+lines_height *= 17
+lines_width *= 7
+filea.close()
+t = tkinter.Tk()
+c = tkinter.Canvas(t, width=lines_width, height=lines_height)
+c.pack()
+c.create_text(0, 0, text=lines, anchor="nw", font=("Courier New", 12))
+print('Writing Postscript')
+c.postscript(file=filename_ghost, width=lines_width, height=lines_height)
+t.destroy()
+print('Writing PNG')
+subprocess.Popen('PNGCREATOR.bat', shell=True, cwd='D:/!/o/asscii')
\ No newline at end of file