beginning of indoor + add transition between sand and water

This commit is contained in:
bgiraudr 2021-08-21 02:54:03 +02:00
parent bf8aa10c31
commit 71c7ce7198
14 changed files with 528 additions and 118 deletions

View File

@ -16,8 +16,9 @@ add_custom_command(
COMMENT "Convert tmx map to json"
COMMAND tiled --export-tileset json tileset.tsx tileset.json
COMMAND tiled --export-map json testCarte.tmx testCarte.json
COMMAND tiled --export-map json inside/interior_1.tmx inside/interior_1.json
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/assets-cg/maps/
DEPENDS assets-cg/maps/testCarte.tmx assets-cg/tileset.png assets-cg/maps/tileset.tsx assets-cg/converters.py)
DEPENDS assets-cg/maps/testCarte.tmx assets-cg/tileset.png assets-cg/maps/tileset.tsx assets-cg/converters.py assets-cg/maps/inside/interior_1.tmx)
set(SOURCES
src/main.c
@ -33,6 +34,7 @@ set(SOURCES
set(ASSETS_cg
assets-cg/tileset.png
assets-cg/maps/testCarte.json
assets-cg/maps/inside/interior_1.json
assets-cg/spritesheet.png
assets-cg/characters/Tituya.char
assets-cg/characters/Lephenixnoir.char

View File

@ -1,7 +1,7 @@
tileset.png:
type: bopti-image
name: img_tileset
profile:p8
profile:p4
spritesheet.png:
type: bopti-image

View File

@ -0,0 +1,3 @@
interior_1.json:
custom-type: map
name: in_1

View File

@ -0,0 +1,35 @@
<?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">
<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
</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,
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
</data>
</layer>
</map>

View File

@ -0,0 +1,399 @@
<?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>

View File

@ -29,21 +29,21 @@
1,1,1,1,1,69,72,99,99,130,130,131,100,0,2,1,1,3,1,36,39,1,2,2,2,175,0,1,1,1,1,1,1,3,6,6,6,1,117,91,120,121,89,89,92,118,119,2,2,3,151,154,182,240,243,301,244,242,180,181,213,182,3,1,3,3,3,3,2,1,1,190,223,191,223,191,191,191,222,194,221,3,6,6,6,6,6,2,2,1,2,219,193,165,162,164,192,3,240,241,
1,1,1,59,61,127,128,128,128,128,128,128,129,2,2,1,3,2,3,3,2,3,3,3,2,204,206,0,0,0,0,0,0,6,6,0,6,6,1,88,121,121,121,92,119,1,1,1,151,152,154,213,182,298,272,301,273,300,180,212,181,182,35,39,2,1,2,3,35,33,32,219,193,191,223,223,194,220,193,192,40,1,2,6,6,6,1,1,1,1,3,1,219,220,220,220,221,240,243,270,
1,1,1,88,63,61,1,1,1,1,38,2,2,2,1,3,0,33,3,3,3,1,1,3,3,3,2,204,205,205,205,178,0,6,6,6,6,6,1,117,91,89,121,90,3,1,2,151,154,212,212,213,155,153,298,299,300,1,180,213,181,182,34,33,2,2,2,6,2,2,1,2,219,220,220,220,221,2,190,192,39,31,3,1,2,1,2,151,153,1,2,1,240,241,241,241,241,243,302,301,
1,0,60,62,121,90,161,162,162,163,1,59,60,61,2,3,1,0,0,3,0,3,1,2,3,2,1,1,1,3,1,175,0,1,6,6,6,6,6,1,117,91,121,63,61,1,1,209,183,213,212,212,213,155,153,3,151,152,154,181,184,211,1,3,2,2,1,6,6,3,2,1,2,1,1,2,3,1,190,192,34,36,2,2,3,151,152,154,182,3,1,240,243,270,273,299,299,272,270,301,
59,62,89,121,92,119,190,191,223,192,59,62,89,63,60,61,2,1,3,0,3,2,2,2,1,59,60,60,61,1,2,204,206,0,0,0,0,0,0,1,1,117,118,118,119,3,3,2,209,183,212,181,213,181,155,152,154,213,212,184,211,3,9,1,2,2,6,6,6,6,2,1,2,39,36,37,37,161,164,165,163,3,1,151,152,154,213,184,211,2,240,243,301,273,300,2,3,298,272,270,
117,118,91,89,90,161,164,223,194,221,117,118,118,91,89,90,3,2,2,3,2,1,59,60,60,62,120,121,90,1,1,1,1,3,2,240,241,242,1,0,0,0,138,138,0,0,0,0,3,209,210,183,212,213,213,181,181,184,210,211,3,2,2,2,2,1,6,6,6,6,1,3,39,32,30,30,109,219,193,194,221,3,2,180,213,212,212,182,2,2,269,301,301,271,3,156,158,1,298,299,
241,242,117,118,119,190,223,194,221,146,147,147,148,88,121,90,146,148,3,3,2,59,62,121,121,121,120,120,63,61,1,1,0,0,3,298,272,244,241,242,204,205,0,0,204,178,176,150,0,0,2,209,210,210,210,210,210,211,6,6,3,3,1,3,2,6,6,6,6,6,1,1,31,109,2,240,241,242,219,221,39,2,2,209,183,212,212,182,1,240,243,301,273,300,156,159,160,158,3,1,
301,244,242,5,2,190,223,192,146,149,0,176,177,88,120,90,175,150,148,3,3,88,121,120,121,92,91,121,121,63,61,0,0,0,0,1,269,301,270,244,242,1,156,158,2,204,205,205,178,150,0,2,1,9,3,3,6,6,6,3,2,1,1,2,6,6,6,6,6,6,1,240,241,241,241,243,270,244,241,241,242,109,1,2,209,210,210,211,2,269,270,301,271,3,185,217,218,160,157,157,
301,270,271,4,1,190,223,192,175,176,207,207,177,88,120,90,204,178,150,148,3,88,120,120,92,119,117,91,121,120,63,60,0,0,1,1,269,270,270,270,271,1,185,187,1,3,2,2,204,178,150,0,0,0,0,2,3,2,146,148,1,3,1,3,6,6,3,1,3,240,241,243,301,270,301,270,270,270,301,301,244,242,3,34,34,2,34,1,240,243,270,270,271,156,159,218,186,186,217,217,
270,301,271,3,161,164,223,192,175,176,176,208,177,88,120,63,61,204,205,206,2,88,89,120,90,1,2,117,118,91,121,121,121,63,61,1,269,301,301,270,271,1,185,187,1,2,1,1,1,204,205,205,178,208,150,147,147,147,149,177,1,1,3,3,1,1,240,241,241,243,270,301,270,270,270,270,270,270,270,301,270,244,241,241,242,2,40,109,269,301,301,270,271,185,218,218,217,218,217,217,
301,270,271,4,190,191,194,221,175,176,176,176,177,88,120,121,90,3,2,2,1,88,120,120,90,3,3,2,2,117,91,121,120,121,90,1,269,301,270,270,271,156,159,187,5,39,1,240,241,242,3,3,204,205,205,205,205,205,205,206,3,1,3,240,241,241,243,301,301,301,270,270,302,270,270,270,270,270,270,270,301,270,270,270,244,241,241,241,243,301,301,301,271,214,215,188,186,186,218,186,
301,273,300,1,190,194,221,146,149,176,176,176,177,88,89,121,63,60,60,60,60,62,89,89,90,2,1,2,3,2,117,91,121,92,119,240,243,270,301,270,271,185,217,187,35,33,240,243,302,244,241,241,242,2,1,3,1,1,2,1,2,240,241,243,270,270,301,301,270,270,270,270,270,270,270,270,273,299,272,270,270,270,273,299,299,272,270,270,301,270,301,301,244,242,36,214,215,188,186,218,
301,271,4,161,164,192,146,149,208,176,176,176,177,117,91,121,120,121,120,89,120,121,120,89,90,3,3,1,1,2,1,88,89,281,282,282,282,282,282,282,282,283,217,187,40,37,269,301,273,299,272,301,271,3,2,2,1,3,1,240,241,243,270,270,301,270,270,270,270,270,270,270,270,270,273,299,300,32,298,299,299,299,300,1,37,298,299,272,301,301,270,301,270,244,242,1,5,214,188,186,
299,300,3,190,191,192,175,208,0,176,176,176,150,148,88,89,120,89,120,120,89,120,120,121,90,2,3,3,2,3,3,117,91,310,311,311,311,311,311,311,311,312,218,160,158,240,243,273,300,1,298,272,244,241,241,241,241,241,241,243,270,270,301,270,270,270,270,270,270,270,270,270,270,270,271,2,40,69,70,70,71,38,3,69,70,71,38,298,299,272,301,270,270,301,244,241,242,3,185,217,
147,148,1,190,222,192,204,178,176,176,176,176,179,206,88,120,121,92,118,118,118,118,118,118,119,1,2,1,1,2,1,1,117,119,298,272,301,301,270,270,271,185,218,189,216,269,270,271,2,2,1,298,272,270,301,270,270,301,301,301,270,270,270,302,270,270,270,270,270,270,270,270,270,270,244,242,109,127,128,101,73,70,70,72,99,73,71,33,35,298,272,270,270,270,301,270,271,3,214,215,
176,177,161,164,222,165,163,204,178,207,176,179,206,59,62,0,92,119,3,2,2,3,1,3,1,3,2,2,2,3,2,2,3,3,2,298,272,270,301,301,271,185,186,187,240,243,270,244,242,2,0,2,298,272,301,301,301,270,301,270,270,270,270,273,299,299,299,272,270,270,270,270,270,270,270,244,241,242,34,127,128,128,101,99,99,99,73,70,71,30,269,270,270,270,270,270,244,242,30,34,
176,177,190,222,222,191,165,163,204,205,205,206,59,62,89,89,90,2,1,3,2,3,2,2,1,2,1,0,1,3,0,1,2,0,156,158,298,299,299,299,300,185,217,187,298,299,272,302,271,2,2,3,3,298,272,301,270,270,270,270,270,270,273,300,35,33,33,269,270,270,270,270,270,270,270,270,270,244,241,241,242,4,127,128,101,130,130,99,100,36,269,270,270,270,302,270,270,244,241,242,
176,177,190,191,223,191,222,165,162,162,162,163,88,89,89,120,63,61,3,1,1,2,3,3,3,2,1,3,2,2,1,1,1,3,185,160,157,157,157,157,157,159,186,160,158,3,298,299,300,1,1,2,1,1,298,272,270,270,270,270,270,270,271,40,2,39,37,269,270,270,270,270,270,270,270,270,270,270,270,270,271,34,38,33,127,128,128,128,129,40,269,270,270,270,270,270,270,270,270,244
1,0,60,62,121,90,161,162,162,163,1,59,60,61,2,3,1,0,0,3,0,3,1,2,3,2,1,1,1,3,1,175,0,1,6,6,6,6,6,1,117,91,121,63,61,1,1,209,183,213,212,212,213,155,153,3,151,152,154,181,184,211,1,3,2,2,1,6,6,3,2,1,2,1,1,2,3,1,190,192,34,36,2,2,3,151,152,154,182,3,1,240,243,270,266,292,292,265,270,301,
59,62,89,121,92,119,190,191,223,192,59,62,89,63,60,61,2,1,3,0,3,2,2,2,1,59,60,60,61,1,2,204,206,0,0,0,0,0,0,1,1,117,118,118,119,3,3,2,209,183,212,181,213,181,155,152,154,213,212,184,211,3,9,1,2,2,6,6,6,6,2,1,2,39,36,37,37,161,164,165,163,3,1,151,152,154,213,184,211,2,240,243,301,266,293,186,218,291,265,270,
117,118,91,89,90,161,164,223,194,221,117,118,118,91,89,90,3,2,2,3,2,1,59,60,60,62,120,121,90,1,1,1,1,3,2,240,241,242,1,0,0,0,138,138,0,0,0,0,3,209,210,183,212,213,213,181,181,184,210,211,3,2,2,2,2,1,6,6,6,6,1,3,39,32,30,30,109,219,193,194,221,3,2,180,213,212,212,182,2,2,269,301,301,264,186,218,218,218,291,265,
241,242,117,118,119,190,223,194,221,146,147,147,148,88,121,90,146,148,3,3,2,59,62,121,121,121,120,120,63,61,1,1,0,0,3,298,272,244,241,242,204,205,0,0,204,178,176,150,0,0,2,209,210,210,210,210,210,211,6,6,3,3,1,3,2,6,6,6,6,6,1,1,31,109,2,240,241,242,219,221,39,2,2,209,183,212,212,182,1,240,243,301,266,293,217,186,217,218,217,291,
301,244,242,5,2,190,223,192,146,149,0,176,177,88,120,90,175,150,148,3,3,88,121,120,121,92,91,121,121,63,61,0,0,0,0,1,269,301,270,244,242,1,156,158,2,204,205,205,178,150,0,2,1,9,3,3,6,6,6,3,2,1,1,2,6,6,6,6,6,6,1,240,241,241,241,243,270,244,241,241,242,109,1,2,209,210,210,211,2,269,270,301,264,186,217,217,217,218,186,186,
301,270,271,4,1,190,223,192,175,176,207,207,177,88,120,90,204,178,150,148,3,88,120,120,92,119,117,91,121,120,63,60,0,0,1,1,269,270,270,270,271,1,185,187,1,3,2,2,204,178,150,0,0,0,0,2,3,2,146,148,1,3,1,3,6,6,3,1,3,240,241,243,301,270,301,270,270,270,301,301,244,242,3,34,34,2,34,1,240,243,270,270,264,186,186,233,235,186,217,217,
270,301,271,3,161,164,223,192,175,176,176,208,177,88,120,63,61,204,205,206,2,88,89,120,90,1,2,117,118,91,121,121,121,63,61,1,269,301,301,270,271,1,185,187,1,2,1,1,1,204,205,205,178,208,150,147,147,147,149,177,1,1,3,3,1,1,240,241,241,243,270,301,270,270,270,270,270,270,270,301,270,244,241,241,242,2,40,109,269,301,301,270,264,186,218,262,237,235,217,217,
301,270,271,4,190,191,194,221,175,176,176,176,177,88,120,121,90,3,2,2,1,88,120,120,90,3,3,2,2,117,91,121,120,121,90,1,269,301,270,270,271,156,159,187,5,39,1,240,241,242,3,3,204,205,205,205,205,205,205,206,3,1,3,240,241,241,243,266,292,265,270,270,302,270,270,270,270,270,270,270,301,270,270,270,244,241,241,241,243,301,301,301,264,217,218,262,270,264,218,186,
301,273,300,1,190,194,221,146,149,176,176,176,177,88,89,121,63,60,60,60,60,62,89,89,90,2,1,2,3,2,117,91,121,92,119,240,243,270,301,270,271,185,217,187,35,33,240,243,302,244,241,241,242,2,1,3,1,1,2,1,2,240,241,243,270,270,266,293,186,291,265,270,270,270,270,270,273,299,272,270,270,270,273,299,299,272,270,270,301,270,301,301,264,186,233,236,266,293,186,218,
301,271,4,161,164,192,146,149,208,176,176,176,177,117,91,121,120,121,120,89,120,121,120,89,90,3,3,1,1,2,1,88,89,281,282,282,282,282,282,282,282,283,217,187,40,37,269,301,273,299,272,301,271,3,2,2,1,3,1,240,241,243,270,270,301,270,264,217,186,218,262,270,270,270,273,299,300,32,298,299,299,299,300,1,37,298,299,272,301,301,270,301,237,234,236,266,293,186,217,186,
299,300,3,190,191,192,175,208,0,176,176,176,150,148,88,89,120,89,120,120,89,120,120,121,90,2,3,3,2,3,3,117,91,310,311,311,311,311,311,311,311,312,218,160,158,240,243,273,300,1,298,272,244,241,241,241,241,241,241,243,270,270,301,270,270,270,237,235,218,233,236,270,270,270,271,2,40,69,70,70,71,38,3,69,70,71,38,298,299,272,301,270,270,301,263,264,186,218,186,233,
147,148,1,190,222,192,204,178,176,176,176,176,179,206,88,120,121,92,118,118,118,118,118,118,119,1,2,1,1,2,1,1,117,119,298,272,301,301,270,270,271,185,218,189,216,269,270,271,2,2,1,298,272,270,301,270,270,301,301,301,270,270,270,302,270,270,270,237,235,262,270,270,270,270,244,242,109,127,128,101,73,70,70,72,99,73,71,33,35,298,272,270,270,270,301,264,186,217,233,236,
176,177,161,164,222,165,163,204,178,207,176,179,206,59,62,0,92,119,3,2,2,3,1,3,1,3,2,2,2,3,2,2,3,3,2,298,272,270,301,301,271,185,186,187,240,243,270,244,242,2,0,2,298,272,301,301,301,270,301,270,270,270,270,273,299,299,299,272,237,236,270,270,270,270,270,244,241,242,34,127,128,128,101,99,99,99,73,70,71,30,269,270,270,270,270,237,234,234,236,266,
176,177,190,222,222,191,165,163,204,205,205,206,59,62,89,89,90,2,1,3,2,3,2,2,1,2,1,0,1,3,0,1,2,0,156,158,298,299,299,299,300,185,217,187,298,299,272,302,271,2,2,3,3,298,272,301,270,270,270,270,270,270,273,300,35,33,33,269,270,270,270,270,270,270,270,270,270,244,241,241,242,4,127,128,101,130,130,99,100,36,269,270,270,270,302,270,270,263,266,293,
176,177,190,191,223,191,222,165,162,162,162,163,88,89,89,120,63,61,3,1,1,2,3,3,3,2,1,3,2,2,1,1,1,3,185,160,157,157,157,157,157,159,186,160,158,3,298,299,300,1,1,2,1,1,298,272,270,270,270,270,270,270,271,40,2,39,37,269,270,270,270,270,270,270,270,270,270,270,270,270,271,34,38,33,127,128,128,128,129,40,269,270,270,270,270,270,270,270,237,234
</data>
</layer>
<layer id="1" name="2" width="100" height="38">

View File

@ -57,9 +57,12 @@
<tile id="223" type="solid"/>
<tile id="224" type="solid"/>
<tile id="225" type="solid"/>
<tile id="229" type="bridge"/>
<tile id="230" type="bridge"/>
<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"/>
@ -79,8 +82,11 @@
<tile id="255" type="bridge"/>
<tile id="256" type="bridge"/>
<tile id="257" type="solid"/>
<tile id="259" type="bridge"/>
<tile id="260" type="bridge"/>
<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"/>
@ -100,8 +106,9 @@
<tile id="284" type="bridge"/>
<tile id="285" type="bridge"/>
<tile id="286" type="solid"/>
<tile id="287" type="bridge"/>
<tile id="288" type="bridge"/>
<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"/>
@ -360,16 +367,29 @@
<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"/>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 53 KiB

View File

@ -20,7 +20,7 @@ void engine_draw(struct Game const *game);
/*draw the map around the player*/
void engine_draw_map(struct Game const *game);
/*draw the player*/
void engine_draw_player(struct Player const *player);
void engine_draw_player(struct Game const *game);
/*move the player to the direction*/
int engine_move(struct Game *game, int direction);
/*update the player animation*/

View File

@ -25,3 +25,5 @@ enum map_state {
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);

View File

@ -21,3 +21,4 @@ struct Player {
/*return the info tile value the player is facing to*/
int player_facing(struct Game const *game);
void set_player_xy(struct Player *player, int x, int y);

View File

@ -12,82 +12,10 @@
/*draw the current state of the game*/
void engine_draw(struct Game const *game) {
dclear(game->background);
//engine_draw_map_around_player(game);
engine_draw_map(game);
engine_draw_player(game->player);
}
/*draw the map around the player*/
void engine_draw_map_around_player(struct Game const *game) {
const int level_width = game->map->w;
const int taillemap = game->map->w * game->map->h;
const int posx = game->player->show_x;
const int posy = game->player->show_y;
const int coo_player_map = game->player->x + game->player->y*level_width; //the index of the player on the map
int beginmap = coo_player_map - PLAYER_VIEW_X - level_width*PLAYER_VIEW_Y; //compute the theorical top left corner
int beginline = coo_player_map - PLAYER_VIEW_Y*level_width - coo_player_map%level_width; //index of the tile wich begin the row
//anti begin oob
if(beginmap < 0) {
beginmap = game->player->x - PLAYER_VIEW_X;
if(beginmap < 0) beginmap = 0;
}
//anti horizontal oob
if((coo_player_map - PLAYER_VIEW_X)%level_width > coo_player_map%level_width) {
beginmap = beginline > 0 ? beginline : 0;
}
int next = game->player->x + PLAYER_VIEW_X + beginmap/level_width * level_width; //index of the top right corner
int endline = beginmap+level_width-beginmap%level_width-1; //index of the tile wich end the row
if(next > endline) next = endline;
if(next < 0) next = game->player->x + PLAYER_VIEW_X;
int indypro = game->player->y + PLAYER_VIEW_Y; //y value of the bottom row
//anti bottom oob
if(indypro > taillemap/level_width-1) indypro = taillemap/level_width-1;
int endmap = next%level_width + level_width*indypro; //index of the bottom right corner
int ecart = next - beginmap; //number of column to draw
//player x, y on the compute map
int xcentre = 0, ycentre = 0;
//calculate the player position in the generated map
for(int i = beginmap; i < coo_player_map; i++) {
xcentre++;
if(i == next + ycentre * level_width) {
ycentre++;
xcentre=0;
i = beginmap + ycentre*level_width-1;
}
}
int j = 0;
int x = posx-xcentre;
for(int i = beginmap; i <= endmap; i++) {
int y = j + (posy-ycentre);
for(int layer = 0; layer < game->map->nb_layers; layer++) {
int tile = game->map->layers[layer][i]-1;
if(tile != -1) {
int tile_x = tile % TILESET_WIDTH;
int tile_y = tile / TILESET_WIDTH;
dsubimage(x * 16 - game->player->anim.dx * 3, y * 16 - game->player->anim.dy * 3,
game->map->tileset, tile_x * 16, tile_y * 16, 16, 16, DIMAGE_NONE);
}
}
x++;
if(i==beginmap+ecart+j*level_width) {
j++;
x=posx-xcentre;
i = beginmap + j*level_width-1;
}
}
engine_draw_player(game);
dprint(1,15,C_BLACK,"%d:%d",game->camera->x, game->camera->y);
dprint(1,30,C_BLACK,"%d:%d",game->map->w, game->map->h);
}
void engine_draw_map(struct Game const *game) {
@ -99,14 +27,13 @@ void engine_draw_map(struct Game const *game) {
for (int y = -1 ; y <= DHEIGHT / TILE_SIZE + 1; y++) {
for (int x = -1 ; x <= DWIDTH / TILE_SIZE + 1; x++) {
unsigned int tile_id = 0;
if(game->map->w > x && game->map->h > y) {
//detect if the map is oob
int indexY = (y + y_offset / TILE_SIZE);
int indexX = (x + x_offset / TILE_SIZE);
if(indexX >= 0 && indexX < game->map->w
&& indexY >= 0 && indexY < game->map->h)
tile_id = game->map->layers[layer][indexX + indexY * game->map->w];
}
//detect if the map is oob
int indexY = (y + y_offset / TILE_SIZE);
int indexX = (x + x_offset / TILE_SIZE);
if(indexX >= 0 && indexX < game->map->w
&& indexY >= 0 && indexY < game->map->h)
tile_id = game->map->layers[layer][indexX + indexY * game->map->w];
//tile_id = game->map->layers[layer][(x + x_offset / TILE_SIZE) + (y + y_offset / TILE_SIZE) * game->map->w];
if (tile_id != 0) {
tile_id--;
@ -125,9 +52,17 @@ void engine_draw_map(struct Game const *game) {
}
/*draw the player*/
void engine_draw_player(struct Player const *player) {
dframe(player->show_x * 16, player->show_y * 16 - 5, player->anim.img); //draw the player 5 pixel up
dprint(1,1,C_BLACK,"%d:%d",player->x, player->y);
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
} 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
}
dprint(1,1,C_BLACK,"%d:%d",game->player->x, game->player->y);
}
/*move the player to the direction*/
@ -142,8 +77,11 @@ int engine_move(struct Game *game, int direction) {
game->player->x += dx;
game->player->y += dy;
game->camera->x += dx*16;
game->camera->y += dy*16;
if(game->map->w > DWIDTH / TILE_SIZE + 1 &&
game->map->h > DHEIGHT / TILE_SIZE + 1) {
game->camera->x += dx*16;
game->camera->y += dy*16;
}
game->player->idle = !anim_player_walking(&game->player->anim, 1);
engine_check_position(game);
@ -160,7 +98,6 @@ int engine_move(struct Game *game, int direction) {
/*update the player animation*/
void engine_tick(struct Game *game, int dt) {
game->player->anim.duration -= dt;
vec_lerp(game->camera, game->player, 0.05);
if(game->player->anim.duration <= 0) {
game->player->idle = !game->player->anim.function(&game->player->anim, 0);
}
@ -188,12 +125,8 @@ void engine_check_position(struct Game *game) {
int player_curr_tile = map_get_player_tile(game);
if(player_curr_tile == TILE_DOOR) {
engine_set_background(game, C_BLACK);
generate_interior_map(game);
} else {
engine_set_background(game, C_WHITE);
}
}
void vec_lerp(struct Camera *from, struct Player const *to, float scale) {
from->x = from->x * (1 - scale) + (to->x*TILE_SIZE + to->x_mid) * scale;
from->y = from->y * (1 - scale) + (to->y*TILE_SIZE + to->y_mid) * scale;
}

View File

@ -1,6 +1,8 @@
#include "map.h"
#include "engine.h"
#include "player.h"
#include "camera.h"
#include "define.h"
/*check if a tile is walkable*/
int map_walkable(struct Map const *map, int x, int y) {
@ -15,3 +17,11 @@ int map_get_player_tile(struct Game const *game) {
return game->map->info_map[game->player->x + game->map->w * game->player->y];
return 0;
}
void generate_interior_map(struct Game *game) {
extern struct Map in_1;
game->map = &in_1;
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;
}

View File

@ -21,3 +21,8 @@ int player_facing(struct Game const *game) {
}
return TILE_SOLID;
}
void set_player_xy(struct Player *player, int x, int y) {
player->x = x;
player->y = y;
}