#!/bin/bash
# this script creates a GameConqueror-cheat-file for Planets Edge(Dos)
clear
filename="pe.gct"                                                                       #gct shall insist "game conqueror table" as file hint
process="/usr/bin/dosbox"
# cheat.tmp ist ab sofort einheitlich die temporäre Datei!)

# "ink" colour definitions: bk=black, bl=blue, cn=cyan, gn=green, rd=red, vt=violet, wt=white, yl=yellow
bk="\e[0;30m"
bl="\e[0;34m"
cn="\e[0;36m"
gn="\e[0;32m"
rd="\e[0;31m"
vt="\e[0;35m"
wt="\e[0;37m"
yl="\e[0;33m"
# "paper" colour definitions (enhanced visibility using 1 (lighter ink))
bk_bg="\e[1;40m"
bl_bg="\e[1;44m"
cn_bg="\e[1;46m"
gn_bg="\e[1;42m"
rd_bg="\e[1;41m"
vt_bg="\e[1;45m"
wt_bg="\e[1;47m"
yl_bg="\e[1;43m"

inv="\e[30;47m"
norm="\e[0m"
warn="\033[0;31;49m"
warnv="\033[0;35;49m"

pe_copyright="50 6C 61 6E 65 74 20 45 64 67 65 20 56 31 2E 30 20 43 6F 70 79 72 69 67 68 74 20 31 39 39 32 0A 00 4E 65 77 20 57 6F 72 6C 64 20 43 6F 6D 70 75 74 69 6E 67 20 49 6E 63 2E 0A 00 41 6C 6C 20 52 69 67 68 74 73 20 52 65 73 65 72 76 65 72 64"
#cmdr_name="57 69 6C 6C 69 61 6D 20 44 65 61 6E 00 00 00 00"                            # William Dean !! Select ONE of this two lines, keep the first for the original Crewmembers Names and change/switch to the second if Names were changed !!
cmdr_name="4A 6F 68 6E 20 53 68 65 72 69 64 61 6E 00 00 00"                             # John Sheridan
# Start(description)
echo -e "$yl pe-cheat$norm - Script to create GameConqueror Cheat-Tables"
echo -e "It creates an addresslist(local path) with name: $vt$filename$norm"
echo
procid=$(pgrep -f $process)                                                             # fetch game process id
procid_count=$(echo "$procid" | wc -w)                                                  # zählt "Wörter" durch Leerzeichen unterbrochen. 0=KEIN Zeichen, 1=genau EIN Process
#                                                                                    
if [ -z "$procid" ] ; then
    echo -e "$warn Game process has not been found$norm Bye.."
    exit 1
else
    if [ "$procid_count" -ne 1 ] ; then
        echo -e "$warn Multiple Game processes found($procid_count)$norm Bye.."
        exit 1
    fi
    echo -e "$gn UNIQUE Game process found($procid) $norm"
fi
echo
echo -e "$cn Memory Allocation (ONLY $process!)$norm"
sudo cat /proc/$procid/maps | grep dosbox
echo

# Writing header of gameconqueror table to file
echo '{"cheat_list": ['>$filename

echo -ne " Base address: scanning..\\r"                                                 # scan for EXACT copyright text (AOB) in game memory
sudo scanmem -p "${procid}" -e -c 'option scan_data_type bytearray;'"${pe_copyright}"';list;exit' >cheat.tmp 2>/dev/null
pe_copyright_cnt=$(grep -c "bytearray" < cheat.tmp)                                     # convert scanmem's output to number like: how many times does the copyright(AOB) has been found

if [ "$pe_copyright_cnt" -eq 2 ] ; then                                                 # there SHOULD be 2 copyright notations in game memory
    copyright_address=$(awk 'NR==2' cheat.tmp | awk '{print $3}' | tr -d ',')           # get the address from the previous scan($file), 2nd line
else
    if [ "$pe_copyright_cnt" -eq 1 ] ; then                                             # only ONE copyright message found? After Tec2 discovered -.-
        copyright_address=$(awk 'NR==1' cheat.tmp | awk '{print $3}' | tr -d ',')       # get the address from the previous scan($file), 1st line
    else
        echo -e " Copyright Message count($pe_copyright_cnt)${rd} FAILED! $norm Bye.."
        exit 1
    fi
fi
echo -e "$yl Base address:$gn $copyright_address$norm ($pe_copyright_cnt * copyright)"  # the "copyright_address" SHOULD point to the upper memory(writable), its just a rough guess so.. just to get a point to start from..
base_address=$(printf "%d\n" "0x0$copyright_address")                                   # converting hex copyright_address to dezimal and store in base_address
echo -e '[false, "000 Copyright text 1/2                 ", '$(( base_address       ))', "string", "Planet Edge V1.0 Copyright 1992", true], '>>$filename
echo -ne " ${yl}COMMANDER   :$gn "
echo -ne $cmdr_name | xxd -r -p && echo -e "$norm ($cmdr_name)"
echo -ne " Crew address: scanning..\\r"                                                 # scan for Commanders Name (AOB) in game memory
sudo scanmem -p "${procid}" -e -c 'option scan_data_type bytearray;'"${cmdr_name}"';list;exit' >cheat.tmp 2>/dev/null
cmdr_name_cnt=$(grep -c "bytearray" < cheat.tmp)                                        # convert scanmem's output to number like: how many times does the commander has been found

if [ "$cmdr_name_cnt" -eq 1 ] ; then                                                    # there SHOULD be 1 "William Dean" or whatever the commander is now called in game memory otherwise error and ignore
    crew_address=$(awk 'NR==1' cheat.tmp | awk '{print $3}' | tr -d ',')                # get the address from the previous scan($file), 1st line
else
    if [ "$cmdr_name_cnt" -eq 2 ] ; then
        crew_address=$(awk 'NR==2' cheat.tmp | awk '{print $3}' | tr -d ',')            # get the address from the previous scan($file), 2nd line
    else
        echo -e " Commander Name count($cmdr_name_cnt)${rd} FAILED! $norm Blyat.."
        crew_address=0
    fi
