Browse Source

fix map load (graph)

Bastien Sevajol 6 years ago
parent
commit
4665eb03bd

+ 23 - 0
sandbox/tile/maps/004/004.tmx View File

@@ -0,0 +1,23 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<map version="1.0" tiledversion="2017.07.26" orientation="orthogonal" renderorder="left-up" width="15" height="5" tilewidth="8" tileheight="8" nextobjectid="4">
3
+ <tileset firstgid="1" source="trees_64x64.tsx"/>
4
+ <tileset firstgid="10" source="terrain.tsx"/>
5
+ <imagelayer name="background" visible="0">
6
+  <image source="background.png" width="24" height="40"/>
7
+ </imagelayer>
8
+ <layer name="terrain" width="15" height="5" opacity="0.5">
9
+  <data encoding="base64">
10
+   CgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAoAAAALAAAACwAAAAsAAAAKAAAACgAAAAsAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAsAAAAKAAAACgAAAAsAAAALAAAACwAAAAoAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAA
11
+  </data>
12
+ </layer>
13
+ <layer name="ground" width="15" height="5">
14
+  <data encoding="base64">
15
+   CgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAoAAAALAAAACwAAAAsAAAAKAAAACgAAAAsAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAsAAAAKAAAACgAAAAsAAAALAAAACwAAAAoAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAA
16
+  </data>
17
+ </layer>
18
+ <layer name="top" width="15" height="5">
19
+  <data encoding="base64">
20
+   AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
21
+  </data>
22
+ </layer>
23
+</map>

BIN
sandbox/tile/maps/004/actors/man.png View File


BIN
sandbox/tile/maps/004/actors/man_c1.png View File


BIN
sandbox/tile/maps/004/actors/man_c2.png View File


BIN
sandbox/tile/maps/004/actors/man_c3.png View File


BIN
sandbox/tile/maps/004/actors/man_c4.png View File


BIN
sandbox/tile/maps/004/actors/man_w1.png View File


BIN
sandbox/tile/maps/004/actors/man_w10.png View File


BIN
sandbox/tile/maps/004/actors/man_w2.png View File


BIN
sandbox/tile/maps/004/actors/man_w3.png View File


BIN
sandbox/tile/maps/004/actors/man_w4.png View File


BIN
sandbox/tile/maps/004/actors/man_w5.png View File


BIN
sandbox/tile/maps/004/actors/man_w6.png View File


BIN
sandbox/tile/maps/004/actors/man_w7.png View File


BIN
sandbox/tile/maps/004/actors/man_w8.png View File


BIN
sandbox/tile/maps/004/actors/man_w9.png View File


BIN
sandbox/tile/maps/004/background.png View File


BIN
sandbox/tile/maps/004/terrain.png View File


+ 18 - 0
sandbox/tile/maps/004/terrain.tsx View File

@@ -0,0 +1,18 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<tileset name="terrain" tilewidth="8" tileheight="8" spacing="1" tilecount="49" columns="7">
3
+ <image source="terrain.png" width="64" height="64"/>
4
+ <tile id="0">
5
+  <properties>
6
+   <property name="name" type="str" value="Grass"/>
7
+   <property name="traversable_by_man" type="bool" value="true"/>
8
+   <property name="traversable_by_vehicle" type="bool" value="true"/>
9
+  </properties>
10
+ </tile>
11
+ <tile id="1">
12
+  <properties>
13
+   <property name="name" type="str" value="Wood wall"/>
14
+   <property name="traversable_by_man" type="bool" value="false"/>
15
+   <property name="traversable_by_vehicle" type="bool" value="false"/>
16
+  </properties>
17
+ </tile>
18
+</tileset>

BIN
sandbox/tile/maps/004/trees_64x64.png View File


+ 4 - 0
sandbox/tile/maps/004/trees_64x64.tsx View File

@@ -0,0 +1,4 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<tileset name="trees_64x64" tilewidth="64" tileheight="64" tilecount="9" columns="3">
3
+ <image source="trees_64x64.png" width="192" height="192"/>
4
+</tileset>

+ 1 - 1
sandbox/tile/run.py View File

@@ -32,7 +32,7 @@ def main(map_dir_path: str, seed_value: int=42):
32 32
     simulation = TileStrategySimulation(config, map_file_path=map_file_path)
33 33
     subjects = TileStrategySubjects(simulation=simulation)
34 34
 
35
-    for position in ((0, 0), (5, 3), (10, 6)):
35
+    for position in ((0, 2),):
36 36
         man = Man(
37 37
             config=config,
38 38
             simulation=simulation,

+ 1 - 1
sandbox/tile/simulation/physics.py View File

@@ -23,6 +23,6 @@ class TileMoveCostComputer(MoveCostComputer):
23 23
 
24 24
         if not tile.property('traversable_by_man'):
25 25
             # TODO: revoir la lib disjkstar because les mecs traverses quand meme ...
26
-            return 1000000000000000000000000
26
+            return 100
27 27
 
28 28
         return 1.0

+ 6 - 2
synergine2_xyz/map.py View File

@@ -27,6 +27,7 @@ class UnconstructedTile(XYZTile):
27 27
 
28 28
 class TMXMap(object):
29 29
     xyz_tile_class = XYZTile
30
+    transform_zero_y_to_bottom = True
30 31
 
31 32
     def __init__(self, map_file_path: str) -> None:
32 33
         self.tmx_map = tmx.TileMap.load(map_file_path)
@@ -68,7 +69,10 @@ class TMXMap(object):
68 69
 
69 70
     def _load_tiles(self) -> None:
70 71
         for layer_name, layer in self.tmx_layers.items():
71
-            x, y = -1, 0
72
+            x = -1
73
+            y = 0 if not self.transform_zero_y_to_bottom else self.height - 1
74
+            y_modifier = 1 if not self.transform_zero_y_to_bottom else -1
75
+
72 76
             self.tmx_layer_tiles[layer_name] = {}
73 77
 
74 78
             # no tiles
@@ -80,7 +84,7 @@ class TMXMap(object):
80 84
 
81 85
                 if x == self.width:
82 86
                     x = 0
83
-                    y += 1
87
+                    y += y_modifier
84 88
 
85 89
                 position_key = '{}.{}'.format(x, y)
86 90