Class: GBTiles::GBR::Export::ASM::ASM
- Inherits:
-
Object
- Object
- GBTiles::GBR::Export::ASM::ASM
- Includes:
- ERB::Util
- Defined in:
- lib/gbtiles/gbr/export/asm/asm.rb
Instance Attribute Summary collapse
-
#bank ⇒ Object
Returns the value of attribute bank.
-
#tile_set ⇒ Object
Returns the value of attribute tile_set.
Instance Method Summary collapse
-
#initialize ⇒ ASM
constructor
A new instance of ASM.
- #prerender ⇒ Object
- #render_h ⇒ Object
- #render_s ⇒ Object
- #write(output_stream) ⇒ Object
Constructor Details
#initialize ⇒ ASM
Returns a new instance of ASM.
13 14 |
# File 'lib/gbtiles/gbr/export/asm/asm.rb', line 13 def initialize end |
Instance Attribute Details
#bank ⇒ Object
Returns the value of attribute bank.
10 11 12 |
# File 'lib/gbtiles/gbr/export/asm/asm.rb', line 10 def bank @bank end |
#tile_set ⇒ Object
Returns the value of attribute tile_set.
11 12 13 |
# File 'lib/gbtiles/gbr/export/asm/asm.rb', line 11 def tile_set @tile_set end |
Instance Method Details
#prerender ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/gbtiles/gbr/export/asm/asm.rb', line 16 def prerender if @tile_set.nil? then raise "Missing required tile set" end @bank ||= @tile_set.tile_export.first.bank end |
#render_h ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/gbtiles/gbr/export/asm/asm.rb', line 32 def render_h prerender template = File.open(File.join(__dir__, "asm.h.erb"), "r").read ERB.new(template, nil, "-").result(binding) end |
#render_s ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/gbtiles/gbr/export/asm/asm.rb', line 24 def render_s prerender template = File.open(File.join(__dir__, "asm.s.erb"), "r").read ERB.new(template, nil, "-").result(binding) end |
#write(output_stream) ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/gbtiles/gbr/export/asm/asm.rb', line 40 def write output_stream output_stream.write(render_s) if output_stream.is_a? File then header_filename = "#{File.basename(output_stream.path, ".s")}.h" header_path = "#{File.dirname(File.(output_stream.path))}/#{header_filename}" header_stream = File.open(header_path, "w") header_stream.write(render_h) header_stream.close end end |