mirror of https://github.com/bgiraudr/Adoranda.git
draw interior without moving camera and remove excessive tileset
This commit is contained in:
parent
71c7ce7198
commit
1c827d7b28
|
@ -14,16 +14,25 @@ def convert(input, output, params, target):
|
|||
def convert_map(input, output, params, target):
|
||||
TILE_AIR = 0
|
||||
TILE_SOLID = 1
|
||||
TILE_DOOR = 2
|
||||
TILE_CHARACTER = 3
|
||||
TILE_DOOR_IN = 2
|
||||
TILE_DOOR_OUT = 3
|
||||
TILE_CHARACTER = 4
|
||||
|
||||
TILE_BRIDGE = -1 #only for bridge detection to avoid solid behind
|
||||
|
||||
with open(input, "r") as jsonData:
|
||||
data = json.load(jsonData)
|
||||
|
||||
#find the tileset using the location of the input
|
||||
tileset = open(input.replace(input.split("/")[-1], "tileset.json"), "r")
|
||||
#find the tileset in use. it's a relative path (like ../tileset.tsx)
|
||||
nameTileset = data["tilesets"][0]["source"].replace(".tsx","")
|
||||
#the name of the tileset without the .something
|
||||
nameTilesetFree = nameTileset.split("/")[-1]
|
||||
#count the number of "back" (cd ..) to locate the tileset on the computer
|
||||
nbRetour = nameTileset.count("..")+1
|
||||
#create the tileset absolute path
|
||||
tilesetPath = "/".join(input.split("/")[:-nbRetour]) + "/" + nameTileset.split("/")[-1] + ".json"
|
||||
|
||||
tileset = open(tilesetPath, "r")
|
||||
data_tileset = json.load(tileset)
|
||||
tileset.close()
|
||||
|
||||
|
@ -39,8 +48,10 @@ def convert_map(input, output, params, target):
|
|||
value = TILE_AIR
|
||||
elif type == "solid":
|
||||
value = TILE_SOLID
|
||||
elif type == "door":
|
||||
value = TILE_DOOR
|
||||
elif type == "door_in":
|
||||
value = TILE_DOOR_IN
|
||||
elif type == "door_out":
|
||||
value = TILE_DOOR_OUT
|
||||
elif type == "character":
|
||||
value = TILE_CHARACTER
|
||||
elif type == "bridge":
|
||||
|
@ -58,7 +69,7 @@ def convert_map(input, output, params, target):
|
|||
|
||||
o = fxconv.ObjectData()
|
||||
o += fxconv.u32(w) + fxconv.u32(h) + fxconv.u32(nblayer)
|
||||
o += fxconv.ref("img_tileset")
|
||||
o += fxconv.ref(f"img_{nameTilesetFree}")
|
||||
|
||||
#generation of the collision map (take the maximum of the layer except for bridges)
|
||||
#bridges are always walkable
|
||||
|
|
|
@ -1,35 +1,49 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.5" tiledversion="1.7.2" orientation="orthogonal" renderorder="right-down" width="12" height="10" tilewidth="16" tileheight="16" infinite="0" nextlayerid="9" nextobjectid="25">
|
||||
<map version="1.5" tiledversion="1.7.2" orientation="orthogonal" renderorder="right-down" width="12" height="10" tilewidth="16" tileheight="16" infinite="0" nextlayerid="10" nextobjectid="25">
|
||||
<editorsettings>
|
||||
<export target="interior_1.json" format="json"/>
|
||||
</editorsettings>
|
||||
<tileset firstgid="1" source="../tileset.tsx"/>
|
||||
<layer id="5" name="1" width="12" height="10">
|
||||
<data encoding="csv">
|
||||
285,285,285,285,285,285,285,285,285,286,285,285,
|
||||
285,286,286,286,286,286,286,286,286,286,285,285,
|
||||
285,286,285,286,286,286,286,286,286,286,285,285,
|
||||
285,286,285,286,1,1,285,1,39,1,1,1,
|
||||
285,286,285,1,36,39,1,1,1,33,1,1,
|
||||
285,286,285,1,1,35,33,1,1,1,1,1,
|
||||
285,286,285,286,1,30,1,286,285,286,285,285,
|
||||
285,286,285,286,285,286,285,286,285,286,285,285,
|
||||
285,286,285,285,285,286,285,286,285,286,285,285,
|
||||
285,285,752,285,285,285,285,285,285,286,285,285
|
||||
2,3,2,1,3,3,2,3,2,1,1,3,
|
||||
1,6,6,6,1,3,2,3,2,1,2,2,
|
||||
3,6,6,74,76,1,1,74,76,3,1,1,
|
||||
1,6,2,103,105,1,1,103,105,1,1,1,
|
||||
1,6,2,103,105,39,1,103,105,33,1,1,
|
||||
1,6,1,103,78,75,75,77,105,1,1,1,
|
||||
2,6,3,132,133,106,107,133,134,1,3,1,
|
||||
2,3,2,2,1,132,134,3,2,2,1,3,
|
||||
2,3,2,1,3,2,3,2,2,1,1,3,
|
||||
1,2,0,1,2,2,2,1,3,3,1,3
|
||||
</data>
|
||||
</layer>
|
||||
<layer id="1" name="2" width="12" height="10">
|
||||
<data encoding="csv">
|
||||
224,225,225,225,225,225,225,225,225,226,0,29,
|
||||
20,21,0,0,0,0,0,0,0,0,0,58,
|
||||
49,50,0,0,0,0,0,0,0,0,0,0,
|
||||
248,249,249,249,249,249,249,249,249,249,249,251,
|
||||
277,0,0,0,635,636,637,638,0,0,0,280,
|
||||
277,0,0,0,664,665,666,667,0,0,0,280,
|
||||
277,0,0,0,693,694,695,696,0,0,0,280,
|
||||
277,0,0,245,722,723,724,725,245,0,0,280,
|
||||
277,0,0,274,751,752,753,754,274,0,0,280,
|
||||
277,0,0,303,0,0,0,0,303,0,0,280,
|
||||
277,0,0,0,0,0,0,0,0,0,0,280,
|
||||
277,0,0,0,0,0,0,0,0,0,0,280,
|
||||
306,307,238,308,250,250,250,250,250,250,250,309
|
||||
</data>
|
||||
</layer>
|
||||
<layer id="9" name="3" width="12" height="10">
|
||||
<data encoding="csv">
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,24,25,0,0,
|
||||
0,0,0,0,0,0,0,0,53,54,0,0
|
||||
0,0,0,0,0,0,0,0,294,294,294,0,
|
||||
0,0,0,0,0,0,0,0,0,294,294,0,
|
||||
0,0,0,0,0,0,0,0,0,294,294,0,
|
||||
0,0,0,0,0,0,0,0,0,0,294,0,
|
||||
0,0,0,0,0,0,0,29,0,0,294,0,
|
||||
0,0,0,0,0,0,0,58,0,0,294,0,
|
||||
0,0,0,0,0,0,0,0,0,0,294,0,
|
||||
0,0,0,0,0,0,0,0,0,0,294,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0
|
||||
</data>
|
||||
</layer>
|
||||
</map>
|
||||
|
|
|
@ -1,399 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<tileset version="1.5" tiledversion="1.7.2" name="tileset" tilewidth="16" tileheight="16" tilecount="754" columns="29">
|
||||
<editorsettings>
|
||||
<export target="tileset.json" format="json"/>
|
||||
</editorsettings>
|
||||
<image source="../../tileset.png" width="464" height="416"/>
|
||||
<tile id="15" type="solid"/>
|
||||
<tile id="16" type="solid"/>
|
||||
<tile id="17" type="solid"/>
|
||||
<tile id="18" type="solid"/>
|
||||
<tile id="19" type="solid"/>
|
||||
<tile id="20" type="solid"/>
|
||||
<tile id="21" type="solid"/>
|
||||
<tile id="22" type="solid"/>
|
||||
<tile id="23" type="solid"/>
|
||||
<tile id="24" type="solid"/>
|
||||
<tile id="25" type="solid"/>
|
||||
<tile id="44" type="solid"/>
|
||||
<tile id="45" type="solid"/>
|
||||
<tile id="46" type="solid"/>
|
||||
<tile id="47" type="solid"/>
|
||||
<tile id="48" type="character"/>
|
||||
<tile id="49" type="solid"/>
|
||||
<tile id="52" type="solid"/>
|
||||
<tile id="53" type="solid"/>
|
||||
<tile id="54" type="solid"/>
|
||||
<tile id="56" type="character"/>
|
||||
<tile id="57" type="character"/>
|
||||
<tile id="78" type="solid"/>
|
||||
<tile id="79" type="solid"/>
|
||||
<tile id="80" type="solid"/>
|
||||
<tile id="81" type="solid"/>
|
||||
<tile id="82" type="solid"/>
|
||||
<tile id="83" type="solid"/>
|
||||
<tile id="107" type="solid"/>
|
||||
<tile id="109" type="solid"/>
|
||||
<tile id="110" type="solid"/>
|
||||
<tile id="112" type="solid"/>
|
||||
<tile id="136" type="solid"/>
|
||||
<tile id="137" type="solid"/>
|
||||
<tile id="138" type="solid"/>
|
||||
<tile id="139" type="solid"/>
|
||||
<tile id="140" type="solid"/>
|
||||
<tile id="141" type="solid"/>
|
||||
<tile id="165" type="solid"/>
|
||||
<tile id="167" type="solid"/>
|
||||
<tile id="168" type="solid"/>
|
||||
<tile id="169" type="solid"/>
|
||||
<tile id="170" type="solid"/>
|
||||
<tile id="194" type="solid"/>
|
||||
<tile id="196" type="solid"/>
|
||||
<tile id="197" type="solid"/>
|
||||
<tile id="199" type="solid"/>
|
||||
<tile id="200" type="bridge"/>
|
||||
<tile id="201" type="bridge"/>
|
||||
<tile id="202" type="bridge"/>
|
||||
<tile id="223" type="solid"/>
|
||||
<tile id="224" type="solid"/>
|
||||
<tile id="225" type="solid"/>
|
||||
<tile id="231" type="bridge"/>
|
||||
<tile id="232" type="solid"/>
|
||||
<tile id="233" type="solid"/>
|
||||
<tile id="234" type="solid"/>
|
||||
<tile id="235" type="solid"/>
|
||||
<tile id="236" type="solid"/>
|
||||
<tile id="239" type="solid"/>
|
||||
<tile id="240" type="solid"/>
|
||||
<tile id="241" type="solid"/>
|
||||
<tile id="242" type="solid"/>
|
||||
<tile id="243" type="solid"/>
|
||||
<tile id="244" type="solid"/>
|
||||
<tile id="245" type="solid"/>
|
||||
<tile id="246" type="solid"/>
|
||||
<tile id="247" type="solid"/>
|
||||
<tile id="248" type="solid"/>
|
||||
<tile id="249" type="solid"/>
|
||||
<tile id="250" type="solid"/>
|
||||
<tile id="251" type="solid"/>
|
||||
<tile id="252" type="solid"/>
|
||||
<tile id="253" type="solid"/>
|
||||
<tile id="254" type="solid"/>
|
||||
<tile id="255" type="bridge"/>
|
||||
<tile id="256" type="bridge"/>
|
||||
<tile id="257" type="solid"/>
|
||||
<tile id="261" type="solid"/>
|
||||
<tile id="262" type="solid"/>
|
||||
<tile id="263" type="solid"/>
|
||||
<tile id="264" type="solid"/>
|
||||
<tile id="265" type="solid"/>
|
||||
<tile id="268" type="solid"/>
|
||||
<tile id="269" type="solid"/>
|
||||
<tile id="270" type="solid"/>
|
||||
<tile id="271" type="solid"/>
|
||||
<tile id="272" type="solid"/>
|
||||
<tile id="273" type="solid"/>
|
||||
<tile id="274" type="solid"/>
|
||||
<tile id="275" type="solid"/>
|
||||
<tile id="276" type="solid"/>
|
||||
<tile id="277" type="solid"/>
|
||||
<tile id="278" type="solid"/>
|
||||
<tile id="279" type="solid"/>
|
||||
<tile id="280" type="bridge"/>
|
||||
<tile id="281" type="bridge"/>
|
||||
<tile id="282" type="bridge"/>
|
||||
<tile id="283" type="solid"/>
|
||||
<tile id="284" type="bridge"/>
|
||||
<tile id="285" type="bridge"/>
|
||||
<tile id="286" type="solid"/>
|
||||
<tile id="290" type="solid"/>
|
||||
<tile id="291" type="solid"/>
|
||||
<tile id="292" type="solid"/>
|
||||
<tile id="297" type="solid"/>
|
||||
<tile id="298" type="solid"/>
|
||||
<tile id="299" type="solid"/>
|
||||
<tile id="302" type="solid"/>
|
||||
<tile id="303" type="solid"/>
|
||||
<tile id="304" type="solid"/>
|
||||
<tile id="305" type="solid"/>
|
||||
<tile id="308" type="solid"/>
|
||||
<tile id="309" type="bridge"/>
|
||||
<tile id="310" type="bridge"/>
|
||||
<tile id="311" type="bridge"/>
|
||||
<tile id="312" type="solid"/>
|
||||
<tile id="313" type="bridge"/>
|
||||
<tile id="314" type="bridge"/>
|
||||
<tile id="315" type="solid"/>
|
||||
<tile id="319" type="solid"/>
|
||||
<tile id="320" type="solid"/>
|
||||
<tile id="321" type="solid"/>
|
||||
<tile id="322" type="solid"/>
|
||||
<tile id="323" type="solid"/>
|
||||
<tile id="324" type="solid"/>
|
||||
<tile id="338" type="solid"/>
|
||||
<tile id="339" type="solid"/>
|
||||
<tile id="340" type="solid"/>
|
||||
<tile id="341" type="solid"/>
|
||||
<tile id="342" type="bridge"/>
|
||||
<tile id="343" type="bridge"/>
|
||||
<tile id="344" type="solid"/>
|
||||
<tile id="348" type="solid"/>
|
||||
<tile id="349" type="solid"/>
|
||||
<tile id="350" type="solid"/>
|
||||
<tile id="351" type="solid"/>
|
||||
<tile id="352" type="solid"/>
|
||||
<tile id="353" type="solid"/>
|
||||
<tile id="377" type="solid"/>
|
||||
<tile id="378" type="solid"/>
|
||||
<tile id="379" type="solid"/>
|
||||
<tile id="380" type="solid"/>
|
||||
<tile id="381" type="solid"/>
|
||||
<tile id="382" type="solid"/>
|
||||
<tile id="634" type="solid"/>
|
||||
<tile id="635" type="solid"/>
|
||||
<tile id="636" type="solid"/>
|
||||
<tile id="637" type="solid"/>
|
||||
<tile id="655" type="solid"/>
|
||||
<tile id="656" type="solid"/>
|
||||
<tile id="657" type="solid"/>
|
||||
<tile id="658" type="solid"/>
|
||||
<tile id="659" type="solid"/>
|
||||
<tile id="660" type="solid"/>
|
||||
<tile id="661" type="solid"/>
|
||||
<tile id="662" type="solid"/>
|
||||
<tile id="663" type="solid"/>
|
||||
<tile id="664" type="solid"/>
|
||||
<tile id="665" type="solid"/>
|
||||
<tile id="666" type="solid"/>
|
||||
<tile id="684" type="solid"/>
|
||||
<tile id="685" type="solid"/>
|
||||
<tile id="686" type="solid"/>
|
||||
<tile id="687" type="solid"/>
|
||||
<tile id="688" type="solid"/>
|
||||
<tile id="689" type="solid"/>
|
||||
<tile id="690" type="solid"/>
|
||||
<tile id="691" type="solid"/>
|
||||
<tile id="692" type="solid"/>
|
||||
<tile id="693" type="solid"/>
|
||||
<tile id="694" type="solid"/>
|
||||
<tile id="695" type="solid"/>
|
||||
<tile id="713" type="solid"/>
|
||||
<tile id="714" type="solid"/>
|
||||
<tile id="715" type="solid"/>
|
||||
<tile id="716" type="solid"/>
|
||||
<tile id="717" type="solid"/>
|
||||
<tile id="718" type="solid"/>
|
||||
<tile id="719" type="solid"/>
|
||||
<tile id="720" type="solid"/>
|
||||
<tile id="721" type="solid"/>
|
||||
<tile id="722" type="solid"/>
|
||||
<tile id="723" type="solid"/>
|
||||
<tile id="724" type="solid"/>
|
||||
<tile id="742" type="solid"/>
|
||||
<tile id="743" type="door"/>
|
||||
<tile id="744" type="solid"/>
|
||||
<tile id="745" type="solid"/>
|
||||
<tile id="746" type="solid"/>
|
||||
<tile id="747" type="door"/>
|
||||
<tile id="748" type="solid"/>
|
||||
<tile id="749" type="solid"/>
|
||||
<tile id="750" type="solid"/>
|
||||
<tile id="751" type="door"/>
|
||||
<tile id="752" type="solid"/>
|
||||
<tile id="753" type="solid"/>
|
||||
<wangsets>
|
||||
<wangset name="Herbe" type="corner" tile="-1">
|
||||
<wangcolor name="Herbe" color="#ff0000" tile="0" probability="1"/>
|
||||
<wangcolor name="Passage" color="#00ff00" tile="88" probability="1"/>
|
||||
<wangcolor name="Terre" color="#0000ff" tile="175" probability="1"/>
|
||||
<wangcolor name="Pavé" color="#ff7700" tile="-1" probability="1"/>
|
||||
<wangcolor name="Pavé Sombre" color="#00e9ff" tile="-1" probability="1"/>
|
||||
<wangcolor name="Sable" color="#ff00d8" tile="-1" probability="1"/>
|
||||
<wangcolor name="Eau" color="#ffff00" tile="-1" probability="1"/>
|
||||
<wangcolor name="Pavé2" color="#a000ff" tile="-1" probability="1"/>
|
||||
<wangcolor name="Pavé3" color="#00ffa1" tile="-1" probability="1"/>
|
||||
<wangcolor name="Herbe claire" color="#ffa8a8" tile="-1" probability="1"/>
|
||||
<wangcolor name="Montagne" color="#b4a8ff" tile="-1" probability="1"/>
|
||||
<wangtile tileid="0" wangid="0,1,0,1,0,1,0,1"/>
|
||||
<wangtile tileid="1" wangid="0,1,0,1,0,1,0,1"/>
|
||||
<wangtile tileid="2" wangid="0,1,0,1,0,1,0,1"/>
|
||||
<wangtile tileid="3" wangid="0,1,0,1,0,1,0,1"/>
|
||||
<wangtile tileid="4" wangid="0,1,0,1,0,1,0,1"/>
|
||||
<wangtile tileid="29" wangid="0,1,0,1,0,1,0,1"/>
|
||||
<wangtile tileid="30" wangid="0,1,0,1,0,1,0,1"/>
|
||||
<wangtile tileid="31" wangid="0,1,0,1,0,1,0,1"/>
|
||||
<wangtile tileid="32" wangid="0,1,0,1,0,1,0,1"/>
|
||||
<wangtile tileid="33" wangid="0,1,0,1,0,1,0,1"/>
|
||||
<wangtile tileid="34" wangid="0,1,0,1,0,1,0,1"/>
|
||||
<wangtile tileid="35" wangid="0,1,0,1,0,1,0,1"/>
|
||||
<wangtile tileid="36" wangid="0,1,0,1,0,1,0,1"/>
|
||||
<wangtile tileid="37" wangid="0,1,0,1,0,1,0,1"/>
|
||||
<wangtile tileid="38" wangid="0,1,0,1,0,1,0,1"/>
|
||||
<wangtile tileid="39" wangid="0,1,0,1,0,1,0,1"/>
|
||||
<wangtile tileid="58" wangid="0,1,0,2,0,1,0,1"/>
|
||||
<wangtile tileid="59" wangid="0,1,0,2,0,2,0,1"/>
|
||||
<wangtile tileid="60" wangid="0,1,0,1,0,2,0,1"/>
|
||||
<wangtile tileid="61" wangid="0,2,0,2,0,2,0,1"/>
|
||||
<wangtile tileid="62" wangid="0,1,0,2,0,2,0,2"/>
|
||||
<wangtile tileid="63" wangid="0,1,0,4,0,1,0,1"/>
|
||||
<wangtile tileid="64" wangid="0,1,0,4,0,4,0,1"/>
|
||||
<wangtile tileid="65" wangid="0,1,0,1,0,4,0,1"/>
|
||||
<wangtile tileid="66" wangid="0,4,0,4,0,4,0,1"/>
|
||||
<wangtile tileid="67" wangid="0,1,0,4,0,4,0,4"/>
|
||||
<wangtile tileid="68" wangid="0,1,0,5,0,1,0,1"/>
|
||||
<wangtile tileid="69" wangid="0,1,0,5,0,5,0,1"/>
|
||||
<wangtile tileid="70" wangid="0,1,0,1,0,5,0,1"/>
|
||||
<wangtile tileid="71" wangid="0,5,0,5,0,5,0,1"/>
|
||||
<wangtile tileid="72" wangid="0,1,0,5,0,5,0,5"/>
|
||||
<wangtile tileid="73" wangid="0,1,0,9,0,1,0,1"/>
|
||||
<wangtile tileid="74" wangid="0,1,0,9,0,9,0,1"/>
|
||||
<wangtile tileid="75" wangid="0,1,0,1,0,9,0,1"/>
|
||||
<wangtile tileid="76" wangid="0,9,0,9,0,9,0,1"/>
|
||||
<wangtile tileid="77" wangid="0,1,0,9,0,9,0,9"/>
|
||||
<wangtile tileid="78" wangid="0,11,0,1,0,11,0,11"/>
|
||||
<wangtile tileid="79" wangid="0,11,0,1,0,1,0,11"/>
|
||||
<wangtile tileid="80" wangid="0,11,0,11,0,1,0,11"/>
|
||||
<wangtile tileid="81" wangid="0,1,0,11,0,1,0,1"/>
|
||||
<wangtile tileid="82" wangid="0,1,0,11,0,11,0,1"/>
|
||||
<wangtile tileid="83" wangid="0,1,0,1,0,11,0,1"/>
|
||||
<wangtile tileid="87" wangid="0,2,0,2,0,1,0,1"/>
|
||||
<wangtile tileid="88" wangid="0,2,0,2,0,2,0,2"/>
|
||||
<wangtile tileid="89" wangid="0,1,0,1,0,2,0,2"/>
|
||||
<wangtile tileid="90" wangid="0,2,0,2,0,1,0,2"/>
|
||||
<wangtile tileid="91" wangid="0,2,0,1,0,2,0,2"/>
|
||||
<wangtile tileid="92" wangid="0,4,0,4,0,1,0,1"/>
|
||||
<wangtile tileid="93" wangid="0,4,0,4,0,4,0,4"/>
|
||||
<wangtile tileid="94" wangid="0,1,0,1,0,4,0,4"/>
|
||||
<wangtile tileid="95" wangid="0,4,0,4,0,1,0,4"/>
|
||||
<wangtile tileid="96" wangid="0,4,0,1,0,4,0,4"/>
|
||||
<wangtile tileid="97" wangid="0,5,0,5,0,1,0,1"/>
|
||||
<wangtile tileid="98" wangid="0,5,0,5,0,5,0,5"/>
|
||||
<wangtile tileid="99" wangid="0,1,0,1,0,5,0,5"/>
|
||||
<wangtile tileid="100" wangid="0,5,0,5,0,1,0,5"/>
|
||||
<wangtile tileid="101" wangid="0,5,0,1,0,5,0,5"/>
|
||||
<wangtile tileid="102" wangid="0,9,0,9,0,1,0,1"/>
|
||||
<wangtile tileid="103" wangid="0,9,0,9,0,9,0,9"/>
|
||||
<wangtile tileid="104" wangid="0,1,0,1,0,9,0,9"/>
|
||||
<wangtile tileid="105" wangid="0,9,0,9,0,1,0,9"/>
|
||||
<wangtile tileid="106" wangid="0,9,0,1,0,9,0,9"/>
|
||||
<wangtile tileid="107" wangid="0,1,0,1,0,11,0,11"/>
|
||||
<wangtile tileid="108" wangid="0,1,0,1,0,1,0,1"/>
|
||||
<wangtile tileid="109" wangid="0,11,0,11,0,1,0,1"/>
|
||||
<wangtile tileid="110" wangid="0,11,0,11,0,1,0,1"/>
|
||||
<wangtile tileid="112" wangid="0,1,0,1,0,11,0,11"/>
|
||||
<wangtile tileid="116" wangid="0,2,0,1,0,1,0,1"/>
|
||||
<wangtile tileid="117" wangid="0,2,0,1,0,1,0,2"/>
|
||||
<wangtile tileid="118" wangid="0,1,0,1,0,1,0,2"/>
|
||||
<wangtile tileid="119" wangid="0,2,0,2,0,2,0,2"/>
|
||||
<wangtile tileid="120" wangid="0,2,0,2,0,2,0,2"/>
|
||||
<wangtile tileid="121" wangid="0,4,0,1,0,1,0,1"/>
|
||||
<wangtile tileid="122" wangid="0,4,0,1,0,1,0,4"/>
|
||||
<wangtile tileid="123" wangid="0,1,0,1,0,1,0,4"/>
|
||||
<wangtile tileid="124" wangid="0,4,0,4,0,4,0,4"/>
|
||||
<wangtile tileid="125" wangid="0,4,0,4,0,4,0,4"/>
|
||||
<wangtile tileid="126" wangid="0,5,0,1,0,1,0,1"/>
|
||||
<wangtile tileid="127" wangid="0,5,0,1,0,1,0,5"/>
|
||||
<wangtile tileid="128" wangid="0,1,0,1,0,1,0,5"/>
|
||||
<wangtile tileid="129" wangid="0,5,0,5,0,5,0,5"/>
|
||||
<wangtile tileid="130" wangid="0,5,0,5,0,5,0,5"/>
|
||||
<wangtile tileid="131" wangid="0,9,0,1,0,1,0,1"/>
|
||||
<wangtile tileid="132" wangid="0,9,0,1,0,1,0,9"/>
|
||||
<wangtile tileid="133" wangid="0,1,0,1,0,1,0,9"/>
|
||||
<wangtile tileid="134" wangid="0,9,0,9,0,9,0,9"/>
|
||||
<wangtile tileid="135" wangid="0,9,0,9,0,9,0,9"/>
|
||||
<wangtile tileid="136" wangid="0,1,0,11,0,11,0,11"/>
|
||||
<wangtile tileid="137" wangid="0,1,0,11,0,11,0,1"/>
|
||||
<wangtile tileid="138" wangid="0,11,0,11,0,11,0,1"/>
|
||||
<wangtile tileid="139" wangid="0,11,0,1,0,1,0,1"/>
|
||||
<wangtile tileid="140" wangid="0,11,0,1,0,1,0,11"/>
|
||||
<wangtile tileid="141" wangid="0,1,0,1,0,1,0,11"/>
|
||||
<wangtile tileid="145" wangid="0,1,0,3,0,1,0,1"/>
|
||||
<wangtile tileid="146" wangid="0,1,0,3,0,3,0,1"/>
|
||||
<wangtile tileid="147" wangid="0,1,0,1,0,3,0,1"/>
|
||||
<wangtile tileid="148" wangid="0,3,0,3,0,3,0,1"/>
|
||||
<wangtile tileid="149" wangid="0,1,0,3,0,3,0,3"/>
|
||||
<wangtile tileid="150" wangid="0,1,0,10,0,1,0,1"/>
|
||||
<wangtile tileid="151" wangid="0,1,0,10,0,10,0,1"/>
|
||||
<wangtile tileid="152" wangid="0,1,0,1,0,10,0,1"/>
|
||||
<wangtile tileid="153" wangid="0,10,0,10,0,10,0,1"/>
|
||||
<wangtile tileid="154" wangid="0,1,0,10,0,10,0,10"/>
|
||||
<wangtile tileid="155" wangid="0,1,0,6,0,1,0,1"/>
|
||||
<wangtile tileid="156" wangid="0,1,0,6,0,6,0,1"/>
|
||||
<wangtile tileid="157" wangid="0,1,0,1,0,6,0,1"/>
|
||||
<wangtile tileid="158" wangid="0,6,0,6,0,6,0,1"/>
|
||||
<wangtile tileid="159" wangid="0,1,0,6,0,6,0,6"/>
|
||||
<wangtile tileid="160" wangid="0,1,0,8,0,1,0,1"/>
|
||||
<wangtile tileid="161" wangid="0,1,0,8,0,8,0,1"/>
|
||||
<wangtile tileid="162" wangid="0,1,0,1,0,8,0,1"/>
|
||||
<wangtile tileid="163" wangid="0,8,0,8,0,8,0,1"/>
|
||||
<wangtile tileid="164" wangid="0,1,0,8,0,8,0,8"/>
|
||||
<wangtile tileid="174" wangid="0,3,0,3,0,1,0,1"/>
|
||||
<wangtile tileid="175" wangid="0,3,0,3,0,3,0,3"/>
|
||||
<wangtile tileid="176" wangid="0,1,0,1,0,3,0,3"/>
|
||||
<wangtile tileid="177" wangid="0,3,0,3,0,1,0,3"/>
|
||||
<wangtile tileid="178" wangid="0,3,0,1,0,3,0,3"/>
|
||||
<wangtile tileid="179" wangid="0,10,0,10,0,1,0,1"/>
|
||||
<wangtile tileid="180" wangid="0,10,0,10,0,10,0,10"/>
|
||||
<wangtile tileid="181" wangid="0,1,0,1,0,10,0,10"/>
|
||||
<wangtile tileid="182" wangid="0,10,0,10,0,1,0,10"/>
|
||||
<wangtile tileid="183" wangid="0,10,0,1,0,10,0,10"/>
|
||||
<wangtile tileid="184" wangid="0,6,0,6,0,1,0,1"/>
|
||||
<wangtile tileid="185" wangid="0,6,0,6,0,6,0,6"/>
|
||||
<wangtile tileid="186" wangid="0,1,0,1,0,6,0,6"/>
|
||||
<wangtile tileid="187" wangid="0,6,0,6,0,1,0,6"/>
|
||||
<wangtile tileid="188" wangid="0,6,0,1,0,6,0,6"/>
|
||||
<wangtile tileid="189" wangid="0,8,0,8,0,1,0,1"/>
|
||||
<wangtile tileid="190" wangid="0,8,0,8,0,8,0,8"/>
|
||||
<wangtile tileid="191" wangid="0,1,0,1,0,8,0,8"/>
|
||||
<wangtile tileid="192" wangid="0,8,0,8,0,1,0,8"/>
|
||||
<wangtile tileid="193" wangid="0,8,0,1,0,8,0,8"/>
|
||||
<wangtile tileid="203" wangid="0,3,0,1,0,1,0,1"/>
|
||||
<wangtile tileid="204" wangid="0,3,0,1,0,1,0,3"/>
|
||||
<wangtile tileid="205" wangid="0,1,0,1,0,1,0,3"/>
|
||||
<wangtile tileid="206" wangid="0,3,0,3,0,3,0,3"/>
|
||||
<wangtile tileid="207" wangid="0,3,0,3,0,3,0,3"/>
|
||||
<wangtile tileid="208" wangid="0,10,0,1,0,1,0,1"/>
|
||||
<wangtile tileid="209" wangid="0,10,0,1,0,1,0,10"/>
|
||||
<wangtile tileid="210" wangid="0,1,0,1,0,1,0,10"/>
|
||||
<wangtile tileid="211" wangid="0,10,0,10,0,10,0,10"/>
|
||||
<wangtile tileid="212" wangid="0,10,0,10,0,10,0,10"/>
|
||||
<wangtile tileid="213" wangid="0,6,0,1,0,1,0,1"/>
|
||||
<wangtile tileid="214" wangid="0,6,0,1,0,1,0,6"/>
|
||||
<wangtile tileid="215" wangid="0,1,0,1,0,1,0,6"/>
|
||||
<wangtile tileid="216" wangid="0,6,0,6,0,6,0,6"/>
|
||||
<wangtile tileid="217" wangid="0,6,0,6,0,6,0,6"/>
|
||||
<wangtile tileid="218" wangid="0,8,0,1,0,1,0,1"/>
|
||||
<wangtile tileid="219" wangid="0,8,0,1,0,1,0,8"/>
|
||||
<wangtile tileid="220" wangid="0,1,0,1,0,1,0,8"/>
|
||||
<wangtile tileid="221" wangid="0,8,0,8,0,8,0,8"/>
|
||||
<wangtile tileid="222" wangid="0,8,0,8,0,8,0,8"/>
|
||||
<wangtile tileid="232" wangid="0,6,0,7,0,6,0,6"/>
|
||||
<wangtile tileid="233" wangid="0,6,0,7,0,7,0,6"/>
|
||||
<wangtile tileid="234" wangid="0,6,0,6,0,7,0,6"/>
|
||||
<wangtile tileid="235" wangid="0,7,0,7,0,7,0,6"/>
|
||||
<wangtile tileid="236" wangid="0,6,0,7,0,7,0,7"/>
|
||||
<wangtile tileid="239" wangid="0,1,0,7,0,1,0,1"/>
|
||||
<wangtile tileid="240" wangid="0,1,0,7,0,7,0,1"/>
|
||||
<wangtile tileid="241" wangid="0,1,0,1,0,7,0,1"/>
|
||||
<wangtile tileid="242" wangid="0,7,0,7,0,7,0,1"/>
|
||||
<wangtile tileid="243" wangid="0,1,0,7,0,7,0,7"/>
|
||||
<wangtile tileid="261" wangid="0,7,0,7,0,6,0,6"/>
|
||||
<wangtile tileid="262" wangid="0,7,0,7,0,7,0,7"/>
|
||||
<wangtile tileid="263" wangid="0,6,0,6,0,7,0,7"/>
|
||||
<wangtile tileid="264" wangid="0,7,0,7,0,6,0,7"/>
|
||||
<wangtile tileid="265" wangid="0,7,0,6,0,7,0,7"/>
|
||||
<wangtile tileid="268" wangid="0,7,0,7,0,1,0,1"/>
|
||||
<wangtile tileid="269" wangid="0,7,0,7,0,7,0,7"/>
|
||||
<wangtile tileid="270" wangid="0,1,0,1,0,7,0,7"/>
|
||||
<wangtile tileid="271" wangid="0,7,0,7,0,1,0,7"/>
|
||||
<wangtile tileid="272" wangid="0,7,0,1,0,7,0,7"/>
|
||||
<wangtile tileid="290" wangid="0,7,0,6,0,6,0,6"/>
|
||||
<wangtile tileid="291" wangid="0,7,0,6,0,6,0,7"/>
|
||||
<wangtile tileid="292" wangid="0,6,0,6,0,6,0,7"/>
|
||||
<wangtile tileid="297" wangid="0,7,0,1,0,1,0,1"/>
|
||||
<wangtile tileid="298" wangid="0,7,0,1,0,1,0,7"/>
|
||||
<wangtile tileid="299" wangid="0,1,0,1,0,1,0,7"/>
|
||||
<wangtile tileid="300" wangid="0,7,0,7,0,7,0,7"/>
|
||||
</wangset>
|
||||
</wangsets>
|
||||
</tileset>
|
|
@ -63,6 +63,7 @@
|
|||
<tile id="234" type="solid"/>
|
||||
<tile id="235" type="solid"/>
|
||||
<tile id="236" type="solid"/>
|
||||
<tile id="237" type="door_out"/>
|
||||
<tile id="239" type="solid"/>
|
||||
<tile id="240" type="solid"/>
|
||||
<tile id="241" type="solid"/>
|
||||
|
@ -190,15 +191,15 @@
|
|||
<tile id="723" type="solid"/>
|
||||
<tile id="724" type="solid"/>
|
||||
<tile id="742" type="solid"/>
|
||||
<tile id="743" type="door"/>
|
||||
<tile id="743" type="door_in"/>
|
||||
<tile id="744" type="solid"/>
|
||||
<tile id="745" type="solid"/>
|
||||
<tile id="746" type="solid"/>
|
||||
<tile id="747" type="door"/>
|
||||
<tile id="747" type="door_in"/>
|
||||
<tile id="748" type="solid"/>
|
||||
<tile id="749" type="solid"/>
|
||||
<tile id="750" type="solid"/>
|
||||
<tile id="751" type="door"/>
|
||||
<tile id="751" type="door_in"/>
|
||||
<tile id="752" type="solid"/>
|
||||
<tile id="753" type="solid"/>
|
||||
<wangsets>
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 54 KiB |
|
@ -1,8 +1,4 @@
|
|||
/*the x radius the player is able to see*/
|
||||
#define PLAYER_VIEW_X 13
|
||||
/*the y radius the player is able to see*/
|
||||
#define PLAYER_VIEW_Y 8
|
||||
/*the width of the tileset*/
|
||||
#define TILESET_WIDTH 29
|
||||
|
||||
/*the size of one tile*/
|
||||
#define TILE_SIZE 16
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
#include <gint/display.h>
|
||||
#include "engine.h"
|
||||
#include <stdbool.h>
|
||||
|
||||
struct Map {
|
||||
/*width, height and the number of layer of the map (max 2)*/
|
||||
|
@ -17,8 +18,9 @@ struct Map {
|
|||
enum map_state {
|
||||
TILE_AIR = 0,
|
||||
TILE_SOLID = 1,
|
||||
TILE_DOOR = 2,
|
||||
TILE_CHARACTER = 3,
|
||||
TILE_DOOR_IN = 2,
|
||||
TILE_DOOR_OUT = 3,
|
||||
TILE_CHARACTER = 4,
|
||||
};
|
||||
|
||||
/*check if a tile is walkable*/
|
||||
|
@ -26,4 +28,6 @@ int map_walkable(struct Map const *map, int x, int y);
|
|||
/*get the tile under the player*/
|
||||
int map_get_player_tile(struct Game const *game);
|
||||
|
||||
void generate_interior_map(struct Game *game);
|
||||
void generate_interior_map(struct Game *game);
|
||||
|
||||
bool is_map_larger(struct Map *map);
|
39
src/engine.c
39
src/engine.c
|
@ -41,9 +41,15 @@ void engine_draw_map(struct Game const *game) {
|
|||
unsigned int tile_y = TILE_SIZE * (tile_id / TILESET_WIDTH);
|
||||
|
||||
//provisoire le temps de trouver une manière propre
|
||||
dsubimage(x * TILE_SIZE - x_offset%TILE_SIZE - game->player->anim.dx * 3,
|
||||
y * TILE_SIZE - y_offset%TILE_SIZE - game->player->anim.dy * 3, game->map->tileset,
|
||||
tile_x, tile_y, TILE_SIZE, TILE_SIZE, DIMAGE_NONE);
|
||||
if(is_map_larger(game->map)) {
|
||||
dsubimage(x * TILE_SIZE - x_offset%TILE_SIZE - game->player->anim.dx * 3,
|
||||
y * TILE_SIZE - y_offset%TILE_SIZE - game->player->anim.dy * 3, game->map->tileset,
|
||||
tile_x, tile_y, TILE_SIZE, TILE_SIZE, DIMAGE_NONE);
|
||||
} else {
|
||||
dsubimage(x * TILE_SIZE - x_offset%TILE_SIZE,
|
||||
y * TILE_SIZE - y_offset%TILE_SIZE, game->map->tileset,
|
||||
tile_x, tile_y, TILE_SIZE, TILE_SIZE, DIMAGE_NONE);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -53,14 +59,19 @@ void engine_draw_map(struct Game const *game) {
|
|||
|
||||
/*draw the player*/
|
||||
void engine_draw_player(struct Game const *game) {
|
||||
if(game->map->w > DWIDTH / TILE_SIZE + 1 &&
|
||||
game->map->h > DHEIGHT / TILE_SIZE + 1) {
|
||||
dframe(game->player->show_x * 16, game->player->show_y * 16 - 5, game->player->anim.img); //draw the player 5 pixel up
|
||||
if(is_map_larger(game->map)) {
|
||||
dframe(game->player->show_x * TILE_SIZE,
|
||||
game->player->show_y * TILE_SIZE - 5,
|
||||
game->player->anim.img); //draw the player 5 pixel up
|
||||
|
||||
} else {
|
||||
int offset_map_x = (DWIDTH / TILE_SIZE - game->map->w + 1)/2;
|
||||
int offset_map_y = (DHEIGHT / TILE_SIZE - game->map->h + 1)/2;
|
||||
dframe((game->player->x + offset_map_x) * 16,
|
||||
(game->player->y + offset_map_y) * 16 - 5, game->player->anim.img); //draw the player 5 pixel up
|
||||
const int offset_map_x = (DWIDTH / TILE_SIZE - game->map->w + 1)/2;
|
||||
const int offset_map_y = (DHEIGHT / TILE_SIZE - game->map->h + 1)/2;
|
||||
|
||||
dframe(
|
||||
(game->player->x + offset_map_x) * TILE_SIZE + game->player->anim.dx*3,
|
||||
(game->player->y + offset_map_y) * TILE_SIZE - 5 + game->player->anim.dy*3,
|
||||
game->player->anim.img); //draw the player 5 pixel up
|
||||
}
|
||||
dprint(1,1,C_BLACK,"%d:%d",game->player->x, game->player->y);
|
||||
}
|
||||
|
@ -77,8 +88,7 @@ int engine_move(struct Game *game, int direction) {
|
|||
game->player->x += dx;
|
||||
game->player->y += dy;
|
||||
|
||||
if(game->map->w > DWIDTH / TILE_SIZE + 1 &&
|
||||
game->map->h > DHEIGHT / TILE_SIZE + 1) {
|
||||
if(is_map_larger(game->map)) {
|
||||
game->camera->x += dx*16;
|
||||
game->camera->y += dy*16;
|
||||
}
|
||||
|
@ -123,10 +133,11 @@ void engine_action(struct Game const *game, int action) {
|
|||
/*check the current position of the player. To perform action depends of his location*/
|
||||
void engine_check_position(struct Game *game) {
|
||||
int player_curr_tile = map_get_player_tile(game);
|
||||
if(player_curr_tile == TILE_DOOR) {
|
||||
if(player_curr_tile == TILE_DOOR_IN) {
|
||||
engine_set_background(game, C_BLACK);
|
||||
generate_interior_map(game);
|
||||
} else {
|
||||
}
|
||||
if(player_curr_tile == TILE_DOOR_OUT) {
|
||||
engine_set_background(game, C_WHITE);
|
||||
}
|
||||
}
|
|
@ -28,8 +28,8 @@ int main(void) {
|
|||
struct Player player = {
|
||||
.x = 32,
|
||||
.y = 30,
|
||||
.x_mid = 7,
|
||||
.y_mid = 2,
|
||||
.x_mid = 6,
|
||||
.y_mid = 1,
|
||||
.show_x = 12,
|
||||
.show_y = 7,
|
||||
.direction = DIR_DOWN,
|
||||
|
|
|
@ -24,4 +24,13 @@ void generate_interior_map(struct Game *game) {
|
|||
set_player_xy(game->player, 3,3);
|
||||
game->camera->x = in_1.w/2 * TILE_SIZE + game->player->x_mid;
|
||||
game->camera->y = in_1.h/2 * TILE_SIZE + game->player->y_mid;
|
||||
}
|
||||
|
||||
/*return true if the map is larger than the screen. false otherwise*/
|
||||
bool is_map_larger(struct Map *map) {
|
||||
if(map->w > DWIDTH / TILE_SIZE + 1 && map->h > DHEIGHT / TILE_SIZE + 1) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue