dedalus 0.2.6 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/dedalus +2 -1
- data/lib/dedalus/elements/image.rb +12 -2
- data/lib/dedalus/elements/image_grid.rb +15 -7
- data/lib/dedalus/elements/sprite_field.rb +17 -7
- data/lib/dedalus/pattern_library/organisms/app_header.rb +1 -1
- data/lib/dedalus/pattern_library/templates/app_template.rb +1 -1
- data/lib/dedalus/version.rb +1 -1
- data/lib/dedalus/view_traversal.rb +14 -2
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 8686f3d6232edc32c9ead7d41abd9feedb983b9c
         | 
| 4 | 
            +
              data.tar.gz: 727b37a3abf33fb14b046c004d7bd10c3737612a
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 1b8d7f3f5c95f0b8e94a928531f0bc1be683b6b26420ae6f47881adfb09e10fc31f4211d614a115c1929ec00b249b3deac35d6f8344b39e4d7fc29e61d5854be
         | 
| 7 | 
            +
              data.tar.gz: bf574d8b6c2001c97f364f7e3259ea01bb7a12d49a2c34079cf328524e933552b5c2211897d64b68cbdec821dcace92d5727eb9626de02f8fe327cef408a1c2d
         | 
    
        data/bin/dedalus
    CHANGED
    
    | @@ -9,7 +9,8 @@ if File.directory?(File.join(root,'.git')) | |
| 9 9 | 
             
                  Dedalus::PatternLibrary::Application.kickstart!({
         | 
| 10 10 | 
             
                    setup: {
         | 
| 11 11 | 
             
                      library_name: "Dedalus",
         | 
| 12 | 
            -
                      module_to_search: Dedalus:: | 
| 12 | 
            +
                      module_to_search: Dedalus::PatternLibrary
         | 
| 13 | 
            +
                      # Dedalus::Elements
         | 
| 13 14 | 
             
                    }
         | 
| 14 15 | 
             
                  })
         | 
| 15 16 | 
             
                rescue LoadError => e
         | 
| @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            module Dedalus
         | 
| 2 2 | 
             
              module Elements
         | 
| 3 3 | 
             
                class Image < Dedalus::Atom
         | 
| 4 | 
            -
                  attr_accessor :path, :padding, :z_order, :invert_x, :invert_y
         | 
| 4 | 
            +
                  attr_accessor :path, :padding, :z_order, :invert_x, :invert_y, :overlay_color
         | 
| 5 5 |  | 
| 6 6 | 
             
                  def render
         | 
| 7 7 | 
             
                    x,y = *position
         | 
| @@ -10,7 +10,17 @@ module Dedalus | |
| 10 10 |  | 
| 11 11 | 
             
                    ox,oy = *offset
         | 
| 12 12 |  | 
| 13 | 
            -
                     | 
| 13 | 
            +
                    if overlay_color
         | 
| 14 | 
            +
                      asset.draw(x + padding + ox, y + padding + oy, z_order, x_scale, y_scale, overlay_gosu_color)
         | 
| 15 | 
            +
                    else
         | 
| 16 | 
            +
                      asset.draw(x + padding + ox, y + padding + oy, z_order, x_scale, y_scale) #, overlay_color)
         | 
| 17 | 
            +
                    end
         | 
| 18 | 
            +
                  end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                  def overlay_gosu_color
         | 
| 21 | 
            +
                    clr = Palette.decode_color(overlay_color).to_gosu
         | 
| 22 | 
            +
                    clr.alpha = 255
         | 
| 23 | 
            +
                    clr
         | 
| 14 24 | 
             
                  end
         | 
| 15 25 |  | 
| 16 26 | 
             
                  def offset
         | 
| @@ -4,19 +4,27 @@ module Dedalus | |
| 4 4 | 
             
                  attr_accessor :grid, :tiles_path, :tile_width, :tile_height
         | 
| 5 5 |  | 
| 6 6 | 
             
                  def show
         | 
| 7 | 
            -
                    grid | 
| 8 | 
            -
                       | 
| 9 | 
            -
                         | 
| 10 | 
            -
                           | 
| 11 | 
            -
             | 
| 12 | 
            -
                           | 
| 7 | 
            +
                    if grid
         | 
| 8 | 
            +
                      grid.map do |row|
         | 
| 9 | 
            +
                        row.map do |grid_value|
         | 
| 10 | 
            +
                          if grid_value
         | 
| 11 | 
            +
                            sprite_for(grid_value)
         | 
| 12 | 
            +
                          else
         | 
| 13 | 
            +
                            no_image
         | 
| 14 | 
            +
                          end
         | 
| 13 15 | 
             
                        end
         | 
| 14 16 | 
             
                      end
         | 
| 17 | 
            +
                    else
         | 
| 18 | 
            +
                      []
         | 
| 15 19 | 
             
                    end
         | 
| 16 20 | 
             
                  end
         | 
| 17 21 |  | 
| 18 22 | 
             
                  def height
         | 
| 19 | 
            -
                    grid | 
| 23 | 
            +
                    if grid
         | 
| 24 | 
            +
                      grid.length * tile_height
         | 
| 25 | 
            +
                    else
         | 
