mirror of
https://github.com/pret/pokemon-reverse-engineering-tools.git
synced 2026-03-21 17:24:42 -05:00
parent
c6dcd9b9be
commit
661004c969
|
|
@ -5,7 +5,6 @@ import sys
|
|||
import png
|
||||
from math import sqrt, floor, ceil
|
||||
import argparse
|
||||
import yaml
|
||||
import operator
|
||||
|
||||
import configuration
|
||||
|
|
@ -687,50 +686,14 @@ def png_to_rgb(palette):
|
|||
return output
|
||||
|
||||
|
||||
def read_yaml_arguments(filename, yaml_filename = os.path.join(config.path, 'gfx.yaml'), path_arguments = ['pal_file']):
|
||||
|
||||
parsed_arguments = {}
|
||||
|
||||
# Read arguments from gfx.yaml if it exists.
|
||||
if os.path.exists(yaml_filename):
|
||||
yargs = yaml.load(open(yaml_filename))
|
||||
dirs = os.path.splitext(filename)[0].split('/')
|
||||
current_path = os.path.dirname(filename)
|
||||
path = []
|
||||
while yargs:
|
||||
for key, value in yargs.items():
|
||||
# Follow directories to the bottom while picking up keys.
|
||||
# Try not to mistake other files for keys.
|
||||
parsed_path = os.path.join( * (path + [key]) )
|
||||
for guessed_path in map(parsed_path.__add__, ['', '.png']):
|
||||
if os.path.exists(guessed_path) or '.' in key:
|
||||
if guessed_path != filename:
|
||||
continue
|
||||
if key in path_arguments:
|
||||
value = os.path.join(current_path, value)
|
||||
parsed_arguments[key] = value
|
||||
if not dirs:
|
||||
break
|
||||
yargs = yargs.get(dirs[0], {})
|
||||
path.append(dirs.pop(0))
|
||||
|
||||
return parsed_arguments
|
||||
|
||||
def read_filename_arguments(filename, yaml_filename = os.path.join(config.path, 'gfx.yaml'), path_arguments = ['pal_file']):
|
||||
def read_filename_arguments(filename):
|
||||
"""
|
||||
Infer graphics conversion arguments given a filename.
|
||||
|
||||
If it exists, ./gfx.yaml is traversed for arguments.
|
||||
Then additional arguments within the filename (separated with ".") are grabbed.
|
||||
Arguments are separated with '.'.
|
||||
"""
|
||||
parsed_arguments = {}
|
||||
|
||||
parsed_arguments.update(read_yaml_arguments(
|
||||
filename,
|
||||
yaml_filename = yaml_filename,
|
||||
path_arguments = path_arguments
|
||||
))
|
||||
|
||||
int_arguments = {
|
||||
'w': 'width',
|
||||
'h': 'height',
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user