Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions nml/actions/action0.py
Original file line number Diff line number Diff line change
Expand Up @@ -458,7 +458,7 @@ def get_property_info_list(feature, name):
if isinstance(name, expression.Identifier):
prop_name = name.value
if prop_name not in properties[feature]:
raise generic.ScriptError("Unknown property name: " + prop_name, name.pos)
raise generic.ScriptError(f"Unknown property name: {prop_name}", name.pos)
prop_info_list = properties[feature][prop_name]
if not isinstance(prop_info_list, list):
prop_info_list = [prop_info_list]
Expand All @@ -470,7 +470,7 @@ def get_property_info_list(feature, name):
if len(prop_info_list) == 1 and "num" in prop_info_list[0] and prop_info_list[0]["num"] == name.value:
break
else:
raise generic.ScriptError("Unknown property number: " + str(name), name.pos)
raise generic.ScriptError(f"Unknown property number: {str(name)}", name.pos)
else:
raise AssertionError()

Expand Down Expand Up @@ -635,7 +635,7 @@ def apply_threshold(value):
elif isinstance(value, expression.String):
if "string" not in prop_info:
raise generic.ScriptError(
"String used as value for non-string property: " + str(prop_info["num"]), value.pos
f"String used as value for non-string property: {str(prop_info["num"])}", value.pos
)
string_range = apply_threshold(prop_info["string"])
stringid, string_actions = action4.get_string_action4s(feature, string_range, value, id)
Expand Down
8 changes: 4 additions & 4 deletions nml/actions/action0properties.py
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ def animation_info(value, loop_bit=8, max_frame=253):
raise generic.ScriptError("First field of the animation_info array must be either 0 or 1", value.values[0].pos)
if frames < 1 or frames > max_frame:
raise generic.ScriptError(
"Second field of the animation_info array must be between 1 and " + str(max_frame), value.values[1].pos
f"Second field of the animation_info array must be between 1 and {str(max_frame)}", value.values[1].pos
)

return ConstantNumeric((looping << loop_bit) + frames - 1)
Expand Down Expand Up @@ -1526,7 +1526,7 @@ def get_size(self):

def label_list(value, prop_num, description):
if not isinstance(value, Array):
raise generic.ScriptError(description + " list must be an array of literal strings", value.pos)
raise generic.ScriptError(f"{description} list must be an array of literal strings", value.pos)
return [LabelListProp(prop_num, value.values)]


Expand Down Expand Up @@ -1642,7 +1642,7 @@ def write(self, file):
for item in self.items:
val = item.reduce_constant().value
if val > 0xFF or val < 0:
raise generic.ScriptError(self.description + " items must be bytes", self.pos)
raise generic.ScriptError(f"{self.description} items must be bytes", self.pos)
file.print_byte(val)
file.newline()

Expand All @@ -1652,7 +1652,7 @@ def get_size(self):

def byte_sequence_list(value, prop_num, description, expected_count):
if not isinstance(value, Array) or len(value.values) != expected_count:
raise generic.ScriptError(description + " must be an array of " + str(expected_count) + " bytes", value.pos)
raise generic.ScriptError(f"{description} must be an array of {str(expected_count)} bytes", value.pos)
return [ByteSequenceProp(prop_num, value.values, description, value.pos)]


Expand Down
6 changes: 3 additions & 3 deletions nml/actions/action2layout.py
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,7 @@ def _validate_offset(self, offset, spriteset, pos):
pos,
)
else:
raise generic.ScriptError("Expected 0 or 1 parameter, got " + str(len(offset)), pos)
raise generic.ScriptError(f"Expected 0 or 1 parameter, got {str(len(offset))}", pos)
return offset

def resolve_spritegroup_ref(self, sg_ref):
Expand Down Expand Up @@ -355,10 +355,10 @@ def _validate_always_draw(self, name, value):

