Ignore:
Timestamp:
Aug 19, 1999, 4:19:15 PM (26 years ago)
Author:
sandervl
Message:

PE loader resource convertion changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/winres.cpp

    r576 r581  
    1 /* $Id: winres.cpp,v 1.7 1999-08-19 12:53:19 sandervl Exp $ */
     1/* $Id: winres.cpp,v 1.8 1999-08-19 14:19:15 sandervl Exp $ */
    22
    33/*
     
    2929#include <nameid.h>
    3030#include <winexe.h>
     31#include "cvtresource.h"
    3132
    3233static ULONG CalcBitmapSize(ULONG cBits, LONG cx, LONG cy)
     
    196197        rc = DosGetResource((HMODULE)module->hinstance, RT_BITMAP, id, (PPVOID)&resdata);
    197198        if(rc)  return(NULL);
    198         winresdata = ConvertBitmap((BITMAPFILEHEADER2 *)resdata);
     199        winresdata = convertOS2Bitmap((BITMAPFILEHEADER2 *)resdata);
    199200        break;
    200201
     
    273274   dprintf(("Win32Resource::lockOS2Resource %d\n", id));
    274275   if(os2resdata == NULL) {
    275         rc = DosGetResource((HMODULE)module->hinstance, orgos2type, id, (PPVOID)&resdata);
    276         if(rc)  return(NULL);
    277         os2resdata = resdata;
     276        if(resType == RSRC_PELOADER) {
     277                os2resdata = convertResource(winresdata);
     278        }
     279        else {
     280                rc = DosGetResource((HMODULE)module->hinstance, orgos2type, id, (PPVOID)&resdata);
     281                if(rc)  return(NULL);
     282                os2resdata = resdata;
     283        }
    278284   }
    279285   return os2resdata;
     
    281287//******************************************************************************
    282288//******************************************************************************
    283 PVOID Win32Resource::ConvertBitmap(void *bmpdata)
     289PVOID Win32Resource::convertResource(void *win32res)
     290{
     291 ULONG cvtressize;
     292
     293  switch(type) {
     294    case NTRT_NEWBITMAP:
     295    case NTRT_BITMAP:
     296        return ConvertBitmap((WINBITMAPINFOHEADER *)win32res, ressize, &ressize);
     297
     298    case NTRT_CURSOR:
     299    case NTRT_GROUP_CURSOR:
     300    case NTRT_GROUP_ICON:
     301    case NTRT_ICON:
     302        return ConvertIcon((WINBITMAPINFOHEADER *)win32res, ressize);
     303
     304    case NTRT_ACCELERATORS:
     305        return ConvertAccelerator((WINACCEL *)win32res, ressize);
     306
     307    case NTRT_NEWMENU:
     308    case NTRT_MENU:
     309        return ConvertMenu((MenuHeader *)win32res, ressize);
     310
     311    case NTRT_NEWDIALOG:
     312    case NTRT_DIALOG:
     313        break;
     314    case NTRT_FONTDIR:
     315    case NTRT_FONT:
     316    case NTRT_MESSAGETABLE:
     317    case NTRT_STRING:
     318    case NTRT_RCDATA:
     319    case NTRT_VERSION:
     320    default:
     321        break;
     322  }
     323  dprintf(("Win32Resource::convertResource: Can't convert resource %d (type %d)", id, type));
     324  return 0;
     325}
     326//******************************************************************************
     327//NOTE: Will be removed once pe2lx rewrite has been completed
     328//******************************************************************************
     329PVOID Win32Resource::convertOS2Bitmap(void *bmpdata)
    284330{
    285331 BITMAPFILEHEADER2   *bmphdr = (BITMAPFILEHEADER2 *)bmpdata;
Note: See TracChangeset for help on using the changeset viewer.