<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="20">
  <CheatEntries>
    <CheatEntry>
      <ID>27</ID>
      <Description>"Default Values"</Description>
      <LastState Activated="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
aobscan(Defaults,00 00 C0 40 00 00 00 00 00 00 70 41 A4 70 BD 3E 00 05 00 00 01 00 00 00 00 00 40 40 00 00 00 00 00) // should be unique
registersymbol(Defaults)

[DISABLE]

unregistersymbol(Defaults)

</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>28</ID>
          <Description>"Move Speed"</Description>
          <LastState Value="6" RealAddress="04AD5FDC"/>
          <VariableType>Float</VariableType>
          <Address>Defaults</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>29</ID>
          <Description>"Move Velocity"</Description>
          <LastState Value="0" RealAddress="04AD5FE0"/>
          <VariableType>Float</VariableType>
          <Address>Defaults+4</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>32</ID>
          <Description>"Climb Speed"</Description>
          <LastState Value="3" RealAddress="04AD5FF4"/>
          <VariableType>Float</VariableType>
          <Address>Defaults+18</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>34</ID>
          <Description>"Climb Velocity"</Description>
          <LastState Value="0" RealAddress="04AD5FF8"/>
          <VariableType>Float</VariableType>
          <Address>Defaults+1C</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>31</ID>
          <Description>"Double Jumped"</Description>
          <LastState Value="0" RealAddress="04AD5FF1"/>
          <VariableType>Byte</VariableType>
          <Address>Defaults+15</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>33</ID>
          <Description>"Gravity Force"</Description>
          <LastState Value="5" RealAddress="04AD5FFC"/>
          <VariableType>Float</VariableType>
          <Address>Defaults+20</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>30</ID>
          <Description>"Jump Height"</Description>
          <LastState Value="15" RealAddress="04AD5FE4"/>
          <VariableType>Float</VariableType>
          <Address>Defaults+8</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>42</ID>
      <Description>"Locate X and Y Ptr"</Description>
      <LastState Activated="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
alloc(bAddr, 8)
registersymbol(bAddr)
aobscanmodule(GetXandY,Dungeon Escape.exe,8B 58 30 8B 78 2C) // should be unique
alloc(newmem,$1000)

label(code)
label(return)
label(SkipRecord)

newmem:

code:
  push eax
  push ebx
  push edi
  cmp [eax+5C], 0
  jne SkipRecord
//  cmp [eax+58],0
//  je SkipRecord
  mov [bAddr], eax
  SkipRecord:
  pop edi
  pop ebx
  pop eax
  mov ebx,[eax+30]
  mov edi,[eax+2C]
  jmp return

GetXandY:
  jmp code
  nop
return:
registersymbol(GetXandY)

[DISABLE]

GetXandY:
  db 8B 58 30 8B 78 2C

unregistersymbol(GetXandY)
unregistersymbol(bAddr)
dealloc(newmem)
dealloc(bAddr)

</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>43</ID>
          <Description>"X address"</Description>
          <LastState Value="-14.88610268" RealAddress="0CBCE40C"/>
          <VariableType>Float</VariableType>
          <Address>bAddr</Address>
          <Offsets>
            <Offset>2C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>44</ID>
          <Description>"Y address"</Description>
          <LastState Value="3.021232128" RealAddress="0CBCE410"/>
          <VariableType>Float</VariableType>
          <Address>bAddr</Address>
          <Offsets>
            <Offset>30</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols>
    <SymbolEntry>
      <Name>GetXandY</Name>
      <Address> 0068FA10</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>Defaults</Name>
      <Address> 04AD5FDC</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>DoubleJump</Name>
      <Address> 003A92C5</Address>
    </SymbolEntry>
  </UserdefinedSymbols>
</CheatTable>
