X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fgame%2Fg_map.pas;h=8445e7825e307e89348d740d87c6779970f3362c;hb=3c27cda3a6e6188d113073beb31a19b82d21e3b6;hp=de8bc5baae5f0f60e350bc020db24bc15859eb2e;hpb=86c4f7d86fa84e806fbe22d1499cec948cf792db;p=d2df-sdl.git diff --git a/src/game/g_map.pas b/src/game/g_map.pas index de8bc5b..8445e78 100644 --- a/src/game/g_map.pas +++ b/src/game/g_map.pas @@ -1,10 +1,11 @@ +{$MODE DELPHI} unit g_map; interface uses e_graphics, g_basic, MAPSTRUCT, g_textures, Classes, - g_phys, WADEDITOR, BinEditor, g_panel, md5; + g_phys, wadreader, BinEditor, g_panel, md5; type TMapInfo = record @@ -363,7 +364,7 @@ end; function CreateTexture(RecName: String; Map: string; log: Boolean): Integer; var - WAD: TWADEditor_1; + WAD: TWADFile; TextureData: Pointer; WADName: String; SectionName: String; @@ -410,7 +411,7 @@ begin // Çàãðóæàåì ðåñóðñ òåêñòóðû â ïàìÿòü èç WAD'à: g_ProcessResourceStr(RecName, WADName, SectionName, TextureName); - WAD := TWADEditor_1.Create(); + WAD := TWADFile.Create(); if WADName <> '' then WADName := GameDir+'/wads/'+WADName @@ -422,7 +423,7 @@ begin if WAD.GetResource(SectionName, TextureName, TextureData, ResLength) then begin SetLength(Textures, Length(Textures)+1); - if not e_CreateTextureMem(TextureData, Textures[High(Textures)].TextureID) then + if not e_CreateTextureMem(TextureData, ResLength, Textures[High(Textures)].TextureID) then Exit; e_GetTextureSize(Textures[High(Textures)].TextureID, @Textures[High(Textures)].Width, @@ -445,7 +446,7 @@ end; function CreateAnimTexture(RecName: String; Map: string; log: Boolean): Integer; var - WAD: TWADEditor_1; + WAD: TWADFile; TextureWAD: Pointer; TextData: Pointer; TextureData: Pointer; @@ -463,7 +464,7 @@ begin // ×èòàåì WAD-ðåñóðñ àíèì.òåêñòóðû èç WAD'à â ïàìÿòü: g_ProcessResourceStr(RecName, WADName, SectionName, TextureName); - WAD := TWADEditor_1.Create(); + WAD := TWADFile.Create(); if WADName <> '' then WADName := GameDir+'/wads/'+WADName @@ -536,7 +537,7 @@ begin with Textures[High(Textures)] do begin // Ñîçäàåì êàäðû àíèì. òåêñòóðû èç ïàìÿòè: - if g_Frames_CreateMemory(@FramesID, '', TextureData, + if g_Frames_CreateMemory(@FramesID, '', TextureData, ResLength, _width, _height, _framecount, _backanimation) then begin TextureName := RecName; @@ -755,7 +756,7 @@ const DefaultMusRes = 'Standart.wad:STDMUS\MUS1'; DefaultSkyRes = 'Standart.wad:STDSKY\SKY0'; var - WAD: TWADEditor_1; + WAD: TWADFile; MapReader: TMapReader_1; Header: TMapHeaderRec_1; _textures: TTexturesRec1Array; @@ -794,7 +795,7 @@ begin e_WriteLog('Loading map WAD: ' + FileName, MSG_NOTIFY); g_Game_SetLoadingText(_lc[I_LOAD_WAD_FILE], 0, False); - WAD := TWADEditor_1.Create(); + WAD := TWADFile.Create(); if not WAD.ReadFile(FileName) then begin g_FatalError(Format(_lc[I_GAME_ERROR_MAP_WAD], [FileName])); @@ -1253,7 +1254,7 @@ end; function g_Map_GetMapInfo(Res: String): TMapInfo; var - WAD: TWADEditor_1; + WAD: TWADFile; MapReader: TMapReader_1; Header: TMapHeaderRec_1; FileName, SectionName, ResName: String; @@ -1263,7 +1264,7 @@ begin FillChar(Result, SizeOf(Result), 0); g_ProcessResourceStr(Res, FileName, SectionName, ResName); - WAD := TWADEditor_1.Create(); + WAD := TWADFile.Create(); if not WAD.ReadFile(FileName) then begin WAD.Free(); @@ -1305,7 +1306,7 @@ end; function g_Map_GetMapsList(WADName: string): SArray; var - WAD: TWADEditor_1; + WAD: TWADFile; a: Integer; ResList: SArray; Data: Pointer; @@ -1314,7 +1315,7 @@ var begin Result := nil; - WAD := TWADEditor_1.Create(); + WAD := TWADFile.Create(); if not WAD.ReadFile(WADName) then begin WAD.Free(); @@ -1344,7 +1345,7 @@ end; function g_Map_Exist(Res: string): Boolean; var - WAD: TWADEditor_1; + WAD: TWADFile; FileName, SectionName, ResName: string; ResList: SArray; a: Integer; @@ -1355,7 +1356,7 @@ begin FileName := addWadExtension(FileName); - WAD := TWADEditor_1.Create; + WAD := TWADFile.Create; if not WAD.ReadFile(FileName) then begin WAD.Free();