<chapter id="tools"> <title>Tools</title> <sect1 id="bin2res"> <title>bin2res</title> <para> Written by &name-juergen-schmied; <email>&email-juergen-schmied;</email> (11/99) </para> <para> (Extracted from <filename>wine/documentation/resources</filename>) </para> <para> This document desribes tools for handling resources within wine </para> <sect2> <title>bin2res</title> <para> This tool allows the editing of embedded binary resources within <filename>*.rc</filename> 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. </para> </sect2> <sect2> <title>Create binary files from an <filename>.rc</filename> file</title> <para> The resources in the <filename>.rc</filename> file have to be marked by a header: </para> <programlisting> /* 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' </programlisting> <para> <constant>BINRES</constant> is the keyword followed by a filename. <command>bin2res -d bin rsrc.rc</command> generates binary files from all marked resources. If the binary file is newer it gets not overwritten. To force overwriting use the <parameter>-f</parameter> switch. </para> </sect2> <sect2> <title>Create a <filename>.rc</filename> file from binaries</title> <para> Put a header followed by empty brackets in the <filename>.rc</filename> file. </para> <programlisting> /* BINRES idb_std_small.bmp */ {} </programlisting> <para> Then run <command>bin2res rsrc.rc</command>. It will merge the resources into the <filename>.rc</filename> file if the binary resources are newer than the.rc file. To force the resources into the <filename>.rc</filename> file use the <parameter>-f</parameter> switch. If there is already a resource with the same filename in the <filename>.rc</filename> file it gets overwritten. </para> </sect2> <sect2> <title>output of <command>bin2res</command></title> <programlisting> bash-2.03# ../../tools/bin2res -d bin shres.rc [000.ico:c][003.ico:c][008.ico:s][015.ico:s][034.ico:s] </programlisting> <para> <literal>s</literal> means skipped, <literal>c</literal> means changed. </para> </sect2> </sect1> </chapter> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-parent-document:("wine-doc.sgml" "set" "book" "part" "chapter" "") End: -->