def _validate_bounding_box(self, name, value):
if self.type == Action2LayoutSpriteType.GROUND:
raise generic.ScriptError(name + " can not be set for ground sprites", value.pos)
raise generic.ScriptError(f"{name} can not be set for ground sprites", value.pos)
elif self.type == Action2LayoutSpriteType.CHILD:
if name not in ("xoffset", "yoffset"):
raise generic.ScriptError(name + " can not be set for child sprites", value.pos)
raise generic.ScriptError(f"{name} can not be set for child sprites", value.pos)
if isinstance(value, expression.ConstantNumeric):
generic.check_range(value.value, 0, 255, name, value.pos)
return value
Expand Down
2 changes: 1 addition & 1 deletion nml/actions/action5.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ def parse_action5(replaces):
num_sprites = len(real_sprite_list)

if replaces.type.value not in action5_table:
raise generic.ScriptError(replaces.type.value + " is not a valid sprite replacement type", replaces.type.pos)
raise generic.ScriptError(f"{replaces.type.value} is not a valid sprite replacement type", replaces.type.pos)
type_id, num_required, block_type = action5_table[replaces.type.value]
offset = None

Expand Down
11 changes: 5 additions & 6 deletions nml/actions/real_sprite.py
Original file line number Diff line number Diff line change
Expand Up @@ -422,7 +422,7 @@ def debug_print(self, indentation):
def get_labels(self):
# Load labels from the template definition
if self.name.value not in sprite_template_map:
raise generic.ScriptError("Encountered unknown template identifier: " + self.name.value, self.name.pos)
raise generic.ScriptError(f"Encountered unknown template identifier: {self.name.value}", self.name.pos)
labels, offset = sprite_template_map[self.name.value].get_labels()
# Add (possibly) label applied to ourselves
if self.label is not None:
Expand All @@ -435,14 +435,13 @@ def get_labels(self):

def expand(self, default_file, default_mask_file, poslist, parameters):
if self.name.value not in sprite_template_map:
raise generic.ScriptError("Encountered unknown template identifier: " + self.name.value, self.name.pos)
raise generic.ScriptError(f"Encountered unknown template identifier: {self.name.value}", self.name.pos)
template = sprite_template_map[self.name.value]
if len(self.param_list) != len(template.param_list):
raise generic.ScriptError(
"Incorrect number of template arguments. Expected "
+ str(len(template.param_list))
+ ", got "
+ str(len(self.param_list)),
"Incorrect number of template arguments. Expected {}, got {}".format(
str(len(template.param_list)), str(len(self.param_list))
),
self.pos,
)
param_dict = {}
Expand Down
2 changes: 1 addition & 1 deletion nml/ast/alt_sprites.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ def __init__(self, param_list, sprite_list, pos):
base_statement.BaseStatement.__init__(self, "alt_sprites-block", pos)
if not (3 <= len(param_list) <= 5):
raise generic.ScriptError(
"alternative_sprites-block requires 3 or 4 parameters, encountered " + str(len(param_list)), pos
f"alternative_sprites-block requires 3 or 4 parameters, encountered f{str(len(param_list))}", pos
)

self.name = param_list[0]
Expand Down
2 changes: 1 addition & 1 deletion nml/ast/error.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ def __init__(self, param_list, pos):
base_statement.BaseStatement.__init__(self, "error()", pos)
if not 2 <= len(param_list) <= 5:
raise generic.ScriptError(
"'error' expects between 2 and 5 parameters, got " + str(len(param_list)), self.pos
f"'error' expects between 2 and 5 parameters, got {str(len(param_list))}", self.pos
)
self.severity = param_list[0]
self.msg = param_list[1]
Expand Down
2 changes: 1 addition & 1 deletion nml/ast/font.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ def __init__(self, param_list, sprite_list, name, pos):
sprite_container.SpriteContainer.__init__(self, "font_glyph-block", name)
if not (2 <= len(param_list) <= 3):
raise generic.ScriptError(
"font_glyph-block requires 2 or 3 parameters, encountered " + str(len(param_list)), pos
f"font_glyph-block requires 2 or 3 parameters, encountered {str(len(param_list))}", pos
)
self.font_size = param_list[0]
self.base_char = param_list[1]
Expand Down
4 changes: 2 additions & 2 deletions nml/ast/grf.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ def __init__(self, alist, pos):
elif assignment.name.value == "min_compatible_version":
self.min_compatible_version = assignment.value
else:
raise generic.ScriptError("Unknown item in GRF-block: " + str(assignment.name), assignment.name.pos)
raise generic.ScriptError(f"Unknown item in GRF-block: {str(assignment.name)}", assignment.name.pos)

