Class: GBTiles::GBM::Export::ASM::ASM
- Inherits:
-
Object
- Object
- GBTiles::GBM::Export::ASM::ASM
- Includes:
- ERB::Util
- Defined in:
- lib/gbtiles/gbm/export/asm/asm.rb
Instance Attribute Summary collapse
-
#bank ⇒ Object
Returns the value of attribute bank.
-
#layer ⇒ Object
Returns the value of attribute layer.
-
#map_set ⇒ Object
Returns the value of attribute map_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.
16 17 |
# File 'lib/gbtiles/gbm/export/asm/asm.rb', line 16 def initialize end |
Instance Attribute Details
#bank ⇒ Object
Returns the value of attribute bank.
12 13 14 |
# File 'lib/gbtiles/gbm/export/asm/asm.rb', line 12 def bank @bank end |
#layer ⇒ Object
Returns the value of attribute layer.
14 15 16 |
# File 'lib/gbtiles/gbm/export/asm/asm.rb', line 14 def layer @layer end |
#map_set ⇒ Object
Returns the value of attribute map_set.
13 14 15 |
# File 'lib/gbtiles/gbm/export/asm/asm.rb', line 13 def map_set @map_set end |
Instance Method Details
#prerender ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/gbtiles/gbm/export/asm/asm.rb', line 19 def prerender if @map_set.nil? then raise "Missing required map" end if @layer.nil? then raise "Missing required layer (bkg, win, sprite)" end @bank ||= @map_set.map_export_settings.first.bank end |
#render_h ⇒ Object
39 40 41 42 43 44 45 |
# File 'lib/gbtiles/gbm/export/asm/asm.rb', line 39 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
31 32 33 34 35 36 37 |
# File 'lib/gbtiles/gbm/export/asm/asm.rb', line 31 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
47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/gbtiles/gbm/export/asm/asm.rb', line 47 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 |