hedgewars/uTextures.pas
changeset 7295 e70b81854fb9
parent 7292 18430abfbcd2
child 7297 af64b509725c
equal deleted inserted replaced
7292:18430abfbcd2 7295:e70b81854fb9
   252 
   252 
   253 if SDL_MustLock(surf) then
   253 if SDL_MustLock(surf) then
   254     SDL_UnlockSurface(surf);
   254     SDL_UnlockSurface(surf);
   255 
   255 
   256 SetTextureParameters(enableClamp);
   256 SetTextureParameters(enableClamp);
   257 
       
   258     {$IFNDEF RETAIN_SURFACES}
       
   259     SDL_FreeSurface(surf);
       
   260     {$ENDIF}
       
   261 end;
   257 end;
   262 
   258 
   263 // deletes texture and frees the memory allocated for it.
   259 // deletes texture and frees the memory allocated for it.
   264 // if nil is passed nothing is done
   260 // if nil is passed nothing is done
   265 procedure FreeTexture(tex: PTexture);
   261 procedure FreeTexture(tex: PTexture);
   276         tex^.PrevTexture^.NextTexture:= tex^.NextTexture
   272         tex^.PrevTexture^.NextTexture:= tex^.NextTexture
   277     else
   273     else
   278         TextureList:= tex^.NextTexture;
   274         TextureList:= tex^.NextTexture;
   279     glDeleteTextures(1, @tex^.atlas^.id);
   275     glDeleteTextures(1, @tex^.atlas^.id);
   280 
   276 
   281     {$IFDEF RETAIN_SURFACES}
       
   282     SDL_FreeSurface(tex^.surface);
   277     SDL_FreeSurface(tex^.surface);
   283     {$ENDIF}
       
   284 
       
   285     Dispose(tex);
   278     Dispose(tex);
   286     end
   279     end
   287 end;
   280 end;
   288 
   281 
   289 procedure initModule;
   282 procedure initModule;
   290 begin
   283 begin
       
   284 uAtlas.initModule;
   291 TextureList:= nil;
   285 TextureList:= nil;
   292 end;
   286 end;
   293 
   287 
   294 procedure freeModule;
   288 procedure freeModule;
   295 begin
   289 begin