Chapter 7. Tools

7.1. bin2res

Written by Juergen Schmied (11/99)

(Extracted from wine/documentation/resources)

This document desribes tools for handling resources within wine

7.1.1. bin2res

This tool allows the editing of embedded binary resources within *.rc files. These resources are stored as hex dump so they can be stored within the cvs tree. This makes the editing of the embedded bitmaps and icons harder.

7.1.2. Create binary files from an .rc file

The resources in the .rc file have to be marked by a header:

/* BINRES idb_std_small.bmp */
IDB_STD_SMALL BITMAP LOADONCALL DISCARDABLE
{
  '42 4D 20 07 00 00 00 00 00 00 76 00 00 00 28 00'
        

BINRES is the keyword followed by a filename. bin2res -d bin rsrc.rc generates binary files from all marked resources. If the binary file is newer it gets not overwritten. To force overwriting use the -f switch.

7.1.3. Create a .rc file from binaries

Put a header followed by empty brackets in the .rc file.

/* BINRES idb_std_small.bmp */
{}
        

Then run bin2res rsrc.rc. It will merge the resources into the .rc file if the binary resources are newer than the.rc file. To force the resources into the .rc file use the -f switch. If there is already a resource with the same filename in the .rc file it gets overwritten.

7.1.4. output of bin2res

bash-2.03# ../../tools/bin2res -d bin shres.rc
[000.ico:c][003.ico:c][008.ico:s][015.ico:s][034.ico:s]
        

s means skipped, c means changed.