Expression Editor 0.3a

* Added new expression editor
* Fixed error parser for mods
* Unified Non-doll character expression parameter names
* Moved strip quotes function to global scope
* Added matches function that strips spaces before comparing
This commit is contained in:
LoafyLemon 2022-05-26 21:50:54 +01:00
parent 6d30d842f5
commit bb594c74c6
5 changed files with 593 additions and 566 deletions

View File

@ -5,6 +5,7 @@ init python:
import json import json
import os import os
import renpy.error as rpy_error import renpy.error as rpy_error
from renpy.parser import ParseError
mods_list = dict() mods_list = dict()

View File

@ -2,7 +2,7 @@
define character.genie_say = Character("Genie", show_icon="genie") define character.genie_say = Character("Genie", show_icon="genie")
init python: init python:
def gen(what, attributes=None, xpos=None, ypos=None, pos=None, flip=None, trans=None, animation=False, **kwargs): def gen(what, face=None, xpos=None, ypos=None, pos=None, flip=None, trans=None, animation=False, **kwargs):
global genie_xpos, genie_ypos, genie_offset, genie_flip, genie_zoom global genie_xpos, genie_ypos, genie_offset, genie_flip, genie_zoom
redraw = False redraw = False
tag = "genie_main" tag = "genie_main"
@ -24,8 +24,8 @@ init python:
else: else:
genie_offset = (0, 600) genie_offset = (0, 600)
if attributes: if face:
variant = "genie {}".format(attributes) variant = "genie {}".format(face)
renpy.set_tag_attributes(variant) renpy.set_tag_attributes(variant)
side = "genie" side = "genie"

View File

@ -10,6 +10,7 @@ init -1 python:
import fnmatch import fnmatch
import posixpath import posixpath
import re import re
import string
from bisect import bisect from bisect import bisect
from operator import itemgetter from operator import itemgetter
from operator import add as _add from operator import add as _add
@ -208,3 +209,13 @@ init -1 python:
continue continue
i.ret(who) i.ret(who)
def strip(s):
# We need a custom strip implementation because we cannot tell
# if the raw argument isn't encapsulated in double, or triple quotes
if s.startswith(('"', "'")) and s.endswith(('"', "'")):
return s[1:-1]
return s
def matches(s1, s2, filter=" "):
return s1.replace(filter, "") == s2.replace(filter, "")

File diff suppressed because it is too large Load Diff

View File

@ -16,14 +16,6 @@ init -1 python:
if config.developer: if config.developer:
def lint_characters(): def lint_characters():
def strip(s):
# We need a custom strip implementation because we cannot tell
# if the raw argument isn't encapsulated in double, or triple quotes
if s.startswith(('"', "'")) and s.endswith(('"', "'")):
return s[1:-1]
return s
renpy.execute_default_statement(False) renpy.execute_default_statement(False)
# Add images to linting list to avoid undefined errors # Add images to linting list to avoid undefined errors