squad_sprite_loader.lua - AUTOMATIC1111/IntoTheBreachLua GitHub Wiki

return function(mod,table)
	for i=1,#table do
		local object = table[i]
		local name = object.Name
		local filename = object.Filename
		local path = object.Path or "units"
		local innerPath = object.ResourcePath or "units/player"
		
		local function replaceSprite(obj,addition)
			if obj then
				modApi:appendAsset("img/"..innerPath.."/"..filename..addition..".png",mod.resourcePath.."/"..path.."/"..filename..addition..".png")
			else
				modApi:appendAsset("img/"..innerPath.."/"..filename..addition..".png",mod.resourcePath.."/"..path.."/"..filename..".png")
			end
		end
		
		replaceSprite(object.Default,"")
		replaceSprite(object.Animated,"_a")
		replaceSprite(object.Broken,"_broken")
		if object.Death then replaceSprite(object.Death,"_d") end
		replaceSprite(object.Icon,"_ns")
		replaceSprite(object.Icon,"_h")
		replaceSprite(object.Submerged,"_w")
		replaceSprite(object.SubmergedBroken,"_w_broken")
		
		local function addImage(obj, addition)
			if obj == nil then obj = object.Default end
			obj.Image = innerPath.."/"..filename..addition..".png"
			return obj
		end
		
		ANIMS[name] =             ANIMS.MechUnit:new(addImage(object.Default,""))
		ANIMS[name.."a"] =        ANIMS.MechUnit:new(addImage(object.Animated,"_a"))
		ANIMS[name.."w"] =        ANIMS.MechUnit:new(addImage(object.Submerged,"_w"))
		ANIMS[name.."_broken"] =  ANIMS.MechUnit:new(addImage(object.Broken,"_broken"))
		ANIMS[name.."w_broken"] = ANIMS.MechUnit:new(addImage(object.SubmergedBroken,"_w_broken"))
		ANIMS[name.."_ns"] =      ANIMS.MechIcon:new(addImage(object.Icon,"_ns"))
		ANIMS[name.."d"] =        ANIMS.MechIcon:new(addImage(object.Death,"_d"))
	end
end