fi
echo -e "$yl Crew address:$gn $crew_address$norm"                                       # the "crew_address" points to start of COMMANDER
address=$(printf "%d\n" "0x0$crew_address")                                             # converting hex crew_address to dezimal and store in address(for now)
warehouse=$(( address - 385 ))                                                          # Address to point to stored stuff in Moonbases Warehouse
echo -e '[false, "100 ╔ COMMANDER                (max.16)", '$(( address            ))', "string", "012345678901234", true], '>>$filename
echo -e '[false, "101 ╟Body(actual)                      ", '$(( address +       34 ))', "int8", "?", true], '>>$filename
echo -e '[false, "102 ╟Body(max)                         ", '$(( address +       35 ))', "int8", "?", true], '>>$filename
echo -e '[false, "103 ╟Intel                             ", '$(( address +       36 ))', "int8", "?", true], '>>$filename
echo -e '[false, "104 ╟Intel2                            ", '$(( address +       39 ))', "int8", "?", true], '>>$filename
echo -e '[false, "105 ╟Agility                           ", '$(( address +       37 ))', "int8", "?", true], '>>$filename
echo -e '[false, "106 ╟Agility2                          ", '$(( address +       40 ))', "int8", "?", true], '>>$filename
echo -e '[false, "107 ╟Luck                              ", '$(( address +       38 ))', "int8", "?", true], '>>$filename
echo -e '[false, "108 ╟Luck2                             ", '$(( address +       41 ))', "int8", "?", true], '>>$filename
echo -e '[false, "109 ╟Astrogation                       ", '$(( address +       42 ))', "int8", "?", true], '>>$filename
echo -e '[false, "110 ╟Shipweapon(BEAM)                  ", '$(( address +       43 ))', "int8", "?", true], '>>$filename
echo -e '[false, "111 ╟Shipweapon(BOLT)                  ", '$(( address +       44 ))', "int8", "?", true], '>>$filename
echo -e '[false, "112 ╟Shipweapon(PROJ)                  ", '$(( address +       45 ))', "int8", "?", true], '>>$filename
echo -e '[false, "113 ╟Leadership                        ", '$(( address +       46 ))', "int8", "?", true], '>>$filename
echo -e '[false, "114 ╟Communication                     ", '$(( address +       47 ))', "int8", "?", true], '>>$filename
echo -e '[false, "115 ╟Diplomacy                         ", '$(( address +       48 ))', "int8", "?", true], '>>$filename
echo -e '[false, "116 ╟Ship Repair                       ", '$(( address +       49 ))', "int8", "?", true], '>>$filename
echo -e '[false, "117 ╟Item Repair                       ", '$(( address +       50 ))', "int8", "?", true], '>>$filename
echo -e '[false, "118 ╟Computers                         ", '$(( address +       51 ))', "int8", "?", true], '>>$filename
echo -e '[false, "119 ╟Light Weapons                     ", '$(( address +       52 ))', "int8", "?", true], '>>$filename
echo -e '[false, "120 ╟Heavy Weapons                     ", '$(( address +       53 ))', "int8", "?", true], '>>$filename
echo -e '[false, "121 ╟Hand Weapons                      ", '$(( address +       54 ))', "int8", "?", true], '>>$filename
echo -e '[false, "122 ╟First Aid                         ", '$(( address +       55 ))', "int8", "?", true], '>>$filename
echo -e '[false, "123 ╟Surgery                           ", '$(( address +       56 ))', "int8", "?", true], '>>$filename
echo -e '[false, "124 ╟Xenobiology                       ", '$(( address +       57 ))', "int8", "?", true], '>>$filename
echo -e '[false, "130 ║ ┌INVENTAR                        ", '$(( 0                  ))', "int8", "?", true], '>>$filename
echo -e '[false, "131 ║ ├Item 01 ID                      ", '$(( address +       77 ))', "int8", "?", true], '>>$filename
echo -e '[false, "132 ║ ├─(Ladungen)                     ", '$(( address +      117 ))', "int8", "?", true], '>>$filename
echo -e '[false, "133 ║ ├─(Rüstung)                      ", '$(( address +      158 ))', "int16", "?", true], '>>$filename
echo -e '[false, "134 ║ ├Item 02 ID                      ", '$(( address +       78 ))', "int8", "?", true], '>>$filename
echo -e '[false, "135 ║ ├─(Ladungen)                     ", '$(( address +      118 ))', "int8", "?", true], '>>$filename
echo -e '[false, "136 ║ ├─(Rüstung)                      ", '$(( address +      160 ))', "int16", "?", true], '>>$filename
echo -e '[false, "137 ║ ├Item 03 ID                      ", '$(( address +       79 ))', "int8", "?", true], '>>$filename
echo -e '[false, "138 ║ ├─(Ladungen)                     ", '$(( address +      119 ))', "int8", "?", true], '>>$filename
echo -e '[false, "139 ║ ├─(Rüstung)                      ", '$(( address +      162 ))', "int16", "?", true], '>>$filename
echo -e '[false, "140 ║ ├Item 04 ID                      ", '$(( address +       80 ))', "int8", "?", true], '>>$filename
echo -e '[false, "141 ║ ├─(Ladungen)                     ", '$(( address +      120 ))', "int8", "?", true], '>>$filename
echo -e '[false, "142 ╚ └─(Rüstung)                      ", '$(( address +      164 ))', "int16", "?", true], '>>$filename

address=$(( address + 238 ))                                                            # +238 to get next crewmen
echo -e '[false, "200 ╔ COMBAT                   (max.16)", '$(( address            ))', "string", "012345678901234", true], '>>$filename
echo -e '[false, "201 ╟Body(actual)                      ", '$(( address +       34 ))', "int8", "?", true], '>>$filename
echo -e '[false, "202 ╟Body(max)                         ", '$(( address +       35 ))', "int8", "?", true], '>>$filename
echo -e '[false, "203 ╟Intel                             ", '$(( address +       36 ))', "int8", "?", true], '>>$filename
echo -e '[false, "204 ╟Intel2                            ", '$(( address +       39 ))', "int8", "?", true], '>>$filename
echo -e '[false, "205 ╟Agility                           ", '$(( address +       37 ))', "int8", "?", true], '>>$filename
echo -e '[false, "206 ╟Agility2                          ", '$(( address +       40 ))', "int8", "?", true], '>>$filename
echo -e '[false, "207 ╟Luck                              ", '$(( address +       38 ))', "int8", "?", true], '>>$filename
echo -e '[false, "208 ╟Luck2                             ", '$(( address +       41 ))', "int8", "?", true], '>>$filename
echo -e '[false, "209 ╟Astrogation                 [1 3 ]", '$(( address +       42 ))', "int8", "?", true], '>>$filename
echo -e '[false, "210 ╟Shipweapon(BEAM)            [1   ]", '$(( address +       43 ))', "int8", "?", true], '>>$filename
echo -e '[false, "211 ╟Shipweapon(BOLT)            [ 2  ]", '$(( address +       44 ))', "int8", "?", true], '>>$filename
echo -e '[false, "212 ╟Shipweapon(PROJ)            [1   ]", '$(( address +       45 ))', "int8", "?", true], '>>$filename
echo -e '[false, "213 ╟Leadership                  [1   ]", '$(( address +       46 ))', "int8", "?", true], '>>$filename
echo -e '[false, "214 ╟Communication               [ 2 4]", '$(( address +       47 ))', "int8", "?", true], '>>$filename
echo -e '[false, "215 ╟Diplomacy                   [1   ]", '$(( address +       48 ))', "int8", "?", true], '>>$filename
echo -e '[false, "216 ╟Ship Repair                 [  3 ]", '$(( address +       49 ))', "int8", "?", true], '>>$filename
echo -e '[false, "217 ╟Item Repair                 [  3 ]", '$(( address +       50 ))', "int8", "?", true], '>>$filename
echo -e '[false, "218 ╟Computers                   [  34]", '$(( address +       51 ))', "int8", "?", true], '>>$filename
echo -e '[false, "219 ╟Light Weapons               [1234]", '$(( address +       52 ))', "int8", "?", true], '>>$filename
echo -e '[false, "220 ╟Heavy Weapons               [ 2  ]", '$(( address +       53 ))', "int8", "?", true], '>>$filename
echo -e '[false, "221 ╟Hand Weapons                [ 2  ]", '$(( address +       54 ))', "int8", "?", true], '>>$filename
echo -e '[false, "222 ╟First Aid                   [ 2 4]", '$(( address +       55 ))', "int8", "?", true], '>>$filename
echo -e '[false, "223 ╟Surgery                     [  34]", '$(( address +       56 ))', "int8", "?", true], '>>$filename
echo -e '[false, "224 ╟Xenobiology                 [   4]", '$(( address +       57 ))', "int8", "?", true], '>>$filename
echo -e '[false, "230 ║ ┌INVENTAR                        ", '$(( 0                  ))', "int8", "?", true], '>>$filename
echo -e '[false, "231 ║ ├Item 01 ID                      ", '$(( address +       77 ))', "int8", "?", true], '>>$filename
echo -e '[false, "232 ║ ├─(Ladungen)                     ", '$(( address +      117 ))', "int8", "?", true], '>>$filename
echo -e '[false, "233 ║ ├─(Rüstung)                      ", '$(( address +      158 ))', "int16", "?", true], '>>$filename
echo -e '[false, "234 ║ ├Item 02 ID                      ", '$(( address +       78 ))', "int8", "?", true], '>>$filename
echo -e '[false, "235 ║ ├─(Ladungen)                     ", '$(( address +      118 ))', "int8", "?", true], '>>$filename
echo -e '[false, "236 ║ ├─(Rüstung)                      ", '$(( address +      160 ))', "int16", "?", true], '>>$filename
echo -e '[false, "237 ║ ├Item 03 ID                      ", '$(( address +       79 ))', "int8", "?", true], '>>$filename
echo -e '[false, "238 ║ ├─(Ladungen)                     ", '$(( address +      119 ))', "int8", "?", true], '>>$filename
echo -e '[false, "239 ║ ├─(Rüstung)                      ", '$(( address +      162 ))', "int16", "?", true], '>>$filename
echo -e '[false, "240 ║ ├Item 04 ID                      ", '$(( address +       80 ))', "int8", "?", true], '>>$filename
echo -e '[false, "241 ║ ├─(Ladungen)                     ", '$(( address +      120 ))', "int8", "?", true], '>>$filename
echo -e '[false, "242 ╚ └─(Rüstung)                      ", '$(( address +      164 ))', "int16", "?", true], '>>$filename

