Compare commits
9 Commits
a89f7b8161
...
04f76d2b54
Author | SHA1 | Date | |
---|---|---|---|
04f76d2b54 | |||
be88d0ed7e | |||
5fa2a0ff19 | |||
15b6025d39 | |||
489f43cd0b | |||
fa0acdbfff | |||
e4d64839b8 | |||
c816674c7c | |||
40be2ccf18 |
@ -82,12 +82,12 @@ init python:
|
|||||||
child = getattr(self, layer)
|
child = getattr(self, layer)
|
||||||
|
|
||||||
if isinstance(child, ImageReference):
|
if isinstance(child, ImageReference):
|
||||||
name = getattr(self, "_{}".format(layer))
|
name = getattr(self, f"_{layer}")
|
||||||
attributes = renpy.get_attributes(name) or renpy.get_attributes("{}_{}".format(tag_prefix, layer))
|
attributes = renpy.get_attributes(name) or renpy.get_attributes(f"{tag_prefix}_{layer}")
|
||||||
|
|
||||||
if attributes:
|
if attributes:
|
||||||
attributes = " ".join(attributes)
|
attributes = " ".join(attributes)
|
||||||
child = ImageReference("{} {}".format(name, attributes))
|
child = ImageReference(f"{name} {attributes}")
|
||||||
elif child.name != name:
|
elif child.name != name:
|
||||||
child = ImageReference(name)
|
child = ImageReference(name)
|
||||||
else:
|
else:
|
||||||
|
@ -24,7 +24,7 @@ init python:
|
|||||||
states.gen.image.offset = (0, 600)
|
states.gen.image.offset = (0, 600)
|
||||||
|
|
||||||
if face:
|
if face:
|
||||||
variant = "genie {}".format(face)
|
variant = f"genie {face}"
|
||||||
renpy.set_tag_attributes(variant)
|
renpy.set_tag_attributes(variant)
|
||||||
side = "genie"
|
side = "genie"
|
||||||
|
|
||||||
|
@ -140,9 +140,9 @@ init python:
|
|||||||
|
|
||||||
elif chibi.action in ("drink_potion", "sniff_potion", "hold_potion"):
|
elif chibi.action in ("drink_potion", "sniff_potion", "hold_potion"):
|
||||||
if not hermione.is_any_worn("top", "bottom"):
|
if not hermione.is_any_worn("top", "bottom"):
|
||||||
chibi["base"] = "ch_hem {}_nude".format(chibi.action)
|
chibi["base"] = f"ch_hem {chibi.action}_nude"
|
||||||
else:
|
else:
|
||||||
chibi["base"] = "ch_hem {}".format(chibi.action)
|
chibi["base"] = f"ch_hem {chibi.action}"
|
||||||
|
|
||||||
|
|
||||||
# Sets up a chibi scene with Hermione and Genie in it
|
# Sets up a chibi scene with Hermione and Genie in it
|
||||||
|
@ -14,7 +14,7 @@ screen chibi(chibi_object):
|
|||||||
screen chibi_emote(emote, chibi_object):
|
screen chibi_emote(emote, chibi_object):
|
||||||
zorder chibi_object.zorder
|
zorder chibi_object.zorder
|
||||||
sensitive False
|
sensitive False
|
||||||
add "emo_{}".format(emote):
|
add f"emo_{emote}":
|
||||||
at emote_effect
|
at emote_effect
|
||||||
anchor (0.5, 1.0)
|
anchor (0.5, 1.0)
|
||||||
pos chibi_object.pos
|
pos chibi_object.pos
|
||||||
@ -45,12 +45,12 @@ init -1 python:
|
|||||||
|
|
||||||
def get_chibi_object(name):
|
def get_chibi_object(name):
|
||||||
"""Get a chibi object by its character's name."""
|
"""Get a chibi object by its character's name."""
|
||||||
name = "{}_chibi".format(name)
|
name = f"{name}_chibi"
|
||||||
c = getattr(renpy.store, name, None)
|
c = getattr(renpy.store, name, None)
|
||||||
if c and isinstance(c, Chibi):
|
if c and isinstance(c, Chibi):
|
||||||
return c
|
return c
|
||||||
else:
|
else:
|
||||||
raise Exception("Chibi object not found. {}".format(name))
|
raise Exception(f"Chibi object not found. {name}")
|
||||||
|
|
||||||
def complete_chibi_moves(**elapsed):
|
def complete_chibi_moves(**elapsed):
|
||||||
"""Resume old chibi action after (multiple) reduced move calls."""
|
"""Resume old chibi action after (multiple) reduced move calls."""
|
||||||
@ -120,7 +120,7 @@ init -1 python:
|
|||||||
if image_path:
|
if image_path:
|
||||||
self.image_path = image_path
|
self.image_path = image_path
|
||||||
else:
|
else:
|
||||||
self.image_path = "characters/{}/chibis".format(tag)
|
self.image_path = f"characters/{tag}/chibis"
|
||||||
|
|
||||||
if actions:
|
if actions:
|
||||||
# Override class variable for this instance
|
# Override class variable for this instance
|
||||||
@ -138,11 +138,11 @@ init -1 python:
|
|||||||
self.transform = None
|
self.transform = None
|
||||||
|
|
||||||
# Define a screen for the chibi
|
# Define a screen for the chibi
|
||||||
self.screen_tag = "{}_chibi".format(tag)
|
self.screen_tag = f"{tag}_chibi"
|
||||||
renpy.define_screen(self.screen_tag, Chibi._screen, tag=self.screen_tag, zorder="chibi_object.zorder")
|
renpy.define_screen(self.screen_tag, Chibi._screen, tag=self.screen_tag, zorder="chibi_object.zorder")
|
||||||
|
|
||||||
# Define a screen for the chibi emote
|
# Define a screen for the chibi emote
|
||||||
self.emote_tag = "{}_chibi_emote".format(tag)
|
self.emote_tag = f"{tag}_chibi_emote"
|
||||||
renpy.define_screen(self.emote_tag, Chibi._emote_screen, tag=self.emote_tag, zorder="chibi_object.zorder")
|
renpy.define_screen(self.emote_tag, Chibi._emote_screen, tag=self.emote_tag, zorder="chibi_object.zorder")
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@ -282,7 +282,7 @@ init -1 python:
|
|||||||
# Combine with base transform
|
# Combine with base transform
|
||||||
return combine_transforms(self.base_transform(), trans(*args))
|
return combine_transforms(self.base_transform(), trans(*args))
|
||||||
elif config.developer:
|
elif config.developer:
|
||||||
raise Exception("Expected a transform: {}".format(name))
|
raise Exception(f"Expected an ATL transform: {name}")
|
||||||
# No transform was given or found
|
# No transform was given or found
|
||||||
return self.base_transform()
|
return self.base_transform()
|
||||||
|
|
||||||
@ -358,7 +358,7 @@ init -1 python:
|
|||||||
room = room or renpy.store.states.room
|
room = room or renpy.store.states.room
|
||||||
chibi_room = ChibiRoom.rooms.get(room, None)
|
chibi_room = ChibiRoom.rooms.get(room, None)
|
||||||
if not chibi_room:
|
if not chibi_room:
|
||||||
raise Exception("Chibi room is not defined for {}".format(room))
|
raise Exception(f"Chibi room is not defined for {room}")
|
||||||
return chibi_room
|
return chibi_room
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
@ -37,7 +37,7 @@ init 1 python:
|
|||||||
ltype, *tails = fn.rsplit("_")
|
ltype, *tails = fn.rsplit("_")
|
||||||
|
|
||||||
# if not ltype in types:
|
# if not ltype in types:
|
||||||
# print("Invalid layer type for file: {}".format(f))
|
# print(f"Invalid layer type for file: {f}")
|
||||||
# continue
|
# continue
|
||||||
|
|
||||||
zorder = types.get(ltype) or self.zorder
|
zorder = types.get(ltype) or self.zorder
|
||||||
@ -50,7 +50,7 @@ init 1 python:
|
|||||||
lmodifier, *tails = tails
|
lmodifier, *tails = tails
|
||||||
|
|
||||||
if not lmodifier in modifiers:
|
if not lmodifier in modifiers:
|
||||||
print("Invalid modifier for file: {}".format(f))
|
print(f"Invalid modifier for file: {f}")
|
||||||
continue
|
continue
|
||||||
|
|
||||||
zorder_mod = modifiers.get(lmodifier)
|
zorder_mod = modifiers.get(lmodifier)
|
||||||
|
@ -108,7 +108,7 @@ init python:
|
|||||||
ltype, *tails = fn.rsplit("_")
|
ltype, *tails = fn.rsplit("_")
|
||||||
|
|
||||||
if not ltype.isdigit() and not ltype in types:
|
if not ltype.isdigit() and not ltype in types:
|
||||||
print("Invalid layer type for file: {}".format(f))
|
print(f"Invalid layer type for file: {f}")
|
||||||
continue
|
continue
|
||||||
|
|
||||||
zorder = z if (z := types.get(ltype)) is not None else self.zorder
|
zorder = z if (z := types.get(ltype)) is not None else self.zorder
|
||||||
@ -121,7 +121,7 @@ init python:
|
|||||||
lmodifier, *tails = tails
|
lmodifier, *tails = tails
|
||||||
|
|
||||||
if not lmodifier in modifiers:
|
if not lmodifier in modifiers:
|
||||||
print("Invalid modifier for file: {}".format(f))
|
print(f"Invalid modifier for file: {f}")
|
||||||
continue
|
continue
|
||||||
|
|
||||||
zorder_mod = modifiers.get(lmodifier)
|
zorder_mod = modifiers.get(lmodifier)
|
||||||
|
@ -131,7 +131,7 @@ init python:
|
|||||||
lmodifier, *tails = tails
|
lmodifier, *tails = tails
|
||||||
|
|
||||||
if not lmodifier in modifiers:
|
if not lmodifier in modifiers:
|
||||||
print("Invalid modifier for file: {}".format(f))
|
print(f"Invalid modifier for file: {f}")
|
||||||
continue
|
continue
|
||||||
|
|
||||||
zorder_mod = modifiers.get(lmodifier)
|
zorder_mod = modifiers.get(lmodifier)
|
||||||
|
@ -54,7 +54,7 @@ init python:
|
|||||||
ltype, *tails = fn.rsplit("_")
|
ltype, *tails = fn.rsplit("_")
|
||||||
|
|
||||||
if not ltype in types:
|
if not ltype in types:
|
||||||
print("Invalid layer type for file: {}".format(f))
|
print(f"Invalid layer type for file: {f}")
|
||||||
continue
|
continue
|
||||||
|
|
||||||
zorder = types.get(ltype) or face_layers.get(part)
|
zorder = types.get(ltype) or face_layers.get(part)
|
||||||
@ -63,7 +63,7 @@ init python:
|
|||||||
lmodifier, *tails = tails
|
lmodifier, *tails = tails
|
||||||
|
|
||||||
if not lmodifier in modifiers:
|
if not lmodifier in modifiers:
|
||||||
print("Invalid modifier for file: {}".format(f))
|
print(f"Invalid modifier for file: {f}")
|
||||||
continue
|
continue
|
||||||
|
|
||||||
zorder_mod = modifiers.get(lmodifier)
|
zorder_mod = modifiers.get(lmodifier)
|
||||||
|
@ -5,13 +5,13 @@ init python:
|
|||||||
for c in states.dolls:
|
for c in states.dolls:
|
||||||
char = get_character_object(c)
|
char = get_character_object(c)
|
||||||
|
|
||||||
body_default = get_character_body(c, type="default")
|
body_default = get_character_body(c, typ="default")
|
||||||
char.equip(body_default)
|
char.equip(body_default)
|
||||||
|
|
||||||
outfit_default = get_character_outfit(c, type="default")
|
outfit_default = get_character_outfit(c, typ="default")
|
||||||
char.equip(outfit_default)
|
char.equip(outfit_default)
|
||||||
|
|
||||||
outfit_last = outfit = get_character_outfit(c, type="last")
|
outfit_last = outfit = get_character_outfit(c, typ="last")
|
||||||
outfit_last.save()
|
outfit_last.save()
|
||||||
|
|
||||||
char.set_face(mouth="base", eyes="base", eyebrows="base", pupils="mid", cheeks="none", tears="none")
|
char.set_face(mouth="base", eyes="base", eyebrows="base", pupils="mid", cheeks="none", tears="none")
|
||||||
|
@ -49,7 +49,7 @@ init python:
|
|||||||
lmodifier, *tails = tails
|
lmodifier, *tails = tails
|
||||||
|
|
||||||
if not lmodifier in modifiers:
|
if not lmodifier in modifiers:
|
||||||
print("Invalid modifier for file: {}".format(f))
|
print(f"Invalid modifier for file: {f}")
|
||||||
continue
|
continue
|
||||||
|
|
||||||
zorder_mod = modifiers.get(lmodifier)
|
zorder_mod = modifiers.get(lmodifier)
|
||||||
|
@ -218,7 +218,7 @@ init python:
|
|||||||
d,
|
d,
|
||||||
"interface/wardrobe/export_frame.webp",
|
"interface/wardrobe/export_frame.webp",
|
||||||
Text(states.active_girl, align=(0.5, 0.995)),
|
Text(states.active_girl, align=(0.5, 0.995)),
|
||||||
Text("Ver. {}".format(config.version), size=10, align=(0.99, 0.99))
|
Text(f"Ver. {config.version}", size=10, align=(0.99, 0.99))
|
||||||
)
|
)
|
||||||
|
|
||||||
displayable_to_file(d, path, size=(310, 470) )
|
displayable_to_file(d, path, size=(310, 470) )
|
||||||
@ -286,4 +286,3 @@ init python:
|
|||||||
if self.has_type(arg):
|
if self.has_type(arg):
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
@ -26,7 +26,9 @@ init python in gui:
|
|||||||
The returned form is "{theme}_{name}", so styles can fall back on parent styles.
|
The returned form is "{theme}_{name}", so styles can fall back on parent styles.
|
||||||
"""
|
"""
|
||||||
theme = "dark" if is_dark() else "light"
|
theme = "dark" if is_dark() else "light"
|
||||||
return "{}_{}".format(theme, name) if name else theme
|
if name:
|
||||||
|
return f"{theme}_{name}"
|
||||||
|
return theme
|
||||||
|
|
||||||
def format(template):
|
def format(template):
|
||||||
"""
|
"""
|
||||||
|
@ -36,7 +36,7 @@ screen history():
|
|||||||
|
|
||||||
if "icon" in entry.show_args:
|
if "icon" in entry.show_args:
|
||||||
$ icon = entry.show_args["icon"]
|
$ icon = entry.show_args["icon"]
|
||||||
add Fixed(gui.format("interface/achievements/{}/iconbox.webp"), Transform("interface/icons/head/{}.webp".format(icon), xzoom=-1, size=(40, 40), align=(0.5, 0.5)), fit_first=True)
|
add Fixed(gui.format("interface/achievements/{}/iconbox.webp"), Transform(f"interface/icons/head/{icon}.webp", xzoom=-1, size=(40, 40), align=(0.5, 0.5)), fit_first=True)
|
||||||
|
|
||||||
if entry.who:
|
if entry.who:
|
||||||
text entry.who:
|
text entry.who:
|
||||||
|
@ -138,7 +138,7 @@ screen preferences_visuals():
|
|||||||
|
|
||||||
label "Framerate"
|
label "Framerate"
|
||||||
|
|
||||||
textbutton ("{} fps".format(int(renpy.get_refresh_rate()))) action [Preference("gl framerate", None), Notify(fps_msg)]
|
textbutton (f"{int(renpy.get_refresh_rate())} fps") action [Preference("gl framerate", None), Notify(fps_msg)]
|
||||||
if renpy.get_refresh_rate() > 60:
|
if renpy.get_refresh_rate() > 60:
|
||||||
textbutton "60 fps" action [Preference("gl framerate", 60), Notify(fps_msg)]
|
textbutton "60 fps" action [Preference("gl framerate", 60), Notify(fps_msg)]
|
||||||
textbutton "30 fps" action [Preference("gl framerate", 30), Notify(fps_msg)]
|
textbutton "30 fps" action [Preference("gl framerate", 30), Notify(fps_msg)]
|
||||||
|
@ -92,9 +92,9 @@ screen file_slots(title):
|
|||||||
$ minutes, seconds = divmod(int(playtime), 60)
|
$ minutes, seconds = divmod(int(playtime), 60)
|
||||||
$ hours, minutes = divmod(minutes, 60)
|
$ hours, minutes = divmod(minutes, 60)
|
||||||
|
|
||||||
text FileTime(slot, format=_(slot_time_format))
|
text FileTime(slot, format=slot_time_format)
|
||||||
text "Day: {}".format(day)
|
text f"Day: {day}"
|
||||||
text "Playtime: {}H {}M {}S".format(hours, minutes, seconds)
|
text f"Playtime: {hours}H {minutes}M {seconds}S"
|
||||||
else:
|
else:
|
||||||
text "INCOMPATIBLE VERSION" color "#f00"
|
text "INCOMPATIBLE VERSION" color "#f00"
|
||||||
|
|
||||||
@ -104,7 +104,7 @@ screen file_slots(title):
|
|||||||
|
|
||||||
key "save_delete" action FileDelete(slot)
|
key "save_delete" action FileDelete(slot)
|
||||||
else:
|
else:
|
||||||
text "Empty Slot {}.".format(FileSlotName(slot, gui.file_slot_cols * gui.file_slot_rows)) style "slot_button_text"
|
text f"Empty Slot {FileSlotName(slot, gui.file_slot_cols * gui.file_slot_rows)}." style "slot_button_text"
|
||||||
|
|
||||||
## Buttons to access other pages.
|
## Buttons to access other pages.
|
||||||
hbox:
|
hbox:
|
||||||
@ -131,7 +131,7 @@ screen file_slots(title):
|
|||||||
xminimum 40
|
xminimum 40
|
||||||
action FilePage(page)
|
action FilePage(page)
|
||||||
if page < 10:
|
if page < 10:
|
||||||
keysym "K_{}".format(page)
|
keysym f"K_{page}"
|
||||||
|
|
||||||
textbutton _(">") action FilePageNext()
|
textbutton _(">") action FilePageNext()
|
||||||
|
|
||||||
|
@ -193,7 +193,7 @@ screen choice(items, menu_yalign=.6):
|
|||||||
style "empty"
|
style "empty"
|
||||||
|
|
||||||
if style_part:
|
if style_part:
|
||||||
style_prefix gui.theme("{}_menu".format(style_part))
|
style_prefix gui.theme(f"{style_part}_menu")
|
||||||
|
|
||||||
fit_first "height"
|
fit_first "height"
|
||||||
|
|
||||||
|
@ -170,7 +170,7 @@ screen brewing_menuitem():
|
|||||||
text "Usable on:" size 12
|
text "Usable on:" size 12
|
||||||
hbox:
|
hbox:
|
||||||
for c in current_item.usable_on:
|
for c in current_item.usable_on:
|
||||||
add "interface/icons/head/{}.webp".format(c) size (24, 24)
|
add f"interface/icons/head/{c}.webp" size (24, 24)
|
||||||
|
|
||||||
hbox:
|
hbox:
|
||||||
spacing 10
|
spacing 10
|
||||||
|
@ -62,11 +62,11 @@ init python:
|
|||||||
icon = item.image
|
icon = item.image
|
||||||
|
|
||||||
if quantity == 1:
|
if quantity == 1:
|
||||||
text = "You have received one {}.".format(item.name)
|
text = f"You have received one {item.name}."
|
||||||
else:
|
else:
|
||||||
text = "You have received {} pieces of {}.".format(num_to_word(quantity), item.name)
|
text = f"You have received {num_to_word(quantity)} pieces of {item.name}."
|
||||||
else:
|
else:
|
||||||
items = ", ".join( [" ".join( [str(x[1]), x[0].name] ) for x in self.contents] )
|
items = ", ".join(f"{x[1]} {x[0].name}" for x in self.contents)
|
||||||
icon = "interface/icons/box_brown_"+str(random.randint(1, 4))+".webp"
|
icon = "interface/icons/box_brown_"+str(random.randint(1, 4))+".webp"
|
||||||
text = "You have received your ordered items:\n{size=-4}"+items+"{/size}"
|
text = "You have received your ordered items:\n{size=-4}"+items+"{/size}"
|
||||||
|
|
||||||
|
@ -55,8 +55,9 @@ screen tutorial(entry):
|
|||||||
text "Tutorial" size 10 yalign 0.5
|
text "Tutorial" size 10 yalign 0.5
|
||||||
text tutorial_dict[entry][0] size 16 xalign 0.5 yalign 0.5
|
text tutorial_dict[entry][0] size 16 xalign 0.5 yalign 0.5
|
||||||
|
|
||||||
if renpy.loadable("interface/tutorials/{}.webp".format(entry)):
|
$ formated = f"interface/tutorials/{entry}.webp"
|
||||||
add "interface/tutorials/{}.webp".format(entry) xalign 0.5
|
if renpy.loadable(formated):
|
||||||
|
add formated xalign 0.5
|
||||||
|
|
||||||
text tutorial_dict[entry][1] size 12
|
text tutorial_dict[entry][1] size 12
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user