Changeset 581 for trunk/src


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

PE loader resource convertion changes

Location:
trunk/src/kernel32
Files:
5 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/kernel32exp.def

    r550 r581  
    1 ; $Id: kernel32exp.def,v 1.10 1999-08-18 17:18:00 sandervl Exp $
     1; $Id: kernel32exp.def,v 1.11 1999-08-19 14:19:14 sandervl Exp $
    22
    33;Created by BLAST for IBM's compiler
     
    841841   _GetThreadTHDB@0                        @1235
    842842
     843   _CreateWin32Exe@4                       @1236
  • trunk/src/kernel32/makefile

    r576 r581  
    1 # $Id: makefile,v 1.19 1999-08-19 12:53:18 sandervl Exp $
     1# $Id: makefile,v 1.20 1999-08-19 14:19:15 sandervl Exp $
    22
    33#
     
    7676       disk.obj \
    7777       directory.obj \
     78       cvtbitmap.obj \
     79       cvtmenu.obj \
     80       cvtaccel.obj \
     81       cvticon.obj \
    7882       stubs.obj
    7983
     
    349353stubs.obj:     stubs.cpp stubs.h
    350354
     355cvtbitmap.obj: cvtbitmap.cpp $(PDWIN32_INCLUDE)\winicon.h $(PDWIN32_INCLUDE)\misc.h cvtresource.h
     356cvtmenu.obj: cvtmenu.cpp $(PDWIN32_INCLUDE)\winmenu.h $(PDWIN32_INCLUDE)\misc.h cvtresource.h
     357cvtaccel.obj: cvtaccel.cpp $(PDWIN32_INCLUDE)\winaccel.h $(PDWIN32_INCLUDE)\misc.h cvtresource.h
     358cvticon.obj: cvticon.cpp $(PDWIN32_INCLUDE)\winicon.h $(PDWIN32_INCLUDE)\misc.h cvtresource.h
    351359
    352360clean:
  • 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.