X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Feditor%2Fg_textures.pas;h=786229a847ef6dd5777801191e59647400c89950;hb=6fb9c23afad22a71679525dc44ea32675d73609f;hp=5cad990728fdeef920044afd92044e06680ab12e;hpb=b72e164f0fb64e3301ae8ca217449daf6a9d301d;p=d2df-editor.git diff --git a/src/editor/g_textures.pas b/src/editor/g_textures.pas index 5cad990..786229a 100644 --- a/src/editor/g_textures.pas +++ b/src/editor/g_textures.pas @@ -1,10 +1,10 @@ unit g_textures; -{$MODE Delphi} +{$INCLUDE ../shared/a_modes.inc} interface -uses LCLIntf, LCLType, LMessages, e_graphics; +uses LCLIntf, LCLType, LMessages, e_graphics, utils; function g_SimpleCreateTextureWAD(var ID: DWORD; Resource: string): Boolean; function g_SimpleCreateTextureWADSize(var ID: DWORD; Resource: string; @@ -13,7 +13,7 @@ function g_SimpleCreateTextureWADSize(var ID: DWORD; Resource: string; function g_CreateTextureWAD(TextureName: ShortString; Resource: string; flag: Byte = 0): Boolean; function g_CreateTextureWADSize(TextureName: ShortString; Resource: string; X, Y, Width, Height: Word; flag: Byte = 0): Boolean; -function g_CreateTextureMemorySize(pData: Pointer; Name: ShortString; X, Y, +function g_CreateTextureMemorySize(pData: Pointer; dataLen: Integer; Name: ShortString; X, Y, Width, Height: Word; flag: Byte = 0): Boolean; function g_GetTexture(TextureName: ShortString; var ID: DWORD): Boolean; @@ -80,9 +80,9 @@ begin WAD := TWADEditor_1.Create; WAD.ReadFile(FileName); - if WAD.GetResource(SectionName, ResourceName, TextureData, ResourceLength) then + if WAD.GetResource(utf2win(SectionName), utf2win(ResourceName), TextureData, ResourceLength) then begin - if e_CreateTextureMem(TextureData, ID) then Result := True; + if e_CreateTextureMem(TextureData, ResourceLength, ID) then Result := True; FreeMem(TextureData); end else @@ -93,7 +93,7 @@ begin WAD.Destroy; end; -function g_CreateTextureMemorySize(pData: Pointer; Name: ShortString; X, Y, +function g_CreateTextureMemorySize(pData: Pointer; dataLen: Integer; Name: ShortString; X, Y, Width, Height: Word; flag: Byte = 0): Boolean; var find_id: DWORD; @@ -104,7 +104,7 @@ begin find_id := FindTexture; - if not e_CreateTextureMemEx(pData, TexturesArray[find_id].ID, X, Y, Width, Height) then + if not e_CreateTextureMemEx(pData, dataLen, TexturesArray[find_id].ID, X, Y, Width, Height) then begin FreeMem(pData); Exit; @@ -137,9 +137,9 @@ begin WAD := TWADEditor_1.Create; WAD.ReadFile(FileName); - if WAD.GetResource(SectionName, ResourceName, TextureData, ResourceLength) then + if WAD.GetResource(utf2win(SectionName), utf2win(ResourceName), TextureData, ResourceLength) then begin - Result := e_CreateTextureMem(TextureData, TexturesArray[find_id].ID); + Result := e_CreateTextureMem(TextureData, ResourceLength, TexturesArray[find_id].ID); FreeMem(TextureData); if Result then begin @@ -174,9 +174,9 @@ begin WAD := TWADEditor_1.Create; WAD.ReadFile(FileName); - if WAD.GetResource(SectionName, ResourceName, TextureData, ResourceLength) then + if WAD.GetResource(utf2win(SectionName), utf2win(ResourceName), TextureData, ResourceLength) then begin - if e_CreateTextureMemEx(TextureData, ID, X, Y, Width, Height) then Result := True; + if e_CreateTextureMemEx(TextureData, ResourceLength, ID, X, Y, Width, Height) then Result := True; FreeMem(TextureData); end else @@ -205,9 +205,9 @@ begin WAD := TWADEditor_1.Create; WAD.ReadFile(FileName); - if WAD.GetResource(SectionName, ResourceName, TextureData, ResourceLength) then + if WAD.GetResource(utf2win(SectionName), utf2win(ResourceName), TextureData, ResourceLength) then begin - Result := e_CreateTextureMemEx(TextureData, TexturesArray[find_id].ID, X, Y, Width, Height); + Result := e_CreateTextureMemEx(TextureData, ResourceLength, TexturesArray[find_id].ID, X, Y, Width, Height); FreeMem(TextureData); if Result then begin