/ld27

To get this branch, use:
bzr branch http://9ix.org/bzr/ld27

« back to all changes in this revision

Viewing changes to zoetrope/sprites/tile.lua

  • Committer: Josh C
  • Date: 2015-09-05 20:31:03 UTC
  • Revision ID: josh@9ix.org-20150905203103-hgxn36kuk5fm739l
catch <1080p scaling case

Show diffs side-by-side

added added

removed removed

Lines of Context:
47
47
                        self._quad = love.graphics.newQuad(self.imageOffset.x, self.imageOffset.y,
48
48
                                                                                           self.width, self.height,
49
49
                                                                                           self._imageObj:getWidth(), self._imageObj:getHeight())
50
 
                        self._imageObj:setWrap('repeat', 'repeat')
 
50
                        --self._imageObj:setWrap('repeat', 'repeat')
51
51
                        self._set.image = self.image
52
52
                        self._set.imageOffset.x = self.imageOffset.x
53
53
                        self._set.imageOffset.y = self.imageOffset.y
54
54
                end
55
55
        end,
56
56
 
57
 
        draw = function (self, x, y)
 
57
        draw = function (self, x, y, map)
58
58
                if not self.visible or self.alpha <= 0 then return end
59
59
 
60
60
                x = math.floor(x or self.x)
88
88
                -- draw the quad
89
89
                local scaleX = self.scale * self.distort.x
90
90
                local scaleY = self.scale * self.distort.y
 
91
                local origX = self.origin.x or (self.width / 2)
 
92
                local origY = self.origin.y or (self.height / 2)
91
93
 
92
94
                if self.flipX then scaleX = scaleX * -1 end
93
95
                if self.flipY then scaleY = scaleY * -1 end
94
96
 
95
 
                love.graphics.drawq(self._imageObj, self._quad, x + self.width / 2, y + self.height / 2, self.rotation,
96
 
                                                        scaleX, scaleY, self.width / 2, self.height / 2)
 
97
    if map then
 
98
      batches = map and map.spriteBatches
 
99
 
 
100
      if not batches[self.image] then
 
101
        --batches:addBatch(self.image, self._imageObj)
 
102
        local maph, mapw = map:getMapSize()
 
103
        batches[self.image] = love.graphics.newSpriteBatch(self._imageObj, mapw * maph)
 
104
        print('adding new batch')
 
105
      end
 
106
 
 
107
      batches[self.image]:add(self._quad, x + origX, y + origY,self.rotation,
 
108
                              scaleX, scaleY, origX, origY)
 
109
    else
 
110
      love.graphics.draw(self._imageObj, self._quad, x + origX, y + origY,
 
111
                         self.rotation, scaleX, scaleY, origX, origY)
 
112
    end
97
113
                
98
114
                -- reset color
99
115
                
103
119
        end,
104
120
 
105
121
        __tostring = function (self)
106
 
                local result = 'Tile (x: ' .. self.x .. ', y: ' .. self.y ..
107
 
                                           ', w: ' .. self.width .. ', h: ' .. self.height .. ', '
 
122
                local result = 'Tile (x: ' .. tostring(self.x) .. ', y: ' .. tostring(self.y) ..
 
123
                                           ', w: ' .. tostring(self.width) .. ', h: ' .. tostring(self.height) .. ', '
108
124
 
109
125
                result = result .. 'image \'' .. self.image .. '\', '
110
126