PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Biete]Res-Finder (XP)



Shining Advances
11.12.2008, 23:41
alter beitrag

Angeregt von dieser (http://www.multimediaxis.de/showthread.php?t=114041) Diskussion (oder genauer gesagt dieser (http://www.multimediaxis.de/showpost.php?p=2219939&postcount=24) Betrag wars) habe ich mich dazu entschlossen nen Script zu schreiben, dass alle verwendeten Ressourcen heraus sucht.

Eigtl sollte es eher die unverwendeten heraussuchen, aba ich weiß nicht wie man per ruby ordner inhalte herausfindet ><

Es werden nur Ressourcen gefunden die normal per event commands/database etc eingebunden wurden.
ressourcen die per call script oder direkt im rgss editor eingebunden wurden, werden nicht gefunden.

EDIT2
mirs aufgefallen dass die alte version nicht läuft ^^"
jetzt sollts aba gehen. wäre nett wenn ihrs ein wenig testet (gibt bestimmt nen paar bugs)

Also dieses Script hilft euch dabei euer projekt ein wenig auszumisten. es durchsucht euer spiel nach allen möglichen verwendeten ressourcen (außer denen die per rgss eingebunden wurden) und vergleicht diese mit den dateien in eurem projekt. wenn nun dateien nicht im spiel vorkommen (also nich verwendet werden und nur speicherplatz kosten) werden sie in einer text datei in eurem projekt aufgelistet. diese dateien könnt ihr dann löschen.

Verwendung:
Kopiert folgenden Code über Main.

def write_used
files = Dir["GRAPHICS/**/*"]
f = []
for i in 0...files.size
case files[i].upcase
when /GRAPHICS\/(.*).PNG/
f.push($1)
when /GRAPHICS\/(.*).BMP/
f.push($1)
when /GRAPHICS\/(.*).JPG/
f.push($1)
end
end

audio = Dir["AUDIO/**/*"]
a = []
for i in 0...audio.size
case audio[i].upcase
when /AUDIO\/(.*).MID/
a.push($1)
when /AUDIO\/(.*).MP3/
a.push($1)
when /AUDIO\/(.*).OGG/
a.push($1)
when /AUDIO\/(.*).WAV/
a.push($1)
when /AUDIO\/(.*).WMA/
a.push($1)
end
end
file = File.open("unused_ressources.txt", "w+")
file.puts("######################################################")
file.puts("################## Res-Finder v2 #####################")
file.puts("############### by Shining Advances ##################")
file.puts("######################################################","")
file.puts("Graphics:","")
for i in 0...f.size
case f[i]
when /ANIMATIONS\/(.*)/
file.puts(f[i]) unless @animation.include?($1)
when /AUTOTILES\/(.*)/
file.puts(f[i]) unless @autotile.include?($1)
when /BATTLEBACKS\/(.*)/
file.puts(f[i]) unless @battleback.include?($1)
when /BATTLERS\/(.*)/
file.puts(f[i]) unless @battler.include?($1)
when /CHARACTERS\/(.*)/
file.puts(f[i]) unless @character.include?($1)
when /FOGS\/(.*)/
file.puts(f[i]) unless @fog.include?($1)
when /GAMEOVERS\/(.*)/
file.puts(f[i]) unless @go.include?($1)
when /ICONS\/(.*)/
file.puts(f[i]) unless @icon.include?($1)
when /PANORAMAS\/(.*)/
file.puts(f[i]) unless @panorama.include?($1)
when /PICTURES\/(.*)/
file.puts(f[i]) unless @picture.include?($1)
when /TILESETS\/(.*)/
file.puts(f[i]) unless @tileset.include?($1)
when /TITLES\/(.*)/
file.puts(f[i]) unless @title.include?($1)
when /TRANSITIONS\/(.*)/
file.puts(f[i]) unless @transition.include?($1)
when /WINDOWSKINS\/(.*)/
file.puts(f[i]) unless @windowskin.include?($1)
end
end
file.puts("","Sounds/Music:","")
for i in 0...a.size
case a[i]
when /BGM\/(.*)/
file.puts(a[i]) unless @music.include?($1)
when /BGS\/(.*)/
file.puts(a[i]) unless @bgs.include?($1)
when /SE\/(.*)/
file.puts(a[i]) unless @sound.include?($1)
when /ME\/(.*)/
file.puts(a[i]) unless @me.include?($1)
end
end
file.close
end

def read_event(event)
for i in 0...event.pages.size
unless @character.include?(event.pages[i].graphic.character_name)
unless event.pages[i].graphic.character_name == ""
@character.push(event.pages[i].graphic.character_name)
end
end
read_eventcode(event.pages[i].list)
end
end

def read_maps
@maps = []
print "Searching for Maps"
for i in 1..999
file = sprintf("Data/Map%03d.rxdata", i)
if FileTest.exist?(file)
@maps.push(file)
end
end
print @maps.size.to_s+" Maps found!"

for i in 0...@maps.size
map = load_data(@maps[i])
if map.bgm.name != "" and map.autoplay_bgm
unless @music.include?(map.bgm.name.upcase)
@music.push(map.bgm.name.upcase)
end
end
if map.bgs.name != "" and map.autoplay_bgs
unless @bgs.include?(map.bgs.name.upcase)
@bgs.push(map.bgs.name.upcase)
end
end
for e in map.events.keys
read_event(map.events[e])
end
end
end

def print_size
count = @bgs.size
count += @icon.size + @fog.size + @picture.size
count += @battleback.size
count += @battler.size + @animation.size + @panorama.size
count += @tileset.size + @music.size + @sound.size
count += @windowskin.size + @title.size + @me.size + @go.size
count += @transition.size + @character.size
print count.to_s + " Ressources!"
end

def read_eventcode(list)
for i in 0...list.size
parameters = list[i].parameters
case list[i].code
when 131 #windowskin
next if @windowskin.include?(parameters[0].upcase)
next if parameters[0] == ""
@windowskin.push(parameters[0].upcase)
when 132 #battlebgm
next if @music.include?(parameters[0].upcase)
next if parameters[0] == ""
@music.push(parameters[0].upcase)
when 133 #battle end me
next if @me.include?(parameters[0].upcase)
next if parameters[0] == ""
@me.push(parameters[0].upcase)
when 204 #map settings
case parameters[0]
when 0
next if @panorama.include?(parameters[1].upcase)
next if parameters[1] == ""
@panorama.push(parameters[1].upcase)
when 1
next if @fog.include?(parameters[1].upcase)
next if parameters[1] == ""
@fog.push(parameters[1].upcase)
when 2
next if @battleback.include?(parameters[1].upcase)
next if parameters[1] == ""
@battleback.push(parameters[1].upcase)
end
when 209 #move route
for m in 0...parameters[1].list.size
case parameters[1].list[m]
when 41
next if @character.include?(parameters[1][m].list.parameters[0].upcase)
next if parameters[1].list[m].parameters[0] == ""
@character.push(parameters[1].list[m].parameters[0].upcase)
when 44
next if @sound.include?(parameters[1].list[m].parameters[0].name.upcase)
next if parameters[1].list[m].parameters[0].name == ""
@sound.push(parameters[1].list[m].parameters[0].name.upcase)
end
end
when 222 #execute transition
next if @transition.include?(parameters[0].upcase)
next if parameters[0] == ""
@transition.push(parameters[0].upcase)
when 231 #show picture
next if @picture.include?(parameters[1].upcase)
next if parameters[1] == ""
@picture.push(parameters[1].upcase)
when 241 #play bgm
next if @music.include?(parameters[0].name.upcase)
next if parameters[0].name == ""
@music.push(parameters[0].name.upcase)
when 245 #play bgs
next if @bgs.include?(parameters[0].name.upcase)
next if parameters[0].name == ""
@bgs.push(parameters[0].name.upcase)
when 249 #play me
next if @me.include?(parameters[0].name.upcase)
next if parameters[0].name == ""
@me.push(parameters[0].name.upcase)
when 250 #play se
next if @sound.include?(parameters[0].name.upcase)
next if parameters[0].name == ""
@sound.push(parameters[0].name.upcase)
when 322
unless @character.include?(parameters[1].upcase)
unless parameters[1] == ""
@character.push(parameters[1].upcase)
end
end
unless @battler.include?(parameters[3].upcase)
unless parameters[3] == ""
@battler.push(parameters[3].upcase)
end
end
end
end
end

def troop_commands
for i in 0...$data_troops.size
next if $data_troops[i] == nil
for p in 0...$data_troops[i].pages.size
read_eventcode($data_troops[i].pages[p].list)
end
end
end

def common_event
print "Reading Common Events"
for i in 0...$data_common_events.size
next if $data_common_events[i] == nil
read_eventcode($data_common_events[i].list)
end
end

def hero_graphics
@character = []
@battler = []
for i in 0...$data_actors.size
next if $data_actors[i] == nil
unless @character.include?($data_actors[i].character_name.upcase)
unless $data_actors[i].character_name == ""
@character.push($data_actors[i].character_name.upcase)
end
end
unless @battler.include?($data_actors[i].battler_name.upcase)
unless $data_actors[i].battler_name == ""
@battler.push($data_actors[i].battler_name.upcase)
end
end
end
end

def skills_graphics
@icon = []
for i in 0...$data_skills.size
next if $data_actors[i] == nil
unless @icon.include?($data_skills[i].icon_name.upcase)
unless $data_skills[i].icon_name == ""
@icon.push($data_skills[i].icon_name.upcase)
end
end
end
end

def items_graphics
for i in 0...$data_items.size
next if $data_items[i] == nil
unless @icon.include?($data_items[i].icon_name.upcase)
unless $data_items[i].icon_name == ""
@icon.push($data_items[i].icon_name.upcase)
end
end
end
end

def weapon_graphics
for i in 0...$data_weapons.size
next if $data_weapons[i] == nil
unless @icon.include?($data_weapons[i].icon_name.upcase)
unless $data_weapons[i].icon_name == ""
@icon.push($data_weapons[i].icon_name.upcase)
end
end
end
end

def armors_graphics
for i in 0...$data_armors.size
next if $data_armors[i] == nil
unless @icon.include?($data_armors[i].icon_name.upcase)
unless $data_armors[i].icon_name == ""
@icon.push($data_armors[i].icon_name.upcase)
end
end
end
end

def enemy_graphics
for i in 0...$data_enemies.size
next if $data_enemies[i] == nil
unless @battler.include?($data_enemies[i].battler_name.upcase)
unless $data_enemies[i].battler_name == ""
@battler.push($data_enemies[i].battler_name.upcase)
end
end
end
end

def animation_graphics
@animation = []

for i in 0...$data_animations.size
next if $data_animations[i] == nil
unless @animation.include?($data_animations[i].animation_name.upcase)
unless $data_animations[i].animation_name == ""
@animation.push($data_animations[i].animation_name.upcase)
end
end
end
end

def tileset_graphics
@autotile = []
@tileset = []
@panorama = []
@battleback = []
@fog = []

for i in 0...$data_tilesets.size
next if $data_tilesets[i] == nil
unless @tileset.include?($data_tilesets[i].tileset_name.upcase)
unless $data_tilesets[i].tileset_name == ""
@tileset.push($data_tilesets[i].tileset_name.upcase)
end
end
unless @panorama.include?($data_tilesets[i].panorama_name.upcase)
unless $data_tilesets[i].panorama_name == ""
@panorama.push($data_tilesets[i].panorama_name.upcase)
end
end
unless @fog.include?($data_tilesets[i].fog_name.upcase)
unless $data_tilesets[i].fog_name == ""
@fog.push($data_tilesets[i].fog_name.upcase)
end
end
unless @battleback.include?($data_tilesets[i].battleback_name.upcase)
unless $data_tilesets[i].battleback_name == ""
@battleback.push($data_tilesets[i].battleback_name.upcase)
end
end
for a in 0...$data_tilesets[i].autotile_names.size
unless @autotile.include?($data_tilesets[i].autotile_names[a].upcase)
unless $data_tilesets[i].autotile_names[a] == ""
@autotile.push($data_tilesets[i].autotile_names[a].upcase)
end
end
end
end
end

def system_res
@sound = []
@windowskin = []
@music = []
@me = []
@title = []
@go = []
@transition = []

# for i in 0...$data_system.size
#BGM
unless @music.include?($data_system.title_bgm.name.upcase)
unless $data_system.title_bgm.name == ""
@music.push($data_system.title_bgm.name.upcase)
end
end
unless @music.include?($data_system.battle_bgm.name.upcase)
unless $data_system.battle_bgm.name == ""
@music.push($data_system.battle_bgm.name.upcase)
end
end
#ME
unless @me.include?($data_system.battle_end_me.name.upcase)
unless $data_system.battle_end_me.name == ""
@me.push($data_system.battle_end_me.name.upcase)
end
end
unless @me.include?($data_system.gameover_me.name.upcase)
unless $data_system.gameover_me.name == ""
@me.push($data_system.gameover_me.name.upcase)
end
end
#SE
unless @sound.include?($data_system.cursor_se.name.upcase)
unless $data_system.cursor_se.name == ""
@sound.push($data_system.cursor_se.name.upcase)
end
end
unless @sound.include?($data_system.decision_se.name.upcase)
unless $data_system.decision_se.name == ""
@sound.push($data_system.decision_se.name.upcase)
end
end
unless @sound.include?($data_system.cancel_se.name.upcase)
unless $data_system.cancel_se.name == ""
@sound.push($data_system.cancel_se.name.upcase)
end
end
unless @sound.include?($data_system.buzzer_se.name.upcase)
unless $data_system.buzzer_se.name == ""
@sound.push($data_system.buzzer_se.name.upcase)
end
end
unless @sound.include?($data_system.equip_se.name.upcase)
unless $data_system.equip_se.name == ""
@sound.push($data_system.equip_se.name.upcase)
end
end
unless @sound.include?($data_system.shop_se.name.upcase)
unless $data_system.shop_se.name == ""
@sound.push($data_system.shop_se.name.upcase)
end
end
unless @sound.include?($data_system.save_se.name.upcase)
unless $data_system.save_se.name == ""
@sound.push($data_system.save_se.name.upcase)
end
end
unless @sound.include?($data_system.load_se.name.upcase)
unless $data_system.load_se.name == ""
@sound.push($data_system.load_se.name.upcase)
end
end
unless @sound.include?($data_system.battle_start_se.name.upcase)
unless $data_system.battle_start_se.name == ""
@sound.push($data_system.battle_start_se.name.upcase)
end
end
unless @sound.include?($data_system.escape_se.name.upcase)
unless $data_system.escape_se.name == ""
@sound.push($data_system.escape_se.name.upcase)
end
end
unless @sound.include?($data_system.actor_collapse_se.name.upcase)
unless $data_system.actor_collapse_se.name == ""
@sound.push($data_system.actor_collapse_se.name.upcase)
end
end
#transition
unless @transition.include?($data_system.battle_transition.upcase)
unless $data_system.battle_transition == ""
@transition.push($data_system.battle_transition.upcase)
end
end
#gameover
unless @go.include?($data_system.gameover_name.upcase)
unless $data_system.gameover_name == ""
@go.push($data_system.gameover_name.upcase)
end
end
#title
unless @title.include?($data_system.title_name.upcase)

unless $data_system.title_name == ""
@title.push($data_system.title_name.upcase)
end
end
#windowskin
unless @windowskin.include?($data_system.windowskin_name.upcase)
unless $data_system.windowskin_name == ""
@windowskin.push($data_system.windowskin_name.upcase)
end
end
# end
end

@picture = []
@bgs = []
print "Reading Database"
$data_actors = load_data("Data/Actors.rxdata")
hero_graphics
$data_skills = load_data("Data/Skills.rxdata")
skills_graphics
$data_items = load_data("Data/Items.rxdata")
items_graphics
$data_weapons = load_data("Data/Weapons.rxdata")
weapon_graphics
$data_armors = load_data("Data/Armors.rxdata")
armors_graphics
$data_enemies = load_data("Data/Enemies.rxdata")
enemy_graphics
$data_troops = load_data("Data/Troops.rxdata")
troop_commands
$data_animations = load_data("Data/Animations.rxdata")
animation_graphics
$data_tilesets = load_data("Data/Tilesets.rxdata")
tileset_graphics
$data_system = load_data("Data/System.rxdata")
system_res

print_size

$data_common_events = load_data("Data/CommonEvents.rxdata")
common_event

print_size

read_maps

print_size

print "Writing Data..."
write_used



print "Thanks for using.
Res-Finder v2 by Shining Advances"

exit

Startet nun das Spiel und klickt ein paar mal ok
Danach beendet sich das Spiel von selbst und ihr könnt das script wieder löschen.

bitte um kritik etc :D

MfG Shinni


edit
gehört vlt doch eher ins xp forum
kann ein mod das verschieben? :)