address=$(( address + 238 ))                                                            # +238 to get next crewmen
echo -e '[false, "300 ╔ ENGINEER                 (max.16)", '$(( address            ))', "string", "012345678901234", true], '>>$filename
echo -e '[false, "301 ╟Body(actual)                      ", '$(( address +       34 ))', "int8", "?", true], '>>$filename
echo -e '[false, "302 ╟Body(max)                         ", '$(( address +       35 ))', "int8", "?", true], '>>$filename
echo -e '[false, "303 ╟Intel                             ", '$(( address +       36 ))', "int8", "?", true], '>>$filename
echo -e '[false, "304 ╟Intel2                            ", '$(( address +       39 ))', "int8", "?", true], '>>$filename
echo -e '[false, "305 ╟Agility                           ", '$(( address +       37 ))', "int8", "?", true], '>>$filename
echo -e '[false, "306 ╟Agility2                          ", '$(( address +       40 ))', "int8", "?", true], '>>$filename
echo -e '[false, "307 ╟Luck                              ", '$(( address +       38 ))', "int8", "?", true], '>>$filename
echo -e '[false, "308 ╟Luck2                             ", '$(( address +       41 ))', "int8", "?", true], '>>$filename
echo -e '[false, "309 ╟Astrogation                 [1 3 ]", '$(( address +       42 ))', "int8", "?", true], '>>$filename
echo -e '[false, "310 ╟Shipweapon(BEAM)            [1   ]", '$(( address +       43 ))', "int8", "?", true], '>>$filename
echo -e '[false, "311 ╟Shipweapon(BOLT)            [ 2  ]", '$(( address +       44 ))', "int8", "?", true], '>>$filename
echo -e '[false, "312 ╟Shipweapon(PROJ)            [1   ]", '$(( address +       45 ))', "int8", "?", true], '>>$filename
echo -e '[false, "313 ╟Leadership                  [1   ]", '$(( address +       46 ))', "int8", "?", true], '>>$filename
echo -e '[false, "314 ╟Communication               [ 2 4]", '$(( address +       47 ))', "int8", "?", true], '>>$filename
echo -e '[false, "315 ╟Diplomacy                   [1   ]", '$(( address +       48 ))', "int8", "?", true], '>>$filename
echo -e '[false, "316 ╟Ship Repair                 [  3 ]", '$(( address +       49 ))', "int8", "?", true], '>>$filename
echo -e '[false, "317 ╟Item Repair                 [  3 ]", '$(( address +       50 ))', "int8", "?", true], '>>$filename
echo -e '[false, "318 ╟Computers                   [  34]", '$(( address +       51 ))', "int8", "?", true], '>>$filename
echo -e '[false, "319 ╟Light Weapons               [1234]", '$(( address +       52 ))', "int8", "?", true], '>>$filename
echo -e '[false, "320 ╟Heavy Weapons               [ 2  ]", '$(( address +       53 ))', "int8", "?", true], '>>$filename
echo -e '[false, "321 ╟Hand Weapons                [ 2  ]", '$(( address +       54 ))', "int8", "?", true], '>>$filename
echo -e '[false, "322 ╟First Aid                   [ 2 4]", '$(( address +       55 ))', "int8", "?", true], '>>$filename
echo -e '[false, "323 ╟Surgery                     [  34]", '$(( address +       56 ))', "int8", "?", true], '>>$filename
echo -e '[false, "324 ╟Xenobiology                 [   4]", '$(( address +       57 ))', "int8", "?", true], '>>$filename
echo -e '[false, "330 ║ ┌INVENTAR                        ", '$(( 0                  ))', "int8", "?", true], '>>$filename
echo -e '[false, "331 ║ ├Item 01 ID                      ", '$(( address +       77 ))', "int8", "?", true], '>>$filename
echo -e '[false, "332 ║ ├─(Ladungen)                     ", '$(( address +      117 ))', "int8", "?", true], '>>$filename
echo -e '[false, "333 ║ ├─(Rüstung)                      ", '$(( address +      158 ))', "int16", "?", true], '>>$filename
echo -e '[false, "334 ║ ├Item 02 ID                      ", '$(( address +       78 ))', "int8", "?", true], '>>$filename
echo -e '[false, "335 ║ ├─(Ladungen)                     ", '$(( address +      118 ))', "int8", "?", true], '>>$filename
echo -e '[false, "336 ║ ├─(Rüstung)                      ", '$(( address +      160 ))', "int16", "?", true], '>>$filename
echo -e '[false, "337 ║ ├Item 03 ID                      ", '$(( address +       79 ))', "int8", "?", true], '>>$filename
echo -e '[false, "338 ║ ├─(Ladungen)                     ", '$(( address +      119 ))', "int8", "?", true], '>>$filename
echo -e '[false, "339 ║ ├─(Rüstung)                      ", '$(( address +      162 ))', "int16", "?", true], '>>$filename
echo -e '[false, "340 ║ ├Item 04 ID                      ", '$(( address +       80 ))', "int8", "?", true], '>>$filename
echo -e '[false, "341 ║ ├─(Ladungen)                     ", '$(( address +      120 ))', "int8", "?", true], '>>$filename
echo -e '[false, "342 ╚ └─(Rüstung)                      ", '$(( address +      164 ))', "int16", "?", true], '>>$filename

