Commit Graph

19 Commits

Author SHA1 Message Date
Lephenixnoir 8c966821e8
fxconv: fix bad detection of fxconv-metadata.txt for relative paths 2022-11-05 18:44:33 +01:00
Lephenixnoir 90d5e723e0
fxconv: explicit error when no metadata is set for a file 2022-01-28 19:07:53 +01:00
Lephenixnoir 41c7ac0aec
fxconv: allow custom-type to work as type 2022-01-28 19:07:38 +01:00
Lephenixnoir f17d741d54
fxconv: fix CLI which was broken since 4d46661d3 2022-01-26 20:54:40 +01:00
Lephenixnoir 4d46661d3b
fxconv: expose fxconv-metadata.txt parsing functions in API 2021-12-28 18:37:40 +01:00
Lephenixnoir 68be7fe522
fxconv: allow section specification from fxconv-metadata.txt 2021-09-26 10:55:20 +02:00
Lephenixnoir 64ebb69f9b
fxconv: import specifically importlib.util 2021-06-02 10:12:03 +02:00
Lephenixnoir ed10e727df
fxconv: enable custom types in the fxconv-metadata.txt system
Set the custom type with "custom-type: your_type_name" (instead of using
--custom on the command-line).

The converter.py in the current directory is still auto-detected as a
custom converter, but that won't work with CMake (which builds with the
build folder as current directory). Instead, a new option --converters=
with a semicolon-separated of Python files has been added. Use
fxconv_declare_converters() from the fxSDK-provided Fxconv module to
declare them programatically in CMake.
2021-05-04 17:38:28 +02:00
Lephenixnoir 8259e2dfc8
fxconv: add a generic name_regex parameter to simplify naming 2021-01-29 14:29:36 +01:00
Lephenixnoir 2596a53c6b
(irrelevant fixes) 2021-01-29 14:29:25 +01:00
Lephenixnoir ee7c5d63ca
(small cleanup) 2021-01-12 18:53:32 +01:00
Lephenixnoir 42f2b5c175
fxconv: support metadata discovery in fxconv-metadata.txt
This change adds a new way for fxconv to discover metadata for file
conversions. This complements the existing mechanism of passing
parameters on the command-line.

The new mechanism activates when fxconv is called without a type
argument. Type information and metadata are searched in an
fxconv-metadata.txt file in the same folder as the resource. The
metadata file lists parameters, with some additional flexibility enabled
by the use of wildcards.

This way of declaring will replace command-line argument passing, which
currently read parameters from the unreadable and not-so-maitainable
project.cfg file. Both the GNU make and CMake build systems should use
it in the future. The current way is still supported only for older
projects and one-shot conversions outside of projects.
2021-01-11 19:21:04 +01:00
Lephenixnoir ee9c459c69
fxconv: add custom conversions
Custom conversions can be used by:
* Providing a converters.py in the main directory with a convert()
  function
* Specifying --custom on the fxconv command-line or using a subfolder or
  assets-{fx,cg} unused by standard fxconv
2020-10-23 13:05:50 +02:00
Lephenixnoir ce78d4814c
fxconv: add support for script mode (-s) 2020-05-30 12:17:06 +02:00
Lephenixnoir c79b3b1a9d
fxconv: add suport for libimg images and deprecate --image
This commit introduces the libimg image format, selected with the option
type:libimg-image. To avoid confusion with the bopti image format,
options -i and --image are now deprecated and should be replaced with
--bopti-image or type:bopti-image. The fxSDK Makefile has been updated
accordingly.

To support the construction of a structure that contains a pointer in
fxconv, an assembly-code feature has been added. The structure itself is
assembled with as and then linked with the data proper. This allows the
structure to reference the data by name and have the pointer calculated
by ld at link time.
2020-03-11 19:37:27 +01:00
Lephenixnoir d74785d34d
fxconv: add toolchain/arch/section command-line parameters
New parameters are:
* --toolchain: specify the target triplet (eg. "sh3eb-elf")
* --arch: specify the binary architecture (eg. "sh3")
* --section: specify the output section (eg. ".rodata")
2019-09-09 09:18:59 +02:00
Lephe e1ddf0f452 fxconv: code review and color image conversion
This change enhances the style of fxconv by using more classes and
generally more Pythonic constructions.

It also introduces image conversion for fx-CG 50, requiring the use
of --fx or --cg to specify the target machine with -i. The default
is set to --fx to maintain compatibility with older Makefiles.
2019-08-04 14:05:59 +02:00
Lephe f8dc830adc fxconv: proportional fonts
Lost commit.
2019-07-01 10:45:58 -04:00
Lephe d19025bbc9 fxsdk: initial push for gint v2 (WIP but mostly done) 2019-03-21 22:54:06 +01:00