Page MenuHomePhabricator (Chris)

No OneTemporary

Authored By
Unknown
Size
28 KB
Referenced Files
None
Subscribers
None
diff --git a/data/Credits.txt b/data/Credits.txt
index 90ccbc1..3695ab8 100644
--- a/data/Credits.txt
+++ b/data/Credits.txt
@@ -1,161 +1,171 @@
The following list contains the data files in Me and My Shadow.
It should contain all files with their correct attribution and license information.
If something is missing please contact the developers.
font/
- Blokletters-Viltstift.ttf
Name: Blokletters Viltstift
License: CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0/>
Attribution: http://lefly.vepar.nl/
- knewave.ttf
License: Open Font License <http://scripts.sil.org/OFL>
Attribution: Tyler Finck (http://www.sursly.com)
- DroidSansFallback.ttf
License: Apache License <http://www.apache.org/licenses/LICENSE-2.0>
Source: http://www.droidfonts.com
- DejaVuSansMono.ttf and DejaVuSansCondensed-Oblique.ttf
License: <https://dejavu-fonts.github.io/License.html>
Source: https://dejavu-fonts.github.io/
gfx/menu/
- clear-progress.png
License: CC BY 3.0 <https://creativecommons.org/licenses/by/3.0/>
Attribution: Tedium
- credits.png
License: CC0 <https://creativecommons.org/publicdomain/zero/1.0/>
- moving.png
License: CC0 <https://creativecommons.org/publicdomain/zero/1.0/>
- questionmark.png
License: GNU LGPL <https://www.gnu.org/licenses/lgpl>
Source: Wine <https://www.winehq.org/>
Note: Modified by acme_pjz
- selection.png
License: CC0 <https://creativecommons.org/publicdomain/zero/1.0/>
- statistics.png
License: CC BY 3.0 <https://creativecommons.org/licenses/by/3.0/>
Attribution: odamite
- title.png
License: CC0 <https://creativecommons.org/publicdomain/zero/1.0/>
- toolbar.png
License: CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0/>
Attribution: odamite, Tedium
Undo and redo icon in this file is copied from Inkscape icon
License: GNU GPL v2.0 or later <https://www.gnu.org/licenses/gpl>
Source: Inkscape <https://inkscape.org/>
+gfx/achievements
+ - *.png
+ License: CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0/>
+ Attribution: Wuzzy
+ Note: Contains work from the Cloudscape theme.
+ License: CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0/>
+ Note: Contains work from Openclipart <https://openclipart.org/>
+ License: CC0 <https://creativecommons.org/publicdomain/zero/1.0/>
+
+
gfx/
- actions.png
License: CC0 <https://creativecommons.org/publicdomain/zero/1.0/>
- addon0.png
License: CC BY-SA 4.0 <https://creativecommons.org/licenses/by-sa/4.0/>
Attribution: hellcp
Website: https://forum.freegamedev.net/viewtopic.php?f=17&t=7974#p77218
Note: Modified by acme_pjz
- addon1.png
License: CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0/>
Attribution: Tedium
Note: Contains work from the Cloudscape theme.
- addon2.png
License: CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0/>
Attribution: Tedium
Note: Contains work from the Cloudscape theme.
- addon3.png
License: CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0/>
Attribution: Tedium
Note: Contains work from the Cloudscape theme.
- dropshadow.png
License: CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0/>
Attribution: Me and My Shadow <http://meandmyshadow.sf.net>
- emotions.png
License: CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0/>
Attribution: Tedium, acme_pjz
Note: Another programmer art
- gui.png
License: CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0/>
Attribution: Me and My Shadow <http://meandmyshadow.sf.net>
Note: contains work by Wuzzy
License: CC0 <https://creativecommons.org/publicdomain/zero/1.0/>
- medals.png
License: CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0/>
Attribution: Tedium
- playbutton.png
License: CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0/>
Attribution: Tedium
- recordings.png
License: CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0/>
Attribution: Tedium
- screenshot.png
License: CC0 <https://creativecommons.org/publicdomain/zero/1.0/>
Note: Made using the knewave font.
- time.png
License: CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0/>
Attribution: Tedium
levelpacks/
Note that the translations inside the levelpacks are all licensed under the GNU GPLv3.
For the copyright notice(s) of the individual translations see the relevant .po file's header.
- classic/
License: GPLv3 <https://www.gnu.org/licenses/gpl>
Copyright: 2011 Luka Horvat
Copyright: 2011-2012 Me and My Shadow
Note: Levels originally made by Luka Horvat and extended and updated by Me and My Shadow.
- default/
License: CC0 <https://creativecommons.org/publicdomain/zero/1.0/>
- tutorial/
License: CC0 <https://creativecommons.org/publicdomain/zero/1.0/>
levels/
License: CC0 <https://creativecommons.org/publicdomain/zero/1.0/>
Note: All single levels distributed with Me and My Shadow are public domain.
locale/
For the copyright notice(s) of the translations see the header of the relevant .po file.
- messages.pot
License: GPLv3 <https://www.gnu.org/licenses/gpl>
Copyright: 2012 Me and My Shadow <http://meandmyshadow.sf.net>
music/
See the header of the .music files for the license and attribution of the music files.
sfx/
- achievement.ogg
Name: UI Sound effects pack
License: CC BY 3.0 <https://creativecommons.org/licenses/by/3.0/>
Attribution: David McKee (ViRiX) soundcloud.com/virix
Source: https://opengameart.org/content/ui-sound-effects-pack
- checkpoint.wav
License: GNU GPL <https://www.gnu.org/licenses/gpl>
Copyright: XMoto <https://xmoto.tuxfamily.org>
- collect.wav
License: CC BY 3.0 <https://creativecommons.org/licenses/by/3.0/>
Attribution: odamite
- error.wav
License: CC0 <https://creativecommons.org/publicdomain/zero/1.0/>
Source: https://opengameart.org/content/skweaks
Note: converted to .wav
- hit.wav
License: CC0 <https://creativecommons.org/publicdomain/zero/1.0/>
Note: Made with sfxr <http://www.drpetter.se/project_sfxr.html>
- jump.wav
License: CC0 <https://creativecommons.org/publicdomain/zero/1.0/>
Note: Made with sfxr <http://www.drpetter.se/project_sfxr.html>
- swap.wav
Name: Ambient Pulse Noise
License: CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0/>
Attribution: Gobusto
Source: https://opengameart.org/content/ambient-pulse-noise
- toggle.wav
License: CC0 <https://creativecommons.org/publicdomain/zero/1.0/>
Source: https://www.opengameart.org/content/hit-sounds
themes/
See the individual themes for their license(s).
diff --git a/data/gfx/achievements/UNUSED_hook.png b/data/gfx/achievements/UNUSED_hook.png
new file mode 100644
index 0000000..dd867f4
Binary files /dev/null and b/data/gfx/achievements/UNUSED_hook.png differ
diff --git a/data/gfx/achievements/UNUSED_programmer.png b/data/gfx/achievements/UNUSED_programmer.png
new file mode 100644
index 0000000..f2db98c
Binary files /dev/null and b/data/gfx/achievements/UNUSED_programmer.png differ
diff --git a/data/gfx/achievements/UNUSED_switch1k.png b/data/gfx/achievements/UNUSED_switch1k.png
new file mode 100644
index 0000000..42c00aa
Binary files /dev/null and b/data/gfx/achievements/UNUSED_switch1k.png differ
diff --git a/data/gfx/achievements/addicted.png b/data/gfx/achievements/addicted.png
new file mode 100644
index 0000000..3ce027d
Binary files /dev/null and b/data/gfx/achievements/addicted.png differ
diff --git a/data/gfx/achievements/cheat.png b/data/gfx/achievements/cheat.png
new file mode 100644
index 0000000..c089db1
Binary files /dev/null and b/data/gfx/achievements/cheat.png differ
diff --git a/data/gfx/achievements/constructor.png b/data/gfx/achievements/constructor.png
new file mode 100644
index 0000000..8a6770c
Binary files /dev/null and b/data/gfx/achievements/constructor.png differ
diff --git a/data/gfx/achievements/constructor2.png b/data/gfx/achievements/constructor2.png
new file mode 100644
index 0000000..737ee02
Binary files /dev/null and b/data/gfx/achievements/constructor2.png differ
diff --git a/data/gfx/achievements/die1000.png b/data/gfx/achievements/die1000.png
new file mode 100644
index 0000000..3fcb99b
Binary files /dev/null and b/data/gfx/achievements/die1000.png differ
diff --git a/data/gfx/achievements/die10in5.png b/data/gfx/achievements/die10in5.png
new file mode 100644
index 0000000..0aeb792
Binary files /dev/null and b/data/gfx/achievements/die10in5.png differ
diff --git a/data/gfx/achievements/die50.png b/data/gfx/achievements/die50.png
new file mode 100644
index 0000000..5b9a435
Binary files /dev/null and b/data/gfx/achievements/die50.png differ
diff --git a/data/gfx/achievements/die5in5.png b/data/gfx/achievements/die5in5.png
new file mode 100644
index 0000000..5d9b325
Binary files /dev/null and b/data/gfx/achievements/die5in5.png differ
diff --git a/data/gfx/achievements/doublekill.png b/data/gfx/achievements/doublekill.png
new file mode 100644
index 0000000..9979ef7
Binary files /dev/null and b/data/gfx/achievements/doublekill.png differ
diff --git a/data/gfx/achievements/experienced.png b/data/gfx/achievements/experienced.png
new file mode 100644
index 0000000..3a8a430
Binary files /dev/null and b/data/gfx/achievements/experienced.png differ
diff --git a/data/gfx/achievements/expert.png b/data/gfx/achievements/expert.png
new file mode 100644
index 0000000..df3a116
Binary files /dev/null and b/data/gfx/achievements/expert.png differ
diff --git a/data/gfx/achievements/forget.png b/data/gfx/achievements/forget.png
new file mode 100644
index 0000000..2291aa9
Binary files /dev/null and b/data/gfx/achievements/forget.png differ
diff --git a/data/gfx/achievements/helloworld.png b/data/gfx/achievements/helloworld.png
new file mode 100644
index 0000000..48a052b
Binary files /dev/null and b/data/gfx/achievements/helloworld.png differ
diff --git a/data/gfx/achievements/jit.png b/data/gfx/achievements/jit.png
new file mode 100644
index 0000000..4b56439
Binary files /dev/null and b/data/gfx/achievements/jit.png differ
diff --git a/data/gfx/achievements/load1k.png b/data/gfx/achievements/load1k.png
new file mode 100644
index 0000000..594b495
Binary files /dev/null and b/data/gfx/achievements/load1k.png differ
diff --git a/data/gfx/achievements/loadanddie.png b/data/gfx/achievements/loadanddie.png
new file mode 100644
index 0000000..6031f4c
Binary files /dev/null and b/data/gfx/achievements/loadanddie.png differ
diff --git a/data/gfx/achievements/loadanddie100.png b/data/gfx/achievements/loadanddie100.png
new file mode 100644
index 0000000..03b828e
Binary files /dev/null and b/data/gfx/achievements/loadanddie100.png differ
diff --git a/data/gfx/achievements/loyalfan.png b/data/gfx/achievements/loyalfan.png
new file mode 100644
index 0000000..9383d18
Binary files /dev/null and b/data/gfx/achievements/loyalfan.png differ
diff --git a/data/gfx/achievements/panicload.png b/data/gfx/achievements/panicload.png
new file mode 100644
index 0000000..36abe6a
Binary files /dev/null and b/data/gfx/achievements/panicload.png differ
diff --git a/data/gfx/achievements/panicsave.png b/data/gfx/achievements/panicsave.png
new file mode 100644
index 0000000..3a4e1e6
Binary files /dev/null and b/data/gfx/achievements/panicsave.png differ
diff --git a/data/gfx/achievements/programmer.png b/data/gfx/achievements/programmer.png
new file mode 100644
index 0000000..d6847a9
Binary files /dev/null and b/data/gfx/achievements/programmer.png differ
diff --git a/data/gfx/achievements/quickswap.png b/data/gfx/achievements/quickswap.png
new file mode 100644
index 0000000..b6903fc
Binary files /dev/null and b/data/gfx/achievements/quickswap.png differ
diff --git a/data/gfx/achievements/record100.png b/data/gfx/achievements/record100.png
new file mode 100644
index 0000000..ccc7282
Binary files /dev/null and b/data/gfx/achievements/record100.png differ
diff --git a/data/gfx/achievements/save1k.png b/data/gfx/achievements/save1k.png
new file mode 100644
index 0000000..c084481
Binary files /dev/null and b/data/gfx/achievements/save1k.png differ
diff --git a/data/gfx/achievements/squash1.png b/data/gfx/achievements/squash1.png
new file mode 100644
index 0000000..0ed493a
Binary files /dev/null and b/data/gfx/achievements/squash1.png differ
diff --git a/data/gfx/achievements/squash50.png b/data/gfx/achievements/squash50.png
new file mode 100644
index 0000000..50ea6f5
Binary files /dev/null and b/data/gfx/achievements/squash50.png differ
diff --git a/data/gfx/achievements/switch1k.png b/data/gfx/achievements/switch1k.png
new file mode 100644
index 0000000..59250a6
Binary files /dev/null and b/data/gfx/achievements/switch1k.png differ
diff --git a/data/gfx/achievements/tutorial.png b/data/gfx/achievements/tutorial.png
new file mode 100644
index 0000000..169613d
Binary files /dev/null and b/data/gfx/achievements/tutorial.png differ
diff --git a/data/gfx/achievements/tutorialgold.png b/data/gfx/achievements/tutorialgold.png
new file mode 100644
index 0000000..bc4d1c3
Binary files /dev/null and b/data/gfx/achievements/tutorialgold.png differ
diff --git a/data/gfx/achievements/withoutsave.png b/data/gfx/achievements/withoutsave.png
new file mode 100644
index 0000000..159048e
Binary files /dev/null and b/data/gfx/achievements/withoutsave.png differ
diff --git a/src/AchievementList.cpp b/src/AchievementList.cpp
index c49db93..147aa87 100644
--- a/src/AchievementList.cpp
+++ b/src/AchievementList.cpp
@@ -1,115 +1,116 @@
/*
* Copyright (C) 2012 Me and My Shadow
*
* This file is part of Me and My Shadow.
*
* Me and My Shadow 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 3 of the License, or
* (at your option) any later version.
*
* Me and My Shadow 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 Me and My Shadow. If not, see <http://www.gnu.org/licenses/>.
*/
#include "AchievementList.h"
// We redefined it here to prevent including more header files.
#ifndef __
#define __(X) (X)
#endif
// Format: {<id>, <name>, <file>, <pos>, <description>, <type>, nullptr}
// id: Identifier of achievement. Should not change once the new achievement is added,
// otherwise the old statistics will be lost.
// name: Name of achievement. Translatable.
// file: The icon file. NULL for no icon.
// pos: Specifies which part of the icon will be displayed (left, top, width, height).
// description: Description of achievement. Translatable. Can be multi-line text.
// type [optional]: Specifies the display type of achievement.
// ACHIEVEMENT_HIDDEN [default]: Show "Unknown achievement" when unfinished.
// ACHIEVEMENT_TITLE: Only show icon and title when unfinished.
// ACHIEVEMENT_ALL: Always show icon, title and description.
// ACHIEVEMENT_PROGRESS: Show icon, title and description and a progress bar.
// StatisticsManager::getAchievementProgress() function should return the progress (between 0 and 1).
// NOTE: WARNING: All arguments should now be specified, as surface being nullptr is being relied upon.
AchievementInfo achievementList[]={
{"newbie",__("Newbie"),"gfx/medals.png",{0,0,30,30},__("Complete a level."),ACHIEVEMENT_ALL,nullptr},
- {"experienced",__("Experienced player"),"gfx/medals.png",{30,0,30,30},__("Complete 50 levels."),ACHIEVEMENT_PROGRESS,nullptr},
- {"goodjob",__("Good job!"),"gfx/medals.png",{60,0,30,30},__("Receive a gold medal."),ACHIEVEMENT_ALL,nullptr},
- {"expert",__("Expert"),"gfx/medals.png",{60,0,30,30},__("Earn 50 gold medal."),ACHIEVEMENT_PROGRESS,nullptr},
+ {"tutorial",__("Graduate"),"gfx/achievements/tutorial.png",{0,0,51,27},__("Complete the tutorial level pack."),ACHIEVEMENT_PROGRESS,nullptr},
+ {"experienced",__("Experienced player"),"gfx/achievements/experienced.png",{0,0,51,51},__("Complete 50 levels."),ACHIEVEMENT_PROGRESS,nullptr},
- {"tutorial",__("Graduate"),"gfx/medals.png",{30,0,30,30},__("Complete the tutorial level pack."),ACHIEVEMENT_PROGRESS,nullptr},
- {"tutorialGold",__("Outstanding graduate"),"gfx/medals.png",{60,0,30,30},__("Complete the tutorial level pack with gold for all levels."),ACHIEVEMENT_PROGRESS,nullptr},
+ {"goodjob",__("Good job!"),"gfx/medals.png",{60,0,30,30},__("Receive a gold medal."),ACHIEVEMENT_ALL,nullptr},
+ {"tutorialGold",__("Outstanding graduate"),"gfx/achievements/tutorialgold.png",{0,0,51,27},__("Complete the tutorial level pack with gold for all levels."),ACHIEVEMENT_PROGRESS,nullptr},
+ // FIXME: Fix typo
+ {"expert",__("Expert"),"gfx/achievements/expert.png",{0,0,51,51},__("Earn 50 gold medal."),ACHIEVEMENT_PROGRESS,nullptr},
- {"addicted",__("Hooked"),"themes/Cloudscape/characters/player.png",{0,0,23,40},__("Play Me and My Shadow for more than 2 hours."),ACHIEVEMENT_TITLE,nullptr},
- {"loyalFan",__("Loyal fan of Me and My Shadow"),"themes/Cloudscape/characters/player.png",{0,0,23,40},__("Play Me and My Shadow for more than 24 hours."),ACHIEVEMENT_HIDDEN,nullptr},
+ {"addicted",__("Hooked"),"gfx/achievements/addicted.png",{0,0,50,50},__("Play Me and My Shadow for more than 2 hours."),ACHIEVEMENT_TITLE,nullptr},
+ {"loyalFan",__("Loyal fan of Me and My Shadow"),"gfx/achievements/loyalfan.png",{0,0,50,50},__("Play Me and My Shadow for more than 24 hours."),ACHIEVEMENT_HIDDEN,nullptr},
- {"constructor",__("Constructor"),"gfx/gui.png",{112,16,16,16},__("Use the level editor for more than 2 hours."),ACHIEVEMENT_HIDDEN,nullptr},
- {"constructor2",__("The creator"),"gfx/gui.png",{112,16,16,16},__("Use the level editor for more than 24 hours."),ACHIEVEMENT_HIDDEN,nullptr},
+ {"constructor",__("Constructor"),"gfx/achievements/constructor.png",{0,0,50,50},__("Use the level editor for more than 2 hours."),ACHIEVEMENT_HIDDEN,nullptr},
+ {"constructor2",__("The creator"),"gfx/achievements/constructor2.png",{0,0,50,50},__("Use the level editor for more than 24 hours."),ACHIEVEMENT_HIDDEN,nullptr},
{"create1",__("Look, cute level!"),"gfx/addon1.png",{0,0,64,64},__("Create a level for the first time."),ACHIEVEMENT_ALL,nullptr},
{"create50",__("The level museum"),"gfx/addon2.png",{0,0,64,64},__("Create 50 levels."),ACHIEVEMENT_PROGRESS,nullptr},
- { "helloworld", __("Hello, World!"), "gfx/gui.png", { 112, 16, 16, 16 }, __("Write a script for the first time."), ACHIEVEMENT_TITLE, nullptr },
+ { "helloworld", __("Hello, World!"), "gfx/achievements/helloworld.png", { 0, 0, 50, 50 }, __("Write a script for the first time."), ACHIEVEMENT_TITLE, nullptr },
- {"frog",__("Frog"),"themes/Cloudscape/characters/player.png",{0,0,23,40},__("Jump 1000 times."),ACHIEVEMENT_PROGRESS,nullptr},
+ {"frog",__("Frog"),"themes/Cloudscape/characters/player.png",{230,0,23,40},__("Jump 1000 times."),ACHIEVEMENT_PROGRESS,nullptr},
- {"travel100",__("Wanderer"),"themes/Cloudscape/characters/player.png",{0,0,23,40},__("Travel 100 meters."),ACHIEVEMENT_PROGRESS,nullptr},
- {"travel1k",__("Runner"),"themes/Cloudscape/characters/player.png",{0,0,23,40},__("Travel 1 kilometer."),ACHIEVEMENT_PROGRESS,nullptr},
- {"travel10k",__("Long distance runner"),"themes/Cloudscape/characters/player.png",{0,0,23,40},__("Travel 10 kilometers."),ACHIEVEMENT_PROGRESS,nullptr},
- {"travel42k",__("Marathon runner"),"themes/Cloudscape/characters/player.png",{0,0,23,40},__("Travel 42,195 meters."),ACHIEVEMENT_PROGRESS,nullptr},
+ {"travel100",__("Wanderer"),"themes/Cloudscape/characters/player.png",{69,0,23,40},__("Travel 100 meters."),ACHIEVEMENT_PROGRESS,nullptr},
+ {"travel1k",__("Runner"),"themes/Cloudscape/characters/player.png",{23,0,23,40},__("Travel 1 kilometer."),ACHIEVEMENT_PROGRESS,nullptr},
+ {"travel10k",__("Long distance runner"),"themes/Cloudscape/characters/player.png",{46,0,23,40},__("Travel 10 kilometers."),ACHIEVEMENT_PROGRESS,nullptr},
+ {"travel42k",__("Marathon runner"),"themes/Cloudscape/characters/player.png",{92,0,23,40},__("Travel 42,195 meters."),ACHIEVEMENT_PROGRESS,nullptr},
{"die1",__("Be careful!"),"themes/Cloudscape/characters/deathright.png",{0,14,23,40},__("Die for the first time."),ACHIEVEMENT_ALL,nullptr},
- {"die50",__("It doesn't matter..."),"themes/Cloudscape/characters/deathright.png",{0,14,23,40},__("Die 50 times."),ACHIEVEMENT_HIDDEN,nullptr},
- {"die1000",__("Expert of trial and error"),"themes/Cloudscape/characters/deathright.png",{0,14,23,40},__("Die 1000 times."),ACHIEVEMENT_HIDDEN,nullptr},
+ {"die50",__("It doesn't matter..."),"gfx/achievements/die50.png",{0,0,50,50},__("Die 50 times."),ACHIEVEMENT_HIDDEN,nullptr},
+ {"die1000",__("Expert of trial and error"),"gfx/achievements/die1000.png",{0,0,50,50},__("Die 1000 times."),ACHIEVEMENT_HIDDEN,nullptr},
- {"squash1",__("Keep an eye for moving blocks!"),"themes/Cloudscape/characters/deathright.png",{0,14,23,40},__("Get squashed for the first time."),ACHIEVEMENT_HIDDEN,nullptr},
- {"squash50",__("Potato masher"),"themes/Cloudscape/characters/deathright.png",{0,14,23,40},__("Get squashed 50 times."),ACHIEVEMENT_HIDDEN,nullptr},
+ {"squash1",__("Keep an eye for moving blocks!"),"gfx/achievements/squash1.png",{0,0,50,50},__("Get squashed for the first time."),ACHIEVEMENT_HIDDEN,nullptr},
+ {"squash50",__("Potato masher"),"gfx/achievements/squash50.png",{0,0,50,50},__("Get squashed 50 times."),ACHIEVEMENT_HIDDEN,nullptr},
- {"doubleKill",__("Double kill"),"themes/Cloudscape/characters/deathright.png",{0,14,23,40},__("Get both the player and the shadow dead."),ACHIEVEMENT_HIDDEN,nullptr},
+ {"doubleKill",__("Double kill"),"gfx/achievements/doublekill.png",{0,0,50,50},__("Get both the player and the shadow dead."),ACHIEVEMENT_HIDDEN,nullptr},
- {"die5in5",__("Bad luck"),"themes/Cloudscape/characters/deathright.png",{0,14,23,40},__("Die 5 times in under 5 seconds."),ACHIEVEMENT_TITLE,nullptr},
- {"die10in5",__("This level is too dangerous"),"themes/Cloudscape/characters/deathright.png",{0,14,23,40},__("Die 10 times in under 5 seconds."),ACHIEVEMENT_HIDDEN,nullptr},
+ {"die5in5",__("Bad luck"),"gfx/achievements/die5in5.png",{0,0,50,50},__("Die 5 times in under 5 seconds."),ACHIEVEMENT_TITLE,nullptr},
+ {"die10in5",__("This level is too dangerous"),"gfx/achievements/die10in5.png",{0,0,50,50},__("Die 10 times in under 5 seconds."),ACHIEVEMENT_HIDDEN,nullptr},
- {"forget",__("You forgot your friend"),"themes/Cloudscape/characters/player.png",{0,0,23,40},__("Finish the level with the player or the shadow dead."),ACHIEVEMENT_HIDDEN,nullptr},
- {"jit",__("Just in time"),"themes/Cloudscape/characters/player.png",{0,0,23,40},__("Reach the exit with the player and the shadow simultaneously."),ACHIEVEMENT_TITLE,nullptr},
+ {"forget",__("You forgot your friend"),"gfx/achievements/forget.png",{0,0,45,53},__("Finish the level with the player or the shadow dead."),ACHIEVEMENT_HIDDEN,nullptr},
+ {"jit",__("Just in time"),"gfx/achievements/jit.png",{0,0,50,50},__("Reach the exit with the player and the shadow simultaneously."),ACHIEVEMENT_TITLE,nullptr},
- {"record100",__("Recorder"),"themes/Cloudscape/characters/player.png",{0,0,23,40},__("Record 100 times."),ACHIEVEMENT_PROGRESS,nullptr},
- {"record1k",__("Shadowmaster"),"themes/Cloudscape/characters/shadow.png",{0,0,23,40},__("Record 1000 times."),ACHIEVEMENT_PROGRESS,nullptr},
+ {"record100",__("Recorder"),"gfx/achievements/record100.png",{0,0,50,50},__("Record 100 times."),ACHIEVEMENT_PROGRESS,nullptr},
+ {"record1k",__("Shadowmaster"),"themes/Cloudscape/characters/shadow.png",{23,0,23,40},__("Record 1000 times."),ACHIEVEMENT_PROGRESS,nullptr},
- {"switch100",__("Switch puller"),"themes/Cloudscape/tiles/tiles.png",{0,100,50,50},__("Pull the switch 100 times."),ACHIEVEMENT_PROGRESS,nullptr},
- {"switch1k",__("The switch is broken!"),"themes/Cloudscape/tiles/tiles.png",{0,100,50,50},__("Pull the switch 1000 times."),ACHIEVEMENT_HIDDEN,nullptr},
+ {"switch100",__("Switch puller"),"themes/Cloudscape/tiles/tiles.png",{100,100,50,50},__("Pull the switch 100 times."),ACHIEVEMENT_PROGRESS,nullptr},
+ {"switch1k",__("The switch is broken!"),"gfx/achievements/switch1k.png",{0,0,50,50},__("Pull the switch 1000 times."),ACHIEVEMENT_HIDDEN,nullptr},
{"swap100",__("Swapper"),"themes/Cloudscape/tiles/swap.png",{0,0,50,50},__("Swap 100 times."),ACHIEVEMENT_PROGRESS,nullptr},
// {"swap1k",__("Player to shadow to player to shadow..."),"themes/Cloudscape/tiles/swap.png",{0,0,50,50},__("Swap 1000 times."),ACHIEVEMENT_HIDDEN,nullptr},
- {"save1k",__("Play it save"),"themes/Cloudscape/characters/player.png",{0,0,23,40},__("Save 1000 times."),ACHIEVEMENT_HIDDEN,nullptr},
- {"load1k",__("This game is too hard"),"themes/Cloudscape/characters/player.png",{0,0,23,40},__("Load the game 1000 times."),ACHIEVEMENT_HIDDEN,nullptr},
+ {"save1k",__("Play it save"),"gfx/achievements/save1k.png",{0,0,50,50},__("Save 1000 times."),ACHIEVEMENT_HIDDEN,nullptr},
+ {"load1k",__("This game is too hard"),"gfx/achievements/load1k.png",{0,0,50,50},__("Load the game 1000 times."),ACHIEVEMENT_HIDDEN,nullptr},
- { "withoutsave", __("No, thanks"), "themes/Cloudscape/characters/player.png", { 0, 0, 23, 40 }, __("Complete a level with checkpoint, but without saving."), ACHIEVEMENT_TITLE, nullptr },
+ { "withoutsave", __("No, thanks"), "gfx/achievements/withoutsave.png", { 0, 0, 50, 50 }, __("Complete a level with checkpoint, but without saving."), ACHIEVEMENT_TITLE, nullptr },
- {"panicSave",__("Panic save"),"themes/Cloudscape/characters/player.png",{0,0,23,40},__("Save twice in 1 second."),ACHIEVEMENT_HIDDEN,nullptr},
- {"panicLoad",__("Panic load"),"themes/Cloudscape/characters/player.png",{0,0,23,40},__("Load twice in 1 second."),ACHIEVEMENT_HIDDEN,nullptr},
+ {"panicSave",__("Panic save"),"gfx/achievements/panicsave.png",{0,0,50,50},__("Save twice in 1 second."),ACHIEVEMENT_HIDDEN,nullptr},
+ {"panicLoad",__("Panic load"),"gfx/achievements/panicload.png",{0,0,50,50},__("Load twice in 1 second."),ACHIEVEMENT_HIDDEN,nullptr},
- {"loadAndDie",__("Bad saving position"),"themes/Cloudscape/characters/deathright.png",{0,14,23,40},__("Load the game and die within 1 second."),ACHIEVEMENT_TITLE,nullptr},
- {"loadAndDie100",__("This level is too hard"),"themes/Cloudscape/characters/deathright.png",{0,14,23,40},__("Load the same save and die 100 times."),ACHIEVEMENT_HIDDEN,nullptr},
+ {"loadAndDie",__("Bad saving position"),"gfx/achievements/loadanddie.png",{0,0,50,50},__("Load the game and die within 1 second."),ACHIEVEMENT_TITLE,nullptr},
+ {"loadAndDie100",__("This level is too hard"),"gfx/achievements/loadanddie100.png",{0,0,50,50},__("Load the same save and die 100 times."),ACHIEVEMENT_HIDDEN,nullptr},
- {"quickswap",__("Quick swap"),"themes/Cloudscape/tiles/swap.png",{0,0,50,50},__("Swap twice in under a second."),ACHIEVEMENT_HIDDEN,nullptr},
+ {"quickswap",__("Quick swap"),"gfx/achievements/quickswap.png",{0,0,50,50},__("Swap twice in under a second."),ACHIEVEMENT_HIDDEN,nullptr},
//ripped from Achievements Unlocked
{"horizontal",__("Horizontal confusion"),"gfx/emotions.png",{0,0,23,40},__("Press left and right simultaneously."),ACHIEVEMENT_HIDDEN,nullptr},
- { "cheat", __("Cheater"), "themes/Cloudscape/characters/player.png", { 0, 0, 23, 40 }, __("Cheat in game."), ACHIEVEMENT_HIDDEN, nullptr },
+ { "cheat", __("Cheater"), "gfx/achievements/cheat.png", { 0, 0, 50, 50 }, __("Cheat in game."), ACHIEVEMENT_HIDDEN, nullptr },
- {"programmer",__("Programmer"),"gfx/gui.png",{112,16,16,16},__("Play the development version of Me and My Shadow."),ACHIEVEMENT_TITLE,nullptr},
+ {"programmer",__("Programmer"),"gfx/achievements/programmer.png",{0,0,50,50},__("Play the development version of Me and My Shadow."),ACHIEVEMENT_TITLE,nullptr},
//end of achievements
{}
};

File Metadata

Mime Type
text/x-diff
Expires
Sat, May 16, 7:15 PM (1 d, 10 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
63341
Default Alt Text
(28 KB)

Event Timeline