History log of /haiku/src/tools/generate_boot_screen.cpp
Revision Date Author Comments
# 72acf6a9 07-Feb-2022 Máximo Castañeda <antiswen@yahoo.es>

generate_boot_screen: fix build

Change-Id: I4ce2a45887fd2f562216aa49e1bd34269bcfdef8


# fce7f3a7 09-Dec-2020 X512 <danger_mail@list.ru>

integrate AutoDeleter's into pointers

Change-Id: I6c3925a7aec4d0647c76c2a03aad7b08985d7166
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3490
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# fdb0863f 05-Nov-2011 François Revol <revol@free.fr>

Fix some warnings: use accessor functions instead of deprecated struct fields.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43194 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 67938b0d 12-Jan-2011 Philippe Houdoin <philippe.houdoin@gmail.com>

Switched boot splash compression to use boot_zlib (which was already
used by tarfs anyway) instead of RLE.
While this should allows larger logo/icons, it doesn't remove the
current 300000 bytes size limits for haiku_loader, so #6710 is not yet fixed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40215 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 80ec0739 05-Oct-2010 Philippe Houdoin <philippe.houdoin@gmail.com>

When a literal sequence was following a 127 long run sequence, as found in splash_logo-development.png at 75x65,
the first literal value was skipped, breaking the RLE stream.
Fix #6255.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38890 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 052ef89f 23-Jun-2010 Ithamar R. Adema <ithamar.adema@team-embedded.nl>

* Fixes generate_boot_screen so it can be run as part of the build environment.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37238 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7c00dc0e 18-Jun-2010 Matt Madia <mattmadia@gmail.com>

From the libpng-1.2.x-to-1.4.x-summary.txt:
m. The function png_set_gray_1_2_4_to_8() was removed. It has been
deprecated since libpng-1.0.18 and 1.2.9, when it was replaced with
png_set_expand_gray_1_2_4_to_8() because the former function also
expanded palette images.
This allows generate_boot_screen to compile.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37173 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2e8db343 18-Jun-2010 Matt Madia <mattmadia@gmail.com>

Automatic whitespace cleanup. No functional change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37172 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ec56835f 28-Aug-2008 Stephan Aßmus <superstippi@gmx.de>

Patch by David Powell:
* Implement color palette generation for the boot splash images in the
generate_boot_screen build tool. Only 4-bit screen support is missing now.
* Adopted images.h with the new results from generate_boot_screen.

This should fix black boot screens for graphics cards that don't support
true color modes for the native resolution. I've tried to find the ticket,
#2177 almost looks like the one, but it looks more like the mode is out
of range if I understand the ticket right.

Thanks a lot, David, and sorry it took so very long to apply your patch!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27223 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 636bff2f 06-Apr-2008 Stephan Aßmus <superstippi@gmx.de>

Patch by Philippe Saint-Pierre:
* Revised the RLE algorithm used for compressing the boot splash artwork to
handle uncompressed runs.
* Compress the RGB channels separately for improved efficiency.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24844 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d0fc7c65 05-Apr-2008 Stephan Aßmus <superstippi@gmx.de>

Patch by Philippe Saint-Pierre:
* Implemented RLE compression for the boot splash images, resulting in
smaller kernel and boot loader.
* Only the boot loader contains the RLE compressed images, the decompressed
buffer for the icons is passed to the kernel via kernel args.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24812 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f408d9a2 03-Apr-2008 Stephan Aßmus <superstippi@gmx.de>

* Renamed placement constants to fit into the existing scheme.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24767 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a6e227c5 03-Apr-2008 Stephan Aßmus <superstippi@gmx.de>

* Changed the generate_boot_screen build tool to take placement parameters
for the logo and the icons separately.
* Image data output uses full line width.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24766 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 55ef60a5 18-Mar-2008 Stephan Aßmus <superstippi@gmx.de>

* Removed the Copyright image/rendering.
* Fixed the icons image, it was upside down.
* Support the new 24 bit boot screen images in the boot_loader and the kernel.
* Prepare the code for future indexed versions of the boot screen images.
But the generate_boot_screen tool currently does not generate those.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24449 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a3636f92 18-Mar-2008 Stephan Aßmus <superstippi@gmx.de>

* Removed almost all global variables.
* Release the resources needed for reading the PNGs and storing the image data.
* Change the semantics of the tool, previously it only supported palette mode
PNGs. Now I am doing the opposite, the tool tries to set up the PNG lib to
hand out RGB data, even stripping a potential alpha channel.
* Used standard Haiku license header.
* Improved output syntax.
* No longer depends on input image names, even with paths. The generated
output needs to have fixed names, or else the other source code will break.
* Made the use of the setjmp feature optional, depending on the PNG lib version
in use. This makes it possible to build the tool on BeOS without updating
the installed PNG lib.
* Added a few TODOs. Most important is to generate a single palette for all
three images, and storing the images in their palette representation along
with the full quality versions, so that they are ready during boot without
sucking up too many CPU cycles.

NOTE: The header which is now generated is not usable by the rest of the
source code yet, but that will come later. generate_boot_screen is not
integrated yet anyways.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24446 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2ca4cee1 18-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Renamed hbsg to generate_boot_screen and moved it to src/tools.
* Build generate_boot_screen as a build platform tool. It requires
libpng to be installed.
* Added output file name as fourth argument.
* Replaced unnecessarily complicated
fwrite(<string>, strlen(<string>),...) and sprintf()+fwrite()
constructs by fputs() and fprintf() respectively.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24440 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fdb0863fbe0a068dcca20fb7f8a9bf69907e7950 05-Nov-2011 François Revol <revol@free.fr>

