Bug fixes
* Fixed parcel icon references * Fixed character studio pose reference * Fixed and updated expression editor to work with new paths, and disabled editor initialization until it is explicitly executed * Fixed common wardrobe functions initialization offset * Fixed typos
This commit is contained in:
parent
300c26f336
commit
fcd56f4516
@ -53,7 +53,11 @@ init python:
|
|||||||
def get_caption(self):
|
def get_caption(self):
|
||||||
if len(self.contents) == 1:
|
if len(self.contents) == 1:
|
||||||
item, quantity = self.contents[0]
|
item, quantity = self.contents[0]
|
||||||
icon = item.get_image()
|
|
||||||
|
if isinstance(item, Item):
|
||||||
|
icon = item.get_image()
|
||||||
|
else:
|
||||||
|
icon = item.image
|
||||||
|
|
||||||
if quantity == 1:
|
if quantity == 1:
|
||||||
text = "You have received one {}.".format(item.name)
|
text = "You have received one {}.".format(item.name)
|
||||||
|
@ -185,7 +185,7 @@ label deck_builder_guide:
|
|||||||
show screen deck_builder_tutorial
|
show screen deck_builder_tutorial
|
||||||
with dissolve
|
with dissolve
|
||||||
|
|
||||||
">The goal of Wizard cards is to own the most cards on the playing field once all 9 slots are filled."
|
">The goal of Wizard cards is to own the most cards on the playing field until all 9 slots are filled."
|
||||||
">To win the game you have to pay attention to your deck but also enemy deck."
|
">To win the game you have to pay attention to your deck but also enemy deck."
|
||||||
|
|
||||||
# Sides guide
|
# Sides guide
|
||||||
|
@ -255,24 +255,29 @@ init python:
|
|||||||
# Some things are required to be hardcoded.
|
# Some things are required to be hardcoded.
|
||||||
|
|
||||||
# Define expressions for Doll type characters.
|
# Define expressions for Doll type characters.
|
||||||
filters = ("_mask", "_skin")
|
|
||||||
all_files = renpy.list_files()
|
all_files = renpy.list_files()
|
||||||
d = _dict()
|
d = _dict()
|
||||||
|
|
||||||
for name in CHARACTERS:
|
for charname in CHARACTERS:
|
||||||
key = name[:3]
|
charobj = get_character_object(charname)
|
||||||
|
extensions = charobj.extensions
|
||||||
|
|
||||||
d[key] = OrderedDict()
|
for part in sorted(charobj.face._face.keys()):
|
||||||
|
|
||||||
for expr in ("mouth", "eyes", "eyebrows", "pupils", "cheeks", "tears"):
|
path = posixpath.join("characters", charname, "poses", charobj.pose, "face", part)
|
||||||
path = "characters/{}/face/{}/".format(name, expr)
|
|
||||||
files = [x for x in all_files if path in x]
|
|
||||||
|
|
||||||
d[key][expr] = [x.split(path)[1].split(".webp")[0] for x in files if x.endswith(".webp") and not any(f in x for f in filters)]
|
for f in renpy.list_files():
|
||||||
|
fp, fn = os.path.split(f)
|
||||||
|
fn, ext = os.path.splitext(fn)
|
||||||
|
expression = os.path.split(fp)[1]
|
||||||
|
|
||||||
if expr in ("cheeks", "tears"):
|
if not fp.startswith(path) or not ext in extensions:
|
||||||
# For cheeks, tears and hair None is a valid option, and chosen by default.
|
continue
|
||||||
d[key][expr].insert(0, None)
|
|
||||||
|
expressions = d.setdefault(charname[:3], OrderedDict()).setdefault(part, _list((None,)))
|
||||||
|
|
||||||
|
if not expression in expressions:
|
||||||
|
expressions.append(expression)
|
||||||
|
|
||||||
# Define additional Tonks' hair choices.
|
# Define additional Tonks' hair choices.
|
||||||
d["ton"]["hair"] = [None, "neutral", "angry", "annoyed", "happy", "disgusted", "sad", "purple", "scared", "horny"]
|
d["ton"]["hair"] = [None, "neutral", "angry", "annoyed", "happy", "disgusted", "sad", "purple", "scared", "horny"]
|
||||||
@ -408,12 +413,18 @@ init python:
|
|||||||
|
|
||||||
return self.read_history(file, line)
|
return self.read_history(file, line)
|
||||||
|
|
||||||
@renpy.pure
|
|
||||||
class ToggleEditor(Action, NoRollback):
|
class ToggleEditor(Action, NoRollback):
|
||||||
def __call__(self):
|
def __call__(self):
|
||||||
if not config.developer:
|
if not config.developer:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
if not hasattr(store, "e"):
|
||||||
|
global e
|
||||||
|
e = Editor()
|
||||||
|
e.expressions = e.define_expressions()
|
||||||
|
#config.all_character_callbacks.append(e.catch) # This is more efficient.
|
||||||
|
config.start_interact_callbacks.append(e.catch) # This allows to catch more statements and reset them if node types don't match.
|
||||||
|
|
||||||
if renpy.get_screen("editor", layer="interface"):
|
if renpy.get_screen("editor", layer="interface"):
|
||||||
e.active = False
|
e.active = False
|
||||||
renpy.hide_screen("editor", layer="interface")
|
renpy.hide_screen("editor", layer="interface")
|
||||||
@ -425,14 +436,6 @@ init python:
|
|||||||
renpy.game.context().force_checkpoint = True
|
renpy.game.context().force_checkpoint = True
|
||||||
renpy.checkpoint(hard=True)
|
renpy.checkpoint(hard=True)
|
||||||
|
|
||||||
if config.developer:
|
|
||||||
e = Editor()
|
|
||||||
|
|
||||||
#config.all_character_callbacks.append(e.catch) # This is more efficient.
|
|
||||||
config.start_interact_callbacks.append(e.catch) # This allows to catch more statements and reset them if node types don't match.
|
|
||||||
else:
|
|
||||||
e = dict() # Hotkey crashes on release otherwise.
|
|
||||||
|
|
||||||
screen editor():
|
screen editor():
|
||||||
zorder 50
|
zorder 50
|
||||||
style_prefix "editor"
|
style_prefix "editor"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
init python:
|
init -1 python:
|
||||||
def get_character_progression(key):
|
def get_character_progression(key):
|
||||||
if not key in CHARACTERS:
|
if not key in CHARACTERS:
|
||||||
raise KeyError("'{}' character is undefined.".format(key))
|
raise KeyError("'{}' character is undefined.".format(key))
|
||||||
|
@ -25,7 +25,7 @@ init python in studio:
|
|||||||
|
|
||||||
for part in charobj.face._face.keys():
|
for part in charobj.face._face.keys():
|
||||||
|
|
||||||
path = posixpath.join("characters", charname, charobj.pose, "face", part)
|
path = posixpath.join("characters", charname, "poses", charobj.pose, "face", part)
|
||||||
|
|
||||||
for f in renpy.list_files():
|
for f in renpy.list_files():
|
||||||
fp, fn = os.path.split(f)
|
fp, fn = os.path.split(f)
|
||||||
|
Loading…
Reference in New Issue
Block a user