X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_textures.pas;h=9f551f5b830ce6a3aa19d1746256bec631750950;hb=92c7868df227201d6914f9f07c9a29ba0e2863cb;hp=1e66c8ee1556ee8634b813ff8d075667b857cb65;hpb=563e770b462d67b2c8265b0e2b53384152afb7c1;p=d2df-sdl.git diff --git a/src/game/g_textures.pas b/src/game/g_textures.pas index 1e66c8e..9f551f5 100644 --- a/src/game/g_textures.pas +++ b/src/game/g_textures.pas @@ -91,6 +91,8 @@ function g_Texture_CreateFile (var ID: LongWord; const FileName: AnsiString): Bo function g_Texture_CreateWADEx (const textureName, Resource: AnsiString): Boolean; function g_Texture_CreateFileEx (const textureName, FileName: AnsiString): Boolean; function g_Texture_Get (const textureName: AnsiString; var ID: LongWord): Boolean; +function g_Texture_GetSize (const textureName: AnsiString; var w, h: Integer): Boolean; overload; +function g_Texture_GetSize (ID: LongWord; var w, h: Integer): Boolean; overload; procedure g_Texture_Delete (const textureName: AnsiString); procedure g_Texture_DeleteAll (); @@ -117,8 +119,9 @@ function g_Texture_Light (): Integer; implementation uses + {$INCLUDE ../nogl/noGLuses.inc} g_game, e_log, g_basic, g_console, wadreader, - g_language, GL, utils, xstreams; + g_language, utils, xstreams; type _TTexture = record @@ -321,6 +324,48 @@ begin end; +function g_Texture_GetSize (const textureName: AnsiString; var w, h: Integer): Boolean; overload; +var + a: Integer; +begin + result := false; + w := 0; + h := 0; + if (Length(texturesArray) = 0) or (Length(textureName) = 0) then exit; + for a := 0 to High(texturesArray) do + begin + if (StrEquCI1251(texturesArray[a].name, textureName)) then + begin + w := texturesArray[a].width; + h := texturesArray[a].height; + result := true; + break; + end; + end; +end; + + +function g_Texture_GetSize (ID: LongWord; var w, h: Integer): Boolean; overload; +var + a: Integer; +begin + result := false; + w := 0; + h := 0; + if (Length(texturesArray) = 0) then exit; + for a := 0 to High(texturesArray) do + begin + if (texturesArray[a].id = ID) then + begin + w := texturesArray[a].width; + h := texturesArray[a].height; + result := true; + break; + end; + end; +end; + + procedure g_Texture_Delete (const textureName: AnsiString); var a: Integer;