;;--------------------------------------------------------------------------------
;; Gets levels from Gamebalance file, returns a list with snoid and lvl
;;--------------------------------------------------------------------------------
Func GetLevelsAdvanced($offset)
If $offset <> 0 Then
$ofs = $offset + 0x218;
$read = _MemoryRead($ofs, $d3, 'int')
While $read = 0
$ofs += 0x4
$read = _MemoryRead($ofs, $d3, 'int')
WEnd
$size = _MemoryRead($ofs + 0x4, $d3, 'int')
$size -= 0x5F8
$ofs = $offset + _MemoryRead($ofs, $d3, 'int')
$nr = $size / 0x5F8
Local $snoItems[$nr + 1][4]
$j = 0
For $i = 0 To $size Step 0x5F8
$ofs_address = $ofs + $i
$snoItems[$j][0] = _MemoryRead($ofs_address, $d3, 'ptr')
$snoItems[$j][3] = _MemoryRead($ofs_address + 0x4, $d3, 'char[256]')
$snoItems[$j][2] = Abs(_MemoryRead($ofs_address + 0x108, $d3, 'int')) ;item_type_hash
$snoItems[$j][1] = _MemoryRead($ofs_address + 0x114, $d3, 'int') ;lvl
$j += 1
Next
EndIf
Return $snoItems
EndFunc ;==>GetLevelsAdvanced