|
|
@@ -388,10 +388,10 @@ class NodeGameMap(gbe.nodes.Node2D): |
|
|
|
rcell = self._getCell(fx - ovec[1], fy) |
|
|
|
rrcell = self._getCell(fx - (ovec[1]*2), fy) |
|
|
|
else: # Facing East/West |
|
|
|
lcell = self._getCell(fx, fy + ovec[0]) |
|
|
|
llcell = self._getCell(fx, fy + (ovec[0]*2)) |
|
|
|
rcell = self._getCell(fx, fy - ovec[0]) |
|
|
|
rrcell = self._getCell(fx, fy - (ovec[0]*2)) |
|
|
|
lcell = self._getCell(fx, fy - ovec[0]) |
|
|
|
llcell = self._getCell(fx, fy - (ovec[0]*2)) |
|
|
|
rcell = self._getCell(fx, fy + ovec[0]) |
|
|
|
rrcell = self._getCell(fx, fy + (ovec[0]*2)) |
|
|
|
|
|
|
|
hsw = int(size[0]*0.5) |
|
|
|
hsh = int(size[1]*0.5) |
|
|
@@ -467,8 +467,8 @@ class NodeGameMap(gbe.nodes.Node2D): |
|
|
|
lcell = self._getCell(fx + ovec[1], fy) |
|
|
|
rcell = self._getCell(fx - ovec[1], fy) |
|
|
|
else: # Facing East/West |
|
|
|
lcell = self._getCell(fx, fy + ovec[0]) |
|
|
|
rcell = self._getCell(fx, fy - ovec[0]) |
|
|
|
lcell = self._getCell(fx, fy - ovec[0]) |
|
|
|
rcell = self._getCell(fx, fy + ovec[0]) |
|
|
|
|
|
|
|
hsw = int(size[0]*0.5) |
|
|
|
hsh = int(size[1]*0.5) |
|
|
@@ -515,6 +515,34 @@ class NodeGameMap(gbe.nodes.Node2D): |
|
|
|
hsw = int(size[0]*0.5) |
|
|
|
hsh = int(size[1]*0.5) |
|
|
|
|
|
|
|
ovec = self._getOrientVec() |
|
|
|
lcell = rcell = None |
|
|
|
if ovec[0] == 0: # Facing North/South |
|
|
|
lcell = self._getCell(pos[0] + ovec[1], pos[1]) |
|
|
|
rcell = self._getCell(pos[0] - ovec[1], pos[1]) |
|
|
|
else: # Facing East/West |
|
|
|
lcell = self._getCell(pos[0], pos[1] - ovec[0]) |
|
|
|
rcell = self._getCell(pos[0], pos[1] + ovec[0]) |
|
|
|
|
|
|
|
hsw = int(size[0]*0.5) |
|
|
|
hsh = int(size[1]*0.5) |
|
|
|
|
|
|
|
# Render from outside inwards! |
|
|
|
if lcell is not None: |
|
|
|
if lcell[o][0] >= 0: |
|
|
|
rect = wdat["walls"][lcell[o][0]]["f_close"] |
|
|
|
hw = int(rect[2]*0.5) |
|
|
|
hh = int(rect[3]*0.5) |
|
|
|
rw = hsw - hw |
|
|
|
self.draw_image(wsurf, (0, hsh-hh), (rect[0]+(rect[2]-rw), rect[1], rw, rect[3])) |
|
|
|
if rcell is not None: |
|
|
|
if rcell[o][0] >= 0: |
|
|
|
rect = wdat["walls"][rcell[o][0]]["f_close"] |
|
|
|
hw = int(rect[2]*0.5) |
|
|
|
hh = int(rect[3]*0.5) |
|
|
|
rw = hsw - hw |
|
|
|
self.draw_image(wsurf, (size[0]-rw, hsh-hh), (rect[0], rect[1], rw, rect[3])) |
|
|
|
|
|
|
|
# Rendering the main cell!! |
|
|
|
frect = None # This will be used to place walls |
|
|
|
if fcell[o][0] >= 0: |
|
|
@@ -558,11 +586,12 @@ class NodeGameMap(gbe.nodes.Node2D): |
|
|
|
if ehsurf() is None or egsurf() is None or wsurf() is None: |
|
|
|
return |
|
|
|
|
|
|
|
oshift = lambda d: d if d >= 0 and d < 4 else (0 if d > 3 else 3) |
|
|
|
|
|
|
|
px = self._cellpos[0] |
|
|
|
py = self._cellpos[1] |
|
|
|
orl = self._d_n2s(max(0, self._d_s2n(self._orientation) - 1)) |
|
|
|
orr = self._d_n2s((self._d_s2n(self._orientation) + 1)%4) |
|
|
|
orl = self._d_n2s(oshift(self._d_s2n(self._orientation) - 1)) |
|
|
|
orr = self._d_n2s(oshift(self._d_s2n(self._orientation) + 1)) |
|
|
|
|
|
|
|
cell = self._getCell(px, py) |
|
|
|
|