From 1824c78d66eee8a0ca81c350351b40d7eda05baf Mon Sep 17 00:00:00 2001 From: Abe Pralle Date: Sat, 4 Jul 2020 19:11:51 -0700 Subject: [PATCH] [Build] Now rebuilds if any data files changed --- Build.rogue | 225 ++-------------------------------------------------- 1 file changed, 6 insertions(+), 219 deletions(-) diff --git a/Build.rogue b/Build.rogue index baa96c9..1e6028d 100644 --- a/Build.rogue +++ b/Build.rogue @@ -13,224 +13,6 @@ augment Build ROM_NAME = "FGB.gb" 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<>() - 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 rogo_build endRoutine @@ -247,11 +29,16 @@ routine rogo_build local build_output = "Build/" + 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 any_new_obj_files = false forEach (asm_file in File.listing("Source/**/*.asm")) 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) any_new_obj_files = true elseIf (File.is_newer_than(obj_file,rom_output))