Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- #######################################
- -- ## Project: DotA 2 Textures ##
- -- ## Name: Textures.lua ##
- -- ## Author: Noneatme ##
- -- ## Version: 1.0 ##
- -- ## License: See top Folder ##
- -- #######################################
- -- FUNCTIONS / METHODS --
- local cFunc = {}; -- Local Functions
- local cSetting = {}; -- Local Settings
- Textures = {};
- Textures.__index = Textures;
- --[[
- ]]
- -- ///////////////////////////////
- -- ///// New //////
- -- ///// Returns: Object //////
- -- ///////////////////////////////
- function Textures:New(...)
- local obj = setmetatable({}, {__index = self});
- if obj.Constructor then
- obj:Constructor(...);
- end
- return obj;
- end
- -- ///////////////////////////////
- -- ///// LoadTextures //////
- -- ///// Returns: void //////
- -- ///////////////////////////////
- function Textures:LoadTextures()
- outputDebugString("Loading Textures...")
- local count = 0;
- for katName, table in pairs(self.textures) do
- self.texMats[katName] = {};
- self.texShaders[katName] = {}
- for texturename, apply in pairs(table) do
- self.texMats[katName][texturename] = dxCreateTexture("files/textures/"..katName.."/"..texturename..".png");
- self.texShaders[katName][texturename] = dxCreateShader("files/shaders/texture.fx");
- if(self.texShaders[katName][texturename]) then
- dxSetShaderValue(self.texShaders[katName][texturename], "Tex", self.texMats[katName][texturename])
- for index, key in pairs(apply) do
- engineApplyShaderToWorldTexture(self.texShaders[katName][texturename], key)
- end
- count = count+1;
- end
- end
- end
- outputDebugString(count.." Textures loaded.")
- end
- -- ///////////////////////////////
- -- ///// Constructor //////
- -- ///// Returns: void //////
- -- ///////////////////////////////
- function Textures:Constructor(...)
- self.replaceFunc = function() self:LoadTextures() end
- self.textures = {}
- self.texMats = {}
- self.texShaders = {};
- -- Textures --
- self.textures["dirt"] = {}
- self.textures["grass"] = {}
- self.textures["gravel"] = {}
- self.textures["ground"] = {}
- self.textures["mud"] = {}
- self.textures["rock"] = {}
- self.textures["sand"] = {}
- self.textures["walls"] = {}
- -- Table --
- -- DIRT --
- self.textures["dirt"]["dirtground009"] = {"dt_road", "dt_road_stoplinea", "tar_1line256hv"};
- -- GRASS --
- self.textures["grass"]["grass_01"] = {};
- self.textures["grass"]["grass_02"] = {};
- self.textures["grass"]["grass_03"] = {"des_dirtgrassmix_grass*", "grass4dirty"};
- self.textures["grass"]["grass_04"] = {};
- self.textures["grass"]["grass_07"] = {"grasstype4", "desgreengrass"};
- self.textures["grass"]["grass_08"] = {"dt_road2grasstype4", "desertgravelgrassroad"};
- -- WALLS --
- self.textures["walls"]["brickwall009a"] = {"ws_altz_wall6big"};
- self.textures["walls"]["stonewall001"] = {"ws_stonewall", "rocktq128", "rocktq128_grass4blend"};
- -- GGOUND --
- self.textures["ground"]["brickfloor001a"] = { "ws_carpark*", ""}; -- Isn't a road, but nice
- self.textures["ground"]["ground_05"] = {"crazy paving"};
- -- STONE --
- self:LoadTextures()
- outputDebugString("[CALLING] Textures: Constructor");
- end
- -- EVENT HANDLER --
- textures = Textures:New()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement