X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_playermodel.pas;h=8345e785c504fa6b621aeb77bb7c979dc19f2bb7;hb=8f815647c61a98e32b85066bf245b262694ac634;hp=a00982375150601c281aaae19232330e4405a027;hpb=dfd3e97bffa213f5b21206b8a292b80180bab948;p=d2df-sdl.git diff --git a/src/game/g_playermodel.pas b/src/game/g_playermodel.pas index a009823..8345e78 100644 --- a/src/game/g_playermodel.pas +++ b/src/game/g_playermodel.pas @@ -1,10 +1,10 @@ +{$MODE DELPHI} unit g_playermodel; interface uses - g_textures, g_basic, e_graphics, WADEDITOR, - WADSTRUCT, g_weapons; + g_textures, g_basic, g_weapons, e_graphics, wadreader; const A_STAND = 0; @@ -20,7 +20,7 @@ const MODELSOUND_PAIN = 0; MODELSOUND_DIE = 1; - + type TModelInfo = record Name: String; @@ -231,11 +231,11 @@ end; function g_PlayerModel_Load(FileName: string): Boolean; var ID: DWORD; - a, b, len, aa, bb, f: Integer; + a, b, len, lenpd, lenpd2, aa, bb, f: Integer; cc: TDirection; config: TConfig; pData, pData2: Pointer; - WAD: TWADEditor_1; + WAD: TWADFile; s: string; prefix: string; ok: Boolean; @@ -244,10 +244,10 @@ begin Result := False; - WAD := TWADEditor_1.Create; + WAD := TWADFile.Create; WAD.ReadFile(FileName); - if WAD.GetLastError <> DFWAD_NOERROR then + if {WAD.GetLastError <> DFWAD_NOERROR} not WAD.isOpen then begin WAD.Free(); Exit; @@ -258,7 +258,7 @@ begin WAD.Free(); Exit; end; - + config := TConfig.CreateMem(pData, len); FreeMem(pData); @@ -268,7 +268,7 @@ begin config.Free(); WAD.Free(); Exit; - end; + end; SetLength(PlayerModelsArray, Length(PlayerModelsArray)+1); ID := High(PlayerModelsArray); @@ -358,12 +358,12 @@ begin SetLength(Gibs, ReadInt('Gibs', 'count', 0)); if (Gibs <> nil) and - (WAD.GetResource('TEXTURES', config.ReadStr('Gibs', 'resource', 'GIBS'), pData, len)) and - (WAD.GetResource('TEXTURES', config.ReadStr('Gibs', 'mask', 'GIBSMASK'), pData2, len)) then + (WAD.GetResource('TEXTURES', config.ReadStr('Gibs', 'resource', 'GIBS'), pData, lenpd)) and + (WAD.GetResource('TEXTURES', config.ReadStr('Gibs', 'mask', 'GIBSMASK'), pData2, lenpd2)) then begin for a := 0 to High(Gibs) do - if e_CreateTextureMemEx(pData, Gibs[a].ID, a*32, 0, 32, 32) and - e_CreateTextureMemEx(pData2, Gibs[a].MaskID, a*32, 0, 32, 32) then + if e_CreateTextureMemEx(pData, lenpd, Gibs[a].ID, a*32, 0, 32, 32) and + e_CreateTextureMemEx(pData2, lenpd2, Gibs[a].MaskID, a*32, 0, 32, 32) then begin Gibs[a].Rect := e_GetTextureSize2(Gibs[a].ID); with Gibs[a].Rect do @@ -582,7 +582,7 @@ begin for a := WEAPON_SAW to WEAPON_SUPERPULEMET do for b := W_POS_NORMAL to W_POS_DOWN do for c := W_ACT_NORMAL to W_ACT_FIRE do - e_DeleteTexture(WeaponID[a][b][c]); + e_DeleteTexture(WeaponID[a][b][c]); e_WriteLog('Releasing models...', MSG_NOTIFY); @@ -611,7 +611,7 @@ begin for b := 0 to High(Gibs) do begin e_DeleteTexture(Gibs[b].ID); - e_DeleteTexture(Gibs[b].MaskID); + e_DeleteTexture(Gibs[b].MaskID); end; end;