diff --git a/butano/include/bn_documentation.h b/butano/include/bn_documentation.h
index e2c33ab45..a3f3aa583 100644
--- a/butano/include/bn_documentation.h
+++ b/butano/include/bn_documentation.h
@@ -1264,6 +1264,7 @@
*
* * bn::sprite_ptr::put_below, bn::regular_bg_ptr::put_below and bn::affine_bg_ptr::put_below added.
* * H-Blank effects IWRAM usage reduced.
+ * * butano-graphics-tool.py errors reporting improved.
*
*
* @section changelog_5_1_0 5.1.0
diff --git a/butano/tools/butano-graphics-tool.py b/butano/tools/butano-graphics-tool.py
index 75f9de66a..4e5cf226d 100755
--- a/butano/tools/butano-graphics-tool.py
+++ b/butano/tools/butano-graphics-tool.py
@@ -1046,7 +1046,7 @@ def process(graphics_folder_paths, build_folder_path):
pool.close()
total_size = 0
- process_exc = None
+ process_excs = []
for process_result in process_results:
if len(process_result) == 3:
@@ -1055,13 +1055,15 @@ def process(graphics_folder_paths, build_folder_path):
print(' ' + str(process_result[0]) + ' item header written in ' + str(process_result[1]) +
' (graphics size: ' + str(file_size) + ' bytes)')
else:
- process_exc = process_result
+ process_excs.append(process_result)
sys.stdout.flush()
- if process_exc is not None:
- sys.stderr.write(str(process_exc[0]) + ' processing failed!\n')
- raise process_exc[1]
+ if len(process_excs) > 0:
+ for process_exc in process_excs:
+ sys.stderr.write(str(process_exc[0]) + ' error: ' + str(process_exc[1]) + '\n')
+
+ exit(-1)
print(' ' + 'Processed graphics size: ' + str(total_size) + ' bytes')
diff --git a/docs/changelog.html b/docs/changelog.html
index eec208a5e..5963a5c5d 100644
--- a/docs/changelog.html
+++ b/docs/changelog.html
@@ -73,7 +73,7 @@
Contents
0.1.0
-- bn::sprite_font allows to specify space between characters.
- Background palettes bits per pixel mode can be specified by the user.
- Palettes change optimized.
- Unused palette colors are not exported anymore.
- bn::sprite_ptr::set_tiles() validation fixed.
- H-Blank effects EWRAM usage reduced (more than 2KB by default).
- Optimization level changed to
-O2
to avoid another No$gba crash. - SRAM code moved back from ROM to EWRAM, since doing that doesn't make No$gba crash anymore.
- Redundant reset code removed.
- Sprite and background palettes can be generated from images alone, without tiles nor maps.
<cstddef>
is always included (bn_cstddef.h
header file removed).- bn::unordered_map and bn::unordered_set assignment fixed.
- H-Blank effects optimized (it fixes
world_map
example flickering). - SRAM code moved from EWRAM to ROM to avoid a No$gba crash.
- HDMA properly supported (now it works at less than 60fps). See bn::hdma and the
hdma_polygons
example for more. - gba-link-connection remote timeout detection fixed.
- By removing some method overloads, lots of runtime asserts when creating resources have been removed.
- bn::palette_bpp_mode has been renamed to bn::bpp_mode and
bpp_mode()
methods have been renamed to bpp()
. - 8 bits per pixel background tiles allocation fixed.
btn
renamed to bn
. No more API breaks will be made between minor releases after 1.0.0, promise.- Background tiles manager status can be printed in the log with bn::bg_tiles::log_status(). This is done automatically when a non-optional background tiles allocation fails too.
- Background regular maps manager status can be printed in the log with bn::bg_maps::log_status(). This is done automatically when a non-optional regular background map allocation fails too.
- Sprite tiles manager status can be printed in the log with bn::sprite_tiles::log_status(). This is done automatically when a non-optional sprite tiles allocation fails too.
- Color palettes managers status can be printed in the log with bn::bg_palettes::log_status() and bn::sprite_palettes::log_status(). This is done automatically when a non-optional color palette allocation fails too.
- Sprites destruction optimized.
- Setters with an optional parameter added to some classes.
- Optional components documentation fixed.
- Other documentation improvements.
- Sprites update performance improved up to 30% in Butano Fighter thanks to avoid rebuilding sprites list as much as possible.
- Profiler can show the maximum measured ticks per entry.
- Assets tools print output binaries size.
- Performance improved up to 12% in Butano Fighter without
-flto
thanks to using less build translation units. - Documentation improved.
+- bn::sprite_font allows to specify space between characters.
- Background palettes bits per pixel mode can be specified by the user.
- Palettes change optimized.
- Unused palette colors are not exported anymore.
- bn::sprite_ptr::set_tiles() validation fixed.
- H-Blank effects EWRAM usage reduced (more than 2KB by default).
- Optimization level changed to
-O2
to avoid another No$gba crash. - SRAM code moved back from ROM to EWRAM, since doing that doesn't make No$gba crash anymore.
- Redundant reset code removed.
- Sprite and background palettes can be generated from images alone, without tiles nor maps.
<cstddef>
is always included (bn_cstddef.h
header file removed).- bn::unordered_map and bn::unordered_set assignment fixed.
- H-Blank effects optimized (it fixes
world_map
example flickering). - SRAM code moved from EWRAM to ROM to avoid a No$gba crash.
- HDMA properly supported (now it works at less than 60fps). See bn::hdma and the
hdma_polygons
example for more. - gba-link-connection remote timeout detection fixed.
- By removing some method overloads, lots of runtime asserts when creating resources have been removed.
- bn::palette_bpp_mode has been renamed to bn::bpp_mode and
bpp_mode()
methods have been renamed to bpp()
. - 8 bits per pixel background tiles allocation fixed.
btn
renamed to bn
. No more API breaks will be made between minor releases after 1.0.0, promise.- Background tiles manager status can be printed in the log with bn::bg_tiles::log_status(). This is done automatically when a non-optional background tiles allocation fails too.
- Background regular maps manager status can be printed in the log with bn::bg_maps::log_status(). This is done automatically when a non-optional regular background map allocation fails too.
- Sprite tiles manager status can be printed in the log with bn::sprite_tiles::log_status(). This is done automatically when a non-optional sprite tiles allocation fails too.
- Color palettes managers status can be printed in the log with bn::bg_palettes::log_status() and bn::sprite_palettes::log_status(). This is done automatically when a non-optional color palette allocation fails too.
- Sprites destruction optimized.
- Setters with an optional parameter added to some classes.
- Optional components documentation fixed.
- Other documentation improvements.
- Sprites update performance improved up to 30% in Butano Fighter thanks to avoid rebuilding sprites list as much as possible.
- Profiler can show the maximum measured ticks per entry.
- Assets tools print output binaries size.
- Performance improved up to 12% in Butano Fighter without
-flto
thanks to using less build translation units. - Documentation improved.