address=$(( address + 238 ))                                                            # +238 to get next crewmen
echo -e '[false, "400 ╔ SCIENCES                 (max.16)", '$(( address            ))', "string", "012345678901234", true], '>>$filename
echo -e '[false, "401 ╟Body(actual)                      ", '$(( address +       34 ))', "int8", "?", true], '>>$filename
echo -e '[false, "402 ╟Body(max)                         ", '$(( address +       35 ))', "int8", "?", true], '>>$filename
echo -e '[false, "403 ╟Intel                             ", '$(( address +       36 ))', "int8", "?", true], '>>$filename
echo -e '[false, "404 ╟Intel2                            ", '$(( address +       39 ))', "int8", "?", true], '>>$filename
echo -e '[false, "405 ╟Agility                           ", '$(( address +       37 ))', "int8", "?", true], '>>$filename
echo -e '[false, "406 ╟Agility2                          ", '$(( address +       40 ))', "int8", "?", true], '>>$filename
echo -e '[false, "407 ╟Luck                              ", '$(( address +       38 ))', "int8", "?", true], '>>$filename
echo -e '[false, "408 ╟Luck2                             ", '$(( address +       41 ))', "int8", "?", true], '>>$filename
echo -e '[false, "409 ╟Astrogation                 [1 3 ]", '$(( address +       42 ))', "int8", "?", true], '>>$filename
echo -e '[false, "410 ╟Shipweapon(BEAM)            [1   ]", '$(( address +       43 ))', "int8", "?", true], '>>$filename
echo -e '[false, "411 ╟Shipweapon(BOLT)            [ 2  ]", '$(( address +       44 ))', "int8", "?", true], '>>$filename
echo -e '[false, "412 ╟Shipweapon(PROJ)            [1   ]", '$(( address +       45 ))', "int8", "?", true], '>>$filename
echo -e '[false, "413 ╟Leadership                  [1   ]", '$(( address +       46 ))', "int8", "?", true], '>>$filename
echo -e '[false, "414 ╟Communication               [ 2 4]", '$(( address +       47 ))', "int8", "?", true], '>>$filename
echo -e '[false, "415 ╟Diplomacy                   [1   ]", '$(( address +       48 ))', "int8", "?", true], '>>$filename
echo -e '[false, "416 ╟Ship Repair                 [  3 ]", '$(( address +       49 ))', "int8", "?", true], '>>$filename
echo -e '[false, "417 ╟Item Repair                 [  3 ]", '$(( address +       50 ))', "int8", "?", true], '>>$filename
echo -e '[false, "418 ╟Computers                   [  34]", '$(( address +       51 ))', "int8", "?", true], '>>$filename
echo -e '[false, "419 ╟Light Weapons               [1234]", '$(( address +       52 ))', "int8", "?", true], '>>$filename
echo -e '[false, "420 ╟Heavy Weapons               [ 2  ]", '$(( address +       53 ))', "int8", "?", true], '>>$filename
echo -e '[false, "421 ╟Hand Weapons                [ 2  ]", '$(( address +       54 ))', "int8", "?", true], '>>$filename
echo -e '[false, "422 ╟First Aid                   [ 2 4]", '$(( address +       55 ))', "int8", "?", true], '>>$filename
echo -e '[false, "423 ╟Surgery                     [  34]", '$(( address +       56 ))', "int8", "?", true], '>>$filename
echo -e '[false, "424 ╟Xenobiology                 [   4]", '$(( address +       57 ))', "int8", "?", true], '>>$filename
echo -e '[false, "430 ║ ┌INVENTAR                        ", '$(( 0                  ))', "int8", "?", true], '>>$filename
echo -e '[false, "431 ║ ├Item 01 ID                      ", '$(( address +       77 ))', "int8", "?", true], '>>$filename
echo -e '[false, "432 ║ ├─(Ladungen)                     ", '$(( address +      117 ))', "int8", "?", true], '>>$filename
echo -e '[false, "433 ║ ├─(Rüstung)                      ", '$(( address +      158 ))', "int16", "?", true], '>>$filename
echo -e '[false, "434 ║ ├Item 02 ID                      ", '$(( address +       78 ))', "int8", "?", true], '>>$filename
echo -e '[false, "435 ║ ├─(Ladungen)                     ", '$(( address +      118 ))', "int8", "?", true], '>>$filename
echo -e '[false, "436 ║ ├─(Rüstung)                      ", '$(( address +      160 ))', "int16", "?", true], '>>$filename
echo -e '[false, "437 ║ ├Item 03 ID                      ", '$(( address +       79 ))', "int8", "?", true], '>>$filename
echo -e '[false, "438 ║ ├─(Ladungen)                     ", '$(( address +      119 ))', "int8", "?", true], '>>$filename
echo -e '[false, "439 ║ ├─(Rüstung)                      ", '$(( address +      162 ))', "int16", "?", true], '>>$filename
echo -e '[false, "440 ║ ├Item 04 ID                      ", '$(( address +       80 ))', "int8", "?", true], '>>$filename
echo -e '[false, "441 ║ ├─(Ladungen)                     ", '$(( address +      120 ))', "int8", "?", true], '>>$filename
echo -e '[false, "442 ╚ └─(Rüstung)                      ", '$(( address +      164 ))', "int16", "?", true], '>>$filename

address=$warehouse
echo -e '[false, "500 ╔ Warehouse/Moonbase               ", '$((                  0 ))', "int8", "?", true], '>>$filename
echo -e '[false, "501 ║ ├ Dagger                      [1]", '$(( address +        0 ))', "int8", "?", true], '>>$filename
echo -e '[false, "502 ║ ├                                ", '$(( address +        1 ))', "int8", "?", true], '>>$filename
echo -e '[false, "503 ║ ├ Pistol                  12L [1]", '$(( address +        2 ))', "int8", "?", true], '>>$filename
echo -e '[false, "504 ║ ├ Rifle                   15L [1]", '$(( address +        3 ))', "int8", "?", true], '>>$filename
echo -e '[false, "505 ║ ├ Assault Rifle           18H [1]", '$(( address +        4 ))', "int8", "?", true], '>>$filename
echo -e '[false, "506 ║ ├ Machine Gun             12H  1 ", '$(( address +        5 ))', "int8", "?", true], '>>$filename
echo -e '[false, "507 ║ ├ Hand Laser              20L [1]", '$(( address +        6 ))', "int8", "?", true], '>>$filename
echo -e '[false, "508 ║ ├ Laser Rifle             20L  2 ", '$(( address +        7 ))', "int8", "?", true], '>>$filename
echo -e '[false, "509 ║ ├ Assault Laser           12H  2 ", '$(( address +        8 ))', "int8", "?", true], '>>$filename
echo -e '[false, "510 ║ ├ Electron Gun            18L  2 ", '$(( address +        9 ))', "int8", "?", true], '>>$filename
echo -e '[false, "511 ║ ├                                ", '$(( address +       10 ))', "int8", "?", true], '>>$filename
echo -e '[false, "512 ║ ├                                ", '$(( address +       11 ))', "int8", "?", true], '>>$filename
echo -e '[false, "513 ║ ├                                ", '$(( address +       12 ))', "int8", "?", true], '>>$filename
echo -e '[false, "514 ║ ├ Smart Gun               20H  2 ", '$(( address +       13 ))', "int8", "?", true], '>>$filename
echo -e '[false, "515 ║ ├ Grenade Launcher         8H  1 ", '$(( address +       14 ))', "int8", "?", true], '>>$filename
echo -e '[false, "516 ║ ├                                ", '$(( address +       15 ))', "int8", "?", true], '>>$filename
echo -e '[false, "517 ║ ├                                ", '$(( address +       16 ))', "int8", "?", true], '>>$filename
echo -e '[false, "518 ║ ├                                ", '$(( address +       17 ))', "int8", "?", true], '>>$filename
echo -e '[false, "519 ║ ├                                ", '$(( address +       18 ))', "int8", "?", true], '>>$filename
echo -e '[false, "520 ║ ├                                ", '$(( address +       19 ))', "int8", "?", true], '>>$filename
echo -e '[false, "521 ║ ├                                ", '$(( address +       20 ))', "int8", "?", true], '>>$filename
echo -e '[false, "522 ║ ├                                ", '$(( address +       21 ))', "int8", "?", true], '>>$filename
echo -e '[false, "523 ║ ├                                ", '$(( address +       22 ))', "int8", "?", true], '>>$filename
echo -e '[false, "524 ║ ├ Chain Sword                  1 ", '$(( address +       23 ))', "int8", "?", true], '>>$filename
echo -e '[false, "525 ║ ├                                ", '$(( address +       24 ))', "int8", "?", true], '>>$filename
echo -e '[false, "526 ║ ├                                ", '$(( address +       25 ))', "int8", "?", true], '>>$filename
echo -e '[false, "527 ║ ├                                ", '$(( address +       26 ))', "int8", "?", true], '>>$filename
echo -e '[false, "528 ║ ├                                ", '$(( address +       27 ))', "int8", "?", true], '>>$filename
echo -e '[false, "529 ║ ├                                ", '$(( address +       28 ))', "int8", "?", true], '>>$filename
echo -e '[false, "530 ║ ├                                ", '$(( address +       29 ))', "int8", "?", true], '>>$filename
echo -e '[false, "531 ║ ├ Imastyl                      1 ", '$(( address +       30 ))', "int8", "?", true], '>>$filename
echo -e '[false, "532 ║ ├ Energy Mace                  2 ", '$(( address +       31 ))', "int8", "?", true], '>>$filename
echo -e '[false, "533 ║ ├ Thermite Launcher       10H  1 ", '$(( address +       32 ))', "int8", "?", true], '>>$filename
echo -e '[false, "534 ║ ├                                ", '$(( address +       33 ))', "int8", "?", true], '>>$filename
echo -e '[false, "535 ║ ├                                ", '$(( address +       34 ))', "int8", "?", true], '>>$filename
echo -e '[false, "536 ║ ├                                ", '$(( address +       35 ))', "int8", "?", true], '>>$filename
echo -e '[false, "537 ║ ├                                ", '$(( address +       36 ))', "int8", "?", true], '>>$filename
echo -e '[false, "538 ║ ├                                ", '$(( address +       37 ))', "int8", "?", true], '>>$filename
echo -e '[false, "539 ║ ├                                ", '$(( address +       38 ))', "int8", "?", true], '>>$filename
echo -e '[false, "540 ║ ├                                ", '$(( address +       39 ))', "int8", "?", true], '>>$filename
echo -e '[false, "541 ║ ├ Leather Armor           60H  1 ", '$(( address +       40 ))', "int8", "?", true], '>>$filename
echo -e '[false, "542 ║ ├                                ", '$(( address +       41 ))', "int8", "?", true], '>>$filename
echo -e '[false, "543 ║ ├                                ", '$(( address +       42 ))', "int8", "?", true], '>>$filename
echo -e '[false, "544 ║ ├ Flak Jacket            120P [1]", '$(( address +       43 ))', "int8", "?", true], '>>$filename
echo -e '[false, "545 ║ ├ Kevlar Suit            240P  1 ", '$(( address +       44 ))', "int8", "?", true], '>>$filename
echo -e '[false, "546 ║ ├ Composite Armor        400P  2 ", '$(( address +       45 ))', "int8", "?", true], '>>$filename
echo -e '[false, "547 ║ ├ Reflec Armor           100B  2 ", '$(( address +       46 ))', "int8", "?", true], '>>$filename
echo -e '[false, "548 ║ ├ Ceramic Armor          200B  2 ", '$(( address +       47 ))', "int8", "?", true], '>>$filename
echo -e '[false, "549 ║ ├                                ", '$(( address +       48 ))', "int8", "?", true], '>>$filename
echo -e '[false, "550 ║ ├                                ", '$(( address +       49 ))', "int8", "?", true], '>>$filename
echo -e '[false, "551 ║ ├                                ", '$(( address +       50 ))', "int8", "?", true], '>>$filename
echo -e '[false, "552 ║ ├                                ", '$(( address +       51 ))', "int8", "?", true], '>>$filename
echo -e '[false, "553 ║ ├                                ", '$(( address +       52 ))', "int8", "?", true], '>>$filename
echo -e '[false, "554 ║ ├ Teflar Suit            320P  2 ", '$(( address +       53 ))', "int8", "?", true], '>>$filename
echo -e '[false, "555 ║ ├                                ", '$(( address +       54 ))', "int8", "?", true], '>>$filename
echo -e '[false, "556 ║ ├                                ", '$(( address +       55 ))', "int8", "?", true], '>>$filename
echo -e '[false, "557 ║ ├                                ", '$(( address +       56 ))', "int8", "?", true], '>>$filename
echo -e '[false, "558 ║ ├                                ", '$(( address +       57 ))', "int8", "?", true], '>>$filename
echo -e '[false, "559 ║ ├                                ", '$(( address +       58 ))', "int8", "?", true], '>>$filename
echo -e '[false, "560 ║ ├                                ", '$(( address +       59 ))', "int8", "?", true], '>>$filename
echo -e '[false, "561 ║ ├                                ", '$(( address +       60 ))', "int8", "?", true], '>>$filename
echo -e '[false, "562 ║ ├                                ", '$(( address +       61 ))', "int8", "?", true], '>>$filename
echo -e '[false, "563 ║ ├                                ", '$(( address +       62 ))', "int8", "?", true], '>>$filename
echo -e '[false, "564 ║ ├                                ", '$(( address +       63 ))', "int8", "?", true], '>>$filename
echo -e '[false, "565 ║ ├                                ", '$(( address +       64 ))', "int8", "?", true], '>>$filename
echo -e '[false, "566 ║ ├                                ", '$(( address +       65 ))', "int8", "?", true], '>>$filename
echo -e '[false, "567 ║ ├                                ", '$(( address +       66 ))', "int8", "?", true], '>>$filename
echo -e '[false, "568 ║ ├                                ", '$(( address +       67 ))', "int8", "?", true], '>>$filename
echo -e '[false, "569 ║ ├                                ", '$(( address +       68 ))', "int8", "?", true], '>>$filename
echo -e '[false, "570 ║ ├                                ", '$(( address +       69 ))', "int8", "?", true], '>>$filename
echo -e '[false, "571 ║ ├                                ", '$(( address +       70 ))', "int8", "?", true], '>>$filename
echo -e '[false, "572 ║ ├                                ", '$(( address +       71 ))', "int8", "?", true], '>>$filename
echo -e '[false, "573 ║ ├                                ", '$(( address +       72 ))', "int8", "?", true], '>>$filename
echo -e '[false, "574 ║ ├                                ", '$(( address +       73 ))', "int8", "?", true], '>>$filename
echo -e '[false, "575 ║ ├                                ", '$(( address +       74 ))', "int8", "?", true], '>>$filename
echo -e '[false, "576 ║ ├                                ", '$(( address +       75 ))', "int8", "?", true], '>>$filename
echo -e '[false, "577 ║ ├                                ", '$(( address +       76 ))', "int8", "?", true], '>>$filename
echo -e '[false, "578 ║ ├                                ", '$(( address +       77 ))', "int8", "?", true], '>>$filename
echo -e '[false, "579 ║ ├                                ", '$(( address +       78 ))', "int8", "?", true], '>>$filename
echo -e '[false, "580 ║ ├                                ", '$(( address +       79 ))', "int8", "?", true], '>>$filename
echo -e '[false, "581 ║ ├                                ", '$(( address +       80 ))', "int8", "?", true], '>>$filename
echo -e '[false, "582 ║ ├                                ", '$(( address +       81 ))', "int8", "?", true], '>>$filename
echo -e '[false, "583 ║ ├                                ", '$(( address +       82 ))', "int8", "?", true], '>>$filename
echo -e '[false, "584 ║ ├                                ", '$(( address +       83 ))', "int8", "?", true], '>>$filename
echo -e '[false, "585 ║ ├                                ", '$(( address +       84 ))', "int8", "?", true], '>>$filename
echo -e '[false, "586 ║ ├                                ", '$(( address +       85 ))', "int8", "?", true], '>>$filename
echo -e '[false, "587 ║ ├                                ", '$(( address +       86 ))', "int8", "?", true], '>>$filename
echo -e '[false, "588 ║ ├                                ", '$(( address +       87 ))', "int8", "?", true], '>>$filename
echo -e '[false, "589 ║ ├                                ", '$(( address +       88 ))', "int8", "?", true], '>>$filename
echo -e '[false, "590 ║ ├                                ", '$(( address +       89 ))', "int8", "?", true], '>>$filename
echo -e '[false, "591 ║ ├                                ", '$(( address +       90 ))', "int8", "?", true], '>>$filename
echo -e '[false, "592 ║ ├                                ", '$(( address +       91 ))', "int8", "?", true], '>>$filename
echo -e '[false, "593 ║ ├                                ", '$(( address +       92 ))', "int8", "?", true], '>>$filename
echo -e '[false, "594 ║ ├                                ", '$(( address +       93 ))', "int8", "?", true], '>>$filename
echo -e '[false, "595 ║ ├                                ", '$(( address +       94 ))', "int8", "?", true], '>>$filename
echo -e '[false, "596 ║ ├                                ", '$(( address +       95 ))', "int8", "?", true], '>>$filename
echo -e '[false, "597 ║ ├                                ", '$(( address +       96 ))', "int8", "?", true], '>>$filename
echo -e '[false, "598 ║ ├                                ", '$(( address +       97 ))', "int8", "?", true], '>>$filename
echo -e '[false, "599 ║ ├                                ", '$(( address +       98 ))', "int8", "?", true], '>>$filename
echo -e '[false, "600 ║ ├                                ", '$(( address +       99 ))', "int8", "?", true], '>>$filename
echo -e '[false, "601 ║ ├                                ", '$(( address +      100 ))', "int8", "?", true], '>>$filename
echo -e '[false, "602 ║ ├                                ", '$(( address +      101 ))', "int8", "?", true], '>>$filename
echo -e '[false, "603 ║ ├                                ", '$(( address +      102 ))', "int8", "?", true], '>>$filename
echo -e '[false, "604 ║ ├                                ", '$(( address +      103 ))', "int8", "?", true], '>>$filename
echo -e '[false, "605 ║ ├                                ", '$(( address +      104 ))', "int8", "?", true], '>>$filename
echo -e '[false, "606 ║ ├                                ", '$(( address +      105 ))', "int8", "?", true], '>>$filename
echo -e '[false, "607 ║ ├                                ", '$(( address +      106 ))', "int8", "?", true], '>>$filename
echo -e '[false, "608 ║ ├                                ", '$(( address +      107 ))', "int8", "?", true], '>>$filename
echo -e '[false, "609 ║ ├                                ", '$(( address +      108 ))', "int8", "?", true], '>>$filename
echo -e '[false, "610 ║ ├                                ", '$(( address +      109 ))', "int8", "?", true], '>>$filename
echo -e '[false, "611 ║ ├                                ", '$(( address +      110 ))', "int8", "?", true], '>>$filename
echo -e '[false, "612 ║ ├                                ", '$(( address +      111 ))', "int8", "?", true], '>>$filename
echo -e '[false, "613 ║ ├                                ", '$(( address +      112 ))', "int8", "?", true], '>>$filename
echo -e '[false, "614 ║ ├                                ", '$(( address +      113 ))', "int8", "?", true], '>>$filename
echo -e '[false, "615 ║ ├                                ", '$(( address +      114 ))', "int8", "?", true], '>>$filename
echo -e '[false, "616 ║ ├                                ", '$(( address +      115 ))', "int8", "?", true], '>>$filename
echo -e '[false, "617 ║ ├                                ", '$(( address +      116 ))', "int8", "?", true], '>>$filename
echo -e '[false, "618 ║ ├                                ", '$(( address +      117 ))', "int8", "?", true], '>>$filename
echo -e '[false, "619 ║ ├                                ", '$(( address +      118 ))', "int8", "?", true], '>>$filename
echo -e '[false, "620 ║ ├                                ", '$(( address +      119 ))', "int8", "?", true], '>>$filename
echo -e '[false, "621 ║ ├                                ", '$(( address +      120 ))', "int8", "?", true], '>>$filename
echo -e '[false, "622 ║ ├                                ", '$(( address +      121 ))', "int8", "?", true], '>>$filename
echo -e '[false, "623 ║ ├                                ", '$(( address +      122 ))', "int8", "?", true], '>>$filename
echo -e '[false, "624 ║ ├                                ", '$(( address +      123 ))', "int8", "?", true], '>>$filename
echo -e '[false, "625 ║ ├                                ", '$(( address +      124 ))', "int8", "?", true], '>>$filename
echo -e '[false, "626 ║ ├                                ", '$(( address +      125 ))', "int8", "?", true], '>>$filename
echo -e '[false, "627 ║ ├                                ", '$(( address +      126 ))', "int8", "?", true], '>>$filename
echo -e '[false, "628 ║ ├                                ", '$(( address +      127 ))', "int8", "?", true], '>>$filename
echo -e '[false, "629 ║ ├                                ", '$(( address +      128 ))', "int8", "?", true], '>>$filename
echo -e '[false, "630 ║ ├ Powercell                5L [1]", '$(( address +      129 ))', "int8", "?", true], '>>$filename
echo -e '[false, "631 ║ ├ Energy Bank              3H  2 ", '$(( address +      130 ))', "int8", "?", true], '>>$filename
echo -e '[false, "632 ║ ├ Ammo Clip                1L [1]", '$(( address +      131 ))', "int8", "?", true], '>>$filename
echo -e '[false, "633 ║ ├ Heavy Magazine           1H [1]", '$(( address +      132 ))', "int8", "?", true], '>>$filename
echo -e '[false, "634 ║ ├ First Aid Pack           20 [1]", '$(( address +      133 ))', "int8", "?", true], '>>$filename
echo -e '[false, "635 ║ ├ Trauma Kit               x1 [1]", '$(( address +      134 ))', "int8", "?", true], '>>$filename
echo -e '[false, "636 ║ ├                                ", '$(( address +      135 ))', "int8", "?", true], '>>$filename
echo -e '[false, "637 ║ ├                                ", '$(( address +      136 ))', "int8", "?", true], '>>$filename
echo -e '[false, "638 ║ ├                                ", '$(( address +      137 ))', "int8", "?", true], '>>$filename
echo -e '[false, "639 ║ ├                                ", '$(( address +      138 ))', "int8", "?", true], '>>$filename
echo -e '[false, "640 ║ ├                                ", '$(( address +      139 ))', "int8", "?", true], '>>$filename
echo -e '[false, "641 ║ ├                                ", '$(( address +      140 ))', "int8", "?", true], '>>$filename
echo -e '[false, "642 ║ ├                                ", '$(( address +      141 ))', "int8", "?", true], '>>$filename
echo -e '[false, "643 ║ ├                                ", '$(( address +      142 ))', "int8", "?", true], '>>$filename
echo -e '[false, "644 ║ ├                                ", '$(( address +      143 ))', "int8", "?", true], '>>$filename
echo -e '[false, "645 ║ ├                                ", '$(( address +      144 ))', "int8", "?", true], '>>$filename
echo -e '[false, "646 ║ ├                                ", '$(( address +      145 ))', "int8", "?", true], '>>$filename
echo -e '[false, "647 ║ ├                                ", '$(( address +      146 ))', "int8", "?", true], '>>$filename
echo -e '[false, "648 ║ ├                                ", '$(( address +      147 ))', "int8", "?", true], '>>$filename
echo -e '[false, "649 ║ ├                                ", '$(( address +      148 ))', "int8", "?", true], '>>$filename
echo -e '[false, "650 ║ ├                                ", '$(( address +      149 ))', "int8", "?", true], '>>$filename
echo -e '[false, "651 ║ ├                                ", '$(( address +      150 ))', "int8", "?", true], '>>$filename
echo -e '[false, "652 ║ ├                                ", '$(( address +      151 ))', "int8", "?", true], '>>$filename
echo -e '[false, "653 ║ ├                                ", '$(( address +      152 ))', "int8", "?", true], '>>$filename
echo -e '[false, "654 ║ ├                                ", '$(( address +      153 ))', "int8", "?", true], '>>$filename
echo -e '[false, "655 ║ ├                                ", '$(( address +      154 ))', "int8", "?", true], '>>$filename
echo -e '[false, "656 ║ ├                                ", '$(( address +      155 ))', "int8", "?", true], '>>$filename
echo -e '[false, "657 ║ ├                                ", '$(( address +      156 ))', "int8", "?", true], '>>$filename
echo -e '[false, "658 ║ ├                                ", '$(( address +      157 ))', "int8", "?", true], '>>$filename
echo -e '[false, "659 ║ ├                                ", '$(( address +      158 ))', "int8", "?", true], '>>$filename
echo -e '[false, "660 ║ ├                                ", '$(( address +      159 ))', "int8", "?", true], '>>$filename
echo -e '[false, "661 ║ ├                                ", '$(( address +      160 ))', "int8", "?", true], '>>$filename
echo -e '[false, "662 ║ ├                                ", '$(( address +      161 ))', "int8", "?", true], '>>$filename
echo -e '[false, "663 ║ ├                                ", '$(( address +      162 ))', "int8", "?", true], '>>$filename
echo -e '[false, "664 ║ ├                                ", '$(( address +      163 ))', "int8", "?", true], '>>$filename
echo -e '[false, "665 ║ ├                                ", '$(( address +      164 ))', "int8", "?", true], '>>$filename
echo -e '[false, "666 ║ ├                                ", '$(( address +      165 ))', "int8", "?", true], '>>$filename
echo -e '[false, "667 ║ ├ Fixit Kit                      ", '$(( address +      166 ))', "int8", "?", true], '>>$filename
echo -e '[false, "668 ║ ├                                ", '$(( address +      167 ))', "int8", "?", true], '>>$filename
echo -e '[false, "669 ║ ├                                ", '$(( address +      168 ))', "int8", "?", true], '>>$filename
echo -e '[false, "670 ║ ├                                ", '$(( address +      169 ))', "int8", "?", true], '>>$filename
echo -e '[false, "671 ║ ├                                ", '$(( address +      170 ))', "int8", "?", true], '>>$filename
echo -e '[false, "672 ║ ├                                ", '$(( address +      171 ))', "int8", "?", true], '>>$filename
echo -e '[false, "673 ║ ├                                ", '$(( address +      172 ))', "int8", "?", true], '>>$filename
echo -e '[false, "674 ║ ├                                ", '$(( address +      173 ))', "int8", "?", true], '>>$filename
echo -e '[false, "675 ║ ├                                ", '$(( address +      174 ))', "int8", "?", true], '>>$filename
echo -e '[false, "676 ║ ├                                ", '$(( address +      175 ))', "int8", "?", true], '>>$filename
echo -e '[false, "677 ║ ├                                ", '$(( address +      176 ))', "int8", "?", true], '>>$filename
echo -e '[false, "678 ║ ├                                ", '$(( address +      177 ))', "int8", "?", true], '>>$filename
echo -e '[false, "679 ║ ├                                ", '$(( address +      178 ))', "int8", "?", true], '>>$filename
echo -e '[false, "680 ║ ├                                ", '$(( address +      179 ))', "int8", "?", true], '>>$filename
echo -e '[false, "681 ║ ├                                ", '$(( address +      180 ))', "int8", "?", true], '>>$filename
echo -e '[false, "682 ║ ├                                ", '$(( address +      181 ))', "int8", "?", true], '>>$filename
echo -e '[false, "683 ║ ├                                ", '$(( address +      182 ))', "int8", "?", true], '>>$filename
echo -e '[false, "684 ║ ├                                ", '$(( address +      183 ))', "int8", "?", true], '>>$filename
echo -e '[false, "685 ║ ├                                ", '$(( address +      184 ))', "int8", "?", true], '>>$filename
echo -e '[false, "686 ║ ├                                ", '$(( address +      185 ))', "int8", "?", true], '>>$filename
echo -e '[false, "687 ║ ├                                ", '$(( address +      186 ))', "int8", "?", true], '>>$filename
echo -e '[false, "688 ║ ├                                ", '$(( address +      187 ))', "int8", "?", true], '>>$filename
echo -e '[false, "689 ║ ├                                ", '$(( address +      188 ))', "int8", "?", true], '>>$filename
echo -e '[false, "690 ║ ├                                ", '$(( address +      189 ))', "int8", "?", true], '>>$filename
echo -e '[false, "691 ║ ├                                ", '$(( address +      190 ))', "int8", "?", true], '>>$filename
echo -e '[false, "692 ║ ├                                ", '$(( address +      191 ))', "int8", "?", true], '>>$filename
echo -e '[false, "693 ║ ├                                ", '$(( address +      192 ))', "int8", "?", true], '>>$filename
echo -e '[false, "694 ║ ├                                ", '$(( address +      193 ))', "int8", "?", true], '>>$filename
echo -e '[false, "695 ║ ├                                ", '$(( address +      194 ))', "int8", "?", true], '>>$filename
echo -e '[false, "696 ║ ├                                ", '$(( address +      195 ))', "int8", "?", true], '>>$filename
echo -e '[false, "697 ║ ├                                ", '$(( address +      196 ))', "int8", "?", true], '>>$filename
echo -e '[false, "698 ║ ├                                ", '$(( address +      197 ))', "int8", "?", true], '>>$filename
echo -e '[false, "699 ║ ├                                ", '$(( address +      198 ))', "int8", "?", true], '>>$filename
echo -e '[false, "700 ║ ├                                ", '$(( address +      199 ))', "int8", "?", true], '>>$filename
echo -e '[false, "701 ║ ├                                ", '$(( address +      200 ))', "int8", "?", true], '>>$filename
echo -e '[false, "702 ║ ├                                ", '$(( address +      201 ))', "int8", "?", true], '>>$filename
echo -e '[false, "703 ║ ├                                ", '$(( address +      202 ))', "int8", "?", true], '>>$filename
echo -e '[false, "704 ║ ├                                ", '$(( address +      203 ))', "int8", "?", true], '>>$filename
echo -e '[false, "705 ║ ├                                ", '$(( address +      204 ))', "int8", "?", true], '>>$filename
echo -e '[false, "706 ║ ├                                ", '$(( address +      205 ))', "int8", "?", true], '>>$filename
echo -e '[false, "707 ║ ├                                ", '$(( address +      206 ))', "int8", "?", true], '>>$filename
echo -e '[false, "708 ║ ├                                ", '$(( address +      207 ))', "int8", "?", true], '>>$filename
echo -e '[false, "709 ║ ├                                ", '$(( address +      208 ))', "int8", "?", true], '>>$filename
echo -e '[false, "710 ║ ├                                ", '$(( address +      209 ))', "int8", "?", true], '>>$filename
echo -e '[false, "711 ║ ├                                ", '$(( address +      210 ))', "int8", "?", true], '>>$filename
echo -e '[false, "712 ║ ├                                ", '$(( address +      211 ))', "int8", "?", true], '>>$filename
echo -e '[false, "713 ║ ├                                ", '$(( address +      212 ))', "int8", "?", true], '>>$filename
echo -e '[false, "714 ║ ├                                ", '$(( address +      213 ))', "int8", "?", true], '>>$filename
echo -e '[false, "715 ║ ├                                ", '$(( address +      214 ))', "int8", "?", true], '>>$filename
echo -e '[false, "716 ║ ├                                ", '$(( address +      215 ))', "int8", "?", true], '>>$filename
echo -e '[false, "717 ║ ├                                ", '$(( address +      216 ))', "int8", "?", true], '>>$filename
echo -e '[false, "718 ║ ├                                ", '$(( address +      217 ))', "int8", "?", true], '>>$filename
echo -e '[false, "719 ║ ├                                ", '$(( address +      218 ))', "int8", "?", true], '>>$filename
echo -e '[false, "720 ║ ├                                ", '$(( address +      219 ))', "int8", "?", true], '>>$filename
echo -e '[false, "721 ║ ├                                ", '$(( address +      220 ))', "int8", "?", true], '>>$filename
echo -e '[false, "722 ║ ├                                ", '$(( address +      221 ))', "int8", "?", true], '>>$filename
echo -e '[false, "723 ║ ├                                ", '$(( address +      222 ))', "int8", "?", true], '>>$filename
echo -e '[false, "724 ║ ├                                ", '$(( address +      223 ))', "int8", "?", true], '>>$filename
echo -e '[false, "725 ║ ├                                ", '$(( address +      224 ))', "int8", "?", true], '>>$filename
echo -e '[false, "726 ║ ├                                ", '$(( address +      225 ))', "int8", "?", true], '>>$filename
echo -e '[false, "727 ║ ├                                ", '$(( address +      226 ))', "int8", "?", true], '>>$filename
echo -e '[false, "728 ║ ├ MK1 Engine(255)             [1]", '$(( address +      227 ))', "int8", "?", true], '>>$filename
echo -e '[false, "729 ║ ├ MK2 Engine                  [1]", '$(( address +      228 ))', "int8", "?", true], '>>$filename
echo -e '[false, "730 ║ ├ MK3 Engine                   2 ", '$(( address +      229 ))', "int8", "?", true], '>>$filename
echo -e '[false, "731 ║ ├ MK4 Engine                   2 ", '$(( address +      230 ))', "int8", "?", true], '>>$filename
echo -e '[false, "732 ║ ├ MK5 Engine                   2 ", '$(( address +      231 ))', "int8", "?", true], '>>$filename
echo -e '[false, "733 ║ ├                                ", '$(( address +      232 ))', "int8", "?", true], '>>$filename
echo -e '[false, "734 ║ ├                                ", '$(( address +      233 ))', "int8", "?", true], '>>$filename
echo -e '[false, "735 ║ ├ Missile                     [1]", '$(( address +      234 ))', "int8", "?", true], '>>$filename
echo -e '[false, "736 ║ ├ Mirvmissile                  2 ", '$(( address +      235 ))', "int8", "?", true], '>>$filename
echo -e '[false, "737 ║ ├ Suprmissile                  2 ", '$(( address +      236 ))', "int8", "?", true], '>>$filename
echo -e '[false, "738 ║ ├ Megamissile                    ", '$(( address +      237 ))', "int8", "?", true], '>>$filename
echo -e '[false, "739 ║ ├ Laser                       [0]", '$(( address +      238 ))', "int8", "?", true], '>>$filename
echo -e '[false, "740 ║ ├ X-Ray Beam                  [1]", '$(( address +      239 ))', "int8", "?", true], '>>$filename
echo -e '[false, "741 ║ ├ Mega Laser                   2 ", '$(( address +      240 ))', "int8", "?", true], '>>$filename
echo -e '[false, "742 ║ ├ Quark Beam                     ", '$(( address +      241 ))', "int8", "?", true], '>>$filename
echo -e '[false, "743 ║ ├ Grav Bolt                   [1]", '$(( address +      242 ))', "int8", "?", true], '>>$filename
echo -e '[false, "744 ║ ├ Magna Bolt                   2 ", '$(( address +      243 ))', "int8", "?", true], '>>$filename
echo -e '[false, "745 ║ ├ Phase Bolt                     ", '$(( address +      244 ))', "int8", "?", true], '>>$filename
echo -e '[false, "746 ║ ├ Death Bolt                     ", '$(( address +      245 ))', "int8", "?", true], '>>$filename
echo -e '[false, "747 ║ ├ Cannon                      [1]", '$(( address +      246 ))', "int8", "?", true], '>>$filename
echo -e '[false, "748 ║ ├ Mass Driver                 [1]", '$(( address +      247 ))', "int8", "?", true], '>>$filename
echo -e '[false, "749 ║ ├ Rail Gun                     2 ", '$(( address +      248 ))', "int8", "?", true], '>>$filename
echo -e '[false, "750 ║ ├ Rack Gun                       ", '$(( address +      249 ))', "int8", "?", true], '>>$filename
echo -e '[false, "751 ║ ├                                ", '$(( address +      250 ))', "int8", "?", true], '>>$filename
echo -e '[false, "752 ║ ├                                ", '$(( address +      251 ))', "int8", "?", true], '>>$filename
echo -e '[false, "753 ║ ├                                ", '$(( address +      252 ))', "int8", "?", true], '>>$filename
echo -e '[false, "754 ║ ├                                ", '$(( address +      253 ))', "int8", "?", true], '>>$filename
echo -e '[false, "755 ║ ├                                ", '$(( address +      254 ))', "int8", "?", true], '>>$filename
echo -e '[false, "756 ║ ├                                ", '$(( address +      255 ))', "int8", "?", true], '>>$filename
echo -e '[false, "757 ║ ├                                ", '$(( address +      256 ))', "int8", "?", true], '>>$filename
echo -e '[false, "758 ║ ├                                ", '$(( address +      257 ))', "int8", "?", true], '>>$filename
echo -e '[false, "759 ║ ├                                ", '$(( address +      258 ))', "int8", "?", true], '>>$filename
echo -e '[false, "760 ║ ├                                ", '$(( address +      259 ))', "int8", "?", true], '>>$filename



