[Build] Now rebuilds if any data files changed

This commit is contained in:
Abe Pralle 2020-07-04 19:11:51 -07:00
parent c4806dc221
commit 1824c78d66
1 changed files with 6 additions and 219 deletions

View File

@ -13,224 +13,6 @@ augment Build
ROM_NAME = "FGB.gb" ROM_NAME = "FGB.gb"
endAugment endAugment
routine rogo_fix
#{
forEach (filepath in File.listing("Assets/Cinema/**"))
if (not File.is_folder(filepath))
if (filepath.ends_with(".dat"))
local to_filepath = "Data/Cinema/" + filepath.after_first("Assets/Cinema/")
println "$ -> $" (filepath,to_filepath)
File.rename( filepath, to_filepath )
endIf
endIf
endForEach
}#
local existing = Set<<String>>()
existing.add( "L0001_Contents" )
existing.add( "L0005_Contents" )
existing.add( "L0006_Contents" )
existing.add( "L0007_Contents" )
existing.add( "L0009_Contents" )
existing.add( "L0011_Contents" )
existing.add( "L0013_Contents" )
existing.add( "L0104_Contents" )
existing.add( "L0107_Contents" )
existing.add( "L0109_Contents" )
existing.add( "L0110_Contents" )
existing.add( "L0111_Contents" )
existing.add( "L0112_Contents" )
existing.add( "L0113_Contents" )
existing.add( "L0114_Contents" )
existing.add( "L0200_Contents" )
existing.add( "L0201_Contents" )
existing.add( "L0203_Contents" )
existing.add( "L0204_Contents" )
existing.add( "L0211_Contents" )
existing.add( "L0212_Contents" )
existing.add( "L0213_Contents" )
existing.add( "L0300_Contents" )
existing.add( "L0301_Contents" )
existing.add( "L0302_Contents" )
existing.add( "L0303_Contents" )
existing.add( "L0305_Contents" )
existing.add( "L0306_Contents" )
existing.add( "L0307_Contents" )
existing.add( "L0308_Contents" )
existing.add( "L0309_Contents" )
existing.add( "L0310_Contents" )
existing.add( "L0311_Contents" )
existing.add( "L0312_Contents" )
existing.add( "L0313_Contents" )
existing.add( "L0315_Contents" )
existing.add( "L0400_Contents" )
existing.add( "L0401_Contents" )
existing.add( "L0402_Contents" )
existing.add( "L0403_Contents" )
existing.add( "L0404_Contents" )
existing.add( "L0406_Contents" )
existing.add( "L0407_Contents" )
existing.add( "L0408_Contents" )
existing.add( "L0409_Contents" )
existing.add( "L0410_Contents" )
existing.add( "L0411_Contents" )
existing.add( "L0413_Contents" )
existing.add( "L0500_Contents" )
existing.add( "L0501_Contents" )
existing.add( "L0502_Contents" )
existing.add( "L0503_Contents" )
existing.add( "L0504_Contents" )
existing.add( "L0505_Contents" )
existing.add( "L0506_Contents" )
existing.add( "L0507_Contents" )
existing.add( "L0508_Contents" )
existing.add( "L0509_Contents" )
existing.add( "L0510_Contents" )
existing.add( "L0512_Contents" )
existing.add( "L0600_Contents" )
existing.add( "L0601_Contents" )
existing.add( "L0602_Contents" )
existing.add( "L0603_Contents" )
existing.add( "L0604_Contents" )
existing.add( "L0605_Contents" )
existing.add( "L0606_Contents" )
existing.add( "L0607_Contents" )
existing.add( "L0608_Contents" )
existing.add( "L0609_Contents" )
existing.add( "L0610_Contents" )
existing.add( "L0700_Contents" )
existing.add( "L0701_Contents" )
existing.add( "L0702_Contents" )
existing.add( "L0703_Contents" )
existing.add( "L0704_Contents" )
existing.add( "L0705_Contents" )
existing.add( "L0706_Contents" )
existing.add( "L0707_Contents" )
existing.add( "L0708_Contents" )
existing.add( "L0709_Contents" )
existing.add( "L0710_Contents" )
existing.add( "L0711_Contents" )
existing.add( "L0712_Contents" )
existing.add( "L0800_Contents" )
existing.add( "L0801_Contents" )
existing.add( "L0802_Contents" )
existing.add( "L0803_Contents" )
existing.add( "L0804_Contents" )
existing.add( "L0805_Contents" )
existing.add( "L0806_Contents" )
existing.add( "L0807_Contents" )
existing.add( "L0808_Contents" )
existing.add( "L0809_Contents" )
existing.add( "L0810_Contents" )
existing.add( "L0811_Contents" )
existing.add( "L0812_Contents" )
existing.add( "L0900_Contents" )
existing.add( "L0901_Contents" )
existing.add( "L0902_Contents" )
existing.add( "L0903_Contents" )
existing.add( "L0904_Contents" )
existing.add( "L0905_Contents" )
existing.add( "L0906_Contents" )
existing.add( "L0907_Contents" )
existing.add( "L0908_Contents" )
existing.add( "L0909_Contents" )
existing.add( "L0910_Contents" )
existing.add( "L0911_Contents" )
existing.add( "L1001_Contents" )
existing.add( "L1002_Contents" )
existing.add( "L1003_Contents" )
existing.add( "L1004_Contents" )
existing.add( "L1005_Contents" )
existing.add( "L1006_Contents" )
existing.add( "L1007_Contents" )
existing.add( "L1008_Contents" )
existing.add( "L1009_Contents" )
existing.add( "L1011_Contents" )
existing.add( "L1100_Contents" )
existing.add( "L1101_Contents" )
existing.add( "L1111_Contents" )
existing.add( "L1201_Contents" )
existing.add( "L1300_Contents" )
existing.add( "L1304_Contents" )
existing.add( "L1312_Contents" )
existing.add( "L1403_Contents" )
existing.add( "L1412_Contents" )
existing.add( "L1500_Contents" )
existing.add( "L1512_Contents" )
existing.add( "L0000_Contents" )
existing.add( "L0002_Contents" )
existing.add( "L0003_Contents" )
existing.add( "L0004_Contents" )
existing.add( "L0008_Contents" )
existing.add( "L0010_Contents" )
existing.add( "L0012_Contents" )
existing.add( "L0014_Contents" )
existing.add( "L0015_Contents" )
existing.add( "L0103_Contents" )
existing.add( "L0105_Contents" )
existing.add( "L0106_Contents" )
existing.add( "L0108_Contents" )
existing.add( "L0115_Contents" )
existing.add( "L0205_Contents" )
existing.add( "L0214_Contents" )
existing.add( "L0215_Contents" )
existing.add( "L0304_Contents" )
existing.add( "L0314_Contents" )
existing.add( "L0405_Contents" )
existing.add( "L0412_Contents" )
existing.add( "L0612_Contents" )
existing.add( "L0912_Contents" )
existing.add( "L1000_Contents" )
existing.add( "L1010_Contents" )
existing.add( "L1012_Contents" )
existing.add( "L1102_Contents" )
existing.add( "L1103_Contents" )
existing.add( "L1104_Contents" )
existing.add( "L1105_Contents" )
existing.add( "L1112_Contents" )
existing.add( "L1200_Contents" )
existing.add( "L1202_Contents" )
existing.add( "L1203_Contents" )
existing.add( "L1204_Contents" )
existing.add( "L1212_Contents" )
existing.add( "L1301_Contents" )
existing.add( "L1302_Contents" )
existing.add( "L1400_Contents" )
existing.add( "L1401_Contents" )
existing.add( "L1402_Contents" )
existing.add( "L1502_Contents" )
existing.add( "L1503_Contents" )
existing.add( "L1504_Contents" )
forEach (line at index in LineReader(File("temp.txt")))
local level = line.extract_string( "*($)*" )
if (not level) nextIteration
if (existing.contains(level))
println line
else
println "DW 0,0 ;$" (index)
endIf
endForEach
endRoutine
routine rogo_reid( old:String, new:String )
do_reid( old, new )
endRoutine
routine do_reid( old:String, new:String, &yes )
if (new == "")
local temp = "_Temp" + Random.int32(1_000_000)
do_reid( old, temp )
do_reid( temp, old.capitalized, &yes )
return
elseIf (0 == old.compare_to(new,&ignore_case))
local temp = "_Temp" + Random.int32(1_000_000)
do_reid( old, temp )
do_reid( temp, new, &yes )
return
endIf
execute ''reid --exact "$" "$" "Assets/**" "Data/**" "Source/**"$'' (old,new,which{yes:" --yes"||""})
execute @|ls Source
endRoutine
routine rogo_default routine rogo_default
rogo_build rogo_build
endRoutine endRoutine
@ -247,11 +29,16 @@ routine rogo_build
local build_output = "Build/" + Build.ROM_NAME local build_output = "Build/" + Build.ROM_NAME
local rom_output = "ROM/" + Build.ROM_NAME local rom_output = "ROM/" + Build.ROM_NAME
local newest_datafile_timestamp = 0.0
forEach (datafile in File.listing("Data/**",&files,&ignore_hidden))
newest_datafile_timestamp = newest_datafile_timestamp.or_larger( File.timestamp(datafile) )
endForEach
local obj_files = String[] local obj_files = String[]
local any_new_obj_files = false local any_new_obj_files = false
forEach (asm_file in File.listing("Source/**/*.asm")) forEach (asm_file in File.listing("Source/**/*.asm"))
local obj_file = "Build/$.obj" (File.filename(asm_file).leftmost(-4)) local obj_file = "Build/$.obj" (File.filename(asm_file).leftmost(-4))
if (File.is_newer_than(asm_file,obj_file)) if (File.is_newer_than(asm_file,obj_file) or newest_datafile_timestamp > File.timestamp(obj_file))
execute "rgbasm -p 0xff $ -o $" (asm_file,obj_file) execute "rgbasm -p 0xff $ -o $" (asm_file,obj_file)
any_new_obj_files = true any_new_obj_files = true
elseIf (File.is_newer_than(obj_file,rom_output)) elseIf (File.is_newer_than(obj_file,rom_output))