[Scummvm-git-logs] scummvm master -> cca9e37388bb02c29dd1795df188b5ce2a3fe2b7

lolbot-iichan lolbot_iichan at mail.ru
Wed Jun 9 22:56:52 UTC 2021


This automated email contains information about 38 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
a9845d03f7 DEVTOOLS: Add a new tool to create achievements.dat, based on original steam_achievements.py
6e48e84e0a DEVTOOLS: Add hand-written INI-file for Testbed achievements
6cd6888f9d ACHIEVEMENTS: Add data files generated with create_achievements.sh
fb1f399f5a DISTS: Add achievements.dat to various dat file lists
cd0a225394 AGS: Remove data string from achivements_tables
53721953a2 TESTBED: Remove data string from AchivementsInfo
21b6ad9a29 TWINE: Remove data string from achivements_tables
a81d534509 WINTERMUTE: Remove data string from achivements_tables
629e5c2783 ACHIEVEMENTS: Load achivements descriptions from achievements.dat
dea2085eb2 ACHIEVEMENTS: Add API to get stats and achivements descriptions
bc595911f6 WINTERMUTE: Use AchMan to get achivements descriptions
a59108911d GUI: Use AchMan to get achievements descriptions
b1e8fa6269 ACHIEVEMENTS: Fix Testbed statistics id
f4a07756be DEVTOOLS: Add some error checking to create_achievements
a857fc7dc3 DEVTOOLS: Wrap python calls into functions
d3ec544b93 DEVTOOLS: Clean /gen/ before generating new files
92fd6a81aa DEVTOOLS: Add a TODO about 7zip for future refactorings
7bf46d4a7d DEVTOOLS: Strip date and extra parameters while packing
6d6a6d2bc6 DEVTOOLS: Refactor to fix pylint warnings
7d0a96818d GUI: Mark var as const
14037bea52 DISTS: Add VERSION to achivements.dat
fa018b4b84 ACHIEVEMENTS: Check VERSION at achievements.dat
afdca7246c DEVTOOLS: Show 'git commit' message at create_achievements
3334bce8a0 DEVTOOLS: Add options to create_achivements.sh
44f0ce5b39 DEVTOOLS: Get achievements translations lists from SteamDB
7c72956687 DEVTOOLS: Get achievements translations from steamcommunity
cc20637e2b ACHIEVEMENTS: Generated description files
5bbea037fa DEVTOOLS: Get english descriptions for hidden achievements from achievementstats.com
6ba3903a7c DEVTOOLS: Drop achievements translations if there are any hidden
c1c2da63ea ACHIEVEMENTS: Generated description files
824d0dd4e9 DEVTOOLS: Collect hidden achivements translations from my account
5cf1ea5645 DEVTOOLS: Add functions for logging and errors
59cf38877c DEVTOOLS: Add mapping to lookup exact games at exact users
2afc8a3458 ACHIEVEMENTS: Generated description files
a556ccf894 ACHIEVEMENTS: Use TransMan to decide which achievements language to use
8aa6911cca ACHIEVEMENTS: Fix codacy issues
3539e60d45 DEVTOOLS: Fix codacy issues
cca9e37388 DEVTOOLS: Fix bashisms at create_achivements


Commit: a9845d03f742a0994793d97ebc82469bc573ab71
    https://github.com/scummvm/scummvm/commit/a9845d03f742a0994793d97ebc82469bc573ab71
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
DEVTOOLS: Add a new tool to create achievements.dat, based on original steam_achievements.py

Changed paths:
  A devtools/create_achievements/create_achievements.sh
  A devtools/create_achievements/steam_achievements.py
  R devtools/steam_achievements.py


diff --git a/devtools/create_achievements/create_achievements.sh b/devtools/create_achievements/create_achievements.sh
new file mode 100644
index 0000000000..27fd4c8fc7
--- /dev/null
+++ b/devtools/create_achievements/create_achievements.sh
@@ -0,0 +1,87 @@
+#!/bin/sh
+
+#AGS games:
+python steam_achievements.py -v --steamid 80310
+python steam_achievements.py -v --steamid 80330
+python steam_achievements.py -v --steamid 80340
+python steam_achievements.py -v --steamid 80350
+python steam_achievements.py -v --steamid 80360
+python steam_achievements.py -v --steamid 212050
+python steam_achievements.py -v --steamid 227000
+python steam_achievements.py -v --steamid 236930
+python steam_achievements.py -v --steamid 252370
+python steam_achievements.py -v --steamid 253110
+python steam_achievements.py -v --steamid 264560
+python steam_achievements.py -v --steamid 270610
+python steam_achievements.py -v --steamid 270610 --saveasgalaxyid 1469845437
+python steam_achievements.py -v --steamid 279260
+python steam_achievements.py -v --steamid 283180
+python steam_achievements.py -v --steamid 283880
+python steam_achievements.py -v --steamid 288930
+python steam_achievements.py -v --steamid 296850
+python steam_achievements.py -v --steamid 302690
+python steam_achievements.py -v --steamid 307570
+python steam_achievements.py -v --steamid 307580
+python steam_achievements.py -v --steamid 336130
+python steam_achievements.py -v --steamid 336140
+python steam_achievements.py -v --steamid 338420
+python steam_achievements.py -v --steamid 357490
+python steam_achievements.py -v --steamid 364350
+python steam_achievements.py -v --steamid 364390
+python steam_achievements.py -v --steamid 367110
+python steam_achievements.py -v --steamid 370910
+python steam_achievements.py -v --steamid 370910 --saveasgalaxyid 1460710709
+python steam_achievements.py -v --steamid 396090
+python steam_achievements.py -v --steamid 420180
+python steam_achievements.py -v --steamid 425600
+python steam_achievements.py -v --steamid 425600 --saveasgalaxyid 1444830704
+python steam_achievements.py -v --steamid 439310
+python steam_achievements.py -v --steamid 468530
+python steam_achievements.py -v --steamid 509920
+python steam_achievements.py -v --steamid 551840
+python steam_achievements.py -v --steamid 556060
+python steam_achievements.py -v --steamid 556060 --saveasgalaxyid 1745746005
+python steam_achievements.py -v --steamid 561770
+python steam_achievements.py -v --steamid 595560
+python steam_achievements.py -v --steamid 603870
+python steam_achievements.py -v --steamid 610900
+python steam_achievements.py -v --steamid 631570
+python steam_achievements.py -v --steamid 631570 --saveasgalaxyid 1845001352
+python steam_achievements.py -v --steamid 654550
+python steam_achievements.py -v --steamid 673850
+python steam_achievements.py -v --steamid 761460
+python steam_achievements.py -v --steamid 782280
+python steam_achievements.py -v --steamid 872750
+python steam_achievements.py -v --steamid 872750 --saveasgalaxyid 1455980545
+python steam_achievements.py -v --steamid 904750
+python steam_achievements.py -v --steamid 1028740
+python steam_achievements.py -v --steamid 1133950
+python steam_achievements.py -v --steamid 1142230
+python steam_achievements.py -v --steamid 1147030
+python steam_achievements.py -v --steamid 1181570
+python steam_achievements.py -v --steamid 1220930
+python steam_achievements.py -v --steamid 1251910
+python steam_achievements.py -v --steamid 1270590
+
+#TWINE games:
+python steam_achievements.py -v --steamid 397330
+
+#WME games:
+python steam_achievements.py -v --steamid 257690
+python steam_achievements.py -v --steamid 257690 --saveasgalaxyid 1457085654
+python steam_achievements.py -v --steamid 270570
+python steam_achievements.py -v --steamid 281060
+python steam_achievements.py -v --steamid 281080
+python steam_achievements.py -v --steamid 286320
+python steam_achievements.py -v --steamid 286360
+python steam_achievements.py -v --steamid 378630
+python steam_achievements.py -v --steamid 291710
+python steam_achievements.py -v --steamid 337130
+python steam_achievements.py -v --steamid 340370
+python steam_achievements.py -v --steamid 349140
+python steam_achievements.py -v --steamid 405780
+python steam_achievements.py -v --steamid 574420
+python steam_achievements.py -v --steamid 1064660
+
+zip -9j achievements.dat gen/* static/*
+mv -vf achievements.dat ../../dists/engine-data
\ No newline at end of file
diff --git a/devtools/create_achievements/steam_achievements.py b/devtools/create_achievements/steam_achievements.py
new file mode 100644
index 0000000000..89a46b4597
--- /dev/null
+++ b/devtools/create_achievements/steam_achievements.py
@@ -0,0 +1,99 @@
+#!/usr/bin/env python3
+
+# This script takes two parameters
+#   - the first is the Steam game id, 
+#   - the second (optional) is the GOG Galaxy game id.
+#
+# Example:
+#   ./steam_achievements.py --steamid 631570 [--galaxyid 1845001352]
+#
+# It will extract the Steam stats information to create the ScummVM ini-files for achievements.dat file
+# For GOG versions of the games we assume that they are using same achievements as Steam versions
+
+import os
+import sys
+import codecs
+import argparse
+import requests
+from requests_html import HTMLSession
+
+parser = argparse.ArgumentParser()
+parser.add_argument("--steamid", required=True, default="631570", type=int, help="The Steam game id")
+parser.add_argument("--saveasgalaxyid", type=int, help="The GOG Galaxy game id")
+parser.add_argument("-v", "--verbose", action="store_true")
+args = parser.parse_args()
+
+statsurl = "https://steamdb.info/app/{0}/stats/".format(args.steamid)
+if args.verbose:
+	sys.stderr.write("query {0}\n".format(statsurl))
+
+try:
+	session = HTMLSession()
+	response = session.get(statsurl)
+	game = response.html.xpath("//h1[@itemprop='name']/text()")
+
+	achievements_rows = response.html.xpath("//tr[starts-with(@id, 'achievement-')]/td")
+	achievements_columns = 3 # id, text, img
+	achievements_entries = int(len(achievements_rows) / achievements_columns)
+	if achievements_entries == 0:
+		sys.exit(127)
+
+	if args.verbose:
+		sys.stderr.write("found {0} achievements\n".format(achievements_entries))
+
+	stats_rows = response.html.xpath("//tr[starts-with(@id, 'stat-')]/td")
+	stats_columns = 3 # id, text, default value, your value
+	stats_entries = int(len(stats_rows) / stats_columns)
+
+	if args.verbose:
+		sys.stderr.write("found {0} stats\n".format(stats_entries))
+
+	stats_en = {}
+	for i in range(stats_entries):
+		idx   = stats_columns * i
+		id    = stats_rows[idx + 0].text.strip()
+		descr = stats_rows[idx + 1].text.strip()
+		start = stats_rows[idx + 2].text.strip()
+		if descr == "no name":
+			descr = ""
+		stats_en[i] = (id, descr, start)
+
+	achievements_en = {}
+	for i in range(achievements_entries):
+		idx   = achievements_columns * i
+		id    = achievements_rows[idx + 0].text.strip()
+		title = achievements_rows[idx + 1].text.strip().split("\n")[0]
+		descr = achievements_rows[idx + 1].text.strip().split("\n")[1]
+		hide  = descr == "Hidden."
+		if descr in ["No description.", "Hidden."]:
+			descr = ""
+		achievements_en[i] = (id, title, descr, hide)
+
+	if args.saveasgalaxyid:
+		fname = "galaxy-{0}.ini".format(args.saveasgalaxyid)
+	else:
+		fname = "steam-{0}.ini".format(args.steamid)
+	fname = "gen" + os.sep + fname
+
+	if args.verbose:
+		sys.stderr.write("writing: {0}\n".format(fname))
+	with codecs.open(fname, "w", encoding="utf-8") as out:
+		if stats_en:
+			out.write("[stats:en]\n")
+			for i, (id, descr, start) in stats_en.items():
+				out.write("item_%d_id=%s\n" % (i, id))
+				if descr:
+					out.write("item_%d_comment=%s\n" % (i, descr))
+				out.write("item_%d_start=%s\n" % (i, start))
+		if achievements_en:
+			out.write("[achievements:en]\n")
+			for i, (id, title, descr, hide) in achievements_en.items():
+				out.write("item_%d_id=%s\n" % (i, id))
+				out.write("item_%d_title=%s\n" % (i, title))
+				if descr:
+					out.write("item_%d_comment=%s\n" % (i, descr))
+				if hide:
+					out.write("item_%d_hidden=true\n" % i)
+
+except requests.exceptions.RequestException as e:
+	print(e)
diff --git a/devtools/steam_achievements.py b/devtools/steam_achievements.py
deleted file mode 100755
index 20ab07ed7c..0000000000
--- a/devtools/steam_achievements.py
+++ /dev/null
@@ -1,89 +0,0 @@
-#!/usr/bin/env python3
-
-# This script takes two parameters - the first is the steam game id, the second (optional) is the scummvm
-# game id. E.g.
-#
-# ./steam_achivements.py 212050 resonance
-#
-# It will extract the steam stats information to create the scummvm achievement tables with the macros found
-# in AGS achievements_table.h
-
-import requests
-import argparse
-from requests_html import HTMLSession
-import sys
-
-parser = argparse.ArgumentParser()
-parser.add_argument('--steamid', required=True, default='212050', type=int, help="The steam game id")
-parser.add_argument('--gameid', help="The scummvm game id string")
-parser.add_argument('-v', '--verbose', action='store_true')
-args = parser.parse_args()
-
-statsurl = "https://steamdb.info/app/{0}/stats/".format(args.steamid)
-if args.verbose:
-	sys.stderr.write('query {0}\n'.format(statsurl))
-
-def cleanup_text(text):
-	text = text.encode(encoding="ascii", errors="backslashreplace").decode()
-	text = text.replace('"','\\"')
-	return text
-
-try:
-	session = HTMLSession()
-	response = session.get(statsurl)
-	game = response.html.xpath("//h1[@itemprop='name']/text()")
-
-	achievements_rows = response.html.xpath("//tr[starts-with(@id, 'achievement-')]/td")
-	achievements_columns = 3 # id, text, img
-	achievements_entries = int(len(achievements_rows) / achievements_columns)
-	if achievements_entries == 0:
-		sys.exit(127)
-
-	if args.verbose:
-		sys.stderr.write('found {0} achievements\n'.format(achievements_entries))
-
-	stats_rows = response.html.xpath("//tr[starts-with(@id, 'stat-')]/td")
-	stats_columns = 3 # id, text, default value, your value
-	stats_entries = int(len(stats_rows) / stats_columns)
-
-	if args.verbose:
-		sys.stderr.write('found {0} stats\n'.format(stats_entries))
-
-	scummvm_game_id = args.gameid
-	if not scummvm_game_id:
-		scummvm_game_id = game[0].lower().replace(' ', '').replace('-', '')
-		if args.verbose:
-			sys.stderr.write('missing scummvm game id - assuming {0}\n'.format(scummvm_game_id))
-
-	print("\t{\n\t\t\"%s\",\n\t\tCommon::STEAM_ACHIEVEMENTS,\n\t\t\"%s\"," % (scummvm_game_id, args.steamid))
-	if stats_entries:
-		print("\t\t{")
-		for i in range(stats_entries):
-			idx       = stats_columns * i
-			stat_id    = stats_rows[idx + 0].text.strip()
-			stat_desc  = stats_rows[idx + 1].text.strip()
-			stat_default = stats_rows[idx + 2].text.strip()
-			if  stat_desc == "no name":
-				print("\t\t\tSTATS_NODESC_ENTRY(\"%s\", \"%s\")," % (stat_id, stat_default))
-			else:
-				print("\t\t\tSTATS_SIMPLE_ENTRY(\"%s\", \"%s\", \"%s\")," % (stat_id, stat_desc, stat_default))
-		print("\t\t\tSTATS_LISTEND\n\t\t},")
-	else:
-		print("\t\tNOSTATS,")
-	print("\t\t{")
-	for i in range(achievements_entries):
-		idx       = achievements_columns * i
-		ach_id    = achievements_rows[idx + 0].text.strip()
-		ach_text  = achievements_rows[idx + 1].text.strip()
-		ach_title = cleanup_text(ach_text.split('\n')[0])
-		ach_desc  = cleanup_text(ach_text.split('\n')[1])
-		if ach_desc == "Hidden.":
-			print("\t\t\tACHIEVEMENT_HIDDEN_ENTRY(\"%s\", \"%s\")," % (ach_id, ach_title))
-		elif ach_desc == "No description.":
-			print("\t\t\tACHIEVEMENT_NODESC_ENTRY(\"%s\", \"%s\")," % (ach_id, ach_title))
-		else:
-			print("\t\t\tACHIEVEMENT_SIMPLE_ENTRY(\"%s\", \"%s\", \"%s\")," % (ach_id, ach_title, ach_desc))
-
-	print("\t\t\tACHIEVEMENTS_LISTEND\n\t\t}\n\t},")
-except requests.exceptions.RequestException as e:
-	print(e)


Commit: 6e48e84e0aaefbc3a1d02e70d7ccfe9486aa202b
    https://github.com/scummvm/scummvm/commit/6e48e84e0aaefbc3a1d02e70d7ccfe9486aa202b
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
DEVTOOLS: Add hand-written INI-file for Testbed achievements

Changed paths:
  A devtools/create_achievements/static/achman-testbed.ini


diff --git a/devtools/create_achievements/static/achman-testbed.ini b/devtools/create_achievements/static/achman-testbed.ini
new file mode 100644
index 0000000000..df6d6923b4
--- /dev/null
+++ b/devtools/create_achievements/static/achman-testbed.ini
@@ -0,0 +1,32 @@
+[stats:en]
+item_0_id=EVERYTHINGWORKS
+item_0_comment=Number of tests run
+item_0_start=0
+[achievements:en]
+item_0_id=EVERYTHINGWORKS
+item_0_title=Everything works!
+item_0_hidden=true
+item_1_id=Cloud
+item_1_title=CloudMan, Storage API tests
+item_2_id=Events
+item_2_title=Events : Keyboard/Mouse/Return to Launcher
+item_3_id=FS
+item_3_title=File system tests (Navigation, Read/Write)
+item_4_id=GFX
+item_4_title=Graphics Subsystem
+item_5_id=MIDI
+item_5_title=Midi Music
+item_6_id=Misc
+item_6_title=Miscellaneous: Timers/Mutexes/Datetime/openUrl
+item_7_id=Networking
+item_7_title=Network and internet subsystems
+item_8_id=SaveGames
+item_8_title=Saving Game state tests
+item_9_id=SoundSubsystem
+item_9_title=Sound Subsystem
+item_10_id=Speech
+item_10_title=Speech Subsystem
+item_11_id=Dummy Template
+item_11_title=Some Arbit description
+item_12_id=Webserver
+item_12_title=Webserver tests


Commit: 6cd6888f9d9efad21e9782fa72d303cee374979f
    https://github.com/scummvm/scummvm/commit/6cd6888f9d9efad21e9782fa72d303cee374979f
Author: lolbot-iichan (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
ACHIEVEMENTS: Add data files generated with create_achievements.sh

Changed paths:
  A devtools/create_achievements/gen/galaxy-1444830704.ini
  A devtools/create_achievements/gen/galaxy-1455980545.ini
  A devtools/create_achievements/gen/galaxy-1457085654.ini
  A devtools/create_achievements/gen/galaxy-1460710709.ini
  A devtools/create_achievements/gen/galaxy-1469845437.ini
  A devtools/create_achievements/gen/galaxy-1745746005.ini
  A devtools/create_achievements/gen/galaxy-1845001352.ini
  A devtools/create_achievements/gen/steam-1028740.ini
  A devtools/create_achievements/gen/steam-1064660.ini
  A devtools/create_achievements/gen/steam-1133950.ini
  A devtools/create_achievements/gen/steam-1142230.ini
  A devtools/create_achievements/gen/steam-1147030.ini
  A devtools/create_achievements/gen/steam-1181570.ini
  A devtools/create_achievements/gen/steam-1220930.ini
  A devtools/create_achievements/gen/steam-1251910.ini
  A devtools/create_achievements/gen/steam-1270590.ini
  A devtools/create_achievements/gen/steam-212050.ini
  A devtools/create_achievements/gen/steam-227000.ini
  A devtools/create_achievements/gen/steam-236930.ini
  A devtools/create_achievements/gen/steam-252370.ini
  A devtools/create_achievements/gen/steam-253110.ini
  A devtools/create_achievements/gen/steam-257690.ini
  A devtools/create_achievements/gen/steam-264560.ini
  A devtools/create_achievements/gen/steam-270570.ini
  A devtools/create_achievements/gen/steam-270610.ini
  A devtools/create_achievements/gen/steam-279260.ini
  A devtools/create_achievements/gen/steam-281060.ini
  A devtools/create_achievements/gen/steam-281080.ini
  A devtools/create_achievements/gen/steam-283180.ini
  A devtools/create_achievements/gen/steam-283880.ini
  A devtools/create_achievements/gen/steam-286320.ini
  A devtools/create_achievements/gen/steam-286360.ini
  A devtools/create_achievements/gen/steam-288930.ini
  A devtools/create_achievements/gen/steam-291710.ini
  A devtools/create_achievements/gen/steam-296850.ini
  A devtools/create_achievements/gen/steam-302690.ini
  A devtools/create_achievements/gen/steam-307570.ini
  A devtools/create_achievements/gen/steam-307580.ini
  A devtools/create_achievements/gen/steam-336130.ini
  A devtools/create_achievements/gen/steam-336140.ini
  A devtools/create_achievements/gen/steam-337130.ini
  A devtools/create_achievements/gen/steam-338420.ini
  A devtools/create_achievements/gen/steam-340370.ini
  A devtools/create_achievements/gen/steam-349140.ini
  A devtools/create_achievements/gen/steam-357490.ini
  A devtools/create_achievements/gen/steam-364350.ini
  A devtools/create_achievements/gen/steam-364390.ini
  A devtools/create_achievements/gen/steam-367110.ini
  A devtools/create_achievements/gen/steam-370910.ini
  A devtools/create_achievements/gen/steam-378630.ini
  A devtools/create_achievements/gen/steam-396090.ini
  A devtools/create_achievements/gen/steam-397330.ini
  A devtools/create_achievements/gen/steam-405780.ini
  A devtools/create_achievements/gen/steam-420180.ini
  A devtools/create_achievements/gen/steam-425600.ini
  A devtools/create_achievements/gen/steam-439310.ini
  A devtools/create_achievements/gen/steam-468530.ini
  A devtools/create_achievements/gen/steam-509920.ini
  A devtools/create_achievements/gen/steam-551840.ini
  A devtools/create_achievements/gen/steam-556060.ini
  A devtools/create_achievements/gen/steam-561770.ini
  A devtools/create_achievements/gen/steam-574420.ini
  A devtools/create_achievements/gen/steam-595560.ini
  A devtools/create_achievements/gen/steam-603870.ini
  A devtools/create_achievements/gen/steam-610900.ini
  A devtools/create_achievements/gen/steam-631570.ini
  A devtools/create_achievements/gen/steam-654550.ini
  A devtools/create_achievements/gen/steam-673850.ini
  A devtools/create_achievements/gen/steam-761460.ini
  A devtools/create_achievements/gen/steam-782280.ini
  A devtools/create_achievements/gen/steam-80310.ini
  A devtools/create_achievements/gen/steam-80330.ini
  A devtools/create_achievements/gen/steam-80340.ini
  A devtools/create_achievements/gen/steam-80350.ini
  A devtools/create_achievements/gen/steam-80360.ini
  A devtools/create_achievements/gen/steam-872750.ini
  A devtools/create_achievements/gen/steam-904750.ini
  A dists/engine-data/achievements.dat


diff --git a/devtools/create_achievements/gen/galaxy-1444830704.ini b/devtools/create_achievements/gen/galaxy-1444830704.ini
new file mode 100644
index 0000000000..fd7b7f5d24
--- /dev/null
+++ b/devtools/create_achievements/gen/galaxy-1444830704.ini
@@ -0,0 +1,40 @@
+[achievements:en]
+item_0_id=tkc_TwoGirls
+item_0_title=He is Gnomor'
+item_0_comment=The girls, Snow and Red, tried to save the gnome but alas, they failed.
+item_1_id=tkc_HighPriest
+item_1_title=High Priest
+item_1_comment=The high priest hightailed it out of the Faerie Realm.
+item_2_id=tkc_Knight
+item_2_title=A Knight to Remember
+item_2_comment=You've discovered Sir Gauen searching the swamp.
+item_3_id=tkc_Chucker
+item_3_title=Chucked It In
+item_3_comment=Chucker has given up on his search for the Queen.
+item_4_id=tkc_Faolan
+item_4_title=Faolan's Story
+item_4_comment=You now know the full story behind Faolan's defeat of Lord Sinister.
+item_5_id=tkc_Musical
+item_5_title=Musical Genius
+item_5_comment=You've learned and played every song on hard mode.
+item_6_id=tkc_Honorable
+item_6_title=Honors Student
+item_6_comment=You've read every memorial stone on the Isle of the Honored.
+item_7_id=tkc_PerfectMatch
+item_7_title=Perfect Match
+item_7_comment=You brought Glenda and Ted together. True love.
+item_8_id=tkc_Troll
+item_8_title=Paid the Troll Toll
+item_8_comment=Always pay off a troll with a treasure chest of gold!
+item_9_id=tkc_Berry
+item_9_title=Drops of Juniper
+item_9_comment=You found a way past the angry tree and got yourself some Firienne berries.
+item_10_id=tkc_Swamped
+item_10_title=Swamped
+item_10_comment=You've navigated the treacherous swamp and retrieved the pixies harp.
+item_11_id=tkc_Seer
+item_11_title=Seered to Perfection
+item_11_comment=The Seer has revealed her secrets to you thanks to your unusual solution.
+item_12_id=tkc_Hello
+item_12_title=A Worthy Challenger
+item_12_comment=You rescued the Queen and cast the spell in the final confrontation.
diff --git a/devtools/create_achievements/gen/galaxy-1455980545.ini b/devtools/create_achievements/gen/galaxy-1455980545.ini
new file mode 100644
index 0000000000..66e75adf5c
--- /dev/null
+++ b/devtools/create_achievements/gen/galaxy-1455980545.ini
@@ -0,0 +1,61 @@
+[achievements:en]
+item_0_id=ACH_KICKED_OUT
+item_0_title=Airborne
+item_0_comment=Get kicked out of the Castle
+item_1_id=ACH_FROG_KISS
+item_1_title=Pucker Up
+item_1_comment=Girtrude finds a new friend
+item_2_id=ACH_GIVE_COIN
+item_2_title=Assassin's Greed
+item_2_hidden=true
+item_3_id=ACH_GET_DRESSED
+item_3_title=Suited And Booted
+item_3_comment=Find a quiet place to get dressed
+item_4_id=ACH_ACT_ONE
+item_4_title=Royal Blood
+item_4_comment=Deliver the news to King Theodore
+item_5_id=ACH_GET_BOOK
+item_5_title=Wicked Words
+item_5_comment=A book bound with flesh
+item_6_id=ACH_TRANS_BOOK
+item_6_title=Speak In Tongues
+item_6_comment=Translate the creepy book
+item_7_id=ACH_GET_PHOTO
+item_7_title=Photo Op
+item_7_comment=Successfully snap a photo
+item_8_id=ACH_GET_DLC
+item_8_title=Papers, Please
+item_8_comment=Get the Wildlands DLC
+item_9_id=ACH_BREAK_CATAPULT
+item_9_title=Mind The Gap
+item_9_comment=Fail to make it across the Elder Scar
+item_10_id=ACH_KILL_SPIDER
+item_10_title=Two Birds
+item_10_comment=Deal with the Spider
+item_11_id=ACH_RETURN_PAINT
+item_11_title=Special Delivery
+item_11_hidden=true
+item_12_id=ACH_LANDING_SPOT
+item_12_title=New Lands
+item_12_comment=Venture North, beyond the Scar
+item_13_id=ACH_BURIAL_DOOR
+item_13_title=Open Sesame
+item_13_comment=Find a way to open the door
+item_14_id=ACH_ACT_THREE
+item_14_title=Guardian Duty
+item_14_hidden=true
+item_15_id=ACH_CUT_ARM
+item_15_title=Armed And Dangerous
+item_15_comment=Insult to injury
+item_16_id=ACH_NEW_HAVEN
+item_16_title=Against All Odds
+item_16_comment=Never give up
+item_17_id=ACH_VOID_OF_SPACE
+item_17_title=???
+item_17_comment=Something amiss
+item_18_id=ACH_MEET_TONDBERT
+item_18_title=Two Of A Kind
+item_18_hidden=true
+item_19_id=ACH_KILL_MAGE
+item_19_title=Turn Up The Heat
+item_19_hidden=true
diff --git a/devtools/create_achievements/gen/galaxy-1457085654.ini b/devtools/create_achievements/gen/galaxy-1457085654.ini
new file mode 100644
index 0000000000..ec6115a874
--- /dev/null
+++ b/devtools/create_achievements/gen/galaxy-1457085654.ini
@@ -0,0 +1,121 @@
+[achievements:en]
+item_0_id=ACHI_LAND
+item_0_title=Good morning Xenophon!
+item_0_comment=You've managed to land on a planet.
+item_1_id=ACHI_MIND
+item_1_title=Observant player
+item_1_comment=You've obtained your first Mind'o'Matic.
+item_2_id=ACHI_JUNGLE
+item_2_title=Explorer
+item_2_hidden=true
+item_3_id=ACHI_HACKER
+item_3_title=Hacker
+item_3_comment=You have hacked into all datapads.
+item_4_id=ACHI_MEMORY
+item_4_title=Sweet memories
+item_4_comment=You have recovered some of J.U.L.I.A.'s erased memory clusters.
+item_5_id=ACHI_TRAVEL
+item_5_title=Traveller
+item_5_comment=You have visited all the planets.
+item_6_id=ACHI_LUDITE
+item_6_title=Luddite
+item_6_hidden=true
+item_7_id=ACHI_SCIENTIST
+item_7_title=Real scientist
+item_7_comment=You've analyzed every single object in the game.
+item_8_id=ACHI_PLAT1
+item_8_title=Pacifist
+item_8_hidden=true
+item_9_id=ACHI_PLAT2
+item_9_title=Science over all
+item_9_hidden=true
+item_10_id=ACHI_PLAT3
+item_10_title=Apathy
+item_10_hidden=true
+item_11_id=ACHI_FIRST
+item_11_title=First contact
+item_11_comment=You encountered your first sentient extraterrestrial being.
+item_12_id=ACHI_UPGRADE
+item_12_title=Constructor Jr.
+item_12_comment=You built your first upgrade.
+item_13_id=ACHI_MEGABOT
+item_13_title=Megabot
+item_13_comment=You've fully upgraded Mobot.
+item_14_id=ACHI_REPAIR
+item_14_title=Plumber
+item_14_comment=You repaired the probe. The result is that you won't probably die.
+item_15_id=ACHI_XIR1
+item_15_title=Deadly Xir
+item_15_hidden=true
+item_16_id=ACHI_XIR2
+item_16_title=Xir Destroyer
+item_16_hidden=true
+item_17_id=ACHI_XIR3
+item_17_title=Xir the Invincible
+item_17_hidden=true
+item_18_id=ACHI_XIR4
+item_18_title=Jaeger
+item_18_hidden=true
+item_19_id=ACHI_SCHI
+item_19_title=Dreamer
+item_19_hidden=true
+item_20_id=ACHI_NIBIRU
+item_20_title=Artificial planet
+item_20_hidden=true
+item_21_id=ACHI_FULLMIND
+item_21_title=Great mind
+item_21_comment=You solved all Mind'o'Matics.
+item_22_id=ACHI_COMPL
+item_22_title=Completist
+item_22_comment=You have completed everything, the game had to offer.
+item_23_id=ACHI_END1
+item_23_title=Homesick
+item_23_hidden=true
+item_24_id=ACHI_END2
+item_24_title=Adventurous
+item_24_hidden=true
+item_25_id=ACHI_TRAPPER
+item_25_title=Trapper
+item_25_hidden=true
+item_26_id=ACHI_DECRYPT
+item_26_title=Cryptoanalyst
+item_26_hidden=true
+item_27_id=ACHI_CREDITS
+item_27_title=Voyeur
+item_27_hidden=true
+item_28_id=ACHI_SCAN
+item_28_title=Methodical
+item_28_comment=You scanned all the planets.
+item_29_id=ACHI_CORDES
+item_29_title=Unexpected visitor
+item_29_hidden=true
+item_30_id=ACHI_UNT_START
+item_30_title=Untold: Hungry for more?
+item_30_hidden=true
+item_31_id=ACHI_UNT_BLUE
+item_31_title=Untold: Blue solved
+item_31_hidden=true
+item_32_id=ACHI_UNT_RED
+item_32_title=Untold: Red solved
+item_32_hidden=true
+item_33_id=ACHI_UNT_PURPLE
+item_33_title=Untold: Purple solved
+item_33_hidden=true
+item_34_id=ACHI_UNT_GREEN
+item_34_title=Untold: Green solved
+item_34_hidden=true
+item_35_id=ACHI_UNT_YELLOW
+item_35_title=Untold: Yellow solved
+item_35_hidden=true
+item_36_id=ACHI_UNT_WIRELESS
+item_36_title=Untold: Go wireless
+item_36_hidden=true
+item_37_id=ACHI_UNT_BLINDER
+item_37_title=Untold: Blinder
+item_37_hidden=true
+item_38_id=ACHI_UNT_AMPLIFIER
+item_38_title=Untold: Amplifier
+item_38_hidden=true
+item_39_id=ACHI_UNT_FINISHED
+item_39_title=Untold: You know the story
+item_39_hidden=true
diff --git a/devtools/create_achievements/gen/galaxy-1460710709.ini b/devtools/create_achievements/gen/galaxy-1460710709.ini
new file mode 100644
index 0000000000..c80839fec8
--- /dev/null
+++ b/devtools/create_achievements/gen/galaxy-1460710709.ini
@@ -0,0 +1,61 @@
+[achievements:en]
+item_0_id=FinishDayOne
+item_0_title=Get on the Katmobile
+item_0_comment=Finished day one
+item_1_id=FinishDayTwo
+item_1_title=Wow, they're hypnotic...
+item_1_comment=Finished day two
+item_2_id=FinishDayThree
+item_2_title=We've met before, haven't we?
+item_2_comment=Finished day three
+item_3_id=FinishDayFour
+item_3_title=Down the rabbit hole
+item_3_comment=Finished day four
+item_4_id=FinishGame
+item_4_title=Been there, done that
+item_4_comment=Finished the game
+item_5_id=Procrastinator
+item_5_title=Procrastinator
+item_5_hidden=true
+item_6_id=EnjoyingTheScenery
+item_6_title=Enjoying the scenery
+item_6_hidden=true
+item_7_id=Hotwheels
+item_7_title=Hotwheels
+item_7_hidden=true
+item_8_id=Aww
+item_8_title=Aaw!
+item_8_hidden=true
+item_9_id=Undateable
+item_9_title=Undateable
+item_9_hidden=true
+item_10_id=MrBear
+item_10_title=Mr. Bear, reporting for duty!
+item_10_hidden=true
+item_11_id=Nocturnal
+item_11_title=Nocturnal
+item_11_hidden=true
+item_12_id=HowYouDoing
+item_12_title=How YOU doing?
+item_12_hidden=true
+item_13_id=RestingScowlyFace
+item_13_title=Resting scowly face
+item_13_hidden=true
+item_14_id=Pyromaniac
+item_14_title=Pyromaniac
+item_14_hidden=true
+item_15_id=PassiveSmoking
+item_15_title=Passive smoking
+item_15_hidden=true
+item_16_id=FilmBuff
+item_16_title=Film buff
+item_16_hidden=true
+item_17_id=Heretic
+item_17_title=Heretic
+item_17_hidden=true
+item_18_id=TriggerHappy
+item_18_title=Trigger happy
+item_18_hidden=true
+item_19_id=HookedOnCorleys
+item_19_title=Hooked on Corleys
+item_19_hidden=true
diff --git a/devtools/create_achievements/gen/galaxy-1469845437.ini b/devtools/create_achievements/gen/galaxy-1469845437.ini
new file mode 100644
index 0000000000..82bb6ab522
--- /dev/null
+++ b/devtools/create_achievements/gen/galaxy-1469845437.ini
@@ -0,0 +1,185 @@
+[stats:en]
+item_0_id=DEFEATED_BACKERS
+item_0_comment=Defeated Backers
+item_0_start=0
+item_1_id=HOW_MANY_DRINKS
+item_1_comment=How Many Drinks
+item_1_start=0
+item_2_id=MUSHROOM_COUNT
+item_2_comment=Mushroom Count
+item_2_start=0
+item_3_id=ENEMY_TYPES_KILLED
+item_3_comment=Enemy Types Killed
+item_3_start=0
+item_4_id=KILL_COUNT
+item_4_comment=Kill Count
+item_4_start=0
+item_5_id=WAFE_FIRE_POINTS
+item_5_comment=WAFE Fire Points
+item_5_start=0
+item_6_id=WAFE_AIR_POINTS
+item_6_comment=WAFE Air Points
+item_6_start=0
+item_7_id=WAFE_WATER_POINTS
+item_7_comment=WAFE Water Points
+item_7_start=0
+item_8_id=WAFE_EARTH_POINTS
+item_8_comment=WAFE Earth Points
+item_8_start=0
+item_9_id=ELEPORTED_LOCATIONS
+item_9_comment=Ele'ported Locations
+item_9_start=0
+item_10_id=READ_COUNT
+item_10_comment=Read Count
+item_10_start=0
+item_11_id=HOW_MANY_CLASSES
+item_11_comment=How Many Classes
+item_11_start=0
+item_12_id=HOW_MANY_SIDEQUESTS
+item_12_comment=How Many Sidequests
+item_12_start=0
+item_13_id=TEAR_GEMS_COLLECTED
+item_13_comment=Tear Gems Collected
+item_13_start=0
+item_14_id=KILL_COUNT50
+item_14_comment=Kill Count
+item_14_start=0
+item_15_id=KILL_COUNT100
+item_15_comment=Kill Count
+item_15_start=0
+item_16_id=KILL_COUNT500
+item_16_comment=Kill Count
+item_16_start=0
+[achievements:en]
+item_0_id=DABBLING
+item_0_title=Dabbling
+item_0_comment=Earn your first spells from the Sphere of Knowledge.
+item_1_id=BACK_OFF_BACKERS
+item_1_title=Back Off Backers
+item_1_comment=Beat both Mage sparring partners.
+item_2_id=YOU_KNOW_YOUR_LIQUOR
+item_2_title=You Know Your Liquor
+item_2_comment=Acquire one of each drink type at the tavern.
+item_3_id=WHAT_RIVER_CARD
+item_3_title=What River Card?
+item_3_comment=Win a hand of Demon's Deal.
+item_4_id=CARD_SHARK
+item_4_title=Card Shark
+item_4_comment=Win the maximum number of Demon's Deal rounds.
+item_5_id=LOVE_THOSE_SHROOMS
+item_5_title=Love Those 'Shrooms
+item_5_comment=Pick all mushroom clusters in the forest.
+item_6_id=MERCY_TRUMPS_MURDER
+item_6_title=Mercy Trumps Murder
+item_6_comment=Spare a tainted life.
+item_7_id=YOURE_NO_MARMON
+item_7_title=You're No Marmon
+item_7_comment=Complete the first trial.
+item_8_id=BACK_FOR_MORE
+item_8_title=Back For More
+item_8_comment=Earn your second spells from the Sphere of Knowledge.
+item_9_id=I_GET_AROUND
+item_9_title=I Get Around
+item_9_comment=Ele'port to each pillar stone location.
+item_10_id=GHOST_STORY
+item_10_title=Ghost Story
+item_10_comment=Optimally complete the Fire side quest.
+item_11_id=THE_HEIST
+item_11_title=The Heist
+item_11_comment=Optimally complete the Water side quest.
+item_12_id=GREEN_FIEND
+item_12_title=Green Fiend
+item_12_comment=Optimally complete the Earth side quest.
+item_13_id=THE_AIR_UP_THERE
+item_13_title=The Air Up There
+item_13_comment=Optimally complete the Air side quest.
+item_14_id=NO_STONE_UNTURNED
+item_14_title=No Stone Unturned
+item_14_comment=Complete all class-based side quests with optimal outcomes.
+item_15_id=HONORABLE
+item_15_title=Honorable
+item_15_comment=Return a borrowed item.
+item_16_id=HANDLED_WITH_CARE
+item_16_title=Handled With Care
+item_16_comment=No sacred avian was harmed.
+item_17_id=CLIMBED_EVERY_MOUNTAIN
+item_17_title=Climbed Every Mountain
+item_17_comment=Complete the second trial.
+item_18_id=NOW_YOURE_TALKING
+item_18_title=Now You're Talking
+item_18_comment=Earn your third spells from the Sphere of Knowledge.
+item_19_id=DETECTIVE_DARC
+item_19_title=Detective D'arc
+item_19_comment=Complete the severed circle story branch.
+item_20_id=DIVERSIFIED
+item_20_title=Diversified
+item_20_comment=Kill one of each monster type.
+item_21_id=WELL_READ
+item_21_title=Well Read
+item_21_comment=Find and read all books and notes.
+item_22_id=COLLECTOR
+item_22_title=Collector
+item_22_comment=Find all three "Tear" class brooches.
+item_23_id=WHO_PUT_DA_LIGHTS_OUT
+item_23_title=Who Put Da Lights Out?
+item_23_comment=Extinguish the Redcaps' camp fire.
+item_24_id=THANKS_BUT_NO_THANKS
+item_24_title=Thanks, But No Thanks
+item_24_comment=Reject a dark deal.
+item_25_id=ITS_NOT_EASY_BEING_GREEN
+item_25_title=It's Not Easy Being Green
+item_25_comment=Make a red delivery to the Greencaps.
+item_26_id=IF_I_EVER_SEE_ANOTHER_GOBLIN
+item_26_title=If I Ever See Another Goblin...
+item_26_comment=Complete the third trial.
+item_27_id=FRIEND_IN_NEED
+item_27_title=Friend in Need
+item_27_comment=An ally survives.
+item_28_id=ONE_MAN_BOMB_SQUAD
+item_28_title=One Man Bomb Squad
+item_28_comment=Both allies survive.
+item_29_id=SHOWDOWN
+item_29_title=Showdown
+item_29_comment=Defeat the Big Bad.
+item_30_id=MAXED_OUT
+item_30_title=Maxed Out
+item_30_comment=Max out all your stats.
+item_31_id=YOU_MADE_YOUR_POINTS
+item_31_title=You Made Your Points
+item_31_comment=Finish the game with max XP / score.
+item_32_id=INITIATED
+item_32_title=Initiated
+item_32_comment=Complete the game.
+item_33_id=STAY_CLASSY
+item_33_title=Stay Classy
+item_33_comment=Finish the game with all 4 classes.
+item_34_id=PACIFIST
+item_34_title=Pacifist
+item_34_comment=Kill only the bosses (no regular monsters).
+item_35_id=PYRO
+item_35_title=Pyro
+item_35_comment=Earn all Fire class Bonus points.
+item_36_id=FLOOD_READY
+item_36_title=Flood Ready
+item_36_comment=Earn all Water class Bonus points.
+item_37_id=GROUNDED
+item_37_title=Grounded
+item_37_comment=Earn all Earth class Bonus points.
+item_38_id=UP_UP_AND_AWAY
+item_38_title=Up, Up, and Away
+item_38_comment=Earn all Air class Bonus points.
+item_39_id=WHOS_COUNTING
+item_39_title=Who's Counting?
+item_39_comment=Kill 50 enemies.
+item_40_id=DEDICATED
+item_40_title=Dedicated
+item_40_comment=Kill 100 enemies.
+item_41_id=INSATIABLE
+item_41_title=Insatiable
+item_41_comment=Kill 500 enemies.
+item_42_id=APOCALYPTIC
+item_42_title=Apocalyptic
+item_42_comment=Kill 1,000 enemies.
+item_43_id=DONT_NEED_NO_STINKIN_BUFFS
+item_43_title=Don't Need No Stinkin' Buffs
+item_43_comment=Beat the game without equipping any extra gems or items (after the initial tutorial).
diff --git a/devtools/create_achievements/gen/galaxy-1745746005.ini b/devtools/create_achievements/gen/galaxy-1745746005.ini
new file mode 100644
index 0000000000..45f5788830
--- /dev/null
+++ b/devtools/create_achievements/gen/galaxy-1745746005.ini
@@ -0,0 +1,76 @@
+[achievements:en]
+item_0_id=Achiev_01
+item_0_title=Vigilante
+item_0_comment=That taxi driver picked up his last fare…
+item_1_id=Achiev_02
+item_1_title=Alcoholic
+item_1_comment=Cocktails go to my head.
+item_2_id=Achiev_03
+item_2_title=Romantic Detective
+item_2_comment=A real badass always know when to be sweet.
+item_3_id=Achiev_04
+item_3_title=Role Player
+item_3_comment=Ridicolous little green men…
+item_4_id=Achiev_05
+item_4_title=Heroic Deed
+item_4_comment=There's only his stench left…
+item_5_id=Achiev_06
+item_5_title=Good Morning
+item_5_comment=When you are a heavy sleeper…
+item_6_id=Achiev_07
+item_6_title=Cold-Blooded Detective
+item_6_comment=I like counting on my best friend.
+item_7_id=Achiev_08
+item_7_title=Smuggler
+item_7_comment=What's a smuggler without a business card?
+item_8_id=Achiev_09
+item_8_title=Green Thumb
+item_8_comment=Now I figured out what Latin is good for.
+item_9_id=Achiev_10
+item_9_title=Space Invader
+item_9_comment=It's always fun to threaten Earth…
+item_10_id=Achiev_11
+item_10_title=Baby Sitter
+item_10_comment=Maybe as a side job…
+item_11_id=Achiev_12
+item_11_title=Infallible Nose
+item_11_comment=What's a detective without his instincts?
+item_12_id=Achiev_13
+item_12_title=Interference
+item_12_comment=Who was that, Mario?
+item_13_id=Achiev_14
+item_13_title=Animal Activist
+item_13_comment=The animals must respect other animals.
+item_14_id=Achiev_15
+item_14_title=Timed Trial
+item_14_comment=Speed is my middle name.
+item_15_id=Achiev_16
+item_15_title=Old School
+item_15_comment=There's nothing like the old school.
+item_16_id=Achiev_17
+item_16_title=Sprinter
+item_16_comment=Never stop. Never.
+item_17_id=Achiev_18
+item_17_title=Devoted
+item_17_comment=Assistants are born, not made.
+item_18_id=Achiev_19
+item_18_title=Chronically Indecisive
+item_18_comment=Doubt is the source of wisdom.
+item_19_id=Achiev_20
+item_19_title=Supplier
+item_19_comment=Cutlery smuggling.
+item_20_id=Achiev_21
+item_20_title=Connoisseur
+item_20_comment=Got the cocktail in one.
+item_21_id=Achiev_22
+item_21_title=Cameo
+item_21_comment=Those game designers are crazy…
+item_22_id=Achiev_23
+item_22_title=Briber
+item_22_comment=Here's the proper use of the money.
+item_23_id=Achiev_24
+item_23_title=Time to Get Serious
+item_23_comment=When the going gets rough...
+item_24_id=Achiev_25
+item_24_title=The Curtains Falls
+item_24_comment=Applause, please.
diff --git a/devtools/create_achievements/gen/galaxy-1845001352.ini b/devtools/create_achievements/gen/galaxy-1845001352.ini
new file mode 100644
index 0000000000..ad59ea0e00
--- /dev/null
+++ b/devtools/create_achievements/gen/galaxy-1845001352.ini
@@ -0,0 +1,76 @@
+[achievements:en]
+item_0_id=CaseClosed
+item_0_title=Case Closed
+item_0_comment=Finished the game
+item_1_id=PathOfTyr
+item_1_title=Path of Tyr
+item_1_comment=Finished the game assertively
+item_2_id=PathOfFrigg
+item_2_title=Path of Frigg
+item_2_comment=Finished the game analytically
+item_3_id=PathOfBaldr
+item_3_title=Path of Baldr
+item_3_comment=Finished the game empathically
+item_4_id=UnlockTier2
+item_4_title=Hidden Potential
+item_4_comment=Unlocked a new augmentation
+item_5_id=UnlockAugs
+item_5_title=Power Overwhelming
+item_5_comment=Unlocked a full set of augmentations
+item_6_id=Harbinger
+item_6_title=Singularity-Minded
+item_6_hidden=true
+item_7_id=UnleashTheWolf
+item_7_title=Unleash the Wolf
+item_7_hidden=true
+item_8_id=Caregiver
+item_8_title=Caregiver
+item_8_hidden=true
+item_9_id=Careerist
+item_9_title=Careerist
+item_9_hidden=true
+item_10_id=MixedMethods
+item_10_title=Mixed Methods
+item_10_hidden=true
+item_11_id=NoSodaForYou
+item_11_title=Whispers of a Soda Machine
+item_11_hidden=true
+item_12_id=PassiveSmoking
+item_12_title=Passive Smoking Redux
+item_12_hidden=true
+item_13_id=Reassembled
+item_13_title=Reassembled
+item_13_hidden=true
+item_14_id=SharpEyed
+item_14_title=Sharp-Eyed
+item_14_hidden=true
+item_15_id=Environmentalist
+item_15_title=Environmentalist
+item_15_hidden=true
+item_16_id=WhatSuspect
+item_16_title=Babysitter
+item_16_hidden=true
+item_17_id=PickTheBaby
+item_17_title=Pick the Baby
+item_17_hidden=true
+item_18_id=Museophile
+item_18_title=Museophile
+item_18_hidden=true
+item_19_id=SneakAttack
+item_19_title=Sneak Attack
+item_19_hidden=true
+item_20_id=Memento
+item_20_title=Memento
+item_20_hidden=true
+item_21_id=CompulsiveReturner
+item_21_title=Serial Returner
+item_21_hidden=true
+item_22_id=CaffeineAddict
+item_22_title=Whispers of a Coffee Machine
+item_22_hidden=true
+item_23_id=Whodunnit
+item_23_title=Whodunnit
+item_23_hidden=true
+item_24_id=CloseCall
+item_24_title=Close Call
+item_24_hidden=true
diff --git a/devtools/create_achievements/gen/steam-1028740.ini b/devtools/create_achievements/gen/steam-1028740.ini
new file mode 100644
index 0000000000..3d4988c367
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-1028740.ini
@@ -0,0 +1,61 @@
+[achievements:en]
+item_0_id=ACH1
+item_0_title=Amateur Enhancer
+item_0_comment=Enhance a weapon to +3.
+item_1_id=ACH2
+item_1_title=Pro Enhancer
+item_1_comment=Enhance a weapon to +5.
+item_2_id=ACH3
+item_2_title=Master Enhancer
+item_2_comment=Enhance a weapon to +7.
+item_3_id=ACH4
+item_3_title=Amateur Enhancer 2
+item_3_comment=Enhance any armor to +3.
+item_4_id=ACH5
+item_4_title=Pro Enhancer 2
+item_4_comment=Enhance any armor to +5.
+item_5_id=ACH6
+item_5_title=Master Enhancer 2
+item_5_comment=Enhance any armor to +7.
+item_6_id=ACH7
+item_6_title=Delicious Soup
+item_6_comment=Cook Zombie Brain Soup on the stove.
+item_7_id=ACH8
+item_7_title=Yummy Salami
+item_7_comment=Cook a Zombie Salami on the stove.
+item_8_id=ACH9
+item_8_title=Tasty Kokorech
+item_8_comment=Cook a Zombie Kokorech on the stove.
+item_9_id=ACH10
+item_9_title=First Survivor
+item_9_comment=Bring a survivor to the shelter for the first time.
+item_10_id=ACH11
+item_10_title=First Upgrade
+item_10_comment=Upgrade a component of the shelter for the first time.
+item_11_id=ACH12
+item_11_title=Zombie Slayer
+item_11_comment=Kill 50 zombies.
+item_12_id=ACH13
+item_12_title=Zombie Slaughterer
+item_12_comment=Kill 200 zombies.
+item_13_id=ACH14
+item_13_title=Zombie Extinctioner
+item_13_comment=Kill 500 zombies.
+item_14_id=ACH15
+item_14_title=Crusher Killer
+item_14_comment=Kill a Crusher.
+item_15_id=ACH16
+item_15_title=Reaper Killer
+item_15_comment=Kill a Reaper.
+item_16_id=ACH17
+item_16_title=Sergeant
+item_16_comment=Reach Level 5.
+item_17_id=ACH18
+item_17_title=Lieutenant
+item_17_comment=Reach Level 10.
+item_18_id=ACH19
+item_18_title=Colonel
+item_18_comment=Reach Level 20.
+item_19_id=ACH20
+item_19_title=General
+item_19_comment=Reach Level 35.
diff --git a/devtools/create_achievements/gen/steam-1064660.ini b/devtools/create_achievements/gen/steam-1064660.ini
new file mode 100644
index 0000000000..410bbd4cf2
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-1064660.ini
@@ -0,0 +1,16 @@
+[achievements:en]
+item_0_id=erin_myers_achieve_chalk
+item_0_title=Chalk It Up To Experience
+item_0_comment=A strange obsession with the chalkboard.
+item_1_id=erin_myers_achieve_art
+item_1_title=Not An Art Lover
+item_1_comment=More important things to be doing.
+item_2_id=erin_myers_achieve_coffee
+item_2_title=Coffee Connoisseur
+item_2_comment=Coffee is nice. But not that coffee.
+item_3_id=erin_myers_achieve_hammer
+item_3_title=Hammering The Point
+item_3_comment=Don't break down.
+item_4_id=erin_myers_achieve_wait
+item_4_title=Try Try Again
+item_4_comment=Don't give up.
diff --git a/devtools/create_achievements/gen/steam-1133950.ini b/devtools/create_achievements/gen/steam-1133950.ini
new file mode 100644
index 0000000000..50c4f7d437
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-1133950.ini
@@ -0,0 +1,82 @@
+[achievements:en]
+item_0_id=1_parabolica
+item_0_title=Playing with the satellite dish.
+item_0_hidden=true
+item_1_id=2_torreon
+item_1_title=I want to go higher.
+item_1_hidden=true
+item_2_id=3_piza
+item_2_title=I'm hungry.
+item_2_hidden=true
+item_3_id=4_dioses
+item_3_title=I was just passing by.
+item_3_hidden=true
+item_4_id=5_vampira
+item_4_title=You are bothering me.
+item_4_hidden=true
+item_5_id=6_sapo
+item_5_title=It's not what it seems.
+item_5_hidden=true
+item_6_id=7_bany
+item_6_title=What a bathroom.
+item_6_hidden=true
+item_7_id=8_biblio
+item_7_title=This book is stuck.
+item_7_hidden=true
+item_8_id=9_raton_triturado
+item_8_title=You do not have heart.
+item_8_hidden=true
+item_9_id=10_convertir_raton
+item_9_title=What happened to me?
+item_9_hidden=true
+item_10_id=11_alarma
+item_10_title=Easier this way.
+item_10_hidden=true
+item_11_id=12_pintar_cuadre
+item_11_title=Artwork.
+item_11_hidden=true
+item_12_id=13_vestit
+item_12_title=What's behind?
+item_12_hidden=true
+item_13_id=14_huevos_cuervo
+item_13_title=I'll make myself an omelette.
+item_13_hidden=true
+item_14_id=15_planta
+item_14_title=You have eaten too much.
+item_14_hidden=true
+item_15_id=16_paloma
+item_15_title=I have a letter.
+item_15_hidden=true
+item_16_id=17_asustar_vampira
+item_16_title=Get out of here!
+item_16_hidden=true
+item_17_id=18_canal_tv
+item_17_title=I do not like this.
+item_17_hidden=true
+item_18_id=19_llave_jarron
+item_18_title=I got it.
+item_18_hidden=true
+item_19_id=20_necro
+item_19_title=It scares me.
+item_19_hidden=true
+item_20_id=21_reliquia
+item_20_title=Gross.
+item_20_hidden=true
+item_21_id=22_esparrago
+item_21_title=What nonsense.
+item_21_hidden=true
+item_22_id=23_final_1
+item_22_title=Moon of Blood
+item_22_comment=Get the ending 1.
+item_23_id=24_final_2
+item_23_title=Lovers
+item_23_comment=Get the ending 2.
+item_24_id=25_final_3
+item_24_title=Stealth Killer
+item_24_comment=Get the ending 3.
+item_25_id=26_final_4
+item_25_title=Infernal Punishment
+item_25_comment=Get the ending 4.
+item_26_id=27_final_5
+item_26_title=Extermination
+item_26_comment=Get the ending 5.
diff --git a/devtools/create_achievements/gen/steam-1142230.ini b/devtools/create_achievements/gen/steam-1142230.ini
new file mode 100644
index 0000000000..b7a8cdc6d1
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-1142230.ini
@@ -0,0 +1,52 @@
+[achievements:en]
+item_0_id=ACHIEVEMENT_00
+item_0_title=Truly, truly, I tell you: Do not poke your nose into other people's business!
+item_0_comment=E
+item_1_id=ACHIEVEMENT_01
+item_1_title=Finally a bread roll. Religion is not always easy
+item_1_comment=S
+item_2_id=ACHIEVEMENT_02
+item_2_title=I must have overlooked it. That hurt a lot!
+item_2_comment=T
+item_3_id=ACHIEVEMENT_03
+item_3_title=It is only a game! Do not take it so seriously!
+item_3_comment=S
+item_4_id=ACHIEVEMENT_04
+item_4_title=Bull's eye!
+item_4_comment=F
+item_5_id=ACHIEVEMENT_05
+item_5_title=The picture may have come from Heaven, but it is dangerous
+item_5_comment=S
+item_6_id=ACHIEVEMENT_06
+item_6_title=That is life, John!
+item_6_comment=E
+item_7_id=ACHIEVEMENT_07
+item_7_title=Thou shalt not lie!
+item_7_comment=T
+item_8_id=ACHIEVEMENT_08
+item_8_title=Stop tickling me!
+item_8_comment=J
+item_9_id=ACHIEVEMENT_09
+item_9_title=Merry Christmas!
+item_9_comment=S
+item_10_id=ACHIEVEMENT_10
+item_10_title=Jesus is a human, and therefore he has all the human needs. Peeing included
+item_10_comment=R
+item_11_id=ACHIEVEMENT_11
+item_11_title=Curses, like chickens, come home to roost!
+item_11_comment=H
+item_12_id=ACHIEVEMENT_12
+item_12_title=She really needs to drop this hobby
+item_12_comment=O
+item_13_id=ACHIEVEMENT_13
+item_13_title=The heavenly picture needs to disappear, but how?
+item_13_comment=E
+item_14_id=ACHIEVEMENT_14
+item_14_title=How the hell am I supposed to delete the heavenly picture?
+item_14_comment=C
+item_15_id=ACHIEVEMENT_15
+item_15_title=That explains why he is not married
+item_15_comment=U
+item_16_id=ACHIEVEMENT_16
+item_16_title=The cross of Jesus can be removed now
+item_16_comment=E
diff --git a/devtools/create_achievements/gen/steam-1147030.ini b/devtools/create_achievements/gen/steam-1147030.ini
new file mode 100644
index 0000000000..00989c9382
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-1147030.ini
@@ -0,0 +1,19 @@
+[achievements:en]
+item_0_id=Beer
+item_0_title=Three for Two
+item_0_comment=That's quite a deal!
+item_1_id=Jackson
+item_1_title=Jackson
+item_1_comment=We all have our dreams.
+item_2_id=Address
+item_2_title=Location uncovered!
+item_2_comment=The old man won't know what hit him.
+item_3_id=Unlocked
+item_3_title=Unlocked
+item_3_comment=What's in the trunk?
+item_4_id=OpenSesame
+item_4_title=Open Sesame
+item_4_comment=The riches are within grasp.
+item_5_id=TheEnd
+item_5_title=The End.
+item_5_hidden=true
diff --git a/devtools/create_achievements/gen/steam-1181570.ini b/devtools/create_achievements/gen/steam-1181570.ini
new file mode 100644
index 0000000000..3f0ef0b678
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-1181570.ini
@@ -0,0 +1,46 @@
+[achievements:en]
+item_0_id=PARROT_SQUAWK
+item_0_title=Squawk!
+item_0_comment=Made the parrot talk
+item_1_id=MAKE_BAGPIPE
+item_1_title=Oh great, bagpipes
+item_1_comment=A shrill wailing sound
+item_2_id=GAME_OVER
+item_2_title=Fugitive from justice
+item_2_hidden=true
+item_3_id=GOT_HOSE
+item_3_title=Ouch!
+item_3_comment=The lengths you'll go to for a length of plastic hose
+item_4_id=PUNNY
+item_4_title=A pun too far
+item_4_comment=Sorry
+item_5_id=GOT_HAIRCUT
+item_5_title=Everything still attached?
+item_5_hidden=true
+item_6_id=KNOCK_OUT
+item_6_title=He's not dead
+item_6_hidden=true
+item_7_id=MELT_CUP
+item_7_title=Just like grog
+item_7_comment=The inferior red cup
+item_8_id=SAY_NO
+item_8_title=What was it again?
+item_8_comment=Made the Order of the Bull repeat themselves
+item_9_id=INDY
+item_9_title=Les aventuriers de l'arche perdue
+item_9_comment=Did your best Indiana Jones impression
+item_10_id=GOT_HORSESHOE
+item_10_title=Stand tall
+item_10_hidden=true
+item_11_id=GOT_ARMOUR
+item_11_title=Equipped for battle
+item_11_hidden=true
+item_12_id=REALLY_TALL
+item_12_title=Stand REALLY tall
+item_12_hidden=true
+item_13_id=NEW_CONTENDER
+item_13_title=The Running Man
+item_13_comment=Enter the amphitheatre
+item_14_id=TIME_SHARE
+item_14_title=Timeshare
+item_14_comment=Sat through the market trader's spiel
diff --git a/devtools/create_achievements/gen/steam-1220930.ini b/devtools/create_achievements/gen/steam-1220930.ini
new file mode 100644
index 0000000000..87bd338aa4
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-1220930.ini
@@ -0,0 +1,19 @@
+[achievements:en]
+item_0_id=Have you seen this man?
+item_0_title=Have you seen this man?
+item_0_hidden=true
+item_1_id=Bookworm
+item_1_title=Bookworm
+item_1_comment=Carl's words live on
+item_2_id=Ancient knowledge
+item_2_title=Ancient knowledge
+item_2_comment=You clarified the secret of the ruins on one try
+item_3_id=Emases nepo
+item_3_title=Emases nepo
+item_3_comment=You sorted out the dark cave puzzle on one try
+item_4_id=What are these?
+item_4_title=What are these?
+item_4_comment=You solved an other-worldly puzzle on one try
+item_5_id=Inevitable
+item_5_title=Inevitable
+item_5_comment=A final outcome
diff --git a/devtools/create_achievements/gen/steam-1251910.ini b/devtools/create_achievements/gen/steam-1251910.ini
new file mode 100644
index 0000000000..c73b7da84d
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-1251910.ini
@@ -0,0 +1,137 @@
+[stats:en]
+item_0_id=book_read
+item_0_comment=Book entries read
+item_0_start=0
+item_1_id=num_steps
+item_1_comment=Steps taken
+item_1_start=0
+[achievements:en]
+item_0_id=DEATH_0
+item_0_title=I believe I can fly
+item_0_comment=Solve the corresponding ending
+item_1_id=DEATH_1
+item_1_title=Dead tired
+item_1_comment=Solve the corresponding ending
+item_2_id=DEATH_2
+item_2_title=Strike!
+item_2_comment=Solve the corresponding ending
+item_3_id=DEATH_3
+item_3_title=I'm shocked
+item_3_comment=Solve the corresponding ending
+item_4_id=DEATH_4
+item_4_title=Hang in there
+item_4_comment=Solve the corresponding ending
+item_5_id=DEATH_5
+item_5_title=Death from above
+item_5_comment=Solve the corresponding ending
+item_6_id=DEATH_6
+item_6_title=Vaccines cause autism
+item_6_comment=Solve the corresponding ending
+item_7_id=DEATH_7
+item_7_title=To bee or not to bee
+item_7_comment=Solve the corresponding ending
+item_8_id=DEATH_8
+item_8_title=Burn baby burn
+item_8_comment=Solve the corresponding ending
+item_9_id=DEATH_9
+item_9_title=Mr. Bay is full of s**t
+item_9_comment=Solve the corresponding ending
+item_10_id=DEATH_10
+item_10_title=A warm toast
+item_10_comment=Solve the corresponding ending
+item_11_id=DEATH_11
+item_11_title=Vive la révolution
+item_11_comment=Solve the corresponding ending
+item_12_id=DEATH_12
+item_12_title=Big Pharma's revenge
+item_12_comment=Solve the corresponding ending
+item_13_id=DEATH_13
+item_13_title=Instant diet
+item_13_comment=Solve the corresponding ending
+item_14_id=DEATH_14
+item_14_title=Caution, wet floor
+item_14_comment=Solve the corresponding ending
+item_15_id=DEATH_15
+item_15_title=That's no toaster
+item_15_comment=Solve the corresponding ending
+item_16_id=DEATH_16
+item_16_title=Pretty ironic
+item_16_comment=Solve the corresponding ending
+item_17_id=DEATH_17
+item_17_title=We'll die eventually
+item_17_comment=Solve the corresponding ending
+item_18_id=DEATH_18
+item_18_title=The amazing spider-death
+item_18_comment=Solve the corresponding ending
+item_19_id=DEATH_19
+item_19_title=Under the sea
+item_19_comment=Solve the corresponding ending
+item_20_id=DEATH_20
+item_20_title=Acid rain
+item_20_comment=Solve the corresponding ending
+item_21_id=DEATH_21
+item_21_title=Frank Grimes
+item_21_comment=Solve the corresponding ending
+item_22_id=DEATH_22
+item_22_title=The last meal
+item_22_comment=Solve the corresponding ending
+item_23_id=DEATH_23
+item_23_title=Beauty killed the beast
+item_23_comment=Solve the corresponding ending
+item_24_id=DEATH_24
+item_24_title=Scared of clowns
+item_24_comment=Solve the corresponding ending
+item_25_id=DEATH_25
+item_25_title=I'm freezing
+item_25_comment=Solve the corresponding ending
+item_26_id=DEATH_26
+item_26_title=A sporadic event
+item_26_comment=Solve the corresponding ending
+item_27_id=DEATH_27
+item_27_title=I believe I can fry
+item_27_comment=Solve the corresponding ending
+item_28_id=DEATH_28
+item_28_title=Backfire
+item_28_comment=Solve the corresponding ending
+item_29_id=DEATH_29
+item_29_title=I prefer the touchpad
+item_29_comment=Solve the corresponding ending
+item_30_id=AVID_READER
+item_30_title=Bookworm
+item_30_comment=Read all the book entries
+item_31_id=TUTORIAL
+item_31_title=For dummies
+item_31_comment=Complete the tutorial
+item_32_id=CREDITS
+item_32_title=Pleasantly understated credit sequence
+item_32_comment=Watch the credits til the end
+item_33_id=HEAD_BUMP
+item_33_title=Mind your head
+item_33_comment=Bump your head in a non-lethal manner
+item_34_id=LETTERS
+item_34_title=Secret admirer
+item_34_hidden=true
+item_35_id=FLAMETHROWER
+item_35_title=Hank Scorpio
+item_35_hidden=true
+item_36_id=100_METERS
+item_36_title=Couch potato
+item_36_comment=Walk 100 meters
+item_37_id=500_METERS
+item_37_title=Mildly active
+item_37_comment=Walk 500 meters
+item_38_id=1500_METERS
+item_38_title=Fitness is a lifestyle
+item_38_comment=Walk 1500 meters
+item_39_id=5000_METERS
+item_39_title=Runner's high
+item_39_comment=Walk 5 kilometers
+item_40_id=NECKTIE
+item_40_title=Fashion police
+item_40_comment=Rip and burn the necktie
+item_41_id=ANIMAL_HATER
+item_41_title=Angel of death
+item_41_comment=Kill all living things in a single game
+item_42_id=REPEAT_DEATHS
+item_42_title=Sadistic player
+item_42_comment=Repeat at least one death
diff --git a/devtools/create_achievements/gen/steam-1270590.ini b/devtools/create_achievements/gen/steam-1270590.ini
new file mode 100644
index 0000000000..be2b0edd18
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-1270590.ini
@@ -0,0 +1,28 @@
+[achievements:en]
+item_0_id=SAFE_CRACKER
+item_0_title=Safe Cracker
+item_0_hidden=true
+item_1_id=HACKER
+item_1_title=A real Hacker!
+item_1_hidden=true
+item_2_id=TANJAS_WAY
+item_2_title=Tanja's Way
+item_2_comment=You gave Tanja the documents
+item_3_id=JENNYS_WAY
+item_3_title=Jenny's Way
+item_3_comment=You gave Jenny the documents
+item_4_id=DATING_WITH_TANJA
+item_4_title=Dance with Tanja
+item_4_comment=You successfully invited Tanja on a date!
+item_5_id=DATING_WITH_JENNY
+item_5_title=Date with Jenny
+item_5_comment=You successfully invited Jenny on a date!
+item_6_id=RELIABLE
+item_6_title=Reliable
+item_6_comment=You got a key to Daisie's apartment.
+item_7_id=HERO_OF_THE_DAY
+item_7_title=Hero of the day!
+item_7_comment=You have successfully detected the crime and caught all the suspects!
+item_8_id=SOCIABLE
+item_8_title=Sociable
+item_8_comment=You got to know all the characters in the game!
diff --git a/devtools/create_achievements/gen/steam-212050.ini b/devtools/create_achievements/gen/steam-212050.ini
new file mode 100644
index 0000000000..913a433641
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-212050.ini
@@ -0,0 +1,115 @@
+[achievements:en]
+item_0_id=THATWENTWELL
+item_0_title=That went well
+item_0_comment=Talk to that nice girl on the subway
+item_1_id=MIRRORMASTER
+item_1_title=Mirror Master
+item_1_comment=Grow some eyes in the back of your head
+item_2_id=GOTTAHIDE
+item_2_title=Gotta hide
+item_2_comment=Escape a nightmare
+item_3_id=GETTHESCOOP
+item_3_title=Get the scoop
+item_3_comment=The pulitzer is in the bag
+item_4_id=JUSTBECAUSE
+item_4_title=Just because
+item_4_comment=Ray's kind of a jerk
+item_5_id=THATGUY
+item_5_title="That" guy
+item_5_comment=That creep on the subway? Yeah, that's you.
+item_6_id=DUO
+item_6_title=Duo
+item_6_comment=Gain control of two characters
+item_7_id=TEAMWORK
+item_7_title=Teamwork
+item_7_comment=Team up to fix the lab's water system
+item_8_id=SAVIOR
+item_8_title=Savior
+item_8_comment=Save Dr. Morales
+item_9_id=CUTTHEROPE
+item_9_title=Cut the rope
+item_9_comment=Save yourself by destroying a rope
+item_10_id=GOODLISTENER
+item_10_title=Good listener
+item_10_comment=Listen to Saul's whole story without interrupting him
+item_11_id=NOSMOKING
+item_11_title=No smoking
+item_11_comment=Discover the chemisty department's secret
+item_12_id=WIRED
+item_12_title=Wired
+item_12_comment=Rewire the lab door circuit
+item_13_id=ANGEL
+item_13_title=Angel
+item_13_comment=Open Dr. Morales's journal without damaging it
+item_14_id=DREAMMASTER
+item_14_title=Dream master
+item_14_comment=Get all the memories from Anna's dream maze
+item_15_id=QUARTET
+item_15_title=Quartet
+item_15_comment=Gain control of all four characters
+item_16_id=BLUEPRINTSNATCHER
+item_16_title=Blueprint snatcher
+item_16_comment=Nab the blueprints from the police archive
+item_17_id=SEETHEWIZARD
+item_17_title=See the Wizard
+item_17_comment=Find Morales's financial information
+item_18_id=MAGNETICPERSONALITY
+item_18_title=Magnetic personality
+item_18_comment=Maneuver everyone through the super collider
+item_19_id=ACCESSGRANTED
+item_19_title=Access granted
+item_19_comment=Gain access to the inner vault
+item_20_id=IPROMISEYOU
+item_20_title=I promise you
+item_20_comment=Your uncle holds the key
+item_21_id=SAFECRACKER
+item_21_title=Safecracker
+item_21_comment=Crack Tortoise's safe
+item_22_id=BLACKMAILER
+item_22_title=Blackmailer
+item_22_comment=Gain Tortoise's help by resorting to blackmail
+item_23_id=ARCHIVEMASTER
+item_23_title=Archive master
+item_23_comment=Get the blueprints on your first try
+item_24_id=HIPPOCRATES
+item_24_title=Hippocrates
+item_24_comment=Pay Ozzy while keeping your professional integrity intact
+item_25_id=CLOSETOHEART
+item_25_title=Close to heart
+item_25_comment=Learn Bennet's secret
+item_26_id=FINDINGNORTH
+item_26_title=Finding north
+item_26_comment=Use a compass to find a new location
+item_27_id=KEYNABBER
+item_27_title=Key nabber
+item_27_comment=Remove the contents of a locker without opening it
+item_28_id=PHONETRACER
+item_28_title=Phone tracer
+item_28_comment=Track the movements of a killer
+item_29_id=MAPMASTER
+item_29_title=Technophile
+item_29_comment=Find a new location on the map using fancy technology
+item_30_id=LESSEROFTWOEVILS
+item_30_title=Lesser of two evils
+item_30_comment=You sided with an enemy to stop a greater foe
+item_31_id=THENEWWORLDORDER
+item_31_title=The new world order
+item_31_comment=You stopped a killer, but let the big fish go free
+item_32_id=INDEPENDENT
+item_32_title=Independent
+item_32_comment=Finish the game without asking another character for a hint
+item_33_id=LISTENTOUS
+item_33_title=Listen to us
+item_33_comment=Play the entire game with commentary mode active
+item_34_id=HIGHSCORE
+item_34_title=High Score
+item_34_comment=SUPER ACHIEVEMENT: Finish the game with a full score
+item_35_id=SAFESEER
+item_35_title=Safe seer
+item_35_comment=INSANE ACHIEVEMENT: Open Tortoise's safe without using any "visual aids"
+item_36_id=QUICKESCAPE
+item_36_title=Quick escape
+item_36_comment=INSANE ACHIEVEMENT: Escape from the monster without locking the door
+item_37_id=DECODER
+item_37_title=Decoder ring
+item_37_comment=SUPER ACHIEVEMENT: Decode a journal
diff --git a/devtools/create_achievements/gen/steam-227000.ini b/devtools/create_achievements/gen/steam-227000.ini
new file mode 100644
index 0000000000..b524e49b32
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-227000.ini
@@ -0,0 +1,88 @@
+[achievements:en]
+item_0_id=KEEPINGITREEL
+item_0_title=Keeping it reel
+item_0_comment=Find the hidden tape deck
+item_1_id=DEFRAGMENTED
+item_1_title=Defragmented
+item_1_comment=Wake a slumbering giant
+item_2_id=CALLMEDAVID
+item_2_title=Call me David
+item_2_comment=Use brawn instead of brains
+item_3_id=PEEPINGTOM
+item_3_title=Peeping tom
+item_3_comment=Look at all the sensor coordinates
+item_4_id=ROBOMITZVAH
+item_4_title=Robotmitzvah
+item_4_comment=Pass Ever-Faithful's test on the first try
+item_5_id=KNOTCUTTER
+item_5_title=Knotcutter
+item_5_comment=An easy solution to an impossible problem
+item_6_id=WINGMAN
+item_6_title=Wingman
+item_6_comment=Train Crispin for his big date
+item_7_id=MULTITASKER
+item_7_title=Gear head
+item_7_comment=Clean two gears using different methods
+item_8_id=LAWYERHERO
+item_8_title=Lawyer robot hero
+item_8_comment=Pass a legal test on the first try
+item_9_id=KNOWITALL
+item_9_title=Know it all
+item_9_comment=Find every entry in the information kiosk
+item_10_id=GHOSTWHISPERER
+item_10_title=Ghost whisperer
+item_10_comment=Find Memento Moribuilt
+item_11_id=KEEPINGTHEFAITH
+item_11_title=KEEPINGTHEFAITH
+item_11_comment=Help a lost pilgrim find his way
+item_12_id=MELTEDHEART
+item_12_title=Melted heart
+item_12_comment=Change Factotum's mind
+item_13_id=THREEMUSKETEERS
+item_13_title=Three musketeers
+item_13_comment=Reunite Surly Company
+item_14_id=COURTING
+item_14_title=Gone courting
+item_14_comment=Unlock the courthouse
+item_15_id=CUSTARD
+item_15_title=Smells of rotten custard
+item_15_comment=Unlock Horatio's past
+item_16_id=OPENSESAME
+item_16_title=Open sesame
+item_16_comment=Unlock the tower door, without outside help
+item_17_id=MACHINA
+item_17_title=Machina ex Machina
+item_17_comment=Get help from a new friend
+item_18_id=SACRIFICE
+item_18_title=Sacrifice
+item_18_comment=Victory at what cost?
+item_19_id=CHARGEDUP
+item_19_title=Charged up
+item_19_comment=That hit the spot. But for how much longer?
+item_20_id=NEEDLE
+item_20_title=Needle in a haystack
+item_20_comment=Use technology to do the impossible
+item_21_id=SCRAPER
+item_21_title=I told you to stop
+item_21_comment=Stop Scraper once and for all
+item_22_id=NOTBLUFFING
+item_22_title=Not bluffing
+item_22_comment=She pushed you too far
+item_23_id=TOOMUCHPOWER
+item_23_title=Too much power
+item_23_comment=Resort to blackmail, and emerge the victor
+item_24_id=THANATOS
+item_24_title=Thanatos
+item_24_comment=Fulfill your true mission
+item_25_id=FLY
+item_25_title=I always wanted to fly. . .
+item_25_comment=Take a leap of faith
+item_26_id=FUTILE
+item_26_title=Resistance is futile
+item_26_comment=Join your foe for the greater good
+item_27_id=LIVEFREE
+item_27_title=Live free or die
+item_27_comment=Stay true to yourself
+item_28_id=TOGETHER
+item_28_title=We're all in this together
+item_28_comment=Finish the game with all possible robots.
diff --git a/devtools/create_achievements/gen/steam-236930.ini b/devtools/create_achievements/gen/steam-236930.ini
new file mode 100644
index 0000000000..1b33aa8c82
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-236930.ini
@@ -0,0 +1,55 @@
+[achievements:en]
+item_0_id=TEAMWORK
+item_0_title=Teamwork
+item_0_comment=Solve a puzzle together
+item_1_id=CURTAINCALL
+item_1_title=Curtain Call
+item_1_comment=Save your first ghost
+item_2_id=BLOWEYMALLONE
+item_2_title=Blowey Mallone
+item_2_comment=Blow on everyone you can find
+item_3_id=LISTEN
+item_3_title=Move on and Listen
+item_3_comment=Finish the game in commentary mode (from the first screen till the last)
+item_4_id=MOVEON
+item_4_title=Time to Move On
+item_4_comment=Complete the story
+item_5_id=GOLDFARBDIGGER
+item_5_title=Goldfarb Digger
+item_5_comment=Find a secret room
+item_6_id=EPIPHANY
+item_6_title=Epiphany
+item_6_comment=The hows and whys of Joey
+item_7_id=DECEPTION
+item_7_title=Deception
+item_7_comment=Try to lie your way out of it
+item_8_id=CONVERGENCE
+item_8_title=Convergence
+item_8_comment=Two becomes one
+item_9_id=UNBOUND
+item_9_title=Unbound
+item_9_comment=Free yourself
+item_10_id=LEGACY
+item_10_title=Legacy
+item_10_comment=Reunite a family
+item_11_id=SOFTLYSOFTLY
+item_11_title=Softly Softly
+item_11_comment=Create no more than 450 footprints
+item_12_id=SNOWPLOW
+item_12_title=Snow Plow
+item_12_comment=Somebody's got to do it...
+item_13_id=ONLINETROLL
+item_13_title=Online Troll
+item_13_comment=Gain access to an online game
+item_14_id=GHOSTLYSILENT
+item_14_title=Ghostly silent
+item_14_comment=Keep clam and keep cool
+item_15_id=DUMPSTERJUMPER
+item_15_title=Dumpster Jumper
+item_15_comment=Make a leap without falling once
+item_16_id=LAYINGITBEAR
+item_16_title=Laying it Bear
+item_16_comment=Learn a long kept secret
+item_17_id=JOINEDTHEMUSIC
+item_17_title=Joined the Music
+item_17_comment=She has plenty of time...
diff --git a/devtools/create_achievements/gen/steam-252370.ini b/devtools/create_achievements/gen/steam-252370.ini
new file mode 100644
index 0000000000..4bb79b1028
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-252370.ini
@@ -0,0 +1,31 @@
+[achievements:en]
+item_0_id=MAVEN
+item_0_title=Maven
+item_0_comment=The best at what you do.
+item_1_id=MESHUGGA
+item_1_title=Meshugga
+item_1_comment=Absolutely crazy
+item_2_id=MENSCH
+item_2_title=Mensch
+item_2_comment=A real gentleman
+item_3_id=KEMFER
+item_3_title=Kemfer
+item_3_comment=A fighter - usually for a cause
+item_4_id=HEFLEKH
+item_4_title=Heflekh
+item_4_comment=Remain polite and civil
+item_5_id=MUTSHE
+item_5_title=Mutshe
+item_5_comment=Get on someone's nerves
+item_6_id=KLUG
+item_6_title=Klug
+item_6_comment=Wise, smart or clever
+item_7_id=SHONDA_FOR_THE_GOYIM
+item_7_title=Shonda for the Goyim
+item_7_comment=Bring shame upon your fellow Jews
+item_8_id=UBERMENSCH
+item_8_title=Ubermensch
+item_8_comment=An example to us all
+item_9_id=SHMULKY
+item_9_title=Shmulky
+item_9_comment=Doom and gloom with no end in sight
diff --git a/devtools/create_achievements/gen/steam-253110.ini b/devtools/create_achievements/gen/steam-253110.ini
new file mode 100644
index 0000000000..ad1c84fa15
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-253110.ini
@@ -0,0 +1,76 @@
+[achievements:en]
+item_0_id=CHAPTER_1
+item_0_title=Chapter 1 Completed!
+item_0_comment=Complete the first chapter.
+item_1_id=CHAPTER_2
+item_1_title=Chapter 2 Completed!
+item_1_comment=Complete the second chapter.
+item_2_id=CHAPTER_3
+item_2_title=Chapter 3 Completed!
+item_2_comment=Complete the third chapter.
+item_3_id=CHAPTER_4
+item_3_title=Chapter 4 Completed!
+item_3_comment=Complete the fourth chapter.
+item_4_id=CHAPTER_5
+item_4_title=Chapter 5 Completed!
+item_4_comment=Complete the fifth chapter.
+item_5_id=CHAPTER_6
+item_5_title=Chapter 6 Completed!
+item_5_comment=Complete the sixth chapter.
+item_6_id=CHAPTER_7
+item_6_title=Chapter 7 Completed!
+item_6_comment=Complete the final chapter.
+item_7_id=REWARD
+item_7_title=The Great Reward
+item_7_hidden=true
+item_8_id=SCRATCH
+item_8_title=Sharp Scratch
+item_8_hidden=true
+item_9_id=MACE
+item_9_title=A Lady With A Mace
+item_9_hidden=true
+item_10_id=UNBREAKABLE
+item_10_title=Unbreakable
+item_10_hidden=true
+item_11_id=LISTENED
+item_11_title=I Listened
+item_11_hidden=true
+item_12_id=MAGGOTS
+item_12_title=Follow the Maggots
+item_12_hidden=true
+item_13_id=MY_WAY
+item_13_title=I'll Do It My Way
+item_13_hidden=true
+item_14_id=F_YOU
+item_14_title=Go Fuck Yourself
+item_14_hidden=true
+item_15_id=NETTLES
+item_15_title=Nettles
+item_15_hidden=true
+item_16_id=WELCOME
+item_16_title=You're Welcome
+item_16_hidden=true
+item_17_id=SCARED
+item_17_title=Scared of Dying
+item_17_hidden=true
+item_18_id=SACRIFICE
+item_18_title=Sacrifice
+item_18_hidden=true
+item_19_id=KILLER
+item_19_title=A Ruthless Killer
+item_19_hidden=true
+item_20_id=CARE
+item_20_title=I Care About You
+item_20_hidden=true
+item_21_id=REVENGE
+item_21_title=Revenge
+item_21_hidden=true
+item_22_id=SUNFLOWER
+item_22_title=A Flower That Bent Towards the Sun
+item_22_hidden=true
+item_23_id=MONSTER
+item_23_title=Monster In the Fog
+item_23_hidden=true
+item_24_id=CLEAVER
+item_24_title=How Very Cleaver
+item_24_hidden=true
diff --git a/devtools/create_achievements/gen/steam-257690.ini b/devtools/create_achievements/gen/steam-257690.ini
new file mode 100644
index 0000000000..ec6115a874
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-257690.ini
@@ -0,0 +1,121 @@
+[achievements:en]
+item_0_id=ACHI_LAND
+item_0_title=Good morning Xenophon!
+item_0_comment=You've managed to land on a planet.
+item_1_id=ACHI_MIND
+item_1_title=Observant player
+item_1_comment=You've obtained your first Mind'o'Matic.
+item_2_id=ACHI_JUNGLE
+item_2_title=Explorer
+item_2_hidden=true
+item_3_id=ACHI_HACKER
+item_3_title=Hacker
+item_3_comment=You have hacked into all datapads.
+item_4_id=ACHI_MEMORY
+item_4_title=Sweet memories
+item_4_comment=You have recovered some of J.U.L.I.A.'s erased memory clusters.
+item_5_id=ACHI_TRAVEL
+item_5_title=Traveller
+item_5_comment=You have visited all the planets.
+item_6_id=ACHI_LUDITE
+item_6_title=Luddite
+item_6_hidden=true
+item_7_id=ACHI_SCIENTIST
+item_7_title=Real scientist
+item_7_comment=You've analyzed every single object in the game.
+item_8_id=ACHI_PLAT1
+item_8_title=Pacifist
+item_8_hidden=true
+item_9_id=ACHI_PLAT2
+item_9_title=Science over all
+item_9_hidden=true
+item_10_id=ACHI_PLAT3
+item_10_title=Apathy
+item_10_hidden=true
+item_11_id=ACHI_FIRST
+item_11_title=First contact
+item_11_comment=You encountered your first sentient extraterrestrial being.
+item_12_id=ACHI_UPGRADE
+item_12_title=Constructor Jr.
+item_12_comment=You built your first upgrade.
+item_13_id=ACHI_MEGABOT
+item_13_title=Megabot
+item_13_comment=You've fully upgraded Mobot.
+item_14_id=ACHI_REPAIR
+item_14_title=Plumber
+item_14_comment=You repaired the probe. The result is that you won't probably die.
+item_15_id=ACHI_XIR1
+item_15_title=Deadly Xir
+item_15_hidden=true
+item_16_id=ACHI_XIR2
+item_16_title=Xir Destroyer
+item_16_hidden=true
+item_17_id=ACHI_XIR3
+item_17_title=Xir the Invincible
+item_17_hidden=true
+item_18_id=ACHI_XIR4
+item_18_title=Jaeger
+item_18_hidden=true
+item_19_id=ACHI_SCHI
+item_19_title=Dreamer
+item_19_hidden=true
+item_20_id=ACHI_NIBIRU
+item_20_title=Artificial planet
+item_20_hidden=true
+item_21_id=ACHI_FULLMIND
+item_21_title=Great mind
+item_21_comment=You solved all Mind'o'Matics.
+item_22_id=ACHI_COMPL
+item_22_title=Completist
+item_22_comment=You have completed everything, the game had to offer.
+item_23_id=ACHI_END1
+item_23_title=Homesick
+item_23_hidden=true
+item_24_id=ACHI_END2
+item_24_title=Adventurous
+item_24_hidden=true
+item_25_id=ACHI_TRAPPER
+item_25_title=Trapper
+item_25_hidden=true
+item_26_id=ACHI_DECRYPT
+item_26_title=Cryptoanalyst
+item_26_hidden=true
+item_27_id=ACHI_CREDITS
+item_27_title=Voyeur
+item_27_hidden=true
+item_28_id=ACHI_SCAN
+item_28_title=Methodical
+item_28_comment=You scanned all the planets.
+item_29_id=ACHI_CORDES
+item_29_title=Unexpected visitor
+item_29_hidden=true
+item_30_id=ACHI_UNT_START
+item_30_title=Untold: Hungry for more?
+item_30_hidden=true
+item_31_id=ACHI_UNT_BLUE
+item_31_title=Untold: Blue solved
+item_31_hidden=true
+item_32_id=ACHI_UNT_RED
+item_32_title=Untold: Red solved
+item_32_hidden=true
+item_33_id=ACHI_UNT_PURPLE
+item_33_title=Untold: Purple solved
+item_33_hidden=true
+item_34_id=ACHI_UNT_GREEN
+item_34_title=Untold: Green solved
+item_34_hidden=true
+item_35_id=ACHI_UNT_YELLOW
+item_35_title=Untold: Yellow solved
+item_35_hidden=true
+item_36_id=ACHI_UNT_WIRELESS
+item_36_title=Untold: Go wireless
+item_36_hidden=true
+item_37_id=ACHI_UNT_BLINDER
+item_37_title=Untold: Blinder
+item_37_hidden=true
+item_38_id=ACHI_UNT_AMPLIFIER
+item_38_title=Untold: Amplifier
+item_38_hidden=true
+item_39_id=ACHI_UNT_FINISHED
+item_39_title=Untold: You know the story
+item_39_hidden=true
diff --git a/devtools/create_achievements/gen/steam-264560.ini b/devtools/create_achievements/gen/steam-264560.ini
new file mode 100644
index 0000000000..ba3172c6cb
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-264560.ini
@@ -0,0 +1,178 @@
+[achievements:en]
+item_0_id=qfi_act1
+item_0_title=Act 1
+item_0_comment=You've finished Act 1 of Quest for Infamy. Hooray!
+item_1_id=qfi_act2
+item_1_title=Act 2
+item_1_comment=No more working for Rayford!
+item_2_id=qfi_act3
+item_2_title=Act 3
+item_2_comment=You Win!
+item_3_id=qfi_rogue
+item_3_title=You Sneaky Bastard
+item_3_comment=You're a Rogue.
+item_4_id=qfi_brigand
+item_4_title=Basher
+item_4_comment=You're a Brigand.
+item_5_id=qfi_sorcerer
+item_5_title=Hocus Pocus
+item_5_comment=You're a Sorcerer.
+item_6_id=qfi_working
+item_6_title=Working for the Man
+item_6_comment=You helped out around the docks of Tyr. For Money.
+item_7_id=qfi_monsters
+item_7_title=Simply the Best
+item_7_comment=You defeated every random monster in the Valley of Krasna.
+item_8_id=qfi_swamp
+item_8_title=Let there be Light
+item_8_hidden=true
+item_9_id=qfi_boardgame
+item_9_title=Puzzles are Hard!
+item_9_comment=You defeated the puzzle board.
+item_10_id=qfi_unpicker
+item_10_title=The Great Unpicker
+item_10_comment=You opened the lock. It really wasn't that hard was it?
+item_11_id=qfi_archery
+item_11_title=Perfect!
+item_11_comment=You achieved a perfect score in archery.
+item_12_id=qfi_voleris
+item_12_title=Staked Your Claim
+item_12_hidden=true
+item_13_id=qfi_tent
+item_13_title=Pitched Your Tent
+item_13_hidden=true
+item_14_id=qfi_pisshead
+item_14_title=Pisshead
+item_14_hidden=true
+item_15_id=qfi_healer
+item_15_title=Thankfully there's a healer nearby
+item_15_comment=You thought you were dead for a moment there, but you woke up in Jerrod's feeling much better.
+item_16_id=qfi_useless
+item_16_title=Collector of Useless Crap
+item_16_hidden=true
+item_17_id=qfi_sorcerer2
+item_17_title=Pretty Good Sorcerer
+item_17_comment=You mastered your spells to a pretty good level. At least they're more powerful now.
+item_18_id=qfi_sorcerer3
+item_18_title=Kick-Ass Sorcerer
+item_18_comment=You maxed out your spells! You really kick some ass.
+item_19_id=qfi_minmax
+item_19_title=Min / Maxed
+item_19_comment=You raised your combat skills to 100. That took a lot of effort so, really, well done you.
+item_20_id=qfi_coned
+item_20_title=You Got Coned
+item_20_hidden=true
+item_21_id=qfi_beastmaster
+item_21_title=Beast Master
+item_21_comment=You killed the beast. Her name was Johanna if you wanted to know.
+item_22_id=qfi_chatalot
+item_22_title=Sir Chat-A-Lot
+item_22_comment=You talked with everyone in Volksville you needed to speak with to progress to the execution.
+item_23_id=qfi_clockwatcher
+item_23_title=Clock Watcher
+item_23_hidden=true
+item_24_id=qfi_burn
+item_24_title=Burn Baby Burn
+item_24_hidden=true
+item_25_id=qfi_gorthdead
+item_25_title=He Deserved It
+item_25_hidden=true
+item_26_id=qfi_gorthmercy
+item_26_title=Toast of the Town
+item_26_hidden=true
+item_27_id=qfi_thievesden
+item_27_title=You Found It
+item_27_comment=You found the thieves den while travelling the Rogue's path.
+item_28_id=qfi_sorcereritems
+item_28_title=That's a lot of stuff
+item_28_comment=You found and created all the magic spells for Prospero while travelling the Sorcerer's path.
+item_29_id=qfi_horse
+item_29_title=Horse Lover
+item_29_comment=You found and delivered mastadon to Kurdt, your first real task on the path of the Brigand.
+item_30_id=qfi_apple
+item_30_title=Over an apple?
+item_30_hidden=true
+item_31_id=qfi_seal
+item_31_title=Reuniting the Seal
+item_31_hidden=true
+item_32_id=qfi_japsworth
+item_32_title=Good Old Stories
+item_32_hidden=true
+item_33_id=qfi_reading
+item_33_title=Reading is fundamental
+item_33_hidden=true
+item_34_id=qfi_payhunter
+item_34_title=Paying for information
+item_34_hidden=true
+item_35_id=qfi_feedhunter
+item_35_title=Paying with food
+item_35_hidden=true
+item_36_id=qfi_assistant
+item_36_title=He dropped the moonshine!
+item_36_hidden=true
+item_37_id=qfi_shaking
+item_37_title=Stop Shaking Me
+item_37_hidden=true
+item_38_id=qfi_destroymoonshiner
+item_38_title=Break, Rattle and Roll
+item_38_hidden=true
+item_39_id=qfi_slaver
+item_39_title=A Regular Wilberforce
+item_39_hidden=true
+item_40_id=qfi_robes
+item_40_title=Green is the new white
+item_40_hidden=true
+item_41_id=qfi_sewers
+item_41_title=Sewer Rat
+item_41_hidden=true
+item_42_id=qfi_uotarragh
+item_42_title=What's his name again?
+item_42_hidden=true
+item_43_id=qfi_blackbird
+item_43_title=Blackbird No Longer Singing
+item_43_comment=You stole the bird while travelling the path of the Rogue.
+item_44_id=qfi_necromancer
+item_44_title=It's not easy being green
+item_44_hidden=true
+item_45_id=qfi_kraken
+item_45_title=Kraken Good Times
+item_45_hidden=true
+item_46_id=qfi_dwarf
+item_46_title=You look like a dwarf
+item_46_comment=You looted every available container, drum and stash in the mines.
+item_47_id=qfi_ambusheasy
+item_47_title=You picked ... the easy way
+item_47_hidden=true
+item_48_id=qfi_ambushhard
+item_48_title=You picked ... the hard way
+item_48_hidden=true
+item_49_id=qfi_bigd
+item_49_title=I know the way
+item_49_hidden=true
+item_50_id=qfi_thiefhouses
+item_50_title=Expert Thief
+item_50_comment=You broke into all the houses you could.
+item_51_id=qfi_paw
+item_51_title=Poor Paw
+item_51_hidden=true
+item_52_id=qfi_jan
+item_52_title=Jan loves you
+item_52_hidden=true
+item_53_id=qfi_arrows
+item_53_title=An Arrow through your heart
+item_53_hidden=true
+item_54_id=qfi_paladin
+item_54_title=A Paladin loves you
+item_54_hidden=true
+item_55_id=qfi_council
+item_55_title=Friends in high places
+item_55_hidden=true
+item_56_id=qfi_smoked
+item_56_title=Smoked!
+item_56_hidden=true
+item_57_id=qfi_rayfordkill
+item_57_title=That bastard deserved worse!
+item_57_hidden=true
+item_58_id=qfi_rayfordjan
+item_58_title=Don't mess with a fat man
+item_58_hidden=true
diff --git a/devtools/create_achievements/gen/steam-270570.ini b/devtools/create_achievements/gen/steam-270570.ini
new file mode 100644
index 0000000000..e0a97fb338
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-270570.ini
@@ -0,0 +1,49 @@
+[achievements:en]
+item_0_id=ACHIEVEMENT_SEDANTE
+item_0_title=Sweet Dreams
+item_0_hidden=true
+item_1_id=ACHIEVEMENT_CHISTOSO
+item_1_title=Funny Man
+item_1_comment=Read all the jokes in the graffiti
+item_2_id=ACHIEVEMENT_TERMINAR_SIN_PISTAS
+item_2_title=The Riddle
+item_2_comment=Finish the game without using the hint system
+item_3_id=ACHIEVEMENT_GUARDIA_ENCINTADO
+item_3_title=The Caterpillar
+item_3_hidden=true
+item_4_id=ACHIEVEMENT_TERMINAR_JUEGO
+item_4_title=The Escapist
+item_4_comment=Escape from the hospital and finish the game
+item_5_id=ACHIEVEMENT_HACER_FUEGO
+item_5_title=Incendiary
+item_5_hidden=true
+item_6_id=ACHIEVEMENT_HABLAR_CON_CHICA_ANTES_DE_DARLE_LA_FOTO
+item_6_title=Lady Killer
+item_6_comment=Talk to the girl
+item_7_id=ACHIEVEMENT_GANAR_2_VECES
+item_7_title=The perfect escapist
+item_7_comment=Finish the game for a second time
+item_8_id=ACHIEVEMENT_INSISTENTE
+item_8_title=Nuisance guy
+item_8_hidden=true
+item_9_id=ACHIEVEMENT_INTRODUCCION
+item_9_title=Introduction
+item_9_comment=Start a new game
+item_10_id=ACHIEVEMENT_LLAVE_DEPOSITO
+item_10_title=GateKeeper
+item_10_hidden=true
+item_11_id=ACHIEVEMENT_DESMAYAR_GUARDIA_MATAFUEGOS
+item_11_title=Off down!
+item_11_hidden=true
+item_12_id=ACHIEVEMENT_PALO_GUARDIA
+item_12_title=Big Stick
+item_12_comment=Grab the baseball bat
+item_13_id=ACHIEVEMENT_ENGANCHA_SOGA
+item_13_title=Perfect escape
+item_13_hidden=true
+item_14_id=ACHIEVEMENT_HABLAR_RATA
+item_14_title=The Piper
+item_14_comment=Hypnotize a rat
+item_15_id=ACHIEVEMENT_TIMING
+item_15_title=Marathon Runner
+item_15_comment=Finish the game in less than 4 hours
diff --git a/devtools/create_achievements/gen/steam-270610.ini b/devtools/create_achievements/gen/steam-270610.ini
new file mode 100644
index 0000000000..82bb6ab522
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-270610.ini
@@ -0,0 +1,185 @@
+[stats:en]
+item_0_id=DEFEATED_BACKERS
+item_0_comment=Defeated Backers
+item_0_start=0
+item_1_id=HOW_MANY_DRINKS
+item_1_comment=How Many Drinks
+item_1_start=0
+item_2_id=MUSHROOM_COUNT
+item_2_comment=Mushroom Count
+item_2_start=0
+item_3_id=ENEMY_TYPES_KILLED
+item_3_comment=Enemy Types Killed
+item_3_start=0
+item_4_id=KILL_COUNT
+item_4_comment=Kill Count
+item_4_start=0
+item_5_id=WAFE_FIRE_POINTS
+item_5_comment=WAFE Fire Points
+item_5_start=0
+item_6_id=WAFE_AIR_POINTS
+item_6_comment=WAFE Air Points
+item_6_start=0
+item_7_id=WAFE_WATER_POINTS
+item_7_comment=WAFE Water Points
+item_7_start=0
+item_8_id=WAFE_EARTH_POINTS
+item_8_comment=WAFE Earth Points
+item_8_start=0
+item_9_id=ELEPORTED_LOCATIONS
+item_9_comment=Ele'ported Locations
+item_9_start=0
+item_10_id=READ_COUNT
+item_10_comment=Read Count
+item_10_start=0
+item_11_id=HOW_MANY_CLASSES
+item_11_comment=How Many Classes
+item_11_start=0
+item_12_id=HOW_MANY_SIDEQUESTS
+item_12_comment=How Many Sidequests
+item_12_start=0
+item_13_id=TEAR_GEMS_COLLECTED
+item_13_comment=Tear Gems Collected
+item_13_start=0
+item_14_id=KILL_COUNT50
+item_14_comment=Kill Count
+item_14_start=0
+item_15_id=KILL_COUNT100
+item_15_comment=Kill Count
+item_15_start=0
+item_16_id=KILL_COUNT500
+item_16_comment=Kill Count
+item_16_start=0
+[achievements:en]
+item_0_id=DABBLING
+item_0_title=Dabbling
+item_0_comment=Earn your first spells from the Sphere of Knowledge.
+item_1_id=BACK_OFF_BACKERS
+item_1_title=Back Off Backers
+item_1_comment=Beat both Mage sparring partners.
+item_2_id=YOU_KNOW_YOUR_LIQUOR
+item_2_title=You Know Your Liquor
+item_2_comment=Acquire one of each drink type at the tavern.
+item_3_id=WHAT_RIVER_CARD
+item_3_title=What River Card?
+item_3_comment=Win a hand of Demon's Deal.
+item_4_id=CARD_SHARK
+item_4_title=Card Shark
+item_4_comment=Win the maximum number of Demon's Deal rounds.
+item_5_id=LOVE_THOSE_SHROOMS
+item_5_title=Love Those 'Shrooms
+item_5_comment=Pick all mushroom clusters in the forest.
+item_6_id=MERCY_TRUMPS_MURDER
+item_6_title=Mercy Trumps Murder
+item_6_comment=Spare a tainted life.
+item_7_id=YOURE_NO_MARMON
+item_7_title=You're No Marmon
+item_7_comment=Complete the first trial.
+item_8_id=BACK_FOR_MORE
+item_8_title=Back For More
+item_8_comment=Earn your second spells from the Sphere of Knowledge.
+item_9_id=I_GET_AROUND
+item_9_title=I Get Around
+item_9_comment=Ele'port to each pillar stone location.
+item_10_id=GHOST_STORY
+item_10_title=Ghost Story
+item_10_comment=Optimally complete the Fire side quest.
+item_11_id=THE_HEIST
+item_11_title=The Heist
+item_11_comment=Optimally complete the Water side quest.
+item_12_id=GREEN_FIEND
+item_12_title=Green Fiend
+item_12_comment=Optimally complete the Earth side quest.
+item_13_id=THE_AIR_UP_THERE
+item_13_title=The Air Up There
+item_13_comment=Optimally complete the Air side quest.
+item_14_id=NO_STONE_UNTURNED
+item_14_title=No Stone Unturned
+item_14_comment=Complete all class-based side quests with optimal outcomes.
+item_15_id=HONORABLE
+item_15_title=Honorable
+item_15_comment=Return a borrowed item.
+item_16_id=HANDLED_WITH_CARE
+item_16_title=Handled With Care
+item_16_comment=No sacred avian was harmed.
+item_17_id=CLIMBED_EVERY_MOUNTAIN
+item_17_title=Climbed Every Mountain
+item_17_comment=Complete the second trial.
+item_18_id=NOW_YOURE_TALKING
+item_18_title=Now You're Talking
+item_18_comment=Earn your third spells from the Sphere of Knowledge.
+item_19_id=DETECTIVE_DARC
+item_19_title=Detective D'arc
+item_19_comment=Complete the severed circle story branch.
+item_20_id=DIVERSIFIED
+item_20_title=Diversified
+item_20_comment=Kill one of each monster type.
+item_21_id=WELL_READ
+item_21_title=Well Read
+item_21_comment=Find and read all books and notes.
+item_22_id=COLLECTOR
+item_22_title=Collector
+item_22_comment=Find all three "Tear" class brooches.
+item_23_id=WHO_PUT_DA_LIGHTS_OUT
+item_23_title=Who Put Da Lights Out?
+item_23_comment=Extinguish the Redcaps' camp fire.
+item_24_id=THANKS_BUT_NO_THANKS
+item_24_title=Thanks, But No Thanks
+item_24_comment=Reject a dark deal.
+item_25_id=ITS_NOT_EASY_BEING_GREEN
+item_25_title=It's Not Easy Being Green
+item_25_comment=Make a red delivery to the Greencaps.
+item_26_id=IF_I_EVER_SEE_ANOTHER_GOBLIN
+item_26_title=If I Ever See Another Goblin...
+item_26_comment=Complete the third trial.
+item_27_id=FRIEND_IN_NEED
+item_27_title=Friend in Need
+item_27_comment=An ally survives.
+item_28_id=ONE_MAN_BOMB_SQUAD
+item_28_title=One Man Bomb Squad
+item_28_comment=Both allies survive.
+item_29_id=SHOWDOWN
+item_29_title=Showdown
+item_29_comment=Defeat the Big Bad.
+item_30_id=MAXED_OUT
+item_30_title=Maxed Out
+item_30_comment=Max out all your stats.
+item_31_id=YOU_MADE_YOUR_POINTS
+item_31_title=You Made Your Points
+item_31_comment=Finish the game with max XP / score.
+item_32_id=INITIATED
+item_32_title=Initiated
+item_32_comment=Complete the game.
+item_33_id=STAY_CLASSY
+item_33_title=Stay Classy
+item_33_comment=Finish the game with all 4 classes.
+item_34_id=PACIFIST
+item_34_title=Pacifist
+item_34_comment=Kill only the bosses (no regular monsters).
+item_35_id=PYRO
+item_35_title=Pyro
+item_35_comment=Earn all Fire class Bonus points.
+item_36_id=FLOOD_READY
+item_36_title=Flood Ready
+item_36_comment=Earn all Water class Bonus points.
+item_37_id=GROUNDED
+item_37_title=Grounded
+item_37_comment=Earn all Earth class Bonus points.
+item_38_id=UP_UP_AND_AWAY
+item_38_title=Up, Up, and Away
+item_38_comment=Earn all Air class Bonus points.
+item_39_id=WHOS_COUNTING
+item_39_title=Who's Counting?
+item_39_comment=Kill 50 enemies.
+item_40_id=DEDICATED
+item_40_title=Dedicated
+item_40_comment=Kill 100 enemies.
+item_41_id=INSATIABLE
+item_41_title=Insatiable
+item_41_comment=Kill 500 enemies.
+item_42_id=APOCALYPTIC
+item_42_title=Apocalyptic
+item_42_comment=Kill 1,000 enemies.
+item_43_id=DONT_NEED_NO_STINKIN_BUFFS
+item_43_title=Don't Need No Stinkin' Buffs
+item_43_comment=Beat the game without equipping any extra gems or items (after the initial tutorial).
diff --git a/devtools/create_achievements/gen/steam-279260.ini b/devtools/create_achievements/gen/steam-279260.ini
new file mode 100644
index 0000000000..f658826dd2
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-279260.ini
@@ -0,0 +1,64 @@
+[achievements:en]
+item_0_id=NEW_ACHIEVEMENT_1_0
+item_0_title=The Albatross Corridor
+item_0_comment=You encouraged Alice to begin opening up.
+item_1_id=NEW_ACHIEVEMENT_1_1
+item_1_title=Blocks That Matter
+item_1_comment=You used a child's toy to escape from the basement.
+item_2_id=NEW_ACHIEVEMENT_1_2
+item_2_title=Hall of Mirrors
+item_2_comment=You gave Alice the guided tour.
+item_3_id=NEW_ACHIEVEMENT_1_3
+item_3_title=Bathroom Break
+item_3_comment=You moved into a nice new house. Sort of.
+item_4_id=NEW_ACHIEVEMENT_1_4
+item_4_title=Housework
+item_4_comment=You used cleaning supplies incorrectly and got very upset.
+item_5_id=NEW_ACHIEVEMENT_1_5
+item_5_title=Flowers to Dead Man
+item_5_comment=You took Barney to his dad's grave. Or did you?
+item_6_id=NEW_ACHIEVEMENT_1_6
+item_6_title=Sirens
+item_6_comment=You called for help… but no-one came.
+item_7_id=NEW_ACHIEVEMENT_1_7
+item_7_title=The Homecoming
+item_7_comment=You desecrated a church, but don't feel too guilty.
+item_8_id=NEW_ACHIEVEMENT_1_8
+item_8_title=Don't Gloat, Richard
+item_8_comment=You escaped from certain death, irresponsibly.
+item_9_id=NEW_ACHIEVEMENT_1_9
+item_9_title=The Sound of Silence
+item_9_comment=You know what you did.
+item_10_id=NEW_ACHIEVEMENT_1_10
+item_10_title=Smoke & Mirrors
+item_10_comment=You escaped from prison, and uncovered the truth.
+item_11_id=NEW_ACHIEVEMENT_1_11
+item_11_title=Polar Bear Territory
+item_11_comment=You went off to uncharted territory.
+item_12_id=NEW_ACHIEVEMENT_1_12
+item_12_title=Parting Ways
+item_12_comment=You parted ways... amicably.
+item_13_id=NEW_ACHIEVEMENT_1_13
+item_13_title=Justice For All
+item_13_comment=But is it justice, or revenge?
+item_14_id=NEW_ACHIEVEMENT_1_14
+item_14_title=Hold On
+item_14_comment=You made your final decision.
+item_15_id=NEW_ACHIEVEMENT_1_15
+item_15_title=Nothing's Changed
+item_15_comment=You finally understand each other.
+item_16_id=NEW_ACHIEVEMENT_1_16
+item_16_title=The Magic Bullet
+item_16_comment=You defied death and retrieved the mysterious box.
+item_17_id=NEW_ACHIEVEMENT_1_17
+item_17_title=Alice The Librarian
+item_17_comment=You found and read all the documents.
+item_18_id=NEW_ACHIEVEMENT_1_18
+item_18_title=Analogue: A Televised Story
+item_18_comment=You watched the highly accurate TV adaptation of Analogue: A Hate Story.
+item_19_id=NEW_ACHIEVEMENT_1_19
+item_19_title=It's Dangerous to Go Alone
+item_19_comment=You gave Barney a keepsake.
+item_20_id=NEW_ACHIEVEMENT_1_20
+item_20_title=Testing the Waters
+item_20_comment=You talked to Alice about your family... again.
diff --git a/devtools/create_achievements/gen/steam-281060.ini b/devtools/create_achievements/gen/steam-281060.ini
new file mode 100644
index 0000000000..22c1111832
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-281060.ini
@@ -0,0 +1,76 @@
+[achievements:en]
+item_0_id=ACHIEVEMENT_INTRODUCCION2
+item_0_title=Introduction
+item_0_comment=Start a new game
+item_1_id=ACHIEVEMENT_PABLO
+item_1_title=Mystery man
+item_1_hidden=true
+item_2_id=ACHIEVEMENT_ESTACIONES_SUBTE
+item_2_title=Subway Maraude
+item_2_comment=Take a stroll through the subway
+item_3_id=ACHIEVEMENT_PUERTA_SECRETA
+item_3_title=Secret Door
+item_3_hidden=true
+item_4_id=ACHIEVEMENT_BULLSEYE
+item_4_title=Bullseye
+item_4_comment=Resolve the subway puzzle on your first attempt
+item_5_id=ACHIEVEMENT_MECANICO
+item_5_title=The Mechanic
+item_5_hidden=true
+item_6_id=ACHIEVEMENT_ELECTRISISTA
+item_6_title=The Electrician
+item_6_hidden=true
+item_7_id=ACHIEVEMENT_CARPINTERO
+item_7_title=The Carpenter
+item_7_hidden=true
+item_8_id=ACHIEVEMENT_TOMB_RAIDER
+item_8_title=Tomb Raider
+item_8_hidden=true
+item_9_id=ACHIEVEMENT_INFORMANTE
+item_9_title=The Informant
+item_9_hidden=true
+item_10_id=ACHIEVEMENT_PASTELITO_EXPLOSIVO
+item_10_title=Exploding Candy
+item_10_hidden=true
+item_11_id=ACHIEVEMENT_PASTELITO_SEDANTE
+item_11_title=Sleeping Candy
+item_11_hidden=true
+item_12_id=ACHIEVEMENT_RECORDANDO
+item_12_title=Remembering
+item_12_hidden=true
+item_13_id=ACHIEVEMENT_ESPANTA_MOSCAS
+item_13_title=Flier Shoosh
+item_13_hidden=true
+item_14_id=ACHIEVEMENT_ESTUDIANTE
+item_14_title=The Student
+item_14_comment=Visit the house of knowledge
+item_15_id=ACHIEVEMENT_ACOMODADOR
+item_15_title=Usher
+item_15_hidden=true
+item_16_id=ACHIEVEMENT_BAJANDO_AGUA
+item_16_title=Lowering Water
+item_16_comment=Find the right combination
+item_17_id=ACHIEVEMENT_PUERTA_LABORATORIO
+item_17_title=The final door
+item_17_hidden=true
+item_18_id=ACHIEVEMENT_FINAL
+item_18_title=Winner
+item_18_comment=Finish the game
+item_19_id=ACHIEVEMENT_CONOCEDOR_SUBTE
+item_19_title=Subway Erudite
+item_19_comment=You know all the stations by heart
+item_20_id=ACHIEVEMENT_LADRON
+item_20_title=Thief
+item_20_hidden=true
+item_21_id=ACHIEVEMENT_PALA_FRAGIL
+item_21_title=Broken Shovel
+item_21_comment=You can't dig with a broken shovel
+item_22_id=ACHIEVEMENT_TIMING2
+item_22_title=Marathon Runner
+item_22_comment=Finish the game in less than 4 hours
+item_23_id=ACHIEVEMENT_TERMINAR_SIN_PISTAS2
+item_23_title=Riddle Guy
+item_23_comment=Finish the game without using the hint system
+item_24_id=ACHIEVEMENT_GANAR_2_VECES2
+item_24_title=Double Winner
+item_24_comment=Finish the game for a second time
diff --git a/devtools/create_achievements/gen/steam-281080.ini b/devtools/create_achievements/gen/steam-281080.ini
new file mode 100644
index 0000000000..febaffe479
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-281080.ini
@@ -0,0 +1,109 @@
+[achievements:en]
+item_0_id=ACHIEVEMENT_INTRODUCCION3
+item_0_title=Introduction
+item_0_hidden=true
+item_1_id=ACHIEVEMENT_HISTORIA_VICTORIA
+item_1_title=The orphan
+item_1_hidden=true
+item_2_id=ACHIEVEMENT_CUPIDO
+item_2_title=Cupid
+item_2_hidden=true
+item_3_id=ACHIEVEMENT_BORRACHO
+item_3_title=Drinking buddy
+item_3_hidden=true
+item_4_id=ACHIEVEMENT_OSO_PELUCHE
+item_4_title=Teddy
+item_4_hidden=true
+item_5_id=ACHIEVEMENT_HIT_THOSE_MOLES_2
+item_5_title=The fast and the furious
+item_5_hidden=true
+item_6_id=ACHIEVEMENT_HIT_THOSE_MOLES_5
+item_6_title=Addict
+item_6_hidden=true
+item_7_id=ACHIEVEMENT_RATON_GOMA
+item_7_title=The elephant
+item_7_hidden=true
+item_8_id=ACHIEVEMENT_MONO_ATACANDO
+item_8_title=Don’t feed the animals
+item_8_hidden=true
+item_9_id=ACHIEVEMENT_MONO_ASUSTADO
+item_9_title=The planet of the apes
+item_9_hidden=true
+item_10_id=ACHIEVEMENT_RESCATE_PABLO
+item_10_title=Rescuing Pablo
+item_10_hidden=true
+item_11_id=ACHIEVEMENT_HOME_SWEET_HOME
+item_11_title=Home sweet home
+item_11_hidden=true
+item_12_id=ACHIEVEMENT_LOCKSMITH
+item_12_title=Locksmith
+item_12_hidden=true
+item_13_id=ACHIEVEMENT_FLUX_CAPACITOR
+item_13_title=Back to the future
+item_13_hidden=true
+item_14_id=ACHIEVEMENT_VICTORIA_OCUPADA
+item_14_title=A very busy girl
+item_14_hidden=true
+item_15_id=ACHIEVEMENT_FOTO_FLORENCIA
+item_15_title=Where there was fire
+item_15_hidden=true
+item_16_id=ACHIEVEMENT_CRYSTAL_DISC
+item_16_title=Things to remember
+item_16_hidden=true
+item_17_id=ACHIEVEMENT_CENTRAL_COMUNICACIONES_SIN_CREDENCIAL_CORRECTA
+item_17_title=Admission rights
+item_17_hidden=true
+item_18_id=ACHIEVEMENT_TANGO_CON_FLORENCIA
+item_18_title=To the rhythm of tango
+item_18_hidden=true
+item_19_id=ACHIEVEMENT_TURISTA
+item_19_title=Tourist
+item_19_hidden=true
+item_20_id=ACHIEVEMENT_TANGO01
+item_20_title=Presidential plane
+item_20_hidden=true
+item_21_id=ACHIEVEMENT_PUERTO_MADERO_FLORENCIA
+item_21_title=Until death do us part
+item_21_hidden=true
+item_22_id=ACHIEVEMENT_CASA_ROSADA_MAIN_GATE
+item_22_title=The main gate
+item_22_hidden=true
+item_23_id=ACHIEVEMENT_PARTES_ESTABILIZADOR
+item_23_title=The Pulse Stabilizer
+item_23_hidden=true
+item_24_id=ACHIEVEMENT_NICOLAS_TIENE_TODO
+item_24_title=Back to the past
+item_24_hidden=true
+item_25_id=ACHIEVEMENT_VIRUS_INSTALADO
+item_25_title=Phone home
+item_25_hidden=true
+item_26_id=ACHIEVEMENT_ATRAPADO
+item_26_title=This is going to leave a mark
+item_26_hidden=true
+item_27_id=ACHIEVEMENT_ESCAPAMOS
+item_27_title=A new hope
+item_27_hidden=true
+item_28_id=ACHIEVEMENT_ESCAPE_SERGIO
+item_28_title=No turning back
+item_28_hidden=true
+item_29_id=ACHIEVEMENT_CHOCOLATE
+item_29_title=Cóndor Chocolate
+item_29_hidden=true
+item_30_id=ACHIEVEMENT_ATRAPAMOS_SERGIO
+item_30_title=Evil always pays
+item_30_hidden=true
+item_31_id=ACHIEVEMENT_SAN_MARTIN
+item_31_title=The Liberator
+item_31_hidden=true
+item_32_id=ACHIEVEMENT_TIMING_R3
+item_32_title=Marathon Runner
+item_32_hidden=true
+item_33_id=ACHIEVEMENT_TERMINAR_SIN_PISTAS_R3
+item_33_title=Riddle Guy
+item_33_hidden=true
+item_34_id=ACHIEVEMENT_TERMINAR_JUEGO_R3
+item_34_title=Winner
+item_34_hidden=true
+item_35_id=ACHIEVEMENT_GANAR_2_VECES_R3
+item_35_title=Double Winner
+item_35_hidden=true
diff --git a/devtools/create_achievements/gen/steam-283180.ini b/devtools/create_achievements/gen/steam-283180.ini
new file mode 100644
index 0000000000..143675de87
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-283180.ini
@@ -0,0 +1,52 @@
+[achievements:en]
+item_0_id=ACH_GREEN_FINGERS
+item_0_title=Green Fingers
+item_0_hidden=true
+item_1_id=ACH_HOBBY_BOTANIST
+item_1_title=Hobby Botanist
+item_1_hidden=true
+item_2_id=ACH_LIFE_GIVER
+item_2_title=Life Giver
+item_2_hidden=true
+item_3_id=ACH_WISHER
+item_3_title=Wisher
+item_3_hidden=true
+item_4_id=ACH_RESISTING_RAPTURE
+item_4_title=Resisting the Rapture
+item_4_hidden=true
+item_5_id=ACH_JOCKEYING_DISCS
+item_5_title=Jockeying the Discs
+item_5_hidden=true
+item_6_id=ACH_GOT_YOUR_BACK
+item_6_title=I Got Your Back
+item_6_hidden=true
+item_7_id=ACH_CLUE_FINDER
+item_7_title=Clue Finder
+item_7_hidden=true
+item_8_id=ACH_NO_QUARTER
+item_8_title=No Quarter
+item_8_hidden=true
+item_9_id=ACH_ELEMENTORY_SALOMON
+item_9_title=Elementory, My Dear Salomon
+item_9_hidden=true
+item_10_id=ACH_LET_BE_LIGHT
+item_10_title=Let There Be Light
+item_10_hidden=true
+item_11_id=ACH_BOOK_COLLECTOR
+item_11_title=Book Collector
+item_11_comment=Ord found the first chapter.
+item_12_id=ACH_TREASURE_HUNTER
+item_12_title=Treasure Hunter
+item_12_hidden=true
+item_13_id=ACH_INFILTRATOR
+item_13_title=Infiltrator
+item_13_hidden=true
+item_14_id=ACH_BOOK_COLLECTOR_II
+item_14_title=Book Collector, Level II
+item_14_comment=Ord found the second chapter.
+item_15_id=ACH_SCRATCH_SURFACE
+item_15_title=Scratching the Surface
+item_15_hidden=true
+item_16_id=ACH_BOOK_COLLECTOR_III
+item_16_title=Book Collector, Level III
+item_16_comment=Ord found the third chapter.
diff --git a/devtools/create_achievements/gen/steam-283880.ini b/devtools/create_achievements/gen/steam-283880.ini
new file mode 100644
index 0000000000..ea4d42a72d
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-283880.ini
@@ -0,0 +1,170 @@
+[stats:en]
+item_0_id=scoreWar
+item_0_comment=Warrior Score
+item_0_start=0
+item_1_id=scoreSor
+item_1_comment=Sorceress Score
+item_1_start=0
+item_2_id=scoreRog
+item_2_comment=Rogue Score
+item_2_start=0
+item_3_id=battles
+item_3_comment=Battles Won
+item_3_start=0
+item_4_id=gold
+item_4_comment=Gold Collected
+item_4_start=0
+item_5_id=days
+item_5_comment=Days Played
+item_5_start=0
+item_6_id=endCount
+item_6_comment=Games Won
+item_6_start=0
+item_7_id=endTime
+item_7_comment=Fastest Completion
+item_7_start=999
+item_8_id=endHonor
+item_8_comment=Highest Honor
+item_8_start=0
+item_9_id=bonesTime
+item_9_comment=Best Bones Time
+item_9_start=999
+[achievements:en]
+item_0_id=HQ01
+item_0_title=So You Want To Be A Heroine
+item_0_comment=Find your first food
+item_1_id=HQ02
+item_1_title=Apprentice Warrior
+item_1_comment=Reach chapter 2 as warrior
+item_2_id=HQ03
+item_2_title=Adept Warrior
+item_2_comment=Reach chapter 3 as warrior
+item_3_id=HQ04
+item_3_title=Master Warrior
+item_3_comment=Reach chapter 4 as warrior
+item_4_id=HQ05
+item_4_title=Legendary Warrior
+item_4_comment=Complete the game as warrior
+item_5_id=HQ06
+item_5_title=Paladin
+item_5_comment=Obtain Balmung
+item_6_id=HQ07
+item_6_title=Ultimate Warrior
+item_6_comment=Reach maximum score as warrior
+item_7_id=HQ08
+item_7_title=Apprentice Sorceress
+item_7_comment=Reach chapter 2 as sorceress
+item_8_id=HQ09
+item_8_title=Adept Sorceress
+item_8_comment=Reach chapter 3 as sorceress
+item_9_id=HQ10
+item_9_title=Master Sorceress
+item_9_comment=Reach chapter 4 as sorceress
+item_10_id=HQ11
+item_10_title=Legendary Sorceress
+item_10_comment=Complete the game as sorceress
+item_11_id=HQ12
+item_11_title=Archmage
+item_11_comment=Learn the lightning bolt spell
+item_12_id=HQ13
+item_12_title=Ultimate Sorceress
+item_12_comment=Reach maximum score as sorceress
+item_13_id=HQ14
+item_13_title=Apprentice Rogue
+item_13_comment=Reach chapter 2 as rogue
+item_14_id=HQ15
+item_14_title=Adept Rogue
+item_14_comment=Reach chapter 3 as rogue
+item_15_id=HQ16
+item_15_title=Master Rogue
+item_15_comment=Reach chapter 4 as rogue
+item_16_id=HQ17
+item_16_title=Legendary Rogue
+item_16_comment=Complete the game as rogue
+item_17_id=HQ18
+item_17_title=Loki's Trickster
+item_17_comment=Deal with violent situations without using violence
+item_18_id=HQ19
+item_18_title=Ultimate Rogue
+item_18_comment=Reach maximum score as rogue
+item_19_id=HQ20
+item_19_title=Jack of All Trades
+item_19_comment=Complete the game with all three classes
+item_20_id=HQ21
+item_20_title=Grandmaster Heroine
+item_20_comment=Play the entire game on hardest difficulty
+item_21_id=HQ22
+item_21_title=Hurried Heroine
+item_21_comment=Complete the game within one week
+item_22_id=HQ23
+item_22_title=Paragon Heroine
+item_22_comment=Complete the game with 100 honor
+item_23_id=HQ24
+item_23_title=Dirty Rotten Scoundrel
+item_23_comment=Complete the game with less than 10 honor
+item_24_id=HQ25
+item_24_title=My Kung Fu is Stronger
+item_24_comment=Prove yourself a better guardian than Sigurd
+item_25_id=HQ26
+item_25_title=Wiser than the Wizard
+item_25_comment=Prove yourself a better guardian than Aurvandel
+item_26_id=HQ27
+item_26_title=Cutting Corners
+item_26_comment=Steal a quest reward without doing the quest
+item_27_id=HQ29
+item_27_title=Bronze Medal
+item_27_comment=Win an easy victory in the Test of Fate
+item_28_id=HQ30
+item_28_title=Silver Medal
+item_28_comment=Win a moderate victory in the Test of Fate
+item_29_id=HQ31
+item_29_title=Gold Medal
+item_29_comment=Win a difficult victory in the Test of Fate
+item_30_id=HQ32
+item_30_title=What a Workout!
+item_30_comment=Maximize your primary stats
+item_31_id=HQ36
+item_31_title=Trial by Fire
+item_31_comment=Defeat Surtr
+item_32_id=HQ37
+item_32_title=Wages of War
+item_32_comment=Win the battle for Munarvagir
+item_33_id=HQ38
+item_33_title=Shadows of Darkness
+item_33_comment=Deliver the svartalf crystal
+item_34_id=HQ39
+item_34_title=Braugging Rights
+item_34_hidden=true
+item_35_id=HQ41
+item_35_title=Your Bloom is at Hand!
+item_35_hidden=true
+item_36_id=HQ42
+item_36_title=Where it All Began
+item_36_hidden=true
+item_37_id=HQ43
+item_37_title=A POIsonous Achievement!
+item_37_hidden=true
+item_38_id=HQ44
+item_38_title=Most IMPressive
+item_38_hidden=true
+item_39_id=HQ45
+item_39_title=In Loving Memory
+item_39_hidden=true
+item_40_id=HQ46
+item_40_title=Home is where the Heart Lies
+item_40_hidden=true
+item_41_id=HQ47
+item_41_title=Another Head Hangs Lowly
+item_41_hidden=true
+item_42_id=HQ48
+item_42_title=Wi n0t trei a h0liday in Sweden this yer?
+item_42_hidden=true
+item_43_id=HQ49
+item_43_title=Menace to Society
+item_43_comment=Spend your life in jail
+item_44_id=HQ53
+item_44_title=Don't Lose Your Head
+item_44_hidden=true
+item_45_id=HQ52
+item_45_title=Dark and Troubled
+item_45_hidden=true
diff --git a/devtools/create_achievements/gen/steam-286320.ini b/devtools/create_achievements/gen/steam-286320.ini
new file mode 100644
index 0000000000..27b6ac5df2
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-286320.ini
@@ -0,0 +1,31 @@
+[achievements:en]
+item_0_id=ach_chapter_1
+item_0_title=Awakening
+item_0_comment=Finish chapter 1
+item_1_id=ach_chapter_2
+item_1_title=An extended hand
+item_1_comment=Finish chapter 2
+item_2_id=ach_chapter_2_boss
+item_2_title=Into the darkness
+item_2_comment=Escape the eyrie
+item_3_id=ach_chapter_3
+item_3_title=Beneath the surface
+item_3_comment=Finish chapter 3
+item_4_id=ach_chapter_4
+item_4_title=A winding path
+item_4_comment=Finish chapter 4
+item_5_id=ach_chapter_5
+item_5_title=Gate of promises
+item_5_comment=Finish chapter 5
+item_6_id=ach_chapter_5_boss
+item_6_title=Dawn
+item_6_comment=Escape the cavern
+item_7_id=ach_lore_library
+item_7_title=Folklorist
+item_7_comment=Complete the lore library
+item_8_id=ach_grave
+item_8_title=A final resting place
+item_8_comment=Find the nattramn's grave
+item_9_id=ach_mystery_carving
+item_9_title=Mystery carving
+item_9_comment=It's a secret to everybody
diff --git a/devtools/create_achievements/gen/steam-286360.ini b/devtools/create_achievements/gen/steam-286360.ini
new file mode 100644
index 0000000000..2a4c1f1094
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-286360.ini
@@ -0,0 +1,61 @@
+[achievements:en]
+item_0_id=ACH_ZENMASTER
+item_0_title=Zen Master
+item_0_comment=Survive a conversation with Anna Marano
+item_1_id=ACH_LOOK_BIDET
+item_1_title=Italian memories
+item_1_comment=Find a widespread sign of modern civilization
+item_2_id=ACH_TUTORIAL_DONE
+item_2_title=James Murphy, doctor
+item_2_comment=Finish the tutorial by stitching Mario's wound
+item_3_id=ACH_CRI_STUFF
+item_3_title=The game is on
+item_3_comment=Find the first clues about the Cristoforo investigation
+item_4_id=ACH_HOLYPICS
+item_4_title=Harder path
+item_4_comment=Solve a puzzle using the calendar at home
+item_5_id=ACH_LEPRIGNANO
+item_5_title=Cyberspace Surfer
+item_5_comment=Complete successfully your first online search
+item_6_id=ACH_SCROOGE
+item_6_title=Cheap James
+item_6_comment=Corrupt the Capena church keeper
+item_7_id=ACH_DRAPE
+item_7_title=Take that, dr. Jones
+item_7_comment=Solve the most cryptic puzzle left by Cristoforo
+item_8_id=ACH_DRUNKNUN
+item_8_title=James the sinner
+item_8_comment=Get ready for hell by ruining sister Candida
+item_9_id=ACH_MARANO_DIARY
+item_9_title=Attentive reader
+item_9_comment=Face an adventure clichè: the diary!
+item_10_id=ACH_CIGAR
+item_10_title=Not afraid of pixel hunting
+item_10_comment=Find something that belonged to the jeweler
+item_11_id=ACH_CARCHASE
+item_11_title=Lights off
+item_11_comment=Follow the car to its destination without making mistakes
+item_12_id=ACH_HOTSPOTTER
+item_12_title=Look, a bush!
+item_12_comment=It's not pixel hunting if you have a magnifier...
+item_13_id=ACH_NOLK27
+item_13_title=Mysterious password
+item_13_comment=...it maybe makes sense in another game?
+item_14_id=ACH_SANTA
+item_14_title=Ho ho ho!
+item_14_comment=Try entering from the chimney on December 24th
+item_15_id=ACH_ELISA
+item_15_title=Audere Semper
+item_15_comment=Elisa, we hold you in our hearts
+item_16_id=ACH_SILVIA
+item_16_title=Lots of space here...
+item_16_comment=Bring a sexy lady back home
+item_17_id=ACH_MATH_ACE
+item_17_title=Math Ace
+item_17_comment=Get the calculation wrong twice
+item_18_id=ACH_COMPLETION
+item_18_title=Thrilled face
+item_18_comment=Complete Shadows on the Vatican Act I
+item_19_id=ACH_FAST_GAMER
+item_19_title=Dialogue skipper
+item_19_comment=Complete the adventure in less than two hours
diff --git a/devtools/create_achievements/gen/steam-288930.ini b/devtools/create_achievements/gen/steam-288930.ini
new file mode 100644
index 0000000000..6d6f2941bc
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-288930.ini
@@ -0,0 +1,55 @@
+[achievements:en]
+item_0_id=PASSWORD_PROTECTED
+item_0_title=Password Protected
+item_0_comment=You logged in and tracked your parcel.
+item_1_id=BREATHING_METHOD
+item_1_title=The Breathing Method
+item_1_comment=You suffered a great loss.
+item_2_id=LIBRARIAN
+item_2_title=The Librarian
+item_2_comment=You saved Lang from boredom.
+item_3_id=METAFICTION
+item_3_title=Metafiction
+item_3_comment=You discovered Alex's identity crisis.
+item_4_id=SPECIAL_DELIVERY
+item_4_title=Special Delivery
+item_4_comment=You discovered the autobiographical element.
+item_5_id=WORMFOOD
+item_5_title=Wormfood
+item_5_comment=You met the master.
+item_6_id=GOOD_PUPPY
+item_6_title=Good Little Puppy
+item_6_comment=You endured Floyd's torment.
+item_7_id=PAY_IT_FORWARD
+item_7_title=Pay It Forward
+item_7_comment=You tried to save Don from boredom... but failed.
+item_8_id=OLD_GLORIA
+item_8_title=Old Gloria
+item_8_comment=She's a stubborn old gal.
+item_9_id=BRIGHTEST_DAY
+item_9_title=In Brightest Day
+item_9_comment=Should've got a ring with it.
+item_10_id=TAKE_EDGE_OFF
+item_10_title=Take The Edge Off
+item_10_comment=You accepted Floyd's gift.
+item_11_id=MEAN_GIRLS
+item_11_title=Mean Girls
+item_11_comment=You made Carli mad.
+item_12_id=CALL_OUT
+item_12_title=Call Out
+item_12_comment=You scared off your stalker... for now.
+item_13_id=EYES_OF_THE_GODS
+item_13_title=Eyes of the Gods
+item_13_comment=Smoking really IS hazardous.
+item_14_id=SALVATION_OF_JUDAS
+item_14_title=Salvation of Judas
+item_14_comment=You saved Carli.
+item_15_id=EX
+item_15_title=The Ex
+item_15_comment=You found out the truth about Gavin.
+item_16_id=LYDIAS_STORY
+item_16_title=Lydia's Story
+item_16_comment=You recounted Lydia's story perfectly.
+item_17_id=WE_ALL_FLOAT
+item_17_title=We All Float
+item_17_comment=You pulled out an old trick.
diff --git a/devtools/create_achievements/gen/steam-291710.ini b/devtools/create_achievements/gen/steam-291710.ini
new file mode 100644
index 0000000000..0f351be042
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-291710.ini
@@ -0,0 +1,103 @@
+[achievements:en]
+item_0_id=ACH_HEDGE_WYTCH
+item_0_title=Hedge Wych
+item_0_comment=Pick all available plants and flowers in the country lane.
+item_1_id=ACH_GOOD_LISTENER
+item_1_title=Good Listener
+item_1_comment=Listen to the story on the Harbour Cottage telephone every day or night.
+item_2_id=ACH_FEARLESS
+item_2_title=Ghostbuster
+item_2_comment=Vanquish the train tracks ghosts on the first attempt.
+item_3_id=ACH_GRAVE_DWELLER
+item_3_title=Grave Dweller
+item_3_comment=Defeat the Darkness on the first attempt at Northfield.
+item_4_id=ACH_CAIRANS_FRIEND
+item_4_title=My Porcine Friend
+item_4_comment=Feed Cairan the pig over 20 times.
+item_5_id=ACH_SWOT
+item_5_title=Swot
+item_5_comment=Thoroughly explore the Saxton Museum.
+item_6_id=ACH_FILM_BUFF
+item_6_title=Film Buff
+item_6_comment=Watch the films in Saxton Museum in their entirety.
+item_7_id=ACH_BOOKWORM
+item_7_title=Bookworm
+item_7_comment=Read the books in Saxton Museum’s Library and Celtic Corner.
+item_8_id=ACH_DETECTIVE
+item_8_title=True Detective
+item_8_comment=Study all of the photographs on the wall in the Nightmare Room.
+item_9_id=ACH_LOBSTER_POTTY
+item_9_title=Lobster Potty
+item_9_comment=Visit the lobster in The Bear.
+item_10_id=ACH_CAT_WATCHER
+item_10_title=Cat Watcher
+item_10_comment=Provide Cat Watch with the names of 6 Saxton citizens.
+item_11_id=ACH_CRIME_LINE
+item_11_title=Saxton Sherlock
+item_11_comment=Successfully identify the Saxton Skelton.
+item_12_id=ACH_PUNCH_JUDY_FAN
+item_12_title=That’s the way to do it
+item_12_comment=Keep watching the Punch and Judy show on Saxton Shore.
+item_13_id=ACH_RETRO_HORROR
+item_13_title=Retro Horror
+item_13_comment=Travel on the Ghost Train 5 times.
+item_14_id=ACH_LUCKY_DIPPER
+item_14_title=Lucky Dipper
+item_14_comment=See all items in the Lucky Dip.
+item_15_id=ACH_ENVIRONMENTALIST
+item_15_title=Environmentalist
+item_15_comment=Photograph the rare Natterjack Toad.
+item_16_id=ACH_TWITCHER
+item_16_title=Bird Watcher
+item_16_comment=Successfully photograph the Heron in Saxon Fens.
+item_17_id=ACH_CAT_SNAPPER
+item_17_title=Cat Snapper
+item_17_comment=Photograph Mr Tibbs at Ulcombe.
+item_18_id=ACH_WE_THREE_KINGS
+item_18_title=We Three Kings
+item_18_comment=Successfully photograph the statue of the three Saxon Kings.
+item_19_id=ACH_SAXTON_SNAPPER
+item_19_title=Paparazzi
+item_19_comment=Win 1st place in the Saxton Snappers photography competition.
+item_20_id=ACH_EVP_MASTER
+item_20_title=Spirit Voices
+item_20_comment=Collected all EVP’s in the game.
+item_21_id=ACH_GHOST_PHOTOGRAPHER
+item_21_title=Phantom Photomaster
+item_21_comment=Capture all possible Ghost Photos in the game.
+item_22_id=ACH_PEOPLE_PERSON
+item_22_title=Name Dropper
+item_22_comment=Name all the figures seen in Ganwulfs tomb.
+item_23_id=ACH_ENVIRONMETER
+item_23_title=Ghosthunter
+item_23_comment=Detect over 20 paranormal events in Harbour Cottage on the Environmeter.
+item_24_id=ACH_TO_THE_FUTURE
+item_24_title=To The Future
+item_24_comment=Complete the Game.
+item_25_id=ACH_WARNING_CURIOUS
+item_25_title=A Warning to the Curious
+item_25_comment=Listen to All of Hardachre’s dire warnings.
+item_26_id=ACH_MIRROR_MIRROR
+item_26_title=Mirror Mirror
+item_26_comment=Successfully call up the ghost in the Mirror.
+item_27_id=ACH_IN_DEEP
+item_27_title=Holistic Detective
+item_27_comment=Study the documents and photos stolen from Hadden.
+item_28_id=ACH_CHECK_IN
+item_28_title=Home Sweet Home
+item_28_comment=Find new accommodation in Saxton.
+item_29_id=ACH_SPY_GLASS
+item_29_title=Spy Glass
+item_29_comment=Use the Telescope on May Day to see All views from the Little Lighthouse.
+item_30_id=ACH_ISOLATION
+item_30_title=Intrinsic Isolation
+item_30_comment=Call out to sea more than once in the Fens.
+item_31_id=ACH_UNDERCURRENTS
+item_31_title=Undying Undercurrents
+item_31_comment=Fix the warning sign near the Fenland Eye.
+item_32_id=ACH_CHATTER_BOX
+item_32_title=Chatter Box
+item_32_comment=Fully talk with Nanny Noah on Saxton Shore.
+item_33_id=ACH_NARCISSIST
+item_33_title=Narcissist
+item_33_comment=Look in the Harbour Cottage mirror 5 times on Day 1
diff --git a/devtools/create_achievements/gen/steam-296850.ini b/devtools/create_achievements/gen/steam-296850.ini
new file mode 100644
index 0000000000..b2f51ce959
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-296850.ini
@@ -0,0 +1,86 @@
+[stats:en]
+item_0_id=GRAVESTONES_READ
+item_0_comment=Gravestones Read
+item_0_start=0
+item_1_id=ITEMS_CAUGHT
+item_1_comment=Items Caught
+item_1_start=0
+item_2_id=ITEMS_THROWN
+item_2_comment=Items Thrown
+item_2_start=0
+item_3_id=LINES_SUNG
+item_3_comment=Lines Sung
+item_3_start=0
+item_4_id=ROOMS_PEEPED
+item_4_comment=Rooms Peeped
+item_4_start=0
+item_5_id=EXCUSES_GIVEN
+item_5_comment=Excuses Given
+item_5_start=0
+item_6_id=TITLES_READ
+item_6_comment=Titles Read
+item_6_start=0
+item_7_id=ITEMS_COLLECTED
+item_7_comment=Inventory Items Collected
+item_7_start=0
+[achievements:en]
+item_0_id=RAIN_MAN
+item_0_title=Rain Man
+item_0_comment=Re-enact an iconic rain dance.
+item_1_id=TRAILBLAZER
+item_1_title=Trailblazer
+item_1_comment=Successfully make a Blazin' Kev beverage on your first attempt.
+item_2_id=EMO_AL
+item_2_title=Emo Al
+item_2_comment=Read every epitaph in the cemetery.
+item_3_id=THE_BIG_HAUL
+item_3_title=The Big Haul
+item_3_comment=Snag every catchable item with the fishing rod.
+item_4_id=SECRET_GENTLEMENS_BUSINESS
+item_4_title=Secret Gentlemens' Business
+item_4_comment=Visit Lou Heifer's love shack.
+item_5_id=NOONTIME_MOONSHINE
+item_5_title=Noontime Moonshine
+item_5_comment=Pass out after imbibing a potent brew.
+item_6_id=THREW_IT_ON_THE_GROUND
+item_6_title=Threw it on the Ground
+item_6_comment=So many things to throw in the game. Find them all.
+item_7_id=VANDAL
+item_7_title=Vandal
+item_7_comment=Carve some graffiti into a tree trunk.
+item_8_id=ANOZIRAN_IDOL
+item_8_title=Anoziran Idol
+item_8_comment=Find all of Al's singing lines in the game.
+item_9_id=VOYEUR
+item_9_title=Voyeur
+item_9_comment=Try to enter all occupied rooms in the Hospitality House.
+item_10_id=SERIAL_PEST
+item_10_title=Serial Pest
+item_10_comment=Exhaust the list of excuses while trying to enter Lou Heifer's Office.
+item_11_id=SLACKER_HACKER
+item_11_title=Slacker Hacker
+item_11_comment=Gain access to the miner's cabin without seeking any clues.
+item_12_id=HOARDER
+item_12_title=Hoarder
+item_12_comment=Acquire every inventory item in the game.
+item_13_id=BOOKWORM
+item_13_title=Bookworm
+item_13_comment=Read every book title in the game.
+item_14_id=BURIED_TREASURE
+item_14_title=Buried Treasure
+item_14_comment=Locate the Indian Casino.
+item_15_id=SPIN_DOCTOR
+item_15_title=Spin Doctor
+item_15_comment=Win the jackpot prize (3 Chiefs x $10 Bet) on the slot machine.
+item_16_id=REPEAT_REALITY_OVERRUN
+item_16_title=Repeat Reality Overrun
+item_16_comment=Play the game on the Indian Chief's computer two tiers deep.
+item_17_id=ROUND_TRIP
+item_17_title=Round Trip
+item_17_comment=Finish the game.
+item_18_id=COMPLETIONIST
+item_18_title=Completionist
+item_18_comment=Finish the game with a full score of 500 points.
+item_19_id=SPEEDRUN
+item_19_title=Speedrun
+item_19_comment=Finish the game in under two hours.
diff --git a/devtools/create_achievements/gen/steam-302690.ini b/devtools/create_achievements/gen/steam-302690.ini
new file mode 100644
index 0000000000..665290d739
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-302690.ini
@@ -0,0 +1,40 @@
+[achievements:en]
+item_0_id=ACHIEVEMENT_01
+item_0_title=My First Time
+item_0_hidden=true
+item_1_id=ACHIEVEMENT_02
+item_1_title=Soiled
+item_1_hidden=true
+item_2_id=ACHIEVEMENT_03
+item_2_title=Got Head
+item_2_hidden=true
+item_3_id=ACHIEVEMENT_04
+item_3_title=Clean Freak
+item_3_hidden=true
+item_4_id=ACHIEVEMENT_05
+item_4_title=Anarchist's Cookbook
+item_4_hidden=true
+item_5_id=ACHIEVEMENT_06
+item_5_title=Dendro-Infanticide
+item_5_hidden=true
+item_6_id=ACHIEVEMENT_07
+item_6_title=Smoked
+item_6_hidden=true
+item_7_id=ACHIEVEMENT_08
+item_7_title=Shrinkage
+item_7_hidden=true
+item_8_id=ACHIEVEMENT_09
+item_8_title=Too Toasty
+item_8_hidden=true
+item_9_id=ACHIEVEMENT_10
+item_9_title=Nice Shootin' Tex
+item_9_hidden=true
+item_10_id=ACHIEVEMENT_11
+item_10_title=Elevator Proof
+item_10_hidden=true
+item_11_id=ACHIEVEMENT_12
+item_11_title=Alone Time
+item_11_hidden=true
+item_12_id=ACHIEVEMENT_13
+item_12_title=Smile
+item_12_hidden=true
diff --git a/devtools/create_achievements/gen/steam-307570.ini b/devtools/create_achievements/gen/steam-307570.ini
new file mode 100644
index 0000000000..45ae351469
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-307570.ini
@@ -0,0 +1,55 @@
+[achievements:en]
+item_0_id=SUPERSALESMAN
+item_0_title=Super Salesman
+item_0_comment=You were able to persuade everyone without using Seller Intuition.
+item_1_id=SALESMAN
+item_1_title=Salesman
+item_1_comment=You were able to persuade one person without using Seller Intuition.
+item_2_id=DARWINAWARD
+item_2_title=Darwin Award
+item_2_comment=You just improved the gene pool
+item_3_id=HISTORYREPEATING
+item_3_title=History Repeating
+item_3_comment=Die the way your descendant might
+item_4_id=SMOOTHCRIMINAL
+item_4_title=Smooth Criminal
+item_4_comment=You really know how to cover your tracks.
+item_5_id=FILTHYANIMAL
+item_5_title=Filthy Animal
+item_5_comment=You forgot your cookies...
+item_6_id=LOGICKING
+item_6_title=Logic King
+item_6_comment=You solved the land auction puzzle without hints
+item_7_id=GREATCOMMONER
+item_7_title=Great Commoner
+item_7_comment=A little celebrity endorsement is never a bad thing.
+item_8_id=ENDSALESMAN
+item_8_title=End of a Salesman
+item_8_comment=You finished the game
+item_9_id=ROBBRO
+item_9_title=Do You Even Rob, Bro?
+item_9_comment=His bark was much worse than his bite.
+item_10_id=LAZYBUM
+item_10_title=Lazy Bum
+item_10_comment=If only all sales were this easy.
+item_11_id=TOUPEE
+item_11_title=You're Going Toupee For That
+item_11_comment=You've got a bright future ahead of you as a common thug!
+item_12_id=OHMYGUARD
+item_12_title=Oh My Guard
+item_12_comment=You haven't lost your touch
+item_13_id=BROTHERLYLOVE
+item_13_title=Brotherly Love
+item_13_comment=Beau showed up at a special event
+item_14_id=LEARNSOMETHING
+item_14_title=You Might Learn Something
+item_14_comment=Played the game with commentary on
+item_15_id=GOODGUY
+item_15_title=Good Guy
+item_15_comment=You remained above negative influence.
+item_16_id=RELICS
+item_16_title=Relics Of The Present
+item_16_comment=What's he doing here?
+item_17_id=PROFESSIONAL
+item_17_title=Professional Poisoner
+item_17_comment=You managed to survive in Havana without arousing suspicion.
diff --git a/devtools/create_achievements/gen/steam-307580.ini b/devtools/create_achievements/gen/steam-307580.ini
new file mode 100644
index 0000000000..832cac9e81
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-307580.ini
@@ -0,0 +1,121 @@
+[achievements:en]
+item_0_id=PART1
+item_0_title=Prisoner of Consciousness
+item_0_comment=Part 1 complete
+item_1_id=PART2
+item_1_title=Suicide City
+item_1_comment=Part 2 complete
+item_2_id=PART3
+item_2_title=Fission
+item_2_comment=Part 3 complete
+item_3_id=PART4
+item_3_title=Meeting of Minds
+item_3_comment=Part 4 complete
+item_4_id=PART5
+item_4_title=Germination
+item_4_comment=Part 5 complete
+item_5_id=PART6
+item_5_title=Crisis of Consciouness
+item_5_comment=Part 6 complete
+item_6_id=PART7
+item_6_title=Jahiliyyah
+item_6_comment=Part 7 complete
+item_7_id=PART8
+item_7_title=Flesh Drive
+item_7_comment=Part 8 complete
+item_8_id=PART9
+item_8_title=Ripper
+item_8_comment=Part 9 complete
+item_9_id=COMPLETE
+item_9_title=Runtime
+item_9_comment=Game complete
+item_10_id=DOORCODE
+item_10_title=Middle Management
+item_10_comment=Got the door code at Animus
+item_11_id=PHONECALL
+item_11_title=Sorry wrong number
+item_11_comment=Make ten calls to random numbers
+item_12_id=BOMBER1
+item_12_title=Silver Tongue
+item_12_comment=Successfully talked the bomber down
+item_13_id=BOMBER2
+item_13_title=Hopeless
+item_13_comment=Neutralize the bomber
+item_14_id=BOMBER3
+item_14_title=Unpersuasive
+item_14_comment=An explosive result
+item_15_id=VDWELLIOTNESS
+item_15_title=Elliot Ness approach
+item_15_comment=Bust Van der Waal's door open
+item_16_id=VDWLAO
+item_16_title=The Right One for the Job
+item_16_comment=Make use of Lao's skills to open Van Der Wall's door
+item_17_id=VDWCENTRAL
+item_17_title=Official Procedure
+item_17_comment=Call Central for Help
+item_18_id=CHANTELLE
+item_18_title=Three-in-One
+item_18_comment=Subject Chantelle to all three personalities
+item_19_id=GUYGOOD
+item_19_title=Hippocratic Oath
+item_19_comment=A career in medicine awaits
+item_20_id=GUYBAD
+item_20_title=Placebo Effect
+item_20_comment=He won't know the difference...
+item_21_id=CHIGWA
+item_21_title=Guilt Trip
+item_21_comment=Remind Dr Chigwa of what's really important
+item_22_id=GENES
+item_22_title=Microbiologist
+item_22_comment=Didn't analyze a single incorrect sample at Vickerman
+item_23_id=NIESTER
+item_23_title=Dramatically cleaned a screaming pile of biscuits
+item_23_comment=Cured Martin Niester on the first try
+item_24_id=WHISKEY
+item_24_title=I Needed That
+item_24_comment=Don't blame him one bit
+item_25_id=SHOOTING
+item_25_title=Shooting Gallery
+item_25_comment=Got through the conveyor room and back undetected
+item_26_id=NINJA
+item_26_title=Ninja
+item_26_comment=Entered the Trance Den using the power of shadows
+item_27_id=WATER
+item_27_title=Super Latha Bros
+item_27_comment=Entered the trance den by fulfilling the bouncer's request
+item_28_id=VENT
+item_28_title=I don't need no ticket
+item_28_comment=Find another route into the Trance Den
+item_29_id=BANNED
+item_29_title=B&
+item_29_comment=Disconnected the dancers via non-destructive means
+item_30_id=GRAVBALL
+item_30_title=Winners don't use drugs
+item_30_comment=Win a game of gravball without sabotaging your opponent
+item_31_id=CRATE
+item_31_title=Mental Arithmetic
+item_31_comment=Get the crate-weight correct by the second attempt
+item_32_id=SURVIVE
+item_32_title=Guarded by Fate
+item_32_comment=Survive up to Part 9 without dying once
+item_33_id=BOXDROP
+item_33_title=Bombs Away
+item_33_comment=They shouldn't have left that there in the first place...
+item_34_id=MJ1
+item_34_title=Mincemeat
+item_34_comment=The Mindjacker meets his gruesome end
+item_35_id=MJ2
+item_35_title=Justice for all
+item_35_comment=Successfully arrest the Mindjacker
+item_36_id=ENDCENTRAL
+item_36_title=Civic Continuity
+item_36_comment=Returned city control to Central
+item_37_id=ENDNINA
+item_37_title=Brave New World
+item_37_comment=Nina's argument was most persuasive.
+item_38_id=COMMENTARY
+item_38_title=Talking Heads
+item_38_comment=Played through the game with the commentary on
+item_39_id=GOLDFARB
+item_39_title=Dave Goldfarb
+item_39_comment=Only give Stepford's personality to the restaurant guard
diff --git a/devtools/create_achievements/gen/steam-336130.ini b/devtools/create_achievements/gen/steam-336130.ini
new file mode 100644
index 0000000000..bc260dad70
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-336130.ini
@@ -0,0 +1,58 @@
+[achievements:en]
+item_0_id=ARM
+item_0_title=Disarmed
+item_0_comment=Properly disposed of the severed arm.
+item_1_id=ORDER
+item_1_title=Order
+item_1_comment=You maintained the status quo.
+item_2_id=CHAOS
+item_2_title=Chaos
+item_2_comment=Tip your hat to the new revolution.
+item_3_id=WILL
+item_3_title=Free Will
+item_3_comment=An age of uncertainty, but of happiness.
+item_4_id=MERCY
+item_4_title=Mercy Kill
+item_4_comment=You couldn't let a friend suffer.
+item_5_id=THEEND
+item_5_title=The Light Shines On
+item_5_comment=You completed the game.
+item_6_id=COMM
+item_6_title=More Than You Ever Wanted To Know
+item_6_comment=Played through the game with commentary.
+item_7_id=PERFECT
+item_7_title=The Perfect Life
+item_7_comment=Said the code phrase to everyone.
+item_8_id=BOOKS
+item_8_title=Educated
+item_8_comment=You're the most well-read person around.
+item_9_id=JUMPROPE
+item_9_title=Child At Heart
+item_9_comment=You're never too old to have fun.
+item_10_id=HAT
+item_10_title=Hat Trick
+item_10_comment=Gain Jess's trust.
+item_11_id=TONGUE
+item_11_title=Cat Got Your Tongue?
+item_11_comment=Figure out why the rebel doesn't speak.
+item_12_id=DRAWING
+item_12_title=Everyone's A Critic
+item_12_comment=Gus doesn't know art, but he knows what he hates.
+item_13_id=FACTORY
+item_13_title=Smartass
+item_13_comment=Listen to every single comment Denby makes inside the factory.
+item_14_id=CANDY
+item_14_title=Sweet Tooth
+item_14_comment=Tasty, but think of your triglycerides!
+item_15_id=VOLUNTEER
+item_15_title=Selfless
+item_15_comment=You don't mind being poked and prodded.
+item_16_id=CHALK
+item_16_title=Chalk It Up To Kindness
+item_16_comment=Don't encourage him.
+item_17_id=SYMBOL
+item_17_title=Stay Within The Lines
+item_17_comment=You drew the symbol correctly on the first try.
+item_18_id=SOUPA
+item_18_title=Max Soupa
+item_18_comment=Nothing like a nice hot meal.
diff --git a/devtools/create_achievements/gen/steam-336140.ini b/devtools/create_achievements/gen/steam-336140.ini
new file mode 100644
index 0000000000..1e51e240c3
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-336140.ini
@@ -0,0 +1,169 @@
+[achievements:en]
+item_0_id=START_OF_SHIFT_MALE
+item_0_title=Start of shift (Male)
+item_0_comment=Complete the male cop origin
+item_1_id=START_OF_SHIFT_FEMALE
+item_1_title=Start of shift (female)
+item_1_comment=Complete the female cop origin
+item_2_id=FIRST_ROUND_MALE
+item_2_title=First round (male)
+item_2_comment=Complete the male bartender origin
+item_3_id=FIRST_ROUND_FEMALE
+item_3_title=First round (female)
+item_3_comment=Complete the female bartender origin
+item_4_id=CURTAIN_RISES_MALE
+item_4_title=The curtain rises (male)
+item_4_comment=Complete the male actor origin
+item_5_id=CURTAIN_RISES_FEMALE
+item_5_title=The curtain rises (female)
+item_5_comment=Complete the female actor origin
+item_6_id=FORESIGHT
+item_6_title=Foresight
+item_6_comment=Defeat a foe with firsthand knowledge
+item_7_id=BURP
+item_7_title=Burp
+item_7_comment=Food tames the beast
+item_8_id=KILLAMENTAL
+item_8_title=Killamental
+item_8_comment=Why take the risk?
+item_9_id=A_NEW_HOME
+item_9_title=A new home
+item_9_comment=A new world. A new life.
+item_10_id=AS_YOU_WERE
+item_10_title=As you were
+item_10_comment=Perhaps it was meant to be this way...
+item_11_id=NICE_SHOT
+item_11_title=Nice shot
+item_11_comment=Enter the Eddings house using Vicki
+item_12_id=WELL_THROWN
+item_12_title=Well thrown
+item_12_comment=Enter the Eddings house using Mandana
+item_13_id=WELCOME_LOGAN
+item_13_title=Welcome Logan
+item_13_comment=Welcome Logan to the party
+item_14_id=REDOORDANCY
+item_14_title=Re-door-dancy
+item_14_comment=Needlessly unlock the same door in two different ways
+item_15_id=SEAFOOD
+item_15_title=Seafood
+item_15_comment=Calamari for a year!
+item_16_id=SHISHKABOB
+item_16_title=Shishkabob
+item_16_comment=Well skewered, Mandana
+item_17_id=WELCOME_VICKI
+item_17_title=Welcome Vicki
+item_17_comment=Welcome Vicki to the party
+item_18_id=ALLEY_BESTOWER
+item_18_title=Alley Bestower
+item_18_comment=Disperse the Staten Island ghost
+item_19_id=BROS
+item_19_title=Boys night
+item_19_comment=Finish three missions with an all male party
+item_20_id=GIRLS
+item_20_title=Girl powered
+item_20_comment=Embark on three missions with an all female party
+item_21_id=WHOLETRUTH
+item_21_title=The whole truth
+item_21_comment=Get to the truth of what happened
+item_22_id=NEVERFORGET
+item_22_title=Never Forget
+item_22_comment=Visit a special location on a certain day
+item_23_id=WALLSTEEETBESTOW
+item_23_title=Wall Street Bestower
+item_23_comment=Disperse the ghost on Wall Street
+item_24_id=FIREANDSPIRITS
+item_24_title=Fire and Spirits
+item_24_comment=Embark on four missions with Eli and Logan
+item_25_id=LEADANDFLAME
+item_25_title=Lead and Flame
+item_25_comment=Head out four times with Eli and Vicki
+item_26_id=SWORDANDBULLETS
+item_26_title=Sword and Bullets
+item_26_comment=Select Mandana and Vicki four times for missions
+item_27_id=STEELANDSOULS
+item_27_title=Steel and Souls
+item_27_comment=Start four missions with Mandana and Logan
+item_28_id=INSEPARABLE
+item_28_title=Inseparable
+item_28_comment=Keep Eli and Mandana together for six missions
+item_29_id=MAXFIREPOWER
+item_29_title=Maximum Fire Power
+item_29_comment=Choose Eli six times for missions
+item_30_id=FULLJINN
+item_30_title=All Jinn
+item_30_comment=Choose Mandana six times for missions
+item_31_id=EFFECTIVEDETECTIVE
+item_31_title=Effective Detective
+item_31_comment=Choose Vicki four times for missions
+item_32_id=FULLOFSPIRIT
+item_32_title=Full of Spirit
+item_32_comment=Choose Logan four times for missions
+item_33_id=REAMUSED
+item_33_title=Re-amused
+item_33_comment=Calli returns to her former position
+item_34_id=MUSEREFUSED
+item_34_title=Muse Refused
+item_34_comment=There's a new muse in town
+item_35_id=NOTAMUSED
+item_35_title=Not a-mused
+item_35_comment=No muse in Brooklyn tonight...
+item_36_id=REALLY
+item_36_title=Really?
+item_36_comment=Nice try
+item_37_id=DEALSTRUCK
+item_37_title=It is done
+item_37_comment=A deal has been struck
+item_38_id=ALLSFAE
+item_38_title=All's Fae in Love and War
+item_38_comment=Better safe than sorry
+item_39_id=DRAGONSAVIOR
+item_39_title=Dragon savior
+item_39_comment=Free of torment at last
+item_40_id=DRAGONSLAYER
+item_40_title=Dragon slayer
+item_40_comment=Kevin now has a second chance
+item_41_id=BROOKLYNBESTOWER
+item_41_title=Brooklyn Bestower
+item_41_comment=Free the Brooklyn ghost
+item_42_id=FULLPARTY
+item_42_title=Full Party
+item_42_comment=Reach the final end with your full crew in tow
+item_43_id=FREEDOM
+item_43_title=Freedom
+item_43_comment=Free at last
+item_44_id=NEWWORLD
+item_44_title=A New World
+item_44_comment=We'll do it right this time
+item_45_id=THEFALL
+item_45_title=The Fall
+item_45_comment=The only way to be sure
+item_46_id=REFUSAL
+item_46_title=Refusal
+item_46_comment=Resistance is futile
+item_47_id=UNCHIDED
+item_47_title=Unchided
+item_47_comment=Finish a jailbreak without getting chided by a ghost
+item_48_id=COMMENTARY
+item_48_title=Listen to us
+item_48_comment=Leave commentary mode on for the entire game, from the opening menu to the closing credits.
+item_49_id=NOHINT
+item_49_title=No Help Needed
+item_49_comment=Never ask your friends for a hint
+item_50_id=STATUSQUO
+item_50_title=Maintain the status quo
+item_50_comment=Nobody has to die tonight
+item_51_id=STATENEXILED
+item_51_title=The bond is broken
+item_51_comment=A villain escapes her punishment
+item_52_id=TREEHUGGER
+item_52_title=Tree hugger
+item_52_comment=Show sympathy for one of nature's creatures
+item_53_id=PETRIFIEDTREE
+item_53_title=Petrified forest
+item_53_comment=There's a new statue in the North Grove
+item_54_id=NATUREKILLER
+item_54_title=Nature killer
+item_54_comment=No mercy for the trees
+item_55_id=SOLOCONF
+item_55_title=Solo confrontation
+item_55_comment=Reach the final confrontation alone
diff --git a/devtools/create_achievements/gen/steam-337130.ini b/devtools/create_achievements/gen/steam-337130.ini
new file mode 100644
index 0000000000..3d95f9664c
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-337130.ini
@@ -0,0 +1,40 @@
+[achievements:en]
+item_0_id=STIERN_HOUSE
+item_0_title=The Stierngranat family's house
+item_0_comment=You've unlocked the Stierngranat Family's House.
+item_1_id=BLOOD_FALLS
+item_1_title=The Blood Falls
+item_1_comment=You've unlocked the Blood Falls.
+item_2_id=SCHOOL_MUSEUM
+item_2_title=The School Museum
+item_2_comment=You've unlocked the School Museum.
+item_3_id=JOHANSSON_PEAK
+item_3_title=The Johansson Peak
+item_3_comment=You've unlocked Johansson Peak.
+item_4_id=SAINT_MARIA_CHURCH
+item_4_title=The Saint Maria Church
+item_4_comment=You've unlocked the Saint Maria Church.
+item_5_id=EMHART_ZURICH
+item_5_title=Emhart Zurich
+item_5_comment=You've found Emhart Zurich.
+item_6_id=MALTE_MUSEUM
+item_6_title=The Malte Stierngranat Museum
+item_6_comment=You've unlocked the Malte Stierngranat Museum.
+item_7_id=PYRAMID
+item_7_title=The Pyramid
+item_7_comment=You've unlocked the Pyramid.
+item_8_id=BARN
+item_8_title=The Barn
+item_8_comment=You've unlocked the Barn.
+item_9_id=SONIC_FORGE
+item_9_title=The Sonic Forge
+item_9_comment=You've unlocked the Sonic Forge.
+item_10_id=CAR_GRAVEYARD
+item_10_title=The car graveyard
+item_10_comment=You've unlocked the Car Graveyard.
+item_11_id=MALTES_TRAIN
+item_11_title=Malte’s Train Wagon
+item_11_comment=You've unlocked Malte's Train Wagon.
+item_12_id=SKIING_HOUSE
+item_12_title=The Skiing House
+item_12_comment=You've unlocked the Skiing House.
diff --git a/devtools/create_achievements/gen/steam-338420.ini b/devtools/create_achievements/gen/steam-338420.ini
new file mode 100644
index 0000000000..4f2e94686f
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-338420.ini
@@ -0,0 +1,52 @@
+[achievements:en]
+item_0_id=BEGIN
+item_0_title=Begin
+item_0_comment=You have embarked on the journey of Alum.
+item_1_id=ACH_CHAPTER2
+item_1_title=Chapter 2
+item_1_comment=You've reached chapter 2
+item_2_id=ACH_CHAPTER3
+item_2_title=Chapter 3
+item_2_comment=You've reached chapter 3.
+item_3_id=ACH_CHAPTER4
+item_3_title=Chapter 4
+item_3_comment=You've reached chapter 4.
+item_4_id=ACH_CHAPTER5
+item_4_title=Chapter 5
+item_4_comment=You've reached chapter 5.
+item_5_id=ACH_CHAPTER6
+item_5_title=Chapter 6
+item_5_comment=You've reached chapter 6.
+item_6_id=ACH_CHAPTER7
+item_6_title=Chapter 7
+item_6_comment=You've reached chapter 7.
+item_7_id=ACH_COLEMIN
+item_7_title=Colemin's Last Stand
+item_7_comment=You beat Colemin's Last Stand!
+item_8_id=ACH_SNIPER
+item_8_title=Sniper Elite
+item_8_comment=You beat the sniper sequence!
+item_9_id=ACH_RUSHLIGHT
+item_9_title=Rushlight Bearer
+item_9_comment=You've received a rushlight.
+item_10_id=ACH_WIN
+item_10_title=Free Kosmos
+item_10_comment=Congratulations! You beat the game!
+item_11_id=ACH_WIN_NO_HINT
+item_11_title=Free Kosmos (no hints)
+item_11_comment=Wow! You beat the game without using hints!
+item_12_id=ACH_DASHU
+item_12_title=Dashu's Last Stand
+item_12_comment=You beat Dashu's Last Stand!
+item_13_id=ACH_CANDLE
+item_13_title=Smoky-mountain maple mighty magic mac and cheese scented
+item_13_comment=Smoky-mountain maple mighty magic mac and cheese scented. Strange, yet satisfying.
+item_14_id=ACH_OG
+item_14_title=Defeat Og
+item_14_comment=Off with his head!
+item_15_id=ACH_PIGE
+item_15_title=Pige!
+item_15_comment=You shared your rushlight with Pige.
+item_16_id=ACH_CHAIR
+item_16_title=Office Chair
+item_16_comment=The office chair is an office chair.
diff --git a/devtools/create_achievements/gen/steam-340370.ini b/devtools/create_achievements/gen/steam-340370.ini
new file mode 100644
index 0000000000..4d73de44a2
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-340370.ini
@@ -0,0 +1,31 @@
+[achievements:en]
+item_0_id=BOTTLE
+item_0_title=Mysterious bottle.
+item_0_comment=You found the mysterious bottle!
+item_1_id=PIPE
+item_1_title=The last pipe.
+item_1_comment=You found the last pipe!
+item_2_id=POEM
+item_2_title=The poem in the wallet.
+item_2_comment=You found the poem in the wallet!
+item_3_id=BLINDFOLD
+item_3_title=The blindfold.
+item_3_comment=You found the blindfold!
+item_4_id=WINDOW
+item_4_title=The window in the sun cannon.
+item_4_comment=You found the window in the sun cannon!
+item_5_id=MINE_LADY
+item_5_title=Information about the Mine Lady.
+item_5_comment=You’ve discovered information about the Mine Lady!
+item_6_id=PENCIL
+item_6_title=Artistic pencil.
+item_6_comment=You found the artistic pencil!
+item_7_id=NOTE
+item_7_title=Note from Rick.
+item_7_comment=You found the note from Rick!
+item_8_id=STONE
+item_8_title=Leaving no stone unturned.
+item_8_comment=You’ve left no stone unturned!
+item_9_id=TESTING
+item_9_title=Testing the waters.
+item_9_comment=Testing the waters!
diff --git a/devtools/create_achievements/gen/steam-349140.ini b/devtools/create_achievements/gen/steam-349140.ini
new file mode 100644
index 0000000000..86377e1a53
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-349140.ini
@@ -0,0 +1,37 @@
+[achievements:en]
+item_0_id=corrosion_achievement_2
+item_0_title=Police Officer
+item_1_id=corrosion_achievement_3
+item_1_title=Investigator
+item_2_id=corrosion_achievement_4
+item_2_title=Detective 3rd Grade
+item_3_id=corrosion_achievement_5
+item_3_title=Detective 2nd Grade
+item_4_id=corrosion_achievement_6
+item_4_title=Detective 1st Grade
+item_5_id=corrosion_achievement_7
+item_5_title=Specialist
+item_6_id=corrosion_achievement_8
+item_6_title=Sergeant
+item_7_id=corrosion_achievement_9
+item_7_title=Lieutenant
+item_8_id=corrosion_achievement_10
+item_8_title=Captain
+item_9_id=corrosion_achievement_11
+item_9_title=Deputy Inspector
+item_10_id=corrosion_achievement_12
+item_10_title=Inspector
+item_11_id=corrosion_achievement_13
+item_11_title=Deputy Chief
+item_12_id=corrosion_achievement_14
+item_12_title=Assistant Chief
+item_13_id=corrosion_achievement_15
+item_13_title=Chief
+item_14_id=corrosion_achievement_16
+item_14_title=Deputy Commissioner
+item_15_id=corrosion_achievement_17
+item_15_title=Commissioner
+item_16_id=corrosion_achievement_0
+item_16_title=Cadet
+item_17_id=corrosion_achievement_1
+item_17_title=Recruit Officer
diff --git a/devtools/create_achievements/gen/steam-357490.ini b/devtools/create_achievements/gen/steam-357490.ini
new file mode 100644
index 0000000000..501efabf27
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-357490.ini
@@ -0,0 +1,66 @@
+[stats:en]
+item_0_id=TRAIN_COUNT
+item_0_start=0
+item_1_id=TARGET_COUNT
+item_1_start=0
+[achievements:en]
+item_0_id=NEW_GAME
+item_0_title=New Game
+item_0_comment=It's all downhill from here.
+item_1_id=TECH_WHIZZ
+item_1_title=Tech-Whizz
+item_1_comment=Get Gary back on his feet within two attempts.
+item_2_id=DONT_GET_COCKY
+item_2_title=Don't Get Cocky
+item_2_comment=Defeat the marauding pirates.
+item_3_id=BROKEN_PIPE_DREAMS
+item_3_title=Broken Pipe Dreams
+item_3_comment=Discover the pipe of your dreams.
+item_4_id=SUBATOMIC_FAMILY
+item_4_title=subAtomic Family
+item_4_comment=Find the family from a previous game.
+item_5_id=THOROUGH_INVESTIGATION
+item_5_title=Thorough Investigation
+item_5_comment=Diligently examine the contents of a locked cupboard.
+item_6_id=THE_KING_IN_THE_NORTH
+item_6_title=The King in the North
+item_6_comment=Find an old friend within the Request-O-Matic.
+item_7_id=MONKEYING_AROUND
+item_7_title=Monkeying Around
+item_7_comment=Find a sweet poster for a previous game.
+item_8_id=WIRETAP
+item_8_title=Wiretap
+item_8_comment=Remotely remind a criminal that he's being watched.
+item_9_id=NO_MORE_HICCUPS
+item_9_title=No More Hiccups
+item_9_comment=You're getting really good at holding your breath!
+item_10_id=UNWANTED_GUEST
+item_10_title=Unwanted Guest
+item_10_comment=Create your own 'Knock-Knock' joke.
+item_11_id=RECURRING_NIGHTMARE
+item_11_title=Recurring Nightmare
+item_11_comment=This guy always bounces back!
+item_12_id=BEHIND_THE_SCENES
+item_12_title=Behind the Scenes
+item_12_comment=Our game has commentary! Are we cool yet?
+item_13_id=ANTISOCIAL
+item_13_title=Antisocial
+item_13_comment=That's no way to greet someone new!
+item_14_id=THE_OTHER_SIDE
+item_14_title=The Other Side
+item_14_comment=See things from someone else's point of view.
+item_15_id=INDECISIVE
+item_15_title=Indecisive
+item_15_comment=You're in two minds on the matter.
+item_16_id=VIOLENT_TENDENCIES
+item_16_title=Violent Tendencies
+item_16_comment=See the violence inherent in the system!
+item_17_id=FOLLOW_THE_MONEY
+item_17_title=Follow the Money
+item_17_comment=Find and follow the trail of gold.
+item_18_id=TUNNEL_VISION
+item_18_title=Tunnel Vision
+item_18_comment=Find all five hidden trains.
+item_19_id=CRACK_SHOT
+item_19_title=Crack Shot
+item_19_comment=Find all five hidden targets.
diff --git a/devtools/create_achievements/gen/steam-364350.ini b/devtools/create_achievements/gen/steam-364350.ini
new file mode 100644
index 0000000000..9963632f33
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-364350.ini
@@ -0,0 +1,106 @@
+[achievements:en]
+item_0_id=PENELOPE_SUPERPOWERS
+item_0_title=Penelope Has Superpowers
+item_0_comment=Penelope killed the bandits on the isle.
+item_1_id=AARON_SUPERPOWERS
+item_1_title=Aaron Has Superpowers
+item_1_comment=Aaron traveled to Infraworld.
+item_2_id=POLIDORI_EVERYWHERE
+item_2_title=Polidori is Everywhere
+item_2_comment=You examined the nightclub and arrival shop signs.
+item_3_id=HORROR_DOOR
+item_3_title=The Horror Beyond the Door
+item_3_comment=You looked at the big door in the nightclub.
+item_4_id=CURFEW
+item_4_title=Curfew
+item_4_comment=You examined the poster near the arrival shop's door.
+item_5_id=WEIRD_STUFF
+item_5_title=Weird Stuff
+item_5_comment=You examined the door fridge where there are bricks.
+item_6_id=LOVELY_GIFT
+item_6_title=A Lovely Gift
+item_6_comment=You gave the soldier to little Aaron.
+item_7_id=SMELL_IN_NICHE
+item_7_title=The Smell in the Niche
+item_7_comment=You looked at the niche with Aaron, and noticed a strange smell.
+item_8_id=UNLOADED_GUN
+item_8_title=An Unloaded Gun?
+item_8_comment=Aaron looked at the gun.
+item_9_id=ALIENS_OR_DEMONS
+item_9_title=Aliens or Demons?
+item_9_comment=Penelope examined the statues in the temple.
+item_10_id=AIRPORT_IN_TEMPLE
+item_10_title=An Airport in the Temple
+item_10_comment=Penelope examined the gate in the large room of the temple.
+item_11_id=PILE_OF_GARBAGE
+item_11_title=A Pile of Garbage
+item_11_comment=Penelope picked up the last red herring.
+item_12_id=THERES_A_HOLE
+item_12_title=Look out! There's a hole!
+item_12_comment=You examined the hole in front of the three pyramids.
+item_13_id=LOVE_IS_WONDERFUL
+item_13_title=Love is a Wonderful Thing!
+item_13_comment=Aaron tried to use the TV in Polidori's room.
+item_14_id=HEART_OF_PANDORA
+item_14_title=The Heart of Pandora
+item_14_comment=You examined the big computer at Pandora Global Corp.
+item_15_id=APOCALYPSE_AND_FRANCE
+item_15_title=Apocalypse and French Equations
+item_15_comment=You picked up the old photo of Doc Apocalypse in Pandora's room.
+item_16_id=THE_MAP
+item_16_title=The Map
+item_16_comment=You examined the map on the wall in the last room.
+item_17_id=NEW_BEGINNING
+item_17_title=A New Beginning
+item_17_comment=You chose your destiny when speaking to Vril and completed the game.
+item_18_id=PANDORA_GLOBAL
+item_18_title=Chapter 1: Pandora Global Corp.
+item_18_comment=You Completed Chapter 1.
+item_19_id=THE_ISLAND
+item_19_title=Chapter 2: The Island
+item_19_comment=You Completed Chapter 2.
+item_20_id=INFRAWORLD
+item_20_title=Chapter 3: Infraworld
+item_20_comment=You Completed Chapter 3.
+item_21_id=THE_TEMPLE
+item_21_title=Chapter 4: The Temple
+item_21_comment=You Completed Chapter 4.
+item_22_id=APOTHEOSIS
+item_22_title=Chapter 5: Apotheosis
+item_22_comment=You Completed Chapter 5.
+item_23_id=ROOKIE
+item_23_title=Rookie
+item_23_comment=You scored 500 points.
+item_24_id=FIELD_AGENT
+item_24_title=Field Agent
+item_24_comment=You scored 700 points.
+item_25_id=SECRET_AGENT
+item_25_title=Secret Agent
+item_25_comment=You completed the game and scored less than 900 points.
+item_26_id=DOUBLE_AGENT
+item_26_title=Double Agent
+item_26_comment=You completed the game with at least 900 points.
+item_27_id=MASTER_AGENT
+item_27_title=Master Agent
+item_27_comment=You completed the game with the maximum score of 1000 points.
+item_28_id=INTRO_SPECTIVE
+item_28_title=Intro-spective
+item_28_comment=You watched the entire intro scene.
+item_29_id=WOMEN_CHILDREN_FIRST
+item_29_title=Women and Children First
+item_29_comment=You ignored Aaron and switched to Penelope right after the intro.
+item_30_id=RITTENHOUSE_WTF
+item_30_title=The Rittenhouse WTF Award
+item_30_comment=You entered the code into the spider panel without asking Mr. Keys for the code.
+item_31_id=ADAM_EVE
+item_31_title=Adam & Eve
+item_31_comment=Achieved the maximum score and chose your destiny when speaking to Vril.
+item_32_id=HOWARD_PHILIPS
+item_32_title=The Howard Philips Award
+item_32_comment=Achieved the maximum score, chose your destiny with Vril, and collected every inventory item.
+item_33_id=DESTINY
+item_33_title=Destiny
+item_33_comment=Unlocked the first 25 achievements and the Howard Philips Award.
+item_34_id=HARDCORE
+item_34_title=Hard-core
+item_34_comment=Unlocked every achievement!
diff --git a/devtools/create_achievements/gen/steam-364390.ini b/devtools/create_achievements/gen/steam-364390.ini
new file mode 100644
index 0000000000..92747d80c6
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-364390.ini
@@ -0,0 +1,91 @@
+[achievements:en]
+item_0_id=DF_PARTONE
+item_0_title=Part One
+item_0_comment=You read Part One of the letter
+item_1_id=DF_PARTTWO
+item_1_title=Part Two
+item_1_comment=You read Part Two of the letter
+item_2_id=DF_FINALPART
+item_2_title=The Final Part
+item_2_comment=You read the third and Final Part of the letter
+item_3_id=DF_RADIOHEAD
+item_3_title=Radiohead
+item_3_comment=Agnes turned on the radio
+item_4_id=DF_PENIS
+item_4_title=The Penis Award
+item_4_comment=You found a penis in the hotel garden
+item_5_id=DF_NOEYES
+item_5_title=No Eyes, Always Watching
+item_5_hidden=true
+item_6_id=DF_NOISES
+item_6_title=Noises She Makes In Their Bed
+item_6_hidden=true
+item_7_id=DF_HEADOFFICE
+item_7_title=The Head Office
+item_7_comment=Joe found Agnes' head on the desk in the manageress' office
+item_8_id=DF_PERV
+item_8_title=Perv...
+item_8_hidden=true
+item_9_id=DF_DEMONSLAYER
+item_9_title=Demon Slayer
+item_9_hidden=true
+item_10_id=DF_ONLYMONSTER
+item_10_title=The Only Monster Is You
+item_10_hidden=true
+item_11_id=DF_BADKITTY
+item_11_title=Bad Kitty
+item_11_comment=The cat ran away from Young Joe
+item_12_id=DF_CRAFTER
+item_12_title=Master Crafter
+item_12_hidden=true
+item_13_id=DF_DOWNFALL
+item_13_title=Downfall
+item_13_hidden=true
+item_14_id=DF_GOLDEN
+item_14_title=Golden Ending
+item_14_hidden=true
+item_15_id=DF_LORELAI
+item_15_title=Lorelai
+item_15_hidden=true
+item_16_id=DF_FULLOFCRAP
+item_16_title=Full Of Crap
+item_16_comment=You made Doctor Z really angry
+item_17_id=DF_RUNAWAYBRIDE
+item_17_title=Runaway Bride
+item_17_comment=Agnes persuaded Ivy to join her
+item_18_id=DF_JUSTDOIT
+item_18_title=Just Do It
+item_18_hidden=true
+item_19_id=DF_ASSHOLE
+item_19_title=Asshole
+item_19_comment=You were really mean to Ivy
+item_20_id=DF_SHNOZ
+item_20_title=Right In The Shnoz
+item_20_hidden=true
+item_21_id=DF_SAVIOUR
+item_21_title=Auto-Saviour
+item_21_hidden=true
+item_22_id=DF_HARDCORE
+item_22_title=Hardcore
+item_22_hidden=true
+item_23_id=DF_FLOORS
+item_23_title=Found Between The Floors
+item_23_comment=You explored all 4 floors of the hotel
+item_24_id=DF_QUIETHAVEN
+item_24_title=My Quiet Haven
+item_24_comment=You completed all the tasks in Helen Road
+item_25_id=DF_STARTS
+item_25_title=Meet Joe Davis
+item_25_comment=You completed the tutorial
+item_26_id=DF_SOPHIE
+item_26_title=Piece By Piece
+item_26_comment=You settled the matter with four Sophie's
+item_27_id=DF_BLUNT
+item_27_title=Blunt
+item_27_comment=You had a nice chat with Harrison
+item_28_id=DF_DEADCELEB
+item_28_title=Dead Celebrities
+item_28_hidden=true
+item_29_id=DF_LUCKYDIP
+item_29_title=Lucky Dip
+item_29_comment=You found some concept art in the lucky dip!
diff --git a/devtools/create_achievements/gen/steam-367110.ini b/devtools/create_achievements/gen/steam-367110.ini
new file mode 100644
index 0000000000..1e9f3e5178
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-367110.ini
@@ -0,0 +1,170 @@
+[stats:en]
+item_0_id=Pug_Stat
+item_0_comment=Enemies punched to death.
+item_0_start=0
+item_1_id=22_Stat
+item_1_comment=Kill enemies with 22 weapons
+item_1_start=0
+item_2_id=Rifle_Stat
+item_2_comment=Kill enemies with rifles
+item_2_start=0
+item_3_id=Pistol_Stat
+item_3_comment=Kill enemies with pistols
+item_3_start=0
+item_4_id=Multitool_Stat
+item_4_comment=Use Mulititools
+item_4_start=0
+item_5_id=Head_Shots
+item_5_comment=Total headshots
+item_5_start=0
+item_6_id=Limb_Shots
+item_6_comment=Total limb shots
+item_6_start=0
+item_7_id=Heart_Shots
+item_7_comment=Total heart shots
+item_7_start=0
+item_8_id=Search_Stat
+item_8_comment=Objects Searched
+item_8_start=0
+item_9_id=Flame_Kills
+item_9_comment=Kill 20 enemies with flamer
+item_9_start=0
+item_10_id=Tresspasser
+item_10_comment=Enter 50 locations
+item_10_start=0
+[achievements:en]
+item_0_id=NEW_ACHIEVEMENT_1_0
+item_0_title=Pugilist
+item_0_comment=Kill 20 enemies with your fists.
+item_1_id=NEW_ACHIEVEMENT_1_1
+item_1_title=Gunslinger
+item_1_comment=Kill 50 enemies with pistols.
+item_2_id=NEW_ACHIEVEMENT_1_2
+item_2_title=Hunter
+item_2_comment=Kill 50 enemies using .22 rifles.
+item_3_id=NEW_ACHIEVEMENT_1_3
+item_3_title=Gunrunner
+item_3_comment=Kill 50 enemies using 7.62mm rifles.
+item_4_id=NEW_ACHIEVEMENT_1_4
+item_4_title=Roadkill Cuisine
+item_4_comment=Cook some raw food.
+item_5_id=NEW_ACHIEVEMENT_1_5
+item_5_title=Survivalist
+item_5_comment=Craft an item.
+item_6_id=NEW_ACHIEVEMENT_1_6
+item_6_title=Under The Stars
+item_6_comment=Rest in a tent.
+item_7_id=NEW_ACHIEVEMENT_1_7
+item_7_title=Master Thief
+item_7_comment=Use 10 Multitools.
+item_8_id=NEW_ACHIEVEMENT_1_8
+item_8_title=Trespasser
+item_8_comment=Explore 50 locations.
+item_9_id=NEW_ACHIEVEMENT_1_9
+item_9_title=Conscription
+item_9_comment=Join the Militia.
+item_10_id=NEW_ACHIEVEMENT_1_10
+item_10_title=Bug Collector
+item_10_comment=Complete the "Bug Collector" side quest.
+item_11_id=NEW_ACHIEVEMENT_1_11
+item_11_title=Bird Catcher
+item_11_comment=Complete "Catch A Raven" side quest.
+item_12_id=NEW_ACHIEVEMENT_1_12
+item_12_title=Drugged Up
+item_12_comment=Complete "A&E" side quest.
+item_13_id=NEW_ACHIEVEMENT_1_13
+item_13_title=Feeding The Vampire
+item_13_comment=Complete "Blood Drinker" side quest.
+item_14_id=NEW_ACHIEVEMENT_1_14
+item_14_title=The Courier
+item_14_comment=Complete "The Mule" side quest.
+item_15_id=NEW_ACHIEVEMENT_1_15
+item_15_title=Lost And Found
+item_15_comment=Complete "Fallen Soldiers" side quest.
+item_16_id=NEW_ACHIEVEMENT_1_16
+item_16_title=Thieves And Bad Guys
+item_16_comment=Complete "Breaking And Entering" side quest.
+item_17_id=NEW_ACHIEVEMENT_1_17
+item_17_title=High Explosives
+item_17_comment=Complete "Closing The Gap" side quest.
+item_18_id=NEW_ACHIEVEMENT_1_18
+item_18_title=Rain Maker
+item_18_comment=Complete "The Irrigator" side quest.
+item_19_id=NEW_ACHIEVEMENT_1_19
+item_19_title=Going On A Trip
+item_19_comment=Complete "Shrooming" side quest.
+item_20_id=NEW_ACHIEVEMENT_1_20
+item_20_title=Punk Never Dies
+item_20_comment=Complete "Saving A Child" side quest.
+item_21_id=NEW_ACHIEVEMENT_1_21
+item_21_title=Midnight At The Oasis
+item_21_comment=Complete "The Oasis" side quest.
+item_22_id=NEW_ACHIEVEMENT_1_22
+item_22_title=Do You Believe?
+item_22_comment=Complete "New Roswell" side quest.
+item_23_id=NEW_ACHIEVEMENT_1_23
+item_23_title=Round Up
+item_23_comment=Complete "Saving Easter" side quest.
+item_24_id=NEW_ACHIEVEMENT_1_24
+item_24_title=Going Underground
+item_24_comment=Complete "Metro 2044" quest.
+item_25_id=NEW_ACHIEVEMENT_1_25
+item_25_title=Intelligent Design
+item_25_comment=Complete "Killing Machine" quest.
+item_26_id=NEW_ACHIEVEMENT_1_26
+item_26_title=Brainwashed
+item_26_comment=Complete "Controller" side quest.
+item_27_id=NEW_ACHIEVEMENT_1_28
+item_27_title=Making a Union
+item_27_comment=Complete "Forging A Union" quest.
+item_28_id=NEW_ACHIEVEMENT_1_29
+item_28_title=Life Giver
+item_28_comment=Complete "Liquid Gold" quest.
+item_29_id=NEW_ACHIEVEMENT_1_30
+item_29_title=Crossing The Great Unknown
+item_29_comment=Complete "Hazardous Material" quest.
+item_30_id=NEW_ACHIEVEMENT_1_31
+item_30_title=Crime Scenes
+item_30_comment=Complete "Northern Exposure" quest.
+item_31_id=NEW_ACHIEVEMENT_2_0
+item_31_title=Vault Dweller
+item_31_comment=Complete "Lab X-20" quest.
+item_32_id=NEW_ACHIEVEMENT_2_1
+item_32_title=Give Me Air
+item_32_comment=Complete "Rebreather" quest.
+item_33_id=NEW_ACHIEVEMENT_2_3
+item_33_title=In Search Of Ghosts
+item_33_comment=Complete "Father's Footsteps" quest.
+item_34_id=NEW_ACHIEVEMENT_2_4
+item_34_title=Hard Target
+item_34_comment=Complete a "Permadeath" run.
+item_35_id=NEW_ACHIEVEMENT_2_5
+item_35_title=Tightwad
+item_35_comment=Have $1000 in your wallet.
+item_36_id=NEW_ACHIEVEMENT_2_6
+item_36_title=Straight Through The Head
+item_36_comment=Make 50 head shots.
+item_37_id=NEW_ACHIEVEMENT_2_7
+item_37_title=Crippling Blows
+item_37_comment=Make 50 limb shots.
+item_38_id=NEW_ACHIEVEMENT_2_8
+item_38_title=Cardiac Arrest
+item_38_comment=Make 50 heart shots.
+item_39_id=NEW_ACHIEVEMENT_2_9
+item_39_title=Scavenger
+item_39_comment=Search 100 objects in the world.
+item_40_id=NEW_ACHIEVEMENT_2_10
+item_40_title=Fixer Upper
+item_40_comment=Complete "Tools Of The Trade" side quest.
+item_41_id=NEW_ACHIEVEMENT_2_11
+item_41_title=Gotta Flambé
+item_41_comment=Kill 20 enemies with the flamer.
+item_42_id=NEW_ACHIEVEMENT_2_12
+item_42_title=Open Your Mind
+item_42_hidden=true
+item_43_id=NEW_ACHIEVEMENT_2_13
+item_43_title=Grey Matter
+item_43_hidden=true
+item_44_id=NEW_ACHIEVEMENT_2_14
+item_44_title=Gone Home
+item_44_hidden=true
diff --git a/devtools/create_achievements/gen/steam-370910.ini b/devtools/create_achievements/gen/steam-370910.ini
new file mode 100644
index 0000000000..c80839fec8
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-370910.ini
@@ -0,0 +1,61 @@
+[achievements:en]
+item_0_id=FinishDayOne
+item_0_title=Get on the Katmobile
+item_0_comment=Finished day one
+item_1_id=FinishDayTwo
+item_1_title=Wow, they're hypnotic...
+item_1_comment=Finished day two
+item_2_id=FinishDayThree
+item_2_title=We've met before, haven't we?
+item_2_comment=Finished day three
+item_3_id=FinishDayFour
+item_3_title=Down the rabbit hole
+item_3_comment=Finished day four
+item_4_id=FinishGame
+item_4_title=Been there, done that
+item_4_comment=Finished the game
+item_5_id=Procrastinator
+item_5_title=Procrastinator
+item_5_hidden=true
+item_6_id=EnjoyingTheScenery
+item_6_title=Enjoying the scenery
+item_6_hidden=true
+item_7_id=Hotwheels
+item_7_title=Hotwheels
+item_7_hidden=true
+item_8_id=Aww
+item_8_title=Aaw!
+item_8_hidden=true
+item_9_id=Undateable
+item_9_title=Undateable
+item_9_hidden=true
+item_10_id=MrBear
+item_10_title=Mr. Bear, reporting for duty!
+item_10_hidden=true
+item_11_id=Nocturnal
+item_11_title=Nocturnal
+item_11_hidden=true
+item_12_id=HowYouDoing
+item_12_title=How YOU doing?
+item_12_hidden=true
+item_13_id=RestingScowlyFace
+item_13_title=Resting scowly face
+item_13_hidden=true
+item_14_id=Pyromaniac
+item_14_title=Pyromaniac
+item_14_hidden=true
+item_15_id=PassiveSmoking
+item_15_title=Passive smoking
+item_15_hidden=true
+item_16_id=FilmBuff
+item_16_title=Film buff
+item_16_hidden=true
+item_17_id=Heretic
+item_17_title=Heretic
+item_17_hidden=true
+item_18_id=TriggerHappy
+item_18_title=Trigger happy
+item_18_hidden=true
+item_19_id=HookedOnCorleys
+item_19_title=Hooked on Corleys
+item_19_hidden=true
diff --git a/devtools/create_achievements/gen/steam-378630.ini b/devtools/create_achievements/gen/steam-378630.ini
new file mode 100644
index 0000000000..ff6232f0e6
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-378630.ini
@@ -0,0 +1,64 @@
+[achievements:en]
+item_0_id=ACH_FARMER
+item_0_title=Very appropriate, you fight like a priest
+item_0_comment=Get rid of James by using no wrong answers.
+item_1_id=ACH_LAZYKILLER
+item_1_title=Lazy Killer
+item_1_comment=Open the car trunk as lazy people do.
+item_2_id=ACH_GOAULD
+item_2_title=Silvia the Goa’uld
+item_2_comment=Try camouflaging your voice to trick a thug.
+item_3_id=ACH_RAJATHUGS
+item_3_title=Queen of the shadows
+item_3_comment=Get rid of all the thugs guarding the Raja.
+item_4_id=ACH_MURDER
+item_4_title=Fifth Commandment
+item_4_comment=Commit murder.
+item_5_id=ACH_CROWBAR
+item_5_title=Now I am an adventure hero
+item_5_comment=An adventure game with no crowbars? Make one!
+item_6_id=ACH_CHAMOMILE
+item_6_title=Chamomile needed
+item_6_comment=Hit someone five times in a row just because you can.
+item_7_id=ACH_LADIESFIRST
+item_7_title=Ladies First
+item_7_comment=Can't get enough of playing with Silvia, huh?
+item_8_id=ACH_TRUEDETECTIVE
+item_8_title=True Detective
+item_8_comment=Complete James actions first.
+item_9_id=ACH_ACTIONADDICT
+item_9_title=Action Addict
+item_9_comment=Complete Silvia actions first.
+item_10_id=ACH_COCKTAIL
+item_10_title=Cocktail Master
+item_10_comment=Get the anti-hangover preparation right on first try
+item_11_id=ACH_OLDSCHOOL
+item_11_title=Old School Adventurer
+item_11_comment=Playing with pen and paper on your side?
+item_12_id=ACH_SEDUCTION
+item_12_title=Seduction Failure
+item_12_comment=That's not going to work with him.
+item_13_id=ACH_MARIKA
+item_13_title=No shortcuts
+item_13_comment=We understand you, but better avoid violence if possible!
+item_14_id=ACH_DAMSEL
+item_14_title=To the rescue!
+item_14_comment=Find out where Silvia is taken captive.
+item_15_id=ACH_PIN
+item_15_title=Desperate attempt
+item_15_comment=Sorry, this is not your tv's default PIN.
+item_16_id=ACH_COPYPASTER
+item_16_title=Copy Paster
+item_16_comment=Nice try, but wrong!
+item_17_id=ACH_TEAMPLAY
+item_17_title=Team Play
+item_17_comment=Wasn't "team" the best path of the three?
+item_18_id=ACH_TOMBRAIDERS
+item_18_title=Tomb Raiders
+item_18_comment=Complete Shadows on the Vatican Act II.
+item_19_id=ACH_DIALOGUELOVER
+item_19_title=Dialogue Lover
+item_19_comment=Complete the adventure with dialogue skipping disabled.
+item_20_id=ACH_CHEATER
+item_20_title=Cheater
+item_20_hidden=true
diff --git a/devtools/create_achievements/gen/steam-396090.ini b/devtools/create_achievements/gen/steam-396090.ini
new file mode 100644
index 0000000000..ae2d8431d1
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-396090.ini
@@ -0,0 +1,84 @@
+[stats:en]
+item_0_id=XP
+item_0_start=0
+item_1_id=Comedian
+item_1_start=0
+item_2_id=PetroleumTheocracy
+item_2_start=0
+item_3_id=CapitalistPlayground
+item_3_start=0
+item_4_id=UnstableElements
+item_4_start=0
+item_5_id=Charmer
+item_5_start=0
+item_6_id=Polyglot
+item_6_start=0
+item_7_id=HermitKingdom
+item_7_start=0
+[achievements:en]
+item_0_id=trophy_the_dictator
+item_0_title=THE DICTATOR
+item_0_comment=Congratulations! You beat the game and secured your place in history.
+item_1_id=trophy_big_score
+item_1_title=SHAFT'S BIG SCORE
+item_1_comment=Gain at least 800 points in a single playthrough.
+item_2_id=trophy_metropolis
+item_2_title=METROPOLIS
+item_2_comment=Build every state infrastructure building in a single game.
+item_3_id=trophy_peacemaker
+item_3_title=THE PEACEMAKER
+item_3_comment=Beat the game without waging a war, or having one waged against you.
+item_4_id=trophy_naked_truth
+item_4_title=THE NAKED TRUTH
+item_4_comment=Successfully blackmail an American ambassador.
+item_5_id=trophy_manchurian
+item_5_title=THE MANCHURIAN CANDIDATE
+item_5_comment=Have a foreign leader or another person of interest assassinated.
+item_6_id=trophy_spy_game
+item_6_title=SPY GAME
+item_6_comment=Obtained military intelligence on all foreign states in a single game.
+item_7_id=trophy_strangelove
+item_7_title=DOCTOR STRANGELOVE
+item_7_comment=Wage a nuclear war.
+item_8_id=trophy_courage
+item_8_title=COURAGE UNDER FIRE
+item_8_comment=Faced a premature coup d'etat and prevailed.
+item_9_id=trophy_patriot_games
+item_9_title=PATRIOT GAMES
+item_9_comment=Maintained 100% patriot approval for five consecutive turns.
+item_10_id=trophy_wolf_of_wall_street
+item_10_title=THE WOLF OF WALL STREET
+item_10_comment=Maintained 100% capitalist approval for five consecutive turns.
+item_11_id=trophy_signs
+item_11_title=SIGNS
+item_11_comment=Maintained 100% fundamentalist approval for five consecutive turns.
+item_12_id=trophy_roger_and_me
+item_12_title=ROGER AND ME
+item_12_comment=Maintained 100% liberal approval for five consecutive turns.
+item_13_id=trophy_chicken_run
+item_13_title=CHICKEN RUN
+item_13_comment=Master the language of Emperor Roosti.
+item_14_id=trophy_the_kingdom
+item_14_title=THE KINGDOM
+item_14_comment=Survived the 'Oil Theocracy' scenario.
+item_15_id=trophy_money_talks
+item_15_title=MONEY TALKS
+item_15_comment=Survived the 'Capitalist Playground' scenario.
+item_16_id=trophy_persepolis
+item_16_title=PERSEPOLIS
+item_16_comment=Survived the 'Unstable Elements' scenario.
+item_17_id=trophy_the_interview
+item_17_title=THE INTERVIEW
+item_17_comment=Survived the 'Hermit Kingdom' scenario.
+item_18_id=trophy_be_blood
+item_18_title=THERE WILL BE BLOOD
+item_18_hidden=true
+item_19_id=trophy_the_siege
+item_19_title=THE SIEGE
+item_19_hidden=true
+item_20_id=trophy_outbreak
+item_20_title=OUTBREAK
+item_20_hidden=true
+item_21_id=trophy_inside_job
+item_21_title=INSIDE JOB
+item_21_comment=Bailed out all of Basenji's failing industries.
diff --git a/devtools/create_achievements/gen/steam-397330.ini b/devtools/create_achievements/gen/steam-397330.ini
new file mode 100644
index 0000000000..78a28d807a
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-397330.ini
@@ -0,0 +1,37 @@
+[achievements:en]
+item_0_id=LBA_ACH_001
+item_0_title=Victory!
+item_0_comment=Finish the game.
+item_1_id=LBA_ACH_002
+item_1_title=Heavily armed
+item_1_comment=Get the magic saber.
+item_2_id=LBA_ACH_003
+item_2_title=Collector
+item_2_comment=Unlock all the clover boxes.
+item_3_id=LBA_ACH_004
+item_3_title=FIRE !
+item_3_comment=Fire the canon in the museum.
+item_4_id=LBA_ACH_005
+item_4_title=New record
+item_4_comment=Finish the game in less than 4h.
+item_5_id=LBA_ACH_006
+item_5_title=Double vision
+item_5_comment=Get into the meca-pinguin room.
+item_6_id=LBA_ACH_007
+item_6_title=I do what I want!
+item_6_comment=Get the syrup in the pharmacy before going to Twinsen's house.
+item_7_id=LBA_ACH_008
+item_7_title=Fanboy
+item_7_comment=Talk to the Star Wars fanboy.
+item_8_id=LBA_ACH_009
+item_8_title=Secret breaker
+item_8_comment=Find the secret passage in the museum.
+item_9_id=LBA_ACH_010
+item_9_title=Seasickness
+item_9_comment=Unlock the second video of the ferry trip.
+item_10_id=LBA_ACH_011
+item_10_title=Croesus
+item_10_comment=Have at least 500 Kashes in your wallet.
+item_11_id=LBA_ACH_012
+item_11_title=In your face
+item_11_comment=Unlock the 4 videos in which Twinsen gets a slap.
diff --git a/devtools/create_achievements/gen/steam-405780.ini b/devtools/create_achievements/gen/steam-405780.ini
new file mode 100644
index 0000000000..be1a422254
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-405780.ini
@@ -0,0 +1,55 @@
+[achievements:en]
+item_0_id=ACH_BOMBE_PERFECT
+item_0_title=Chef de Cuisine
+item_0_comment=Create a perfect Bombe Alaska
+item_1_id=ACH_BOMBE_OK
+item_1_title=Sous-Chef
+item_1_comment=Create an OK Bombe Alaska
+item_2_id=ACH_BOMBE_BAD
+item_2_title=Butcher
+item_2_comment=Create a lousy Bombe Alaska
+item_3_id=ACH_POLARBEAR
+item_3_title=Vetenarian
+item_3_comment=Treat a polar bear
+item_4_id=ACH_TRIANGULATE
+item_4_title=Everyday I’m Calculatin’
+item_4_comment=Successfully use triangulation on the first try
+item_5_id=ACH_PARSER
+item_5_title=Parser Hero
+item_5_comment=Make no mistakes in any of the parser puzzles
+item_6_id=ACH_NOVA_TALK
+item_6_title=A Shoulder to Lean on
+item_6_comment=Check on Nova in the first evening
+item_7_id=ACH_DAY1
+item_7_title=A Day in the Arctic
+item_7_comment=Survive the first day
+item_8_id=ACH_SANDWICH
+item_8_title=Munchies
+item_8_comment=Observe a nourishing treat
+item_9_id=ACH_BRA
+item_9_title=True Gentleman
+item_9_comment=Discover something intimate
+item_10_id=ACH_SHOOTBLANKS
+item_10_title=Shootin' Blanks
+item_10_comment=Jokingly try to shoot Tully
+item_11_id=ACH_FRIEND_OF_THE_YEAR
+item_11_title=Friend of the Year
+item_11_comment=Try to shoot Tully
+item_12_id=ACH_THE_END
+item_12_title=The End
+item_12_comment=Finish the game
+item_13_id=ACH_WEATHERMAN
+item_13_title=Weatherman
+item_13_comment=Always check the temperature first thing in the morning
+item_14_id=ACH_GENERATOR
+item_14_title=Very Strong With Machines
+item_14_comment=Start the generator on the first try
+item_15_id=ACH_MCGUYVER
+item_15_title=You are not MacGyver
+item_15_comment=Use the multitool way too much
+item_16_id=ACH_POTTYMOUTH
+item_16_title=Potty Mouth
+item_16_comment=Use parser impropriately
+item_17_id=ACH_BOMBE_GASOLINE
+item_17_title=Chef le Octané
+item_17_comment=Create a Bombe Alaska with gasoline
diff --git a/devtools/create_achievements/gen/steam-420180.ini b/devtools/create_achievements/gen/steam-420180.ini
new file mode 100644
index 0000000000..2fbba6ef2f
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-420180.ini
@@ -0,0 +1,127 @@
+[achievements:en]
+item_0_id=ACH_maleducato
+item_0_title=Shift It, Moron!
+item_0_comment=Met the shady thug for the first time.
+item_1_id=ACH_malmenato
+item_1_title=Down For The Count.
+item_1_comment=Witnessed a brutal beating.
+item_2_id=ACH_inizia
+item_2_title=Call To Adventure!
+item_2_comment=Began the game for the first time.
+item_3_id=ACH_meritato
+item_3_title=Reap What You Sow?
+item_3_hidden=true
+item_4_id=ACH_citazione
+item_4_title=Quote-Unquote.
+item_4_comment=Distracted by a classic quote.
+item_5_id=ACH_puzza
+item_5_title=What A Stench!
+item_5_hidden=true
+item_6_id=ACH_ticaccia
+item_6_title=OUUUUT!!!
+item_6_comment=Kicked out by Madame Tilton.
+item_7_id=ACH_penna
+item_7_title=Mightier Than The Sword.
+item_7_hidden=true
+item_8_id=ACH_drink
+item_8_title=A Man Walks Into A Bar.
+item_8_comment=Asked the barman for advice.
+item_9_id=ACH_gag
+item_9_title=Spinal Tap.
+item_9_hidden=true
+item_10_id=ACH_lapsus
+item_10_title=Freudian slip.
+item_10_comment=Slipped on a Freudian phallic symbol peel.
+item_11_id=ACH_licenziato
+item_11_title=TRUMPED!
+item_11_comment=Got Melvin fired.
+item_12_id=ACH_lettore
+item_12_title=Bookworm.
+item_12_comment=Read every book from the library.
+item_13_id=ACH_hopelow
+item_13_title=Con Artist!
+item_13_comment=Said all the fake names for Andrew Hopelow.
+item_14_id=ACH_hopeballa
+item_14_title=Bustin' Some Moves!
+item_14_comment=Saw Andrew Hopelow dancing to the Whateley Hillbillies' music.
+item_15_id=ACH_scopriymca
+item_15_title=It's Fun To Stay At The...
+item_15_comment=Found the YMCA.
+item_16_id=ACH_scusanonno
+item_16_title=Forgive me, grandfather...
+item_16_comment=Swapped the pen for the train model.
+item_17_id=ACH_junior
+item_17_title=Here, cutie!
+item_17_comment=Spoke to Junior.
+item_18_id=ACH_tiara
+item_18_title=Eureka!
+item_18_comment=Solved the tiara puzzle.
+item_19_id=ACH_rulli
+item_19_title=Safe Cracker!
+item_19_comment=Solved the combination puzzle.
+item_20_id=ACH_trenino
+item_20_title=Goodnight Sheldon.
+item_20_comment=Gave the train model to the train geek.
+item_21_id=ACH_crash
+item_21_title=Curiosity Killed The Cat.
+item_21_comment=Crashed the game by asking too many questions about the mirror.
+item_22_id=ACH_innsmouth
+item_22_title=Spectral Innsmouth.
+item_22_comment=Arrived in Innsmouth.
+item_23_id=ACH_deformazione
+item_23_title=Faded Genes.
+item_23_hidden=true
+item_24_id=ACH_tuttiiluoghi
+item_24_title=I Came! I Saw!
+item_24_hidden=true
+item_25_id=ACH_muoriraff
+item_25_title=Let Sleeping Dogs Lie.
+item_25_hidden=true
+item_26_id=ACH_lemmy
+item_26_title=Meatloaf!
+item_26_comment=Saw the young librarian in his Ace Of Spades era.
+item_27_id=ACH_tisparano
+item_27_title=Sleeping With The Fishes.
+item_27_hidden=true
+item_28_id=ACH_finisci
+item_28_title=Beyond The Sea.
+item_28_hidden=true
+item_29_id=ACH_pixelhunter
+item_29_title=Pixel Hunter.
+item_29_comment=Never used the hotspot help option.
+item_30_id=ACH_necronomicon
+item_30_title=Necronomicon.
+item_30_comment=Watched cutscene.
+item_31_id=ACH_cecchino
+item_31_title=360 No Scope!
+item_31_hidden=true
+item_32_id=ACH_segugio
+item_32_title=Ninja.
+item_32_comment=Shadowed the lookout to the smugglers' lair.
+item_33_id=ACH_giganteschio
+item_33_title=Skull! Skull! Skull!.
+item_33_hidden=true
+item_34_id=ACH_zadok
+item_34_title=IA! IA!
+item_34_comment=Cthulhu ftaghn.
+item_35_id=ACH_lighthouse
+item_35_title=Don't Fear The Keeper!
+item_35_comment=Reached the top of the lighthouse.
+item_36_id=ACH_dormire
+item_36_title=Sweet Dreams.
+item_36_comment=Fell asleep to the soothing sound of the sea.
+item_37_id=ACH_Fuggitivo
+item_37_title=The Fugitive!
+item_37_comment=Ran away without a second look!
+item_38_id=ACH_investigatore
+item_38_title=Investigator.
+item_38_comment=Found all the letters.
+item_39_id=ACH_shoggoth
+item_39_title=Shoggoth!
+item_39_comment=Escaped from the shoggoth.
+item_40_id=ACH_assalto
+item_40_title=Serpentine!
+item_40_comment=Dodged the bombardment and escaped Innsmouth!
+item_41_id=ACH_digita
+item_41_title=Lost Language.
+item_41_hidden=true
diff --git a/devtools/create_achievements/gen/steam-425600.ini b/devtools/create_achievements/gen/steam-425600.ini
new file mode 100644
index 0000000000..fd7b7f5d24
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-425600.ini
@@ -0,0 +1,40 @@
+[achievements:en]
+item_0_id=tkc_TwoGirls
+item_0_title=He is Gnomor'
+item_0_comment=The girls, Snow and Red, tried to save the gnome but alas, they failed.
+item_1_id=tkc_HighPriest
+item_1_title=High Priest
+item_1_comment=The high priest hightailed it out of the Faerie Realm.
+item_2_id=tkc_Knight
+item_2_title=A Knight to Remember
+item_2_comment=You've discovered Sir Gauen searching the swamp.
+item_3_id=tkc_Chucker
+item_3_title=Chucked It In
+item_3_comment=Chucker has given up on his search for the Queen.
+item_4_id=tkc_Faolan
+item_4_title=Faolan's Story
+item_4_comment=You now know the full story behind Faolan's defeat of Lord Sinister.
+item_5_id=tkc_Musical
+item_5_title=Musical Genius
+item_5_comment=You've learned and played every song on hard mode.
+item_6_id=tkc_Honorable
+item_6_title=Honors Student
+item_6_comment=You've read every memorial stone on the Isle of the Honored.
+item_7_id=tkc_PerfectMatch
+item_7_title=Perfect Match
+item_7_comment=You brought Glenda and Ted together. True love.
+item_8_id=tkc_Troll
+item_8_title=Paid the Troll Toll
+item_8_comment=Always pay off a troll with a treasure chest of gold!
+item_9_id=tkc_Berry
+item_9_title=Drops of Juniper
+item_9_comment=You found a way past the angry tree and got yourself some Firienne berries.
+item_10_id=tkc_Swamped
+item_10_title=Swamped
+item_10_comment=You've navigated the treacherous swamp and retrieved the pixies harp.
+item_11_id=tkc_Seer
+item_11_title=Seered to Perfection
+item_11_comment=The Seer has revealed her secrets to you thanks to your unusual solution.
+item_12_id=tkc_Hello
+item_12_title=A Worthy Challenger
+item_12_comment=You rescued the Queen and cast the spell in the final confrontation.
diff --git a/devtools/create_achievements/gen/steam-439310.ini b/devtools/create_achievements/gen/steam-439310.ini
new file mode 100644
index 0000000000..b4910219f3
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-439310.ini
@@ -0,0 +1,137 @@
+[stats:en]
+item_0_id=stat_kills
+item_0_start=0
+item_1_id=stat_deaths
+item_1_start=0
+item_2_id=stat_emily1
+item_2_start=0
+item_3_id=stat_emily2
+item_3_start=0
+item_4_id=stat_emily3
+item_4_start=0
+item_5_id=stat_bat
+item_5_start=0
+item_6_id=stat_gun
+item_6_start=0
+item_7_id=stat_laser
+item_7_start=0
+item_8_id=stat_flame
+item_8_start=0
+item_9_id=stat_lives
+item_9_start=0
+item_10_id=stat_points
+item_10_start=0
+item_11_id=stat_gunupgrade
+item_11_start=0
+item_12_id=stat_batupgrade
+item_12_start=0
+item_13_id=stat_laserupgrade
+item_13_start=0
+item_14_id=stat_flameupgrade
+item_14_start=0
+item_15_id=stat_laserchargeupgrade
+item_15_start=0
+item_16_id=stat_flamechargeupgrade
+item_16_start=0
+item_17_id=stat_hysteriadamagered
+item_17_start=0
+item_18_id=stat_dgincslowmo
+item_18_start=0
+item_19_id=stat_damagereduction
+item_19_start=0
+item_20_id=stat_mode
+item_20_start=0
+[achievements:en]
+item_0_id=ACH_SECOND_TONONE
+item_0_title=Second To None
+item_0_comment=Complete a level earning the Second To None Rank.
+item_1_id=ACH_SHARPSHOOTER
+item_1_title=Sharpshooter
+item_1_comment=Achieve 100% accuracy with the GUN.
+item_2_id=ACH_GHOST
+item_2_title=Ghost
+item_2_comment=Complete a stage without killing anyone.
+item_3_id=ACH_EXPECTNOMERCY
+item_3_title=Expect No Mercy:
+item_3_comment=Kill all the enemies in a stage.
+item_4_id=ACH_THIEF
+item_4_title=I'm An Artist!
+item_4_comment=Achieve the lowest ranking possible.
+item_5_id=ACH_WALKEN
+item_5_title=Something You Won't Walk Away From
+item_5_comment=Complete a stage in Chapter Eight with the ALARM going off.
+item_6_id=ACH_VIEW
+item_6_title=I've Seen Things
+item_6_comment=Head out of the apartment.
+item_7_id=ACH_VKING
+item_7_title=WHO THE F^&$ DO YOU THINK I AM
+item_7_comment=Complete a Boss Stage without using Time-Dilation.
+item_8_id=ACH_TEARS
+item_8_title=Tears In Rain
+item_8_comment=Die 1000 Times.
+item_9_id=ACH_BAT
+item_9_title=This Is Bat Country!
+item_9_comment=Kill all the enemies, using the BAT.
+item_10_id=ACH_GUN
+item_10_title=Dodge This
+item_10_comment=Kill all the enemies, using the GUN.
+item_11_id=ACH_LASER
+item_11_title=Do You Enjoy... Lasers?
+item_11_comment=Kill all the enemies, using the LASER.
+item_12_id=ACH_FLAME
+item_12_title=Burning Heart
+item_12_comment=Kill all the enemies, using the FLAMETHROWER.
+item_13_id=ACH_EMILY
+item_13_title=Blast The Past
+item_13_comment=Kill Emily's mirage in all its appearances.
+item_14_id=ACH_TUTORIAL
+item_14_title=Lesson Learned
+item_14_comment=Complete Tutorial.
+item_15_id=ACH_ARTIST
+item_15_title=SUPER MEGA ULTRA POWER ULTIMATE ASSASSIN
+item_15_comment=Get a 100% Rating in all the stages.
+item_16_id=ACH_FLAWLESS
+item_16_title=Flawless
+item_16_comment=Get a 100% Rating in any stage.
+item_17_id=ACH_ENEMIES
+item_17_title=Only Statistics
+item_17_comment=Kill 1000 Enemies.
+item_18_id=ACH_WATCHTV
+item_18_title=Brainwashed
+item_18_comment=Watch TV.
+item_19_id=ACH_VOICES
+item_19_title=The Voices Told Me To
+item_19_comment=Kill an enemy while hysteria is high.
+item_20_id=ACH_END
+item_20_title=It's over
+item_20_comment=Finish the game.
+item_21_id=ACH_HARD
+item_21_title=Easy Come, Easy Go
+item_21_comment=Beat the game in Hard Mode
+item_22_id=ACH_UNLA
+item_22_title=Older Missions
+item_22_comment=Unlock any of the work orders.
+item_23_id=ACH_UNLB
+item_23_title=Sleeper
+item_23_comment=Unlock all older work orders.
+item_24_id=ACH_BATKILLS
+item_24_title=I'm not gonna hurt you.
+item_24_comment=Kill 100 Enemies using the Bat.
+item_25_id=ACH_GUNKILLS
+item_25_title=They shoot people, don't they?
+item_25_comment=Kill 100 Enemies using the Gun.
+item_26_id=ACH_LASERKILLS
+item_26_title=Lasertag
+item_26_comment=Kill 100 Enemies using the Laser.
+item_27_id=ACH_FLAMEKILLS
+item_27_title=Ashes to ashes
+item_27_comment=Kill 100 Enemies using the Flamethrower.
+item_28_id=ACH_BOSSN
+item_28_title=In a row?
+item_28_comment=Finish Boss Mode in Normal Difficulty.
+item_29_id=ACH_BOSSH
+item_29_title=True to your name.
+item_29_comment=Finish Boss Mode in Hardcore Difficulty.
+item_30_id=ACH_UPGRADE
+item_30_title=Harder, Better, Faster, Stronger
+item_30_comment=Purchase any of the upgrades.
diff --git a/devtools/create_achievements/gen/steam-468530.ini b/devtools/create_achievements/gen/steam-468530.ini
new file mode 100644
index 0000000000..e503a3bb70
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-468530.ini
@@ -0,0 +1,28 @@
+[achievements:en]
+item_0_id=NEW_ACHIEVEMENT_1_0_PHOTO
+item_0_title=Eye of the Beholder
+item_0_comment=Remnants of an enchanting evening...
+item_1_id=NEW_ACHIEVEMENT_1_1_
+item_1_title=A Friend in Need
+item_1_comment=Sometimes we all need some help.
+item_2_id=NEW_ACHIEVEMENT_1_2
+item_2_title=Explorer
+item_2_comment=You know this place like the back of your hand!
+item_3_id=NEW_ACHIEVEMENT_1_3
+item_3_title=An Old Head
+item_3_comment=A strange discovery... A?
+item_4_id=NEW_ACHIEVEMENT_1_4
+item_4_title=Lost in Translation
+item_4_comment=Lou really needs to learn Portuguese.
+item_5_id=NEW_ACHIEVEMENT_1_5
+item_5_title=Hanging on the Telephone
+item_5_comment=HELP!
+item_6_id=NEW_ACHIEVEMENT_1_6
+item_6_title=Statue Fan
+item_6_comment=Lou appreciates a fine sculpture or three.
+item_7_id=NEW_ACHIEVEMENT_1_7
+item_7_title=Boom or Bust?
+item_7_comment=Visions of Adrasteia.
+item_8_id=NEW_ACHIEVEMENT_1_8
+item_8_title=A Good Samaritan
+item_8_comment=Now there's a good boy.
diff --git a/devtools/create_achievements/gen/steam-509920.ini b/devtools/create_achievements/gen/steam-509920.ini
new file mode 100644
index 0000000000..15150cbc82
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-509920.ini
@@ -0,0 +1,85 @@
+[achievements:en]
+item_0_id=ACH_CHAP1_BUNKER
+item_0_title=Chapter 1: Bunker
+item_0_comment=You re-emerged from the bunker unharmed many months after catastrophe!
+item_1_id=ACH_TRADING
+item_1_title=Trading Paint
+item_1_hidden=true
+item_2_id=ACH_DEADSET
+item_2_title=Dead Set
+item_2_hidden=true
+item_3_id=ACH_CHAP2_SERENITY
+item_3_title=Chapter 2: Serenity
+item_3_comment=You managed to leave the town of Serenity in search of Montauk!
+item_4_id=ACH_CHAP3_AREA51
+item_4_title=Chapter 3: Area 51
+item_4_comment=You completed chapter 3 in Area 51!
+item_5_id=ACH_CHAP4_ARCTIC
+item_5_title=Chapter 4: Arctic
+item_5_comment=You completed chapter 4 in the Arctic!
+item_6_id=ACH_CHAP5_TIMETRAV
+item_6_title=Chapter 5: Time Travel
+item_6_comment=You completed the final chapter at various historic locations!
+item_7_id=ACH_WARGAMES
+item_7_title=War Games
+item_7_hidden=true
+item_8_id=ACH_CRYSTAL1
+item_8_title=Yoraguni
+item_8_hidden=true
+item_9_id=ACH_CRYSTAL2
+item_9_title=Ziggurat of Ur
+item_9_hidden=true
+item_10_id=ACH_CRYSTAL3
+item_10_title=Pyramid of Khufu
+item_10_hidden=true
+item_11_id=ACH_CRYSTAL4
+item_11_title=Chichen Itza
+item_11_hidden=true
+item_12_id=ACH_GENIUS
+item_12_title=Genius!
+item_12_comment=You completed the game with the highest score possible!
+item_13_id=ACH_ALIENPANEL
+item_13_title=Control Panel
+item_13_hidden=true
+item_14_id=ACH_TESLA
+item_14_title=Nikola Tesla
+item_14_hidden=true
+item_15_id=ACH_TRUTH
+item_15_title=The Truth
+item_15_hidden=true
+item_16_id=ACH_BIGLIE
+item_16_title=The Big Lie
+item_16_hidden=true
+item_17_id=ACH_ORDERNAME
+item_17_title=So Many Possibilities...
+item_17_hidden=true
+item_18_id=ACH_SOUL
+item_18_title=I Am Soul
+item_18_hidden=true
+item_19_id=ACH_SIGNHERE
+item_19_title=I Am Doc Apocalypse
+item_19_hidden=true
+item_20_id=ACH_EUREKA
+item_20_title=Eureka Moment
+item_20_comment=You got every achievement!
+item_21_id=ACH_FAILURE
+item_21_title=Epic Fail
+item_21_comment=You completed the game with the lowest score possible!
+item_22_id=ACH_TUTORIAL
+item_22_title=Read The Manual
+item_22_hidden=true
+item_23_id=ACH_CRANE
+item_23_title=Hook A Schmuck
+item_23_hidden=true
+item_24_id=ACH_BACKINTIME
+item_24_title=Back In Time
+item_24_hidden=true
+item_25_id=ACH_GRAVE
+item_25_title=Grave Consequences
+item_25_hidden=true
+item_26_id=ACH_GREATNEUTRONS
+item_26_title=Great Neutrons!
+item_26_hidden=true
+item_27_id=ACH_DEPUTY
+item_27_title=Deputy Doc
+item_27_hidden=true
diff --git a/devtools/create_achievements/gen/steam-551840.ini b/devtools/create_achievements/gen/steam-551840.ini
new file mode 100644
index 0000000000..47e0ab35f2
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-551840.ini
@@ -0,0 +1,82 @@
+[achievements:en]
+item_0_id=YROLG0
+item_0_title=Burn Them
+item_0_comment=When in doubt, set something on fire.
+item_1_id=YROLG1
+item_1_title=Skewer Them
+item_1_comment=Shish-ka-bob!
+item_2_id=YROLG2
+item_2_title=Crush Them With Rocks
+item_2_comment=Good ol' rock. Nothing beats rock.
+item_3_id=YROLG3
+item_3_title=Into Your Bottomless Pit
+item_3_comment=No depths are too low!
+item_4_id=YROLG4
+item_4_title=Impassionate
+item_4_comment=Complete Quest for Yrolg in thirteen minutes
+item_5_id=YROLG5
+item_5_title=Rise From Your Grave
+item_5_hidden=true
+item_6_id=YROLG6
+item_6_title=Prickly like a hedgehog
+item_6_hidden=true
+item_7_id=YROLG7
+item_7_title=Get your Tan on
+item_7_hidden=true
+item_8_id=QUASAR0
+item_8_title=If Duct Tape won't fix it...
+item_8_comment=...you're not using enough!
+item_9_id=QUASAR1
+item_9_title=Virtual Vacation
+item_9_comment=Vicarious visitation, verily.
+item_10_id=QUASAR2
+item_10_title=The Way to the Heart
+item_10_comment=...is through the stomach.
+item_11_id=QUASAR3
+item_11_title=I Can Has Cheezburger
+item_11_comment=Pets lower blood pressure.
+item_12_id=QUASAR4
+item_12_title=Now That's Teamwork!
+item_12_comment=Complete Starship Quasar
+item_13_id=QUASAR5
+item_13_title=The World is your Oyster
+item_13_hidden=true
+item_14_id=QUASAR6
+item_14_title=Office Romance
+item_14_hidden=true
+item_15_id=QUASAR7
+item_15_title=Never Enough Data
+item_15_hidden=true
+item_16_id=LOTTER1
+item_16_title=Philosopher's Scone
+item_16_comment=Pass the Alchemy exam
+item_17_id=LOTTER2
+item_17_title=You've Runed Your Life
+item_17_comment=Pass the Runes exam
+item_18_id=LOTTER3
+item_18_title=Draft of Opening
+item_18_hidden=true
+item_19_id=LOTTER5
+item_19_title=Utiliference your Synergies
+item_19_hidden=true
+item_20_id=LOTTER6
+item_20_title=Did The Earth Move For You?
+item_20_hidden=true
+item_21_id=LOTTER7
+item_21_title=What Number Am I Thinking Of?
+item_21_hidden=true
+item_22_id=LOTTER8
+item_22_title=None Shall Pass
+item_22_hidden=true
+item_23_id=LOTTER9
+item_23_title=I Forget What This Achievement Is For
+item_23_hidden=true
+item_24_id=LOTTER10
+item_24_title=Density Beckons
+item_24_comment=Get a date with Cho
+item_25_id=LOTTER4
+item_25_title=Is It Easter Yet?
+item_25_hidden=true
+item_26_id=LOTTER0
+item_26_title=This Class Has No Future
+item_26_comment=Pass the History exam
diff --git a/devtools/create_achievements/gen/steam-556060.ini b/devtools/create_achievements/gen/steam-556060.ini
new file mode 100644
index 0000000000..45f5788830
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-556060.ini
@@ -0,0 +1,76 @@
+[achievements:en]
+item_0_id=Achiev_01
+item_0_title=Vigilante
+item_0_comment=That taxi driver picked up his last fare…
+item_1_id=Achiev_02
+item_1_title=Alcoholic
+item_1_comment=Cocktails go to my head.
+item_2_id=Achiev_03
+item_2_title=Romantic Detective
+item_2_comment=A real badass always know when to be sweet.
+item_3_id=Achiev_04
+item_3_title=Role Player
+item_3_comment=Ridicolous little green men…
+item_4_id=Achiev_05
+item_4_title=Heroic Deed
+item_4_comment=There's only his stench left…
+item_5_id=Achiev_06
+item_5_title=Good Morning
+item_5_comment=When you are a heavy sleeper…
+item_6_id=Achiev_07
+item_6_title=Cold-Blooded Detective
+item_6_comment=I like counting on my best friend.
+item_7_id=Achiev_08
+item_7_title=Smuggler
+item_7_comment=What's a smuggler without a business card?
+item_8_id=Achiev_09
+item_8_title=Green Thumb
+item_8_comment=Now I figured out what Latin is good for.
+item_9_id=Achiev_10
+item_9_title=Space Invader
+item_9_comment=It's always fun to threaten Earth…
+item_10_id=Achiev_11
+item_10_title=Baby Sitter
+item_10_comment=Maybe as a side job…
+item_11_id=Achiev_12
+item_11_title=Infallible Nose
+item_11_comment=What's a detective without his instincts?
+item_12_id=Achiev_13
+item_12_title=Interference
+item_12_comment=Who was that, Mario?
+item_13_id=Achiev_14
+item_13_title=Animal Activist
+item_13_comment=The animals must respect other animals.
+item_14_id=Achiev_15
+item_14_title=Timed Trial
+item_14_comment=Speed is my middle name.
+item_15_id=Achiev_16
+item_15_title=Old School
+item_15_comment=There's nothing like the old school.
+item_16_id=Achiev_17
+item_16_title=Sprinter
+item_16_comment=Never stop. Never.
+item_17_id=Achiev_18
+item_17_title=Devoted
+item_17_comment=Assistants are born, not made.
+item_18_id=Achiev_19
+item_18_title=Chronically Indecisive
+item_18_comment=Doubt is the source of wisdom.
+item_19_id=Achiev_20
+item_19_title=Supplier
+item_19_comment=Cutlery smuggling.
+item_20_id=Achiev_21
+item_20_title=Connoisseur
+item_20_comment=Got the cocktail in one.
+item_21_id=Achiev_22
+item_21_title=Cameo
+item_21_comment=Those game designers are crazy…
+item_22_id=Achiev_23
+item_22_title=Briber
+item_22_comment=Here's the proper use of the money.
+item_23_id=Achiev_24
+item_23_title=Time to Get Serious
+item_23_comment=When the going gets rough...
+item_24_id=Achiev_25
+item_24_title=The Curtains Falls
+item_24_comment=Applause, please.
diff --git a/devtools/create_achievements/gen/steam-561770.ini b/devtools/create_achievements/gen/steam-561770.ini
new file mode 100644
index 0000000000..0671b2d15e
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-561770.ini
@@ -0,0 +1,100 @@
+[achievements:en]
+item_0_id=ACH_MYST_PHOTO
+item_0_title=Mysterious Photo
+item_0_comment=A photo can catch a moment in time?
+item_1_id=ACH_1000_PHOTO
+item_1_title=A Photo Can Tell A Thousand Words
+item_1_comment=An empty frame tells a million.
+item_2_id=ACH_SURPRISE
+item_2_title=I Don't Like Surprises
+item_2_comment=Wrong closet.
+item_3_id=ACH_GLASS_DOOR
+item_3_title=I Better Stay Inside
+item_3_comment=Besides, it's too cold out.
+item_4_id=ACH_TOILET
+item_4_title=I Don't Really Need To Go
+item_4_comment=I think I'll hold it.
+item_5_id=ACH_THEYRE_HERE
+item_5_title=They're Here
+item_5_comment=The tv people.
+item_6_id=ACH_SELFIE
+item_6_title=But First, Let Me Take Uh...
+item_6_comment=Selfie?
+item_7_id=ACH_BAD_DREAM
+item_7_title=This Is All A Bad Dream
+item_7_comment=I hope.
+item_8_id=ACH_YOU_TOLD
+item_8_title=*Gasp* You Told!
+item_8_comment=Why the hell did you do that for?
+item_9_id=ACH_DAYFIELD
+item_9_title=Welcome To Dayfield Motel
+item_9_comment=Enjoy your stay!
+item_10_id=ACH_PEEPING_TOM
+item_10_title=Mind Your Own Business!
+item_10_comment=No one likes a peeping tom.
+item_11_id=ACH_INTERESTING_CONCEPT
+item_11_title=Interesting Concept!
+item_11_comment=No problem.
+item_12_id=ACH_POSTER
+item_12_title=Nice! Uh...Poster
+item_12_comment=He's got a good taste in...posters.
+item_13_id=ACH_BEKIND_REWIND
+item_13_title=Be Kind Rewind.
+item_13_comment=Our customers would appreciate it.
+item_14_id=ACH_WRONG_FOOTAGE
+item_14_title=Tainted Footage
+item_14_comment=Do not watch this tape.
+item_15_id=ACH_WHOOPS
+item_15_title=Sorry To Barge In!
+item_15_comment=Uh...I'll come back later.
+item_16_id=ACH_LOVESICK
+item_16_title=Feeling Lovesick?
+item_16_comment=Or is it just gas?
+item_17_id=ACH_MELONS
+item_17_title=Get It?
+item_17_comment=8-bit...never mind -_-
+item_18_id=ACH_BEER
+item_18_title=Drink Your Sorrows Away
+item_18_comment=Whatsa Madder?
+item_19_id=ACH_SPINE_EATER
+item_19_title=Are You Afraid?
+item_19_comment=You should be.
+item_20_id=ACH_KOPIKAT
+item_20_title=Stop Copying Me!
+item_20_comment=I should take his picture.
+item_21_id=ACH_SHOOT_MARK
+item_21_title=Dinner Reservation For 2
+item_21_comment=Do you trust him?
+item_22_id=ACH_SHOOT_NEASON
+item_22_title=I Shot The Sheriff
+item_22_comment=But I did not shoot the deputy.
+item_23_id=ACH_FEAR_OF_FLYING
+item_23_title=Fear Of Flying
+item_23_comment=Especially if you have to fly the plane!
+item_24_id=ACH_SUBWAY
+item_24_title=I Hate The Subway
+item_24_comment=Are we there yet?
+item_25_id=ACH_DECISION
+item_25_title=Is This The Right Thing To Do?
+item_25_comment=I'm not so sure.
+item_26_id=ACH_NOOKIE
+item_26_title=Lust
+item_26_comment=Can be the darkest of temptations
+item_27_id=ACH_KISS_FROM_A_ROSE
+item_27_title=Kiss From A Black Rose
+item_27_comment=Something has unlocked?
+item_28_id=ACH_WRONG
+item_28_title=Ha Ha! Wrong!
+item_28_comment=But, It said it was right!
+item_29_id=ACH_TAPE_RECORDER
+item_29_title=A Tape Recorder?
+item_29_comment=Guess I'll need to find some tapes
+item_30_id=ACH_LOVE_POTION
+item_30_title=The Love Potion
+item_30_comment=For your deepest desires.
+item_31_id=ACH_MOMMY
+item_31_title=Mom?
+item_31_comment=Bad Ending.
+item_32_id=ACH_MASSACRE
+item_32_title=Dad?
+item_32_comment=Good Ending.
diff --git a/devtools/create_achievements/gen/steam-574420.ini b/devtools/create_achievements/gen/steam-574420.ini
new file mode 100644
index 0000000000..1392f8b255
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-574420.ini
@@ -0,0 +1,71 @@
+[achievements:en]
+item_0_id=ACT_1
+item_0_title=Act 1 Completed
+item_1_id=ACT_2
+item_1_title=Act 2 Completed
+item_2_id=ACT_3
+item_2_title=Act 3 Completed
+item_3_id=ACT_4
+item_3_title=Act 4 Completed
+item_4_id=ACT_5
+item_4_title=Act 5 Completed
+item_5_id=CHAPMANS_LODGINGS
+item_5_title=The Missing Tenant
+item_6_id=CONSTABULARY
+item_6_title=The Borough's Finest
+item_7_id=CRIME_SCENE
+item_7_title=An Ugly Beating
+item_8_id=FEATHERSTONE
+item_8_title=A Walk To The Shops
+item_9_id=GRAND_HOTEL
+item_9_title=Luxurious Stay
+item_10_id=HAT_WORKSHOP
+item_10_title=Revelations
+item_11_id=HOSPITAL
+item_11_title=Home Sweet Home
+item_12_id=PEMBERTON_EMPORIUM
+item_12_title="Fair" Exchanges
+item_13_id=PRESCOTT_LANE
+item_13_title=Breaking & Entering
+item_14_id=THE_MARQUIS
+item_14_title=Dinner Is Served
+item_15_id=WHITEHAVEN_HALL
+item_15_title=A Grand E"state" Of Affairs
+item_16_id=DUBOIS_SMALLTALK
+item_16_title=The Man In Black
+item_17_id=FEATHERSTONE_SMALLTALK
+item_17_title=Suited With Enthusiasm
+item_18_id=HOBBS_SMALLTALK
+item_18_title=Gardening & Nasty Quarrels
+item_19_id=INSPECTOR_SMALLTALK
+item_19_title=Friends In High Places
+item_20_id=SHAW_SMALLTALK
+item_20_title=The Timid Suspect
+item_21_id=LAWSON_SMALLTALK
+item_21_title=A Lady's Whims
+item_22_id=MAID_SMALLTALK
+item_22_title=A Maid's Sadness
+item_23_id=GIBBS_SMALLTALK
+item_23_title=The Landlady's Avarice
+item_24_id=PIKE_SMALLTALK
+item_24_title=An Obstinate 'Old Dear'
+item_25_id=PEMBERTON_SMALLTALK
+item_25_title=Shady Dealings
+item_26_id=ROBERT_SMALLTALK
+item_26_title=Eager To Serve
+item_27_id=1919_POISONING_CASE
+item_27_title=Solved The 1919 Case
+item_28_id=ASHBERG_HEIST
+item_28_title=Solved The Ashberg Heist
+item_29_id=CLOCHE_HAT
+item_29_title=Solved The Mystery of the Cloche Hat
+item_30_id=BODYSLASHER
+item_30_title=Bodyslasher
+item_31_id=CHEMISTRY_101
+item_31_title=Chemistry 101
+item_32_id=BOOKWORM
+item_32_title=Bookworm
+item_33_id=TABLE_FOR_ONE
+item_33_title=Table for one
+item_34_id=COUPLES_CONSULTANT
+item_34_title=Couples consultant
diff --git a/devtools/create_achievements/gen/steam-595560.ini b/devtools/create_achievements/gen/steam-595560.ini
new file mode 100644
index 0000000000..c38f240ad0
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-595560.ini
@@ -0,0 +1,76 @@
+[achievements:en]
+item_0_id=MorningRoutine
+item_0_title=Morning Routine
+item_0_comment=You've completed your morning exercises
+item_1_id=MansBestFriend
+item_1_title=Man's Best Friend
+item_1_comment=Green Island, green dog!
+item_2_id=ChickenChaser
+item_2_title=Chicken Chaser
+item_2_comment=You've caught yourself a chicken!
+item_3_id=CongeeKing
+item_3_title=Congee King
+item_3_comment=You've cooked a delicious dish!
+item_4_id=ThePuppetMaster
+item_4_title=The Puppet Master
+item_4_comment=A passable puppet.
+item_5_id=LordOfTheDyes
+item_5_title=Lord of the Dyes
+item_5_comment=A certain shade of rouge.
+item_6_id=DextrousFingers
+item_6_title=Dextrous Fingers
+item_6_comment=You've successfully tickled a fish!
+item_7_id=TheGambler
+item_7_title=The Gambler
+item_7_comment=Don't get addicted!
+item_8_id=TrueBrawler
+item_8_title=True Brawler
+item_8_comment=You've defeated Bo in a sparring match.
+item_9_id=FishFace
+item_9_title=Fish Face
+item_9_comment=You've caught the mythical fish which bears the face of a man!
+item_10_id=FruitFan
+item_10_title=Fruit Fan
+item_10_comment=You've eaten two fruits!
+item_11_id=EagleEye
+item_11_title=Eagle Eye
+item_11_comment=You've spotted all the birds in the brochure!
+item_12_id=DiscoDiva
+item_12_title=Disco Diva
+item_12_comment=Apparently your dancing is so bad she had to leave!
+item_13_id=Specialist
+item_13_title=Specialist
+item_13_comment=You've collected all the Specials!
+item_14_id=Pervert
+item_14_title=Pervert
+item_14_comment=You probably shouldn't have touched those!
+item_15_id=GrowAPair
+item_15_title=Grow a pair!
+item_15_comment=You've taken on the Eunuch on his own patch!
+item_16_id=LairOfTheBear
+item_16_title=Lair of the Bear
+item_16_comment=You've found Howgrundi's lair.
+item_17_id=Destiny
+item_17_title=Destiny
+item_17_hidden=true
+item_18_id=PennyForThePoor
+item_18_title=Penny for the Poor
+item_18_comment=Your generosity to the poor folk of Red Island has been noted.
+item_19_id=NoseyParker
+item_19_title=Nosey Parker
+item_19_comment=You've discovered some island intrigue, but it's none of your business!
+item_20_id=BigFish
+item_20_title=Big Fish
+item_20_comment=You've caught a 400lb+ tuna!
+item_21_id=FreedomFighter
+item_21_title=Freedom Fighter
+item_21_comment=You freed Grawol from jail.
+item_22_id=RedHotReaction
+item_22_title=Red Hot Reaction!
+item_22_comment=You hit every single apple!
+item_23_id=Traveller
+item_23_title=Traveller of the Five Islands
+item_23_hidden=true
+item_24_id=PosterBoy
+item_24_title=Poster Boy
+item_24_comment=You secured a new career for Jona!
diff --git a/devtools/create_achievements/gen/steam-603870.ini b/devtools/create_achievements/gen/steam-603870.ini
new file mode 100644
index 0000000000..2af54a1dce
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-603870.ini
@@ -0,0 +1,103 @@
+[achievements:en]
+item_0_id=NEW_ACHIEVEMENT_1_0
+item_0_title=Chapter One
+item_0_comment=A Mixed Welcome
+item_1_id=NEW_ACHIEVEMENT_1_1
+item_1_title=Chapter Two
+item_1_comment=Flight of the Dove
+item_2_id=NEW_ACHIEVEMENT_1_2
+item_2_title=Chapter Three
+item_2_comment=Lay of the Land
+item_3_id=NEW_ACHIEVEMENT_1_3
+item_3_title=Chapter Four
+item_3_comment=The Other Kingdom
+item_4_id=NEW_ACHIEVEMENT_1_4
+item_4_title=Chapter Five
+item_4_comment=First Strike
+item_5_id=NEW_ACHIEVEMENT_1_5
+item_5_title=Chapter Six
+item_5_comment=The Light of Truth
+item_6_id=NEW_ACHIEVEMENT_1_6
+item_6_title=Chapter Seven
+item_6_comment=Point of View
+item_7_id=NEW_ACHIEVEMENT_1_7
+item_7_title=Chapter Eight
+item_7_comment=End of the Line
+item_8_id=NEW_ACHIEVEMENT_1_8
+item_8_title=Paradur's Approval
+item_8_comment=Complete the game
+item_9_id=NEW_ACHIEVEMENT_1_9
+item_9_title=Take Him Away, Boys
+item_9_comment=Capture the assassin
+item_10_id=NEW_ACHIEVEMENT_1_10
+item_10_title=Happily Ever After
+item_10_hidden=true
+item_11_id=NEW_ACHIEVEMENT_1_11
+item_11_title=Summer Unending
+item_11_comment=You have found solace
+item_12_id=NEW_ACHIEVEMENT_1_12
+item_12_title=By Hook or By Crook
+item_12_hidden=true
+item_13_id=NEW_ACHIEVEMENT_1_13
+item_13_title=Not Our Problem
+item_13_comment=Theylinn can sort itself out
+item_14_id=NEW_ACHIEVEMENT_1_14
+item_14_title=Meticulous Adventurer
+item_14_comment=See all 20 cutscenes in one playthrough
+item_15_id=NEW_ACHIEVEMENT_1_15
+item_15_title=Karma is a Witch
+item_15_hidden=true
+item_16_id=NEW_ACHIEVEMENT_1_16
+item_16_title=Earned Her Name
+item_16_hidden=true
+item_17_id=NEW_ACHIEVEMENT_1_17
+item_17_title=Midir's Manumission
+item_17_hidden=true
+item_18_id=NEW_ACHIEVEMENT_1_18
+item_18_title=Kindred Spirits
+item_18_hidden=true
+item_19_id=NEW_ACHIEVEMENT_1_19
+item_19_title=Rhiannon's Restoration
+item_19_comment=Rescued the princess
+item_20_id=NEW_ACHIEVEMENT_1_20
+item_20_title=Penultimate Problem Ponderer
+item_20_comment=Pass the Pooka's test without shortcuts
+item_21_id=NEW_ACHIEVEMENT_1_21
+item_21_title=Survival of the Fittest
+item_21_comment=Counterattack on the goblins
+item_22_id=NEW_ACHIEVEMENT_1_22
+item_22_title=Scarecrow Support
+item_22_hidden=true
+item_23_id=NEW_ACHIEVEMENT_1_23
+item_23_title=Second Chance
+item_23_hidden=true
+item_24_id=NEW_ACHIEVEMENT_1_24
+item_24_title=Not Bad for a Mortal
+item_24_hidden=true
+item_25_id=NEW_ACHIEVEMENT_1_25
+item_25_title=Seven at One Blow
+item_25_hidden=true
+item_26_id=NEW_ACHIEVEMENT_1_26
+item_26_title=It Belongs in a Museum
+item_26_hidden=true
+item_27_id=NEW_ACHIEVEMENT_1_27
+item_27_title=Rogue's Escape
+item_27_hidden=true
+item_28_id=NEW_ACHIEVEMENT_1_28
+item_28_title=Take the High Road
+item_28_hidden=true
+item_29_id=NEW_ACHIEVEMENT_1_29
+item_29_title=Cailte's Carelessness
+item_29_hidden=true
+item_30_id=NEW_ACHIEVEMENT_1_30
+item_30_title=Spun from Straw
+item_30_comment=Find the faerie gold
+item_31_id=NEW_ACHIEVEMENT_1_31
+item_31_title=Goblin Getaway
+item_31_comment=Free yourself from captivity
+item_32_id=NEW_ACHIEVEMENT_2_0
+item_32_title=Wisdom of the Bards
+item_32_comment=Obtain 100% wisdom rating
+item_33_id=NEW_ACHIEVEMENT_2_1
+item_33_title=Fierce Warrior
+item_33_comment=Obtain 100% honor rating
diff --git a/devtools/create_achievements/gen/steam-610900.ini b/devtools/create_achievements/gen/steam-610900.ini
new file mode 100644
index 0000000000..f0bc4e3070
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-610900.ini
@@ -0,0 +1,79 @@
+[achievements:en]
+item_0_id=EnterOffice
+item_0_title=Clocking in
+item_0_comment=Another day in paradise!
+item_1_id=Tiger
+item_1_title=Satisfied customer
+item_1_comment=A feathery meal for our feline friend
+item_2_id=Quenched
+item_2_title=Quenched
+item_2_comment=Tija has her water
+item_3_id=WildYam
+item_3_title=A new source secured
+item_3_comment=Nyorak has her wild yam
+item_4_id=DragonsBlood
+item_4_title=Blood of the Dragon
+item_4_comment=Melekat and Sumping can now make their red dye
+item_5_id=BoyLog
+item_5_title=Spotted
+item_5_comment=The missing boy has been spotted
+item_6_id=FamilyReunited
+item_6_title=Family Reunited
+item_6_comment=The boy is lost no more
+item_7_id=Spooked
+item_7_title=Spooked
+item_7_comment=David vs Goliath!
+item_8_id=Honey
+item_8_title=A sticky mess
+item_8_comment=Some honey has been gathered
+item_9_id=TurtleHop
+item_9_title=Stepping stone
+item_9_comment=A new way to hop!
+item_10_id=Axeback
+item_10_title=Trust
+item_10_comment=Yandi has been trusted with the return of his axe
+item_11_id=Streak
+item_11_title=Streak!
+item_11_comment=Achieved 3 consecutive wins in Semut Orang Gajah
+item_12_id=HiScore
+item_12_title=Hi-score!
+item_12_comment=Achieved new high score in Semut Orang Gajah
+item_13_id=DogPat
+item_13_title=You can pet the dog in Sumatra: Fate of Yandi
+item_13_comment=Who's a good boy?
+item_14_id=Recordbark
+item_14_title=Sound engineer
+item_14_comment=Maybe Yandi can think about a new career
+item_15_id=Checkmate
+item_15_title=Checkmate
+item_15_comment=A poignant discovery
+item_16_id=Ramdancamera
+item_16_title=Who was that?
+item_16_hidden=true
+item_17_id=Compass
+item_17_title=Navigator
+item_17_comment=Incredible ingenuity!
+item_18_id=Rollaway
+item_18_title=Roll away the stone
+item_18_comment=A little grease goes a long way
+item_19_id=Howgrund
+item_19_title=Where have I seen this before?
+item_19_comment=A familiar friend...
+item_20_id=Revelations
+item_20_title=Revelations
+item_20_hidden=true
+item_21_id=Mansquished
+item_21_title=Flat as a pancake
+item_21_hidden=true
+item_22_id=Logon
+item_22_title=Password accepted!
+item_22_hidden=true
+item_23_id=Perch
+item_23_title=Vista
+item_23_hidden=true
+item_24_id=TheEnd
+item_24_title=The End
+item_24_hidden=true
+item_25_id=Ramdan
+item_25_title=Reunited
+item_25_hidden=true
diff --git a/devtools/create_achievements/gen/steam-631570.ini b/devtools/create_achievements/gen/steam-631570.ini
new file mode 100644
index 0000000000..ad59ea0e00
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-631570.ini
@@ -0,0 +1,76 @@
+[achievements:en]
+item_0_id=CaseClosed
+item_0_title=Case Closed
+item_0_comment=Finished the game
+item_1_id=PathOfTyr
+item_1_title=Path of Tyr
+item_1_comment=Finished the game assertively
+item_2_id=PathOfFrigg
+item_2_title=Path of Frigg
+item_2_comment=Finished the game analytically
+item_3_id=PathOfBaldr
+item_3_title=Path of Baldr
+item_3_comment=Finished the game empathically
+item_4_id=UnlockTier2
+item_4_title=Hidden Potential
+item_4_comment=Unlocked a new augmentation
+item_5_id=UnlockAugs
+item_5_title=Power Overwhelming
+item_5_comment=Unlocked a full set of augmentations
+item_6_id=Harbinger
+item_6_title=Singularity-Minded
+item_6_hidden=true
+item_7_id=UnleashTheWolf
+item_7_title=Unleash the Wolf
+item_7_hidden=true
+item_8_id=Caregiver
+item_8_title=Caregiver
+item_8_hidden=true
+item_9_id=Careerist
+item_9_title=Careerist
+item_9_hidden=true
+item_10_id=MixedMethods
+item_10_title=Mixed Methods
+item_10_hidden=true
+item_11_id=NoSodaForYou
+item_11_title=Whispers of a Soda Machine
+item_11_hidden=true
+item_12_id=PassiveSmoking
+item_12_title=Passive Smoking Redux
+item_12_hidden=true
+item_13_id=Reassembled
+item_13_title=Reassembled
+item_13_hidden=true
+item_14_id=SharpEyed
+item_14_title=Sharp-Eyed
+item_14_hidden=true
+item_15_id=Environmentalist
+item_15_title=Environmentalist
+item_15_hidden=true
+item_16_id=WhatSuspect
+item_16_title=Babysitter
+item_16_hidden=true
+item_17_id=PickTheBaby
+item_17_title=Pick the Baby
+item_17_hidden=true
+item_18_id=Museophile
+item_18_title=Museophile
+item_18_hidden=true
+item_19_id=SneakAttack
+item_19_title=Sneak Attack
+item_19_hidden=true
+item_20_id=Memento
+item_20_title=Memento
+item_20_hidden=true
+item_21_id=CompulsiveReturner
+item_21_title=Serial Returner
+item_21_hidden=true
+item_22_id=CaffeineAddict
+item_22_title=Whispers of a Coffee Machine
+item_22_hidden=true
+item_23_id=Whodunnit
+item_23_title=Whodunnit
+item_23_hidden=true
+item_24_id=CloseCall
+item_24_title=Close Call
+item_24_hidden=true
diff --git a/devtools/create_achievements/gen/steam-654550.ini b/devtools/create_achievements/gen/steam-654550.ini
new file mode 100644
index 0000000000..dca1df380f
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-654550.ini
@@ -0,0 +1,46 @@
+[achievements:en]
+item_0_id=RemoveTheEvidence
+item_0_title=Remove the Evidence
+item_0_comment=Mom won't suspect a thing...
+item_1_id=TheLake
+item_1_title=The Lake
+item_1_comment=Our favorite place.
+item_2_id=SuzyUnfolded
+item_2_title=Suzy unfolded
+item_2_comment=Mom ruined a good photograph!
+item_3_id=Barista
+item_3_title=Barista
+item_3_comment=Mom's favorite brew.
+item_4_id=AmongtheLeaves
+item_4_title=Among the leaves
+item_4_comment=First time you've been up here in a while...
+item_5_id=WheresSuzy
+item_5_title=Where's Suzy?
+item_5_comment=I can't find her.
+item_6_id=DistractedEntry
+item_6_title=Distracted entry
+item_6_comment=You've made it back into the changing rooms.
+item_7_id=TheEnd
+item_7_title=The End
+item_7_hidden=true
+item_8_id=ThePastOne
+item_8_title=The Past: One
+item_8_hidden=true
+item_9_id=ThePastTwo
+item_9_title=The Past: Two
+item_9_hidden=true
+item_10_id=ThePastThree
+item_10_title=The Past: Three
+item_10_hidden=true
+item_11_id=ThePastFour
+item_11_title=The Past: Four
+item_11_hidden=true
+item_12_id=ThePastSix
+item_12_title=The Past: Six
+item_12_hidden=true
+item_13_id=ThePastFive
+item_13_title=The Past: Five
+item_13_hidden=true
+item_14_id=MusicFan
+item_14_title=Music Fan
+item_14_comment=You've played both of the tapes.
diff --git a/devtools/create_achievements/gen/steam-673850.ini b/devtools/create_achievements/gen/steam-673850.ini
new file mode 100644
index 0000000000..c32486cf74
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-673850.ini
@@ -0,0 +1,112 @@
+[achievements:en]
+item_0_id=ACH_DEFEAT_SECURITY
+item_0_title=Robot Lives Matter
+item_0_comment=Neutralize the AWOL security guard at Sentient Services
+item_1_id=ACH_TERRESTRIAL_BLUES
+item_1_title=Terrestrial Blues
+item_1_comment=Finish your Mount Everest of triplicate paperwork.
+item_2_id=ACH_SLUMSPRAWL_BEAT
+item_2_title=Slumsprawl Beat
+item_2_comment=Locate the humanoid sentient robots, Todd and Suzette Silica
+item_3_id=ACH_THE_ARCADE
+item_3_title=The Arcade
+item_3_comment=Blast, talk, sneak, shoulder, or otherwise find a way into The Arcade
+item_4_id=ACH_THE_CREATOR
+item_4_title=The Creator
+item_4_comment=Investigate The Creator's lab for clues relating to unfortunate events
+item_5_id=ACH_POWER_IS_POWER
+item_5_title=Power Is Power
+item_5_comment=Utilize your Royal Benefactress against the Neofeudal aristocracy in the Stratoplex
+item_6_id=ACH_RENEGADE_TIME_TRAVELLER
+item_6_title=Renegade Time Traveler
+item_6_comment=Attempt to alter the space-time-consciousness continuum by warning a pivotal figure of his own end
+item_7_id=ACH_NEOFEUDALISM
+item_7_title=Neofeudalism
+item_7_comment=Shake all the right hands, do your princess wave, maybe give a speech about world peace
+item_8_id=ACH_THE_MIND_OF_GOD
+item_8_title=The Mind Of God
+item_8_comment=Unlock the Garden of Forking Paths
+item_9_id=ACH_NOVUS_ORDO_SECLORUM
+item_9_title=Novus Ordo Seclorum
+item_9_comment=Overthrow a Tyrant and have the Iconoclast Queen ascend to the Throne
+item_10_id=ACH_POLICE_KILLJOY
+item_10_title=Police Killing Killjoy
+item_10_comment=Stop the homicidal security guard without being killed
+item_11_id=ACH_CYBERWARE_MASTER
+item_11_title=Ghetto Cyberware Master
+item_11_comment=Repair Karl's cybernetic arm in under two minutes
+item_12_id=ACH_MAJOR_MALFUNCTION
+item_12_title=Your Major Malfunction
+item_12_comment=Trigger the Energenius Box's defenses and get yourself killed
+item_13_id=ACH_BENEVOLENT
+item_13_title=Benevolent
+item_13_comment=Answer "No" on the majority of the Silica's CPS investigation
+item_14_id=ACH_IRON_FIST
+item_14_title=Iron Fist
+item_14_comment=Answer "Yes" on the majority of the Silica's CPS investigation
+item_15_id=ACH_DICKENSTONIAN
+item_15_title=Dickenstonian
+item_15_comment=Give the right answers to Chopper and The Arcade's Bouncer the first time
+item_16_id=ACH_ORWELLIAN
+item_16_title=Orwellian Slip
+item_16_comment=A dystopian typo...
+item_17_id=ACH_ION_CANNON
+item_17_title=Ion Cannon Fodder
+item_17_comment=Piss Talos off till he redecorates the bar with Karl's internal organs
+item_18_id=ACH_SIX_BILLION
+item_18_title=Six Billion Dollar Baller
+item_18_comment=Get through The Arcade shootout without being killed once, or using saves beyond the start
+item_19_id=ACH_SUPERPOSITION
+item_19_title=Superposition
+item_19_comment=Activate the Garden of Forking Paths prototype in Goertzel's lab
+item_20_id=ACH_ILLUMINATI
+item_20_title=Open Source Illuminati
+item_20_comment=Drill down into the Neofuedal machinations with Sybil
+item_21_id=ACH_WARZENNEGAR
+item_21_title=Sylvester Warzenneger
+item_21_comment=Try to shoot down the Coch-Jobbs Overthrower and get yourself killed
+item_22_id=ACH_OUTTA_KICKASS
+item_22_title=I'm All Outta Kick-Ass
+item_22_comment=Hide when the Coch-Jobbs warcopter blasts Shuffler's office
+item_23_id=ACH_BLADEWALKER
+item_23_title=Bladewalker
+item_23_comment=Tail Jezebel without being caught once
+item_24_id=ACH_TRUE_DETECTIVE
+item_24_title=True Detective
+item_24_comment=Get all the facts right when explaining Dr. Goertzel's plot on the first try
+item_25_id=ACH_HORUS_TALONS
+item_25_title=Horus' Talons
+item_25_comment=Get the Superpositor destroyed by The Fulcrum Airforce
+item_26_id=ACH_EVASIVE_MANEUVERS
+item_26_title=Evasive Maneuvers
+item_26_comment=Evade The Fulcrum Airforce after the Superpositor has been detected
+item_27_id=ACH_COUP_COUP
+item_27_title=Coup-Coup Clockwork
+item_27_comment=Complete a conspiratorial plot to overthrow another conspiracy without being killed
+item_28_id=ACH_DISTRUST
+item_28_title=Distrust That Particular Flavor
+item_28_comment=Refuse to cut a deal with King Warren
+item_29_id=ACH_ATONEMENT
+item_29_title=Atonement
+item_29_comment=Give yourself up to King Warren and let your family live 'The Neofeudal Dream'
+item_30_id=ACH_GHOSTERHEIST
+item_30_title=Ghosterheist
+item_30_comment=Jailbreak out of the eugenics facility with help from a Ghost in the Machine
+item_31_id=ACH_NO_FLAWS
+item_31_title=No Flaws In Paradise
+item_31_comment=Don't make a single mistake in the final Throneroom showdown scene
+item_32_id=ACH_TIME_TO_DIE
+item_32_title=Time To Die
+item_32_comment=Get yourself killed in every way possible in Neofeud
+item_33_id=ACH_DIEHARD
+item_33_title=Diehard, Bruce Willis
+item_33_comment=Don't die a single time in Neofeud
+item_34_id=ACH_TALKINATOR
+item_34_title=The Talkinator
+item_34_comment=Start conversations with 60 different characters
+item_35_id=ACH_REAL_POPO
+item_35_title=A Real Po-Po
+item_35_comment=Examine 300 different things, items, or characters
+item_36_id=ACH_GARDEN_FORK
+item_36_title=The Garden Of Forking Paths
+item_36_comment=Complete the game, having gotten every other possible achievement in Neofeud
diff --git a/devtools/create_achievements/gen/steam-761460.ini b/devtools/create_achievements/gen/steam-761460.ini
new file mode 100644
index 0000000000..51e3df4999
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-761460.ini
@@ -0,0 +1,127 @@
+[stats:en]
+item_0_id=TROPHIES
+item_0_start=0
+[achievements:en]
+item_0_id=RINGMYBELL
+item_0_title=Ring My Bell
+item_0_comment=You're so annoying
+item_1_id=MANOFWORD
+item_1_title=Man Of Your Word
+item_1_comment=Kept your promise to Mrs. Hanbrook
+item_2_id=BOBBIN
+item_2_title=I'm Bobbin, Are You My Mother?
+item_2_comment=Played a familiar melody
+item_3_id=VOODOO
+item_3_title=What Can You Tell Me About...Voodoo?
+item_3_comment=Got kicked out of Sabine Martin's apartment
+item_4_id=POEMS
+item_4_title=Don't Quit Your Day Job
+item_4_comment=Read Madame DuPrée's poems
+item_5_id=ALBERT
+item_5_title=Occam's Razor
+item_5_hidden=true
+item_6_id=JULIETTE
+item_6_title=These Violent Delights...
+item_6_hidden=true
+item_7_id=GUYDUMAS
+item_7_title=He's Your Guy
+item_7_hidden=true
+item_8_id=DUPREE
+item_8_title=Devil Incarnate
+item_8_hidden=true
+item_9_id=BOILER
+item_9_title=Repairman
+item_9_comment=Fixed the boiler without any help
+item_10_id=ROLAND
+item_10_title=Egotistical
+item_10_comment=Spoke with Roland Deveraux
+item_11_id=DOLLS
+item_11_title=Not What It Looks Like
+item_11_comment=Learned about Mrs. Davis's hobby
+item_12_id=MALCOLM
+item_12_title=Don't Bet On It
+item_12_hidden=true
+item_13_id=DEVINS
+item_13_title=Methinks He Doth Protest Too Much
+item_13_hidden=true
+item_14_id=WALKER
+item_14_title=It's A Boy, Mrs. Walker, It's A Boy
+item_14_hidden=true
+item_15_id=TRAIN
+item_15_title=Wrong Side Of The Tracks
+item_15_hidden=true
+item_16_id=ASHES
+item_16_title=Total Ash-hole
+item_16_comment=Showed Desiree's ashes to someone who wasn't Dr. Edwards
+item_17_id=SNEEZE
+item_17_title=Bless You
+item_17_comment=Tricked Jonas Usher
+item_18_id=MUSIC
+item_18_title=Broadening Horizons
+item_18_comment=Gave Charlotte Robineaux a music lesson
+item_19_id=COMBUSTION
+item_19_title=Supernatural
+item_19_hidden=true
+item_20_id=DEVAY
+item_20_title=The Art Of Murder
+item_20_hidden=true
+item_21_id=ANDREWS
+item_21_title=Totally Nuts
+item_21_hidden=true
+item_22_id=STORYTELLER
+item_22_title=Storyteller
+item_22_comment=Told Patrick a story
+item_23_id=VOTE
+item_23_title=Civic Duty
+item_23_comment=You voted!
+item_24_id=COOPING
+item_24_title=Flew The Coop
+item_24_hidden=true
+item_25_id=JIMBO
+item_25_title=Jilted Lover
+item_25_hidden=true
+item_26_id=PUFFIN
+item_26_title=Mistaken Identity
+item_26_hidden=true
+item_27_id=DEADMEN
+item_27_title=Down Among The Dead Men
+item_27_comment=Sang a popular drinking song
+item_28_id=JUMP
+item_28_title=Getting The Jump
+item_28_hidden=true
+item_29_id=MODELHUSBAND
+item_29_title=Model Husband
+item_29_comment=Told Adelaide the truth
+item_30_id=MAXWELL
+item_30_title=A Kind Ear
+item_30_comment=Told Angela Maxwell about your problems
+item_31_id=ASYLUM
+item_31_title=Room With A View
+item_31_hidden=true
+item_32_id=JAIL
+item_32_title=Do Not Pass Go
+item_32_hidden=true
+item_33_id=UNSOLVABLE
+item_33_title=Dead End
+item_33_comment=Declared a case unsolvable
+item_34_id=BOOKWORM
+item_34_title=Bookworm
+item_34_comment=Read every book in the game
+item_35_id=THOROUGH
+item_35_title=Thorough
+item_35_comment=Found every single clue and document in the game
+item_36_id=COMPLETEGAME
+item_36_title=Enlightened
+item_36_comment=Completed the game
+item_37_id=FORGOT
+item_37_title=I Forgot It Was There
+item_37_hidden=true
+item_38_id=PERFECT
+item_38_title=Perfect Run
+item_38_comment=Correctly solved every case
+item_39_id=JOKE
+item_39_title=Inside Joke
+item_39_comment=Every friendship has one
+item_40_id=NOSY
+item_40_title=Nosy
+item_40_comment=Eavesdropped on every conversation
diff --git a/devtools/create_achievements/gen/steam-782280.ini b/devtools/create_achievements/gen/steam-782280.ini
new file mode 100644
index 0000000000..a352bd46a2
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-782280.ini
@@ -0,0 +1,113 @@
+[stats:en]
+item_0_id=start
+item_0_comment=Games Started
+item_0_start=0
+item_1_id=round2
+item_1_comment=Round Two
+item_1_start=0
+item_2_id=round3
+item_2_comment=Round Three
+item_2_start=0
+item_3_id=won
+item_3_comment=Won!
+item_3_start=0
+[achievements:en]
+item_0_id=NEW_ACHIEVEMENT_1_1
+item_0_title=In Soviet Russia...
+item_0_comment=...Beer drinks you!
+item_1_id=NEW_ACHIEVEMENT_1_2
+item_1_title=You Can't Get Ye Beer.
+item_1_comment=I'm certainly not gonna tell you.
+item_2_id=NEW_ACHIEVEMENT_1_3
+item_2_title=No Cheese for You!
+item_2_comment=Don't be cheesy.
+item_3_id=NEW_ACHIEVEMENT_1_4
+item_3_title=Help?
+item_3_comment=I just need somebody...
+item_4_id=NEW_ACHIEVEMENT_1_5
+item_4_title=Spellling is Hard.
+item_4_comment=To bee or not to bee...
+item_5_id=NEW_ACHIEVEMENT_1_6
+item_5_title=Divide and Conquer!
+item_5_comment=Multiply and Liberate!
+item_6_id=NEW_ACHIEVEMENT_1_7
+item_6_title=Liquor Hunt.
+item_6_comment=It's better than pixels!
+item_7_id=NEW_ACHIEVEMENT_1_8
+item_7_title=Word Salad.
+item_7_comment=A Sad World.
+item_8_id=NEW_ACHIEVEMENT_1_9
+item_8_title=Connect Four.
+item_8_comment=Five is right out.
+item_9_id=NEW_ACHIEVEMENT_1_10
+item_9_title=With Friggin' Sharks!
+item_9_comment=Throw me a friggin' bone here.
+item_10_id=NEW_ACHIEVEMENT_1_11
+item_10_title=Butter, Cheese, Eggs.
+item_10_comment=All for noughts.
+item_11_id=NEW_ACHIEVEMENT_1_12
+item_11_title=Waldo is Drunk.
+item_11_comment=Where?
+item_12_id=NEW_ACHIEVEMENT_1_13
+item_12_title=Rorrim!
+item_12_comment=Noitcelfer!
+item_13_id=NEW_ACHIEVEMENT_1_14
+item_13_title=Please?
+item_13_comment=Abracadabra?
+item_14_id=NEW_ACHIEVEMENT_1_15
+item_14_title=Are you Certain?
+item_14_comment=You achieved this?
+item_15_id=NEW_ACHIEVEMENT_1_16
+item_15_title=Simon says cheers!
+item_15_comment=Cheers!
+item_16_id=NEW_ACHIEVEMENT_1_17
+item_16_title=Frictionless.
+item_16_comment=http://xkcd.com/669/
+item_17_id=NEW_ACHIEVEMENT_1_18
+item_17_title=Kaboom?
+item_17_comment=Join the Bucket Brigade!
+item_18_id=NEW_ACHIEVEMENT_1_19
+item_18_title=To Everything, there is a Season.
+item_18_comment=And a time to every purpose.
+item_19_id=NEW_ACHIEVEMENT_1_20
+item_19_title=Korobeiniki.
+item_19_comment=Go ask Ylfing.
+item_20_id=NEW_ACHIEVEMENT_1_21
+item_20_title=Beer Pressure.
+item_20_comment=A Pierless Achievement.
+item_21_id=NEW_ACHIEVEMENT_1_22
+item_21_title=Elephant in the Room.
+item_21_comment=Mouse in the corner.
+item_22_id=NEW_ACHIEVEMENT_1_23
+item_22_title=See No Evil.
+item_22_comment=Beer No Evil.
+item_23_id=NEW_ACHIEVEMENT_1_24
+item_23_title=Made by Gippazoid.
+item_23_comment=2001 Odessa blastway.
+item_24_id=NEW_ACHIEVEMENT_1_25
+item_24_title=Lady or the Tiger?
+item_24_comment=Smullyan was here.
+item_25_id=NEW_ACHIEVEMENT_1_26
+item_25_title=2 + 5 + 5 + 18.
+item_25_comment=That's almost 42.
+item_26_id=NEW_ACHIEVEMENT_1_27
+item_26_title=Sseeing Ddouble!
+item_26_comment=Sseeing Ddouble!
+item_27_id=NEW_ACHIEVEMENT_1_28
+item_27_title=Unbeerable!
+item_27_comment=Beerly doable!
+item_28_id=NEW_ACHIEVEMENT_1_29
+item_28_title=The Answer, My Friend
+item_28_comment=Do I know what rhetorical means?
+item_29_id=NEW_ACHIEVEMENT_1_30
+item_29_title=Test your Memory!
+item_29_comment=640 kb should be enough.
+item_30_id=NEW_ACHIEVEMENT_1_31
+item_30_title=The Bonus Round.
+item_30_comment=Round The Bonus.
+item_31_id=NEW_ACHIEVEMENT_2_0
+item_31_title=Lock Master.
+item_31_comment=Achievement Unlocked.
+item_32_id=NEW_ACHIEVEMENT_1_0
+item_32_title=Get the Beer!
+item_32_comment=Well that was easy.
diff --git a/devtools/create_achievements/gen/steam-80310.ini b/devtools/create_achievements/gen/steam-80310.ini
new file mode 100644
index 0000000000..b9d57b2e29
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-80310.ini
@@ -0,0 +1,62 @@
+[stats:en]
+item_0_id=ExamStrikes
+item_0_comment=Strikes on the Center 7 Exams
+item_0_start=0
+item_1_id=Mementos
+item_1_comment=Hidden notes found in Center 7
+item_1_start=0
+item_2_id=LostHealth
+item_2_comment=Health lost during the fights
+item_2_start=0
+item_3_id=MagsFound
+item_3_comment=Extra ammo magazines found
+item_3_start=0
+item_4_id=EggsFound
+item_4_comment=Easter Eggs Discovered
+item_4_start=0
+[achievements:en]
+item_0_id=GRADE_A_STUDENT
+item_0_title=Grade A Student
+item_0_comment=Complete all Center 7 Exams without any strikes
+item_1_id=MEMENTOS
+item_1_title=Mementos
+item_1_comment=Find all 6 hidden notes in Center 7
+item_2_id=GOLDEN_GUN
+item_2_title=Golden Gun
+item_2_comment=Complete all fights without losing any health
+item_3_id=SCAVENGER
+item_3_title=Scavenger
+item_3_comment=Find all 3 extra ammo magazines
+item_4_id=SPACE_COWBOY
+item_4_title=Space Cowboy
+item_4_comment=Find all 4 hidden Easter Egg Characters
+item_5_id=DIPLOMACY
+item_5_title=Diplomacy
+item_5_comment=Evade the Boryokudan rather than fight them
+item_6_id=STAIR_MASTER
+item_6_title=Stair master
+item_6_comment=Take the stairs instead of the elevator
+item_7_id=GOOD_SAMARITAN
+item_7_title=Good Samaritan
+item_7_comment=Heal the fellow Man on Barracus
+item_8_id=RESEARCH_PAPER
+item_8_title=Research Paper
+item_8_comment=Find all Database Articles
+item_9_id=GREAT_ESCAPE
+item_9_title=The Great Escape
+item_9_comment=Escape Center 7 without losing any health
+item_10_id=MEMORIES
+item_10_title=Memories
+item_10_comment=Access the Memory Database in the Director’s Office in Center 7
+item_11_id=GEMINIS
+item_11_title=Geminis
+item_11_comment=Be able to control both Azriel & Delta-Six
+item_12_id=HARD_COPY
+item_12_title=Give me a Hard Copy
+item_12_comment=Analyze a photo using the terminal
+item_13_id=RUE_DAY
+item_13_title=Rue the Day
+item_13_comment=Complete the game once
+item_14_id=RUE_COMMENTARY
+item_14_title=Rue the Commentary
+item_14_comment=Complete the game once in Commentary mode
diff --git a/devtools/create_achievements/gen/steam-80330.ini b/devtools/create_achievements/gen/steam-80330.ini
new file mode 100644
index 0000000000..6fe975ded4
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-80330.ini
@@ -0,0 +1,25 @@
+[achievements:en]
+item_0_id=MEDIUM_WELL_DONE
+item_0_title=Medium Well Done
+item_0_comment=Finish the game at least once
+item_1_id=HEAR_ME
+item_1_title=Hear me
+item_1_comment=Finish the game with both commentary modes active, from the opening menu till the end
+item_2_id=PACIFIST
+item_2_title=Pacifist
+item_2_comment=Convince the Deacon to move on without resorting to violence
+item_3_id=HELLO_JOEY
+item_3_title=Hello Joey
+item_3_comment=Rosa, meet your new life partner
+item_4_id=HISTORIAN
+item_4_title=Family Historian
+item_4_comment=Get Joey to tell you everything he knows about your family
+item_5_id=HANG_OF_IT
+item_5_title=Crowd Control
+item_5_comment=Never talk to Joey in public
+item_6_id=MEDIUM_LIE
+item_6_title=Medium Lie
+item_6_comment=Bluff your way past the guard on your first attempt
+item_7_id=SAVIOR
+item_7_title=Savior
+item_7_comment=Save the Deacon's soul
diff --git a/devtools/create_achievements/gen/steam-80340.ini b/devtools/create_achievements/gen/steam-80340.ini
new file mode 100644
index 0000000000..b5002ca9b0
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-80340.ini
@@ -0,0 +1,31 @@
+[achievements:en]
+item_0_id=SHUTTERBUG
+item_0_title=Shutterbug
+item_0_comment=Take all four photographs
+item_1_id=ON_THE_CHIN
+item_1_title=Take it on the Chin
+item_1_comment=Get hit by the saxophone only once
+item_2_id=LAUGH_IT_UP
+item_2_title=Laugh it Up
+item_2_comment=Find the game's blooper reel
+item_3_id=CHAIN_SMOKER
+item_3_title=Chain Smoker
+item_3_comment=Smoke at least 100 cigarettes
+item_4_id=CUT_DOWN
+item_4_title=Trying to Cut Down
+item_4_comment=Smoke less than 20 cigarettes by the end of the game
+item_5_id=FLOATING_HEAD
+item_5_title=Floating Head
+item_5_comment=Find the floating head easter egg
+item_6_id=SHIVAH_CALL
+item_6_title=Shivah Call
+item_6_comment=Make an unusual phone call
+item_7_id=DREAMCATCHER
+item_7_title=Dreamcatcher
+item_7_comment=Listen to all of Lauren's dreams
+item_8_id=COMMENTARY_MODE
+item_8_title=Commentary Mode
+item_8_comment=Play the game in commentary mode, from the opening menu till the end
+item_9_id=MEDIUM_WELL_DONE
+item_9_title=Medium Well Done
+item_9_comment=Finish the game at least once
diff --git a/devtools/create_achievements/gen/steam-80350.ini b/devtools/create_achievements/gen/steam-80350.ini
new file mode 100644
index 0000000000..14e57353c4
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-80350.ini
@@ -0,0 +1,37 @@
+[achievements:en]
+item_0_id=SOFT_TOUCH
+item_0_title=Soft Touch
+item_0_comment=Give Allen some hope before he goes
+item_1_id=LUSH_LIFE
+item_1_title=Lush Life
+item_1_comment=Have a few drinks, but you might regret it in the morning
+item_2_id=SOBER
+item_2_title=Sober Solidarity
+item_2_comment=Keep a clear head, but others might think less of you
+item_3_id=CAT_TRICK
+item_3_title=Cat Trick
+item_3_comment=Distract the cat only once
+item_4_id=LEADING_LADY
+item_4_title=Leading Lady
+item_4_comment=While holding Frank's script, get though a performance without flubbing a single line
+item_5_id=ART_MEDIUM
+item_5_title=Art Medium
+item_5_comment=Convince Frank that you are an artist on your first try
+item_6_id=WONDER_WOMAN
+item_6_title=Wonder Woman
+item_6_comment=Defeat the Countess with one throw of an improvised lasso
+item_7_id=SOLO
+item_7_title=Solo
+item_7_comment=Finish the game without asking Joey for a single hint
+item_8_id=SAVIOR
+item_8_title=Reluctant Savior
+item_8_comment=Save Charlie Meltzer's life
+item_9_id=MEDIUM_WELL_DONE
+item_9_title=Medium Well Done
+item_9_comment=Finish the game at least once
+item_10_id=COMMENTARY
+item_10_title=Convergence Commentary
+item_10_comment=Finish the game in commentary mode, from the opening menu till the end
+item_11_id=SECRET_FINDER
+item_11_title=Secret Finder
+item_11_comment=Find the secret extras menu
diff --git a/devtools/create_achievements/gen/steam-80360.ini b/devtools/create_achievements/gen/steam-80360.ini
new file mode 100644
index 0000000000..f52b49cc36
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-80360.ini
@@ -0,0 +1,55 @@
+[achievements:en]
+item_0_id=MEDIUM_WELL_DONE
+item_0_title=Medium Well Done
+item_0_comment=Complete the game once
+item_1_id=TEAMWORK
+item_1_title=Teamwork
+item_1_comment=Use both Rosa and Joey to solve a puzzle
+item_2_id=GEROMINO
+item_2_title=Geromino!
+item_2_comment=Save a ghost... and yourself
+item_3_id=KEY_SNATCHER
+item_3_title=Key Snatcher
+item_3_comment=Sometimes you've gotta rob a few old ladies...
+item_4_id=OUT_OF_SIGHT
+item_4_title=Out of Sight
+item_4_comment=Get out of a sticky situation
+item_5_id=COMPETITION
+item_5_title=Check out the Competition
+item_5_comment=Visit another psychic
+item_6_id=DUMPSTER_DIVER
+item_6_title=Dumpster Diver
+item_6_comment=Find a lost item
+item_7_id=TAKE_MY_CARD
+item_7_title=Take my Card
+item_7_comment=Use Rosa's business card for an unintended purpose
+item_8_id=MUSIC_LOVER
+item_8_title=Music Lover
+item_8_comment=Find Jamie's favorite song
+item_9_id=STILL_GOT_IT
+item_9_title=Still Got It
+item_9_comment=Not bad, for a dead guy
+item_10_id=UNBOUND
+item_10_title=Unbound
+item_10_comment=Free Rosa
+item_11_id=BACK_FROM_BEYOND
+item_11_title=Back from Beyond
+item_11_comment=Come back from the void
+item_12_id=FACE_PLANT
+item_12_title=Face Plant
+item_12_comment=Abuse an innocent
+item_13_id=BUTTON_PUSHER
+item_13_title=Button Pusher
+item_13_comment=Open the secret compartment on the first try
+item_14_id=LISTEN_CLOSELY
+item_14_title=Listen Closely, Now
+item_14_comment=Finish the game in commentary mode
+item_15_id=BULLET_DODGER
+item_15_title=Bullet Dodger
+item_15_comment=Escape the yacht with only getting shot once
+item_16_id=GHOSTS_OF_THE_PAST
+item_16_title=Ghosts of the Past
+item_16_comment=Find all the references to previous games in Rosa's apartment
+item_17_id=BLOWEY_MALLONE
+item_17_title=Blowey Mallone
+item_17_comment=Use Joey's breath ability on at least 10 people
diff --git a/devtools/create_achievements/gen/steam-872750.ini b/devtools/create_achievements/gen/steam-872750.ini
new file mode 100644
index 0000000000..66e75adf5c
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-872750.ini
@@ -0,0 +1,61 @@
+[achievements:en]
+item_0_id=ACH_KICKED_OUT
+item_0_title=Airborne
+item_0_comment=Get kicked out of the Castle
+item_1_id=ACH_FROG_KISS
+item_1_title=Pucker Up
+item_1_comment=Girtrude finds a new friend
+item_2_id=ACH_GIVE_COIN
+item_2_title=Assassin's Greed
+item_2_hidden=true
+item_3_id=ACH_GET_DRESSED
+item_3_title=Suited And Booted
+item_3_comment=Find a quiet place to get dressed
+item_4_id=ACH_ACT_ONE
+item_4_title=Royal Blood
+item_4_comment=Deliver the news to King Theodore
+item_5_id=ACH_GET_BOOK
+item_5_title=Wicked Words
+item_5_comment=A book bound with flesh
+item_6_id=ACH_TRANS_BOOK
+item_6_title=Speak In Tongues
+item_6_comment=Translate the creepy book
+item_7_id=ACH_GET_PHOTO
+item_7_title=Photo Op
+item_7_comment=Successfully snap a photo
+item_8_id=ACH_GET_DLC
+item_8_title=Papers, Please
+item_8_comment=Get the Wildlands DLC
+item_9_id=ACH_BREAK_CATAPULT
+item_9_title=Mind The Gap
+item_9_comment=Fail to make it across the Elder Scar
+item_10_id=ACH_KILL_SPIDER
+item_10_title=Two Birds
+item_10_comment=Deal with the Spider
+item_11_id=ACH_RETURN_PAINT
+item_11_title=Special Delivery
+item_11_hidden=true
+item_12_id=ACH_LANDING_SPOT
+item_12_title=New Lands
+item_12_comment=Venture North, beyond the Scar
+item_13_id=ACH_BURIAL_DOOR
+item_13_title=Open Sesame
+item_13_comment=Find a way to open the door
+item_14_id=ACH_ACT_THREE
+item_14_title=Guardian Duty
+item_14_hidden=true
+item_15_id=ACH_CUT_ARM
+item_15_title=Armed And Dangerous
+item_15_comment=Insult to injury
+item_16_id=ACH_NEW_HAVEN
+item_16_title=Against All Odds
+item_16_comment=Never give up
+item_17_id=ACH_VOID_OF_SPACE
+item_17_title=???
+item_17_comment=Something amiss
+item_18_id=ACH_MEET_TONDBERT
+item_18_title=Two Of A Kind
+item_18_hidden=true
+item_19_id=ACH_KILL_MAGE
+item_19_title=Turn Up The Heat
+item_19_hidden=true
diff --git a/devtools/create_achievements/gen/steam-904750.ini b/devtools/create_achievements/gen/steam-904750.ini
new file mode 100644
index 0000000000..d34b5baa9a
--- /dev/null
+++ b/devtools/create_achievements/gen/steam-904750.ini
@@ -0,0 +1,97 @@
+[achievements:en]
+item_0_id=ZNIW_STORY1_TINYFOREST
+item_0_title=And so the adventure begins
+item_0_hidden=true
+item_1_id=ZNIW_STORY2_RIVERBANK
+item_1_title=The good, the bad and the river
+item_1_hidden=true
+item_2_id=ZNIW_STORY3_FALLS
+item_2_title=A bridge too far
+item_2_hidden=true
+item_3_id=ZNIW_STORY4_CAVEFIRE
+item_3_title=Quest for fire
+item_3_hidden=true
+item_4_id=ZNIW_STORY5_PATHF
+item_4_title=What is this, Mushroom Kingdom?
+item_4_hidden=true
+item_5_id=ZNIW_STORY6_VILLATHIEF
+item_5_title=Mugstreet Boys
+item_5_hidden=true
+item_6_id=ZNIW_STORY7_FARMMAMMAL
+item_6_title=Mammals tremble before her!
+item_6_hidden=true
+item_7_id=ZNIW_STORY8_VILLATUNNEL
+item_7_title=Dinosaur Zniw, Ace Investigator
+item_7_hidden=true
+item_8_id=ZNIW_STORY9_TOWER
+item_8_title=Our house, in the middle of the wall
+item_8_hidden=true
+item_9_id=ZNIW_STORY10_PRISON
+item_9_title=Fragile allegiance
+item_9_hidden=true
+item_10_id=ZNIW_STORY11_FARMKEY
+item_10_title=Clever girl
+item_10_hidden=true
+item_11_id=ZNIW_STORY12_DISTROOMSAFE
+item_11_title=Safecracker
+item_11_hidden=true
+item_12_id=ZNIW_STORY13_DIGTUNNEL
+item_12_title=Indiana Zniw and the Cave of (Family) Peril
+item_12_hidden=true
+item_13_id=ZNIW_STORY14_FINALEEND
+item_13_title=That's MISS Zniw to you, punk!
+item_13_hidden=true
+item_14_id=ZNIW_PEBBLE1
+item_14_title=One tiny pebble for a dinosaur...
+item_14_comment=Great! But that's not nearly enough...
+item_15_id=ZNIW_PEBBLE2
+item_15_title=Lucky 13
+item_15_comment=Halfway there!
+item_16_id=ZNIW_PEBBLE3
+item_16_title=Dr. LivingSTONE, I presume?
+item_16_comment=Now that's gonna be one excellent present!
+item_17_id=ZNIW_ENCYCLOPEDIA1
+item_17_title=Beginner writer
+item_17_comment=That's a lot of pages.
+item_18_id=ZNIW_ENCYCLOPEDIA2
+item_18_title=Professional chronicler
+item_18_comment=That's a whole lot of pages.
+item_19_id=ZNIW_ENCYCLOPEDIA3
+item_19_title=Gotta learn 'em all!
+item_19_comment=That's definitely a whole lot of pages.
+item_20_id=ZNIW_SECRET1_CRAB
+item_20_title=Crab people
+item_20_comment=...are angry.
+item_21_id=ZNIW_SECRET2_CROC
+item_21_title=Croc 3
+item_21_comment=I don't know whether that's bravery, or plain stupidity.
+item_22_id=ZNIW_SECRET3_CAVESITE
+item_22_title=Zniw the Explorer
+item_22_comment=Taking spelunking to a whole new level!
+item_23_id=ZNIW_SECRET4_ALLMAMMAL
+item_23_title=Employee of the month
+item_23_comment=And at your first day on the job, wow!
+item_24_id=ZNIW_SECRET5_BACKPACK
+item_24_title=Perfect is the enemy of good
+item_24_comment="Heeey, what a nice b... Wait, what?!"
+item_25_id=ZNIW_SECRET6_FARMPLANTS
+item_25_title=Rebel without a brain
+item_25_comment=What did those poor plants do to you?!
+item_26_id=ZNIW_SECRET7_TOWERBOARD
+item_26_title=Information Society
+item_26_comment=You like being up to date with the latest news, I see?
+item_27_id=ZNIW_SECRET8_PRISONPUNS
+item_27_title=Obligatory punny achievement
+item_27_comment=You survived through them all, amazing.
+item_28_id=ZNIW_SECRET9_FARMFISHING
+item_28_title=Dinosaur Fishing Simulator 75 000 000 BC
+item_28_comment=Dad would've been so proud.
+item_29_id=ZNIW_SECRET10_DISTROOMBOOKS
+item_29_title=Bookworm... uh, Bookdino?
+item_29_comment=Even in the face of danger, you really like to take your time!
+item_30_id=ZNIW_SECRET11_ALLFOOD
+item_30_title=Gourment World Tour
+item_30_comment=Now here's a girl with appetite... for adventure!
+item_31_id=ZNIW_SECRET12_CAVEWANDER
+item_31_title=Breaking the law
+item_31_comment=Wandering further into the cave is fordibben, you should know that by now.
diff --git a/dists/engine-data/achievements.dat b/dists/engine-data/achievements.dat
new file mode 100644
index 0000000000..d5de72cb99
Binary files /dev/null and b/dists/engine-data/achievements.dat differ


Commit: fb1f399f5a90f9c1a077969a8e0d259237da7347
    https://github.com/scummvm/scummvm/commit/fb1f399f5a90f9c1a077969a8e0d259237da7347
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
DISTS: Add achievements.dat to various dat file lists

Changed paths:
    Makefile.common
    devtools/create_project/xcode.cpp
    dists/engine-data/README
    dists/irix/scummvm.idb
    dists/scummvm.rc


diff --git a/Makefile.common b/Makefile.common
index 825f475fe0..5fe97a6f71 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -454,6 +454,7 @@ endif
 ifdef ENABLE_MYST3
 DIST_FILES_ENGINEDATA+=myst3.dat
 endif
+DIST_FILES_ENGINEDATA+=achievements.dat
 DIST_FILES_ENGINEDATA+=encoding.dat
 DIST_FILES_ENGINEDATA:=$(addprefix $(srcdir)/dists/engine-data/,$(DIST_FILES_ENGINEDATA))
 
diff --git a/devtools/create_project/xcode.cpp b/devtools/create_project/xcode.cpp
index 6e5a0c3c67..dc237ad679 100644
--- a/devtools/create_project/xcode.cpp
+++ b/devtools/create_project/xcode.cpp
@@ -829,6 +829,7 @@ XcodeProvider::ValueList& XcodeProvider::getResourceFiles() const {
 		files.push_back("gui/themes/residualvm.zip");
 		files.push_back("gui/themes/translations.dat");
 		files.push_back("dists/engine-data/access.dat");
+		files.push_back("dists/engine-data/achievements.dat");
 		files.push_back("dists/engine-data/cryo.dat");
 		files.push_back("dists/engine-data/cryomni3d.dat");
 		files.push_back("dists/engine-data/drascula.dat");
diff --git a/dists/engine-data/README b/dists/engine-data/README
index 49f5ce05ad..9d02f2d064 100644
--- a/dists/engine-data/README
+++ b/dists/engine-data/README
@@ -4,6 +4,9 @@ engine-data README
 access.dat:
 This file contains game resource data used by Access engine.
 
+achievements.dat:
+This file contains Achievements and Statistics IDs and localization from Steam and GOG.
+
 cryo.dat:
 This file contains a lot of hardcoded tables used by the Cryo engine.
 
diff --git a/dists/irix/scummvm.idb b/dists/irix/scummvm.idb
index 790b9f3192..dbc34db01f 100644
--- a/dists/irix/scummvm.idb
+++ b/dists/irix/scummvm.idb
@@ -6,6 +6,7 @@ f 0644 root sys usr/ScummVM/README README scummvm.man.readme
 f 0755 root sys usr/ScummVM/scummvm scummvm scummvm.sw.eoe tag('0x5260dbec')
 f 0644 root sys usr/ScummVM/share/pixmaps/scummvm.xpm scummvm.xpm scummvm.sw.eoe
 f 0644 root sys usr/ScummVM/share/scummvm/access.dat access.dat scummvm.sw.eoe
+f 0644 root sys usr/ScummVM/share/scummvm/achievements.dat achievements.dat scummvm.sw.eoe
 f 0644 root sys usr/ScummVM/share/scummvm/cryo.dat cryo.dat scummvm.sw.eoe
 f 0644 root sys usr/ScummVM/share/scummvm/cryomni3d.dat cryomni3d.dat scummvm.sw.eoe
 f 0644 root sys usr/ScummVM/share/scummvm/drascula.dat drascula.dat scummvm.sw.eoe
diff --git a/dists/scummvm.rc b/dists/scummvm.rc
index 9fa44deb7b..1cc1bafdba 100644
--- a/dists/scummvm.rc
+++ b/dists/scummvm.rc
@@ -24,6 +24,7 @@ scummclassic.zip       FILE    "gui/themes/scummclassic.zip"
 scummmodern.zip        FILE    "gui/themes/scummmodern.zip"
 scummremastered.zip    FILE    "gui/themes/scummremastered.zip"
 residualvm.zip         FILE    "gui/themes/residualvm.zip"
+achievements.dat       FILE    "dists/engine-data/achievements.dat"
 encoding.dat           FILE    "dists/engine-data/encoding.dat"
 
 // Engine or feature specific resources


Commit: cd0a22539447361c38df8fd4ff85112b4468fafa
    https://github.com/scummvm/scummvm/commit/cd0a22539447361c38df8fd4ff85112b4468fafa
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
AGS: Remove data string from achivements_tables

Changed paths:
    engines/ags/achievements_tables.h
    engines/ags/metaengine.cpp


diff --git a/engines/ags/achievements_tables.h b/engines/ags/achievements_tables.h
index c3441181b1..2fd3c85424 100644
--- a/engines/ags/achievements_tables.h
+++ b/engines/ags/achievements_tables.h
@@ -29,2284 +29,74 @@ struct AchievementDescriptionList {
 	const char *gameId;
 	Common::AchievementsPlatform platform;
 	const char *appId;
-	const Common::StatDescription stats[64];
-	const Common::AchievementDescription descriptions[64];
 };
 
-#define ACHIEVEMENT_SIMPLE_ENTRY(id, title, comment) {id, false, title, comment}
-#define ACHIEVEMENT_NODESC_ENTRY(id, title) {id, false, title, ""}
-#define ACHIEVEMENT_HIDDEN_ENTRY(id, title) {id, true, title, ""}
-#define ACHIEVEMENTS_LISTEND {0,0,0,0}
-
-#define STATS_SIMPLE_ENTRY(id, comment, default) {id, comment, default}
-#define STATS_NODESC_ENTRY(id, default) {id, "", default}
-#define STATS_LISTEND {0,0,0}
-#define NOSTATS {STATS_LISTEND}
-
 static const AchievementDescriptionList achievementDescriptionList[] = {
-	{
-		"detectivegallo",
-		Common::GALAXY_ACHIEVEMENTS,
-		"1745746005",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_01", "Vigilante", "That taxi driver picked up his last fare\xe2\x80\xa6"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_02", "Alcoholic", "Cocktails go to my head."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_03", "Romantic Detective", "A real badass always know when to be sweet."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_04", "Role Player", "Ridicolous little green men\xe2\x80\xa6"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_05", "Heroic Deed", "There's only his stench left\xe2\x80\xa6"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_06", "Good Morning", "When you are a heavy sleeper\xe2\x80\xa6"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_07", "Cold-Blooded Detective", "I like counting on my best friend."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_08", "Smuggler", "What's a smuggler without a business card?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_09", "Green Thumb", "Now I figured out what Latin is good for."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_10", "Space Invader", "It's always fun to threaten Earth\xe2\x80\xa6"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_11", "Baby Sitter", "Maybe as a side job\xe2\x80\xa6"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_12", "Infallible Nose", "What's a detective without his instincts?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_13", "Interference", "Who was that, Mario?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_14", "Animal Activist", "The animals must respect other animals."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_15", "Timed Trial", "Speed is my middle name."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_16", "Old School", "There's nothing like the old school."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_17", "Sprinter", "Never stop. Never."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_18", "Devoted", "Assistants are born, not made."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_19", "Chronically Indecisive", "Doubt is the source of wisdom."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_20", "Supplier", "Cutlery smuggling."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_21", "Connoisseur", "Got the cocktail in one."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_22", "Cameo", "Those game designers are crazy\xe2\x80\xa6"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_23", "Briber", "Here's the proper use of the money."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_24", "Time to Get Serious", "When the going gets rough..."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_25", "The Curtains Falls", "Applause, please."),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"guardduty",
-		Common::GALAXY_ACHIEVEMENTS,
-		"1455980545",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_KICKED_OUT", "Airborne", "Get kicked out of the Castle"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_FROG_KISS", "Pucker Up", "Girtrude finds a new friend"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_GIVE_COIN", "Assassin's Greed"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_GET_DRESSED", "Suited And Booted", "Find a quiet place to get dressed"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_ACT_ONE", "Royal Blood", "Deliver the news to King Theodore"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_GET_BOOK", "Wicked Words", "A book bound with flesh"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_TRANS_BOOK", "Speak In Tongues", "Translate the creepy book"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_GET_PHOTO", "Photo Op", "Successfully snap a photo"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_GET_DLC", "Papers, Please", "Get the Wildlands DLC"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_BREAK_CATAPULT", "Mind The Gap", "Fail to make it across the Elder Scar"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_KILL_SPIDER", "Two Birds", "Deal with the Spider"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_RETURN_PAINT", "Special Delivery"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_LANDING_SPOT", "New Lands", "Venture North, beyond the Scar"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_BURIAL_DOOR", "Open Sesame", "Find a way to open the door"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_ACT_THREE", "Guardian Duty"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_CUT_ARM", "Armed And Dangerous", "Insult to injury"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_NEW_HAVEN", "Against All Odds", "Never give up"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_VOID_OF_SPACE", "???", "Something amiss"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_MEET_TONDBERT", "Two Of A Kind"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_KILL_MAGE", "Turn Up The Heat"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"kathyrain",
-		Common::GALAXY_ACHIEVEMENTS,
-		"1460710709",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("FinishDayOne", "Get on the Katmobile", "Finished day one"),
-			ACHIEVEMENT_SIMPLE_ENTRY("FinishDayTwo", "Wow, they're hypnotic...", "Finished day two"),
-			ACHIEVEMENT_SIMPLE_ENTRY("FinishDayThree", "We've met before, haven't we?", "Finished day three"),
-			ACHIEVEMENT_SIMPLE_ENTRY("FinishDayFour", "Down the rabbit hole", "Finished day four"),
-			ACHIEVEMENT_SIMPLE_ENTRY("FinishGame", "Been there, done that", "Finished the game"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Procrastinator", "Procrastinator"),
-			ACHIEVEMENT_HIDDEN_ENTRY("EnjoyingTheScenery", "Enjoying the scenery"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Hotwheels", "Hotwheels"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Aww", "Aaw!"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Undateable", "Undateable"),
-			ACHIEVEMENT_HIDDEN_ENTRY("MrBear", "Mr. Bear, reporting for duty!"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Nocturnal", "Nocturnal"),
-			ACHIEVEMENT_HIDDEN_ENTRY("HowYouDoing", "How YOU doing?"),
-			ACHIEVEMENT_HIDDEN_ENTRY("RestingScowlyFace", "Resting scowly face"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Pyromaniac", "Pyromaniac"),
-			ACHIEVEMENT_HIDDEN_ENTRY("PassiveSmoking", "Passive smoking"),
-			ACHIEVEMENT_HIDDEN_ENTRY("FilmBuff", "Film buff"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Heretic", "Heretic"),
-			ACHIEVEMENT_HIDDEN_ENTRY("TriggerHappy", "Trigger happy"),
-			ACHIEVEMENT_HIDDEN_ENTRY("HookedOnCorleys", "Hooked on Corleys"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"mage",
-		Common::GALAXY_ACHIEVEMENTS,
-		"1469845437",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("DABBLING", "Dabbling", "Earn your first spells from the Sphere of Knowledge."),
-			ACHIEVEMENT_SIMPLE_ENTRY("BACK_OFF_BACKERS", "Back Off Backers", "Beat both Mage sparring partners."),
-			ACHIEVEMENT_SIMPLE_ENTRY("YOU_KNOW_YOUR_LIQUOR", "You Know Your Liquor", "Acquire one of each drink type at the tavern."),
-			ACHIEVEMENT_SIMPLE_ENTRY("WHAT_RIVER_CARD", "What River Card?", "Win a hand of Demon's Deal."),
-			ACHIEVEMENT_SIMPLE_ENTRY("CARD_SHARK", "Card Shark", "Win the maximum number of Demon's Deal rounds."),
-			ACHIEVEMENT_SIMPLE_ENTRY("LOVE_THOSE_SHROOMS", "Love Those 'Shrooms", "Pick all mushroom clusters in the forest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("MERCY_TRUMPS_MURDER", "Mercy Trumps Murder", "Spare a tainted life."),
-			ACHIEVEMENT_SIMPLE_ENTRY("YOURE_NO_MARMON", "You're No Marmon", "Complete the first trial."),
-			ACHIEVEMENT_SIMPLE_ENTRY("BACK_FOR_MORE", "Back For More", "Earn your second spells from the Sphere of Knowledge."),
-			ACHIEVEMENT_SIMPLE_ENTRY("I_GET_AROUND", "I Get Around", "Ele'port to each pillar stone location."),
-			ACHIEVEMENT_SIMPLE_ENTRY("GHOST_STORY", "Ghost Story", "Optimally complete the Fire side quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("THE_HEIST", "The Heist", "Optimally complete the Water side quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("GREEN_FIEND", "Green Fiend", "Optimally complete the Earth side quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("THE_AIR_UP_THERE", "The Air Up There", "Optimally complete the Air side quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NO_STONE_UNTURNED", "No Stone Unturned", "Complete all class-based side quests with optimal outcomes."),
-			ACHIEVEMENT_SIMPLE_ENTRY("HONORABLE", "Honorable", "Return a borrowed item."),
-			ACHIEVEMENT_SIMPLE_ENTRY("HANDLED_WITH_CARE", "Handled With Care", "No sacred avian was harmed."),
-			ACHIEVEMENT_SIMPLE_ENTRY("CLIMBED_EVERY_MOUNTAIN", "Climbed Every Mountain", "Complete the second trial."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NOW_YOURE_TALKING", "Now You're Talking", "Earn your third spells from the Sphere of Knowledge."),
-			ACHIEVEMENT_SIMPLE_ENTRY("DETECTIVE_DARC", "Detective D'arc", "Complete the severed circle story branch."),
-			ACHIEVEMENT_SIMPLE_ENTRY("DIVERSIFIED", "Diversified", "Kill one of each monster type."),
-			ACHIEVEMENT_SIMPLE_ENTRY("WELL_READ", "Well Read", "Find and read all books and notes."),
-			ACHIEVEMENT_SIMPLE_ENTRY("COLLECTOR", "Collector", "Find all three \"Tear\" class brooches."),
-			ACHIEVEMENT_SIMPLE_ENTRY("WHO_PUT_DA_LIGHTS_OUT", "Who Put Da Lights Out?", "Extinguish the Redcaps' camp fire."),
-			ACHIEVEMENT_SIMPLE_ENTRY("THANKS_BUT_NO_THANKS", "Thanks, But No Thanks", "Reject a dark deal."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ITS_NOT_EASY_BEING_GREEN", "It's Not Easy Being Green", "Make a red delivery to the Greencaps."),
-			ACHIEVEMENT_SIMPLE_ENTRY("IF_I_EVER_SEE_ANOTHER_GOBLIN", "If I Ever See Another Goblin...", "Complete the third trial."),
-			ACHIEVEMENT_SIMPLE_ENTRY("FRIEND_IN_NEED", "Friend in Need", "An ally survives."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ONE_MAN_BOMB_SQUAD", "One Man Bomb Squad", "Both allies survive."),
-			ACHIEVEMENT_SIMPLE_ENTRY("SHOWDOWN", "Showdown", "Defeat the Big Bad."),
-			ACHIEVEMENT_SIMPLE_ENTRY("MAXED_OUT", "Maxed Out", "Max out all your stats."),
-			ACHIEVEMENT_SIMPLE_ENTRY("YOU_MADE_YOUR_POINTS", "You Made Your Points", "Finish the game with max XP / score."),
-			ACHIEVEMENT_SIMPLE_ENTRY("INITIATED", "Initiated", "Complete the game."),
-			ACHIEVEMENT_SIMPLE_ENTRY("STAY_CLASSY", "Stay Classy", "Finish the game with all 4 classes."),
-			ACHIEVEMENT_SIMPLE_ENTRY("PACIFIST", "Pacifist", "Kill only the bosses (no regular monsters)."),
-			ACHIEVEMENT_SIMPLE_ENTRY("PYRO", "Pyro", "Earn all Fire class Bonus points."),
-			ACHIEVEMENT_SIMPLE_ENTRY("FLOOD_READY", "Flood Ready", "Earn all Water class Bonus points."),
-			ACHIEVEMENT_SIMPLE_ENTRY("GROUNDED", "Grounded", "Earn all Earth class Bonus points."),
-			ACHIEVEMENT_SIMPLE_ENTRY("UP_UP_AND_AWAY", "Up, Up, and Away", "Earn all Air class Bonus points."),
-			ACHIEVEMENT_SIMPLE_ENTRY("WHOS_COUNTING", "Who's Counting?", "Kill 50 enemies."),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEDICATED", "Dedicated", "Kill 100 enemies."),
-			ACHIEVEMENT_SIMPLE_ENTRY("INSATIABLE", "Insatiable", "Kill 500 enemies."),
-			ACHIEVEMENT_SIMPLE_ENTRY("APOCALYPTIC", "Apocalyptic", "Kill 1,000 enemies."),
-			ACHIEVEMENT_SIMPLE_ENTRY("DONT_NEED_NO_STINKIN_BUFFS", "Don't Need No Stinkin' Buffs", "Beat the game without equipping any extra gems or items (after the initial tutorial)."),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"oott",
-		Common::GALAXY_ACHIEVEMENTS,
-		"1444830704",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("tkc_TwoGirls", "He is Gnomor'", "The girls, Snow and Red, tried to save the gnome but alas, they failed."),
-			ACHIEVEMENT_SIMPLE_ENTRY("tkc_HighPriest", "High Priest", "The high priest hightailed it out of the Faerie Realm."),
-			ACHIEVEMENT_SIMPLE_ENTRY("tkc_Knight", "A Knight to Remember", "You've discovered Sir Gauen searching the swamp."),
-			ACHIEVEMENT_SIMPLE_ENTRY("tkc_Chucker", "Chucked It In", "Chucker has given up on his search for the Queen."),
-			ACHIEVEMENT_SIMPLE_ENTRY("tkc_Faolan", "Faolan's Story", "You now know the full story behind Faolan's defeat of Lord Sinister."),
-			ACHIEVEMENT_SIMPLE_ENTRY("tkc_Musical", "Musical Genius", "You've learned and played every song on hard mode."),
-			ACHIEVEMENT_SIMPLE_ENTRY("tkc_Honorable", "Honors Student", "You've read every memorial stone on the Isle of the Honored."),
-			ACHIEVEMENT_SIMPLE_ENTRY("tkc_PerfectMatch", "Perfect Match", "You brought Glenda and Ted together. True love."),
-			ACHIEVEMENT_SIMPLE_ENTRY("tkc_Troll", "Paid the Troll Toll", "Always pay off a troll with a treasure chest of gold!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("tkc_Berry", "Drops of Juniper", "You found a way past the angry tree and got yourself some Firienne berries."),
-			ACHIEVEMENT_SIMPLE_ENTRY("tkc_Swamped", "Swamped", "You've navigated the treacherous swamp and retrieved the pixies harp."),
-			ACHIEVEMENT_SIMPLE_ENTRY("tkc_Seer", "Seered to Perfection", "The Seer has revealed her secrets to you thanks to your unusual solution."),
-			ACHIEVEMENT_SIMPLE_ENTRY("tkc_Hello", "A Worthy Challenger", "You rescued the Queen and cast the spell in the final confrontation."),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-	
-	{
-		"whispersofamachine",
-		Common::GALAXY_ACHIEVEMENTS,
-		"1845001352",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("CaseClosed", "Case Closed", "Finished the game"),
-			ACHIEVEMENT_SIMPLE_ENTRY("PathOfTyr", "Path of Tyr", "Finished the game assertively"),
-			ACHIEVEMENT_SIMPLE_ENTRY("PathOfFrigg", "Path of Frigg", "Finished the game analytically"),
-			ACHIEVEMENT_SIMPLE_ENTRY("PathOfBaldr", "Path of Baldr", "Finished the game empathically"),
-			ACHIEVEMENT_SIMPLE_ENTRY("UnlockTier2", "Hidden Potential", "Unlocked a new augmentation"),
-			ACHIEVEMENT_SIMPLE_ENTRY("UnlockAugs", "Power Overwhelming", "Unlocked a full set of augmentations"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Harbinger", "Singularity-Minded"),
-			ACHIEVEMENT_HIDDEN_ENTRY("UnleashTheWolf", "Unleash the Wolf"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Caregiver", "Caregiver"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Careerist", "Careerist"),
-			ACHIEVEMENT_HIDDEN_ENTRY("MixedMethods", "Mixed Methods"),
-			ACHIEVEMENT_HIDDEN_ENTRY("NoSodaForYou", "Whispers of a Soda Machine"),
-			ACHIEVEMENT_HIDDEN_ENTRY("PassiveSmoking", "Passive Smoking Redux"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Reassembled", "Reassembled"),
-			ACHIEVEMENT_HIDDEN_ENTRY("SharpEyed", "Sharp-Eyed"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Environmentalist", "Environmentalist"),
-			ACHIEVEMENT_HIDDEN_ENTRY("WhatSuspect", "Babysitter"),
-			ACHIEVEMENT_HIDDEN_ENTRY("PickTheBaby", "Pick the Baby"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Museophile", "Museophile"),
-			ACHIEVEMENT_HIDDEN_ENTRY("SneakAttack", "Sneak Attack"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Memento", "Memento"),
-			ACHIEVEMENT_HIDDEN_ENTRY("CompulsiveReturner", "Serial Returner"),
-			ACHIEVEMENT_HIDDEN_ENTRY("CaffeineAddict", "Whispers of a Coffee Machine"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Whodunnit", "Whodunnit"),
-			ACHIEVEMENT_HIDDEN_ENTRY("CloseCall", "Close Call"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"adateinthepark",
-		Common::STEAM_ACHIEVEMENTS,
-		"468530",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_0_PHOTO", "Eye of the Beholder", "Remnants of an enchanting evening..."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_1_", "A Friend in Need", "Sometimes we all need some help."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_2", "Explorer", "You know this place like the back of your hand!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_3", "An Old Head", "A strange discovery... A?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_4", "Lost in Translation", "Lou really needs to learn Portuguese."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_5", "Hanging on the Telephone", "HELP!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_6", "Statue Fan", "Lou appreciates a fine sculpture or three."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_7", "Boom or Bust?", "Visions of Adrasteia."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_8", "A Good Samaritan", "Now there's a good boy."),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"alemmo",
-		Common::STEAM_ACHIEVEMENTS,
-		"296850",
-		{
-			STATS_SIMPLE_ENTRY("GRAVESTONES_READ", "Gravestones Read", "0"),
-			STATS_SIMPLE_ENTRY("ITEMS_CAUGHT", "Items Caught", "0"),
-			STATS_SIMPLE_ENTRY("ITEMS_THROWN", "Items Thrown", "0"),
-			STATS_SIMPLE_ENTRY("LINES_SUNG", "Lines Sung", "0"),
-			STATS_SIMPLE_ENTRY("ROOMS_PEEPED", "Rooms Peeped", "0"),
-			STATS_SIMPLE_ENTRY("EXCUSES_GIVEN", "Excuses Given", "0"),
-			STATS_SIMPLE_ENTRY("TITLES_READ", "Titles Read", "0"),
-			STATS_SIMPLE_ENTRY("ITEMS_COLLECTED", "Inventory Items Collected", "0"),
-			STATS_LISTEND
-		},
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("RAIN_MAN", "Rain Man", "Re-enact an iconic rain dance."),
-			ACHIEVEMENT_SIMPLE_ENTRY("TRAILBLAZER", "Trailblazer", "Successfully make a Blazin' Kev beverage on your first attempt."),
-			ACHIEVEMENT_SIMPLE_ENTRY("EMO_AL", "Emo Al", "Read every epitaph in the cemetery."),
-			ACHIEVEMENT_SIMPLE_ENTRY("THE_BIG_HAUL", "The Big Haul", "Snag every catchable item with the fishing rod."),
-			ACHIEVEMENT_SIMPLE_ENTRY("SECRET_GENTLEMENS_BUSINESS", "Secret Gentlemens' Business", "Visit Lou Heifer's love shack."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NOONTIME_MOONSHINE", "Noontime Moonshine", "Pass out after imbibing a potent brew."),
-			ACHIEVEMENT_SIMPLE_ENTRY("THREW_IT_ON_THE_GROUND", "Threw it on the Ground", "So many things to throw in the game. Find them all."),
-			ACHIEVEMENT_SIMPLE_ENTRY("VANDAL", "Vandal", "Carve some graffiti into a tree trunk."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ANOZIRAN_IDOL", "Anoziran Idol", "Find all of Al's singing lines in the game."),
-			ACHIEVEMENT_SIMPLE_ENTRY("VOYEUR", "Voyeur", "Try to enter all occupied rooms in the Hospitality House."),
-			ACHIEVEMENT_SIMPLE_ENTRY("SERIAL_PEST", "Serial Pest", "Exhaust the list of excuses while trying to enter Lou Heifer's Office."),
-			ACHIEVEMENT_SIMPLE_ENTRY("SLACKER_HACKER", "Slacker Hacker", "Gain access to the miner's cabin without seeking any clues."),
-			ACHIEVEMENT_SIMPLE_ENTRY("HOARDER", "Hoarder", "Acquire every inventory item in the game."),
-			ACHIEVEMENT_SIMPLE_ENTRY("BOOKWORM", "Bookworm", "Read every book title in the game."),
-			ACHIEVEMENT_SIMPLE_ENTRY("BURIED_TREASURE", "Buried Treasure", "Locate the Indian Casino."),
-			ACHIEVEMENT_SIMPLE_ENTRY("SPIN_DOCTOR", "Spin Doctor", "Win the jackpot prize (3 Chiefs x $10 Bet) on the slot machine."),
-			ACHIEVEMENT_SIMPLE_ENTRY("REPEAT_REALITY_OVERRUN", "Repeat Reality Overrun", "Play the game on the Indian Chief's computer two tiers deep."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ROUND_TRIP", "Round Trip", "Finish the game."),
-			ACHIEVEMENT_SIMPLE_ENTRY("COMPLETIONIST", "Completionist", "Finish the game with a full score of 500 points."),
-			ACHIEVEMENT_SIMPLE_ENTRY("SPEEDRUN", "Speedrun", "Finish the game in under two hours."),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"alum",
-		Common::STEAM_ACHIEVEMENTS,
-		"338420",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("BEGIN", "Begin", "You have embarked on the journey of Alum."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_CHAPTER2", "Chapter 2", "You've reached chapter 2"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_CHAPTER3", "Chapter 3", "You've reached chapter 3."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_CHAPTER4", "Chapter 4", "You've reached chapter 4."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_CHAPTER5", "Chapter 5", "You've reached chapter 5."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_CHAPTER6", "Chapter 6", "You've reached chapter 6."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_CHAPTER7", "Chapter 7", "You've reached chapter 7."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_COLEMIN", "Colemin's Last Stand", "You beat Colemin's Last Stand!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_SNIPER", "Sniper Elite", "You beat the sniper sequence!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_RUSHLIGHT", "Rushlight Bearer", "You've received a rushlight."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_WIN", "Free Kosmos", "Congratulations! You beat the game!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_WIN_NO_HINT", "Free Kosmos (no hints)", "Wow! You beat the game without using hints!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_DASHU", "Dashu's Last Stand", "You beat Dashu's Last Stand!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_CANDLE", "Smoky-mountain maple mighty magic mac and cheese scented", "Smoky-mountain maple mighty magic mac and cheese scented. Strange, yet satisfying."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_OG", "Defeat Og", "Off with his head!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_PIGE", "Pige!", "You shared your rushlight with Pige."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_CHAIR", "Office Chair", "The office chair is an office chair."),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"astroloco",
-		Common::STEAM_ACHIEVEMENTS,
-		"357490",
-		{
-			STATS_NODESC_ENTRY("TRAIN_COUNT", "0"),
-			STATS_NODESC_ENTRY("TARGET_COUNT", "0"),
-			STATS_LISTEND
-		},
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_GAME", "New Game", "It's all downhill from here."),
-			ACHIEVEMENT_SIMPLE_ENTRY("TECH_WHIZZ", "Tech-Whizz", "Get Gary back on his feet within two attempts."),
-			ACHIEVEMENT_SIMPLE_ENTRY("DONT_GET_COCKY", "Don't Get Cocky", "Defeat the marauding pirates."),
-			ACHIEVEMENT_SIMPLE_ENTRY("BROKEN_PIPE_DREAMS", "Broken Pipe Dreams", "Discover the pipe of your dreams."),
-			ACHIEVEMENT_SIMPLE_ENTRY("SUBATOMIC_FAMILY", "subAtomic Family", "Find the family from a previous game."),
-			ACHIEVEMENT_SIMPLE_ENTRY("THOROUGH_INVESTIGATION", "Thorough Investigation", "Diligently examine the contents of a locked cupboard."),
-			ACHIEVEMENT_SIMPLE_ENTRY("THE_KING_IN_THE_NORTH", "The King in the North", "Find an old friend within the Request-O-Matic."),
-			ACHIEVEMENT_SIMPLE_ENTRY("MONKEYING_AROUND", "Monkeying Around", "Find a sweet poster for a previous game."),
-			ACHIEVEMENT_SIMPLE_ENTRY("WIRETAP", "Wiretap", "Remotely remind a criminal that he's being watched."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NO_MORE_HICCUPS", "No More Hiccups", "You're getting really good at holding your breath!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("UNWANTED_GUEST", "Unwanted Guest", "Create your own 'Knock-Knock' joke."),
-			ACHIEVEMENT_SIMPLE_ENTRY("RECURRING_NIGHTMARE", "Recurring Nightmare", "This guy always bounces back!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("BEHIND_THE_SCENES", "Behind the Scenes", "Our game has commentary! Are we cool yet?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ANTISOCIAL", "Antisocial", "That's no way to greet someone new!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("THE_OTHER_SIDE", "The Other Side", "See things from someone else's point of view."),
-			ACHIEVEMENT_SIMPLE_ENTRY("INDECISIVE", "Indecisive", "You're in two minds on the matter."),
-			ACHIEVEMENT_SIMPLE_ENTRY("VIOLENT_TENDENCIES", "Violent Tendencies", "See the violence inherent in the system!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("FOLLOW_THE_MONEY", "Follow the Money", "Find and follow the trail of gold."),
-			ACHIEVEMENT_SIMPLE_ENTRY("TUNNEL_VISION", "Tunnel Vision", "Find all five hidden trains."),
-			ACHIEVEMENT_SIMPLE_ENTRY("CRACK_SHOT", "Crack Shot", "Find all five hidden targets."),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"atotkdeluxe",
-		Common::STEAM_ACHIEVEMENTS,
-		"603870",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_0", "Chapter One", "A Mixed Welcome"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_1", "Chapter Two", "Flight of the Dove"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_2", "Chapter Three", "Lay of the Land"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_3", "Chapter Four", "The Other Kingdom"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_4", "Chapter Five", "First Strike"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_5", "Chapter Six", "The Light of Truth"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_6", "Chapter Seven", "Point of View"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_7", "Chapter Eight", "End of the Line"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_8", "Paradur's Approval", "Complete the game"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_9", "Take Him Away, Boys", "Capture the assassin"),
-			ACHIEVEMENT_HIDDEN_ENTRY("NEW_ACHIEVEMENT_1_10", "Happily Ever After"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_11", "Summer Unending", "You have found solace"),
-			ACHIEVEMENT_HIDDEN_ENTRY("NEW_ACHIEVEMENT_1_12", "By Hook or By Crook"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_13", "Not Our Problem", "Theylinn can sort itself out"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_14", "Meticulous Adventurer", "See all 20 cutscenes in one playthrough"),
-			ACHIEVEMENT_HIDDEN_ENTRY("NEW_ACHIEVEMENT_1_15", "Karma is a Witch"),
-			ACHIEVEMENT_HIDDEN_ENTRY("NEW_ACHIEVEMENT_1_16", "Earned Her Name"),
-			ACHIEVEMENT_HIDDEN_ENTRY("NEW_ACHIEVEMENT_1_17", "Midir's Manumission"),
-			ACHIEVEMENT_HIDDEN_ENTRY("NEW_ACHIEVEMENT_1_18", "Kindred Spirits"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_19", "Rhiannon's Restoration", "Rescued the princess"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_20", "Penultimate Problem Ponderer", "Pass the Pooka's test without shortcuts"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_21", "Survival of the Fittest", "Counterattack on the goblins"),
-			ACHIEVEMENT_HIDDEN_ENTRY("NEW_ACHIEVEMENT_1_22", "Scarecrow Support"),
-			ACHIEVEMENT_HIDDEN_ENTRY("NEW_ACHIEVEMENT_1_23", "Second Chance"),
-			ACHIEVEMENT_HIDDEN_ENTRY("NEW_ACHIEVEMENT_1_24", "Not Bad for a Mortal"),
-			ACHIEVEMENT_HIDDEN_ENTRY("NEW_ACHIEVEMENT_1_25", "Seven at One Blow"),
-			ACHIEVEMENT_HIDDEN_ENTRY("NEW_ACHIEVEMENT_1_26", "It Belongs in a Museum"),
-			ACHIEVEMENT_HIDDEN_ENTRY("NEW_ACHIEVEMENT_1_27", "Rogue's Escape"),
-			ACHIEVEMENT_HIDDEN_ENTRY("NEW_ACHIEVEMENT_1_28", "Take the High Road"),
-			ACHIEVEMENT_HIDDEN_ENTRY("NEW_ACHIEVEMENT_1_29", "Cailte's Carelessness"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_30", "Spun from Straw", "Find the faerie gold"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_31", "Goblin Getaway", "Free yourself from captivity"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_2_0", "Wisdom of the Bards", "Obtain 100% wisdom rating"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_2_1", "Fierce Warrior", "Obtain 100% honor rating"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"apotheosis",
-		Common::STEAM_ACHIEVEMENTS,
-		"364350",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("PENELOPE_SUPERPOWERS", "Penelope Has Superpowers", "Penelope killed the bandits on the isle."),
-			ACHIEVEMENT_SIMPLE_ENTRY("AARON_SUPERPOWERS", "Aaron Has Superpowers", "Aaron traveled to Infraworld."),
-			ACHIEVEMENT_SIMPLE_ENTRY("POLIDORI_EVERYWHERE", "Polidori is Everywhere", "You examined the nightclub and arrival shop signs."),
-			ACHIEVEMENT_SIMPLE_ENTRY("HORROR_DOOR", "The Horror Beyond the Door", "You looked at the big door in the nightclub."),
-			ACHIEVEMENT_SIMPLE_ENTRY("CURFEW", "Curfew", "You examined the poster near the arrival shop's door."),
-			ACHIEVEMENT_SIMPLE_ENTRY("WEIRD_STUFF", "Weird Stuff", "You examined the door fridge where there are bricks."),
-			ACHIEVEMENT_SIMPLE_ENTRY("LOVELY_GIFT", "A Lovely Gift", "You gave the soldier to little Aaron."),
-			ACHIEVEMENT_SIMPLE_ENTRY("SMELL_IN_NICHE", "The Smell in the Niche", "You looked at the niche with Aaron, and noticed a strange smell."),
-			ACHIEVEMENT_SIMPLE_ENTRY("UNLOADED_GUN", "An Unloaded Gun?", "Aaron looked at the gun."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ALIENS_OR_DEMONS", "Aliens or Demons?", "Penelope examined the statues in the temple."),
-			ACHIEVEMENT_SIMPLE_ENTRY("AIRPORT_IN_TEMPLE", "An Airport in the Temple", "Penelope examined the gate in the large room of the temple."),
-			ACHIEVEMENT_SIMPLE_ENTRY("PILE_OF_GARBAGE", "A Pile of Garbage", "Penelope picked up the last red herring."),
-			ACHIEVEMENT_SIMPLE_ENTRY("THERES_A_HOLE", "Look out! There's a hole!", "You examined the hole in front of the three pyramids."),
-			ACHIEVEMENT_SIMPLE_ENTRY("LOVE_IS_WONDERFUL", "Love is a Wonderful Thing!", "Aaron tried to use the TV in Polidori's room."),
-			ACHIEVEMENT_SIMPLE_ENTRY("HEART_OF_PANDORA", "The Heart of Pandora", "You examined the big computer at Pandora Global Corp."),
-			ACHIEVEMENT_SIMPLE_ENTRY("APOCALYPSE_AND_FRANCE", "Apocalypse and French Equations", "You picked up the old photo of Doc Apocalypse in Pandora's room."),
-			ACHIEVEMENT_SIMPLE_ENTRY("THE_MAP", "The Map", "You examined the map on the wall in the last room."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_BEGINNING", "A New Beginning", "You chose your destiny when speaking to Vril and completed the game."),
-			ACHIEVEMENT_SIMPLE_ENTRY("PANDORA_GLOBAL", "Chapter 1: Pandora Global Corp.", "You Completed Chapter 1."),
-			ACHIEVEMENT_SIMPLE_ENTRY("THE_ISLAND", "Chapter 2: The Island", "You Completed Chapter 2."),
-			ACHIEVEMENT_SIMPLE_ENTRY("INFRAWORLD", "Chapter 3: Infraworld", "You Completed Chapter 3."),
-			ACHIEVEMENT_SIMPLE_ENTRY("THE_TEMPLE", "Chapter 4: The Temple", "You Completed Chapter 4."),
-			ACHIEVEMENT_SIMPLE_ENTRY("APOTHEOSIS", "Chapter 5: Apotheosis", "You Completed Chapter 5."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ROOKIE", "Rookie", "You scored 500 points."),
-			ACHIEVEMENT_SIMPLE_ENTRY("FIELD_AGENT", "Field Agent", "You scored 700 points."),
-			ACHIEVEMENT_SIMPLE_ENTRY("SECRET_AGENT", "Secret Agent", "You completed the game and scored less than 900 points."),
-			ACHIEVEMENT_SIMPLE_ENTRY("DOUBLE_AGENT", "Double Agent", "You completed the game with at least 900 points."),
-			ACHIEVEMENT_SIMPLE_ENTRY("MASTER_AGENT", "Master Agent", "You completed the game with the maximum score of 1000 points."),
-			ACHIEVEMENT_SIMPLE_ENTRY("INTRO_SPECTIVE", "Intro-spective", "You watched the entire intro scene."),
-			ACHIEVEMENT_SIMPLE_ENTRY("WOMEN_CHILDREN_FIRST", "Women and Children First", "You ignored Aaron and switched to Penelope right after the intro."),
-			ACHIEVEMENT_SIMPLE_ENTRY("RITTENHOUSE_WTF", "The Rittenhouse WTF Award", "You entered the code into the spider panel without asking Mr. Keys for the code."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ADAM_EVE", "Adam & Eve", "Achieved the maximum score and chose your destiny when speaking to Vril."),
-			ACHIEVEMENT_SIMPLE_ENTRY("HOWARD_PHILIPS", "The Howard Philips Award", "Achieved the maximum score, chose your destiny with Vril, and collected every inventory item."),
-			ACHIEVEMENT_SIMPLE_ENTRY("DESTINY", "Destiny", "Unlocked the first 25 achievements and the Howard Philips Award."),
-			ACHIEVEMENT_SIMPLE_ENTRY("HARDCORE", "Hard-core", "Unlocked every achievement!"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"beer",
-		Common::STEAM_ACHIEVEMENTS,
-		"782280",
-		{
-			STATS_SIMPLE_ENTRY("start", "Games Started", "0"),
-			STATS_SIMPLE_ENTRY("round2", "Round Two", "0"),
-			STATS_SIMPLE_ENTRY("round3", "Round Three", "0"),
-			STATS_SIMPLE_ENTRY("won", "Won!", "0"),
-			STATS_LISTEND
-		},
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_1", "In Soviet Russia...", "...Beer drinks you!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_2", "You Can't Get Ye Beer.", "I'm certainly not gonna tell you."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_3", "No Cheese for You!", "Don't be cheesy."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_4", "Help?", "I just need somebody..."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_5", "Spellling is Hard.", "To bee or not to bee..."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_6", "Divide and Conquer!", "Multiply and Liberate!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_7", "Liquor Hunt.", "It's better than pixels!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_8", "Word Salad.", "A Sad World."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_9", "Connect Four.", "Five is right out."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_10", "With Friggin' Sharks!", "Throw me a friggin' bone here."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_11", "Butter, Cheese, Eggs.", "All for noughts."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_12", "Waldo is Drunk.", "Where?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_13", "Rorrim!", "Noitcelfer!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_14", "Please?", "Abracadabra?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_15", "Are you Certain?", "You achieved this?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_16", "Simon says cheers!", "Cheers!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_17", "Frictionless.", "http://xkcd.com/669/"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_18", "Kaboom?", "Join the Bucket Brigade!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_19", "To Everything, there is a Season.", "And a time to every purpose."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_20", "Korobeiniki.", "Go ask Ylfing."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_21", "Beer Pressure.", "A Pierless Achievement."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_22", "Elephant in the Room.", "Mouse in the corner."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_23", "See No Evil.", "Beer No Evil."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_24", "Made by Gippazoid.", "2001 Odessa blastway."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_25", "Lady or the Tiger?", "Smullyan was here."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_26", "2 + 5 + 5 + 18.", "That's almost 42."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_27", "Sseeing Ddouble!", "Sseeing Ddouble!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_28", "Unbeerable!", "Beerly doable!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_29", "The Answer, My Friend", "Do I know what rhetorical means?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_30", "Test your Memory!", "640 kb should be enough."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_31", "The Bonus Round.", "Round The Bonus."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_2_0", "Lock Master.", "Achievement Unlocked."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_0", "Get the Beer!", "Well that was easy."),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"blackwell1",
-		Common::STEAM_ACHIEVEMENTS,
-		"80330",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("MEDIUM_WELL_DONE", "Medium Well Done", "Finish the game at least once"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HEAR_ME", "Hear me", "Finish the game with both commentary modes active, from the opening menu till the end"),
-			ACHIEVEMENT_SIMPLE_ENTRY("PACIFIST", "Pacifist", "Convince the Deacon to move on without resorting to violence"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HELLO_JOEY", "Hello Joey", "Rosa, meet your new life partner"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HISTORIAN", "Family Historian", "Get Joey to tell you everything he knows about your family"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HANG_OF_IT", "Crowd Control", "Never talk to Joey in public"),
-			ACHIEVEMENT_SIMPLE_ENTRY("MEDIUM_LIE", "Medium Lie", "Bluff your way past the guard on your first attempt"),
-			ACHIEVEMENT_SIMPLE_ENTRY("SAVIOR", "Savior", "Save the Deacon's soul"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"blackwell2",
-		Common::STEAM_ACHIEVEMENTS,
-		"80340",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("SHUTTERBUG", "Shutterbug", "Take all four photographs"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ON_THE_CHIN", "Take it on the Chin", "Get hit by the saxophone only once"),
-			ACHIEVEMENT_SIMPLE_ENTRY("LAUGH_IT_UP", "Laugh it Up", "Find the game's blooper reel"),
-			ACHIEVEMENT_SIMPLE_ENTRY("CHAIN_SMOKER", "Chain Smoker", "Smoke at least 100 cigarettes"),
-			ACHIEVEMENT_SIMPLE_ENTRY("CUT_DOWN", "Trying to Cut Down", "Smoke less than 20 cigarettes by the end of the game"),
-			ACHIEVEMENT_SIMPLE_ENTRY("FLOATING_HEAD", "Floating Head", "Find the floating head easter egg"),
-			ACHIEVEMENT_SIMPLE_ENTRY("SHIVAH_CALL", "Shivah Call", "Make an unusual phone call"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DREAMCATCHER", "Dreamcatcher", "Listen to all of Lauren's dreams"),
-			ACHIEVEMENT_SIMPLE_ENTRY("COMMENTARY_MODE", "Commentary Mode", "Play the game in commentary mode, from the opening menu till the end"),
-			ACHIEVEMENT_SIMPLE_ENTRY("MEDIUM_WELL_DONE", "Medium Well Done", "Finish the game at least once"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"blackwell3",
-		Common::STEAM_ACHIEVEMENTS,
-		"80350",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("SOFT_TOUCH", "Soft Touch", "Give Allen some hope before he goes"),
-			ACHIEVEMENT_SIMPLE_ENTRY("LUSH_LIFE", "Lush Life", "Have a few drinks, but you might regret it in the morning"),
-			ACHIEVEMENT_SIMPLE_ENTRY("SOBER", "Sober Solidarity", "Keep a clear head, but others might think less of you"),
-			ACHIEVEMENT_SIMPLE_ENTRY("CAT_TRICK", "Cat Trick", "Distract the cat only once"),
-			ACHIEVEMENT_SIMPLE_ENTRY("LEADING_LADY", "Leading Lady", "While holding Frank's script, get though a performance without flubbing a single line"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ART_MEDIUM", "Art Medium", "Convince Frank that you are an artist on your first try"),
-			ACHIEVEMENT_SIMPLE_ENTRY("WONDER_WOMAN", "Wonder Woman", "Defeat the Countess with one throw of an improvised lasso"),
-			ACHIEVEMENT_SIMPLE_ENTRY("SOLO", "Solo", "Finish the game without asking Joey for a single hint"),
-			ACHIEVEMENT_SIMPLE_ENTRY("SAVIOR", "Reluctant Savior", "Save Charlie Meltzer's life"),
-			ACHIEVEMENT_SIMPLE_ENTRY("MEDIUM_WELL_DONE", "Medium Well Done", "Finish the game at least once"),
-			ACHIEVEMENT_SIMPLE_ENTRY("COMMENTARY", "Convergence Commentary", "Finish the game in commentary mode, from the opening menu till the end"),
-			ACHIEVEMENT_SIMPLE_ENTRY("SECRET_FINDER", "Secret Finder", "Find the secret extras menu"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"blackwell4",
-		Common::STEAM_ACHIEVEMENTS,
-		"80360",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("MEDIUM_WELL_DONE", "Medium Well Done", "Complete the game once"),
-			ACHIEVEMENT_SIMPLE_ENTRY("TEAMWORK", "Teamwork", "Use both Rosa and Joey to solve a puzzle"),
-			ACHIEVEMENT_SIMPLE_ENTRY("GEROMINO", "Geromino!", "Save a ghost... and yourself"),
-			ACHIEVEMENT_SIMPLE_ENTRY("KEY_SNATCHER", "Key Snatcher", "Sometimes you've gotta rob a few old ladies..."),
-			ACHIEVEMENT_SIMPLE_ENTRY("OUT_OF_SIGHT", "Out of Sight", "Get out of a sticky situation"),
-			ACHIEVEMENT_SIMPLE_ENTRY("COMPETITION", "Check out the Competition", "Visit another psychic"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DUMPSTER_DIVER", "Dumpster Diver", "Find a lost item"),
-			ACHIEVEMENT_SIMPLE_ENTRY("TAKE_MY_CARD", "Take my Card", "Use Rosa's business card for an unintended purpose"),
-			ACHIEVEMENT_SIMPLE_ENTRY("MUSIC_LOVER", "Music Lover", "Find Jamie's favorite song"),
-			ACHIEVEMENT_SIMPLE_ENTRY("STILL_GOT_IT", "Still Got It", "Not bad, for a dead guy"),
-			ACHIEVEMENT_SIMPLE_ENTRY("UNBOUND", "Unbound", "Free Rosa"),
-			ACHIEVEMENT_SIMPLE_ENTRY("BACK_FROM_BEYOND", "Back from Beyond", "Come back from the void"),
-			ACHIEVEMENT_SIMPLE_ENTRY("FACE_PLANT", "Face Plant", "Abuse an innocent"),
-			ACHIEVEMENT_SIMPLE_ENTRY("BUTTON_PUSHER", "Button Pusher", "Open the secret compartment on the first try"),
-			ACHIEVEMENT_SIMPLE_ENTRY("LISTEN_CLOSELY", "Listen Closely, Now", "Finish the game in commentary mode"),
-			ACHIEVEMENT_SIMPLE_ENTRY("BULLET_DODGER", "Bullet Dodger", "Escape the yacht with only getting shot once"),
-			ACHIEVEMENT_SIMPLE_ENTRY("GHOSTS_OF_THE_PAST", "Ghosts of the Past", "Find all the references to previous games in Rosa's apartment"),
-			ACHIEVEMENT_SIMPLE_ENTRY("BLOWEY_MALLONE", "Blowey Mallone", "Use Joey's breath ability on at least 10 people"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"blackwell5",
-		Common::STEAM_ACHIEVEMENTS,
-		"236930",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("CONVERGENCE", "Convergence", "Two becomes one"),
-			ACHIEVEMENT_SIMPLE_ENTRY("CURTAINCALL", "Curtain Call", "Save your first ghost"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DECEPTION", "Deception", "Try to lie your way out of it"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DUMPSTERJUMPER", "Dumpster Jumper", "Make a leap without falling once"),
-			ACHIEVEMENT_SIMPLE_ENTRY("EPIPHANY", "Epiphany", "The hows and whys of Joey"),
-			ACHIEVEMENT_SIMPLE_ENTRY("GHOSTLYSILENT", "Ghostly silent", "Keep clam and keep cool"),
-			ACHIEVEMENT_SIMPLE_ENTRY("GOLDFARBDIGGER", "Goldfarb Digger", "Find a secret room"),
-			ACHIEVEMENT_SIMPLE_ENTRY("JOINEDTHEMUSIC", "Joined the Music", "She has plenty of time..."),
-			ACHIEVEMENT_SIMPLE_ENTRY("LAYINGITBEAR", "Laying it Bear", "Learn a long kept secret"),
-			ACHIEVEMENT_SIMPLE_ENTRY("LEGACY", "Legacy", "Reunite a family"),
-			ACHIEVEMENT_SIMPLE_ENTRY("LISTEN", "Move on and Listen", "Finish the game in commentary mode (from the first screen till the last)"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ONLINETROLL", "Online Troll", "Gain access to an online game"),
-			ACHIEVEMENT_SIMPLE_ENTRY("SNOWPLOW", "Snow Plow", "Somebody's got to do it..."),
-			ACHIEVEMENT_SIMPLE_ENTRY("SOFTLYSOFTLY", "Softly Softly", "Create no more than 450 footprints"),
-			ACHIEVEMENT_SIMPLE_ENTRY("TEAMWORK", "Teamwork", "Solve a puzzle together"),
-			ACHIEVEMENT_SIMPLE_ENTRY("MOVEON", "Time to Move On", "Complete the story"),
-			ACHIEVEMENT_SIMPLE_ENTRY("UNBOUND", "Unbound", "Free yourself"),
-			ACHIEVEMENT_SIMPLE_ENTRY("BLOWEYMALLONE", "Blowey Mallone", "Blow on everyone you can find"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"charnelhousetrilogy",
-		Common::STEAM_ACHIEVEMENTS,
-		"288930",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("PASSWORD_PROTECTED", "Password Protected", "You logged in and tracked your parcel."),
-			ACHIEVEMENT_SIMPLE_ENTRY("BREATHING_METHOD", "The Breathing Method", "You suffered a great loss."),
-			ACHIEVEMENT_SIMPLE_ENTRY("LIBRARIAN", "The Librarian", "You saved Lang from boredom."),
-			ACHIEVEMENT_SIMPLE_ENTRY("METAFICTION", "Metafiction", "You discovered Alex's identity crisis."),
-			ACHIEVEMENT_SIMPLE_ENTRY("SPECIAL_DELIVERY", "Special Delivery", "You discovered the autobiographical element."),
-			ACHIEVEMENT_SIMPLE_ENTRY("WORMFOOD", "Wormfood", "You met the master."),
-			ACHIEVEMENT_SIMPLE_ENTRY("GOOD_PUPPY", "Good Little Puppy", "You endured Floyd's torment."),
-			ACHIEVEMENT_SIMPLE_ENTRY("PAY_IT_FORWARD", "Pay It Forward", "You tried to save Don from boredom... but failed."),
-			ACHIEVEMENT_SIMPLE_ENTRY("OLD_GLORIA", "Old Gloria", "She's a stubborn old gal."),
-			ACHIEVEMENT_SIMPLE_ENTRY("BRIGHTEST_DAY", "In Brightest Day", "Should've got a ring with it."),
-			ACHIEVEMENT_SIMPLE_ENTRY("TAKE_EDGE_OFF", "Take The Edge Off", "You accepted Floyd's gift."),
-			ACHIEVEMENT_SIMPLE_ENTRY("MEAN_GIRLS", "Mean Girls", "You made Carli mad."),
-			ACHIEVEMENT_SIMPLE_ENTRY("CALL_OUT", "Call Out", "You scared off your stalker... for now."),
-			ACHIEVEMENT_SIMPLE_ENTRY("EYES_OF_THE_GODS", "Eyes of the Gods", "Smoking really IS hazardous."),
-			ACHIEVEMENT_SIMPLE_ENTRY("SALVATION_OF_JUDAS", "Salvation of Judas", "You saved Carli."),
-			ACHIEVEMENT_SIMPLE_ENTRY("EX", "The Ex", "You found out the truth about Gavin."),
-			ACHIEVEMENT_SIMPLE_ENTRY("LYDIAS_STORY", "Lydia's Story", "You recounted Lydia's story perfectly."),
-			ACHIEVEMENT_SIMPLE_ENTRY("WE_ALL_FLOAT", "We All Float", "You pulled out an old trick."),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"chronicleofinnsmouth",
-		Common::STEAM_ACHIEVEMENTS,
-		"420180",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_maleducato", "Shift It, Moron!", "Met the shady thug for the first time."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_malmenato", "Down For The Count.", "Witnessed a brutal beating."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_inizia", "Call To Adventure!", "Began the game for the first time."),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_meritato", "Reap What You Sow?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_citazione", "Quote-Unquote.", "Distracted by a classic quote."),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_puzza", "What A Stench!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_ticaccia", "OUUUUT!!!", "Kicked out by Madame Tilton."),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_penna", "Mightier Than The Sword."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_drink", "A Man Walks Into A Bar.", "Asked the barman for advice."),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_gag", "Spinal Tap."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_lapsus", "Freudian slip.", "Slipped on a Freudian phallic symbol peel."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_licenziato", "TRUMPED!", "Got Melvin fired."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_lettore", "Bookworm.", "Read every book from the library."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_hopelow", "Con Artist!", "Said all the fake names for Andrew Hopelow."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_hopeballa", "Bustin' Some Moves!", "Saw Andrew Hopelow dancing to the Whateley Hillbillies' music."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_scopriymca", "It's Fun To Stay At The...", "Found the YMCA."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_scusanonno", "Forgive me, grandfather...", "Swapped the pen for the train model."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_junior", "Here, cutie!", "Spoke to Junior."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_tiara", "Eureka!", "Solved the tiara puzzle."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_rulli", "Safe Cracker!", "Solved the combination puzzle."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_trenino", "Goodnight Sheldon.", "Gave the train model to the train geek."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_crash", "Curiosity Killed The Cat.", "Crashed the game by asking too many questions about the mirror."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_innsmouth", "Spectral Innsmouth.", "Arrived in Innsmouth."),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_deformazione", "Faded Genes."),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_tuttiiluoghi", "I Came! I Saw!"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_muoriraff", "Let Sleeping Dogs Lie."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_lemmy", "Meatloaf!", "Saw the young librarian in his Ace Of Spades era."),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_tisparano", "Sleeping With The Fishes."),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_finisci", "Beyond The Sea."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_pixelhunter", "Pixel Hunter.", "Never used the hotspot help option."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_necronomicon", "Necronomicon.", "Watched cutscene."),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_cecchino", "360 No Scope!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_segugio", "Ninja.", "Shadowed the lookout to the smugglers' lair."),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_giganteschio", "Skull! Skull! Skull!."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_zadok", "IA! IA!", "Cthulhu ftaghn."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_lighthouse", "Don't Fear The Keeper!", "Reached the top of the lighthouse."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_dormire", "Sweet Dreams.", "Fell asleep to the soothing sound of the sea."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_Fuggitivo", "The Fugitive!", "Ran away without a second look!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_investigatore", "Investigator.", "Found all the letters."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_shoggoth", "Shoggoth!", "Escaped from the shoggoth."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_assalto", "Serpentine!", "Dodged the bombardment and escaped Innsmouth!"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_digita", "Lost Language."),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"crystalshardadventurebundle",
-		Common::STEAM_ACHIEVEMENTS,
-		"551840",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("YROLG0", "Burn Them", "When in doubt, set something on fire."),
-			ACHIEVEMENT_SIMPLE_ENTRY("YROLG1", "Skewer Them", "Shish-ka-bob!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("YROLG2", "Crush Them With Rocks", "Good ol' rock. Nothing beats rock."),
-			ACHIEVEMENT_SIMPLE_ENTRY("YROLG3", "Into Your Bottomless Pit", "No depths are too low!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("YROLG4", "Impassionate", "Complete Quest for Yrolg in thirteen minutes"),
-			ACHIEVEMENT_HIDDEN_ENTRY("YROLG5", "Rise From Your Grave"),
-			ACHIEVEMENT_HIDDEN_ENTRY("YROLG6", "Prickly like a hedgehog"),
-			ACHIEVEMENT_HIDDEN_ENTRY("YROLG7", "Get your Tan on"),
-			ACHIEVEMENT_SIMPLE_ENTRY("QUASAR0", "If Duct Tape won't fix it...", "...you're not using enough!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("QUASAR1", "Virtual Vacation", "Vicarious visitation, verily."),
-			ACHIEVEMENT_SIMPLE_ENTRY("QUASAR2", "The Way to the Heart", "...is through the stomach."),
-			ACHIEVEMENT_SIMPLE_ENTRY("QUASAR3", "I Can Has Cheezburger", "Pets lower blood pressure."),
-			ACHIEVEMENT_SIMPLE_ENTRY("QUASAR4", "Now That's Teamwork!", "Complete Starship Quasar"),
-			ACHIEVEMENT_HIDDEN_ENTRY("QUASAR5", "The World is your Oyster"),
-			ACHIEVEMENT_HIDDEN_ENTRY("QUASAR6", "Office Romance"),
-			ACHIEVEMENT_HIDDEN_ENTRY("QUASAR7", "Never Enough Data"),
-			ACHIEVEMENT_SIMPLE_ENTRY("LOTTER1", "Philosopher's Scone", "Pass the Alchemy exam"),
-			ACHIEVEMENT_SIMPLE_ENTRY("LOTTER2", "You've Runed Your Life", "Pass the Runes exam"),
-			ACHIEVEMENT_HIDDEN_ENTRY("LOTTER3", "Draft of Opening"),
-			ACHIEVEMENT_HIDDEN_ENTRY("LOTTER5", "Utiliference your Synergies"),
-			ACHIEVEMENT_HIDDEN_ENTRY("LOTTER6", "Did The Earth Move For You?"),
-			ACHIEVEMENT_HIDDEN_ENTRY("LOTTER7", "What Number Am I Thinking Of?"),
-			ACHIEVEMENT_HIDDEN_ENTRY("LOTTER8", "None Shall Pass"),
-			ACHIEVEMENT_HIDDEN_ENTRY("LOTTER9", "I Forget What This Achievement Is For"),
-			ACHIEVEMENT_SIMPLE_ENTRY("LOTTER10", "Density Beckons", "Get a date with Cho"),
-			ACHIEVEMENT_HIDDEN_ENTRY("LOTTER4", "Is It Easter Yet?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("LOTTER0", "This Class Has No Future", "Pass the History exam"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"detectivegallo",
-		Common::STEAM_ACHIEVEMENTS,
-		"556060",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_01", "Vigilante", "That taxi driver picked up his last fare\xe2\x80\xa6"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_02", "Alcoholic", "Cocktails go to my head."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_03", "Romantic Detective", "A real badass always know when to be sweet."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_04", "Role Player", "Ridicolous little green men\xe2\x80\xa6"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_05", "Heroic Deed", "There's only his stench left\xe2\x80\xa6"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_06", "Good Morning", "When you are a heavy sleeper\xe2\x80\xa6"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_07", "Cold-Blooded Detective", "I like counting on my best friend."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_08", "Smuggler", "What's a smuggler without a business card?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_09", "Green Thumb", "Now I figured out what Latin is good for."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_10", "Space Invader", "It's always fun to threaten Earth\xe2\x80\xa6"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_11", "Baby Sitter", "Maybe as a side job\xe2\x80\xa6"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_12", "Infallible Nose", "What's a detective without his instincts?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_13", "Interference", "Who was that, Mario?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_14", "Animal Activist", "The animals must respect other animals."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_15", "Timed Trial", "Speed is my middle name."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_16", "Old School", "There's nothing like the old school."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_17", "Sprinter", "Never stop. Never."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_18", "Devoted", "Assistants are born, not made."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_19", "Chronically Indecisive", "Doubt is the source of wisdom."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_20", "Supplier", "Cutlery smuggling."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_21", "Connoisseur", "Got the cocktail in one."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_22", "Cameo", "Those game designers are crazy\xe2\x80\xa6"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_23", "Briber", "Here's the proper use of the money."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_24", "Time to Get Serious", "When the going gets rough..."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Achiev_25", "The Curtains Falls", "Applause, please."),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"docapocalypse",
-		Common::STEAM_ACHIEVEMENTS,
-		"509920",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_CHAP1_BUNKER", "Chapter 1: Bunker", "You re-emerged from the bunker unharmed many months after catastrophe!"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_TRADING", "Trading Paint"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_DEADSET", "Dead Set"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_CHAP2_SERENITY", "Chapter 2: Serenity", "You managed to leave the town of Serenity in search of Montauk!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_CHAP3_AREA51", "Chapter 3: Area 51", "You completed chapter 3 in Area 51!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_CHAP4_ARCTIC", "Chapter 4: Arctic", "You completed chapter 4 in the Arctic!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_CHAP5_TIMETRAV", "Chapter 5: Time Travel", "You completed the final chapter at various historic locations!"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_WARGAMES", "War Games"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_CRYSTAL1", "Yoraguni"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_CRYSTAL2", "Ziggurat of Ur"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_CRYSTAL3", "Pyramid of Khufu"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_CRYSTAL4", "Chichen Itza"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_GENIUS", "Genius!", "You completed the game with the highest score possible!"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_ALIENPANEL", "Control Panel"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_TESLA", "Nikola Tesla"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_TRUTH", "The Truth"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_BIGLIE", "The Big Lie"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_ORDERNAME", "So Many Possibilities..."),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_SOUL", "I Am Soul"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_SIGNHERE", "I Am Doc Apocalypse"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_EUREKA", "Eureka Moment", "You got every achievement!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_FAILURE", "Epic Fail", "You completed the game with the lowest score possible!"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_TUTORIAL", "Read The Manual"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_CRANE", "Hook A Schmuck"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_BACKINTIME", "Back In Time"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_GRAVE", "Grave Consequences"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_GREATNEUTRONS", "Great Neutrons!"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_DEPUTY", "Deputy Doc"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"downfall2009",
-		Common::STEAM_ACHIEVEMENTS,
-		"364390",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("DF_PARTONE", "Part One", "You read Part One of the letter"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DF_PARTTWO", "Part Two", "You read Part Two of the letter"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DF_FINALPART", "The Final Part", "You read the third and Final Part of the letter"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DF_RADIOHEAD", "Radiohead", "Agnes turned on the radio"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DF_PENIS", "The Penis Award", "You found a penis in the hotel garden"),
-			ACHIEVEMENT_HIDDEN_ENTRY("DF_NOEYES", "No Eyes, Always Watching"),
-			ACHIEVEMENT_HIDDEN_ENTRY("DF_NOISES", "Noises She Makes In Their Bed"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DF_HEADOFFICE", "The Head Office", "Joe found Agnes' head on the desk in the manageress' office"),
-			ACHIEVEMENT_HIDDEN_ENTRY("DF_PERV", "Perv..."),
-			ACHIEVEMENT_HIDDEN_ENTRY("DF_DEMONSLAYER", "Demon Slayer"),
-			ACHIEVEMENT_HIDDEN_ENTRY("DF_ONLYMONSTER", "The Only Monster Is You"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DF_BADKITTY", "Bad Kitty", "The cat ran away from Young Joe"),
-			ACHIEVEMENT_HIDDEN_ENTRY("DF_CRAFTER", "Master Crafter"),
-			ACHIEVEMENT_HIDDEN_ENTRY("DF_DOWNFALL", "Downfall"),
-			ACHIEVEMENT_HIDDEN_ENTRY("DF_GOLDEN", "Golden Ending"),
-			ACHIEVEMENT_HIDDEN_ENTRY("DF_LORELAI", "Lorelai"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DF_FULLOFCRAP", "Full Of Crap", "You made Doctor Z really angry"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DF_RUNAWAYBRIDE", "Runaway Bride", "Agnes persuaded Ivy to join her"),
-			ACHIEVEMENT_HIDDEN_ENTRY("DF_JUSTDOIT", "Just Do It"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DF_ASSHOLE", "Asshole", "You were really mean to Ivy"),
-			ACHIEVEMENT_HIDDEN_ENTRY("DF_SHNOZ", "Right In The Shnoz"),
-			ACHIEVEMENT_HIDDEN_ENTRY("DF_SAVIOUR", "Auto-Saviour"),
-			ACHIEVEMENT_HIDDEN_ENTRY("DF_HARDCORE", "Hardcore"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DF_FLOORS", "Found Between The Floors", "You explored all 4 floors of the hotel"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DF_QUIETHAVEN", "My Quiet Haven", "You completed all the tasks in Helen Road"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DF_STARTS", "Meet Joe Davis", "You completed the tutorial"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DF_SOPHIE", "Piece By Piece", "You settled the matter with four Sophie's"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DF_BLUNT", "Blunt", "You had a nice chat with Harrison"),
-			ACHIEVEMENT_HIDDEN_ENTRY("DF_DEADCELEB", "Dead Celebrities"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DF_LUCKYDIP", "Lucky Dip", "You found some concept art in the lucky dip!"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"dustbowl",
-		Common::STEAM_ACHIEVEMENTS,
-		"367110",
-		{
-			STATS_SIMPLE_ENTRY("Pug_Stat", "Enemies punched to death.", "0"),
-			STATS_SIMPLE_ENTRY("22_Stat", "Kill enemies with 22 weapons", "0"),
-			STATS_SIMPLE_ENTRY("Rifle_Stat", "Kill enemies with rifles", "0"),
-			STATS_SIMPLE_ENTRY("Pistol_Stat", "Kill enemies with pistols", "0"),
-			STATS_SIMPLE_ENTRY("Multitool_Stat", "Use Mulititools", "0"),
-			STATS_SIMPLE_ENTRY("Head_Shots", "Total headshots", "0"),
-			STATS_SIMPLE_ENTRY("Limb_Shots", "Total limb shots", "0"),
-			STATS_SIMPLE_ENTRY("Heart_Shots", "Total heart shots", "0"),
-			STATS_SIMPLE_ENTRY("Search_Stat", "Objects Searched", "0"),
-			STATS_SIMPLE_ENTRY("Flame_Kills", "Kill 20 enemies with flamer", "0"),
-			STATS_SIMPLE_ENTRY("Tresspasser", "Enter 50 locations", "0"),
-			STATS_LISTEND
-		},
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_0", "Pugilist", "Kill 20 enemies with your fists."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_1", "Gunslinger", "Kill 50 enemies with pistols."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_2", "Hunter", "Kill 50 enemies using .22 rifles."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_3", "Gunrunner", "Kill 50 enemies using 7.62mm rifles."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_4", "Roadkill Cuisine", "Cook some raw food."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_5", "Survivalist", "Craft an item."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_6", "Under The Stars", "Rest in a tent."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_7", "Master Thief", "Use 10 Multitools."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_8", "Trespasser", "Explore 50 locations."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_9", "Conscription", "Join the Militia."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_10", "Bug Collector", "Complete the \"Bug Collector\" side quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_11", "Bird Catcher", "Complete \"Catch A Raven\" side quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_12", "Drugged Up", "Complete \"A&E\" side quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_13", "Feeding The Vampire", "Complete \"Blood Drinker\" side quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_14", "The Courier", "Complete \"The Mule\" side quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_15", "Lost And Found", "Complete \"Fallen Soldiers\" side quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_16", "Thieves And Bad Guys", "Complete \"Breaking And Entering\" side quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_17", "High Explosives", "Complete \"Closing The Gap\" side quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_18", "Rain Maker", "Complete \"The Irrigator\" side quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_19", "Going On A Trip", "Complete \"Shrooming\" side quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_20", "Punk Never Dies", "Complete \"Saving A Child\" side quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_21", "Midnight At The Oasis", "Complete \"The Oasis\" side quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_22", "Do You Believe?", "Complete \"New Roswell\" side quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_23", "Round Up", "Complete \"Saving Easter\" side quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_24", "Going Underground", "Complete \"Metro 2044\" quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_25", "Intelligent Design", "Complete \"Killing Machine\" quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_26", "Brainwashed", "Complete \"Controller\" side quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_28", "Making a Union", "Complete \"Forging A Union\" quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_29", "Life Giver", "Complete \"Liquid Gold\" quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_30", "Crossing The Great Unknown", "Complete \"Hazardous Material\" quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_31", "Crime Scenes", "Complete \"Northern Exposure\" quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_2_0", "Vault Dweller", "Complete \"Lab X-20\" quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_2_1", "Give Me Air", "Complete \"Rebreather\" quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_2_3", "In Search Of Ghosts", "Complete \"Father's Footsteps\" quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_2_4", "Hard Target", "Complete a \"Permadeath\" run."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_2_5", "Tightwad", "Have $1000 in your wallet."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_2_6", "Straight Through The Head", "Make 50 head shots."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_2_7", "Crippling Blows", "Make 50 limb shots."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_2_8", "Cardiac Arrest", "Make 50 heart shots."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_2_9", "Scavenger", "Search 100 objects in the world."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_2_10", "Fixer Upper", "Complete \"Tools Of The Trade\" side quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_2_11", "Gotta Flamb\xe9", "Kill 20 enemies with the flamer."),
-			ACHIEVEMENT_HIDDEN_ENTRY("NEW_ACHIEVEMENT_2_12", "Open Your Mind"),
-			ACHIEVEMENT_HIDDEN_ENTRY("NEW_ACHIEVEMENT_2_13", "Grey Matter"),
-			ACHIEVEMENT_HIDDEN_ENTRY("NEW_ACHIEVEMENT_2_14", "Gone Home"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"falconcity",
-		Common::STEAM_ACHIEVEMENTS,
-		"1270590",
-		NOSTATS,
-		{
-			ACHIEVEMENT_HIDDEN_ENTRY("SAFE_CRACKER", "Safe Cracker"),
-			ACHIEVEMENT_HIDDEN_ENTRY("HACKER", "A real Hacker!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("TANJAS_WAY", "Tanja's Way", "You gave Tanja the documents"),
-			ACHIEVEMENT_SIMPLE_ENTRY("JENNYS_WAY", "Jenny's Way", "You gave Jenny the documents"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DATING_WITH_TANJA", "Dance with Tanja", "You successfully invited Tanja on a date!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DATING_WITH_JENNY", "Date with Jenny", "You successfully invited Jenny on a date!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("RELIABLE", "Reliable", "You got a key to Daisie's apartment."),
-			ACHIEVEMENT_SIMPLE_ENTRY("HERO_OF_THE_DAY", "Hero of the day!", "You have successfully detected the crime and caught all the suspects!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("SOCIABLE", "Sociable", "You got to know all the characters in the game!"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"feriadarles",
-		Common::STEAM_ACHIEVEMENTS,
-		"1181570",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("PARROT_SQUAWK", "Squawk!", "Made the parrot talk"),
-			ACHIEVEMENT_SIMPLE_ENTRY("MAKE_BAGPIPE", "Oh great, bagpipes", "A shrill wailing sound"),
-			ACHIEVEMENT_HIDDEN_ENTRY("GAME_OVER", "Fugitive from justice"),
-			ACHIEVEMENT_SIMPLE_ENTRY("GOT_HOSE", "Ouch!", "The lengths you'll go to for a length of plastic hose"),
-			ACHIEVEMENT_SIMPLE_ENTRY("PUNNY", "A pun too far", "Sorry"),
-			ACHIEVEMENT_HIDDEN_ENTRY("GOT_HAIRCUT", "Everything still attached?"),
-			ACHIEVEMENT_HIDDEN_ENTRY("KNOCK_OUT", "He's not dead"),
-			ACHIEVEMENT_SIMPLE_ENTRY("MELT_CUP", "Just like grog", "The inferior red cup"),
-			ACHIEVEMENT_SIMPLE_ENTRY("SAY_NO", "What was it again?", "Made the Order of the Bull repeat themselves"),
-			ACHIEVEMENT_SIMPLE_ENTRY("INDY", "Les aventuriers de l'arche perdue", "Did your best Indiana Jones impression"),
-			ACHIEVEMENT_HIDDEN_ENTRY("GOT_HORSESHOE", "Stand tall"),
-			ACHIEVEMENT_HIDDEN_ENTRY("GOT_ARMOUR", "Equipped for battle"),
-			ACHIEVEMENT_HIDDEN_ENTRY("REALLY_TALL", "Stand REALLY tall"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_CONTENDER", "The Running Man", "Enter the amphitheatre"),
-			ACHIEVEMENT_SIMPLE_ENTRY("TIME_SHARE", "Timeshare", "Sat through the market trader's spiel"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"footballgame",
-		Common::STEAM_ACHIEVEMENTS,
-		"654550",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("RemoveTheEvidence", "Remove the Evidence", "Mom won't suspect a thing..."),
-			ACHIEVEMENT_SIMPLE_ENTRY("TheLake", "The Lake", "Our favorite place."),
-			ACHIEVEMENT_SIMPLE_ENTRY("SuzyUnfolded", "Suzy unfolded", "Mom ruined a good photograph!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Barista", "Barista", "Mom's favorite brew."),
-			ACHIEVEMENT_SIMPLE_ENTRY("AmongtheLeaves", "Among the leaves", "First time you've been up here in a while..."),
-			ACHIEVEMENT_SIMPLE_ENTRY("WheresSuzy", "Where's Suzy?", "I can't find her."),
-			ACHIEVEMENT_SIMPLE_ENTRY("DistractedEntry", "Distracted entry", "You've made it back into the changing rooms."),
-			ACHIEVEMENT_HIDDEN_ENTRY("TheEnd", "The End"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ThePastOne", "The Past: One"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ThePastTwo", "The Past: Two"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ThePastThree", "The Past: Three"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ThePastFour", "The Past: Four"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ThePastSix", "The Past: Six"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ThePastFive", "The Past: Five"),
-			ACHIEVEMENT_SIMPLE_ENTRY("MusicFan", "Music Fan", "You've played both of the tapes."),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"geminirue",
-		Common::STEAM_ACHIEVEMENTS,
-		"80310",
-		{
-			STATS_SIMPLE_ENTRY("ExamStrikes", "Strikes on the Center 7 Exams", "0"),
-			STATS_SIMPLE_ENTRY("Mementos", "Hidden notes found in Center 7", "0"),
-			STATS_SIMPLE_ENTRY("LostHealth", "Health lost during the fights", "0"),
-			STATS_SIMPLE_ENTRY("MagsFound", "Extra ammo magazines found", "0"),
-			STATS_SIMPLE_ENTRY("EggsFound", "Easter Eggs Discovered", "0"),
-			STATS_LISTEND
-		},
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("GRADE_A_STUDENT", "Grade A Student", "Complete all Center 7 Exams without any strikes"),
-			ACHIEVEMENT_SIMPLE_ENTRY("MEMENTOS", "Mementos", "Find all 6 hidden notes in Center 7"),
-			ACHIEVEMENT_SIMPLE_ENTRY("GOLDEN_GUN", "Golden Gun", "Complete all fights without losing any health"),
-			ACHIEVEMENT_SIMPLE_ENTRY("SCAVENGER", "Scavenger", "Find all 3 extra ammo magazines"),
-			ACHIEVEMENT_SIMPLE_ENTRY("SPACE_COWBOY", "Space Cowboy", "Find all 4 hidden Easter Egg Characters"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DIPLOMACY", "Diplomacy", "Evade the Boryokudan rather than fight them"),
-			ACHIEVEMENT_SIMPLE_ENTRY("STAIR_MASTER", "Stair master", "Take the stairs instead of the elevator"),
-			ACHIEVEMENT_SIMPLE_ENTRY("GOOD_SAMARITAN", "Good Samaritan", "Heal the fellow Man on Barracus"),
-			ACHIEVEMENT_SIMPLE_ENTRY("RESEARCH_PAPER", "Research Paper", "Find all Database Articles"),
-			ACHIEVEMENT_SIMPLE_ENTRY("GREAT_ESCAPE", "The Great Escape", "Escape Center 7 without losing any health"),
-			ACHIEVEMENT_SIMPLE_ENTRY("MEMORIES", "Memories", "Access the Memory Database in the Director\xe2\x80\x99s Office in Center 7"),
-			ACHIEVEMENT_SIMPLE_ENTRY("GEMINIS", "Geminis", "Be able to control both Azriel & Delta-Six"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HARD_COPY", "Give me a Hard Copy", "Analyze a photo using the terminal"),
-			ACHIEVEMENT_SIMPLE_ENTRY("RUE_DAY", "Rue the Day", "Complete the game once"),
-			ACHIEVEMENT_SIMPLE_ENTRY("RUE_COMMENTARY", "Rue the Commentary", "Complete the game once in Commentary mode"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"goldenwake",
-		Common::STEAM_ACHIEVEMENTS,
-		"307570",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("SUPERSALESMAN", "Super Salesman", "You were able to persuade everyone without using Seller Intuition."),
-			ACHIEVEMENT_SIMPLE_ENTRY("SALESMAN", "Salesman", "You were able to persuade one person without using Seller Intuition."),
-			ACHIEVEMENT_SIMPLE_ENTRY("DARWINAWARD", "Darwin Award", "You just improved the gene pool"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HISTORYREPEATING", "History Repeating", "Die the way your descendant might"),
-			ACHIEVEMENT_SIMPLE_ENTRY("SMOOTHCRIMINAL", "Smooth Criminal", "You really know how to cover your tracks."),
-			ACHIEVEMENT_SIMPLE_ENTRY("FILTHYANIMAL", "Filthy Animal", "You forgot your cookies..."),
-			ACHIEVEMENT_SIMPLE_ENTRY("LOGICKING", "Logic King", "You solved the land auction puzzle without hints"),
-			ACHIEVEMENT_SIMPLE_ENTRY("GREATCOMMONER", "Great Commoner", "A little celebrity endorsement is never a bad thing."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ENDSALESMAN", "End of a Salesman", "You finished the game"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ROBBRO", "Do You Even Rob, Bro?", "His bark was much worse than his bite."),
-			ACHIEVEMENT_SIMPLE_ENTRY("LAZYBUM", "Lazy Bum", "If only all sales were this easy."),
-			ACHIEVEMENT_SIMPLE_ENTRY("TOUPEE", "You're Going Toupee For That", "You've got a bright future ahead of you as a common thug!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("OHMYGUARD", "Oh My Guard", "You haven't lost your touch"),
-			ACHIEVEMENT_SIMPLE_ENTRY("BROTHERLYLOVE", "Brotherly Love", "Beau showed up at a special event"),
-			ACHIEVEMENT_SIMPLE_ENTRY("LEARNSOMETHING", "You Might Learn Something", "Played the game with commentary on"),
-			ACHIEVEMENT_SIMPLE_ENTRY("GOODGUY", "Good Guy", "You remained above negative influence."),
-			ACHIEVEMENT_SIMPLE_ENTRY("RELICS", "Relics Of The Present", "What's he doing here?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("PROFESSIONAL", "Professional Poisoner", "You managed to survive in Havana without arousing suspicion."),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"guardduty",
-		Common::STEAM_ACHIEVEMENTS,
-		"872750",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_KICKED_OUT", "Airborne", "Get kicked out of the Castle"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_FROG_KISS", "Pucker Up", "Girtrude finds a new friend"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_GIVE_COIN", "Assassin's Greed"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_GET_DRESSED", "Suited And Booted", "Find a quiet place to get dressed"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_ACT_ONE", "Royal Blood", "Deliver the news to King Theodore"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_GET_BOOK", "Wicked Words", "A book bound with flesh"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_TRANS_BOOK", "Speak In Tongues", "Translate the creepy book"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_GET_PHOTO", "Photo Op", "Successfully snap a photo"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_GET_DLC", "Papers, Please", "Get the Wildlands DLC"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_BREAK_CATAPULT", "Mind The Gap", "Fail to make it across the Elder Scar"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_KILL_SPIDER", "Two Birds", "Deal with the Spider"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_RETURN_PAINT", "Special Delivery"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_LANDING_SPOT", "New Lands", "Venture North, beyond the Scar"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_BURIAL_DOOR", "Open Sesame", "Find a way to open the door"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_ACT_THREE", "Guardian Duty"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_CUT_ARM", "Armed And Dangerous", "Insult to injury"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_NEW_HAVEN", "Against All Odds", "Never give up"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_VOID_OF_SPACE", "???", "Something amiss"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_MEET_TONDBERT", "Two Of A Kind"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_KILL_MAGE", "Turn Up The Heat"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"herdiscoming",
-		Common::STEAM_ACHIEVEMENTS,
-		"1028740",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH1", "Amateur Enhancer", "Enhance a weapon to +3."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH2", "Pro Enhancer", "Enhance a weapon to +5."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH3", "Master Enhancer", "Enhance a weapon to +7."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH4", "Amateur Enhancer 2", "Enhance any armor to +3."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH5", "Pro Enhancer 2", "Enhance any armor to +5."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH6", "Master Enhancer 2", "Enhance any armor to +7."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH7", "Delicious Soup", "Cook Zombie Brain Soup on the stove."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH8", "Yummy Salami", "Cook a Zombie Salami on the stove."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH9", "Tasty Kokorech", "Cook a Zombie Kokorech on the stove."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH10", "First Survivor", "Bring a survivor to the shelter for the first time."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH11", "First Upgrade", "Upgrade a component of the shelter for the first time."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH12", "Zombie Slayer", "Kill 50 zombies."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH13", "Zombie Slaughterer", "Kill 200 zombies."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH14", "Zombie Extinctioner", "Kill 500 zombies."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH15", "Crusher Killer", "Kill a Crusher."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH16", "Reaper Killer", "Kill a Reaper."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH17", "Sergeant", "Reach Level 5."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH18", "Lieutenant", "Reach Level 10."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH19", "Colonel", "Reach Level 20."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH20", "General", "Reach Level 35."),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"heroinesquest",
-		Common::STEAM_ACHIEVEMENTS,
-		"283880",
-		{
-			STATS_SIMPLE_ENTRY("scoreWar", "Warrior Score", "0"),
-			STATS_SIMPLE_ENTRY("scoreSor", "Sorceress Score", "0"),
-			STATS_SIMPLE_ENTRY("scoreRog", "Rogue Score", "0"),
-			STATS_SIMPLE_ENTRY("battles", "Battles Won", "0"),
-			STATS_SIMPLE_ENTRY("gold", "Gold Collected", "0"),
-			STATS_SIMPLE_ENTRY("days", "Days Played", "0"),
-			STATS_SIMPLE_ENTRY("endCount", "Games Won", "0"),
-			STATS_SIMPLE_ENTRY("endTime", "Fastest Completion", "999"),
-			STATS_SIMPLE_ENTRY("endHonor", "Highest Honor", "0"),
-			STATS_SIMPLE_ENTRY("bonesTime", "Best Bones Time", "999"),
-			STATS_LISTEND
-		},
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ01", "So You Want To Be A Heroine", "Find your first food"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ02", "Apprentice Warrior", "Reach chapter 2 as warrior"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ03", "Adept Warrior", "Reach chapter 3 as warrior"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ04", "Master Warrior", "Reach chapter 4 as warrior"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ05", "Legendary Warrior", "Complete the game as warrior"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ06", "Paladin", "Obtain Balmung"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ07", "Ultimate Warrior", "Reach maximum score as warrior"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ08", "Apprentice Sorceress", "Reach chapter 2 as sorceress"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ09", "Adept Sorceress", "Reach chapter 3 as sorceress"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ10", "Master Sorceress", "Reach chapter 4 as sorceress"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ11", "Legendary Sorceress", "Complete the game as sorceress"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ12", "Archmage", "Learn the lightning bolt spell"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ13", "Ultimate Sorceress", "Reach maximum score as sorceress"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ14", "Apprentice Rogue", "Reach chapter 2 as rogue"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ15", "Adept Rogue", "Reach chapter 3 as rogue"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ16", "Master Rogue", "Reach chapter 4 as rogue"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ17", "Legendary Rogue", "Complete the game as rogue"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ18", "Loki's Trickster", "Deal with violent situations without using violence"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ19", "Ultimate Rogue", "Reach maximum score as rogue"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ20", "Jack of All Trades", "Complete the game with all three classes"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ21", "Grandmaster Heroine", "Play the entire game on hardest difficulty"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ22", "Hurried Heroine", "Complete the game within one week"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ23", "Paragon Heroine", "Complete the game with 100 honor"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ24", "Dirty Rotten Scoundrel", "Complete the game with less than 10 honor"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ25", "My Kung Fu is Stronger", "Prove yourself a better guardian than Sigurd"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ26", "Wiser than the Wizard", "Prove yourself a better guardian than Aurvandel"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ27", "Cutting Corners", "Steal a quest reward without doing the quest"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ29", "Bronze Medal", "Win an easy victory in the Test of Fate"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ30", "Silver Medal", "Win a moderate victory in the Test of Fate"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ31", "Gold Medal", "Win a difficult victory in the Test of Fate"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ32", "What a Workout!", "Maximize your primary stats"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ36", "Trial by Fire", "Defeat Surtr"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ37", "Wages of War", "Win the battle for Munarvagir"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ38", "Shadows of Darkness", "Deliver the svartalf crystal"),
-			ACHIEVEMENT_HIDDEN_ENTRY("HQ39", "Braugging Rights"),
-			ACHIEVEMENT_HIDDEN_ENTRY("HQ41", "Your Bloom is at Hand!"),
-			ACHIEVEMENT_HIDDEN_ENTRY("HQ42", "Where it All Began"),
-			ACHIEVEMENT_HIDDEN_ENTRY("HQ43", "A POIsonous Achievement!"),
-			ACHIEVEMENT_HIDDEN_ENTRY("HQ44", "Most IMPressive"),
-			ACHIEVEMENT_HIDDEN_ENTRY("HQ45", "In Loving Memory"),
-			ACHIEVEMENT_HIDDEN_ENTRY("HQ46", "Home is where the Heart Lies"),
-			ACHIEVEMENT_HIDDEN_ENTRY("HQ47", "Another Head Hangs Lowly"),
-			ACHIEVEMENT_HIDDEN_ENTRY("HQ48", "Wi n0t trei a h0liday in Sweden this yer?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HQ49", "Menace to Society", "Spend your life in jail"),
-			ACHIEVEMENT_HIDDEN_ENTRY("HQ53", "Don't Lose Your Head"),
-			ACHIEVEMENT_HIDDEN_ENTRY("HQ52", "Dark and Troubled"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"justignorethem",
-		Common::STEAM_ACHIEVEMENTS,
-		"561770",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_MYST_PHOTO", "Mysterious Photo", "A photo can catch a moment in time?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_1000_PHOTO", "A Photo Can Tell A Thousand Words", "An empty frame tells a million."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_SURPRISE", "I Don't Like Surprises", "Wrong closet."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_GLASS_DOOR", "I Better Stay Inside", "Besides, it's too cold out."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_TOILET", "I Don't Really Need To Go", "I think I'll hold it."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_THEYRE_HERE", "They're Here", "The tv people."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_SELFIE", "But First, Let Me Take Uh...", "Selfie?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_BAD_DREAM", "This Is All A Bad Dream", "I hope."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_YOU_TOLD", "*Gasp* You Told!", "Why the hell did you do that for?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_DAYFIELD", "Welcome To Dayfield Motel", "Enjoy your stay!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_PEEPING_TOM", "Mind Your Own Business!", "No one likes a peeping tom."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_INTERESTING_CONCEPT", "Interesting Concept!", "No problem."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_POSTER", "Nice! Uh...Poster", "He's got a good taste in...posters."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_BEKIND_REWIND", "Be Kind Rewind.", "Our customers would appreciate it."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_WRONG_FOOTAGE", "Tainted Footage", "Do not watch this tape."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_WHOOPS", "Sorry To Barge In!", "Uh...I'll come back later."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_LOVESICK", "Feeling Lovesick?", "Or is it just gas?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_MELONS", "Get It?", "8-bit...never mind -_-"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_BEER", "Drink Your Sorrows Away", "Whatsa Madder?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_SPINE_EATER", "Are You Afraid?", "You should be."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_KOPIKAT", "Stop Copying Me!", "I should take his picture."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_SHOOT_MARK", "Dinner Reservation For 2", "Do you trust him?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_SHOOT_NEASON", "I Shot The Sheriff", "But I did not shoot the deputy."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_FEAR_OF_FLYING", "Fear Of Flying", "Especially if you have to fly the plane!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_SUBWAY", "I Hate The Subway", "Are we there yet?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_DECISION", "Is This The Right Thing To Do?", "I'm not so sure."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_NOOKIE", "Lust", "Can be the darkest of temptations"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_KISS_FROM_A_ROSE", "Kiss From A Black Rose", "Something has unlocked?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_WRONG", "Ha Ha! Wrong!", "But, It said it was right!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_TAPE_RECORDER", "A Tape Recorder?", "Guess I'll need to find some tapes"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_LOVE_POTION", "The Love Potion", "For your deepest desires."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_MOMMY", "Mom?", "Bad Ending."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_MASSACRE", "Dad?", "Good Ending."),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"kathyrain",
-		Common::STEAM_ACHIEVEMENTS,
-		"370910",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("FinishDayOne", "Get on the Katmobile", "Finished day one"),
-			ACHIEVEMENT_SIMPLE_ENTRY("FinishDayTwo", "Wow, they're hypnotic...", "Finished day two"),
-			ACHIEVEMENT_SIMPLE_ENTRY("FinishDayThree", "We've met before, haven't we?", "Finished day three"),
-			ACHIEVEMENT_SIMPLE_ENTRY("FinishDayFour", "Down the rabbit hole", "Finished day four"),
-			ACHIEVEMENT_SIMPLE_ENTRY("FinishGame", "Been there, done that", "Finished the game"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Procrastinator", "Procrastinator"),
-			ACHIEVEMENT_HIDDEN_ENTRY("EnjoyingTheScenery", "Enjoying the scenery"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Hotwheels", "Hotwheels"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Aww", "Aaw!"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Undateable", "Undateable"),
-			ACHIEVEMENT_HIDDEN_ENTRY("MrBear", "Mr. Bear, reporting for duty!"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Nocturnal", "Nocturnal"),
-			ACHIEVEMENT_HIDDEN_ENTRY("HowYouDoing", "How YOU doing?"),
-			ACHIEVEMENT_HIDDEN_ENTRY("RestingScowlyFace", "Resting scowly face"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Pyromaniac", "Pyromaniac"),
-			ACHIEVEMENT_HIDDEN_ENTRY("PassiveSmoking", "Passive smoking"),
-			ACHIEVEMENT_HIDDEN_ENTRY("FilmBuff", "Film buff"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Heretic", "Heretic"),
-			ACHIEVEMENT_HIDDEN_ENTRY("TriggerHappy", "Trigger happy"),
-			ACHIEVEMENT_HIDDEN_ENTRY("HookedOnCorleys", "Hooked on Corleys"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"killyourself",
-		Common::STEAM_ACHIEVEMENTS,
-		"1251910",
-		{
-			STATS_SIMPLE_ENTRY("book_read", "Book entries read", "0"),
-			STATS_SIMPLE_ENTRY("num_steps", "Steps taken", "0"),
-			STATS_LISTEND
-		},
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_0", "I believe I can fly", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_1", "Dead tired", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_2", "Strike!", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_3", "I'm shocked", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_4", "Hang in there", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_5", "Death from above", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_6", "Vaccines cause autism", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_7", "To bee or not to bee", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_8", "Burn baby burn", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_9", "Mr. Bay is full of s**t", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_10", "A warm toast", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_11", "Vive la r\xe9volution", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_12", "Big Pharma's revenge", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_13", "Instant diet", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_14", "Caution, wet floor", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_15", "That's no toaster", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_16", "Pretty ironic", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_17", "We'll die eventually", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_18", "The amazing spider-death", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_19", "Under the sea", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_20", "Acid rain", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_21", "Frank Grimes", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_22", "The last meal", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_23", "Beauty killed the beast", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_24", "Scared of clowns", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_25", "I'm freezing", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_26", "A sporadic event", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_27", "I believe I can fry", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_28", "Backfire", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEATH_29", "I prefer the touchpad", "Solve the corresponding ending"),
-			ACHIEVEMENT_SIMPLE_ENTRY("AVID_READER", "Bookworm", "Read all the book entries"),
-			ACHIEVEMENT_SIMPLE_ENTRY("TUTORIAL", "For dummies", "Complete the tutorial"),
-			ACHIEVEMENT_SIMPLE_ENTRY("CREDITS", "Pleasantly understated credit sequence", "Watch the credits til the end"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HEAD_BUMP", "Mind your head", "Bump your head in a non-lethal manner"),
-			ACHIEVEMENT_HIDDEN_ENTRY("LETTERS", "Secret admirer"),
-			ACHIEVEMENT_HIDDEN_ENTRY("FLAMETHROWER", "Hank Scorpio"),
-			ACHIEVEMENT_SIMPLE_ENTRY("100_METERS", "Couch potato", "Walk 100 meters"),
-			ACHIEVEMENT_SIMPLE_ENTRY("500_METERS", "Mildly active", "Walk 500 meters"),
-			ACHIEVEMENT_SIMPLE_ENTRY("1500_METERS", "Fitness is a lifestyle", "Walk 1500 meters"),
-			ACHIEVEMENT_SIMPLE_ENTRY("5000_METERS", "Runner's high", "Walk 5 kilometers"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NECKTIE", "Fashion police", "Rip and burn the necktie"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ANIMAL_HATER", "Angel of death", "Kill all living things in a single game"),
-			ACHIEVEMENT_SIMPLE_ENTRY("REPEAT_DEATHS", "Sadistic player", "Repeat at least one death"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"lamplightcity",
-		Common::STEAM_ACHIEVEMENTS,
-		"761460",
-		{
-			STATS_NODESC_ENTRY("TROPHIES", "0"),
-			STATS_LISTEND
-		},
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("RINGMYBELL", "Ring My Bell", "You're so annoying"),
-			ACHIEVEMENT_SIMPLE_ENTRY("MANOFWORD", "Man Of Your Word", "Kept your promise to Mrs. Hanbrook"),
-			ACHIEVEMENT_SIMPLE_ENTRY("BOBBIN", "I'm Bobbin, Are You My Mother?", "Played a familiar melody"),
-			ACHIEVEMENT_SIMPLE_ENTRY("VOODOO", "What Can You Tell Me About...Voodoo?", "Got kicked out of Sabine Martin's apartment"),
-			ACHIEVEMENT_SIMPLE_ENTRY("POEMS", "Don't Quit Your Day Job", "Read Madame DuPr\xe9""e's poems"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ALBERT", "Occam's Razor"),
-			ACHIEVEMENT_HIDDEN_ENTRY("JULIETTE", "These Violent Delights..."),
-			ACHIEVEMENT_HIDDEN_ENTRY("GUYDUMAS", "He's Your Guy"),
-			ACHIEVEMENT_HIDDEN_ENTRY("DUPREE", "Devil Incarnate"),
-			ACHIEVEMENT_SIMPLE_ENTRY("BOILER", "Repairman", "Fixed the boiler without any help"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ROLAND", "Egotistical", "Spoke with Roland Deveraux"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DOLLS", "Not What It Looks Like", "Learned about Mrs. Davis's hobby"),
-			ACHIEVEMENT_HIDDEN_ENTRY("MALCOLM", "Don't Bet On It"),
-			ACHIEVEMENT_HIDDEN_ENTRY("DEVINS", "Methinks He Doth Protest Too Much"),
-			ACHIEVEMENT_HIDDEN_ENTRY("WALKER", "It's A Boy, Mrs. Walker, It's A Boy"),
-			ACHIEVEMENT_HIDDEN_ENTRY("TRAIN", "Wrong Side Of The Tracks"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ASHES", "Total Ash-hole", "Showed Desiree's ashes to someone who wasn't Dr. Edwards"),
-			ACHIEVEMENT_SIMPLE_ENTRY("SNEEZE", "Bless You", "Tricked Jonas Usher"),
-			ACHIEVEMENT_SIMPLE_ENTRY("MUSIC", "Broadening Horizons", "Gave Charlotte Robineaux a music lesson"),
-			ACHIEVEMENT_HIDDEN_ENTRY("COMBUSTION", "Supernatural"),
-			ACHIEVEMENT_HIDDEN_ENTRY("DEVAY", "The Art Of Murder"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ANDREWS", "Totally Nuts"),
-			ACHIEVEMENT_SIMPLE_ENTRY("STORYTELLER", "Storyteller", "Told Patrick a story"),
-			ACHIEVEMENT_SIMPLE_ENTRY("VOTE", "Civic Duty", "You voted!"),
-			ACHIEVEMENT_HIDDEN_ENTRY("COOPING", "Flew The Coop"),
-			ACHIEVEMENT_HIDDEN_ENTRY("JIMBO", "Jilted Lover"),
-			ACHIEVEMENT_HIDDEN_ENTRY("PUFFIN", "Mistaken Identity"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEADMEN", "Down Among The Dead Men", "Sang a popular drinking song"),
-			ACHIEVEMENT_HIDDEN_ENTRY("JUMP", "Getting The Jump"),
-			ACHIEVEMENT_SIMPLE_ENTRY("MODELHUSBAND", "Model Husband", "Told Adelaide the truth"),
-			ACHIEVEMENT_SIMPLE_ENTRY("MAXWELL", "A Kind Ear", "Told Angela Maxwell about your problems"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ASYLUM", "Room With A View"),
-			ACHIEVEMENT_HIDDEN_ENTRY("JAIL", "Do Not Pass Go"),
-			ACHIEVEMENT_SIMPLE_ENTRY("UNSOLVABLE", "Dead End", "Declared a case unsolvable"),
-			ACHIEVEMENT_SIMPLE_ENTRY("BOOKWORM", "Bookworm", "Read every book in the game"),
-			ACHIEVEMENT_SIMPLE_ENTRY("THOROUGH", "Thorough", "Found every single clue and document in the game"),
-			ACHIEVEMENT_SIMPLE_ENTRY("COMPLETEGAME", "Enlightened", "Completed the game"),
-			ACHIEVEMENT_HIDDEN_ENTRY("FORGOT", "I Forgot It Was There"),
-			ACHIEVEMENT_SIMPLE_ENTRY("PERFECT", "Perfect Run", "Correctly solved every case"),
-			ACHIEVEMENT_SIMPLE_ENTRY("JOKE", "Inside Joke", "Every friendship has one"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NOSY", "Nosy", "Eavesdropped on every conversation"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"legendofhand",
-		Common::STEAM_ACHIEVEMENTS,
-		"595560",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("MorningRoutine", "Morning Routine", "You've completed your morning exercises"),
-			ACHIEVEMENT_SIMPLE_ENTRY("MansBestFriend", "Man's Best Friend", "Green Island, green dog!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ChickenChaser", "Chicken Chaser", "You've caught yourself a chicken!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("CongeeKing", "Congee King", "You've cooked a delicious dish!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ThePuppetMaster", "The Puppet Master", "A passable puppet."),
-			ACHIEVEMENT_SIMPLE_ENTRY("LordOfTheDyes", "Lord of the Dyes", "A certain shade of rouge."),
-			ACHIEVEMENT_SIMPLE_ENTRY("DextrousFingers", "Dextrous Fingers", "You've successfully tickled a fish!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("TheGambler", "The Gambler", "Don't get addicted!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("TrueBrawler", "True Brawler", "You've defeated Bo in a sparring match."),
-			ACHIEVEMENT_SIMPLE_ENTRY("FishFace", "Fish Face", "You've caught the mythical fish which bears the face of a man!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("FruitFan", "Fruit Fan", "You've eaten two fruits!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("EagleEye", "Eagle Eye", "You've spotted all the birds in the brochure!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DiscoDiva", "Disco Diva", "Apparently your dancing is so bad she had to leave!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Specialist", "Specialist", "You've collected all the Specials!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Pervert", "Pervert", "You probably shouldn't have touched those!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("GrowAPair", "Grow a pair!", "You've taken on the Eunuch on his own patch!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("LairOfTheBear", "Lair of the Bear", "You've found Howgrundi's lair."),
-			ACHIEVEMENT_HIDDEN_ENTRY("Destiny", "Destiny"),
-			ACHIEVEMENT_SIMPLE_ENTRY("PennyForThePoor", "Penny for the Poor", "Your generosity to the poor folk of Red Island has been noted."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NoseyParker", "Nosey Parker", "You've discovered some island intrigue, but it's none of your business!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("BigFish", "Big Fish", "You've caught a 400lb+ tuna!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("FreedomFighter", "Freedom Fighter", "You freed Grawol from jail."),
-			ACHIEVEMENT_SIMPLE_ENTRY("RedHotReaction", "Red Hot Reaction!", "You hit every single apple!"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Traveller", "Traveller of the Five Islands"),
-			ACHIEVEMENT_SIMPLE_ENTRY("PosterBoy", "Poster Boy", "You secured a new career for Jona!"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"mage",
-		Common::STEAM_ACHIEVEMENTS,
-		"270610",
-		{
-			STATS_SIMPLE_ENTRY("DEFEATED_BACKERS", "Defeated Backers", "0"),
-			STATS_SIMPLE_ENTRY("HOW_MANY_DRINKS", "How Many Drinks", "0"),
-			STATS_SIMPLE_ENTRY("MUSHROOM_COUNT", "Mushroom Count", "0"),
-			STATS_SIMPLE_ENTRY("ENEMY_TYPES_KILLED", "Enemy Types Killed", "0"),
-			STATS_SIMPLE_ENTRY("KILL_COUNT", "Kill Count", "0"),
-			STATS_SIMPLE_ENTRY("WAFE_FIRE_POINTS", "WAFE Fire Points", "0"),
-			STATS_SIMPLE_ENTRY("WAFE_AIR_POINTS", "WAFE Air Points", "0"),
-			STATS_SIMPLE_ENTRY("WAFE_WATER_POINTS", "WAFE Water Points", "0"),
-			STATS_SIMPLE_ENTRY("WAFE_EARTH_POINTS", "WAFE Earth Points", "0"),
-			STATS_SIMPLE_ENTRY("ELEPORTED_LOCATIONS", "Ele'ported Locations", "0"),
-			STATS_SIMPLE_ENTRY("READ_COUNT", "Read Count", "0"),
-			STATS_SIMPLE_ENTRY("HOW_MANY_CLASSES", "How Many Classes", "0"),
-			STATS_SIMPLE_ENTRY("HOW_MANY_SIDEQUESTS", "How Many Sidequests", "0"),
-			STATS_SIMPLE_ENTRY("TEAR_GEMS_COLLECTED", "Tear Gems Collected", "0"),
-			STATS_SIMPLE_ENTRY("KILL_COUNT50", "Kill Count", "0"),
-			STATS_SIMPLE_ENTRY("KILL_COUNT100", "Kill Count", "0"),
-			STATS_SIMPLE_ENTRY("KILL_COUNT500", "Kill Count", "0"),
-			STATS_LISTEND
-		},
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("DABBLING", "Dabbling", "Earn your first spells from the Sphere of Knowledge."),
-			ACHIEVEMENT_SIMPLE_ENTRY("BACK_OFF_BACKERS", "Back Off Backers", "Beat both Mage sparring partners."),
-			ACHIEVEMENT_SIMPLE_ENTRY("YOU_KNOW_YOUR_LIQUOR", "You Know Your Liquor", "Acquire one of each drink type at the tavern."),
-			ACHIEVEMENT_SIMPLE_ENTRY("WHAT_RIVER_CARD", "What River Card?", "Win a hand of Demon's Deal."),
-			ACHIEVEMENT_SIMPLE_ENTRY("CARD_SHARK", "Card Shark", "Win the maximum number of Demon's Deal rounds."),
-			ACHIEVEMENT_SIMPLE_ENTRY("LOVE_THOSE_SHROOMS", "Love Those 'Shrooms", "Pick all mushroom clusters in the forest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("MERCY_TRUMPS_MURDER", "Mercy Trumps Murder", "Spare a tainted life."),
-			ACHIEVEMENT_SIMPLE_ENTRY("YOURE_NO_MARMON", "You're No Marmon", "Complete the first trial."),
-			ACHIEVEMENT_SIMPLE_ENTRY("BACK_FOR_MORE", "Back For More", "Earn your second spells from the Sphere of Knowledge."),
-			ACHIEVEMENT_SIMPLE_ENTRY("I_GET_AROUND", "I Get Around", "Ele'port to each pillar stone location."),
-			ACHIEVEMENT_SIMPLE_ENTRY("GHOST_STORY", "Ghost Story", "Optimally complete the Fire side quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("THE_HEIST", "The Heist", "Optimally complete the Water side quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("GREEN_FIEND", "Green Fiend", "Optimally complete the Earth side quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("THE_AIR_UP_THERE", "The Air Up There", "Optimally complete the Air side quest."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NO_STONE_UNTURNED", "No Stone Unturned", "Complete all class-based side quests with optimal outcomes."),
-			ACHIEVEMENT_SIMPLE_ENTRY("HONORABLE", "Honorable", "Return a borrowed item."),
-			ACHIEVEMENT_SIMPLE_ENTRY("HANDLED_WITH_CARE", "Handled With Care", "No sacred avian was harmed."),
-			ACHIEVEMENT_SIMPLE_ENTRY("CLIMBED_EVERY_MOUNTAIN", "Climbed Every Mountain", "Complete the second trial."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NOW_YOURE_TALKING", "Now You're Talking", "Earn your third spells from the Sphere of Knowledge."),
-			ACHIEVEMENT_SIMPLE_ENTRY("DETECTIVE_DARC", "Detective D'arc", "Complete the severed circle story branch."),
-			ACHIEVEMENT_SIMPLE_ENTRY("DIVERSIFIED", "Diversified", "Kill one of each monster type."),
-			ACHIEVEMENT_SIMPLE_ENTRY("WELL_READ", "Well Read", "Find and read all books and notes."),
-			ACHIEVEMENT_SIMPLE_ENTRY("COLLECTOR", "Collector", "Find all three \"Tear\" class brooches."),
-			ACHIEVEMENT_SIMPLE_ENTRY("WHO_PUT_DA_LIGHTS_OUT", "Who Put Da Lights Out?", "Extinguish the Redcaps' camp fire."),
-			ACHIEVEMENT_SIMPLE_ENTRY("THANKS_BUT_NO_THANKS", "Thanks, But No Thanks", "Reject a dark deal."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ITS_NOT_EASY_BEING_GREEN", "It's Not Easy Being Green", "Make a red delivery to the Greencaps."),
-			ACHIEVEMENT_SIMPLE_ENTRY("IF_I_EVER_SEE_ANOTHER_GOBLIN", "If I Ever See Another Goblin...", "Complete the third trial."),
-			ACHIEVEMENT_SIMPLE_ENTRY("FRIEND_IN_NEED", "Friend in Need", "An ally survives."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ONE_MAN_BOMB_SQUAD", "One Man Bomb Squad", "Both allies survive."),
-			ACHIEVEMENT_SIMPLE_ENTRY("SHOWDOWN", "Showdown", "Defeat the Big Bad."),
-			ACHIEVEMENT_SIMPLE_ENTRY("MAXED_OUT", "Maxed Out", "Max out all your stats."),
-			ACHIEVEMENT_SIMPLE_ENTRY("YOU_MADE_YOUR_POINTS", "You Made Your Points", "Finish the game with max XP / score."),
-			ACHIEVEMENT_SIMPLE_ENTRY("INITIATED", "Initiated", "Complete the game."),
-			ACHIEVEMENT_SIMPLE_ENTRY("STAY_CLASSY", "Stay Classy", "Finish the game with all 4 classes."),
-			ACHIEVEMENT_SIMPLE_ENTRY("PACIFIST", "Pacifist", "Kill only the bosses (no regular monsters)."),
-			ACHIEVEMENT_SIMPLE_ENTRY("PYRO", "Pyro", "Earn all Fire class Bonus points."),
-			ACHIEVEMENT_SIMPLE_ENTRY("FLOOD_READY", "Flood Ready", "Earn all Water class Bonus points."),
-			ACHIEVEMENT_SIMPLE_ENTRY("GROUNDED", "Grounded", "Earn all Earth class Bonus points."),
-			ACHIEVEMENT_SIMPLE_ENTRY("UP_UP_AND_AWAY", "Up, Up, and Away", "Earn all Air class Bonus points."),
-			ACHIEVEMENT_SIMPLE_ENTRY("WHOS_COUNTING", "Who's Counting?", "Kill 50 enemies."),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEDICATED", "Dedicated", "Kill 100 enemies."),
-			ACHIEVEMENT_SIMPLE_ENTRY("INSATIABLE", "Insatiable", "Kill 500 enemies."),
-			ACHIEVEMENT_SIMPLE_ENTRY("APOCALYPTIC", "Apocalyptic", "Kill 1,000 enemies."),
-			ACHIEVEMENT_SIMPLE_ENTRY("DONT_NEED_NO_STINKIN_BUFFS", "Don't Need No Stinkin' Buffs", "Beat the game without equipping any extra gems or items (after the initial tutorial)."),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"metaldead",
-		Common::STEAM_ACHIEVEMENTS,
-		"302690",
-		NOSTATS,
-		{
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_01", "My First Time"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_02", "Soiled"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_03", "Got Head"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_04", "Clean Freak"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_05", "Anarchist's Cookbook"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_06", "Dendro-Infanticide"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_07", "Smoked"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_08", "Shrinkage"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_09", "Too Toasty"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_10", "Nice Shootin' Tex"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_11", "Elevator Proof"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_12", "Alone Time"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_13", "Smile"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"metaphobia",
-		Common::STEAM_ACHIEVEMENTS,
-		"1220930",
-		NOSTATS,
-		{
-			ACHIEVEMENT_HIDDEN_ENTRY("Have you seen this man?", "Have you seen this man?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Bookworm", "Bookworm", "Carl's words live on"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Ancient knowledge", "Ancient knowledge", "You clarified the secret of the ruins on one try"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Emases nepo", "Emases nepo", "You sorted out the dark cave puzzle on one try"),
-			ACHIEVEMENT_SIMPLE_ENTRY("What are these?", "What are these?", "You solved an other-worldly puzzle on one try"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Inevitable", "Inevitable", "A final outcome"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"neofeud",
-		Common::STEAM_ACHIEVEMENTS,
-		"673850",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_DEFEAT_SECURITY", "Robot Lives Matter", "Neutralize the AWOL security guard at Sentient Services"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_TERRESTRIAL_BLUES", "Terrestrial Blues", "Finish your Mount Everest of triplicate paperwork."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_SLUMSPRAWL_BEAT", "Slumsprawl Beat", "Locate the humanoid sentient robots, Todd and Suzette Silica"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_THE_ARCADE", "The Arcade", "Blast, talk, sneak, shoulder, or otherwise find a way into The Arcade"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_THE_CREATOR", "The Creator", "Investigate The Creator's lab for clues relating to unfortunate events"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_POWER_IS_POWER", "Power Is Power", "Utilize your Royal Benefactress against the Neofeudal aristocracy in the Stratoplex"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_RENEGADE_TIME_TRAVELLER", "Renegade Time Traveler", "Attempt to alter the space-time-consciousness continuum by warning a pivotal figure of his own end"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_NEOFEUDALISM", "Neofeudalism", "Shake all the right hands, do your princess wave, maybe give a speech about world peace"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_THE_MIND_OF_GOD", "The Mind Of God", "Unlock the Garden of Forking Paths"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_NOVUS_ORDO_SECLORUM", "Novus Ordo Seclorum", "Overthrow a Tyrant and have the Iconoclast Queen ascend to the Throne"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_POLICE_KILLJOY", "Police Killing Killjoy", "Stop the homicidal security guard without being killed"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_CYBERWARE_MASTER", "Ghetto Cyberware Master", "Repair Karl's cybernetic arm in under two minutes"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_MAJOR_MALFUNCTION", "Your Major Malfunction", "Trigger the Energenius Box's defenses and get yourself killed"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_BENEVOLENT", "Benevolent", "Answer \"No\" on the majority of the Silica's CPS investigation"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_IRON_FIST", "Iron Fist", "Answer \"Yes\" on the majority of the Silica's CPS investigation"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_DICKENSTONIAN", "Dickenstonian", "Give the right answers to Chopper and The Arcade's Bouncer the first time"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_ORWELLIAN", "Orwellian Slip", "A dystopian typo..."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_ION_CANNON", "Ion Cannon Fodder", "Piss Talos off till he redecorates the bar with Karl's internal organs"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_SIX_BILLION", "Six Billion Dollar Baller", "Get through The Arcade shootout without being killed once, or using saves beyond the start"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_SUPERPOSITION", "Superposition", "Activate the Garden of Forking Paths prototype in Goertzel's lab"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_ILLUMINATI", "Open Source Illuminati", "Drill down into the Neofuedal machinations with Sybil"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_WARZENNEGAR", "Sylvester Warzenneger", "Try to shoot down the Coch-Jobbs Overthrower and get yourself killed"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_OUTTA_KICKASS", "I'm All Outta Kick-Ass", "Hide when the Coch-Jobbs warcopter blasts Shuffler's office"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_BLADEWALKER", "Bladewalker", "Tail Jezebel without being caught once"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_TRUE_DETECTIVE", "True Detective", "Get all the facts right when explaining Dr. Goertzel's plot on the first try"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_HORUS_TALONS", "Horus' Talons", "Get the Superpositor destroyed by The Fulcrum Airforce"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_EVASIVE_MANEUVERS", "Evasive Maneuvers", "Evade The Fulcrum Airforce after the Superpositor has been detected"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_COUP_COUP", "Coup-Coup Clockwork", "Complete a conspiratorial plot to overthrow another conspiracy without being killed"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_DISTRUST", "Distrust That Particular Flavor", "Refuse to cut a deal with King Warren"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_ATONEMENT", "Atonement", "Give yourself up to King Warren and let your family live 'The Neofeudal Dream'"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_GHOSTERHEIST", "Ghosterheist", "Jailbreak out of the eugenics facility with help from a Ghost in the Machine"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_NO_FLAWS", "No Flaws In Paradise", "Don't make a single mistake in the final Throneroom showdown scene"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_TIME_TO_DIE", "Time To Die", "Get yourself killed in every way possible in Neofeud"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_DIEHARD", "Diehard, Bruce Willis", "Don't die a single time in Neofeud"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_TALKINATOR", "The Talkinator", "Start conversations with 60 different characters"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_REAL_POPO", "A Real Po-Po", "Examine 300 different things, items, or characters"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_GARDEN_FORK", "The Garden Of Forking Paths", "Complete the game, having gotten every other possible achievement in Neofeud"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"oott",
-		Common::STEAM_ACHIEVEMENTS,
-		"425600",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("tkc_TwoGirls", "He is Gnomor'", "The girls, Snow and Red, tried to save the gnome but alas, they failed."),
-			ACHIEVEMENT_SIMPLE_ENTRY("tkc_HighPriest", "High Priest", "The high priest hightailed it out of the Faerie Realm."),
-			ACHIEVEMENT_SIMPLE_ENTRY("tkc_Knight", "A Knight to Remember", "You've discovered Sir Gauen searching the swamp."),
-			ACHIEVEMENT_SIMPLE_ENTRY("tkc_Chucker", "Chucked It In", "Chucker has given up on his search for the Queen."),
-			ACHIEVEMENT_SIMPLE_ENTRY("tkc_Faolan", "Faolan's Story", "You now know the full story behind Faolan's defeat of Lord Sinister."),
-			ACHIEVEMENT_SIMPLE_ENTRY("tkc_Musical", "Musical Genius", "You've learned and played every song on hard mode."),
-			ACHIEVEMENT_SIMPLE_ENTRY("tkc_Honorable", "Honors Student", "You've read every memorial stone on the Isle of the Honored."),
-			ACHIEVEMENT_SIMPLE_ENTRY("tkc_PerfectMatch", "Perfect Match", "You brought Glenda and Ted together. True love."),
-			ACHIEVEMENT_SIMPLE_ENTRY("tkc_Troll", "Paid the Troll Toll", "Always pay off a troll with a treasure chest of gold!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("tkc_Berry", "Drops of Juniper", "You found a way past the angry tree and got yourself some Firienne berries."),
-			ACHIEVEMENT_SIMPLE_ENTRY("tkc_Swamped", "Swamped", "You've navigated the treacherous swamp and retrieved the pixies harp."),
-			ACHIEVEMENT_SIMPLE_ENTRY("tkc_Seer", "Seered to Perfection", "The Seer has revealed her secrets to you thanks to your unusual solution."),
-			ACHIEVEMENT_SIMPLE_ENTRY("tkc_Hello", "A Worthy Challenger", "You rescued the Queen and cast the spell in the final confrontation."),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"primordia",
-		Common::STEAM_ACHIEVEMENTS,
-		"227000",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("KEEPINGITREEL", "Keeping it reel", "Find the hidden tape deck"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEFRAGMENTED", "Defragmented", "Wake a slumbering giant"),
-			ACHIEVEMENT_SIMPLE_ENTRY("CALLMEDAVID", "Call me David", "Use brawn instead of brains"),
-			ACHIEVEMENT_SIMPLE_ENTRY("PEEPINGTOM", "Peeping tom", "Look at all the sensor coordinates"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ROBOMITZVAH", "Robotmitzvah", "Pass Ever-Faithful's test on the first try"),
-			ACHIEVEMENT_SIMPLE_ENTRY("KNOTCUTTER", "Knotcutter", "An easy solution to an impossible problem"),
-			ACHIEVEMENT_SIMPLE_ENTRY("WINGMAN", "Wingman", "Train Crispin for his big date"),
-			ACHIEVEMENT_SIMPLE_ENTRY("MULTITASKER", "Gear head", "Clean two gears using different methods"),
-			ACHIEVEMENT_SIMPLE_ENTRY("LAWYERHERO", "Lawyer robot hero", "Pass a legal test on the first try"),
-			ACHIEVEMENT_SIMPLE_ENTRY("KNOWITALL", "Know it all", "Find every entry in the information kiosk"),
-			ACHIEVEMENT_SIMPLE_ENTRY("GHOSTWHISPERER", "Ghost whisperer", "Find Memento Moribuilt"),
-			ACHIEVEMENT_SIMPLE_ENTRY("KEEPINGTHEFAITH", "KEEPINGTHEFAITH", "Help a lost pilgrim find his way"),
-			ACHIEVEMENT_SIMPLE_ENTRY("MELTEDHEART", "Melted heart", "Change Factotum's mind"),
-			ACHIEVEMENT_SIMPLE_ENTRY("THREEMUSKETEERS", "Three musketeers", "Reunite Surly Company"),
-			ACHIEVEMENT_SIMPLE_ENTRY("COURTING", "Gone courting", "Unlock the courthouse"),
-			ACHIEVEMENT_SIMPLE_ENTRY("CUSTARD", "Smells of rotten custard", "Unlock Horatio's past"),
-			ACHIEVEMENT_SIMPLE_ENTRY("OPENSESAME", "Open sesame", "Unlock the tower door, without outside help"),
-			ACHIEVEMENT_SIMPLE_ENTRY("MACHINA", "Machina ex Machina", "Get help from a new friend"),
-			ACHIEVEMENT_SIMPLE_ENTRY("SACRIFICE", "Sacrifice", "Victory at what cost?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("CHARGEDUP", "Charged up", "That hit the spot. But for how much longer?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEEDLE", "Needle in a haystack", "Use technology to do the impossible"),
-			ACHIEVEMENT_SIMPLE_ENTRY("SCRAPER", "I told you to stop", "Stop Scraper once and for all"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NOTBLUFFING", "Not bluffing", "She pushed you too far"),
-			ACHIEVEMENT_SIMPLE_ENTRY("TOOMUCHPOWER", "Too much power", "Resort to blackmail, and emerge the victor"),
-			ACHIEVEMENT_SIMPLE_ENTRY("THANATOS", "Thanatos", "Fulfill your true mission"),
-			ACHIEVEMENT_SIMPLE_ENTRY("FLY", "I always wanted to fly. . .", "Take a leap of faith"),
-			ACHIEVEMENT_SIMPLE_ENTRY("FUTILE", "Resistance is futile", "Join your foe for the greater good"),
-			ACHIEVEMENT_SIMPLE_ENTRY("LIVEFREE", "Live free or die", "Stay true to yourself"),
-			ACHIEVEMENT_SIMPLE_ENTRY("TOGETHER", "We're all in this together", "Finish the game with all possible robots."),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"qfi",
-		Common::STEAM_ACHIEVEMENTS,
-		"264560",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("qfi_act1", "Act 1", "You've finished Act 1 of Quest for Infamy. Hooray!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("qfi_act2", "Act 2", "No more working for Rayford!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("qfi_act3", "Act 3", "You Win!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("qfi_rogue", "You Sneaky Bastard", "You're a Rogue."),
-			ACHIEVEMENT_SIMPLE_ENTRY("qfi_brigand", "Basher", "You're a Brigand."),
-			ACHIEVEMENT_SIMPLE_ENTRY("qfi_sorcerer", "Hocus Pocus", "You're a Sorcerer."),
-			ACHIEVEMENT_SIMPLE_ENTRY("qfi_working", "Working for the Man", "You helped out around the docks of Tyr. For Money."),
-			ACHIEVEMENT_SIMPLE_ENTRY("qfi_monsters", "Simply the Best", "You defeated every random monster in the Valley of Krasna."),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_swamp", "Let there be Light"),
-			ACHIEVEMENT_SIMPLE_ENTRY("qfi_boardgame", "Puzzles are Hard!", "You defeated the puzzle board."),
-			ACHIEVEMENT_SIMPLE_ENTRY("qfi_unpicker", "The Great Unpicker", "You opened the lock. It really wasn't that hard was it?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("qfi_archery", "Perfect!", "You achieved a perfect score in archery."),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_voleris", "Staked Your Claim"),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_tent", "Pitched Your Tent"),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_pisshead", "Pisshead"),
-			ACHIEVEMENT_SIMPLE_ENTRY("qfi_healer", "Thankfully there's a healer nearby", "You thought you were dead for a moment there, but you woke up in Jerrod's feeling much better."),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_useless", "Collector of Useless Crap"),
-			ACHIEVEMENT_SIMPLE_ENTRY("qfi_sorcerer2", "Pretty Good Sorcerer", "You mastered your spells to a pretty good level. At least they're more powerful now."),
-			ACHIEVEMENT_SIMPLE_ENTRY("qfi_sorcerer3", "Kick-Ass Sorcerer", "You maxed out your spells! You really kick some ass."),
-			ACHIEVEMENT_SIMPLE_ENTRY("qfi_minmax", "Min / Maxed", "You raised your combat skills to 100. That took a lot of effort so, really, well done you."),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_coned", "You Got Coned"),
-			ACHIEVEMENT_SIMPLE_ENTRY("qfi_beastmaster", "Beast Master", "You killed the beast. Her name was Johanna if you wanted to know."),
-			ACHIEVEMENT_SIMPLE_ENTRY("qfi_chatalot", "Sir Chat-A-Lot", "You talked with everyone in Volksville you needed to speak with to progress to the execution."),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_clockwatcher", "Clock Watcher"),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_burn", "Burn Baby Burn"),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_gorthdead", "He Deserved It"),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_gorthmercy", "Toast of the Town"),
-			ACHIEVEMENT_SIMPLE_ENTRY("qfi_thievesden", "You Found It", "You found the thieves den while travelling the Rogue's path."),
-			ACHIEVEMENT_SIMPLE_ENTRY("qfi_sorcereritems", "That's a lot of stuff", "You found and created all the magic spells for Prospero while travelling the Sorcerer's path."),
-			ACHIEVEMENT_SIMPLE_ENTRY("qfi_horse", "Horse Lover", "You found and delivered mastadon to Kurdt, your first real task on the path of the Brigand."),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_apple", "Over an apple?"),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_seal", "Reuniting the Seal"),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_japsworth", "Good Old Stories"),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_reading", "Reading is fundamental"),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_payhunter", "Paying for information"),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_feedhunter", "Paying with food"),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_assistant", "He dropped the moonshine!"),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_shaking", "Stop Shaking Me"),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_destroymoonshiner", "Break, Rattle and Roll"),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_slaver", "A Regular Wilberforce"),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_robes", "Green is the new white"),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_sewers", "Sewer Rat"),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_uotarragh", "What's his name again?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("qfi_blackbird", "Blackbird No Longer Singing", "You stole the bird while travelling the path of the Rogue."),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_necromancer", "It's not easy being green"),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_kraken", "Kraken Good Times"),
-			ACHIEVEMENT_SIMPLE_ENTRY("qfi_dwarf", "You look like a dwarf", "You looted every available container, drum and stash in the mines."),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_ambusheasy", "You picked ... the easy way"),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_ambushhard", "You picked ... the hard way"),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_bigd", "I know the way"),
-			ACHIEVEMENT_SIMPLE_ENTRY("qfi_thiefhouses", "Expert Thief", "You broke into all the houses you could."),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_paw", "Poor Paw"),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_jan", "Jan loves you"),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_arrows", "An Arrow through your heart"),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_paladin", "A Paladin loves you"),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_council", "Friends in high places"),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_smoked", "Smoked!"),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_rayfordkill", "That bastard deserved worse!"),
-			ACHIEVEMENT_HIDDEN_ENTRY("qfi_rayfordjan", "Don't mess with a fat man"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"resonance",
-		Common::STEAM_ACHIEVEMENTS,
-		"212050",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("THATWENTWELL", "That went well", "Talk to that nice girl on the subway"),
-			ACHIEVEMENT_SIMPLE_ENTRY("MIRRORMASTER", "Mirror Master", "Grow some eyes in the back of your head"),
-			ACHIEVEMENT_SIMPLE_ENTRY("GOTTAHIDE", "Gotta hide", "Escape a nightmare"),
-			ACHIEVEMENT_SIMPLE_ENTRY("GETTHESCOOP", "Get the scoop", "The pulitzer is in the bag"),
-			ACHIEVEMENT_SIMPLE_ENTRY("JUSTBECAUSE", "Just because", "Ray's kind of a jerk"),
-			ACHIEVEMENT_SIMPLE_ENTRY("THATGUY", "\"That\" guy", "That creep on the subway? Yeah, that's you."),
-			ACHIEVEMENT_SIMPLE_ENTRY("DUO", "Duo", "Gain control of two characters"),
-			ACHIEVEMENT_SIMPLE_ENTRY("TEAMWORK", "Teamwork", "Team up to fix the lab's water system"),
-			ACHIEVEMENT_SIMPLE_ENTRY("SAVIOR", "Savior", "Save Dr. Morales"),
-			ACHIEVEMENT_SIMPLE_ENTRY("CUTTHEROPE", "Cut the rope", "Save yourself by destroying a rope"),
-			ACHIEVEMENT_SIMPLE_ENTRY("GOODLISTENER", "Good listener", "Listen to Saul's whole story without interrupting him"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NOSMOKING", "No smoking", "Discover the chemisty department's secret"),
-			ACHIEVEMENT_SIMPLE_ENTRY("WIRED", "Wired", "Rewire the lab door circuit"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ANGEL", "Angel", "Open Dr. Morales's journal without damaging it"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DREAMMASTER", "Dream master", "Get all the memories from Anna's dream maze"),
-			ACHIEVEMENT_SIMPLE_ENTRY("QUARTET", "Quartet", "Gain control of all four characters"),
-			ACHIEVEMENT_SIMPLE_ENTRY("BLUEPRINTSNATCHER", "Blueprint snatcher", "Nab the blueprints from the police archive"),
-			ACHIEVEMENT_SIMPLE_ENTRY("SEETHEWIZARD", "See the Wizard", "Find Morales's financial information"),
-			ACHIEVEMENT_SIMPLE_ENTRY("MAGNETICPERSONALITY", "Magnetic personality", "Maneuver everyone through the super collider"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACCESSGRANTED", "Access granted", "Gain access to the inner vault"),
-			ACHIEVEMENT_SIMPLE_ENTRY("IPROMISEYOU", "I promise you", "Your uncle holds the key"),
-			ACHIEVEMENT_SIMPLE_ENTRY("SAFECRACKER", "Safecracker", "Crack Tortoise's safe"),
-			ACHIEVEMENT_SIMPLE_ENTRY("BLACKMAILER", "Blackmailer", "Gain Tortoise's help by resorting to blackmail"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ARCHIVEMASTER", "Archive master", "Get the blueprints on your first try"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HIPPOCRATES", "Hippocrates", "Pay Ozzy while keeping your professional integrity intact"),
-			ACHIEVEMENT_SIMPLE_ENTRY("CLOSETOHEART", "Close to heart", "Learn Bennet's secret"),
-			ACHIEVEMENT_SIMPLE_ENTRY("FINDINGNORTH", "Finding north", "Use a compass to find a new location"),
-			ACHIEVEMENT_SIMPLE_ENTRY("KEYNABBER", "Key nabber", "Remove the contents of a locker without opening it"),
-			ACHIEVEMENT_SIMPLE_ENTRY("PHONETRACER", "Phone tracer", "Track the movements of a killer"),
-			ACHIEVEMENT_SIMPLE_ENTRY("MAPMASTER", "Technophile", "Find a new location on the map using fancy technology"),
-			ACHIEVEMENT_SIMPLE_ENTRY("LESSEROFTWOEVILS", "Lesser of two evils", "You sided with an enemy to stop a greater foe"),
-			ACHIEVEMENT_SIMPLE_ENTRY("THENEWWORLDORDER", "The new world order", "You stopped a killer, but let the big fish go free"),
-			ACHIEVEMENT_SIMPLE_ENTRY("INDEPENDENT", "Independent", "Finish the game without asking another character for a hint"),
-			ACHIEVEMENT_SIMPLE_ENTRY("LISTENTOUS", "Listen to us", "Play the entire game with commentary mode active"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HIGHSCORE", "High Score", "SUPER ACHIEVEMENT: Finish the game with a full score"),
-			ACHIEVEMENT_SIMPLE_ENTRY("SAFESEER", "Safe seer", "INSANE ACHIEVEMENT: Open Tortoise's safe without using any \"visual aids\""),
-			ACHIEVEMENT_SIMPLE_ENTRY("QUICKESCAPE", "Quick escape", "INSANE ACHIEVEMENT: Escape from the monster without locking the door"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DECODER", "Decoder ring", "SUPER ACHIEVEMENT: Decode a journal"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"richardandalice",
-		Common::STEAM_ACHIEVEMENTS,
-		"279260",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_0", "The Albatross Corridor", "You encouraged Alice to begin opening up."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_1", "Blocks That Matter", "You used a child's toy to escape from the basement."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_2", "Hall of Mirrors", "You gave Alice the guided tour."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_3", "Bathroom Break", "You moved into a nice new house. Sort of."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_4", "Housework", "You used cleaning supplies incorrectly and got very upset."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_5", "Flowers to Dead Man", "You took Barney to his dad's grave. Or did you?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_6", "Sirens", "You called for help\xe2\x80\xa6 but no-one came."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_7", "The Homecoming", "You desecrated a church, but don't feel too guilty."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_8", "Don't Gloat, Richard", "You escaped from certain death, irresponsibly."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_9", "The Sound of Silence", "You know what you did."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_10", "Smoke & Mirrors", "You escaped from prison, and uncovered the truth."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_11", "Polar Bear Territory", "You went off to uncharted territory."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_12", "Parting Ways", "You parted ways... amicably."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_13", "Justice For All", "But is it justice, or revenge?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_14", "Hold On", "You made your final decision."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_15", "Nothing's Changed", "You finally understand each other."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_16", "The Magic Bullet", "You defied death and retrieved the mysterious box."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_17", "Alice The Librarian", "You found and read all the documents."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_18", "Analogue: A Televised Story", "You watched the highly accurate TV adaptation of Analogue: A Hate Story."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_19", "It's Dangerous to Go Alone", "You gave Barney a keepsake."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEW_ACHIEVEMENT_1_20", "Testing the Waters", "You talked to Alice about your family... again."),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"roguestate",
-		Common::STEAM_ACHIEVEMENTS,
-		"396090",
-		{
-			STATS_NODESC_ENTRY("XP", "0"),
-			STATS_NODESC_ENTRY("Comedian", "0"),
-			STATS_NODESC_ENTRY("PetroleumTheocracy", "0"),
-			STATS_NODESC_ENTRY("CapitalistPlayground", "0"),
-			STATS_NODESC_ENTRY("UnstableElements", "0"),
-			STATS_NODESC_ENTRY("Charmer", "0"),
-			STATS_NODESC_ENTRY("Polyglot", "0"),
-			STATS_NODESC_ENTRY("HermitKingdom", "0"),
-			STATS_LISTEND
-		},
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("trophy_the_dictator", "THE DICTATOR", "Congratulations! You beat the game and secured your place in history."),
-			ACHIEVEMENT_SIMPLE_ENTRY("trophy_big_score", "SHAFT'S BIG SCORE", "Gain at least 800 points in a single playthrough."),
-			ACHIEVEMENT_SIMPLE_ENTRY("trophy_metropolis", "METROPOLIS", "Build every state infrastructure building in a single game."),
-			ACHIEVEMENT_SIMPLE_ENTRY("trophy_peacemaker", "THE PEACEMAKER", "Beat the game without waging a war, or having one waged against you."),
-			ACHIEVEMENT_SIMPLE_ENTRY("trophy_naked_truth", "THE NAKED TRUTH", "Successfully blackmail an American ambassador."),
-			ACHIEVEMENT_SIMPLE_ENTRY("trophy_manchurian", "THE MANCHURIAN CANDIDATE", "Have a foreign leader or another person of interest assassinated."),
-			ACHIEVEMENT_SIMPLE_ENTRY("trophy_spy_game", "SPY GAME", "Obtained military intelligence on all foreign states in a single game."),
-			ACHIEVEMENT_SIMPLE_ENTRY("trophy_strangelove", "DOCTOR STRANGELOVE", "Wage a nuclear war."),
-			ACHIEVEMENT_SIMPLE_ENTRY("trophy_courage", "COURAGE UNDER FIRE", "Faced a premature coup d'etat and prevailed."),
-			ACHIEVEMENT_SIMPLE_ENTRY("trophy_patriot_games", "PATRIOT GAMES", "Maintained 100% patriot approval for five consecutive turns."),
-			ACHIEVEMENT_SIMPLE_ENTRY("trophy_wolf_of_wall_street", "THE WOLF OF WALL STREET", "Maintained 100% capitalist approval for five consecutive turns."),
-			ACHIEVEMENT_SIMPLE_ENTRY("trophy_signs", "SIGNS", "Maintained 100% fundamentalist approval for five consecutive turns."),
-			ACHIEVEMENT_SIMPLE_ENTRY("trophy_roger_and_me", "ROGER AND ME", "Maintained 100% liberal approval for five consecutive turns."),
-			ACHIEVEMENT_SIMPLE_ENTRY("trophy_chicken_run", "CHICKEN RUN", "Master the language of Emperor Roosti."),
-			ACHIEVEMENT_SIMPLE_ENTRY("trophy_the_kingdom", "THE KINGDOM", "Survived the 'Oil Theocracy' scenario."),
-			ACHIEVEMENT_SIMPLE_ENTRY("trophy_money_talks", "MONEY TALKS", "Survived the 'Capitalist Playground' scenario."),
-			ACHIEVEMENT_SIMPLE_ENTRY("trophy_persepolis", "PERSEPOLIS", "Survived the 'Unstable Elements' scenario."),
-			ACHIEVEMENT_SIMPLE_ENTRY("trophy_the_interview", "THE INTERVIEW", "Survived the 'Hermit Kingdom' scenario."),
-			ACHIEVEMENT_HIDDEN_ENTRY("trophy_be_blood", "THERE WILL BE BLOOD"),
-			ACHIEVEMENT_HIDDEN_ENTRY("trophy_the_siege", "THE SIEGE"),
-			ACHIEVEMENT_HIDDEN_ENTRY("trophy_outbreak", "OUTBREAK"),
-			ACHIEVEMENT_SIMPLE_ENTRY("trophy_inside_job", "INSIDE JOB", "Bailed out all of Basenji's failing industries."),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"samaritan",
-		Common::STEAM_ACHIEVEMENTS,
-		"283180",
-		NOSTATS,
-		{
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_GREEN_FINGERS", "Green Fingers"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_HOBBY_BOTANIST", "Hobby Botanist"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_LIFE_GIVER", "Life Giver"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_WISHER", "Wisher"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_RESISTING_RAPTURE", "Resisting the Rapture"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_JOCKEYING_DISCS", "Jockeying the Discs"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_GOT_YOUR_BACK", "I Got Your Back"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_CLUE_FINDER", "Clue Finder"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_NO_QUARTER", "No Quarter"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_ELEMENTORY_SALOMON", "Elementory, My Dear Salomon"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_LET_BE_LIGHT", "Let There Be Light"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_BOOK_COLLECTOR", "Book Collector", "Ord found the first chapter."),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_TREASURE_HUNTER", "Treasure Hunter"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_INFILTRATOR", "Infiltrator"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_BOOK_COLLECTOR_II", "Book Collector, Level II", "Ord found the second chapter."),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_SCRATCH_SURFACE", "Scratching the Surface"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_BOOK_COLLECTOR_III", "Book Collector, Level III", "Ord found the third chapter."),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"shardlight",
-		Common::STEAM_ACHIEVEMENTS,
-		"336130",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("ARM", "Disarmed", "Properly disposed of the severed arm."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ORDER", "Order", "You maintained the status quo."),
-			ACHIEVEMENT_SIMPLE_ENTRY("CHAOS", "Chaos", "Tip your hat to the new revolution."),
-			ACHIEVEMENT_SIMPLE_ENTRY("WILL", "Free Will", "An age of uncertainty, but of happiness."),
-			ACHIEVEMENT_SIMPLE_ENTRY("MERCY", "Mercy Kill", "You couldn't let a friend suffer."),
-			ACHIEVEMENT_SIMPLE_ENTRY("THEEND", "The Light Shines On", "You completed the game."),
-			ACHIEVEMENT_SIMPLE_ENTRY("COMM", "More Than You Ever Wanted To Know", "Played through the game with commentary."),
-			ACHIEVEMENT_SIMPLE_ENTRY("PERFECT", "The Perfect Life", "Said the code phrase to everyone."),
-			ACHIEVEMENT_SIMPLE_ENTRY("BOOKS", "Educated", "You're the most well-read person around."),
-			ACHIEVEMENT_SIMPLE_ENTRY("JUMPROPE", "Child At Heart", "You're never too old to have fun."),
-			ACHIEVEMENT_SIMPLE_ENTRY("HAT", "Hat Trick", "Gain Jess's trust."),
-			ACHIEVEMENT_SIMPLE_ENTRY("TONGUE", "Cat Got Your Tongue?", "Figure out why the rebel doesn't speak."),
-			ACHIEVEMENT_SIMPLE_ENTRY("DRAWING", "Everyone's A Critic", "Gus doesn't know art, but he knows what he hates."),
-			ACHIEVEMENT_SIMPLE_ENTRY("FACTORY", "Smartass", "Listen to every single comment Denby makes inside the factory."),
-			ACHIEVEMENT_SIMPLE_ENTRY("CANDY", "Sweet Tooth", "Tasty, but think of your triglycerides!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("VOLUNTEER", "Selfless", "You don't mind being poked and prodded."),
-			ACHIEVEMENT_SIMPLE_ENTRY("CHALK", "Chalk It Up To Kindness", "Don't encourage him."),
-			ACHIEVEMENT_SIMPLE_ENTRY("SYMBOL", "Stay Within The Lines", "You drew the symbol correctly on the first try."),
-			ACHIEVEMENT_SIMPLE_ENTRY("SOUPA", "Max Soupa", "Nothing like a nice hot meal."),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"shivah",
-		Common::STEAM_ACHIEVEMENTS,
-		"252370",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("MAVEN", "Maven", "The best at what you do."),
-			ACHIEVEMENT_SIMPLE_ENTRY("MESHUGGA", "Meshugga", "Absolutely crazy"),
-			ACHIEVEMENT_SIMPLE_ENTRY("MENSCH", "Mensch", "A real gentleman"),
-			ACHIEVEMENT_SIMPLE_ENTRY("KEMFER", "Kemfer", "A fighter - usually for a cause"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HEFLEKH", "Heflekh", "Remain polite and civil"),
-			ACHIEVEMENT_SIMPLE_ENTRY("MUTSHE", "Mutshe", "Get on someone's nerves"),
-			ACHIEVEMENT_SIMPLE_ENTRY("KLUG", "Klug", "Wise, smart or clever"),
-			ACHIEVEMENT_SIMPLE_ENTRY("SHONDA_FOR_THE_GOYIM", "Shonda for the Goyim", "Bring shame upon your fellow Jews"),
-			ACHIEVEMENT_SIMPLE_ENTRY("UBERMENSCH", "Ubermensch", "An example to us all"),
-			ACHIEVEMENT_SIMPLE_ENTRY("SHMULKY", "Shmulky", "Doom and gloom with no end in sight"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"sumatra",
-		Common::STEAM_ACHIEVEMENTS,
-		"610900",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("EnterOffice", "Clocking in", "Another day in paradise!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Tiger", "Satisfied customer", "A feathery meal for our feline friend"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Quenched", "Quenched", "Tija has her water"),
-			ACHIEVEMENT_SIMPLE_ENTRY("WildYam", "A new source secured", "Nyorak has her wild yam"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DragonsBlood", "Blood of the Dragon", "Melekat and Sumping can now make their red dye"),
-			ACHIEVEMENT_SIMPLE_ENTRY("BoyLog", "Spotted", "The missing boy has been spotted"),
-			ACHIEVEMENT_SIMPLE_ENTRY("FamilyReunited", "Family Reunited", "The boy is lost no more"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Spooked", "Spooked", "David vs Goliath!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Honey", "A sticky mess", "Some honey has been gathered"),
-			ACHIEVEMENT_SIMPLE_ENTRY("TurtleHop", "Stepping stone", "A new way to hop!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Axeback", "Trust", "Yandi has been trusted with the return of his axe"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Streak", "Streak!", "Achieved 3 consecutive wins in Semut Orang Gajah"),
-			ACHIEVEMENT_SIMPLE_ENTRY("HiScore", "Hi-score!", "Achieved new high score in Semut Orang Gajah"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DogPat", "You can pet the dog in Sumatra: Fate of Yandi", "Who's a good boy?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Recordbark", "Sound engineer", "Maybe Yandi can think about a new career"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Checkmate", "Checkmate", "A poignant discovery"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Ramdancamera", "Who was that?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Compass", "Navigator", "Incredible ingenuity!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Rollaway", "Roll away the stone", "A little grease goes a long way"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Howgrund", "Where have I seen this before?", "A familiar friend..."),
-			ACHIEVEMENT_HIDDEN_ENTRY("Revelations", "Revelations"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Mansquished", "Flat as a pancake"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Logon", "Password accepted!"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Perch", "Vista"),
-			ACHIEVEMENT_HIDDEN_ENTRY("TheEnd", "The End"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Ramdan", "Reunited"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"technobabylon",
-		Common::STEAM_ACHIEVEMENTS,
-		"307580",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("PART1", "Prisoner of Consciousness", "Part 1 complete"),
-			ACHIEVEMENT_SIMPLE_ENTRY("PART2", "Suicide City", "Part 2 complete"),
-			ACHIEVEMENT_SIMPLE_ENTRY("PART3", "Fission", "Part 3 complete"),
-			ACHIEVEMENT_SIMPLE_ENTRY("PART4", "Meeting of Minds", "Part 4 complete"),
-			ACHIEVEMENT_SIMPLE_ENTRY("PART5", "Germination", "Part 5 complete"),
-			ACHIEVEMENT_SIMPLE_ENTRY("PART6", "Crisis of Consciouness", "Part 6 complete"),
-			ACHIEVEMENT_SIMPLE_ENTRY("PART7", "Jahiliyyah", "Part 7 complete"),
-			ACHIEVEMENT_SIMPLE_ENTRY("PART8", "Flesh Drive", "Part 8 complete"),
-			ACHIEVEMENT_SIMPLE_ENTRY("PART9", "Ripper", "Part 9 complete"),
-			ACHIEVEMENT_SIMPLE_ENTRY("COMPLETE", "Runtime", "Game complete"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DOORCODE", "Middle Management", "Got the door code at Animus"),
-			ACHIEVEMENT_SIMPLE_ENTRY("PHONECALL", "Sorry wrong number", "Make ten calls to random numbers"),
-			ACHIEVEMENT_SIMPLE_ENTRY("BOMBER1", "Silver Tongue", "Successfully talked the bomber down"),
-			ACHIEVEMENT_SIMPLE_ENTRY("BOMBER2", "Hopeless", "Neutralize the bomber"),
-			ACHIEVEMENT_SIMPLE_ENTRY("BOMBER3", "Unpersuasive", "An explosive result"),
-			ACHIEVEMENT_SIMPLE_ENTRY("VDWELLIOTNESS", "Elliot Ness approach", "Bust Van der Waal's door open"),
-			ACHIEVEMENT_SIMPLE_ENTRY("VDWLAO", "The Right One for the Job", "Make use of Lao's skills to open Van Der Wall's door"),
-			ACHIEVEMENT_SIMPLE_ENTRY("VDWCENTRAL", "Official Procedure", "Call Central for Help"),
-			ACHIEVEMENT_SIMPLE_ENTRY("CHANTELLE", "Three-in-One", "Subject Chantelle to all three personalities"),
-			ACHIEVEMENT_SIMPLE_ENTRY("GUYGOOD", "Hippocratic Oath", "A career in medicine awaits"),
-			ACHIEVEMENT_SIMPLE_ENTRY("GUYBAD", "Placebo Effect", "He won't know the difference..."),
-			ACHIEVEMENT_SIMPLE_ENTRY("CHIGWA", "Guilt Trip", "Remind Dr Chigwa of what's really important"),
-			ACHIEVEMENT_SIMPLE_ENTRY("GENES", "Microbiologist", "Didn't analyze a single incorrect sample at Vickerman"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NIESTER", "Dramatically cleaned a screaming pile of biscuits", "Cured Martin Niester on the first try"),
-			ACHIEVEMENT_SIMPLE_ENTRY("WHISKEY", "I Needed That", "Don't blame him one bit"),
-			ACHIEVEMENT_SIMPLE_ENTRY("SHOOTING", "Shooting Gallery", "Got through the conveyor room and back undetected"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NINJA", "Ninja", "Entered the Trance Den using the power of shadows"),
-			ACHIEVEMENT_SIMPLE_ENTRY("WATER", "Super Latha Bros", "Entered the trance den by fulfilling the bouncer's request"),
-			ACHIEVEMENT_SIMPLE_ENTRY("VENT", "I don't need no ticket", "Find another route into the Trance Den"),
-			ACHIEVEMENT_SIMPLE_ENTRY("BANNED", "B&", "Disconnected the dancers via non-destructive means"),
-			ACHIEVEMENT_SIMPLE_ENTRY("GRAVBALL", "Winners don't use drugs", "Win a game of gravball without sabotaging your opponent"),
-			ACHIEVEMENT_SIMPLE_ENTRY("CRATE", "Mental Arithmetic", "Get the crate-weight correct by the second attempt"),
-			ACHIEVEMENT_SIMPLE_ENTRY("SURVIVE", "Guarded by Fate", "Survive up to Part 9 without dying once"),
-			ACHIEVEMENT_SIMPLE_ENTRY("BOXDROP", "Bombs Away", "They shouldn't have left that there in the first place..."),
-			ACHIEVEMENT_SIMPLE_ENTRY("MJ1", "Mincemeat", "The Mindjacker meets his gruesome end"),
-			ACHIEVEMENT_SIMPLE_ENTRY("MJ2", "Justice for all", "Successfully arrest the Mindjacker"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ENDCENTRAL", "Civic Continuity", "Returned city control to Central"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ENDNINA", "Brave New World", "Nina's argument was most persuasive."),
-			ACHIEVEMENT_SIMPLE_ENTRY("COMMENTARY", "Talking Heads", "Played through the game with the commentary on"),
-			ACHIEVEMENT_SIMPLE_ENTRY("GOLDFARB", "Dave Goldfarb", "Only give Stepford's personality to the restaurant guard"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"thecastle",
-		Common::STEAM_ACHIEVEMENTS,
-		"1133950",
-		NOSTATS,
-		{
-			ACHIEVEMENT_HIDDEN_ENTRY("1_parabolica", "Playing with the satellite dish."),
-			ACHIEVEMENT_HIDDEN_ENTRY("2_torreon", "I want to go higher."),
-			ACHIEVEMENT_HIDDEN_ENTRY("3_piza", "I'm hungry."),
-			ACHIEVEMENT_HIDDEN_ENTRY("4_dioses", "I was just passing by."),
-			ACHIEVEMENT_HIDDEN_ENTRY("5_vampira", "You are bothering me."),
-			ACHIEVEMENT_HIDDEN_ENTRY("6_sapo", "It's not what it seems."),
-			ACHIEVEMENT_HIDDEN_ENTRY("7_bany", "What a bathroom."),
-			ACHIEVEMENT_HIDDEN_ENTRY("8_biblio", "This book is stuck."),
-			ACHIEVEMENT_HIDDEN_ENTRY("9_raton_triturado", "You do not have heart."),
-			ACHIEVEMENT_HIDDEN_ENTRY("10_convertir_raton", "What happened to me?"),
-			ACHIEVEMENT_HIDDEN_ENTRY("11_alarma", "Easier this way."),
-			ACHIEVEMENT_HIDDEN_ENTRY("12_pintar_cuadre", "Artwork."),
-			ACHIEVEMENT_HIDDEN_ENTRY("13_vestit", "What's behind?"),
-			ACHIEVEMENT_HIDDEN_ENTRY("14_huevos_cuervo", "I'll make myself an omelette."),
-			ACHIEVEMENT_HIDDEN_ENTRY("15_planta", "You have eaten too much."),
-			ACHIEVEMENT_HIDDEN_ENTRY("16_paloma", "I have a letter."),
-			ACHIEVEMENT_HIDDEN_ENTRY("17_asustar_vampira", "Get out of here!"),
-			ACHIEVEMENT_HIDDEN_ENTRY("18_canal_tv", "I do not like this."),
-			ACHIEVEMENT_HIDDEN_ENTRY("19_llave_jarron", "I got it."),
-			ACHIEVEMENT_HIDDEN_ENTRY("20_necro", "It scares me."),
-			ACHIEVEMENT_HIDDEN_ENTRY("21_reliquia", "Gross."),
-			ACHIEVEMENT_HIDDEN_ENTRY("22_esparrago", "What nonsense."),
-			ACHIEVEMENT_SIMPLE_ENTRY("23_final_1", "Moon of Blood", "Get the ending 1."),
-			ACHIEVEMENT_SIMPLE_ENTRY("24_final_2", "Lovers", "Get the ending 2."),
-			ACHIEVEMENT_SIMPLE_ENTRY("25_final_3", "Stealth Killer", "Get the ending 3."),
-			ACHIEVEMENT_SIMPLE_ENTRY("26_final_4", "Infernal Punishment", "Get the ending 4."),
-			ACHIEVEMENT_SIMPLE_ENTRY("27_final_5", "Extermination", "Get the ending 5."),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"thecatlady",
-		Common::STEAM_ACHIEVEMENTS,
-		"253110",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("CHAPTER_1", "Chapter 1 Completed!", "Complete the first chapter."),
-			ACHIEVEMENT_SIMPLE_ENTRY("CHAPTER_2", "Chapter 2 Completed!", "Complete the second chapter."),
-			ACHIEVEMENT_SIMPLE_ENTRY("CHAPTER_3", "Chapter 3 Completed!", "Complete the third chapter."),
-			ACHIEVEMENT_SIMPLE_ENTRY("CHAPTER_4", "Chapter 4 Completed!", "Complete the fourth chapter."),
-			ACHIEVEMENT_SIMPLE_ENTRY("CHAPTER_5", "Chapter 5 Completed!", "Complete the fifth chapter."),
-			ACHIEVEMENT_SIMPLE_ENTRY("CHAPTER_6", "Chapter 6 Completed!", "Complete the sixth chapter."),
-			ACHIEVEMENT_SIMPLE_ENTRY("CHAPTER_7", "Chapter 7 Completed!", "Complete the final chapter."),
-			ACHIEVEMENT_HIDDEN_ENTRY("REWARD", "The Great Reward"),
-			ACHIEVEMENT_HIDDEN_ENTRY("SCRATCH", "Sharp Scratch"),
-			ACHIEVEMENT_HIDDEN_ENTRY("MACE", "A Lady With A Mace"),
-			ACHIEVEMENT_HIDDEN_ENTRY("UNBREAKABLE", "Unbreakable"),
-			ACHIEVEMENT_HIDDEN_ENTRY("LISTENED", "I Listened"),
-			ACHIEVEMENT_HIDDEN_ENTRY("MAGGOTS", "Follow the Maggots"),
-			ACHIEVEMENT_HIDDEN_ENTRY("MY_WAY", "I'll Do It My Way"),
-			ACHIEVEMENT_HIDDEN_ENTRY("F_YOU", "Go Fuck Yourself"),
-			ACHIEVEMENT_HIDDEN_ENTRY("NETTLES", "Nettles"),
-			ACHIEVEMENT_HIDDEN_ENTRY("WELCOME", "You're Welcome"),
-			ACHIEVEMENT_HIDDEN_ENTRY("SCARED", "Scared of Dying"),
-			ACHIEVEMENT_HIDDEN_ENTRY("SACRIFICE", "Sacrifice"),
-			ACHIEVEMENT_HIDDEN_ENTRY("KILLER", "A Ruthless Killer"),
-			ACHIEVEMENT_HIDDEN_ENTRY("CARE", "I Care About You"),
-			ACHIEVEMENT_HIDDEN_ENTRY("REVENGE", "Revenge"),
-			ACHIEVEMENT_HIDDEN_ENTRY("SUNFLOWER", "A Flower That Bent Towards the Sun"),
-			ACHIEVEMENT_HIDDEN_ENTRY("MONSTER", "Monster In the Fog"),
-			ACHIEVEMENT_HIDDEN_ENTRY("CLEAVER", "How Very Cleaver"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"thesecretsofjesus",
-		Common::STEAM_ACHIEVEMENTS,
-		"1142230",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_00", "Truly, truly, I tell you: Do not poke your nose into other people's business!", "E"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_01", "Finally a bread roll. Religion is not always easy", "S"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_02", "I must have overlooked it. That hurt a lot!", "T"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_03", "It is only a game! Do not take it so seriously!", "S"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_04", "Bull's eye!", "F"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_05", "The picture may have come from Heaven, but it is dangerous", "S"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_06", "That is life, John!", "E"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_07", "Thou shalt not lie!", "T"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_08", "Stop tickling me!", "J"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_09", "Merry Christmas!", "S"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_10", "Jesus is a human, and therefore he has all the human needs. Peeing included", "R"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_11", "Curses, like chickens, come home to roost!", "H"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_12", "She really needs to drop this hobby", "O"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_13", "The heavenly picture needs to disappear, but how?", "E"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_14", "How the hell am I supposed to delete the heavenly picture?", "C"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_15", "That explains why he is not married", "U"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_16", "The cross of Jesus can be removed now", "E"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"theterribleoldman",
-		Common::STEAM_ACHIEVEMENTS,
-		"1147030",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("Beer", "Three for Two", "That's quite a deal!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("Jackson", "Jackson", "We all have our dreams."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Address", "Location uncovered!", "The old man won't know what hit him."),
-			ACHIEVEMENT_SIMPLE_ENTRY("Unlocked", "Unlocked", "What's in the trunk?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("OpenSesame", "Open Sesame", "The riches are within grasp."),
-			ACHIEVEMENT_HIDDEN_ENTRY("TheEnd", "The End."),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"unavowed",
-		Common::STEAM_ACHIEVEMENTS,
-		"336140",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("START_OF_SHIFT_MALE", "Start of shift (Male)", "Complete the male cop origin"),
-			ACHIEVEMENT_SIMPLE_ENTRY("START_OF_SHIFT_FEMALE", "Start of shift (female)", "Complete the female cop origin"),
-			ACHIEVEMENT_SIMPLE_ENTRY("FIRST_ROUND_MALE", "First round (male)", "Complete the male bartender origin"),
-			ACHIEVEMENT_SIMPLE_ENTRY("FIRST_ROUND_FEMALE", "First round (female)", "Complete the female bartender origin"),
-			ACHIEVEMENT_SIMPLE_ENTRY("CURTAIN_RISES_MALE", "The curtain rises (male)", "Complete the male actor origin"),
-			ACHIEVEMENT_SIMPLE_ENTRY("CURTAIN_RISES_FEMALE", "The curtain rises (female)", "Complete the female actor origin"),
-			ACHIEVEMENT_SIMPLE_ENTRY("FORESIGHT", "Foresight", "Defeat a foe with firsthand knowledge"),
-			ACHIEVEMENT_SIMPLE_ENTRY("BURP", "Burp", "Food tames the beast"),
-			ACHIEVEMENT_SIMPLE_ENTRY("KILLAMENTAL", "Killamental", "Why take the risk?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("A_NEW_HOME", "A new home", "A new world. A new life."),
-			ACHIEVEMENT_SIMPLE_ENTRY("AS_YOU_WERE", "As you were", "Perhaps it was meant to be this way..."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NICE_SHOT", "Nice shot", "Enter the Eddings house using Vicki"),
-			ACHIEVEMENT_SIMPLE_ENTRY("WELL_THROWN", "Well thrown", "Enter the Eddings house using Mandana"),
-			ACHIEVEMENT_SIMPLE_ENTRY("WELCOME_LOGAN", "Welcome Logan", "Welcome Logan to the party"),
-			ACHIEVEMENT_SIMPLE_ENTRY("REDOORDANCY", "Re-door-dancy", "Needlessly unlock the same door in two different ways"),
-			ACHIEVEMENT_SIMPLE_ENTRY("SEAFOOD", "Seafood", "Calamari for a year!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("SHISHKABOB", "Shishkabob", "Well skewered, Mandana"),
-			ACHIEVEMENT_SIMPLE_ENTRY("WELCOME_VICKI", "Welcome Vicki", "Welcome Vicki to the party"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ALLEY_BESTOWER", "Alley Bestower", "Disperse the Staten Island ghost"),
-			ACHIEVEMENT_SIMPLE_ENTRY("BROS", "Boys night", "Finish three missions with an all male party"),
-			ACHIEVEMENT_SIMPLE_ENTRY("GIRLS", "Girl powered", "Embark on three missions with an all female party"),
-			ACHIEVEMENT_SIMPLE_ENTRY("WHOLETRUTH", "The whole truth", "Get to the truth of what happened"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEVERFORGET", "Never Forget", "Visit a special location on a certain day"),
-			ACHIEVEMENT_SIMPLE_ENTRY("WALLSTEEETBESTOW", "Wall Street Bestower", "Disperse the ghost on Wall Street"),
-			ACHIEVEMENT_SIMPLE_ENTRY("FIREANDSPIRITS", "Fire and Spirits", "Embark on four missions with Eli and Logan"),
-			ACHIEVEMENT_SIMPLE_ENTRY("LEADANDFLAME", "Lead and Flame", "Head out four times with Eli and Vicki"),
-			ACHIEVEMENT_SIMPLE_ENTRY("SWORDANDBULLETS", "Sword and Bullets", "Select Mandana and Vicki four times for missions"),
-			ACHIEVEMENT_SIMPLE_ENTRY("STEELANDSOULS", "Steel and Souls", "Start four missions with Mandana and Logan"),
-			ACHIEVEMENT_SIMPLE_ENTRY("INSEPARABLE", "Inseparable", "Keep Eli and Mandana together for six missions"),
-			ACHIEVEMENT_SIMPLE_ENTRY("MAXFIREPOWER", "Maximum Fire Power", "Choose Eli six times for missions"),
-			ACHIEVEMENT_SIMPLE_ENTRY("FULLJINN", "All Jinn", "Choose Mandana six times for missions"),
-			ACHIEVEMENT_SIMPLE_ENTRY("EFFECTIVEDETECTIVE", "Effective Detective", "Choose Vicki four times for missions"),
-			ACHIEVEMENT_SIMPLE_ENTRY("FULLOFSPIRIT", "Full of Spirit", "Choose Logan four times for missions"),
-			ACHIEVEMENT_SIMPLE_ENTRY("REAMUSED", "Re-amused", "Calli returns to her former position"),
-			ACHIEVEMENT_SIMPLE_ENTRY("MUSEREFUSED", "Muse Refused", "There's a new muse in town"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NOTAMUSED", "Not a-mused", "No muse in Brooklyn tonight..."),
-			ACHIEVEMENT_SIMPLE_ENTRY("REALLY", "Really?", "Nice try"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DEALSTRUCK", "It is done", "A deal has been struck"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ALLSFAE", "All's Fae in Love and War", "Better safe than sorry"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DRAGONSAVIOR", "Dragon savior", "Free of torment at last"),
-			ACHIEVEMENT_SIMPLE_ENTRY("DRAGONSLAYER", "Dragon slayer", "Kevin now has a second chance"),
-			ACHIEVEMENT_SIMPLE_ENTRY("BROOKLYNBESTOWER", "Brooklyn Bestower", "Free the Brooklyn ghost"),
-			ACHIEVEMENT_SIMPLE_ENTRY("FULLPARTY", "Full Party", "Reach the final end with your full crew in tow"),
-			ACHIEVEMENT_SIMPLE_ENTRY("FREEDOM", "Freedom", "Free at last"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NEWWORLD", "A New World", "We'll do it right this time"),
-			ACHIEVEMENT_SIMPLE_ENTRY("THEFALL", "The Fall", "The only way to be sure"),
-			ACHIEVEMENT_SIMPLE_ENTRY("REFUSAL", "Refusal", "Resistance is futile"),
-			ACHIEVEMENT_SIMPLE_ENTRY("UNCHIDED", "Unchided", "Finish a jailbreak without getting chided by a ghost"),
-			ACHIEVEMENT_SIMPLE_ENTRY("COMMENTARY", "Listen to us", "Leave commentary mode on for the entire game, from the opening menu to the closing credits."),
-			ACHIEVEMENT_SIMPLE_ENTRY("NOHINT", "No Help Needed", "Never ask your friends for a hint"),
-			ACHIEVEMENT_SIMPLE_ENTRY("STATUSQUO", "Maintain the status quo", "Nobody has to die tonight"),
-			ACHIEVEMENT_SIMPLE_ENTRY("STATENEXILED", "The bond is broken", "A villain escapes her punishment"),
-			ACHIEVEMENT_SIMPLE_ENTRY("TREEHUGGER", "Tree hugger", "Show sympathy for one of nature's creatures"),
-			ACHIEVEMENT_SIMPLE_ENTRY("PETRIFIEDTREE", "Petrified forest", "There's a new statue in the North Grove"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NATUREKILLER", "Nature killer", "No mercy for the trees"),
-			ACHIEVEMENT_SIMPLE_ENTRY("SOLOCONF", "Solo confrontation", "Reach the final confrontation alone"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"untilihaveyou",
-		Common::STEAM_ACHIEVEMENTS,
-		"439310",
-		{
-			STATS_NODESC_ENTRY("stat_kills", "0"),
-			STATS_NODESC_ENTRY("stat_deaths", "0"),
-			STATS_NODESC_ENTRY("stat_emily1", "0"),
-			STATS_NODESC_ENTRY("stat_emily2", "0"),
-			STATS_NODESC_ENTRY("stat_emily3", "0"),
-			STATS_NODESC_ENTRY("stat_bat", "0"),
-			STATS_NODESC_ENTRY("stat_gun", "0"),
-			STATS_NODESC_ENTRY("stat_laser", "0"),
-			STATS_NODESC_ENTRY("stat_flame", "0"),
-			STATS_NODESC_ENTRY("stat_lives", "0"),
-			STATS_NODESC_ENTRY("stat_points", "0"),
-			STATS_NODESC_ENTRY("stat_gunupgrade", "0"),
-			STATS_NODESC_ENTRY("stat_batupgrade", "0"),
-			STATS_NODESC_ENTRY("stat_laserupgrade", "0"),
-			STATS_NODESC_ENTRY("stat_flameupgrade", "0"),
-			STATS_NODESC_ENTRY("stat_laserchargeupgrade", "0"),
-			STATS_NODESC_ENTRY("stat_flamechargeupgrade", "0"),
-			STATS_NODESC_ENTRY("stat_hysteriadamagered", "0"),
-			STATS_NODESC_ENTRY("stat_dgincslowmo", "0"),
-			STATS_NODESC_ENTRY("stat_damagereduction", "0"),
-			STATS_NODESC_ENTRY("stat_mode", "0"),
-			STATS_LISTEND
-		},
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_SECOND_TONONE", "Second To None", "Complete a level earning the Second To None Rank."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_SHARPSHOOTER", "Sharpshooter", "Achieve 100% accuracy with the GUN."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_GHOST", "Ghost", "Complete a stage without killing anyone."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_EXPECTNOMERCY", "Expect No Mercy:", "Kill all the enemies in a stage."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_THIEF", "I'm An Artist!", "Achieve the lowest ranking possible."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_WALKEN", "Something You Won't Walk Away From", "Complete a stage in Chapter Eight with the ALARM going off."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_VIEW", "I've Seen Things", "Head out of the apartment."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_VKING", "WHO THE F^&$ DO YOU THINK I AM", "Complete a Boss Stage without using Time-Dilation."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_TEARS", "Tears In Rain", "Die 1000 Times."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_BAT", "This Is Bat Country!", "Kill all the enemies, using the BAT."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_GUN", "Dodge This", "Kill all the enemies, using the GUN."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_LASER", "Do You Enjoy... Lasers?", "Kill all the enemies, using the LASER."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_FLAME", "Burning Heart", "Kill all the enemies, using the FLAMETHROWER."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_EMILY", "Blast The Past", "Kill Emily's mirage in all its appearances."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_TUTORIAL", "Lesson Learned", "Complete Tutorial."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_ARTIST", "SUPER MEGA ULTRA POWER ULTIMATE ASSASSIN", "Get a 100% Rating in all the stages."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_FLAWLESS", "Flawless", "Get a 100% Rating in any stage."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_ENEMIES", "Only Statistics", "Kill 1000 Enemies."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_WATCHTV", "Brainwashed", "Watch TV."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_VOICES", "The Voices Told Me To", "Kill an enemy while hysteria is high."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_END", "It's over", "Finish the game."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_HARD", "Easy Come, Easy Go", "Beat the game in Hard Mode"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_UNLA", "Older Missions", "Unlock any of the work orders."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_UNLB", "Sleeper", "Unlock all older work orders."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_BATKILLS", "I'm not gonna hurt you.", "Kill 100 Enemies using the Bat."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_GUNKILLS", "They shoot people, don't they?", "Kill 100 Enemies using the Gun."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_LASERKILLS", "Lasertag", "Kill 100 Enemies using the Laser."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_FLAMEKILLS", "Ashes to ashes", "Kill 100 Enemies using the Flamethrower."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_BOSSN", "In a row?", "Finish Boss Mode in Normal Difficulty."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_BOSSH", "True to your name.", "Finish Boss Mode in Hardcore Difficulty."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_UPGRADE", "Harder, Better, Faster, Stronger", "Purchase any of the upgrades."),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"whispersofamachine",
-		Common::STEAM_ACHIEVEMENTS,
-		"631570",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("CaseClosed", "Case Closed", "Finished the game"),
-			ACHIEVEMENT_SIMPLE_ENTRY("PathOfTyr", "Path of Tyr", "Finished the game assertively"),
-			ACHIEVEMENT_SIMPLE_ENTRY("PathOfFrigg", "Path of Frigg", "Finished the game analytically"),
-			ACHIEVEMENT_SIMPLE_ENTRY("PathOfBaldr", "Path of Baldr", "Finished the game empathically"),
-			ACHIEVEMENT_SIMPLE_ENTRY("UnlockTier2", "Hidden Potential", "Unlocked a new augmentation"),
-			ACHIEVEMENT_SIMPLE_ENTRY("UnlockAugs", "Power Overwhelming", "Unlocked a full set of augmentations"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Harbinger", "Singularity-Minded"),
-			ACHIEVEMENT_HIDDEN_ENTRY("UnleashTheWolf", "Unleash the Wolf"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Caregiver", "Caregiver"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Careerist", "Careerist"),
-			ACHIEVEMENT_HIDDEN_ENTRY("MixedMethods", "Mixed Methods"),
-			ACHIEVEMENT_HIDDEN_ENTRY("NoSodaForYou", "Whispers of a Soda Machine"),
-			ACHIEVEMENT_HIDDEN_ENTRY("PassiveSmoking", "Passive Smoking Redux"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Reassembled", "Reassembled"),
-			ACHIEVEMENT_HIDDEN_ENTRY("SharpEyed", "Sharp-Eyed"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Environmentalist", "Environmentalist"),
-			ACHIEVEMENT_HIDDEN_ENTRY("WhatSuspect", "Babysitter"),
-			ACHIEVEMENT_HIDDEN_ENTRY("PickTheBaby", "Pick the Baby"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Museophile", "Museophile"),
-			ACHIEVEMENT_HIDDEN_ENTRY("SneakAttack", "Sneak Attack"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Memento", "Memento"),
-			ACHIEVEMENT_HIDDEN_ENTRY("CompulsiveReturner", "Serial Returner"),
-			ACHIEVEMENT_HIDDEN_ENTRY("CaffeineAddict", "Whispers of a Coffee Machine"),
-			ACHIEVEMENT_HIDDEN_ENTRY("Whodunnit", "Whodunnit"),
-			ACHIEVEMENT_HIDDEN_ENTRY("CloseCall", "Close Call"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"zniwadventure",
-		Common::STEAM_ACHIEVEMENTS,
-		"904750",
-		NOSTATS,
-		{
-			ACHIEVEMENT_HIDDEN_ENTRY("ZNIW_STORY1_TINYFOREST", "And so the adventure begins"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ZNIW_STORY2_RIVERBANK", "The good, the bad and the river"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ZNIW_STORY3_FALLS", "A bridge too far"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ZNIW_STORY4_CAVEFIRE", "Quest for fire"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ZNIW_STORY5_PATHF", "What is this, Mushroom Kingdom?"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ZNIW_STORY6_VILLATHIEF", "Mugstreet Boys"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ZNIW_STORY7_FARMMAMMAL", "Mammals tremble before her!"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ZNIW_STORY8_VILLATUNNEL", "Dinosaur Zniw, Ace Investigator"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ZNIW_STORY9_TOWER", "Our house, in the middle of the wall"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ZNIW_STORY10_PRISON", "Fragile allegiance"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ZNIW_STORY11_FARMKEY", "Clever girl"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ZNIW_STORY12_DISTROOMSAFE", "Safecracker"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ZNIW_STORY13_DIGTUNNEL", "Indiana Zniw and the Cave of (Family) Peril"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ZNIW_STORY14_FINALEEND", "That's MISS Zniw to you, punk!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ZNIW_PEBBLE1", "One tiny pebble for a dinosaur...", "Great! But that's not nearly enough..."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ZNIW_PEBBLE2", "Lucky 13", "Halfway there!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ZNIW_PEBBLE3", "Dr. LivingSTONE, I presume?", "Now that's gonna be one excellent present!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ZNIW_ENCYCLOPEDIA1", "Beginner writer", "That's a lot of pages."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ZNIW_ENCYCLOPEDIA2", "Professional chronicler", "That's a whole lot of pages."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ZNIW_ENCYCLOPEDIA3", "Gotta learn 'em all!", "That's definitely a whole lot of pages."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ZNIW_SECRET1_CRAB", "Crab people", "...are angry."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ZNIW_SECRET2_CROC", "Croc 3", "I don't know whether that's bravery, or plain stupidity."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ZNIW_SECRET3_CAVESITE", "Zniw the Explorer", "Taking spelunking to a whole new level!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ZNIW_SECRET4_ALLMAMMAL", "Employee of the month", "And at your first day on the job, wow!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ZNIW_SECRET5_BACKPACK", "Perfect is the enemy of good", "\"Heeey, what a nice b... Wait, what?!\""),
-			ACHIEVEMENT_SIMPLE_ENTRY("ZNIW_SECRET6_FARMPLANTS", "Rebel without a brain", "What did those poor plants do to you?!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ZNIW_SECRET7_TOWERBOARD", "Information Society", "You like being up to date with the latest news, I see?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ZNIW_SECRET8_PRISONPUNS", "Obligatory punny achievement", "You survived through them all, amazing."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ZNIW_SECRET9_FARMFISHING", "Dinosaur Fishing Simulator 75 000 000 BC", "Dad would've been so proud."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ZNIW_SECRET10_DISTROOMBOOKS", "Bookworm... uh, Bookdino?", "Even in the face of danger, you really like to take your time!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ZNIW_SECRET11_ALLFOOD", "Gourment World Tour", "Now here's a girl with appetite... for adventure!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ZNIW_SECRET12_CAVEWANDER", "Breaking the law", "Wandering further into the cave is fordibben, you should know that by now."),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{0, Common::UNK_ACHIEVEMENTS, 0, {STATS_LISTEND}, {ACHIEVEMENTS_LISTEND}}
+	{"adateinthepark", Common::STEAM_ACHIEVEMENTS, "468530"},
+	{"alemmo", Common::STEAM_ACHIEVEMENTS, "296850"},
+	{"alum", Common::STEAM_ACHIEVEMENTS, "338420"},
+	{"astroloco", Common::STEAM_ACHIEVEMENTS, "357490"},
+	{"atotkdeluxe", Common::STEAM_ACHIEVEMENTS, "603870"},
+	{"apotheosis", Common::STEAM_ACHIEVEMENTS, "364350"},
+	{"beer", Common::STEAM_ACHIEVEMENTS, "782280"},
+	{"blackwell1", Common::STEAM_ACHIEVEMENTS, "80330"},
+	{"blackwell2", Common::STEAM_ACHIEVEMENTS, "80340"},
+	{"blackwell3", Common::STEAM_ACHIEVEMENTS, "80350"},
+	{"blackwell4", Common::STEAM_ACHIEVEMENTS, "80360"},
+	{"blackwell5", Common::STEAM_ACHIEVEMENTS, "236930"},
+	{"charnelhousetrilogy", Common::STEAM_ACHIEVEMENTS, "288930"},
+	{"chronicleofinnsmouth", Common::STEAM_ACHIEVEMENTS, "420180"},
+	{"crystalshardadventurebundle", Common::STEAM_ACHIEVEMENTS, "551840"},
+	{"detectivegallo", Common::GALAXY_ACHIEVEMENTS, "1745746005"},
+	{"detectivegallo", Common::STEAM_ACHIEVEMENTS, "556060"},
+	{"docapocalypse", Common::STEAM_ACHIEVEMENTS, "509920"},
+	{"downfall2009", Common::STEAM_ACHIEVEMENTS, "364390"},
+	{"dustbowl", Common::STEAM_ACHIEVEMENTS, "367110"},
+	{"falconcity", Common::STEAM_ACHIEVEMENTS, "1270590"},
+	{"feriadarles", Common::STEAM_ACHIEVEMENTS, "1181570"},
+	{"footballgame", Common::STEAM_ACHIEVEMENTS, "654550"},
+	{"geminirue", Common::STEAM_ACHIEVEMENTS, "80310"},
+	{"goldenwake", Common::STEAM_ACHIEVEMENTS, "307570"},
+	{"guardduty", Common::GALAXY_ACHIEVEMENTS, "1455980545"},
+	{"guardduty", Common::STEAM_ACHIEVEMENTS, "872750"},
+	{"herdiscoming", Common::STEAM_ACHIEVEMENTS, "1028740"},
+	{"heroinesquest", Common::STEAM_ACHIEVEMENTS, "283880"},
+	{"justignorethem", Common::STEAM_ACHIEVEMENTS, "561770"},
+	{"kathyrain", Common::GALAXY_ACHIEVEMENTS, "1460710709"},
+	{"kathyrain", Common::STEAM_ACHIEVEMENTS, "370910"},
+	{"killyourself", Common::STEAM_ACHIEVEMENTS, "1251910"},
+	{"lamplightcity", Common::STEAM_ACHIEVEMENTS, "761460"},
+	{"legendofhand", Common::STEAM_ACHIEVEMENTS, "595560"},
+	{"mage", Common::GALAXY_ACHIEVEMENTS, "1469845437"},
+	{"mage", Common::STEAM_ACHIEVEMENTS, "270610"},
+	{"metaldead", Common::STEAM_ACHIEVEMENTS, "302690"},
+	{"metaphobia", Common::STEAM_ACHIEVEMENTS, "1220930"},
+	{"neofeud", Common::STEAM_ACHIEVEMENTS, "673850"},
+	{"oott", Common::GALAXY_ACHIEVEMENTS, "1444830704"},
+	{"oott", Common::STEAM_ACHIEVEMENTS, "425600"},
+	{"primordia", Common::STEAM_ACHIEVEMENTS, "227000"},
+	{"qfi", Common::STEAM_ACHIEVEMENTS, "264560"},
+	{"resonance", Common::STEAM_ACHIEVEMENTS, "212050"},
+	{"richardandalice", Common::STEAM_ACHIEVEMENTS, "279260"},
+	{"roguestate", Common::STEAM_ACHIEVEMENTS, "396090"},
+	{"samaritan", Common::STEAM_ACHIEVEMENTS, "283180"},
+	{"shardlight", Common::STEAM_ACHIEVEMENTS, "336130"},
+	{"shivah", Common::STEAM_ACHIEVEMENTS, "252370"},
+	{"sumatra", Common::STEAM_ACHIEVEMENTS, "610900"},
+	{"technobabylon", Common::STEAM_ACHIEVEMENTS, "307580"},
+	{"thecastle", Common::STEAM_ACHIEVEMENTS, "1133950"},
+	{"thecatlady", Common::STEAM_ACHIEVEMENTS, "253110"},
+	{"thesecretsofjesus", Common::STEAM_ACHIEVEMENTS, "1142230"},
+	{"theterribleoldman", Common::STEAM_ACHIEVEMENTS, "1147030"},
+	{"unavowed", Common::STEAM_ACHIEVEMENTS, "336140"},
+	{"untilihaveyou", Common::STEAM_ACHIEVEMENTS, "439310"},
+	{"whispersofamachine", Common::GALAXY_ACHIEVEMENTS, "1845001352"},
+	{"whispersofamachine", Common::STEAM_ACHIEVEMENTS, "631570"},
+	{"zniwadventure", Common::STEAM_ACHIEVEMENTS, "904750"},
+
+	{0, Common::UNK_ACHIEVEMENTS, 0}
 };
 
 } // End of namespace AGS
 
-#undef ACHIEVEMENT_SIMPLE_ENTRY
-#undef ACHIEVEMENT_NODESC_ENTRY
-#undef ACHIEVEMENT_HIDDEN_ENTRY
-#undef ACHIEVEMENTS_LISTEND
-
-#undef STATS_SIMPLE_ENTRY
-#undef STATS_NODESC_ENTRY
-#undef STATS_LISTEND
-#undef NOSTATS
-
 #endif /* AGS_ACHIEVEMENTS_H */
diff --git a/engines/ags/metaengine.cpp b/engines/ags/metaengine.cpp
index f0132f9e82..146aeb5fc4 100644
--- a/engines/ags/metaengine.cpp
+++ b/engines/ags/metaengine.cpp
@@ -170,12 +170,6 @@ const Common::AchievementsInfo AGSMetaEngine::getAchievementsInfo(const Common::
 		if (i->gameId == gameId && i->platform == platform) {
 			result.platform = i->platform;
 			result.appId = i->appId;
-			for (const Common::StatDescription *it = i->stats; it->id; it++) {
-				result.stats.push_back(*it);
-			}
-			for (const Common::AchievementDescription *it = i->descriptions; it->id; it++) {
-				result.descriptions.push_back(*it);
-			}
 			break;
 		}
 	}


Commit: 53721953a261cea47280fa8b060540bdea520d8f
    https://github.com/scummvm/scummvm/commit/53721953a261cea47280fa8b060540bdea520d8f
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
TESTBED: Remove data string from AchivementsInfo

Changed paths:
  R engines/testbed/achievements.cpp
  R engines/testbed/achievements.h
    engines/testbed/metaengine.cpp
    engines/testbed/module.mk
    engines/testbed/testbed.cpp


diff --git a/engines/testbed/achievements.cpp b/engines/testbed/achievements.cpp
deleted file mode 100644
index 55fa2202c5..0000000000
--- a/engines/testbed/achievements.cpp
+++ /dev/null
@@ -1,51 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#include "testbed/achievements.h"
-#include "testbed/testbed.h"
-#include "testbed/testsuite.h"
-
-namespace Testbed {
-
-const Common::AchievementsInfo getAchievementsInfo(const Common::String &target) {
-	Common::AchievementsInfo result;
-	result.platform = Common::UNK_ACHIEVEMENTS;
-	result.appId = "testbed";
-
-	Common::AchievementDescription testSuiteFinalAchievement = {"EVERYTHINGWORKS", true, "Everything works!", "Completed all available testsuites"};
-	result.descriptions.push_back(testSuiteFinalAchievement);
-
-	Common::Array<Testbed::Testsuite *> testsuiteList;
-	Testbed::TestbedEngine::pushTestsuites(testsuiteList);
-	for (Common::Array<Testbed::Testsuite *>::const_iterator i = testsuiteList.begin(); i != testsuiteList.end(); ++i) {
-		Common::AchievementDescription it = {(*i)->getName(), false, (*i)->getDescription(), 0};
-		result.descriptions.push_back(it);
-		delete (*i);
-	}
-
-	Common::StatDescription testsRun = {"NUM_TESTS", "Number of tests run", "0"};
-	result.stats.push_back(testsRun);
-
-	return result;
-}
-
-} // End of namespace Testbed
diff --git a/engines/testbed/achievements.h b/engines/testbed/achievements.h
deleted file mode 100644
index 5fe6b4ac73..0000000000
--- a/engines/testbed/achievements.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#ifndef TESTBED_ACHIEVEMENTS_H
-#define TESTBED_ACHIEVEMENTS_H
- 
-#include "common/achievements.h"
-
-namespace Testbed {
-
-const Common::AchievementsInfo getAchievementsInfo(const Common::String &target);
-
-} // End of namespace Testbed
-
-#endif // TESTBED_ACHIEVEMENTS_H 
-
diff --git a/engines/testbed/metaengine.cpp b/engines/testbed/metaengine.cpp
index 8c20741753..98700de4c4 100644
--- a/engines/testbed/metaengine.cpp
+++ b/engines/testbed/metaengine.cpp
@@ -26,7 +26,6 @@
 
 #include "engines/advancedDetector.h"
 
-#include "testbed/achievements.h"
 #include "testbed/testbed.h"
 
 class TestbedMetaEngine : public AdvancedMetaEngine {
@@ -41,7 +40,10 @@ public:
 	}
 
 	const Common::AchievementsInfo getAchievementsInfo(const Common::String &target) const override {
-		return Testbed::getAchievementsInfo(target);
+		Common::AchievementsInfo result;
+		result.platform = Common::UNK_ACHIEVEMENTS;
+		result.appId = "testbed";
+		return result;
 	}
 
 	bool hasFeature(MetaEngineFeature f) const override {
diff --git a/engines/testbed/module.mk b/engines/testbed/module.mk
index 1bcae5ac95..a341928477 100644
--- a/engines/testbed/module.mk
+++ b/engines/testbed/module.mk
@@ -1,7 +1,6 @@
 MODULE := engines/testbed
 
 MODULE_OBJS := \
-	achievements.o \
 	config.o \
 	config-params.o \
 	events.o \
diff --git a/engines/testbed/testbed.cpp b/engines/testbed/testbed.cpp
index a984b9a895..005c187c2c 100644
--- a/engines/testbed/testbed.cpp
+++ b/engines/testbed/testbed.cpp
@@ -32,7 +32,6 @@
 
 #include "engines/util.h"
 
-#include "testbed/achievements.h"
 #include "testbed/events.h"
 #include "testbed/fs.h"
 #include "testbed/graphics.h"
@@ -224,7 +223,10 @@ Common::Error TestbedEngine::run() {
 	initGraphics(320, 200);
 
 	// Initialize achievements manager
-	AchMan.setActiveDomain(getAchievementsInfo(ConfMan.getActiveDomainName()));
+	Common::AchievementsInfo info;
+	info.platform = Common::UNK_ACHIEVEMENTS;
+	info.appId = "testbed";
+	AchMan.setActiveDomain(info);
 
 	// As of now we are using GUI::MessageDialog for interaction, Test if it works.
 	// interactive mode could also be modified by a config parameter "non-interactive=1"


Commit: 21b6ad9a29ab2e57de3755f96e3fb358581a73ce
    https://github.com/scummvm/scummvm/commit/21b6ad9a29ab2e57de3755f96e3fb358581a73ce
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
TWINE: Remove data string from achivements_tables

Changed paths:
    engines/twine/achievements_tables.h
    engines/twine/metaengine.cpp


diff --git a/engines/twine/achievements_tables.h b/engines/twine/achievements_tables.h
index 6312d45798..80317c79e3 100644
--- a/engines/twine/achievements_tables.h
+++ b/engines/twine/achievements_tables.h
@@ -31,64 +31,14 @@ struct AchievementDescriptionList {
 	const char *gameId;
 	Common::AchievementsPlatform platform;
 	const char *appId;
-	const Common::StatDescription stats[64];
-	const Common::AchievementDescription descriptions[64];
 };
 
-#define ACHIEVEMENT_SIMPLE_ENTRY(id, title, comment) \
-	{ id, false, title, comment }
-#define ACHIEVEMENT_NODESC_ENTRY(id, title) \
-	{ id, false, title, "" }
-#define ACHIEVEMENT_HIDDEN_ENTRY(id, title) \
-	{ id, true, title, "" }
-#define ACHIEVEMENTS_LISTEND \
-	{ 0, 0, 0, 0 }
-
-#define STATS_SIMPLE_ENTRY(id, comment, default) \
-	{id, comment, default}
-#define STATS_NODESC_ENTRY(id, default) \
-	{id, "", default}
-#define STATS_LISTEND \
-	{0, 0, 0}
-#define NOSTATS \
-	{STATS_LISTEND}
-
 static const AchievementDescriptionList achievementDescriptionList[] = {
-	{
-		// https://steamdb.info/app/397330/stats/
-		"lba",
-		Common::STEAM_ACHIEVEMENTS,
-		"397330",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("LBA_ACH_001", "Victory!", "Finish the game."),
-			ACHIEVEMENT_SIMPLE_ENTRY("LBA_ACH_002", "Heavily armed", "Get the magic saber."),
-			ACHIEVEMENT_SIMPLE_ENTRY("LBA_ACH_003", "Collector", "Unlock all the clover boxes."),
-			ACHIEVEMENT_SIMPLE_ENTRY("LBA_ACH_004", "FIRE !", "Fire the canon in the museum."),
-			ACHIEVEMENT_SIMPLE_ENTRY("LBA_ACH_005", "New record", "Finish the game in less than 4h."),
-			ACHIEVEMENT_SIMPLE_ENTRY("LBA_ACH_006", "Double vision", "Get into the meca-pinguin room."),
-			ACHIEVEMENT_SIMPLE_ENTRY("LBA_ACH_007", "I do what I want!", "Get the syrup in the pharmacy before going to Twinsen's house."),
-			ACHIEVEMENT_SIMPLE_ENTRY("LBA_ACH_008", "Fanboy", "Talk to the Star Wars fanboy."),
-			ACHIEVEMENT_SIMPLE_ENTRY("LBA_ACH_009", "Secret breaker", "Find the secret passage in the museum."),
-			ACHIEVEMENT_SIMPLE_ENTRY("LBA_ACH_010", "Seasickness", "Unlock the second video of the ferry trip."),
-			ACHIEVEMENT_SIMPLE_ENTRY("LBA_ACH_011", "Croesus", "Have at least 500 Kashes in your wallet."),
-			ACHIEVEMENT_SIMPLE_ENTRY("LBA_ACH_012", "In your face", "Unlock the 4 videos in which Twinsen gets a slap."),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
+	{"lba", Common::STEAM_ACHIEVEMENTS, "397330"},
 
-	{0, Common::UNK_ACHIEVEMENTS, 0, {STATS_LISTEND}, {ACHIEVEMENTS_LISTEND}}};
+	{0, Common::UNK_ACHIEVEMENTS, 0}
+};
 
 } // namespace TwinE
 
-#undef ACHIEVEMENT_SIMPLE_ENTRY
-#undef ACHIEVEMENT_NODESC_ENTRY
-#undef ACHIEVEMENT_HIDDEN_ENTRY
-#undef ACHIEVEMENTS_LISTEND
-
-#undef STATS_SIMPLE_ENTRY
-#undef STATS_NODESC_ENTRY
-#undef STATS_LISTEND
-#undef NOSTATS
-
 #endif // TWINE_ACHIEVEMENTS_H
diff --git a/engines/twine/metaengine.cpp b/engines/twine/metaengine.cpp
index a340960542..eaea5cd56d 100644
--- a/engines/twine/metaengine.cpp
+++ b/engines/twine/metaengine.cpp
@@ -197,12 +197,6 @@ const Common::AchievementsInfo TwinEMetaEngine::getAchievementsInfo(const Common
 		if (i->gameId == gameId && i->platform == platform) {
 			result.platform = i->platform;
 			result.appId = i->appId;
-			for (const Common::StatDescription *it = i->stats; it->id; ++it) {
-				result.stats.push_back(*it);
-			}
-			for (const Common::AchievementDescription *it = i->descriptions; it->id; ++it) {
-				result.descriptions.push_back(*it);
-			}
 			break;
 		}
 	}


Commit: a81d53450977906d58e220dac5e52905a2c5b5ec
    https://github.com/scummvm/scummvm/commit/a81d53450977906d58e220dac5e52905a2c5b5ec
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
WINTERMUTE: Remove data string from achivements_tables

Changed paths:
    engines/wintermute/achievements_tables.h
    engines/wintermute/metaengine.cpp


diff --git a/engines/wintermute/achievements_tables.h b/engines/wintermute/achievements_tables.h
index 820bb9e613..8365295b98 100644
--- a/engines/wintermute/achievements_tables.h
+++ b/engines/wintermute/achievements_tables.h
@@ -26,523 +26,28 @@ struct AchievementDescriptionList {
 	const char *gameId;
 	Common::AchievementsPlatform platform;
 	const char *appId;
-	const Common::StatDescription stats[64];
-	const Common::AchievementDescription descriptions[64];
 };
 
-#define ACHIEVEMENT_SIMPLE_ENTRY(id, title, comment) {id, false, title, comment}
-#define ACHIEVEMENT_NODESC_ENTRY(id, title) {id, false, title, ""}
-#define ACHIEVEMENT_HIDDEN_ENTRY(id, title) {id, true, title, ""}
-#define ACHIEVEMENTS_LISTEND {0,0,0,0}
-
-#define STATS_SIMPLE_ENTRY(id, comment, default) {id, comment, default}
-#define STATS_NODESC_ENTRY(id, default) {id, "", default}
-#define STATS_LISTEND {0,0,0}
-#define NOSTATS {STATS_LISTEND}
-
 static const AchievementDescriptionList achievementDescriptionList[] = {
-	{
-		"juliastars",
-		Common::GALAXY_ACHIEVEMENTS,
-		"1457085654",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHI_LAND", "Good morning Xenophon!", "You've managed to land on a planet."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHI_MIND", "Observant player", "You've obtained your first Mind'o'Matic."),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_JUNGLE", "Explorer"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHI_HACKER", "Hacker", "You have hacked into all datapads."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHI_MEMORY", "Sweet memories", "You have recovered some of J.U.L.I.A.'s erased memory clusters."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHI_TRAVEL", "Traveller", "You have visited all the planets."),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_LUDITE", "Luddite"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHI_SCIENTIST", "Real scientist", "You've analyzed every single object in the game."),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_PLAT1", "Pacifist"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_PLAT2", "Science over all"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_PLAT3", "Apathy"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHI_FIRST", "First contact", "You encountered your first sentient extraterrestrial being."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHI_UPGRADE", "Constructor Jr.", "You built your first upgrade."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHI_MEGABOT", "Megabot", "You've fully upgraded Mobot."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHI_REPAIR", "Plumber", "You repaired the probe. The result is that you won't probably die."),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_XIR1", "Deadly Xir"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_XIR2", "Xir Destroyer"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_XIR3", "Xir the Invincible"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_XIR4", "Jaeger"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_SCHI", "Dreamer"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_NIBIRU", "Artificial planet"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHI_FULLMIND", "Great mind", "You solved all Mind'o'Matics."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHI_COMPL", "Completist", "You have completed everything, the game had to offer."),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_END1", "Homesick"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_END2", "Adventurous"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_TRAPPER", "Trapper"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_DECRYPT", "Cryptoanalyst"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_CREDITS", "Voyeur"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHI_SCAN", "Methodical", "You scanned all the planets."),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_CORDES", "Unexpected visitor"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_UNT_START", "Untold: Hungry for more?"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_UNT_BLUE", "Untold: Blue solved"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_UNT_RED", "Untold: Red solved"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_UNT_PURPLE", "Untold: Purple solved"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_UNT_GREEN", "Untold: Green solved"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_UNT_YELLOW", "Untold: Yellow solved"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_UNT_WIRELESS", "Untold: Go wireless"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_UNT_BLINDER", "Untold: Blinder"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_UNT_AMPLIFIER", "Untold: Amplifier"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_UNT_FINISHED", "Untold: You know the story"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"juliastars",
-		Common::STEAM_ACHIEVEMENTS,
-		"257690",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHI_LAND", "Good morning Xenophon!", "You've managed to land on a planet."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHI_MIND", "Observant player", "You've obtained your first Mind'o'Matic."),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_JUNGLE", "Explorer"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHI_HACKER", "Hacker", "You have hacked into all datapads."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHI_MEMORY", "Sweet memories", "You have recovered some of J.U.L.I.A.'s erased memory clusters."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHI_TRAVEL", "Traveller", "You have visited all the planets."),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_LUDITE", "Luddite"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHI_SCIENTIST", "Real scientist", "You've analyzed every single object in the game."),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_PLAT1", "Pacifist"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_PLAT2", "Science over all"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_PLAT3", "Apathy"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHI_FIRST", "First contact", "You encountered your first sentient extraterrestrial being."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHI_UPGRADE", "Constructor Jr.", "You built your first upgrade."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHI_MEGABOT", "Megabot", "You've fully upgraded Mobot."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHI_REPAIR", "Plumber", "You repaired the probe. The result is that you won't probably die."),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_XIR1", "Deadly Xir"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_XIR2", "Xir Destroyer"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_XIR3", "Xir the Invincible"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_XIR4", "Jaeger"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_SCHI", "Dreamer"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_NIBIRU", "Artificial planet"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHI_FULLMIND", "Great mind", "You solved all Mind'o'Matics."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHI_COMPL", "Completist", "You have completed everything, the game had to offer."),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_END1", "Homesick"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_END2", "Adventurous"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_TRAPPER", "Trapper"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_DECRYPT", "Cryptoanalyst"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_CREDITS", "Voyeur"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHI_SCAN", "Methodical", "You scanned all the planets."),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_CORDES", "Unexpected visitor"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_UNT_START", "Untold: Hungry for more?"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_UNT_BLUE", "Untold: Blue solved"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_UNT_RED", "Untold: Red solved"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_UNT_PURPLE", "Untold: Purple solved"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_UNT_GREEN", "Untold: Green solved"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_UNT_YELLOW", "Untold: Yellow solved"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_UNT_WIRELESS", "Untold: Go wireless"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_UNT_BLINDER", "Untold: Blinder"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_UNT_AMPLIFIER", "Untold: Amplifier"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHI_UNT_FINISHED", "Untold: You know the story"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"reversion1",
-		Common::STEAM_ACHIEVEMENTS,
-		"270570",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_INTRODUCCION", "Introduction", "Start a new game"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_HABLAR_CON_CHICA_ANTES_DE_DARLE_LA_FOTO", "Lady Killer", "Talk to the girl"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_SEDANTE", "Sweet Dreams"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_GUARDIA_ENCINTADO", "The Caterpillar"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_PALO_GUARDIA", "Big Stick", "Grab the baseball bat"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_INSISTENTE", "Nuisance guy"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_LLAVE_DEPOSITO", "GateKeeper"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_HACER_FUEGO", "Incendiary"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_DESMAYAR_GUARDIA_MATAFUEGOS", "Off down!"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_ENGANCHA_SOGA", "Perfect escape"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_CHISTOSO", "Funny Man", "Read all the jokes in the graffiti"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_HABLAR_RATA", "The Piper", "Hypnotize a rat"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_TERMINAR_JUEGO", "The Escapist", "Escape from the hospital and finish the game"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_TIMING", "Marathon Runner", "Finish the game in less than 4 hours"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_TERMINAR_SIN_PISTAS", "The Riddle", "Finish the game without using the hint system"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_GANAR_2_VECES", "The perfect escapist", "Finish the game for a second time"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"reversion2",
-		Common::STEAM_ACHIEVEMENTS,
-		"281060",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_INTRODUCCION2", "Introduction", "Start a new game"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_PABLO", "Mystery man"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_ESTACIONES_SUBTE", "Subway Maraude", "Take a stroll through the subway"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_PUERTA_SECRETA", "Secret Door"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_BULLSEYE", "Bullseye", "Resolve the subway puzzle on your first attempt"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_MECANICO", "The Mechanic"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_ELECTRISISTA", "The Electrician"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_CARPINTERO", "The Carpenter"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_TOMB_RAIDER", "Tomb Raider"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_INFORMANTE", "The Informant"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_PASTELITO_EXPLOSIVO", "Exploding Candy"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_PASTELITO_SEDANTE", "Sleeping Candy"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_RECORDANDO", "Remembering"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_ESPANTA_MOSCAS", "Flier Shoosh"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_ESTUDIANTE", "The Student", "Visit the house of knowledge"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_ACOMODADOR", "Usher"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_BAJANDO_AGUA", "Lowering Water", "Find the right combination"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_PUERTA_LABORATORIO", "The final door"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_FINAL", "Winner", "Finish the game"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_CONOCEDOR_SUBTE", "Subway Erudite", "You know all the stations by heart"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_LADRON", "Thief"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_PALA_FRAGIL", "Broken Shovel", "You can't dig with a broken shovel"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_TIMING2", "Marathon Runner", "Finish the game in less than 4 hours"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_TERMINAR_SIN_PISTAS2", "Riddle Guy", "Finish the game without using the hint system"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACHIEVEMENT_GANAR_2_VECES2", "Double Winner", "Finish the game for a second time"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"reversion3",
-		Common::STEAM_ACHIEVEMENTS,
-		"281080",
-		NOSTATS,
-		{
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_INTRODUCCION3", "Introduction"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_HISTORIA_VICTORIA", "The orphan"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_CUPIDO", "Cupid"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_BORRACHO", "Drinking buddy"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_OSO_PELUCHE", "Teddy"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_HIT_THOSE_MOLES_2", "The fast and the furious"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_HIT_THOSE_MOLES_5", "Addict"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_RATON_GOMA", "The elephant"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_MONO_ATACANDO", "Don't feed the animals"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_MONO_ASUSTADO", "The planet of the apes"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_RESCATE_PABLO", "Rescuing Pablo"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_HOME_SWEET_HOME", "Home sweet home"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_LOCKSMITH", "Locksmith"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_FLUX_CAPACITOR", "Back to the future"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_VICTORIA_OCUPADA", "A very busy girl"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_FOTO_FLORENCIA", "Where there was fire"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_CRYSTAL_DISC", "Things to remember"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_CENTRAL_COMUNICACIONES_SIN_CREDENCIAL_CORRECTA", "Admission rights"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_TANGO_CON_FLORENCIA", "To the rhythm of tango"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_TURISTA", "Tourist"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_TANGO01", "Presidential plane"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_PUERTO_MADERO_FLORENCIA", "Until death do us part"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_CASA_ROSADA_MAIN_GATE", "The main gate"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_PARTES_ESTABILIZADOR", "The Pulse Stabilizer"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_NICOLAS_TIENE_TODO", "Back to the past"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_VIRUS_INSTALADO", "Phone home"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_ATRAPADO", "This is going to leave a mark"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_ESCAPAMOS", "A new hope"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_ESCAPE_SERGIO", "No turning back"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_CHOCOLATE", "Condor Chocolate"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_ATRAPAMOS_SERGIO", "Evil always pays"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_SAN_MARTIN", "The Liberator"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_TIMING_R3", "Marathon Runner"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_TERMINAR_SIN_PISTAS_R3", "Riddle Guy"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_TERMINAR_JUEGO_R3", "Winner"),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACHIEVEMENT_GANAR_2_VECES_R3", "Double Winner"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"oknytt",
-		Common::STEAM_ACHIEVEMENTS,
-		"286320",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("ach_chapter_1", "Awakening", "Finish chapter 1"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ach_chapter_2", "An extended hand", "Finish chapter 2"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ach_chapter_2_boss", "Into the darkness", "Escape the eyrie"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ach_chapter_3", "Beneath the surface", "Finish chapter 3"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ach_chapter_4", "A winding path", "Finish chapter 4"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ach_chapter_5", "Gate of promises", "Finish chapter 5"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ach_chapter_5_boss", "Dawn", "Escape the cavern"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ach_lore_library", "Folklorist", "Complete the lore library"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ach_grave", "A final resting place", "Find the nattramn's grave"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ach_mystery_carving", "Mystery carving", "It's a secret to everybody"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"sotv1",
-		Common::STEAM_ACHIEVEMENTS,
-		"286360",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_ZENMASTER", "Zen Master", "Survive a conversation with Anna Marano"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_LOOK_BIDET", "Italian memories", "Find a widespread sign of modern civilization"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_TUTORIAL_DONE", "James Murphy, doctor", "Finish the tutorial by stitching Mario's wound"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_CRI_STUFF", "The game is on", "Find the first clues about the Cristoforo investigation"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_HOLYPICS", "Harder path", "Solve a puzzle using the calendar at home"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_LEPRIGNANO", "Cyberspace Surfer", "Complete successfully your first online search"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_SCROOGE", "Cheap James", "Corrupt the Capena church keeper"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_DRAPE", "Take that, dr. Jones", "Solve the most cryptic puzzle left by Cristoforo"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_DRUNKNUN", "James the sinner", "Get ready for hell by ruining sister Candida"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_MARANO_DIARY", "Attentive reader", "Face an adventure cliche: the diary!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_CIGAR", "Not afraid of pixel hunting", "Find something that belonged to the jeweler"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_CARCHASE", "Lights off", "Follow the car to its destination without making mistakes"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_HOTSPOTTER", "Look, a bush!", "It's not pixel hunting if you have a magnifier..."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_NOLK27", "Mysterious password", "...it maybe makes sense in another game?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_SANTA", "Ho ho ho!", "Try entering from the chimney on December 24th"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_ELISA", "Audere Semper", "Elisa, we hold you in our hearts"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_SILVIA", "Lots of space here...", "Bring a sexy lady back home"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_MATH_ACE", "Math Ace", "Get the calculation wrong twice"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_COMPLETION", "Thrilled face", "Complete Shadows on the Vatican Act I"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_FAST_GAMER", "Dialogue skipper", "Complete the adventure in less than two hours"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"sotv2",
-		Common::STEAM_ACHIEVEMENTS,
-		"378630",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_FARMER", "Very appropriate, you fight like a priest", "Get rid of James by using no wrong answers."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_LAZYKILLER", "Lazy Killer", "Open the car trunk as lazy people do."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_GOAULD", "Silvia the Goa'uld", "Try camouflaging your voice to trick a thug."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_RAJATHUGS", "Queen of the shadows", "Get rid of all the thugs guarding the Raja."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_MURDER", "Fifth Commandment", "Commit murder."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_CROWBAR", "Now I am an adventure hero", "An adventure game with no crowbars? Make one!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_CHAMOMILE", "Chamomile needed", "Hit someone five times in a row just because you can."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_LADIESFIRST", "Ladies First", "Can't get enough of playing with Silvia, huh?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_TRUEDETECTIVE", "True Detective", "Complete James actions first."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_ACTIONADDICT", "Action Addict", "Complete Silvia actions first."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_COCKTAIL", "Cocktail Master", "Get the anti-hangover preparation right on first try"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_OLDSCHOOL", "Old School Adventurer", "Playing with pen and paper on your side?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_SEDUCTION", "Seduction Failure", "That's not going to work with him."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_MARIKA", "No shortcuts", "We understand you, but better avoid violence if possible!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_DAMSEL", "To the rescue!", "Find out where Silvia is taken captive."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_PIN", "Desperate attempt", "Sorry, this is not your tv's default PIN."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_COPYPASTER", "Copy Paster", "Nice try, but wrong!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_TEAMPLAY", "Team Play", "Wasn't \"team\" the best path of the three?"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_TOMBRAIDERS", "Tomb Raiders", "Complete Shadows on the Vatican Act II."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_DIALOGUELOVER", "Dialogue Lover", "Complete the adventure with dialogue skipping disabled."),
-			ACHIEVEMENT_HIDDEN_ENTRY("ACH_CHEATER", "Cheater"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"thelostcrowngha",
-		Common::STEAM_ACHIEVEMENTS,
-		"291710",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_HEDGE_WYTCH", "Hedge Wych", "Pick all available plants and flowers in the country lane."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_GOOD_LISTENER", "Good Listener", "Listen to the story on the Harbour Cottage telephone every day or night."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_FEARLESS", "Ghostbuster", "Vanquish the train tracks ghosts on the first attempt."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_GRAVE_DWELLER", "Grave Dweller", "Defeat the Darkness on the first attempt at Northfield."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_CAIRANS_FRIEND", "My Porcine Friend", "Feed Cairan the pig over 20 times."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_SWOT", "Swot", "Thoroughly explore the Saxton Museum."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_FILM_BUFF", "Film Buff", "Watch the films in Saxton Museum in their entirety."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_BOOKWORM", "Bookworm", "Read the books in Saxton Museum's Library and Celtic Corner."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_DETECTIVE", "True Detective", "Study all of the photographs on the wall in the Nightmare Room."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_LOBSTER_POTTY", "Lobster Potty", "Visit the lobster in The Bear."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_CAT_WATCHER", "Cat Watcher", "Provide Cat Watch with the names of 6 Saxton citizens."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_CRIME_LINE", "Saxton Sherlock", "Successfully identify the Saxton Skelton."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_PUNCH_JUDY_FAN", "That's the way to do it", "Keep watching the Punch and Judy show on Saxton Shore."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_RETRO_HORROR", "Retro Horror", "Travel on the Ghost Train 5 times."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_LUCKY_DIPPER", "Lucky Dipper", "See all items in the Lucky Dip."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_ENVIRONMENTALIST", "Environmentalist", "Photograph the rare Natterjack Toad."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_TWITCHER", "Bird Watcher", "Successfully photograph the Heron in Saxon Fens."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_CAT_SNAPPER", "Cat Snapper", "Photograph Mr Tibbs at Ulcombe."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_WE_THREE_KINGS", "We Three Kings", "Successfully photograph the statue of the three Saxon Kings."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_SAXTON_SNAPPER", "Paparazzi", "Win 1st place in the Saxton Snappers photography competition."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_EVP_MASTER", "Spirit Voices", "Collected all EVP's in the game."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_GHOST_PHOTOGRAPHER", "Phantom Photomaster", "Capture all possible Ghost Photos in the game."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_PEOPLE_PERSON", "Name Dropper", "Name all the figures seen in Ganwulfs tomb."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_ENVIRONMETER", "Ghosthunter", "Detect over 20 paranormal events in Harbour Cottage on the Environmeter."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_TO_THE_FUTURE", "To The Future", "Complete the Game."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_WARNING_CURIOUS", "A Warning to the Curious", "Listen to All of Hardachre's dire warnings."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_MIRROR_MIRROR", "Mirror Mirror", "Successfully call up the ghost in the Mirror."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_IN_DEEP", "Holistic Detective", "Study the documents and photos stolen from Hadden."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_CHECK_IN", "Home Sweet Home", "Find new accommodation in Saxton."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_SPY_GLASS", "Spy Glass", "Use the Telescope on May Day to see All views from the Little Lighthouse."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_ISOLATION", "Intrinsic Isolation", "Call out to sea more than once in the Fens."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_UNDERCURRENTS", "Undying Undercurrents", "Fix the warning sign near the Fenland Eye."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_CHATTER_BOX", "Chatter Box", "Fully talk with Nanny Noah on Saxton Shore."),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_NARCISSIST", "Narcissist", "Look in the Harbour Cottage mirror 5 times on Day 1"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"carolreed10",
-		Common::STEAM_ACHIEVEMENTS,
-		"337130",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("STIERN_HOUSE", "The Stierngranat family's house", "You've unlocked the Stierngranat Family's House."),
-			ACHIEVEMENT_SIMPLE_ENTRY("BLOOD_FALLS", "The Blood Falls", "You've unlocked the Blood Falls."),
-			ACHIEVEMENT_SIMPLE_ENTRY("SCHOOL_MUSEUM", "The School Museum", "You've unlocked the School Museum."),
-			ACHIEVEMENT_SIMPLE_ENTRY("JOHANSSON_PEAK", "The Johansson Peak", "You've unlocked Johansson Peak."),
-			ACHIEVEMENT_SIMPLE_ENTRY("SAINT_MARIA_CHURCH", "The Saint Maria Church", "You've unlocked the Saint Maria Church."),
-			ACHIEVEMENT_SIMPLE_ENTRY("EMHART_ZURICH", "Emhart Zurich", "You've found Emhart Zurich."),
-			ACHIEVEMENT_SIMPLE_ENTRY("MALTE_MUSEUM", "The Malte Stierngranat Museum", "You've unlocked the Malte Stierngranat Museum."),
-			ACHIEVEMENT_SIMPLE_ENTRY("PYRAMID", "The Pyramid", "You've unlocked the Pyramid."),
-			ACHIEVEMENT_SIMPLE_ENTRY("BARN", "The Barn", "You've unlocked the Barn."),
-			ACHIEVEMENT_SIMPLE_ENTRY("SONIC_FORGE", "The Sonic Forge", "You've unlocked the Sonic Forge."),
-			ACHIEVEMENT_SIMPLE_ENTRY("CAR_GRAVEYARD", "The car graveyard", "You've unlocked the Car Graveyard."),
-			ACHIEVEMENT_SIMPLE_ENTRY("MALTES_TRAIN", "Malte's Train Wagon", "You've unlocked Malte's Train Wagon."),
-			ACHIEVEMENT_SIMPLE_ENTRY("SKIING_HOUSE", "The Skiing House", "You've unlocked the Skiing House."),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"carolreed11",
-		Common::STEAM_ACHIEVEMENTS,
-		"340370",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("BOTTLE", "Mysterious bottle.", "You found the mysterious bottle!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("PIPE", "The last pipe.", "You found the last pipe!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("POEM", "The poem in the wallet.", "You found the poem in the wallet!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("BLINDFOLD", "The blindfold.", "You found the blindfold!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("WINDOW", "The window in the sun cannon.", "You found the window in the sun cannon!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("MINE_LADY", "Information about the Mine Lady.", "You've discovered information about the Mine Lady!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("PENCIL", "Artistic pencil.", "You found the artistic pencil!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("NOTE", "Note from Rick.", "You found the note from Rick!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("STONE", "Leaving no stone unturned.", "You've left no stone unturned!"),
-			ACHIEVEMENT_SIMPLE_ENTRY("TESTING", "Testing the waters.", "Testing the waters!"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"corrosion",
-		Common::STEAM_ACHIEVEMENTS,
-		"349140",
-		NOSTATS,
-		{
-			ACHIEVEMENT_NODESC_ENTRY("corrosion_achievement_0", "Cadet"),
-			ACHIEVEMENT_NODESC_ENTRY("corrosion_achievement_1", "Recruit Officer"),
-			ACHIEVEMENT_NODESC_ENTRY("corrosion_achievement_2", "Police Officer"),
-			ACHIEVEMENT_NODESC_ENTRY("corrosion_achievement_3", "Investigator"),
-			ACHIEVEMENT_NODESC_ENTRY("corrosion_achievement_4", "Detective 3rd Grade"),
-			ACHIEVEMENT_NODESC_ENTRY("corrosion_achievement_5", "Detective 2nd Grade"),
-			ACHIEVEMENT_NODESC_ENTRY("corrosion_achievement_6", "Detective 1st Grade"),
-			ACHIEVEMENT_NODESC_ENTRY("corrosion_achievement_7", "Specialist"),
-			ACHIEVEMENT_NODESC_ENTRY("corrosion_achievement_8", "Sergeant"),
-			ACHIEVEMENT_NODESC_ENTRY("corrosion_achievement_9", "Lieutenant"),
-			ACHIEVEMENT_NODESC_ENTRY("corrosion_achievement_10", "Captain"),
-			ACHIEVEMENT_NODESC_ENTRY("corrosion_achievement_11", "Deputy Inspector"),
-			ACHIEVEMENT_NODESC_ENTRY("corrosion_achievement_12", "Inspector"),
-			ACHIEVEMENT_NODESC_ENTRY("corrosion_achievement_13", "Deputy Chief"),
-			ACHIEVEMENT_NODESC_ENTRY("corrosion_achievement_14", "Assistant Chief"),
-			ACHIEVEMENT_NODESC_ENTRY("corrosion_achievement_15", "Chief"),
-			ACHIEVEMENT_NODESC_ENTRY("corrosion_achievement_16", "Deputy Commissioner"),
-			ACHIEVEMENT_NODESC_ENTRY("corrosion_achievement_17", "Commissioner"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"alphapolaris",
-		Common::STEAM_ACHIEVEMENTS,
-		"405780",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_POLARBEAR", "Vetenarian", "Treat a polar bear"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_DAY1", "A Day in the Arctic", "Survive the first day"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_SANDWICH", "Munchies", "Observe a nourishing treat"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_NOVA_TALK", "A Shoulder to Lean on", "Check on Nova in the first evening"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_THE_END", "The End", "Finish the game"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_BRA", "True Gentleman", "Discover something intimate"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_BOMBE_PERFECT", "Chef de Cuisine", "Create a perfect Bombe Alaska"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_BOMBE_OK", "Sous-Chef", "Create an OK Bombe Alaska"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_BOMBE_BAD", "Butcher", "Create a lousy Bombe Alaska"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_BOMBE_GASOLINE", "Chef le Octane", "Create a Bombe Alaska with gasoline"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_MCGUYVER", "You are not MacGyver", "Use the multitool way too much"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_SHOOTBLANKS", "Shootin' Blanks", "Jokingly try to shoot Tully"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_FRIEND_OF_THE_YEAR", "Friend of the Year", "Try to shoot Tully"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_TRIANGULATE", "Everyday I'm Calculatin'", "Successfully use triangulation on the first try"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_WEATHERMAN", "Weatherman", "Always check the temperature first thing in the morning"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_POTTYMOUTH", "Potty Mouth", "Use parser impropriately"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_GENERATOR", "Very Strong With Machines", "Start the generator on the first try"),
-			ACHIEVEMENT_SIMPLE_ENTRY("ACH_PARSER", "Parser Hero", "Make no mistakes in any of the parser puzzles"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"drdoylemotch",
-		Common::STEAM_ACHIEVEMENTS,
-		"574420",
-		NOSTATS,
-		{
-			ACHIEVEMENT_NODESC_ENTRY("ACT_1", "Act 1 Completed"),
-			ACHIEVEMENT_NODESC_ENTRY("ACT_2", "Act 2 Completed"),
-			ACHIEVEMENT_NODESC_ENTRY("ACT_3", "Act 3 Completed"),
-			ACHIEVEMENT_NODESC_ENTRY("ACT_4", "Act 4 Completed"),
-			ACHIEVEMENT_NODESC_ENTRY("ACT_5", "Act 5 Completed"),
-			ACHIEVEMENT_NODESC_ENTRY("CHAPMANS_LODGINGS", "The Missing Tenant"),
-			ACHIEVEMENT_NODESC_ENTRY("CONSTABULARY", "The Borough's Finest"),
-			ACHIEVEMENT_NODESC_ENTRY("CRIME_SCENE", "An Ugly Beating"),
-			ACHIEVEMENT_NODESC_ENTRY("FEATHERSTONE", "A Walk To The Shops"),
-			ACHIEVEMENT_NODESC_ENTRY("GRAND_HOTEL", "Luxurious Stay"),
-			ACHIEVEMENT_NODESC_ENTRY("HAT_WORKSHOP", "Revelations"),
-			ACHIEVEMENT_NODESC_ENTRY("HOSPITAL", "Home Sweet Home"),
-			ACHIEVEMENT_NODESC_ENTRY("PEMBERTON_EMPORIUM", "\"Fair\" Exchanges"),
-			ACHIEVEMENT_NODESC_ENTRY("PRESCOTT_LANE", "Breaking & Entering"),
-			ACHIEVEMENT_NODESC_ENTRY("THE_MARQUIS", "Dinner Is Served"),
-			ACHIEVEMENT_NODESC_ENTRY("WHITEHAVEN_HALL", "A Grand E\"state\" Of Affairs"),
-			ACHIEVEMENT_NODESC_ENTRY("DUBOIS_SMALLTALK", "The Man In Black"),
-			ACHIEVEMENT_NODESC_ENTRY("FEATHERSTONE_SMALLTALK", "Suited With Enthusiasm"),
-			ACHIEVEMENT_NODESC_ENTRY("HOBBS_SMALLTALK", "Gardening & Nasty Quarrels"),
-			ACHIEVEMENT_NODESC_ENTRY("INSPECTOR_SMALLTALK", "Friends In High Places"),
-			ACHIEVEMENT_NODESC_ENTRY("SHAW_SMALLTALK", "The Timid Suspect"),
-			ACHIEVEMENT_NODESC_ENTRY("LAWSON_SMALLTALK", "A Lady's Whims"),
-			ACHIEVEMENT_NODESC_ENTRY("MAID_SMALLTALK", "A Maid's Sadness"),
-			ACHIEVEMENT_NODESC_ENTRY("GIBBS_SMALLTALK", "The Landlady's Avarice"),
-			ACHIEVEMENT_NODESC_ENTRY("PIKE_SMALLTALK", "An Obstinate 'Old Dear'"),
-			ACHIEVEMENT_NODESC_ENTRY("PEMBERTON_SMALLTALK", "Shady Dealings"),
-			ACHIEVEMENT_NODESC_ENTRY("ROBERT_SMALLTALK", "Eager To Serve"),
-			ACHIEVEMENT_NODESC_ENTRY("1919_POISONING_CASE", "Solved The 1919 Case"),
-			ACHIEVEMENT_NODESC_ENTRY("ASHBERG_HEIST", "Solved The Ashberg Heist"),
-			ACHIEVEMENT_NODESC_ENTRY("CLOCHE_HAT", "Solved The Mystery of the Cloche Hat"),
-			ACHIEVEMENT_NODESC_ENTRY("BODYSLASHER", "Bodyslasher"),
-			ACHIEVEMENT_NODESC_ENTRY("CHEMISTRY_101", "Chemistry 101"),
-			ACHIEVEMENT_NODESC_ENTRY("BOOKWORM", "Bookworm"),
-			ACHIEVEMENT_NODESC_ENTRY("TABLE_FOR_ONE", "Table for one"),
-			ACHIEVEMENT_NODESC_ENTRY("COUPLES_CONSULTANT", "Couples consultant"),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{
-		"erinmyers",
-		Common::STEAM_ACHIEVEMENTS,
-		"1064660",
-		NOSTATS,
-		{
-			ACHIEVEMENT_SIMPLE_ENTRY("erin_myers_achieve_art", "Not An Art Lover", "More important things to be doing."),
-			ACHIEVEMENT_SIMPLE_ENTRY("erin_myers_achieve_chalk", "Chalk It Up To Experience", "A strange obsession with the chalkboard."),
-			ACHIEVEMENT_SIMPLE_ENTRY("erin_myers_achieve_coffee", "Coffee Connoisseur", "Coffee is nice. But not that coffee."),
-			ACHIEVEMENT_SIMPLE_ENTRY("erin_myers_achieve_hammer", "Hammering The Point", "Don't break down."),
-			ACHIEVEMENT_SIMPLE_ENTRY("erin_myers_achieve_wait", "Try Try Again", "Don't give up."),
-			ACHIEVEMENTS_LISTEND
-		}
-	},
-
-	{0, Common::UNK_ACHIEVEMENTS, 0, {STATS_LISTEND}, {ACHIEVEMENTS_LISTEND}}
+	{"alphapolaris", Common::STEAM_ACHIEVEMENTS, "405780"},
+	{"carolreed10", Common::STEAM_ACHIEVEMENTS, "337130"},
+	{"carolreed11", Common::STEAM_ACHIEVEMENTS, "340370"},
+	{"corrosion", Common::STEAM_ACHIEVEMENTS, "349140"},
+	{"drdoylemotch", Common::STEAM_ACHIEVEMENTS, "574420"},
+	{"erinmyers", Common::STEAM_ACHIEVEMENTS, "1064660"},
+	{"juliastars", Common::GALAXY_ACHIEVEMENTS, "1457085654"},
+	{"juliastars", Common::STEAM_ACHIEVEMENTS, "257690"},
+	{"juliauntold", Common::GALAXY_ACHIEVEMENTS, "1457085654"},
+	{"juliauntold", Common::STEAM_ACHIEVEMENTS, "257690"},
+	{"reversion1", Common::STEAM_ACHIEVEMENTS, "270570"},
+	{"reversion2", Common::STEAM_ACHIEVEMENTS, "281060"},
+	{"reversion3", Common::STEAM_ACHIEVEMENTS, "281080"},
+	{"oknytt", Common::STEAM_ACHIEVEMENTS, "286320"},
+	{"sotv1", Common::STEAM_ACHIEVEMENTS, "286360"},
+	{"sotv2", Common::STEAM_ACHIEVEMENTS, "378630"},
+	{"thelostcrowngha", Common::STEAM_ACHIEVEMENTS, "291710"},
+
+	{0, Common::UNK_ACHIEVEMENTS, 0}
 };
 
 } // End of namespace Wintermute
-
-#undef ACHIEVEMENT_SIMPLE_ENTRY
-#undef ACHIEVEMENT_NODESC_ENTRY
-#undef ACHIEVEMENT_HIDDEN_ENTRY
-#undef ACHIEVEMENTS_LISTEND
-
-#undef STATS_SIMPLE_ENTRY
-#undef STATS_NODESC_ENTRY
-#undef STATS_LISTEND
-#undef NOSTATS
diff --git a/engines/wintermute/metaengine.cpp b/engines/wintermute/metaengine.cpp
index 4d598adb0e..954a16b5ff 100644
--- a/engines/wintermute/metaengine.cpp
+++ b/engines/wintermute/metaengine.cpp
@@ -134,11 +134,6 @@ public:
 	const Common::AchievementsInfo getAchievementsInfo(const Common::String &target) const override {
 		Common::String gameId = ConfMan.get("gameid", target);
 
-		// HACK: "juliauntold" is a DLC of "juliastars", they share the same achievements list
-		if (gameId == "juliauntold") {
-			gameId = "juliastars";
-		}
-
 		Common::AchievementsPlatform platform = Common::STEAM_ACHIEVEMENTS;
 		if (ConfMan.get("extra", target).contains("GOG")) {
 			platform = Common::GALAXY_ACHIEVEMENTS;
@@ -150,12 +145,6 @@ public:
 			if (i->gameId == gameId && i->platform == platform) {
 				result.platform = i->platform;
 				result.appId = i->appId;
-				for (const Common::StatDescription *it = i->stats; it->id; it++) {
-					result.stats.push_back(*it);
-				}
-				for (const Common::AchievementDescription *it = i->descriptions; it->id; it++) {
-					result.descriptions.push_back(*it);
-				}
 				break;
 			}
 		}


Commit: 629e5c2783dc7fdee6561c555a6bfd967195fccc
    https://github.com/scummvm/scummvm/commit/629e5c2783dc7fdee6561c555a6bfd967195fccc
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
ACHIEVEMENTS: Load achivements descriptions from achievements.dat

Changed paths:
    common/achievements.cpp
    common/achievements.h


diff --git a/common/achievements.cpp b/common/achievements.cpp
index d2e1033f05..64e48bb6d1 100644
--- a/common/achievements.cpp
+++ b/common/achievements.cpp
@@ -23,8 +23,10 @@
 
 #include "common/achievements.h"
 #include "common/debug.h"
+#include "common/stream.h"
 #include "common/system.h"
 #include "common/translation.h"
+#include "common/unzip.h"
 
 namespace Common {
 
@@ -67,11 +69,11 @@ bool AchievementsManager::setActiveDomain(const AchievementsInfo &info) {
 	_iniFile = new Common::INIFile();
 	_iniFile->loadFromSaveFile(_iniFileName); // missing file is OK
 
-	_descriptions = info.descriptions;
+	loadAchievementsData(platform, info.appId.c_str());
 
-	for (uint32 i = 0; i < info.stats.size(); i++) {
-		if (!(_iniFile->hasKey(info.stats[i].id, "statistics"))) {
-			_iniFile->setKey(info.stats[i].id, "statistics", info.stats[i].start);
+	for (uint32 i = 0; i < _stats.size(); i++) {
+		if (!(_iniFile->hasKey(_stats[i].id, "statistics"))) {
+			_iniFile->setKey(_stats[i].id, "statistics", _stats[i].start);
 		}
 	}
 
@@ -82,6 +84,68 @@ bool AchievementsManager::setActiveDomain(const AchievementsInfo &info) {
 }
 
 
+bool AchievementsManager::loadAchievementsData(const char *platform, const char *appId) {
+	Archive *cfgZip = Common::makeZipArchive("achievements.dat");
+	if (!cfgZip) {
+		warning("achievements.dat is not found. Achievements messages are unavailable");
+		return false;
+	}
+
+	String cfgFileName = String::format("%s-%s.ini", platform, appId);
+	SeekableReadStream *stream = cfgZip->createReadStreamForMember(cfgFileName);
+	if (!stream) {
+		delete cfgZip;
+		warning("%s is not found in achievements.dat. Achievements messages are unavailable", cfgFileName.c_str());
+		return false;
+	}
+	
+	INIFile cfgFile;
+	if (!cfgFile.loadFromStream(*stream)) {
+		delete stream;
+		delete cfgZip;
+		warning("%s is corrupted in achievements.dat. Achievements messages are unavailable", cfgFileName.c_str());
+		return false;
+	}
+
+	_descriptions.clear();
+	for (int i = 0; i < 256; i++) {
+		String prefix = String::format("item_%d", i);
+
+		String id, title, comment, hidden;
+		cfgFile.getKey(prefix + "_id", "achievements:en", id);
+		cfgFile.getKey(prefix + "_title", "achievements:en", title);
+		cfgFile.getKey(prefix + "_comment", "achievements:en", comment);
+		cfgFile.getKey(prefix + "_hidden", "achievements:en", hidden);
+
+		if (id.empty()) {
+			break;
+		} else {
+			_descriptions.push_back({id, title, comment, !hidden.empty()});
+		}
+	}
+
+	_stats.clear();
+	for (int i = 0; i < 256; i++) {
+		String prefix = String::format("item_%d", i);
+
+		String id, comment, start;
+		cfgFile.getKey(prefix + "_id", "stats:en", id);
+		cfgFile.getKey(prefix + "_comment", "stats:en", comment);
+		cfgFile.getKey(prefix + "_start", "stats:en", start);
+
+		if (id.empty()) {
+			break;
+		} else {
+			_stats.push_back({id, comment, start});
+		}
+	}
+
+	delete stream;
+	delete cfgZip;
+	return true;
+}
+
+
 bool AchievementsManager::unsetActiveDomain() {
 	debug("AchievementsManager::unsetActiveDomain()");
 
@@ -91,6 +155,7 @@ bool AchievementsManager::unsetActiveDomain() {
 	_iniFile = nullptr;
 
 	_descriptions.clear();
+	_stats.clear();
 
 	return true;
 }
@@ -107,7 +172,7 @@ bool AchievementsManager::setAchievement(const String &id) {
 
 	String displayedMessage = id;
 	for (uint32 i = 0; i < _descriptions.size(); i++) {
-		if (strcmp(_descriptions[i].id, id.c_str()) == 0) {
+		if (_descriptions[i].id == id) {
 			displayedMessage = _descriptions[i].title;
 			break;
 		}
diff --git a/common/achievements.h b/common/achievements.h
index 3512c2ece3..63e6adbbd4 100644
--- a/common/achievements.h
+++ b/common/achievements.h
@@ -53,19 +53,19 @@ enum AchievementsPlatform {
  * Information structure for game-specific statistics.
  */
 struct StatDescription {
-	const char *id;      //!< Stat internal ID, such as "ITEMS_THROWN".
-	const char *comment; //!< Optional stat comment, such as "Items Thrown".
-	const char *start;   //!< Stat default value, such as "0".
+	String id;      //!< Stat internal ID, such as "ITEMS_THROWN".
+	String comment; //!< Optional stat comment, such as "Items Thrown".
+	String start;   //!< Stat default value, such as "0".
 };
 
 /**
  * Information structure for game-specific achievements.
  */
 struct AchievementDescription {
-	const char *id;      //!< Achievement internal ID, such as "ACHIEVEMENT_TIMING".
-	bool isHidden;       //!< Whether the achievement is hidden.
-	const char *title;   //!< Achievement displayed text, such as "Marathon Runner".
-	const char *comment; //!< Optional achievement hint or comment, such as "Finish the game in less than 4 hours".
+	String id;      //!< Achievement internal ID, such as "ACHIEVEMENT_TIMING".
+	String title;   //!< Achievement displayed text, such as "Marathon Runner".
+	String comment; //!< Optional achievement hint or comment, such as "Finish the game in less than 4 hours".
+	bool isHidden;  //!< Whether the achievement is hidden.
 };
 
 /**
@@ -74,8 +74,6 @@ struct AchievementDescription {
 struct AchievementsInfo {
 	Common::AchievementsPlatform platform;              //!< Achievements platform, such as "STEAM_ACHIEVEMENTS".
 	Common::String appId;                               //!< Achievements application ID of the given platform.
-	Common::Array<StatDescription> stats;               //!< Descriptions of all game stats.
-	Common::Array<AchievementDescription> descriptions; //!< Descriptions of all game achievements.
 
 	AchievementsInfo() { platform = Common::UNK_ACHIEVEMENTS; }
 };
@@ -91,9 +89,10 @@ public:
 	~AchievementsManager();
 
 	/**
-	 * Set a platform and application ID as active domain, store messages texts.
+	 * Set a game targeted by platform type and application ID as active domain.
+	 * Automaticly loads messages texts from achievements.dat.
 	 *
-	 * @param[in] info Achievements platform, application ID and messages information.
+	 * @param[in] info Achievements platform type and application ID.
 	 */
 	bool setActiveDomain(const AchievementsInfo &info);
 	bool unsetActiveDomain();                            //!< Unset the current active domain.
@@ -213,11 +212,14 @@ public:
 	/** @} */
 
 private:
+	bool loadAchievementsData(const char *platform, const char *appId);
+
 	float getStatFloatEx(const String &id, const String &section) const;
 	bool setStatFloatEx(const String &id, float value, const String &section) const;
 
 	INIFile *_iniFile;
 	String _iniFileName;
+	Common::Array<StatDescription> _stats;
 	Common::Array<AchievementDescription> _descriptions;
 };
 


Commit: dea2085eb29eae8db2ca672516a30fadb37c0065
    https://github.com/scummvm/scummvm/commit/dea2085eb29eae8db2ca672516a30fadb37c0065
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
ACHIEVEMENTS: Add API to get stats and achivements descriptions

Changed paths:
    common/achievements.cpp
    common/achievements.h


diff --git a/common/achievements.cpp b/common/achievements.cpp
index 64e48bb6d1..8d6516c29a 100644
--- a/common/achievements.cpp
+++ b/common/achievements.cpp
@@ -344,4 +344,48 @@ bool AchievementsManager::resetAllStats() {
 }
 
 
+uint16 AchievementsManager::getAchievementCount() const {
+	if (!isReady()) {
+		return 0;
+	}
+
+	return _descriptions.size();
+}
+
+
+const AchievementDescription *AchievementsManager::getAchievementDescription(uint16 index) const {
+	if (!isReady()) {
+		return nullptr;
+	}
+
+	if (index >= _descriptions.size()) {
+		return nullptr;
+	}
+
+	return &(_descriptions[index]);
+}
+
+
+uint16 AchievementsManager::getStatCount() const {
+	if (!isReady()) {
+		return 0;
+	}
+
+	return _stats.size();
+}
+
+
+const StatDescription *AchievementsManager::getStatDescription(uint16 index) const {
+	if (!isReady()) {
+		return nullptr;
+	}
+
+	if (index >= _stats.size()) {
+		return nullptr;
+	}
+
+	return &(_stats[index]);
+}
+
+
 } // End of namespace Common
diff --git a/common/achievements.h b/common/achievements.h
index 63e6adbbd4..daee3df7dc 100644
--- a/common/achievements.h
+++ b/common/achievements.h
@@ -211,6 +211,41 @@ public:
 
 	/** @} */
 
+	/**
+	 * @name Methods for getting achievements and statistics descriptions
+	 * @{
+	 */
+
+	/**
+	 * Get number of achivement descriptions available.
+	 *
+	 */
+	uint16 getAchievementCount() const;
+
+	/**
+	 * Get achivement description by index.
+	 *
+	 * @param[in] index	Internal index of the achievement, counted from 0 to (getAchievementCount() - 1)
+	 *
+	 */
+	const AchievementDescription *getAchievementDescription(uint16 index) const;
+
+	/**
+	 * Get number of stat descriptions available.
+	 *
+	 */
+	uint16 getStatCount() const;
+
+	/**
+	 * Get stat description by index.
+	 *
+	 * @param[in] index	Internal index of the stat, counted from 0 to (getStatCount() - 1)
+	 *
+	 */
+	const StatDescription *getStatDescription(uint16 index) const;
+
+	/** @} */
+
 private:
 	bool loadAchievementsData(const char *platform, const char *appId);
 


Commit: bc595911f67b8f777ea26724d631d5074ad05956
    https://github.com/scummvm/scummvm/commit/bc595911f67b8f777ea26724d631d5074ad05956
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
WINTERMUTE: Use AchMan to get achivements descriptions

Changed paths:
    engines/wintermute/ext/wme_steam.cpp


diff --git a/engines/wintermute/ext/wme_steam.cpp b/engines/wintermute/ext/wme_steam.cpp
index 88b6b4c84a..0577781535 100644
--- a/engines/wintermute/ext/wme_steam.cpp
+++ b/engines/wintermute/ext/wme_steam.cpp
@@ -119,8 +119,9 @@ bool SXSteamAPI::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisSta
 		stack->correctParams(1);
 		uint32 index = (uint32) stack->pop()->getInt();
 
-		if (index < _achievementsInfo.descriptions.size()) {
-			stack->pushString(_achievementsInfo.descriptions[index].id);
+		const Common::AchievementDescription *descr = AchMan.getAchievementDescription(index);
+		if (descr) {
+			stack->pushString(descr->id.c_str());
 		} else {
 			stack->pushNULL();
 		}
@@ -212,7 +213,7 @@ ScValue *SXSteamAPI::scGetProperty(const Common::String &name) {
 	// NumAchievements (RO)
 	//////////////////////////////////////////////////////////////////////////
 	else if (name == "NumAchievements") {
-		_scValue->setInt(_achievementsInfo.descriptions.size());
+		_scValue->setInt(AchMan.getAchievementCount());
 		return _scValue;
 	}
 	//////////////////////////////////////////////////////////////////////////


Commit: a59108911d9a3b85e6a3ab8c0ef8d39d10007c5a
    https://github.com/scummvm/scummvm/commit/a59108911d9a3b85e6a3ab8c0ef8d39d10007c5a
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
GUI: Use AchMan to get achievements descriptions

Changed paths:
    engines/dialogs.cpp
    gui/editgamedialog.cpp
    gui/options.cpp
    gui/options.h


diff --git a/engines/dialogs.cpp b/engines/dialogs.cpp
index 751f87c826..cd2ab8466a 100644
--- a/engines/dialogs.cpp
+++ b/engines/dialogs.cpp
@@ -333,14 +333,14 @@ ConfigDialog::ConfigDialog() :
 	//
 	// The Achievements & The Statistics tabs
 	//
-	Common::AchievementsInfo achievementsInfo = metaEngine->getAchievementsInfo(gameDomain);
-	if (!achievementsInfo.descriptions.empty()) {
+	AchMan.setActiveDomain(metaEngine->getAchievementsInfo(gameDomain));
+	if (AchMan.getAchievementCount()) {
 		tab->addTab(_("Achievements"), "GlobalConfig_Achievements");
-		addAchievementsControls(tab, "GlobalConfig_Achievements.", achievementsInfo);
+		addAchievementsControls(tab, "GlobalConfig_Achievements.");
 	}
-	if (!achievementsInfo.stats.empty()) {
-		tab->addTab(_("Statistics"), "GameOptions_Achievements");
-		addStatisticsControls(tab, "GameOptions_Achievements.", achievementsInfo);
+	if (AchMan.getStatCount()) {
+		tab->addTab(_("Statistics"), "GlobalConfig_Achievements");
+		addStatisticsControls(tab, "GlobalConfig_Achievements.");
 	}
 
 	// Activate the first tab
diff --git a/gui/editgamedialog.cpp b/gui/editgamedialog.cpp
index 7af01b4e77..319cf17a4b 100644
--- a/gui/editgamedialog.cpp
+++ b/gui/editgamedialog.cpp
@@ -365,14 +365,14 @@ EditGameDialog::EditGameDialog(const String &domain)
 	//
 	if (enginePlugin) {
 		const MetaEngine &metaEngine = enginePlugin->get<MetaEngine>();
-		Common::AchievementsInfo achievementsInfo = metaEngine.getAchievementsInfo(domain);
-		if (achievementsInfo.descriptions.size() > 0) {
+		AchMan.setActiveDomain(metaEngine.getAchievementsInfo(domain));
+		if (AchMan.getAchievementCount()) {
 			tab->addTab(_("Achievements"), "GameOptions_Achievements");
-			addAchievementsControls(tab, "GameOptions_Achievements.", achievementsInfo);
+			addAchievementsControls(tab, "GameOptions_Achievements.");
 		}
-		if (achievementsInfo.stats.size() > 0) {
+		if (AchMan.getStatCount()) {
 			tab->addTab(_("Statistics"), "GameOptions_Achievements");
-			addStatisticsControls(tab, "GameOptions_Achievements.", achievementsInfo);
+			addStatisticsControls(tab, "GameOptions_Achievements.");
 		}
 	}
 
diff --git a/gui/options.cpp b/gui/options.cpp
index 3744d1374a..6daeeb3532 100644
--- a/gui/options.cpp
+++ b/gui/options.cpp
@@ -1189,16 +1189,14 @@ void OptionsDialog::addKeyMapperControls(GuiObject *boss, const Common::String &
 	_keymapperWidget = new Common::RemapWidget(boss, prefix + "Container", keymaps);
 }
 
-void OptionsDialog::addAchievementsControls(GuiObject *boss, const Common::String &prefix, const Common::AchievementsInfo &info) {
-	AchMan.setActiveDomain(info);
-
+void OptionsDialog::addAchievementsControls(GuiObject *boss, const Common::String &prefix) {
 	GUI::ScrollContainerWidget *scrollContainer;
 	scrollContainer = new GUI::ScrollContainerWidget(boss, prefix + "Container", "");
 	scrollContainer->setBackgroundType(GUI::ThemeEngine::kWidgetBackgroundNo);
 
 	uint16 nAchieved = 0;
 	uint16 nHidden = 0;
-	uint16 nMax = info.descriptions.size();
+	uint16 nMax = AchMan.getAchievementCount();
 
 	uint16 lineHeight = g_gui.xmlEval()->getVar("Globals.Line.Height");
 	uint16 yStep = lineHeight;
@@ -1206,13 +1204,14 @@ void OptionsDialog::addAchievementsControls(GuiObject *boss, const Common::Strin
 	uint16 yPos = lineHeight + yStep * 3;
 	uint16 progressBarWidth = 240;
 	uint16 width = g_system->getOverlayWidth() <= 320 ? 240 : 410;
-	uint16 descrDelta = g_system->getOverlayWidth() <= 320 ? 25 : 30;
+	uint16 commentDelta = g_system->getOverlayWidth() <= 320 ? 25 : 30;
 
 	for (int16 viewAchieved = 1; viewAchieved >= 0; viewAchieved--) {
 		// run this twice, first view all achieved, then view all non-hidden & non-achieved
 
 		for (uint16 idx = 0; idx < nMax ; idx++) {
-			int16 isAchieved = AchMan.isAchieved(info.descriptions[idx].id) ? 1 : 0;
+			const Common::AchievementDescription *descr = AchMan.getAchievementDescription(idx);
+			int16 isAchieved = AchMan.isAchieved(descr->id) ? 1 : 0;
 
 			if (isAchieved != viewAchieved) {
 				continue;
@@ -1222,19 +1221,19 @@ void OptionsDialog::addAchievementsControls(GuiObject *boss, const Common::Strin
 				nAchieved++;
 			}
 
-			if (!isAchieved && info.descriptions[idx].isHidden) {
+			if (!isAchieved && descr->isHidden) {
 				nHidden++;
 				continue;
 			}
 
 			CheckboxWidget *checkBox;
-			checkBox = new CheckboxWidget(scrollContainer, lineHeight, yPos, width, yStep, Common::U32String(info.descriptions[idx].title));
+			checkBox = new CheckboxWidget(scrollContainer, lineHeight, yPos, width, yStep, Common::U32String(descr->title));
 			checkBox->setEnabled(false);
 			checkBox->setState(isAchieved);
 			yPos += yStep;
 
-	        if (info.descriptions[idx].comment && strlen(info.descriptions[idx].comment) > 0) {
-				new StaticTextWidget(scrollContainer, lineHeight + descrDelta, yPos, width - descrDelta, yStep, Common::U32String(info.descriptions[idx].comment), Graphics::kTextAlignStart, Common::U32String(), ThemeEngine::kFontStyleNormal);
+	        if (!descr->comment.empty()) {
+				new StaticTextWidget(scrollContainer, lineHeight + commentDelta, yPos, width - commentDelta, yStep, Common::U32String(descr->comment), Graphics::kTextAlignStart, Common::U32String(), ThemeEngine::kFontStyleNormal);
 				yPos += yStep;
 			}
 
@@ -1260,14 +1259,12 @@ void OptionsDialog::addAchievementsControls(GuiObject *boss, const Common::Strin
 	}
 }
 
-void OptionsDialog::addStatisticsControls(GuiObject *boss, const Common::String &prefix, const Common::AchievementsInfo &info) {
-	AchMan.setActiveDomain(info);
-
+void OptionsDialog::addStatisticsControls(GuiObject *boss, const Common::String &prefix) {
 	GUI::ScrollContainerWidget *scrollContainer;
 	scrollContainer = new GUI::ScrollContainerWidget(boss, prefix + "Container", "");
 	scrollContainer->setBackgroundType(GUI::ThemeEngine::kWidgetBackgroundNo);
 
-	uint16 nMax = info.stats.size();
+	uint16 nMax = AchMan.getStatCount();
 
 	uint16 lineHeight = g_gui.xmlEval()->getVar("Globals.Line.Height");
 	uint16 yStep = lineHeight;
@@ -1276,12 +1273,10 @@ void OptionsDialog::addStatisticsControls(GuiObject *boss, const Common::String
 	uint16 width = g_system->getOverlayWidth() <= 320 ? 240 : 410;
 
 	for (uint16 idx = 0; idx < nMax ; idx++) {
-		Common::String key = info.stats[idx].id;
-		if (info.stats[idx].comment) {
-			key = info.stats[idx].comment;
-		}
+		const Common::StatDescription *descr = AchMan.getStatDescription(idx);
 
-		Common::String value = AchMan.getStatRaw(info.stats[idx].id);
+		Common::String key = descr->comment.empty() ? descr->id : descr->comment;
+		Common::String value = AchMan.getStatRaw(descr->id);
 
 		Common::U32String str = Common::U32String::format("%s: %s", key.c_str(), value.c_str());
 		new StaticTextWidget(scrollContainer, lineHeight, yPos, width, yStep, str, Graphics::kTextAlignStart);
diff --git a/gui/options.h b/gui/options.h
index d53c19b2d1..a2af96d97c 100644
--- a/gui/options.h
+++ b/gui/options.h
@@ -91,8 +91,8 @@ protected:
 
 	void addControlControls(GuiObject *boss, const Common::String &prefix);
 	void addKeyMapperControls(GuiObject *boss, const Common::String &prefix, const Common::Array<Common::Keymap *> &keymaps, const Common::String &domain);
-	void addAchievementsControls(GuiObject *boss, const Common::String &prefix, const Common::AchievementsInfo &info);
-	void addStatisticsControls(GuiObject *boss, const Common::String &prefix, const Common::AchievementsInfo &info);
+	void addAchievementsControls(GuiObject *boss, const Common::String &prefix);
+	void addStatisticsControls(GuiObject *boss, const Common::String &prefix);
 	void addGraphicControls(GuiObject *boss, const Common::String &prefix);
 	void addShaderControls(GuiObject *boss, const Common::String &prefix);
 	void addAudioControls(GuiObject *boss, const Common::String &prefix);


Commit: b1e8fa62697540dbebdb8d1af415969e7a9754e4
    https://github.com/scummvm/scummvm/commit/b1e8fa62697540dbebdb8d1af415969e7a9754e4
Author: lolbot-iichan (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
ACHIEVEMENTS: Fix Testbed statistics id

Changed paths:
    devtools/create_achievements/static/achman-testbed.ini
    dists/engine-data/achievements.dat


diff --git a/devtools/create_achievements/static/achman-testbed.ini b/devtools/create_achievements/static/achman-testbed.ini
index df6d6923b4..0e818cc2de 100644
--- a/devtools/create_achievements/static/achman-testbed.ini
+++ b/devtools/create_achievements/static/achman-testbed.ini
@@ -1,5 +1,5 @@
 [stats:en]
-item_0_id=EVERYTHINGWORKS
+item_0_id=NUM_TESTS
 item_0_comment=Number of tests run
 item_0_start=0
 [achievements:en]
diff --git a/dists/engine-data/achievements.dat b/dists/engine-data/achievements.dat
index d5de72cb99..8ad5abae8f 100644
Binary files a/dists/engine-data/achievements.dat and b/dists/engine-data/achievements.dat differ


Commit: f4a07756be433cb7a49c57dcf4a101be8aa4e77d
    https://github.com/scummvm/scummvm/commit/f4a07756be433cb7a49c57dcf4a101be8aa4e77d
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
DEVTOOLS: Add some error checking to create_achievements

Changed paths:
    devtools/create_achievements/create_achievements.sh
    devtools/create_achievements/steam_achievements.py


diff --git a/devtools/create_achievements/create_achievements.sh b/devtools/create_achievements/create_achievements.sh
index 27fd4c8fc7..83ccbdc503 100644
--- a/devtools/create_achievements/create_achievements.sh
+++ b/devtools/create_achievements/create_achievements.sh
@@ -1,5 +1,9 @@
 #!/bin/sh
 
+set -e
+
+trap "echo FAILURE: $0 failed to create achievements.dat" ERR
+
 #AGS games:
 python steam_achievements.py -v --steamid 80310
 python steam_achievements.py -v --steamid 80330
@@ -84,4 +88,7 @@ python steam_achievements.py -v --steamid 574420
 python steam_achievements.py -v --steamid 1064660
 
 zip -9j achievements.dat gen/* static/*
-mv -vf achievements.dat ../../dists/engine-data
\ No newline at end of file
+mv -vf achievements.dat ../../dists/engine-data
+
+echo SUCCESS
+exit 0
diff --git a/devtools/create_achievements/steam_achievements.py b/devtools/create_achievements/steam_achievements.py
index 89a46b4597..66c8fb9655 100644
--- a/devtools/create_achievements/steam_achievements.py
+++ b/devtools/create_achievements/steam_achievements.py
@@ -36,6 +36,7 @@ try:
 	achievements_columns = 3 # id, text, img
 	achievements_entries = int(len(achievements_rows) / achievements_columns)
 	if achievements_entries == 0:
+		sys.stderr.write("found NO achievements\n".format(achievements_entries))
 		sys.exit(127)
 
 	if args.verbose:
@@ -62,8 +63,14 @@ try:
 	for i in range(achievements_entries):
 		idx   = achievements_columns * i
 		id    = achievements_rows[idx + 0].text.strip()
-		title = achievements_rows[idx + 1].text.strip().split("\n")[0]
-		descr = achievements_rows[idx + 1].text.strip().split("\n")[1]
+		texts = achievements_rows[idx + 1].text.strip().split("\n")
+
+		if len(texts) != 2:
+			sys.stderr.write("Unexpected description format: %s\n".format(repr(texts)))
+			sys.exit(127)
+
+		title = texts[0]
+		descr = texts[1]
 		hide  = descr == "Hidden."
 		if descr in ["No description.", "Hidden."]:
 			descr = ""
@@ -97,3 +104,4 @@ try:
 
 except requests.exceptions.RequestException as e:
 	print(e)
+	sys.exit(127)


Commit: a857fc7dc361713ef9c7e0a4613dd798e6f441ca
    https://github.com/scummvm/scummvm/commit/a857fc7dc361713ef9c7e0a4613dd798e6f441ca
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
DEVTOOLS: Wrap python calls into functions

Changed paths:
    devtools/create_achievements/create_achievements.sh


diff --git a/devtools/create_achievements/create_achievements.sh b/devtools/create_achievements/create_achievements.sh
index 83ccbdc503..71d468f458 100644
--- a/devtools/create_achievements/create_achievements.sh
+++ b/devtools/create_achievements/create_achievements.sh
@@ -4,88 +4,99 @@ set -e
 
 trap "echo FAILURE: $0 failed to create achievements.dat" ERR
 
+add_steam() {
+    python steam_achievements.py -v --steamid "$1"
+    echo -----------------------------------------
+}
+
+add_steamlike_gog() {
+    python steam_achievements.py -v --steamid "$1" --saveasgalaxyid "$2"
+    echo -----------------------------------------
+}
+
 #AGS games:
-python steam_achievements.py -v --steamid 80310
-python steam_achievements.py -v --steamid 80330
-python steam_achievements.py -v --steamid 80340
-python steam_achievements.py -v --steamid 80350
-python steam_achievements.py -v --steamid 80360
-python steam_achievements.py -v --steamid 212050
-python steam_achievements.py -v --steamid 227000
-python steam_achievements.py -v --steamid 236930
-python steam_achievements.py -v --steamid 252370
-python steam_achievements.py -v --steamid 253110
-python steam_achievements.py -v --steamid 264560
-python steam_achievements.py -v --steamid 270610
-python steam_achievements.py -v --steamid 270610 --saveasgalaxyid 1469845437
-python steam_achievements.py -v --steamid 279260
-python steam_achievements.py -v --steamid 283180
-python steam_achievements.py -v --steamid 283880
-python steam_achievements.py -v --steamid 288930
-python steam_achievements.py -v --steamid 296850
-python steam_achievements.py -v --steamid 302690
-python steam_achievements.py -v --steamid 307570
-python steam_achievements.py -v --steamid 307580
-python steam_achievements.py -v --steamid 336130
-python steam_achievements.py -v --steamid 336140
-python steam_achievements.py -v --steamid 338420
-python steam_achievements.py -v --steamid 357490
-python steam_achievements.py -v --steamid 364350
-python steam_achievements.py -v --steamid 364390
-python steam_achievements.py -v --steamid 367110
-python steam_achievements.py -v --steamid 370910
-python steam_achievements.py -v --steamid 370910 --saveasgalaxyid 1460710709
-python steam_achievements.py -v --steamid 396090
-python steam_achievements.py -v --steamid 420180
-python steam_achievements.py -v --steamid 425600
-python steam_achievements.py -v --steamid 425600 --saveasgalaxyid 1444830704
-python steam_achievements.py -v --steamid 439310
-python steam_achievements.py -v --steamid 468530
-python steam_achievements.py -v --steamid 509920
-python steam_achievements.py -v --steamid 551840
-python steam_achievements.py -v --steamid 556060
-python steam_achievements.py -v --steamid 556060 --saveasgalaxyid 1745746005
-python steam_achievements.py -v --steamid 561770
-python steam_achievements.py -v --steamid 595560
-python steam_achievements.py -v --steamid 603870
-python steam_achievements.py -v --steamid 610900
-python steam_achievements.py -v --steamid 631570
-python steam_achievements.py -v --steamid 631570 --saveasgalaxyid 1845001352
-python steam_achievements.py -v --steamid 654550
-python steam_achievements.py -v --steamid 673850
-python steam_achievements.py -v --steamid 761460
-python steam_achievements.py -v --steamid 782280
-python steam_achievements.py -v --steamid 872750
-python steam_achievements.py -v --steamid 872750 --saveasgalaxyid 1455980545
-python steam_achievements.py -v --steamid 904750
-python steam_achievements.py -v --steamid 1028740
-python steam_achievements.py -v --steamid 1133950
-python steam_achievements.py -v --steamid 1142230
-python steam_achievements.py -v --steamid 1147030
-python steam_achievements.py -v --steamid 1181570
-python steam_achievements.py -v --steamid 1220930
-python steam_achievements.py -v --steamid 1251910
-python steam_achievements.py -v --steamid 1270590
+add_steam 80310
+add_steam 80310
+add_steam 80330
+add_steam 80340
+add_steam 80350
+add_steam 80360
+add_steam 212050
+add_steam 227000
+add_steam 236930
+add_steam 252370
+add_steam 253110
+add_steam 264560
+add_steam 270610
+add_steamlike_gog 270610 1469845437
+add_steam 279260
+add_steam 283180
+add_steam 283880
+add_steam 288930
+add_steam 296850
+add_steam 302690
+add_steam 307570
+add_steam 307580
+add_steam 336130
+add_steam 336140
+add_steam 338420
+add_steam 357490
+add_steam 364350
+add_steam 364390
+add_steam 367110
+add_steam 370910
+add_steamlike_gog 370910 1460710709
+add_steam 396090
+add_steam 420180
+add_steam 425600
+add_steamlike_gog 425600 1444830704
+add_steam 439310
+add_steam 468530
+add_steam 509920
+add_steam 551840
+add_steam 556060
+add_steamlike_gog 556060 1745746005
+add_steam 561770
+add_steam 595560
+add_steam 603870
+add_steam 610900
+add_steam 631570
+add_steamlike_gog 631570 1845001352
+add_steam 654550
+add_steam 673850
+add_steam 761460
+add_steam 782280
+add_steam 872750
+add_steamlike_gog 872750 1455980545
+add_steam 904750
+add_steam 1028740
+add_steam 1133950
+add_steam 1142230
+add_steam 1147030
+add_steam 1181570
+add_steam 1220930
+add_steam 1251910
+add_steam 1270590
 
 #TWINE games:
-python steam_achievements.py -v --steamid 397330
+add_steam 397330
 
 #WME games:
-python steam_achievements.py -v --steamid 257690
-python steam_achievements.py -v --steamid 257690 --saveasgalaxyid 1457085654
-python steam_achievements.py -v --steamid 270570
-python steam_achievements.py -v --steamid 281060
-python steam_achievements.py -v --steamid 281080
-python steam_achievements.py -v --steamid 286320
-python steam_achievements.py -v --steamid 286360
-python steam_achievements.py -v --steamid 378630
-python steam_achievements.py -v --steamid 291710
-python steam_achievements.py -v --steamid 337130
-python steam_achievements.py -v --steamid 340370
-python steam_achievements.py -v --steamid 349140
-python steam_achievements.py -v --steamid 405780
-python steam_achievements.py -v --steamid 574420
-python steam_achievements.py -v --steamid 1064660
+add_steam 257690
+add_steamlike_gog 257690 1457085654
+add_steam 270570
+add_steam 281060
+add_steam 281080
+add_steam 286320
+add_steam 286360
+add_steam 378630
+add_steam 291710
+add_steam 337130
+add_steam 340370
+add_steam 349140
+add_steam 405780
+add_steam 574420
+add_steam 1064660
 
 zip -9j achievements.dat gen/* static/*
 mv -vf achievements.dat ../../dists/engine-data


Commit: d3ec544b93afc30c00e2c80559dd17b9904c1dcf
    https://github.com/scummvm/scummvm/commit/d3ec544b93afc30c00e2c80559dd17b9904c1dcf
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
DEVTOOLS: Clean /gen/ before generating new files

Changed paths:
    devtools/create_achievements/create_achievements.sh


diff --git a/devtools/create_achievements/create_achievements.sh b/devtools/create_achievements/create_achievements.sh
index 71d468f458..f306238724 100644
--- a/devtools/create_achievements/create_achievements.sh
+++ b/devtools/create_achievements/create_achievements.sh
@@ -14,6 +14,8 @@ add_steamlike_gog() {
     echo -----------------------------------------
 }
 
+rm -f gen/*
+
 #AGS games:
 add_steam 80310
 add_steam 80310


Commit: 92fd6a81aa438c9bd4afbfd1769ae5c600c2251c
    https://github.com/scummvm/scummvm/commit/92fd6a81aa438c9bd4afbfd1769ae5c600c2251c
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
DEVTOOLS: Add a TODO about 7zip for future refactorings

Changed paths:
    devtools/create_achievements/create_achievements.sh


diff --git a/devtools/create_achievements/create_achievements.sh b/devtools/create_achievements/create_achievements.sh
index f306238724..321db25f76 100644
--- a/devtools/create_achievements/create_achievements.sh
+++ b/devtools/create_achievements/create_achievements.sh
@@ -100,6 +100,8 @@ add_steam 405780
 add_steam 574420
 add_steam 1064660
 
+#TODO: check for 7zip, since it produces smaller files
+
 zip -9j achievements.dat gen/* static/*
 mv -vf achievements.dat ../../dists/engine-data
 


Commit: 7bf46d4a7d4aba66bd034a32caacf946d09f3e71
    https://github.com/scummvm/scummvm/commit/7bf46d4a7d4aba66bd034a32caacf946d09f3e71
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
DEVTOOLS: Strip date and extra parameters while packing

Changed paths:
    devtools/create_achievements/create_achievements.sh
    dists/engine-data/achievements.dat


diff --git a/devtools/create_achievements/create_achievements.sh b/devtools/create_achievements/create_achievements.sh
index 321db25f76..4e51a8e0a9 100644
--- a/devtools/create_achievements/create_achievements.sh
+++ b/devtools/create_achievements/create_achievements.sh
@@ -102,7 +102,8 @@ add_steam 1064660
 
 #TODO: check for 7zip, since it produces smaller files
 
-zip -9j achievements.dat gen/* static/*
+touch --date="2000-01-01 00:00:00" gen/* static/*
+zip -9jX achievements.dat gen/* static/*
 mv -vf achievements.dat ../../dists/engine-data
 
 echo SUCCESS
diff --git a/dists/engine-data/achievements.dat b/dists/engine-data/achievements.dat
index 8ad5abae8f..184172e008 100644
Binary files a/dists/engine-data/achievements.dat and b/dists/engine-data/achievements.dat differ


Commit: 6d6a6d2bc64efebb15c03ea6912c0efbe1aa0c44
    https://github.com/scummvm/scummvm/commit/6d6a6d2bc64efebb15c03ea6912c0efbe1aa0c44
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
DEVTOOLS: Refactor to fix pylint warnings

Changed paths:
    devtools/create_achievements/steam_achievements.py


diff --git a/devtools/create_achievements/steam_achievements.py b/devtools/create_achievements/steam_achievements.py
index 66c8fb9655..7d3b18d89a 100644
--- a/devtools/create_achievements/steam_achievements.py
+++ b/devtools/create_achievements/steam_achievements.py
@@ -1,13 +1,13 @@
 #!/usr/bin/env python3
 
 # This script takes two parameters
-#   - the first is the Steam game id, 
+#   - the first is the Steam game id,
 #   - the second (optional) is the GOG Galaxy game id.
 #
 # Example:
 #   ./steam_achievements.py --steamid 631570 [--galaxyid 1845001352]
 #
-# It will extract the Steam stats information to create the ScummVM ini-files for achievements.dat file
+# It will extract the Steam stats information to create the ScummVM ini-files for achievements.dat
 # For GOG versions of the games we assume that they are using same achievements as Steam versions
 
 import os
@@ -18,55 +18,43 @@ import requests
 from requests_html import HTMLSession
 
 parser = argparse.ArgumentParser()
-parser.add_argument("--steamid", required=True, default="631570", type=int, help="The Steam game id")
-parser.add_argument("--saveasgalaxyid", type=int, help="The GOG Galaxy game id")
+parser.add_argument("--steamid", required=True, default="631570", type=int, help="Steam game id")
+parser.add_argument("--saveasgalaxyid", type=int, help="GOG Galaxy game id")
 parser.add_argument("-v", "--verbose", action="store_true")
 args = parser.parse_args()
 
-statsurl = "https://steamdb.info/app/{0}/stats/".format(args.steamid)
-if args.verbose:
-	sys.stderr.write("query {0}\n".format(statsurl))
-
-try:
-	session = HTMLSession()
-	response = session.get(statsurl)
-	game = response.html.xpath("//h1[@itemprop='name']/text()")
+def parse_steamdb(statsurl):
+	response = HTMLSession().get(statsurl)
 
 	achievements_rows = response.html.xpath("//tr[starts-with(@id, 'achievement-')]/td")
-	achievements_columns = 3 # id, text, img
+	achievements_columns = 3 # name, text, img
 	achievements_entries = int(len(achievements_rows) / achievements_columns)
 	if achievements_entries == 0:
-		sys.stderr.write("found NO achievements\n".format(achievements_entries))
+		sys.stderr.write("found NO achievements\n")
 		sys.exit(127)
 
-	if args.verbose:
-		sys.stderr.write("found {0} achievements\n".format(achievements_entries))
-
 	stats_rows = response.html.xpath("//tr[starts-with(@id, 'stat-')]/td")
-	stats_columns = 3 # id, text, default value, your value
+	stats_columns = 3 # name, text, default value
 	stats_entries = int(len(stats_rows) / stats_columns)
 
-	if args.verbose:
-		sys.stderr.write("found {0} stats\n".format(stats_entries))
-
 	stats_en = {}
 	for i in range(stats_entries):
 		idx   = stats_columns * i
-		id    = stats_rows[idx + 0].text.strip()
+		name  = stats_rows[idx + 0].text.strip()
 		descr = stats_rows[idx + 1].text.strip()
 		start = stats_rows[idx + 2].text.strip()
 		if descr == "no name":
 			descr = ""
-		stats_en[i] = (id, descr, start)
+		stats_en[i] = (name, descr, start)
 
 	achievements_en = {}
 	for i in range(achievements_entries):
 		idx   = achievements_columns * i
-		id    = achievements_rows[idx + 0].text.strip()
+		name  = achievements_rows[idx + 0].text.strip()
 		texts = achievements_rows[idx + 1].text.strip().split("\n")
 
 		if len(texts) != 2:
-			sys.stderr.write("Unexpected description format: %s\n".format(repr(texts)))
+			sys.stderr.write("Unexpected description format: {0}\n".format(repr(texts)))
 			sys.exit(127)
 
 		title = texts[0]
@@ -74,34 +62,50 @@ try:
 		hide  = descr == "Hidden."
 		if descr in ["No description.", "Hidden."]:
 			descr = ""
-		achievements_en[i] = (id, title, descr, hide)
+		achievements_en[i] = (name, title, descr, hide)
 
-	if args.saveasgalaxyid:
-		fname = "galaxy-{0}.ini".format(args.saveasgalaxyid)
-	else:
-		fname = "steam-{0}.ini".format(args.steamid)
-	fname = "gen" + os.sep + fname
+	return achievements_en, stats_en
 
-	if args.verbose:
-		sys.stderr.write("writing: {0}\n".format(fname))
+def write_ini(fname, achievements, stats):
 	with codecs.open(fname, "w", encoding="utf-8") as out:
-		if stats_en:
-			out.write("[stats:en]\n")
-			for i, (id, descr, start) in stats_en.items():
-				out.write("item_%d_id=%s\n" % (i, id))
+		for lang, it in stats.items():
+			out.write("[stats:{0}]\n".format(lang))
+			for i, (name, descr, start) in it.items():
+				out.write("item_%d_id=%s\n" % (i, name))
 				if descr:
 					out.write("item_%d_comment=%s\n" % (i, descr))
 				out.write("item_%d_start=%s\n" % (i, start))
-		if achievements_en:
-			out.write("[achievements:en]\n")
-			for i, (id, title, descr, hide) in achievements_en.items():
-				out.write("item_%d_id=%s\n" % (i, id))
+		for lang, it in achievements.items():
+			out.write("[achievements:{0}]\n".format(lang))
+			for i, (name, title, descr, hide) in it.items():
+				out.write("item_%d_id=%s\n" % (i, name))
 				out.write("item_%d_title=%s\n" % (i, title))
 				if descr:
 					out.write("item_%d_comment=%s\n" % (i, descr))
 				if hide:
 					out.write("item_%d_hidden=true\n" % i)
 
+try:
+	STATS_URL = "https://steamdb.info/app/{0}/stats/".format(args.steamid)
+	if args.verbose:
+		sys.stderr.write("query {0}\n".format(STATS_URL))
+
+	achievements_en, stats_en = parse_steamdb(STATS_URL)
+	if args.verbose:
+		sys.stderr.write("found {0} achievements\n".format(len(achievements_en)))
+		sys.stderr.write("found {0} stats\n".format(len(stats_en)))
+
+	if args.saveasgalaxyid:
+		FNAME = "galaxy-{0}.ini".format(args.saveasgalaxyid)
+	else:
+		FNAME = "steam-{0}.ini".format(args.steamid)
+	if args.verbose:
+		sys.stderr.write("writing: {0}\n".format(FNAME))
+
+	achievements = {"en": achievements_en}
+	stats = {"en": stats_en} if stats_en else {}
+	write_ini(os.path.join("gen", FNAME), achievements, stats)
+
 except requests.exceptions.RequestException as e:
 	print(e)
 	sys.exit(127)


Commit: 7d0a96818d9f98fa2c58f2003da157019048840b
    https://github.com/scummvm/scummvm/commit/7d0a96818d9f98fa2c58f2003da157019048840b
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
GUI: Mark var as const

Changed paths:
    gui/options.cpp


diff --git a/gui/options.cpp b/gui/options.cpp
index 6daeeb3532..482b45c060 100644
--- a/gui/options.cpp
+++ b/gui/options.cpp
@@ -1275,7 +1275,7 @@ void OptionsDialog::addStatisticsControls(GuiObject *boss, const Common::String
 	for (uint16 idx = 0; idx < nMax ; idx++) {
 		const Common::StatDescription *descr = AchMan.getStatDescription(idx);
 
-		Common::String key = descr->comment.empty() ? descr->id : descr->comment;
+		const Common::String &key = descr->comment.empty() ? descr->id : descr->comment;
 		Common::String value = AchMan.getStatRaw(descr->id);
 
 		Common::U32String str = Common::U32String::format("%s: %s", key.c_str(), value.c_str());


Commit: 14037bea52a48a068cb0a3ee5107ef37c877e9dd
    https://github.com/scummvm/scummvm/commit/14037bea52a48a068cb0a3ee5107ef37c877e9dd
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
DISTS: Add VERSION to achivements.dat

Changed paths:
  A devtools/create_achievements/static/VERSION
    dists/engine-data/achievements.dat


diff --git a/devtools/create_achievements/static/VERSION b/devtools/create_achievements/static/VERSION
new file mode 100644
index 0000000000..56a6051ca2
--- /dev/null
+++ b/devtools/create_achievements/static/VERSION
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/dists/engine-data/achievements.dat b/dists/engine-data/achievements.dat
index 184172e008..d957b9d9e1 100644
Binary files a/dists/engine-data/achievements.dat and b/dists/engine-data/achievements.dat differ


Commit: fa018b4b84afb89771037ae8442fb831b2e3956f
    https://github.com/scummvm/scummvm/commit/fa018b4b84afb89771037ae8442fb831b2e3956f
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
ACHIEVEMENTS: Check VERSION at achievements.dat

Changed paths:
    common/achievements.cpp


diff --git a/common/achievements.cpp b/common/achievements.cpp
index 8d6516c29a..511780a7af 100644
--- a/common/achievements.cpp
+++ b/common/achievements.cpp
@@ -91,6 +91,22 @@ bool AchievementsManager::loadAchievementsData(const char *platform, const char
 		return false;
 	}
 
+	SeekableReadStream *verStream = cfgZip->createReadStreamForMember("VERSION");
+	if (!verStream) {
+		delete cfgZip;
+		warning("VERSION file is not found in achievements.dat. Achievements messages are unavailable");
+		return false;
+	}
+
+	String version = verStream->readLine();
+	delete verStream;
+
+	if (version != "1") {
+		delete cfgZip;
+		warning("Incompatible VERSION file in achievements.dat. Achievements messages are unavailable");
+		return false;
+	}
+
 	String cfgFileName = String::format("%s-%s.ini", platform, appId);
 	SeekableReadStream *stream = cfgZip->createReadStreamForMember(cfgFileName);
 	if (!stream) {


Commit: afdca7246c70fd8edf6b286ce715e95bf904ca8a
    https://github.com/scummvm/scummvm/commit/afdca7246c70fd8edf6b286ce715e95bf904ca8a
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
DEVTOOLS: Show 'git commit' message at create_achievements

Changed paths:
    devtools/create_achievements/create_achievements.sh


diff --git a/devtools/create_achievements/create_achievements.sh b/devtools/create_achievements/create_achievements.sh
index 4e51a8e0a9..ea6de9a351 100644
--- a/devtools/create_achievements/create_achievements.sh
+++ b/devtools/create_achievements/create_achievements.sh
@@ -106,5 +106,10 @@ touch --date="2000-01-01 00:00:00" gen/* static/*
 zip -9jX achievements.dat gen/* static/*
 mv -vf achievements.dat ../../dists/engine-data
 
+git add gen/* ../../dists/engine-data/achievements.dat
+
 echo SUCCESS
+echo Please run:
+echo "    git commit -m 'ACHIEVEMENTS: Generated description files'"
+
 exit 0


Commit: 3334bce8a0e71ca4d9446f754c86b2210f2db8be
    https://github.com/scummvm/scummvm/commit/3334bce8a0e71ca4d9446f754c86b2210f2db8be
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
DEVTOOLS: Add options to create_achivements.sh

Changed paths:
    devtools/create_achievements/create_achievements.sh


diff --git a/devtools/create_achievements/create_achievements.sh b/devtools/create_achievements/create_achievements.sh
index ea6de9a351..1ad7b56010 100644
--- a/devtools/create_achievements/create_achievements.sh
+++ b/devtools/create_achievements/create_achievements.sh
@@ -4,17 +4,44 @@ set -e
 
 trap "echo FAILURE: $0 failed to create achievements.dat" ERR
 
+usage() {
+    echo "Usage: $0 [OPTION]..."
+    echo "    -f, --force    Forced regeneration of all files"
+    echo "    -h, --help     Show usage text"
+    echo "    -v, --verbose  Verbose output"
+    exit 42
+}
+
 add_steam() {
-    python steam_achievements.py -v --steamid "$1"
-    echo -----------------------------------------
+    if [[ "$FORCE" == "1" || ! -f "gen/steam-$1.ini" ]]; then
+        python steam_achievements.py $VERBOSE --steamid "$1"
+        echo -----------------------------------------
+    fi
 }
 
 add_steamlike_gog() {
-    python steam_achievements.py -v --steamid "$1" --saveasgalaxyid "$2"
-    echo -----------------------------------------
+    if [[ "$FORCE" == "1" || ! -f "gen/galaxy-$2.ini" ]]; then
+        python steam_achievements.py $VERBOSE --steamid "$1" --saveasgalaxyid "$2"
+        echo -----------------------------------------
+    fi
 }
 
-rm -f gen/*
+FORCE=0
+VERBOSE=""
+
+while [ -n "$1" ]; do
+    case "$1" in
+        -f|--force)   FORCE=1 ;;
+        -h|--help)    usage ;;
+        -v|--verbose) VERBOSE="-v" ;;
+        *) echo "$1 is invalid option"; usage ;;
+    esac
+    shift
+done
+
+if [[ "$FORCE" == "1" ]]; then
+    rm -f gen/*
+fi
 
 #AGS games:
 add_steam 80310
@@ -103,8 +130,12 @@ add_steam 1064660
 #TODO: check for 7zip, since it produces smaller files
 
 touch --date="2000-01-01 00:00:00" gen/* static/*
-zip -9jX achievements.dat gen/* static/*
-mv -vf achievements.dat ../../dists/engine-data
+if [[ "$VERBOSE" == "-v" ]]; then
+    zip -9jX achievements.dat gen/* static/*
+else
+    zip -9jX achievements.dat gen/* static/* >/dev/null
+fi
+mv $VERBOSE -f achievements.dat ../../dists/engine-data
 
 git add gen/* ../../dists/engine-data/achievements.dat
 


Commit: 44f0ce5b39f4a78d453ff40ddc38d1ddb068b91c
    https://github.com/scummvm/scummvm/commit/44f0ce5b39f4a78d453ff40ddc38d1ddb068b91c
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
DEVTOOLS: Get achievements translations lists from SteamDB

Changed paths:
    devtools/create_achievements/steam_achievements.py


diff --git a/devtools/create_achievements/steam_achievements.py b/devtools/create_achievements/steam_achievements.py
index 7d3b18d89a..c6ed733b6f 100644
--- a/devtools/create_achievements/steam_achievements.py
+++ b/devtools/create_achievements/steam_achievements.py
@@ -23,8 +23,37 @@ parser.add_argument("--saveasgalaxyid", type=int, help="GOG Galaxy game id")
 parser.add_argument("-v", "--verbose", action="store_true")
 args = parser.parse_args()
 
-def parse_steamdb(statsurl):
-	response = HTMLSession().get(statsurl)
+def parse_steamdb_info(url):
+	response = HTMLSession().get(url)
+
+	info_rows = response.html.xpath("//div[@id='info']/table/tbody/tr/td")
+	info_columns = 2 # id, text,
+	info_entries = int(len(info_rows) / info_columns)
+	if info_entries == 0:
+		sys.stderr.write("found NO information data\n")
+		sys.exit(127)
+
+	FORMAT_CHECKER_STRING = "Store Release Date"
+	is_format_ok = False
+
+	langs = "English"
+	for i in range(info_entries):
+		idx        = info_columns * i
+		info_key   = info_rows[idx + 0].text.strip()
+		info_value = info_rows[idx + 1].text.strip()
+		if info_key == FORMAT_CHECKER_STRING:
+			is_format_ok = True
+		if info_key == "Achievement Languages":
+			langs = info_value
+
+	if not is_format_ok:
+		sys.stderr.write("found NO {0}\nEntries: {1}".format(FORMAT_CHECKER_STRING, [i.text for i in info_rows][::2]))
+		sys.exit(127)
+
+	return langs.split(", ")
+
+def parse_steamdb_stats(url):
+	response = HTMLSession().get(url)
 
 	achievements_rows = response.html.xpath("//tr[starts-with(@id, 'achievement-')]/td")
 	achievements_columns = 3 # name, text, img
@@ -54,7 +83,7 @@ def parse_steamdb(statsurl):
 		texts = achievements_rows[idx + 1].text.strip().split("\n")
 
 		if len(texts) != 2:
-			sys.stderr.write("Unexpected description format: {0}\n".format(repr(texts)))
+			sys.stderr.write("Unexpected description format: {0}\n".format(texts))
 			sys.exit(127)
 
 		title = texts[0]
@@ -66,6 +95,11 @@ def parse_steamdb(statsurl):
 
 	return achievements_en, stats_en
 
+def join_achievements_translation(achievements_en, translations):
+	achievements = {"en": achievements_en}
+
+	return achievements
+
 def write_ini(fname, achievements, stats):
 	with codecs.open(fname, "w", encoding="utf-8") as out:
 		for lang, it in stats.items():
@@ -90,20 +124,30 @@ try:
 	if args.verbose:
 		sys.stderr.write("query {0}\n".format(STATS_URL))
 
-	achievements_en, stats_en = parse_steamdb(STATS_URL)
+	achievements_en, stats_en = parse_steamdb_stats(STATS_URL)
 	if args.verbose:
 		sys.stderr.write("found {0} achievements\n".format(len(achievements_en)))
 		sys.stderr.write("found {0} stats\n".format(len(stats_en)))
 
+	INFO_URL = "https://steamdb.info/app/{0}/info/".format(args.steamid)
+	if args.verbose:
+		sys.stderr.write("query {0}\n".format(INFO_URL))
+	langs = parse_steamdb_info(INFO_URL)
+
+	if args.verbose:
+		sys.stderr.write("found langs: {0}\n".format(langs))
+	
+	translations = {"English":{}}
+
+	achievements = join_achievements_translation(achievements_en, translations)
+	stats = {"en": stats_en} if stats_en else {}
+
 	if args.saveasgalaxyid:
 		FNAME = "galaxy-{0}.ini".format(args.saveasgalaxyid)
 	else:
 		FNAME = "steam-{0}.ini".format(args.steamid)
 	if args.verbose:
 		sys.stderr.write("writing: {0}\n".format(FNAME))
-
-	achievements = {"en": achievements_en}
-	stats = {"en": stats_en} if stats_en else {}
 	write_ini(os.path.join("gen", FNAME), achievements, stats)
 
 except requests.exceptions.RequestException as e:


Commit: 7c72956687e991fcddf55cf5eac941b6afa2c25d
    https://github.com/scummvm/scummvm/commit/7c72956687e991fcddf55cf5eac941b6afa2c25d
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
DEVTOOLS: Get achievements translations from steamcommunity

Changed paths:
    devtools/create_achievements/steam_achievements.py


diff --git a/devtools/create_achievements/steam_achievements.py b/devtools/create_achievements/steam_achievements.py
index c6ed733b6f..f1924184c0 100644
--- a/devtools/create_achievements/steam_achievements.py
+++ b/devtools/create_achievements/steam_achievements.py
@@ -17,6 +17,26 @@ import argparse
 import requests
 from requests_html import HTMLSession
 
+# Format is: <SteamDB language name>: (<Steam API language code>, <unixLocale>)
+# For <SteamDB language name>, see verbose output of this tool
+# For <Steam API language code>, see https://partner.steamgames.com/doc/store/localization
+# For <unixLocale>, see "common/language.cpp"
+
+LANGUAGES = {
+	"English":             ("english",    "en"),
+	"Dutch":               ("dutch",      "nl_NL"),
+	"German":              ("german",     "de_DE"),
+	"French":              ("french",     "fr_FR"),
+	"Hungarian":           ("hungarian",  "hu_HU"),
+	"Italian":             ("italian",    "it_IT"),
+	"Polish":              ("polish",     "pl_PL"),
+	"Portuguese":          ("portuguese", "pt_PT"),
+	"Portuguese - Brazil": ("brazilian",  "pt_BR"),
+	"Russian":             ("russian",    "ru_RU"),
+	"Spanish - Spain":     ("spanish",    "es_ES"),
+	"Simplified Chinese":  ("schinese",   "zh_CN"),
+}
+
 parser = argparse.ArgumentParser()
 parser.add_argument("--steamid", required=True, default="631570", type=int, help="Steam game id")
 parser.add_argument("--saveasgalaxyid", type=int, help="GOG Galaxy game id")
@@ -95,9 +115,64 @@ def parse_steamdb_stats(url):
 
 	return achievements_en, stats_en
 
+def parse_steamcommunity_stats(url):
+	response = HTMLSession().get(url)
+
+	achievements_rows = response.html.xpath("//div[@class='achieveRow']")
+	achievements_entries = len(achievements_rows)
+	if achievements_entries == 0:
+		sys.stderr.write("found NO achievements\n")
+		sys.exit(127)
+
+	translation = {}
+	for idx in range(achievements_entries):
+		imgs  = achievements_rows[idx].xpath("//img/@src")
+		titles = achievements_rows[idx].xpath(".//div[@class='achieveTxt']/h3/text()")
+		descrs = achievements_rows[idx].xpath(".//div[@class='achieveTxt']/h5/text()")
+
+		if len(imgs) != 1:
+			sys.stderr.write("Unexpected xpath result: expected exactly one img tag per achievement\n")
+			sys.exit(127)
+		if len(titles) != 1:
+			sys.stderr.write("Unexpected xpath result: expected exactly one h3 tag per achievement\n")
+			sys.exit(127)
+		if len(descrs) > 1:
+			sys.stderr.write("Unexpected xpath result: expected zero or one h5 tag per achievement\n")
+			sys.exit(127)
+
+		translation[imgs[0]] = (titles[0].strip(), descrs[0].strip() if descrs else None)
+
+	return translation
+
 def join_achievements_translation(achievements_en, translations):
 	achievements = {"en": achievements_en}
 
+	entitle2img = {}
+	for img, (title, descr) in translations["English"].items():
+		entitle2img[title] = img
+
+	for l in translations.keys():
+		lang_id = LANGUAGES[l][1]
+		if lang_id == "en":
+			continue
+
+		achievements[lang_id] = {}
+		for i, (name, title, descr, hide) in achievements_en.items():
+			if  not title in entitle2img:
+				sys.stderr.write("Can't find '{0}' at {1}\n".format(title, entitle2img))
+				sys.exit(127)
+
+			t = translations[l][entitle2img[title]]
+			achievements[lang_id][i] = (name, t[0], t[1] if t[1] else descr, hide)
+
+		completely_same = True
+		for i, it in achievements_en.items():
+			if achievements[lang_id][i] != it:
+				completely_same = False
+				break
+		if completely_same:
+			del achievements[lang_id]
+
 	return achievements
 
 def write_ini(fname, achievements, stats):
@@ -138,6 +213,14 @@ try:
 		sys.stderr.write("found langs: {0}\n".format(langs))
 	
 	translations = {"English":{}}
+	if len(langs) > 1:
+		for l in langs:
+			steam_lang = LANGUAGES[l][0]
+			lang_id = LANGUAGES[l][1]
+			TRANSLATION_URL = "https://steamcommunity.com/stats/{0}/achievements?l={1}".format(args.steamid, steam_lang)
+			if args.verbose:
+				sys.stderr.write("query {0}\n".format(TRANSLATION_URL))
+			translations[l] = parse_steamcommunity_stats(TRANSLATION_URL)
 
 	achievements = join_achievements_translation(achievements_en, translations)
 	stats = {"en": stats_en} if stats_en else {}


Commit: cc20637e2b3bb66710f8e09f9f5405f43fce8ff4
    https://github.com/scummvm/scummvm/commit/cc20637e2b3bb66710f8e09f9f5405f43fce8ff4
Author: lolbot-iichan (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
ACHIEVEMENTS: Generated description files

Changed paths:
    devtools/create_achievements/gen/galaxy-1460710709.ini
    devtools/create_achievements/gen/galaxy-1745746005.ini
    devtools/create_achievements/gen/galaxy-1845001352.ini
    devtools/create_achievements/gen/steam-1142230.ini
    devtools/create_achievements/gen/steam-1251910.ini
    devtools/create_achievements/gen/steam-1270590.ini
    devtools/create_achievements/gen/steam-283880.ini
    devtools/create_achievements/gen/steam-286360.ini
    devtools/create_achievements/gen/steam-291710.ini
    devtools/create_achievements/gen/steam-370910.ini
    devtools/create_achievements/gen/steam-397330.ini
    devtools/create_achievements/gen/steam-420180.ini
    devtools/create_achievements/gen/steam-468530.ini
    devtools/create_achievements/gen/steam-551840.ini
    devtools/create_achievements/gen/steam-556060.ini
    devtools/create_achievements/gen/steam-561770.ini
    devtools/create_achievements/gen/steam-631570.ini
    devtools/create_achievements/gen/steam-761460.ini
    dists/engine-data/achievements.dat


diff --git a/devtools/create_achievements/gen/galaxy-1460710709.ini b/devtools/create_achievements/gen/galaxy-1460710709.ini
index c80839fec8..d29b643a82 100644
--- a/devtools/create_achievements/gen/galaxy-1460710709.ini
+++ b/devtools/create_achievements/gen/galaxy-1460710709.ini
@@ -59,3 +59,308 @@ item_18_hidden=true
 item_19_id=HookedOnCorleys
 item_19_title=Hooked on Corleys
 item_19_hidden=true
+[achievements:de_DE]
+item_0_id=FinishDayOne
+item_0_title=Aufs Katmobil gestiegen
+item_0_comment=Tag 1 abgeschlossen
+item_1_id=FinishDayTwo
+item_1_title=Wow, die sind hypnotisierend ...
+item_1_comment=Tag 2 abgeschlossen
+item_2_id=FinishDayThree
+item_2_title=Wir haben uns schon mal getroffen, oder nicht?
+item_2_comment=Tag 3 abgeschlossen
+item_3_id=FinishDayFour
+item_3_title=Sprung ins Ungewisse
+item_3_comment=Tag 4 abgeschlossen
+item_4_id=FinishGame
+item_4_title=Alles schon mal da gewesen
+item_4_comment=Das Spiel abgeschlossen
+item_5_id=Procrastinator
+item_5_title=Was du heute kannst besorgen ...
+item_5_hidden=true
+item_6_id=EnjoyingTheScenery
+item_6_title=Die Landschaft genießen
+item_6_hidden=true
+item_7_id=Hotwheels
+item_7_title=Heiße Reifen
+item_7_hidden=true
+item_8_id=Aww
+item_8_title=Aaah!
+item_8_hidden=true
+item_9_id=Undateable
+item_9_title=Kein Gespür für Romantik
+item_9_hidden=true
+item_10_id=MrBear
+item_10_title=Mr. Bär meldet sich zum Dienst!
+item_10_hidden=true
+item_11_id=Nocturnal
+item_11_title=Nachtaktiv
+item_11_hidden=true
+item_12_id=HowYouDoing
+item_12_title=Wie geht's denn so, Schätzchen?
+item_12_hidden=true
+item_13_id=RestingScowlyFace
+item_13_title=Von Natur aus mürrisch
+item_13_hidden=true
+item_14_id=Pyromaniac
+item_14_title=Pyromane
+item_14_hidden=true
+item_15_id=PassiveSmoking
+item_15_title=Passivraucher
+item_15_hidden=true
+item_16_id=FilmBuff
+item_16_title=Filmkenner
+item_16_hidden=true
+item_17_id=Heretic
+item_17_title=Ketzer
+item_17_hidden=true
+item_18_id=TriggerHappy
+item_18_title=Folterknecht
+item_18_hidden=true
+item_19_id=HookedOnCorleys
+item_19_title=Süchtig nach Corleys
+item_19_hidden=true
+[achievements:fr_FR]
+item_0_id=FinishDayOne
+item_0_title=Monter sur la Katmobile
+item_0_comment=A terminé le premier jour
+item_1_id=FinishDayTwo
+item_1_title=Oh, elles sont hypnotiques...
+item_1_comment=A terminé le deuxième jour
+item_2_id=FinishDayThree
+item_2_title=On s'est déjà rencontrés, n'est-ce pas ?
+item_2_comment=A terminé le troisième jour
+item_3_id=FinishDayFour
+item_3_title=Tomber dans le terrier
+item_3_comment=A terminé le quatrième jour
+item_4_id=FinishGame
+item_4_title=Déjà tout vu, déjà tout fait
+item_4_comment=A terminé le jeu
+item_5_id=Procrastinator
+item_5_title=Remet tout à demain
+item_5_hidden=true
+item_6_id=EnjoyingTheScenery
+item_6_title=Admirer le paysage
+item_6_hidden=true
+item_7_id=Hotwheels
+item_7_title=Pneus en feu
+item_7_hidden=true
+item_8_id=Aww
+item_8_title=Ooohh !
+item_8_hidden=true
+item_9_id=Undateable
+item_9_title=Célibataire à jamais
+item_9_hidden=true
+item_10_id=MrBear
+item_10_title=Monsieur Nounours, au rapport !
+item_10_hidden=true
+item_11_id=Nocturnal
+item_11_title=Nocturne
+item_11_hidden=true
+item_12_id=HowYouDoing
+item_12_title=Comment ça va TOI ?
+item_12_hidden=true
+item_13_id=RestingScowlyFace
+item_13_title=Expression naturellement antipathique
+item_13_hidden=true
+item_14_id=Pyromaniac
+item_14_title=Pyromane
+item_14_hidden=true
+item_15_id=PassiveSmoking
+item_15_title=Tabagisme passif
+item_15_hidden=true
+item_16_id=FilmBuff
+item_16_title=Cinéphile
+item_16_hidden=true
+item_17_id=Heretic
+item_17_title=Hérétique
+item_17_hidden=true
+item_18_id=TriggerHappy
+item_18_title=Gâchette facile
+item_18_hidden=true
+item_19_id=HookedOnCorleys
+item_19_title=Accro aux Corleys
+item_19_hidden=true
+[achievements:it_IT]
+item_0_id=FinishDayOne
+item_0_title=Sali sulla Katmobile
+item_0_comment=Hai finito il primo giorno
+item_1_id=FinishDayTwo
+item_1_title=Wow, sono proprio ipnotiche...
+item_1_comment=Hai finito il secondo giorno
+item_2_id=FinishDayThree
+item_2_title=Ci siamo già incontrati prima d'ora, vero?
+item_2_comment=Hai finito il terzo giorno.
+item_3_id=FinishDayFour
+item_3_title=Giù per la tana del bianconiglio
+item_3_comment=Hai finito il quarto giorno
+item_4_id=FinishGame
+item_4_title=Già visto tutto, già fatto tutto
+item_4_comment=Hai finito il gioco.
+item_5_id=Procrastinator
+item_5_title=Procrastinatore
+item_5_hidden=true
+item_6_id=EnjoyingTheScenery
+item_6_title=Ammira il paesaggio
+item_6_hidden=true
+item_7_id=Hotwheels
+item_7_title=Pneumatici di fuoco
+item_7_hidden=true
+item_8_id=Aww
+item_8_title=Ooohh!
+item_8_hidden=true
+item_9_id=Undateable
+item_9_title=Nessun appuntamento
+item_9_hidden=true
+item_10_id=MrBear
+item_10_title=Mister Orsacchiotto, a rapporto!
+item_10_hidden=true
+item_11_id=Nocturnal
+item_11_title=Notturno
+item_11_hidden=true
+item_12_id=HowYouDoing
+item_12_title=Come stai TU?
+item_12_hidden=true
+item_13_id=RestingScowlyFace
+item_13_title=Faccia istintivamente antipatica
+item_13_hidden=true
+item_14_id=Pyromaniac
+item_14_title=Piromane
+item_14_hidden=true
+item_15_id=PassiveSmoking
+item_15_title=Fumo passivo
+item_15_hidden=true
+item_16_id=FilmBuff
+item_16_title=Cinefilo
+item_16_hidden=true
+item_17_id=Heretic
+item_17_title=Eretico
+item_17_hidden=true
+item_18_id=TriggerHappy
+item_18_title=Grilletto facile
+item_18_hidden=true
+item_19_id=HookedOnCorleys
+item_19_title=Dipendenza dalle Corleys
+item_19_hidden=true
+[achievements:es_ES]
+item_0_id=FinishDayOne
+item_0_title=Subir al Katmóvil
+item_0_comment=Día uno terminado
+item_1_id=FinishDayTwo
+item_1_title=Vaya, son hipnóticas...
+item_1_comment=Día dos terminado
+item_2_id=FinishDayThree
+item_2_title=Nos conocemos de antes, ¿no?
+item_2_comment=Día tres terminado
+item_3_id=FinishDayFour
+item_3_title=Descender por la madriguera del conejo
+item_3_comment=Día cuatro terminado
+item_4_id=FinishGame
+item_4_title=Ya lo he visto, ya lo he hecho
+item_4_comment=Terminaste el juego
+item_5_id=Procrastinator
+item_5_title=Posponedora
+item_5_hidden=true
+item_6_id=EnjoyingTheScenery
+item_6_title=Disfrutando el paisaje
+item_6_hidden=true
+item_7_id=Hotwheels
+item_7_title=Hotwheels
+item_7_hidden=true
+item_8_id=Aww
+item_8_title=¡Ay!
+item_8_hidden=true
+item_9_id=Undateable
+item_9_title=Infechable
+item_9_hidden=true
+item_10_id=MrBear
+item_10_title=El Sr. Oso, ¡presente para el servicio!
+item_10_hidden=true
+item_11_id=Nocturnal
+item_11_title=Nocturno
+item_11_hidden=true
+item_12_id=HowYouDoing
+item_12_title=¿Cómo va ESO?
+item_12_hidden=true
+item_13_id=RestingScowlyFace
+item_13_title=Cara siempre enfurruñada
+item_13_hidden=true
+item_14_id=Pyromaniac
+item_14_title=Pirómana
+item_14_hidden=true
+item_15_id=PassiveSmoking
+item_15_title=Fumador pasivo
+item_15_hidden=true
+item_16_id=FilmBuff
+item_16_title=Fanática del cine
+item_16_hidden=true
+item_17_id=Heretic
+item_17_title=Hereje
+item_17_hidden=true
+item_18_id=TriggerHappy
+item_18_title=Gatillo fácil
+item_18_hidden=true
+item_19_id=HookedOnCorleys
+item_19_title=Adicta a las Corleys
+item_19_hidden=true
+[achievements:pl_PL]
+item_0_id=FinishDayOne
+item_0_title=Wsiądź na Katmobil
+item_0_comment=Ukończyłaś dzień pierwszy
+item_1_id=FinishDayTwo
+item_1_title=Wow, hipnotyczne...
+item_1_comment=Ukończyłaś dzień drugi
+item_2_id=FinishDayThree
+item_2_title=Spotkaliśmy się wcześniej, prawda?
+item_2_comment=Ukończyłaś dzień trzeci
+item_3_id=FinishDayFour
+item_3_title=Do króliczej dziury
+item_3_comment=Ukończyłaś dzień czwarty
+item_4_id=FinishGame
+item_4_title=Znam ten ból
+item_4_comment=Ukończyłaś grę
+item_5_id=Procrastinator
+item_5_title=Kunktator
+item_5_hidden=true
+item_6_id=EnjoyingTheScenery
+item_6_title=RozkoszujÄ…c siÄ™ widokiem
+item_6_hidden=true
+item_7_id=Hotwheels
+item_7_title=Nowe 4 kółka
+item_7_hidden=true
+item_8_id=Aww
+item_8_title=Oooch!
+item_8_hidden=true
+item_9_id=Undateable
+item_9_title=Nierandkowalna
+item_9_hidden=true
+item_10_id=MrBear
+item_10_title=Pan Miś gotowy do służby!
+item_10_hidden=true
+item_11_id=Nocturnal
+item_11_title=Ciemność widzę
+item_11_hidden=true
+item_12_id=HowYouDoing
+item_12_title=A jak ty siÄ™ miewasz?
+item_12_hidden=true
+item_13_id=RestingScowlyFace
+item_13_title=NadÄ…sana mina
+item_13_hidden=true
+item_14_id=Pyromaniac
+item_14_title=Piroman
+item_14_hidden=true
+item_15_id=PassiveSmoking
+item_15_title=Bierne palenie
+item_15_hidden=true
+item_16_id=FilmBuff
+item_16_title=Kinomaniak
+item_16_hidden=true
+item_17_id=Heretic
+item_17_title=Heretyczka
+item_17_hidden=true
+item_18_id=TriggerHappy
+item_18_title=Porażające doznania
+item_18_hidden=true
+item_19_id=HookedOnCorleys
+item_19_title=Uzależniona od Corleysów
+item_19_hidden=true
diff --git a/devtools/create_achievements/gen/galaxy-1745746005.ini b/devtools/create_achievements/gen/galaxy-1745746005.ini
index 45f5788830..b3b4601e53 100644
--- a/devtools/create_achievements/gen/galaxy-1745746005.ini
+++ b/devtools/create_achievements/gen/galaxy-1745746005.ini
@@ -74,3 +74,307 @@ item_23_comment=When the going gets rough...
 item_24_id=Achiev_25
 item_24_title=The Curtains Falls
 item_24_comment=Applause, please.
+[achievements:de_DE]
+item_0_id=Achiev_01
+item_0_title=Bürgerwehr
+item_0_comment=Dieser Taxifahrer hat seinen letzten Gast befördert…
+item_1_id=Achiev_02
+item_1_title=Alkoholiker
+item_1_comment=Cocktails steigen mir zu Kopf.
+item_2_id=Achiev_03
+item_2_title=Romantischer Detektiv
+item_2_comment=Als richtig harter Typ weißt du immer, wann du süß sein musst.
+item_3_id=Achiev_04
+item_3_title=Rollenspieler
+item_3_comment=Lächerliche kleine grüne Männer…
+item_4_id=Achiev_05
+item_4_title=Heldenhafte Tat
+item_4_comment=Da ist nur noch sein Gestank übrig…
+item_5_id=Achiev_06
+item_5_title=Guten Morgen
+item_5_comment=Wenn du einen tiefen Schlaf hast…
+item_6_id=Achiev_07
+item_6_title=Kaltblütiger Detektiv
+item_6_comment=Ich mag es, auf meinen besten Freund zu zählen.
+item_7_id=Achiev_08
+item_7_title=Schmuggler
+item_7_comment=Was ist ein Schmuggler ohne Visitenkarte?
+item_8_id=Achiev_09
+item_8_title=Grüner Daumen
+item_8_comment=Jetzt weiß ich, wofür Latein gut ist.
+item_9_id=Achiev_10
+item_9_title=Außerirdischer Eindringling
+item_9_comment=Es ist immer lustig, die Erde zu bedrohen…
+item_10_id=Achiev_11
+item_10_title=Babysitter
+item_10_comment=Vielleicht ein Nebenjob…
+item_11_id=Achiev_12
+item_11_title=Spürnase
+item_11_comment=Was ist ein Detektiv ohne seine Instinkte?
+item_12_id=Achiev_13
+item_12_title=Interferenz
+item_12_comment=Wer war das, Mario?
+item_13_id=Achiev_14
+item_13_title=Tieraktivist
+item_13_comment=Die Tiere müssen andere Tiere respektieren.
+item_14_id=Achiev_15
+item_14_title=Zeitbegrenzter Versuch
+item_14_comment=Geschwindigkeit ist mein zweiter Vorname.
+item_15_id=Achiev_16
+item_15_title=Altmodisch
+item_15_comment=Nichts geht über Old School.
+item_16_id=Achiev_17
+item_16_title=Sprinter
+item_16_comment=Hör niemals auf. Niemals.
+item_17_id=Achiev_18
+item_17_title=Hingebungsvoll
+item_17_comment=Assistenten werden geboren, nicht gemacht.
+item_18_id=Achiev_19
+item_18_title=Chronisch unentschlossen
+item_18_comment=Zweifel sind die Quelle der Weisheit.
+item_19_id=Achiev_20
+item_19_title=Versorger
+item_19_comment=Besteckschmuggel.
+item_20_id=Achiev_21
+item_20_title=Kenner
+item_20_comment=Den Cocktail bei ersten Mal.
+item_21_id=Achiev_22
+item_21_title=Cameo
+item_21_comment=Diese Spieleentwickler sind verrückt.
+item_22_id=Achiev_23
+item_22_title=Bestechender
+item_22_comment=So geht man mit Geld um.
+item_23_id=Achiev_24
+item_23_title=Ernsthaft jetzt
+item_23_comment=Wenn es hart kommt…
+item_24_id=Achiev_25
+item_24_title=Der Vorhang fällt
+item_24_comment=Beifall, bitte.
+[achievements:fr_FR]
+item_0_id=Achiev_01
+item_0_title=Justicier
+item_0_comment=Ce chauffeur de taxi a pris son dernier client…
+item_1_id=Achiev_02
+item_1_title=Porté sur la bouteille
+item_1_comment=L'alcool me monte à la tête.
+item_2_id=Achiev_03
+item_2_title=Détective Folamour
+item_2_comment=Un vrai dur sait quand se montrer tendre.
+item_3_id=Achiev_04
+item_3_title=Jeu de rôle
+item_3_comment=Ridicules petits hommes verts…
+item_4_id=Achiev_05
+item_4_title=Acte héroïque
+item_4_comment=Il ne reste plus que sa puanteur…
+item_5_id=Achiev_06
+item_5_title=Bonne journée
+item_5_comment=Quand on a le sommeil lourd…
+item_6_id=Achiev_07
+item_6_title=Détective à sang froid
+item_6_comment=J'aime pouvoir compter sur mon meilleur ami.
+item_7_id=Achiev_08
+item_7_title=Trafiquant
+item_7_comment=Qu'est-ce qu'un trafiquant sans carte de visite ?
+item_8_id=Achiev_09
+item_8_title=Pouces verts
+item_8_comment=J'ai enfin trouvé une utilité au latin.
+item_9_id=Achiev_10
+item_9_title=Envahisseur de l'espace
+item_9_comment=C'est toujours amusant de menacer la Terre…
+item_10_id=Achiev_11
+item_10_title=Baby-sitter
+item_10_comment=Peut-être pour arrondir les fins de mois…
+item_11_id=Achiev_12
+item_11_title=Nez infaillible
+item_11_comment=Qu'est-ce qu'un détective sans son instinct ?
+item_12_id=Achiev_13
+item_12_title=Interférence
+item_12_comment=C'était qui, Mario ?
+item_13_id=Achiev_14
+item_13_title=Défenseur des animaux
+item_13_comment=Les animaux doivent se respecter entre eux.
+item_14_id=Achiev_15
+item_14_title=Épreuve en temps limité
+item_14_comment=Mon petit nom, c'est Rapido.
+item_15_id=Achiev_16
+item_15_title=Old-school
+item_15_comment=Old-school FTW !
+item_16_id=Achiev_17
+item_16_title=Sprinteur
+item_16_comment=Ne jamais abandonner. Jamais.
+item_17_id=Achiev_18
+item_17_title=Dévoué
+item_17_comment=On naît assistant, on ne le devient pas.
+item_18_id=Achiev_19
+item_18_title=Indécis chronique
+item_18_comment=Le doute est source de sagesse.
+item_19_id=Achiev_20
+item_19_title=Fournisseur
+item_19_comment=Contrebande de couverts
+item_20_id=Achiev_21
+item_20_title=Expert
+item_20_comment=Cocktail récupéré du premier coup.
+item_21_id=Achiev_22
+item_21_title=Caméo
+item_21_comment=Ils sont fous, ces concepteurs de jeux !
+item_22_id=Achiev_23
+item_22_title=Corrupteur
+item_22_comment=De l'argent bien utilisé.
+item_23_id=Achiev_24
+item_23_title=Ça devient sérieux
+item_23_comment=Quand les choses se gâtent…
+item_24_id=Achiev_25
+item_24_title=Le rideau tombe
+item_24_comment=On applaudit, s'il vous plaît !
+[achievements:it_IT]
+item_0_id=Achiev_01
+item_0_title=Giustiziere
+item_0_comment=Quel tassista ha fatto il suo ultimo giro...
+item_1_id=Achiev_02
+item_1_title=Alcolizzato
+item_1_comment=I cocktail mi danno alla testa.
+item_2_id=Achiev_03
+item_2_title=Detective Romantico
+item_2_comment=Un vero duro sa sempre quando essere dolce.
+item_3_id=Achiev_04
+item_3_title=Giocatore di Ruolo
+item_3_comment=Ridicoli omini verdi...
+item_4_id=Achiev_05
+item_4_title=Atto Eroico
+item_4_comment=E' rimasta solo la sua puzza...
+item_5_id=Achiev_06
+item_5_title=Buongiorno
+item_5_comment=Quando il sonno è troppo pesante...
+item_6_id=Achiev_07
+item_6_title=Detective Spietato
+item_6_comment=Mi piace contare sul mio migliore amico.
+item_7_id=Achiev_08
+item_7_title=Trafficante
+item_7_comment=Cos'è un trafficante senza biglietto da visita?
+item_8_id=Achiev_09
+item_8_title=Pollice Verde
+item_8_comment=Ora ho capito a cosa serve il Latino.
+item_9_id=Achiev_10
+item_9_title=Invasore Spaziale
+item_9_comment=E' sempre divertente minacciare la Terra...
+item_10_id=Achiev_11
+item_10_title=Baby Sitter
+item_10_comment=Magari come secondo lavoro...
+item_11_id=Achiev_12
+item_11_title=Fiuto Infallibile
+item_11_comment=Cos'è un detective senza fiuto?
+item_12_id=Achiev_13
+item_12_title=Interferenza
+item_12_comment=Chi era quel Mario?
+item_13_id=Achiev_14
+item_13_title=Animalista
+item_13_comment=Gli animali devono rispettare gli animali.
+item_14_id=Achiev_15
+item_14_title=Partita Cronometrata
+item_14_comment=Velocità è il mio secondo nome.
+item_15_id=Achiev_16
+item_15_title=Vecchia Scuola
+item_15_comment=Non c'è niente come la vecchia scuola.
+item_16_id=Achiev_17
+item_16_title=Velocista
+item_16_comment=Mai fermarsi. Mai.
+item_17_id=Achiev_18
+item_17_title=Affezionato
+item_17_comment=Assistente si nasce, non si diventa.
+item_18_id=Achiev_19
+item_18_title=Indeciso Cronico
+item_18_comment=Il dubbio è fonte di saggezza.
+item_19_id=Achiev_20
+item_19_title=Fornitore
+item_19_comment=Contrabbando di posate.
+item_20_id=Achiev_21
+item_20_title=Intenditore
+item_20_comment=Cocktail azzeccato al primo colpo.
+item_21_id=Achiev_22
+item_21_title=Cameo
+item_21_comment=Quei game designer sono dei folli...
+item_22_id=Achiev_23
+item_22_title=Corruttore
+item_22_comment=Ecco il corretto uso del denaro.
+item_23_id=Achiev_24
+item_23_title=Ora si fa sul Serio
+item_23_comment=Quando il gioco si fa duro...
+item_24_id=Achiev_25
+item_24_title=Il Sipario si Chiude
+item_24_comment=Applausi, prego.
+[achievements:ru_RU]
+item_0_id=Achiev_01
+item_0_title=Каратель
+item_0_comment=Водитель такси взял свою последнюю оплату…
+item_1_id=Achiev_02
+item_1_title=Алкоголик
+item_1_comment=Заливаю в себя коктейли.
+item_2_id=Achiev_03
+item_2_title=Романтичныйдетектив
+item_2_comment=Настоящий чертяка знает, когда быть милым.
+item_3_id=Achiev_04
+item_3_title=Ролевик
+item_3_comment=Смешные зеленые человечки…
+item_4_id=Achiev_05
+item_4_title=Героическое свершение
+item_4_comment=Остался лишь его запах…
+item_5_id=Achiev_06
+item_5_title=Доброе утро
+item_5_comment=Когда любишь вздремнуть…
+item_6_id=Achiev_07
+item_6_title=Хладнокровный детектив
+item_6_comment=Люблю полагаться на лучшего друга.
+item_7_id=Achiev_08
+item_7_title=Контрабандист
+item_7_comment=Контрабандист без членской карты - курам на смех.
+item_8_id=Achiev_09
+item_8_title=Садовник
+item_8_comment=Теперь я знаю для чего нужен латинский.
+item_9_id=Achiev_10
+item_9_title=Захватчик из космоса
+item_9_comment=Всегда весело угрожать миру на Земле…
+item_10_id=Achiev_11
+item_10_title=Нянька
+item_10_comment=Может, в качестве подработки…
+item_11_id=Achiev_12
+item_11_title=Непоколебимый нюх
+item_11_comment=Что может детектив без его инстинктов?
+item_12_id=Achiev_13
+item_12_title=Вмешательство
+item_12_comment=Кто это был, Марио?
+item_13_id=Achiev_14
+item_13_title=Борец за права животных
+item_13_comment=Одни животные должны уважать других.
+item_14_id=Achiev_15
+item_14_title=Испытание на время
+item_14_comment=<<Скорость>> - мое второе имя.
+item_15_id=Achiev_16
+item_15_title=Старая школа
+item_15_comment=Нет ничего лучше олдскула.
+item_16_id=Achiev_17
+item_16_title=Бегун
+item_16_comment=Никогда не останавливайся. Никогда.
+item_17_id=Achiev_18
+item_17_title=Приверженец
+item_17_comment=Помощниками рождаются, а не становятся.
+item_18_id=Achiev_19
+item_18_title=Вечно колеблющийся
+item_18_comment=Сомнение - источник мудрости.
+item_19_id=Achiev_20
+item_19_title=Поставщик
+item_19_comment=Кража столовых приборов.
+item_20_id=Achiev_21
+item_20_title=Ценитель
+item_20_comment=Коктейль замешан с первого раза.
+item_21_id=Achiev_22
+item_21_title=Камео
+item_21_comment=Эти дизайнеры там совсем с ума посходили.
+item_22_id=Achiev_23
+item_22_title=Мздоимец
+item_22_comment=Вот для чего деньги нужны.
+item_23_id=Achiev_24
+item_23_title=Все серьезно
+item_23_comment=Когда дело дрянь…
+item_24_id=Achiev_25
+item_24_title=Занавес опустился
+item_24_comment=Аплодисменты, пожалуйста.
diff --git a/devtools/create_achievements/gen/galaxy-1845001352.ini b/devtools/create_achievements/gen/galaxy-1845001352.ini
index ad59ea0e00..10f9742b8d 100644
--- a/devtools/create_achievements/gen/galaxy-1845001352.ini
+++ b/devtools/create_achievements/gen/galaxy-1845001352.ini
@@ -74,3 +74,383 @@ item_23_hidden=true
 item_24_id=CloseCall
 item_24_title=Close Call
 item_24_hidden=true
+[achievements:de_DE]
+item_0_id=CaseClosed
+item_0_title=Fall abgeschlossen
+item_0_comment=Das Spiel abgeschlossen.
+item_1_id=PathOfTyr
+item_1_title=Weg des Tyr
+item_1_comment=Das Spiel selbstbewusst abgeschlossen.
+item_2_id=PathOfFrigg
+item_2_title=Weg der Frigg
+item_2_comment=Das Spiel analytisch abgeschlossen.
+item_3_id=PathOfBaldr
+item_3_title=Weg des Balder
+item_3_comment=Das Spiel einfühlsam abgeschlossen.
+item_4_id=UnlockTier2
+item_4_title=Verborgenes Potenzial
+item_4_comment=Neue Augmentation freigeschaltet.
+item_5_id=UnlockAugs
+item_5_title=Überwältigende Macht
+item_5_comment=Ein vollständiges Set an Augmentationen freigeschaltet.
+item_6_id=Harbinger
+item_6_title=Singularitätsorientiert
+item_6_hidden=true
+item_7_id=UnleashTheWolf
+item_7_title=Der entfesselte Wolf
+item_7_hidden=true
+item_8_id=Caregiver
+item_8_title=Fürsorglich
+item_8_hidden=true
+item_9_id=Careerist
+item_9_title=Karrierefixiert
+item_9_hidden=true
+item_10_id=MixedMethods
+item_10_title=Eklektizistisch
+item_10_hidden=true
+item_11_id=NoSodaForYou
+item_11_title=Flüstern eines Limoautomaten
+item_11_hidden=true
+item_12_id=PassiveSmoking
+item_12_title=Passivraucherin
+item_12_hidden=true
+item_13_id=Reassembled
+item_13_title=Wiedervereint
+item_13_hidden=true
+item_14_id=SharpEyed
+item_14_title=Scharfer Blick
+item_14_hidden=true
+item_15_id=Environmentalist
+item_15_title=Umweltbewusst
+item_15_hidden=true
+item_16_id=WhatSuspect
+item_16_title=Babysitterin
+item_16_hidden=true
+item_17_id=PickTheBaby
+item_17_title=Sentimental
+item_17_hidden=true
+item_18_id=Museophile
+item_18_title=Museophil
+item_18_hidden=true
+item_19_id=SneakAttack
+item_19_title=Hinterhältig
+item_19_hidden=true
+item_20_id=Memento
+item_20_title=Memento
+item_20_hidden=true
+item_21_id=CompulsiveReturner
+item_21_title=Schlechtes Gewissen
+item_21_hidden=true
+item_22_id=CaffeineAddict
+item_22_title=Flüstern eines Kaffeeautomaten
+item_22_hidden=true
+item_23_id=Whodunnit
+item_23_title=Wer war’s?
+item_23_hidden=true
+item_24_id=CloseCall
+item_24_title=Knappe Sache
+item_24_hidden=true
+[achievements:fr_FR]
+item_0_id=CaseClosed
+item_0_title=Affaire classée
+item_0_comment=Vous avez terminé le jeu.
+item_1_id=PathOfTyr
+item_1_title=Voie de Tyr
+item_1_comment=Vous avez terminé le jeu de manière autoritaire.
+item_2_id=PathOfFrigg
+item_2_title=Voie de Frigg
+item_2_comment=Vous avez terminé le jeu de manière analytique.
+item_3_id=PathOfBaldr
+item_3_title=Voie de Baldr
+item_3_comment=Vous avez terminé le jeu de manière empathique.
+item_4_id=UnlockTier2
+item_4_title=Potentiel caché
+item_4_comment=Vous avez débloqué une nouvelle augmentation.
+item_5_id=UnlockAugs
+item_5_title=Surpuissance
+item_5_comment=Vous avez débloqué un ensemble complet d'augmentations.
+item_6_id=Harbinger
+item_6_title=Un goût singulier pour les singularités
+item_6_hidden=true
+item_7_id=UnleashTheWolf
+item_7_title=Loup déchaîné
+item_7_hidden=true
+item_8_id=Caregiver
+item_8_title=Assistante sociale
+item_8_hidden=true
+item_9_id=Careerist
+item_9_title=Carriériste
+item_9_hidden=true
+item_10_id=MixedMethods
+item_10_title=Méthodes non conventionnelles
+item_10_hidden=true
+item_11_id=NoSodaForYou
+item_11_title=Murmures de la machine à soda
+item_11_hidden=true
+item_12_id=PassiveSmoking
+item_12_title=Tabagisme passif
+item_12_hidden=true
+item_13_id=Reassembled
+item_13_title=Juste un doigt
+item_13_hidden=true
+item_14_id=SharpEyed
+item_14_title=Å’il de lynx
+item_14_hidden=true
+item_15_id=Environmentalist
+item_15_title=Écolo
+item_15_hidden=true
+item_16_id=WhatSuspect
+item_16_title=Baby-sitter
+item_16_hidden=true
+item_17_id=PickTheBaby
+item_17_title=Baptême
+item_17_hidden=true
+item_18_id=Museophile
+item_18_title=Muséophile
+item_18_hidden=true
+item_19_id=SneakAttack
+item_19_title=Attaque-surprise
+item_19_hidden=true
+item_20_id=Memento
+item_20_title=Souvenir
+item_20_hidden=true
+item_21_id=CompulsiveReturner
+item_21_title=Antivol
+item_21_hidden=true
+item_22_id=CaffeineAddict
+item_22_title=Murmures de la machine à café
+item_22_hidden=true
+item_23_id=Whodunnit
+item_23_title=Qui a fait le coup ?
+item_23_hidden=true
+item_24_id=CloseCall
+item_24_title=De justesse
+item_24_hidden=true
+[achievements:it_IT]
+item_0_id=CaseClosed
+item_0_title=Caso Chiuso
+item_0_comment=Hai terminato il gioco
+item_1_id=PathOfTyr
+item_1_title=Via di Tyr
+item_1_comment=Hai terminato il gioco assertivamente
+item_2_id=PathOfFrigg
+item_2_title=Via di Frigg
+item_2_comment=Hai terminato il gioco analiticamente
+item_3_id=PathOfBaldr
+item_3_title=Via di Baldr
+item_3_comment=Hai terminato il gioco empaticamente
+item_4_id=UnlockTier2
+item_4_title=Potenziale Nascosto
+item_4_comment=Hai sbloccato un nuovo potenziamento
+item_5_id=UnlockAugs
+item_5_title=Potere Travolgente
+item_5_comment=Hai sbloccato una serie completa di potenziamenti
+item_6_id=Harbinger
+item_6_title=Singolarità
+item_6_hidden=true
+item_7_id=UnleashTheWolf
+item_7_title=Libera il Lupo
+item_7_hidden=true
+item_8_id=Caregiver
+item_8_title=La Famiglia Viene Prima
+item_8_hidden=true
+item_9_id=Careerist
+item_9_title=Il Lavoro Viene Prima
+item_9_hidden=true
+item_10_id=MixedMethods
+item_10_title=Metodi Non Convenzionali
+item_10_hidden=true
+item_11_id=NoSodaForYou
+item_11_title=Sussurri di un Distributore Automatico
+item_11_hidden=true
+item_12_id=PassiveSmoking
+item_12_title=Fumo Passivo
+item_12_hidden=true
+item_13_id=Reassembled
+item_13_title=Riassemblato
+item_13_hidden=true
+item_14_id=SharpEyed
+item_14_title=Osservatrice
+item_14_hidden=true
+item_15_id=Environmentalist
+item_15_title=Ambientalista
+item_15_hidden=true
+item_16_id=WhatSuspect
+item_16_title=Babysitter
+item_16_hidden=true
+item_17_id=PickTheBaby
+item_17_title=Battesimo
+item_17_hidden=true
+item_18_id=Museophile
+item_18_title=Museofila
+item_18_hidden=true
+item_19_id=SneakAttack
+item_19_title=Amante della Cultura
+item_19_hidden=true
+item_20_id=Memento
+item_20_title=Memento
+item_20_hidden=true
+item_21_id=CompulsiveReturner
+item_21_title=Restituitrice Seriale
+item_21_hidden=true
+item_22_id=CaffeineAddict
+item_22_title=Sussurri di una Macchina del Caffè
+item_22_hidden=true
+item_23_id=Whodunnit
+item_23_title=Chi È Stato?
+item_23_hidden=true
+item_24_id=CloseCall
+item_24_title=Per un Pelo
+item_24_hidden=true
+[achievements:es_ES]
+item_0_id=CaseClosed
+item_0_title=Caso cerrado
+item_0_comment=Has llegado al final del juego
+item_1_id=PathOfTyr
+item_1_title=Senda de Tyr
+item_1_comment=Has llegado al final del juego por la vía asertiva
+item_2_id=PathOfFrigg
+item_2_title=Senda de Frigg
+item_2_comment=Has llegado al final del juego por la vía analítica
+item_3_id=PathOfBaldr
+item_3_title=Senda de Baldr
+item_3_comment=Has llegado al final del juego por la vía empática
+item_4_id=UnlockTier2
+item_4_title=Potencial oculto
+item_4_comment=Has desbloqueado un nuevo aumento
+item_5_id=UnlockAugs
+item_5_title=Poder arrollador
+item_5_comment=Has desbloqueado un conjunto completo de aumentos
+item_6_id=Harbinger
+item_6_title=Por la singularidad
+item_6_hidden=true
+item_7_id=UnleashTheWolf
+item_7_title=Libera al lobo
+item_7_hidden=true
+item_8_id=Caregiver
+item_8_title=Cuidadora
+item_8_hidden=true
+item_9_id=Careerist
+item_9_title=Centrada en la carrera
+item_9_hidden=true
+item_10_id=MixedMethods
+item_10_title=Métodos mixtos
+item_10_hidden=true
+item_11_id=NoSodaForYou
+item_11_title=Susurros de una máquina de refrescos
+item_11_hidden=true
+item_12_id=PassiveSmoking
+item_12_title=Fumadora pasiva remasterizada
+item_12_hidden=true
+item_13_id=Reassembled
+item_13_title=Rensamblaje
+item_13_hidden=true
+item_14_id=SharpEyed
+item_14_title=Observadora
+item_14_hidden=true
+item_15_id=Environmentalist
+item_15_title=Ecologista
+item_15_hidden=true
+item_16_id=WhatSuspect
+item_16_title=Canguro
+item_16_hidden=true
+item_17_id=PickTheBaby
+item_17_title=Llévate al bebé
+item_17_hidden=true
+item_18_id=Museophile
+item_18_title=Museófila
+item_18_hidden=true
+item_19_id=SneakAttack
+item_19_title=Ataque sigiloso
+item_19_hidden=true
+item_20_id=Memento
+item_20_title=Recuerdo
+item_20_hidden=true
+item_21_id=CompulsiveReturner
+item_21_title=Regresadora en serie
+item_21_hidden=true
+item_22_id=CaffeineAddict
+item_22_title=Susurros de una máquina de café
+item_22_hidden=true
+item_23_id=Whodunnit
+item_23_title=¿Quién ha sido?
+item_23_hidden=true
+item_24_id=CloseCall
+item_24_title=Por un pelo
+item_24_hidden=true
+[achievements:pt_BR]
+item_0_id=CaseClosed
+item_0_title=Caso encerrado
+item_0_comment=Terminou o jogo
+item_1_id=PathOfTyr
+item_1_title=Caminho de Tyr
+item_1_comment=Terminou o jogo de modo assertivo
+item_2_id=PathOfFrigg
+item_2_title=Caminho de Frigg
+item_2_comment=Terminou o jogo de modo analítico
+item_3_id=PathOfBaldr
+item_3_title=Caminho de Baldr
+item_3_comment=Terminou o jogo de modo empático
+item_4_id=UnlockTier2
+item_4_title=Potencial oculto
+item_4_comment=Desbloqueou um novo aprimoramento
+item_5_id=UnlockAugs
+item_5_title=Poder esmagador
+item_5_comment=Desbloqueou um conjunto completo de aprimoramentos
+item_6_id=Harbinger
+item_6_title=Foi pela singuraridade
+item_6_hidden=true
+item_7_id=UnleashTheWolf
+item_7_title=Liberte o lobo
+item_7_hidden=true
+item_8_id=Caregiver
+item_8_title=A família vem em primeiro lugar
+item_8_hidden=true
+item_9_id=Careerist
+item_9_title=Foco na carreira
+item_9_hidden=true
+item_10_id=MixedMethods
+item_10_title=Métodos mistos
+item_10_hidden=true
+item_11_id=NoSodaForYou
+item_11_title=Sussurros de uma máquina de refrigerantes
+item_11_hidden=true
+item_12_id=PassiveSmoking
+item_12_title=Fumante passiva
+item_12_hidden=true
+item_13_id=Reassembled
+item_13_title=Remontado
+item_13_hidden=true
+item_14_id=SharpEyed
+item_14_title=Observadora
+item_14_hidden=true
+item_15_id=Environmentalist
+item_15_title=Ecologista
+item_15_hidden=true
+item_16_id=WhatSuspect
+item_16_title=Babá
+item_16_hidden=true
+item_17_id=PickTheBaby
+item_17_title=Leve o bebê
+item_17_hidden=true
+item_18_id=Museophile
+item_18_title=Museófila
+item_18_hidden=true
+item_19_id=SneakAttack
+item_19_title=Ataque surpresa
+item_19_hidden=true
+item_20_id=Memento
+item_20_title=Lembrancinha
+item_20_hidden=true
+item_21_id=CompulsiveReturner
+item_21_title=Devolvedora em série
+item_21_hidden=true
+item_22_id=CaffeineAddict
+item_22_title=Sussurros de uma máquina de café
+item_22_hidden=true
+item_23_id=Whodunnit
+item_23_title=Quem foi?
+item_23_hidden=true
+item_24_id=CloseCall
+item_24_title=Essa foi por pouco
+item_24_hidden=true
diff --git a/devtools/create_achievements/gen/steam-1142230.ini b/devtools/create_achievements/gen/steam-1142230.ini
index b7a8cdc6d1..bf7adfcb2f 100644
--- a/devtools/create_achievements/gen/steam-1142230.ini
+++ b/devtools/create_achievements/gen/steam-1142230.ini
@@ -50,3 +50,55 @@ item_15_comment=U
 item_16_id=ACHIEVEMENT_16
 item_16_title=The cross of Jesus can be removed now
 item_16_comment=E
+[achievements:de_DE]
+item_0_id=ACHIEVEMENT_00
+item_0_title=Wahrlich, wahrlich, ich sage dir: Steck deine Nase nicht überall hinein!
+item_0_comment=E
+item_1_id=ACHIEVEMENT_01
+item_1_title=Endlich ein Brötchen. Religion ist nicht immer einfach
+item_1_comment=S
+item_2_id=ACHIEVEMENT_02
+item_2_title=Ich habe sie übersehen. Das tat aber weh!
+item_2_comment=T
+item_3_id=ACHIEVEMENT_03
+item_3_title=Es ist nur ein Spiel! Nimm es nicht so ernst!
+item_3_comment=S
+item_4_id=ACHIEVEMENT_04
+item_4_title=Volltreffer!
+item_4_comment=F
+item_5_id=ACHIEVEMENT_05
+item_5_title=Das Foto ist zwar vom Himmel gekommen, aber es ist gefährlich
+item_5_comment=S
+item_6_id=ACHIEVEMENT_06
+item_6_title=So ist das Leben, Johannes!
+item_6_comment=E
+item_7_id=ACHIEVEMENT_07
+item_7_title=Du sollst nicht lügen!
+item_7_comment=T
+item_8_id=ACHIEVEMENT_08
+item_8_title=Hör auf, mich zu kitzeln!
+item_8_comment=J
+item_9_id=ACHIEVEMENT_09
+item_9_title=Frohe Weihnachten!
+item_9_comment=S
+item_10_id=ACHIEVEMENT_10
+item_10_title=Jesus ist ein Mensch und hat daher auch alle menschlichen Bedürfnisse. Inklusive Pinkeln
+item_10_comment=R
+item_11_id=ACHIEVEMENT_11
+item_11_title=Wer anderen eine Grube gräbt, fällt selbst hinein!
+item_11_comment=H
+item_12_id=ACHIEVEMENT_12
+item_12_title=Dieses Hobby muss sie endlich aufgeben
+item_12_comment=O
+item_13_id=ACHIEVEMENT_13
+item_13_title=Das himmlische Foto muss weg, aber wie?
+item_13_comment=E
+item_14_id=ACHIEVEMENT_14
+item_14_title=Wie zur Hölle soll ich das himmlische Foto entfernen?
+item_14_comment=C
+item_15_id=ACHIEVEMENT_15
+item_15_title=Das erklärt, warum er nicht verheiratet ist
+item_15_comment=U
+item_16_id=ACHIEVEMENT_16
+item_16_title=Jesu Kreuz kann jetzt entfernt werden
+item_16_comment=E
diff --git a/devtools/create_achievements/gen/steam-1251910.ini b/devtools/create_achievements/gen/steam-1251910.ini
index c73b7da84d..86e15b20dd 100644
--- a/devtools/create_achievements/gen/steam-1251910.ini
+++ b/devtools/create_achievements/gen/steam-1251910.ini
@@ -135,3 +135,523 @@ item_41_comment=Kill all living things in a single game
 item_42_id=REPEAT_DEATHS
 item_42_title=Sadistic player
 item_42_comment=Repeat at least one death
+[achievements:de_DE]
+item_0_id=DEATH_0
+item_0_title=Über den Wolken
+item_0_comment=Erhalte das jeweilige Ende
+item_1_id=DEATH_1
+item_1_title=Todmüde
+item_1_comment=Erhalte das jeweilige Ende
+item_2_id=DEATH_2
+item_2_title=Strike!
+item_2_comment=Erhalte das jeweilige Ende
+item_3_id=DEATH_3
+item_3_title=Mich trifft der Schlag!
+item_3_comment=Erhalte das jeweilige Ende
+item_4_id=DEATH_4
+item_4_title=Einfach mal baumeln lassen
+item_4_comment=Erhalte das jeweilige Ende
+item_5_id=DEATH_5
+item_5_title=Tod von Oben
+item_5_comment=Erhalte das jeweilige Ende
+item_6_id=DEATH_6
+item_6_title=Impfungen verursachen Autismus
+item_6_comment=Erhalte das jeweilige Ende
+item_7_id=DEATH_7
+item_7_title=Summ oder nicht Summ
+item_7_comment=Erhalte das jeweilige Ende
+item_8_id=DEATH_8
+item_8_title=Wo brennt's denn?
+item_8_comment=Erhalte das jeweilige Ende
+item_9_id=DEATH_9
+item_9_title=Nimm das Michael Bay
+item_9_comment=Erhalte das jeweilige Ende
+item_10_id=DEATH_10
+item_10_title=Ein warmer Toast
+item_10_comment=Erhalte das jeweilige Ende
+item_11_id=DEATH_11
+item_11_title=Vive la révolution
+item_11_comment=Erhalte das jeweilige Ende
+item_12_id=DEATH_12
+item_12_title=Die Rache der Pharmakonzerne
+item_12_comment=Erhalte das jeweilige Ende
+item_13_id=DEATH_13
+item_13_title=Schnelldiät
+item_13_comment=Erhalte das jeweilige Ende
+item_14_id=DEATH_14
+item_14_title=Vorsicht, nasser Boden
+item_14_comment=Erhalte das jeweilige Ende
+item_15_id=DEATH_15
+item_15_title=Das ist kein Toaster
+item_15_comment=Erhalte das jeweilige Ende
+item_16_id=DEATH_16
+item_16_title=Welch Ironie!
+item_16_comment=Erhalte das jeweilige Ende
+item_17_id=DEATH_17
+item_17_title=Irgendwann sterben wir alle
+item_17_comment=Erhalte das jeweilige Ende
+item_18_id=DEATH_18
+item_18_title=Tod durch Spider-Man
+item_18_comment=Erhalte das jeweilige Ende
+item_19_id=DEATH_19
+item_19_title=Unter dem Meer
+item_19_comment=Erhalte das jeweilige Ende
+item_20_id=DEATH_20
+item_20_title=Saurer Regen
+item_20_comment=Erhalte das jeweilige Ende
+item_21_id=DEATH_21
+item_21_title=Frank Grimes
+item_21_comment=Erhalte das jeweilige Ende
+item_22_id=DEATH_22
+item_22_title=Die letzte Mahlzeit
+item_22_comment=Erhalte das jeweilige Ende
+item_23_id=DEATH_23
+item_23_title=Schönheit hat das Biest zerstört
+item_23_comment=Erhalte das jeweilige Ende
+item_24_id=DEATH_24
+item_24_title=Sprungteufelschrek
+item_24_comment=Erhalte das jeweilige Ende
+item_25_id=DEATH_25
+item_25_title=Mir ist kalt
+item_25_comment=Erhalte das jeweilige Ende
+item_26_id=DEATH_26
+item_26_title=Der Schimmelreiter
+item_26_comment=Erhalte das jeweilige Ende
+item_27_id=DEATH_27
+item_27_title=Frisch frittiert
+item_27_comment=Erhalte das jeweilige Ende
+item_28_id=DEATH_28
+item_28_title=Feuer und Flamme
+item_28_comment=Erhalte das jeweilige Ende
+item_29_id=DEATH_29
+item_29_title=Ich bevorzuge das Touchpad
+item_29_comment=Erhalte das jeweilige Ende
+item_30_id=AVID_READER
+item_30_title=Bücherwurm
+item_30_comment=Lies alle Einträge im Buch
+item_31_id=TUTORIAL
+item_31_title=Für Dummies
+item_31_comment=Schließe das Tutorial ab
+item_32_id=CREDITS
+item_32_title=Erfreulich zurückhaltender Vorspann
+item_32_comment=Sieh dir den Abspann bis zum Schluss an
+item_33_id=HEAD_BUMP
+item_33_title=Vorsicht Kopf!
+item_33_comment=Stoss dir den Kopf ohne zu sterben
+item_34_id=LETTERS
+item_34_title=Geheimer Verehrer
+item_34_hidden=true
+item_35_id=FLAMETHROWER
+item_35_title=Hank Scorpio
+item_35_hidden=true
+item_36_id=100_METERS
+item_36_title=Stubenhocker
+item_36_comment=Laufe 100 Meter
+item_37_id=500_METERS
+item_37_title=Geringfügig Aktiv
+item_37_comment=Laufe 500 Meter
+item_38_id=1500_METERS
+item_38_title=Fitness ist ein Lebensstil
+item_38_comment=Laufe 1500 meter
+item_39_id=5000_METERS
+item_39_title=Läuferhoch
+item_39_comment=Laufe 5 Kilometer
+item_40_id=NECKTIE
+item_40_title=Modepolizei
+item_40_comment=Zerreisse und verbrenne die Krawatte
+item_41_id=ANIMAL_HATER
+item_41_title=Todesengel
+item_41_comment=Töte alle Lebewesen in einem Spieldurchlauf
+item_42_id=REPEAT_DEATHS
+item_42_title=Sadistischer Spieler
+item_42_comment=Wiederhole mindestens einen Tod
+[achievements:it_IT]
+item_0_id=DEATH_0
+item_0_title=Nel blu dipinto di blu
+item_0_comment=Sblocca il finale relativo
+item_1_id=DEATH_1
+item_1_title=Stanco morto
+item_1_comment=Sblocca il finale relativo
+item_2_id=DEATH_2
+item_2_title=Strike!
+item_2_comment=Sblocca il finale relativo
+item_3_id=DEATH_3
+item_3_title=Sono scioccato
+item_3_comment=Sblocca il finale relativo
+item_4_id=DEATH_4
+item_4_title=Appeso a una speranza
+item_4_comment=Sblocca il finale relativo
+item_5_id=DEATH_5
+item_5_title=Morte dall'alto
+item_5_comment=Sblocca il finale relativo
+item_6_id=DEATH_6
+item_6_title=I vaccini causano autismo
+item_6_comment=Sblocca il finale relativo
+item_7_id=DEATH_7
+item_7_title=Un'apessima idea
+item_7_comment=Sblocca il finale relativo
+item_8_id=DEATH_8
+item_8_title=Bruciali tutti!
+item_8_comment=Sblocca il finale relativo
+item_9_id=DEATH_9
+item_9_title=Mr. Bay è pieno di balle
+item_9_comment=Sblocca il finale relativo
+item_10_id=DEATH_10
+item_10_title=Un brindisi caloroso
+item_10_comment=Sblocca il finale relativo
+item_11_id=DEATH_11
+item_11_title=Vive la révolution
+item_11_comment=Sblocca il finale relativo
+item_12_id=DEATH_12
+item_12_title=La vendetta di Big Pharma
+item_12_comment=Sblocca il finale relativo
+item_13_id=DEATH_13
+item_13_title=Dieta istantanea
+item_13_comment=Sblocca il finale relativo
+item_14_id=DEATH_14
+item_14_title=Attenzione, pavimento bagnato
+item_14_comment=Sblocca il finale relativo
+item_15_id=DEATH_15
+item_15_title=Non è un tostapane
+item_15_comment=Sblocca il finale relativo
+item_16_id=DEATH_16
+item_16_title=Piuttosto ironico
+item_16_comment=Sblocca il finale relativo
+item_17_id=DEATH_17
+item_17_title=Prima o poi si muore tutti
+item_17_comment=Sblocca il finale relativo
+item_18_id=DEATH_18
+item_18_title=The amazing spider-death
+item_18_comment=Sblocca il finale relativo
+item_19_id=DEATH_19
+item_19_title=In fondo al mar
+item_19_comment=Sblocca il finale relativo
+item_20_id=DEATH_20
+item_20_title=Pioggia acida
+item_20_comment=Sblocca il finale relativo
+item_21_id=DEATH_21
+item_21_title=Frank Grimes
+item_21_comment=Sblocca il finale relativo
+item_22_id=DEATH_22
+item_22_title=L'ultima cena
+item_22_comment=Sblocca il finale relativo
+item_23_id=DEATH_23
+item_23_title=La morte ti fa bella
+item_23_comment=Sblocca il finale relativo
+item_24_id=DEATH_24
+item_24_title=Paura dei clown
+item_24_comment=Sblocca il finale relativo
+item_25_id=DEATH_25
+item_25_title=Sto congelando
+item_25_comment=Sblocca il finale relativo
+item_26_id=DEATH_26
+item_26_title=Un evento sporadico
+item_26_comment=Sblocca il finale relativo
+item_27_id=DEATH_27
+item_27_title=Sono fritto!
+item_27_comment=Sblocca il finale relativo
+item_28_id=DEATH_28
+item_28_title=Ritorno di fiamma
+item_28_comment=Sblocca il finale relativo
+item_29_id=DEATH_29
+item_29_title=Preferisco il touchpad
+item_29_comment=Sblocca il finale relativo
+item_30_id=AVID_READER
+item_30_title=Topo di biblioteca
+item_30_comment=Leggi l'intero libro
+item_31_id=TUTORIAL
+item_31_title=Per negati
+item_31_comment=Completa il tutorial
+item_32_id=CREDITS
+item_32_title=Impressionante sequenza di nomi importanti
+item_32_comment=Guarda i credits fino alla fine
+item_33_id=HEAD_BUMP
+item_33_title=Occhio alla testa
+item_33_comment=Sbatti la testa in maniera non letale
+item_34_id=LETTERS
+item_34_title=Ammiratore segreto
+item_34_hidden=true
+item_35_id=FLAMETHROWER
+item_35_title=Hank Scorpio
+item_35_hidden=true
+item_36_id=100_METERS
+item_36_title=Pigrone
+item_36_comment=Percorri 100 metri
+item_37_id=500_METERS
+item_37_title=Attività moderata
+item_37_comment=Percorri 500 metri
+item_38_id=1500_METERS
+item_38_title=Amante del fitness
+item_38_comment=Percorri 1500 metri
+item_39_id=5000_METERS
+item_39_title=Sballo del corridore
+item_39_comment=Percorri 5 chilometri
+item_40_id=NECKTIE
+item_40_title=Ma come ti vesti
+item_40_comment=Strappa e brucia la cravatta
+item_41_id=ANIMAL_HATER
+item_41_title=Angelo della morte
+item_41_comment=Uccidi ogni essere vivente in una singola partita
+item_42_id=REPEAT_DEATHS
+item_42_title=Giocatore sadico
+item_42_comment=Ripeti almeno una morte
+[achievements:es_ES]
+item_0_id=DEATH_0
+item_0_title=Volando voy
+item_0_comment=Resolver el final correspondiente
+item_1_id=DEATH_1
+item_1_title=Muerto de cansancio
+item_1_comment=Resolver el final correspondiente
+item_2_id=DEATH_2
+item_2_title=Strike!
+item_2_comment=Resolver el final correspondiente
+item_3_id=DEATH_3
+item_3_title=Estoy conmocionado
+item_3_comment=Resolver el final correspondiente
+item_4_id=DEATH_4
+item_4_title=Pendiendo de un hilo
+item_4_comment=Resolver el final correspondiente
+item_5_id=DEATH_5
+item_5_title=Muerte desde lo alto
+item_5_comment=Resolver el final correspondiente
+item_6_id=DEATH_6
+item_6_title=Vacunarse produce autismo
+item_6_comment=Resolver el final correspondiente
+item_7_id=DEATH_7
+item_7_title=Colmenado a muerte
+item_7_comment=Resolver el final correspondiente
+item_8_id=DEATH_8
+item_8_title=¡Quémalos a todos!
+item_8_comment=Resolver el final correspondiente
+item_9_id=DEATH_9
+item_9_title=El Sr. Bay es un montón de estiércol
+item_9_comment=Resolver el final correspondiente
+item_10_id=DEATH_10
+item_10_title=Un cálido brindis
+item_10_comment=Resolver el final correspondiente
+item_11_id=DEATH_11
+item_11_title=Vive la révolution
+item_11_comment=Resolver el final correspondiente
+item_12_id=DEATH_12
+item_12_title=La venganza de Big Pharma
+item_12_comment=Resolver el final correspondiente
+item_13_id=DEATH_13
+item_13_title=Dieta instantánea
+item_13_comment=Resolver el final correspondiente
+item_14_id=DEATH_14
+item_14_title=Cuidado, suelo mojado
+item_14_comment=Resolver el final correspondiente
+item_15_id=DEATH_15
+item_15_title=Eso no es una tostadora
+item_15_comment=Resolver el final correspondiente
+item_16_id=DEATH_16
+item_16_title=¡Qué ironía!
+item_16_comment=Resolver el final correspondiente
+item_17_id=DEATH_17
+item_17_title=Todos morimos al final
+item_17_comment=Resolver el final correspondiente
+item_18_id=DEATH_18
+item_18_title=The amazing spider-muerte
+item_18_comment=Resolver el final correspondiente
+item_19_id=DEATH_19
+item_19_title=Bajo el mar
+item_19_comment=Resolver el final correspondiente
+item_20_id=DEATH_20
+item_20_title=Lluvia acida
+item_20_comment=Resolver el final correspondiente
+item_21_id=DEATH_21
+item_21_title=Frank Grimes
+item_21_comment=Resolver el final correspondiente
+item_22_id=DEATH_22
+item_22_title=La última cena
+item_22_comment=Resolver el final correspondiente
+item_23_id=DEATH_23
+item_23_title=La muerte os sienta tan bien
+item_23_comment=Resolver el final correspondiente
+item_24_id=DEATH_24
+item_24_title=Miedo a los payasos
+item_24_comment=Resolver el final correspondiente
+item_25_id=DEATH_25
+item_25_title=Estoy helado
+item_25_comment=Resolver el final correspondiente
+item_26_id=DEATH_26
+item_26_title=Un evento esporádico
+item_26_comment=Resolver el final correspondiente
+item_27_id=DEATH_27
+item_27_title=¡Me tienen frito!
+item_27_comment=Resolver el final correspondiente
+item_28_id=DEATH_28
+item_28_title=Fuego de cobertura
+item_28_comment=Resolver el final correspondiente
+item_29_id=DEATH_29
+item_29_title=Prefiero el touchpad
+item_29_comment=Resolver el final correspondiente
+item_30_id=AVID_READER
+item_30_title=Ratón de biblioteca
+item_30_comment=Leer todo el libro
+item_31_id=TUTORIAL
+item_31_title=Para tontos
+item_31_comment=Completar el tutorial
+item_32_id=CREDITS
+item_32_title=Secuencia de créditos agradablemente sencilla
+item_32_comment=Mirar los créditos hasta el final
+item_33_id=HEAD_BUMP
+item_33_title=Cuidado con la cabeza
+item_33_comment=Golpearte la cabeza de una manera no mortal
+item_34_id=LETTERS
+item_34_title=Admirador secreto
+item_34_hidden=true
+item_35_id=FLAMETHROWER
+item_35_title=Hank Scorpio
+item_35_hidden=true
+item_36_id=100_METERS
+item_36_title=Vago
+item_36_comment=Caminar 100 metros
+item_37_id=500_METERS
+item_37_title=Medianamente activo
+item_37_comment=Caminar 500 metros
+item_38_id=1500_METERS
+item_38_title=Estar en estado es un modo de vida
+item_38_comment=Caminar 1500 metros
+item_39_id=5000_METERS
+item_39_title=Euforia del corredor
+item_39_comment=Caminar 5 kilómetros
+item_40_id=NECKTIE
+item_40_title=Policía de la moda
+item_40_comment=Romper y quemar la corbata
+item_41_id=ANIMAL_HATER
+item_41_title=Ángel de la muerte
+item_41_comment=Matar a todos los seres vivos en un sólo juego
+item_42_id=REPEAT_DEATHS
+item_42_title=Jugador sádico
+item_42_comment=Repetir al menos una muerte
+[achievements:nl_NL]
+item_0_id=DEATH_0
+item_0_title=Vlieg met me mee naar de regenboog
+item_0_comment=Los het bijbehorende einde op
+item_1_id=DEATH_1
+item_1_title=Doodvermoeid
+item_1_comment=Los het bijbehorende einde op
+item_2_id=DEATH_2
+item_2_title=Strike!
+item_2_comment=Los het bijbehorende einde op
+item_3_id=DEATH_3
+item_3_title=Wat een schok
+item_3_comment=Los het bijbehorende einde op
+item_4_id=DEATH_4
+item_4_title=Hou vol
+item_4_comment=Los het bijbehorende einde op
+item_5_id=DEATH_5
+item_5_title=Dood van boven
+item_5_comment=Los het bijbehorende einde op
+item_6_id=DEATH_6
+item_6_title=Vaccins veroorzaken autisme
+item_6_comment=Los het bijbehorende einde op
+item_7_id=DEATH_7
+item_7_title=Als bijen naar de honing
+item_7_comment=Los het bijbehorende einde op
+item_8_id=DEATH_8
+item_8_title=Burn baby burn
+item_8_comment=Los het bijbehorende einde op
+item_9_id=DEATH_9
+item_9_title=Meneer Bay lult maar wat
+item_9_comment=Los het bijbehorende einde op
+item_10_id=DEATH_10
+item_10_title=Een warme dronk
+item_10_comment=Los het bijbehorende einde op
+item_11_id=DEATH_11
+item_11_title=Vive la révolution
+item_11_comment=Los het bijbehorende einde op
+item_12_id=DEATH_12
+item_12_title=De wraak van Big Pharma
+item_12_comment=Los het bijbehorende einde op
+item_13_id=DEATH_13
+item_13_title=Instantdiëet
+item_13_comment=Los het bijbehorende einde op
+item_14_id=DEATH_14
+item_14_title=Voorzichtig, natte vloer
+item_14_comment=Los het bijbehorende einde op
+item_15_id=DEATH_15
+item_15_title=Dat is geen broodrooster
+item_15_comment=Los het bijbehorende einde op
+item_16_id=DEATH_16
+item_16_title=Best ironisch
+item_16_comment=Los het bijbehorende einde op
+item_17_id=DEATH_17
+item_17_title=We zullen uiteindelijk sterven
+item_17_comment=Los het bijbehorende einde op
+item_18_id=DEATH_18
+item_18_title=The amazing spider-death
+item_18_comment=Los het bijbehorende einde op
+item_19_id=DEATH_19
+item_19_title=Onder de zee
+item_19_comment=Los het bijbehorende einde op
+item_20_id=DEATH_20
+item_20_title=Zure regen
+item_20_comment=Los het bijbehorende einde op
+item_21_id=DEATH_21
+item_21_title=Frank Grimes
+item_21_comment=Los het bijbehorende einde op
+item_22_id=DEATH_22
+item_22_title=De laatste maaltijd
+item_22_comment=Los het bijbehorende einde op
+item_23_id=DEATH_23
+item_23_title=Belle heeft het beest gedood
+item_23_comment=Los het bijbehorende einde op
+item_24_id=DEATH_24
+item_24_title=Bang van clowns
+item_24_comment=Los het bijbehorende einde op
+item_25_id=DEATH_25
+item_25_title=Ik heb het koud
+item_25_comment=Los het bijbehorende einde op
+item_26_id=DEATH_26
+item_26_title=Schimmelig
+item_26_comment=Los het bijbehorende einde op
+item_27_id=DEATH_27
+item_27_title=Met de gefrituurde peren zitten
+item_27_comment=Los het bijbehorende einde op
+item_28_id=DEATH_28
+item_28_title=Naontsteking
+item_28_comment=Los het bijbehorende einde op
+item_29_id=DEATH_29
+item_29_title=Ik heb liever de touchpad
+item_29_comment=Los het bijbehorende einde op
+item_30_id=AVID_READER
+item_30_title=Boekenwurm
+item_30_comment=Lees alle boekartikelen
+item_31_id=TUTORIAL
+item_31_title=Voor dummies
+item_31_comment=Voltooi de training
+item_32_id=CREDITS
+item_32_title=Aangenaam sobere aftiteling
+item_32_comment=Bekijk de aftiteling tot het einde
+item_33_id=HEAD_BUMP
+item_33_title=Let op je hoofd
+item_33_comment=Stoot je hoofd op een niet-dodelijke manier
+item_34_id=LETTERS
+item_34_title=Geheime aanbidder
+item_34_hidden=true
+item_35_id=FLAMETHROWER
+item_35_title=Hank Scorpio
+item_35_hidden=true
+item_36_id=100_METERS
+item_36_title=Couch-potato
+item_36_comment=Loop 100 meter
+item_37_id=500_METERS
+item_37_title=Licht actief
+item_37_comment=Loop 500 meter
+item_38_id=1500_METERS
+item_38_title=Fitness is een levenswijze
+item_38_comment=Loop 1500 meter
+item_39_id=5000_METERS
+item_39_title=Runner's high
+item_39_comment=Loop 5 kilometer
+item_40_id=NECKTIE
+item_40_title=Modepolitie
+item_40_comment=Scheur en verbrand de stropdas
+item_41_id=ANIMAL_HATER
+item_41_title=Engel des doods
+item_41_comment=Dood alle levende wezens in één enkel potje
+item_42_id=REPEAT_DEATHS
+item_42_title=Sadistische speler
+item_42_comment=Herhaal ten minste één sterfgeval
diff --git a/devtools/create_achievements/gen/steam-1270590.ini b/devtools/create_achievements/gen/steam-1270590.ini
index be2b0edd18..6c854dc72b 100644
--- a/devtools/create_achievements/gen/steam-1270590.ini
+++ b/devtools/create_achievements/gen/steam-1270590.ini
@@ -26,3 +26,59 @@ item_7_comment=You have successfully detected the crime and caught all the suspe
 item_8_id=SOCIABLE
 item_8_title=Sociable
 item_8_comment=You got to know all the characters in the game!
+[achievements:zh_CN]
+item_0_id=SAFE_CRACKER
+item_0_title=做得很棒!
+item_0_hidden=true
+item_1_id=HACKER
+item_1_title=一个真正的黑客
+item_1_hidden=true
+item_2_id=TANJAS_WAY
+item_2_title=你喜欢她吗?
+item_2_comment=你要给塔尼亚文件
+item_3_id=JENNYS_WAY
+item_3_title=你喜欢她吗?
+item_3_comment=你要给燕妮文件
+item_4_id=DATING_WITH_TANJA
+item_4_title=哇塞!
+item_4_comment=你能够设法约塔尼亚出去。
+item_5_id=DATING_WITH_JENNY
+item_5_title=哇塞!
+item_5_comment=你能够设法约燕妮出去。
+item_6_id=RELIABLE
+item_6_title=很好!
+item_6_comment=你有了黛西房子的钥匙。
+item_7_id=HERO_OF_THE_DAY
+item_7_title=很厉害!
+item_7_comment=你能够侦查罪行而抓住到嫌疑人!
+item_8_id=SOCIABLE
+item_8_title=做得很好!
+item_8_comment=你认识了游戏所有的角色!
+[achievements:hu_HU]
+item_0_id=SAFE_CRACKER
+item_0_title=Kasszafúró
+item_0_hidden=true
+item_1_id=HACKER
+item_1_title=Mint a filmekben!
+item_1_hidden=true
+item_2_id=TANJAS_WAY
+item_2_title=Tanja kezébe
+item_2_comment=Tanjának adtad a hiányzó aktát
+item_3_id=JENNYS_WAY
+item_3_title=Jenny kezébe
+item_3_comment=Jenny-nek adtad a hiányzó aktát
+item_4_id=DATING_WITH_TANJA
+item_4_title=Tánc Tanjával
+item_4_comment=Randira hívtad Tanját
+item_5_id=DATING_WITH_JENNY
+item_5_title=Találka Jennyvel
+item_5_comment=Randira hívtad Jennyt
+item_6_id=RELIABLE
+item_6_title=Jó modor
+item_6_comment=A kulccsal jutottál be Daisie lakásába
+item_7_id=HERO_OF_THE_DAY
+item_7_title=A nap hőse!
+item_7_comment=Megoldottad az ügyet és elkaptad az összes rosszfiút
+item_8_id=SOCIABLE
+item_8_title=Szociális
+item_8_comment=A játék minden karakterével megismerkedtél.
diff --git a/devtools/create_achievements/gen/steam-283880.ini b/devtools/create_achievements/gen/steam-283880.ini
index ea4d42a72d..77642a5f9c 100644
--- a/devtools/create_achievements/gen/steam-283880.ini
+++ b/devtools/create_achievements/gen/steam-283880.ini
@@ -168,3 +168,698 @@ item_44_hidden=true
 item_45_id=HQ52
 item_45_title=Dark and Troubled
 item_45_hidden=true
+[achievements:fr_FR]
+item_0_id=HQ01
+item_0_title=L'Initiation
+item_0_comment=Trouvez votre premier repas
+item_1_id=HQ02
+item_1_title=Apprentie Guerrière
+item_1_comment=Atteignez le chapitre 2 en tant que guerrière
+item_2_id=HQ03
+item_2_title=Guerrière Adepte
+item_2_comment=Atteignez le chapitre 3 en tant que guerrière
+item_3_id=HQ04
+item_3_title=Maîtresse Guerrière
+item_3_comment=Atteignez le chapitre 4 en tant que guerrière
+item_4_id=HQ05
+item_4_title=Guerrière Légendaire
+item_4_comment=Terminez le jeu en tant que guerrière
+item_5_id=HQ06
+item_5_title=Paladin
+item_5_comment=Obtenez Balmung
+item_6_id=HQ07
+item_6_title=Guerrière Ultime
+item_6_comment=Atteignez le score maximum en tant que guerrière
+item_7_id=HQ08
+item_7_title=Apprentie Magicienne
+item_7_comment=Atteignez le chapitre 2 en tant que magicienne
+item_8_id=HQ09
+item_8_title=Magicienne Adepte
+item_8_comment=Atteignez le chapitre 3 en tant que magicienne
+item_9_id=HQ10
+item_9_title=Maîtresse Magicienne
+item_9_comment=Atteignez le chapitre 4 en tant que magicienne
+item_10_id=HQ11
+item_10_title=Magicienne Légendaire
+item_10_comment=Terminez le jeu en tant que magicienne
+item_11_id=HQ12
+item_11_title=Archimage
+item_11_comment=Apprendre le sort de foudre
+item_12_id=HQ13
+item_12_title=Magicienne Ultime
+item_12_comment=Atteignez le score maximum en tant que magicienne
+item_13_id=HQ14
+item_13_title=Apprentie Voleuse
+item_13_comment=Atteignez le chapitre 2 en tant que voleuse
+item_14_id=HQ15
+item_14_title=Voleuse Adepte
+item_14_comment=Atteignez le chapitre 3 en tant que voleuse
+item_15_id=HQ16
+item_15_title=Maîtresse Voleuse
+item_15_comment=Atteignez le chapitre 4 en tant que voleuse
+item_16_id=HQ17
+item_16_title=Voleuse Légendaire
+item_16_comment=Terminez le jeu en tant que voleuse
+item_17_id=HQ18
+item_17_title=Troublion de Loki
+item_17_comment=Sortez-vous de situations violentes sans violence
+item_18_id=HQ19
+item_18_title=Voleuse Ultime
+item_18_comment=Atteignez le score maximum en tant que voleuse
+item_19_id=HQ20
+item_19_title=Femme à tout faire
+item_19_comment=Terminez le jeu avec les trois classes
+item_20_id=HQ21
+item_20_title=Grande Maîtresse de l'héroïsme
+item_20_comment=Terminez le jeu dans la difficulté la plus élevée
+item_21_id=HQ22
+item_21_title=Une héroïne pressée
+item_21_comment=Terminez le jeu en cinq jours
+item_22_id=HQ23
+item_22_title=Héroïne parangon
+item_22_comment=Terminez le jeu avec 100 en honneur
+item_23_id=HQ24
+item_23_title=La plus escroc des héroïnes
+item_23_comment=Terminez le jeu avec moins de 10 en honneur
+item_24_id=HQ25
+item_24_title=Mon Kung-Fu est supérieur
+item_24_comment=Prouvez que vous êtes une meilleure gardienne que Sigurd
+item_25_id=HQ26
+item_25_title=Plus sage que le Sage
+item_25_comment=Prouvez que vous êtes une meilleure gardienne qu'Aurvandel
+item_26_id=HQ27
+item_26_title=Couper les choux
+item_26_comment=Volez la récompense d'une quête sans la faire
+item_27_id=HQ29
+item_27_title=Médaille de bronze
+item_27_comment=Gagnez une bataille facile dans la Caverne des os
+item_28_id=HQ30
+item_28_title=Médaille d'argent
+item_28_comment=Gagnez une bataille intermédiaire dans la Caverne des os
+item_29_id=HQ31
+item_29_title=Médaille d'or
+item_29_comment=Gagnez une bataille difficile dans la Caverne des os
+item_30_id=HQ32
+item_30_title=Quel entraînement!
+item_30_comment=Améliorez vos stats de base au maximum
+item_31_id=HQ36
+item_31_title=L'épreuve du feu
+item_31_comment=Triomphez de Surtr
+item_32_id=HQ37
+item_32_title=Le prix de la Guerre
+item_32_comment=Remportez la victoire pour Munarvagir
+item_33_id=HQ38
+item_33_title=Shadows of Darkness
+item_33_comment=Livrez le cristal svartalf
+item_34_id=HQ39
+item_34_title=Faire le brauggosse
+item_34_hidden=true
+item_35_id=HQ41
+item_35_title=Préparez-vous à fleurir!
+item_35_hidden=true
+item_36_id=HQ42
+item_36_title=Là où tout a commencé
+item_36_hidden=true
+item_37_id=HQ43
+item_37_title=Un succès emPOIsonné!
+item_37_hidden=true
+item_38_id=HQ44
+item_38_title=Diablotimpressionant
+item_38_hidden=true
+item_39_id=HQ45
+item_39_title=À la mémoire
+item_39_hidden=true
+item_40_id=HQ46
+item_40_title=Où le coeur aime, là est le foyer
+item_40_hidden=true
+item_41_id=HQ47
+item_41_title=Another Head Hangs Lowly
+item_41_hidden=true
+item_42_id=HQ48
+item_42_title=P0urkw0i ne p0 essayer des vakances en Suède cette année?
+item_42_hidden=true
+item_43_id=HQ49
+item_43_title=Menace pour la société
+item_43_comment=Passez votre vie en prison
+item_44_id=HQ53
+item_44_title=Don't Lose Your Head
+item_44_hidden=true
+item_45_id=HQ52
+item_45_title=Sombre et Troublé
+item_45_hidden=true
+[achievements:it_IT]
+item_0_id=HQ01
+item_0_title=E Così Vuoi Essere Un'Eroina
+item_0_comment=Procurati il tuo primo pasto
+item_1_id=HQ02
+item_1_title=Guerriera alle Prime Armi
+item_1_comment=Raggiungi il capitolo 2 come guerriera
+item_2_id=HQ03
+item_2_title=Guerriera Esperta
+item_2_comment=Raggiungi il capitolo 3 come guerriera
+item_3_id=HQ04
+item_3_title=Guerriera Veterana
+item_3_comment=Raggiungi il capitolo 4 come guerriera
+item_4_id=HQ05
+item_4_title=Guerriera Leggendaria
+item_4_comment=Completa il gioco come guerriera
+item_5_id=HQ06
+item_5_title=Paladina
+item_5_comment=Conquista Balmung
+item_6_id=HQ07
+item_6_title=Guerriera Suprema
+item_6_comment=Ottieni il punteggio massimo come guerriera
+item_7_id=HQ08
+item_7_title=Incantatrice alle Prime Armi
+item_7_comment=Raggiungi il capitolo 2 come incantatrice
+item_8_id=HQ09
+item_8_title=Incantatrice Esperta
+item_8_comment=Raggiungi il capitolo 3 come incantatrice
+item_9_id=HQ10
+item_9_title=Incantatrice Veterana
+item_9_comment=Raggiungi il capitolo 4 come incantatrice
+item_10_id=HQ11
+item_10_title=Incantatrice Leggendaria
+item_10_comment=Completa il gioco come incantatrice
+item_11_id=HQ12
+item_11_title=Arcimaga
+item_11_comment=Impara l'incantesimo Fulmine
+item_12_id=HQ13
+item_12_title=Incantatrice Suprema
+item_12_comment=Ottieni il punteggio massimo come incantatrice
+item_13_id=HQ14
+item_13_title=Ladra alle Prime Armi
+item_13_comment=Raggiungi il capitolo 2 come ladra
+item_14_id=HQ15
+item_14_title=Ladra Esperta
+item_14_comment=Raggiungi il capitolo 3 come ladra
+item_15_id=HQ16
+item_15_title=Ladra Veterana
+item_15_comment=Raggiungi il capitolo 4 come ladra
+item_16_id=HQ17
+item_16_title=Ladra Leggendaria
+item_16_comment=Completa il gioco come ladra
+item_17_id=HQ18
+item_17_title=Ingannatrice di Loki
+item_17_comment=Affronta situazioni pericolose senza l'uso della forza
+item_18_id=HQ19
+item_18_title=Ladra Suprema
+item_18_comment=Ottieni il punteggio massimo come ladra
+item_19_id=HQ20
+item_19_title=Tuttofare
+item_19_comment=Completa il gioco con tutte e tre le classi
+item_20_id=HQ21
+item_20_title=Eroina Epica
+item_20_comment=Completa il gioco alla difficoltà più alta
+item_21_id=HQ22
+item_21_title=Eroina Frettolosa
+item_21_comment=Completa il gioco entro cinque giorni
+item_22_id=HQ23
+item_22_title=Eroina Esemplare
+item_22_comment=Completa il gioco con 100 punti Onore
+item_23_id=HQ24
+item_23_title=Sporca Furfante Corrotta
+item_23_comment=Completa il gioco con meno di 10 punti Onore
+item_24_id=HQ25
+item_24_title=Il Mio Kung Fu è più Forte del Tuo
+item_24_comment=Dimostrati una guardiana migliore di Sigurd
+item_25_id=HQ26
+item_25_title=Più Saggia dello Stregone
+item_25_comment=Dimostrati una guardiana migliore di Aurvandel
+item_26_id=HQ27
+item_26_title=Scorciatoie
+item_26_comment=Ruba la ricompensa di una missione senza completarla
+item_27_id=HQ29
+item_27_title=Medaglia di Bronzo
+item_27_comment=Completa la Prova del Destino a livello minimo/basso
+item_28_id=HQ30
+item_28_title=Medaglia d'Argento
+item_28_comment=Completa la Prova del Destino a livello intermedio/alto
+item_29_id=HQ31
+item_29_title=Medaglia d'Oro
+item_29_comment=Completa la Prova del Destino a livello massimo
+item_30_id=HQ32
+item_30_title=Che Faticaccia!
+item_30_comment=Massimizza i tuoi Attributi
+item_31_id=HQ36
+item_31_title=La Prova del Fuoco
+item_31_comment=Sconfiggi Surtr
+item_32_id=HQ37
+item_32_title=Il Prezzo della Guerra
+item_32_comment=Vinci la battaglia di Munarvagir
+item_33_id=HQ38
+item_33_title=Ombre Oscure
+item_33_comment=Vendi il cristallo svartalf
+item_34_id=HQ39
+item_34_title=Bracca-Brauggi
+item_34_hidden=true
+item_35_id=HQ41
+item_35_title=La tua Sventura è Alle Porte!
+item_35_hidden=true
+item_36_id=HQ42
+item_36_title=Alle Origini
+item_36_hidden=true
+item_37_id=HQ43
+item_37_title=Un Achievement VEElenoso!
+item_37_hidden=true
+item_38_id=HQ44
+item_38_title=Molto IMProbabile
+item_38_hidden=true
+item_39_id=HQ45
+item_39_title=Alla Memoria
+item_39_hidden=true
+item_40_id=HQ46
+item_40_title=Casa Dolce Casa
+item_40_hidden=true
+item_41_id=HQ47
+item_41_title=Zombie
+item_41_hidden=true
+item_42_id=HQ48
+item_42_title=Perché non pr0fa facanza in Svezia, qvest'ann0?
+item_42_hidden=true
+item_43_id=HQ49
+item_43_title=Pericolo Pubblico
+item_43_comment=Passa il resto della vita in cella
+item_44_id=HQ53
+item_44_title=Testa sulle Spalle
+item_44_hidden=true
+item_45_id=HQ52
+item_45_title=Bella e Maledetta
+item_45_hidden=true
+[achievements:es_ES]
+item_0_id=HQ01
+item_0_title=Así que quieres ser una heroína
+item_0_comment=Encuentra comida por primera vez.
+item_1_id=HQ02
+item_1_title=Aprendiz de guerrera
+item_1_comment=Llega al capítulo 2 como guerrera.
+item_2_id=HQ03
+item_2_title=Guerrera experta
+item_2_comment=Llega al capítulo 3 como guerrera.
+item_3_id=HQ04
+item_3_title=Maestra guerrera
+item_3_comment=Llega al capítulo 4 como guerrera.
+item_4_id=HQ05
+item_4_title=Guerrera legendaria
+item_4_comment=Completa el juego como guerrera.
+item_5_id=HQ06
+item_5_title=Paladín
+item_5_comment=Consigue Balmung.
+item_6_id=HQ07
+item_6_title=Guerrera definitiva
+item_6_comment=Consigue la puntuación máxima como guerrera.
+item_7_id=HQ08
+item_7_title=Aprendiz de hechicera
+item_7_comment=Llega al capítulo 2 como hechicera.
+item_8_id=HQ09
+item_8_title=Hechicera experta
+item_8_comment=Llega al capítulo 3 como hechicera.
+item_9_id=HQ10
+item_9_title=Maestra hechicera
+item_9_comment=Llega al capítulo 4 como hechicera.
+item_10_id=HQ11
+item_10_title=Hechicera legendaria
+item_10_comment=Completa el juego como hechicera.
+item_11_id=HQ12
+item_11_title=Archimaga
+item_11_comment=Aprende el hechizo Relámpago.
+item_12_id=HQ13
+item_12_title=Hechicera definitiva
+item_12_comment=Consigue la puntuación máxima como hechicera.
+item_13_id=HQ14
+item_13_title=Aprendiz de pícara
+item_13_comment=Llega al capítulo 2 como pícara.
+item_14_id=HQ15
+item_14_title=Pícara experta
+item_14_comment=Llega al capítulo 3 como pícara.
+item_15_id=HQ16
+item_15_title=Maestra pícara
+item_15_comment=Llega al capítulo 4 como pícara.
+item_16_id=HQ17
+item_16_title=Pícara legendaria
+item_16_comment=Completa el juego como pícara.
+item_17_id=HQ18
+item_17_title=Embaucadora de Loki
+item_17_comment=Arréglatelas en situaciones violentas sin recurrir a la violencia.
+item_18_id=HQ19
+item_18_title=Pícara definitiva
+item_18_comment=Consigue la puntuación máxima siendo pícara.
+item_19_id=HQ20
+item_19_title=Maestra liendre
+item_19_comment=Completa el juego con las tres clases diferentes.
+item_20_id=HQ21
+item_20_title=Heroína entre heroínas
+item_20_comment=Pásate el juego entero en la dificultad máxima.
+item_21_id=HQ22
+item_21_title=Heroína con prisa
+item_21_comment=Completa el juego en una semana.
+item_22_id=HQ23
+item_22_title=Heroína ejemplar
+item_22_comment=Completa el juego con 100 de honor.
+item_23_id=HQ24
+item_23_title=Sabandija de la peor calaña
+item_23_comment=Completa el juego con menos de 10 de honor.
+item_24_id=HQ25
+item_24_title=Soy mejor en Kung-fu
+item_24_comment=Demuestra que eres mejor guardiana que Sigurd.
+item_25_id=HQ26
+item_25_title=Más sabia que el sabio
+item_25_comment=Demuestra que eres mejor guardiana que Aurvandel.
+item_26_id=HQ27
+item_26_title=Acortando camino
+item_26_comment=Roba la recompensa de una misión sin haberla completado.
+item_27_id=HQ29
+item_27_title=Medalla de bronce
+item_27_comment=Hazte con una victoria fácil en la Prueba del Sino.
+item_28_id=HQ30
+item_28_title=Medalla de plata
+item_28_comment=Hazte con una victoria moderada en la Prueba del Sino.
+item_29_id=HQ31
+item_29_title=Medalla de oro
+item_29_comment=Hazte con una victoria difícil en la Prueba del Sino.
+item_30_id=HQ32
+item_30_title=¡No veas con el ejercicio!
+item_30_comment=Aumenta tus atributos primarios al máximo.
+item_31_id=HQ36
+item_31_title=Prueba de fuego
+item_31_comment=Vence a Surtur.
+item_32_id=HQ37
+item_32_title=En el clamor de la batalla
+item_32_comment=Gana la batalla por Munarvagir.
+item_33_id=HQ38
+item_33_title=Sombras en la oscuridad
+item_33_comment=Entrega el cristal svartalf.
+item_34_id=HQ39
+item_34_title=Derechos braúggicos
+item_34_hidden=true
+item_35_id=HQ41
+item_35_title=¡Estás bendecida!
+item_35_hidden=true
+item_36_id=HQ42
+item_36_title=Donde todo empezó
+item_36_hidden=true
+item_37_id=HQ43
+item_37_title=¡Un logro VENENOOSO!
+item_37_hidden=true
+item_38_id=HQ44
+item_38_title=Endiablada
+item_38_hidden=true
+item_39_id=HQ45
+item_39_title=En memoria de...
+item_39_hidden=true
+item_40_id=HQ46
+item_40_title=Tu hogar es donde tienes el corazón
+item_40_hidden=true
+item_41_id=HQ47
+item_41_title=Otra cabeza gacha
+item_41_hidden=true
+item_42_id=HQ48
+item_42_title=¿Le gustarría ir de vacazi0nes a Suezia heste añ0?
+item_42_hidden=true
+item_43_id=HQ49
+item_43_title=Peligro para la sociedad
+item_43_comment=Pásate la vida entera en prisión.
+item_44_id=HQ53
+item_44_title=No pierdas la cabeza
+item_44_hidden=true
+item_45_id=HQ52
+item_45_title=Oscura y perturbada
+item_45_hidden=true
+[achievements:ru_RU]
+item_0_id=HQ01
+item_0_title=Так ты хочешь быть Героиней
+item_0_comment=Найти свою первую пищу
+item_1_id=HQ02
+item_1_title=Начинающая Воительница
+item_1_comment=Достичь второй главы воином
+item_2_id=HQ03
+item_2_title=Способная Воительница
+item_2_comment=Достичь третьей главы воином
+item_3_id=HQ04
+item_3_title=Элитная Воительница
+item_3_comment=Достичь четвёртой главы воином
+item_4_id=HQ05
+item_4_title=Легендарная Воительница
+item_4_comment=Закончить игру воином
+item_5_id=HQ06
+item_5_title=Паладин
+item_5_comment=Получить Балмунг
+item_6_id=HQ07
+item_6_title=Идеальная Воительница
+item_6_comment=Достичь максимальных очков воином
+item_7_id=HQ08
+item_7_title=Начинающая Волшебница
+item_7_comment=Достичь второй главы волшебницей
+item_8_id=HQ09
+item_8_title=Способная Волшебница
+item_8_comment=Достичь третьей главы волшебницей
+item_9_id=HQ10
+item_9_title=Элитная Волшебница
+item_9_comment=Достичь четвёртой главы волшебницей
+item_10_id=HQ11
+item_10_title=Легендарная Волшебница
+item_10_comment=Закончить игру волшебницей
+item_11_id=HQ12
+item_11_title=Архимаг
+item_11_comment=Выучить заклинание молнии
+item_12_id=HQ13
+item_12_title=Идеальная Волшебница
+item_12_comment=Достичь максимальных очков волшебницей
+item_13_id=HQ14
+item_13_title=Начинающая Плутовка
+item_13_comment=Достичь второй главы плутом
+item_14_id=HQ15
+item_14_title=Способная Плутовка
+item_14_comment=Достичь третьей главы плутом
+item_15_id=HQ16
+item_15_title=Элитная Плутовка
+item_15_comment=Достичь четвёртой главы плутом
+item_16_id=HQ17
+item_16_title=Легендарная Плутовка
+item_16_comment=Закончить игру плутом
+item_17_id=HQ18
+item_17_title=Трюкач Локи
+item_17_comment=Разобраться с жестокой ситуацией без насилия
+item_18_id=HQ19
+item_18_title=Идеальная Плутовка
+item_18_comment=Достичь максимальных очков плутом
+item_19_id=HQ20
+item_19_title=Мастерица на все руки
+item_19_comment=Закончить игру за все три класса
+item_20_id=HQ21
+item_20_title=Героиня-грандмастер
+item_20_comment=Закончить игру на самой высокой сложности
+item_21_id=HQ22
+item_21_title=Героиня в спешке
+item_21_comment=Закончить игру за пять дней
+item_22_id=HQ23
+item_22_title=Совершенная Героиня
+item_22_comment=Закончить игру, имея честь 100
+item_23_id=HQ24
+item_23_title=Грязная злая воровка
+item_23_comment=Закончить игру, имея честь менее 10
+item_24_id=HQ25
+item_24_title=Моё кунфу сильнее
+item_24_comment=Показать себя лучшим стражем, чем Сигурд
+item_25_id=HQ26
+item_25_title=Мудрее, чем Маг
+item_25_comment=Показать себя лучшим стражем, чем Аурвандель
+item_26_id=HQ27
+item_26_title=Срезая углы
+item_26_comment=Украсть награду за квест, не выполняя квеста
+item_27_id=HQ29
+item_27_title=Бронзовая медаль
+item_27_comment=Получить лёгкую победу в Пещере Костей
+item_28_id=HQ30
+item_28_title=Серебряная медаль
+item_28_comment=Получить среднюю победу в Пещере Костей
+item_29_id=HQ31
+item_29_title=Золотая медаль
+item_29_comment=Получить трудную победу в Пещере Костей
+item_30_id=HQ32
+item_30_title=Вот это тренировка!
+item_30_comment=Довести первичные характеристики до максимума
+item_31_id=HQ36
+item_31_title=Trial by Fire
+item_31_comment=Победить Суртра
+item_32_id=HQ37
+item_32_title=Wages of War
+item_32_comment=Победить Мунарвагира
+item_33_id=HQ38
+item_33_title=Shadows of Darkness
+item_33_comment=Донести кристалл свартальфа
+item_34_id=HQ39
+item_34_title=Право гордиться
+item_34_hidden=true
+item_35_id=HQ41
+item_35_title=Вот твой цветок!
+item_35_hidden=true
+item_36_id=HQ42
+item_36_title=Там, где всё началось
+item_36_hidden=true
+item_37_id=HQ43
+item_37_title=A POIsonous Achievement!
+item_37_hidden=true
+item_38_id=HQ44
+item_38_title=Most IMPressive
+item_38_hidden=true
+item_39_id=HQ45
+item_39_title=В доброй памяти
+item_39_hidden=true
+item_40_id=HQ46
+item_40_title=Дом там, где сердце
+item_40_hidden=true
+item_41_id=HQ47
+item_41_title=Ещё одна голова поникла
+item_41_hidden=true
+item_42_id=HQ48
+item_42_title=П04ему 6ы не пр0вести 0тпуск в Шв3ции?
+item_42_hidden=true
+item_43_id=HQ49
+item_43_title=Угроза обществу
+item_43_comment=Закончить жизнь в тюрьме
+item_44_id=HQ53
+item_44_title=Не теряйте головы
+item_44_hidden=true
+item_45_id=HQ52
+item_45_title=Темные и Неспокойном
+item_45_hidden=true
+[achievements:hu_HU]
+item_0_id=HQ01
+item_0_title=Tehát Hõsnõ akarsz lenni
+item_0_comment=Találd meg elsõ ételedet
+item_1_id=HQ02
+item_1_title=Tanuló Harcos
+item_1_comment=Érd el a 2. fejezetet mint harcos
+item_2_id=HQ03
+item_2_title=Szakértõ Harcos
+item_2_comment=Érd el a 3. fejezetet mint harcos
+item_3_id=HQ04
+item_3_title=Mester Harcos
+item_3_comment=Érd el a 4. fejezetet mint harcos
+item_4_id=HQ05
+item_4_title=Legendás Harcos
+item_4_comment=Fejezd be a játékot mint harcos
+item_5_id=HQ06
+item_5_title=Pap-lovag
+item_5_comment=Szerezd meg Balmungot
+item_6_id=HQ07
+item_6_title=A Legjobb Harcos
+item_6_comment=Érj el maximális pontszámot mint harcos
+item_7_id=HQ08
+item_7_title=Tanuló Varázslónõ
+item_7_comment=Reach Érd el a 2. fejezetet mint varázslónõ
+item_8_id=HQ09
+item_8_title=Szakértõ Varázslónõ
+item_8_comment=Érd el a 3. fejezetet mint varázslónõ
+item_9_id=HQ10
+item_9_title=Mester Varázslónõ
+item_9_comment=Érd el a 4. fejezetet mint varázslónõ
+item_10_id=HQ11
+item_10_title=Legendás Varázslónõ
+item_10_comment=Fejezd be a játékot mint varázslónõ
+item_11_id=HQ12
+item_11_title=Fõmágus
+item_11_comment=Tanuld meg a villámcsapás varázslatot
+item_12_id=HQ13
+item_12_title=A legjobb Varázslónõ
+item_12_comment=Érj el maximális pontszámot mint varázslónõ
+item_13_id=HQ14
+item_13_title=Tanuló Kósza
+item_13_comment=Érd el a 2. fejezetet mint kósza
+item_14_id=HQ15
+item_14_title=Szakértõ Kósza
+item_14_comment=Érd el a 3. fejezetet mint kósza
+item_15_id=HQ16
+item_15_title=Mester Kósza
+item_15_comment=Érd el a 4. fejezetet mint kósza
+item_16_id=HQ17
+item_16_title=Legendás Kósza
+item_16_comment=Fejezd be a játékot mint kósza
+item_17_id=HQ18
+item_17_title=Loki Átejtõje
+item_17_comment=Bánj el az erõszakos helyzetekkel erõszak nélkül
+item_18_id=HQ19
+item_18_title=A legjobb Kósza
+item_18_comment=Érj el maximális pontszámot mint kósza
+item_19_id=HQ20
+item_19_title=Ezermester
+item_19_comment=Csináld végig a játékot mind a három osztályban
+item_20_id=HQ21
+item_20_title=Hõsnõ Nagymester
+item_20_comment=Csináld végig a játékot a legerõsebb nehézségi fokon
+item_21_id=HQ22
+item_21_title=Sietõs Hõsnõ
+item_21_comment=Csináld végig a játékot öt napon belül
+item_22_id=HQ23
+item_22_title=Eszménykép Hõsnõ
+item_22_comment=Csináld végig a játékot 100 becsülettel
+item_23_id=HQ24
+item_23_title=Mocskos Rohadt Csibész
+item_23_comment=Csináld végig a játékot 10-nél kevesebb becsülettel
+item_24_id=HQ25
+item_24_title=Az Én Kung-fum Erõsebb
+item_24_comment=Bizonyítsd be, hogy jobb õrzõ vagy, mint Sigurd
+item_25_id=HQ26
+item_25_title=Bölcsebb, mint a Varázsló
+item_25_comment=Bizonyítsd be, hogy jobb õrzõ vagy, mint Aurvandel
+item_26_id=HQ27
+item_26_title=Cutting Corners
+item_26_comment=Steal a quest reward without doing the quest
+item_27_id=HQ29
+item_27_title=Bronz Érem
+item_27_comment=Nyerj meg egy könnyû gyõzelmet a Csontok Barlangban
+item_28_id=HQ30
+item_28_title=Ezüst Érem
+item_28_comment=Nyerj meg egy közepes gyõzelmet a Csontok Barlangban
+item_29_id=HQ31
+item_29_title=Arany Érem
+item_29_comment=Nyerj meg egy nehéz gyõzelmet a Csontok Barlangban
+item_30_id=HQ32
+item_30_title=Micsoda Erõnlét!
+item_30_comment=Maximalizáld elsõdleges statisztikáidat
+item_31_id=HQ36
+item_31_title=Tûzpróba
+item_31_comment=Gyõzd le Surtr-t
+item_32_id=HQ37
+item_32_title=Háborús Tétek
+item_32_comment=Nyerd meg a Munarvagirért vívott csatát
+item_33_id=HQ38
+item_33_title=A Sötétség Árnyai
+item_33_comment=Kézbesítsd a svartalf kristályt
+item_34_id=HQ39
+item_34_title=Brauggi Betörõje
+item_34_hidden=true
+item_35_id=HQ41
+item_35_title=Ideje Kivirágozni!
+item_35_hidden=true
+item_36_id=HQ42
+item_36_title=Ahol minden elkezdõdött
+item_36_hidden=true
+item_37_id=HQ43
+item_37_title=Egy MÉRgezõ Vívmány!
+item_37_hidden=true
+item_38_id=HQ44
+item_38_title=A Legördögibb
+item_38_hidden=true
+item_39_id=HQ45
+item_39_title=Szeretõ Emlékezettel
+item_39_hidden=true
+item_40_id=HQ46
+item_40_title=Mindenkinek hazahúz a szíve
+item_40_hidden=true
+item_41_id=HQ47
+item_41_title=Még egy lecsüggesztett fej
+item_41_hidden=true
+item_42_id=HQ48
+item_42_title=Maer n0m pr0baalsz Svaedorszaagban vakaci00zni idaen?
+item_42_hidden=true
+item_43_id=HQ49
+item_43_title=Fenyegetés a Társadalomra
+item_43_comment=Töltsd az életed börtönben
+item_44_id=HQ53
+item_44_title=Ne veszítsd el a fejedet
+item_44_hidden=true
+item_45_id=HQ52
+item_45_title=Sötét és Zavaros
+item_45_hidden=true
diff --git a/devtools/create_achievements/gen/steam-286360.ini b/devtools/create_achievements/gen/steam-286360.ini
index 2a4c1f1094..eced79c77b 100644
--- a/devtools/create_achievements/gen/steam-286360.ini
+++ b/devtools/create_achievements/gen/steam-286360.ini
@@ -59,3 +59,247 @@ item_18_comment=Complete Shadows on the Vatican Act I
 item_19_id=ACH_FAST_GAMER
 item_19_title=Dialogue skipper
 item_19_comment=Complete the adventure in less than two hours
+[achievements:de_DE]
+item_0_id=ACH_ZENMASTER
+item_0_title=Zen Meister
+item_0_comment=Überlebe ein Gespräch mit Anna Marano
+item_1_id=ACH_LOOK_BIDET
+item_1_title=Erinnerungen an Italien
+item_1_comment=Finde einen versteckten Hinweis auf die modern Gesellschaft
+item_2_id=ACH_TUTORIAL_DONE
+item_2_title=James Murphy, Arzt
+item_2_comment=Beende das Tutorial mit dem Nähen von Marios Wunde
+item_3_id=ACH_CRI_STUFF
+item_3_title=Und los!
+item_3_comment=Finde die ersten Hinweise auf die Ermittlungen zu Cristoforo
+item_4_id=ACH_HOLYPICS
+item_4_title=Es geht auch anspruchsvoller
+item_4_comment=Löse ein Rätsel mit dem Kalender daheim
+item_5_id=ACH_LEPRIGNANO
+item_5_title=Surf-Experte
+item_5_comment=Beende deine erste Internet-Recherche erfolgreich
+item_6_id=ACH_SCROOGE
+item_6_title=Der billige James
+item_6_comment=Bestich den Wächter an der Capena-Kirche
+item_7_id=ACH_DRAPE
+item_7_title=Nimm das, Dr. Jones!
+item_7_comment=Löse das schwierigste Rätsel von Cristoforo
+item_8_id=ACH_DRUNKNUN
+item_8_title=James der Sünder
+item_8_comment=Du hast Schwester Candida verdorben. Viel Spaß in der Hölle!
+item_9_id=ACH_MARANO_DIARY
+item_9_title=Aufmerksamer Leser
+item_9_comment=Ein Adventure-Klischee : Das Tagebuch!
+item_10_id=ACH_CIGAR
+item_10_title=Keine Angst vor Pixel-Suche
+item_10_comment=Finde etwas, das dem Juwelier gehört hat
+item_11_id=ACH_CARCHASE
+item_11_title=Licht aus
+item_11_comment=Beende die Verfolgungsjagd mit dem Auto fehlerfrei
+item_12_id=ACH_HOTSPOTTER
+item_12_title=Ach schau mal, ein Busch!
+item_12_comment=Mit einer Lupe ist das keine Pixel-Suche
+item_13_id=ACH_NOLK27
+item_13_title=Mysteriöses Kennwort
+item_13_comment=...vielleicht ergibt das in einem anderen Spiel Sinn?
+item_14_id=ACH_SANTA
+item_14_title=Ho ho ho!
+item_14_comment=Versuche, am 24. Dezember, den Schornstein zu benutzen
+item_15_id=ACH_ELISA
+item_15_title=Audere Semper
+item_15_comment=Elisa, du hast einen Platz in unseren Herzen
+item_16_id=ACH_SILVIA
+item_16_title=Ziemlich viel Platz hier…
+item_16_comment=Bring eine attraktive Frau nach Hause
+item_17_id=ACH_MATH_ACE
+item_17_title=Mathe-Genie
+item_17_comment=Verrechne dich zwei Mal
+item_18_id=ACH_COMPLETION
+item_18_title=Man sieht James die Aufregung an
+item_18_comment=Beende Schatten im Vatikan Akt I
+item_19_id=ACH_FAST_GAMER
+item_19_title=Wir überspringen wohl gerne Dialoge, hm?
+item_19_comment=Beende das Abenteuer in weniger als zwei Stunden
+[achievements:fr_FR]
+item_0_id=ACH_ZENMASTER
+item_0_title=Maître Zen
+item_0_comment=Survis à une conversation avec Anna Marano
+item_1_id=ACH_LOOK_BIDET
+item_1_title=Souvenirs d'Italie
+item_1_comment=Trouve un signe irréfutable de civilisation moderne
+item_2_id=ACH_TUTORIAL_DONE
+item_2_title=James Murphy, médecin
+item_2_comment=Finis le tutoriel en suturant la blessure de Mario
+item_3_id=ACH_CRI_STUFF
+item_3_title=La partie commence
+item_3_comment=Trouve le premier indice concernant l'enquête de Cristoforo
+item_4_id=ACH_HOLYPICS
+item_4_title=Le chemin le plus dur
+item_4_comment=Résous une énigme en utilisant le calendrier de la maison
+item_5_id=ACH_LEPRIGNANO
+item_5_title=Surfeur du Cyberespace
+item_5_comment=Complète avec succès ta première recherche en ligne
+item_6_id=ACH_SCROOGE
+item_6_title=James le radin
+item_6_comment=Corromps le gardien de l'église de Capena
+item_7_id=ACH_DRAPE
+item_7_title=Prends ça, Dr Jones
+item_7_comment=Résous le casse-tête le plus énigmatique laissé par Cristoforo
+item_8_id=ACH_DRUNKNUN
+item_8_title=James le pêcheur
+item_8_comment=Prépare-toi à l'enfer en ruinant la Sœur Candida
+item_9_id=ACH_MARANO_DIARY
+item_9_title=Lecteur attentif
+item_9_comment=Fais face à un cliché des jeux d'aventure : le journal !
+item_10_id=ACH_CIGAR
+item_10_title=La chasse aux pixels ne m'effraie pas
+item_10_comment=Trouve quelque chose qui appartient au bijoutier
+item_11_id=ACH_CARCHASE
+item_11_title=Phares éteints
+item_11_comment=Complète la course-poursuite sans erreur
+item_12_id=ACH_HOTSPOTTER
+item_12_title=Regarde, un buisson !
+item_12_comment=Pas de chasse aux pixels si tu as une loupe
+item_13_id=ACH_NOLK27
+item_13_title=Mot de passe mystérieux
+item_13_comment=...cela signifie peut-être quelque chose dans un autre jeu ?
+item_14_id=ACH_SANTA
+item_14_title=Ho ho ho!
+item_14_comment=Essaie d'entrer dans la cheminée le 24 Décembre
+item_15_id=ACH_ELISA
+item_15_title=Audere Semper
+item_15_comment=Elisa, nous te garderons toujours dans nos cœurs
+item_16_id=ACH_SILVIA
+item_16_title=Beaucoup de place ici...
+item_16_comment=Ramène une femme sexy à la maison
+item_17_id=ACH_MATH_ACE
+item_17_title=L'as des maths
+item_17_comment=Rate les calculs deux fois
+item_18_id=ACH_COMPLETION
+item_18_title=Visage réjoui
+item_18_comment=Complète Shadows on the Vatican Acte I
+item_19_id=ACH_FAST_GAMER
+item_19_title=Passeur de dialogues
+item_19_comment=Complète l'aventure en moins de deux heures
+[achievements:it_IT]
+item_0_id=ACH_ZENMASTER
+item_0_title=Zen Master
+item_0_comment=Sopravvivi alle conversazioni con Anna Marano.
+item_1_id=ACH_LOOK_BIDET
+item_1_title=Ricordi italiani
+item_1_comment=Trova un inconfutabile segno di civilizzazione.
+item_2_id=ACH_TUTORIAL_DONE
+item_2_title=James Murphy, medico
+item_2_comment=Rattoppa Mario terminando il tutorial.
+item_3_id=ACH_CRI_STUFF
+item_3_title=Inizia l'indagine
+item_3_comment=Trova i primi indizi che riguardano l'indagine di Cristoforo.
+item_4_id=ACH_HOLYPICS
+item_4_title=Giro largo
+item_4_comment=Risolvi un enigma utilizzando il calendario di casa.
+item_5_id=ACH_LEPRIGNANO
+item_5_title=Cyberspace Surfer
+item_5_comment=Termina con successo la tua prima ricerca in Rete.
+item_6_id=ACH_SCROOGE
+item_6_title=James il tirchio
+item_6_comment=Corrompi il custode della chiesa di Capena.
+item_7_id=ACH_DRAPE
+item_7_title=Prendi questo, dr Jones
+item_7_comment=Risolvi il più criptico degli indizi di Cristoforo.
+item_8_id=ACH_DRUNKNUN
+item_8_title=James il peccatore
+item_8_comment=Preparati all'inferno rovinando Suor Candida.
+item_9_id=ACH_MARANO_DIARY
+item_9_title=Attento lettore
+item_9_comment=Affronta con coraggio uno dei clichè degli adventure: il diario!
+item_10_id=ACH_CIGAR
+item_10_title=Il pixel hunting non mi spaventa...
+item_10_comment=Individua un oggetto che apparteneva al gioielliere.
+item_11_id=ACH_CARCHASE
+item_11_title=Fari spenti
+item_11_comment=Effettua il pedinamento senza commettere errori.
+item_12_id=ACH_HOTSPOTTER
+item_12_title=Guarda, un cespuglio!
+item_12_comment=Non è pixel hunting se hai una lente d'ingrandimento...
+item_13_id=ACH_NOLK27
+item_13_title=Password misteriosa
+item_13_comment=...magari ha senso in un altro gioco?
+item_14_id=ACH_SANTA
+item_14_title=Oh oh oh!
+item_14_comment=Cerca di entrare dal camino il giorno 24 dicembre.
+item_15_id=ACH_ELISA
+item_15_title=Audere Semper
+item_15_comment=Elisa, ti ricordiamo sempre nei nostri cuori.
+item_16_id=ACH_SILVIA
+item_16_title=Qui c'è tanto spazio...
+item_16_comment=Porta una ragazza sexy a casa tua.
+item_17_id=ACH_MATH_ACE
+item_17_title=Asso della matematica
+item_17_comment=Sbaglia due volte i calcoli.
+item_18_id=ACH_COMPLETION
+item_18_title=Faccia basita
+item_18_comment=Completa l'Atto I di Shadows on the Vatican.
+item_19_id=ACH_FAST_GAMER
+item_19_title=Saltatore di dialoghi
+item_19_comment=Completa l'avventura in meno di due ore.
+[achievements:es_ES]
+item_0_id=ACH_ZENMASTER
+item_0_title=Maestro Zen
+item_0_comment=Sobrevive a una conversación con Anna Marano
+item_1_id=ACH_LOOK_BIDET
+item_1_title=Recuerdos italianos
+item_1_comment=Encuentra un signo generalizado de la civilización moderna
+item_2_id=ACH_TUTORIAL_DONE
+item_2_title=James Murphy, doctor
+item_2_comment=Finaliza el tutorial cosiendo la herida de Mario.
+item_3_id=ACH_CRI_STUFF
+item_3_title=Empezó el juego
+item_3_comment=Encuentra las primeras pistas acerca de la investigación de Cristoforo
+item_4_id=ACH_HOLYPICS
+item_4_title=Camino difícil
+item_4_comment=Resuelve un rompecabezas usando el calendario que está en casa
+item_5_id=ACH_LEPRIGNANO
+item_5_title=El surfista del ciberespacio
+item_5_comment=Complete exitosamente su primera búsqueda en línea
+item_6_id=ACH_SCROOGE
+item_6_title=Bajo James
+item_6_comment=Corrompe al encargado de la Iglesia de Capena
+item_7_id=ACH_DRAPE
+item_7_title=Toma eso, dr. Jones
+item_7_comment=Resuelve el puzle más ocultado dejado por Cristoforo
+item_8_id=ACH_DRUNKNUN
+item_8_title=Santiago el pecador
+item_8_comment=Prepárate para el infierno tras arruinar a la hermana Candida
+item_9_id=ACH_MARANO_DIARY
+item_9_title=Lector atento
+item_9_comment=Enfrénta a un cliché de aventura: ¡el diario!
+item_10_id=ACH_CIGAR
+item_10_title=Sin miedo a la caza de píxeles
+item_10_comment=Encontrar algo que pertenecía al joyero
+item_11_id=ACH_CARCHASE
+item_11_title=Luces apagadas
+item_11_comment=Completa la persecución en coche sin errores
+item_12_id=ACH_HOTSPOTTER
+item_12_title=¡Mira, un arbusto!
+item_12_comment=No es una caza de píxeles si tienes una lupa...
+item_13_id=ACH_NOLK27
+item_13_title=Contraseña misteriosa
+item_13_comment=...¿tal vez tenga sentido en otro juego?
+item_14_id=ACH_SANTA
+item_14_title=¡Jo Jo Jo!
+item_14_comment=Trata de entrar por la chimenea el 24 de Diciembre
+item_15_id=ACH_ELISA
+item_15_title=Audere Semper
+item_15_comment=Elisa, nosotros te tenemos en el corazón
+item_16_id=ACH_SILVIA
+item_16_title=Un montón de espacio aquí...
+item_16_comment=Trae a una señora sexy de vuelta a casa
+item_17_id=ACH_MATH_ACE
+item_17_title=As de la matemáticas
+item_17_comment=Obtener el cálculo equivocado dos veces
+item_18_id=ACH_COMPLETION
+item_18_title=Cara emocionada
+item_18_comment=Completa Shadows on the Vatican Acto I
+item_19_id=ACH_FAST_GAMER
+item_19_title=Salteador de diálogos
+item_19_comment=Completa la aventura en menos de dos horas
diff --git a/devtools/create_achievements/gen/steam-291710.ini b/devtools/create_achievements/gen/steam-291710.ini
index 0f351be042..4f57264542 100644
--- a/devtools/create_achievements/gen/steam-291710.ini
+++ b/devtools/create_achievements/gen/steam-291710.ini
@@ -101,3 +101,106 @@ item_32_comment=Fully talk with Nanny Noah on Saxton Shore.
 item_33_id=ACH_NARCISSIST
 item_33_title=Narcissist
 item_33_comment=Look in the Harbour Cottage mirror 5 times on Day 1
+[achievements:de_DE]
+item_0_id=ACH_HEDGE_WYTCH
+item_0_title=Übernatürlicher Botaniker
+item_0_comment=Pflücke alle Pflanzen und Blumen auf den Feldwegen.
+item_1_id=ACH_GOOD_LISTENER
+item_1_title=Guter Zuhörer
+item_1_comment=Hör dir jeden Tag oder jede Nacht die Geschichten am Telefon im Harbor Cottage an.
+item_2_id=ACH_FEARLESS
+item_2_title=Wahrer Geisterjäger
+item_2_comment=Vernichte die Schienengeister beim ersten Versuch.
+item_3_id=ACH_GRAVE_DWELLER
+item_3_title=Bezwinger der Dunkelheit
+item_3_comment=Besiege die Dunkelheit bei Northfield beim ersten Versuch.
+item_4_id=ACH_CAIRANS_FRIEND
+item_4_title=Mein Freund das Schwein
+item_4_comment=Füttere Cairan das Schwein mehr als 20 Mal.
+item_5_id=ACH_SWOT
+item_5_title=Streber
+item_5_comment=Erkunde jeden Winkel des Museums von Saxton.
+item_6_id=ACH_FILM_BUFF
+item_6_title=Film-Fan
+item_6_comment=Sieh dir die Filme im Museum von Saxton in ihrer ganzen Länge an.
+item_7_id=ACH_BOOKWORM
+item_7_title=Bücherwurm
+item_7_comment=Lies alle Bücher in der Bibliothek und der Keltischen Ecke im Museum von Saxton.
+item_8_id=ACH_DETECTIVE
+item_8_title=Echter Detektiv
+item_8_comment=Analysiere alle Bilder an der Wand des Albtraumraums.
+item_9_id=ACH_LOBSTER_POTTY
+item_9_title=Hummer im Topf
+item_9_comment=Statte dem Hummer im The Bear einen Besuch ab.
+item_10_id=ACH_CAT_WATCHER
+item_10_title=Cat Watcher
+item_10_comment=Gib Cat Watch die Namen von 6 Einwohnern Saxtons.
+item_11_id=ACH_CRIME_LINE
+item_11_title=Saxton-Sherlock
+item_11_comment=Identifiziere das Saxton-Skelett.
+item_12_id=ACH_PUNCH_JUDY_FAN
+item_12_title=So geht das
+item_12_comment=Sieh dir das Kasperletheater an der Küste von Saxton bis zum Ende an.
+item_13_id=ACH_RETRO_HORROR
+item_13_title=Retro-Horror
+item_13_comment=Reise 5 Mal auf dem Geisterzug.
+item_14_id=ACH_LUCKY_DIPPER
+item_14_title=Lucky Dipper
+item_14_comment=Sieh dir alle Gegenstände im Lucky Dip an.
+item_15_id=ACH_ENVIRONMENTALIST
+item_15_title=Umweltschützer
+item_15_comment=Schieße ein Foto der seltenen Kreuzkröte.
+item_16_id=ACH_TWITCHER
+item_16_title=Vogelbeobachter
+item_16_comment=Schieße ein Foto des Reihers in den Sümpfen Saxtons.
+item_17_id=ACH_CAT_SNAPPER
+item_17_title=Katzenliebhaber
+item_17_comment=Schieße ein Foto von Mr Tibbs bei Ulcombe.
+item_18_id=ACH_WE_THREE_KINGS
+item_18_title=Die drei Könige
+item_18_comment=Schieße ein Foto der Statue der drei sächsischen Könige.
+item_19_id=ACH_SAXTON_SNAPPER
+item_19_title=Paparazzi
+item_19_comment=Gewinne den 1. Preis beim Saxton Snappers-Fotografiewettbewerb.
+item_20_id=ACH_EVP_MASTER
+item_20_title=Stimmen der Toten
+item_20_comment=Finde alle ESPs im Spiel.
+item_21_id=ACH_GHOST_PHOTOGRAPHER
+item_21_title=Phantomfotograf
+item_21_comment=Schieße alle möglichen Geisterfotos im Spiel.
+item_22_id=ACH_PEOPLE_PERSON
+item_22_title=So viele Namen
+item_22_comment=Nenne alle Figuren, die in Ganwulfs Grab zu sehen sind.
+item_23_id=ACH_ENVIRONMETER
+item_23_title=Geisterjäger
+item_23_comment=Finde mehr als 20 übernatürliche Vorkommnisse in Harbour Cottage mit dem Geistersucher.
+item_24_id=ACH_TO_THE_FUTURE
+item_24_title=In die Zukunft
+item_24_comment=Schließe das Spiel erfolgreich ab.
+item_25_id=ACH_WARNING_CURIOUS
+item_25_title=Eine Warnung an die Neugierigen
+item_25_comment=Hör dir alle bedrohlichen Warnungen von Hardachre an.
+item_26_id=ACH_MIRROR_MIRROR
+item_26_title=Spieglein Spieglein
+item_26_comment=Beschwöre den Geist im Spiegel.
+item_27_id=ACH_IN_DEEP
+item_27_title=Holistischer Detektiv
+item_27_comment=Analysiere die Dokumente und Fotos, die Hadden gestohlen wurden.
+item_28_id=ACH_CHECK_IN
+item_28_title=Trautes Heim
+item_28_comment=Finde eine neue Unterkunft in Saxton.
+item_29_id=ACH_SPY_GLASS
+item_29_title=Fernglas
+item_29_comment=Sieh am Maitag durch das Teleskop, um alle Ansichten des kleinen Leuchtturms zu sehen.
+item_30_id=ACH_ISOLATION
+item_30_title=Willentliche Isolation
+item_30_comment=Fahre mehr als ein Mal in den Sümpfen aufs Meer.
+item_31_id=ACH_UNDERCURRENTS
+item_31_title=Permanente Unterströmung
+item_31_comment=Repariere das Warnschild in der Nähe des Fenland Eye.
+item_32_id=ACH_CHATTER_BOX
+item_32_title=Klatschtante
+item_32_comment=Führe alle Gespräche mit Nanny Noah an der Küste von Saxton.
+item_33_id=ACH_NARCISSIST
+item_33_title=Narzist
+item_33_comment=Sieh am ersten Tag fünf Mal in den Spiegel im Harbour Cottage.
diff --git a/devtools/create_achievements/gen/steam-370910.ini b/devtools/create_achievements/gen/steam-370910.ini
index c80839fec8..d29b643a82 100644
--- a/devtools/create_achievements/gen/steam-370910.ini
+++ b/devtools/create_achievements/gen/steam-370910.ini
@@ -59,3 +59,308 @@ item_18_hidden=true
 item_19_id=HookedOnCorleys
 item_19_title=Hooked on Corleys
 item_19_hidden=true
+[achievements:de_DE]
+item_0_id=FinishDayOne
+item_0_title=Aufs Katmobil gestiegen
+item_0_comment=Tag 1 abgeschlossen
+item_1_id=FinishDayTwo
+item_1_title=Wow, die sind hypnotisierend ...
+item_1_comment=Tag 2 abgeschlossen
+item_2_id=FinishDayThree
+item_2_title=Wir haben uns schon mal getroffen, oder nicht?
+item_2_comment=Tag 3 abgeschlossen
+item_3_id=FinishDayFour
+item_3_title=Sprung ins Ungewisse
+item_3_comment=Tag 4 abgeschlossen
+item_4_id=FinishGame
+item_4_title=Alles schon mal da gewesen
+item_4_comment=Das Spiel abgeschlossen
+item_5_id=Procrastinator
+item_5_title=Was du heute kannst besorgen ...
+item_5_hidden=true
+item_6_id=EnjoyingTheScenery
+item_6_title=Die Landschaft genießen
+item_6_hidden=true
+item_7_id=Hotwheels
+item_7_title=Heiße Reifen
+item_7_hidden=true
+item_8_id=Aww
+item_8_title=Aaah!
+item_8_hidden=true
+item_9_id=Undateable
+item_9_title=Kein Gespür für Romantik
+item_9_hidden=true
+item_10_id=MrBear
+item_10_title=Mr. Bär meldet sich zum Dienst!
+item_10_hidden=true
+item_11_id=Nocturnal
+item_11_title=Nachtaktiv
+item_11_hidden=true
+item_12_id=HowYouDoing
+item_12_title=Wie geht's denn so, Schätzchen?
+item_12_hidden=true
+item_13_id=RestingScowlyFace
+item_13_title=Von Natur aus mürrisch
+item_13_hidden=true
+item_14_id=Pyromaniac
+item_14_title=Pyromane
+item_14_hidden=true
+item_15_id=PassiveSmoking
+item_15_title=Passivraucher
+item_15_hidden=true
+item_16_id=FilmBuff
+item_16_title=Filmkenner
+item_16_hidden=true
+item_17_id=Heretic
+item_17_title=Ketzer
+item_17_hidden=true
+item_18_id=TriggerHappy
+item_18_title=Folterknecht
+item_18_hidden=true
+item_19_id=HookedOnCorleys
+item_19_title=Süchtig nach Corleys
+item_19_hidden=true
+[achievements:fr_FR]
+item_0_id=FinishDayOne
+item_0_title=Monter sur la Katmobile
+item_0_comment=A terminé le premier jour
+item_1_id=FinishDayTwo
+item_1_title=Oh, elles sont hypnotiques...
+item_1_comment=A terminé le deuxième jour
+item_2_id=FinishDayThree
+item_2_title=On s'est déjà rencontrés, n'est-ce pas ?
+item_2_comment=A terminé le troisième jour
+item_3_id=FinishDayFour
+item_3_title=Tomber dans le terrier
+item_3_comment=A terminé le quatrième jour
+item_4_id=FinishGame
+item_4_title=Déjà tout vu, déjà tout fait
+item_4_comment=A terminé le jeu
+item_5_id=Procrastinator
+item_5_title=Remet tout à demain
+item_5_hidden=true
+item_6_id=EnjoyingTheScenery
+item_6_title=Admirer le paysage
+item_6_hidden=true
+item_7_id=Hotwheels
+item_7_title=Pneus en feu
+item_7_hidden=true
+item_8_id=Aww
+item_8_title=Ooohh !
+item_8_hidden=true
+item_9_id=Undateable
+item_9_title=Célibataire à jamais
+item_9_hidden=true
+item_10_id=MrBear
+item_10_title=Monsieur Nounours, au rapport !
+item_10_hidden=true
+item_11_id=Nocturnal
+item_11_title=Nocturne
+item_11_hidden=true
+item_12_id=HowYouDoing
+item_12_title=Comment ça va TOI ?
+item_12_hidden=true
+item_13_id=RestingScowlyFace
+item_13_title=Expression naturellement antipathique
+item_13_hidden=true
+item_14_id=Pyromaniac
+item_14_title=Pyromane
+item_14_hidden=true
+item_15_id=PassiveSmoking
+item_15_title=Tabagisme passif
+item_15_hidden=true
+item_16_id=FilmBuff
+item_16_title=Cinéphile
+item_16_hidden=true
+item_17_id=Heretic
+item_17_title=Hérétique
+item_17_hidden=true
+item_18_id=TriggerHappy
+item_18_title=Gâchette facile
+item_18_hidden=true
+item_19_id=HookedOnCorleys
+item_19_title=Accro aux Corleys
+item_19_hidden=true
+[achievements:it_IT]
+item_0_id=FinishDayOne
+item_0_title=Sali sulla Katmobile
+item_0_comment=Hai finito il primo giorno
+item_1_id=FinishDayTwo
+item_1_title=Wow, sono proprio ipnotiche...
+item_1_comment=Hai finito il secondo giorno
+item_2_id=FinishDayThree
+item_2_title=Ci siamo già incontrati prima d'ora, vero?
+item_2_comment=Hai finito il terzo giorno.
+item_3_id=FinishDayFour
+item_3_title=Giù per la tana del bianconiglio
+item_3_comment=Hai finito il quarto giorno
+item_4_id=FinishGame
+item_4_title=Già visto tutto, già fatto tutto
+item_4_comment=Hai finito il gioco.
+item_5_id=Procrastinator
+item_5_title=Procrastinatore
+item_5_hidden=true
+item_6_id=EnjoyingTheScenery
+item_6_title=Ammira il paesaggio
+item_6_hidden=true
+item_7_id=Hotwheels
+item_7_title=Pneumatici di fuoco
+item_7_hidden=true
+item_8_id=Aww
+item_8_title=Ooohh!
+item_8_hidden=true
+item_9_id=Undateable
+item_9_title=Nessun appuntamento
+item_9_hidden=true
+item_10_id=MrBear
+item_10_title=Mister Orsacchiotto, a rapporto!
+item_10_hidden=true
+item_11_id=Nocturnal
+item_11_title=Notturno
+item_11_hidden=true
+item_12_id=HowYouDoing
+item_12_title=Come stai TU?
+item_12_hidden=true
+item_13_id=RestingScowlyFace
+item_13_title=Faccia istintivamente antipatica
+item_13_hidden=true
+item_14_id=Pyromaniac
+item_14_title=Piromane
+item_14_hidden=true
+item_15_id=PassiveSmoking
+item_15_title=Fumo passivo
+item_15_hidden=true
+item_16_id=FilmBuff
+item_16_title=Cinefilo
+item_16_hidden=true
+item_17_id=Heretic
+item_17_title=Eretico
+item_17_hidden=true
+item_18_id=TriggerHappy
+item_18_title=Grilletto facile
+item_18_hidden=true
+item_19_id=HookedOnCorleys
+item_19_title=Dipendenza dalle Corleys
+item_19_hidden=true
+[achievements:es_ES]
+item_0_id=FinishDayOne
+item_0_title=Subir al Katmóvil
+item_0_comment=Día uno terminado
+item_1_id=FinishDayTwo
+item_1_title=Vaya, son hipnóticas...
+item_1_comment=Día dos terminado
+item_2_id=FinishDayThree
+item_2_title=Nos conocemos de antes, ¿no?
+item_2_comment=Día tres terminado
+item_3_id=FinishDayFour
+item_3_title=Descender por la madriguera del conejo
+item_3_comment=Día cuatro terminado
+item_4_id=FinishGame
+item_4_title=Ya lo he visto, ya lo he hecho
+item_4_comment=Terminaste el juego
+item_5_id=Procrastinator
+item_5_title=Posponedora
+item_5_hidden=true
+item_6_id=EnjoyingTheScenery
+item_6_title=Disfrutando el paisaje
+item_6_hidden=true
+item_7_id=Hotwheels
+item_7_title=Hotwheels
+item_7_hidden=true
+item_8_id=Aww
+item_8_title=¡Ay!
+item_8_hidden=true
+item_9_id=Undateable
+item_9_title=Infechable
+item_9_hidden=true
+item_10_id=MrBear
+item_10_title=El Sr. Oso, ¡presente para el servicio!
+item_10_hidden=true
+item_11_id=Nocturnal
+item_11_title=Nocturno
+item_11_hidden=true
+item_12_id=HowYouDoing
+item_12_title=¿Cómo va ESO?
+item_12_hidden=true
+item_13_id=RestingScowlyFace
+item_13_title=Cara siempre enfurruñada
+item_13_hidden=true
+item_14_id=Pyromaniac
+item_14_title=Pirómana
+item_14_hidden=true
+item_15_id=PassiveSmoking
+item_15_title=Fumador pasivo
+item_15_hidden=true
+item_16_id=FilmBuff
+item_16_title=Fanática del cine
+item_16_hidden=true
+item_17_id=Heretic
+item_17_title=Hereje
+item_17_hidden=true
+item_18_id=TriggerHappy
+item_18_title=Gatillo fácil
+item_18_hidden=true
+item_19_id=HookedOnCorleys
+item_19_title=Adicta a las Corleys
+item_19_hidden=true
+[achievements:pl_PL]
+item_0_id=FinishDayOne
+item_0_title=Wsiądź na Katmobil
+item_0_comment=Ukończyłaś dzień pierwszy
+item_1_id=FinishDayTwo
+item_1_title=Wow, hipnotyczne...
+item_1_comment=Ukończyłaś dzień drugi
+item_2_id=FinishDayThree
+item_2_title=Spotkaliśmy się wcześniej, prawda?
+item_2_comment=Ukończyłaś dzień trzeci
+item_3_id=FinishDayFour
+item_3_title=Do króliczej dziury
+item_3_comment=Ukończyłaś dzień czwarty
+item_4_id=FinishGame
+item_4_title=Znam ten ból
+item_4_comment=Ukończyłaś grę
+item_5_id=Procrastinator
+item_5_title=Kunktator
+item_5_hidden=true
+item_6_id=EnjoyingTheScenery
+item_6_title=RozkoszujÄ…c siÄ™ widokiem
+item_6_hidden=true
+item_7_id=Hotwheels
+item_7_title=Nowe 4 kółka
+item_7_hidden=true
+item_8_id=Aww
+item_8_title=Oooch!
+item_8_hidden=true
+item_9_id=Undateable
+item_9_title=Nierandkowalna
+item_9_hidden=true
+item_10_id=MrBear
+item_10_title=Pan Miś gotowy do służby!
+item_10_hidden=true
+item_11_id=Nocturnal
+item_11_title=Ciemność widzę
+item_11_hidden=true
+item_12_id=HowYouDoing
+item_12_title=A jak ty siÄ™ miewasz?
+item_12_hidden=true
+item_13_id=RestingScowlyFace
+item_13_title=NadÄ…sana mina
+item_13_hidden=true
+item_14_id=Pyromaniac
+item_14_title=Piroman
+item_14_hidden=true
+item_15_id=PassiveSmoking
+item_15_title=Bierne palenie
+item_15_hidden=true
+item_16_id=FilmBuff
+item_16_title=Kinomaniak
+item_16_hidden=true
+item_17_id=Heretic
+item_17_title=Heretyczka
+item_17_hidden=true
+item_18_id=TriggerHappy
+item_18_title=Porażające doznania
+item_18_hidden=true
+item_19_id=HookedOnCorleys
+item_19_title=Uzależniona od Corleysów
+item_19_hidden=true
diff --git a/devtools/create_achievements/gen/steam-397330.ini b/devtools/create_achievements/gen/steam-397330.ini
index 78a28d807a..35138d4de3 100644
--- a/devtools/create_achievements/gen/steam-397330.ini
+++ b/devtools/create_achievements/gen/steam-397330.ini
@@ -35,3 +35,151 @@ item_10_comment=Have at least 500 Kashes in your wallet.
 item_11_id=LBA_ACH_012
 item_11_title=In your face
 item_11_comment=Unlock the 4 videos in which Twinsen gets a slap.
+[achievements:de_DE]
+item_0_id=LBA_ACH_001
+item_0_title=Sieg!
+item_0_comment=Beende das Spiel.
+item_1_id=LBA_ACH_002
+item_1_title=Schwer bewaffnet
+item_1_comment=Hol dir den magischen Säbel.
+item_2_id=LBA_ACH_003
+item_2_title=Sammler
+item_2_comment=Schalte alle Kleeblatt-Boxen frei.
+item_3_id=LBA_ACH_004
+item_3_title=FEUER FREI !
+item_3_comment=Schieße mit der Kanone im Museum.
+item_4_id=LBA_ACH_005
+item_4_title=Neuer Rekord
+item_4_comment=Meistere das Spiel in weniger als 4 Stunden.
+item_5_id=LBA_ACH_006
+item_5_title=Doppeltsehen
+item_5_comment=Gelange in den Raum des Meca-Pinguins.
+item_6_id=LBA_ACH_007
+item_6_title=Ich mache, was ich will!
+item_6_comment=Besorge den Sirup in der Apotheke, bevor du zu Twinsens Haus gehst.
+item_7_id=LBA_ACH_008
+item_7_title=Jünger
+item_7_comment=Rede mit dem "Star Wars"-Jünger.
+item_8_id=LBA_ACH_009
+item_8_title=Geheime Öffnung
+item_8_comment=Finde den Geheimweg im Museum.
+item_9_id=LBA_ACH_010
+item_9_title=Seekrankheit
+item_9_comment=Schalte das zweite Video über die Reise mit der Fähre frei.
+item_10_id=LBA_ACH_011
+item_10_title=Krösus
+item_10_comment=Habe mindestens 500 Kashes in deiner Geldbörse.
+item_11_id=LBA_ACH_012
+item_11_title=Ins Gesicht
+item_11_comment=Schalte die 4 Videos frei, in denen Twinsen geschlagen wird.
+[achievements:fr_FR]
+item_0_id=LBA_ACH_001
+item_0_title=Victoire !
+item_0_comment=Terminer le jeu.
+item_1_id=LBA_ACH_002
+item_1_title=Armé jusqu'aux dents
+item_1_comment=Récupérer le sabre magique.
+item_2_id=LBA_ACH_003
+item_2_title=Collectionneur
+item_2_comment=Débloquer toutes les boîtes à trèfles.
+item_3_id=LBA_ACH_004
+item_3_title=FEU !
+item_3_comment=Faire feu avec le canon dans le musée.
+item_4_id=LBA_ACH_005
+item_4_title=Record battu
+item_4_comment=Finir le jeu en moins de 4h.
+item_5_id=LBA_ACH_006
+item_5_title=Je vois double
+item_5_comment=Entrer dans la réserve de méca-pingouins.
+item_6_id=LBA_ACH_007
+item_6_title=Si je veux !
+item_6_comment=Récupérer le sirop dans la pharmacie avant même de passer par chez Twinsen.
+item_7_id=LBA_ACH_008
+item_7_title=Fanboy
+item_7_comment=Discuter avec le fan de Star Wars.
+item_8_id=LBA_ACH_009
+item_8_title=Aucun secret ne me résiste
+item_8_comment=Découvrir le passage secret dans le musée.
+item_9_id=LBA_ACH_010
+item_9_title=Mal de mer
+item_9_comment=Débloquer la vidéo alternative du voyage en ferry.
+item_10_id=LBA_ACH_011
+item_10_title=Crésus
+item_10_comment=Avoir au moins 500 Kashes en poche.
+item_11_id=LBA_ACH_012
+item_11_title=Plein la gueule
+item_11_comment=Débloquer les 4 vidéos dans lesquelles Twinsen se prend une baffe.
+[achievements:it_IT]
+item_0_id=LBA_ACH_001
+item_0_title=Vittoria!
+item_0_comment=Completa il gioco.
+item_1_id=LBA_ACH_002
+item_1_title=Arma pesanti
+item_1_comment=Ottieni la spada magica.
+item_2_id=LBA_ACH_003
+item_2_title=Raccoglitore
+item_2_comment=Sblocca tutte le scatole quadrifoglio.
+item_3_id=LBA_ACH_004
+item_3_title=FUOCO !
+item_3_comment=Fai fuoco con il cannone al museo.
+item_4_id=LBA_ACH_005
+item_4_title=Nuovo record
+item_4_comment=Completa il gioco in meno di 4 ore.
+item_5_id=LBA_ACH_006
+item_5_title=Doppia visione
+item_5_comment=Entra nella stanza del Meca-Pinguino.
+item_6_id=LBA_ACH_007
+item_6_title=Faccio ciò che voglio!
+item_6_comment=Recupera lo sciroppo nella farmacia prima di andare a casa di Twinsen.
+item_7_id=LBA_ACH_008
+item_7_title=Fan
+item_7_comment=Parla con il fan di Star Wars.
+item_8_id=LBA_ACH_009
+item_8_title=Esploratore
+item_8_comment=Trova il passaggio segreto nel museo.
+item_9_id=LBA_ACH_010
+item_9_title=Mal di mare
+item_9_comment=Sblocca il secondo video della gita in traghetto.
+item_10_id=LBA_ACH_011
+item_10_title=Re Mida
+item_10_comment=Accumula almeno 500 Kashes nel tuo portafoglio.
+item_11_id=LBA_ACH_012
+item_11_title=In piena faccia
+item_11_comment=Sblocca i 4 video in cui Twinsen prende uno schiaffo.
+[achievements:es_ES]
+item_0_id=LBA_ACH_001
+item_0_title=¡Victoria!
+item_0_comment=Termina el juego.
+item_1_id=LBA_ACH_002
+item_1_title=Fuertemente armado
+item_1_comment=Consigue el sable mágico.
+item_2_id=LBA_ACH_003
+item_2_title=Coleccionista
+item_2_comment=Desbloquea todas las cajas de tréboles.
+item_3_id=LBA_ACH_004
+item_3_title=¡FUEGO!
+item_3_comment=Dispara el cañón en el museo.
+item_4_id=LBA_ACH_005
+item_4_title=Nuevo récord
+item_4_comment=Termina el juego en menos de 4 horas.
+item_5_id=LBA_ACH_006
+item_5_title=Visión doble
+item_5_comment=Entra en la sala del Meca-Pingüino.
+item_6_id=LBA_ACH_007
+item_6_title=¡Hago lo que quiero!
+item_6_comment=Consigue el jarabe en la farmacia antes de ir a casa de Twinsen.
+item_7_id=LBA_ACH_008
+item_7_title=Fan
+item_7_comment=Habla con el fan de Star Wars.
+item_8_id=LBA_ACH_009
+item_8_title=Descubridor
+item_8_comment=Encuentra el pasadizo secreto en el museo.
+item_9_id=LBA_ACH_010
+item_9_title=Mareo
+item_9_comment=Desbloquea el segundo vídeo del viaje en ferry.
+item_10_id=LBA_ACH_011
+item_10_title=Creso
+item_10_comment=Ten al menos 500 Kashes en tu cartera.
+item_11_id=LBA_ACH_012
+item_11_title=En tu cara
+item_11_comment=Desbloquea los 4 vídeos en los que Twinsen recibe una bofetada.
diff --git a/devtools/create_achievements/gen/steam-420180.ini b/devtools/create_achievements/gen/steam-420180.ini
index 2fbba6ef2f..ded69b1398 100644
--- a/devtools/create_achievements/gen/steam-420180.ini
+++ b/devtools/create_achievements/gen/steam-420180.ini
@@ -125,3 +125,130 @@ item_40_comment=Dodged the bombardment and escaped Innsmouth!
 item_41_id=ACH_digita
 item_41_title=Lost Language.
 item_41_hidden=true
+[achievements:it_IT]
+item_0_id=ACH_maleducato
+item_0_title=Levati imbecille!
+item_0_comment=Incontra il tipo losco per la prima volta.
+item_1_id=ACH_malmenato
+item_1_title=Malmenato!
+item_1_comment=Goditi la scena.
+item_2_id=ACH_inizia
+item_2_title=Inizia l'avventura!
+item_2_comment=Inizia il gioco la prima volta.
+item_3_id=ACH_meritato
+item_3_title=Se l'è meritato!
+item_3_hidden=true
+item_4_id=ACH_citazione
+item_4_title=Citazione.
+item_4_comment=Fatti raggirare dalla citazione del barbone.
+item_5_id=ACH_puzza
+item_5_title=Che puzza.
+item_5_hidden=true
+item_6_id=ACH_ticaccia
+item_6_title=FUORIII!
+item_6_comment=Fatti cacciare dalla Tilton.
+item_7_id=ACH_penna
+item_7_title=Carenza di penne.
+item_7_hidden=true
+item_8_id=ACH_drink
+item_8_title=Scorte esaurite.
+item_8_comment=Chiedi tutto al barista.
+item_9_id=ACH_gag
+item_9_title=Costine senza barbecue.
+item_9_hidden=true
+item_10_id=ACH_lapsus
+item_10_title=Lapsus.
+item_10_comment=...
+item_11_id=ACH_licenziato
+item_11_title=Licenziato!
+item_11_comment=Fai licenziare Melvin.
+item_12_id=ACH_lettore
+item_12_title=Uomo di cultura.
+item_12_comment=Leggi i libri raccolti in biblioteca.
+item_13_id=ACH_hopelow
+item_13_title=Desillabatore!
+item_13_comment=Storpia in tutti i modi Andrew Hopelow.
+item_14_id=ACH_hopeballa
+item_14_title=Ballerino!
+item_14_comment=Osserva Hopelow danzare con la musica dei Whateley Hillbillies
+item_15_id=ACH_scopriymca
+item_15_title=Segui le indicazioni.
+item_15_comment=Trova la YMCA.
+item_16_id=ACH_scusanonno
+item_16_title=Scusa nonno.
+item_16_comment=Scambia la penna con il trenino.
+item_17_id=ACH_junior
+item_17_title=Qui! Bello.
+item_17_comment=Parla con Junior.
+item_18_id=ACH_tiara
+item_18_title=Eureka!
+item_18_comment=Risolvi il puzzle della tiara.
+item_19_id=ACH_rulli
+item_19_title=Come mi girano!
+item_19_comment=Risolvi l'enigma dei rulli.
+item_20_id=ACH_trenino
+item_20_title=Bimbo felice.
+item_20_comment=Dai il trenino all'uomo con valigia.
+item_21_id=ACH_crash
+item_21_title=Fare domande può essere pericoloso.
+item_21_comment=Fai crashare il gioco insistendo con la Tilton.
+item_22_id=ACH_innsmouth
+item_22_title=La spettrale Innsmouth.
+item_22_comment=Arriva ad Innsmouth.
+item_23_id=ACH_deformazione
+item_23_title=Diversità.
+item_23_hidden=true
+item_24_id=ACH_tuttiiluoghi
+item_24_title=L'ho visitata tutta!
+item_24_hidden=true
+item_25_id=ACH_muoriraff
+item_25_title=Non disturbar il can che dorme.
+item_25_hidden=true
+item_26_id=ACH_lemmy
+item_26_title=Sempre con noi!
+item_26_comment=Il bibliotecario da giovane è davvero un asso!
+item_27_id=ACH_tisparano
+item_27_title=Freddato.
+item_27_hidden=true
+item_28_id=ACH_finisci
+item_28_title=Via del mare.
+item_28_hidden=true
+item_29_id=ACH_pixelhunter
+item_29_title=Pixel Hunter.
+item_29_comment=Non usare mai gli aiuti sugli hotspot.
+item_30_id=ACH_necronomicon
+item_30_title=Necronomicon.
+item_30_comment=Assisti alla cutscene.
+item_31_id=ACH_cecchino
+item_31_title=Cecchino.
+item_31_hidden=true
+item_32_id=ACH_segugio
+item_32_title=Segugio.
+item_32_comment=Segui la vedetta fino al covo segreto.
+item_33_id=ACH_giganteschio
+item_33_title=Giganteschio.
+item_33_hidden=true
+item_34_id=ACH_zadok
+item_34_title=IA! IA!
+item_34_comment=Cthulhu ftaghn.
+item_35_id=ACH_lighthouse
+item_35_title=In cima!
+item_35_comment=Arriva in cima al faro.
+item_36_id=ACH_dormire
+item_36_title=Sogni d'oro.
+item_36_comment=Vai a dormire  e lasciati cullare dal rumore del mare.
+item_37_id=ACH_Fuggitivo
+item_37_title=Fuggitivo!
+item_37_comment=Scappa e non voltarti indietro!
+item_38_id=ACH_investigatore
+item_38_title=Investigatore.
+item_38_comment=Trova tutte le lettere.
+item_39_id=ACH_shoggoth
+item_39_title=Shoggoth!
+item_39_comment=Scappa dallo shoggoth.
+item_40_id=ACH_assalto
+item_40_title=Assalto!
+item_40_comment=Scappa mentre Innsmouth viene bombardata.
+item_41_id=ACH_digita
+item_41_title=Linguaggio perduto.
+item_41_hidden=true
diff --git a/devtools/create_achievements/gen/steam-468530.ini b/devtools/create_achievements/gen/steam-468530.ini
index e503a3bb70..c07ae91019 100644
--- a/devtools/create_achievements/gen/steam-468530.ini
+++ b/devtools/create_achievements/gen/steam-468530.ini
@@ -26,3 +26,31 @@ item_7_comment=Visions of Adrasteia.
 item_8_id=NEW_ACHIEVEMENT_1_8
 item_8_title=A Good Samaritan
 item_8_comment=Now there's a good boy.
+[achievements:ru_RU]
+item_0_id=NEW_ACHIEVEMENT_1_0_PHOTO
+item_0_title=Эти глаза напротив
+item_0_comment=Память о приятно проведённом вечере...
+item_1_id=NEW_ACHIEVEMENT_1_1_
+item_1_title=Друг познаётся в беде
+item_1_comment=Временами каждому из нас бывает нужна помощь.
+item_2_id=NEW_ACHIEVEMENT_1_2
+item_2_title=Исследователь
+item_2_comment=Ты знаешь это место как свои пять пальцев!
+item_3_id=NEW_ACHIEVEMENT_1_3
+item_3_title=Одна голова - хорошо
+item_3_comment=Странное открытие... A?
+item_4_id=NEW_ACHIEVEMENT_1_4
+item_4_title=Трудности перевода
+item_4_comment=Лу действительно стоит выучить португальский язык.
+item_5_id=NEW_ACHIEVEMENT_1_5
+item_5_title=Ваш звонок очень важен для нас
+item_5_comment=ПОМОГИТЕ!
+item_6_id=NEW_ACHIEVEMENT_1_6
+item_6_title=Созерцатель статуй
+item_6_comment=Лу не прочь полюбоваться прекрасной парковой скульптурой.
+item_7_id=NEW_ACHIEVEMENT_1_7
+item_7_title=Бюст или не бюст?
+item_7_comment=Видения Адрастеи.
+item_8_id=NEW_ACHIEVEMENT_1_8
+item_8_title=Добрый самаритянин
+item_8_comment=Вот какой хороший мальчик.
diff --git a/devtools/create_achievements/gen/steam-551840.ini b/devtools/create_achievements/gen/steam-551840.ini
index 47e0ab35f2..2c6da2de23 100644
--- a/devtools/create_achievements/gen/steam-551840.ini
+++ b/devtools/create_achievements/gen/steam-551840.ini
@@ -80,3 +80,659 @@ item_25_hidden=true
 item_26_id=LOTTER0
 item_26_title=This Class Has No Future
 item_26_comment=Pass the History exam
+[achievements:de_DE]
+item_0_id=YROLG0
+item_0_title=Verbrennt sie
+item_0_comment=Im Zweifelsfall etwas anzünden.
+item_1_id=YROLG1
+item_1_title=Spießt sie auf
+item_1_comment=Schaschlik!
+item_2_id=YROLG2
+item_2_title=Zerschmettert sie mit Steinen
+item_2_comment=Der gute alte Stein. Den schafft keiner.
+item_3_id=YROLG3
+item_3_title=In Dein Loch ohne Boden
+item_3_comment=Keine Tiefen sind zu tief!
+item_4_id=YROLG4
+item_4_title=Leidenschaftlich
+item_4_comment=Spiele Quest for Yrolg in dreizehn Minuten durch.
+item_5_id=YROLG5
+item_5_title=Erhebe Dich aus Deinem Grab
+item_5_hidden=true
+item_6_id=YROLG6
+item_6_title=Igelborstig
+item_6_hidden=true
+item_7_id=YROLG7
+item_7_title=Hol dir die Bräune
+item_7_hidden=true
+item_8_id=QUASAR0
+item_8_title=Wenn Klebeband es nicht richtet...
+item_8_comment=...benutzt du noch nicht genug!
+item_9_id=QUASAR1
+item_9_title=Virtueller Urlaub
+item_9_comment=Stellvertretender Besuch, fürwahr.
+item_10_id=QUASAR2
+item_10_title=Der Weg zum Herzen
+item_10_comment=...führt durch den Magen.
+item_11_id=QUASAR3
+item_11_title=I Can Has Cheezburger
+item_11_comment=Haustiere sind gut für den Blutdruck.
+item_12_id=QUASAR4
+item_12_title=Das nenne ich Teamwork!
+item_12_comment=Spiele Starship Quasar durch.
+item_13_id=QUASAR5
+item_13_title=Die Welt liegt Dir zu Füßen
+item_13_hidden=true
+item_14_id=QUASAR6
+item_14_title=Büroromanze
+item_14_hidden=true
+item_15_id=QUASAR7
+item_15_title=Nie genügend Daten
+item_15_hidden=true
+item_16_id=LOTTER1
+item_16_title=Der Wein der Weisen
+item_16_comment=Bestehe die Alchemie-Prüfung.
+item_17_id=LOTTER2
+item_17_title=Du hast Dein Leben runiert
+item_17_comment=Bestehe die Runen-Prüfung.
+item_18_id=LOTTER3
+item_18_title=Erster Entwurf
+item_18_hidden=true
+item_19_id=LOTTER5
+item_19_title=Verwendnutze Deine Synergien
+item_19_hidden=true
+item_20_id=LOTTER6
+item_20_title=Hat die Erde für Dich gebebt?
+item_20_hidden=true
+item_21_id=LOTTER7
+item_21_title=An welche Zahl denke ich gerade?
+item_21_hidden=true
+item_22_id=LOTTER8
+item_22_title=Niemand kann vorbei
+item_22_hidden=true
+item_23_id=LOTTER9
+item_23_title=Ich habe vergessen, wofür diese Errungenschaft war
+item_23_hidden=true
+item_24_id=LOTTER10
+item_24_title=Density Beckons
+item_24_comment=Bekomme ein Date mit Cho.
+item_25_id=LOTTER4
+item_25_title=Ja, ist denn schon Ostern?
+item_25_hidden=true
+item_26_id=LOTTER0
+item_26_title=Diese Klasse hat keine Zukunft
+item_26_comment=Bestehe die Geschichtsprüfung.
+[achievements:fr_FR]
+item_0_id=YROLG0
+item_0_title=Brûlez-les
+item_0_comment=En cas de doute, mettez le feu.
+item_1_id=YROLG1
+item_1_title=Embrochez-les
+item_1_comment=Shish-ke-bab !
+item_2_id=YROLG2
+item_2_title=Écrabouillez-les sous les rochers.
+item_2_comment=Rien ne vaut un bon vieux roc.
+item_3_id=YROLG3
+item_3_title=Dans ton puits sans fond
+item_3_comment=Aucun abîme n'est trop profond !
+item_4_id=YROLG4
+item_4_title=Diablement passionné
+item_4_comment=Terminez Quest for Yrolg en trente minutes
+item_5_id=YROLG5
+item_5_title=Sors de ta tombe
+item_5_hidden=true
+item_6_id=YROLG6
+item_6_title=Piquant comme un hérisson
+item_6_hidden=true
+item_7_id=YROLG7
+item_7_title=Faites-vous bronzer
+item_7_hidden=true
+item_8_id=QUASAR0
+item_8_title=Si le scotch ne suffit pas...
+item_8_comment=...c'est que tu n'en mets pas assez !
+item_9_id=QUASAR1
+item_9_title=Vacances virtuelles
+item_9_comment=Visite virtuelle, véritable.
+item_10_id=QUASAR2
+item_10_title=Le chemin vers le coeur
+item_10_comment=...passe par l'estomac.
+item_11_id=QUASAR3
+item_11_title=I Can Has Cheezburger
+item_11_comment=Les animaux apaisent l'âme
+item_12_id=QUASAR4
+item_12_title=Ça c'est du travail d'équipe !
+item_12_comment=Terminer Starship Quasar
+item_13_id=QUASAR5
+item_13_title=Le monde est à vous
+item_13_hidden=true
+item_14_id=QUASAR6
+item_14_title=Amourette de bureau
+item_14_hidden=true
+item_15_id=QUASAR7
+item_15_title=Toujours plus de données
+item_15_hidden=true
+item_16_id=LOTTER1
+item_16_title=Pierre philosodalle
+item_16_comment=Réussissez l'examen d'alchimie
+item_17_id=LOTTER2
+item_17_title=Vous avez runé votre vie
+item_17_comment=Réussissez l'examen de runes
+item_18_id=LOTTER3
+item_18_title=Une esquisse d'ouverture
+item_18_hidden=true
+item_19_id=LOTTER5
+item_19_title=Utiliférencez vos Synergies
+item_19_hidden=true
+item_20_id=LOTTER6
+item_20_title=Est-ce que la Terre tourne pour toi ?
+item_20_hidden=true
+item_21_id=LOTTER7
+item_21_title=À quel nombre est-ce que je pense ?
+item_21_hidden=true
+item_22_id=LOTTER8
+item_22_title=Vous ne passerez pas
+item_22_hidden=true
+item_23_id=LOTTER9
+item_23_title=À quoi sert ce succès ?
+item_23_hidden=true
+item_24_id=LOTTER10
+item_24_title=L'attraction des corps
+item_24_comment=Obtenez un rendez-vous avec Cho
+item_25_id=LOTTER4
+item_25_title=C'est déjà Pâques ?
+item_25_hidden=true
+item_26_id=LOTTER0
+item_26_title=Cette classe n'a aucun futur
+item_26_comment=Réussissez l'examen d'Histoire
+[achievements:it_IT]
+item_0_id=YROLG0
+item_0_title=Bruciali
+item_0_comment=Nel dubbio, appicca un incendio.
+item_1_id=YROLG1
+item_1_title=Arrostiscili
+item_1_comment=Shish-ka-bob!
+item_2_id=YROLG2
+item_2_title=Schiacciali coi sassi
+item_2_comment=Il caro, vecchio sasso. Niente batte il sasso.
+item_3_id=YROLG3
+item_3_title=Nel tuo pozzo senza fondo
+item_3_comment=Raschia il fondo del barile!
+item_4_id=YROLG4
+item_4_title=Senza compassione
+item_4_comment=Completa Quest for Yrolg in tredici minuti
+item_5_id=YROLG5
+item_5_title=Sorgi dalla tomba
+item_5_hidden=true
+item_6_id=YROLG6
+item_6_title=Spinoso come un porcospino
+item_6_hidden=true
+item_7_id=YROLG7
+item_7_title=Abbronzati
+item_7_hidden=true
+item_8_id=QUASAR0
+item_8_title=Se non puoi ripararlo col nastro adesivo...
+item_8_comment=...non ne hai usato abbastanza!
+item_9_id=QUASAR1
+item_9_title=Vacanza virtuale
+item_9_comment=Visita veramente vicariante.
+item_10_id=QUASAR2
+item_10_title=La porta del cuore
+item_10_comment=...passa per lo stomaco.
+item_11_id=QUASAR3
+item_11_title=Cani e padroni di cani
+item_11_comment=Prendersi un animale domestico aiuta ad abbassare la pressione.
+item_12_id=QUASAR4
+item_12_title=Questo sì che è gioco di squadra!
+item_12_comment=Completa Starship Quasar
+item_13_id=QUASAR5
+item_13_title=Il mondo è la tua ostrica
+item_13_hidden=true
+item_14_id=QUASAR6
+item_14_title=Storia dÂ’amore dÂ’ufficio
+item_14_hidden=true
+item_15_id=QUASAR7
+item_15_title=Scorpacciata di dati
+item_15_hidden=true
+item_16_id=LOTTER1
+item_16_title=Dieta filosofale
+item_16_comment=Passa lÂ’esame di alchimia
+item_17_id=LOTTER2
+item_17_title=Runiamoci una canna
+item_17_comment=Passa lÂ’esame di rune
+item_18_id=LOTTER3
+item_18_title=Bozza dÂ’apertura
+item_18_hidden=true
+item_19_id=LOTTER5
+item_19_title=Utiliferità delle sinergie
+item_19_hidden=true
+item_20_id=LOTTER6
+item_20_title=Hai smosso mari e monti?
+item_20_hidden=true
+item_21_id=LOTTER7
+item_21_title=A che numero sto pensando?
+item_21_hidden=true
+item_22_id=LOTTER8
+item_22_title=Nessuno può passare
+item_22_hidden=true
+item_23_id=LOTTER9
+item_23_title=Non mi ricordo per cosa è questo achievement
+item_23_hidden=true
+item_24_id=LOTTER10
+item_24_title=Il richiamo della densità
+item_24_comment=Convinci Cho a uscire insieme
+item_25_id=LOTTER4
+item_25_title=E adesso è più facile?
+item_25_hidden=true
+item_26_id=LOTTER0
+item_26_title=Questo corso non ha futuro
+item_26_comment=Passa lÂ’esame di storia
+[achievements:es_ES]
+item_0_id=YROLG0
+item_0_title=Quémalos
+item_0_comment=Ante la duda, préndele fuego a algo.
+item_1_id=YROLG1
+item_1_title=Pincho moruno
+item_1_comment=¡Shish-ke-BUM!
+item_2_id=YROLG2
+item_2_title=Tira la piedra y esconde la mano
+item_2_comment=Piedra buena. Piedra siempre gana.
+item_3_id=YROLG3
+item_3_title=Al pozo sin fondo
+item_3_comment=¡Eso sí que es caer bajo!
+item_4_id=YROLG4
+item_4_title=Apasionado
+item_4_comment=Completa Quest for Yrolg en treinta minutos.
+item_5_id=YROLG5
+item_5_title=Levántate de la tumba
+item_5_hidden=true
+item_6_id=YROLG6
+item_6_title=Más pinchos que un erizo
+item_6_hidden=true
+item_7_id=YROLG7
+item_7_title=Sesión de bronceado
+item_7_hidden=true
+item_8_id=QUASAR0
+item_8_title=¡Si la cinta aislante no lo arregla...
+item_8_comment=...es porque no estás utilizando suficiente!
+item_9_id=QUASAR1
+item_9_title=Vacaciones virtuales
+item_9_comment=Visita simulada, de verdad de la buena.
+item_10_id=QUASAR2
+item_10_title=El camino al corazón...
+item_10_comment=...empieza en el estómago.
+item_11_id=QUASAR3
+item_11_title=¿Me daz hamburgueza?
+item_11_comment=Las mascotas ayudan a reducir la presión sanguínea.
+item_12_id=QUASAR4
+item_12_title=¡Así se trabaja en equipo!
+item_12_comment=Completa Starship Quasar.
+item_13_id=QUASAR5
+item_13_title=Tienes el mundo a tus pies
+item_13_hidden=true
+item_14_id=QUASAR6
+item_14_title=Romance en el trabajo
+item_14_hidden=true
+item_15_id=QUASAR7
+item_15_title=Nunca hay suficientes datos
+item_15_hidden=true
+item_16_id=LOTTER1
+item_16_title=La piedra piripifal
+item_16_comment=Aprueba el examen de Alquimia.
+item_17_id=LOTTER2
+item_17_title=Te has arrunado la vida
+item_17_comment=Aprueba el examen de Runas.
+item_18_id=LOTTER3
+item_18_title=¡Puertas abiertas!
+item_18_hidden=true
+item_19_id=LOTTER5
+item_19_title=Utiliferencia tus sinergias
+item_19_hidden=true
+item_20_id=LOTTER6
+item_20_title=¿Has hecho temblar la tierra?
+item_20_hidden=true
+item_21_id=LOTTER7
+item_21_title=¿En qué número estoy pensando?
+item_21_hidden=true
+item_22_id=LOTTER8
+item_22_title=No pasarás
+item_22_hidden=true
+item_23_id=LOTTER9
+item_23_title=No me acuerdo de para qué servía este logro
+item_23_hidden=true
+item_24_id=LOTTER10
+item_24_title=El Destino te llama
+item_24_comment=Consigue una cita con Cho.
+item_25_id=LOTTER4
+item_25_title=¿Ya es Pascua?
+item_25_hidden=true
+item_26_id=LOTTER0
+item_26_title=Esta clase no tiene futuro
+item_26_comment=Aprueba el examen de Historia.
+[achievements:ru_RU]
+item_0_id=YROLG0
+item_0_title=Сожги их
+item_0_comment=Проблемы? Подожги что-нибудь!
+item_1_id=YROLG1
+item_1_title=Проткни их
+item_1_comment=Шашлык!
+item_2_id=YROLG2
+item_2_title=Сокруши их камнями
+item_2_comment=Старый добрый камень. Нет ничего лучше.
+item_3_id=YROLG3
+item_3_title=Бездонная яма
+item_3_comment=Нет недостижимых глубин!
+item_4_id=YROLG4
+item_4_title=Холодная голова
+item_4_comment=Закончить Quest for Yrolg за тринадцать минут
+item_5_id=YROLG5
+item_5_title=Восстань из могилы
+item_5_hidden=true
+item_6_id=YROLG6
+item_6_title=Колючий, как дикобраз
+item_6_hidden=true
+item_7_id=YROLG7
+item_7_title=А вот и загар
+item_7_hidden=true
+item_8_id=QUASAR0
+item_8_title=Если изолента не помогает...
+item_8_comment=...вы просто недостаточно взяли!
+item_9_id=QUASAR1
+item_9_title=Виртуальные Выходные
+item_9_comment=Внезапные визиты, весьма.
+item_10_id=QUASAR2
+item_10_title=Путь к Сердцу
+item_10_comment=...лежит через желудок.
+item_11_id=QUASAR3
+item_11_title=Я могу получить чизбургер
+item_11_comment=Питомцы снижают кровяное давление.
+item_12_id=QUASAR4
+item_12_title=Вот это команда!
+item_12_comment=Закончить Starship Quasar
+item_13_id=QUASAR5
+item_13_title=Мир устрицей мне будет
+item_13_hidden=true
+item_14_id=QUASAR6
+item_14_title=Служебный роман
+item_14_hidden=true
+item_15_id=QUASAR7
+item_15_title=Данных всегда недостаточно
+item_15_hidden=true
+item_16_id=LOTTER1
+item_16_title=Философский хлеб
+item_16_comment=Сдать экзамен по Алхимии
+item_17_id=LOTTER2
+item_17_title=Твоя жизнь в рунах
+item_17_comment=Сдать экзамен по Рунам
+item_18_id=LOTTER3
+item_18_title=Открытый драфт
+item_18_hidden=true
+item_19_id=LOTTER5
+item_19_title=Утилиматизируй свою Синергию
+item_19_hidden=true
+item_20_id=LOTTER6
+item_20_title=Будет ли Земля работать на вас?
+item_20_hidden=true
+item_21_id=LOTTER7
+item_21_title=Какое число я загадал?
+item_21_hidden=true
+item_22_id=LOTTER8
+item_22_title=Никто не пройдёт
+item_22_hidden=true
+item_23_id=LOTTER9
+item_23_title=Я забыл, что это за достижение
+item_23_hidden=true
+item_24_id=LOTTER10
+item_24_title=Судьба зовёт
+item_24_comment=Получить свидание с Чо
+item_25_id=LOTTER4
+item_25_title=Всё ещё Пасха?
+item_25_hidden=true
+item_26_id=LOTTER0
+item_26_title=У этого класса нет будущего
+item_26_comment=Сдать экзамен по Истории
+[achievements:pt_PT]
+item_0_id=YROLG0
+item_0_title=Queimá-los
+item_0_comment=Na dúvida, incendeia algo.
+item_1_id=YROLG1
+item_1_title=Espetá-los
+item_1_comment=Shish-ka-bob!
+item_2_id=YROLG2
+item_2_title=Esmagá-los com Rochas
+item_2_comment=Boa velha pedra. Nada é melhor que pedra.
+item_3_id=YROLG3
+item_3_title=Para Dentro do teu Abismo
+item_3_comment=Nada é demasiado profundo!
+item_4_id=YROLG4
+item_4_title=Dedicado
+item_4_comment=Completa Quest for Yrolg em treze minutos
+item_5_id=YROLG5
+item_5_title=Ergue-te da tua Cova
+item_5_hidden=true
+item_6_id=YROLG6
+item_6_title=Espinhoso como um Ouriço
+item_6_hidden=true
+item_7_id=YROLG7
+item_7_title=Trabalha no teu Bronze
+item_7_hidden=true
+item_8_id=QUASAR0
+item_8_title=Se Fita-Cola Não Resolve...
+item_8_comment=...não estás a usar que chegue!
+item_9_id=QUASAR1
+item_9_title=Viagem Virtual
+item_9_comment=Visita vicária, verdade.
+item_10_id=QUASAR2
+item_10_title=O Caminho para o Coração
+item_10_comment=...é pelo estômago.
+item_11_id=QUASAR3
+item_11_title=I Can Has Cheezburger
+item_11_comment=Animais de estimação baixam a tensão.
+item_12_id=QUASAR4
+item_12_title=Trabalho de Equipa!
+item_12_comment=Completa Starship Quasar
+item_13_id=QUASAR5
+item_13_title=O Mundo é a tua Ostra
+item_13_hidden=true
+item_14_id=QUASAR6
+item_14_title=Romance em Serviço
+item_14_hidden=true
+item_15_id=QUASAR7
+item_15_title=Não Há Dados Que Cheguem
+item_15_hidden=true
+item_16_id=LOTTER1
+item_16_title=Scone Filosofal
+item_16_comment=Passa o exame de Alquimia
+item_17_id=LOTTER2
+item_17_title=Arrunaste a tua Vida
+item_17_comment=Passa o exame de Runas
+item_18_id=LOTTER3
+item_18_title=Brisa de Abertura
+item_18_hidden=true
+item_19_id=LOTTER5
+item_19_title=Utiliferencia as tuas Sinergias
+item_19_hidden=true
+item_20_id=LOTTER6
+item_20_title=Sentiste a Terra a Mexer?
+item_20_hidden=true
+item_21_id=LOTTER7
+item_21_title=Em Que Número Estou a Pensar?
+item_21_hidden=true
+item_22_id=LOTTER8
+item_22_title=Ninguém Passará
+item_22_hidden=true
+item_23_id=LOTTER9
+item_23_title=Esqueci-me Para Que Serve Este Feito
+item_23_hidden=true
+item_24_id=LOTTER10
+item_24_title=A Densidade Chama
+item_24_comment=Marca um encontro com Cho
+item_25_id=LOTTER4
+item_25_title=Já é Páscoa?
+item_25_hidden=true
+item_26_id=LOTTER0
+item_26_title=Esta Aula Não Tem Futuro
+item_26_comment=Passa o exame de História
+[achievements:nl_NL]
+item_0_id=YROLG0
+item_0_title=Verbrand Ze
+item_0_comment=In geval van twijfel, steek het in de fik.
+item_1_id=YROLG1
+item_1_title=Spiets Ze
+item_1_comment=Shish-ka-bob!
+item_2_id=YROLG2
+item_2_title=Verpletter ze met Stenen
+item_2_comment=Je maakt een verpletterende indruk!
+item_3_id=YROLG3
+item_3_title=In uw Bodemloze Put
+item_3_comment=Hoe diep kun je gaan?
+item_4_id=YROLG4
+item_4_title=Impressionisme
+item_4_comment=Win Quest for Yrolg in dertien minuten
+item_5_id=YROLG5
+item_5_title=Sta Op Uit Het Graf
+item_5_hidden=true
+item_6_id=YROLG6
+item_6_title=Je lijkt wel een Egel
+item_6_hidden=true
+item_7_id=YROLG7
+item_7_title=Zonnebaden
+item_7_hidden=true
+item_8_id=QUASAR0
+item_8_title=Als Duct Tape niet helpt...
+item_8_comment=...dan gebruik je niet genoeg!
+item_9_id=QUASAR1
+item_9_title=Virtuele Vakantie
+item_9_comment=Verstandig vrijwillig verzuim verzekerd.
+item_10_id=QUASAR2
+item_10_title=The Weg naar het Hart
+item_10_comment=...is door de maag.
+item_11_id=QUASAR3
+item_11_title=Doe Niet Zo Kattig
+item_11_comment=Huisdieren verlagen je bloeddruk.
+item_12_id=QUASAR4
+item_12_title=Dat is pas Teamwork!
+item_12_comment=Haal het einde van Starship Quasar
+item_13_id=QUASAR5
+item_13_title=De Wereld in je Binnenzak
+item_13_hidden=true
+item_14_id=QUASAR6
+item_14_title=Kantoor Romance
+item_14_hidden=true
+item_15_id=QUASAR7
+item_15_title=Nooit Genoeg Data
+item_15_hidden=true
+item_16_id=LOTTER1
+item_16_title=Steen der Wijsneuzen
+item_16_comment=Slaag voor het Alchemieëxamen
+item_17_id=LOTTER2
+item_17_title=Je Leven is Geruneerd
+item_17_comment=Slaag voor het Runenexamen
+item_18_id=LOTTER3
+item_18_title=Sesam Open U
+item_18_hidden=true
+item_19_id=LOTTER5
+item_19_title=Utilifiseer je Synergismen
+item_19_hidden=true
+item_20_id=LOTTER6
+item_20_title=Bevat Schokkende Beelden
+item_20_hidden=true
+item_21_id=LOTTER7
+item_21_title=Ik Heb een Getal in mijn Hoofd...
+item_21_hidden=true
+item_22_id=LOTTER8
+item_22_title=Niemand Mag Erlangs
+item_22_hidden=true
+item_23_id=LOTTER9
+item_23_title=Ik Vergat Waar Deze Achievement Voor Is
+item_23_hidden=true
+item_24_id=LOTTER10
+item_24_title=Bestemmingsding
+item_24_comment=Ga uit met Cho
+item_25_id=LOTTER4
+item_25_title=Is Het Al Pasen?
+item_25_hidden=true
+item_26_id=LOTTER0
+item_26_title=In Deze Klas Zit Geen Toekomst
+item_26_comment=Slaag voor het Geschiedenisexamen
+[achievements:hu_HU]
+item_0_id=YROLG0
+item_0_title=Hadd égjenek
+item_0_comment=Ha nem tudo, mit csinálj, gyújts fel valamit.
+item_1_id=YROLG1
+item_1_title=Nyársra velük
+item_1_comment=Rabló-pecsenye!
+item_2_id=YROLG2
+item_2_title=Zúzd meg õket kövekkel
+item_2_comment=Jó öreg kõ. Nincs jobb a köveknél.
+item_3_id=YROLG3
+item_3_title=A Feneketlen Vermedbe
+item_3_comment=Nincs eléggé mély mélység!
+item_4_id=YROLG4
+item_4_title=Szenvedélyes
+item_4_comment=Fejezd be az Yrolg Küldetését tizenhárom perc alatt
+item_5_id=YROLG5
+item_5_title=Kelj fel sírodból
+item_5_hidden=true
+item_6_id=YROLG6
+item_6_title=Szúrós, mint egy sündisznó
+item_6_hidden=true
+item_7_id=YROLG7
+item_7_title=Barnulásra fel
+item_7_hidden=true
+item_8_id=QUASAR0
+item_8_title=Ha a szigszalag nem javítja meg...
+item_8_comment=...akkor nem használtál eleget!
+item_9_id=QUASAR1
+item_9_title=Virtuális Vakáció
+item_9_comment=Léha látogatás, láthatóan.
+item_10_id=QUASAR2
+item_10_title=A Szívhez vezetõ út
+item_10_comment=...a gyomron át visz.
+item_11_id=QUASAR3
+item_11_title=Kéne egy Csízburger
+item_11_comment=A házi kedvencek csökkentik a vérnyomást.
+item_12_id=QUASAR4
+item_12_title=Na ez aztán a csapatmunka!
+item_12_comment=Teljesítsd a Quasar Csillaghajót
+item_13_id=QUASAR5
+item_13_title=A Világ a te Osztrigád
+item_13_hidden=true
+item_14_id=QUASAR6
+item_14_title=Irodai románc
+item_14_hidden=true
+item_15_id=QUASAR7
+item_15_title=Sosincs elég adat
+item_15_hidden=true
+item_16_id=LOTTER1
+item_16_title=A Bölcsek Fánkja
+item_16_comment=Menj át az Alkímia vizsgán
+item_17_id=LOTTER2
+item_17_title=Életed rúnákban hever
+item_17_comment=Tedd le a Rúna vizsgát
+item_18_id=LOTTER3
+item_18_title=Tervezett Nyitás
+item_18_hidden=true
+item_19_id=LOTTER5
+item_19_title=Hasznákold a Szinergiáidat
+item_19_hidden=true
+item_20_id=LOTTER6
+item_20_title=Érted mozog a Föld?
+item_20_hidden=true
+item_21_id=LOTTER7
+item_21_title=Melyik számra gondoltam?
+item_21_hidden=true
+item_22_id=LOTTER8
+item_22_title=Senki sem jöhet át
+item_22_hidden=true
+item_23_id=LOTTER9
+item_23_title=Elfelejtettem, mire való ez a vívmány
+item_23_hidden=true
+item_24_id=LOTTER10
+item_24_title=Hív a sûrûség
+item_24_comment=Randizz Cho-val
+item_25_id=LOTTER4
+item_25_title=Itt van már a húsvét?
+item_25_hidden=true
+item_26_id=LOTTER0
+item_26_title=Ennek az osztálynak nincs Jövõje
+item_26_comment=Menj át a Történelem vizsgán
diff --git a/devtools/create_achievements/gen/steam-556060.ini b/devtools/create_achievements/gen/steam-556060.ini
index 45f5788830..b3b4601e53 100644
--- a/devtools/create_achievements/gen/steam-556060.ini
+++ b/devtools/create_achievements/gen/steam-556060.ini
@@ -74,3 +74,307 @@ item_23_comment=When the going gets rough...
 item_24_id=Achiev_25
 item_24_title=The Curtains Falls
 item_24_comment=Applause, please.
+[achievements:de_DE]
+item_0_id=Achiev_01
+item_0_title=Bürgerwehr
+item_0_comment=Dieser Taxifahrer hat seinen letzten Gast befördert…
+item_1_id=Achiev_02
+item_1_title=Alkoholiker
+item_1_comment=Cocktails steigen mir zu Kopf.
+item_2_id=Achiev_03
+item_2_title=Romantischer Detektiv
+item_2_comment=Als richtig harter Typ weißt du immer, wann du süß sein musst.
+item_3_id=Achiev_04
+item_3_title=Rollenspieler
+item_3_comment=Lächerliche kleine grüne Männer…
+item_4_id=Achiev_05
+item_4_title=Heldenhafte Tat
+item_4_comment=Da ist nur noch sein Gestank übrig…
+item_5_id=Achiev_06
+item_5_title=Guten Morgen
+item_5_comment=Wenn du einen tiefen Schlaf hast…
+item_6_id=Achiev_07
+item_6_title=Kaltblütiger Detektiv
+item_6_comment=Ich mag es, auf meinen besten Freund zu zählen.
+item_7_id=Achiev_08
+item_7_title=Schmuggler
+item_7_comment=Was ist ein Schmuggler ohne Visitenkarte?
+item_8_id=Achiev_09
+item_8_title=Grüner Daumen
+item_8_comment=Jetzt weiß ich, wofür Latein gut ist.
+item_9_id=Achiev_10
+item_9_title=Außerirdischer Eindringling
+item_9_comment=Es ist immer lustig, die Erde zu bedrohen…
+item_10_id=Achiev_11
+item_10_title=Babysitter
+item_10_comment=Vielleicht ein Nebenjob…
+item_11_id=Achiev_12
+item_11_title=Spürnase
+item_11_comment=Was ist ein Detektiv ohne seine Instinkte?
+item_12_id=Achiev_13
+item_12_title=Interferenz
+item_12_comment=Wer war das, Mario?
+item_13_id=Achiev_14
+item_13_title=Tieraktivist
+item_13_comment=Die Tiere müssen andere Tiere respektieren.
+item_14_id=Achiev_15
+item_14_title=Zeitbegrenzter Versuch
+item_14_comment=Geschwindigkeit ist mein zweiter Vorname.
+item_15_id=Achiev_16
+item_15_title=Altmodisch
+item_15_comment=Nichts geht über Old School.
+item_16_id=Achiev_17
+item_16_title=Sprinter
+item_16_comment=Hör niemals auf. Niemals.
+item_17_id=Achiev_18
+item_17_title=Hingebungsvoll
+item_17_comment=Assistenten werden geboren, nicht gemacht.
+item_18_id=Achiev_19
+item_18_title=Chronisch unentschlossen
+item_18_comment=Zweifel sind die Quelle der Weisheit.
+item_19_id=Achiev_20
+item_19_title=Versorger
+item_19_comment=Besteckschmuggel.
+item_20_id=Achiev_21
+item_20_title=Kenner
+item_20_comment=Den Cocktail bei ersten Mal.
+item_21_id=Achiev_22
+item_21_title=Cameo
+item_21_comment=Diese Spieleentwickler sind verrückt.
+item_22_id=Achiev_23
+item_22_title=Bestechender
+item_22_comment=So geht man mit Geld um.
+item_23_id=Achiev_24
+item_23_title=Ernsthaft jetzt
+item_23_comment=Wenn es hart kommt…
+item_24_id=Achiev_25
+item_24_title=Der Vorhang fällt
+item_24_comment=Beifall, bitte.
+[achievements:fr_FR]
+item_0_id=Achiev_01
+item_0_title=Justicier
+item_0_comment=Ce chauffeur de taxi a pris son dernier client…
+item_1_id=Achiev_02
+item_1_title=Porté sur la bouteille
+item_1_comment=L'alcool me monte à la tête.
+item_2_id=Achiev_03
+item_2_title=Détective Folamour
+item_2_comment=Un vrai dur sait quand se montrer tendre.
+item_3_id=Achiev_04
+item_3_title=Jeu de rôle
+item_3_comment=Ridicules petits hommes verts…
+item_4_id=Achiev_05
+item_4_title=Acte héroïque
+item_4_comment=Il ne reste plus que sa puanteur…
+item_5_id=Achiev_06
+item_5_title=Bonne journée
+item_5_comment=Quand on a le sommeil lourd…
+item_6_id=Achiev_07
+item_6_title=Détective à sang froid
+item_6_comment=J'aime pouvoir compter sur mon meilleur ami.
+item_7_id=Achiev_08
+item_7_title=Trafiquant
+item_7_comment=Qu'est-ce qu'un trafiquant sans carte de visite ?
+item_8_id=Achiev_09
+item_8_title=Pouces verts
+item_8_comment=J'ai enfin trouvé une utilité au latin.
+item_9_id=Achiev_10
+item_9_title=Envahisseur de l'espace
+item_9_comment=C'est toujours amusant de menacer la Terre…
+item_10_id=Achiev_11
+item_10_title=Baby-sitter
+item_10_comment=Peut-être pour arrondir les fins de mois…
+item_11_id=Achiev_12
+item_11_title=Nez infaillible
+item_11_comment=Qu'est-ce qu'un détective sans son instinct ?
+item_12_id=Achiev_13
+item_12_title=Interférence
+item_12_comment=C'était qui, Mario ?
+item_13_id=Achiev_14
+item_13_title=Défenseur des animaux
+item_13_comment=Les animaux doivent se respecter entre eux.
+item_14_id=Achiev_15
+item_14_title=Épreuve en temps limité
+item_14_comment=Mon petit nom, c'est Rapido.
+item_15_id=Achiev_16
+item_15_title=Old-school
+item_15_comment=Old-school FTW !
+item_16_id=Achiev_17
+item_16_title=Sprinteur
+item_16_comment=Ne jamais abandonner. Jamais.
+item_17_id=Achiev_18
+item_17_title=Dévoué
+item_17_comment=On naît assistant, on ne le devient pas.
+item_18_id=Achiev_19
+item_18_title=Indécis chronique
+item_18_comment=Le doute est source de sagesse.
+item_19_id=Achiev_20
+item_19_title=Fournisseur
+item_19_comment=Contrebande de couverts
+item_20_id=Achiev_21
+item_20_title=Expert
+item_20_comment=Cocktail récupéré du premier coup.
+item_21_id=Achiev_22
+item_21_title=Caméo
+item_21_comment=Ils sont fous, ces concepteurs de jeux !
+item_22_id=Achiev_23
+item_22_title=Corrupteur
+item_22_comment=De l'argent bien utilisé.
+item_23_id=Achiev_24
+item_23_title=Ça devient sérieux
+item_23_comment=Quand les choses se gâtent…
+item_24_id=Achiev_25
+item_24_title=Le rideau tombe
+item_24_comment=On applaudit, s'il vous plaît !
+[achievements:it_IT]
+item_0_id=Achiev_01
+item_0_title=Giustiziere
+item_0_comment=Quel tassista ha fatto il suo ultimo giro...
+item_1_id=Achiev_02
+item_1_title=Alcolizzato
+item_1_comment=I cocktail mi danno alla testa.
+item_2_id=Achiev_03
+item_2_title=Detective Romantico
+item_2_comment=Un vero duro sa sempre quando essere dolce.
+item_3_id=Achiev_04
+item_3_title=Giocatore di Ruolo
+item_3_comment=Ridicoli omini verdi...
+item_4_id=Achiev_05
+item_4_title=Atto Eroico
+item_4_comment=E' rimasta solo la sua puzza...
+item_5_id=Achiev_06
+item_5_title=Buongiorno
+item_5_comment=Quando il sonno è troppo pesante...
+item_6_id=Achiev_07
+item_6_title=Detective Spietato
+item_6_comment=Mi piace contare sul mio migliore amico.
+item_7_id=Achiev_08
+item_7_title=Trafficante
+item_7_comment=Cos'è un trafficante senza biglietto da visita?
+item_8_id=Achiev_09
+item_8_title=Pollice Verde
+item_8_comment=Ora ho capito a cosa serve il Latino.
+item_9_id=Achiev_10
+item_9_title=Invasore Spaziale
+item_9_comment=E' sempre divertente minacciare la Terra...
+item_10_id=Achiev_11
+item_10_title=Baby Sitter
+item_10_comment=Magari come secondo lavoro...
+item_11_id=Achiev_12
+item_11_title=Fiuto Infallibile
+item_11_comment=Cos'è un detective senza fiuto?
+item_12_id=Achiev_13
+item_12_title=Interferenza
+item_12_comment=Chi era quel Mario?
+item_13_id=Achiev_14
+item_13_title=Animalista
+item_13_comment=Gli animali devono rispettare gli animali.
+item_14_id=Achiev_15
+item_14_title=Partita Cronometrata
+item_14_comment=Velocità è il mio secondo nome.
+item_15_id=Achiev_16
+item_15_title=Vecchia Scuola
+item_15_comment=Non c'è niente come la vecchia scuola.
+item_16_id=Achiev_17
+item_16_title=Velocista
+item_16_comment=Mai fermarsi. Mai.
+item_17_id=Achiev_18
+item_17_title=Affezionato
+item_17_comment=Assistente si nasce, non si diventa.
+item_18_id=Achiev_19
+item_18_title=Indeciso Cronico
+item_18_comment=Il dubbio è fonte di saggezza.
+item_19_id=Achiev_20
+item_19_title=Fornitore
+item_19_comment=Contrabbando di posate.
+item_20_id=Achiev_21
+item_20_title=Intenditore
+item_20_comment=Cocktail azzeccato al primo colpo.
+item_21_id=Achiev_22
+item_21_title=Cameo
+item_21_comment=Quei game designer sono dei folli...
+item_22_id=Achiev_23
+item_22_title=Corruttore
+item_22_comment=Ecco il corretto uso del denaro.
+item_23_id=Achiev_24
+item_23_title=Ora si fa sul Serio
+item_23_comment=Quando il gioco si fa duro...
+item_24_id=Achiev_25
+item_24_title=Il Sipario si Chiude
+item_24_comment=Applausi, prego.
+[achievements:ru_RU]
+item_0_id=Achiev_01
+item_0_title=Каратель
+item_0_comment=Водитель такси взял свою последнюю оплату…
+item_1_id=Achiev_02
+item_1_title=Алкоголик
+item_1_comment=Заливаю в себя коктейли.
+item_2_id=Achiev_03
+item_2_title=Романтичныйдетектив
+item_2_comment=Настоящий чертяка знает, когда быть милым.
+item_3_id=Achiev_04
+item_3_title=Ролевик
+item_3_comment=Смешные зеленые человечки…
+item_4_id=Achiev_05
+item_4_title=Героическое свершение
+item_4_comment=Остался лишь его запах…
+item_5_id=Achiev_06
+item_5_title=Доброе утро
+item_5_comment=Когда любишь вздремнуть…
+item_6_id=Achiev_07
+item_6_title=Хладнокровный детектив
+item_6_comment=Люблю полагаться на лучшего друга.
+item_7_id=Achiev_08
+item_7_title=Контрабандист
+item_7_comment=Контрабандист без членской карты - курам на смех.
+item_8_id=Achiev_09
+item_8_title=Садовник
+item_8_comment=Теперь я знаю для чего нужен латинский.
+item_9_id=Achiev_10
+item_9_title=Захватчик из космоса
+item_9_comment=Всегда весело угрожать миру на Земле…
+item_10_id=Achiev_11
+item_10_title=Нянька
+item_10_comment=Может, в качестве подработки…
+item_11_id=Achiev_12
+item_11_title=Непоколебимый нюх
+item_11_comment=Что может детектив без его инстинктов?
+item_12_id=Achiev_13
+item_12_title=Вмешательство
+item_12_comment=Кто это был, Марио?
+item_13_id=Achiev_14
+item_13_title=Борец за права животных
+item_13_comment=Одни животные должны уважать других.
+item_14_id=Achiev_15
+item_14_title=Испытание на время
+item_14_comment=<<Скорость>> - мое второе имя.
+item_15_id=Achiev_16
+item_15_title=Старая школа
+item_15_comment=Нет ничего лучше олдскула.
+item_16_id=Achiev_17
+item_16_title=Бегун
+item_16_comment=Никогда не останавливайся. Никогда.
+item_17_id=Achiev_18
+item_17_title=Приверженец
+item_17_comment=Помощниками рождаются, а не становятся.
+item_18_id=Achiev_19
+item_18_title=Вечно колеблющийся
+item_18_comment=Сомнение - источник мудрости.
+item_19_id=Achiev_20
+item_19_title=Поставщик
+item_19_comment=Кража столовых приборов.
+item_20_id=Achiev_21
+item_20_title=Ценитель
+item_20_comment=Коктейль замешан с первого раза.
+item_21_id=Achiev_22
+item_21_title=Камео
+item_21_comment=Эти дизайнеры там совсем с ума посходили.
+item_22_id=Achiev_23
+item_22_title=Мздоимец
+item_22_comment=Вот для чего деньги нужны.
+item_23_id=Achiev_24
+item_23_title=Все серьезно
+item_23_comment=Когда дело дрянь…
+item_24_id=Achiev_25
+item_24_title=Занавес опустился
+item_24_comment=Аплодисменты, пожалуйста.
diff --git a/devtools/create_achievements/gen/steam-561770.ini b/devtools/create_achievements/gen/steam-561770.ini
index 0671b2d15e..36576aab24 100644
--- a/devtools/create_achievements/gen/steam-561770.ini
+++ b/devtools/create_achievements/gen/steam-561770.ini
@@ -98,3 +98,103 @@ item_31_comment=Bad Ending.
 item_32_id=ACH_MASSACRE
 item_32_title=Dad?
 item_32_comment=Good Ending.
+[achievements:de_DE]
+item_0_id=ACH_MYST_PHOTO
+item_0_title=Mysteriöses Foto
+item_0_comment=Ein Foto kann einen Moment einfangen?
+item_1_id=ACH_1000_PHOTO
+item_1_title=Ein Foto sagt mehr als tausend Worte
+item_1_comment=Ein leerer Rahmen sagt mehr als eine Million.
+item_2_id=ACH_SURPRISE
+item_2_title=Ich mag keine Überraschungen
+item_2_comment=Falscher Schrank.
+item_3_id=ACH_GLASS_DOOR
+item_3_title=Ich bleib' doch besser drinnen
+item_3_comment=Außerdem ist es draußen sowieso viel zu kalt.
+item_4_id=ACH_TOILET
+item_4_title=Ich muss nicht wirklich
+item_4_comment=Ich glaube, das halte ich lieber noch.
+item_5_id=ACH_THEYRE_HERE
+item_5_title=Sie sind da
+item_5_comment=Die TV Leute.
+item_6_id=ACH_SELFIE
+item_6_title=But First, Let Me Take äh...
+item_6_comment=Selfie?
+item_7_id=ACH_BAD_DREAM
+item_7_title=Das ist alles nur ein Albtraum
+item_7_comment=Hoffe ich.
+item_8_id=ACH_YOU_TOLD
+item_8_title=*Schluck* Du hast es erzählt!
+item_8_comment=Warum zur Hölle hast du das getan?
+item_9_id=ACH_DAYFIELD
+item_9_title=Willkommen im Dayfield Motel
+item_9_comment=Genießen Sie Ihren Aufenthalt!
+item_10_id=ACH_PEEPING_TOM
+item_10_title=Kümmere dich um deinen eigenen Kram!
+item_10_comment=Niemand mag Spanner.
+item_11_id=ACH_INTERESTING_CONCEPT
+item_11_title=Interessantes Konzept!
+item_11_comment=Kein Problem.
+item_12_id=ACH_POSTER
+item_12_title=Nettes! Äh...Poster
+item_12_comment=Er hat einen guten Geschmack in...Frauen.
+item_13_id=ACH_BEKIND_REWIND
+item_13_title=Sei nett, dreh zurück.
+item_13_comment=Unsere Kunden wissen das sehr zu schätzen.
+item_14_id=ACH_WRONG_FOOTAGE
+item_14_title=Verdorbene Aufnahmen
+item_14_comment=Diese Kassette nicht schauen.
+item_15_id=ACH_WHOOPS
+item_15_title=Tut mir Leid hier zu reinzuplatzen!
+item_15_comment=Äh...Ich komm' einfach später wieder.
+item_16_id=ACH_LOVESICK
+item_16_title=Schmetterlinge im Bauch?
+item_16_comment=Oder sitzt einfach nur ein Furz quer?
+item_17_id=ACH_MELONS
+item_17_title=Verstehst du?
+item_17_comment=8-bit...ach, egal -_-
+item_18_id=ACH_BEER
+item_18_title=Ersaufe deine Sorgen
+item_18_comment=Wo drückt der Schuh?
+item_19_id=ACH_SPINE_EATER
+item_19_title=Hast du Angst?
+item_19_comment=Das solltest du auch.
+item_20_id=ACH_KOPIKAT
+item_20_title=Hör auf mich nachzumachen!
+item_20_comment=Ich sollte ihn mal fotografieren.
+item_21_id=ACH_SHOOT_MARK
+item_21_title=Ein Reservierung für 2, bitte
+item_21_comment=Vertraust du ihm?
+item_22_id=ACH_SHOOT_NEASON
+item_22_title=Ich habe den Sheriff erschossen
+item_22_comment=Aber den Deputy hab ich am Leben gelassen.
+item_23_id=ACH_FEAR_OF_FLYING
+item_23_title=Angst vorm Fliegen
+item_23_comment=Besonders, wenn man das Flugzeug selbst steuern muss!
+item_24_id=ACH_SUBWAY
+item_24_title=Ich hasse die U-Bahn
+item_24_comment=Sind wir schon da?
+item_25_id=ACH_DECISION
+item_25_title=War das die richtige Entscheidung?
+item_25_comment=Ich bin mir da nicht so sicher.
+item_26_id=ACH_NOOKIE
+item_26_title=Lust
+item_26_comment=Kann die dunkelste Versuchung sein
+item_27_id=ACH_KISS_FROM_A_ROSE
+item_27_title=Kuss einer schwarzen Rose
+item_27_comment=Irgendetwas hat sich entriegelt?
+item_28_id=ACH_WRONG
+item_28_title=Ha Ha! Falsch!
+item_28_comment=Aber Es hat gesagt, dass das richtig wäre!
+item_29_id=ACH_TAPE_RECORDER
+item_29_title=Ein Kassettenrekorder?
+item_29_comment=Ich schätze, ich muss ein paar Kassetten finden
+item_30_id=ACH_LOVE_POTION
+item_30_title=Der Liebestrank
+item_30_comment=Für deine geheimsten Wünsche.
+item_31_id=ACH_MOMMY
+item_31_title=Mama?
+item_31_comment=Schlechtes Ende.
+item_32_id=ACH_MASSACRE
+item_32_title=Papa?
+item_32_comment=Gutes Ende.
diff --git a/devtools/create_achievements/gen/steam-631570.ini b/devtools/create_achievements/gen/steam-631570.ini
index ad59ea0e00..10f9742b8d 100644
--- a/devtools/create_achievements/gen/steam-631570.ini
+++ b/devtools/create_achievements/gen/steam-631570.ini
@@ -74,3 +74,383 @@ item_23_hidden=true
 item_24_id=CloseCall
 item_24_title=Close Call
 item_24_hidden=true
+[achievements:de_DE]
+item_0_id=CaseClosed
+item_0_title=Fall abgeschlossen
+item_0_comment=Das Spiel abgeschlossen.
+item_1_id=PathOfTyr
+item_1_title=Weg des Tyr
+item_1_comment=Das Spiel selbstbewusst abgeschlossen.
+item_2_id=PathOfFrigg
+item_2_title=Weg der Frigg
+item_2_comment=Das Spiel analytisch abgeschlossen.
+item_3_id=PathOfBaldr
+item_3_title=Weg des Balder
+item_3_comment=Das Spiel einfühlsam abgeschlossen.
+item_4_id=UnlockTier2
+item_4_title=Verborgenes Potenzial
+item_4_comment=Neue Augmentation freigeschaltet.
+item_5_id=UnlockAugs
+item_5_title=Überwältigende Macht
+item_5_comment=Ein vollständiges Set an Augmentationen freigeschaltet.
+item_6_id=Harbinger
+item_6_title=Singularitätsorientiert
+item_6_hidden=true
+item_7_id=UnleashTheWolf
+item_7_title=Der entfesselte Wolf
+item_7_hidden=true
+item_8_id=Caregiver
+item_8_title=Fürsorglich
+item_8_hidden=true
+item_9_id=Careerist
+item_9_title=Karrierefixiert
+item_9_hidden=true
+item_10_id=MixedMethods
+item_10_title=Eklektizistisch
+item_10_hidden=true
+item_11_id=NoSodaForYou
+item_11_title=Flüstern eines Limoautomaten
+item_11_hidden=true
+item_12_id=PassiveSmoking
+item_12_title=Passivraucherin
+item_12_hidden=true
+item_13_id=Reassembled
+item_13_title=Wiedervereint
+item_13_hidden=true
+item_14_id=SharpEyed
+item_14_title=Scharfer Blick
+item_14_hidden=true
+item_15_id=Environmentalist
+item_15_title=Umweltbewusst
+item_15_hidden=true
+item_16_id=WhatSuspect
+item_16_title=Babysitterin
+item_16_hidden=true
+item_17_id=PickTheBaby
+item_17_title=Sentimental
+item_17_hidden=true
+item_18_id=Museophile
+item_18_title=Museophil
+item_18_hidden=true
+item_19_id=SneakAttack
+item_19_title=Hinterhältig
+item_19_hidden=true
+item_20_id=Memento
+item_20_title=Memento
+item_20_hidden=true
+item_21_id=CompulsiveReturner
+item_21_title=Schlechtes Gewissen
+item_21_hidden=true
+item_22_id=CaffeineAddict
+item_22_title=Flüstern eines Kaffeeautomaten
+item_22_hidden=true
+item_23_id=Whodunnit
+item_23_title=Wer war’s?
+item_23_hidden=true
+item_24_id=CloseCall
+item_24_title=Knappe Sache
+item_24_hidden=true
+[achievements:fr_FR]
+item_0_id=CaseClosed
+item_0_title=Affaire classée
+item_0_comment=Vous avez terminé le jeu.
+item_1_id=PathOfTyr
+item_1_title=Voie de Tyr
+item_1_comment=Vous avez terminé le jeu de manière autoritaire.
+item_2_id=PathOfFrigg
+item_2_title=Voie de Frigg
+item_2_comment=Vous avez terminé le jeu de manière analytique.
+item_3_id=PathOfBaldr
+item_3_title=Voie de Baldr
+item_3_comment=Vous avez terminé le jeu de manière empathique.
+item_4_id=UnlockTier2
+item_4_title=Potentiel caché
+item_4_comment=Vous avez débloqué une nouvelle augmentation.
+item_5_id=UnlockAugs
+item_5_title=Surpuissance
+item_5_comment=Vous avez débloqué un ensemble complet d'augmentations.
+item_6_id=Harbinger
+item_6_title=Un goût singulier pour les singularités
+item_6_hidden=true
+item_7_id=UnleashTheWolf
+item_7_title=Loup déchaîné
+item_7_hidden=true
+item_8_id=Caregiver
+item_8_title=Assistante sociale
+item_8_hidden=true
+item_9_id=Careerist
+item_9_title=Carriériste
+item_9_hidden=true
+item_10_id=MixedMethods
+item_10_title=Méthodes non conventionnelles
+item_10_hidden=true
+item_11_id=NoSodaForYou
+item_11_title=Murmures de la machine à soda
+item_11_hidden=true
+item_12_id=PassiveSmoking
+item_12_title=Tabagisme passif
+item_12_hidden=true
+item_13_id=Reassembled
+item_13_title=Juste un doigt
+item_13_hidden=true
+item_14_id=SharpEyed
+item_14_title=Å’il de lynx
+item_14_hidden=true
+item_15_id=Environmentalist
+item_15_title=Écolo
+item_15_hidden=true
+item_16_id=WhatSuspect
+item_16_title=Baby-sitter
+item_16_hidden=true
+item_17_id=PickTheBaby
+item_17_title=Baptême
+item_17_hidden=true
+item_18_id=Museophile
+item_18_title=Muséophile
+item_18_hidden=true
+item_19_id=SneakAttack
+item_19_title=Attaque-surprise
+item_19_hidden=true
+item_20_id=Memento
+item_20_title=Souvenir
+item_20_hidden=true
+item_21_id=CompulsiveReturner
+item_21_title=Antivol
+item_21_hidden=true
+item_22_id=CaffeineAddict
+item_22_title=Murmures de la machine à café
+item_22_hidden=true
+item_23_id=Whodunnit
+item_23_title=Qui a fait le coup ?
+item_23_hidden=true
+item_24_id=CloseCall
+item_24_title=De justesse
+item_24_hidden=true
+[achievements:it_IT]
+item_0_id=CaseClosed
+item_0_title=Caso Chiuso
+item_0_comment=Hai terminato il gioco
+item_1_id=PathOfTyr
+item_1_title=Via di Tyr
+item_1_comment=Hai terminato il gioco assertivamente
+item_2_id=PathOfFrigg
+item_2_title=Via di Frigg
+item_2_comment=Hai terminato il gioco analiticamente
+item_3_id=PathOfBaldr
+item_3_title=Via di Baldr
+item_3_comment=Hai terminato il gioco empaticamente
+item_4_id=UnlockTier2
+item_4_title=Potenziale Nascosto
+item_4_comment=Hai sbloccato un nuovo potenziamento
+item_5_id=UnlockAugs
+item_5_title=Potere Travolgente
+item_5_comment=Hai sbloccato una serie completa di potenziamenti
+item_6_id=Harbinger
+item_6_title=Singolarità
+item_6_hidden=true
+item_7_id=UnleashTheWolf
+item_7_title=Libera il Lupo
+item_7_hidden=true
+item_8_id=Caregiver
+item_8_title=La Famiglia Viene Prima
+item_8_hidden=true
+item_9_id=Careerist
+item_9_title=Il Lavoro Viene Prima
+item_9_hidden=true
+item_10_id=MixedMethods
+item_10_title=Metodi Non Convenzionali
+item_10_hidden=true
+item_11_id=NoSodaForYou
+item_11_title=Sussurri di un Distributore Automatico
+item_11_hidden=true
+item_12_id=PassiveSmoking
+item_12_title=Fumo Passivo
+item_12_hidden=true
+item_13_id=Reassembled
+item_13_title=Riassemblato
+item_13_hidden=true
+item_14_id=SharpEyed
+item_14_title=Osservatrice
+item_14_hidden=true
+item_15_id=Environmentalist
+item_15_title=Ambientalista
+item_15_hidden=true
+item_16_id=WhatSuspect
+item_16_title=Babysitter
+item_16_hidden=true
+item_17_id=PickTheBaby
+item_17_title=Battesimo
+item_17_hidden=true
+item_18_id=Museophile
+item_18_title=Museofila
+item_18_hidden=true
+item_19_id=SneakAttack
+item_19_title=Amante della Cultura
+item_19_hidden=true
+item_20_id=Memento
+item_20_title=Memento
+item_20_hidden=true
+item_21_id=CompulsiveReturner
+item_21_title=Restituitrice Seriale
+item_21_hidden=true
+item_22_id=CaffeineAddict
+item_22_title=Sussurri di una Macchina del Caffè
+item_22_hidden=true
+item_23_id=Whodunnit
+item_23_title=Chi È Stato?
+item_23_hidden=true
+item_24_id=CloseCall
+item_24_title=Per un Pelo
+item_24_hidden=true
+[achievements:es_ES]
+item_0_id=CaseClosed
+item_0_title=Caso cerrado
+item_0_comment=Has llegado al final del juego
+item_1_id=PathOfTyr
+item_1_title=Senda de Tyr
+item_1_comment=Has llegado al final del juego por la vía asertiva
+item_2_id=PathOfFrigg
+item_2_title=Senda de Frigg
+item_2_comment=Has llegado al final del juego por la vía analítica
+item_3_id=PathOfBaldr
+item_3_title=Senda de Baldr
+item_3_comment=Has llegado al final del juego por la vía empática
+item_4_id=UnlockTier2
+item_4_title=Potencial oculto
+item_4_comment=Has desbloqueado un nuevo aumento
+item_5_id=UnlockAugs
+item_5_title=Poder arrollador
+item_5_comment=Has desbloqueado un conjunto completo de aumentos
+item_6_id=Harbinger
+item_6_title=Por la singularidad
+item_6_hidden=true
+item_7_id=UnleashTheWolf
+item_7_title=Libera al lobo
+item_7_hidden=true
+item_8_id=Caregiver
+item_8_title=Cuidadora
+item_8_hidden=true
+item_9_id=Careerist
+item_9_title=Centrada en la carrera
+item_9_hidden=true
+item_10_id=MixedMethods
+item_10_title=Métodos mixtos
+item_10_hidden=true
+item_11_id=NoSodaForYou
+item_11_title=Susurros de una máquina de refrescos
+item_11_hidden=true
+item_12_id=PassiveSmoking
+item_12_title=Fumadora pasiva remasterizada
+item_12_hidden=true
+item_13_id=Reassembled
+item_13_title=Rensamblaje
+item_13_hidden=true
+item_14_id=SharpEyed
+item_14_title=Observadora
+item_14_hidden=true
+item_15_id=Environmentalist
+item_15_title=Ecologista
+item_15_hidden=true
+item_16_id=WhatSuspect
+item_16_title=Canguro
+item_16_hidden=true
+item_17_id=PickTheBaby
+item_17_title=Llévate al bebé
+item_17_hidden=true
+item_18_id=Museophile
+item_18_title=Museófila
+item_18_hidden=true
+item_19_id=SneakAttack
+item_19_title=Ataque sigiloso
+item_19_hidden=true
+item_20_id=Memento
+item_20_title=Recuerdo
+item_20_hidden=true
+item_21_id=CompulsiveReturner
+item_21_title=Regresadora en serie
+item_21_hidden=true
+item_22_id=CaffeineAddict
+item_22_title=Susurros de una máquina de café
+item_22_hidden=true
+item_23_id=Whodunnit
+item_23_title=¿Quién ha sido?
+item_23_hidden=true
+item_24_id=CloseCall
+item_24_title=Por un pelo
+item_24_hidden=true
+[achievements:pt_BR]
+item_0_id=CaseClosed
+item_0_title=Caso encerrado
+item_0_comment=Terminou o jogo
+item_1_id=PathOfTyr
+item_1_title=Caminho de Tyr
+item_1_comment=Terminou o jogo de modo assertivo
+item_2_id=PathOfFrigg
+item_2_title=Caminho de Frigg
+item_2_comment=Terminou o jogo de modo analítico
+item_3_id=PathOfBaldr
+item_3_title=Caminho de Baldr
+item_3_comment=Terminou o jogo de modo empático
+item_4_id=UnlockTier2
+item_4_title=Potencial oculto
+item_4_comment=Desbloqueou um novo aprimoramento
+item_5_id=UnlockAugs
+item_5_title=Poder esmagador
+item_5_comment=Desbloqueou um conjunto completo de aprimoramentos
+item_6_id=Harbinger
+item_6_title=Foi pela singuraridade
+item_6_hidden=true
+item_7_id=UnleashTheWolf
+item_7_title=Liberte o lobo
+item_7_hidden=true
+item_8_id=Caregiver
+item_8_title=A família vem em primeiro lugar
+item_8_hidden=true
+item_9_id=Careerist
+item_9_title=Foco na carreira
+item_9_hidden=true
+item_10_id=MixedMethods
+item_10_title=Métodos mistos
+item_10_hidden=true
+item_11_id=NoSodaForYou
+item_11_title=Sussurros de uma máquina de refrigerantes
+item_11_hidden=true
+item_12_id=PassiveSmoking
+item_12_title=Fumante passiva
+item_12_hidden=true
+item_13_id=Reassembled
+item_13_title=Remontado
+item_13_hidden=true
+item_14_id=SharpEyed
+item_14_title=Observadora
+item_14_hidden=true
+item_15_id=Environmentalist
+item_15_title=Ecologista
+item_15_hidden=true
+item_16_id=WhatSuspect
+item_16_title=Babá
+item_16_hidden=true
+item_17_id=PickTheBaby
+item_17_title=Leve o bebê
+item_17_hidden=true
+item_18_id=Museophile
+item_18_title=Museófila
+item_18_hidden=true
+item_19_id=SneakAttack
+item_19_title=Ataque surpresa
+item_19_hidden=true
+item_20_id=Memento
+item_20_title=Lembrancinha
+item_20_hidden=true
+item_21_id=CompulsiveReturner
+item_21_title=Devolvedora em série
+item_21_hidden=true
+item_22_id=CaffeineAddict
+item_22_title=Sussurros de uma máquina de café
+item_22_hidden=true
+item_23_id=Whodunnit
+item_23_title=Quem foi?
+item_23_hidden=true
+item_24_id=CloseCall
+item_24_title=Essa foi por pouco
+item_24_hidden=true
diff --git a/devtools/create_achievements/gen/steam-761460.ini b/devtools/create_achievements/gen/steam-761460.ini
index 51e3df4999..1cacd2ed94 100644
--- a/devtools/create_achievements/gen/steam-761460.ini
+++ b/devtools/create_achievements/gen/steam-761460.ini
@@ -125,3 +125,127 @@ item_39_comment=Every friendship has one
 item_40_id=NOSY
 item_40_title=Nosy
 item_40_comment=Eavesdropped on every conversation
+[achievements:de_DE]
+item_0_id=RINGMYBELL
+item_0_title=Klingeling
+item_0_comment=Geh mir doch auf die Nerven
+item_1_id=MANOFWORD
+item_1_title=Mann seines Wortes
+item_1_comment=Belüge nicht Mrs. Hanbrook
+item_2_id=BOBBIN
+item_2_title=Ich bin Bobbin
+item_2_comment=Spiele eine bekannte Melodie
+item_3_id=VOODOO
+item_3_title=Was können Sie mir über...Voodoo sagen?
+item_3_comment=Werde aus der Wohnung von Mrs. Martin geworfen
+item_4_id=POEMS
+item_4_title=Nicht den Beruf kündigen
+item_4_comment=Lese Madame DuPrées Gedichte
+item_5_id=ALBERT
+item_5_title=Ockhams Rasiermesser
+item_5_hidden=true
+item_6_id=JULIETTE
+item_6_title=So wilde Freude...
+item_6_hidden=true
+item_7_id=GUYDUMAS
+item_7_title=Heute ohne -brush
+item_7_hidden=true
+item_8_id=DUPREE
+item_8_title=Inkarnation des Teufels
+item_8_hidden=true
+item_9_id=BOILER
+item_9_title=Reparaturgenie
+item_9_comment=Repariere alleine den Boiler
+item_10_id=ROLAND
+item_10_title=Egomane
+item_10_comment=Rede mit Roland Deveraux
+item_11_id=DOLLS
+item_11_title=Nicht so, wie es scheint
+item_11_comment=Finde etwas über Mrs. Davis Hobby heraus
+item_12_id=MALCOLM
+item_12_title=Würde nicht darauf wetten
+item_12_hidden=true
+item_13_id=DEVINS
+item_13_title=Etwas zu viel Protest
+item_13_hidden=true
+item_14_id=WALKER
+item_14_title=Es ist ein Junge, Mrs. Walker!
+item_14_hidden=true
+item_15_id=TRAIN
+item_15_title=Im falschen Stadtviertel
+item_15_hidden=true
+item_16_id=ASHES
+item_16_title=Alles in Asche
+item_16_comment=Zeige jemand anderem als Dr. Edwards Desirees Asche
+item_17_id=SNEEZE
+item_17_title=Gesundheit
+item_17_comment=Lege Jonas Usher herein
+item_18_id=MUSIC
+item_18_title=Horizonte tun sich auf
+item_18_comment=Gib Charlotte Robineaux Musikunterricht
+item_19_id=COMBUSTION
+item_19_title=Übernatürlich
+item_19_hidden=true
+item_20_id=DEVAY
+item_20_title=Die Kunst des Mordens
+item_20_hidden=true
+item_21_id=ANDREWS
+item_21_title=Kleine Nüsschen
+item_21_hidden=true
+item_22_id=STORYTELLER
+item_22_title=Geschichtenerzähler
+item_22_comment=Erzähle Patrick eine Geschichte
+item_23_id=VOTE
+item_23_title=Bürgerpflicht
+item_23_comment=Nimm an der Wahl teil
+item_24_id=COOPING
+item_24_title=Überall Betrüger
+item_24_hidden=true
+item_25_id=JIMBO
+item_25_title=Verschmähter Liebhaber
+item_25_hidden=true
+item_26_id=PUFFIN
+item_26_title=Verwechslungen
+item_26_hidden=true
+item_27_id=DEADMEN
+item_27_title=Unten bei den Toten
+item_27_comment=Singe ein Lied
+item_28_id=JUMP
+item_28_title=Aufgelaufen
+item_28_hidden=true
+item_29_id=MODELHUSBAND
+item_29_title=Mustergatte
+item_29_comment=Erzähle Adelaide die Wahrheit
+item_30_id=MAXWELL
+item_30_title=Ein wohlgesonnenes Ohr
+item_30_comment=Erzähle Angela Maxwell von deinen Problemen
+item_31_id=ASYLUM
+item_31_title=Zimmer mit Aussicht
+item_31_hidden=true
+item_32_id=JAIL
+item_32_title=Nicht über Start ziehen
+item_32_hidden=true
+item_33_id=UNSOLVABLE
+item_33_title=Sackgasse
+item_33_comment=Erkläre einen Fall für unlösbar
+item_34_id=BOOKWORM
+item_34_title=Bücherwurm
+item_34_comment=Lies jedes Buch im Spiel
+item_35_id=THOROUGH
+item_35_title=Gründlich
+item_35_comment=Finde jeden Hinweis und jedes Dokument im Spiel
+item_36_id=COMPLETEGAME
+item_36_title=Erleuchtet
+item_36_comment=Schliesse das Spiel ab
+item_37_id=FORGOT
+item_37_title=Das hatte ich vergessen
+item_37_hidden=true
+item_38_id=PERFECT
+item_38_title=Gut gemacht
+item_38_comment=Löse jeden Fall
+item_39_id=JOKE
+item_39_title=Insider
+item_39_comment=Jede Freundschaft hat einen
+item_40_id=NOSY
+item_40_title=Neugierig
+item_40_comment=Belausche jede Konversation im Spiel
diff --git a/dists/engine-data/achievements.dat b/dists/engine-data/achievements.dat
index d957b9d9e1..c530d6c30e 100644
Binary files a/dists/engine-data/achievements.dat and b/dists/engine-data/achievements.dat differ


Commit: 5bbea037fac4a110516ed1865328ec6298d8a47f
    https://github.com/scummvm/scummvm/commit/5bbea037fac4a110516ed1865328ec6298d8a47f
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
DEVTOOLS: Get english descriptions for hidden achievements from achievementstats.com

Changed paths:
    devtools/create_achievements/steam_achievements.py


diff --git a/devtools/create_achievements/steam_achievements.py b/devtools/create_achievements/steam_achievements.py
index f1924184c0..a0deeff8f6 100644
--- a/devtools/create_achievements/steam_achievements.py
+++ b/devtools/create_achievements/steam_achievements.py
@@ -144,6 +144,30 @@ def parse_steamcommunity_stats(url):
 
 	return translation
 
+def parse_achievementstats_stats(url):
+	response = HTMLSession().get(url)
+
+	tables = response.html.xpath("//table")
+	if len(tables) != 1:
+		sys.stderr.write("Unexpected xpath result: expected exactly one table tag on page\n")
+		sys.exit(127)
+
+	achievements_rows = response.html.xpath("//tbody/tr/td")
+	achievements_columns = 6 # icon, name, text, date, point, report
+	achievements_entries = int(len(achievements_rows) / achievements_columns)
+	if achievements_entries == 0:
+		print( response.html.raw_html )
+		sys.stderr.write("found NO achievements\n")
+		sys.exit(127)
+
+	result = {}
+	for i in range(achievements_entries):
+		idx   = achievements_columns * i
+		name  = achievements_rows[idx + 1].text.strip()
+		descr = achievements_rows[idx + 2].text.strip()
+		result[name] = descr
+	return result
+
 def join_achievements_translation(achievements_en, translations):
 	achievements = {"en": achievements_en}
 
@@ -175,6 +199,16 @@ def join_achievements_translation(achievements_en, translations):
 
 	return achievements
 
+def join_achievements_descr(achievements_en, descs):
+	result = {}
+	for i, (name, title, descr, hide) in achievements_en.items():
+		ext_descr = descrs[title]
+		if descr and descr != ext_descr:
+			sys.stderr.write("Unexpected difference between {0} and {1} for {2}\n".format(descr, ext_descr, title))
+			sys.exit(127)
+		result[i] = (name, title, descr if descr else ext_descr, hide)
+	return result
+
 def write_ini(fname, achievements, stats):
 	with codecs.open(fname, "w", encoding="utf-8") as out:
 		for lang, it in stats.items():
@@ -204,6 +238,19 @@ try:
 		sys.stderr.write("found {0} achievements\n".format(len(achievements_en)))
 		sys.stderr.write("found {0} stats\n".format(len(stats_en)))
 
+	hidden_achievements = [it for it in achievements_en.values() if it[3]]
+	if args.verbose:
+		sys.stderr.write("found {0} hidden achievements\n".format(len(hidden_achievements)))
+
+	if hidden_achievements:
+		HIDDEN_STATS_URL = "https://www.achievementstats.com/index.php?action=games&gameId={0}".format(args.steamid)
+		if args.verbose:
+			sys.stderr.write("query {0}\n".format(HIDDEN_STATS_URL))
+
+		descrs = parse_achievementstats_stats(HIDDEN_STATS_URL)
+		achievements_en = join_achievements_descr(achievements_en, descrs)
+		
+
 	INFO_URL = "https://steamdb.info/app/{0}/info/".format(args.steamid)
 	if args.verbose:
 		sys.stderr.write("query {0}\n".format(INFO_URL))


Commit: 6ba3903a7c9642df2c3f1cba7a1ca89d39e2a4b7
    https://github.com/scummvm/scummvm/commit/6ba3903a7c9642df2c3f1cba7a1ca89d39e2a4b7
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
DEVTOOLS: Drop achievements translations if there are any hidden

Changed paths:
    devtools/create_achievements/steam_achievements.py


diff --git a/devtools/create_achievements/steam_achievements.py b/devtools/create_achievements/steam_achievements.py
index a0deeff8f6..d172c55143 100644
--- a/devtools/create_achievements/steam_achievements.py
+++ b/devtools/create_achievements/steam_achievements.py
@@ -259,6 +259,10 @@ try:
 	if args.verbose:
 		sys.stderr.write("found langs: {0}\n".format(langs))
 	
+	if hidden_achievements and len(langs) > 1:
+		print("WARNING: game {0} expects translation of hidden achievements, which is not supported. Dropping all the translations!".format(args.steamid))
+		langs = ["English"]
+
 	translations = {"English":{}}
 	if len(langs) > 1:
 		for l in langs:


Commit: c1c2da63ea01cd11ab1669049d2bf40d3f88ed6b
    https://github.com/scummvm/scummvm/commit/c1c2da63ea01cd11ab1669049d2bf40d3f88ed6b
Author: lolbot-iichan (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
ACHIEVEMENTS: Generated description files

Changed paths:
    devtools/create_achievements/gen/galaxy-1455980545.ini
    devtools/create_achievements/gen/galaxy-1457085654.ini
    devtools/create_achievements/gen/galaxy-1460710709.ini
    devtools/create_achievements/gen/galaxy-1845001352.ini
    devtools/create_achievements/gen/steam-1133950.ini
    devtools/create_achievements/gen/steam-1147030.ini
    devtools/create_achievements/gen/steam-1181570.ini
    devtools/create_achievements/gen/steam-1220930.ini
    devtools/create_achievements/gen/steam-1251910.ini
    devtools/create_achievements/gen/steam-1270590.ini
    devtools/create_achievements/gen/steam-253110.ini
    devtools/create_achievements/gen/steam-257690.ini
    devtools/create_achievements/gen/steam-264560.ini
    devtools/create_achievements/gen/steam-270570.ini
    devtools/create_achievements/gen/steam-281060.ini
    devtools/create_achievements/gen/steam-281080.ini
    devtools/create_achievements/gen/steam-283180.ini
    devtools/create_achievements/gen/steam-283880.ini
    devtools/create_achievements/gen/steam-302690.ini
    devtools/create_achievements/gen/steam-364390.ini
    devtools/create_achievements/gen/steam-367110.ini
    devtools/create_achievements/gen/steam-370910.ini
    devtools/create_achievements/gen/steam-378630.ini
    devtools/create_achievements/gen/steam-396090.ini
    devtools/create_achievements/gen/steam-420180.ini
    devtools/create_achievements/gen/steam-509920.ini
    devtools/create_achievements/gen/steam-551840.ini
    devtools/create_achievements/gen/steam-595560.ini
    devtools/create_achievements/gen/steam-603870.ini
    devtools/create_achievements/gen/steam-610900.ini
    devtools/create_achievements/gen/steam-631570.ini
    devtools/create_achievements/gen/steam-654550.ini
    devtools/create_achievements/gen/steam-761460.ini
    devtools/create_achievements/gen/steam-872750.ini
    devtools/create_achievements/gen/steam-904750.ini
    dists/engine-data/achievements.dat


diff --git a/devtools/create_achievements/gen/galaxy-1455980545.ini b/devtools/create_achievements/gen/galaxy-1455980545.ini
index 66e75adf5c..ffff8d2590 100644
--- a/devtools/create_achievements/gen/galaxy-1455980545.ini
+++ b/devtools/create_achievements/gen/galaxy-1455980545.ini
@@ -7,6 +7,7 @@ item_1_title=Pucker Up
 item_1_comment=Girtrude finds a new friend
 item_2_id=ACH_GIVE_COIN
 item_2_title=Assassin's Greed
+item_2_comment=Make a charitable donation
 item_2_hidden=true
 item_3_id=ACH_GET_DRESSED
 item_3_title=Suited And Booted
@@ -34,6 +35,7 @@ item_10_title=Two Birds
 item_10_comment=Deal with the Spider
 item_11_id=ACH_RETURN_PAINT
 item_11_title=Special Delivery
+item_11_comment=Return the paint to it's rightful owner
 item_11_hidden=true
 item_12_id=ACH_LANDING_SPOT
 item_12_title=New Lands
@@ -43,6 +45,7 @@ item_13_title=Open Sesame
 item_13_comment=Find a way to open the door
 item_14_id=ACH_ACT_THREE
 item_14_title=Guardian Duty
+item_14_comment=Meet the Guardians
 item_14_hidden=true
 item_15_id=ACH_CUT_ARM
 item_15_title=Armed And Dangerous
@@ -55,7 +58,9 @@ item_17_title=???
 item_17_comment=Something amiss
 item_18_id=ACH_MEET_TONDBERT
 item_18_title=Two Of A Kind
+item_18_comment=Rendezvous with a familiar face
 item_18_hidden=true
 item_19_id=ACH_KILL_MAGE
 item_19_title=Turn Up The Heat
+item_19_comment=End it, once and for all
 item_19_hidden=true
diff --git a/devtools/create_achievements/gen/galaxy-1457085654.ini b/devtools/create_achievements/gen/galaxy-1457085654.ini
index ec6115a874..da45827ada 100644
--- a/devtools/create_achievements/gen/galaxy-1457085654.ini
+++ b/devtools/create_achievements/gen/galaxy-1457085654.ini
@@ -7,6 +7,7 @@ item_1_title=Observant player
 item_1_comment=You've obtained your first Mind'o'Matic.
 item_2_id=ACHI_JUNGLE
 item_2_title=Explorer
+item_2_comment=You've explored every single place in a jungle.
 item_2_hidden=true
 item_3_id=ACHI_HACKER
 item_3_title=Hacker
@@ -19,18 +20,22 @@ item_5_title=Traveller
 item_5_comment=You have visited all the planets.
 item_6_id=ACHI_LUDITE
 item_6_title=Luddite
+item_6_comment=You managed to go through the game without building an analytic upgrade
 item_6_hidden=true
 item_7_id=ACHI_SCIENTIST
 item_7_title=Real scientist
 item_7_comment=You've analyzed every single object in the game.
 item_8_id=ACHI_PLAT1
 item_8_title=Pacifist
+item_8_comment=You've decided to save life.
 item_8_hidden=true
 item_9_id=ACHI_PLAT2
 item_9_title=Science over all
+item_9_comment=You've decided that science is more important than life.
 item_9_hidden=true
 item_10_id=ACHI_PLAT3
 item_10_title=Apathy
+item_10_comment=You let the creature die. Why should you care, anyway?
 item_10_hidden=true
 item_11_id=ACHI_FIRST
 item_11_title=First contact
@@ -46,21 +51,27 @@ item_14_title=Plumber
 item_14_comment=You repaired the probe. The result is that you won't probably die.
 item_15_id=ACHI_XIR1
 item_15_title=Deadly Xir
+item_15_comment=You let Xir kill Mobot.
 item_15_hidden=true
 item_16_id=ACHI_XIR2
 item_16_title=Xir Destroyer
+item_16_comment=You let Xir kill Mobot 5 times.
 item_16_hidden=true
 item_17_id=ACHI_XIR3
 item_17_title=Xir the Invincible
+item_17_comment=You let Xir kill Mobot 10 times.
 item_17_hidden=true
 item_18_id=ACHI_XIR4
 item_18_title=Jaeger
+item_18_comment=You managed to erradicate Xir.
 item_18_hidden=true
 item_19_id=ACHI_SCHI
 item_19_title=Dreamer
+item_19_comment=You've just returned from the temple. Was it real?
 item_19_hidden=true
 item_20_id=ACHI_NIBIRU
 item_20_title=Artificial planet
+item_20_comment=You've discovered a secret planet in the Solar system.
 item_20_hidden=true
 item_21_id=ACHI_FULLMIND
 item_21_title=Great mind
@@ -70,52 +81,68 @@ item_22_title=Completist
 item_22_comment=You have completed everything, the game had to offer.
 item_23_id=ACHI_END1
 item_23_title=Homesick
+item_23_comment=You've decided to return to the Earth.
 item_23_hidden=true
 item_24_id=ACHI_END2
 item_24_title=Adventurous
+item_24_comment=You've decided to stay and help Ambrosians.
 item_24_hidden=true
 item_25_id=ACHI_TRAPPER
 item_25_title=Trapper
+item_25_comment=You trapped the oceanic creature.
 item_25_hidden=true
 item_26_id=ACHI_DECRYPT
 item_26_title=Cryptoanalyst
+item_26_comment=You decrypted a substitution cypher.
 item_26_hidden=true
 item_27_id=ACHI_CREDITS
 item_27_title=Voyeur
+item_27_comment=You've discovered Mobot's secret hobby.
 item_27_hidden=true
 item_28_id=ACHI_SCAN
 item_28_title=Methodical
 item_28_comment=You scanned all the planets.
 item_29_id=ACHI_CORDES
 item_29_title=Unexpected visitor
+item_29_comment=Was that an Asylum?
 item_29_hidden=true
 item_30_id=ACHI_UNT_START
 item_30_title=Untold: Hungry for more?
+item_30_comment=You want to learn more about the past.
 item_30_hidden=true
 item_31_id=ACHI_UNT_BLUE
 item_31_title=Untold: Blue solved
+item_31_comment=Solve the whole blue cluster
 item_31_hidden=true
 item_32_id=ACHI_UNT_RED
 item_32_title=Untold: Red solved
+item_32_comment=Solve the whole red cluster
 item_32_hidden=true
 item_33_id=ACHI_UNT_PURPLE
 item_33_title=Untold: Purple solved
+item_33_comment=Solve the whole purple cluster
 item_33_hidden=true
 item_34_id=ACHI_UNT_GREEN
 item_34_title=Untold: Green solved
+item_34_comment=Solve the whole green cluster
 item_34_hidden=true
 item_35_id=ACHI_UNT_YELLOW
 item_35_title=Untold: Yellow solved
+item_35_comment=Solve the whole yellow cluster
 item_35_hidden=true
 item_36_id=ACHI_UNT_WIRELESS
 item_36_title=Untold: Go wireless
+item_36_comment=Obtain wireless connector
 item_36_hidden=true
 item_37_id=ACHI_UNT_BLINDER
 item_37_title=Untold: Blinder
+item_37_comment=Obtain a blinder
 item_37_hidden=true
 item_38_id=ACHI_UNT_AMPLIFIER
 item_38_title=Untold: Amplifier
+item_38_comment=Obtain connection amplifier
 item_38_hidden=true
 item_39_id=ACHI_UNT_FINISHED
 item_39_title=Untold: You know the story
+item_39_comment=You've completed the game
 item_39_hidden=true
diff --git a/devtools/create_achievements/gen/galaxy-1460710709.ini b/devtools/create_achievements/gen/galaxy-1460710709.ini
index d29b643a82..813da77dba 100644
--- a/devtools/create_achievements/gen/galaxy-1460710709.ini
+++ b/devtools/create_achievements/gen/galaxy-1460710709.ini
@@ -16,351 +16,61 @@ item_4_title=Been there, done that
 item_4_comment=Finished the game
 item_5_id=Procrastinator
 item_5_title=Procrastinator
+item_5_comment=Made your best efforts to miss the funeral
 item_5_hidden=true
 item_6_id=EnjoyingTheScenery
 item_6_title=Enjoying the scenery
+item_6_comment=Lost track of time on the road
 item_6_hidden=true
 item_7_id=Hotwheels
 item_7_title=Hotwheels
+item_7_comment=Felt like literally taking the wheelchair for a spin
 item_7_hidden=true
 item_8_id=Aww
 item_8_title=Aaw!
+item_8_comment=Tortured an imprisoned bum
 item_8_hidden=true
 item_9_id=Undateable
 item_9_title=Undateable
+item_9_comment=Felt no apparent need to let Lenny down gently
 item_9_hidden=true
 item_10_id=MrBear
 item_10_title=Mr. Bear, reporting for duty!
+item_10_comment=Reunited with a furry friend
 item_10_hidden=true
 item_11_id=Nocturnal
 item_11_title=Nocturnal
+item_11_comment=Rediscovered yourself as a creature of the night
 item_11_hidden=true
 item_12_id=HowYouDoing
 item_12_title=How YOU doing?
+item_12_comment=Engaged in flirtatious behavior on the computer
 item_12_hidden=true
 item_13_id=RestingScowlyFace
 item_13_title=Resting scowly face
+item_13_comment=Learned a cold hard truth about your face
 item_13_hidden=true
 item_14_id=Pyromaniac
 item_14_title=Pyromaniac
+item_14_comment=Barely resisted the urge to barbeque a bear
 item_14_hidden=true
 item_15_id=PassiveSmoking
 item_15_title=Passive smoking
+item_15_comment=Amplified Goober's lung cancer
 item_15_hidden=true
 item_16_id=FilmBuff
 item_16_title=Film buff
+item_16_comment=Totally mesmerized by Goober's monologues
 item_16_hidden=true
 item_17_id=Heretic
 item_17_title=Heretic
+item_17_comment=Wanted to engage in a good 'ol book burning
 item_17_hidden=true
 item_18_id=TriggerHappy
 item_18_title=Trigger happy
+item_18_comment=Really had it out for Goober
 item_18_hidden=true
 item_19_id=HookedOnCorleys
 item_19_title=Hooked on Corleys
-item_19_hidden=true
-[achievements:de_DE]
-item_0_id=FinishDayOne
-item_0_title=Aufs Katmobil gestiegen
-item_0_comment=Tag 1 abgeschlossen
-item_1_id=FinishDayTwo
-item_1_title=Wow, die sind hypnotisierend ...
-item_1_comment=Tag 2 abgeschlossen
-item_2_id=FinishDayThree
-item_2_title=Wir haben uns schon mal getroffen, oder nicht?
-item_2_comment=Tag 3 abgeschlossen
-item_3_id=FinishDayFour
-item_3_title=Sprung ins Ungewisse
-item_3_comment=Tag 4 abgeschlossen
-item_4_id=FinishGame
-item_4_title=Alles schon mal da gewesen
-item_4_comment=Das Spiel abgeschlossen
-item_5_id=Procrastinator
-item_5_title=Was du heute kannst besorgen ...
-item_5_hidden=true
-item_6_id=EnjoyingTheScenery
-item_6_title=Die Landschaft genießen
-item_6_hidden=true
-item_7_id=Hotwheels
-item_7_title=Heiße Reifen
-item_7_hidden=true
-item_8_id=Aww
-item_8_title=Aaah!
-item_8_hidden=true
-item_9_id=Undateable
-item_9_title=Kein Gespür für Romantik
-item_9_hidden=true
-item_10_id=MrBear
-item_10_title=Mr. Bär meldet sich zum Dienst!
-item_10_hidden=true
-item_11_id=Nocturnal
-item_11_title=Nachtaktiv
-item_11_hidden=true
-item_12_id=HowYouDoing
-item_12_title=Wie geht's denn so, Schätzchen?
-item_12_hidden=true
-item_13_id=RestingScowlyFace
-item_13_title=Von Natur aus mürrisch
-item_13_hidden=true
-item_14_id=Pyromaniac
-item_14_title=Pyromane
-item_14_hidden=true
-item_15_id=PassiveSmoking
-item_15_title=Passivraucher
-item_15_hidden=true
-item_16_id=FilmBuff
-item_16_title=Filmkenner
-item_16_hidden=true
-item_17_id=Heretic
-item_17_title=Ketzer
-item_17_hidden=true
-item_18_id=TriggerHappy
-item_18_title=Folterknecht
-item_18_hidden=true
-item_19_id=HookedOnCorleys
-item_19_title=Süchtig nach Corleys
-item_19_hidden=true
-[achievements:fr_FR]
-item_0_id=FinishDayOne
-item_0_title=Monter sur la Katmobile
-item_0_comment=A terminé le premier jour
-item_1_id=FinishDayTwo
-item_1_title=Oh, elles sont hypnotiques...
-item_1_comment=A terminé le deuxième jour
-item_2_id=FinishDayThree
-item_2_title=On s'est déjà rencontrés, n'est-ce pas ?
-item_2_comment=A terminé le troisième jour
-item_3_id=FinishDayFour
-item_3_title=Tomber dans le terrier
-item_3_comment=A terminé le quatrième jour
-item_4_id=FinishGame
-item_4_title=Déjà tout vu, déjà tout fait
-item_4_comment=A terminé le jeu
-item_5_id=Procrastinator
-item_5_title=Remet tout à demain
-item_5_hidden=true
-item_6_id=EnjoyingTheScenery
-item_6_title=Admirer le paysage
-item_6_hidden=true
-item_7_id=Hotwheels
-item_7_title=Pneus en feu
-item_7_hidden=true
-item_8_id=Aww
-item_8_title=Ooohh !
-item_8_hidden=true
-item_9_id=Undateable
-item_9_title=Célibataire à jamais
-item_9_hidden=true
-item_10_id=MrBear
-item_10_title=Monsieur Nounours, au rapport !
-item_10_hidden=true
-item_11_id=Nocturnal
-item_11_title=Nocturne
-item_11_hidden=true
-item_12_id=HowYouDoing
-item_12_title=Comment ça va TOI ?
-item_12_hidden=true
-item_13_id=RestingScowlyFace
-item_13_title=Expression naturellement antipathique
-item_13_hidden=true
-item_14_id=Pyromaniac
-item_14_title=Pyromane
-item_14_hidden=true
-item_15_id=PassiveSmoking
-item_15_title=Tabagisme passif
-item_15_hidden=true
-item_16_id=FilmBuff
-item_16_title=Cinéphile
-item_16_hidden=true
-item_17_id=Heretic
-item_17_title=Hérétique
-item_17_hidden=true
-item_18_id=TriggerHappy
-item_18_title=Gâchette facile
-item_18_hidden=true
-item_19_id=HookedOnCorleys
-item_19_title=Accro aux Corleys
-item_19_hidden=true
-[achievements:it_IT]
-item_0_id=FinishDayOne
-item_0_title=Sali sulla Katmobile
-item_0_comment=Hai finito il primo giorno
-item_1_id=FinishDayTwo
-item_1_title=Wow, sono proprio ipnotiche...
-item_1_comment=Hai finito il secondo giorno
-item_2_id=FinishDayThree
-item_2_title=Ci siamo già incontrati prima d'ora, vero?
-item_2_comment=Hai finito il terzo giorno.
-item_3_id=FinishDayFour
-item_3_title=Giù per la tana del bianconiglio
-item_3_comment=Hai finito il quarto giorno
-item_4_id=FinishGame
-item_4_title=Già visto tutto, già fatto tutto
-item_4_comment=Hai finito il gioco.
-item_5_id=Procrastinator
-item_5_title=Procrastinatore
-item_5_hidden=true
-item_6_id=EnjoyingTheScenery
-item_6_title=Ammira il paesaggio
-item_6_hidden=true
-item_7_id=Hotwheels
-item_7_title=Pneumatici di fuoco
-item_7_hidden=true
-item_8_id=Aww
-item_8_title=Ooohh!
-item_8_hidden=true
-item_9_id=Undateable
-item_9_title=Nessun appuntamento
-item_9_hidden=true
-item_10_id=MrBear
-item_10_title=Mister Orsacchiotto, a rapporto!
-item_10_hidden=true
-item_11_id=Nocturnal
-item_11_title=Notturno
-item_11_hidden=true
-item_12_id=HowYouDoing
-item_12_title=Come stai TU?
-item_12_hidden=true
-item_13_id=RestingScowlyFace
-item_13_title=Faccia istintivamente antipatica
-item_13_hidden=true
-item_14_id=Pyromaniac
-item_14_title=Piromane
-item_14_hidden=true
-item_15_id=PassiveSmoking
-item_15_title=Fumo passivo
-item_15_hidden=true
-item_16_id=FilmBuff
-item_16_title=Cinefilo
-item_16_hidden=true
-item_17_id=Heretic
-item_17_title=Eretico
-item_17_hidden=true
-item_18_id=TriggerHappy
-item_18_title=Grilletto facile
-item_18_hidden=true
-item_19_id=HookedOnCorleys
-item_19_title=Dipendenza dalle Corleys
-item_19_hidden=true
-[achievements:es_ES]
-item_0_id=FinishDayOne
-item_0_title=Subir al Katmóvil
-item_0_comment=Día uno terminado
-item_1_id=FinishDayTwo
-item_1_title=Vaya, son hipnóticas...
-item_1_comment=Día dos terminado
-item_2_id=FinishDayThree
-item_2_title=Nos conocemos de antes, ¿no?
-item_2_comment=Día tres terminado
-item_3_id=FinishDayFour
-item_3_title=Descender por la madriguera del conejo
-item_3_comment=Día cuatro terminado
-item_4_id=FinishGame
-item_4_title=Ya lo he visto, ya lo he hecho
-item_4_comment=Terminaste el juego
-item_5_id=Procrastinator
-item_5_title=Posponedora
-item_5_hidden=true
-item_6_id=EnjoyingTheScenery
-item_6_title=Disfrutando el paisaje
-item_6_hidden=true
-item_7_id=Hotwheels
-item_7_title=Hotwheels
-item_7_hidden=true
-item_8_id=Aww
-item_8_title=¡Ay!
-item_8_hidden=true
-item_9_id=Undateable
-item_9_title=Infechable
-item_9_hidden=true
-item_10_id=MrBear
-item_10_title=El Sr. Oso, ¡presente para el servicio!
-item_10_hidden=true
-item_11_id=Nocturnal
-item_11_title=Nocturno
-item_11_hidden=true
-item_12_id=HowYouDoing
-item_12_title=¿Cómo va ESO?
-item_12_hidden=true
-item_13_id=RestingScowlyFace
-item_13_title=Cara siempre enfurruñada
-item_13_hidden=true
-item_14_id=Pyromaniac
-item_14_title=Pirómana
-item_14_hidden=true
-item_15_id=PassiveSmoking
-item_15_title=Fumador pasivo
-item_15_hidden=true
-item_16_id=FilmBuff
-item_16_title=Fanática del cine
-item_16_hidden=true
-item_17_id=Heretic
-item_17_title=Hereje
-item_17_hidden=true
-item_18_id=TriggerHappy
-item_18_title=Gatillo fácil
-item_18_hidden=true
-item_19_id=HookedOnCorleys
-item_19_title=Adicta a las Corleys
-item_19_hidden=true
-[achievements:pl_PL]
-item_0_id=FinishDayOne
-item_0_title=Wsiądź na Katmobil
-item_0_comment=Ukończyłaś dzień pierwszy
-item_1_id=FinishDayTwo
-item_1_title=Wow, hipnotyczne...
-item_1_comment=Ukończyłaś dzień drugi
-item_2_id=FinishDayThree
-item_2_title=Spotkaliśmy się wcześniej, prawda?
-item_2_comment=Ukończyłaś dzień trzeci
-item_3_id=FinishDayFour
-item_3_title=Do króliczej dziury
-item_3_comment=Ukończyłaś dzień czwarty
-item_4_id=FinishGame
-item_4_title=Znam ten ból
-item_4_comment=Ukończyłaś grę
-item_5_id=Procrastinator
-item_5_title=Kunktator
-item_5_hidden=true
-item_6_id=EnjoyingTheScenery
-item_6_title=RozkoszujÄ…c siÄ™ widokiem
-item_6_hidden=true
-item_7_id=Hotwheels
-item_7_title=Nowe 4 kółka
-item_7_hidden=true
-item_8_id=Aww
-item_8_title=Oooch!
-item_8_hidden=true
-item_9_id=Undateable
-item_9_title=Nierandkowalna
-item_9_hidden=true
-item_10_id=MrBear
-item_10_title=Pan Miś gotowy do służby!
-item_10_hidden=true
-item_11_id=Nocturnal
-item_11_title=Ciemność widzę
-item_11_hidden=true
-item_12_id=HowYouDoing
-item_12_title=A jak ty siÄ™ miewasz?
-item_12_hidden=true
-item_13_id=RestingScowlyFace
-item_13_title=NadÄ…sana mina
-item_13_hidden=true
-item_14_id=Pyromaniac
-item_14_title=Piroman
-item_14_hidden=true
-item_15_id=PassiveSmoking
-item_15_title=Bierne palenie
-item_15_hidden=true
-item_16_id=FilmBuff
-item_16_title=Kinomaniak
-item_16_hidden=true
-item_17_id=Heretic
-item_17_title=Heretyczka
-item_17_hidden=true
-item_18_id=TriggerHappy
-item_18_title=Porażające doznania
-item_18_hidden=true
-item_19_id=HookedOnCorleys
-item_19_title=Uzależniona od Corleysów
+item_19_comment=Became a huge fan of those sweet, addictive, not to mention cancer-inducing sticks of tobacco
 item_19_hidden=true
diff --git a/devtools/create_achievements/gen/galaxy-1845001352.ini b/devtools/create_achievements/gen/galaxy-1845001352.ini
index 10f9742b8d..4904f8be6e 100644
--- a/devtools/create_achievements/gen/galaxy-1845001352.ini
+++ b/devtools/create_achievements/gen/galaxy-1845001352.ini
@@ -19,438 +19,77 @@ item_5_title=Power Overwhelming
 item_5_comment=Unlocked a full set of augmentations
 item_6_id=Harbinger
 item_6_title=Singularity-Minded
+item_6_comment=Hail Huldra
 item_6_hidden=true
 item_7_id=UnleashTheWolf
 item_7_title=Unleash the Wolf
+item_7_comment=Wiped the mainframe with the Fenrir Protocol
 item_7_hidden=true
 item_8_id=Caregiver
 item_8_title=Caregiver
+item_8_comment=Gave the child a loving home
 item_8_hidden=true
 item_9_id=Careerist
 item_9_title=Careerist
+item_9_comment=Parenthood wasn't in the cards
 item_9_hidden=true
 item_10_id=MixedMethods
 item_10_title=Mixed Methods
+item_10_comment=Mismatched augs were your cup of tea
 item_10_hidden=true
 item_11_id=NoSodaForYou
 item_11_title=Whispers of a Soda Machine
+item_11_comment=Failed to get that hundred-year-old soda
 item_11_hidden=true
 item_12_id=PassiveSmoking
 item_12_title=Passive Smoking Redux
+item_12_comment=Passively smoked whatever Rolf was having
 item_12_hidden=true
 item_13_id=Reassembled
 item_13_title=Reassembled
+item_13_comment=Gave Karl the finger
 item_13_hidden=true
 item_14_id=SharpEyed
 item_14_title=Sharp-Eyed
+item_14_comment=Discovered a devious device of death
 item_14_hidden=true
 item_15_id=Environmentalist
 item_15_title=Environmentalist
+item_15_comment=Left the recycling center in an eco-friendly fashion
 item_15_hidden=true
 item_16_id=WhatSuspect
 item_16_title=Babysitter
+item_16_comment=Prioritized installing the nutrient canister over pursuing Katarina
 item_16_hidden=true
 item_17_id=PickTheBaby
 item_17_title=Pick the Baby
+item_17_comment=Gave the baby a name fit for a pet
 item_17_hidden=true
 item_18_id=Museophile
 item_18_title=Museophile
+item_18_comment=Took your sweet time at the exhibition
 item_18_hidden=true
 item_19_id=SneakAttack
 item_19_title=Sneak Attack
+item_19_comment=Ambushed the ambusher
 item_19_hidden=true
 item_20_id=Memento
 item_20_title=Memento
+item_20_comment=Katarina will remember that
 item_20_hidden=true
 item_21_id=CompulsiveReturner
 item_21_title=Serial Returner
+item_21_comment=That was anti-kleptoclimactic
 item_21_hidden=true
 item_22_id=CaffeineAddict
 item_22_title=Whispers of a Coffee Machine
+item_22_comment=Had at least one daily cup of joe
 item_22_hidden=true
 item_23_id=Whodunnit
 item_23_title=Whodunnit
+item_23_comment=What monster could be responsible for such a heinous crime?
 item_23_hidden=true
 item_24_id=CloseCall
 item_24_title=Close Call
-item_24_hidden=true
-[achievements:de_DE]
-item_0_id=CaseClosed
-item_0_title=Fall abgeschlossen
-item_0_comment=Das Spiel abgeschlossen.
-item_1_id=PathOfTyr
-item_1_title=Weg des Tyr
-item_1_comment=Das Spiel selbstbewusst abgeschlossen.
-item_2_id=PathOfFrigg
-item_2_title=Weg der Frigg
-item_2_comment=Das Spiel analytisch abgeschlossen.
-item_3_id=PathOfBaldr
-item_3_title=Weg des Balder
-item_3_comment=Das Spiel einfühlsam abgeschlossen.
-item_4_id=UnlockTier2
-item_4_title=Verborgenes Potenzial
-item_4_comment=Neue Augmentation freigeschaltet.
-item_5_id=UnlockAugs
-item_5_title=Überwältigende Macht
-item_5_comment=Ein vollständiges Set an Augmentationen freigeschaltet.
-item_6_id=Harbinger
-item_6_title=Singularitätsorientiert
-item_6_hidden=true
-item_7_id=UnleashTheWolf
-item_7_title=Der entfesselte Wolf
-item_7_hidden=true
-item_8_id=Caregiver
-item_8_title=Fürsorglich
-item_8_hidden=true
-item_9_id=Careerist
-item_9_title=Karrierefixiert
-item_9_hidden=true
-item_10_id=MixedMethods
-item_10_title=Eklektizistisch
-item_10_hidden=true
-item_11_id=NoSodaForYou
-item_11_title=Flüstern eines Limoautomaten
-item_11_hidden=true
-item_12_id=PassiveSmoking
-item_12_title=Passivraucherin
-item_12_hidden=true
-item_13_id=Reassembled
-item_13_title=Wiedervereint
-item_13_hidden=true
-item_14_id=SharpEyed
-item_14_title=Scharfer Blick
-item_14_hidden=true
-item_15_id=Environmentalist
-item_15_title=Umweltbewusst
-item_15_hidden=true
-item_16_id=WhatSuspect
-item_16_title=Babysitterin
-item_16_hidden=true
-item_17_id=PickTheBaby
-item_17_title=Sentimental
-item_17_hidden=true
-item_18_id=Museophile
-item_18_title=Museophil
-item_18_hidden=true
-item_19_id=SneakAttack
-item_19_title=Hinterhältig
-item_19_hidden=true
-item_20_id=Memento
-item_20_title=Memento
-item_20_hidden=true
-item_21_id=CompulsiveReturner
-item_21_title=Schlechtes Gewissen
-item_21_hidden=true
-item_22_id=CaffeineAddict
-item_22_title=Flüstern eines Kaffeeautomaten
-item_22_hidden=true
-item_23_id=Whodunnit
-item_23_title=Wer war’s?
-item_23_hidden=true
-item_24_id=CloseCall
-item_24_title=Knappe Sache
-item_24_hidden=true
-[achievements:fr_FR]
-item_0_id=CaseClosed
-item_0_title=Affaire classée
-item_0_comment=Vous avez terminé le jeu.
-item_1_id=PathOfTyr
-item_1_title=Voie de Tyr
-item_1_comment=Vous avez terminé le jeu de manière autoritaire.
-item_2_id=PathOfFrigg
-item_2_title=Voie de Frigg
-item_2_comment=Vous avez terminé le jeu de manière analytique.
-item_3_id=PathOfBaldr
-item_3_title=Voie de Baldr
-item_3_comment=Vous avez terminé le jeu de manière empathique.
-item_4_id=UnlockTier2
-item_4_title=Potentiel caché
-item_4_comment=Vous avez débloqué une nouvelle augmentation.
-item_5_id=UnlockAugs
-item_5_title=Surpuissance
-item_5_comment=Vous avez débloqué un ensemble complet d'augmentations.
-item_6_id=Harbinger
-item_6_title=Un goût singulier pour les singularités
-item_6_hidden=true
-item_7_id=UnleashTheWolf
-item_7_title=Loup déchaîné
-item_7_hidden=true
-item_8_id=Caregiver
-item_8_title=Assistante sociale
-item_8_hidden=true
-item_9_id=Careerist
-item_9_title=Carriériste
-item_9_hidden=true
-item_10_id=MixedMethods
-item_10_title=Méthodes non conventionnelles
-item_10_hidden=true
-item_11_id=NoSodaForYou
-item_11_title=Murmures de la machine à soda
-item_11_hidden=true
-item_12_id=PassiveSmoking
-item_12_title=Tabagisme passif
-item_12_hidden=true
-item_13_id=Reassembled
-item_13_title=Juste un doigt
-item_13_hidden=true
-item_14_id=SharpEyed
-item_14_title=Å’il de lynx
-item_14_hidden=true
-item_15_id=Environmentalist
-item_15_title=Écolo
-item_15_hidden=true
-item_16_id=WhatSuspect
-item_16_title=Baby-sitter
-item_16_hidden=true
-item_17_id=PickTheBaby
-item_17_title=Baptême
-item_17_hidden=true
-item_18_id=Museophile
-item_18_title=Muséophile
-item_18_hidden=true
-item_19_id=SneakAttack
-item_19_title=Attaque-surprise
-item_19_hidden=true
-item_20_id=Memento
-item_20_title=Souvenir
-item_20_hidden=true
-item_21_id=CompulsiveReturner
-item_21_title=Antivol
-item_21_hidden=true
-item_22_id=CaffeineAddict
-item_22_title=Murmures de la machine à café
-item_22_hidden=true
-item_23_id=Whodunnit
-item_23_title=Qui a fait le coup ?
-item_23_hidden=true
-item_24_id=CloseCall
-item_24_title=De justesse
-item_24_hidden=true
-[achievements:it_IT]
-item_0_id=CaseClosed
-item_0_title=Caso Chiuso
-item_0_comment=Hai terminato il gioco
-item_1_id=PathOfTyr
-item_1_title=Via di Tyr
-item_1_comment=Hai terminato il gioco assertivamente
-item_2_id=PathOfFrigg
-item_2_title=Via di Frigg
-item_2_comment=Hai terminato il gioco analiticamente
-item_3_id=PathOfBaldr
-item_3_title=Via di Baldr
-item_3_comment=Hai terminato il gioco empaticamente
-item_4_id=UnlockTier2
-item_4_title=Potenziale Nascosto
-item_4_comment=Hai sbloccato un nuovo potenziamento
-item_5_id=UnlockAugs
-item_5_title=Potere Travolgente
-item_5_comment=Hai sbloccato una serie completa di potenziamenti
-item_6_id=Harbinger
-item_6_title=Singolarità
-item_6_hidden=true
-item_7_id=UnleashTheWolf
-item_7_title=Libera il Lupo
-item_7_hidden=true
-item_8_id=Caregiver
-item_8_title=La Famiglia Viene Prima
-item_8_hidden=true
-item_9_id=Careerist
-item_9_title=Il Lavoro Viene Prima
-item_9_hidden=true
-item_10_id=MixedMethods
-item_10_title=Metodi Non Convenzionali
-item_10_hidden=true
-item_11_id=NoSodaForYou
-item_11_title=Sussurri di un Distributore Automatico
-item_11_hidden=true
-item_12_id=PassiveSmoking
-item_12_title=Fumo Passivo
-item_12_hidden=true
-item_13_id=Reassembled
-item_13_title=Riassemblato
-item_13_hidden=true
-item_14_id=SharpEyed
-item_14_title=Osservatrice
-item_14_hidden=true
-item_15_id=Environmentalist
-item_15_title=Ambientalista
-item_15_hidden=true
-item_16_id=WhatSuspect
-item_16_title=Babysitter
-item_16_hidden=true
-item_17_id=PickTheBaby
-item_17_title=Battesimo
-item_17_hidden=true
-item_18_id=Museophile
-item_18_title=Museofila
-item_18_hidden=true
-item_19_id=SneakAttack
-item_19_title=Amante della Cultura
-item_19_hidden=true
-item_20_id=Memento
-item_20_title=Memento
-item_20_hidden=true
-item_21_id=CompulsiveReturner
-item_21_title=Restituitrice Seriale
-item_21_hidden=true
-item_22_id=CaffeineAddict
-item_22_title=Sussurri di una Macchina del Caffè
-item_22_hidden=true
-item_23_id=Whodunnit
-item_23_title=Chi È Stato?
-item_23_hidden=true
-item_24_id=CloseCall
-item_24_title=Per un Pelo
-item_24_hidden=true
-[achievements:es_ES]
-item_0_id=CaseClosed
-item_0_title=Caso cerrado
-item_0_comment=Has llegado al final del juego
-item_1_id=PathOfTyr
-item_1_title=Senda de Tyr
-item_1_comment=Has llegado al final del juego por la vía asertiva
-item_2_id=PathOfFrigg
-item_2_title=Senda de Frigg
-item_2_comment=Has llegado al final del juego por la vía analítica
-item_3_id=PathOfBaldr
-item_3_title=Senda de Baldr
-item_3_comment=Has llegado al final del juego por la vía empática
-item_4_id=UnlockTier2
-item_4_title=Potencial oculto
-item_4_comment=Has desbloqueado un nuevo aumento
-item_5_id=UnlockAugs
-item_5_title=Poder arrollador
-item_5_comment=Has desbloqueado un conjunto completo de aumentos
-item_6_id=Harbinger
-item_6_title=Por la singularidad
-item_6_hidden=true
-item_7_id=UnleashTheWolf
-item_7_title=Libera al lobo
-item_7_hidden=true
-item_8_id=Caregiver
-item_8_title=Cuidadora
-item_8_hidden=true
-item_9_id=Careerist
-item_9_title=Centrada en la carrera
-item_9_hidden=true
-item_10_id=MixedMethods
-item_10_title=Métodos mixtos
-item_10_hidden=true
-item_11_id=NoSodaForYou
-item_11_title=Susurros de una máquina de refrescos
-item_11_hidden=true
-item_12_id=PassiveSmoking
-item_12_title=Fumadora pasiva remasterizada
-item_12_hidden=true
-item_13_id=Reassembled
-item_13_title=Rensamblaje
-item_13_hidden=true
-item_14_id=SharpEyed
-item_14_title=Observadora
-item_14_hidden=true
-item_15_id=Environmentalist
-item_15_title=Ecologista
-item_15_hidden=true
-item_16_id=WhatSuspect
-item_16_title=Canguro
-item_16_hidden=true
-item_17_id=PickTheBaby
-item_17_title=Llévate al bebé
-item_17_hidden=true
-item_18_id=Museophile
-item_18_title=Museófila
-item_18_hidden=true
-item_19_id=SneakAttack
-item_19_title=Ataque sigiloso
-item_19_hidden=true
-item_20_id=Memento
-item_20_title=Recuerdo
-item_20_hidden=true
-item_21_id=CompulsiveReturner
-item_21_title=Regresadora en serie
-item_21_hidden=true
-item_22_id=CaffeineAddict
-item_22_title=Susurros de una máquina de café
-item_22_hidden=true
-item_23_id=Whodunnit
-item_23_title=¿Quién ha sido?
-item_23_hidden=true
-item_24_id=CloseCall
-item_24_title=Por un pelo
-item_24_hidden=true
-[achievements:pt_BR]
-item_0_id=CaseClosed
-item_0_title=Caso encerrado
-item_0_comment=Terminou o jogo
-item_1_id=PathOfTyr
-item_1_title=Caminho de Tyr
-item_1_comment=Terminou o jogo de modo assertivo
-item_2_id=PathOfFrigg
-item_2_title=Caminho de Frigg
-item_2_comment=Terminou o jogo de modo analítico
-item_3_id=PathOfBaldr
-item_3_title=Caminho de Baldr
-item_3_comment=Terminou o jogo de modo empático
-item_4_id=UnlockTier2
-item_4_title=Potencial oculto
-item_4_comment=Desbloqueou um novo aprimoramento
-item_5_id=UnlockAugs
-item_5_title=Poder esmagador
-item_5_comment=Desbloqueou um conjunto completo de aprimoramentos
-item_6_id=Harbinger
-item_6_title=Foi pela singuraridade
-item_6_hidden=true
-item_7_id=UnleashTheWolf
-item_7_title=Liberte o lobo
-item_7_hidden=true
-item_8_id=Caregiver
-item_8_title=A família vem em primeiro lugar
-item_8_hidden=true
-item_9_id=Careerist
-item_9_title=Foco na carreira
-item_9_hidden=true
-item_10_id=MixedMethods
-item_10_title=Métodos mistos
-item_10_hidden=true
-item_11_id=NoSodaForYou
-item_11_title=Sussurros de uma máquina de refrigerantes
-item_11_hidden=true
-item_12_id=PassiveSmoking
-item_12_title=Fumante passiva
-item_12_hidden=true
-item_13_id=Reassembled
-item_13_title=Remontado
-item_13_hidden=true
-item_14_id=SharpEyed
-item_14_title=Observadora
-item_14_hidden=true
-item_15_id=Environmentalist
-item_15_title=Ecologista
-item_15_hidden=true
-item_16_id=WhatSuspect
-item_16_title=Babá
-item_16_hidden=true
-item_17_id=PickTheBaby
-item_17_title=Leve o bebê
-item_17_hidden=true
-item_18_id=Museophile
-item_18_title=Museófila
-item_18_hidden=true
-item_19_id=SneakAttack
-item_19_title=Ataque surpresa
-item_19_hidden=true
-item_20_id=Memento
-item_20_title=Lembrancinha
-item_20_hidden=true
-item_21_id=CompulsiveReturner
-item_21_title=Devolvedora em série
-item_21_hidden=true
-item_22_id=CaffeineAddict
-item_22_title=Sussurros de uma máquina de café
-item_22_hidden=true
-item_23_id=Whodunnit
-item_23_title=Quem foi?
-item_23_hidden=true
-item_24_id=CloseCall
-item_24_title=Essa foi por pouco
+item_24_comment=Alex almost had his way
 item_24_hidden=true
diff --git a/devtools/create_achievements/gen/steam-1133950.ini b/devtools/create_achievements/gen/steam-1133950.ini
index 50c4f7d437..cadae8f349 100644
--- a/devtools/create_achievements/gen/steam-1133950.ini
+++ b/devtools/create_achievements/gen/steam-1133950.ini
@@ -1,69 +1,91 @@
 [achievements:en]
 item_0_id=1_parabolica
 item_0_title=Playing with the satellite dish.
+item_0_comment=Distract the guard.
 item_0_hidden=true
 item_1_id=2_torreon
 item_1_title=I want to go higher.
+item_1_comment=Open the keep door.
 item_1_hidden=true
 item_2_id=3_piza
 item_2_title=I'm hungry.
+item_2_comment=Order a pizza.
 item_2_hidden=true
 item_3_id=4_dioses
 item_3_title=I was just passing by.
+item_3_comment=Talk to the Gods.
 item_3_hidden=true
 item_4_id=5_vampira
 item_4_title=You are bothering me.
+item_4_comment=Wake up the Junior Vampire.
 item_4_hidden=true
 item_5_id=6_sapo
 item_5_title=It's not what it seems.
+item_5_comment=Talk to a toad.
 item_5_hidden=true
 item_6_id=7_bany
 item_6_title=What a bathroom.
+item_6_comment=Flood the bathroom.
 item_6_hidden=true
 item_7_id=8_biblio
 item_7_title=This book is stuck.
+item_7_comment=Discover the secret door of the library.
 item_7_hidden=true
 item_8_id=9_raton_triturado
 item_8_title=You do not have heart.
+item_8_comment=Shred the mouse.
 item_8_hidden=true
 item_9_id=10_convertir_raton
 item_9_title=What happened to me?
+item_9_comment=Transform yourself into a mouse.
 item_9_hidden=true
 item_10_id=11_alarma
 item_10_title=Easier this way.
+item_10_comment=Turn off the alarm.
 item_10_hidden=true
 item_11_id=12_pintar_cuadre
 item_11_title=Artwork.
+item_11_comment=Paint a picture with Bob.
 item_11_hidden=true
 item_12_id=13_vestit
 item_12_title=What's behind?
+item_12_comment=Take the dress.
 item_12_hidden=true
 item_13_id=14_huevos_cuervo
 item_13_title=I'll make myself an omelette.
+item_13_comment=Take the raven eggs.
 item_13_hidden=true
 item_14_id=15_planta
 item_14_title=You have eaten too much.
+item_14_comment=Knock out the carnivorous plant.
 item_14_hidden=true
 item_15_id=16_paloma
 item_15_title=I have a letter.
+item_15_comment=Receive a message from the Vatican.
 item_15_hidden=true
 item_16_id=17_asustar_vampira
 item_16_title=Get out of here!
+item_16_comment=Get the junior vampire to run away.
 item_16_hidden=true
 item_17_id=18_canal_tv
 item_17_title=I do not like this.
+item_17_comment=Change the TV channel.
 item_17_hidden=true
 item_18_id=19_llave_jarron
 item_18_title=I got it.
+item_18_comment=Get the special key.
 item_18_hidden=true
 item_19_id=20_necro
 item_19_title=It scares me.
+item_19_comment=Obtain the Necronomicon.
 item_19_hidden=true
 item_20_id=21_reliquia
 item_20_title=Gross.
+item_20_comment=Get the relic.
 item_20_hidden=true
 item_21_id=22_esparrago
 item_21_title=What nonsense.
+item_21_comment=Put an asparagus up your nose.
 item_21_hidden=true
 item_22_id=23_final_1
 item_22_title=Moon of Blood
diff --git a/devtools/create_achievements/gen/steam-1147030.ini b/devtools/create_achievements/gen/steam-1147030.ini
index 00989c9382..f20377cff9 100644
--- a/devtools/create_achievements/gen/steam-1147030.ini
+++ b/devtools/create_achievements/gen/steam-1147030.ini
@@ -16,4 +16,5 @@ item_4_title=Open Sesame
 item_4_comment=The riches are within grasp.
 item_5_id=TheEnd
 item_5_title=The End.
+item_5_comment=Our players meet their demise.
 item_5_hidden=true
diff --git a/devtools/create_achievements/gen/steam-1181570.ini b/devtools/create_achievements/gen/steam-1181570.ini
index 3f0ef0b678..97aaf31883 100644
--- a/devtools/create_achievements/gen/steam-1181570.ini
+++ b/devtools/create_achievements/gen/steam-1181570.ini
@@ -7,6 +7,7 @@ item_1_title=Oh great, bagpipes
 item_1_comment=A shrill wailing sound
 item_2_id=GAME_OVER
 item_2_title=Fugitive from justice
+item_2_comment=Which is very, very, extremely, very cool
 item_2_hidden=true
 item_3_id=GOT_HOSE
 item_3_title=Ouch!
@@ -16,9 +17,11 @@ item_4_title=A pun too far
 item_4_comment=Sorry
 item_5_id=GOT_HAIRCUT
 item_5_title=Everything still attached?
+item_5_comment=Got a snazzy new haircut
 item_5_hidden=true
 item_6_id=KNOCK_OUT
 item_6_title=He's not dead
+item_6_comment=A nap will do the mechanic good
 item_6_hidden=true
 item_7_id=MELT_CUP
 item_7_title=Just like grog
@@ -31,12 +34,15 @@ item_9_title=Les aventuriers de l'arche perdue
 item_9_comment=Did your best Indiana Jones impression
 item_10_id=GOT_HORSESHOE
 item_10_title=Stand tall
+item_10_comment=Tom Cruise wishes he was this tall
 item_10_hidden=true
 item_11_id=GOT_ARMOUR
 item_11_title=Equipped for battle
+item_11_comment=Looking real good!
 item_11_hidden=true
 item_12_id=REALLY_TALL
 item_12_title=Stand REALLY tall
+item_12_comment=You have a problem
 item_12_hidden=true
 item_13_id=NEW_CONTENDER
 item_13_title=The Running Man
diff --git a/devtools/create_achievements/gen/steam-1220930.ini b/devtools/create_achievements/gen/steam-1220930.ini
index 87bd338aa4..6bd92629e9 100644
--- a/devtools/create_achievements/gen/steam-1220930.ini
+++ b/devtools/create_achievements/gen/steam-1220930.ini
@@ -1,6 +1,7 @@
 [achievements:en]
 item_0_id=Have you seen this man?
 item_0_title=Have you seen this man?
+item_0_comment=You've seen the man. Did he see you?
 item_0_hidden=true
 item_1_id=Bookworm
 item_1_title=Bookworm
diff --git a/devtools/create_achievements/gen/steam-1251910.ini b/devtools/create_achievements/gen/steam-1251910.ini
index 86e15b20dd..ed64eaef54 100644
--- a/devtools/create_achievements/gen/steam-1251910.ini
+++ b/devtools/create_achievements/gen/steam-1251910.ini
@@ -110,9 +110,11 @@ item_33_title=Mind your head
 item_33_comment=Bump your head in a non-lethal manner
 item_34_id=LETTERS
 item_34_title=Secret admirer
+item_34_comment=Find the secret letters
 item_34_hidden=true
 item_35_id=FLAMETHROWER
 item_35_title=Hank Scorpio
+item_35_comment=Make a flamethrower
 item_35_hidden=true
 item_36_id=100_METERS
 item_36_title=Couch potato
@@ -135,523 +137,3 @@ item_41_comment=Kill all living things in a single game
 item_42_id=REPEAT_DEATHS
 item_42_title=Sadistic player
 item_42_comment=Repeat at least one death
-[achievements:de_DE]
-item_0_id=DEATH_0
-item_0_title=Über den Wolken
-item_0_comment=Erhalte das jeweilige Ende
-item_1_id=DEATH_1
-item_1_title=Todmüde
-item_1_comment=Erhalte das jeweilige Ende
-item_2_id=DEATH_2
-item_2_title=Strike!
-item_2_comment=Erhalte das jeweilige Ende
-item_3_id=DEATH_3
-item_3_title=Mich trifft der Schlag!
-item_3_comment=Erhalte das jeweilige Ende
-item_4_id=DEATH_4
-item_4_title=Einfach mal baumeln lassen
-item_4_comment=Erhalte das jeweilige Ende
-item_5_id=DEATH_5
-item_5_title=Tod von Oben
-item_5_comment=Erhalte das jeweilige Ende
-item_6_id=DEATH_6
-item_6_title=Impfungen verursachen Autismus
-item_6_comment=Erhalte das jeweilige Ende
-item_7_id=DEATH_7
-item_7_title=Summ oder nicht Summ
-item_7_comment=Erhalte das jeweilige Ende
-item_8_id=DEATH_8
-item_8_title=Wo brennt's denn?
-item_8_comment=Erhalte das jeweilige Ende
-item_9_id=DEATH_9
-item_9_title=Nimm das Michael Bay
-item_9_comment=Erhalte das jeweilige Ende
-item_10_id=DEATH_10
-item_10_title=Ein warmer Toast
-item_10_comment=Erhalte das jeweilige Ende
-item_11_id=DEATH_11
-item_11_title=Vive la révolution
-item_11_comment=Erhalte das jeweilige Ende
-item_12_id=DEATH_12
-item_12_title=Die Rache der Pharmakonzerne
-item_12_comment=Erhalte das jeweilige Ende
-item_13_id=DEATH_13
-item_13_title=Schnelldiät
-item_13_comment=Erhalte das jeweilige Ende
-item_14_id=DEATH_14
-item_14_title=Vorsicht, nasser Boden
-item_14_comment=Erhalte das jeweilige Ende
-item_15_id=DEATH_15
-item_15_title=Das ist kein Toaster
-item_15_comment=Erhalte das jeweilige Ende
-item_16_id=DEATH_16
-item_16_title=Welch Ironie!
-item_16_comment=Erhalte das jeweilige Ende
-item_17_id=DEATH_17
-item_17_title=Irgendwann sterben wir alle
-item_17_comment=Erhalte das jeweilige Ende
-item_18_id=DEATH_18
-item_18_title=Tod durch Spider-Man
-item_18_comment=Erhalte das jeweilige Ende
-item_19_id=DEATH_19
-item_19_title=Unter dem Meer
-item_19_comment=Erhalte das jeweilige Ende
-item_20_id=DEATH_20
-item_20_title=Saurer Regen
-item_20_comment=Erhalte das jeweilige Ende
-item_21_id=DEATH_21
-item_21_title=Frank Grimes
-item_21_comment=Erhalte das jeweilige Ende
-item_22_id=DEATH_22
-item_22_title=Die letzte Mahlzeit
-item_22_comment=Erhalte das jeweilige Ende
-item_23_id=DEATH_23
-item_23_title=Schönheit hat das Biest zerstört
-item_23_comment=Erhalte das jeweilige Ende
-item_24_id=DEATH_24
-item_24_title=Sprungteufelschrek
-item_24_comment=Erhalte das jeweilige Ende
-item_25_id=DEATH_25
-item_25_title=Mir ist kalt
-item_25_comment=Erhalte das jeweilige Ende
-item_26_id=DEATH_26
-item_26_title=Der Schimmelreiter
-item_26_comment=Erhalte das jeweilige Ende
-item_27_id=DEATH_27
-item_27_title=Frisch frittiert
-item_27_comment=Erhalte das jeweilige Ende
-item_28_id=DEATH_28
-item_28_title=Feuer und Flamme
-item_28_comment=Erhalte das jeweilige Ende
-item_29_id=DEATH_29
-item_29_title=Ich bevorzuge das Touchpad
-item_29_comment=Erhalte das jeweilige Ende
-item_30_id=AVID_READER
-item_30_title=Bücherwurm
-item_30_comment=Lies alle Einträge im Buch
-item_31_id=TUTORIAL
-item_31_title=Für Dummies
-item_31_comment=Schließe das Tutorial ab
-item_32_id=CREDITS
-item_32_title=Erfreulich zurückhaltender Vorspann
-item_32_comment=Sieh dir den Abspann bis zum Schluss an
-item_33_id=HEAD_BUMP
-item_33_title=Vorsicht Kopf!
-item_33_comment=Stoss dir den Kopf ohne zu sterben
-item_34_id=LETTERS
-item_34_title=Geheimer Verehrer
-item_34_hidden=true
-item_35_id=FLAMETHROWER
-item_35_title=Hank Scorpio
-item_35_hidden=true
-item_36_id=100_METERS
-item_36_title=Stubenhocker
-item_36_comment=Laufe 100 Meter
-item_37_id=500_METERS
-item_37_title=Geringfügig Aktiv
-item_37_comment=Laufe 500 Meter
-item_38_id=1500_METERS
-item_38_title=Fitness ist ein Lebensstil
-item_38_comment=Laufe 1500 meter
-item_39_id=5000_METERS
-item_39_title=Läuferhoch
-item_39_comment=Laufe 5 Kilometer
-item_40_id=NECKTIE
-item_40_title=Modepolizei
-item_40_comment=Zerreisse und verbrenne die Krawatte
-item_41_id=ANIMAL_HATER
-item_41_title=Todesengel
-item_41_comment=Töte alle Lebewesen in einem Spieldurchlauf
-item_42_id=REPEAT_DEATHS
-item_42_title=Sadistischer Spieler
-item_42_comment=Wiederhole mindestens einen Tod
-[achievements:it_IT]
-item_0_id=DEATH_0
-item_0_title=Nel blu dipinto di blu
-item_0_comment=Sblocca il finale relativo
-item_1_id=DEATH_1
-item_1_title=Stanco morto
-item_1_comment=Sblocca il finale relativo
-item_2_id=DEATH_2
-item_2_title=Strike!
-item_2_comment=Sblocca il finale relativo
-item_3_id=DEATH_3
-item_3_title=Sono scioccato
-item_3_comment=Sblocca il finale relativo
-item_4_id=DEATH_4
-item_4_title=Appeso a una speranza
-item_4_comment=Sblocca il finale relativo
-item_5_id=DEATH_5
-item_5_title=Morte dall'alto
-item_5_comment=Sblocca il finale relativo
-item_6_id=DEATH_6
-item_6_title=I vaccini causano autismo
-item_6_comment=Sblocca il finale relativo
-item_7_id=DEATH_7
-item_7_title=Un'apessima idea
-item_7_comment=Sblocca il finale relativo
-item_8_id=DEATH_8
-item_8_title=Bruciali tutti!
-item_8_comment=Sblocca il finale relativo
-item_9_id=DEATH_9
-item_9_title=Mr. Bay è pieno di balle
-item_9_comment=Sblocca il finale relativo
-item_10_id=DEATH_10
-item_10_title=Un brindisi caloroso
-item_10_comment=Sblocca il finale relativo
-item_11_id=DEATH_11
-item_11_title=Vive la révolution
-item_11_comment=Sblocca il finale relativo
-item_12_id=DEATH_12
-item_12_title=La vendetta di Big Pharma
-item_12_comment=Sblocca il finale relativo
-item_13_id=DEATH_13
-item_13_title=Dieta istantanea
-item_13_comment=Sblocca il finale relativo
-item_14_id=DEATH_14
-item_14_title=Attenzione, pavimento bagnato
-item_14_comment=Sblocca il finale relativo
-item_15_id=DEATH_15
-item_15_title=Non è un tostapane
-item_15_comment=Sblocca il finale relativo
-item_16_id=DEATH_16
-item_16_title=Piuttosto ironico
-item_16_comment=Sblocca il finale relativo
-item_17_id=DEATH_17
-item_17_title=Prima o poi si muore tutti
-item_17_comment=Sblocca il finale relativo
-item_18_id=DEATH_18
-item_18_title=The amazing spider-death
-item_18_comment=Sblocca il finale relativo
-item_19_id=DEATH_19
-item_19_title=In fondo al mar
-item_19_comment=Sblocca il finale relativo
-item_20_id=DEATH_20
-item_20_title=Pioggia acida
-item_20_comment=Sblocca il finale relativo
-item_21_id=DEATH_21
-item_21_title=Frank Grimes
-item_21_comment=Sblocca il finale relativo
-item_22_id=DEATH_22
-item_22_title=L'ultima cena
-item_22_comment=Sblocca il finale relativo
-item_23_id=DEATH_23
-item_23_title=La morte ti fa bella
-item_23_comment=Sblocca il finale relativo
-item_24_id=DEATH_24
-item_24_title=Paura dei clown
-item_24_comment=Sblocca il finale relativo
-item_25_id=DEATH_25
-item_25_title=Sto congelando
-item_25_comment=Sblocca il finale relativo
-item_26_id=DEATH_26
-item_26_title=Un evento sporadico
-item_26_comment=Sblocca il finale relativo
-item_27_id=DEATH_27
-item_27_title=Sono fritto!
-item_27_comment=Sblocca il finale relativo
-item_28_id=DEATH_28
-item_28_title=Ritorno di fiamma
-item_28_comment=Sblocca il finale relativo
-item_29_id=DEATH_29
-item_29_title=Preferisco il touchpad
-item_29_comment=Sblocca il finale relativo
-item_30_id=AVID_READER
-item_30_title=Topo di biblioteca
-item_30_comment=Leggi l'intero libro
-item_31_id=TUTORIAL
-item_31_title=Per negati
-item_31_comment=Completa il tutorial
-item_32_id=CREDITS
-item_32_title=Impressionante sequenza di nomi importanti
-item_32_comment=Guarda i credits fino alla fine
-item_33_id=HEAD_BUMP
-item_33_title=Occhio alla testa
-item_33_comment=Sbatti la testa in maniera non letale
-item_34_id=LETTERS
-item_34_title=Ammiratore segreto
-item_34_hidden=true
-item_35_id=FLAMETHROWER
-item_35_title=Hank Scorpio
-item_35_hidden=true
-item_36_id=100_METERS
-item_36_title=Pigrone
-item_36_comment=Percorri 100 metri
-item_37_id=500_METERS
-item_37_title=Attività moderata
-item_37_comment=Percorri 500 metri
-item_38_id=1500_METERS
-item_38_title=Amante del fitness
-item_38_comment=Percorri 1500 metri
-item_39_id=5000_METERS
-item_39_title=Sballo del corridore
-item_39_comment=Percorri 5 chilometri
-item_40_id=NECKTIE
-item_40_title=Ma come ti vesti
-item_40_comment=Strappa e brucia la cravatta
-item_41_id=ANIMAL_HATER
-item_41_title=Angelo della morte
-item_41_comment=Uccidi ogni essere vivente in una singola partita
-item_42_id=REPEAT_DEATHS
-item_42_title=Giocatore sadico
-item_42_comment=Ripeti almeno una morte
-[achievements:es_ES]
-item_0_id=DEATH_0
-item_0_title=Volando voy
-item_0_comment=Resolver el final correspondiente
-item_1_id=DEATH_1
-item_1_title=Muerto de cansancio
-item_1_comment=Resolver el final correspondiente
-item_2_id=DEATH_2
-item_2_title=Strike!
-item_2_comment=Resolver el final correspondiente
-item_3_id=DEATH_3
-item_3_title=Estoy conmocionado
-item_3_comment=Resolver el final correspondiente
-item_4_id=DEATH_4
-item_4_title=Pendiendo de un hilo
-item_4_comment=Resolver el final correspondiente
-item_5_id=DEATH_5
-item_5_title=Muerte desde lo alto
-item_5_comment=Resolver el final correspondiente
-item_6_id=DEATH_6
-item_6_title=Vacunarse produce autismo
-item_6_comment=Resolver el final correspondiente
-item_7_id=DEATH_7
-item_7_title=Colmenado a muerte
-item_7_comment=Resolver el final correspondiente
-item_8_id=DEATH_8
-item_8_title=¡Quémalos a todos!
-item_8_comment=Resolver el final correspondiente
-item_9_id=DEATH_9
-item_9_title=El Sr. Bay es un montón de estiércol
-item_9_comment=Resolver el final correspondiente
-item_10_id=DEATH_10
-item_10_title=Un cálido brindis
-item_10_comment=Resolver el final correspondiente
-item_11_id=DEATH_11
-item_11_title=Vive la révolution
-item_11_comment=Resolver el final correspondiente
-item_12_id=DEATH_12
-item_12_title=La venganza de Big Pharma
-item_12_comment=Resolver el final correspondiente
-item_13_id=DEATH_13
-item_13_title=Dieta instantánea
-item_13_comment=Resolver el final correspondiente
-item_14_id=DEATH_14
-item_14_title=Cuidado, suelo mojado
-item_14_comment=Resolver el final correspondiente
-item_15_id=DEATH_15
-item_15_title=Eso no es una tostadora
-item_15_comment=Resolver el final correspondiente
-item_16_id=DEATH_16
-item_16_title=¡Qué ironía!
-item_16_comment=Resolver el final correspondiente
-item_17_id=DEATH_17
-item_17_title=Todos morimos al final
-item_17_comment=Resolver el final correspondiente
-item_18_id=DEATH_18
-item_18_title=The amazing spider-muerte
-item_18_comment=Resolver el final correspondiente
-item_19_id=DEATH_19
-item_19_title=Bajo el mar
-item_19_comment=Resolver el final correspondiente
-item_20_id=DEATH_20
-item_20_title=Lluvia acida
-item_20_comment=Resolver el final correspondiente
-item_21_id=DEATH_21
-item_21_title=Frank Grimes
-item_21_comment=Resolver el final correspondiente
-item_22_id=DEATH_22
-item_22_title=La última cena
-item_22_comment=Resolver el final correspondiente
-item_23_id=DEATH_23
-item_23_title=La muerte os sienta tan bien
-item_23_comment=Resolver el final correspondiente
-item_24_id=DEATH_24
-item_24_title=Miedo a los payasos
-item_24_comment=Resolver el final correspondiente
-item_25_id=DEATH_25
-item_25_title=Estoy helado
-item_25_comment=Resolver el final correspondiente
-item_26_id=DEATH_26
-item_26_title=Un evento esporádico
-item_26_comment=Resolver el final correspondiente
-item_27_id=DEATH_27
-item_27_title=¡Me tienen frito!
-item_27_comment=Resolver el final correspondiente
-item_28_id=DEATH_28
-item_28_title=Fuego de cobertura
-item_28_comment=Resolver el final correspondiente
-item_29_id=DEATH_29
-item_29_title=Prefiero el touchpad
-item_29_comment=Resolver el final correspondiente
-item_30_id=AVID_READER
-item_30_title=Ratón de biblioteca
-item_30_comment=Leer todo el libro
-item_31_id=TUTORIAL
-item_31_title=Para tontos
-item_31_comment=Completar el tutorial
-item_32_id=CREDITS
-item_32_title=Secuencia de créditos agradablemente sencilla
-item_32_comment=Mirar los créditos hasta el final
-item_33_id=HEAD_BUMP
-item_33_title=Cuidado con la cabeza
-item_33_comment=Golpearte la cabeza de una manera no mortal
-item_34_id=LETTERS
-item_34_title=Admirador secreto
-item_34_hidden=true
-item_35_id=FLAMETHROWER
-item_35_title=Hank Scorpio
-item_35_hidden=true
-item_36_id=100_METERS
-item_36_title=Vago
-item_36_comment=Caminar 100 metros
-item_37_id=500_METERS
-item_37_title=Medianamente activo
-item_37_comment=Caminar 500 metros
-item_38_id=1500_METERS
-item_38_title=Estar en estado es un modo de vida
-item_38_comment=Caminar 1500 metros
-item_39_id=5000_METERS
-item_39_title=Euforia del corredor
-item_39_comment=Caminar 5 kilómetros
-item_40_id=NECKTIE
-item_40_title=Policía de la moda
-item_40_comment=Romper y quemar la corbata
-item_41_id=ANIMAL_HATER
-item_41_title=Ángel de la muerte
-item_41_comment=Matar a todos los seres vivos en un sólo juego
-item_42_id=REPEAT_DEATHS
-item_42_title=Jugador sádico
-item_42_comment=Repetir al menos una muerte
-[achievements:nl_NL]
-item_0_id=DEATH_0
-item_0_title=Vlieg met me mee naar de regenboog
-item_0_comment=Los het bijbehorende einde op
-item_1_id=DEATH_1
-item_1_title=Doodvermoeid
-item_1_comment=Los het bijbehorende einde op
-item_2_id=DEATH_2
-item_2_title=Strike!
-item_2_comment=Los het bijbehorende einde op
-item_3_id=DEATH_3
-item_3_title=Wat een schok
-item_3_comment=Los het bijbehorende einde op
-item_4_id=DEATH_4
-item_4_title=Hou vol
-item_4_comment=Los het bijbehorende einde op
-item_5_id=DEATH_5
-item_5_title=Dood van boven
-item_5_comment=Los het bijbehorende einde op
-item_6_id=DEATH_6
-item_6_title=Vaccins veroorzaken autisme
-item_6_comment=Los het bijbehorende einde op
-item_7_id=DEATH_7
-item_7_title=Als bijen naar de honing
-item_7_comment=Los het bijbehorende einde op
-item_8_id=DEATH_8
-item_8_title=Burn baby burn
-item_8_comment=Los het bijbehorende einde op
-item_9_id=DEATH_9
-item_9_title=Meneer Bay lult maar wat
-item_9_comment=Los het bijbehorende einde op
-item_10_id=DEATH_10
-item_10_title=Een warme dronk
-item_10_comment=Los het bijbehorende einde op
-item_11_id=DEATH_11
-item_11_title=Vive la révolution
-item_11_comment=Los het bijbehorende einde op
-item_12_id=DEATH_12
-item_12_title=De wraak van Big Pharma
-item_12_comment=Los het bijbehorende einde op
-item_13_id=DEATH_13
-item_13_title=Instantdiëet
-item_13_comment=Los het bijbehorende einde op
-item_14_id=DEATH_14
-item_14_title=Voorzichtig, natte vloer
-item_14_comment=Los het bijbehorende einde op
-item_15_id=DEATH_15
-item_15_title=Dat is geen broodrooster
-item_15_comment=Los het bijbehorende einde op
-item_16_id=DEATH_16
-item_16_title=Best ironisch
-item_16_comment=Los het bijbehorende einde op
-item_17_id=DEATH_17
-item_17_title=We zullen uiteindelijk sterven
-item_17_comment=Los het bijbehorende einde op
-item_18_id=DEATH_18
-item_18_title=The amazing spider-death
-item_18_comment=Los het bijbehorende einde op
-item_19_id=DEATH_19
-item_19_title=Onder de zee
-item_19_comment=Los het bijbehorende einde op
-item_20_id=DEATH_20
-item_20_title=Zure regen
-item_20_comment=Los het bijbehorende einde op
-item_21_id=DEATH_21
-item_21_title=Frank Grimes
-item_21_comment=Los het bijbehorende einde op
-item_22_id=DEATH_22
-item_22_title=De laatste maaltijd
-item_22_comment=Los het bijbehorende einde op
-item_23_id=DEATH_23
-item_23_title=Belle heeft het beest gedood
-item_23_comment=Los het bijbehorende einde op
-item_24_id=DEATH_24
-item_24_title=Bang van clowns
-item_24_comment=Los het bijbehorende einde op
-item_25_id=DEATH_25
-item_25_title=Ik heb het koud
-item_25_comment=Los het bijbehorende einde op
-item_26_id=DEATH_26
-item_26_title=Schimmelig
-item_26_comment=Los het bijbehorende einde op
-item_27_id=DEATH_27
-item_27_title=Met de gefrituurde peren zitten
-item_27_comment=Los het bijbehorende einde op
-item_28_id=DEATH_28
-item_28_title=Naontsteking
-item_28_comment=Los het bijbehorende einde op
-item_29_id=DEATH_29
-item_29_title=Ik heb liever de touchpad
-item_29_comment=Los het bijbehorende einde op
-item_30_id=AVID_READER
-item_30_title=Boekenwurm
-item_30_comment=Lees alle boekartikelen
-item_31_id=TUTORIAL
-item_31_title=Voor dummies
-item_31_comment=Voltooi de training
-item_32_id=CREDITS
-item_32_title=Aangenaam sobere aftiteling
-item_32_comment=Bekijk de aftiteling tot het einde
-item_33_id=HEAD_BUMP
-item_33_title=Let op je hoofd
-item_33_comment=Stoot je hoofd op een niet-dodelijke manier
-item_34_id=LETTERS
-item_34_title=Geheime aanbidder
-item_34_hidden=true
-item_35_id=FLAMETHROWER
-item_35_title=Hank Scorpio
-item_35_hidden=true
-item_36_id=100_METERS
-item_36_title=Couch-potato
-item_36_comment=Loop 100 meter
-item_37_id=500_METERS
-item_37_title=Licht actief
-item_37_comment=Loop 500 meter
-item_38_id=1500_METERS
-item_38_title=Fitness is een levenswijze
-item_38_comment=Loop 1500 meter
-item_39_id=5000_METERS
-item_39_title=Runner's high
-item_39_comment=Loop 5 kilometer
-item_40_id=NECKTIE
-item_40_title=Modepolitie
-item_40_comment=Scheur en verbrand de stropdas
-item_41_id=ANIMAL_HATER
-item_41_title=Engel des doods
-item_41_comment=Dood alle levende wezens in één enkel potje
-item_42_id=REPEAT_DEATHS
-item_42_title=Sadistische speler
-item_42_comment=Herhaal ten minste één sterfgeval
diff --git a/devtools/create_achievements/gen/steam-1270590.ini b/devtools/create_achievements/gen/steam-1270590.ini
index 6c854dc72b..ad5c9c9412 100644
--- a/devtools/create_achievements/gen/steam-1270590.ini
+++ b/devtools/create_achievements/gen/steam-1270590.ini
@@ -1,9 +1,11 @@
 [achievements:en]
 item_0_id=SAFE_CRACKER
 item_0_title=Safe Cracker
+item_0_comment=You opened Daisie's safe
 item_0_hidden=true
 item_1_id=HACKER
 item_1_title=A real Hacker!
+item_1_comment=You Hacked Into Daisie's Email
 item_1_hidden=true
 item_2_id=TANJAS_WAY
 item_2_title=Tanja's Way
@@ -26,59 +28,3 @@ item_7_comment=You have successfully detected the crime and caught all the suspe
 item_8_id=SOCIABLE
 item_8_title=Sociable
 item_8_comment=You got to know all the characters in the game!
-[achievements:zh_CN]
-item_0_id=SAFE_CRACKER
-item_0_title=做得很棒!
-item_0_hidden=true
-item_1_id=HACKER
-item_1_title=一个真正的黑客
-item_1_hidden=true
-item_2_id=TANJAS_WAY
-item_2_title=你喜欢她吗?
-item_2_comment=你要给塔尼亚文件
-item_3_id=JENNYS_WAY
-item_3_title=你喜欢她吗?
-item_3_comment=你要给燕妮文件
-item_4_id=DATING_WITH_TANJA
-item_4_title=哇塞!
-item_4_comment=你能够设法约塔尼亚出去。
-item_5_id=DATING_WITH_JENNY
-item_5_title=哇塞!
-item_5_comment=你能够设法约燕妮出去。
-item_6_id=RELIABLE
-item_6_title=很好!
-item_6_comment=你有了黛西房子的钥匙。
-item_7_id=HERO_OF_THE_DAY
-item_7_title=很厉害!
-item_7_comment=你能够侦查罪行而抓住到嫌疑人!
-item_8_id=SOCIABLE
-item_8_title=做得很好!
-item_8_comment=你认识了游戏所有的角色!
-[achievements:hu_HU]
-item_0_id=SAFE_CRACKER
-item_0_title=Kasszafúró
-item_0_hidden=true
-item_1_id=HACKER
-item_1_title=Mint a filmekben!
-item_1_hidden=true
-item_2_id=TANJAS_WAY
-item_2_title=Tanja kezébe
-item_2_comment=Tanjának adtad a hiányzó aktát
-item_3_id=JENNYS_WAY
-item_3_title=Jenny kezébe
-item_3_comment=Jenny-nek adtad a hiányzó aktát
-item_4_id=DATING_WITH_TANJA
-item_4_title=Tánc Tanjával
-item_4_comment=Randira hívtad Tanját
-item_5_id=DATING_WITH_JENNY
-item_5_title=Találka Jennyvel
-item_5_comment=Randira hívtad Jennyt
-item_6_id=RELIABLE
-item_6_title=Jó modor
-item_6_comment=A kulccsal jutottál be Daisie lakásába
-item_7_id=HERO_OF_THE_DAY
-item_7_title=A nap hőse!
-item_7_comment=Megoldottad az ügyet és elkaptad az összes rosszfiút
-item_8_id=SOCIABLE
-item_8_title=Szociális
-item_8_comment=A játék minden karakterével megismerkedtél.
diff --git a/devtools/create_achievements/gen/steam-253110.ini b/devtools/create_achievements/gen/steam-253110.ini
index ad1c84fa15..48c433d911 100644
--- a/devtools/create_achievements/gen/steam-253110.ini
+++ b/devtools/create_achievements/gen/steam-253110.ini
@@ -22,55 +22,73 @@ item_6_title=Chapter 7 Completed!
 item_6_comment=Complete the final chapter.
 item_7_id=REWARD
 item_7_title=The Great Reward
+item_7_comment=Solve Crow's riddle in Chapter 2.
 item_7_hidden=true
 item_8_id=SCRATCH
 item_8_title=Sharp Scratch
+item_8_comment=Use the spear to kill Doctor X in Chapter 2.
 item_8_hidden=true
 item_9_id=MACE
 item_9_title=A Lady With A Mace
+item_9_comment=Use the mace to kill Doctor X in Chapter 2.
 item_9_hidden=true
 item_10_id=UNBREAKABLE
 item_10_title=Unbreakable
+item_10_comment=Keep your cool throughout Chapter 3.
 item_10_hidden=true
 item_11_id=LISTENED
 item_11_title=I Listened
+item_11_comment=Answer Liz's questions correctly in Chapter 2.
 item_11_hidden=true
 item_12_id=MAGGOTS
 item_12_title=Follow the Maggots
+item_12_comment=Trust the Queen of Maggots in Chapter 1.
 item_12_hidden=true
 item_13_id=MY_WAY
 item_13_title=I'll Do It My Way
+item_13_comment=Disregard the Queen of Maggots in Chapter 1.
 item_13_hidden=true
 item_14_id=F_YOU
 item_14_title=Go Fuck Yourself
+item_14_comment=Stand up to Bryan in Chapter 3.
 item_14_hidden=true
 item_15_id=NETTLES
 item_15_title=Nettles
+item_15_comment=Choose your words carefully in Chapter 5.
 item_15_hidden=true
 item_16_id=WELCOME
 item_16_title=You're Welcome
+item_16_comment=Buy time for Jesse in Chapter 6.
 item_16_hidden=true
 item_17_id=SCARED
 item_17_title=Scared of Dying
+item_17_comment=Hold tight to your gas mask in Chapter 7.
 item_17_hidden=true
 item_18_id=SACRIFICE
 item_18_title=Sacrifice
+item_18_comment=Give up your gas mask in Chapter 7.
 item_18_hidden=true
 item_19_id=KILLER
 item_19_title=A Ruthless Killer
+item_19_comment=Let Mitzi kill The Eye of Adam in Chapter 7.
 item_19_hidden=true
 item_20_id=CARE
 item_20_title=I Care About You
+item_20_comment=Prevent Mitzi from killing The Eye of Adam in Chapter 7.
 item_20_hidden=true
 item_21_id=REVENGE
 item_21_title=Revenge
+item_21_comment=Kill The Eye of Adam yourself in Chapter 7.
 item_21_hidden=true
 item_22_id=SUNFLOWER
 item_22_title=A Flower That Bent Towards the Sun
+item_22_comment=Unlock the secret "golden ending".
 item_22_hidden=true
 item_23_id=MONSTER
 item_23_title=Monster In the Fog
+item_23_comment=Don't give up on the foggy orchard in Chapter 4.
 item_23_hidden=true
 item_24_id=CLEAVER
 item_24_title=How Very Cleaver
+item_24_comment=Stay away from Gladys' cleaver in Chapter 4.
 item_24_hidden=true
diff --git a/devtools/create_achievements/gen/steam-257690.ini b/devtools/create_achievements/gen/steam-257690.ini
index ec6115a874..da45827ada 100644
--- a/devtools/create_achievements/gen/steam-257690.ini
+++ b/devtools/create_achievements/gen/steam-257690.ini
@@ -7,6 +7,7 @@ item_1_title=Observant player
 item_1_comment=You've obtained your first Mind'o'Matic.
 item_2_id=ACHI_JUNGLE
 item_2_title=Explorer
+item_2_comment=You've explored every single place in a jungle.
 item_2_hidden=true
 item_3_id=ACHI_HACKER
 item_3_title=Hacker
@@ -19,18 +20,22 @@ item_5_title=Traveller
 item_5_comment=You have visited all the planets.
 item_6_id=ACHI_LUDITE
 item_6_title=Luddite
+item_6_comment=You managed to go through the game without building an analytic upgrade
 item_6_hidden=true
 item_7_id=ACHI_SCIENTIST
 item_7_title=Real scientist
 item_7_comment=You've analyzed every single object in the game.
 item_8_id=ACHI_PLAT1
 item_8_title=Pacifist
+item_8_comment=You've decided to save life.
 item_8_hidden=true
 item_9_id=ACHI_PLAT2
 item_9_title=Science over all
+item_9_comment=You've decided that science is more important than life.
 item_9_hidden=true
 item_10_id=ACHI_PLAT3
 item_10_title=Apathy
+item_10_comment=You let the creature die. Why should you care, anyway?
 item_10_hidden=true
 item_11_id=ACHI_FIRST
 item_11_title=First contact
@@ -46,21 +51,27 @@ item_14_title=Plumber
 item_14_comment=You repaired the probe. The result is that you won't probably die.
 item_15_id=ACHI_XIR1
 item_15_title=Deadly Xir
+item_15_comment=You let Xir kill Mobot.
 item_15_hidden=true
 item_16_id=ACHI_XIR2
 item_16_title=Xir Destroyer
+item_16_comment=You let Xir kill Mobot 5 times.
 item_16_hidden=true
 item_17_id=ACHI_XIR3
 item_17_title=Xir the Invincible
+item_17_comment=You let Xir kill Mobot 10 times.
 item_17_hidden=true
 item_18_id=ACHI_XIR4
 item_18_title=Jaeger
+item_18_comment=You managed to erradicate Xir.
 item_18_hidden=true
 item_19_id=ACHI_SCHI
 item_19_title=Dreamer
+item_19_comment=You've just returned from the temple. Was it real?
 item_19_hidden=true
 item_20_id=ACHI_NIBIRU
 item_20_title=Artificial planet
+item_20_comment=You've discovered a secret planet in the Solar system.
 item_20_hidden=true
 item_21_id=ACHI_FULLMIND
 item_21_title=Great mind
@@ -70,52 +81,68 @@ item_22_title=Completist
 item_22_comment=You have completed everything, the game had to offer.
 item_23_id=ACHI_END1
 item_23_title=Homesick
+item_23_comment=You've decided to return to the Earth.
 item_23_hidden=true
 item_24_id=ACHI_END2
 item_24_title=Adventurous
+item_24_comment=You've decided to stay and help Ambrosians.
 item_24_hidden=true
 item_25_id=ACHI_TRAPPER
 item_25_title=Trapper
+item_25_comment=You trapped the oceanic creature.
 item_25_hidden=true
 item_26_id=ACHI_DECRYPT
 item_26_title=Cryptoanalyst
+item_26_comment=You decrypted a substitution cypher.
 item_26_hidden=true
 item_27_id=ACHI_CREDITS
 item_27_title=Voyeur
+item_27_comment=You've discovered Mobot's secret hobby.
 item_27_hidden=true
 item_28_id=ACHI_SCAN
 item_28_title=Methodical
 item_28_comment=You scanned all the planets.
 item_29_id=ACHI_CORDES
 item_29_title=Unexpected visitor
+item_29_comment=Was that an Asylum?
 item_29_hidden=true
 item_30_id=ACHI_UNT_START
 item_30_title=Untold: Hungry for more?
+item_30_comment=You want to learn more about the past.
 item_30_hidden=true
 item_31_id=ACHI_UNT_BLUE
 item_31_title=Untold: Blue solved
+item_31_comment=Solve the whole blue cluster
 item_31_hidden=true
 item_32_id=ACHI_UNT_RED
 item_32_title=Untold: Red solved
+item_32_comment=Solve the whole red cluster
 item_32_hidden=true
 item_33_id=ACHI_UNT_PURPLE
 item_33_title=Untold: Purple solved
+item_33_comment=Solve the whole purple cluster
 item_33_hidden=true
 item_34_id=ACHI_UNT_GREEN
 item_34_title=Untold: Green solved
+item_34_comment=Solve the whole green cluster
 item_34_hidden=true
 item_35_id=ACHI_UNT_YELLOW
 item_35_title=Untold: Yellow solved
+item_35_comment=Solve the whole yellow cluster
 item_35_hidden=true
 item_36_id=ACHI_UNT_WIRELESS
 item_36_title=Untold: Go wireless
+item_36_comment=Obtain wireless connector
 item_36_hidden=true
 item_37_id=ACHI_UNT_BLINDER
 item_37_title=Untold: Blinder
+item_37_comment=Obtain a blinder
 item_37_hidden=true
 item_38_id=ACHI_UNT_AMPLIFIER
 item_38_title=Untold: Amplifier
+item_38_comment=Obtain connection amplifier
 item_38_hidden=true
 item_39_id=ACHI_UNT_FINISHED
 item_39_title=Untold: You know the story
+item_39_comment=You've completed the game
 item_39_hidden=true
diff --git a/devtools/create_achievements/gen/steam-264560.ini b/devtools/create_achievements/gen/steam-264560.ini
index ba3172c6cb..4471da486c 100644
--- a/devtools/create_achievements/gen/steam-264560.ini
+++ b/devtools/create_achievements/gen/steam-264560.ini
@@ -25,6 +25,7 @@ item_7_title=Simply the Best
 item_7_comment=You defeated every random monster in the Valley of Krasna.
 item_8_id=qfi_swamp
 item_8_title=Let there be Light
+item_8_comment=Using your brains for a change, as well as some fireflies and a jar, you created light in the swamp.
 item_8_hidden=true
 item_9_id=qfi_boardgame
 item_9_title=Puzzles are Hard!
@@ -37,18 +38,22 @@ item_11_title=Perfect!
 item_11_comment=You achieved a perfect score in archery.
 item_12_id=qfi_voleris
 item_12_title=Staked Your Claim
+item_12_comment=You attempted to woo Voleris by giving her a really nice dagger.
 item_12_hidden=true
 item_13_id=qfi_tent
 item_13_title=Pitched Your Tent
+item_13_comment=You stopped sleeping under the stars and bought a tent to sleep in.
 item_13_hidden=true
 item_14_id=qfi_pisshead
 item_14_title=Pisshead
+item_14_comment=You pissed on the carpet AND the beast! We love you.
 item_14_hidden=true
 item_15_id=qfi_healer
 item_15_title=Thankfully there's a healer nearby
 item_15_comment=You thought you were dead for a moment there, but you woke up in Jerrod's feeling much better.
 item_16_id=qfi_useless
 item_16_title=Collector of Useless Crap
+item_16_comment=You bought the Diamond Tipped Crowbar and the Holy Symbol even though there was no use for them in the game.
 item_16_hidden=true
 item_17_id=qfi_sorcerer2
 item_17_title=Pretty Good Sorcerer
@@ -61,6 +66,7 @@ item_19_title=Min / Maxed
 item_19_comment=You raised your combat skills to 100. That took a lot of effort so, really, well done you.
 item_20_id=qfi_coned
 item_20_title=You Got Coned
+item_20_comment=You passed out from drinking and woke up with a traffic cone in your inventory.
 item_20_hidden=true
 item_21_id=qfi_beastmaster
 item_21_title=Beast Master
@@ -70,15 +76,19 @@ item_22_title=Sir Chat-A-Lot
 item_22_comment=You talked with everyone in Volksville you needed to speak with to progress to the execution.
 item_23_id=qfi_clockwatcher
 item_23_title=Clock Watcher
+item_23_comment=You waited the full 15 minutes just lazing around Volksville and the valley before you went to the execution.
 item_23_hidden=true
 item_24_id=qfi_burn
 item_24_title=Burn Baby Burn
+item_24_comment=You burnt down the oak tree in the grasslands just to get an owl feather. We approve.
 item_24_hidden=true
 item_25_id=qfi_gorthdead
 item_25_title=He Deserved It
+item_25_comment=You executed Gorth after your fight with him.
 item_25_hidden=true
 item_26_id=qfi_gorthmercy
 item_26_title=Toast of the Town
+item_26_comment=You showed Gorth some mercy, deciding that killing him was too much.
 item_26_hidden=true
 item_27_id=qfi_thievesden
 item_27_title=You Found It
@@ -91,88 +101,114 @@ item_29_title=Horse Lover
 item_29_comment=You found and delivered mastadon to Kurdt, your first real task on the path of the Brigand.
 item_30_id=qfi_apple
 item_30_title=Over an apple?
+item_30_comment=You killed the farmer just to get an apple from his orchard.
 item_30_hidden=true
 item_31_id=qfi_seal
 item_31_title=Reuniting the Seal
+item_31_comment=You gathered the four parts of the Killington seal and locked them together.
 item_31_hidden=true
 item_32_id=qfi_japsworth
 item_32_title=Good Old Stories
+item_32_comment=You met Japsworth and listened to his stories about the Killington family.
 item_32_hidden=true
 item_33_id=qfi_reading
 item_33_title=Reading is fundamental
+item_33_comment=You read the books in the library of Tyr and discovered the legacy of the Killingtons.
 item_33_hidden=true
 item_34_id=qfi_payhunter
 item_34_title=Paying for information
+item_34_comment=You paid the hunter to give you information on the moonshiner's whereabouts.
 item_34_hidden=true
 item_35_id=qfi_feedhunter
 item_35_title=Paying with food
+item_35_comment=You gave food to the hunter to give you information on the moonshiner's whereabouts.
 item_35_hidden=true
 item_36_id=qfi_assistant
 item_36_title=He dropped the moonshine!
+item_36_comment=You killed the moonshiner's assistant, probably because he dropped some moonshine.
 item_36_hidden=true
 item_37_id=qfi_shaking
 item_37_title=Stop Shaking Me
+item_37_comment=You roughed up the moonshiner so he would pay Rayford his due.
 item_37_hidden=true
 item_38_id=qfi_destroymoonshiner
 item_38_title=Break, Rattle and Roll
+item_38_comment=You destroyed the moonshiners equipment. He should pay his accounts, even if it is to a bastard like Rayford.
 item_38_hidden=true
 item_39_id=qfi_slaver
 item_39_title=A Regular Wilberforce
+item_39_comment=You killed the slave trader in his bed.
 item_39_hidden=true
 item_40_id=qfi_robes
 item_40_title=Green is the new white
+item_40_comment=Using your dyed green cloak, you managed to get into the Morroi compound.
 item_40_hidden=true
 item_41_id=qfi_sewers
 item_41_title=Sewer Rat
+item_41_comment=You reached the Morroi compound by trekking through the sewers in the swamp.
 item_41_hidden=true
 item_42_id=qfi_uotarragh
 item_42_title=What's his name again?
+item_42_comment=You killed the leader of the Morroi, Uotarragh in hand to multiple hand combat.
 item_42_hidden=true
 item_43_id=qfi_blackbird
 item_43_title=Blackbird No Longer Singing
 item_43_comment=You stole the bird while travelling the path of the Rogue.
 item_44_id=qfi_necromancer
 item_44_title=It's not easy being green
+item_44_comment=You completed the necromancer quest, gathering the body parts to help her create her ultimate lover.
 item_44_hidden=true
 item_45_id=qfi_kraken
 item_45_title=Kraken Good Times
+item_45_comment=You defeated the Kraken in the dwarven mines.
 item_45_hidden=true
 item_46_id=qfi_dwarf
 item_46_title=You look like a dwarf
 item_46_comment=You looted every available container, drum and stash in the mines.
 item_47_id=qfi_ambusheasy
 item_47_title=You picked ... the easy way
+item_47_comment=You took out the caravan while travelling the Brigand's path, but you did it the easy way.
 item_47_hidden=true
 item_48_id=qfi_ambushhard
 item_48_title=You picked ... the hard way
+item_48_comment=You took out the caravan while travelling the Brigand's path, and you did it the hard way.
 item_48_hidden=true
 item_49_id=qfi_bigd
 item_49_title=I know the way
+item_49_comment=You escorted Big D to his destination, as part of your journey on the Brigand's path.
 item_49_hidden=true
 item_50_id=qfi_thiefhouses
 item_50_title=Expert Thief
 item_50_comment=You broke into all the houses you could.
 item_51_id=qfi_paw
 item_51_title=Poor Paw
+item_51_comment=You drained Markus' head of it's blood, then came back and stole his brain!
 item_51_hidden=true
 item_52_id=qfi_jan
 item_52_title=Jan loves you
+item_52_comment=You convinced Jan to help you get into Tyr and overthrow Rayford.
 item_52_hidden=true
 item_53_id=qfi_arrows
 item_53_title=An Arrow through your heart
+item_53_comment=You rescued the Tyr's Arrow's during the siege of Tyr, making you job of getting to Rayford a bit easier.
 item_53_hidden=true
 item_54_id=qfi_paladin
 item_54_title=A Paladin loves you
+item_54_comment=You freed all the prisoners from Rayford's dungeon and they helped you during the siege of Tyr.
 item_54_hidden=true
 item_55_id=qfi_council
 item_55_title=Friends in high places
+item_55_comment=You rescued the council of Tyr and they helped you to retake the city from Rayford and his lackeys.
 item_55_hidden=true
 item_56_id=qfi_smoked
 item_56_title=Smoked!
+item_56_comment=You used the green smoke bombs you obtained from Jerrod to help get into Tyr.
 item_56_hidden=true
 item_57_id=qfi_rayfordkill
 item_57_title=That bastard deserved worse!
+item_57_comment=You killed Rayford after you final confrontation with him. He did deserve it after all.
 item_57_hidden=true
 item_58_id=qfi_rayfordjan
 item_58_title=Don't mess with a fat man
+item_58_comment=Showing mercy to Rayford after your final confrontation with him didn't really matter, because Jan raced in and finished him off anyway.
 item_58_hidden=true
diff --git a/devtools/create_achievements/gen/steam-270570.ini b/devtools/create_achievements/gen/steam-270570.ini
index e0a97fb338..84252c0273 100644
--- a/devtools/create_achievements/gen/steam-270570.ini
+++ b/devtools/create_achievements/gen/steam-270570.ini
@@ -1,6 +1,7 @@
 [achievements:en]
 item_0_id=ACHIEVEMENT_SEDANTE
 item_0_title=Sweet Dreams
+item_0_comment=Everyone loves a good sleep
 item_0_hidden=true
 item_1_id=ACHIEVEMENT_CHISTOSO
 item_1_title=Funny Man
@@ -10,12 +11,14 @@ item_2_title=The Riddle
 item_2_comment=Finish the game without using the hint system
 item_3_id=ACHIEVEMENT_GUARDIA_ENCINTADO
 item_3_title=The Caterpillar
+item_3_comment=Make a duct tape caterpillar
 item_3_hidden=true
 item_4_id=ACHIEVEMENT_TERMINAR_JUEGO
 item_4_title=The Escapist
 item_4_comment=Escape from the hospital and finish the game
 item_5_id=ACHIEVEMENT_HACER_FUEGO
 item_5_title=Incendiary
+item_5_comment=Start a fire
 item_5_hidden=true
 item_6_id=ACHIEVEMENT_HABLAR_CON_CHICA_ANTES_DE_DARLE_LA_FOTO
 item_6_title=Lady Killer
@@ -25,21 +28,25 @@ item_7_title=The perfect escapist
 item_7_comment=Finish the game for a second time
 item_8_id=ACHIEVEMENT_INSISTENTE
 item_8_title=Nuisance guy
+item_8_comment=Make someone angry with you
 item_8_hidden=true
 item_9_id=ACHIEVEMENT_INTRODUCCION
 item_9_title=Introduction
 item_9_comment=Start a new game
 item_10_id=ACHIEVEMENT_LLAVE_DEPOSITO
 item_10_title=GateKeeper
+item_10_comment=Find the key to the storage
 item_10_hidden=true
 item_11_id=ACHIEVEMENT_DESMAYAR_GUARDIA_MATAFUEGOS
 item_11_title=Off down!
+item_11_comment=Watch out for things falling on your head
 item_11_hidden=true
 item_12_id=ACHIEVEMENT_PALO_GUARDIA
 item_12_title=Big Stick
 item_12_comment=Grab the baseball bat
 item_13_id=ACHIEVEMENT_ENGANCHA_SOGA
 item_13_title=Perfect escape
+item_13_comment=Learn How to Rappel
 item_13_hidden=true
 item_14_id=ACHIEVEMENT_HABLAR_RATA
 item_14_title=The Piper
diff --git a/devtools/create_achievements/gen/steam-281060.ini b/devtools/create_achievements/gen/steam-281060.ini
index 22c1111832..aa702cfaeb 100644
--- a/devtools/create_achievements/gen/steam-281060.ini
+++ b/devtools/create_achievements/gen/steam-281060.ini
@@ -4,54 +4,67 @@ item_0_title=Introduction
 item_0_comment=Start a new game
 item_1_id=ACHIEVEMENT_PABLO
 item_1_title=Mystery man
+item_1_comment=Talk to Strangers
 item_1_hidden=true
 item_2_id=ACHIEVEMENT_ESTACIONES_SUBTE
 item_2_title=Subway Maraude
 item_2_comment=Take a stroll through the subway
 item_3_id=ACHIEVEMENT_PUERTA_SECRETA
 item_3_title=Secret Door
+item_3_comment=Find the secret passage
 item_3_hidden=true
 item_4_id=ACHIEVEMENT_BULLSEYE
 item_4_title=Bullseye
 item_4_comment=Resolve the subway puzzle on your first attempt
 item_5_id=ACHIEVEMENT_MECANICO
 item_5_title=The Mechanic
+item_5_comment=Take the battery from the car
 item_5_hidden=true
 item_6_id=ACHIEVEMENT_ELECTRISISTA
 item_6_title=The Electrician
+item_6_comment=Why does the electronic never work?
 item_6_hidden=true
 item_7_id=ACHIEVEMENT_CARPINTERO
 item_7_title=The Carpenter
+item_7_comment=Build an unbreakable shovel
 item_7_hidden=true
 item_8_id=ACHIEVEMENT_TOMB_RAIDER
 item_8_title=Tomb Raider
+item_8_comment=Searching for a clue
 item_8_hidden=true
 item_9_id=ACHIEVEMENT_INFORMANTE
 item_9_title=The Informant
+item_9_comment=Find the right guy
 item_9_hidden=true
 item_10_id=ACHIEVEMENT_PASTELITO_EXPLOSIVO
 item_10_title=Exploding Candy
+item_10_comment=Are you feeling an urge?
 item_10_hidden=true
 item_11_id=ACHIEVEMENT_PASTELITO_SEDANTE
 item_11_title=Sleeping Candy
+item_11_comment=Not the best type of candy
 item_11_hidden=true
 item_12_id=ACHIEVEMENT_RECORDANDO
 item_12_title=Remembering
+item_12_comment=Discover who you are
 item_12_hidden=true
 item_13_id=ACHIEVEMENT_ESPANTA_MOSCAS
 item_13_title=Flier Shoosh
+item_13_comment=Find a secret message
 item_13_hidden=true
 item_14_id=ACHIEVEMENT_ESTUDIANTE
 item_14_title=The Student
 item_14_comment=Visit the house of knowledge
 item_15_id=ACHIEVEMENT_ACOMODADOR
 item_15_title=Usher
+item_15_comment=I can see in the dark
 item_15_hidden=true
 item_16_id=ACHIEVEMENT_BAJANDO_AGUA
 item_16_title=Lowering Water
 item_16_comment=Find the right combination
 item_17_id=ACHIEVEMENT_PUERTA_LABORATORIO
 item_17_title=The final door
+item_17_comment=Almost at the finish line
 item_17_hidden=true
 item_18_id=ACHIEVEMENT_FINAL
 item_18_title=Winner
@@ -61,6 +74,7 @@ item_19_title=Subway Erudite
 item_19_comment=You know all the stations by heart
 item_20_id=ACHIEVEMENT_LADRON
 item_20_title=Thief
+item_20_comment=The road to hell is paved with good intentions
 item_20_hidden=true
 item_21_id=ACHIEVEMENT_PALA_FRAGIL
 item_21_title=Broken Shovel
diff --git a/devtools/create_achievements/gen/steam-281080.ini b/devtools/create_achievements/gen/steam-281080.ini
index febaffe479..b7f30e49fd 100644
--- a/devtools/create_achievements/gen/steam-281080.ini
+++ b/devtools/create_achievements/gen/steam-281080.ini
@@ -1,109 +1,145 @@
 [achievements:en]
 item_0_id=ACHIEVEMENT_INTRODUCCION3
 item_0_title=Introduction
+item_0_comment=Start a new game
 item_0_hidden=true
 item_1_id=ACHIEVEMENT_HISTORIA_VICTORIA
 item_1_title=The orphan
+item_1_comment=Listen to Victoria’s shocking story
 item_1_hidden=true
 item_2_id=ACHIEVEMENT_CUPIDO
 item_2_title=Cupid
+item_2_comment=Help the unexpected couple find a little privacy
 item_2_hidden=true
 item_3_id=ACHIEVEMENT_BORRACHO
 item_3_title=Drinking buddy
+item_3_comment=Make the guard fall in love with the wine
 item_3_hidden=true
 item_4_id=ACHIEVEMENT_OSO_PELUCHE
 item_4_title=Teddy
+item_4_comment=Find out how to win the teddy bear
 item_4_hidden=true
 item_5_id=ACHIEVEMENT_HIT_THOSE_MOLES_2
 item_5_title=The fast and the furious
+item_5_comment=Win Hit Those Moles twice in a row
 item_5_hidden=true
 item_6_id=ACHIEVEMENT_HIT_THOSE_MOLES_5
 item_6_title=Addict
+item_6_comment=Win Hit Those Moles five times
 item_6_hidden=true
 item_7_id=ACHIEVEMENT_RATON_GOMA
 item_7_title=The elephant
+item_7_comment=Scare the elephant!
 item_7_hidden=true
 item_8_id=ACHIEVEMENT_MONO_ATACANDO
 item_8_title=Don’t feed the animals
+item_8_comment=Accidentally feed the zoo monkey
 item_8_hidden=true
 item_9_id=ACHIEVEMENT_MONO_ASUSTADO
 item_9_title=The planet of the apes
+item_9_comment=Shoo the monkey away!
 item_9_hidden=true
 item_10_id=ACHIEVEMENT_RESCATE_PABLO
 item_10_title=Rescuing Pablo
+item_10_comment=Rescue Pablo from the hands of Sergio’s minions
 item_10_hidden=true
 item_11_id=ACHIEVEMENT_HOME_SWEET_HOME
 item_11_title=Home sweet home
+item_11_comment=Reach your home, abandoned for 20 years
 item_11_hidden=true
 item_12_id=ACHIEVEMENT_LOCKSMITH
 item_12_title=Locksmith
+item_12_comment=Open the doors in your house’s corridor
 item_12_hidden=true
 item_13_id=ACHIEVEMENT_FLUX_CAPACITOR
 item_13_title=Back to the future
+item_13_comment=Find the Flux Capacitor
 item_13_hidden=true
 item_14_id=ACHIEVEMENT_VICTORIA_OCUPADA
 item_14_title=A very busy girl
+item_14_comment=Try to convince Victoria to join one of your missions
 item_14_hidden=true
 item_15_id=ACHIEVEMENT_FOTO_FLORENCIA
 item_15_title=Where there was fire
+item_15_comment=Find the photo of Florencia
 item_15_hidden=true
 item_16_id=ACHIEVEMENT_CRYSTAL_DISC
 item_16_title=Things to remember
+item_16_comment=Discover the crystal disc
 item_16_hidden=true
 item_17_id=ACHIEVEMENT_CENTRAL_COMUNICACIONES_SIN_CREDENCIAL_CORRECTA
 item_17_title=Admission rights
+item_17_comment=Try to enter the Communications Center without the proper ID card
 item_17_hidden=true
 item_18_id=ACHIEVEMENT_TANGO_CON_FLORENCIA
 item_18_title=To the rhythm of tango
+item_18_comment=Remember your tango days
 item_18_hidden=true
 item_19_id=ACHIEVEMENT_TURISTA
 item_19_title=Tourist
+item_19_comment=Visit all the scenes on the GPS map
 item_19_hidden=true
 item_20_id=ACHIEVEMENT_TANGO01
 item_20_title=Presidential plane
+item_20_comment=Someone confused the Tango with the Tango01
 item_20_hidden=true
 item_21_id=ACHIEVEMENT_PUERTO_MADERO_FLORENCIA
 item_21_title=Until death do us part
+item_21_comment=What happened to the girl of your dreams?
 item_21_hidden=true
 item_22_id=ACHIEVEMENT_CASA_ROSADA_MAIN_GATE
 item_22_title=The main gate
+item_22_comment=Try to enter the Casa Rosada through the main gate
 item_22_hidden=true
 item_23_id=ACHIEVEMENT_PARTES_ESTABILIZADOR
 item_23_title=The Pulse Stabilizer
+item_23_comment=Gather the five parts of the Pulse Stabilizer
 item_23_hidden=true
 item_24_id=ACHIEVEMENT_NICOLAS_TIENE_TODO
 item_24_title=Back to the past
+item_24_comment=Give Nicolás everything he needs to complete the new time machine
 item_24_hidden=true
 item_25_id=ACHIEVEMENT_VIRUS_INSTALADO
 item_25_title=Phone home
+item_25_comment=Install the virus in the Communications Center
 item_25_hidden=true
 item_26_id=ACHIEVEMENT_ATRAPADO
 item_26_title=This is going to leave a mark
+item_26_comment=You have been caught by Sergio’s minions
 item_26_hidden=true
 item_27_id=ACHIEVEMENT_ESCAPAMOS
 item_27_title=A new hope
+item_27_comment=Escape from Sergio’s Cell
 item_27_hidden=true
 item_28_id=ACHIEVEMENT_ESCAPE_SERGIO
 item_28_title=No turning back
+item_28_comment=Sergio escapes the Casa Rosada
 item_28_hidden=true
 item_29_id=ACHIEVEMENT_CHOCOLATE
 item_29_title=Cóndor Chocolate
+item_29_comment=Find a tablet of the best chocolate in the world
 item_29_hidden=true
 item_30_id=ACHIEVEMENT_ATRAPAMOS_SERGIO
 item_30_title=Evil always pays
+item_30_comment=Capture Sergio and his minions
 item_30_hidden=true
 item_31_id=ACHIEVEMENT_SAN_MARTIN
 item_31_title=The Liberator
+item_31_comment=Meet with the General José Francisco de San Martín
 item_31_hidden=true
 item_32_id=ACHIEVEMENT_TIMING_R3
 item_32_title=Marathon Runner
+item_32_comment=Finish the game in less than 4 hours
 item_32_hidden=true
 item_33_id=ACHIEVEMENT_TERMINAR_SIN_PISTAS_R3
 item_33_title=Riddle Guy
+item_33_comment=Finish the game without using the hint system
 item_33_hidden=true
 item_34_id=ACHIEVEMENT_TERMINAR_JUEGO_R3
 item_34_title=Winner
+item_34_comment=Finish the game
 item_34_hidden=true
 item_35_id=ACHIEVEMENT_GANAR_2_VECES_R3
 item_35_title=Double Winner
+item_35_comment=Finish the game for a second time
 item_35_hidden=true
diff --git a/devtools/create_achievements/gen/steam-283180.ini b/devtools/create_achievements/gen/steam-283180.ini
index 143675de87..be5c782947 100644
--- a/devtools/create_achievements/gen/steam-283180.ini
+++ b/devtools/create_achievements/gen/steam-283180.ini
@@ -1,51 +1,65 @@
 [achievements:en]
 item_0_id=ACH_GREEN_FINGERS
 item_0_title=Green Fingers
+item_0_comment=Ord looked after the plant once.
 item_0_hidden=true
 item_1_id=ACH_HOBBY_BOTANIST
 item_1_title=Hobby Botanist
+item_1_comment=Ord looked after the plant twice.
 item_1_hidden=true
 item_2_id=ACH_LIFE_GIVER
 item_2_title=Life Giver
+item_2_comment=Ord looked after the plant three times.
 item_2_hidden=true
 item_3_id=ACH_WISHER
 item_3_title=Wisher
+item_3_comment=Ord threw a coin in the fountain.
 item_3_hidden=true
 item_4_id=ACH_RESISTING_RAPTURE
 item_4_title=Resisting the Rapture
+item_4_comment=Ord debated the homeless prophet.
 item_4_hidden=true
 item_5_id=ACH_JOCKEYING_DISCS
 item_5_title=Jockeying the Discs
+item_5_comment=Played a song on the jukebox.
 item_5_hidden=true
 item_6_id=ACH_GOT_YOUR_BACK
 item_6_title=I Got Your Back
+item_6_comment=Ord told Veronika that he didn't turn her in.
 item_6_hidden=true
 item_7_id=ACH_CLUE_FINDER
 item_7_title=Clue Finder
+item_7_comment=Ord used the library to find information about the first fairy tale riddle.
 item_7_hidden=true
 item_8_id=ACH_NO_QUARTER
 item_8_title=No Quarter
+item_8_comment=Freja killed Surt in the prison cell.
 item_8_hidden=true
 item_9_id=ACH_ELEMENTORY_SALOMON
 item_9_title=Elementory, My Dear Salomon
+item_9_comment=Ord solved the first periodic table puzzle.
 item_9_hidden=true
 item_10_id=ACH_LET_BE_LIGHT
 item_10_title=Let There Be Light
+item_10_comment=Ord solved the horse puzzle with the spotlight turned on.
 item_10_hidden=true
 item_11_id=ACH_BOOK_COLLECTOR
 item_11_title=Book Collector
 item_11_comment=Ord found the first chapter.
 item_12_id=ACH_TREASURE_HUNTER
 item_12_title=Treasure Hunter
+item_12_comment=Ord managed to open the chest in the cabin.
 item_12_hidden=true
 item_13_id=ACH_INFILTRATOR
 item_13_title=Infiltrator
+item_13_comment=Ord managed to sneak into the sacristy.
 item_13_hidden=true
 item_14_id=ACH_BOOK_COLLECTOR_II
 item_14_title=Book Collector, Level II
 item_14_comment=Ord found the second chapter.
 item_15_id=ACH_SCRATCH_SURFACE
 item_15_title=Scratching the Surface
+item_15_comment=Ord used paper and charcoal to read the carved message.
 item_15_hidden=true
 item_16_id=ACH_BOOK_COLLECTOR_III
 item_16_title=Book Collector, Level III
diff --git a/devtools/create_achievements/gen/steam-283880.ini b/devtools/create_achievements/gen/steam-283880.ini
index 77642a5f9c..6983a39ed6 100644
--- a/devtools/create_achievements/gen/steam-283880.ini
+++ b/devtools/create_achievements/gen/steam-283880.ini
@@ -134,732 +134,48 @@ item_33_title=Shadows of Darkness
 item_33_comment=Deliver the svartalf crystal
 item_34_id=HQ39
 item_34_title=Braugging Rights
+item_34_comment=Defeat Brauggi
 item_34_hidden=true
 item_35_id=HQ41
 item_35_title=Your Bloom is at Hand!
+item_35_comment=Befriend Ratatosk
 item_35_hidden=true
 item_36_id=HQ42
 item_36_title=Where it All Began
+item_36_comment=Get slain by Elsa
 item_36_hidden=true
 item_37_id=HQ43
 item_37_title=A POIsonous Achievement!
+item_37_comment=You've waited 24 years to do this!
 item_37_hidden=true
 item_38_id=HQ44
 item_38_title=Most IMPressive
+item_38_comment=Get killed in Quest For Yrolg
 item_38_hidden=true
 item_39_id=HQ45
 item_39_title=In Loving Memory
+item_39_comment=Find the Hero6 room
 item_39_hidden=true
 item_40_id=HQ46
 item_40_title=Home is where the Heart Lies
+item_40_comment=Find Radiant's room
 item_40_hidden=true
 item_41_id=HQ47
 item_41_title=Another Head Hangs Lowly
+item_41_comment=Defeat Dolores
 item_41_hidden=true
 item_42_id=HQ48
 item_42_title=Wi n0t trei a h0liday in Sweden this yer?
+item_42_comment=Mynd you, m00se bites Kan be pretti nasti...
 item_42_hidden=true
 item_43_id=HQ49
 item_43_title=Menace to Society
 item_43_comment=Spend your life in jail
 item_44_id=HQ53
 item_44_title=Don't Lose Your Head
+item_44_comment=Get decapitated in combat
 item_44_hidden=true
 item_45_id=HQ52
 item_45_title=Dark and Troubled
-item_45_hidden=true
-[achievements:fr_FR]
-item_0_id=HQ01
-item_0_title=L'Initiation
-item_0_comment=Trouvez votre premier repas
-item_1_id=HQ02
-item_1_title=Apprentie Guerrière
-item_1_comment=Atteignez le chapitre 2 en tant que guerrière
-item_2_id=HQ03
-item_2_title=Guerrière Adepte
-item_2_comment=Atteignez le chapitre 3 en tant que guerrière
-item_3_id=HQ04
-item_3_title=Maîtresse Guerrière
-item_3_comment=Atteignez le chapitre 4 en tant que guerrière
-item_4_id=HQ05
-item_4_title=Guerrière Légendaire
-item_4_comment=Terminez le jeu en tant que guerrière
-item_5_id=HQ06
-item_5_title=Paladin
-item_5_comment=Obtenez Balmung
-item_6_id=HQ07
-item_6_title=Guerrière Ultime
-item_6_comment=Atteignez le score maximum en tant que guerrière
-item_7_id=HQ08
-item_7_title=Apprentie Magicienne
-item_7_comment=Atteignez le chapitre 2 en tant que magicienne
-item_8_id=HQ09
-item_8_title=Magicienne Adepte
-item_8_comment=Atteignez le chapitre 3 en tant que magicienne
-item_9_id=HQ10
-item_9_title=Maîtresse Magicienne
-item_9_comment=Atteignez le chapitre 4 en tant que magicienne
-item_10_id=HQ11
-item_10_title=Magicienne Légendaire
-item_10_comment=Terminez le jeu en tant que magicienne
-item_11_id=HQ12
-item_11_title=Archimage
-item_11_comment=Apprendre le sort de foudre
-item_12_id=HQ13
-item_12_title=Magicienne Ultime
-item_12_comment=Atteignez le score maximum en tant que magicienne
-item_13_id=HQ14
-item_13_title=Apprentie Voleuse
-item_13_comment=Atteignez le chapitre 2 en tant que voleuse
-item_14_id=HQ15
-item_14_title=Voleuse Adepte
-item_14_comment=Atteignez le chapitre 3 en tant que voleuse
-item_15_id=HQ16
-item_15_title=Maîtresse Voleuse
-item_15_comment=Atteignez le chapitre 4 en tant que voleuse
-item_16_id=HQ17
-item_16_title=Voleuse Légendaire
-item_16_comment=Terminez le jeu en tant que voleuse
-item_17_id=HQ18
-item_17_title=Troublion de Loki
-item_17_comment=Sortez-vous de situations violentes sans violence
-item_18_id=HQ19
-item_18_title=Voleuse Ultime
-item_18_comment=Atteignez le score maximum en tant que voleuse
-item_19_id=HQ20
-item_19_title=Femme à tout faire
-item_19_comment=Terminez le jeu avec les trois classes
-item_20_id=HQ21
-item_20_title=Grande Maîtresse de l'héroïsme
-item_20_comment=Terminez le jeu dans la difficulté la plus élevée
-item_21_id=HQ22
-item_21_title=Une héroïne pressée
-item_21_comment=Terminez le jeu en cinq jours
-item_22_id=HQ23
-item_22_title=Héroïne parangon
-item_22_comment=Terminez le jeu avec 100 en honneur
-item_23_id=HQ24
-item_23_title=La plus escroc des héroïnes
-item_23_comment=Terminez le jeu avec moins de 10 en honneur
-item_24_id=HQ25
-item_24_title=Mon Kung-Fu est supérieur
-item_24_comment=Prouvez que vous êtes une meilleure gardienne que Sigurd
-item_25_id=HQ26
-item_25_title=Plus sage que le Sage
-item_25_comment=Prouvez que vous êtes une meilleure gardienne qu'Aurvandel
-item_26_id=HQ27
-item_26_title=Couper les choux
-item_26_comment=Volez la récompense d'une quête sans la faire
-item_27_id=HQ29
-item_27_title=Médaille de bronze
-item_27_comment=Gagnez une bataille facile dans la Caverne des os
-item_28_id=HQ30
-item_28_title=Médaille d'argent
-item_28_comment=Gagnez une bataille intermédiaire dans la Caverne des os
-item_29_id=HQ31
-item_29_title=Médaille d'or
-item_29_comment=Gagnez une bataille difficile dans la Caverne des os
-item_30_id=HQ32
-item_30_title=Quel entraînement!
-item_30_comment=Améliorez vos stats de base au maximum
-item_31_id=HQ36
-item_31_title=L'épreuve du feu
-item_31_comment=Triomphez de Surtr
-item_32_id=HQ37
-item_32_title=Le prix de la Guerre
-item_32_comment=Remportez la victoire pour Munarvagir
-item_33_id=HQ38
-item_33_title=Shadows of Darkness
-item_33_comment=Livrez le cristal svartalf
-item_34_id=HQ39
-item_34_title=Faire le brauggosse
-item_34_hidden=true
-item_35_id=HQ41
-item_35_title=Préparez-vous à fleurir!
-item_35_hidden=true
-item_36_id=HQ42
-item_36_title=Là où tout a commencé
-item_36_hidden=true
-item_37_id=HQ43
-item_37_title=Un succès emPOIsonné!
-item_37_hidden=true
-item_38_id=HQ44
-item_38_title=Diablotimpressionant
-item_38_hidden=true
-item_39_id=HQ45
-item_39_title=À la mémoire
-item_39_hidden=true
-item_40_id=HQ46
-item_40_title=Où le coeur aime, là est le foyer
-item_40_hidden=true
-item_41_id=HQ47
-item_41_title=Another Head Hangs Lowly
-item_41_hidden=true
-item_42_id=HQ48
-item_42_title=P0urkw0i ne p0 essayer des vakances en Suède cette année?
-item_42_hidden=true
-item_43_id=HQ49
-item_43_title=Menace pour la société
-item_43_comment=Passez votre vie en prison
-item_44_id=HQ53
-item_44_title=Don't Lose Your Head
-item_44_hidden=true
-item_45_id=HQ52
-item_45_title=Sombre et Troublé
-item_45_hidden=true
-[achievements:it_IT]
-item_0_id=HQ01
-item_0_title=E Così Vuoi Essere Un'Eroina
-item_0_comment=Procurati il tuo primo pasto
-item_1_id=HQ02
-item_1_title=Guerriera alle Prime Armi
-item_1_comment=Raggiungi il capitolo 2 come guerriera
-item_2_id=HQ03
-item_2_title=Guerriera Esperta
-item_2_comment=Raggiungi il capitolo 3 come guerriera
-item_3_id=HQ04
-item_3_title=Guerriera Veterana
-item_3_comment=Raggiungi il capitolo 4 come guerriera
-item_4_id=HQ05
-item_4_title=Guerriera Leggendaria
-item_4_comment=Completa il gioco come guerriera
-item_5_id=HQ06
-item_5_title=Paladina
-item_5_comment=Conquista Balmung
-item_6_id=HQ07
-item_6_title=Guerriera Suprema
-item_6_comment=Ottieni il punteggio massimo come guerriera
-item_7_id=HQ08
-item_7_title=Incantatrice alle Prime Armi
-item_7_comment=Raggiungi il capitolo 2 come incantatrice
-item_8_id=HQ09
-item_8_title=Incantatrice Esperta
-item_8_comment=Raggiungi il capitolo 3 come incantatrice
-item_9_id=HQ10
-item_9_title=Incantatrice Veterana
-item_9_comment=Raggiungi il capitolo 4 come incantatrice
-item_10_id=HQ11
-item_10_title=Incantatrice Leggendaria
-item_10_comment=Completa il gioco come incantatrice
-item_11_id=HQ12
-item_11_title=Arcimaga
-item_11_comment=Impara l'incantesimo Fulmine
-item_12_id=HQ13
-item_12_title=Incantatrice Suprema
-item_12_comment=Ottieni il punteggio massimo come incantatrice
-item_13_id=HQ14
-item_13_title=Ladra alle Prime Armi
-item_13_comment=Raggiungi il capitolo 2 come ladra
-item_14_id=HQ15
-item_14_title=Ladra Esperta
-item_14_comment=Raggiungi il capitolo 3 come ladra
-item_15_id=HQ16
-item_15_title=Ladra Veterana
-item_15_comment=Raggiungi il capitolo 4 come ladra
-item_16_id=HQ17
-item_16_title=Ladra Leggendaria
-item_16_comment=Completa il gioco come ladra
-item_17_id=HQ18
-item_17_title=Ingannatrice di Loki
-item_17_comment=Affronta situazioni pericolose senza l'uso della forza
-item_18_id=HQ19
-item_18_title=Ladra Suprema
-item_18_comment=Ottieni il punteggio massimo come ladra
-item_19_id=HQ20
-item_19_title=Tuttofare
-item_19_comment=Completa il gioco con tutte e tre le classi
-item_20_id=HQ21
-item_20_title=Eroina Epica
-item_20_comment=Completa il gioco alla difficoltà più alta
-item_21_id=HQ22
-item_21_title=Eroina Frettolosa
-item_21_comment=Completa il gioco entro cinque giorni
-item_22_id=HQ23
-item_22_title=Eroina Esemplare
-item_22_comment=Completa il gioco con 100 punti Onore
-item_23_id=HQ24
-item_23_title=Sporca Furfante Corrotta
-item_23_comment=Completa il gioco con meno di 10 punti Onore
-item_24_id=HQ25
-item_24_title=Il Mio Kung Fu è più Forte del Tuo
-item_24_comment=Dimostrati una guardiana migliore di Sigurd
-item_25_id=HQ26
-item_25_title=Più Saggia dello Stregone
-item_25_comment=Dimostrati una guardiana migliore di Aurvandel
-item_26_id=HQ27
-item_26_title=Scorciatoie
-item_26_comment=Ruba la ricompensa di una missione senza completarla
-item_27_id=HQ29
-item_27_title=Medaglia di Bronzo
-item_27_comment=Completa la Prova del Destino a livello minimo/basso
-item_28_id=HQ30
-item_28_title=Medaglia d'Argento
-item_28_comment=Completa la Prova del Destino a livello intermedio/alto
-item_29_id=HQ31
-item_29_title=Medaglia d'Oro
-item_29_comment=Completa la Prova del Destino a livello massimo
-item_30_id=HQ32
-item_30_title=Che Faticaccia!
-item_30_comment=Massimizza i tuoi Attributi
-item_31_id=HQ36
-item_31_title=La Prova del Fuoco
-item_31_comment=Sconfiggi Surtr
-item_32_id=HQ37
-item_32_title=Il Prezzo della Guerra
-item_32_comment=Vinci la battaglia di Munarvagir
-item_33_id=HQ38
-item_33_title=Ombre Oscure
-item_33_comment=Vendi il cristallo svartalf
-item_34_id=HQ39
-item_34_title=Bracca-Brauggi
-item_34_hidden=true
-item_35_id=HQ41
-item_35_title=La tua Sventura è Alle Porte!
-item_35_hidden=true
-item_36_id=HQ42
-item_36_title=Alle Origini
-item_36_hidden=true
-item_37_id=HQ43
-item_37_title=Un Achievement VEElenoso!
-item_37_hidden=true
-item_38_id=HQ44
-item_38_title=Molto IMProbabile
-item_38_hidden=true
-item_39_id=HQ45
-item_39_title=Alla Memoria
-item_39_hidden=true
-item_40_id=HQ46
-item_40_title=Casa Dolce Casa
-item_40_hidden=true
-item_41_id=HQ47
-item_41_title=Zombie
-item_41_hidden=true
-item_42_id=HQ48
-item_42_title=Perché non pr0fa facanza in Svezia, qvest'ann0?
-item_42_hidden=true
-item_43_id=HQ49
-item_43_title=Pericolo Pubblico
-item_43_comment=Passa il resto della vita in cella
-item_44_id=HQ53
-item_44_title=Testa sulle Spalle
-item_44_hidden=true
-item_45_id=HQ52
-item_45_title=Bella e Maledetta
-item_45_hidden=true
-[achievements:es_ES]
-item_0_id=HQ01
-item_0_title=Así que quieres ser una heroína
-item_0_comment=Encuentra comida por primera vez.
-item_1_id=HQ02
-item_1_title=Aprendiz de guerrera
-item_1_comment=Llega al capítulo 2 como guerrera.
-item_2_id=HQ03
-item_2_title=Guerrera experta
-item_2_comment=Llega al capítulo 3 como guerrera.
-item_3_id=HQ04
-item_3_title=Maestra guerrera
-item_3_comment=Llega al capítulo 4 como guerrera.
-item_4_id=HQ05
-item_4_title=Guerrera legendaria
-item_4_comment=Completa el juego como guerrera.
-item_5_id=HQ06
-item_5_title=Paladín
-item_5_comment=Consigue Balmung.
-item_6_id=HQ07
-item_6_title=Guerrera definitiva
-item_6_comment=Consigue la puntuación máxima como guerrera.
-item_7_id=HQ08
-item_7_title=Aprendiz de hechicera
-item_7_comment=Llega al capítulo 2 como hechicera.
-item_8_id=HQ09
-item_8_title=Hechicera experta
-item_8_comment=Llega al capítulo 3 como hechicera.
-item_9_id=HQ10
-item_9_title=Maestra hechicera
-item_9_comment=Llega al capítulo 4 como hechicera.
-item_10_id=HQ11
-item_10_title=Hechicera legendaria
-item_10_comment=Completa el juego como hechicera.
-item_11_id=HQ12
-item_11_title=Archimaga
-item_11_comment=Aprende el hechizo Relámpago.
-item_12_id=HQ13
-item_12_title=Hechicera definitiva
-item_12_comment=Consigue la puntuación máxima como hechicera.
-item_13_id=HQ14
-item_13_title=Aprendiz de pícara
-item_13_comment=Llega al capítulo 2 como pícara.
-item_14_id=HQ15
-item_14_title=Pícara experta
-item_14_comment=Llega al capítulo 3 como pícara.
-item_15_id=HQ16
-item_15_title=Maestra pícara
-item_15_comment=Llega al capítulo 4 como pícara.
-item_16_id=HQ17
-item_16_title=Pícara legendaria
-item_16_comment=Completa el juego como pícara.
-item_17_id=HQ18
-item_17_title=Embaucadora de Loki
-item_17_comment=Arréglatelas en situaciones violentas sin recurrir a la violencia.
-item_18_id=HQ19
-item_18_title=Pícara definitiva
-item_18_comment=Consigue la puntuación máxima siendo pícara.
-item_19_id=HQ20
-item_19_title=Maestra liendre
-item_19_comment=Completa el juego con las tres clases diferentes.
-item_20_id=HQ21
-item_20_title=Heroína entre heroínas
-item_20_comment=Pásate el juego entero en la dificultad máxima.
-item_21_id=HQ22
-item_21_title=Heroína con prisa
-item_21_comment=Completa el juego en una semana.
-item_22_id=HQ23
-item_22_title=Heroína ejemplar
-item_22_comment=Completa el juego con 100 de honor.
-item_23_id=HQ24
-item_23_title=Sabandija de la peor calaña
-item_23_comment=Completa el juego con menos de 10 de honor.
-item_24_id=HQ25
-item_24_title=Soy mejor en Kung-fu
-item_24_comment=Demuestra que eres mejor guardiana que Sigurd.
-item_25_id=HQ26
-item_25_title=Más sabia que el sabio
-item_25_comment=Demuestra que eres mejor guardiana que Aurvandel.
-item_26_id=HQ27
-item_26_title=Acortando camino
-item_26_comment=Roba la recompensa de una misión sin haberla completado.
-item_27_id=HQ29
-item_27_title=Medalla de bronce
-item_27_comment=Hazte con una victoria fácil en la Prueba del Sino.
-item_28_id=HQ30
-item_28_title=Medalla de plata
-item_28_comment=Hazte con una victoria moderada en la Prueba del Sino.
-item_29_id=HQ31
-item_29_title=Medalla de oro
-item_29_comment=Hazte con una victoria difícil en la Prueba del Sino.
-item_30_id=HQ32
-item_30_title=¡No veas con el ejercicio!
-item_30_comment=Aumenta tus atributos primarios al máximo.
-item_31_id=HQ36
-item_31_title=Prueba de fuego
-item_31_comment=Vence a Surtur.
-item_32_id=HQ37
-item_32_title=En el clamor de la batalla
-item_32_comment=Gana la batalla por Munarvagir.
-item_33_id=HQ38
-item_33_title=Sombras en la oscuridad
-item_33_comment=Entrega el cristal svartalf.
-item_34_id=HQ39
-item_34_title=Derechos braúggicos
-item_34_hidden=true
-item_35_id=HQ41
-item_35_title=¡Estás bendecida!
-item_35_hidden=true
-item_36_id=HQ42
-item_36_title=Donde todo empezó
-item_36_hidden=true
-item_37_id=HQ43
-item_37_title=¡Un logro VENENOOSO!
-item_37_hidden=true
-item_38_id=HQ44
-item_38_title=Endiablada
-item_38_hidden=true
-item_39_id=HQ45
-item_39_title=En memoria de...
-item_39_hidden=true
-item_40_id=HQ46
-item_40_title=Tu hogar es donde tienes el corazón
-item_40_hidden=true
-item_41_id=HQ47
-item_41_title=Otra cabeza gacha
-item_41_hidden=true
-item_42_id=HQ48
-item_42_title=¿Le gustarría ir de vacazi0nes a Suezia heste añ0?
-item_42_hidden=true
-item_43_id=HQ49
-item_43_title=Peligro para la sociedad
-item_43_comment=Pásate la vida entera en prisión.
-item_44_id=HQ53
-item_44_title=No pierdas la cabeza
-item_44_hidden=true
-item_45_id=HQ52
-item_45_title=Oscura y perturbada
-item_45_hidden=true
-[achievements:ru_RU]
-item_0_id=HQ01
-item_0_title=Так ты хочешь быть Героиней
-item_0_comment=Найти свою первую пищу
-item_1_id=HQ02
-item_1_title=Начинающая Воительница
-item_1_comment=Достичь второй главы воином
-item_2_id=HQ03
-item_2_title=Способная Воительница
-item_2_comment=Достичь третьей главы воином
-item_3_id=HQ04
-item_3_title=Элитная Воительница
-item_3_comment=Достичь четвёртой главы воином
-item_4_id=HQ05
-item_4_title=Легендарная Воительница
-item_4_comment=Закончить игру воином
-item_5_id=HQ06
-item_5_title=Паладин
-item_5_comment=Получить Балмунг
-item_6_id=HQ07
-item_6_title=Идеальная Воительница
-item_6_comment=Достичь максимальных очков воином
-item_7_id=HQ08
-item_7_title=Начинающая Волшебница
-item_7_comment=Достичь второй главы волшебницей
-item_8_id=HQ09
-item_8_title=Способная Волшебница
-item_8_comment=Достичь третьей главы волшебницей
-item_9_id=HQ10
-item_9_title=Элитная Волшебница
-item_9_comment=Достичь четвёртой главы волшебницей
-item_10_id=HQ11
-item_10_title=Легендарная Волшебница
-item_10_comment=Закончить игру волшебницей
-item_11_id=HQ12
-item_11_title=Архимаг
-item_11_comment=Выучить заклинание молнии
-item_12_id=HQ13
-item_12_title=Идеальная Волшебница
-item_12_comment=Достичь максимальных очков волшебницей
-item_13_id=HQ14
-item_13_title=Начинающая Плутовка
-item_13_comment=Достичь второй главы плутом
-item_14_id=HQ15
-item_14_title=Способная Плутовка
-item_14_comment=Достичь третьей главы плутом
-item_15_id=HQ16
-item_15_title=Элитная Плутовка
-item_15_comment=Достичь четвёртой главы плутом
-item_16_id=HQ17
-item_16_title=Легендарная Плутовка
-item_16_comment=Закончить игру плутом
-item_17_id=HQ18
-item_17_title=Трюкач Локи
-item_17_comment=Разобраться с жестокой ситуацией без насилия
-item_18_id=HQ19
-item_18_title=Идеальная Плутовка
-item_18_comment=Достичь максимальных очков плутом
-item_19_id=HQ20
-item_19_title=Мастерица на все руки
-item_19_comment=Закончить игру за все три класса
-item_20_id=HQ21
-item_20_title=Героиня-грандмастер
-item_20_comment=Закончить игру на самой высокой сложности
-item_21_id=HQ22
-item_21_title=Героиня в спешке
-item_21_comment=Закончить игру за пять дней
-item_22_id=HQ23
-item_22_title=Совершенная Героиня
-item_22_comment=Закончить игру, имея честь 100
-item_23_id=HQ24
-item_23_title=Грязная злая воровка
-item_23_comment=Закончить игру, имея честь менее 10
-item_24_id=HQ25
-item_24_title=Моё кунфу сильнее
-item_24_comment=Показать себя лучшим стражем, чем Сигурд
-item_25_id=HQ26
-item_25_title=Мудрее, чем Маг
-item_25_comment=Показать себя лучшим стражем, чем Аурвандель
-item_26_id=HQ27
-item_26_title=Срезая углы
-item_26_comment=Украсть награду за квест, не выполняя квеста
-item_27_id=HQ29
-item_27_title=Бронзовая медаль
-item_27_comment=Получить лёгкую победу в Пещере Костей
-item_28_id=HQ30
-item_28_title=Серебряная медаль
-item_28_comment=Получить среднюю победу в Пещере Костей
-item_29_id=HQ31
-item_29_title=Золотая медаль
-item_29_comment=Получить трудную победу в Пещере Костей
-item_30_id=HQ32
-item_30_title=Вот это тренировка!
-item_30_comment=Довести первичные характеристики до максимума
-item_31_id=HQ36
-item_31_title=Trial by Fire
-item_31_comment=Победить Суртра
-item_32_id=HQ37
-item_32_title=Wages of War
-item_32_comment=Победить Мунарвагира
-item_33_id=HQ38
-item_33_title=Shadows of Darkness
-item_33_comment=Донести кристалл свартальфа
-item_34_id=HQ39
-item_34_title=Право гордиться
-item_34_hidden=true
-item_35_id=HQ41
-item_35_title=Вот твой цветок!
-item_35_hidden=true
-item_36_id=HQ42
-item_36_title=Там, где всё началось
-item_36_hidden=true
-item_37_id=HQ43
-item_37_title=A POIsonous Achievement!
-item_37_hidden=true
-item_38_id=HQ44
-item_38_title=Most IMPressive
-item_38_hidden=true
-item_39_id=HQ45
-item_39_title=В доброй памяти
-item_39_hidden=true
-item_40_id=HQ46
-item_40_title=Дом там, где сердце
-item_40_hidden=true
-item_41_id=HQ47
-item_41_title=Ещё одна голова поникла
-item_41_hidden=true
-item_42_id=HQ48
-item_42_title=П04ему 6ы не пр0вести 0тпуск в Шв3ции?
-item_42_hidden=true
-item_43_id=HQ49
-item_43_title=Угроза обществу
-item_43_comment=Закончить жизнь в тюрьме
-item_44_id=HQ53
-item_44_title=Не теряйте головы
-item_44_hidden=true
-item_45_id=HQ52
-item_45_title=Темные и Неспокойном
-item_45_hidden=true
-[achievements:hu_HU]
-item_0_id=HQ01
-item_0_title=Tehát Hõsnõ akarsz lenni
-item_0_comment=Találd meg elsõ ételedet
-item_1_id=HQ02
-item_1_title=Tanuló Harcos
-item_1_comment=Érd el a 2. fejezetet mint harcos
-item_2_id=HQ03
-item_2_title=Szakértõ Harcos
-item_2_comment=Érd el a 3. fejezetet mint harcos
-item_3_id=HQ04
-item_3_title=Mester Harcos
-item_3_comment=Érd el a 4. fejezetet mint harcos
-item_4_id=HQ05
-item_4_title=Legendás Harcos
-item_4_comment=Fejezd be a játékot mint harcos
-item_5_id=HQ06
-item_5_title=Pap-lovag
-item_5_comment=Szerezd meg Balmungot
-item_6_id=HQ07
-item_6_title=A Legjobb Harcos
-item_6_comment=Érj el maximális pontszámot mint harcos
-item_7_id=HQ08
-item_7_title=Tanuló Varázslónõ
-item_7_comment=Reach Érd el a 2. fejezetet mint varázslónõ
-item_8_id=HQ09
-item_8_title=Szakértõ Varázslónõ
-item_8_comment=Érd el a 3. fejezetet mint varázslónõ
-item_9_id=HQ10
-item_9_title=Mester Varázslónõ
-item_9_comment=Érd el a 4. fejezetet mint varázslónõ
-item_10_id=HQ11
-item_10_title=Legendás Varázslónõ
-item_10_comment=Fejezd be a játékot mint varázslónõ
-item_11_id=HQ12
-item_11_title=Fõmágus
-item_11_comment=Tanuld meg a villámcsapás varázslatot
-item_12_id=HQ13
-item_12_title=A legjobb Varázslónõ
-item_12_comment=Érj el maximális pontszámot mint varázslónõ
-item_13_id=HQ14
-item_13_title=Tanuló Kósza
-item_13_comment=Érd el a 2. fejezetet mint kósza
-item_14_id=HQ15
-item_14_title=Szakértõ Kósza
-item_14_comment=Érd el a 3. fejezetet mint kósza
-item_15_id=HQ16
-item_15_title=Mester Kósza
-item_15_comment=Érd el a 4. fejezetet mint kósza
-item_16_id=HQ17
-item_16_title=Legendás Kósza
-item_16_comment=Fejezd be a játékot mint kósza
-item_17_id=HQ18
-item_17_title=Loki Átejtõje
-item_17_comment=Bánj el az erõszakos helyzetekkel erõszak nélkül
-item_18_id=HQ19
-item_18_title=A legjobb Kósza
-item_18_comment=Érj el maximális pontszámot mint kósza
-item_19_id=HQ20
-item_19_title=Ezermester
-item_19_comment=Csináld végig a játékot mind a három osztályban
-item_20_id=HQ21
-item_20_title=Hõsnõ Nagymester
-item_20_comment=Csináld végig a játékot a legerõsebb nehézségi fokon
-item_21_id=HQ22
-item_21_title=Sietõs Hõsnõ
-item_21_comment=Csináld végig a játékot öt napon belül
-item_22_id=HQ23
-item_22_title=Eszménykép Hõsnõ
-item_22_comment=Csináld végig a játékot 100 becsülettel
-item_23_id=HQ24
-item_23_title=Mocskos Rohadt Csibész
-item_23_comment=Csináld végig a játékot 10-nél kevesebb becsülettel
-item_24_id=HQ25
-item_24_title=Az Én Kung-fum Erõsebb
-item_24_comment=Bizonyítsd be, hogy jobb õrzõ vagy, mint Sigurd
-item_25_id=HQ26
-item_25_title=Bölcsebb, mint a Varázsló
-item_25_comment=Bizonyítsd be, hogy jobb õrzõ vagy, mint Aurvandel
-item_26_id=HQ27
-item_26_title=Cutting Corners
-item_26_comment=Steal a quest reward without doing the quest
-item_27_id=HQ29
-item_27_title=Bronz Érem
-item_27_comment=Nyerj meg egy könnyû gyõzelmet a Csontok Barlangban
-item_28_id=HQ30
-item_28_title=Ezüst Érem
-item_28_comment=Nyerj meg egy közepes gyõzelmet a Csontok Barlangban
-item_29_id=HQ31
-item_29_title=Arany Érem
-item_29_comment=Nyerj meg egy nehéz gyõzelmet a Csontok Barlangban
-item_30_id=HQ32
-item_30_title=Micsoda Erõnlét!
-item_30_comment=Maximalizáld elsõdleges statisztikáidat
-item_31_id=HQ36
-item_31_title=Tûzpróba
-item_31_comment=Gyõzd le Surtr-t
-item_32_id=HQ37
-item_32_title=Háborús Tétek
-item_32_comment=Nyerd meg a Munarvagirért vívott csatát
-item_33_id=HQ38
-item_33_title=A Sötétség Árnyai
-item_33_comment=Kézbesítsd a svartalf kristályt
-item_34_id=HQ39
-item_34_title=Brauggi Betörõje
-item_34_hidden=true
-item_35_id=HQ41
-item_35_title=Ideje Kivirágozni!
-item_35_hidden=true
-item_36_id=HQ42
-item_36_title=Ahol minden elkezdõdött
-item_36_hidden=true
-item_37_id=HQ43
-item_37_title=Egy MÉRgezõ Vívmány!
-item_37_hidden=true
-item_38_id=HQ44
-item_38_title=A Legördögibb
-item_38_hidden=true
-item_39_id=HQ45
-item_39_title=Szeretõ Emlékezettel
-item_39_hidden=true
-item_40_id=HQ46
-item_40_title=Mindenkinek hazahúz a szíve
-item_40_hidden=true
-item_41_id=HQ47
-item_41_title=Még egy lecsüggesztett fej
-item_41_hidden=true
-item_42_id=HQ48
-item_42_title=Maer n0m pr0baalsz Svaedorszaagban vakaci00zni idaen?
-item_42_hidden=true
-item_43_id=HQ49
-item_43_title=Fenyegetés a Társadalomra
-item_43_comment=Töltsd az életed börtönben
-item_44_id=HQ53
-item_44_title=Ne veszítsd el a fejedet
-item_44_hidden=true
-item_45_id=HQ52
-item_45_title=Sötét és Zavaros
+item_45_comment=Complete the game while cursed
 item_45_hidden=true
diff --git a/devtools/create_achievements/gen/steam-302690.ini b/devtools/create_achievements/gen/steam-302690.ini
index 665290d739..2a72d50c8d 100644
--- a/devtools/create_achievements/gen/steam-302690.ini
+++ b/devtools/create_achievements/gen/steam-302690.ini
@@ -1,40 +1,53 @@
 [achievements:en]
 item_0_id=ACHIEVEMENT_01
 item_0_title=My First Time
+item_0_comment=Introduce tire iron to cranium
 item_0_hidden=true
 item_1_id=ACHIEVEMENT_02
 item_1_title=Soiled
+item_1_comment=Open the wrong crate
 item_1_hidden=true
 item_2_id=ACHIEVEMENT_03
 item_2_title=Got Head
+item_2_comment=Revive an old friend
 item_2_hidden=true
 item_3_id=ACHIEVEMENT_04
 item_3_title=Clean Freak
+item_3_comment=Complete a mind-numbingly menial task
 item_3_hidden=true
 item_4_id=ACHIEVEMENT_05
 item_4_title=Anarchist's Cookbook
+item_4_comment=Mess around with some household chemicals
 item_4_hidden=true
 item_5_id=ACHIEVEMENT_06
 item_5_title=Dendro-Infanticide
+item_5_comment=Kill the baby plant
 item_5_hidden=true
 item_6_id=ACHIEVEMENT_07
 item_6_title=Smoked
+item_6_comment=Smoke the giant bud monster
 item_6_hidden=true
 item_7_id=ACHIEVEMENT_08
 item_7_title=Shrinkage
+item_7_comment=Perfect balance of hot and cold
 item_7_hidden=true
 item_8_id=ACHIEVEMENT_09
 item_8_title=Too Toasty
+item_8_comment=Mess around a little too much
 item_8_hidden=true
 item_9_id=ACHIEVEMENT_10
 item_9_title=Nice Shootin' Tex
+item_9_comment=Happy accidents will happen
 item_9_hidden=true
 item_10_id=ACHIEVEMENT_11
 item_10_title=Elevator Proof
+item_10_comment=Not even Arnie could survive that
 item_10_hidden=true
 item_11_id=ACHIEVEMENT_12
 item_11_title=Alone Time
+item_11_comment=Maybe you should knock first
 item_11_hidden=true
 item_12_id=ACHIEVEMENT_13
 item_12_title=Smile
+item_12_comment=Kill the source
 item_12_hidden=true
diff --git a/devtools/create_achievements/gen/steam-364390.ini b/devtools/create_achievements/gen/steam-364390.ini
index 92747d80c6..d72b804c11 100644
--- a/devtools/create_achievements/gen/steam-364390.ini
+++ b/devtools/create_achievements/gen/steam-364390.ini
@@ -16,36 +16,45 @@ item_4_title=The Penis Award
 item_4_comment=You found a penis in the hotel garden
 item_5_id=DF_NOEYES
 item_5_title=No Eyes, Always Watching
+item_5_comment=You spotted Slenderman in the forest!
 item_5_hidden=true
 item_6_id=DF_NOISES
 item_6_title=Noises She Makes In Their Bed
+item_6_comment=Joe plays a tune on the piano
 item_6_hidden=true
 item_7_id=DF_HEADOFFICE
 item_7_title=The Head Office
 item_7_comment=Joe found Agnes' head on the desk in the manageress' office
 item_8_id=DF_PERV
 item_8_title=Perv...
+item_8_comment=Joe examines knickers...a valid plot point!
 item_8_hidden=true
 item_9_id=DF_DEMONSLAYER
 item_9_title=Demon Slayer
+item_9_comment=Joe killed Agnes
 item_9_hidden=true
 item_10_id=DF_ONLYMONSTER
 item_10_title=The Only Monster Is You
+item_10_comment=Joe killed the Receptionist
 item_10_hidden=true
 item_11_id=DF_BADKITTY
 item_11_title=Bad Kitty
 item_11_comment=The cat ran away from Young Joe
 item_12_id=DF_CRAFTER
 item_12_title=Master Crafter
+item_12_comment=Susan built 2 weapons
 item_12_hidden=true
 item_13_id=DF_DOWNFALL
 item_13_title=Downfall
+item_13_comment=You achieved the full, bad ending
 item_13_hidden=true
 item_14_id=DF_GOLDEN
 item_14_title=Golden Ending
+item_14_comment=You achieved the full, good ending
 item_14_hidden=true
 item_15_id=DF_LORELAI
 item_15_title=Lorelai
+item_15_comment=You persuaded the Queen of Maggots to say her name
 item_15_hidden=true
 item_16_id=DF_FULLOFCRAP
 item_16_title=Full Of Crap
@@ -55,18 +64,22 @@ item_17_title=Runaway Bride
 item_17_comment=Agnes persuaded Ivy to join her
 item_18_id=DF_JUSTDOIT
 item_18_title=Just Do It
+item_18_comment=You were given a motivational speech
 item_18_hidden=true
 item_19_id=DF_ASSHOLE
 item_19_title=Asshole
 item_19_comment=You were really mean to Ivy
 item_20_id=DF_SHNOZ
 item_20_title=Right In The Shnoz
+item_20_comment=You blew out the candle and caused an unfortunate accident
 item_20_hidden=true
 item_21_id=DF_SAVIOUR
 item_21_title=Auto-Saviour
+item_21_comment=You finished the game without using auto-save
 item_21_hidden=true
 item_22_id=DF_HARDCORE
 item_22_title=Hardcore
+item_22_comment=You achieved Downfall or Golden Ending without using tendency hints
 item_22_hidden=true
 item_23_id=DF_FLOORS
 item_23_title=Found Between The Floors
@@ -85,6 +98,7 @@ item_27_title=Blunt
 item_27_comment=You had a nice chat with Harrison
 item_28_id=DF_DEADCELEB
 item_28_title=Dead Celebrities
+item_28_comment=Don't Cry, everyone dies...
 item_28_hidden=true
 item_29_id=DF_LUCKYDIP
 item_29_title=Lucky Dip
diff --git a/devtools/create_achievements/gen/steam-367110.ini b/devtools/create_achievements/gen/steam-367110.ini
index 1e9f3e5178..3be5ec477f 100644
--- a/devtools/create_achievements/gen/steam-367110.ini
+++ b/devtools/create_achievements/gen/steam-367110.ini
@@ -161,10 +161,13 @@ item_41_title=Gotta Flambé
 item_41_comment=Kill 20 enemies with the flamer.
 item_42_id=NEW_ACHIEVEMENT_2_12
 item_42_title=Open Your Mind
+item_42_comment=Join the alien collective.
 item_42_hidden=true
 item_43_id=NEW_ACHIEVEMENT_2_13
 item_43_title=Grey Matter
+item_43_comment=Kill the Observer alien.
 item_43_hidden=true
 item_44_id=NEW_ACHIEVEMENT_2_14
 item_44_title=Gone Home
+item_44_comment=Leave the Observer and head home.
 item_44_hidden=true
diff --git a/devtools/create_achievements/gen/steam-370910.ini b/devtools/create_achievements/gen/steam-370910.ini
index d29b643a82..813da77dba 100644
--- a/devtools/create_achievements/gen/steam-370910.ini
+++ b/devtools/create_achievements/gen/steam-370910.ini
@@ -16,351 +16,61 @@ item_4_title=Been there, done that
 item_4_comment=Finished the game
 item_5_id=Procrastinator
 item_5_title=Procrastinator
+item_5_comment=Made your best efforts to miss the funeral
 item_5_hidden=true
 item_6_id=EnjoyingTheScenery
 item_6_title=Enjoying the scenery
+item_6_comment=Lost track of time on the road
 item_6_hidden=true
 item_7_id=Hotwheels
 item_7_title=Hotwheels
+item_7_comment=Felt like literally taking the wheelchair for a spin
 item_7_hidden=true
 item_8_id=Aww
 item_8_title=Aaw!
+item_8_comment=Tortured an imprisoned bum
 item_8_hidden=true
 item_9_id=Undateable
 item_9_title=Undateable
+item_9_comment=Felt no apparent need to let Lenny down gently
 item_9_hidden=true
 item_10_id=MrBear
 item_10_title=Mr. Bear, reporting for duty!
+item_10_comment=Reunited with a furry friend
 item_10_hidden=true
 item_11_id=Nocturnal
 item_11_title=Nocturnal
+item_11_comment=Rediscovered yourself as a creature of the night
 item_11_hidden=true
 item_12_id=HowYouDoing
 item_12_title=How YOU doing?
+item_12_comment=Engaged in flirtatious behavior on the computer
 item_12_hidden=true
 item_13_id=RestingScowlyFace
 item_13_title=Resting scowly face
+item_13_comment=Learned a cold hard truth about your face
 item_13_hidden=true
 item_14_id=Pyromaniac
 item_14_title=Pyromaniac
+item_14_comment=Barely resisted the urge to barbeque a bear
 item_14_hidden=true
 item_15_id=PassiveSmoking
 item_15_title=Passive smoking
+item_15_comment=Amplified Goober's lung cancer
 item_15_hidden=true
 item_16_id=FilmBuff
 item_16_title=Film buff
+item_16_comment=Totally mesmerized by Goober's monologues
 item_16_hidden=true
 item_17_id=Heretic
 item_17_title=Heretic
+item_17_comment=Wanted to engage in a good 'ol book burning
 item_17_hidden=true
 item_18_id=TriggerHappy
 item_18_title=Trigger happy
+item_18_comment=Really had it out for Goober
 item_18_hidden=true
 item_19_id=HookedOnCorleys
 item_19_title=Hooked on Corleys
-item_19_hidden=true
-[achievements:de_DE]
-item_0_id=FinishDayOne
-item_0_title=Aufs Katmobil gestiegen
-item_0_comment=Tag 1 abgeschlossen
-item_1_id=FinishDayTwo
-item_1_title=Wow, die sind hypnotisierend ...
-item_1_comment=Tag 2 abgeschlossen
-item_2_id=FinishDayThree
-item_2_title=Wir haben uns schon mal getroffen, oder nicht?
-item_2_comment=Tag 3 abgeschlossen
-item_3_id=FinishDayFour
-item_3_title=Sprung ins Ungewisse
-item_3_comment=Tag 4 abgeschlossen
-item_4_id=FinishGame
-item_4_title=Alles schon mal da gewesen
-item_4_comment=Das Spiel abgeschlossen
-item_5_id=Procrastinator
-item_5_title=Was du heute kannst besorgen ...
-item_5_hidden=true
-item_6_id=EnjoyingTheScenery
-item_6_title=Die Landschaft genießen
-item_6_hidden=true
-item_7_id=Hotwheels
-item_7_title=Heiße Reifen
-item_7_hidden=true
-item_8_id=Aww
-item_8_title=Aaah!
-item_8_hidden=true
-item_9_id=Undateable
-item_9_title=Kein Gespür für Romantik
-item_9_hidden=true
-item_10_id=MrBear
-item_10_title=Mr. Bär meldet sich zum Dienst!
-item_10_hidden=true
-item_11_id=Nocturnal
-item_11_title=Nachtaktiv
-item_11_hidden=true
-item_12_id=HowYouDoing
-item_12_title=Wie geht's denn so, Schätzchen?
-item_12_hidden=true
-item_13_id=RestingScowlyFace
-item_13_title=Von Natur aus mürrisch
-item_13_hidden=true
-item_14_id=Pyromaniac
-item_14_title=Pyromane
-item_14_hidden=true
-item_15_id=PassiveSmoking
-item_15_title=Passivraucher
-item_15_hidden=true
-item_16_id=FilmBuff
-item_16_title=Filmkenner
-item_16_hidden=true
-item_17_id=Heretic
-item_17_title=Ketzer
-item_17_hidden=true
-item_18_id=TriggerHappy
-item_18_title=Folterknecht
-item_18_hidden=true
-item_19_id=HookedOnCorleys
-item_19_title=Süchtig nach Corleys
-item_19_hidden=true
-[achievements:fr_FR]
-item_0_id=FinishDayOne
-item_0_title=Monter sur la Katmobile
-item_0_comment=A terminé le premier jour
-item_1_id=FinishDayTwo
-item_1_title=Oh, elles sont hypnotiques...
-item_1_comment=A terminé le deuxième jour
-item_2_id=FinishDayThree
-item_2_title=On s'est déjà rencontrés, n'est-ce pas ?
-item_2_comment=A terminé le troisième jour
-item_3_id=FinishDayFour
-item_3_title=Tomber dans le terrier
-item_3_comment=A terminé le quatrième jour
-item_4_id=FinishGame
-item_4_title=Déjà tout vu, déjà tout fait
-item_4_comment=A terminé le jeu
-item_5_id=Procrastinator
-item_5_title=Remet tout à demain
-item_5_hidden=true
-item_6_id=EnjoyingTheScenery
-item_6_title=Admirer le paysage
-item_6_hidden=true
-item_7_id=Hotwheels
-item_7_title=Pneus en feu
-item_7_hidden=true
-item_8_id=Aww
-item_8_title=Ooohh !
-item_8_hidden=true
-item_9_id=Undateable
-item_9_title=Célibataire à jamais
-item_9_hidden=true
-item_10_id=MrBear
-item_10_title=Monsieur Nounours, au rapport !
-item_10_hidden=true
-item_11_id=Nocturnal
-item_11_title=Nocturne
-item_11_hidden=true
-item_12_id=HowYouDoing
-item_12_title=Comment ça va TOI ?
-item_12_hidden=true
-item_13_id=RestingScowlyFace
-item_13_title=Expression naturellement antipathique
-item_13_hidden=true
-item_14_id=Pyromaniac
-item_14_title=Pyromane
-item_14_hidden=true
-item_15_id=PassiveSmoking
-item_15_title=Tabagisme passif
-item_15_hidden=true
-item_16_id=FilmBuff
-item_16_title=Cinéphile
-item_16_hidden=true
-item_17_id=Heretic
-item_17_title=Hérétique
-item_17_hidden=true
-item_18_id=TriggerHappy
-item_18_title=Gâchette facile
-item_18_hidden=true
-item_19_id=HookedOnCorleys
-item_19_title=Accro aux Corleys
-item_19_hidden=true
-[achievements:it_IT]
-item_0_id=FinishDayOne
-item_0_title=Sali sulla Katmobile
-item_0_comment=Hai finito il primo giorno
-item_1_id=FinishDayTwo
-item_1_title=Wow, sono proprio ipnotiche...
-item_1_comment=Hai finito il secondo giorno
-item_2_id=FinishDayThree
-item_2_title=Ci siamo già incontrati prima d'ora, vero?
-item_2_comment=Hai finito il terzo giorno.
-item_3_id=FinishDayFour
-item_3_title=Giù per la tana del bianconiglio
-item_3_comment=Hai finito il quarto giorno
-item_4_id=FinishGame
-item_4_title=Già visto tutto, già fatto tutto
-item_4_comment=Hai finito il gioco.
-item_5_id=Procrastinator
-item_5_title=Procrastinatore
-item_5_hidden=true
-item_6_id=EnjoyingTheScenery
-item_6_title=Ammira il paesaggio
-item_6_hidden=true
-item_7_id=Hotwheels
-item_7_title=Pneumatici di fuoco
-item_7_hidden=true
-item_8_id=Aww
-item_8_title=Ooohh!
-item_8_hidden=true
-item_9_id=Undateable
-item_9_title=Nessun appuntamento
-item_9_hidden=true
-item_10_id=MrBear
-item_10_title=Mister Orsacchiotto, a rapporto!
-item_10_hidden=true
-item_11_id=Nocturnal
-item_11_title=Notturno
-item_11_hidden=true
-item_12_id=HowYouDoing
-item_12_title=Come stai TU?
-item_12_hidden=true
-item_13_id=RestingScowlyFace
-item_13_title=Faccia istintivamente antipatica
-item_13_hidden=true
-item_14_id=Pyromaniac
-item_14_title=Piromane
-item_14_hidden=true
-item_15_id=PassiveSmoking
-item_15_title=Fumo passivo
-item_15_hidden=true
-item_16_id=FilmBuff
-item_16_title=Cinefilo
-item_16_hidden=true
-item_17_id=Heretic
-item_17_title=Eretico
-item_17_hidden=true
-item_18_id=TriggerHappy
-item_18_title=Grilletto facile
-item_18_hidden=true
-item_19_id=HookedOnCorleys
-item_19_title=Dipendenza dalle Corleys
-item_19_hidden=true
-[achievements:es_ES]
-item_0_id=FinishDayOne
-item_0_title=Subir al Katmóvil
-item_0_comment=Día uno terminado
-item_1_id=FinishDayTwo
-item_1_title=Vaya, son hipnóticas...
-item_1_comment=Día dos terminado
-item_2_id=FinishDayThree
-item_2_title=Nos conocemos de antes, ¿no?
-item_2_comment=Día tres terminado
-item_3_id=FinishDayFour
-item_3_title=Descender por la madriguera del conejo
-item_3_comment=Día cuatro terminado
-item_4_id=FinishGame
-item_4_title=Ya lo he visto, ya lo he hecho
-item_4_comment=Terminaste el juego
-item_5_id=Procrastinator
-item_5_title=Posponedora
-item_5_hidden=true
-item_6_id=EnjoyingTheScenery
-item_6_title=Disfrutando el paisaje
-item_6_hidden=true
-item_7_id=Hotwheels
-item_7_title=Hotwheels
-item_7_hidden=true
-item_8_id=Aww
-item_8_title=¡Ay!
-item_8_hidden=true
-item_9_id=Undateable
-item_9_title=Infechable
-item_9_hidden=true
-item_10_id=MrBear
-item_10_title=El Sr. Oso, ¡presente para el servicio!
-item_10_hidden=true
-item_11_id=Nocturnal
-item_11_title=Nocturno
-item_11_hidden=true
-item_12_id=HowYouDoing
-item_12_title=¿Cómo va ESO?
-item_12_hidden=true
-item_13_id=RestingScowlyFace
-item_13_title=Cara siempre enfurruñada
-item_13_hidden=true
-item_14_id=Pyromaniac
-item_14_title=Pirómana
-item_14_hidden=true
-item_15_id=PassiveSmoking
-item_15_title=Fumador pasivo
-item_15_hidden=true
-item_16_id=FilmBuff
-item_16_title=Fanática del cine
-item_16_hidden=true
-item_17_id=Heretic
-item_17_title=Hereje
-item_17_hidden=true
-item_18_id=TriggerHappy
-item_18_title=Gatillo fácil
-item_18_hidden=true
-item_19_id=HookedOnCorleys
-item_19_title=Adicta a las Corleys
-item_19_hidden=true
-[achievements:pl_PL]
-item_0_id=FinishDayOne
-item_0_title=Wsiądź na Katmobil
-item_0_comment=Ukończyłaś dzień pierwszy
-item_1_id=FinishDayTwo
-item_1_title=Wow, hipnotyczne...
-item_1_comment=Ukończyłaś dzień drugi
-item_2_id=FinishDayThree
-item_2_title=Spotkaliśmy się wcześniej, prawda?
-item_2_comment=Ukończyłaś dzień trzeci
-item_3_id=FinishDayFour
-item_3_title=Do króliczej dziury
-item_3_comment=Ukończyłaś dzień czwarty
-item_4_id=FinishGame
-item_4_title=Znam ten ból
-item_4_comment=Ukończyłaś grę
-item_5_id=Procrastinator
-item_5_title=Kunktator
-item_5_hidden=true
-item_6_id=EnjoyingTheScenery
-item_6_title=RozkoszujÄ…c siÄ™ widokiem
-item_6_hidden=true
-item_7_id=Hotwheels
-item_7_title=Nowe 4 kółka
-item_7_hidden=true
-item_8_id=Aww
-item_8_title=Oooch!
-item_8_hidden=true
-item_9_id=Undateable
-item_9_title=Nierandkowalna
-item_9_hidden=true
-item_10_id=MrBear
-item_10_title=Pan Miś gotowy do służby!
-item_10_hidden=true
-item_11_id=Nocturnal
-item_11_title=Ciemność widzę
-item_11_hidden=true
-item_12_id=HowYouDoing
-item_12_title=A jak ty siÄ™ miewasz?
-item_12_hidden=true
-item_13_id=RestingScowlyFace
-item_13_title=NadÄ…sana mina
-item_13_hidden=true
-item_14_id=Pyromaniac
-item_14_title=Piroman
-item_14_hidden=true
-item_15_id=PassiveSmoking
-item_15_title=Bierne palenie
-item_15_hidden=true
-item_16_id=FilmBuff
-item_16_title=Kinomaniak
-item_16_hidden=true
-item_17_id=Heretic
-item_17_title=Heretyczka
-item_17_hidden=true
-item_18_id=TriggerHappy
-item_18_title=Porażające doznania
-item_18_hidden=true
-item_19_id=HookedOnCorleys
-item_19_title=Uzależniona od Corleysów
+item_19_comment=Became a huge fan of those sweet, addictive, not to mention cancer-inducing sticks of tobacco
 item_19_hidden=true
diff --git a/devtools/create_achievements/gen/steam-378630.ini b/devtools/create_achievements/gen/steam-378630.ini
index ff6232f0e6..5a013bfedc 100644
--- a/devtools/create_achievements/gen/steam-378630.ini
+++ b/devtools/create_achievements/gen/steam-378630.ini
@@ -61,4 +61,5 @@ item_19_title=Dialogue Lover
 item_19_comment=Complete the adventure with dialogue skipping disabled.
 item_20_id=ACH_CHEATER
 item_20_title=Cheater
+item_20_comment=This is not how you're going to beat Level27.
 item_20_hidden=true
diff --git a/devtools/create_achievements/gen/steam-396090.ini b/devtools/create_achievements/gen/steam-396090.ini
index ae2d8431d1..71361b3701 100644
--- a/devtools/create_achievements/gen/steam-396090.ini
+++ b/devtools/create_achievements/gen/steam-396090.ini
@@ -72,12 +72,15 @@ item_17_title=THE INTERVIEW
 item_17_comment=Survived the 'Hermit Kingdom' scenario.
 item_18_id=trophy_be_blood
 item_18_title=THERE WILL BE BLOOD
+item_18_comment=Murder Tariq.
 item_18_hidden=true
 item_19_id=trophy_the_siege
 item_19_title=THE SIEGE
+item_19_comment=Put an end to the Basenji Liberation Front.
 item_19_hidden=true
 item_20_id=trophy_outbreak
 item_20_title=OUTBREAK
+item_20_comment=Find a cure to the M2H1 disease.
 item_20_hidden=true
 item_21_id=trophy_inside_job
 item_21_title=INSIDE JOB
diff --git a/devtools/create_achievements/gen/steam-420180.ini b/devtools/create_achievements/gen/steam-420180.ini
index ded69b1398..3c3c036ae0 100644
--- a/devtools/create_achievements/gen/steam-420180.ini
+++ b/devtools/create_achievements/gen/steam-420180.ini
@@ -10,24 +10,28 @@ item_2_title=Call To Adventure!
 item_2_comment=Began the game for the first time.
 item_3_id=ACH_meritato
 item_3_title=Reap What You Sow?
+item_3_comment=Showed the article about Melvin in the paper.
 item_3_hidden=true
 item_4_id=ACH_citazione
 item_4_title=Quote-Unquote.
 item_4_comment=Distracted by a classic quote.
 item_5_id=ACH_puzza
 item_5_title=What A Stench!
+item_5_comment=Looked at the short man.
 item_5_hidden=true
 item_6_id=ACH_ticaccia
 item_6_title=OUUUUT!!!
 item_6_comment=Kicked out by Madame Tilton.
 item_7_id=ACH_penna
 item_7_title=Mightier Than The Sword.
+item_7_comment=Asked everyone for a working pen.
 item_7_hidden=true
 item_8_id=ACH_drink
 item_8_title=A Man Walks Into A Bar.
 item_8_comment=Asked the barman for advice.
 item_9_id=ACH_gag
 item_9_title=Spinal Tap.
+item_9_comment=Read the spine of every book in the library.
 item_9_hidden=true
 item_10_id=ACH_lapsus
 item_10_title=Freudian slip.
@@ -70,21 +74,26 @@ item_22_title=Spectral Innsmouth.
 item_22_comment=Arrived in Innsmouth.
 item_23_id=ACH_deformazione
 item_23_title=Faded Genes.
+item_23_comment=Learned about "The Innsmouth Look".
 item_23_hidden=true
 item_24_id=ACH_tuttiiluoghi
 item_24_title=I Came! I Saw!
+item_24_comment=Explored every last nook of Innsmouth.
 item_24_hidden=true
 item_25_id=ACH_muoriraff
 item_25_title=Let Sleeping Dogs Lie.
+item_25_comment=Entered the refinery.
 item_25_hidden=true
 item_26_id=ACH_lemmy
 item_26_title=Meatloaf!
 item_26_comment=Saw the young librarian in his Ace Of Spades era.
 item_27_id=ACH_tisparano
 item_27_title=Sleeping With The Fishes.
+item_27_comment=Killed by the smugglers.
 item_27_hidden=true
 item_28_id=ACH_finisci
 item_28_title=Beyond The Sea.
+item_28_comment=Chose a side.
 item_28_hidden=true
 item_29_id=ACH_pixelhunter
 item_29_title=Pixel Hunter.
@@ -94,12 +103,14 @@ item_30_title=Necronomicon.
 item_30_comment=Watched cutscene.
 item_31_id=ACH_cecchino
 item_31_title=360 No Scope!
+item_31_comment=Shot both Deep Ones.
 item_31_hidden=true
 item_32_id=ACH_segugio
 item_32_title=Ninja.
 item_32_comment=Shadowed the lookout to the smugglers' lair.
 item_33_id=ACH_giganteschio
 item_33_title=Skull! Skull! Skull!.
+item_33_comment=Looked at the gigantic skull several times.
 item_33_hidden=true
 item_34_id=ACH_zadok
 item_34_title=IA! IA!
@@ -124,131 +135,5 @@ item_40_title=Serpentine!
 item_40_comment=Dodged the bombardment and escaped Innsmouth!
 item_41_id=ACH_digita
 item_41_title=Lost Language.
-item_41_hidden=true
-[achievements:it_IT]
-item_0_id=ACH_maleducato
-item_0_title=Levati imbecille!
-item_0_comment=Incontra il tipo losco per la prima volta.
-item_1_id=ACH_malmenato
-item_1_title=Malmenato!
-item_1_comment=Goditi la scena.
-item_2_id=ACH_inizia
-item_2_title=Inizia l'avventura!
-item_2_comment=Inizia il gioco la prima volta.
-item_3_id=ACH_meritato
-item_3_title=Se l'è meritato!
-item_3_hidden=true
-item_4_id=ACH_citazione
-item_4_title=Citazione.
-item_4_comment=Fatti raggirare dalla citazione del barbone.
-item_5_id=ACH_puzza
-item_5_title=Che puzza.
-item_5_hidden=true
-item_6_id=ACH_ticaccia
-item_6_title=FUORIII!
-item_6_comment=Fatti cacciare dalla Tilton.
-item_7_id=ACH_penna
-item_7_title=Carenza di penne.
-item_7_hidden=true
-item_8_id=ACH_drink
-item_8_title=Scorte esaurite.
-item_8_comment=Chiedi tutto al barista.
-item_9_id=ACH_gag
-item_9_title=Costine senza barbecue.
-item_9_hidden=true
-item_10_id=ACH_lapsus
-item_10_title=Lapsus.
-item_10_comment=...
-item_11_id=ACH_licenziato
-item_11_title=Licenziato!
-item_11_comment=Fai licenziare Melvin.
-item_12_id=ACH_lettore
-item_12_title=Uomo di cultura.
-item_12_comment=Leggi i libri raccolti in biblioteca.
-item_13_id=ACH_hopelow
-item_13_title=Desillabatore!
-item_13_comment=Storpia in tutti i modi Andrew Hopelow.
-item_14_id=ACH_hopeballa
-item_14_title=Ballerino!
-item_14_comment=Osserva Hopelow danzare con la musica dei Whateley Hillbillies
-item_15_id=ACH_scopriymca
-item_15_title=Segui le indicazioni.
-item_15_comment=Trova la YMCA.
-item_16_id=ACH_scusanonno
-item_16_title=Scusa nonno.
-item_16_comment=Scambia la penna con il trenino.
-item_17_id=ACH_junior
-item_17_title=Qui! Bello.
-item_17_comment=Parla con Junior.
-item_18_id=ACH_tiara
-item_18_title=Eureka!
-item_18_comment=Risolvi il puzzle della tiara.
-item_19_id=ACH_rulli
-item_19_title=Come mi girano!
-item_19_comment=Risolvi l'enigma dei rulli.
-item_20_id=ACH_trenino
-item_20_title=Bimbo felice.
-item_20_comment=Dai il trenino all'uomo con valigia.
-item_21_id=ACH_crash
-item_21_title=Fare domande può essere pericoloso.
-item_21_comment=Fai crashare il gioco insistendo con la Tilton.
-item_22_id=ACH_innsmouth
-item_22_title=La spettrale Innsmouth.
-item_22_comment=Arriva ad Innsmouth.
-item_23_id=ACH_deformazione
-item_23_title=Diversità.
-item_23_hidden=true
-item_24_id=ACH_tuttiiluoghi
-item_24_title=L'ho visitata tutta!
-item_24_hidden=true
-item_25_id=ACH_muoriraff
-item_25_title=Non disturbar il can che dorme.
-item_25_hidden=true
-item_26_id=ACH_lemmy
-item_26_title=Sempre con noi!
-item_26_comment=Il bibliotecario da giovane è davvero un asso!
-item_27_id=ACH_tisparano
-item_27_title=Freddato.
-item_27_hidden=true
-item_28_id=ACH_finisci
-item_28_title=Via del mare.
-item_28_hidden=true
-item_29_id=ACH_pixelhunter
-item_29_title=Pixel Hunter.
-item_29_comment=Non usare mai gli aiuti sugli hotspot.
-item_30_id=ACH_necronomicon
-item_30_title=Necronomicon.
-item_30_comment=Assisti alla cutscene.
-item_31_id=ACH_cecchino
-item_31_title=Cecchino.
-item_31_hidden=true
-item_32_id=ACH_segugio
-item_32_title=Segugio.
-item_32_comment=Segui la vedetta fino al covo segreto.
-item_33_id=ACH_giganteschio
-item_33_title=Giganteschio.
-item_33_hidden=true
-item_34_id=ACH_zadok
-item_34_title=IA! IA!
-item_34_comment=Cthulhu ftaghn.
-item_35_id=ACH_lighthouse
-item_35_title=In cima!
-item_35_comment=Arriva in cima al faro.
-item_36_id=ACH_dormire
-item_36_title=Sogni d'oro.
-item_36_comment=Vai a dormire  e lasciati cullare dal rumore del mare.
-item_37_id=ACH_Fuggitivo
-item_37_title=Fuggitivo!
-item_37_comment=Scappa e non voltarti indietro!
-item_38_id=ACH_investigatore
-item_38_title=Investigatore.
-item_38_comment=Trova tutte le lettere.
-item_39_id=ACH_shoggoth
-item_39_title=Shoggoth!
-item_39_comment=Scappa dallo shoggoth.
-item_40_id=ACH_assalto
-item_40_title=Assalto!
-item_40_comment=Scappa mentre Innsmouth viene bombardata.
-item_41_id=ACH_digita
-item_41_title=Linguaggio perduto.
+item_41_comment=Typed DAGON to solve the panel puzzle.
 item_41_hidden=true
diff --git a/devtools/create_achievements/gen/steam-509920.ini b/devtools/create_achievements/gen/steam-509920.ini
index 15150cbc82..c4dedb90a6 100644
--- a/devtools/create_achievements/gen/steam-509920.ini
+++ b/devtools/create_achievements/gen/steam-509920.ini
@@ -4,9 +4,11 @@ item_0_title=Chapter 1: Bunker
 item_0_comment=You re-emerged from the bunker unharmed many months after catastrophe!
 item_1_id=ACH_TRADING
 item_1_title=Trading Paint
+item_1_comment=You made a trade with a local merchant and his apocalyptically challenged friend!
 item_1_hidden=true
 item_2_id=ACH_DEADSET
 item_2_title=Dead Set
+item_2_comment=You helped a kid see through his family grievances
 item_2_hidden=true
 item_3_id=ACH_CHAP2_SERENITY
 item_3_title=Chapter 2: Serenity
@@ -22,42 +24,54 @@ item_6_title=Chapter 5: Time Travel
 item_6_comment=You completed the final chapter at various historic locations!
 item_7_id=ACH_WARGAMES
 item_7_title=War Games
+item_7_comment=Tachy chose the biggest, best sounding option on an alien menu!
 item_7_hidden=true
 item_8_id=ACH_CRYSTAL1
 item_8_title=Yoraguni
+item_8_comment=You released the energy of an accumulator, deep under the ocean
 item_8_hidden=true
 item_9_id=ACH_CRYSTAL2
 item_9_title=Ziggurat of Ur
+item_9_comment=You released the energy of an accumulator, in this early bronze age location
 item_9_hidden=true
 item_10_id=ACH_CRYSTAL3
 item_10_title=Pyramid of Khufu
+item_10_comment=You released the energy of an accumulator, within the Great Pyramid of Giza
 item_10_hidden=true
 item_11_id=ACH_CRYSTAL4
 item_11_title=Chichen Itza
+item_11_comment=You released the energy of an accumulator, at a Mayan temple
 item_11_hidden=true
 item_12_id=ACH_GENIUS
 item_12_title=Genius!
 item_12_comment=You completed the game with the highest score possible!
 item_13_id=ACH_ALIENPANEL
 item_13_title=Control Panel
+item_13_comment=You successfully operated an alien control panel!
 item_13_hidden=true
 item_14_id=ACH_TESLA
 item_14_title=Nikola Tesla
+item_14_comment=You examined the computer in Doc's bunker
 item_14_hidden=true
 item_15_id=ACH_TRUTH
 item_15_title=The Truth
+item_15_comment=You examined the notebook from the handbag
 item_15_hidden=true
 item_16_id=ACH_BIGLIE
 item_16_title=The Big Lie
+item_16_comment=You spoke to Bishop about the Illuminati
 item_16_hidden=true
 item_17_id=ACH_ORDERNAME
 item_17_title=So Many Possibilities...
+item_17_comment=You spoke to Father Camden about names for his new church
 item_17_hidden=true
 item_18_id=ACH_SOUL
 item_18_title=I Am Soul
+item_18_comment=You spoke to Soul and felt an inner peace!
 item_18_hidden=true
 item_19_id=ACH_SIGNHERE
 item_19_title=I Am Doc Apocalypse
+item_19_comment=You enscribed your name on the rock and eliminated a paradox!
 item_19_hidden=true
 item_20_id=ACH_EUREKA
 item_20_title=Eureka Moment
@@ -67,19 +81,25 @@ item_21_title=Epic Fail
 item_21_comment=You completed the game with the lowest score possible!
 item_22_id=ACH_TUTORIAL
 item_22_title=Read The Manual
+item_22_comment=You watched the tutorial!
 item_22_hidden=true
 item_23_id=ACH_CRANE
 item_23_title=Hook A Schmuck
+item_23_comment=You used the crane and hook to obtain an important item!
 item_23_hidden=true
 item_24_id=ACH_BACKINTIME
 item_24_title=Back In Time
+item_24_comment=You used the "coffee machine" to travel into the past!
 item_24_hidden=true
 item_25_id=ACH_GRAVE
 item_25_title=Grave Consequences
+item_25_comment=You had a paranormal encounter with your ex-wife!
 item_25_hidden=true
 item_26_id=ACH_GREATNEUTRONS
 item_26_title=Great Neutrons!
+item_26_comment=Without any fore-warning about mutants, you encountered Girder!
 item_26_hidden=true
 item_27_id=ACH_DEPUTY
 item_27_title=Deputy Doc
+item_27_comment=You are Deputy Doc, head of internal family affairs!
 item_27_hidden=true
diff --git a/devtools/create_achievements/gen/steam-551840.ini b/devtools/create_achievements/gen/steam-551840.ini
index 2c6da2de23..2f858f1553 100644
--- a/devtools/create_achievements/gen/steam-551840.ini
+++ b/devtools/create_achievements/gen/steam-551840.ini
@@ -16,12 +16,15 @@ item_4_title=Impassionate
 item_4_comment=Complete Quest for Yrolg in thirteen minutes
 item_5_id=YROLG5
 item_5_title=Rise From Your Grave
+item_5_comment=Everything's better with zombies.
 item_5_hidden=true
 item_6_id=YROLG6
 item_6_title=Prickly like a hedgehog
+item_6_comment=Stick it to the man!
 item_6_hidden=true
 item_7_id=YROLG7
 item_7_title=Get your Tan on
+item_7_comment=Aghh! It burns! It burns us...
 item_7_hidden=true
 item_8_id=QUASAR0
 item_8_title=If Duct Tape won't fix it...
@@ -40,12 +43,15 @@ item_12_title=Now That's Teamwork!
 item_12_comment=Complete Starship Quasar
 item_13_id=QUASAR5
 item_13_title=The World is your Oyster
+item_13_comment=Visit all Morgana locations.
 item_13_hidden=true
 item_14_id=QUASAR6
 item_14_title=Office Romance
+item_14_comment=That was very sweet of you.
 item_14_hidden=true
 item_15_id=QUASAR7
 item_15_title=Never Enough Data
+item_15_comment=Scan all the scans!
 item_15_hidden=true
 item_16_id=LOTTER1
 item_16_title=Philosopher's Scone
@@ -55,684 +61,35 @@ item_17_title=You've Runed Your Life
 item_17_comment=Pass the Runes exam
 item_18_id=LOTTER3
 item_18_title=Draft of Opening
+item_18_comment=Learn the Alohomora spell
 item_18_hidden=true
 item_19_id=LOTTER5
 item_19_title=Utiliference your Synergies
+item_19_comment=Learn the Riahytniop spell
 item_19_hidden=true
 item_20_id=LOTTER6
 item_20_title=Did The Earth Move For You?
+item_20_comment=Learn the Tremorichter spell
 item_20_hidden=true
 item_21_id=LOTTER7
 item_21_title=What Number Am I Thinking Of?
+item_21_comment=Learn the Legilimens spell
 item_21_hidden=true
 item_22_id=LOTTER8
 item_22_title=None Shall Pass
+item_22_comment=Learn the Colloportus spell
 item_22_hidden=true
 item_23_id=LOTTER9
 item_23_title=I Forget What This Achievement Is For
+item_23_comment=Forget the Obliviate spell
 item_23_hidden=true
 item_24_id=LOTTER10
 item_24_title=Density Beckons
 item_24_comment=Get a date with Cho
 item_25_id=LOTTER4
 item_25_title=Is It Easter Yet?
+item_25_comment=Learn the Vanitatia spell
 item_25_hidden=true
 item_26_id=LOTTER0
 item_26_title=This Class Has No Future
 item_26_comment=Pass the History exam
-[achievements:de_DE]
-item_0_id=YROLG0
-item_0_title=Verbrennt sie
-item_0_comment=Im Zweifelsfall etwas anzünden.
-item_1_id=YROLG1
-item_1_title=Spießt sie auf
-item_1_comment=Schaschlik!
-item_2_id=YROLG2
-item_2_title=Zerschmettert sie mit Steinen
-item_2_comment=Der gute alte Stein. Den schafft keiner.
-item_3_id=YROLG3
-item_3_title=In Dein Loch ohne Boden
-item_3_comment=Keine Tiefen sind zu tief!
-item_4_id=YROLG4
-item_4_title=Leidenschaftlich
-item_4_comment=Spiele Quest for Yrolg in dreizehn Minuten durch.
-item_5_id=YROLG5
-item_5_title=Erhebe Dich aus Deinem Grab
-item_5_hidden=true
-item_6_id=YROLG6
-item_6_title=Igelborstig
-item_6_hidden=true
-item_7_id=YROLG7
-item_7_title=Hol dir die Bräune
-item_7_hidden=true
-item_8_id=QUASAR0
-item_8_title=Wenn Klebeband es nicht richtet...
-item_8_comment=...benutzt du noch nicht genug!
-item_9_id=QUASAR1
-item_9_title=Virtueller Urlaub
-item_9_comment=Stellvertretender Besuch, fürwahr.
-item_10_id=QUASAR2
-item_10_title=Der Weg zum Herzen
-item_10_comment=...führt durch den Magen.
-item_11_id=QUASAR3
-item_11_title=I Can Has Cheezburger
-item_11_comment=Haustiere sind gut für den Blutdruck.
-item_12_id=QUASAR4
-item_12_title=Das nenne ich Teamwork!
-item_12_comment=Spiele Starship Quasar durch.
-item_13_id=QUASAR5
-item_13_title=Die Welt liegt Dir zu Füßen
-item_13_hidden=true
-item_14_id=QUASAR6
-item_14_title=Büroromanze
-item_14_hidden=true
-item_15_id=QUASAR7
-item_15_title=Nie genügend Daten
-item_15_hidden=true
-item_16_id=LOTTER1
-item_16_title=Der Wein der Weisen
-item_16_comment=Bestehe die Alchemie-Prüfung.
-item_17_id=LOTTER2
-item_17_title=Du hast Dein Leben runiert
-item_17_comment=Bestehe die Runen-Prüfung.
-item_18_id=LOTTER3
-item_18_title=Erster Entwurf
-item_18_hidden=true
-item_19_id=LOTTER5
-item_19_title=Verwendnutze Deine Synergien
-item_19_hidden=true
-item_20_id=LOTTER6
-item_20_title=Hat die Erde für Dich gebebt?
-item_20_hidden=true
-item_21_id=LOTTER7
-item_21_title=An welche Zahl denke ich gerade?
-item_21_hidden=true
-item_22_id=LOTTER8
-item_22_title=Niemand kann vorbei
-item_22_hidden=true
-item_23_id=LOTTER9
-item_23_title=Ich habe vergessen, wofür diese Errungenschaft war
-item_23_hidden=true
-item_24_id=LOTTER10
-item_24_title=Density Beckons
-item_24_comment=Bekomme ein Date mit Cho.
-item_25_id=LOTTER4
-item_25_title=Ja, ist denn schon Ostern?
-item_25_hidden=true
-item_26_id=LOTTER0
-item_26_title=Diese Klasse hat keine Zukunft
-item_26_comment=Bestehe die Geschichtsprüfung.
-[achievements:fr_FR]
-item_0_id=YROLG0
-item_0_title=Brûlez-les
-item_0_comment=En cas de doute, mettez le feu.
-item_1_id=YROLG1
-item_1_title=Embrochez-les
-item_1_comment=Shish-ke-bab !
-item_2_id=YROLG2
-item_2_title=Écrabouillez-les sous les rochers.
-item_2_comment=Rien ne vaut un bon vieux roc.
-item_3_id=YROLG3
-item_3_title=Dans ton puits sans fond
-item_3_comment=Aucun abîme n'est trop profond !
-item_4_id=YROLG4
-item_4_title=Diablement passionné
-item_4_comment=Terminez Quest for Yrolg en trente minutes
-item_5_id=YROLG5
-item_5_title=Sors de ta tombe
-item_5_hidden=true
-item_6_id=YROLG6
-item_6_title=Piquant comme un hérisson
-item_6_hidden=true
-item_7_id=YROLG7
-item_7_title=Faites-vous bronzer
-item_7_hidden=true
-item_8_id=QUASAR0
-item_8_title=Si le scotch ne suffit pas...
-item_8_comment=...c'est que tu n'en mets pas assez !
-item_9_id=QUASAR1
-item_9_title=Vacances virtuelles
-item_9_comment=Visite virtuelle, véritable.
-item_10_id=QUASAR2
-item_10_title=Le chemin vers le coeur
-item_10_comment=...passe par l'estomac.
-item_11_id=QUASAR3
-item_11_title=I Can Has Cheezburger
-item_11_comment=Les animaux apaisent l'âme
-item_12_id=QUASAR4
-item_12_title=Ça c'est du travail d'équipe !
-item_12_comment=Terminer Starship Quasar
-item_13_id=QUASAR5
-item_13_title=Le monde est à vous
-item_13_hidden=true
-item_14_id=QUASAR6
-item_14_title=Amourette de bureau
-item_14_hidden=true
-item_15_id=QUASAR7
-item_15_title=Toujours plus de données
-item_15_hidden=true
-item_16_id=LOTTER1
-item_16_title=Pierre philosodalle
-item_16_comment=Réussissez l'examen d'alchimie
-item_17_id=LOTTER2
-item_17_title=Vous avez runé votre vie
-item_17_comment=Réussissez l'examen de runes
-item_18_id=LOTTER3
-item_18_title=Une esquisse d'ouverture
-item_18_hidden=true
-item_19_id=LOTTER5
-item_19_title=Utiliférencez vos Synergies
-item_19_hidden=true
-item_20_id=LOTTER6
-item_20_title=Est-ce que la Terre tourne pour toi ?
-item_20_hidden=true
-item_21_id=LOTTER7
-item_21_title=À quel nombre est-ce que je pense ?
-item_21_hidden=true
-item_22_id=LOTTER8
-item_22_title=Vous ne passerez pas
-item_22_hidden=true
-item_23_id=LOTTER9
-item_23_title=À quoi sert ce succès ?
-item_23_hidden=true
-item_24_id=LOTTER10
-item_24_title=L'attraction des corps
-item_24_comment=Obtenez un rendez-vous avec Cho
-item_25_id=LOTTER4
-item_25_title=C'est déjà Pâques ?
-item_25_hidden=true
-item_26_id=LOTTER0
-item_26_title=Cette classe n'a aucun futur
-item_26_comment=Réussissez l'examen d'Histoire
-[achievements:it_IT]
-item_0_id=YROLG0
-item_0_title=Bruciali
-item_0_comment=Nel dubbio, appicca un incendio.
-item_1_id=YROLG1
-item_1_title=Arrostiscili
-item_1_comment=Shish-ka-bob!
-item_2_id=YROLG2
-item_2_title=Schiacciali coi sassi
-item_2_comment=Il caro, vecchio sasso. Niente batte il sasso.
-item_3_id=YROLG3
-item_3_title=Nel tuo pozzo senza fondo
-item_3_comment=Raschia il fondo del barile!
-item_4_id=YROLG4
-item_4_title=Senza compassione
-item_4_comment=Completa Quest for Yrolg in tredici minuti
-item_5_id=YROLG5
-item_5_title=Sorgi dalla tomba
-item_5_hidden=true
-item_6_id=YROLG6
-item_6_title=Spinoso come un porcospino
-item_6_hidden=true
-item_7_id=YROLG7
-item_7_title=Abbronzati
-item_7_hidden=true
-item_8_id=QUASAR0
-item_8_title=Se non puoi ripararlo col nastro adesivo...
-item_8_comment=...non ne hai usato abbastanza!
-item_9_id=QUASAR1
-item_9_title=Vacanza virtuale
-item_9_comment=Visita veramente vicariante.
-item_10_id=QUASAR2
-item_10_title=La porta del cuore
-item_10_comment=...passa per lo stomaco.
-item_11_id=QUASAR3
-item_11_title=Cani e padroni di cani
-item_11_comment=Prendersi un animale domestico aiuta ad abbassare la pressione.
-item_12_id=QUASAR4
-item_12_title=Questo sì che è gioco di squadra!
-item_12_comment=Completa Starship Quasar
-item_13_id=QUASAR5
-item_13_title=Il mondo è la tua ostrica
-item_13_hidden=true
-item_14_id=QUASAR6
-item_14_title=Storia dÂ’amore dÂ’ufficio
-item_14_hidden=true
-item_15_id=QUASAR7
-item_15_title=Scorpacciata di dati
-item_15_hidden=true
-item_16_id=LOTTER1
-item_16_title=Dieta filosofale
-item_16_comment=Passa lÂ’esame di alchimia
-item_17_id=LOTTER2
-item_17_title=Runiamoci una canna
-item_17_comment=Passa lÂ’esame di rune
-item_18_id=LOTTER3
-item_18_title=Bozza dÂ’apertura
-item_18_hidden=true
-item_19_id=LOTTER5
-item_19_title=Utiliferità delle sinergie
-item_19_hidden=true
-item_20_id=LOTTER6
-item_20_title=Hai smosso mari e monti?
-item_20_hidden=true
-item_21_id=LOTTER7
-item_21_title=A che numero sto pensando?
-item_21_hidden=true
-item_22_id=LOTTER8
-item_22_title=Nessuno può passare
-item_22_hidden=true
-item_23_id=LOTTER9
-item_23_title=Non mi ricordo per cosa è questo achievement
-item_23_hidden=true
-item_24_id=LOTTER10
-item_24_title=Il richiamo della densità
-item_24_comment=Convinci Cho a uscire insieme
-item_25_id=LOTTER4
-item_25_title=E adesso è più facile?
-item_25_hidden=true
-item_26_id=LOTTER0
-item_26_title=Questo corso non ha futuro
-item_26_comment=Passa lÂ’esame di storia
-[achievements:es_ES]
-item_0_id=YROLG0
-item_0_title=Quémalos
-item_0_comment=Ante la duda, préndele fuego a algo.
-item_1_id=YROLG1
-item_1_title=Pincho moruno
-item_1_comment=¡Shish-ke-BUM!
-item_2_id=YROLG2
-item_2_title=Tira la piedra y esconde la mano
-item_2_comment=Piedra buena. Piedra siempre gana.
-item_3_id=YROLG3
-item_3_title=Al pozo sin fondo
-item_3_comment=¡Eso sí que es caer bajo!
-item_4_id=YROLG4
-item_4_title=Apasionado
-item_4_comment=Completa Quest for Yrolg en treinta minutos.
-item_5_id=YROLG5
-item_5_title=Levántate de la tumba
-item_5_hidden=true
-item_6_id=YROLG6
-item_6_title=Más pinchos que un erizo
-item_6_hidden=true
-item_7_id=YROLG7
-item_7_title=Sesión de bronceado
-item_7_hidden=true
-item_8_id=QUASAR0
-item_8_title=¡Si la cinta aislante no lo arregla...
-item_8_comment=...es porque no estás utilizando suficiente!
-item_9_id=QUASAR1
-item_9_title=Vacaciones virtuales
-item_9_comment=Visita simulada, de verdad de la buena.
-item_10_id=QUASAR2
-item_10_title=El camino al corazón...
-item_10_comment=...empieza en el estómago.
-item_11_id=QUASAR3
-item_11_title=¿Me daz hamburgueza?
-item_11_comment=Las mascotas ayudan a reducir la presión sanguínea.
-item_12_id=QUASAR4
-item_12_title=¡Así se trabaja en equipo!
-item_12_comment=Completa Starship Quasar.
-item_13_id=QUASAR5
-item_13_title=Tienes el mundo a tus pies
-item_13_hidden=true
-item_14_id=QUASAR6
-item_14_title=Romance en el trabajo
-item_14_hidden=true
-item_15_id=QUASAR7
-item_15_title=Nunca hay suficientes datos
-item_15_hidden=true
-item_16_id=LOTTER1
-item_16_title=La piedra piripifal
-item_16_comment=Aprueba el examen de Alquimia.
-item_17_id=LOTTER2
-item_17_title=Te has arrunado la vida
-item_17_comment=Aprueba el examen de Runas.
-item_18_id=LOTTER3
-item_18_title=¡Puertas abiertas!
-item_18_hidden=true
-item_19_id=LOTTER5
-item_19_title=Utiliferencia tus sinergias
-item_19_hidden=true
-item_20_id=LOTTER6
-item_20_title=¿Has hecho temblar la tierra?
-item_20_hidden=true
-item_21_id=LOTTER7
-item_21_title=¿En qué número estoy pensando?
-item_21_hidden=true
-item_22_id=LOTTER8
-item_22_title=No pasarás
-item_22_hidden=true
-item_23_id=LOTTER9
-item_23_title=No me acuerdo de para qué servía este logro
-item_23_hidden=true
-item_24_id=LOTTER10
-item_24_title=El Destino te llama
-item_24_comment=Consigue una cita con Cho.
-item_25_id=LOTTER4
-item_25_title=¿Ya es Pascua?
-item_25_hidden=true
-item_26_id=LOTTER0
-item_26_title=Esta clase no tiene futuro
-item_26_comment=Aprueba el examen de Historia.
-[achievements:ru_RU]
-item_0_id=YROLG0
-item_0_title=Сожги их
-item_0_comment=Проблемы? Подожги что-нибудь!
-item_1_id=YROLG1
-item_1_title=Проткни их
-item_1_comment=Шашлык!
-item_2_id=YROLG2
-item_2_title=Сокруши их камнями
-item_2_comment=Старый добрый камень. Нет ничего лучше.
-item_3_id=YROLG3
-item_3_title=Бездонная яма
-item_3_comment=Нет недостижимых глубин!
-item_4_id=YROLG4
-item_4_title=Холодная голова
-item_4_comment=Закончить Quest for Yrolg за тринадцать минут
-item_5_id=YROLG5
-item_5_title=Восстань из могилы
-item_5_hidden=true
-item_6_id=YROLG6
-item_6_title=Колючий, как дикобраз
-item_6_hidden=true
-item_7_id=YROLG7
-item_7_title=А вот и загар
-item_7_hidden=true
-item_8_id=QUASAR0
-item_8_title=Если изолента не помогает...
-item_8_comment=...вы просто недостаточно взяли!
-item_9_id=QUASAR1
-item_9_title=Виртуальные Выходные
-item_9_comment=Внезапные визиты, весьма.
-item_10_id=QUASAR2
-item_10_title=Путь к Сердцу
-item_10_comment=...лежит через желудок.
-item_11_id=QUASAR3
-item_11_title=Я могу получить чизбургер
-item_11_comment=Питомцы снижают кровяное давление.
-item_12_id=QUASAR4
-item_12_title=Вот это команда!
-item_12_comment=Закончить Starship Quasar
-item_13_id=QUASAR5
-item_13_title=Мир устрицей мне будет
-item_13_hidden=true
-item_14_id=QUASAR6
-item_14_title=Служебный роман
-item_14_hidden=true
-item_15_id=QUASAR7
-item_15_title=Данных всегда недостаточно
-item_15_hidden=true
-item_16_id=LOTTER1
-item_16_title=Философский хлеб
-item_16_comment=Сдать экзамен по Алхимии
-item_17_id=LOTTER2
-item_17_title=Твоя жизнь в рунах
-item_17_comment=Сдать экзамен по Рунам
-item_18_id=LOTTER3
-item_18_title=Открытый драфт
-item_18_hidden=true
-item_19_id=LOTTER5
-item_19_title=Утилиматизируй свою Синергию
-item_19_hidden=true
-item_20_id=LOTTER6
-item_20_title=Будет ли Земля работать на вас?
-item_20_hidden=true
-item_21_id=LOTTER7
-item_21_title=Какое число я загадал?
-item_21_hidden=true
-item_22_id=LOTTER8
-item_22_title=Никто не пройдёт
-item_22_hidden=true
-item_23_id=LOTTER9
-item_23_title=Я забыл, что это за достижение
-item_23_hidden=true
-item_24_id=LOTTER10
-item_24_title=Судьба зовёт
-item_24_comment=Получить свидание с Чо
-item_25_id=LOTTER4
-item_25_title=Всё ещё Пасха?
-item_25_hidden=true
-item_26_id=LOTTER0
-item_26_title=У этого класса нет будущего
-item_26_comment=Сдать экзамен по Истории
-[achievements:pt_PT]
-item_0_id=YROLG0
-item_0_title=Queimá-los
-item_0_comment=Na dúvida, incendeia algo.
-item_1_id=YROLG1
-item_1_title=Espetá-los
-item_1_comment=Shish-ka-bob!
-item_2_id=YROLG2
-item_2_title=Esmagá-los com Rochas
-item_2_comment=Boa velha pedra. Nada é melhor que pedra.
-item_3_id=YROLG3
-item_3_title=Para Dentro do teu Abismo
-item_3_comment=Nada é demasiado profundo!
-item_4_id=YROLG4
-item_4_title=Dedicado
-item_4_comment=Completa Quest for Yrolg em treze minutos
-item_5_id=YROLG5
-item_5_title=Ergue-te da tua Cova
-item_5_hidden=true
-item_6_id=YROLG6
-item_6_title=Espinhoso como um Ouriço
-item_6_hidden=true
-item_7_id=YROLG7
-item_7_title=Trabalha no teu Bronze
-item_7_hidden=true
-item_8_id=QUASAR0
-item_8_title=Se Fita-Cola Não Resolve...
-item_8_comment=...não estás a usar que chegue!
-item_9_id=QUASAR1
-item_9_title=Viagem Virtual
-item_9_comment=Visita vicária, verdade.
-item_10_id=QUASAR2
-item_10_title=O Caminho para o Coração
-item_10_comment=...é pelo estômago.
-item_11_id=QUASAR3
-item_11_title=I Can Has Cheezburger
-item_11_comment=Animais de estimação baixam a tensão.
-item_12_id=QUASAR4
-item_12_title=Trabalho de Equipa!
-item_12_comment=Completa Starship Quasar
-item_13_id=QUASAR5
-item_13_title=O Mundo é a tua Ostra
-item_13_hidden=true
-item_14_id=QUASAR6
-item_14_title=Romance em Serviço
-item_14_hidden=true
-item_15_id=QUASAR7
-item_15_title=Não Há Dados Que Cheguem
-item_15_hidden=true
-item_16_id=LOTTER1
-item_16_title=Scone Filosofal
-item_16_comment=Passa o exame de Alquimia
-item_17_id=LOTTER2
-item_17_title=Arrunaste a tua Vida
-item_17_comment=Passa o exame de Runas
-item_18_id=LOTTER3
-item_18_title=Brisa de Abertura
-item_18_hidden=true
-item_19_id=LOTTER5
-item_19_title=Utiliferencia as tuas Sinergias
-item_19_hidden=true
-item_20_id=LOTTER6
-item_20_title=Sentiste a Terra a Mexer?
-item_20_hidden=true
-item_21_id=LOTTER7
-item_21_title=Em Que Número Estou a Pensar?
-item_21_hidden=true
-item_22_id=LOTTER8
-item_22_title=Ninguém Passará
-item_22_hidden=true
-item_23_id=LOTTER9
-item_23_title=Esqueci-me Para Que Serve Este Feito
-item_23_hidden=true
-item_24_id=LOTTER10
-item_24_title=A Densidade Chama
-item_24_comment=Marca um encontro com Cho
-item_25_id=LOTTER4
-item_25_title=Já é Páscoa?
-item_25_hidden=true
-item_26_id=LOTTER0
-item_26_title=Esta Aula Não Tem Futuro
-item_26_comment=Passa o exame de História
-[achievements:nl_NL]
-item_0_id=YROLG0
-item_0_title=Verbrand Ze
-item_0_comment=In geval van twijfel, steek het in de fik.
-item_1_id=YROLG1
-item_1_title=Spiets Ze
-item_1_comment=Shish-ka-bob!
-item_2_id=YROLG2
-item_2_title=Verpletter ze met Stenen
-item_2_comment=Je maakt een verpletterende indruk!
-item_3_id=YROLG3
-item_3_title=In uw Bodemloze Put
-item_3_comment=Hoe diep kun je gaan?
-item_4_id=YROLG4
-item_4_title=Impressionisme
-item_4_comment=Win Quest for Yrolg in dertien minuten
-item_5_id=YROLG5
-item_5_title=Sta Op Uit Het Graf
-item_5_hidden=true
-item_6_id=YROLG6
-item_6_title=Je lijkt wel een Egel
-item_6_hidden=true
-item_7_id=YROLG7
-item_7_title=Zonnebaden
-item_7_hidden=true
-item_8_id=QUASAR0
-item_8_title=Als Duct Tape niet helpt...
-item_8_comment=...dan gebruik je niet genoeg!
-item_9_id=QUASAR1
-item_9_title=Virtuele Vakantie
-item_9_comment=Verstandig vrijwillig verzuim verzekerd.
-item_10_id=QUASAR2
-item_10_title=The Weg naar het Hart
-item_10_comment=...is door de maag.
-item_11_id=QUASAR3
-item_11_title=Doe Niet Zo Kattig
-item_11_comment=Huisdieren verlagen je bloeddruk.
-item_12_id=QUASAR4
-item_12_title=Dat is pas Teamwork!
-item_12_comment=Haal het einde van Starship Quasar
-item_13_id=QUASAR5
-item_13_title=De Wereld in je Binnenzak
-item_13_hidden=true
-item_14_id=QUASAR6
-item_14_title=Kantoor Romance
-item_14_hidden=true
-item_15_id=QUASAR7
-item_15_title=Nooit Genoeg Data
-item_15_hidden=true
-item_16_id=LOTTER1
-item_16_title=Steen der Wijsneuzen
-item_16_comment=Slaag voor het Alchemieëxamen
-item_17_id=LOTTER2
-item_17_title=Je Leven is Geruneerd
-item_17_comment=Slaag voor het Runenexamen
-item_18_id=LOTTER3
-item_18_title=Sesam Open U
-item_18_hidden=true
-item_19_id=LOTTER5
-item_19_title=Utilifiseer je Synergismen
-item_19_hidden=true
-item_20_id=LOTTER6
-item_20_title=Bevat Schokkende Beelden
-item_20_hidden=true
-item_21_id=LOTTER7
-item_21_title=Ik Heb een Getal in mijn Hoofd...
-item_21_hidden=true
-item_22_id=LOTTER8
-item_22_title=Niemand Mag Erlangs
-item_22_hidden=true
-item_23_id=LOTTER9
-item_23_title=Ik Vergat Waar Deze Achievement Voor Is
-item_23_hidden=true
-item_24_id=LOTTER10
-item_24_title=Bestemmingsding
-item_24_comment=Ga uit met Cho
-item_25_id=LOTTER4
-item_25_title=Is Het Al Pasen?
-item_25_hidden=true
-item_26_id=LOTTER0
-item_26_title=In Deze Klas Zit Geen Toekomst
-item_26_comment=Slaag voor het Geschiedenisexamen
-[achievements:hu_HU]
-item_0_id=YROLG0
-item_0_title=Hadd égjenek
-item_0_comment=Ha nem tudo, mit csinálj, gyújts fel valamit.
-item_1_id=YROLG1
-item_1_title=Nyársra velük
-item_1_comment=Rabló-pecsenye!
-item_2_id=YROLG2
-item_2_title=Zúzd meg õket kövekkel
-item_2_comment=Jó öreg kõ. Nincs jobb a köveknél.
-item_3_id=YROLG3
-item_3_title=A Feneketlen Vermedbe
-item_3_comment=Nincs eléggé mély mélység!
-item_4_id=YROLG4
-item_4_title=Szenvedélyes
-item_4_comment=Fejezd be az Yrolg Küldetését tizenhárom perc alatt
-item_5_id=YROLG5
-item_5_title=Kelj fel sírodból
-item_5_hidden=true
-item_6_id=YROLG6
-item_6_title=Szúrós, mint egy sündisznó
-item_6_hidden=true
-item_7_id=YROLG7
-item_7_title=Barnulásra fel
-item_7_hidden=true
-item_8_id=QUASAR0
-item_8_title=Ha a szigszalag nem javítja meg...
-item_8_comment=...akkor nem használtál eleget!
-item_9_id=QUASAR1
-item_9_title=Virtuális Vakáció
-item_9_comment=Léha látogatás, láthatóan.
-item_10_id=QUASAR2
-item_10_title=A Szívhez vezetõ út
-item_10_comment=...a gyomron át visz.
-item_11_id=QUASAR3
-item_11_title=Kéne egy Csízburger
-item_11_comment=A házi kedvencek csökkentik a vérnyomást.
-item_12_id=QUASAR4
-item_12_title=Na ez aztán a csapatmunka!
-item_12_comment=Teljesítsd a Quasar Csillaghajót
-item_13_id=QUASAR5
-item_13_title=A Világ a te Osztrigád
-item_13_hidden=true
-item_14_id=QUASAR6
-item_14_title=Irodai románc
-item_14_hidden=true
-item_15_id=QUASAR7
-item_15_title=Sosincs elég adat
-item_15_hidden=true
-item_16_id=LOTTER1
-item_16_title=A Bölcsek Fánkja
-item_16_comment=Menj át az Alkímia vizsgán
-item_17_id=LOTTER2
-item_17_title=Életed rúnákban hever
-item_17_comment=Tedd le a Rúna vizsgát
-item_18_id=LOTTER3
-item_18_title=Tervezett Nyitás
-item_18_hidden=true
-item_19_id=LOTTER5
-item_19_title=Hasznákold a Szinergiáidat
-item_19_hidden=true
-item_20_id=LOTTER6
-item_20_title=Érted mozog a Föld?
-item_20_hidden=true
-item_21_id=LOTTER7
-item_21_title=Melyik számra gondoltam?
-item_21_hidden=true
-item_22_id=LOTTER8
-item_22_title=Senki sem jöhet át
-item_22_hidden=true
-item_23_id=LOTTER9
-item_23_title=Elfelejtettem, mire való ez a vívmány
-item_23_hidden=true
-item_24_id=LOTTER10
-item_24_title=Hív a sûrûség
-item_24_comment=Randizz Cho-val
-item_25_id=LOTTER4
-item_25_title=Itt van már a húsvét?
-item_25_hidden=true
-item_26_id=LOTTER0
-item_26_title=Ennek az osztálynak nincs Jövõje
-item_26_comment=Menj át a Történelem vizsgán
diff --git a/devtools/create_achievements/gen/steam-595560.ini b/devtools/create_achievements/gen/steam-595560.ini
index c38f240ad0..d5e40324fa 100644
--- a/devtools/create_achievements/gen/steam-595560.ini
+++ b/devtools/create_achievements/gen/steam-595560.ini
@@ -52,6 +52,7 @@ item_16_title=Lair of the Bear
 item_16_comment=You've found Howgrundi's lair.
 item_17_id=Destiny
 item_17_title=Destiny
+item_17_comment=Your destiny awaits...
 item_17_hidden=true
 item_18_id=PennyForThePoor
 item_18_title=Penny for the Poor
@@ -70,6 +71,7 @@ item_22_title=Red Hot Reaction!
 item_22_comment=You hit every single apple!
 item_23_id=Traveller
 item_23_title=Traveller of the Five Islands
+item_23_comment=You've reached a bizarre new land!
 item_23_hidden=true
 item_24_id=PosterBoy
 item_24_title=Poster Boy
diff --git a/devtools/create_achievements/gen/steam-603870.ini b/devtools/create_achievements/gen/steam-603870.ini
index 2af54a1dce..f2e26cbad5 100644
--- a/devtools/create_achievements/gen/steam-603870.ini
+++ b/devtools/create_achievements/gen/steam-603870.ini
@@ -31,12 +31,14 @@ item_9_title=Take Him Away, Boys
 item_9_comment=Capture the assassin
 item_10_id=NEW_ACHIEVEMENT_1_10
 item_10_title=Happily Ever After
+item_10_comment=A fairy tale ending
 item_10_hidden=true
 item_11_id=NEW_ACHIEVEMENT_1_11
 item_11_title=Summer Unending
 item_11_comment=You have found solace
 item_12_id=NEW_ACHIEVEMENT_1_12
 item_12_title=By Hook or By Crook
+item_12_comment=I never liked that family anyway
 item_12_hidden=true
 item_13_id=NEW_ACHIEVEMENT_1_13
 item_13_title=Not Our Problem
@@ -46,15 +48,19 @@ item_14_title=Meticulous Adventurer
 item_14_comment=See all 20 cutscenes in one playthrough
 item_15_id=NEW_ACHIEVEMENT_1_15
 item_15_title=Karma is a Witch
+item_15_comment=Robbing the robber
 item_15_hidden=true
 item_16_id=NEW_ACHIEVEMENT_1_16
 item_16_title=Earned Her Name
+item_16_comment=Graduated as sorceress
 item_16_hidden=true
 item_17_id=NEW_ACHIEVEMENT_1_17
 item_17_title=Midir's Manumission
+item_17_comment=Rescued the tailor
 item_17_hidden=true
 item_18_id=NEW_ACHIEVEMENT_1_18
 item_18_title=Kindred Spirits
+item_18_comment=Brought back the changeling
 item_18_hidden=true
 item_19_id=NEW_ACHIEVEMENT_1_19
 item_19_title=Rhiannon's Restoration
@@ -67,27 +73,35 @@ item_21_title=Survival of the Fittest
 item_21_comment=Counterattack on the goblins
 item_22_id=NEW_ACHIEVEMENT_1_22
 item_22_title=Scarecrow Support
+item_22_comment=Any two sides of an isosceles triangle...
 item_22_hidden=true
 item_23_id=NEW_ACHIEVEMENT_1_23
 item_23_title=Second Chance
+item_23_comment=Everybody deserves at least one
 item_23_hidden=true
 item_24_id=NEW_ACHIEVEMENT_1_24
 item_24_title=Not Bad for a Mortal
+item_24_comment=Complete Arawn's test
 item_24_hidden=true
 item_25_id=NEW_ACHIEVEMENT_1_25
 item_25_title=Seven at One Blow
+item_25_comment=Befriend the giant
 item_25_hidden=true
 item_26_id=NEW_ACHIEVEMENT_1_26
 item_26_title=It Belongs in a Museum
+item_26_comment=Borrowing isn't stealing
 item_26_hidden=true
 item_27_id=NEW_ACHIEVEMENT_1_27
 item_27_title=Rogue's Escape
+item_27_comment=Show Geraint the ropes
 item_27_hidden=true
 item_28_id=NEW_ACHIEVEMENT_1_28
 item_28_title=Take the High Road
+item_28_comment=Spare the goblins
 item_28_hidden=true
 item_29_id=NEW_ACHIEVEMENT_1_29
 item_29_title=Cailte's Carelessness
+item_29_comment=Smuggle the shield out
 item_29_hidden=true
 item_30_id=NEW_ACHIEVEMENT_1_30
 item_30_title=Spun from Straw
diff --git a/devtools/create_achievements/gen/steam-610900.ini b/devtools/create_achievements/gen/steam-610900.ini
index f0bc4e3070..e6c282cf51 100644
--- a/devtools/create_achievements/gen/steam-610900.ini
+++ b/devtools/create_achievements/gen/steam-610900.ini
@@ -49,6 +49,7 @@ item_15_title=Checkmate
 item_15_comment=A poignant discovery
 item_16_id=Ramdancamera
 item_16_title=Who was that?
+item_16_comment=The flashing glimpse of a friend
 item_16_hidden=true
 item_17_id=Compass
 item_17_title=Navigator
@@ -61,19 +62,25 @@ item_19_title=Where have I seen this before?
 item_19_comment=A familiar friend...
 item_20_id=Revelations
 item_20_title=Revelations
+item_20_comment=Yandi uncovers a huge scandal
 item_20_hidden=true
 item_21_id=Mansquished
 item_21_title=Flat as a pancake
+item_21_comment=I think he deserved it for what he did
 item_21_hidden=true
 item_22_id=Logon
 item_22_title=Password accepted!
+item_22_comment=She really likes orangutans
 item_22_hidden=true
 item_23_id=Perch
 item_23_title=Vista
+item_23_comment=A view of destruction.
 item_23_hidden=true
 item_24_id=TheEnd
 item_24_title=The End
+item_24_comment=You have completed Sumatra: Fate of Yandi
 item_24_hidden=true
 item_25_id=Ramdan
 item_25_title=Reunited
+item_25_comment=A touching moment
 item_25_hidden=true
diff --git a/devtools/create_achievements/gen/steam-631570.ini b/devtools/create_achievements/gen/steam-631570.ini
index 10f9742b8d..4904f8be6e 100644
--- a/devtools/create_achievements/gen/steam-631570.ini
+++ b/devtools/create_achievements/gen/steam-631570.ini
@@ -19,438 +19,77 @@ item_5_title=Power Overwhelming
 item_5_comment=Unlocked a full set of augmentations
 item_6_id=Harbinger
 item_6_title=Singularity-Minded
+item_6_comment=Hail Huldra
 item_6_hidden=true
 item_7_id=UnleashTheWolf
 item_7_title=Unleash the Wolf
+item_7_comment=Wiped the mainframe with the Fenrir Protocol
 item_7_hidden=true
 item_8_id=Caregiver
 item_8_title=Caregiver
+item_8_comment=Gave the child a loving home
 item_8_hidden=true
 item_9_id=Careerist
 item_9_title=Careerist
+item_9_comment=Parenthood wasn't in the cards
 item_9_hidden=true
 item_10_id=MixedMethods
 item_10_title=Mixed Methods
+item_10_comment=Mismatched augs were your cup of tea
 item_10_hidden=true
 item_11_id=NoSodaForYou
 item_11_title=Whispers of a Soda Machine
+item_11_comment=Failed to get that hundred-year-old soda
 item_11_hidden=true
 item_12_id=PassiveSmoking
 item_12_title=Passive Smoking Redux
+item_12_comment=Passively smoked whatever Rolf was having
 item_12_hidden=true
 item_13_id=Reassembled
 item_13_title=Reassembled
+item_13_comment=Gave Karl the finger
 item_13_hidden=true
 item_14_id=SharpEyed
 item_14_title=Sharp-Eyed
+item_14_comment=Discovered a devious device of death
 item_14_hidden=true
 item_15_id=Environmentalist
 item_15_title=Environmentalist
+item_15_comment=Left the recycling center in an eco-friendly fashion
 item_15_hidden=true
 item_16_id=WhatSuspect
 item_16_title=Babysitter
+item_16_comment=Prioritized installing the nutrient canister over pursuing Katarina
 item_16_hidden=true
 item_17_id=PickTheBaby
 item_17_title=Pick the Baby
+item_17_comment=Gave the baby a name fit for a pet
 item_17_hidden=true
 item_18_id=Museophile
 item_18_title=Museophile
+item_18_comment=Took your sweet time at the exhibition
 item_18_hidden=true
 item_19_id=SneakAttack
 item_19_title=Sneak Attack
+item_19_comment=Ambushed the ambusher
 item_19_hidden=true
 item_20_id=Memento
 item_20_title=Memento
+item_20_comment=Katarina will remember that
 item_20_hidden=true
 item_21_id=CompulsiveReturner
 item_21_title=Serial Returner
+item_21_comment=That was anti-kleptoclimactic
 item_21_hidden=true
 item_22_id=CaffeineAddict
 item_22_title=Whispers of a Coffee Machine
+item_22_comment=Had at least one daily cup of joe
 item_22_hidden=true
 item_23_id=Whodunnit
 item_23_title=Whodunnit
+item_23_comment=What monster could be responsible for such a heinous crime?
 item_23_hidden=true
 item_24_id=CloseCall
 item_24_title=Close Call
-item_24_hidden=true
-[achievements:de_DE]
-item_0_id=CaseClosed
-item_0_title=Fall abgeschlossen
-item_0_comment=Das Spiel abgeschlossen.
-item_1_id=PathOfTyr
-item_1_title=Weg des Tyr
-item_1_comment=Das Spiel selbstbewusst abgeschlossen.
-item_2_id=PathOfFrigg
-item_2_title=Weg der Frigg
-item_2_comment=Das Spiel analytisch abgeschlossen.
-item_3_id=PathOfBaldr
-item_3_title=Weg des Balder
-item_3_comment=Das Spiel einfühlsam abgeschlossen.
-item_4_id=UnlockTier2
-item_4_title=Verborgenes Potenzial
-item_4_comment=Neue Augmentation freigeschaltet.
-item_5_id=UnlockAugs
-item_5_title=Überwältigende Macht
-item_5_comment=Ein vollständiges Set an Augmentationen freigeschaltet.
-item_6_id=Harbinger
-item_6_title=Singularitätsorientiert
-item_6_hidden=true
-item_7_id=UnleashTheWolf
-item_7_title=Der entfesselte Wolf
-item_7_hidden=true
-item_8_id=Caregiver
-item_8_title=Fürsorglich
-item_8_hidden=true
-item_9_id=Careerist
-item_9_title=Karrierefixiert
-item_9_hidden=true
-item_10_id=MixedMethods
-item_10_title=Eklektizistisch
-item_10_hidden=true
-item_11_id=NoSodaForYou
-item_11_title=Flüstern eines Limoautomaten
-item_11_hidden=true
-item_12_id=PassiveSmoking
-item_12_title=Passivraucherin
-item_12_hidden=true
-item_13_id=Reassembled
-item_13_title=Wiedervereint
-item_13_hidden=true
-item_14_id=SharpEyed
-item_14_title=Scharfer Blick
-item_14_hidden=true
-item_15_id=Environmentalist
-item_15_title=Umweltbewusst
-item_15_hidden=true
-item_16_id=WhatSuspect
-item_16_title=Babysitterin
-item_16_hidden=true
-item_17_id=PickTheBaby
-item_17_title=Sentimental
-item_17_hidden=true
-item_18_id=Museophile
-item_18_title=Museophil
-item_18_hidden=true
-item_19_id=SneakAttack
-item_19_title=Hinterhältig
-item_19_hidden=true
-item_20_id=Memento
-item_20_title=Memento
-item_20_hidden=true
-item_21_id=CompulsiveReturner
-item_21_title=Schlechtes Gewissen
-item_21_hidden=true
-item_22_id=CaffeineAddict
-item_22_title=Flüstern eines Kaffeeautomaten
-item_22_hidden=true
-item_23_id=Whodunnit
-item_23_title=Wer war’s?
-item_23_hidden=true
-item_24_id=CloseCall
-item_24_title=Knappe Sache
-item_24_hidden=true
-[achievements:fr_FR]
-item_0_id=CaseClosed
-item_0_title=Affaire classée
-item_0_comment=Vous avez terminé le jeu.
-item_1_id=PathOfTyr
-item_1_title=Voie de Tyr
-item_1_comment=Vous avez terminé le jeu de manière autoritaire.
-item_2_id=PathOfFrigg
-item_2_title=Voie de Frigg
-item_2_comment=Vous avez terminé le jeu de manière analytique.
-item_3_id=PathOfBaldr
-item_3_title=Voie de Baldr
-item_3_comment=Vous avez terminé le jeu de manière empathique.
-item_4_id=UnlockTier2
-item_4_title=Potentiel caché
-item_4_comment=Vous avez débloqué une nouvelle augmentation.
-item_5_id=UnlockAugs
-item_5_title=Surpuissance
-item_5_comment=Vous avez débloqué un ensemble complet d'augmentations.
-item_6_id=Harbinger
-item_6_title=Un goût singulier pour les singularités
-item_6_hidden=true
-item_7_id=UnleashTheWolf
-item_7_title=Loup déchaîné
-item_7_hidden=true
-item_8_id=Caregiver
-item_8_title=Assistante sociale
-item_8_hidden=true
-item_9_id=Careerist
-item_9_title=Carriériste
-item_9_hidden=true
-item_10_id=MixedMethods
-item_10_title=Méthodes non conventionnelles
-item_10_hidden=true
-item_11_id=NoSodaForYou
-item_11_title=Murmures de la machine à soda
-item_11_hidden=true
-item_12_id=PassiveSmoking
-item_12_title=Tabagisme passif
-item_12_hidden=true
-item_13_id=Reassembled
-item_13_title=Juste un doigt
-item_13_hidden=true
-item_14_id=SharpEyed
-item_14_title=Å’il de lynx
-item_14_hidden=true
-item_15_id=Environmentalist
-item_15_title=Écolo
-item_15_hidden=true
-item_16_id=WhatSuspect
-item_16_title=Baby-sitter
-item_16_hidden=true
-item_17_id=PickTheBaby
-item_17_title=Baptême
-item_17_hidden=true
-item_18_id=Museophile
-item_18_title=Muséophile
-item_18_hidden=true
-item_19_id=SneakAttack
-item_19_title=Attaque-surprise
-item_19_hidden=true
-item_20_id=Memento
-item_20_title=Souvenir
-item_20_hidden=true
-item_21_id=CompulsiveReturner
-item_21_title=Antivol
-item_21_hidden=true
-item_22_id=CaffeineAddict
-item_22_title=Murmures de la machine à café
-item_22_hidden=true
-item_23_id=Whodunnit
-item_23_title=Qui a fait le coup ?
-item_23_hidden=true
-item_24_id=CloseCall
-item_24_title=De justesse
-item_24_hidden=true
-[achievements:it_IT]
-item_0_id=CaseClosed
-item_0_title=Caso Chiuso
-item_0_comment=Hai terminato il gioco
-item_1_id=PathOfTyr
-item_1_title=Via di Tyr
-item_1_comment=Hai terminato il gioco assertivamente
-item_2_id=PathOfFrigg
-item_2_title=Via di Frigg
-item_2_comment=Hai terminato il gioco analiticamente
-item_3_id=PathOfBaldr
-item_3_title=Via di Baldr
-item_3_comment=Hai terminato il gioco empaticamente
-item_4_id=UnlockTier2
-item_4_title=Potenziale Nascosto
-item_4_comment=Hai sbloccato un nuovo potenziamento
-item_5_id=UnlockAugs
-item_5_title=Potere Travolgente
-item_5_comment=Hai sbloccato una serie completa di potenziamenti
-item_6_id=Harbinger
-item_6_title=Singolarità
-item_6_hidden=true
-item_7_id=UnleashTheWolf
-item_7_title=Libera il Lupo
-item_7_hidden=true
-item_8_id=Caregiver
-item_8_title=La Famiglia Viene Prima
-item_8_hidden=true
-item_9_id=Careerist
-item_9_title=Il Lavoro Viene Prima
-item_9_hidden=true
-item_10_id=MixedMethods
-item_10_title=Metodi Non Convenzionali
-item_10_hidden=true
-item_11_id=NoSodaForYou
-item_11_title=Sussurri di un Distributore Automatico
-item_11_hidden=true
-item_12_id=PassiveSmoking
-item_12_title=Fumo Passivo
-item_12_hidden=true
-item_13_id=Reassembled
-item_13_title=Riassemblato
-item_13_hidden=true
-item_14_id=SharpEyed
-item_14_title=Osservatrice
-item_14_hidden=true
-item_15_id=Environmentalist
-item_15_title=Ambientalista
-item_15_hidden=true
-item_16_id=WhatSuspect
-item_16_title=Babysitter
-item_16_hidden=true
-item_17_id=PickTheBaby
-item_17_title=Battesimo
-item_17_hidden=true
-item_18_id=Museophile
-item_18_title=Museofila
-item_18_hidden=true
-item_19_id=SneakAttack
-item_19_title=Amante della Cultura
-item_19_hidden=true
-item_20_id=Memento
-item_20_title=Memento
-item_20_hidden=true
-item_21_id=CompulsiveReturner
-item_21_title=Restituitrice Seriale
-item_21_hidden=true
-item_22_id=CaffeineAddict
-item_22_title=Sussurri di una Macchina del Caffè
-item_22_hidden=true
-item_23_id=Whodunnit
-item_23_title=Chi È Stato?
-item_23_hidden=true
-item_24_id=CloseCall
-item_24_title=Per un Pelo
-item_24_hidden=true
-[achievements:es_ES]
-item_0_id=CaseClosed
-item_0_title=Caso cerrado
-item_0_comment=Has llegado al final del juego
-item_1_id=PathOfTyr
-item_1_title=Senda de Tyr
-item_1_comment=Has llegado al final del juego por la vía asertiva
-item_2_id=PathOfFrigg
-item_2_title=Senda de Frigg
-item_2_comment=Has llegado al final del juego por la vía analítica
-item_3_id=PathOfBaldr
-item_3_title=Senda de Baldr
-item_3_comment=Has llegado al final del juego por la vía empática
-item_4_id=UnlockTier2
-item_4_title=Potencial oculto
-item_4_comment=Has desbloqueado un nuevo aumento
-item_5_id=UnlockAugs
-item_5_title=Poder arrollador
-item_5_comment=Has desbloqueado un conjunto completo de aumentos
-item_6_id=Harbinger
-item_6_title=Por la singularidad
-item_6_hidden=true
-item_7_id=UnleashTheWolf
-item_7_title=Libera al lobo
-item_7_hidden=true
-item_8_id=Caregiver
-item_8_title=Cuidadora
-item_8_hidden=true
-item_9_id=Careerist
-item_9_title=Centrada en la carrera
-item_9_hidden=true
-item_10_id=MixedMethods
-item_10_title=Métodos mixtos
-item_10_hidden=true
-item_11_id=NoSodaForYou
-item_11_title=Susurros de una máquina de refrescos
-item_11_hidden=true
-item_12_id=PassiveSmoking
-item_12_title=Fumadora pasiva remasterizada
-item_12_hidden=true
-item_13_id=Reassembled
-item_13_title=Rensamblaje
-item_13_hidden=true
-item_14_id=SharpEyed
-item_14_title=Observadora
-item_14_hidden=true
-item_15_id=Environmentalist
-item_15_title=Ecologista
-item_15_hidden=true
-item_16_id=WhatSuspect
-item_16_title=Canguro
-item_16_hidden=true
-item_17_id=PickTheBaby
-item_17_title=Llévate al bebé
-item_17_hidden=true
-item_18_id=Museophile
-item_18_title=Museófila
-item_18_hidden=true
-item_19_id=SneakAttack
-item_19_title=Ataque sigiloso
-item_19_hidden=true
-item_20_id=Memento
-item_20_title=Recuerdo
-item_20_hidden=true
-item_21_id=CompulsiveReturner
-item_21_title=Regresadora en serie
-item_21_hidden=true
-item_22_id=CaffeineAddict
-item_22_title=Susurros de una máquina de café
-item_22_hidden=true
-item_23_id=Whodunnit
-item_23_title=¿Quién ha sido?
-item_23_hidden=true
-item_24_id=CloseCall
-item_24_title=Por un pelo
-item_24_hidden=true
-[achievements:pt_BR]
-item_0_id=CaseClosed
-item_0_title=Caso encerrado
-item_0_comment=Terminou o jogo
-item_1_id=PathOfTyr
-item_1_title=Caminho de Tyr
-item_1_comment=Terminou o jogo de modo assertivo
-item_2_id=PathOfFrigg
-item_2_title=Caminho de Frigg
-item_2_comment=Terminou o jogo de modo analítico
-item_3_id=PathOfBaldr
-item_3_title=Caminho de Baldr
-item_3_comment=Terminou o jogo de modo empático
-item_4_id=UnlockTier2
-item_4_title=Potencial oculto
-item_4_comment=Desbloqueou um novo aprimoramento
-item_5_id=UnlockAugs
-item_5_title=Poder esmagador
-item_5_comment=Desbloqueou um conjunto completo de aprimoramentos
-item_6_id=Harbinger
-item_6_title=Foi pela singuraridade
-item_6_hidden=true
-item_7_id=UnleashTheWolf
-item_7_title=Liberte o lobo
-item_7_hidden=true
-item_8_id=Caregiver
-item_8_title=A família vem em primeiro lugar
-item_8_hidden=true
-item_9_id=Careerist
-item_9_title=Foco na carreira
-item_9_hidden=true
-item_10_id=MixedMethods
-item_10_title=Métodos mistos
-item_10_hidden=true
-item_11_id=NoSodaForYou
-item_11_title=Sussurros de uma máquina de refrigerantes
-item_11_hidden=true
-item_12_id=PassiveSmoking
-item_12_title=Fumante passiva
-item_12_hidden=true
-item_13_id=Reassembled
-item_13_title=Remontado
-item_13_hidden=true
-item_14_id=SharpEyed
-item_14_title=Observadora
-item_14_hidden=true
-item_15_id=Environmentalist
-item_15_title=Ecologista
-item_15_hidden=true
-item_16_id=WhatSuspect
-item_16_title=Babá
-item_16_hidden=true
-item_17_id=PickTheBaby
-item_17_title=Leve o bebê
-item_17_hidden=true
-item_18_id=Museophile
-item_18_title=Museófila
-item_18_hidden=true
-item_19_id=SneakAttack
-item_19_title=Ataque surpresa
-item_19_hidden=true
-item_20_id=Memento
-item_20_title=Lembrancinha
-item_20_hidden=true
-item_21_id=CompulsiveReturner
-item_21_title=Devolvedora em série
-item_21_hidden=true
-item_22_id=CaffeineAddict
-item_22_title=Sussurros de uma máquina de café
-item_22_hidden=true
-item_23_id=Whodunnit
-item_23_title=Quem foi?
-item_23_hidden=true
-item_24_id=CloseCall
-item_24_title=Essa foi por pouco
+item_24_comment=Alex almost had his way
 item_24_hidden=true
diff --git a/devtools/create_achievements/gen/steam-654550.ini b/devtools/create_achievements/gen/steam-654550.ini
index dca1df380f..f768cab0eb 100644
--- a/devtools/create_achievements/gen/steam-654550.ini
+++ b/devtools/create_achievements/gen/steam-654550.ini
@@ -22,24 +22,31 @@ item_6_title=Distracted entry
 item_6_comment=You've made it back into the changing rooms.
 item_7_id=TheEnd
 item_7_title=The End
+item_7_comment=Or the beginning?
 item_7_hidden=true
 item_8_id=ThePastOne
 item_8_title=The Past: One
+item_8_comment=She doesn't like stubble.
 item_8_hidden=true
 item_9_id=ThePastTwo
 item_9_title=The Past: Two
+item_9_comment=Backyard delights.
 item_9_hidden=true
 item_10_id=ThePastThree
 item_10_title=The Past: Three
+item_10_comment=The usual meeting spot.
 item_10_hidden=true
 item_11_id=ThePastFour
 item_11_title=The Past: Four
+item_11_comment=She needs some time.
 item_11_hidden=true
 item_12_id=ThePastSix
 item_12_title=The Past: Six
+item_12_comment=Betrayal.
 item_12_hidden=true
 item_13_id=ThePastFive
 item_13_title=The Past: Five
+item_13_comment=Match time.
 item_13_hidden=true
 item_14_id=MusicFan
 item_14_title=Music Fan
diff --git a/devtools/create_achievements/gen/steam-761460.ini b/devtools/create_achievements/gen/steam-761460.ini
index 1cacd2ed94..c68f5ae915 100644
--- a/devtools/create_achievements/gen/steam-761460.ini
+++ b/devtools/create_achievements/gen/steam-761460.ini
@@ -19,15 +19,19 @@ item_4_title=Don't Quit Your Day Job
 item_4_comment=Read Madame DuPrée's poems
 item_5_id=ALBERT
 item_5_title=Occam's Razor
+item_5_comment=Accused Albert Martin of Madame DuPrée's attempted murder
 item_5_hidden=true
 item_6_id=JULIETTE
 item_6_title=These Violent Delights...
+item_6_comment=Accused Juliette Montgomery of Madame DuPrée's attempted murder
 item_6_hidden=true
 item_7_id=GUYDUMAS
 item_7_title=He's Your Guy
+item_7_comment=Accused Guy Dumas of Madame DuPrée's attempted murder
 item_7_hidden=true
 item_8_id=DUPREE
 item_8_title=Devil Incarnate
+item_8_comment=Revealed Madame DuPrée's true nature
 item_8_hidden=true
 item_9_id=BOILER
 item_9_title=Repairman
@@ -40,15 +44,19 @@ item_11_title=Not What It Looks Like
 item_11_comment=Learned about Mrs. Davis's hobby
 item_12_id=MALCOLM
 item_12_title=Don't Bet On It
+item_12_comment=Accused Malcolm Harris of kidnapping his own son
 item_12_hidden=true
 item_13_id=DEVINS
 item_13_title=Methinks He Doth Protest Too Much
+item_13_comment=Accuse Arthur Devins of kidnapping the Harris baby
 item_13_hidden=true
 item_14_id=WALKER
 item_14_title=It's A Boy, Mrs. Walker, It's A Boy
+item_14_comment=Accuse Linda Walker of kidnapping the Harris baby
 item_14_hidden=true
 item_15_id=TRAIN
 item_15_title=Wrong Side Of The Tracks
+item_15_comment=Successfully located Linda Walker
 item_15_hidden=true
 item_16_id=ASHES
 item_16_title=Total Ash-hole
@@ -61,12 +69,15 @@ item_18_title=Broadening Horizons
 item_18_comment=Gave Charlotte Robineaux a music lesson
 item_19_id=COMBUSTION
 item_19_title=Supernatural
+item_19_comment=Concluded that Desiree Lathan's death was due to spontaneous human combustion
 item_19_hidden=true
 item_20_id=DEVAY
 item_20_title=The Art Of Murder
+item_20_comment=Accused Roger DeVay of murdering Desiree Lathan
 item_20_hidden=true
 item_21_id=ANDREWS
 item_21_title=Totally Nuts
+item_21_comment=Accused Margaret Andrews of murdering Desiree Lathan
 item_21_hidden=true
 item_22_id=STORYTELLER
 item_22_title=Storyteller
@@ -76,18 +87,22 @@ item_23_title=Civic Duty
 item_23_comment=You voted!
 item_24_id=COOPING
 item_24_title=Flew The Coop
+item_24_comment=Discovered the truth about the cooping scheme
 item_24_hidden=true
 item_25_id=JIMBO
 item_25_title=Jilted Lover
+item_25_comment=Accused Jimbo of murdering Ronan L'Espaye
 item_25_hidden=true
 item_26_id=PUFFIN
 item_26_title=Mistaken Identity
+item_26_comment=Accused Tom Puffin of murdering Ronan L'Espaye
 item_26_hidden=true
 item_27_id=DEADMEN
 item_27_title=Down Among The Dead Men
 item_27_comment=Sang a popular drinking song
 item_28_id=JUMP
 item_28_title=Getting The Jump
+item_28_comment=Confronted the Justice Killer in his own home
 item_28_hidden=true
 item_29_id=MODELHUSBAND
 item_29_title=Model Husband
@@ -97,9 +112,11 @@ item_30_title=A Kind Ear
 item_30_comment=Told Angela Maxwell about your problems
 item_31_id=ASYLUM
 item_31_title=Room With A View
+item_31_comment=Checked yourself into Riverview Asylum
 item_31_hidden=true
 item_32_id=JAIL
 item_32_title=Do Not Pass Go
+item_32_comment=Ended up in jail
 item_32_hidden=true
 item_33_id=UNSOLVABLE
 item_33_title=Dead End
@@ -115,6 +132,7 @@ item_36_title=Enlightened
 item_36_comment=Completed the game
 item_37_id=FORGOT
 item_37_title=I Forgot It Was There
+item_37_comment=Played through the entire game without opening the casebook
 item_37_hidden=true
 item_38_id=PERFECT
 item_38_title=Perfect Run
@@ -125,127 +143,3 @@ item_39_comment=Every friendship has one
 item_40_id=NOSY
 item_40_title=Nosy
 item_40_comment=Eavesdropped on every conversation
-[achievements:de_DE]
-item_0_id=RINGMYBELL
-item_0_title=Klingeling
-item_0_comment=Geh mir doch auf die Nerven
-item_1_id=MANOFWORD
-item_1_title=Mann seines Wortes
-item_1_comment=Belüge nicht Mrs. Hanbrook
-item_2_id=BOBBIN
-item_2_title=Ich bin Bobbin
-item_2_comment=Spiele eine bekannte Melodie
-item_3_id=VOODOO
-item_3_title=Was können Sie mir über...Voodoo sagen?
-item_3_comment=Werde aus der Wohnung von Mrs. Martin geworfen
-item_4_id=POEMS
-item_4_title=Nicht den Beruf kündigen
-item_4_comment=Lese Madame DuPrées Gedichte
-item_5_id=ALBERT
-item_5_title=Ockhams Rasiermesser
-item_5_hidden=true
-item_6_id=JULIETTE
-item_6_title=So wilde Freude...
-item_6_hidden=true
-item_7_id=GUYDUMAS
-item_7_title=Heute ohne -brush
-item_7_hidden=true
-item_8_id=DUPREE
-item_8_title=Inkarnation des Teufels
-item_8_hidden=true
-item_9_id=BOILER
-item_9_title=Reparaturgenie
-item_9_comment=Repariere alleine den Boiler
-item_10_id=ROLAND
-item_10_title=Egomane
-item_10_comment=Rede mit Roland Deveraux
-item_11_id=DOLLS
-item_11_title=Nicht so, wie es scheint
-item_11_comment=Finde etwas über Mrs. Davis Hobby heraus
-item_12_id=MALCOLM
-item_12_title=Würde nicht darauf wetten
-item_12_hidden=true
-item_13_id=DEVINS
-item_13_title=Etwas zu viel Protest
-item_13_hidden=true
-item_14_id=WALKER
-item_14_title=Es ist ein Junge, Mrs. Walker!
-item_14_hidden=true
-item_15_id=TRAIN
-item_15_title=Im falschen Stadtviertel
-item_15_hidden=true
-item_16_id=ASHES
-item_16_title=Alles in Asche
-item_16_comment=Zeige jemand anderem als Dr. Edwards Desirees Asche
-item_17_id=SNEEZE
-item_17_title=Gesundheit
-item_17_comment=Lege Jonas Usher herein
-item_18_id=MUSIC
-item_18_title=Horizonte tun sich auf
-item_18_comment=Gib Charlotte Robineaux Musikunterricht
-item_19_id=COMBUSTION
-item_19_title=Übernatürlich
-item_19_hidden=true
-item_20_id=DEVAY
-item_20_title=Die Kunst des Mordens
-item_20_hidden=true
-item_21_id=ANDREWS
-item_21_title=Kleine Nüsschen
-item_21_hidden=true
-item_22_id=STORYTELLER
-item_22_title=Geschichtenerzähler
-item_22_comment=Erzähle Patrick eine Geschichte
-item_23_id=VOTE
-item_23_title=Bürgerpflicht
-item_23_comment=Nimm an der Wahl teil
-item_24_id=COOPING
-item_24_title=Überall Betrüger
-item_24_hidden=true
-item_25_id=JIMBO
-item_25_title=Verschmähter Liebhaber
-item_25_hidden=true
-item_26_id=PUFFIN
-item_26_title=Verwechslungen
-item_26_hidden=true
-item_27_id=DEADMEN
-item_27_title=Unten bei den Toten
-item_27_comment=Singe ein Lied
-item_28_id=JUMP
-item_28_title=Aufgelaufen
-item_28_hidden=true
-item_29_id=MODELHUSBAND
-item_29_title=Mustergatte
-item_29_comment=Erzähle Adelaide die Wahrheit
-item_30_id=MAXWELL
-item_30_title=Ein wohlgesonnenes Ohr
-item_30_comment=Erzähle Angela Maxwell von deinen Problemen
-item_31_id=ASYLUM
-item_31_title=Zimmer mit Aussicht
-item_31_hidden=true
-item_32_id=JAIL
-item_32_title=Nicht über Start ziehen
-item_32_hidden=true
-item_33_id=UNSOLVABLE
-item_33_title=Sackgasse
-item_33_comment=Erkläre einen Fall für unlösbar
-item_34_id=BOOKWORM
-item_34_title=Bücherwurm
-item_34_comment=Lies jedes Buch im Spiel
-item_35_id=THOROUGH
-item_35_title=Gründlich
-item_35_comment=Finde jeden Hinweis und jedes Dokument im Spiel
-item_36_id=COMPLETEGAME
-item_36_title=Erleuchtet
-item_36_comment=Schliesse das Spiel ab
-item_37_id=FORGOT
-item_37_title=Das hatte ich vergessen
-item_37_hidden=true
-item_38_id=PERFECT
-item_38_title=Gut gemacht
-item_38_comment=Löse jeden Fall
-item_39_id=JOKE
-item_39_title=Insider
-item_39_comment=Jede Freundschaft hat einen
-item_40_id=NOSY
-item_40_title=Neugierig
-item_40_comment=Belausche jede Konversation im Spiel
diff --git a/devtools/create_achievements/gen/steam-872750.ini b/devtools/create_achievements/gen/steam-872750.ini
index 66e75adf5c..ffff8d2590 100644
--- a/devtools/create_achievements/gen/steam-872750.ini
+++ b/devtools/create_achievements/gen/steam-872750.ini
@@ -7,6 +7,7 @@ item_1_title=Pucker Up
 item_1_comment=Girtrude finds a new friend
 item_2_id=ACH_GIVE_COIN
 item_2_title=Assassin's Greed
+item_2_comment=Make a charitable donation
 item_2_hidden=true
 item_3_id=ACH_GET_DRESSED
 item_3_title=Suited And Booted
@@ -34,6 +35,7 @@ item_10_title=Two Birds
 item_10_comment=Deal with the Spider
 item_11_id=ACH_RETURN_PAINT
 item_11_title=Special Delivery
+item_11_comment=Return the paint to it's rightful owner
 item_11_hidden=true
 item_12_id=ACH_LANDING_SPOT
 item_12_title=New Lands
@@ -43,6 +45,7 @@ item_13_title=Open Sesame
 item_13_comment=Find a way to open the door
 item_14_id=ACH_ACT_THREE
 item_14_title=Guardian Duty
+item_14_comment=Meet the Guardians
 item_14_hidden=true
 item_15_id=ACH_CUT_ARM
 item_15_title=Armed And Dangerous
@@ -55,7 +58,9 @@ item_17_title=???
 item_17_comment=Something amiss
 item_18_id=ACH_MEET_TONDBERT
 item_18_title=Two Of A Kind
+item_18_comment=Rendezvous with a familiar face
 item_18_hidden=true
 item_19_id=ACH_KILL_MAGE
 item_19_title=Turn Up The Heat
+item_19_comment=End it, once and for all
 item_19_hidden=true
diff --git a/devtools/create_achievements/gen/steam-904750.ini b/devtools/create_achievements/gen/steam-904750.ini
index d34b5baa9a..60f8ade688 100644
--- a/devtools/create_achievements/gen/steam-904750.ini
+++ b/devtools/create_achievements/gen/steam-904750.ini
@@ -1,45 +1,59 @@
 [achievements:en]
 item_0_id=ZNIW_STORY1_TINYFOREST
 item_0_title=And so the adventure begins
+item_0_comment=Ouch! Wasn't that a grand fall!
 item_0_hidden=true
 item_1_id=ZNIW_STORY2_RIVERBANK
 item_1_title=The good, the bad and the river
+item_1_comment=That's just the beginning of your problems...
 item_1_hidden=true
 item_2_id=ZNIW_STORY3_FALLS
 item_2_title=A bridge too far
+item_2_comment=Swimming with the grace of a rock, aren't we?
 item_2_hidden=true
 item_3_id=ZNIW_STORY4_CAVEFIRE
 item_3_title=Quest for fire
+item_3_comment=Truly an enlightening experience.
 item_3_hidden=true
 item_4_id=ZNIW_STORY5_PATHF
 item_4_title=What is this, Mushroom Kingdom?
+item_4_comment=From one cave to... another?
 item_4_hidden=true
 item_5_id=ZNIW_STORY6_VILLATHIEF
 item_5_title=Mugstreet Boys
+item_5_comment=There go your hard-earned (not really) shells...
 item_5_hidden=true
 item_6_id=ZNIW_STORY7_FARMMAMMAL
 item_6_title=Mammals tremble before her!
+item_6_comment=Hey, you're getting pretty good at this!
 item_6_hidden=true
 item_7_id=ZNIW_STORY8_VILLATUNNEL
 item_7_title=Dinosaur Zniw, Ace Investigator
+item_7_comment=So, that's his place, huh?
 item_7_hidden=true
 item_8_id=ZNIW_STORY9_TOWER
 item_8_title=Our house, in the middle of the wall
+item_8_comment=Time to make a house call.
 item_8_hidden=true
 item_9_id=ZNIW_STORY10_PRISON
 item_9_title=Fragile allegiance
+item_9_comment=Guess you don't have a choice now...
 item_9_hidden=true
 item_10_id=ZNIW_STORY11_FARMKEY
 item_10_title=Clever girl
+item_10_comment=You really deserve a pat on the back, you know that?
 item_10_hidden=true
 item_11_id=ZNIW_STORY12_DISTROOMSAFE
 item_11_title=Safecracker
+item_11_comment=Things really took a turn to the worse...
 item_11_hidden=true
 item_12_id=ZNIW_STORY13_DIGTUNNEL
 item_12_title=Indiana Zniw and the Cave of (Family) Peril
+item_12_comment=Finally some good news!
 item_12_hidden=true
 item_13_id=ZNIW_STORY14_FINALEEND
 item_13_title=That's MISS Zniw to you, punk!
+item_13_comment=That'll show him!
 item_13_hidden=true
 item_14_id=ZNIW_PEBBLE1
 item_14_title=One tiny pebble for a dinosaur...
diff --git a/dists/engine-data/achievements.dat b/dists/engine-data/achievements.dat
index c530d6c30e..1d51fcdb09 100644
Binary files a/dists/engine-data/achievements.dat and b/dists/engine-data/achievements.dat differ


Commit: 824d0dd4e90166553b5202e9fb9ee18c1ef3191b
    https://github.com/scummvm/scummvm/commit/824d0dd4e90166553b5202e9fb9ee18c1ef3191b
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
DEVTOOLS: Collect hidden achivements translations from my account

I grant permission to ScummVM team to collect and analyze my public
Steam Data, including my achievements in games that I have in my
profile.

Changed paths:
    devtools/create_achievements/steam_achievements.py


diff --git a/devtools/create_achievements/steam_achievements.py b/devtools/create_achievements/steam_achievements.py
index d172c55143..a23713c49c 100644
--- a/devtools/create_achievements/steam_achievements.py
+++ b/devtools/create_achievements/steam_achievements.py
@@ -17,6 +17,21 @@ import argparse
 import requests
 from requests_html import HTMLSession
 
+# For Stats only English strings exists on Steam side.
+#   - stats info is collected from SteamDB, we collect lists of <id, [comment], initial value>
+
+# For Achievements some games have only English strings, and some games have additional translations on Steam side.
+# This script is currently using various sources of information for Steam achievements:
+#   - achievements info collection starts from SteamDB, we collect lists of <id, title, [comment], hidden flag>
+#   - if there are hidden achievements, we look up their English "comment" values on 3rd party site (achievementstats.com)
+#   - there is an additional call to SteamDB to collect list of achivements translations
+#   - if there are no hidden achievements, we use Global Statistics at steamcommunity.com to collect non-English strings
+#   - if there are hidden achievements, we use User Statistics at steamcommunity.com to collect non-English strings
+
+# Hidden achievement descriptions are available only at user accounts for those users who have them completed
+
+STEAM_USERNAME = "lb_ii"
+
 # Format is: <SteamDB language name>: (<Steam API language code>, <unixLocale>)
 # For <SteamDB language name>, see verbose output of this tool
 # For <Steam API language code>, see https://partner.steamgames.com/doc/store/localization
@@ -259,16 +274,15 @@ try:
 	if args.verbose:
 		sys.stderr.write("found langs: {0}\n".format(langs))
 	
-	if hidden_achievements and len(langs) > 1:
-		print("WARNING: game {0} expects translation of hidden achievements, which is not supported. Dropping all the translations!".format(args.steamid))
-		langs = ["English"]
-
 	translations = {"English":{}}
 	if len(langs) > 1:
 		for l in langs:
 			steam_lang = LANGUAGES[l][0]
 			lang_id = LANGUAGES[l][1]
-			TRANSLATION_URL = "https://steamcommunity.com/stats/{0}/achievements?l={1}".format(args.steamid, steam_lang)
+			if hidden_achievements and len(langs) > 1:
+				TRANSLATION_URL = "https://steamcommunity.com/id/{0}/stats/{1}/?l={2}".format(STEAM_USERNAME, args.steamid, steam_lang)
+			else:
+				TRANSLATION_URL = "https://steamcommunity.com/stats/{0}/achievements?l={1}".format(args.steamid, steam_lang)
 			if args.verbose:
 				sys.stderr.write("query {0}\n".format(TRANSLATION_URL))
 			translations[l] = parse_steamcommunity_stats(TRANSLATION_URL)


Commit: 5cf1ea564558f907222f40f89fa14cffecbbf7d3
    https://github.com/scummvm/scummvm/commit/5cf1ea564558f907222f40f89fa14cffecbbf7d3
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
DEVTOOLS: Add functions for logging and errors

Changed paths:
    devtools/create_achievements/steam_achievements.py


diff --git a/devtools/create_achievements/steam_achievements.py b/devtools/create_achievements/steam_achievements.py
index a23713c49c..ed6f9d0178 100644
--- a/devtools/create_achievements/steam_achievements.py
+++ b/devtools/create_achievements/steam_achievements.py
@@ -58,15 +58,25 @@ parser.add_argument("--saveasgalaxyid", type=int, help="GOG Galaxy game id")
 parser.add_argument("-v", "--verbose", action="store_true")
 args = parser.parse_args()
 
+def log(msg):
+	global args
+	if args.verbose:
+		sys.stderr.write(msg + "\n")
+
+def err(msg):
+	sys.stderr.write(msg + "\n")
+	sys.exit(127)
+
 def parse_steamdb_info(url):
+	log("query {0}".format(url))
 	response = HTMLSession().get(url)
 
 	info_rows = response.html.xpath("//div[@id='info']/table/tbody/tr/td")
 	info_columns = 2 # id, text,
 	info_entries = int(len(info_rows) / info_columns)
 	if info_entries == 0:
-		sys.stderr.write("found NO information data\n")
-		sys.exit(127)
+		log(repr(response.html.raw_html))
+		err("found NO information data")
 
 	FORMAT_CHECKER_STRING = "Store Release Date"
 	is_format_ok = False
@@ -82,20 +92,21 @@ def parse_steamdb_info(url):
 			langs = info_value
 
 	if not is_format_ok:
-		sys.stderr.write("found NO {0}\nEntries: {1}".format(FORMAT_CHECKER_STRING, [i.text for i in info_rows][::2]))
-		sys.exit(127)
+		log(repr(response.html.raw_html))
+		err("found NO {0}\nEntries: {1}".format(FORMAT_CHECKER_STRING, [i.text for i in info_rows][::2]))
 
 	return langs.split(", ")
 
 def parse_steamdb_stats(url):
+	log("query {0}".format(url))
 	response = HTMLSession().get(url)
 
 	achievements_rows = response.html.xpath("//tr[starts-with(@id, 'achievement-')]/td")
 	achievements_columns = 3 # name, text, img
 	achievements_entries = int(len(achievements_rows) / achievements_columns)
 	if achievements_entries == 0:
-		sys.stderr.write("found NO achievements\n")
-		sys.exit(127)
+		log(repr(response.html.raw_html))
+		err("found NO achievements")
 
 	stats_rows = response.html.xpath("//tr[starts-with(@id, 'stat-')]/td")
 	stats_columns = 3 # name, text, default value
@@ -118,8 +129,8 @@ def parse_steamdb_stats(url):
 		texts = achievements_rows[idx + 1].text.strip().split("\n")
 
 		if len(texts) != 2:
-			sys.stderr.write("Unexpected description format: {0}\n".format(texts))
-			sys.exit(127)
+			log(repr(response.html.raw_html))
+			err("Unexpected description format: {0}".format(texts))
 
 		title = texts[0]
 		descr = texts[1]
@@ -131,13 +142,14 @@ def parse_steamdb_stats(url):
 	return achievements_en, stats_en
 
 def parse_steamcommunity_stats(url):
+	log("query {0}".format(url))
 	response = HTMLSession().get(url)
 
 	achievements_rows = response.html.xpath("//div[@class='achieveRow']")
 	achievements_entries = len(achievements_rows)
 	if achievements_entries == 0:
-		sys.stderr.write("found NO achievements\n")
-		sys.exit(127)
+		log(repr(response.html.raw_html))
+		err("found NO achievements")
 
 	translation = {}
 	for idx in range(achievements_entries):
@@ -146,34 +158,34 @@ def parse_steamcommunity_stats(url):
 		descrs = achievements_rows[idx].xpath(".//div[@class='achieveTxt']/h5/text()")
 
 		if len(imgs) != 1:
-			sys.stderr.write("Unexpected xpath result: expected exactly one img tag per achievement\n")
-			sys.exit(127)
+			log(repr(response.html.raw_html))
+			err("Unexpected xpath result: expected exactly one img tag per achievement")
 		if len(titles) != 1:
-			sys.stderr.write("Unexpected xpath result: expected exactly one h3 tag per achievement\n")
-			sys.exit(127)
+			log(repr(response.html.raw_html))
+			err("Unexpected xpath result: expected exactly one h3 tag per achievement")
 		if len(descrs) > 1:
-			sys.stderr.write("Unexpected xpath result: expected zero or one h5 tag per achievement\n")
-			sys.exit(127)
+			log(repr(response.html.raw_html))
+			err("Unexpected xpath result: expected zero or one h5 tag per achievement")
 
 		translation[imgs[0]] = (titles[0].strip(), descrs[0].strip() if descrs else None)
 
 	return translation
 
 def parse_achievementstats_stats(url):
+	log("query {0}".format(url))
 	response = HTMLSession().get(url)
 
 	tables = response.html.xpath("//table")
 	if len(tables) != 1:
-		sys.stderr.write("Unexpected xpath result: expected exactly one table tag on page\n")
-		sys.exit(127)
+		log(repr(response.html.raw_html))
+		err("Unexpected xpath result: expected exactly one table tag on page")
 
 	achievements_rows = response.html.xpath("//tbody/tr/td")
 	achievements_columns = 6 # icon, name, text, date, point, report
 	achievements_entries = int(len(achievements_rows) / achievements_columns)
 	if achievements_entries == 0:
-		print( response.html.raw_html )
-		sys.stderr.write("found NO achievements\n")
-		sys.exit(127)
+		log(repr(response.html.raw_html))
+		err("found NO achievements")
 
 	result = {}
 	for i in range(achievements_entries):
@@ -198,8 +210,7 @@ def join_achievements_translation(achievements_en, translations):
 		achievements[lang_id] = {}
 		for i, (name, title, descr, hide) in achievements_en.items():
 			if  not title in entitle2img:
-				sys.stderr.write("Can't find '{0}' at {1}\n".format(title, entitle2img))
-				sys.exit(127)
+				err("Can't find '{0}' at {1}".format(title, entitle2img))
 
 			t = translations[l][entitle2img[title]]
 			achievements[lang_id][i] = (name, t[0], t[1] if t[1] else descr, hide)
@@ -219,12 +230,12 @@ def join_achievements_descr(achievements_en, descs):
 	for i, (name, title, descr, hide) in achievements_en.items():
 		ext_descr = descrs[title]
 		if descr and descr != ext_descr:
-			sys.stderr.write("Unexpected difference between {0} and {1} for {2}\n".format(descr, ext_descr, title))
-			sys.exit(127)
+			err("Unexpected difference between {0} and {1} for {2}".format(descr, ext_descr, title))
 		result[i] = (name, title, descr if descr else ext_descr, hide)
 	return result
 
 def write_ini(fname, achievements, stats):
+	log("writing: {0}".format(fname))
 	with codecs.open(fname, "w", encoding="utf-8") as out:
 		for lang, it in stats.items():
 			out.write("[stats:{0}]\n".format(lang))
@@ -245,34 +256,21 @@ def write_ini(fname, achievements, stats):
 
 try:
 	STATS_URL = "https://steamdb.info/app/{0}/stats/".format(args.steamid)
-	if args.verbose:
-		sys.stderr.write("query {0}\n".format(STATS_URL))
-
 	achievements_en, stats_en = parse_steamdb_stats(STATS_URL)
-	if args.verbose:
-		sys.stderr.write("found {0} achievements\n".format(len(achievements_en)))
-		sys.stderr.write("found {0} stats\n".format(len(stats_en)))
+	log("found {0} achievements".format(len(achievements_en)))
+	log("found {0} stats".format(len(stats_en)))
 
 	hidden_achievements = [it for it in achievements_en.values() if it[3]]
-	if args.verbose:
-		sys.stderr.write("found {0} hidden achievements\n".format(len(hidden_achievements)))
+	log("found {0} hidden achievements".format(len(hidden_achievements)))
 
 	if hidden_achievements:
 		HIDDEN_STATS_URL = "https://www.achievementstats.com/index.php?action=games&gameId={0}".format(args.steamid)
-		if args.verbose:
-			sys.stderr.write("query {0}\n".format(HIDDEN_STATS_URL))
-
 		descrs = parse_achievementstats_stats(HIDDEN_STATS_URL)
 		achievements_en = join_achievements_descr(achievements_en, descrs)
-		
 
 	INFO_URL = "https://steamdb.info/app/{0}/info/".format(args.steamid)
-	if args.verbose:
-		sys.stderr.write("query {0}\n".format(INFO_URL))
 	langs = parse_steamdb_info(INFO_URL)
-
-	if args.verbose:
-		sys.stderr.write("found langs: {0}\n".format(langs))
+	log("found langs: {0}".format(langs))
 	
 	translations = {"English":{}}
 	if len(langs) > 1:
@@ -294,8 +292,6 @@ try:
 		FNAME = "galaxy-{0}.ini".format(args.saveasgalaxyid)
 	else:
 		FNAME = "steam-{0}.ini".format(args.steamid)
-	if args.verbose:
-		sys.stderr.write("writing: {0}\n".format(FNAME))
 	write_ini(os.path.join("gen", FNAME), achievements, stats)
 
 except requests.exceptions.RequestException as e:


Commit: 59cf38877c70fdc0ea9030ac8def86d2a077efa5
    https://github.com/scummvm/scummvm/commit/59cf38877c70fdc0ea9030ac8def86d2a077efa5
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
DEVTOOLS: Add mapping to lookup exact games at exact users

Changed paths:
    devtools/create_achievements/steam_achievements.py


diff --git a/devtools/create_achievements/steam_achievements.py b/devtools/create_achievements/steam_achievements.py
index ed6f9d0178..3b5def4476 100644
--- a/devtools/create_achievements/steam_achievements.py
+++ b/devtools/create_achievements/steam_achievements.py
@@ -30,7 +30,17 @@ from requests_html import HTMLSession
 
 # Hidden achievement descriptions are available only at user accounts for those users who have them completed
 
-STEAM_USERNAME = "lb_ii"
+STEAM_USERS = {
+	"283880"  : "lb_ii",
+	"370910"  : "lb_ii",
+	"378630"  : "lb_ii",
+	"420180"  : "lb_ii",
+	"551840"  : "lb_ii",
+	"631570"  : "lb_ii",
+	"761460"  : "lb_ii",
+	"1251910" : "lb_ii",
+	"1270590" : "lb_ii",
+}
 
 # Format is: <SteamDB language name>: (<Steam API language code>, <unixLocale>)
 # For <SteamDB language name>, see verbose output of this tool
@@ -221,6 +231,7 @@ def join_achievements_translation(achievements_en, translations):
 				completely_same = False
 				break
 		if completely_same:
+			print("WARNING: Translation is available for {0}, but is completely the same as English for game {1}".format(l, args.steamid))
 			del achievements[lang_id]
 
 	return achievements
@@ -275,15 +286,14 @@ try:
 	translations = {"English":{}}
 	if len(langs) > 1:
 		for l in langs:
-			steam_lang = LANGUAGES[l][0]
-			lang_id = LANGUAGES[l][1]
-			if hidden_achievements and len(langs) > 1:
-				TRANSLATION_URL = "https://steamcommunity.com/id/{0}/stats/{1}/?l={2}".format(STEAM_USERNAME, args.steamid, steam_lang)
+			if not hidden_achievements or len(langs) == 1:
+				TRANSLATION_URL = "https://steamcommunity.com/stats/{0}/achievements?l={1}".format(args.steamid, LANGUAGES[l][0])
+				translations[l] = parse_steamcommunity_stats(TRANSLATION_URL)
+			elif str(args.steamid) in STEAM_USERS:
+				TRANSLATION_URL = "https://steamcommunity.com/id/{0}/stats/{1}/?l={2}".format(STEAM_USERS[str(args.steamid)], args.steamid, LANGUAGES[l][0])
+				translations[l] = parse_steamcommunity_stats(TRANSLATION_URL)
 			else:
-				TRANSLATION_URL = "https://steamcommunity.com/stats/{0}/achievements?l={1}".format(args.steamid, steam_lang)
-			if args.verbose:
-				sys.stderr.write("query {0}\n".format(TRANSLATION_URL))
-			translations[l] = parse_steamcommunity_stats(TRANSLATION_URL)
+				print("WARNING: ignoring {0} localization for game {1} since it has hidden achievements not listed at STEAM_USERS, please buy, complete and add this game!".format(l, args.steamid))
 
 	achievements = join_achievements_translation(achievements_en, translations)
 	stats = {"en": stats_en} if stats_en else {}


Commit: 2afc8a3458d1675aa8453ecfd0198191e809cebe
    https://github.com/scummvm/scummvm/commit/2afc8a3458d1675aa8453ecfd0198191e809cebe
Author: lolbot-iichan (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
ACHIEVEMENTS: Generated description files

Changed paths:
    devtools/create_achievements/gen/galaxy-1460710709.ini
    devtools/create_achievements/gen/galaxy-1845001352.ini
    devtools/create_achievements/gen/steam-1251910.ini
    devtools/create_achievements/gen/steam-1270590.ini
    devtools/create_achievements/gen/steam-283880.ini
    devtools/create_achievements/gen/steam-370910.ini
    devtools/create_achievements/gen/steam-420180.ini
    devtools/create_achievements/gen/steam-551840.ini
    devtools/create_achievements/gen/steam-631570.ini
    devtools/create_achievements/gen/steam-761460.ini
    dists/engine-data/achievements.dat


diff --git a/devtools/create_achievements/gen/galaxy-1460710709.ini b/devtools/create_achievements/gen/galaxy-1460710709.ini
index 813da77dba..a30ca45319 100644
--- a/devtools/create_achievements/gen/galaxy-1460710709.ini
+++ b/devtools/create_achievements/gen/galaxy-1460710709.ini
@@ -74,3 +74,383 @@ item_19_id=HookedOnCorleys
 item_19_title=Hooked on Corleys
 item_19_comment=Became a huge fan of those sweet, addictive, not to mention cancer-inducing sticks of tobacco
 item_19_hidden=true
+[achievements:de_DE]
+item_0_id=FinishDayOne
+item_0_title=Aufs Katmobil gestiegen
+item_0_comment=Tag 1 abgeschlossen
+item_1_id=FinishDayTwo
+item_1_title=Wow, die sind hypnotisierend ...
+item_1_comment=Tag 2 abgeschlossen
+item_2_id=FinishDayThree
+item_2_title=Wir haben uns schon mal getroffen, oder nicht?
+item_2_comment=Tag 3 abgeschlossen
+item_3_id=FinishDayFour
+item_3_title=Sprung ins Ungewisse
+item_3_comment=Tag 4 abgeschlossen
+item_4_id=FinishGame
+item_4_title=Alles schon mal da gewesen
+item_4_comment=Das Spiel abgeschlossen
+item_5_id=Procrastinator
+item_5_title=Was du heute kannst besorgen ...
+item_5_comment=Hast dein Bestes getan, die Beerdigung zu verpassen
+item_5_hidden=true
+item_6_id=EnjoyingTheScenery
+item_6_title=Die Landschaft genießen
+item_6_comment=Unterwegs die Zeit vergessen
+item_6_hidden=true
+item_7_id=Hotwheels
+item_7_title=Heiße Reifen
+item_7_comment=Wolltest buchstäblich eine Runde mit dem Rollstuhl drehen
+item_7_hidden=true
+item_8_id=Aww
+item_8_title=Aaah!
+item_8_comment=Einen eingesperrten Obdachlosen gequält
+item_8_hidden=true
+item_9_id=Undateable
+item_9_title=Kein Gespür für Romantik
+item_9_comment=Hast kein Interesse daran gezeigt, Lenny sanft abzuservieren
+item_9_hidden=true
+item_10_id=MrBear
+item_10_title=Mr. Bär meldet sich zum Dienst!
+item_10_comment=Mit einem flauschigen Freund wiedervereint
+item_10_hidden=true
+item_11_id=Nocturnal
+item_11_title=Nachtaktiv
+item_11_comment=Hast dich als Geschöpf der Nacht wiederentdeckt
+item_11_hidden=true
+item_12_id=HowYouDoing
+item_12_title=Wie geht's denn so, Schätzchen?
+item_12_comment=Am Computer zu flirten angefangen
+item_12_hidden=true
+item_13_id=RestingScowlyFace
+item_13_title=Von Natur aus mürrisch
+item_13_comment=Die bittere Wahrheit über dein Gesicht erfahren
+item_13_hidden=true
+item_14_id=Pyromaniac
+item_14_title=Pyromane
+item_14_comment=Geradeso den Drang unterdrückt, einen Teddy anzuzünden
+item_14_hidden=true
+item_15_id=PassiveSmoking
+item_15_title=Passivraucher
+item_15_comment=Goobers Lungenkrebs verschlimmert
+item_15_hidden=true
+item_16_id=FilmBuff
+item_16_title=Filmkenner
+item_16_comment=Total fasziniert von Goobers Monologen
+item_16_hidden=true
+item_17_id=Heretic
+item_17_title=Ketzer
+item_17_comment=Wolltest aus Büchern einen Scheiterhaufen basteln
+item_17_hidden=true
+item_18_id=TriggerHappy
+item_18_title=Folterknecht
+item_18_comment=Hattest es wirklich auf Goober abgesehen
+item_18_hidden=true
+item_19_id=HookedOnCorleys
+item_19_title=Süchtig nach Corleys
+item_19_comment=Ein riesiger Fan dieser wunderbaren, süchtig machenden und nicht zuletzt Krebs verursachende Tabakstängelchen geworden
+item_19_hidden=true
+[achievements:fr_FR]
+item_0_id=FinishDayOne
+item_0_title=Monter sur la Katmobile
+item_0_comment=A terminé le premier jour
+item_1_id=FinishDayTwo
+item_1_title=Oh, elles sont hypnotiques...
+item_1_comment=A terminé le deuxième jour
+item_2_id=FinishDayThree
+item_2_title=On s'est déjà rencontrés, n'est-ce pas ?
+item_2_comment=A terminé le troisième jour
+item_3_id=FinishDayFour
+item_3_title=Tomber dans le terrier
+item_3_comment=A terminé le quatrième jour
+item_4_id=FinishGame
+item_4_title=Déjà tout vu, déjà tout fait
+item_4_comment=A terminé le jeu
+item_5_id=Procrastinator
+item_5_title=Remet tout à demain
+item_5_comment=A fait de son mieux pour rater l'enterrement
+item_5_hidden=true
+item_6_id=EnjoyingTheScenery
+item_6_title=Admirer le paysage
+item_6_comment=A perdu la notion du temps sur la route
+item_6_hidden=true
+item_7_id=Hotwheels
+item_7_title=Pneus en feu
+item_7_comment=A cédé à l'envie de faire un tour en fauteuil roulant, comme ça
+item_7_hidden=true
+item_8_id=Aww
+item_8_title=Ooohh !
+item_8_comment=A torturé un clochard en prison
+item_8_hidden=true
+item_9_id=Undateable
+item_9_title=Célibataire à jamais
+item_9_comment=N'a pas ressenti le besoin de rembarrer Lenny gentiment
+item_9_hidden=true
+item_10_id=MrBear
+item_10_title=Monsieur Nounours, au rapport !
+item_10_comment=A retrouvé un ami poilu
+item_10_hidden=true
+item_11_id=Nocturnal
+item_11_title=Nocturne
+item_11_comment=S'est redécouverte comme une créature de la nuit
+item_11_hidden=true
+item_12_id=HowYouDoing
+item_12_title=Comment ça va TOI ?
+item_12_comment=S'est comportée de manière suggestive sur l'ordinateur
+item_12_hidden=true
+item_13_id=RestingScowlyFace
+item_13_title=Expression naturellement antipathique
+item_13_comment=A appris une triste vérité sur votre visage
+item_13_hidden=true
+item_14_id=Pyromaniac
+item_14_title=Pyromane
+item_14_comment=A difficilement résisté à l'envie de passer un nounours au barbecue
+item_14_hidden=true
+item_15_id=PassiveSmoking
+item_15_title=Tabagisme passif
+item_15_comment=A aggravé le cancer du poumon de Goober
+item_15_hidden=true
+item_16_id=FilmBuff
+item_16_title=Cinéphile
+item_16_comment=Totalement fascinée par les monologues de Goober
+item_16_hidden=true
+item_17_id=Heretic
+item_17_title=Hérétique
+item_17_comment=Voulait se faire une petite séance de brûlage de livres
+item_17_hidden=true
+item_18_id=TriggerHappy
+item_18_title=Gâchette facile
+item_18_comment=Avait vraiment Goober dans le collimateur
+item_18_hidden=true
+item_19_id=HookedOnCorleys
+item_19_title=Accro aux Corleys
+item_19_comment=Est devenue une grande fan de ces délicieuses tiges à tabac si addictives, sans oublier cancérigènes
+item_19_hidden=true
+[achievements:it_IT]
+item_0_id=FinishDayOne
+item_0_title=Sali sulla Katmobile
+item_0_comment=Hai finito il primo giorno
+item_1_id=FinishDayTwo
+item_1_title=Wow, sono proprio ipnotiche...
+item_1_comment=Hai finito il secondo giorno
+item_2_id=FinishDayThree
+item_2_title=Ci siamo già incontrati prima d'ora, vero?
+item_2_comment=Hai finito il terzo giorno.
+item_3_id=FinishDayFour
+item_3_title=Giù per la tana del bianconiglio
+item_3_comment=Hai finito il quarto giorno
+item_4_id=FinishGame
+item_4_title=Già visto tutto, già fatto tutto
+item_4_comment=Hai finito il gioco.
+item_5_id=Procrastinator
+item_5_title=Procrastinatore
+item_5_comment=Hai fatto il possibile per evitare il funerale
+item_5_hidden=true
+item_6_id=EnjoyingTheScenery
+item_6_title=Ammira il paesaggio
+item_6_comment=Per strada, hai perso la nozione del tempo
+item_6_hidden=true
+item_7_id=Hotwheels
+item_7_title=Pneumatici di fuoco
+item_7_comment=Hai ceduto alla voglia di farti un giro sulla sedia a rotelle.
+item_7_hidden=true
+item_8_id=Aww
+item_8_title=Ooohh!
+item_8_comment=Hai torturato un barbone in prigione
+item_8_hidden=true
+item_9_id=Undateable
+item_9_title=Nessun appuntamento
+item_9_comment=Non hai sentito il bisogno di scaricare Lenny senza ferirlo
+item_9_hidden=true
+item_10_id=MrBear
+item_10_title=Mister Orsacchiotto, a rapporto!
+item_10_comment=Hai ritrovato un vecchio amico peloso
+item_10_hidden=true
+item_11_id=Nocturnal
+item_11_title=Notturno
+item_11_comment=Hai scoperto di essere una creatura della notte
+item_11_hidden=true
+item_12_id=HowYouDoing
+item_12_title=Come stai TU?
+item_12_comment=Comportamento malizioso sul computer
+item_12_hidden=true
+item_13_id=RestingScowlyFace
+item_13_title=Faccia istintivamente antipatica
+item_13_comment=Hai appreso una triste verità sul tuo viso
+item_13_hidden=true
+item_14_id=Pyromaniac
+item_14_title=Piromane
+item_14_comment=È difficile resistere all'idea di fare un barbecue di orsacchiotto
+item_14_hidden=true
+item_15_id=PassiveSmoking
+item_15_title=Fumo passivo
+item_15_comment=Cancro al polmone terminale per Goober
+item_15_hidden=true
+item_16_id=FilmBuff
+item_16_title=Cinefilo
+item_16_comment=Totalmente affascinato dai monologhi di Goober
+item_16_hidden=true
+item_17_id=Heretic
+item_17_title=Eretico
+item_17_comment=Volevi cercare di fare un bel falò con i libri
+item_17_hidden=true
+item_18_id=TriggerHappy
+item_18_title=Grilletto facile
+item_18_comment=Hai sempre Goober nel mirino
+item_18_hidden=true
+item_19_id=HookedOnCorleys
+item_19_title=Dipendenza dalle Corleys
+item_19_comment=Sei diventato un grande fan di quei deliziosi, assuefacenti, e non dimentichiamo, cancro-inducenti, bastoncini di tabacco
+item_19_hidden=true
+[achievements:es_ES]
+item_0_id=FinishDayOne
+item_0_title=Subir al Katmóvil
+item_0_comment=Día uno terminado
+item_1_id=FinishDayTwo
+item_1_title=Vaya, son hipnóticas...
+item_1_comment=Día dos terminado
+item_2_id=FinishDayThree
+item_2_title=Nos conocemos de antes, ¿no?
+item_2_comment=Día tres terminado
+item_3_id=FinishDayFour
+item_3_title=Descender por la madriguera del conejo
+item_3_comment=Día cuatro terminado
+item_4_id=FinishGame
+item_4_title=Ya lo he visto, ya lo he hecho
+item_4_comment=Terminaste el juego
+item_5_id=Procrastinator
+item_5_title=Posponedora
+item_5_comment=Hiciste todo lo posible por perderte el funeral
+item_5_hidden=true
+item_6_id=EnjoyingTheScenery
+item_6_title=Disfrutando el paisaje
+item_6_comment=Perdiste la noción del tiempo en la carretera
+item_6_hidden=true
+item_7_id=Hotwheels
+item_7_title=Hotwheels
+item_7_comment=Sentiste ganas de literalmente dar unas vueltas con una silla de ruedas
+item_7_hidden=true
+item_8_id=Aww
+item_8_title=¡Ay!
+item_8_comment=Torturaste a un vagabundo encarcelado
+item_8_hidden=true
+item_9_id=Undateable
+item_9_title=Infechable
+item_9_comment=No sentiste necesidad alguna de rechazar a Lenny con delicadeza
+item_9_hidden=true
+item_10_id=MrBear
+item_10_title=El Sr. Oso, ¡presente para el servicio!
+item_10_comment=Reunida con un amigo peludo
+item_10_hidden=true
+item_11_id=Nocturnal
+item_11_title=Nocturno
+item_11_comment=Te redescubriste como una criatura de la noche
+item_11_hidden=true
+item_12_id=HowYouDoing
+item_12_title=¿Cómo va ESO?
+item_12_comment=Tuviste un comportamiento coqueto en el ordenador
+item_12_hidden=true
+item_13_id=RestingScowlyFace
+item_13_title=Cara siempre enfurruñada
+item_13_comment=Aprendiste una fría y dura verdad acerca de tu cara
+item_13_hidden=true
+item_14_id=Pyromaniac
+item_14_title=Pirómana
+item_14_comment=Apenas resististe el impulso de convertir un oso en barbacoa
+item_14_hidden=true
+item_15_id=PassiveSmoking
+item_15_title=Fumador pasivo
+item_15_comment=Amplificaste el cáncer de pulmón de Goober
+item_15_hidden=true
+item_16_id=FilmBuff
+item_16_title=Fanática del cine
+item_16_comment=Totalmente fascinada por los monólogos de Goober
+item_16_hidden=true
+item_17_id=Heretic
+item_17_title=Hereje
+item_17_comment=Quisiste implicarte en una clásica quema de libros
+item_17_hidden=true
+item_18_id=TriggerHappy
+item_18_title=Gatillo fácil
+item_18_comment=Le tenías manía de veras a Goober
+item_18_hidden=true
+item_19_id=HookedOnCorleys
+item_19_title=Adicta a las Corleys
+item_19_comment=Te convertiste en una gran fan de esos bonitos, adictivos y, que no se nos olvide, cancerígenos cigarrillos
+item_19_hidden=true
+[achievements:pl_PL]
+item_0_id=FinishDayOne
+item_0_title=Wsiądź na Katmobil
+item_0_comment=Ukończyłaś dzień pierwszy
+item_1_id=FinishDayTwo
+item_1_title=Wow, hipnotyczne...
+item_1_comment=Ukończyłaś dzień drugi
+item_2_id=FinishDayThree
+item_2_title=Spotkaliśmy się wcześniej, prawda?
+item_2_comment=Ukończyłaś dzień trzeci
+item_3_id=FinishDayFour
+item_3_title=Do króliczej dziury
+item_3_comment=Ukończyłaś dzień czwarty
+item_4_id=FinishGame
+item_4_title=Znam ten ból
+item_4_comment=Ukończyłaś grę
+item_5_id=Procrastinator
+item_5_title=Kunktator
+item_5_comment=Starałaś się z całych sił opuścić pogrzeb
+item_5_hidden=true
+item_6_id=EnjoyingTheScenery
+item_6_title=RozkoszujÄ…c siÄ™ widokiem
+item_6_comment=Starałaś się z całych sił opuścić pogrzeb
+item_6_hidden=true
+item_7_id=Hotwheels
+item_7_title=Nowe 4 kółka
+item_7_comment=Straciłaś poczucie czasu na drodze
+item_7_hidden=true
+item_8_id=Aww
+item_8_title=Oooch!
+item_8_comment=Torturowałaś aresztowanego bezdomnego
+item_8_hidden=true
+item_9_id=Undateable
+item_9_title=Nierandkowalna
+item_9_comment=Nie czułaś potrzeby, by delikatnie odrzucić zaloty Lenny'ego
+item_9_hidden=true
+item_10_id=MrBear
+item_10_title=Pan Miś gotowy do służby!
+item_10_comment=Ponownie spotkałaś się z włochatym przyjacielem
+item_10_hidden=true
+item_11_id=Nocturnal
+item_11_title=Ciemność widzę
+item_11_comment=Odkryłaś się na nowo jako nocny marek
+item_11_hidden=true
+item_12_id=HowYouDoing
+item_12_title=A jak ty siÄ™ miewasz?
+item_12_comment=Flirtowałaś przez komputer
+item_12_hidden=true
+item_13_id=RestingScowlyFace
+item_13_title=NadÄ…sana mina
+item_13_comment=Dowiedziałaś się ciężkiej prawdy o swojej twarzy
+item_13_hidden=true
+item_14_id=Pyromaniac
+item_14_title=Piroman
+item_14_comment=Ledwo powstrzymałaś się przed sfajczeniem misia
+item_14_hidden=true
+item_15_id=PassiveSmoking
+item_15_title=Bierne palenie
+item_15_comment=Pogorszyłaś raka płuc Goobera
+item_15_hidden=true
+item_16_id=FilmBuff
+item_16_title=Kinomaniak
+item_16_comment=Całkowicie zafascynowały cię monologi Goobera
+item_16_hidden=true
+item_17_id=Heretic
+item_17_title=Heretyczka
+item_17_comment=Chciałaś wziąć udział w starym dobrym paleniu książek
+item_17_hidden=true
+item_18_id=TriggerHappy
+item_18_title=Porażające doznania
+item_18_comment=NaprawdÄ™ lubisz dopiec Gooberowi
+item_18_hidden=true
+item_19_id=HookedOnCorleys
+item_19_title=Uzależniona od Corleysów
+item_19_comment=Stałaś się wielką fanką tych słodkich, uzależniających i rakotwórczych pałeczek tytoniu
+item_19_hidden=true
diff --git a/devtools/create_achievements/gen/galaxy-1845001352.ini b/devtools/create_achievements/gen/galaxy-1845001352.ini
index 4904f8be6e..990c28a83d 100644
--- a/devtools/create_achievements/gen/galaxy-1845001352.ini
+++ b/devtools/create_achievements/gen/galaxy-1845001352.ini
@@ -93,3 +93,478 @@ item_24_id=CloseCall
 item_24_title=Close Call
 item_24_comment=Alex almost had his way
 item_24_hidden=true
+[achievements:de_DE]
+item_0_id=CaseClosed
+item_0_title=Fall abgeschlossen
+item_0_comment=Das Spiel abgeschlossen.
+item_1_id=PathOfTyr
+item_1_title=Weg des Tyr
+item_1_comment=Das Spiel selbstbewusst abgeschlossen.
+item_2_id=PathOfFrigg
+item_2_title=Weg der Frigg
+item_2_comment=Das Spiel analytisch abgeschlossen.
+item_3_id=PathOfBaldr
+item_3_title=Weg des Balder
+item_3_comment=Das Spiel einfühlsam abgeschlossen.
+item_4_id=UnlockTier2
+item_4_title=Verborgenes Potenzial
+item_4_comment=Neue Augmentation freigeschaltet.
+item_5_id=UnlockAugs
+item_5_title=Überwältigende Macht
+item_5_comment=Ein vollständiges Set an Augmentationen freigeschaltet.
+item_6_id=Harbinger
+item_6_title=Singularitätsorientiert
+item_6_comment=Preiset Huldra!
+item_6_hidden=true
+item_7_id=UnleashTheWolf
+item_7_title=Der entfesselte Wolf
+item_7_comment=Hauptrechner mit Fenrir-Protokoll formatiert.
+item_7_hidden=true
+item_8_id=Caregiver
+item_8_title=Fürsorglich
+item_8_comment=Dem Kind ein liebevolles Zuhause gegeben.
+item_8_hidden=true
+item_9_id=Careerist
+item_9_title=Karrierefixiert
+item_9_comment=Nicht zur Mutter geschaffen.
+item_9_hidden=true
+item_10_id=MixedMethods
+item_10_title=Eklektizistisch
+item_10_comment=Gemischte Augs waren genau dein Ding.
+item_10_hidden=true
+item_11_id=NoSodaForYou
+item_11_title=Flüstern eines Limoautomaten
+item_11_comment=Keine 100 Jahre alte Limo geholt.
+item_11_hidden=true
+item_12_id=PassiveSmoking
+item_12_title=Passivraucherin
+item_12_comment=Passiv bei Rolf mitgeraucht.
+item_12_hidden=true
+item_13_id=Reassembled
+item_13_title=Wiedervereint
+item_13_comment=Karl seinen Finger zurückgegeben.
+item_13_hidden=true
+item_14_id=SharpEyed
+item_14_title=Scharfer Blick
+item_14_comment=Eine hinterhältige Todesmaschine entdeckt.
+item_14_hidden=true
+item_15_id=Environmentalist
+item_15_title=Umweltbewusst
+item_15_comment=Das Recyclingzentrum umweltfreundlich hinterlassen.
+item_15_hidden=true
+item_16_id=WhatSuspect
+item_16_title=Babysitterin
+item_16_comment=Lieber den Nährstoffkanister installiert, als Katarina zu verfolgen.
+item_16_hidden=true
+item_17_id=PickTheBaby
+item_17_title=Sentimental
+item_17_comment=Dem Baby einen knuddeligen Namen gegeben.
+item_17_hidden=true
+item_18_id=Museophile
+item_18_title=Museophil
+item_18_comment=Viel Zeit für die Ausstellung genommen.
+item_18_hidden=true
+item_19_id=SneakAttack
+item_19_title=Hinterhältig
+item_19_comment=Die Angreiferin angegriffen.
+item_19_hidden=true
+item_20_id=Memento
+item_20_title=Memento
+item_20_comment=Katarina wird das nicht vergessen.
+item_20_hidden=true
+item_21_id=CompulsiveReturner
+item_21_title=Schlechtes Gewissen
+item_21_comment=Das war antikleptoklimatisch ...
+item_21_hidden=true
+item_22_id=CaffeineAddict
+item_22_title=Flüstern eines Kaffeeautomaten
+item_22_comment=Mindestens eine Tasse Kaffee am Tag getrunken.
+item_22_hidden=true
+item_23_id=Whodunnit
+item_23_title=Wer war’s?
+item_23_comment=Wer könnte für dieses abscheuliche Verbrechen verantwortlich sein?
+item_23_hidden=true
+item_24_id=CloseCall
+item_24_title=Knappe Sache
+item_24_comment=Alex hätte fast seinen Willen gekriegt.
+item_24_hidden=true
+[achievements:fr_FR]
+item_0_id=CaseClosed
+item_0_title=Affaire classée
+item_0_comment=Vous avez terminé le jeu.
+item_1_id=PathOfTyr
+item_1_title=Voie de Tyr
+item_1_comment=Vous avez terminé le jeu de manière autoritaire.
+item_2_id=PathOfFrigg
+item_2_title=Voie de Frigg
+item_2_comment=Vous avez terminé le jeu de manière analytique.
+item_3_id=PathOfBaldr
+item_3_title=Voie de Baldr
+item_3_comment=Vous avez terminé le jeu de manière empathique.
+item_4_id=UnlockTier2
+item_4_title=Potentiel caché
+item_4_comment=Vous avez débloqué une nouvelle augmentation.
+item_5_id=UnlockAugs
+item_5_title=Surpuissance
+item_5_comment=Vous avez débloqué un ensemble complet d'augmentations.
+item_6_id=Harbinger
+item_6_title=Un goût singulier pour les singularités
+item_6_comment=Gloire à Huldra !
+item_6_hidden=true
+item_7_id=UnleashTheWolf
+item_7_title=Loup déchaîné
+item_7_comment=Vous avez effacé l'ordinateur central à l'aide du protocole Fenrir.
+item_7_hidden=true
+item_8_id=Caregiver
+item_8_title=Assistante sociale
+item_8_comment=Vous avez confié à l'enfant un foyer aimant.
+item_8_hidden=true
+item_9_id=Careerist
+item_9_title=Carriériste
+item_9_comment=Vous n'étiez pas faite pour être mère.
+item_9_hidden=true
+item_10_id=MixedMethods
+item_10_title=Méthodes non conventionnelles
+item_10_comment=Vous adorez les augmentations disparates.
+item_10_hidden=true
+item_11_id=NoSodaForYou
+item_11_title=Murmures de la machine à soda
+item_11_comment=Vous n'avez pas réussi à obtenir le soda centenaire.
+item_11_hidden=true
+item_12_id=PassiveSmoking
+item_12_title=Tabagisme passif
+item_12_comment=Vous avez respiré ce que fumait Rolf.
+item_12_hidden=true
+item_13_id=Reassembled
+item_13_title=Juste un doigt
+item_13_comment=Vous avez rendu son doigt à Karl.
+item_13_hidden=true
+item_14_id=SharpEyed
+item_14_title=Å’il de lynx
+item_14_comment=Vous avez découvert une sournoise machine de mort.
+item_14_hidden=true
+item_15_id=Environmentalist
+item_15_title=Écolo
+item_15_comment=Vous avez quitté l'usine de recyclage de manière écologique.
+item_15_hidden=true
+item_16_id=WhatSuspect
+item_16_title=Baby-sitter
+item_16_comment=Vous avez préféré installer la bonbonne de nutriments plutôt que de poursuivre Katarina.
+item_16_hidden=true
+item_17_id=PickTheBaby
+item_17_title=Baptême
+item_17_comment=Vous avez donné au bébé un nom d'animal de compagnie.
+item_17_hidden=true
+item_18_id=Museophile
+item_18_title=Muséophile
+item_18_comment=Vous avez pris tout votre temps à l'exposition.
+item_18_hidden=true
+item_19_id=SneakAttack
+item_19_title=Attaque-surprise
+item_19_comment=Vous avez retourné l'embuscade contre son instigatrice.
+item_19_hidden=true
+item_20_id=Memento
+item_20_title=Souvenir
+item_20_comment=Katarina ne risque pas de l'oublier.
+item_20_hidden=true
+item_21_id=CompulsiveReturner
+item_21_title=Antivol
+item_21_comment=Vous êtes d'une honnêteté irréprochable.
+item_21_hidden=true
+item_22_id=CaffeineAddict
+item_22_title=Murmures de la machine à café
+item_22_comment=Vous avez bu au moins une tasse de café par jour.
+item_22_hidden=true
+item_23_id=Whodunnit
+item_23_title=Qui a fait le coup ?
+item_23_comment=Qui a bien pu commettre un crime aussi atroce ?
+item_23_hidden=true
+item_24_id=CloseCall
+item_24_title=De justesse
+item_24_comment=Alex a failli arriver à ses fins.
+item_24_hidden=true
+[achievements:it_IT]
+item_0_id=CaseClosed
+item_0_title=Caso Chiuso
+item_0_comment=Hai terminato il gioco
+item_1_id=PathOfTyr
+item_1_title=Via di Tyr
+item_1_comment=Hai terminato il gioco assertivamente
+item_2_id=PathOfFrigg
+item_2_title=Via di Frigg
+item_2_comment=Hai terminato il gioco analiticamente
+item_3_id=PathOfBaldr
+item_3_title=Via di Baldr
+item_3_comment=Hai terminato il gioco empaticamente
+item_4_id=UnlockTier2
+item_4_title=Potenziale Nascosto
+item_4_comment=Hai sbloccato un nuovo potenziamento
+item_5_id=UnlockAugs
+item_5_title=Potere Travolgente
+item_5_comment=Hai sbloccato una serie completa di potenziamenti
+item_6_id=Harbinger
+item_6_title=Singolarità
+item_6_comment=Sia Lode a Huldra!
+item_6_hidden=true
+item_7_id=UnleashTheWolf
+item_7_title=Libera il Lupo
+item_7_comment=Hai formattato il server con il Protocollo Fenrir
+item_7_hidden=true
+item_8_id=Caregiver
+item_8_title=La Famiglia Viene Prima
+item_8_comment=Hai dato al bambino una nuova casa
+item_8_hidden=true
+item_9_id=Careerist
+item_9_title=Il Lavoro Viene Prima
+item_9_comment=Essere genitore non fa per te
+item_9_hidden=true
+item_10_id=MixedMethods
+item_10_title=Metodi Non Convenzionali
+item_10_comment=Adori i potenziamenti più disparati
+item_10_hidden=true
+item_11_id=NoSodaForYou
+item_11_title=Sussurri di un Distributore Automatico
+item_11_comment=Non sei riuscito a prendere quella bibita centenaria
+item_11_hidden=true
+item_12_id=PassiveSmoking
+item_12_title=Fumo Passivo
+item_12_comment=Hai respirato qualsiasi cosa stesse fumando Rolf
+item_12_hidden=true
+item_13_id=Reassembled
+item_13_title=Riassemblato
+item_13_comment=Hai riconsegnato il dito a Karl
+item_13_hidden=true
+item_14_id=SharpEyed
+item_14_title=Osservatrice
+item_14_comment=Hai scoperto una terribile macchina mortale
+item_14_hidden=true
+item_15_id=Environmentalist
+item_15_title=Ambientalista
+item_15_comment=Hai lasciato l'impianto di riciclaggio in condizioni eco-sostenibili
+item_15_hidden=true
+item_16_id=WhatSuspect
+item_16_title=Babysitter
+item_16_comment=Hai preferito sostituire il contenitore di nutrienti piuttosto che inseguire Katarina
+item_16_hidden=true
+item_17_id=PickTheBaby
+item_17_title=Battesimo
+item_17_comment=Hai dato al bambino un nome da cane
+item_17_hidden=true
+item_18_id=Museophile
+item_18_title=Museofila
+item_18_comment=Ti sei preso il tuo tempo tra le sale dell'esposizione
+item_18_hidden=true
+item_19_id=SneakAttack
+item_19_title=Amante della Cultura
+item_19_comment=Hai teso un'imboscata all'imboscatrice
+item_19_hidden=true
+item_20_id=Memento
+item_20_title=Memento
+item_20_comment=Katarina se lo ricorderà
+item_20_hidden=true
+item_21_id=CompulsiveReturner
+item_21_title=Restituitrice Seriale
+item_21_comment=Tutto ciò è davvero anti-cleptomane
+item_21_hidden=true
+item_22_id=CaffeineAddict
+item_22_title=Sussurri di una Macchina del Caffè
+item_22_comment=Una tazza al giorno...
+item_22_hidden=true
+item_23_id=Whodunnit
+item_23_title=Chi È Stato?
+item_23_comment=Chi può aver fatto una cosa del genere?
+item_23_hidden=true
+item_24_id=CloseCall
+item_24_title=Per un Pelo
+item_24_comment=Alex ce l'aveva quasi fatta
+item_24_hidden=true
+[achievements:es_ES]
+item_0_id=CaseClosed
+item_0_title=Caso cerrado
+item_0_comment=Has llegado al final del juego
+item_1_id=PathOfTyr
+item_1_title=Senda de Tyr
+item_1_comment=Has llegado al final del juego por la vía asertiva
+item_2_id=PathOfFrigg
+item_2_title=Senda de Frigg
+item_2_comment=Has llegado al final del juego por la vía analítica
+item_3_id=PathOfBaldr
+item_3_title=Senda de Baldr
+item_3_comment=Has llegado al final del juego por la vía empática
+item_4_id=UnlockTier2
+item_4_title=Potencial oculto
+item_4_comment=Has desbloqueado un nuevo aumento
+item_5_id=UnlockAugs
+item_5_title=Poder arrollador
+item_5_comment=Has desbloqueado un conjunto completo de aumentos
+item_6_id=Harbinger
+item_6_title=Por la singularidad
+item_6_comment=Hail Huldra
+item_6_hidden=true
+item_7_id=UnleashTheWolf
+item_7_title=Libera al lobo
+item_7_comment=Has barrido el ordenador central con el protocolo Fenrir
+item_7_hidden=true
+item_8_id=Caregiver
+item_8_title=Cuidadora
+item_8_comment=Le has dado al bebé un buen hogar
+item_8_hidden=true
+item_9_id=Careerist
+item_9_title=Centrada en la carrera
+item_9_comment=La maternidad no era una opción
+item_9_hidden=true
+item_10_id=MixedMethods
+item_10_title=Métodos mixtos
+item_10_comment=Te gustaba ir alternando los aumentos
+item_10_hidden=true
+item_11_id=NoSodaForYou
+item_11_title=Susurros de una máquina de refrescos
+item_11_comment=No has logrado conseguir ese refresco centenario
+item_11_hidden=true
+item_12_id=PassiveSmoking
+item_12_title=Fumadora pasiva remasterizada
+item_12_comment=Has fumado pasivamente lo que sea que estuviese fumando Rolf
+item_12_hidden=true
+item_13_id=Reassembled
+item_13_title=Rensamblaje
+item_13_comment=Le has devuelto el dedo a Karl
+item_13_hidden=true
+item_14_id=SharpEyed
+item_14_title=Observadora
+item_14_comment=Has descubierto una malvada máquina mortífera
+item_14_hidden=true
+item_15_id=Environmentalist
+item_15_title=Ecologista
+item_15_comment=Has hecho del centro de reciclado un gran entorno ecológico
+item_15_hidden=true
+item_16_id=WhatSuspect
+item_16_title=Canguro
+item_16_comment=Has decidido instalar la lata de nutrientes en vez de perseguir a Katarina
+item_16_hidden=true
+item_17_id=PickTheBaby
+item_17_title=Llévate al bebé
+item_17_comment=Le has dado al bebé un nombre digno de una mascota
+item_17_hidden=true
+item_18_id=Museophile
+item_18_title=Museófila
+item_18_comment=Te lo has tomado con calma en la exposición
+item_18_hidden=true
+item_19_id=SneakAttack
+item_19_title=Ataque sigiloso
+item_19_comment=Has emboscado a quien te emboscaba
+item_19_hidden=true
+item_20_id=Memento
+item_20_title=Recuerdo
+item_20_comment=Katarina no lo olvidará
+item_20_hidden=true
+item_21_id=CompulsiveReturner
+item_21_title=Regresadora en serie
+item_21_comment=Eso ha sido anticleptoclimático
+item_21_hidden=true
+item_22_id=CaffeineAddict
+item_22_title=Susurros de una máquina de café
+item_22_comment=Te has tomado al menos una taza de café al día
+item_22_hidden=true
+item_23_id=Whodunnit
+item_23_title=¿Quién ha sido?
+item_23_comment=¿Quién será responsable de un crimen tan atroz?
+item_23_hidden=true
+item_24_id=CloseCall
+item_24_title=Por un pelo
+item_24_comment=Álex casi se sale con la suya
+item_24_hidden=true
+[achievements:pt_BR]
+item_0_id=CaseClosed
+item_0_title=Caso encerrado
+item_0_comment=Terminou o jogo
+item_1_id=PathOfTyr
+item_1_title=Caminho de Tyr
+item_1_comment=Terminou o jogo de modo assertivo
+item_2_id=PathOfFrigg
+item_2_title=Caminho de Frigg
+item_2_comment=Terminou o jogo de modo analítico
+item_3_id=PathOfBaldr
+item_3_title=Caminho de Baldr
+item_3_comment=Terminou o jogo de modo empático
+item_4_id=UnlockTier2
+item_4_title=Potencial oculto
+item_4_comment=Desbloqueou um novo aprimoramento
+item_5_id=UnlockAugs
+item_5_title=Poder esmagador
+item_5_comment=Desbloqueou um conjunto completo de aprimoramentos
+item_6_id=Harbinger
+item_6_title=Foi pela singuraridade
+item_6_comment=Glória a Huldra
+item_6_hidden=true
+item_7_id=UnleashTheWolf
+item_7_title=Liberte o lobo
+item_7_comment=Formatou o computador central com o protocolo Fenrir
+item_7_hidden=true
+item_8_id=Caregiver
+item_8_title=A família vem em primeiro lugar
+item_8_comment=Deu um bom lar ao bebê
+item_8_hidden=true
+item_9_id=Careerist
+item_9_title=Foco na carreira
+item_9_comment=A maternidade não estava nos planos
+item_9_hidden=true
+item_10_id=MixedMethods
+item_10_title=Métodos mistos
+item_10_comment=Preferiu usar aprimoramentos alternados
+item_10_hidden=true
+item_11_id=NoSodaForYou
+item_11_title=Sussurros de uma máquina de refrigerantes
+item_11_comment=Não conseguiu pegar aquele refri milenar
+item_11_hidden=true
+item_12_id=PassiveSmoking
+item_12_title=Fumante passiva
+item_12_comment=Respirou o bagulho que Rolf estava fumando
+item_12_hidden=true
+item_13_id=Reassembled
+item_13_title=Remontado
+item_13_comment=Devolveu o dedo para Karl
+item_13_hidden=true
+item_14_id=SharpEyed
+item_14_title=Observadora
+item_14_comment=Descobriu uma perversa máquina mortífera
+item_14_hidden=true
+item_15_id=Environmentalist
+item_15_title=Ecologista
+item_15_comment=Fez do centro de reciclagem um lugar que se preocupa com o meio ambiente
+item_15_hidden=true
+item_16_id=WhatSuspect
+item_16_title=Babá
+item_16_comment=Decidiu instalar a lata de nutrientes antes de perseguir Katarina
+item_16_hidden=true
+item_17_id=PickTheBaby
+item_17_title=Leve o bebê
+item_17_comment=Deu ao bebê um nome digno de um mascote
+item_17_hidden=true
+item_18_id=Museophile
+item_18_title=Museófila
+item_18_comment=Apreciou toda a exposição
+item_18_hidden=true
+item_19_id=SneakAttack
+item_19_title=Ataque surpresa
+item_19_comment=Emboscou o emboscador
+item_19_hidden=true
+item_20_id=Memento
+item_20_title=Lembrancinha
+item_20_comment=Katarina vai se lembrar disso
+item_20_hidden=true
+item_21_id=CompulsiveReturner
+item_21_title=Devolvedora em série
+item_21_comment=Isso foi anticleptoclimático
+item_21_hidden=true
+item_22_id=CaffeineAddict
+item_22_title=Sussurros de uma máquina de café
+item_22_comment=Tomou pelo menos uma xícara de café por dia
+item_22_hidden=true
+item_23_id=Whodunnit
+item_23_title=Quem foi?
+item_23_comment=Quem será responsável por esse crime brutal?
+item_23_hidden=true
+item_24_id=CloseCall
+item_24_title=Essa foi por pouco
+item_24_comment=Alex quase conseguiu
+item_24_hidden=true
diff --git a/devtools/create_achievements/gen/steam-1251910.ini b/devtools/create_achievements/gen/steam-1251910.ini
index ed64eaef54..eb5ea8ced1 100644
--- a/devtools/create_achievements/gen/steam-1251910.ini
+++ b/devtools/create_achievements/gen/steam-1251910.ini
@@ -137,3 +137,531 @@ item_41_comment=Kill all living things in a single game
 item_42_id=REPEAT_DEATHS
 item_42_title=Sadistic player
 item_42_comment=Repeat at least one death
+[achievements:de_DE]
+item_0_id=DEATH_0
+item_0_title=Über den Wolken
+item_0_comment=Erhalte das jeweilige Ende
+item_1_id=DEATH_1
+item_1_title=Todmüde
+item_1_comment=Erhalte das jeweilige Ende
+item_2_id=DEATH_2
+item_2_title=Strike!
+item_2_comment=Erhalte das jeweilige Ende
+item_3_id=DEATH_3
+item_3_title=Mich trifft der Schlag!
+item_3_comment=Erhalte das jeweilige Ende
+item_4_id=DEATH_4
+item_4_title=Einfach mal baumeln lassen
+item_4_comment=Erhalte das jeweilige Ende
+item_5_id=DEATH_5
+item_5_title=Tod von Oben
+item_5_comment=Erhalte das jeweilige Ende
+item_6_id=DEATH_6
+item_6_title=Impfungen verursachen Autismus
+item_6_comment=Erhalte das jeweilige Ende
+item_7_id=DEATH_7
+item_7_title=Summ oder nicht Summ
+item_7_comment=Erhalte das jeweilige Ende
+item_8_id=DEATH_8
+item_8_title=Wo brennt's denn?
+item_8_comment=Erhalte das jeweilige Ende
+item_9_id=DEATH_9
+item_9_title=Nimm das Michael Bay
+item_9_comment=Erhalte das jeweilige Ende
+item_10_id=DEATH_10
+item_10_title=Ein warmer Toast
+item_10_comment=Erhalte das jeweilige Ende
+item_11_id=DEATH_11
+item_11_title=Vive la révolution
+item_11_comment=Erhalte das jeweilige Ende
+item_12_id=DEATH_12
+item_12_title=Die Rache der Pharmakonzerne
+item_12_comment=Erhalte das jeweilige Ende
+item_13_id=DEATH_13
+item_13_title=Schnelldiät
+item_13_comment=Erhalte das jeweilige Ende
+item_14_id=DEATH_14
+item_14_title=Vorsicht, nasser Boden
+item_14_comment=Erhalte das jeweilige Ende
+item_15_id=DEATH_15
+item_15_title=Das ist kein Toaster
+item_15_comment=Erhalte das jeweilige Ende
+item_16_id=DEATH_16
+item_16_title=Welch Ironie!
+item_16_comment=Erhalte das jeweilige Ende
+item_17_id=DEATH_17
+item_17_title=Irgendwann sterben wir alle
+item_17_comment=Erhalte das jeweilige Ende
+item_18_id=DEATH_18
+item_18_title=Tod durch Spider-Man
+item_18_comment=Erhalte das jeweilige Ende
+item_19_id=DEATH_19
+item_19_title=Unter dem Meer
+item_19_comment=Erhalte das jeweilige Ende
+item_20_id=DEATH_20
+item_20_title=Saurer Regen
+item_20_comment=Erhalte das jeweilige Ende
+item_21_id=DEATH_21
+item_21_title=Frank Grimes
+item_21_comment=Erhalte das jeweilige Ende
+item_22_id=DEATH_22
+item_22_title=Die letzte Mahlzeit
+item_22_comment=Erhalte das jeweilige Ende
+item_23_id=DEATH_23
+item_23_title=Schönheit hat das Biest zerstört
+item_23_comment=Erhalte das jeweilige Ende
+item_24_id=DEATH_24
+item_24_title=Sprungteufelschrek
+item_24_comment=Erhalte das jeweilige Ende
+item_25_id=DEATH_25
+item_25_title=Mir ist kalt
+item_25_comment=Erhalte das jeweilige Ende
+item_26_id=DEATH_26
+item_26_title=Der Schimmelreiter
+item_26_comment=Erhalte das jeweilige Ende
+item_27_id=DEATH_27
+item_27_title=Frisch frittiert
+item_27_comment=Erhalte das jeweilige Ende
+item_28_id=DEATH_28
+item_28_title=Feuer und Flamme
+item_28_comment=Erhalte das jeweilige Ende
+item_29_id=DEATH_29
+item_29_title=Ich bevorzuge das Touchpad
+item_29_comment=Erhalte das jeweilige Ende
+item_30_id=AVID_READER
+item_30_title=Bücherwurm
+item_30_comment=Lies alle Einträge im Buch
+item_31_id=TUTORIAL
+item_31_title=Für Dummies
+item_31_comment=Schließe das Tutorial ab
+item_32_id=CREDITS
+item_32_title=Erfreulich zurückhaltender Vorspann
+item_32_comment=Sieh dir den Abspann bis zum Schluss an
+item_33_id=HEAD_BUMP
+item_33_title=Vorsicht Kopf!
+item_33_comment=Stoss dir den Kopf ohne zu sterben
+item_34_id=LETTERS
+item_34_title=Geheimer Verehrer
+item_34_comment=Finde die geheimen Briefe
+item_34_hidden=true
+item_35_id=FLAMETHROWER
+item_35_title=Hank Scorpio
+item_35_comment=Bastle einen Flammenwerfer
+item_35_hidden=true
+item_36_id=100_METERS
+item_36_title=Stubenhocker
+item_36_comment=Laufe 100 Meter
+item_37_id=500_METERS
+item_37_title=Geringfügig Aktiv
+item_37_comment=Laufe 500 Meter
+item_38_id=1500_METERS
+item_38_title=Fitness ist ein Lebensstil
+item_38_comment=Laufe 1500 meter
+item_39_id=5000_METERS
+item_39_title=Läuferhoch
+item_39_comment=Laufe 5 Kilometer
+item_40_id=NECKTIE
+item_40_title=Modepolizei
+item_40_comment=Zerreisse und verbrenne die Krawatte
+item_41_id=ANIMAL_HATER
+item_41_title=Todesengel
+item_41_comment=Töte alle Lebewesen in einem Spieldurchlauf
+item_42_id=REPEAT_DEATHS
+item_42_title=Sadistischer Spieler
+item_42_comment=Wiederhole mindestens einen Tod
+[achievements:it_IT]
+item_0_id=DEATH_0
+item_0_title=Nel blu dipinto di blu
+item_0_comment=Sblocca il finale relativo
+item_1_id=DEATH_1
+item_1_title=Stanco morto
+item_1_comment=Sblocca il finale relativo
+item_2_id=DEATH_2
+item_2_title=Strike!
+item_2_comment=Sblocca il finale relativo
+item_3_id=DEATH_3
+item_3_title=Sono scioccato
+item_3_comment=Sblocca il finale relativo
+item_4_id=DEATH_4
+item_4_title=Appeso a una speranza
+item_4_comment=Sblocca il finale relativo
+item_5_id=DEATH_5
+item_5_title=Morte dall'alto
+item_5_comment=Sblocca il finale relativo
+item_6_id=DEATH_6
+item_6_title=I vaccini causano autismo
+item_6_comment=Sblocca il finale relativo
+item_7_id=DEATH_7
+item_7_title=Un'apessima idea
+item_7_comment=Sblocca il finale relativo
+item_8_id=DEATH_8
+item_8_title=Bruciali tutti!
+item_8_comment=Sblocca il finale relativo
+item_9_id=DEATH_9
+item_9_title=Mr. Bay è pieno di balle
+item_9_comment=Sblocca il finale relativo
+item_10_id=DEATH_10
+item_10_title=Un brindisi caloroso
+item_10_comment=Sblocca il finale relativo
+item_11_id=DEATH_11
+item_11_title=Vive la révolution
+item_11_comment=Sblocca il finale relativo
+item_12_id=DEATH_12
+item_12_title=La vendetta di Big Pharma
+item_12_comment=Sblocca il finale relativo
+item_13_id=DEATH_13
+item_13_title=Dieta istantanea
+item_13_comment=Sblocca il finale relativo
+item_14_id=DEATH_14
+item_14_title=Attenzione, pavimento bagnato
+item_14_comment=Sblocca il finale relativo
+item_15_id=DEATH_15
+item_15_title=Non è un tostapane
+item_15_comment=Sblocca il finale relativo
+item_16_id=DEATH_16
+item_16_title=Piuttosto ironico
+item_16_comment=Sblocca il finale relativo
+item_17_id=DEATH_17
+item_17_title=Prima o poi si muore tutti
+item_17_comment=Sblocca il finale relativo
+item_18_id=DEATH_18
+item_18_title=The amazing spider-death
+item_18_comment=Sblocca il finale relativo
+item_19_id=DEATH_19
+item_19_title=In fondo al mar
+item_19_comment=Sblocca il finale relativo
+item_20_id=DEATH_20
+item_20_title=Pioggia acida
+item_20_comment=Sblocca il finale relativo
+item_21_id=DEATH_21
+item_21_title=Frank Grimes
+item_21_comment=Sblocca il finale relativo
+item_22_id=DEATH_22
+item_22_title=L'ultima cena
+item_22_comment=Sblocca il finale relativo
+item_23_id=DEATH_23
+item_23_title=La morte ti fa bella
+item_23_comment=Sblocca il finale relativo
+item_24_id=DEATH_24
+item_24_title=Paura dei clown
+item_24_comment=Sblocca il finale relativo
+item_25_id=DEATH_25
+item_25_title=Sto congelando
+item_25_comment=Sblocca il finale relativo
+item_26_id=DEATH_26
+item_26_title=Un evento sporadico
+item_26_comment=Sblocca il finale relativo
+item_27_id=DEATH_27
+item_27_title=Sono fritto!
+item_27_comment=Sblocca il finale relativo
+item_28_id=DEATH_28
+item_28_title=Ritorno di fiamma
+item_28_comment=Sblocca il finale relativo
+item_29_id=DEATH_29
+item_29_title=Preferisco il touchpad
+item_29_comment=Sblocca il finale relativo
+item_30_id=AVID_READER
+item_30_title=Topo di biblioteca
+item_30_comment=Leggi l'intero libro
+item_31_id=TUTORIAL
+item_31_title=Per negati
+item_31_comment=Completa il tutorial
+item_32_id=CREDITS
+item_32_title=Impressionante sequenza di nomi importanti
+item_32_comment=Guarda i credits fino alla fine
+item_33_id=HEAD_BUMP
+item_33_title=Occhio alla testa
+item_33_comment=Sbatti la testa in maniera non letale
+item_34_id=LETTERS
+item_34_title=Ammiratore segreto
+item_34_comment=Trova le lettere nascoste
+item_34_hidden=true
+item_35_id=FLAMETHROWER
+item_35_title=Hank Scorpio
+item_35_comment=Costruisci un lanciafiamme
+item_35_hidden=true
+item_36_id=100_METERS
+item_36_title=Pigrone
+item_36_comment=Percorri 100 metri
+item_37_id=500_METERS
+item_37_title=Attività moderata
+item_37_comment=Percorri 500 metri
+item_38_id=1500_METERS
+item_38_title=Amante del fitness
+item_38_comment=Percorri 1500 metri
+item_39_id=5000_METERS
+item_39_title=Sballo del corridore
+item_39_comment=Percorri 5 chilometri
+item_40_id=NECKTIE
+item_40_title=Ma come ti vesti
+item_40_comment=Strappa e brucia la cravatta
+item_41_id=ANIMAL_HATER
+item_41_title=Angelo della morte
+item_41_comment=Uccidi ogni essere vivente in una singola partita
+item_42_id=REPEAT_DEATHS
+item_42_title=Giocatore sadico
+item_42_comment=Ripeti almeno una morte
+[achievements:es_ES]
+item_0_id=DEATH_0
+item_0_title=Volando voy
+item_0_comment=Resolver el final correspondiente
+item_1_id=DEATH_1
+item_1_title=Muerto de cansancio
+item_1_comment=Resolver el final correspondiente
+item_2_id=DEATH_2
+item_2_title=Strike!
+item_2_comment=Resolver el final correspondiente
+item_3_id=DEATH_3
+item_3_title=Estoy conmocionado
+item_3_comment=Resolver el final correspondiente
+item_4_id=DEATH_4
+item_4_title=Pendiendo de un hilo
+item_4_comment=Resolver el final correspondiente
+item_5_id=DEATH_5
+item_5_title=Muerte desde lo alto
+item_5_comment=Resolver el final correspondiente
+item_6_id=DEATH_6
+item_6_title=Vacunarse produce autismo
+item_6_comment=Resolver el final correspondiente
+item_7_id=DEATH_7
+item_7_title=Colmenado a muerte
+item_7_comment=Resolver el final correspondiente
+item_8_id=DEATH_8
+item_8_title=¡Quémalos a todos!
+item_8_comment=Resolver el final correspondiente
+item_9_id=DEATH_9
+item_9_title=El Sr. Bay es un montón de estiércol
+item_9_comment=Resolver el final correspondiente
+item_10_id=DEATH_10
+item_10_title=Un cálido brindis
+item_10_comment=Resolver el final correspondiente
+item_11_id=DEATH_11
+item_11_title=Vive la révolution
+item_11_comment=Resolver el final correspondiente
+item_12_id=DEATH_12
+item_12_title=La venganza de Big Pharma
+item_12_comment=Resolver el final correspondiente
+item_13_id=DEATH_13
+item_13_title=Dieta instantánea
+item_13_comment=Resolver el final correspondiente
+item_14_id=DEATH_14
+item_14_title=Cuidado, suelo mojado
+item_14_comment=Resolver el final correspondiente
+item_15_id=DEATH_15
+item_15_title=Eso no es una tostadora
+item_15_comment=Resolver el final correspondiente
+item_16_id=DEATH_16
+item_16_title=¡Qué ironía!
+item_16_comment=Resolver el final correspondiente
+item_17_id=DEATH_17
+item_17_title=Todos morimos al final
+item_17_comment=Resolver el final correspondiente
+item_18_id=DEATH_18
+item_18_title=The amazing spider-muerte
+item_18_comment=Resolver el final correspondiente
+item_19_id=DEATH_19
+item_19_title=Bajo el mar
+item_19_comment=Resolver el final correspondiente
+item_20_id=DEATH_20
+item_20_title=Lluvia acida
+item_20_comment=Resolver el final correspondiente
+item_21_id=DEATH_21
+item_21_title=Frank Grimes
+item_21_comment=Resolver el final correspondiente
+item_22_id=DEATH_22
+item_22_title=La última cena
+item_22_comment=Resolver el final correspondiente
+item_23_id=DEATH_23
+item_23_title=La muerte os sienta tan bien
+item_23_comment=Resolver el final correspondiente
+item_24_id=DEATH_24
+item_24_title=Miedo a los payasos
+item_24_comment=Resolver el final correspondiente
+item_25_id=DEATH_25
+item_25_title=Estoy helado
+item_25_comment=Resolver el final correspondiente
+item_26_id=DEATH_26
+item_26_title=Un evento esporádico
+item_26_comment=Resolver el final correspondiente
+item_27_id=DEATH_27
+item_27_title=¡Me tienen frito!
+item_27_comment=Resolver el final correspondiente
+item_28_id=DEATH_28
+item_28_title=Fuego de cobertura
+item_28_comment=Resolver el final correspondiente
+item_29_id=DEATH_29
+item_29_title=Prefiero el touchpad
+item_29_comment=Resolver el final correspondiente
+item_30_id=AVID_READER
+item_30_title=Ratón de biblioteca
+item_30_comment=Leer todo el libro
+item_31_id=TUTORIAL
+item_31_title=Para tontos
+item_31_comment=Completar el tutorial
+item_32_id=CREDITS
+item_32_title=Secuencia de créditos agradablemente sencilla
+item_32_comment=Mirar los créditos hasta el final
+item_33_id=HEAD_BUMP
+item_33_title=Cuidado con la cabeza
+item_33_comment=Golpearte la cabeza de una manera no mortal
+item_34_id=LETTERS
+item_34_title=Admirador secreto
+item_34_comment=Encontrar las cartas secretas
+item_34_hidden=true
+item_35_id=FLAMETHROWER
+item_35_title=Hank Scorpio
+item_35_comment=Hacer un lanzallamas
+item_35_hidden=true
+item_36_id=100_METERS
+item_36_title=Vago
+item_36_comment=Caminar 100 metros
+item_37_id=500_METERS
+item_37_title=Medianamente activo
+item_37_comment=Caminar 500 metros
+item_38_id=1500_METERS
+item_38_title=Estar en estado es un modo de vida
+item_38_comment=Caminar 1500 metros
+item_39_id=5000_METERS
+item_39_title=Euforia del corredor
+item_39_comment=Caminar 5 kilómetros
+item_40_id=NECKTIE
+item_40_title=Policía de la moda
+item_40_comment=Romper y quemar la corbata
+item_41_id=ANIMAL_HATER
+item_41_title=Ángel de la muerte
+item_41_comment=Matar a todos los seres vivos en un sólo juego
+item_42_id=REPEAT_DEATHS
+item_42_title=Jugador sádico
+item_42_comment=Repetir al menos una muerte
+[achievements:nl_NL]
+item_0_id=DEATH_0
+item_0_title=Vlieg met me mee naar de regenboog
+item_0_comment=Los het bijbehorende einde op
+item_1_id=DEATH_1
+item_1_title=Doodvermoeid
+item_1_comment=Los het bijbehorende einde op
+item_2_id=DEATH_2
+item_2_title=Strike!
+item_2_comment=Los het bijbehorende einde op
+item_3_id=DEATH_3
+item_3_title=Wat een schok
+item_3_comment=Los het bijbehorende einde op
+item_4_id=DEATH_4
+item_4_title=Hou vol
+item_4_comment=Los het bijbehorende einde op
+item_5_id=DEATH_5
+item_5_title=Dood van boven
+item_5_comment=Los het bijbehorende einde op
+item_6_id=DEATH_6
+item_6_title=Vaccins veroorzaken autisme
+item_6_comment=Los het bijbehorende einde op
+item_7_id=DEATH_7
+item_7_title=Als bijen naar de honing
+item_7_comment=Los het bijbehorende einde op
+item_8_id=DEATH_8
+item_8_title=Burn baby burn
+item_8_comment=Los het bijbehorende einde op
+item_9_id=DEATH_9
+item_9_title=Meneer Bay lult maar wat
+item_9_comment=Los het bijbehorende einde op
+item_10_id=DEATH_10
+item_10_title=Een warme dronk
+item_10_comment=Los het bijbehorende einde op
+item_11_id=DEATH_11
+item_11_title=Vive la révolution
+item_11_comment=Los het bijbehorende einde op
+item_12_id=DEATH_12
+item_12_title=De wraak van Big Pharma
+item_12_comment=Los het bijbehorende einde op
+item_13_id=DEATH_13
+item_13_title=Instantdiëet
+item_13_comment=Los het bijbehorende einde op
+item_14_id=DEATH_14
+item_14_title=Voorzichtig, natte vloer
+item_14_comment=Los het bijbehorende einde op
+item_15_id=DEATH_15
+item_15_title=Dat is geen broodrooster
+item_15_comment=Los het bijbehorende einde op
+item_16_id=DEATH_16
+item_16_title=Best ironisch
+item_16_comment=Los het bijbehorende einde op
+item_17_id=DEATH_17
+item_17_title=We zullen uiteindelijk sterven
+item_17_comment=Los het bijbehorende einde op
+item_18_id=DEATH_18
+item_18_title=The amazing spider-death
+item_18_comment=Los het bijbehorende einde op
+item_19_id=DEATH_19
+item_19_title=Onder de zee
+item_19_comment=Los het bijbehorende einde op
+item_20_id=DEATH_20
+item_20_title=Zure regen
+item_20_comment=Los het bijbehorende einde op
+item_21_id=DEATH_21
+item_21_title=Frank Grimes
+item_21_comment=Los het bijbehorende einde op
+item_22_id=DEATH_22
+item_22_title=De laatste maaltijd
+item_22_comment=Los het bijbehorende einde op
+item_23_id=DEATH_23
+item_23_title=Belle heeft het beest gedood
+item_23_comment=Los het bijbehorende einde op
+item_24_id=DEATH_24
+item_24_title=Bang van clowns
+item_24_comment=Los het bijbehorende einde op
+item_25_id=DEATH_25
+item_25_title=Ik heb het koud
+item_25_comment=Los het bijbehorende einde op
+item_26_id=DEATH_26
+item_26_title=Schimmelig
+item_26_comment=Los het bijbehorende einde op
+item_27_id=DEATH_27
+item_27_title=Met de gefrituurde peren zitten
+item_27_comment=Los het bijbehorende einde op
+item_28_id=DEATH_28
+item_28_title=Naontsteking
+item_28_comment=Los het bijbehorende einde op
+item_29_id=DEATH_29
+item_29_title=Ik heb liever de touchpad
+item_29_comment=Los het bijbehorende einde op
+item_30_id=AVID_READER
+item_30_title=Boekenwurm
+item_30_comment=Lees alle boekartikelen
+item_31_id=TUTORIAL
+item_31_title=Voor dummies
+item_31_comment=Voltooi de training
+item_32_id=CREDITS
+item_32_title=Aangenaam sobere aftiteling
+item_32_comment=Bekijk de aftiteling tot het einde
+item_33_id=HEAD_BUMP
+item_33_title=Let op je hoofd
+item_33_comment=Stoot je hoofd op een niet-dodelijke manier
+item_34_id=LETTERS
+item_34_title=Geheime aanbidder
+item_34_comment=Vind de geheime brieven
+item_34_hidden=true
+item_35_id=FLAMETHROWER
+item_35_title=Hank Scorpio
+item_35_comment=Maak een vlammenwerper
+item_35_hidden=true
+item_36_id=100_METERS
+item_36_title=Couch-potato
+item_36_comment=Loop 100 meter
+item_37_id=500_METERS
+item_37_title=Licht actief
+item_37_comment=Loop 500 meter
+item_38_id=1500_METERS
+item_38_title=Fitness is een levenswijze
+item_38_comment=Loop 1500 meter
+item_39_id=5000_METERS
+item_39_title=Runner's high
+item_39_comment=Loop 5 kilometer
+item_40_id=NECKTIE
+item_40_title=Modepolitie
+item_40_comment=Scheur en verbrand de stropdas
+item_41_id=ANIMAL_HATER
+item_41_title=Engel des doods
+item_41_comment=Dood alle levende wezens in één enkel potje
+item_42_id=REPEAT_DEATHS
+item_42_title=Sadistische speler
+item_42_comment=Herhaal ten minste één sterfgeval
diff --git a/devtools/create_achievements/gen/steam-1270590.ini b/devtools/create_achievements/gen/steam-1270590.ini
index ad5c9c9412..8fb897c722 100644
--- a/devtools/create_achievements/gen/steam-1270590.ini
+++ b/devtools/create_achievements/gen/steam-1270590.ini
@@ -28,3 +28,63 @@ item_7_comment=You have successfully detected the crime and caught all the suspe
 item_8_id=SOCIABLE
 item_8_title=Sociable
 item_8_comment=You got to know all the characters in the game!
+[achievements:zh_CN]
+item_0_id=SAFE_CRACKER
+item_0_title=做得很棒!
+item_0_comment=你打开了黛西的保险箱
+item_0_hidden=true
+item_1_id=HACKER
+item_1_title=一个真正的黑客
+item_1_comment=你入侵了黛西电子邮件账户
+item_1_hidden=true
+item_2_id=TANJAS_WAY
+item_2_title=你喜欢她吗?
+item_2_comment=你要给塔尼亚文件
+item_3_id=JENNYS_WAY
+item_3_title=你喜欢她吗?
+item_3_comment=你要给燕妮文件
+item_4_id=DATING_WITH_TANJA
+item_4_title=哇塞!
+item_4_comment=你能够设法约塔尼亚出去。
+item_5_id=DATING_WITH_JENNY
+item_5_title=哇塞!
+item_5_comment=你能够设法约燕妮出去。
+item_6_id=RELIABLE
+item_6_title=很好!
+item_6_comment=你有了黛西房子的钥匙。
+item_7_id=HERO_OF_THE_DAY
+item_7_title=很厉害!
+item_7_comment=你能够侦查罪行而抓住到嫌疑人!
+item_8_id=SOCIABLE
+item_8_title=做得很好!
+item_8_comment=你认识了游戏所有的角色!
+[achievements:hu_HU]
+item_0_id=SAFE_CRACKER
+item_0_title=Kasszafúró
+item_0_comment=Kinyitottad Daisie széfjét
+item_0_hidden=true
+item_1_id=HACKER
+item_1_title=Mint a filmekben!
+item_1_comment=Feltörted Daisie e-mail fiókját
+item_1_hidden=true
+item_2_id=TANJAS_WAY
+item_2_title=Tanja kezébe
+item_2_comment=Tanjának adtad a hiányzó aktát
+item_3_id=JENNYS_WAY
+item_3_title=Jenny kezébe
+item_3_comment=Jenny-nek adtad a hiányzó aktát
+item_4_id=DATING_WITH_TANJA
+item_4_title=Tánc Tanjával
+item_4_comment=Randira hívtad Tanját
+item_5_id=DATING_WITH_JENNY
+item_5_title=Találka Jennyvel
+item_5_comment=Randira hívtad Jennyt
+item_6_id=RELIABLE
+item_6_title=Jó modor
+item_6_comment=A kulccsal jutottál be Daisie lakásába
+item_7_id=HERO_OF_THE_DAY
+item_7_title=A nap hőse!
+item_7_comment=Megoldottad az ügyet és elkaptad az összes rosszfiút
+item_8_id=SOCIABLE
+item_8_title=Szociális
+item_8_comment=A játék minden karakterével megismerkedtél.
diff --git a/devtools/create_achievements/gen/steam-283880.ini b/devtools/create_achievements/gen/steam-283880.ini
index 6983a39ed6..22572921ce 100644
--- a/devtools/create_achievements/gen/steam-283880.ini
+++ b/devtools/create_achievements/gen/steam-283880.ini
@@ -179,3 +179,753 @@ item_45_id=HQ52
 item_45_title=Dark and Troubled
 item_45_comment=Complete the game while cursed
 item_45_hidden=true
+[achievements:fr_FR]
+item_0_id=HQ01
+item_0_title=L'Initiation
+item_0_comment=Trouvez votre premier repas
+item_1_id=HQ02
+item_1_title=Apprentie Guerrière
+item_1_comment=Atteignez le chapitre 2 en tant que guerrière
+item_2_id=HQ03
+item_2_title=Guerrière Adepte
+item_2_comment=Atteignez le chapitre 3 en tant que guerrière
+item_3_id=HQ04
+item_3_title=Maîtresse Guerrière
+item_3_comment=Atteignez le chapitre 4 en tant que guerrière
+item_4_id=HQ05
+item_4_title=Guerrière Légendaire
+item_4_comment=Terminez le jeu en tant que guerrière
+item_5_id=HQ06
+item_5_title=Paladin
+item_5_comment=Obtenez Balmung
+item_6_id=HQ07
+item_6_title=Guerrière Ultime
+item_6_comment=Atteignez le score maximum en tant que guerrière
+item_7_id=HQ08
+item_7_title=Apprentie Magicienne
+item_7_comment=Atteignez le chapitre 2 en tant que magicienne
+item_8_id=HQ09
+item_8_title=Magicienne Adepte
+item_8_comment=Atteignez le chapitre 3 en tant que magicienne
+item_9_id=HQ10
+item_9_title=Maîtresse Magicienne
+item_9_comment=Atteignez le chapitre 4 en tant que magicienne
+item_10_id=HQ11
+item_10_title=Magicienne Légendaire
+item_10_comment=Terminez le jeu en tant que magicienne
+item_11_id=HQ12
+item_11_title=Archimage
+item_11_comment=Apprendre le sort de foudre
+item_12_id=HQ13
+item_12_title=Magicienne Ultime
+item_12_comment=Atteignez le score maximum en tant que magicienne
+item_13_id=HQ14
+item_13_title=Apprentie Voleuse
+item_13_comment=Atteignez le chapitre 2 en tant que voleuse
+item_14_id=HQ15
+item_14_title=Voleuse Adepte
+item_14_comment=Atteignez le chapitre 3 en tant que voleuse
+item_15_id=HQ16
+item_15_title=Maîtresse Voleuse
+item_15_comment=Atteignez le chapitre 4 en tant que voleuse
+item_16_id=HQ17
+item_16_title=Voleuse Légendaire
+item_16_comment=Terminez le jeu en tant que voleuse
+item_17_id=HQ18
+item_17_title=Troublion de Loki
+item_17_comment=Sortez-vous de situations violentes sans violence
+item_18_id=HQ19
+item_18_title=Voleuse Ultime
+item_18_comment=Atteignez le score maximum en tant que voleuse
+item_19_id=HQ20
+item_19_title=Femme à tout faire
+item_19_comment=Terminez le jeu avec les trois classes
+item_20_id=HQ21
+item_20_title=Grande Maîtresse de l'héroïsme
+item_20_comment=Terminez le jeu dans la difficulté la plus élevée
+item_21_id=HQ22
+item_21_title=Une héroïne pressée
+item_21_comment=Terminez le jeu en cinq jours
+item_22_id=HQ23
+item_22_title=Héroïne parangon
+item_22_comment=Terminez le jeu avec 100 en honneur
+item_23_id=HQ24
+item_23_title=La plus escroc des héroïnes
+item_23_comment=Terminez le jeu avec moins de 10 en honneur
+item_24_id=HQ25
+item_24_title=Mon Kung-Fu est supérieur
+item_24_comment=Prouvez que vous êtes une meilleure gardienne que Sigurd
+item_25_id=HQ26
+item_25_title=Plus sage que le Sage
+item_25_comment=Prouvez que vous êtes une meilleure gardienne qu'Aurvandel
+item_26_id=HQ27
+item_26_title=Couper les choux
+item_26_comment=Volez la récompense d'une quête sans la faire
+item_27_id=HQ29
+item_27_title=Médaille de bronze
+item_27_comment=Gagnez une bataille facile dans la Caverne des os
+item_28_id=HQ30
+item_28_title=Médaille d'argent
+item_28_comment=Gagnez une bataille intermédiaire dans la Caverne des os
+item_29_id=HQ31
+item_29_title=Médaille d'or
+item_29_comment=Gagnez une bataille difficile dans la Caverne des os
+item_30_id=HQ32
+item_30_title=Quel entraînement!
+item_30_comment=Améliorez vos stats de base au maximum
+item_31_id=HQ36
+item_31_title=L'épreuve du feu
+item_31_comment=Triomphez de Surtr
+item_32_id=HQ37
+item_32_title=Le prix de la Guerre
+item_32_comment=Remportez la victoire pour Munarvagir
+item_33_id=HQ38
+item_33_title=Shadows of Darkness
+item_33_comment=Livrez le cristal svartalf
+item_34_id=HQ39
+item_34_title=Faire le brauggosse
+item_34_comment=Triomphez de Brauggi
+item_34_hidden=true
+item_35_id=HQ41
+item_35_title=Préparez-vous à fleurir!
+item_35_comment=Devenez l'amie de Ratatosk
+item_35_hidden=true
+item_36_id=HQ42
+item_36_title=Là où tout a commencé
+item_36_comment=Faites-vous terrasser par Elsa
+item_36_hidden=true
+item_37_id=HQ43
+item_37_title=Un succès emPOIsonné!
+item_37_comment=Vous attendiez ce moment depuis 24 ans!
+item_37_hidden=true
+item_38_id=HQ44
+item_38_title=Diablotimpressionant
+item_38_comment=Faites-vous tuer dans Quest For Yrolg
+item_38_hidden=true
+item_39_id=HQ45
+item_39_title=À la mémoire
+item_39_comment=Trouvez la salle de Hero6
+item_39_hidden=true
+item_40_id=HQ46
+item_40_title=Où le coeur aime, là est le foyer
+item_40_comment=Trouvez la chambre de Radiant
+item_40_hidden=true
+item_41_id=HQ47
+item_41_title=Another Head Hangs Lowly
+item_41_comment=Triomphez de Dolores
+item_41_hidden=true
+item_42_id=HQ48
+item_42_title=P0urkw0i ne p0 essayer des vakances en Suède cette année?
+item_42_comment=Mais c'est d0ul0ureux, une m0rsur d'élan...
+item_42_hidden=true
+item_43_id=HQ49
+item_43_title=Menace pour la société
+item_43_comment=Passez votre vie en prison
+item_44_id=HQ53
+item_44_title=Don't Lose Your Head
+item_44_comment=Faites-vous décapiter en combat
+item_44_hidden=true
+item_45_id=HQ52
+item_45_title=Sombre et Troublé
+item_45_comment=Complétez le jeu en maudit
+item_45_hidden=true
+[achievements:it_IT]
+item_0_id=HQ01
+item_0_title=E Così Vuoi Essere Un'Eroina
+item_0_comment=Procurati il tuo primo pasto
+item_1_id=HQ02
+item_1_title=Guerriera alle Prime Armi
+item_1_comment=Raggiungi il capitolo 2 come guerriera
+item_2_id=HQ03
+item_2_title=Guerriera Esperta
+item_2_comment=Raggiungi il capitolo 3 come guerriera
+item_3_id=HQ04
+item_3_title=Guerriera Veterana
+item_3_comment=Raggiungi il capitolo 4 come guerriera
+item_4_id=HQ05
+item_4_title=Guerriera Leggendaria
+item_4_comment=Completa il gioco come guerriera
+item_5_id=HQ06
+item_5_title=Paladina
+item_5_comment=Conquista Balmung
+item_6_id=HQ07
+item_6_title=Guerriera Suprema
+item_6_comment=Ottieni il punteggio massimo come guerriera
+item_7_id=HQ08
+item_7_title=Incantatrice alle Prime Armi
+item_7_comment=Raggiungi il capitolo 2 come incantatrice
+item_8_id=HQ09
+item_8_title=Incantatrice Esperta
+item_8_comment=Raggiungi il capitolo 3 come incantatrice
+item_9_id=HQ10
+item_9_title=Incantatrice Veterana
+item_9_comment=Raggiungi il capitolo 4 come incantatrice
+item_10_id=HQ11
+item_10_title=Incantatrice Leggendaria
+item_10_comment=Completa il gioco come incantatrice
+item_11_id=HQ12
+item_11_title=Arcimaga
+item_11_comment=Impara l'incantesimo Fulmine
+item_12_id=HQ13
+item_12_title=Incantatrice Suprema
+item_12_comment=Ottieni il punteggio massimo come incantatrice
+item_13_id=HQ14
+item_13_title=Ladra alle Prime Armi
+item_13_comment=Raggiungi il capitolo 2 come ladra
+item_14_id=HQ15
+item_14_title=Ladra Esperta
+item_14_comment=Raggiungi il capitolo 3 come ladra
+item_15_id=HQ16
+item_15_title=Ladra Veterana
+item_15_comment=Raggiungi il capitolo 4 come ladra
+item_16_id=HQ17
+item_16_title=Ladra Leggendaria
+item_16_comment=Completa il gioco come ladra
+item_17_id=HQ18
+item_17_title=Ingannatrice di Loki
+item_17_comment=Affronta situazioni pericolose senza l'uso della forza
+item_18_id=HQ19
+item_18_title=Ladra Suprema
+item_18_comment=Ottieni il punteggio massimo come ladra
+item_19_id=HQ20
+item_19_title=Tuttofare
+item_19_comment=Completa il gioco con tutte e tre le classi
+item_20_id=HQ21
+item_20_title=Eroina Epica
+item_20_comment=Completa il gioco alla difficoltà più alta
+item_21_id=HQ22
+item_21_title=Eroina Frettolosa
+item_21_comment=Completa il gioco entro cinque giorni
+item_22_id=HQ23
+item_22_title=Eroina Esemplare
+item_22_comment=Completa il gioco con 100 punti Onore
+item_23_id=HQ24
+item_23_title=Sporca Furfante Corrotta
+item_23_comment=Completa il gioco con meno di 10 punti Onore
+item_24_id=HQ25
+item_24_title=Il Mio Kung Fu è più Forte del Tuo
+item_24_comment=Dimostrati una guardiana migliore di Sigurd
+item_25_id=HQ26
+item_25_title=Più Saggia dello Stregone
+item_25_comment=Dimostrati una guardiana migliore di Aurvandel
+item_26_id=HQ27
+item_26_title=Scorciatoie
+item_26_comment=Ruba la ricompensa di una missione senza completarla
+item_27_id=HQ29
+item_27_title=Medaglia di Bronzo
+item_27_comment=Completa la Prova del Destino a livello minimo/basso
+item_28_id=HQ30
+item_28_title=Medaglia d'Argento
+item_28_comment=Completa la Prova del Destino a livello intermedio/alto
+item_29_id=HQ31
+item_29_title=Medaglia d'Oro
+item_29_comment=Completa la Prova del Destino a livello massimo
+item_30_id=HQ32
+item_30_title=Che Faticaccia!
+item_30_comment=Massimizza i tuoi Attributi
+item_31_id=HQ36
+item_31_title=La Prova del Fuoco
+item_31_comment=Sconfiggi Surtr
+item_32_id=HQ37
+item_32_title=Il Prezzo della Guerra
+item_32_comment=Vinci la battaglia di Munarvagir
+item_33_id=HQ38
+item_33_title=Ombre Oscure
+item_33_comment=Vendi il cristallo svartalf
+item_34_id=HQ39
+item_34_title=Bracca-Brauggi
+item_34_comment=Sconfiggi Brauggi
+item_34_hidden=true
+item_35_id=HQ41
+item_35_title=La tua Sventura è Alle Porte!
+item_35_comment=Fatti amico Ratatosk
+item_35_hidden=true
+item_36_id=HQ42
+item_36_title=Alle Origini
+item_36_comment=Fatti Uccidere da Elsa
+item_36_hidden=true
+item_37_id=HQ43
+item_37_title=Un Achievement VEElenoso!
+item_37_comment=Erano 24 anni che volevi farlo!
+item_37_hidden=true
+item_38_id=HQ44
+item_38_title=Molto IMProbabile
+item_38_comment=Fatti uccidere in Quest For Yrolg
+item_38_hidden=true
+item_39_id=HQ45
+item_39_title=Alla Memoria
+item_39_comment=Trova la stanza di Hero6
+item_39_hidden=true
+item_40_id=HQ46
+item_40_title=Casa Dolce Casa
+item_40_comment=Trova la stanza di Radiant
+item_40_hidden=true
+item_41_id=HQ47
+item_41_title=Zombie
+item_41_comment=Sconfiggi Dolores
+item_41_hidden=true
+item_42_id=HQ48
+item_42_title=Perché non pr0fa facanza in Svezia, qvest'ann0?
+item_42_comment=Attenzi0ne, m0rsi di alce parekkio peric0l0si...
+item_42_hidden=true
+item_43_id=HQ49
+item_43_title=Pericolo Pubblico
+item_43_comment=Passa il resto della vita in cella
+item_44_id=HQ53
+item_44_title=Testa sulle Spalle
+item_44_comment=Fatti decapitare in combattimento
+item_44_hidden=true
+item_45_id=HQ52
+item_45_title=Bella e Maledetta
+item_45_comment=Completa il gioco sotto l'effetto della maledizione
+item_45_hidden=true
+[achievements:es_ES]
+item_0_id=HQ01
+item_0_title=Así que quieres ser una heroína
+item_0_comment=Encuentra comida por primera vez.
+item_1_id=HQ02
+item_1_title=Aprendiz de guerrera
+item_1_comment=Llega al capítulo 2 como guerrera.
+item_2_id=HQ03
+item_2_title=Guerrera experta
+item_2_comment=Llega al capítulo 3 como guerrera.
+item_3_id=HQ04
+item_3_title=Maestra guerrera
+item_3_comment=Llega al capítulo 4 como guerrera.
+item_4_id=HQ05
+item_4_title=Guerrera legendaria
+item_4_comment=Completa el juego como guerrera.
+item_5_id=HQ06
+item_5_title=Paladín
+item_5_comment=Consigue Balmung.
+item_6_id=HQ07
+item_6_title=Guerrera definitiva
+item_6_comment=Consigue la puntuación máxima como guerrera.
+item_7_id=HQ08
+item_7_title=Aprendiz de hechicera
+item_7_comment=Llega al capítulo 2 como hechicera.
+item_8_id=HQ09
+item_8_title=Hechicera experta
+item_8_comment=Llega al capítulo 3 como hechicera.
+item_9_id=HQ10
+item_9_title=Maestra hechicera
+item_9_comment=Llega al capítulo 4 como hechicera.
+item_10_id=HQ11
+item_10_title=Hechicera legendaria
+item_10_comment=Completa el juego como hechicera.
+item_11_id=HQ12
+item_11_title=Archimaga
+item_11_comment=Aprende el hechizo Relámpago.
+item_12_id=HQ13
+item_12_title=Hechicera definitiva
+item_12_comment=Consigue la puntuación máxima como hechicera.
+item_13_id=HQ14
+item_13_title=Aprendiz de pícara
+item_13_comment=Llega al capítulo 2 como pícara.
+item_14_id=HQ15
+item_14_title=Pícara experta
+item_14_comment=Llega al capítulo 3 como pícara.
+item_15_id=HQ16
+item_15_title=Maestra pícara
+item_15_comment=Llega al capítulo 4 como pícara.
+item_16_id=HQ17
+item_16_title=Pícara legendaria
+item_16_comment=Completa el juego como pícara.
+item_17_id=HQ18
+item_17_title=Embaucadora de Loki
+item_17_comment=Arréglatelas en situaciones violentas sin recurrir a la violencia.
+item_18_id=HQ19
+item_18_title=Pícara definitiva
+item_18_comment=Consigue la puntuación máxima siendo pícara.
+item_19_id=HQ20
+item_19_title=Maestra liendre
+item_19_comment=Completa el juego con las tres clases diferentes.
+item_20_id=HQ21
+item_20_title=Heroína entre heroínas
+item_20_comment=Pásate el juego entero en la dificultad máxima.
+item_21_id=HQ22
+item_21_title=Heroína con prisa
+item_21_comment=Completa el juego en una semana.
+item_22_id=HQ23
+item_22_title=Heroína ejemplar
+item_22_comment=Completa el juego con 100 de honor.
+item_23_id=HQ24
+item_23_title=Sabandija de la peor calaña
+item_23_comment=Completa el juego con menos de 10 de honor.
+item_24_id=HQ25
+item_24_title=Soy mejor en Kung-fu
+item_24_comment=Demuestra que eres mejor guardiana que Sigurd.
+item_25_id=HQ26
+item_25_title=Más sabia que el sabio
+item_25_comment=Demuestra que eres mejor guardiana que Aurvandel.
+item_26_id=HQ27
+item_26_title=Acortando camino
+item_26_comment=Roba la recompensa de una misión sin haberla completado.
+item_27_id=HQ29
+item_27_title=Medalla de bronce
+item_27_comment=Hazte con una victoria fácil en la Prueba del Sino.
+item_28_id=HQ30
+item_28_title=Medalla de plata
+item_28_comment=Hazte con una victoria moderada en la Prueba del Sino.
+item_29_id=HQ31
+item_29_title=Medalla de oro
+item_29_comment=Hazte con una victoria difícil en la Prueba del Sino.
+item_30_id=HQ32
+item_30_title=¡No veas con el ejercicio!
+item_30_comment=Aumenta tus atributos primarios al máximo.
+item_31_id=HQ36
+item_31_title=Prueba de fuego
+item_31_comment=Vence a Surtur.
+item_32_id=HQ37
+item_32_title=En el clamor de la batalla
+item_32_comment=Gana la batalla por Munarvagir.
+item_33_id=HQ38
+item_33_title=Sombras en la oscuridad
+item_33_comment=Entrega el cristal svartalf.
+item_34_id=HQ39
+item_34_title=Derechos braúggicos
+item_34_comment=Derrota a Brauggi.
+item_34_hidden=true
+item_35_id=HQ41
+item_35_title=¡Estás bendecida!
+item_35_comment=Hazte amiga de Ratatosk.
+item_35_hidden=true
+item_36_id=HQ42
+item_36_title=Donde todo empezó
+item_36_comment=Deja que Elsa te mate.
+item_36_hidden=true
+item_37_id=HQ43
+item_37_title=¡Un logro VENENOOSO!
+item_37_comment=¡Has esperado 24 años para esto!
+item_37_hidden=true
+item_38_id=HQ44
+item_38_title=Endiablada
+item_38_comment=Deja que te maten en Quest For Yrolg.
+item_38_hidden=true
+item_39_id=HQ45
+item_39_title=En memoria de...
+item_39_comment=Encuentra la habitación Hero6.
+item_39_hidden=true
+item_40_id=HQ46
+item_40_title=Tu hogar es donde tienes el corazón
+item_40_comment=Encuentra la habitación de Radiant.
+item_40_hidden=true
+item_41_id=HQ47
+item_41_title=Otra cabeza gacha
+item_41_comment=Vence a Dolores.
+item_41_hidden=true
+item_42_id=HQ48
+item_42_title=¿Le gustarría ir de vacazi0nes a Suezia heste añ0?
+item_42_comment=Cuidao, la mordedura de un 4lc3 pue ser muy chung4…
+item_42_hidden=true
+item_43_id=HQ49
+item_43_title=Peligro para la sociedad
+item_43_comment=Pásate la vida entera en prisión.
+item_44_id=HQ53
+item_44_title=No pierdas la cabeza
+item_44_comment=Consigue que te decapiten en combate.
+item_44_hidden=true
+item_45_id=HQ52
+item_45_title=Oscura y perturbada
+item_45_comment=Completa el juego con una maldición.
+item_45_hidden=true
+[achievements:ru_RU]
+item_0_id=HQ01
+item_0_title=Так ты хочешь быть Героиней
+item_0_comment=Найти свою первую пищу
+item_1_id=HQ02
+item_1_title=Начинающая Воительница
+item_1_comment=Достичь второй главы воином
+item_2_id=HQ03
+item_2_title=Способная Воительница
+item_2_comment=Достичь третьей главы воином
+item_3_id=HQ04
+item_3_title=Элитная Воительница
+item_3_comment=Достичь четвёртой главы воином
+item_4_id=HQ05
+item_4_title=Легендарная Воительница
+item_4_comment=Закончить игру воином
+item_5_id=HQ06
+item_5_title=Паладин
+item_5_comment=Получить Балмунг
+item_6_id=HQ07
+item_6_title=Идеальная Воительница
+item_6_comment=Достичь максимальных очков воином
+item_7_id=HQ08
+item_7_title=Начинающая Волшебница
+item_7_comment=Достичь второй главы волшебницей
+item_8_id=HQ09
+item_8_title=Способная Волшебница
+item_8_comment=Достичь третьей главы волшебницей
+item_9_id=HQ10
+item_9_title=Элитная Волшебница
+item_9_comment=Достичь четвёртой главы волшебницей
+item_10_id=HQ11
+item_10_title=Легендарная Волшебница
+item_10_comment=Закончить игру волшебницей
+item_11_id=HQ12
+item_11_title=Архимаг
+item_11_comment=Выучить заклинание молнии
+item_12_id=HQ13
+item_12_title=Идеальная Волшебница
+item_12_comment=Достичь максимальных очков волшебницей
+item_13_id=HQ14
+item_13_title=Начинающая Плутовка
+item_13_comment=Достичь второй главы плутом
+item_14_id=HQ15
+item_14_title=Способная Плутовка
+item_14_comment=Достичь третьей главы плутом
+item_15_id=HQ16
+item_15_title=Элитная Плутовка
+item_15_comment=Достичь четвёртой главы плутом
+item_16_id=HQ17
+item_16_title=Легендарная Плутовка
+item_16_comment=Закончить игру плутом
+item_17_id=HQ18
+item_17_title=Трюкач Локи
+item_17_comment=Разобраться с жестокой ситуацией без насилия
+item_18_id=HQ19
+item_18_title=Идеальная Плутовка
+item_18_comment=Достичь максимальных очков плутом
+item_19_id=HQ20
+item_19_title=Мастерица на все руки
+item_19_comment=Закончить игру за все три класса
+item_20_id=HQ21
+item_20_title=Героиня-грандмастер
+item_20_comment=Закончить игру на самой высокой сложности
+item_21_id=HQ22
+item_21_title=Героиня в спешке
+item_21_comment=Закончить игру за пять дней
+item_22_id=HQ23
+item_22_title=Совершенная Героиня
+item_22_comment=Закончить игру, имея честь 100
+item_23_id=HQ24
+item_23_title=Грязная злая воровка
+item_23_comment=Закончить игру, имея честь менее 10
+item_24_id=HQ25
+item_24_title=Моё кунфу сильнее
+item_24_comment=Показать себя лучшим стражем, чем Сигурд
+item_25_id=HQ26
+item_25_title=Мудрее, чем Маг
+item_25_comment=Показать себя лучшим стражем, чем Аурвандель
+item_26_id=HQ27
+item_26_title=Срезая углы
+item_26_comment=Украсть награду за квест, не выполняя квеста
+item_27_id=HQ29
+item_27_title=Бронзовая медаль
+item_27_comment=Получить лёгкую победу в Пещере Костей
+item_28_id=HQ30
+item_28_title=Серебряная медаль
+item_28_comment=Получить среднюю победу в Пещере Костей
+item_29_id=HQ31
+item_29_title=Золотая медаль
+item_29_comment=Получить трудную победу в Пещере Костей
+item_30_id=HQ32
+item_30_title=Вот это тренировка!
+item_30_comment=Довести первичные характеристики до максимума
+item_31_id=HQ36
+item_31_title=Trial by Fire
+item_31_comment=Победить Суртра
+item_32_id=HQ37
+item_32_title=Wages of War
+item_32_comment=Победить Мунарвагира
+item_33_id=HQ38
+item_33_title=Shadows of Darkness
+item_33_comment=Донести кристалл свартальфа
+item_34_id=HQ39
+item_34_title=Право гордиться
+item_34_comment=Победить Браугги
+item_34_hidden=true
+item_35_id=HQ41
+item_35_title=Вот твой цветок!
+item_35_comment=Подружиться с Рататоском
+item_35_hidden=true
+item_36_id=HQ42
+item_36_title=Там, где всё началось
+item_36_comment=Умереть от руки Эльзы
+item_36_hidden=true
+item_37_id=HQ43
+item_37_title=A POIsonous Achievement!
+item_37_comment=Вы ждали этого 24 года!
+item_37_hidden=true
+item_38_id=HQ44
+item_38_title=Most IMPressive
+item_38_comment=Умереть в Квесте Иролга
+item_38_hidden=true
+item_39_id=HQ45
+item_39_title=В доброй памяти
+item_39_comment=Найти комнату Hero6
+item_39_hidden=true
+item_40_id=HQ46
+item_40_title=Дом там, где сердце
+item_40_comment=Найти комнату Радианта
+item_40_hidden=true
+item_41_id=HQ47
+item_41_title=Ещё одна голова поникла
+item_41_comment=Победить Долорес
+item_41_hidden=true
+item_42_id=HQ48
+item_42_title=П04ему 6ы не пр0вести 0тпуск в Шв3ции?
+item_42_comment=У4тите, что л00си 0чень б0льно кусаются...
+item_42_hidden=true
+item_43_id=HQ49
+item_43_title=Угроза обществу
+item_43_comment=Закончить жизнь в тюрьме
+item_44_id=HQ53
+item_44_title=Не теряйте головы
+item_44_comment=Быть обезглавленной в бою
+item_44_hidden=true
+item_45_id=HQ52
+item_45_title=Темные и Неспокойном
+item_45_comment=Пройдите игру в то время как проклинал
+item_45_hidden=true
+[achievements:hu_HU]
+item_0_id=HQ01
+item_0_title=Tehát Hõsnõ akarsz lenni
+item_0_comment=Találd meg elsõ ételedet
+item_1_id=HQ02
+item_1_title=Tanuló Harcos
+item_1_comment=Érd el a 2. fejezetet mint harcos
+item_2_id=HQ03
+item_2_title=Szakértõ Harcos
+item_2_comment=Érd el a 3. fejezetet mint harcos
+item_3_id=HQ04
+item_3_title=Mester Harcos
+item_3_comment=Érd el a 4. fejezetet mint harcos
+item_4_id=HQ05
+item_4_title=Legendás Harcos
+item_4_comment=Fejezd be a játékot mint harcos
+item_5_id=HQ06
+item_5_title=Pap-lovag
+item_5_comment=Szerezd meg Balmungot
+item_6_id=HQ07
+item_6_title=A Legjobb Harcos
+item_6_comment=Érj el maximális pontszámot mint harcos
+item_7_id=HQ08
+item_7_title=Tanuló Varázslónõ
+item_7_comment=Reach Érd el a 2. fejezetet mint varázslónõ
+item_8_id=HQ09
+item_8_title=Szakértõ Varázslónõ
+item_8_comment=Érd el a 3. fejezetet mint varázslónõ
+item_9_id=HQ10
+item_9_title=Mester Varázslónõ
+item_9_comment=Érd el a 4. fejezetet mint varázslónõ
+item_10_id=HQ11
+item_10_title=Legendás Varázslónõ
+item_10_comment=Fejezd be a játékot mint varázslónõ
+item_11_id=HQ12
+item_11_title=Fõmágus
+item_11_comment=Tanuld meg a villámcsapás varázslatot
+item_12_id=HQ13
+item_12_title=A legjobb Varázslónõ
+item_12_comment=Érj el maximális pontszámot mint varázslónõ
+item_13_id=HQ14
+item_13_title=Tanuló Kósza
+item_13_comment=Érd el a 2. fejezetet mint kósza
+item_14_id=HQ15
+item_14_title=Szakértõ Kósza
+item_14_comment=Érd el a 3. fejezetet mint kósza
+item_15_id=HQ16
+item_15_title=Mester Kósza
+item_15_comment=Érd el a 4. fejezetet mint kósza
+item_16_id=HQ17
+item_16_title=Legendás Kósza
+item_16_comment=Fejezd be a játékot mint kósza
+item_17_id=HQ18
+item_17_title=Loki Átejtõje
+item_17_comment=Bánj el az erõszakos helyzetekkel erõszak nélkül
+item_18_id=HQ19
+item_18_title=A legjobb Kósza
+item_18_comment=Érj el maximális pontszámot mint kósza
+item_19_id=HQ20
+item_19_title=Ezermester
+item_19_comment=Csináld végig a játékot mind a három osztályban
+item_20_id=HQ21
+item_20_title=Hõsnõ Nagymester
+item_20_comment=Csináld végig a játékot a legerõsebb nehézségi fokon
+item_21_id=HQ22
+item_21_title=Sietõs Hõsnõ
+item_21_comment=Csináld végig a játékot öt napon belül
+item_22_id=HQ23
+item_22_title=Eszménykép Hõsnõ
+item_22_comment=Csináld végig a játékot 100 becsülettel
+item_23_id=HQ24
+item_23_title=Mocskos Rohadt Csibész
+item_23_comment=Csináld végig a játékot 10-nél kevesebb becsülettel
+item_24_id=HQ25
+item_24_title=Az Én Kung-fum Erõsebb
+item_24_comment=Bizonyítsd be, hogy jobb õrzõ vagy, mint Sigurd
+item_25_id=HQ26
+item_25_title=Bölcsebb, mint a Varázsló
+item_25_comment=Bizonyítsd be, hogy jobb õrzõ vagy, mint Aurvandel
+item_26_id=HQ27
+item_26_title=Cutting Corners
+item_26_comment=Steal a quest reward without doing the quest
+item_27_id=HQ29
+item_27_title=Bronz Érem
+item_27_comment=Nyerj meg egy könnyû gyõzelmet a Csontok Barlangban
+item_28_id=HQ30
+item_28_title=Ezüst Érem
+item_28_comment=Nyerj meg egy közepes gyõzelmet a Csontok Barlangban
+item_29_id=HQ31
+item_29_title=Arany Érem
+item_29_comment=Nyerj meg egy nehéz gyõzelmet a Csontok Barlangban
+item_30_id=HQ32
+item_30_title=Micsoda Erõnlét!
+item_30_comment=Maximalizáld elsõdleges statisztikáidat
+item_31_id=HQ36
+item_31_title=Tûzpróba
+item_31_comment=Gyõzd le Surtr-t
+item_32_id=HQ37
+item_32_title=Háborús Tétek
+item_32_comment=Nyerd meg a Munarvagirért vívott csatát
+item_33_id=HQ38
+item_33_title=A Sötétség Árnyai
+item_33_comment=Kézbesítsd a svartalf kristályt
+item_34_id=HQ39
+item_34_title=Brauggi Betörõje
+item_34_comment=Gyõzd le Brauggit
+item_34_hidden=true
+item_35_id=HQ41
+item_35_title=Ideje Kivirágozni!
+item_35_comment=Barátkozz össze Ratatoskkal
+item_35_hidden=true
+item_36_id=HQ42
+item_36_title=Ahol minden elkezdõdött
+item_36_comment=Ölesd meg magad Elsával
+item_36_hidden=true
+item_37_id=HQ43
+item_37_title=Egy MÉRgezõ Vívmány!
+item_37_comment=24 évet vártál, hogy ezt megtehesd!
+item_37_hidden=true
+item_38_id=HQ44
+item_38_title=A Legördögibb
+item_38_comment=Ölesd meg magad az Yrolg Küldetésében
+item_38_hidden=true
+item_39_id=HQ45
+item_39_title=Szeretõ Emlékezettel
+item_39_comment=Találd meg a Hero6 szobát
+item_39_hidden=true
+item_40_id=HQ46
+item_40_title=Mindenkinek hazahúz a szíve
+item_40_comment=Találd meg Radiant szobáját
+item_40_hidden=true
+item_41_id=HQ47
+item_41_title=Még egy lecsüggesztett fej
+item_41_comment=Gyõzd le Dolorest
+item_41_hidden=true
+item_42_id=HQ48
+item_42_title=Maer n0m pr0baalsz Svaedorszaagban vakaci00zni idaen?
+item_42_comment=vygyázz, a jáv0rszarvas harapás elék csúnya tud lenny...
+item_42_hidden=true
+item_43_id=HQ49
+item_43_title=Fenyegetés a Társadalomra
+item_43_comment=Töltsd az életed börtönben
+item_44_id=HQ53
+item_44_title=Ne veszítsd el a fejedet
+item_44_comment=Fejeztesd le magad csatában
+item_44_hidden=true
+item_45_id=HQ52
+item_45_title=Sötét és Zavaros
+item_45_comment=Befejezni a játékot, miközben átkozta
+item_45_hidden=true
diff --git a/devtools/create_achievements/gen/steam-370910.ini b/devtools/create_achievements/gen/steam-370910.ini
index 813da77dba..a30ca45319 100644
--- a/devtools/create_achievements/gen/steam-370910.ini
+++ b/devtools/create_achievements/gen/steam-370910.ini
@@ -74,3 +74,383 @@ item_19_id=HookedOnCorleys
 item_19_title=Hooked on Corleys
 item_19_comment=Became a huge fan of those sweet, addictive, not to mention cancer-inducing sticks of tobacco
 item_19_hidden=true
+[achievements:de_DE]
+item_0_id=FinishDayOne
+item_0_title=Aufs Katmobil gestiegen
+item_0_comment=Tag 1 abgeschlossen
+item_1_id=FinishDayTwo
+item_1_title=Wow, die sind hypnotisierend ...
+item_1_comment=Tag 2 abgeschlossen
+item_2_id=FinishDayThree
+item_2_title=Wir haben uns schon mal getroffen, oder nicht?
+item_2_comment=Tag 3 abgeschlossen
+item_3_id=FinishDayFour
+item_3_title=Sprung ins Ungewisse
+item_3_comment=Tag 4 abgeschlossen
+item_4_id=FinishGame
+item_4_title=Alles schon mal da gewesen
+item_4_comment=Das Spiel abgeschlossen
+item_5_id=Procrastinator
+item_5_title=Was du heute kannst besorgen ...
+item_5_comment=Hast dein Bestes getan, die Beerdigung zu verpassen
+item_5_hidden=true
+item_6_id=EnjoyingTheScenery
+item_6_title=Die Landschaft genießen
+item_6_comment=Unterwegs die Zeit vergessen
+item_6_hidden=true
+item_7_id=Hotwheels
+item_7_title=Heiße Reifen
+item_7_comment=Wolltest buchstäblich eine Runde mit dem Rollstuhl drehen
+item_7_hidden=true
+item_8_id=Aww
+item_8_title=Aaah!
+item_8_comment=Einen eingesperrten Obdachlosen gequält
+item_8_hidden=true
+item_9_id=Undateable
+item_9_title=Kein Gespür für Romantik
+item_9_comment=Hast kein Interesse daran gezeigt, Lenny sanft abzuservieren
+item_9_hidden=true
+item_10_id=MrBear
+item_10_title=Mr. Bär meldet sich zum Dienst!
+item_10_comment=Mit einem flauschigen Freund wiedervereint
+item_10_hidden=true
+item_11_id=Nocturnal
+item_11_title=Nachtaktiv
+item_11_comment=Hast dich als Geschöpf der Nacht wiederentdeckt
+item_11_hidden=true
+item_12_id=HowYouDoing
+item_12_title=Wie geht's denn so, Schätzchen?
+item_12_comment=Am Computer zu flirten angefangen
+item_12_hidden=true
+item_13_id=RestingScowlyFace
+item_13_title=Von Natur aus mürrisch
+item_13_comment=Die bittere Wahrheit über dein Gesicht erfahren
+item_13_hidden=true
+item_14_id=Pyromaniac
+item_14_title=Pyromane
+item_14_comment=Geradeso den Drang unterdrückt, einen Teddy anzuzünden
+item_14_hidden=true
+item_15_id=PassiveSmoking
+item_15_title=Passivraucher
+item_15_comment=Goobers Lungenkrebs verschlimmert
+item_15_hidden=true
+item_16_id=FilmBuff
+item_16_title=Filmkenner
+item_16_comment=Total fasziniert von Goobers Monologen
+item_16_hidden=true
+item_17_id=Heretic
+item_17_title=Ketzer
+item_17_comment=Wolltest aus Büchern einen Scheiterhaufen basteln
+item_17_hidden=true
+item_18_id=TriggerHappy
+item_18_title=Folterknecht
+item_18_comment=Hattest es wirklich auf Goober abgesehen
+item_18_hidden=true
+item_19_id=HookedOnCorleys
+item_19_title=Süchtig nach Corleys
+item_19_comment=Ein riesiger Fan dieser wunderbaren, süchtig machenden und nicht zuletzt Krebs verursachende Tabakstängelchen geworden
+item_19_hidden=true
+[achievements:fr_FR]
+item_0_id=FinishDayOne
+item_0_title=Monter sur la Katmobile
+item_0_comment=A terminé le premier jour
+item_1_id=FinishDayTwo
+item_1_title=Oh, elles sont hypnotiques...
+item_1_comment=A terminé le deuxième jour
+item_2_id=FinishDayThree
+item_2_title=On s'est déjà rencontrés, n'est-ce pas ?
+item_2_comment=A terminé le troisième jour
+item_3_id=FinishDayFour
+item_3_title=Tomber dans le terrier
+item_3_comment=A terminé le quatrième jour
+item_4_id=FinishGame
+item_4_title=Déjà tout vu, déjà tout fait
+item_4_comment=A terminé le jeu
+item_5_id=Procrastinator
+item_5_title=Remet tout à demain
+item_5_comment=A fait de son mieux pour rater l'enterrement
+item_5_hidden=true
+item_6_id=EnjoyingTheScenery
+item_6_title=Admirer le paysage
+item_6_comment=A perdu la notion du temps sur la route
+item_6_hidden=true
+item_7_id=Hotwheels
+item_7_title=Pneus en feu
+item_7_comment=A cédé à l'envie de faire un tour en fauteuil roulant, comme ça
+item_7_hidden=true
+item_8_id=Aww
+item_8_title=Ooohh !
+item_8_comment=A torturé un clochard en prison
+item_8_hidden=true
+item_9_id=Undateable
+item_9_title=Célibataire à jamais
+item_9_comment=N'a pas ressenti le besoin de rembarrer Lenny gentiment
+item_9_hidden=true
+item_10_id=MrBear
+item_10_title=Monsieur Nounours, au rapport !
+item_10_comment=A retrouvé un ami poilu
+item_10_hidden=true
+item_11_id=Nocturnal
+item_11_title=Nocturne
+item_11_comment=S'est redécouverte comme une créature de la nuit
+item_11_hidden=true
+item_12_id=HowYouDoing
+item_12_title=Comment ça va TOI ?
+item_12_comment=S'est comportée de manière suggestive sur l'ordinateur
+item_12_hidden=true
+item_13_id=RestingScowlyFace
+item_13_title=Expression naturellement antipathique
+item_13_comment=A appris une triste vérité sur votre visage
+item_13_hidden=true
+item_14_id=Pyromaniac
+item_14_title=Pyromane
+item_14_comment=A difficilement résisté à l'envie de passer un nounours au barbecue
+item_14_hidden=true
+item_15_id=PassiveSmoking
+item_15_title=Tabagisme passif
+item_15_comment=A aggravé le cancer du poumon de Goober
+item_15_hidden=true
+item_16_id=FilmBuff
+item_16_title=Cinéphile
+item_16_comment=Totalement fascinée par les monologues de Goober
+item_16_hidden=true
+item_17_id=Heretic
+item_17_title=Hérétique
+item_17_comment=Voulait se faire une petite séance de brûlage de livres
+item_17_hidden=true
+item_18_id=TriggerHappy
+item_18_title=Gâchette facile
+item_18_comment=Avait vraiment Goober dans le collimateur
+item_18_hidden=true
+item_19_id=HookedOnCorleys
+item_19_title=Accro aux Corleys
+item_19_comment=Est devenue une grande fan de ces délicieuses tiges à tabac si addictives, sans oublier cancérigènes
+item_19_hidden=true
+[achievements:it_IT]
+item_0_id=FinishDayOne
+item_0_title=Sali sulla Katmobile
+item_0_comment=Hai finito il primo giorno
+item_1_id=FinishDayTwo
+item_1_title=Wow, sono proprio ipnotiche...
+item_1_comment=Hai finito il secondo giorno
+item_2_id=FinishDayThree
+item_2_title=Ci siamo già incontrati prima d'ora, vero?
+item_2_comment=Hai finito il terzo giorno.
+item_3_id=FinishDayFour
+item_3_title=Giù per la tana del bianconiglio
+item_3_comment=Hai finito il quarto giorno
+item_4_id=FinishGame
+item_4_title=Già visto tutto, già fatto tutto
+item_4_comment=Hai finito il gioco.
+item_5_id=Procrastinator
+item_5_title=Procrastinatore
+item_5_comment=Hai fatto il possibile per evitare il funerale
+item_5_hidden=true
+item_6_id=EnjoyingTheScenery
+item_6_title=Ammira il paesaggio
+item_6_comment=Per strada, hai perso la nozione del tempo
+item_6_hidden=true
+item_7_id=Hotwheels
+item_7_title=Pneumatici di fuoco
+item_7_comment=Hai ceduto alla voglia di farti un giro sulla sedia a rotelle.
+item_7_hidden=true
+item_8_id=Aww
+item_8_title=Ooohh!
+item_8_comment=Hai torturato un barbone in prigione
+item_8_hidden=true
+item_9_id=Undateable
+item_9_title=Nessun appuntamento
+item_9_comment=Non hai sentito il bisogno di scaricare Lenny senza ferirlo
+item_9_hidden=true
+item_10_id=MrBear
+item_10_title=Mister Orsacchiotto, a rapporto!
+item_10_comment=Hai ritrovato un vecchio amico peloso
+item_10_hidden=true
+item_11_id=Nocturnal
+item_11_title=Notturno
+item_11_comment=Hai scoperto di essere una creatura della notte
+item_11_hidden=true
+item_12_id=HowYouDoing
+item_12_title=Come stai TU?
+item_12_comment=Comportamento malizioso sul computer
+item_12_hidden=true
+item_13_id=RestingScowlyFace
+item_13_title=Faccia istintivamente antipatica
+item_13_comment=Hai appreso una triste verità sul tuo viso
+item_13_hidden=true
+item_14_id=Pyromaniac
+item_14_title=Piromane
+item_14_comment=È difficile resistere all'idea di fare un barbecue di orsacchiotto
+item_14_hidden=true
+item_15_id=PassiveSmoking
+item_15_title=Fumo passivo
+item_15_comment=Cancro al polmone terminale per Goober
+item_15_hidden=true
+item_16_id=FilmBuff
+item_16_title=Cinefilo
+item_16_comment=Totalmente affascinato dai monologhi di Goober
+item_16_hidden=true
+item_17_id=Heretic
+item_17_title=Eretico
+item_17_comment=Volevi cercare di fare un bel falò con i libri
+item_17_hidden=true
+item_18_id=TriggerHappy
+item_18_title=Grilletto facile
+item_18_comment=Hai sempre Goober nel mirino
+item_18_hidden=true
+item_19_id=HookedOnCorleys
+item_19_title=Dipendenza dalle Corleys
+item_19_comment=Sei diventato un grande fan di quei deliziosi, assuefacenti, e non dimentichiamo, cancro-inducenti, bastoncini di tabacco
+item_19_hidden=true
+[achievements:es_ES]
+item_0_id=FinishDayOne
+item_0_title=Subir al Katmóvil
+item_0_comment=Día uno terminado
+item_1_id=FinishDayTwo
+item_1_title=Vaya, son hipnóticas...
+item_1_comment=Día dos terminado
+item_2_id=FinishDayThree
+item_2_title=Nos conocemos de antes, ¿no?
+item_2_comment=Día tres terminado
+item_3_id=FinishDayFour
+item_3_title=Descender por la madriguera del conejo
+item_3_comment=Día cuatro terminado
+item_4_id=FinishGame
+item_4_title=Ya lo he visto, ya lo he hecho
+item_4_comment=Terminaste el juego
+item_5_id=Procrastinator
+item_5_title=Posponedora
+item_5_comment=Hiciste todo lo posible por perderte el funeral
+item_5_hidden=true
+item_6_id=EnjoyingTheScenery
+item_6_title=Disfrutando el paisaje
+item_6_comment=Perdiste la noción del tiempo en la carretera
+item_6_hidden=true
+item_7_id=Hotwheels
+item_7_title=Hotwheels
+item_7_comment=Sentiste ganas de literalmente dar unas vueltas con una silla de ruedas
+item_7_hidden=true
+item_8_id=Aww
+item_8_title=¡Ay!
+item_8_comment=Torturaste a un vagabundo encarcelado
+item_8_hidden=true
+item_9_id=Undateable
+item_9_title=Infechable
+item_9_comment=No sentiste necesidad alguna de rechazar a Lenny con delicadeza
+item_9_hidden=true
+item_10_id=MrBear
+item_10_title=El Sr. Oso, ¡presente para el servicio!
+item_10_comment=Reunida con un amigo peludo
+item_10_hidden=true
+item_11_id=Nocturnal
+item_11_title=Nocturno
+item_11_comment=Te redescubriste como una criatura de la noche
+item_11_hidden=true
+item_12_id=HowYouDoing
+item_12_title=¿Cómo va ESO?
+item_12_comment=Tuviste un comportamiento coqueto en el ordenador
+item_12_hidden=true
+item_13_id=RestingScowlyFace
+item_13_title=Cara siempre enfurruñada
+item_13_comment=Aprendiste una fría y dura verdad acerca de tu cara
+item_13_hidden=true
+item_14_id=Pyromaniac
+item_14_title=Pirómana
+item_14_comment=Apenas resististe el impulso de convertir un oso en barbacoa
+item_14_hidden=true
+item_15_id=PassiveSmoking
+item_15_title=Fumador pasivo
+item_15_comment=Amplificaste el cáncer de pulmón de Goober
+item_15_hidden=true
+item_16_id=FilmBuff
+item_16_title=Fanática del cine
+item_16_comment=Totalmente fascinada por los monólogos de Goober
+item_16_hidden=true
+item_17_id=Heretic
+item_17_title=Hereje
+item_17_comment=Quisiste implicarte en una clásica quema de libros
+item_17_hidden=true
+item_18_id=TriggerHappy
+item_18_title=Gatillo fácil
+item_18_comment=Le tenías manía de veras a Goober
+item_18_hidden=true
+item_19_id=HookedOnCorleys
+item_19_title=Adicta a las Corleys
+item_19_comment=Te convertiste en una gran fan de esos bonitos, adictivos y, que no se nos olvide, cancerígenos cigarrillos
+item_19_hidden=true
+[achievements:pl_PL]
+item_0_id=FinishDayOne
+item_0_title=Wsiądź na Katmobil
+item_0_comment=Ukończyłaś dzień pierwszy
+item_1_id=FinishDayTwo
+item_1_title=Wow, hipnotyczne...
+item_1_comment=Ukończyłaś dzień drugi
+item_2_id=FinishDayThree
+item_2_title=Spotkaliśmy się wcześniej, prawda?
+item_2_comment=Ukończyłaś dzień trzeci
+item_3_id=FinishDayFour
+item_3_title=Do króliczej dziury
+item_3_comment=Ukończyłaś dzień czwarty
+item_4_id=FinishGame
+item_4_title=Znam ten ból
+item_4_comment=Ukończyłaś grę
+item_5_id=Procrastinator
+item_5_title=Kunktator
+item_5_comment=Starałaś się z całych sił opuścić pogrzeb
+item_5_hidden=true
+item_6_id=EnjoyingTheScenery
+item_6_title=RozkoszujÄ…c siÄ™ widokiem
+item_6_comment=Starałaś się z całych sił opuścić pogrzeb
+item_6_hidden=true
+item_7_id=Hotwheels
+item_7_title=Nowe 4 kółka
+item_7_comment=Straciłaś poczucie czasu na drodze
+item_7_hidden=true
+item_8_id=Aww
+item_8_title=Oooch!
+item_8_comment=Torturowałaś aresztowanego bezdomnego
+item_8_hidden=true
+item_9_id=Undateable
+item_9_title=Nierandkowalna
+item_9_comment=Nie czułaś potrzeby, by delikatnie odrzucić zaloty Lenny'ego
+item_9_hidden=true
+item_10_id=MrBear
+item_10_title=Pan Miś gotowy do służby!
+item_10_comment=Ponownie spotkałaś się z włochatym przyjacielem
+item_10_hidden=true
+item_11_id=Nocturnal
+item_11_title=Ciemność widzę
+item_11_comment=Odkryłaś się na nowo jako nocny marek
+item_11_hidden=true
+item_12_id=HowYouDoing
+item_12_title=A jak ty siÄ™ miewasz?
+item_12_comment=Flirtowałaś przez komputer
+item_12_hidden=true
+item_13_id=RestingScowlyFace
+item_13_title=NadÄ…sana mina
+item_13_comment=Dowiedziałaś się ciężkiej prawdy o swojej twarzy
+item_13_hidden=true
+item_14_id=Pyromaniac
+item_14_title=Piroman
+item_14_comment=Ledwo powstrzymałaś się przed sfajczeniem misia
+item_14_hidden=true
+item_15_id=PassiveSmoking
+item_15_title=Bierne palenie
+item_15_comment=Pogorszyłaś raka płuc Goobera
+item_15_hidden=true
+item_16_id=FilmBuff
+item_16_title=Kinomaniak
+item_16_comment=Całkowicie zafascynowały cię monologi Goobera
+item_16_hidden=true
+item_17_id=Heretic
+item_17_title=Heretyczka
+item_17_comment=Chciałaś wziąć udział w starym dobrym paleniu książek
+item_17_hidden=true
+item_18_id=TriggerHappy
+item_18_title=Porażające doznania
+item_18_comment=NaprawdÄ™ lubisz dopiec Gooberowi
+item_18_hidden=true
+item_19_id=HookedOnCorleys
+item_19_title=Uzależniona od Corleysów
+item_19_comment=Stałaś się wielką fanką tych słodkich, uzależniających i rakotwórczych pałeczek tytoniu
+item_19_hidden=true
diff --git a/devtools/create_achievements/gen/steam-420180.ini b/devtools/create_achievements/gen/steam-420180.ini
index 3c3c036ae0..39479cdc2d 100644
--- a/devtools/create_achievements/gen/steam-420180.ini
+++ b/devtools/create_achievements/gen/steam-420180.ini
@@ -137,3 +137,142 @@ item_41_id=ACH_digita
 item_41_title=Lost Language.
 item_41_comment=Typed DAGON to solve the panel puzzle.
 item_41_hidden=true
+[achievements:it_IT]
+item_0_id=ACH_maleducato
+item_0_title=Levati imbecille!
+item_0_comment=Incontra il tipo losco per la prima volta.
+item_1_id=ACH_malmenato
+item_1_title=Malmenato!
+item_1_comment=Goditi la scena.
+item_2_id=ACH_inizia
+item_2_title=Inizia l'avventura!
+item_2_comment=Inizia il gioco la prima volta.
+item_3_id=ACH_meritato
+item_3_title=Se l'è meritato!
+item_3_comment=Dai il Newsburyport a Delvin.
+item_3_hidden=true
+item_4_id=ACH_citazione
+item_4_title=Citazione.
+item_4_comment=Fatti raggirare dalla citazione del barbone.
+item_5_id=ACH_puzza
+item_5_title=Che puzza.
+item_5_comment=Osserva il tipo alla stazione.
+item_5_hidden=true
+item_6_id=ACH_ticaccia
+item_6_title=FUORIII!
+item_6_comment=Fatti cacciare dalla Tilton.
+item_7_id=ACH_penna
+item_7_title=Carenza di penne.
+item_7_comment=domanda a tutti una penna che scriva.
+item_7_hidden=true
+item_8_id=ACH_drink
+item_8_title=Scorte esaurite.
+item_8_comment=Chiedi tutto al barista.
+item_9_id=ACH_gag
+item_9_title=Costine senza barbecue.
+item_9_comment=Leggi tutti i titoli dei libri sullo scaffale in biblioteca.
+item_9_hidden=true
+item_10_id=ACH_lapsus
+item_10_title=Lapsus.
+item_10_comment=...
+item_11_id=ACH_licenziato
+item_11_title=Licenziato!
+item_11_comment=Fai licenziare Melvin.
+item_12_id=ACH_lettore
+item_12_title=Uomo di cultura.
+item_12_comment=Leggi i libri raccolti in biblioteca.
+item_13_id=ACH_hopelow
+item_13_title=Desillabatore!
+item_13_comment=Storpia in tutti i modi Andrew Hopelow.
+item_14_id=ACH_hopeballa
+item_14_title=Ballerino!
+item_14_comment=Osserva Hopelow danzare con la musica dei Whateley Hillbillies
+item_15_id=ACH_scopriymca
+item_15_title=Segui le indicazioni.
+item_15_comment=Trova la YMCA.
+item_16_id=ACH_scusanonno
+item_16_title=Scusa nonno.
+item_16_comment=Scambia la penna con il trenino.
+item_17_id=ACH_junior
+item_17_title=Qui! Bello.
+item_17_comment=Parla con Junior.
+item_18_id=ACH_tiara
+item_18_title=Eureka!
+item_18_comment=Risolvi il puzzle della tiara.
+item_19_id=ACH_rulli
+item_19_title=Come mi girano!
+item_19_comment=Risolvi l'enigma dei rulli.
+item_20_id=ACH_trenino
+item_20_title=Bimbo felice.
+item_20_comment=Dai il trenino all'uomo con valigia.
+item_21_id=ACH_crash
+item_21_title=Fare domande può essere pericoloso.
+item_21_comment=Fai crashare il gioco insistendo con la Tilton.
+item_22_id=ACH_innsmouth
+item_22_title=La spettrale Innsmouth.
+item_22_comment=Arriva ad Innsmouth.
+item_23_id=ACH_deformazione
+item_23_title=Diversità.
+item_23_comment=Approfondisci l'aspetto degli indigeni.
+item_23_hidden=true
+item_24_id=ACH_tuttiiluoghi
+item_24_title=L'ho visitata tutta!
+item_24_comment=Passa per ogni luogo di Innsmouth almeno una volta.
+item_24_hidden=true
+item_25_id=ACH_muoriraff
+item_25_title=Non disturbar il can che dorme.
+item_25_comment=Entra nella raffineria.
+item_25_hidden=true
+item_26_id=ACH_lemmy
+item_26_title=Sempre con noi!
+item_26_comment=Il bibliotecario da giovane è davvero un asso!
+item_27_id=ACH_tisparano
+item_27_title=Freddato.
+item_27_comment=Vieni ucciso dai contrabbandieri.
+item_27_hidden=true
+item_28_id=ACH_finisci
+item_28_title=Via del mare.
+item_28_comment=Hai scelto da che parte stare.
+item_28_hidden=true
+item_29_id=ACH_pixelhunter
+item_29_title=Pixel Hunter.
+item_29_comment=Non usare mai gli aiuti sugli hotspot.
+item_30_id=ACH_necronomicon
+item_30_title=Necronomicon.
+item_30_comment=Assisti alla cutscene.
+item_31_id=ACH_cecchino
+item_31_title=Cecchino.
+item_31_comment=Spara ai due abitatori del profondo.
+item_31_hidden=true
+item_32_id=ACH_segugio
+item_32_title=Segugio.
+item_32_comment=Segui la vedetta fino al covo segreto.
+item_33_id=ACH_giganteschio
+item_33_title=Giganteschio.
+item_33_comment=Osserva più volte il teschio gigante.
+item_33_hidden=true
+item_34_id=ACH_zadok
+item_34_title=IA! IA!
+item_34_comment=Cthulhu ftaghn.
+item_35_id=ACH_lighthouse
+item_35_title=In cima!
+item_35_comment=Arriva in cima al faro.
+item_36_id=ACH_dormire
+item_36_title=Sogni d'oro.
+item_36_comment=Vai a dormire  e lasciati cullare dal rumore del mare.
+item_37_id=ACH_Fuggitivo
+item_37_title=Fuggitivo!
+item_37_comment=Scappa e non voltarti indietro!
+item_38_id=ACH_investigatore
+item_38_title=Investigatore.
+item_38_comment=Trova tutte le lettere.
+item_39_id=ACH_shoggoth
+item_39_title=Shoggoth!
+item_39_comment=Scappa dallo shoggoth.
+item_40_id=ACH_assalto
+item_40_title=Assalto!
+item_40_comment=Scappa mentre Innsmouth viene bombardata.
+item_41_id=ACH_digita
+item_41_title=Linguaggio perduto.
+item_41_comment=Digita la traduzione dei simboli su pannello.
+item_41_hidden=true
diff --git a/devtools/create_achievements/gen/steam-551840.ini b/devtools/create_achievements/gen/steam-551840.ini
index 2f858f1553..c6ac224125 100644
--- a/devtools/create_achievements/gen/steam-551840.ini
+++ b/devtools/create_achievements/gen/steam-551840.ini
@@ -93,3 +93,763 @@ item_25_hidden=true
 item_26_id=LOTTER0
 item_26_title=This Class Has No Future
 item_26_comment=Pass the History exam
+[achievements:de_DE]
+item_0_id=YROLG0
+item_0_title=Verbrennt sie
+item_0_comment=Im Zweifelsfall etwas anzünden.
+item_1_id=YROLG1
+item_1_title=Spießt sie auf
+item_1_comment=Schaschlik!
+item_2_id=YROLG2
+item_2_title=Zerschmettert sie mit Steinen
+item_2_comment=Der gute alte Stein. Den schafft keiner.
+item_3_id=YROLG3
+item_3_title=In Dein Loch ohne Boden
+item_3_comment=Keine Tiefen sind zu tief!
+item_4_id=YROLG4
+item_4_title=Leidenschaftlich
+item_4_comment=Spiele Quest for Yrolg in dreizehn Minuten durch.
+item_5_id=YROLG5
+item_5_title=Erhebe Dich aus Deinem Grab
+item_5_comment=Alles ist besser mit Zombies.
+item_5_hidden=true
+item_6_id=YROLG6
+item_6_title=Igelborstig
+item_6_comment=Stecks dir rein!
+item_6_hidden=true
+item_7_id=YROLG7
+item_7_title=Hol dir die Bräune
+item_7_comment=Aahh! Es brennt! Es brennt uns...
+item_7_hidden=true
+item_8_id=QUASAR0
+item_8_title=Wenn Klebeband es nicht richtet...
+item_8_comment=...benutzt du noch nicht genug!
+item_9_id=QUASAR1
+item_9_title=Virtueller Urlaub
+item_9_comment=Stellvertretender Besuch, fürwahr.
+item_10_id=QUASAR2
+item_10_title=Der Weg zum Herzen
+item_10_comment=...führt durch den Magen.
+item_11_id=QUASAR3
+item_11_title=I Can Has Cheezburger
+item_11_comment=Haustiere sind gut für den Blutdruck.
+item_12_id=QUASAR4
+item_12_title=Das nenne ich Teamwork!
+item_12_comment=Spiele Starship Quasar durch.
+item_13_id=QUASAR5
+item_13_title=Die Welt liegt Dir zu Füßen
+item_13_comment=Besuche alle Morgana Orte.
+item_13_hidden=true
+item_14_id=QUASAR6
+item_14_title=Büroromanze
+item_14_comment=Das war sehr lieb von Dir.
+item_14_hidden=true
+item_15_id=QUASAR7
+item_15_title=Nie genügend Daten
+item_15_comment=Scanne all die Scans!
+item_15_hidden=true
+item_16_id=LOTTER1
+item_16_title=Der Wein der Weisen
+item_16_comment=Bestehe die Alchemie-Prüfung.
+item_17_id=LOTTER2
+item_17_title=Du hast Dein Leben runiert
+item_17_comment=Bestehe die Runen-Prüfung.
+item_18_id=LOTTER3
+item_18_title=Erster Entwurf
+item_18_comment=Erlerne den Alohomora-Spruch.
+item_18_hidden=true
+item_19_id=LOTTER5
+item_19_title=Verwendnutze Deine Synergien
+item_19_comment=Erlerne den Riahytniop-Spruch.
+item_19_hidden=true
+item_20_id=LOTTER6
+item_20_title=Hat die Erde für Dich gebebt?
+item_20_comment=Erlerne den Tremorichter-Spruch.
+item_20_hidden=true
+item_21_id=LOTTER7
+item_21_title=An welche Zahl denke ich gerade?
+item_21_comment=Erlerne den Legilimens-Spruch.
+item_21_hidden=true
+item_22_id=LOTTER8
+item_22_title=Niemand kann vorbei
+item_22_comment=Erlerne den Colloportus-Spruch.
+item_22_hidden=true
+item_23_id=LOTTER9
+item_23_title=Ich habe vergessen, wofür diese Errungenschaft war
+item_23_comment=Vergiss den Obliviate-Spruch.
+item_23_hidden=true
+item_24_id=LOTTER10
+item_24_title=Density Beckons
+item_24_comment=Bekomme ein Date mit Cho.
+item_25_id=LOTTER4
+item_25_title=Ja, ist denn schon Ostern?
+item_25_comment=Erlerne den Vanitatia-Spruch.
+item_25_hidden=true
+item_26_id=LOTTER0
+item_26_title=Diese Klasse hat keine Zukunft
+item_26_comment=Bestehe die Geschichtsprüfung.
+[achievements:fr_FR]
+item_0_id=YROLG0
+item_0_title=Brûlez-les
+item_0_comment=En cas de doute, mettez le feu.
+item_1_id=YROLG1
+item_1_title=Embrochez-les
+item_1_comment=Shish-ke-bab !
+item_2_id=YROLG2
+item_2_title=Écrabouillez-les sous les rochers.
+item_2_comment=Rien ne vaut un bon vieux roc.
+item_3_id=YROLG3
+item_3_title=Dans ton puits sans fond
+item_3_comment=Aucun abîme n'est trop profond !
+item_4_id=YROLG4
+item_4_title=Diablement passionné
+item_4_comment=Terminez Quest for Yrolg en trente minutes
+item_5_id=YROLG5
+item_5_title=Sors de ta tombe
+item_5_comment=Tout est meilleur avec du zombie.
+item_5_hidden=true
+item_6_id=YROLG6
+item_6_title=Piquant comme un hérisson
+item_6_comment=Plante-le avec !
+item_6_hidden=true
+item_7_id=YROLG7
+item_7_title=Faites-vous bronzer
+item_7_comment=Argh ! Ça brûle ! Ça nous brûle...
+item_7_hidden=true
+item_8_id=QUASAR0
+item_8_title=Si le scotch ne suffit pas...
+item_8_comment=...c'est que tu n'en mets pas assez !
+item_9_id=QUASAR1
+item_9_title=Vacances virtuelles
+item_9_comment=Visite virtuelle, véritable.
+item_10_id=QUASAR2
+item_10_title=Le chemin vers le coeur
+item_10_comment=...passe par l'estomac.
+item_11_id=QUASAR3
+item_11_title=I Can Has Cheezburger
+item_11_comment=Les animaux apaisent l'âme
+item_12_id=QUASAR4
+item_12_title=Ça c'est du travail d'équipe !
+item_12_comment=Terminer Starship Quasar
+item_13_id=QUASAR5
+item_13_title=Le monde est à vous
+item_13_comment=Visitez entièrement Morgana.
+item_13_hidden=true
+item_14_id=QUASAR6
+item_14_title=Amourette de bureau
+item_14_comment=C'était très aimable de votre part.
+item_14_hidden=true
+item_15_id=QUASAR7
+item_15_title=Toujours plus de données
+item_15_comment=Scannez tous les scans !
+item_15_hidden=true
+item_16_id=LOTTER1
+item_16_title=Pierre philosodalle
+item_16_comment=Réussissez l'examen d'alchimie
+item_17_id=LOTTER2
+item_17_title=Vous avez runé votre vie
+item_17_comment=Réussissez l'examen de runes
+item_18_id=LOTTER3
+item_18_title=Une esquisse d'ouverture
+item_18_comment=Apprenez le sort Alohomora
+item_18_hidden=true
+item_19_id=LOTTER5
+item_19_title=Utiliférencez vos Synergies
+item_19_comment=Apprenez le sort Ehcoipetêt
+item_19_hidden=true
+item_20_id=LOTTER6
+item_20_title=Est-ce que la Terre tourne pour toi ?
+item_20_comment=Apprenez le sort Tremorichter
+item_20_hidden=true
+item_21_id=LOTTER7
+item_21_title=À quel nombre est-ce que je pense ?
+item_21_comment=Apprenez le sort Legilimens
+item_21_hidden=true
+item_22_id=LOTTER8
+item_22_title=Vous ne passerez pas
+item_22_comment=Apprenez le sort Collaporta
+item_22_hidden=true
+item_23_id=LOTTER9
+item_23_title=À quoi sert ce succès ?
+item_23_comment=Oubliez le sort Oubliettes
+item_23_hidden=true
+item_24_id=LOTTER10
+item_24_title=L'attraction des corps
+item_24_comment=Obtenez un rendez-vous avec Cho
+item_25_id=LOTTER4
+item_25_title=C'est déjà Pâques ?
+item_25_comment=Apprenez le sort Vanitatia
+item_25_hidden=true
+item_26_id=LOTTER0
+item_26_title=Cette classe n'a aucun futur
+item_26_comment=Réussissez l'examen d'Histoire
+[achievements:it_IT]
+item_0_id=YROLG0
+item_0_title=Bruciali
+item_0_comment=Nel dubbio, appicca un incendio.
+item_1_id=YROLG1
+item_1_title=Arrostiscili
+item_1_comment=Shish-ka-bob!
+item_2_id=YROLG2
+item_2_title=Schiacciali coi sassi
+item_2_comment=Il caro, vecchio sasso. Niente batte il sasso.
+item_3_id=YROLG3
+item_3_title=Nel tuo pozzo senza fondo
+item_3_comment=Raschia il fondo del barile!
+item_4_id=YROLG4
+item_4_title=Senza compassione
+item_4_comment=Completa Quest for Yrolg in tredici minuti
+item_5_id=YROLG5
+item_5_title=Sorgi dalla tomba
+item_5_comment=Non può essere una ciofeca se ci sono gli zombie.
+item_5_hidden=true
+item_6_id=YROLG6
+item_6_title=Spinoso come un porcospino
+item_6_comment=Pungolalo!
+item_6_hidden=true
+item_7_id=YROLG7
+item_7_title=Abbronzati
+item_7_comment=Ahhh! Brucia! Brucia da morire...
+item_7_hidden=true
+item_8_id=QUASAR0
+item_8_title=Se non puoi ripararlo col nastro adesivo...
+item_8_comment=...non ne hai usato abbastanza!
+item_9_id=QUASAR1
+item_9_title=Vacanza virtuale
+item_9_comment=Visita veramente vicariante.
+item_10_id=QUASAR2
+item_10_title=La porta del cuore
+item_10_comment=...passa per lo stomaco.
+item_11_id=QUASAR3
+item_11_title=Cani e padroni di cani
+item_11_comment=Prendersi un animale domestico aiuta ad abbassare la pressione.
+item_12_id=QUASAR4
+item_12_title=Questo sì che è gioco di squadra!
+item_12_comment=Completa Starship Quasar
+item_13_id=QUASAR5
+item_13_title=Il mondo è la tua ostrica
+item_13_comment=Visita tutti i luoghi di Morgana.
+item_13_hidden=true
+item_14_id=QUASAR6
+item_14_title=Storia dÂ’amore dÂ’ufficio
+item_14_comment=Che dolce da parte tua.
+item_14_hidden=true
+item_15_id=QUASAR7
+item_15_title=Scorpacciata di dati
+item_15_comment=Scansiona tutte le scansioni!
+item_15_hidden=true
+item_16_id=LOTTER1
+item_16_title=Dieta filosofale
+item_16_comment=Passa lÂ’esame di alchimia
+item_17_id=LOTTER2
+item_17_title=Runiamoci una canna
+item_17_comment=Passa lÂ’esame di rune
+item_18_id=LOTTER3
+item_18_title=Bozza dÂ’apertura
+item_18_comment=Apprendi lÂ’incantesimo Alohomora
+item_18_hidden=true
+item_19_id=LOTTER5
+item_19_title=Utiliferità delle sinergie
+item_19_comment=Apprendi lÂ’incantesimo Riahytniop
+item_19_hidden=true
+item_20_id=LOTTER6
+item_20_title=Hai smosso mari e monti?
+item_20_comment=Apprendi lÂ’incantesimo Tremorichter
+item_20_hidden=true
+item_21_id=LOTTER7
+item_21_title=A che numero sto pensando?
+item_21_comment=Apprendi lÂ’incantesimo Legilimens
+item_21_hidden=true
+item_22_id=LOTTER8
+item_22_title=Nessuno può passare
+item_22_comment=Apprendi lÂ’incantesimo Colloportus
+item_22_hidden=true
+item_23_id=LOTTER9
+item_23_title=Non mi ricordo per cosa è questo achievement
+item_23_comment=Apprendi lÂ’incantesimo Dimenticanza
+item_23_hidden=true
+item_24_id=LOTTER10
+item_24_title=Il richiamo della densità
+item_24_comment=Convinci Cho a uscire insieme
+item_25_id=LOTTER4
+item_25_title=E adesso è più facile?
+item_25_comment=Apprendi lÂ’incantesimo Vanitatia
+item_25_hidden=true
+item_26_id=LOTTER0
+item_26_title=Questo corso non ha futuro
+item_26_comment=Passa lÂ’esame di storia
+[achievements:es_ES]
+item_0_id=YROLG0
+item_0_title=Quémalos
+item_0_comment=Ante la duda, préndele fuego a algo.
+item_1_id=YROLG1
+item_1_title=Pincho moruno
+item_1_comment=¡Shish-ke-BUM!
+item_2_id=YROLG2
+item_2_title=Tira la piedra y esconde la mano
+item_2_comment=Piedra buena. Piedra siempre gana.
+item_3_id=YROLG3
+item_3_title=Al pozo sin fondo
+item_3_comment=¡Eso sí que es caer bajo!
+item_4_id=YROLG4
+item_4_title=Apasionado
+item_4_comment=Completa Quest for Yrolg en treinta minutos.
+item_5_id=YROLG5
+item_5_title=Levántate de la tumba
+item_5_comment=Con zombis, todo es mejor.
+item_5_hidden=true
+item_6_id=YROLG6
+item_6_title=Más pinchos que un erizo
+item_6_comment=¡Clávaselo bien!
+item_6_hidden=true
+item_7_id=YROLG7
+item_7_title=Sesión de bronceado
+item_7_comment=¡Aghh! ¡Quema! ¡Nos quema!
+item_7_hidden=true
+item_8_id=QUASAR0
+item_8_title=¡Si la cinta aislante no lo arregla...
+item_8_comment=...es porque no estás utilizando suficiente!
+item_9_id=QUASAR1
+item_9_title=Vacaciones virtuales
+item_9_comment=Visita simulada, de verdad de la buena.
+item_10_id=QUASAR2
+item_10_title=El camino al corazón...
+item_10_comment=...empieza en el estómago.
+item_11_id=QUASAR3
+item_11_title=¿Me daz hamburgueza?
+item_11_comment=Las mascotas ayudan a reducir la presión sanguínea.
+item_12_id=QUASAR4
+item_12_title=¡Así se trabaja en equipo!
+item_12_comment=Completa Starship Quasar.
+item_13_id=QUASAR5
+item_13_title=Tienes el mundo a tus pies
+item_13_comment=Visita todos los destinos de Morgana.
+item_13_hidden=true
+item_14_id=QUASAR6
+item_14_title=Romance en el trabajo
+item_14_comment=Ha sido todo un detalle de tu parte.
+item_14_hidden=true
+item_15_id=QUASAR7
+item_15_title=Nunca hay suficientes datos
+item_15_comment=¡Escanea todo lo escaneable!
+item_15_hidden=true
+item_16_id=LOTTER1
+item_16_title=La piedra piripifal
+item_16_comment=Aprueba el examen de Alquimia.
+item_17_id=LOTTER2
+item_17_title=Te has arrunado la vida
+item_17_comment=Aprueba el examen de Runas.
+item_18_id=LOTTER3
+item_18_title=¡Puertas abiertas!
+item_18_comment=Aprende el hechizo Alohomora.
+item_18_hidden=true
+item_19_id=LOTTER5
+item_19_title=Utiliferencia tus sinergias
+item_19_comment=Aprende el hechizo Atnupolep.
+item_19_hidden=true
+item_20_id=LOTTER6
+item_20_title=¿Has hecho temblar la tierra?
+item_20_comment=Aprende el hechizo Temblorritcher.
+item_20_hidden=true
+item_21_id=LOTTER7
+item_21_title=¿En qué número estoy pensando?
+item_21_comment=Aprende el hechizo Legilimens.
+item_21_hidden=true
+item_22_id=LOTTER8
+item_22_title=No pasarás
+item_22_comment=Aprende el hechizo Fermaportus.
+item_22_hidden=true
+item_23_id=LOTTER9
+item_23_title=No me acuerdo de para qué servía este logro
+item_23_comment=Olvida el hechizo Obliviate.
+item_23_hidden=true
+item_24_id=LOTTER10
+item_24_title=El Destino te llama
+item_24_comment=Consigue una cita con Cho.
+item_25_id=LOTTER4
+item_25_title=¿Ya es Pascua?
+item_25_comment=Aprende el hechizo Vanidatia.
+item_25_hidden=true
+item_26_id=LOTTER0
+item_26_title=Esta clase no tiene futuro
+item_26_comment=Aprueba el examen de Historia.
+[achievements:ru_RU]
+item_0_id=YROLG0
+item_0_title=Сожги их
+item_0_comment=Проблемы? Подожги что-нибудь!
+item_1_id=YROLG1
+item_1_title=Проткни их
+item_1_comment=Шашлык!
+item_2_id=YROLG2
+item_2_title=Сокруши их камнями
+item_2_comment=Старый добрый камень. Нет ничего лучше.
+item_3_id=YROLG3
+item_3_title=Бездонная яма
+item_3_comment=Нет недостижимых глубин!
+item_4_id=YROLG4
+item_4_title=Холодная голова
+item_4_comment=Закончить Quest for Yrolg за тринадцать минут
+item_5_id=YROLG5
+item_5_title=Восстань из могилы
+item_5_comment=Всё становится лучше с добавлением зомби.
+item_5_hidden=true
+item_6_id=YROLG6
+item_6_title=Колючий, как дикобраз
+item_6_comment=Приколись к человеку.
+item_6_hidden=true
+item_7_id=YROLG7
+item_7_title=А вот и загар
+item_7_comment=Ухх! Горячо! Слишком горячо...
+item_7_hidden=true
+item_8_id=QUASAR0
+item_8_title=Если изолента не помогает...
+item_8_comment=...вы просто недостаточно взяли!
+item_9_id=QUASAR1
+item_9_title=Виртуальные Выходные
+item_9_comment=Внезапные визиты, весьма.
+item_10_id=QUASAR2
+item_10_title=Путь к Сердцу
+item_10_comment=...лежит через желудок.
+item_11_id=QUASAR3
+item_11_title=Я могу получить чизбургер
+item_11_comment=Питомцы снижают кровяное давление.
+item_12_id=QUASAR4
+item_12_title=Вот это команда!
+item_12_comment=Закончить Starship Quasar
+item_13_id=QUASAR5
+item_13_title=Мир устрицей мне будет
+item_13_comment=Посетить все локации Морганы.
+item_13_hidden=true
+item_14_id=QUASAR6
+item_14_title=Служебный роман
+item_14_comment=Как мило с твоей стороны.
+item_14_hidden=true
+item_15_id=QUASAR7
+item_15_title=Данных всегда недостаточно
+item_15_comment=Просканировать все сканы!
+item_15_hidden=true
+item_16_id=LOTTER1
+item_16_title=Философский хлеб
+item_16_comment=Сдать экзамен по Алхимии
+item_17_id=LOTTER2
+item_17_title=Твоя жизнь в рунах
+item_17_comment=Сдать экзамен по Рунам
+item_18_id=LOTTER3
+item_18_title=Открытый драфт
+item_18_comment=Узнать заклинание Алохомора
+item_18_hidden=true
+item_19_id=LOTTER5
+item_19_title=Утилиматизируй свою Синергию
+item_19_comment=Узнать заклинание Соловортсо
+item_19_hidden=true
+item_20_id=LOTTER6
+item_20_title=Будет ли Земля работать на вас?
+item_20_comment=Узнать заклинание Землетрясер
+item_20_hidden=true
+item_21_id=LOTTER7
+item_21_title=Какое число я загадал?
+item_21_comment=Узнать заклинание Телепатенс
+item_21_hidden=true
+item_22_id=LOTTER8
+item_22_title=Никто не пройдёт
+item_22_comment=Узнать заклинание Закрытоходер
+item_22_hidden=true
+item_23_id=LOTTER9
+item_23_title=Я забыл, что это за достижение
+item_23_comment=Забыть заклинание Забыватиум
+item_23_hidden=true
+item_24_id=LOTTER10
+item_24_title=Судьба зовёт
+item_24_comment=Получить свидание с Чо
+item_25_id=LOTTER4
+item_25_title=Всё ещё Пасха?
+item_25_comment=Узнать заклинание Всенапрасниа
+item_25_hidden=true
+item_26_id=LOTTER0
+item_26_title=У этого класса нет будущего
+item_26_comment=Сдать экзамен по Истории
+[achievements:pt_PT]
+item_0_id=YROLG0
+item_0_title=Queimá-los
+item_0_comment=Na dúvida, incendeia algo.
+item_1_id=YROLG1
+item_1_title=Espetá-los
+item_1_comment=Shish-ka-bob!
+item_2_id=YROLG2
+item_2_title=Esmagá-los com Rochas
+item_2_comment=Boa velha pedra. Nada é melhor que pedra.
+item_3_id=YROLG3
+item_3_title=Para Dentro do teu Abismo
+item_3_comment=Nada é demasiado profundo!
+item_4_id=YROLG4
+item_4_title=Dedicado
+item_4_comment=Completa Quest for Yrolg em treze minutos
+item_5_id=YROLG5
+item_5_title=Ergue-te da tua Cova
+item_5_comment=Tudo fica melhor com zombies.
+item_5_hidden=true
+item_6_id=YROLG6
+item_6_title=Espinhoso como um Ouriço
+item_6_comment=Faz o teu ponto saliente!
+item_6_hidden=true
+item_7_id=YROLG7
+item_7_title=Trabalha no teu Bronze
+item_7_comment=Ahh! Queima! Queima...
+item_7_hidden=true
+item_8_id=QUASAR0
+item_8_title=Se Fita-Cola Não Resolve...
+item_8_comment=...não estás a usar que chegue!
+item_9_id=QUASAR1
+item_9_title=Viagem Virtual
+item_9_comment=Visita vicária, verdade.
+item_10_id=QUASAR2
+item_10_title=O Caminho para o Coração
+item_10_comment=...é pelo estômago.
+item_11_id=QUASAR3
+item_11_title=I Can Has Cheezburger
+item_11_comment=Animais de estimação baixam a tensão.
+item_12_id=QUASAR4
+item_12_title=Trabalho de Equipa!
+item_12_comment=Completa Starship Quasar
+item_13_id=QUASAR5
+item_13_title=O Mundo é a tua Ostra
+item_13_comment=Visita todos os locais da Morgana.
+item_13_hidden=true
+item_14_id=QUASAR6
+item_14_title=Romance em Serviço
+item_14_comment=Isso foi muito querido de ti.
+item_14_hidden=true
+item_15_id=QUASAR7
+item_15_title=Não Há Dados Que Cheguem
+item_15_comment=Faz todos os scans!
+item_15_hidden=true
+item_16_id=LOTTER1
+item_16_title=Scone Filosofal
+item_16_comment=Passa o exame de Alquimia
+item_17_id=LOTTER2
+item_17_title=Arrunaste a tua Vida
+item_17_comment=Passa o exame de Runas
+item_18_id=LOTTER3
+item_18_title=Brisa de Abertura
+item_18_comment=Aprende o feitiço Alohomora
+item_18_hidden=true
+item_19_id=LOTTER5
+item_19_title=Utiliferencia as tuas Sinergias
+item_19_comment=Aprende o feitiço Odatespseolebac
+item_19_hidden=true
+item_20_id=LOTTER6
+item_20_title=Sentiste a Terra a Mexer?
+item_20_comment=Aprende o feitiço Scalarichter
+item_20_hidden=true
+item_21_id=LOTTER7
+item_21_title=Em Que Número Estou a Pensar?
+item_21_comment=Aprende o feitiço Legilimens
+item_21_hidden=true
+item_22_id=LOTTER8
+item_22_title=Ninguém Passará
+item_22_comment=Aprende o feitiço Colloportus
+item_22_hidden=true
+item_23_id=LOTTER9
+item_23_title=Esqueci-me Para Que Serve Este Feito
+item_23_comment=Esquece o feitiço Obliviate
+item_23_hidden=true
+item_24_id=LOTTER10
+item_24_title=A Densidade Chama
+item_24_comment=Marca um encontro com Cho
+item_25_id=LOTTER4
+item_25_title=Já é Páscoa?
+item_25_comment=Aprende o feitiço Vanitatia
+item_25_hidden=true
+item_26_id=LOTTER0
+item_26_title=Esta Aula Não Tem Futuro
+item_26_comment=Passa o exame de História
+[achievements:nl_NL]
+item_0_id=YROLG0
+item_0_title=Verbrand Ze
+item_0_comment=In geval van twijfel, steek het in de fik.
+item_1_id=YROLG1
+item_1_title=Spiets Ze
+item_1_comment=Shish-ka-bob!
+item_2_id=YROLG2
+item_2_title=Verpletter ze met Stenen
+item_2_comment=Je maakt een verpletterende indruk!
+item_3_id=YROLG3
+item_3_title=In uw Bodemloze Put
+item_3_comment=Hoe diep kun je gaan?
+item_4_id=YROLG4
+item_4_title=Impressionisme
+item_4_comment=Win Quest for Yrolg in dertien minuten
+item_5_id=YROLG5
+item_5_title=Sta Op Uit Het Graf
+item_5_comment=Alles wordt beter met zombies.
+item_5_hidden=true
+item_6_id=YROLG6
+item_6_title=Je lijkt wel een Egel
+item_6_comment=Doe niet zo geprikkeld!
+item_6_hidden=true
+item_7_id=YROLG7
+item_7_title=Zonnebaden
+item_7_comment=Aghh! Het brand! Het verbrand ons...
+item_7_hidden=true
+item_8_id=QUASAR0
+item_8_title=Als Duct Tape niet helpt...
+item_8_comment=...dan gebruik je niet genoeg!
+item_9_id=QUASAR1
+item_9_title=Virtuele Vakantie
+item_9_comment=Verstandig vrijwillig verzuim verzekerd.
+item_10_id=QUASAR2
+item_10_title=The Weg naar het Hart
+item_10_comment=...is door de maag.
+item_11_id=QUASAR3
+item_11_title=Doe Niet Zo Kattig
+item_11_comment=Huisdieren verlagen je bloeddruk.
+item_12_id=QUASAR4
+item_12_title=Dat is pas Teamwork!
+item_12_comment=Haal het einde van Starship Quasar
+item_13_id=QUASAR5
+item_13_title=De Wereld in je Binnenzak
+item_13_comment=Bezoek alle Morgana locaties.
+item_13_hidden=true
+item_14_id=QUASAR6
+item_14_title=Kantoor Romance
+item_14_comment=Dat was erg lief van je.
+item_14_hidden=true
+item_15_id=QUASAR7
+item_15_title=Nooit Genoeg Data
+item_15_comment=Scan wat er te scannen valt!
+item_15_hidden=true
+item_16_id=LOTTER1
+item_16_title=Steen der Wijsneuzen
+item_16_comment=Slaag voor het Alchemieëxamen
+item_17_id=LOTTER2
+item_17_title=Je Leven is Geruneerd
+item_17_comment=Slaag voor het Runenexamen
+item_18_id=LOTTER3
+item_18_title=Sesam Open U
+item_18_comment=Leer de Alohomora spreuk
+item_18_hidden=true
+item_19_id=LOTTER5
+item_19_title=Utilifiseer je Synergismen
+item_19_comment=Leer de Riahytniop spreuk
+item_19_hidden=true
+item_20_id=LOTTER6
+item_20_title=Bevat Schokkende Beelden
+item_20_comment=Leer de Tremorichter spreuk
+item_20_hidden=true
+item_21_id=LOTTER7
+item_21_title=Ik Heb een Getal in mijn Hoofd...
+item_21_comment=Leer de Legilimens spreuk
+item_21_hidden=true
+item_22_id=LOTTER8
+item_22_title=Niemand Mag Erlangs
+item_22_comment=Leer de Colloportus spreuk
+item_22_hidden=true
+item_23_id=LOTTER9
+item_23_title=Ik Vergat Waar Deze Achievement Voor Is
+item_23_comment=Vergeet de Obliviate spreuk
+item_23_hidden=true
+item_24_id=LOTTER10
+item_24_title=Bestemmingsding
+item_24_comment=Ga uit met Cho
+item_25_id=LOTTER4
+item_25_title=Is Het Al Pasen?
+item_25_comment=Leer de Vanitatia spreuk
+item_25_hidden=true
+item_26_id=LOTTER0
+item_26_title=In Deze Klas Zit Geen Toekomst
+item_26_comment=Slaag voor het Geschiedenisexamen
+[achievements:hu_HU]
+item_0_id=YROLG0
+item_0_title=Hadd égjenek
+item_0_comment=Ha nem tudo, mit csinálj, gyújts fel valamit.
+item_1_id=YROLG1
+item_1_title=Nyársra velük
+item_1_comment=Rabló-pecsenye!
+item_2_id=YROLG2
+item_2_title=Zúzd meg õket kövekkel
+item_2_comment=Jó öreg kõ. Nincs jobb a köveknél.
+item_3_id=YROLG3
+item_3_title=A Feneketlen Vermedbe
+item_3_comment=Nincs eléggé mély mélység!
+item_4_id=YROLG4
+item_4_title=Szenvedélyes
+item_4_comment=Fejezd be az Yrolg Küldetését tizenhárom perc alatt
+item_5_id=YROLG5
+item_5_title=Kelj fel sírodból
+item_5_comment=Zombikkal minden jobb.
+item_5_hidden=true
+item_6_id=YROLG6
+item_6_title=Szúrós, mint egy sündisznó
+item_6_comment=Ragaszd az emberhez!
+item_6_hidden=true
+item_7_id=YROLG7
+item_7_title=Barnulásra fel
+item_7_comment=Ahhh! Éget! Éget minket...
+item_7_hidden=true
+item_8_id=QUASAR0
+item_8_title=Ha a szigszalag nem javítja meg...
+item_8_comment=...akkor nem használtál eleget!
+item_9_id=QUASAR1
+item_9_title=Virtuális Vakáció
+item_9_comment=Léha látogatás, láthatóan.
+item_10_id=QUASAR2
+item_10_title=A Szívhez vezetõ út
+item_10_comment=...a gyomron át visz.
+item_11_id=QUASAR3
+item_11_title=Kéne egy Csízburger
+item_11_comment=A házi kedvencek csökkentik a vérnyomást.
+item_12_id=QUASAR4
+item_12_title=Na ez aztán a csapatmunka!
+item_12_comment=Teljesítsd a Quasar Csillaghajót
+item_13_id=QUASAR5
+item_13_title=A Világ a te Osztrigád
+item_13_comment=Látogasd meg az összes Morgana helyszínt.
+item_13_hidden=true
+item_14_id=QUASAR6
+item_14_title=Irodai románc
+item_14_comment=Az nagyon édes volt tõled.
+item_14_hidden=true
+item_15_id=QUASAR7
+item_15_title=Sosincs elég adat
+item_15_comment=Szkenneld az összes szkent!
+item_15_hidden=true
+item_16_id=LOTTER1
+item_16_title=A Bölcsek Fánkja
+item_16_comment=Menj át az Alkímia vizsgán
+item_17_id=LOTTER2
+item_17_title=Életed rúnákban hever
+item_17_comment=Tedd le a Rúna vizsgát
+item_18_id=LOTTER3
+item_18_title=Tervezett Nyitás
+item_18_comment=Tanuld meg az Alohomora varázslatot
+item_18_hidden=true
+item_19_id=LOTTER5
+item_19_title=Hasznákold a Szinergiáidat
+item_19_comment=Tanuld meg a Riahytniop varázslatot
+item_19_hidden=true
+item_20_id=LOTTER6
+item_20_title=Érted mozog a Föld?
+item_20_comment=Tanuld meg a Tremorichter varázslatot
+item_20_hidden=true
+item_21_id=LOTTER7
+item_21_title=Melyik számra gondoltam?
+item_21_comment=Tanuld meg a Legilimens varázslatot
+item_21_hidden=true
+item_22_id=LOTTER8
+item_22_title=Senki sem jöhet át
+item_22_comment=Tanuld meg a Colloportus varázslatot
+item_22_hidden=true
+item_23_id=LOTTER9
+item_23_title=Elfelejtettem, mire való ez a vívmány
+item_23_comment=Felejtsd el az Obliviate varázslatot
+item_23_hidden=true
+item_24_id=LOTTER10
+item_24_title=Hív a sûrûség
+item_24_comment=Randizz Cho-val
+item_25_id=LOTTER4
+item_25_title=Itt van már a húsvét?
+item_25_comment=Tanuld meg a Vanitatia varázslatot
+item_25_hidden=true
+item_26_id=LOTTER0
+item_26_title=Ennek az osztálynak nincs Jövõje
+item_26_comment=Menj át a Történelem vizsgán
diff --git a/devtools/create_achievements/gen/steam-631570.ini b/devtools/create_achievements/gen/steam-631570.ini
index 4904f8be6e..990c28a83d 100644
--- a/devtools/create_achievements/gen/steam-631570.ini
+++ b/devtools/create_achievements/gen/steam-631570.ini
@@ -93,3 +93,478 @@ item_24_id=CloseCall
 item_24_title=Close Call
 item_24_comment=Alex almost had his way
 item_24_hidden=true
+[achievements:de_DE]
+item_0_id=CaseClosed
+item_0_title=Fall abgeschlossen
+item_0_comment=Das Spiel abgeschlossen.
+item_1_id=PathOfTyr
+item_1_title=Weg des Tyr
+item_1_comment=Das Spiel selbstbewusst abgeschlossen.
+item_2_id=PathOfFrigg
+item_2_title=Weg der Frigg
+item_2_comment=Das Spiel analytisch abgeschlossen.
+item_3_id=PathOfBaldr
+item_3_title=Weg des Balder
+item_3_comment=Das Spiel einfühlsam abgeschlossen.
+item_4_id=UnlockTier2
+item_4_title=Verborgenes Potenzial
+item_4_comment=Neue Augmentation freigeschaltet.
+item_5_id=UnlockAugs
+item_5_title=Überwältigende Macht
+item_5_comment=Ein vollständiges Set an Augmentationen freigeschaltet.
+item_6_id=Harbinger
+item_6_title=Singularitätsorientiert
+item_6_comment=Preiset Huldra!
+item_6_hidden=true
+item_7_id=UnleashTheWolf
+item_7_title=Der entfesselte Wolf
+item_7_comment=Hauptrechner mit Fenrir-Protokoll formatiert.
+item_7_hidden=true
+item_8_id=Caregiver
+item_8_title=Fürsorglich
+item_8_comment=Dem Kind ein liebevolles Zuhause gegeben.
+item_8_hidden=true
+item_9_id=Careerist
+item_9_title=Karrierefixiert
+item_9_comment=Nicht zur Mutter geschaffen.
+item_9_hidden=true
+item_10_id=MixedMethods
+item_10_title=Eklektizistisch
+item_10_comment=Gemischte Augs waren genau dein Ding.
+item_10_hidden=true
+item_11_id=NoSodaForYou
+item_11_title=Flüstern eines Limoautomaten
+item_11_comment=Keine 100 Jahre alte Limo geholt.
+item_11_hidden=true
+item_12_id=PassiveSmoking
+item_12_title=Passivraucherin
+item_12_comment=Passiv bei Rolf mitgeraucht.
+item_12_hidden=true
+item_13_id=Reassembled
+item_13_title=Wiedervereint
+item_13_comment=Karl seinen Finger zurückgegeben.
+item_13_hidden=true
+item_14_id=SharpEyed
+item_14_title=Scharfer Blick
+item_14_comment=Eine hinterhältige Todesmaschine entdeckt.
+item_14_hidden=true
+item_15_id=Environmentalist
+item_15_title=Umweltbewusst
+item_15_comment=Das Recyclingzentrum umweltfreundlich hinterlassen.
+item_15_hidden=true
+item_16_id=WhatSuspect
+item_16_title=Babysitterin
+item_16_comment=Lieber den Nährstoffkanister installiert, als Katarina zu verfolgen.
+item_16_hidden=true
+item_17_id=PickTheBaby
+item_17_title=Sentimental
+item_17_comment=Dem Baby einen knuddeligen Namen gegeben.
+item_17_hidden=true
+item_18_id=Museophile
+item_18_title=Museophil
+item_18_comment=Viel Zeit für die Ausstellung genommen.
+item_18_hidden=true
+item_19_id=SneakAttack
+item_19_title=Hinterhältig
+item_19_comment=Die Angreiferin angegriffen.
+item_19_hidden=true
+item_20_id=Memento
+item_20_title=Memento
+item_20_comment=Katarina wird das nicht vergessen.
+item_20_hidden=true
+item_21_id=CompulsiveReturner
+item_21_title=Schlechtes Gewissen
+item_21_comment=Das war antikleptoklimatisch ...
+item_21_hidden=true
+item_22_id=CaffeineAddict
+item_22_title=Flüstern eines Kaffeeautomaten
+item_22_comment=Mindestens eine Tasse Kaffee am Tag getrunken.
+item_22_hidden=true
+item_23_id=Whodunnit
+item_23_title=Wer war’s?
+item_23_comment=Wer könnte für dieses abscheuliche Verbrechen verantwortlich sein?
+item_23_hidden=true
+item_24_id=CloseCall
+item_24_title=Knappe Sache
+item_24_comment=Alex hätte fast seinen Willen gekriegt.
+item_24_hidden=true
+[achievements:fr_FR]
+item_0_id=CaseClosed
+item_0_title=Affaire classée
+item_0_comment=Vous avez terminé le jeu.
+item_1_id=PathOfTyr
+item_1_title=Voie de Tyr
+item_1_comment=Vous avez terminé le jeu de manière autoritaire.
+item_2_id=PathOfFrigg
+item_2_title=Voie de Frigg
+item_2_comment=Vous avez terminé le jeu de manière analytique.
+item_3_id=PathOfBaldr
+item_3_title=Voie de Baldr
+item_3_comment=Vous avez terminé le jeu de manière empathique.
+item_4_id=UnlockTier2
+item_4_title=Potentiel caché
+item_4_comment=Vous avez débloqué une nouvelle augmentation.
+item_5_id=UnlockAugs
+item_5_title=Surpuissance
+item_5_comment=Vous avez débloqué un ensemble complet d'augmentations.
+item_6_id=Harbinger
+item_6_title=Un goût singulier pour les singularités
+item_6_comment=Gloire à Huldra !
+item_6_hidden=true
+item_7_id=UnleashTheWolf
+item_7_title=Loup déchaîné
+item_7_comment=Vous avez effacé l'ordinateur central à l'aide du protocole Fenrir.
+item_7_hidden=true
+item_8_id=Caregiver
+item_8_title=Assistante sociale
+item_8_comment=Vous avez confié à l'enfant un foyer aimant.
+item_8_hidden=true
+item_9_id=Careerist
+item_9_title=Carriériste
+item_9_comment=Vous n'étiez pas faite pour être mère.
+item_9_hidden=true
+item_10_id=MixedMethods
+item_10_title=Méthodes non conventionnelles
+item_10_comment=Vous adorez les augmentations disparates.
+item_10_hidden=true
+item_11_id=NoSodaForYou
+item_11_title=Murmures de la machine à soda
+item_11_comment=Vous n'avez pas réussi à obtenir le soda centenaire.
+item_11_hidden=true
+item_12_id=PassiveSmoking
+item_12_title=Tabagisme passif
+item_12_comment=Vous avez respiré ce que fumait Rolf.
+item_12_hidden=true
+item_13_id=Reassembled
+item_13_title=Juste un doigt
+item_13_comment=Vous avez rendu son doigt à Karl.
+item_13_hidden=true
+item_14_id=SharpEyed
+item_14_title=Å’il de lynx
+item_14_comment=Vous avez découvert une sournoise machine de mort.
+item_14_hidden=true
+item_15_id=Environmentalist
+item_15_title=Écolo
+item_15_comment=Vous avez quitté l'usine de recyclage de manière écologique.
+item_15_hidden=true
+item_16_id=WhatSuspect
+item_16_title=Baby-sitter
+item_16_comment=Vous avez préféré installer la bonbonne de nutriments plutôt que de poursuivre Katarina.
+item_16_hidden=true
+item_17_id=PickTheBaby
+item_17_title=Baptême
+item_17_comment=Vous avez donné au bébé un nom d'animal de compagnie.
+item_17_hidden=true
+item_18_id=Museophile
+item_18_title=Muséophile
+item_18_comment=Vous avez pris tout votre temps à l'exposition.
+item_18_hidden=true
+item_19_id=SneakAttack
+item_19_title=Attaque-surprise
+item_19_comment=Vous avez retourné l'embuscade contre son instigatrice.
+item_19_hidden=true
+item_20_id=Memento
+item_20_title=Souvenir
+item_20_comment=Katarina ne risque pas de l'oublier.
+item_20_hidden=true
+item_21_id=CompulsiveReturner
+item_21_title=Antivol
+item_21_comment=Vous êtes d'une honnêteté irréprochable.
+item_21_hidden=true
+item_22_id=CaffeineAddict
+item_22_title=Murmures de la machine à café
+item_22_comment=Vous avez bu au moins une tasse de café par jour.
+item_22_hidden=true
+item_23_id=Whodunnit
+item_23_title=Qui a fait le coup ?
+item_23_comment=Qui a bien pu commettre un crime aussi atroce ?
+item_23_hidden=true
+item_24_id=CloseCall
+item_24_title=De justesse
+item_24_comment=Alex a failli arriver à ses fins.
+item_24_hidden=true
+[achievements:it_IT]
+item_0_id=CaseClosed
+item_0_title=Caso Chiuso
+item_0_comment=Hai terminato il gioco
+item_1_id=PathOfTyr
+item_1_title=Via di Tyr
+item_1_comment=Hai terminato il gioco assertivamente
+item_2_id=PathOfFrigg
+item_2_title=Via di Frigg
+item_2_comment=Hai terminato il gioco analiticamente
+item_3_id=PathOfBaldr
+item_3_title=Via di Baldr
+item_3_comment=Hai terminato il gioco empaticamente
+item_4_id=UnlockTier2
+item_4_title=Potenziale Nascosto
+item_4_comment=Hai sbloccato un nuovo potenziamento
+item_5_id=UnlockAugs
+item_5_title=Potere Travolgente
+item_5_comment=Hai sbloccato una serie completa di potenziamenti
+item_6_id=Harbinger
+item_6_title=Singolarità
+item_6_comment=Sia Lode a Huldra!
+item_6_hidden=true
+item_7_id=UnleashTheWolf
+item_7_title=Libera il Lupo
+item_7_comment=Hai formattato il server con il Protocollo Fenrir
+item_7_hidden=true
+item_8_id=Caregiver
+item_8_title=La Famiglia Viene Prima
+item_8_comment=Hai dato al bambino una nuova casa
+item_8_hidden=true
+item_9_id=Careerist
+item_9_title=Il Lavoro Viene Prima
+item_9_comment=Essere genitore non fa per te
+item_9_hidden=true
+item_10_id=MixedMethods
+item_10_title=Metodi Non Convenzionali
+item_10_comment=Adori i potenziamenti più disparati
+item_10_hidden=true
+item_11_id=NoSodaForYou
+item_11_title=Sussurri di un Distributore Automatico
+item_11_comment=Non sei riuscito a prendere quella bibita centenaria
+item_11_hidden=true
+item_12_id=PassiveSmoking
+item_12_title=Fumo Passivo
+item_12_comment=Hai respirato qualsiasi cosa stesse fumando Rolf
+item_12_hidden=true
+item_13_id=Reassembled
+item_13_title=Riassemblato
+item_13_comment=Hai riconsegnato il dito a Karl
+item_13_hidden=true
+item_14_id=SharpEyed
+item_14_title=Osservatrice
+item_14_comment=Hai scoperto una terribile macchina mortale
+item_14_hidden=true
+item_15_id=Environmentalist
+item_15_title=Ambientalista
+item_15_comment=Hai lasciato l'impianto di riciclaggio in condizioni eco-sostenibili
+item_15_hidden=true
+item_16_id=WhatSuspect
+item_16_title=Babysitter
+item_16_comment=Hai preferito sostituire il contenitore di nutrienti piuttosto che inseguire Katarina
+item_16_hidden=true
+item_17_id=PickTheBaby
+item_17_title=Battesimo
+item_17_comment=Hai dato al bambino un nome da cane
+item_17_hidden=true
+item_18_id=Museophile
+item_18_title=Museofila
+item_18_comment=Ti sei preso il tuo tempo tra le sale dell'esposizione
+item_18_hidden=true
+item_19_id=SneakAttack
+item_19_title=Amante della Cultura
+item_19_comment=Hai teso un'imboscata all'imboscatrice
+item_19_hidden=true
+item_20_id=Memento
+item_20_title=Memento
+item_20_comment=Katarina se lo ricorderà
+item_20_hidden=true
+item_21_id=CompulsiveReturner
+item_21_title=Restituitrice Seriale
+item_21_comment=Tutto ciò è davvero anti-cleptomane
+item_21_hidden=true
+item_22_id=CaffeineAddict
+item_22_title=Sussurri di una Macchina del Caffè
+item_22_comment=Una tazza al giorno...
+item_22_hidden=true
+item_23_id=Whodunnit
+item_23_title=Chi È Stato?
+item_23_comment=Chi può aver fatto una cosa del genere?
+item_23_hidden=true
+item_24_id=CloseCall
+item_24_title=Per un Pelo
+item_24_comment=Alex ce l'aveva quasi fatta
+item_24_hidden=true
+[achievements:es_ES]
+item_0_id=CaseClosed
+item_0_title=Caso cerrado
+item_0_comment=Has llegado al final del juego
+item_1_id=PathOfTyr
+item_1_title=Senda de Tyr
+item_1_comment=Has llegado al final del juego por la vía asertiva
+item_2_id=PathOfFrigg
+item_2_title=Senda de Frigg
+item_2_comment=Has llegado al final del juego por la vía analítica
+item_3_id=PathOfBaldr
+item_3_title=Senda de Baldr
+item_3_comment=Has llegado al final del juego por la vía empática
+item_4_id=UnlockTier2
+item_4_title=Potencial oculto
+item_4_comment=Has desbloqueado un nuevo aumento
+item_5_id=UnlockAugs
+item_5_title=Poder arrollador
+item_5_comment=Has desbloqueado un conjunto completo de aumentos
+item_6_id=Harbinger
+item_6_title=Por la singularidad
+item_6_comment=Hail Huldra
+item_6_hidden=true
+item_7_id=UnleashTheWolf
+item_7_title=Libera al lobo
+item_7_comment=Has barrido el ordenador central con el protocolo Fenrir
+item_7_hidden=true
+item_8_id=Caregiver
+item_8_title=Cuidadora
+item_8_comment=Le has dado al bebé un buen hogar
+item_8_hidden=true
+item_9_id=Careerist
+item_9_title=Centrada en la carrera
+item_9_comment=La maternidad no era una opción
+item_9_hidden=true
+item_10_id=MixedMethods
+item_10_title=Métodos mixtos
+item_10_comment=Te gustaba ir alternando los aumentos
+item_10_hidden=true
+item_11_id=NoSodaForYou
+item_11_title=Susurros de una máquina de refrescos
+item_11_comment=No has logrado conseguir ese refresco centenario
+item_11_hidden=true
+item_12_id=PassiveSmoking
+item_12_title=Fumadora pasiva remasterizada
+item_12_comment=Has fumado pasivamente lo que sea que estuviese fumando Rolf
+item_12_hidden=true
+item_13_id=Reassembled
+item_13_title=Rensamblaje
+item_13_comment=Le has devuelto el dedo a Karl
+item_13_hidden=true
+item_14_id=SharpEyed
+item_14_title=Observadora
+item_14_comment=Has descubierto una malvada máquina mortífera
+item_14_hidden=true
+item_15_id=Environmentalist
+item_15_title=Ecologista
+item_15_comment=Has hecho del centro de reciclado un gran entorno ecológico
+item_15_hidden=true
+item_16_id=WhatSuspect
+item_16_title=Canguro
+item_16_comment=Has decidido instalar la lata de nutrientes en vez de perseguir a Katarina
+item_16_hidden=true
+item_17_id=PickTheBaby
+item_17_title=Llévate al bebé
+item_17_comment=Le has dado al bebé un nombre digno de una mascota
+item_17_hidden=true
+item_18_id=Museophile
+item_18_title=Museófila
+item_18_comment=Te lo has tomado con calma en la exposición
+item_18_hidden=true
+item_19_id=SneakAttack
+item_19_title=Ataque sigiloso
+item_19_comment=Has emboscado a quien te emboscaba
+item_19_hidden=true
+item_20_id=Memento
+item_20_title=Recuerdo
+item_20_comment=Katarina no lo olvidará
+item_20_hidden=true
+item_21_id=CompulsiveReturner
+item_21_title=Regresadora en serie
+item_21_comment=Eso ha sido anticleptoclimático
+item_21_hidden=true
+item_22_id=CaffeineAddict
+item_22_title=Susurros de una máquina de café
+item_22_comment=Te has tomado al menos una taza de café al día
+item_22_hidden=true
+item_23_id=Whodunnit
+item_23_title=¿Quién ha sido?
+item_23_comment=¿Quién será responsable de un crimen tan atroz?
+item_23_hidden=true
+item_24_id=CloseCall
+item_24_title=Por un pelo
+item_24_comment=Álex casi se sale con la suya
+item_24_hidden=true
+[achievements:pt_BR]
+item_0_id=CaseClosed
+item_0_title=Caso encerrado
+item_0_comment=Terminou o jogo
+item_1_id=PathOfTyr
+item_1_title=Caminho de Tyr
+item_1_comment=Terminou o jogo de modo assertivo
+item_2_id=PathOfFrigg
+item_2_title=Caminho de Frigg
+item_2_comment=Terminou o jogo de modo analítico
+item_3_id=PathOfBaldr
+item_3_title=Caminho de Baldr
+item_3_comment=Terminou o jogo de modo empático
+item_4_id=UnlockTier2
+item_4_title=Potencial oculto
+item_4_comment=Desbloqueou um novo aprimoramento
+item_5_id=UnlockAugs
+item_5_title=Poder esmagador
+item_5_comment=Desbloqueou um conjunto completo de aprimoramentos
+item_6_id=Harbinger
+item_6_title=Foi pela singuraridade
+item_6_comment=Glória a Huldra
+item_6_hidden=true
+item_7_id=UnleashTheWolf
+item_7_title=Liberte o lobo
+item_7_comment=Formatou o computador central com o protocolo Fenrir
+item_7_hidden=true
+item_8_id=Caregiver
+item_8_title=A família vem em primeiro lugar
+item_8_comment=Deu um bom lar ao bebê
+item_8_hidden=true
+item_9_id=Careerist
+item_9_title=Foco na carreira
+item_9_comment=A maternidade não estava nos planos
+item_9_hidden=true
+item_10_id=MixedMethods
+item_10_title=Métodos mistos
+item_10_comment=Preferiu usar aprimoramentos alternados
+item_10_hidden=true
+item_11_id=NoSodaForYou
+item_11_title=Sussurros de uma máquina de refrigerantes
+item_11_comment=Não conseguiu pegar aquele refri milenar
+item_11_hidden=true
+item_12_id=PassiveSmoking
+item_12_title=Fumante passiva
+item_12_comment=Respirou o bagulho que Rolf estava fumando
+item_12_hidden=true
+item_13_id=Reassembled
+item_13_title=Remontado
+item_13_comment=Devolveu o dedo para Karl
+item_13_hidden=true
+item_14_id=SharpEyed
+item_14_title=Observadora
+item_14_comment=Descobriu uma perversa máquina mortífera
+item_14_hidden=true
+item_15_id=Environmentalist
+item_15_title=Ecologista
+item_15_comment=Fez do centro de reciclagem um lugar que se preocupa com o meio ambiente
+item_15_hidden=true
+item_16_id=WhatSuspect
+item_16_title=Babá
+item_16_comment=Decidiu instalar a lata de nutrientes antes de perseguir Katarina
+item_16_hidden=true
+item_17_id=PickTheBaby
+item_17_title=Leve o bebê
+item_17_comment=Deu ao bebê um nome digno de um mascote
+item_17_hidden=true
+item_18_id=Museophile
+item_18_title=Museófila
+item_18_comment=Apreciou toda a exposição
+item_18_hidden=true
+item_19_id=SneakAttack
+item_19_title=Ataque surpresa
+item_19_comment=Emboscou o emboscador
+item_19_hidden=true
+item_20_id=Memento
+item_20_title=Lembrancinha
+item_20_comment=Katarina vai se lembrar disso
+item_20_hidden=true
+item_21_id=CompulsiveReturner
+item_21_title=Devolvedora em série
+item_21_comment=Isso foi anticleptoclimático
+item_21_hidden=true
+item_22_id=CaffeineAddict
+item_22_title=Sussurros de uma máquina de café
+item_22_comment=Tomou pelo menos uma xícara de café por dia
+item_22_hidden=true
+item_23_id=Whodunnit
+item_23_title=Quem foi?
+item_23_comment=Quem será responsável por esse crime brutal?
+item_23_hidden=true
+item_24_id=CloseCall
+item_24_title=Essa foi por pouco
+item_24_comment=Alex quase conseguiu
+item_24_hidden=true
diff --git a/devtools/create_achievements/gen/steam-761460.ini b/devtools/create_achievements/gen/steam-761460.ini
index c68f5ae915..824ece394e 100644
--- a/devtools/create_achievements/gen/steam-761460.ini
+++ b/devtools/create_achievements/gen/steam-761460.ini
@@ -143,3 +143,145 @@ item_39_comment=Every friendship has one
 item_40_id=NOSY
 item_40_title=Nosy
 item_40_comment=Eavesdropped on every conversation
+[achievements:de_DE]
+item_0_id=RINGMYBELL
+item_0_title=Klingeling
+item_0_comment=Geh mir doch auf die Nerven
+item_1_id=MANOFWORD
+item_1_title=Mann seines Wortes
+item_1_comment=Belüge nicht Mrs. Hanbrook
+item_2_id=BOBBIN
+item_2_title=Ich bin Bobbin
+item_2_comment=Spiele eine bekannte Melodie
+item_3_id=VOODOO
+item_3_title=Was können Sie mir über...Voodoo sagen?
+item_3_comment=Werde aus der Wohnung von Mrs. Martin geworfen
+item_4_id=POEMS
+item_4_title=Nicht den Beruf kündigen
+item_4_comment=Lese Madame DuPrées Gedichte
+item_5_id=ALBERT
+item_5_title=Ockhams Rasiermesser
+item_5_comment=Bezichtige Albert Martin des versuchten Mordes an Madame DuPrée
+item_5_hidden=true
+item_6_id=JULIETTE
+item_6_title=So wilde Freude...
+item_6_comment=Bezichtige Juliette Montgomery des versuchten Mordes an Madame DuPrée
+item_6_hidden=true
+item_7_id=GUYDUMAS
+item_7_title=Heute ohne -brush
+item_7_comment=Bezichtige Guy Dumas des versuchten Mordes an Madame DuPrée
+item_7_hidden=true
+item_8_id=DUPREE
+item_8_title=Inkarnation des Teufels
+item_8_comment=Decke die wahre Natur von Madame DuPrée auf
+item_8_hidden=true
+item_9_id=BOILER
+item_9_title=Reparaturgenie
+item_9_comment=Repariere alleine den Boiler
+item_10_id=ROLAND
+item_10_title=Egomane
+item_10_comment=Rede mit Roland Deveraux
+item_11_id=DOLLS
+item_11_title=Nicht so, wie es scheint
+item_11_comment=Finde etwas über Mrs. Davis Hobby heraus
+item_12_id=MALCOLM
+item_12_title=Würde nicht darauf wetten
+item_12_comment=Bezichtige Malcolm Harris der Entführung seines eigenen Sohnes
+item_12_hidden=true
+item_13_id=DEVINS
+item_13_title=Etwas zu viel Protest
+item_13_comment=Bezichtige Arthur Devins der Entführung
+item_13_hidden=true
+item_14_id=WALKER
+item_14_title=Es ist ein Junge, Mrs. Walker!
+item_14_comment=Bezichtige Linda Walker der Entführung
+item_14_hidden=true
+item_15_id=TRAIN
+item_15_title=Im falschen Stadtviertel
+item_15_comment=Ermittle Linda Walkers Aufenthaltsort
+item_15_hidden=true
+item_16_id=ASHES
+item_16_title=Alles in Asche
+item_16_comment=Zeige jemand anderem als Dr. Edwards Desirees Asche
+item_17_id=SNEEZE
+item_17_title=Gesundheit
+item_17_comment=Lege Jonas Usher herein
+item_18_id=MUSIC
+item_18_title=Horizonte tun sich auf
+item_18_comment=Gib Charlotte Robineaux Musikunterricht
+item_19_id=COMBUSTION
+item_19_title=Übernatürlich
+item_19_comment=Zum Schluss gekommen, dass Desiree Lathans Tod spontaner menschlicher Selbstentzündung geschuldet ist
+item_19_hidden=true
+item_20_id=DEVAY
+item_20_title=Die Kunst des Mordens
+item_20_comment=Bezichtige Roger DeVay des Mordes an Desiree Lathan
+item_20_hidden=true
+item_21_id=ANDREWS
+item_21_title=Kleine Nüsschen
+item_21_comment=Bezichtige Margaret Andrews des Mordes an Desiree Lathan
+item_21_hidden=true
+item_22_id=STORYTELLER
+item_22_title=Geschichtenerzähler
+item_22_comment=Erzähle Patrick eine Geschichte
+item_23_id=VOTE
+item_23_title=Bürgerpflicht
+item_23_comment=Nimm an der Wahl teil
+item_24_id=COOPING
+item_24_title=Überall Betrüger
+item_24_comment=Die Wahrheit über den Wahlbetrug erfahren
+item_24_hidden=true
+item_25_id=JIMBO
+item_25_title=Verschmähter Liebhaber
+item_25_comment=Bezichtige Jimbo des Mordes an Ronan L'Espaye
+item_25_hidden=true
+item_26_id=PUFFIN
+item_26_title=Verwechslungen
+item_26_comment=Bezichtige Tom Puffin des Mordes an Ronan L'Espaye
+item_26_hidden=true
+item_27_id=DEADMEN
+item_27_title=Unten bei den Toten
+item_27_comment=Singe ein Lied
+item_28_id=JUMP
+item_28_title=Aufgelaufen
+item_28_comment=Stelle den Justice-killer in seinem Heim
+item_28_hidden=true
+item_29_id=MODELHUSBAND
+item_29_title=Mustergatte
+item_29_comment=Erzähle Adelaide die Wahrheit
+item_30_id=MAXWELL
+item_30_title=Ein wohlgesonnenes Ohr
+item_30_comment=Erzähle Angela Maxwell von deinen Problemen
+item_31_id=ASYLUM
+item_31_title=Zimmer mit Aussicht
+item_31_comment=Lasse dich selbst in Riverview einliefern
+item_31_hidden=true
+item_32_id=JAIL
+item_32_title=Nicht über Start ziehen
+item_32_comment=Lande im Gefängnis
+item_32_hidden=true
+item_33_id=UNSOLVABLE
+item_33_title=Sackgasse
+item_33_comment=Erkläre einen Fall für unlösbar
+item_34_id=BOOKWORM
+item_34_title=Bücherwurm
+item_34_comment=Lies jedes Buch im Spiel
+item_35_id=THOROUGH
+item_35_title=Gründlich
+item_35_comment=Finde jeden Hinweis und jedes Dokument im Spiel
+item_36_id=COMPLETEGAME
+item_36_title=Erleuchtet
+item_36_comment=Schliesse das Spiel ab
+item_37_id=FORGOT
+item_37_title=Das hatte ich vergessen
+item_37_comment=Spiele das ganze Spiel, ohne das Notizbuch zu benutzen
+item_37_hidden=true
+item_38_id=PERFECT
+item_38_title=Gut gemacht
+item_38_comment=Löse jeden Fall
+item_39_id=JOKE
+item_39_title=Insider
+item_39_comment=Jede Freundschaft hat einen
+item_40_id=NOSY
+item_40_title=Neugierig
+item_40_comment=Belausche jede Konversation im Spiel
diff --git a/dists/engine-data/achievements.dat b/dists/engine-data/achievements.dat
index 1d51fcdb09..a0c29a8462 100644
Binary files a/dists/engine-data/achievements.dat and b/dists/engine-data/achievements.dat differ


Commit: a556ccf89486176049524555dd7f9b6739905742
    https://github.com/scummvm/scummvm/commit/a556ccf89486176049524555dd7f9b6739905742
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
ACHIEVEMENTS: Use TransMan to decide which achievements language to use

Changed paths:
    common/achievements.cpp
    common/achievements.h


diff --git a/common/achievements.cpp b/common/achievements.cpp
index 511780a7af..35d36259f7 100644
--- a/common/achievements.cpp
+++ b/common/achievements.cpp
@@ -84,6 +84,16 @@ bool AchievementsManager::setActiveDomain(const AchievementsInfo &info) {
 }
 
 
+String AchievementsManager::getCurrentLang() const {
+	String uiLang = TransMan.getCurrentLanguage().c_str();
+	if (_achievements.contains(uiLang)) {
+		return uiLang;
+	}
+
+	return "en";
+}
+
+
 bool AchievementsManager::loadAchievementsData(const char *platform, const char *appId) {
 	Archive *cfgZip = Common::makeZipArchive("achievements.dat");
 	if (!cfgZip) {
@@ -123,22 +133,30 @@ bool AchievementsManager::loadAchievementsData(const char *platform, const char
 		return false;
 	}
 
-	_descriptions.clear();
-	for (int i = 0; i < 256; i++) {
-		String prefix = String::format("item_%d", i);
+	_achievements.clear();
+	INIFile::SectionList sections = cfgFile.getSections();
+	for (Common::INIFile::SectionList::const_iterator section = sections.begin(); section != sections.end(); section++) {
+		if (!(section->name.hasPrefix("achievements:"))) {
+			continue;
+		}
 
-		String id, title, comment, hidden;
-		cfgFile.getKey(prefix + "_id", "achievements:en", id);
-		cfgFile.getKey(prefix + "_title", "achievements:en", title);
-		cfgFile.getKey(prefix + "_comment", "achievements:en", comment);
-		cfgFile.getKey(prefix + "_hidden", "achievements:en", hidden);
+		String lang = section->name.substr(strlen("achievements:"));
 
-		if (id.empty()) {
-			break;
-		} else {
-			_descriptions.push_back({id, title, comment, !hidden.empty()});
+		for (int i = 0; i < 256; i++) {
+			String prefix = String::format("item_%d", i);
+
+			String id      = section->getKey(prefix + "_id")      ? section->getKey(prefix + "_id")->value      : "";
+			String title   = section->getKey(prefix + "_title")   ? section->getKey(prefix + "_title")->value   : "";
+			String comment = section->getKey(prefix + "_comment") ? section->getKey(prefix + "_comment")->value : "";
+			String hidden  = section->getKey(prefix + "_hidden")  ? section->getKey(prefix + "_hidden")->value  : "";
+
+			if (id.empty()) {
+				break;
+			} else {
+				_achievements[lang].push_back({id, title, comment, !hidden.empty()});
+			}
 		}
-	}
+	} 
 
 	_stats.clear();
 	for (int i = 0; i < 256; i++) {
@@ -170,7 +188,7 @@ bool AchievementsManager::unsetActiveDomain() {
 	delete _iniFile;
 	_iniFile = nullptr;
 
-	_descriptions.clear();
+	_achievements.clear();
 	_stats.clear();
 
 	return true;
@@ -186,11 +204,15 @@ bool AchievementsManager::setAchievement(const String &id) {
 		return true;
 	}
 
+	const String &lang = getCurrentLang();
+
 	String displayedMessage = id;
-	for (uint32 i = 0; i < _descriptions.size(); i++) {
-		if (_descriptions[i].id == id) {
-			displayedMessage = _descriptions[i].title;
-			break;
+	if (_achievements.contains(lang)) {
+		for (uint32 i = 0; i < _achievements[lang].size(); i++) {
+			if (_achievements[lang][i].id == id) {
+				displayedMessage = _achievements[lang][i].title;
+				break;
+			}
 		}
 	}
 
@@ -365,7 +387,12 @@ uint16 AchievementsManager::getAchievementCount() const {
 		return 0;
 	}
 
-	return _descriptions.size();
+	const String &lang = getCurrentLang();
+	if (!_achievements.contains(lang)) {
+		return 0;
+	}
+
+	return _achievements[lang].size();
 }
 
 
@@ -374,11 +401,16 @@ const AchievementDescription *AchievementsManager::getAchievementDescription(uin
 		return nullptr;
 	}
 
-	if (index >= _descriptions.size()) {
+	const String &lang = getCurrentLang();
+	if (!_achievements.contains(lang)) {
+		return nullptr;
+	}
+
+	if (index >= _achievements[lang].size()) {
 		return nullptr;
 	}
 
-	return &(_descriptions[index]);
+	return &(_achievements[lang][index]);
 }
 
 
diff --git a/common/achievements.h b/common/achievements.h
index daee3df7dc..0c9c5f5287 100644
--- a/common/achievements.h
+++ b/common/achievements.h
@@ -25,6 +25,7 @@
 
 #include "common/array.h"
 #include "common/ini-file.h"
+#include "common/hashmap.h"
 #include "common/singleton.h"
 #include "common/str.h"
 
@@ -247,6 +248,7 @@ public:
 	/** @} */
 
 private:
+	String getCurrentLang() const;
 	bool loadAchievementsData(const char *platform, const char *appId);
 
 	float getStatFloatEx(const String &id, const String &section) const;
@@ -255,7 +257,7 @@ private:
 	INIFile *_iniFile;
 	String _iniFileName;
 	Common::Array<StatDescription> _stats;
-	Common::Array<AchievementDescription> _descriptions;
+	Common::HashMap<String, Common::Array<AchievementDescription> > _achievements;
 };
 
 /** Shortcut for accessing the Achievements Manager. */


Commit: 8aa6911ccafeaf8018578b406c9f1d59d07f116c
    https://github.com/scummvm/scummvm/commit/8aa6911ccafeaf8018578b406c9f1d59d07f116c
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
ACHIEVEMENTS: Fix codacy issues

Changed paths:
    common/achievements.cpp


diff --git a/common/achievements.cpp b/common/achievements.cpp
index 35d36259f7..e598547588 100644
--- a/common/achievements.cpp
+++ b/common/achievements.cpp
@@ -135,12 +135,12 @@ bool AchievementsManager::loadAchievementsData(const char *platform, const char
 
 	_achievements.clear();
 	INIFile::SectionList sections = cfgFile.getSections();
-	for (Common::INIFile::SectionList::const_iterator section = sections.begin(); section != sections.end(); section++) {
+	for (Common::INIFile::SectionList::const_iterator section = sections.begin(); section != sections.end(); ++section) {
 		if (!(section->name.hasPrefix("achievements:"))) {
 			continue;
 		}
 
-		String lang = section->name.substr(strlen("achievements:"));
+		String lang = section->name.substr(13); //strlen("achievements:")
 
 		for (int i = 0; i < 256; i++) {
 			String prefix = String::format("item_%d", i);


Commit: 3539e60d45a02b593df817bccaff86f4ff6885a9
    https://github.com/scummvm/scummvm/commit/3539e60d45a02b593df817bccaff86f4ff6885a9
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
DEVTOOLS: Fix codacy issues

Changed paths:
    devtools/create_achievements/create_achievements.sh
    devtools/create_achievements/steam_achievements.py


diff --git a/devtools/create_achievements/create_achievements.sh b/devtools/create_achievements/create_achievements.sh
index 1ad7b56010..43d4b89578 100644
--- a/devtools/create_achievements/create_achievements.sh
+++ b/devtools/create_achievements/create_achievements.sh
@@ -14,14 +14,14 @@ usage() {
 
 add_steam() {
     if [[ "$FORCE" == "1" || ! -f "gen/steam-$1.ini" ]]; then
-        python steam_achievements.py $VERBOSE --steamid "$1"
+        python steam_achievements.py ${VERBOSE:+"-v"} --steamid "$1"
         echo -----------------------------------------
     fi
 }
 
 add_steamlike_gog() {
     if [[ "$FORCE" == "1" || ! -f "gen/galaxy-$2.ini" ]]; then
-        python steam_achievements.py $VERBOSE --steamid "$1" --saveasgalaxyid "$2"
+        python steam_achievements.py ${VERBOSE:+"-v"} --steamid "$1" --saveasgalaxyid "$2"
         echo -----------------------------------------
     fi
 }
diff --git a/devtools/create_achievements/steam_achievements.py b/devtools/create_achievements/steam_achievements.py
index 3b5def4476..ab3e2c1b77 100644
--- a/devtools/create_achievements/steam_achievements.py
+++ b/devtools/create_achievements/steam_achievements.py
@@ -282,7 +282,7 @@ try:
 	INFO_URL = "https://steamdb.info/app/{0}/info/".format(args.steamid)
 	langs = parse_steamdb_info(INFO_URL)
 	log("found langs: {0}".format(langs))
-	
+
 	translations = {"English":{}}
 	if len(langs) > 1:
 		for l in langs:


Commit: cca9e37388bb02c29dd1795df188b5ce2a3fe2b7
    https://github.com/scummvm/scummvm/commit/cca9e37388bb02c29dd1795df188b5ce2a3fe2b7
Author: lb_ii (lolbot_iichan at mail.ru)
Date: 2021-06-10T01:56:23+03:00

Commit Message:
DEVTOOLS: Fix bashisms at create_achivements

Changed paths:
    devtools/create_achievements/create_achievements.sh


diff --git a/devtools/create_achievements/create_achievements.sh b/devtools/create_achievements/create_achievements.sh
index 43d4b89578..8f187e26da 100644
--- a/devtools/create_achievements/create_achievements.sh
+++ b/devtools/create_achievements/create_achievements.sh
@@ -2,7 +2,10 @@
 
 set -e
 
-trap "echo FAILURE: $0 failed to create achievements.dat" ERR
+err_handler () {
+    [ $? -eq 0 ] && exit
+    echo "FAILURE: $0 failed to create achievements.dat"
+}
 
 usage() {
     echo "Usage: $0 [OPTION]..."
@@ -13,19 +16,21 @@ usage() {
 }
 
 add_steam() {
-    if [[ "$FORCE" == "1" || ! -f "gen/steam-$1.ini" ]]; then
+    if ! test -f "gen/steam-$1.ini"; then
         python steam_achievements.py ${VERBOSE:+"-v"} --steamid "$1"
         echo -----------------------------------------
     fi
 }
 
 add_steamlike_gog() {
-    if [[ "$FORCE" == "1" || ! -f "gen/galaxy-$2.ini" ]]; then
+    if ! test -f "gen/galaxy-$2.ini"; then
         python steam_achievements.py ${VERBOSE:+"-v"} --steamid "$1" --saveasgalaxyid "$2"
         echo -----------------------------------------
     fi
 }
 
+trap err_handler EXIT
+
 FORCE=0
 VERBOSE=""
 
@@ -39,7 +44,7 @@ while [ -n "$1" ]; do
     shift
 done
 
-if [[ "$FORCE" == "1" ]]; then
+if test "$FORCE" = "1"; then
     rm -f gen/*
 fi
 
@@ -130,7 +135,7 @@ add_steam 1064660
 #TODO: check for 7zip, since it produces smaller files
 
 touch --date="2000-01-01 00:00:00" gen/* static/*
-if [[ "$VERBOSE" == "-v" ]]; then
+if test "$VERBOSE" = "-v"; then
     zip -9jX achievements.dat gen/* static/*
 else
     zip -9jX achievements.dat gen/* static/* >/dev/null




More information about the Scummvm-git-logs mailing list