[Refactor] Fully building
- Font data now aligned properly in memory
Before Width: | Height: | Size: 45 KiB |
Before Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 144 KiB |
Before Width: | Height: | Size: 144 KiB |
Before Width: | Height: | Size: 90 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 45 KiB |
Before Width: | Height: | Size: 45 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 45 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 108 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 45 KiB |
Before Width: | Height: | Size: 144 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 45 KiB |
Before Width: | Height: | Size: 45 KiB |
Before Width: | Height: | Size: 45 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 360 KiB |
Before Width: | Height: | Size: 405 KiB |
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 216 KiB |
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 45 KiB |
|
@ -1 +0,0 @@
|
|||
4096
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 2.3 MiB |
Before Width: | Height: | Size: 155 KiB |
After Width: | Height: | Size: 848 KiB |
Before Width: | Height: | Size: 135 KiB |
Before Width: | Height: | Size: 68 KiB |
234
Build.rogue
|
@ -14,31 +14,221 @@ augment Build
|
|||
endAugment
|
||||
|
||||
routine rogo_fix
|
||||
#{
|
||||
forEach (filepath in File.listing("Assets/Cinema/**"))
|
||||
if (not File.is_folder(filepath))
|
||||
if (filepath.ends_with(".sp"))
|
||||
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)
|
||||
rogo_reid( old, temp )
|
||||
rogo_reid( temp, old.capitalized )
|
||||
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)
|
||||
rogo_reid( old, temp )
|
||||
rogo_reid( temp, new )
|
||||
do_reid( old, temp )
|
||||
do_reid( temp, new, &yes )
|
||||
return
|
||||
endIf
|
||||
execute ''reid --exact "$" "$" "Assets/**" "Data/**" "Source/**"'' (old,new)
|
||||
#execute @|lst Data/Cinema
|
||||
execute ''reid --exact "$" "$" "Assets/**" "Data/**" "Source/**"$'' (old,new,which{yes:" --yes"||""})
|
||||
execute @|ls Source
|
||||
endRoutine
|
||||
|
||||
routine rogo_default
|
||||
|
@ -52,22 +242,34 @@ routine rogo_build
|
|||
endIf
|
||||
|
||||
File.create_folder( "Build" )
|
||||
File.create_folder( "ROM" )
|
||||
|
||||
local build_output = "Build/" + Build.ROM_NAME
|
||||
local rom_output = "ROM/" + Build.ROM_NAME
|
||||
|
||||
local obj_files = String[]
|
||||
forEach (asm_file in File.listing("Source/***/*.asm"))
|
||||
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))
|
||||
execute "rgbasm -Wextra -Wobsolete $ -o $" (asm_file,obj_file)
|
||||
if (File.is_newer_than(asm_file,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))
|
||||
any_new_obj_files = true
|
||||
endIf
|
||||
obj_files.add( obj_file )
|
||||
endForEach
|
||||
|
||||
local rom_name = Build.ROM_NAME
|
||||
execute "rgblink $ -o Build/$" (obj_files.join(" "),rom_name)
|
||||
execute "rgbfix -v Build/$" (rom_name)
|
||||
if (any_new_obj_files)
|
||||
execute "rgblink --map Build/FGB.map --sym Build/FGB.sym $ -o $" (obj_files.join(" "),build_output)
|
||||
execute "rgbfix -p 0xff -v $" (build_output)
|
||||
|
||||
local file_size = File.size( "ROM/" + rom_name )
|
||||
println "> Copy Build/$ -> ROM/$ ($ bytes)" (rom_name,rom_name,file_size.format(","))
|
||||
File.create_folder( "ROM" )
|
||||
File.copy( "Build/"+rom_name, "ROM/"+rom_name )
|
||||
local file_size = File.size( build_output )
|
||||
println "> Copy $ -> $ ($ bytes)" (build_output,rom_output,file_size.format(","))
|
||||
File.copy( build_output, rom_output )
|
||||
else
|
||||
println "No changes detected. Output: $ ($ bytes)" (rom_output,File.size(rom_output).format(","))
|
||||
endIf
|
||||
endRoutine
|
||||
|
||||
routine rogo_clean
|
||||
|
|