WIP - Captive
Some technical detail on how the map is constructed.
- Each base has an outside and an inside map, each is a grid of 64x32 squares (length x height).
- The maps have an upper-left origin.
- Like in a lot of old games, when you go up or down a level on the inside map, you are actually only jumping between different parts of the same level/map, verticality is just technical trickery.
<?xml version="1.0" encoding="UTF-8" ?>
<gamelink>
<card
title="CAPTIVE"
short="CAPTIVE"
titlelo="Captive"
sort_name="CAPTIVE 1"
system="DOS"
beta="true"
/>
<!-- "CAPT" / "DOSC" -->
<packet header="54504143" size="14" footer="43534f44" />
<dsub>
<!-- cappo.exe with 73575 bytes -->
<detect sys="e9b551c5" prg="cabdc539" ph3="0" ph2="2880f518" ph1="11f47" ph0="0">
<peek bytes="15d90 15d92 15d94 15d96 5cdc" />
</detect>
</dsub>
<regions>
<region id="1" name="Butre" ground_floor="true" start_floor="G" auto_create="true" >
<grid width="64" height="32" origin_tl="true" />
</region>
<region id="2" name="Pelphi" ground_floor="true" start_floor="G" >
<grid width="64" height="32" origin_tl="true" />
</region>
</regions>
<views>
<!-- Classes -->
<class name="base">
<check offset="0" length="4" value="54504143" />
<seq offset="4" length="1" />
<xpos offset="5" length="1" min="0" max="3c" />
<ypos offset="6" length="1" min="0" max="3c" />
<face offset="7" length="1" n="0" e="3" s="2" w="1" />
</class>
<!-- Butre Outside -->
<packetview extends="base" region="1">
<check offset="8" length="1" value="0" />
<check offset="9" length="1" value="57" />
<const_floor>G</const_floor>
</packetview>
<!-- Butre Inside -->
<packetview extends="base" region="1">
<check offset="8" length="1" value="0" />
<check offset="9" length="1" value="e1" />
<const_floor>F1</const_floor>
</packetview>
<!-- Pelphi Outside -->
<packetview extends="base" region="2">
<check offset="8" length="1" value="1" />
<check offset="9" length="1" value="57" />
<const_floor>G</const_floor>
</packetview>
<!-- Pelphi Inside F1 -->
<packetview extends="base" region="2">
<xpos offset="5" length="1" min="0" max="e" />
<ypos offset="6" length="1" min="0" max="7" />
<check offset="8" length="1" value="1" />
<check offset="9" length="1" value="e1" />
<const_floor>F1</const_floor>
</packetview>
<!-- Pelphi Inside F2 -->
<packetview extends="base" region="2">
<xpos offset="5" length="1" min="10" max="3f" />
<ypos offset="6" length="1" min="0" max="e" />
<check offset="8" length="1" value="1" />
<check offset="9" length="1" value="e1" />
<move x="-16"/>
<const_floor>F2</const_floor>
</packetview>
</views>
</gamelink>
page revision: 4, last edited: 18 Aug 2017 17:23