improve character sprites loading
This commit is contained in:
parent
6044f350dd
commit
f9a11ceeab
115
gameview.py
115
gameview.py
@ -331,93 +331,110 @@ class AOCharMovie(QtGui.QLabel):
|
||||
p_char = p_char.lower()
|
||||
p_emote = p_emote.lower()
|
||||
|
||||
original_path = test_path(
|
||||
AOpath+"characters/"+p_char+"/"+emote_prefix+p_emote+".gif",
|
||||
AOpath+"characters/"+p_char+"/"+emote_prefix+"/"+p_emote+".gif",
|
||||
AOpath+"characters/"+p_char+"/"+p_emote+".gif",
|
||||
AOpath+"characters/"+p_char+"/(a)"+p_emote+".gif"
|
||||
)
|
||||
alt_path = test_path(
|
||||
AOpath+"characters/"+p_char+"/"+emote_prefix+p_emote+".png",
|
||||
AOpath+"characters/"+p_char+"/"+emote_prefix+"/"+p_emote+".png",
|
||||
AOpath+"characters/"+p_char+"/"+p_emote+".png",
|
||||
AOpath+"characters/"+p_char+"/(a)"+p_emote+".png"
|
||||
)
|
||||
apng_path = test_path(
|
||||
AOpath+"characters/"+p_char+"/"+emote_prefix+p_emote+".apng",
|
||||
AOpath+"characters/"+p_char+"/"+emote_prefix+"/"+p_emote+".apng",
|
||||
AOpath+"characters/"+p_char+"/"+p_emote+".apng",
|
||||
AOpath+"characters/"+p_char+"/(a)"+p_emote+".apng"
|
||||
)
|
||||
webp_path = test_path(
|
||||
AOpath+"characters/"+p_char+"/"+emote_prefix+p_emote+".webp",
|
||||
AOpath+"characters/"+p_char+"/"+emote_prefix+"/"+p_emote+".webp",
|
||||
AOpath+"characters/"+p_char+"/"+p_emote+".webp",
|
||||
AOpath+"characters/"+p_char+"/(a)"+p_emote+".webp"
|
||||
AOpath+"characters/"+p_char+"/(a)"+p_emote+".apng",
|
||||
AOpath+"characters/"+p_char+"/(b)"+p_emote+".apng",
|
||||
AOpath+"characters/"+p_char+"/(a)/"+p_emote+".apng",
|
||||
AOpath+"characters/"+p_char+"/(b)/"+p_emote+".apng"
|
||||
)
|
||||
|
||||
placeholder_path = AO2XPpath+"themes/default/oldplaceholder.gif"
|
||||
gif_path = ""
|
||||
|
||||
img_path = ""
|
||||
|
||||
if apng_path:
|
||||
gif_path = apng_path
|
||||
img_path = apng_path
|
||||
self.use_pillow = 1
|
||||
else:
|
||||
if ini.read_ini_bool("AO2XP.ini", "General", "download characters"):
|
||||
url = "base/characters/"+p_char.lower()+"/"+emote_prefix+p_emote.lower()+".apng"
|
||||
url = url.replace(" ", "%20")
|
||||
thread.start_new_thread(download_thread, (url, apng_path))
|
||||
|
||||
png_path = test_path(
|
||||
AOpath+"characters/"+p_char+"/"+emote_prefix+p_emote+".png",
|
||||
AOpath+"characters/"+p_char+"/"+emote_prefix+"/"+p_emote+".png",
|
||||
AOpath+"characters/"+p_char+"/"+p_emote+".png",
|
||||
AOpath+"characters/"+p_char+"/(a)"+p_emote+".png",
|
||||
AOpath+"characters/"+p_char+"/(b)"+p_emote+".png",
|
||||
AOpath+"characters/"+p_char+"/(a)/"+p_emote+".png",
|
||||
AOpath+"characters/"+p_char+"/(b)/"+p_emote+".png"
|
||||
)
|
||||
|
||||
if webp_path:
|
||||
gif_path = webp_path
|
||||
self.use_pillow = 2
|
||||
if png_path:
|
||||
img_path = png_path
|
||||
self.use_pillow = 0
|
||||
else:
|
||||
if ini.read_ini_bool("AO2XP.ini", "General", "download characters"):
|
||||
url = "base/characters/"+p_char.lower()+"/"+p_emote.lower()+".webp"
|
||||
url = "base/characters/"+p_char.lower()+"/"+emote_prefix+p_emote.lower()+".png"
|
||||
url = url.replace(" ", "%20")
|
||||
thread.start_new_thread(download_thread, (url, webp_path))
|
||||
|
||||
if original_path:
|
||||
gif_path = original_path
|
||||
self.use_pillow = 0
|
||||
thread.start_new_thread(download_thread, (url, alt_path))
|
||||
|
||||
webp_path = test_path(
|
||||
AOpath+"characters/"+p_char+"/"+emote_prefix+p_emote+".webp",
|
||||
AOpath+"characters/"+p_char+"/"+emote_prefix+"/"+p_emote+".webp",
|
||||
AOpath+"characters/"+p_char+"/"+p_emote+".webp",
|
||||
AOpath+"characters/"+p_char+"/(a)"+p_emote+".webp",
|
||||
AOpath+"characters/"+p_char+"/(b)"+p_emote+".webp",
|
||||
AOpath+"characters/"+p_char+"/(a)/"+p_emote+".webp",
|
||||
AOpath+"characters/"+p_char+"/(b)/"+p_emote+".webp"
|
||||
)
|
||||
|
||||
if webp_path:
|
||||
img_path = webp_path
|
||||
self.use_pillow = 2
|
||||
else:
|
||||
if ini.read_ini_bool("AO2XP.ini", "General", "download characters"):
|
||||
url = "base/characters/"+p_char.lower()+"/"+emote_prefix+p_emote.lower()+".gif"
|
||||
url = "base/characters/"+p_char.lower()+"/"+p_emote.lower()+".webp"
|
||||
url = url.replace(" ", "%20")
|
||||
thread.start_new_thread(download_thread, (url, original_path))
|
||||
|
||||
if alt_path:
|
||||
gif_path = alt_path
|
||||
thread.start_new_thread(download_thread, (url, webp_path))
|
||||
|
||||
gif_path = test_path(
|
||||
AOpath+"characters/"+p_char+"/"+emote_prefix+p_emote+".gif",
|
||||
AOpath+"characters/"+p_char+"/"+emote_prefix+"/"+p_emote+".gif",
|
||||
AOpath+"characters/"+p_char+"/"+p_emote+".gif",
|
||||
AOpath+"characters/"+p_char+"/(a)"+p_emote+".gif",
|
||||
AOpath+"characters/"+p_char+"/(b)"+p_emote+".gif",
|
||||
AOpath+"characters/"+p_char+"/(a)/"+p_emote+".gif",
|
||||
AOpath+"characters/"+p_char+"/(b)/"+p_emote+".gif"
|
||||
)
|
||||
|
||||
if gif_path:
|
||||
img_path = gif_path
|
||||
self.use_pillow = 0
|
||||
else:
|
||||
if ini.read_ini_bool("AO2XP.ini", "General", "download characters"):
|
||||
url = "base/characters/"+p_char.lower()+"/"+emote_prefix+p_emote.lower()+".png"
|
||||
url = "base/characters/"+p_char.lower()+"/"+emote_prefix+p_emote.lower()+".gif"
|
||||
url = url.replace(" ", "%20")
|
||||
thread.start_new_thread(download_thread, (url, alt_path))
|
||||
thread.start_new_thread(download_thread, (url, gif_path))
|
||||
|
||||
if exists(placeholder_path):
|
||||
gif_path = placeholder_path
|
||||
print "[debug] Sprite not found: ", p_char, p_emote, emote_prefix, original_path, alt_path, apng_path
|
||||
img_path = placeholder_path
|
||||
print "[debug] Sprite not found: ", p_char, p_emote, emote_prefix, gif_path, alt_path, apng_path
|
||||
else:
|
||||
gif_path = ""
|
||||
img_path = ""
|
||||
self.use_pillow = 0
|
||||
|
||||
if gif_path == "":
|
||||
gif_path = self.prev_gif_path
|
||||
if img_path == "":
|
||||
img_path = self.prev_gif_path
|
||||
# Second check just in case
|
||||
if gif_path == "":
|
||||
if img_path == "":
|
||||
if exists(placeholder_path):
|
||||
gif_path = placeholder_path
|
||||
print "[debug] Sprite not found: ", p_char, p_emote, emote_prefix, original_path, alt_path, apng_path
|
||||
img_path = placeholder_path
|
||||
print "[debug] Sprite not found: ", p_char, p_emote, emote_prefix, gif_path, alt_path, apng_path
|
||||
else:
|
||||
gif_path = ""
|
||||
img_path = ""
|
||||
else:
|
||||
self.prev_gif_path = gif_path
|
||||
self.prev_gif_path = img_path
|
||||
|
||||
#print "[debug]", p_char, emote_prefix, p_emote, "(!) path is null!" if gif_path == "" else gif_path
|
||||
#print "[debug]", p_char, emote_prefix, p_emote, "(!) path is null!" if img_path == "" else img_path
|
||||
|
||||
if not self.use_pillow:
|
||||
self.m_movie.stop()
|
||||
self.m_movie.setFileName(gif_path)
|
||||
self.m_movie.setFileName(img_path)
|
||||
self.m_movie.start()
|
||||
elif self.use_pillow == 1: # apng
|
||||
self.pillow_frames = images.load_apng(apng_path)
|
||||
|
Loading…
Reference in New Issue
Block a user