modules/world: work around Y invertion in the camera system
This commit is contained in:
parent
b69ad095ee
commit
56a269dd57
1 changed files with 12 additions and 8 deletions
|
@ -56,11 +56,11 @@ function CameraSystem:initViews()
|
|||
if (self.verticalSplit) then
|
||||
self.views.posList.dual[1] = {}
|
||||
self.views.posList.dual[1].x = 0
|
||||
self.views.posList.dual[1].y = -(self.views.baseheight/4)
|
||||
self.views.posList.dual[1].y = (self.views.baseheight/4)
|
||||
|
||||
self.views.posList.dual[2] = {}
|
||||
self.views.posList.dual[2].x = 0
|
||||
self.views.posList.dual[2].y = (self.views.baseheight/4)
|
||||
self.views.posList.dual[2].y = -(self.views.baseheight/4)
|
||||
else
|
||||
self.views.posList.dual[1] = {}
|
||||
self.views.posList.dual[1].x = -(self.views.basewidth/4)
|
||||
|
@ -73,19 +73,19 @@ function CameraSystem:initViews()
|
|||
|
||||
self.views.posList.multi[1] = {}
|
||||
self.views.posList.multi[1].x = -(self.views.basewidth /4)
|
||||
self.views.posList.multi[1].y = -(self.views.baseheight/4)
|
||||
self.views.posList.multi[1].y = (self.views.baseheight/4)
|
||||
|
||||
self.views.posList.multi[2] = {}
|
||||
self.views.posList.multi[2].x = (self.views.basewidth /4)
|
||||
self.views.posList.multi[2].y = -(self.views.baseheight/4)
|
||||
self.views.posList.multi[2].y = (self.views.baseheight/4)
|
||||
|
||||
self.views.posList.multi[3] = {}
|
||||
self.views.posList.multi[3].x = -(self.views.basewidth /4)
|
||||
self.views.posList.multi[3].y = (self.views.baseheight/4)
|
||||
self.views.posList.multi[3].y = -(self.views.baseheight/4)
|
||||
|
||||
self.views.posList.multi[4] = {}
|
||||
self.views.posList.multi[4].x = (self.views.basewidth /4)
|
||||
self.views.posList.multi[4].y = (self.views.baseheight/4)
|
||||
self.views.posList.multi[4].y = -(self.views.baseheight/4)
|
||||
end
|
||||
|
||||
-- INFO FUNCTIONS
|
||||
|
@ -134,7 +134,7 @@ function CameraSystem:getViewPositions(id)
|
|||
|
||||
if (viewNumber == 2) and (id == 1) or (id == 2) then
|
||||
return self.views.posList.dual[id].x, self.views.posList.dual[id].y
|
||||
elseif (viewNumber > 2) and ((id >= 1) or (id <= 4)) then
|
||||
elseif (viewNumber > 2) then
|
||||
return self.views.posList.multi[id].x, self.views.posList.multi[id].y
|
||||
end
|
||||
|
||||
|
@ -287,7 +287,11 @@ function CameraSystem:computeCamPosition(id)
|
|||
local realy = self.views.list[id].pos.y
|
||||
|
||||
self.views.list[id].cam.x = realx - decalx
|
||||
self.views.list[id].cam.y = realy - decaly
|
||||
self.views.list[id].cam.y = realy + decaly
|
||||
-- FIXME: this workaround certainly will cause some problem but that's the only
|
||||
-- solution we seem to have right now
|
||||
-- We invert the y decalage for the camera in order to work around a problem
|
||||
-- that invert the y between it and the clipping.
|
||||
end
|
||||
|
||||
function CameraSystem:followActor(id)
|
||||
|
|
Loading…
Reference in a new issue