Fix some warnings: use accessor functions instead of deprecated struct fields.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43194 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 67938b0d5919afd47cc4484aa874e6977f39aebb 12-Jan-2011 Philippe Houdoin <philippe.houdoin@gmail.com>

Switched boot splash compression to use boot_zlib (which was already
used by tarfs anyway) instead of RLE.
While this should allows larger logo/icons, it doesn't remove the
current 300000 bytes size limits for haiku_loader, so #6710 is not yet fixed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40215 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 80ec073916fefa21896e59006a50bc247813c976 05-Oct-2010 Philippe Houdoin <philippe.houdoin@gmail.com>

When a literal sequence was following a 127 long run sequence, as found in splash_logo-development.png at 75x65,
the first literal value was skipped, breaking the RLE stream.
Fix #6255.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38890 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 052ef89f0f9cde98cc7553b605dd6246d884c83b 23-Jun-2010 Ithamar R. Adema <ithamar.adema@team-embedded.nl>

* Fixes generate_boot_screen so it can be run as part of the build environment.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37238 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7c00dc0e3549650646a96d31af5e274c75f672c2 18-Jun-2010 Matt Madia <mattmadia@gmail.com>

From the libpng-1.2.x-to-1.4.x-summary.txt:
m. The function png_set_gray_1_2_4_to_8() was removed. It has been
deprecated since libpng-1.0.18 and 1.2.9, when it was replaced with
png_set_expand_gray_1_2_4_to_8() because the former function also
expanded palette images.
This allows generate_boot_screen to compile.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37173 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2e8db3436ae712c4edd0745affeb7fbeeffb5215 18-Jun-2010 Matt Madia <mattmadia@gmail.com>

Automatic whitespace cleanup. No functional change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37172 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ec56835f51246e8d90204817e02199e58199c019 28-Aug-2008 Stephan Aßmus <superstippi@gmx.de>

Patch by David Powell:
* Implement color palette generation for the boot splash images in the
generate_boot_screen build tool. Only 4-bit screen support is missing now.
* Adopted images.h with the new results from generate_boot_screen.

This should fix black boot screens for graphics cards that don't support
true color modes for the native resolution. I've tried to find the ticket,
#2177 almost looks like the one, but it looks more like the mode is out
of range if I understand the ticket right.

Thanks a lot, David, and sorry it took so very long to apply your patch!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27223 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 636bff2fd2d392e10c895927c89ecd8d13224369 06-Apr-2008 Stephan Aßmus <superstippi@gmx.de>

Patch by Philippe Saint-Pierre:
* Revised the RLE algorithm used for compressing the boot splash artwork to
handle uncompressed runs.
* Compress the RGB channels separately for improved efficiency.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24844 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d0fc7c65c615c56e6571049df8ef6efec3204793 05-Apr-2008 Stephan Aßmus <superstippi@gmx.de>

Patch by Philippe Saint-Pierre:
* Implemented RLE compression for the boot splash images, resulting in
smaller kernel and boot loader.
* Only the boot loader contains the RLE compressed images, the decompressed
buffer for the icons is passed to the kernel via kernel args.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24812 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f408d9a22775032dfc315879539d0a4a843594be 03-Apr-2008 Stephan Aßmus <superstippi@gmx.de>

* Renamed placement constants to fit into the existing scheme.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24767 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a6e227c5510f7ca58319da1c90cef40b08127d1e 03-Apr-2008 Stephan Aßmus <superstippi@gmx.de>

* Changed the generate_boot_screen build tool to take placement parameters
for the logo and the icons separately.
* Image data output uses full line width.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24766 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 55ef60a5ae910d2f2ef255740640f3b659b06560 18-Mar-2008 Stephan Aßmus <superstippi@gmx.de>

* Removed the Copyright image/rendering.
* Fixed the icons image, it was upside down.
* Support the new 24 bit boot screen images in the boot_loader and the kernel.
* Prepare the code for future indexed versions of the boot screen images.
But the generate_boot_screen tool currently does not generate those.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24449 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a3636f92c0fc9b3c71d2ebf19b8ef19f8015a18b 18-Mar-2008 Stephan Aßmus <superstippi@gmx.de>

* Removed almost all global variables.
* Release the resources needed for reading the PNGs and storing the image data.
* Change the semantics of the tool, previously it only supported palette mode
PNGs. Now I am doing the opposite, the tool tries to set up the PNG lib to
hand out RGB data, even stripping a potential alpha channel.
* Used standard Haiku license header.
* Improved output syntax.
* No longer depends on input image names, even with paths. The generated
output needs to have fixed names, or else the other source code will break.
* Made the use of the setjmp feature optional, depending on the PNG lib version
in use. This makes it possible to build the tool on BeOS without updating
the installed PNG lib.
* Added a few TODOs. Most important is to generate a single palette for all
three images, and storing the images in their palette representation along
with the full quality versions, so that they are ready during boot without
sucking up too many CPU cycles.

NOTE: The header which is now generated is not usable by the rest of the
source code yet, but that will come later. generate_boot_screen is not
integrated yet anyways.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24446 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2ca4cee18f778d2d25b85cdd001dbc561752a36b 18-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Renamed hbsg to generate_boot_screen and moved it to src/tools.
* Build generate_boot_screen as a build platform tool. It requires
libpng to be installed.
* Added output file name as fourth argument.
* Replaced unnecessarily complicated
fwrite(<string>, strlen(<string>),...) and sprintf()+fwrite()
constructs by fputs() and fprintf() respectively.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24440 a95241bf-73f2-0310-859d-f6bbb57e9c96