3db94ef2ec
Sat Sep 27 12:36:56 1997 Alexandre Julliard <julliard@lrc.epfl.ch> * [if1632/relay.c] Made Catch and Throw also save %si and %di (untested). * [memory/selector.c] Added check for %fs and %gs in SELECTOR_FreeBlock. * [rc/winerc.c] Generated files no longer depend on Wine includes. Made .h generation optional. * [tools/build.c] [loader/task.c] Added CALL32_Init function. Added possibility to pass arguments when using CALLTO16_regs_. 32-bit stack pointer is now saved on the 16-bit stack, instead of using IF1632_Saved32_esp. Removed CallTo32 callbacks. * [tools/makedep.c] [*/Makefile.in] Added support for directly generating dependencies for .y, .l and .rc files. Modified the makefiles to use this feature. * [windows/winproc.c] [if1632/thunk.c] Use CALLTO16_regs to call window procedures. Thu Sep 25 12:18:57 1997 Kristian Nielsen <kristian.nielsen@risoe.dk> * [if1632/kernel.spec] Changed entry for SwitchStackBack to remove arguments from stack upon return (arguments left over from previous SwitchStackTo()). Borland C++ 4.0 now compiles "Hello World" (but crashes after outputting the .exe). Wed Sep 24 13:54:44 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de> * [files/directory.c] SearchPath might get NULL buffer (empty LRU list in wordpad). * [memory/selector.c] Added SUnMapLS*. * [loader/pe_image.c] Be able to run executeables from non mmap()ble filesystems. PE_LoadLibrary adds librarys loaded by another process to its own modref list too. * [windows/keyboard.c][include/accel.h][loader/resource.c] Fixed accelerator leakage, use SDK defines/names. * [graphics/env.c][misc/main.c] Set/GetEnvironemnt have nothing to do with environment vars, but with Printer Environment. * [graphics/escape.c] Escape32: map args back to segmented pointers. * [windows/win.c] WS_POPUP|WS_CHILD windows don't need a parent window (SDK). Tue Sep 16 14:40:16 1997 Robert Wilhelm <robert@physiol.med.tu-muenchen.de> * [if1632/crtdll.spec] [misc/crtdll.c] Added signal(). |
||
---|---|---|
.. | ||
Makefile.in | ||
README | ||
README.sysres | ||
TODO | ||
parser.h | ||
parser.l | ||
parser.y | ||
systest.c | ||
winelogo.bmp | ||
winerc.c |
README
This is winerc, the resource compiler for the Wine project. It takes the same input as rc.exe, but generates C files as output. These C files can be linked together with the application, which can access the resource data directly instead of using FindResource/LoadResource/LockResource. The generated C code contains arrays, which represent the resource as if it was obtained from LoadResource. A table to map resource names to pointers is also available. Primary applications are the resources of sysres.dll and a future commdlg.dll, but the use in the library version is possible as well. The expected advantage of using winerc over sysres.dll is a speed improvement, however, actual data to support that claim are not available. The use of winerc might also simplifies the source code. For example, the system menu is managed in the function CopySysMenu (controls/menu.c). A winerc-based implementation would just call return LoadMenuIndirect(_Sysres_SYSMENU); As the resources are already in the Wine image, they are loaded on demand as any other part of a Unix executable image. Current State This is the first release of winerc. It is alpha software, as the rest of Wine is. If you use it for replacing sysres.dll, or if you write other parts of Wine which require resource (like commdlg), you will probably notice a loss in stability. This is especially true for cursor and icon resources, as they are unlikely to work at all. See the TODO file for details. Copying The license for Wine applies for winerc as well. Read the files LICENSE and WARRANTY in the current or any future distribution for details. You can change any source files, and you can add your own copyright notice, as long as you leave the existing copyrights intact. Bug Reports and Fixes If you find a bug in winerc, you can report it to me, martin@cs.csufresno.edu (Martin von Loewis) or to comp.emulators.ms-windows.wine. If you can fix the bug, send the diffs and ChangeLog entry to julliard@lrc.epfl.ch (Alexandre Julliard).