Clean Project
Este script mostra quais e quantos arquivos não estão sendo usados pelo projeto.
**Este script não verifica os scripts, pois são muitos e não há
como identificar com certeza se está sendo usado o gráfico.
**Ele também não verifica com 100% de precisão. O objetivo é dar
uma ideia de quanto gráfico não está sendo usado.
Essa é a primeira versão, então tem coisas á melhorar.
- Código:
#=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
# Autor:RD12 Clean_Project 1.0
#--------------------------------------------------------------------------------
# Verifica gráficos que não estão sendo usados
#=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
module CP_Config
#Pastas que serão verificadas
Folders = ["Animations","Autotiles","Characters","Icons","Pictures",
"Titles","Tilesets","Gameovers", "Panoramas","Battlers"]
Verify = true
end
class Clean_Project
def initialize
return unless CP_Config::Verify
@Project_Data = ""
@files = Array.new
@unused = []
for i in 0..CP_Config::Folders.size-1
files = Dir.entries("Graphics/#{CP_Config::Folders[i]}").select {|f| !File.directory? f}
if files.size > 0
for i in 0..files.size-1
@f_name = files[i].slice(0..files[i].size-5)
@files << "'" + @f_name + "' "
end
end
end
load_prdata
end
def verify
for i in 0..@files.size-1
unless @Project_Data.include?(@files[i].to_s)
@unused << @files[i]
end
end
print "Foram encontrados #{@unused.size} arquivos sem uso."
print @unused
end
def load_prdata
prdata = load_data("Data/Actors.rxdata")
for a in 1..prdata.size-1
@Project_Data += prdata[a].character_name
@Project_Data += prdata[a].battler_name
end
prdata = load_data("Data/Animations.rxdata")
for a in 1..prdata.size-1
@Project_Data += prdata[a].animation_name
end
prdata = load_data("Data/Enemies.rxdata")
for a in 1..prdata.size-1
@Project_Data += prdata[a].battler_name
end
icons = ["Items","Armors","Weapons", "Skills"]
for i in 0..icons.size-1
prdata = load_data("Data/#{icons[i]}.rxdata")
for a in 1..prdata.size-1
@Project_Data += prdata[a].icon_name unless @Project_Data.include?(prdata[a].icon_name)
end
end
prdata = load_data("Data/Tilesets.rxdata")
for a in 1..prdata.size-1
@Project_Data += prdata[a].panorama_name
@Project_Data += prdata[a].tileset_name
for i in 0..prdata[a].autotile_names.size-1
@Project_Data += prdata[a].autotile_names[i].to_s
end
end
@maps = []
maps = Dir.entries("Data/").select {|f| !File.directory? f}
for m in 0..maps.size-1
@maps << maps[m] if maps[m].include?("Map")
end
@maps.delete("MapInfos.rxdata")
for m in 0..@maps.size-1
prdata = load_data("Data/#{@maps[m]}")
for a in 1..prdata.events.size
pages = prdata.events[a].pages
for p in 0..pages.size-1
cn = pages[p].graphic.character_name
@Project_Data += cn unless @Project_Data.include?(cn)
end
end
end
prdata = load_data("Data/System.rxdata")
@Project_Data += prdata.gameover_name
@Project_Data += prdata.windowskin_name
@Project_Data += prdata.title_name
verify
end
end
Clean_Project.new
Se for usa-lo, espero que agradeça em seu tópico pelo menos.
Criado por RD12
Criado por RD12
Última edição por RD12 em Qui Abr 25, 2013 4:06 pm, editado 1 vez(es)