def register_names(self):
generic.OnlyOnce.enforce(self, "GRF-block")
Expand Down Expand Up @@ -301,7 +301,7 @@ def set_property(self, name, value):
if self.type == "bool" and self.def_val.value != 0 and self.def_val.value != 1:
raise generic.ScriptError("setting-def_value must be either 0 or 1 for 'bool' settings", value.pos)
else:
raise generic.ScriptError("Unknown setting-property " + name, value.pos)
raise generic.ScriptError(f"Unknown setting-property {name}", value.pos)


class ParameterDescription:
Expand Down
4 changes: 2 additions & 2 deletions nml/ast/replace.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ def __init__(self, param_list, sprite_list, name, pos):

num_params = len(param_list)
if not (1 <= num_params <= 2):
raise generic.ScriptError("replace-block requires 1 or 2 parameters, encountered " + str(num_params), pos)
raise generic.ScriptError(f"replace-block requires 1 or 2 parameters, encountered {str(num_params)}", pos)
self.start_id = param_list[0]
if num_params >= 2:
self.image_file = param_list[1].reduce()
Expand Down Expand Up @@ -112,7 +112,7 @@ def __init__(self, param_list, sprite_list, name, pos):
num_params = len(param_list)
if not (1 <= num_params <= 3):
raise generic.ScriptError(
"replacenew-block requires 1 to 3 parameters, encountered " + str(num_params), pos
f"replacenew-block requires 1 to 3 parameters, encountered {str(num_params)}", pos
)

self.type = param_list[0]
Expand Down
4 changes: 2 additions & 2 deletions nml/ast/spriteblock.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ def pre_process(self):
)
elif sprite.name.value not in real_sprite.sprite_template_map:
raise generic.ScriptError(
"Encountered unknown template identifier: " + sprite.name.value, sprite.pos
f"Encountered unknown template identifier: {sprite.name.value}", sprite.pos
)
# Register template
if self.name.value not in real_sprite.sprite_template_map:
Expand Down Expand Up @@ -88,7 +88,7 @@ class SpriteSet(spriteset_base_class, sprite_container.SpriteContainer):
def __init__(self, param_list, sprite_list, pos):
base_statement.BaseStatement.__init__(self, "spriteset", pos, False, False)
if not (1 <= len(param_list) <= 5):
raise generic.ScriptError("Spriteset requires 1 to 5 parameters, encountered " + str(len(param_list)), pos)
raise generic.ScriptError(f"Spriteset requires 1 to 5 parameters, encountered {str(len(param_list))}", pos)
name = param_list[0]
if not isinstance(name, expression.Identifier):
raise generic.ScriptError("Spriteset parameter 1 'name' should be an identifier", name.pos)
Expand Down
4 changes: 2 additions & 2 deletions nml/ast/switch.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ def __init__(self, param_list, body, pos):
base_statement.BaseStatement.__init__(self, "switch-block", pos, False, False)
if len(param_list) < 4:
raise generic.ScriptError(
"Switch-block requires at least 4 parameters, encountered " + str(len(param_list)), pos
f"Switch-block requires at least 4 parameters, encountered {str(len(param_list))}", pos
)
if not isinstance(param_list[1], expression.Identifier):
raise generic.ScriptError(
Expand Down Expand Up @@ -380,7 +380,7 @@ def pre_process(self):
self.triggers = self.triggers.reduce_constant(global_constants.const_list)
if not (0 <= self.triggers.value <= 255):
raise generic.ScriptError(
"random_switch parameter 4 'triggers' out of range 0..255, encountered " + str(self.triggers.value),
f"random_switch parameter 4 'triggers' out of range 0..255, encountered {str(self.triggers.value)}",
self.triggers.pos,
)

Expand Down
2 changes: 1 addition & 1 deletion nml/expression/cargo.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ def cargolabel(self):
for label, number in global_constants.cargo_numbers.items():
if number == self.cargotype:
return label
raise AssertionError("Cargo expression with unregistered cargotype at " + str(self.pos))
raise AssertionError(f"Cargo expression with unregistered cargotype at {str(self.pos)}")

def debug_print(self, indentation):
if self.value is None:
Expand Down
Loading
Loading