echo -ne " Ship address: scanning..\\r"                                                 # scan for EXACT copyright text (AOB) in game memory
address=$((base_address-24186))                                                         # address set to active ship (relative to base_address)
address_hex=$(printf "%x\n" "$address")                                                 # scanmem expects HEX-Adress so converting decimal to hex
sudo scanmem -p "${procid}" -e -c 'dump '"${address_hex} 1"'; exit' >cheat.tmp 2>/dev/null  #Dump ONE Byte of THOUGHT Shipname Position
    echo -e "$yl Ship address:$gn $address_hex$norm"
if [ $(awk 'NR==1' cheat.tmp | awk '{print $2}') = "00" ]; then                         # First letter of ship name should NEVER be zero.. except there is a ground mission going on OR ship has been destroyed
    echo -e "$rd Shipname invalid.$norm Skipping.."
else
    echo -e '[false, "900 ╔ AKTIVES Schiff          (max.13!)", '$(( address            ))', "string", "012345678901234", true], '>>$filename
    echo -e '[false, "901 ║ Schiffstyp           (DONT edit!)", '$(( address -       80 ))', "string", "012345678901234", true], '>>$filename
    echo -e '[false, "902 ║ Acceleration??       lower=faster", '$(( address +       22 ))', "int16", "?", true], '>>$filename
    echo -e '[false, "903 ║ WAFFEN               (DONT edit!)", '$(( address +      112 ))', "int8",  "0", true], '>>$filename
    echo -e '[false, "910 ║ Panzerung(Front)                 ", '$(( address -    21902 ))', "int16", "0", true], '>>$filename
    echo -e '[false, "911 ║ Panzerung(Rechts)                ", '$(( address -    21900 ))', "int16", "0", true], '>>$filename
    echo -e '[false, "912 ║ Panzerung(Hinten)                ", '$(( address -    21898 ))', "int16", "0", true], '>>$filename
    echo -e '[false, "913 ║ Panzerung(Links)                 ", '$(( address -    21896 ))', "int16", "0", true], '>>$filename
    echo -e '[false, "920 ║ ┌ Frachtraum                     ", '$(( address +      116 ))', "int16", "0", true], '>>$filename
    echo -e '[false, "921 ║ ├Organics                        ", '$(( address -    26522 ))', "int16", "0", true], '>>$filename
    echo -e '[false, "922 ║ ├Radioactives                    ", '$(( address -    26520 ))', "int16", "0", true], '>>$filename
    echo -e '[false, "923 ║ ├Crystals                        ", '$(( address -    26518 ))', "int16", "0", true], '>>$filename
    echo -e '[false, "924 ║ ├Heavy Metals                    ", '$(( address -    26516 ))', "int16", "0", true], '>>$filename
    echo -e '[false, "925 ║ ├Inert Gasses                    ", '$(( address -    26514 ))', "int16", "0", true], '>>$filename
    echo -e '[false, "926 ║ ├Soft Metals                     ", '$(( address -    26512 ))', "int16", "0", true], '>>$filename
    echo -e '[false, "927 ║ ├Common Liquid                   ", '$(( address -    26510 ))', "int16", "0", true], '>>$filename
    echo -e '[false, "928 ║ ├Hybrid Solids                   ", '$(( address -    26508 ))', "int16", "0", true], '>>$filename
    echo -e '[false, "929 ║ ├Alien Gasses                    ", '$(( address -    26506 ))', "int16", "0", true], '>>$filename
    echo -e '[false, "930 ║ ├Alien Metals                    ", '$(( address -    26504 ))', "int16", "0", true], '>>$filename
    echo -e '[false, "931 ║ ├Alien Isotope                   ", '$(( address -    26502 ))', "int16", "0", true], '>>$filename
    echo -e '[false, "932 ║ ├Alien Crystal                   ", '$(( address -    26500 ))', "int16", "0", true], '>>$filename
    echo -e '[false, "933 ║ ├Alien Organic                   ", '$(( address -    26498 ))', "int16", "0", true], '>>$filename
    echo -e '[false, "934 ║ ├Alien Liquids                   ", '$(( address -    26496 ))', "int16", "0", true], '>>$filename
    echo -e '[false, "935 ║ ├Rare Elements                   ", '$(( address -    26494 ))', "int16", "0", true], '>>$filename
    echo -e '[false, "936 ╙ └New Elements                    ", '$(( address -    26492 ))', "int16", "0", true], '>>$filename
fi
    echo -e '[false, "999 ╰ DUMMY                            ", '$(( 0 ))', "int16", "000000", true]'>>$filename # LAST closing stuff
echo -e ']}'>>$filename
echo
echo -e "File$vt $filename$norm written."
echo
rm cheat.tmp