﻿<Entry>
    <Header>
      <Games>
        <Name>mole</Name>
      </Games>
      <Fields>
        <Name>RANK</Name>
        <Name>SCORE</Name>
        <Name>NAME</Name>
      </Fields>
      <Extensions>
        <Name>.hi</Name>
      </Extensions>
      <TextParameters>
        <Formats>
         <Name>NeedsSpecialMapping</Name>
         <Name>ASCIIUPPER</Name>
        </Formats>
        <Offsets>
          <Offset Type="Upper" StartByte="0x01"/>
        </Offsets>
        <SpecialMapping>
          <Map Char=" " Byte="0x00"/>
          <Map Char="!" Byte="0xD4"/>
          <Map Char="." Byte="0xF8"/>
          <Map Char="-" Byte="0xF9"/>
        </SpecialMapping>
      </TextParameters>        
    </Header>
    <FileStructure>
      <Mapping NumberOfBlocks="5" Ordering="Ascending">
        <Entry Name="Score" Length="2"/>
      </Mapping>
      <Mapping NumberOfBlocks="5" Ordering="Ascending">
        <Entry Name="Name" Length="16"/>
      </Mapping>
    </FileStructure>
    <SetStructure>
      <FieldName Name="Score" FieldType="int" ConversionType="IntToByteArrayHex" ExternalWrapper="ReverseByteArray" Position="1">
        <SpecialUtilization>EmptyScores</SpecialUtilization>
        <SpecialUtilization>IsAdjusted</SpecialUtilization>
        <SpecialUtilization Function="Reversed">DetermineRank</SpecialUtilization>
        <SpecialUtilization Function="/10">IncomingModified</SpecialUtilization>  
      </FieldName>
      <FieldName Name="Name" FieldType="string" ConversionType="Name" Position="2">
        <SpecialUtilization>ModifyName</SpecialUtilization>
        <SpecialUtilization>IsAdjusted</SpecialUtilization>
      </FieldName>
    </SetStructure>
    <DisplayStructure>
      <FieldName Name="Rank" ConversionType="CannedDisplay.AscendingFrom1"/>
      <FieldName Name="Score" ConversionType="Reversed" Operator="*10"/>
      <FieldName Name="Name" ConversionType="Name"/>
    </DisplayStructure>
  </Entry>