| 26 | 
            +
                      0
         | 
| 27 | 
            +
                    end
         | 
| 20 28 | 
             
                  end
         | 
| 21 29 |  | 
| 22 30 | 
             
                  def sprite_for(frame)
         | 
| @@ -13,16 +13,26 @@ module Dedalus | |
| 13 13 | 
             
                    layer_stack.push(Dedalus::Layer.new(background_image))
         | 
| 14 14 | 
             
                    layer_stack.push(Dedalus::Layer.new(image_grid))
         | 
| 15 15 |  | 
| 16 | 
            +
                    # p [ canvas_layer: canvas_layer ] 
         | 
| 17 | 
            +
                    layer_stack.push(canvas_layer)
         | 
| 18 | 
            +
                    layer_stack
         | 
| 19 | 
            +
                  end
         | 
| 20 | 
            +
             | 
| 21 | 
            +
                  def canvas_layer
         | 
| 16 22 | 
             
                    # TODO one sprite *layer*
         | 
| 17 | 
            -
                     | 
| 18 | 
            -
             | 
| 23 | 
            +
                    Dedalus::Layer.new(sprites, freeform: true)
         | 
| 24 | 
            +
                  end
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                  def sprites
         | 
| 27 | 
            +
                    sprite_map.flat_map do |location, sprite_list|
         | 
| 28 | 
            +
                      sprite_list.map do |sprite|
         | 
| 19 29 | 
             
                        position = to_screen_coordinates(location: location)
         | 
| 20 | 
            -
                        sprite =  | 
| 21 | 
            -
                         | 
| 30 | 
            +
                        sprite.position = position
         | 
| 31 | 
            +
                        p [ updated_sprite_position: sprite ]
         | 
| 32 | 
            +
                        sprite
         | 
| 33 | 
            +
                        # Sprite.new(sprite_attrs.merge(position: position))
         | 
| 22 34 | 
             
                      end
         | 
| 23 35 | 
             
                    end
         | 
| 24 | 
            -
             | 
| 25 | 
            -
                    layer_stack
         | 
| 26 36 | 
             
                  end
         | 
| 27 37 |  | 
| 28 38 | 
             
                  def image_grid
         | 
| @@ -55,7 +65,7 @@ module Dedalus | |
| 55 65 | 
             
                             [1,1,1,1,1]],
         | 
| 56 66 | 
             
                      scale: 0.3,
         | 
| 57 67 | 
             
                      player_location: [2,2],
         | 
| 58 | 
            -
                      sprite_map: { [ | 
| 68 | 
            +
                      sprite_map: { [1.2,2.4] => [ Sprite.new(Sprite.example_data) ] }
         | 
| 59 69 | 
             
                    }
         | 
| 60 70 | 
             
                  end
         | 
| 61 71 | 
             
                end
         | 
    
        data/lib/dedalus/version.rb
    CHANGED
    
    
| @@ -49,7 +49,19 @@ module Dedalus | |
| 49 49 | 
             
                    if structure.is_a?(LayerStack)
         | 
| 50 50 | 
             
                      layers = structure.layers
         | 
| 51 51 | 
             
                      layers.each do |layer|
         | 
| 52 | 
            -
                         | 
| 52 | 
            +
                        # TODO cleanup a bit?
         | 
| 53 | 
            +
                        if layer.freeform?
         | 
| 54 | 
            +
                          if layer.show.is_a?(Array)
         | 
| 55 | 
            +
                            # need to run through each element individually?
         | 
| 56 | 
            +
                            layer.show.each do |layer_element|
         | 
| 57 | 
            +
                              walk!(layer_element, origin: pad_origin, dimensions: pad_dims, freeform: true)
         | 
| 58 | 
            +
                            end
         | 
| 59 | 
            +
                          else
         | 
| 60 | 
            +
                            walk!(layer, origin: pad_origin, dimensions: pad_dims, freeform: true)
         | 
| 61 | 
            +
                          end
         | 
| 62 | 
            +
                        else
         | 
| 63 | 
            +
                          walk!(layer, origin: pad_origin, dimensions: pad_dims, freeform: false)
         | 
| 64 | 
            +
                        end
         | 
| 53 65 | 
             
                      end
         | 
| 54 66 | 
             
                    else
         | 
| 55 67 | 
             
                      walk!(structure.show, origin: pad_origin, dimensions: pad_dims, freeform: freeform)
         | 
| @@ -69,7 +81,7 @@ module Dedalus | |
| 69 81 | 
             
                    dims = [width, current_row_height]
         | 
| 70 82 | 
             
                    if row.is_a?(Array)
         | 
| 71 83 | 
             
                      extra_columns = true
         | 
| 72 | 
            -
                      while extra_columns | 
| 84 | 
            +
                      while extra_columns
         | 
| 73 85 | 
             
                        row = walk_columns!(row, origin: [x0, y], dimensions: dims)
         | 
| 74 86 | 
             
                        if row.empty?
         | 
| 75 87 | 
             
                          extra_columns = false
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: dedalus
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.2. | 
| 4 | 
            +
              version: 0.2.7
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Joseph Weissman
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2016-05- | 
| 11 | 
            +
            date: 2016-05-04 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: joyce
         |