Advertisement
Noneatme

Untitled

Aug 6th, 2013
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.23 KB | None | 0 0
  1. -- #######################################
  2. -- ## Project: DotA 2 Textures          ##
  3. -- ## Name: Textures.lua                    ##
  4. -- ## Author: Noneatme                  ##
  5. -- ## Version: 1.0                      ##
  6. -- ## License: See top Folder           ##
  7. -- #######################################
  8.  
  9. -- FUNCTIONS / METHODS --
  10.  
  11. local cFunc = {};       -- Local Functions
  12. local cSetting = {};    -- Local Settings
  13.  
  14. Textures = {};
  15. Textures.__index = Textures;
  16.  
  17. --[[
  18.  
  19. ]]
  20.  
  21. -- ///////////////////////////////
  22. -- ///// New                //////
  23. -- ///// Returns: Object    //////
  24. -- ///////////////////////////////
  25.  
  26. function Textures:New(...)
  27.     local obj = setmetatable({}, {__index = self});
  28.     if obj.Constructor then
  29.         obj:Constructor(...);
  30.     end
  31.     return obj;
  32. end
  33.  
  34. -- ///////////////////////////////
  35. -- ///// LoadTextures       //////
  36. -- ///// Returns: void      //////
  37. -- ///////////////////////////////
  38.  
  39. function Textures:LoadTextures()
  40.     outputDebugString("Loading Textures...")
  41.    
  42.     local count = 0;
  43.    
  44.     for katName, table in pairs(self.textures) do
  45.         self.texMats[katName] = {};
  46.         self.texShaders[katName] = {}
  47.         for texturename, apply in pairs(table) do
  48.            
  49.             self.texMats[katName][texturename] = dxCreateTexture("files/textures/"..katName.."/"..texturename..".png");
  50.             self.texShaders[katName][texturename] = dxCreateShader("files/shaders/texture.fx");
  51.            
  52.             if(self.texShaders[katName][texturename]) then
  53.                
  54.                 dxSetShaderValue(self.texShaders[katName][texturename], "Tex", self.texMats[katName][texturename])
  55.                
  56.                 for index, key in pairs(apply) do
  57.                     engineApplyShaderToWorldTexture(self.texShaders[katName][texturename], key)
  58.                 end
  59.                
  60.                 count = count+1;
  61.             end
  62.         end
  63.     end
  64.    
  65.     outputDebugString(count.." Textures loaded.")
  66. end
  67.  
  68. -- ///////////////////////////////
  69. -- ///// Constructor        //////
  70. -- ///// Returns: void      //////
  71. -- ///////////////////////////////
  72.  
  73. function Textures:Constructor(...)
  74.     self.replaceFunc = function() self:LoadTextures() end
  75.    
  76.     self.textures = {}
  77.     self.texMats = {}
  78.     self.texShaders = {};
  79.    
  80.     -- Textures --
  81.     self.textures["dirt"] = {}
  82.     self.textures["grass"] = {}
  83.     self.textures["gravel"] = {}
  84.     self.textures["ground"] = {}
  85.     self.textures["mud"] = {}
  86.     self.textures["rock"] = {}
  87.     self.textures["sand"] = {}
  88.     self.textures["walls"] = {}
  89.  
  90.     -- Table --
  91.    
  92.     -- DIRT --
  93.     self.textures["dirt"]["dirtground009"] = {"dt_road", "dt_road_stoplinea", "tar_1line256hv"};
  94.     -- GRASS --
  95.     self.textures["grass"]["grass_01"] = {};
  96.     self.textures["grass"]["grass_02"] = {};
  97.     self.textures["grass"]["grass_03"] = {"des_dirtgrassmix_grass*", "grass4dirty"};
  98.     self.textures["grass"]["grass_04"] = {};
  99.     self.textures["grass"]["grass_07"] = {"grasstype4", "desgreengrass"};
  100.     self.textures["grass"]["grass_08"] = {"dt_road2grasstype4", "desertgravelgrassroad"};
  101.    
  102.    
  103.     -- WALLS --
  104.    
  105.     self.textures["walls"]["brickwall009a"] = {"ws_altz_wall6big"};
  106.     self.textures["walls"]["stonewall001"] = {"ws_stonewall", "rocktq128", "rocktq128_grass4blend"};
  107.  
  108.     -- GGOUND --
  109.     self.textures["ground"]["brickfloor001a"] = { "ws_carpark*", ""};           -- Isn't a road, but nice
  110.     self.textures["ground"]["ground_05"] = {"crazy paving"};
  111.    
  112.     -- STONE --
  113.  
  114.     self:LoadTextures()
  115.     outputDebugString("[CALLING] Textures: Constructor");
  116. end
  117.  
  118. -- EVENT HANDLER --
  119.  
  120. textures = Textures:New()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement